/* Personal condition controls share the race page's palette and compact rhythm. */
.track-setting {
  --track-green: var(--race-green, #087a42);
  --track-soft: var(--race-green-soft, #e9f4ee);
  --track-line: var(--race-line, #d9dfdc);
  margin: 8px 0;
  max-width: 100%;
  min-width: 0;
  color: var(--race-ink, #25312a);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.track-setting-label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-weight: 600;
}
.track-setting-label > span { white-space: nowrap; }
.track-setting-select,
.track-setting-retry {
  font: inherit;
  min-height: 38px;
  box-sizing: border-box;
  border: 1px solid var(--track-line);
  border-radius: 6px;
  background-color: #fff;
  color: inherit;
}
.track-setting-select {
  max-width: 100%;
  padding: 6px 30px 6px 10px;
  font-weight: 400;
  cursor: pointer;
}
.track-setting-select:hover:not(:disabled),
.track-setting-retry:hover { border-color: var(--track-green); }
.track-setting-select:focus-visible,
.track-setting-retry:focus-visible {
  outline: 2px solid var(--track-green);
  outline-offset: 2px;
}
.track-setting-status { display: block; margin-top: 4px; font-size: 12px; color: #68726c; }
.track-setting-status:empty { display: none; }
.track-setting-retry { padding: 6px 10px; margin-top: 4px; cursor: pointer; }
.track-setting-select:disabled, .track-day-fieldset:disabled { opacity: .6; }
.track-day { margin: 0; padding: 8px; border-bottom: 1px solid #e8efeb; background: #fff; }
.track-day:last-child { border-bottom: 0; }
.track-day-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.track-day-fieldset legend { padding: 0; margin-bottom: 6px; font-size: inherit; font-weight: 600; }
.track-day-choices { display: flex; flex-wrap: wrap; gap: 5px; }
.track-day-choice { position: relative; flex: 0 1 58px; cursor: pointer; }
.track-day-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.track-day-choice span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 7px;
  box-sizing: border-box;
  border: 1px solid var(--track-line);
  border-radius: 6px;
  background: #fff;
  font-weight: 600;
  white-space: nowrap;
}
.track-day-choice:hover input:not(:disabled) + span { border-color: var(--track-green); background: var(--track-soft); }
.track-day-choice input:checked + span { border-color: var(--track-green); background: var(--track-green); color: #fff; }
.track-day-choice input:focus-visible + span { outline: 2px solid var(--track-green); outline-offset: 2px; }
.track-day-choice input:disabled + span { cursor: wait; }
@media (max-width: 600px) {
  .track-setting { font-size: 13px; }
  .track-setting-select { min-height: 40px; }
  .track-day-choice { flex: 1 1 0; }
  .track-day-choice span { min-height: 40px; }
}
