/* Cronometraje por rango: estados con texto, contraste y números tabulares. */
body { --cm-pace-bg:#142236; --cm-pace-fg:#edf4ff; --cm-pace-muted:#bccbdf; --cm-pace-line:#42546e; --cm-pace-soft:#20334b; --cm-pace-green:#a7f3cf; --cm-pace-green-bg:#123e32; --cm-pace-red:#fecaca; --cm-pace-red-bg:#531e29; --cm-pace-yellow:#fde68a; --cm-pace-yellow-bg:#49370e; }
body[data-theme="light"] { --cm-pace-bg:#fff; --cm-pace-fg:#16273e; --cm-pace-muted:#465872; --cm-pace-line:#c6d2e2; --cm-pace-soft:#eef3f8; --cm-pace-green:#086044; --cm-pace-green-bg:#ddf8ec; --cm-pace-red:#a41b2c; --cm-pace-red-bg:#ffebee; --cm-pace-yellow:#745000; --cm-pace-yellow-bg:#fff3c2; }
body[data-theme="dark"] .cm-pace-wizard { background:var(--cm-pace-bg); color:var(--cm-pace-fg); }
body[data-theme="dark"].chrono-multi-page #cmGrid .cm-pace400-card { background:var(--cm-pace-bg); color:var(--cm-pace-fg); }
body[data-theme="dark"].chrono-multi-page #cmGrid .cm-pace400-card .cm-timer-name,
body[data-theme="dark"].chrono-multi-page #cmGrid .cm-pace400-card .cm-timer-time,
body[data-theme="dark"].chrono-multi-page #cmGrid .cm-pace400-card .cm-timer-mode { color:var(--cm-pace-fg)!important; }
body.chrono-multi-page #cmGrid .cm-pace400-card.has-laps .cm-timer-mode { font-size:10px; }
body.chrono-multi-page #cmGrid .cm-pace400-card.has-laps .cm-timer-mode::after { content:none; }
.cm-pace-wizard { color:var(--cm-pace-fg); background:var(--cm-pace-bg); border-radius:14px; padding:18px; }
.cm-pace-wizard h3 { margin:8px 0 10px; font-size:24px; line-height:1.2; color:inherit; }
.cm-pace-wizard p { color:var(--cm-pace-muted); line-height:1.5; }
.cm-pace-eyebrow { font-size:11px; letter-spacing:.1em; font-weight:900; color:var(--cm-pace-muted); }
.cm-pace-tests { display:grid; gap:12px; }
.cm-pace-athlete { display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,200px); gap:8px 20px; padding:16px; background:var(--cm-pace-soft); border:1px solid var(--cm-pace-line); border-radius:12px; align-items:center; }
.cm-pace-athlete>b { font-size:16px; color:var(--cm-pace-fg); }
.cm-pace-athlete>span { font-size:12px; color:var(--cm-pace-muted); }
.cm-pace-athlete output { grid-column:1/-1; font-size:13px; font-variant-numeric:tabular-nums; }
.cm-pace-wizard input,.cm-pace-wizard select { width:100%; min-height:46px; border:1px solid var(--cm-pace-line); background:var(--cm-pace-bg); color:var(--cm-pace-fg); border-radius:8px; padding:10px; font:inherit; }
.cm-pace-wizard input:focus-visible,.cm-pace-wizard select:focus-visible,.cm-pace-distances button:focus-visible { outline:3px solid #e7aa00; outline-offset:3px; }
.cm-pace-distances { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.cm-pace-distances button { min-height:64px; padding:9px; border:1px solid var(--cm-pace-line); border-radius:9px; color:var(--cm-pace-fg); background:var(--cm-pace-soft); font-size:21px; font-weight:850; cursor:pointer; }
.cm-pace-distances button small { display:block; font-size:10px; font-weight:600; }
.cm-pace-distances button[aria-pressed="true"] { background:#f5bb12; color:#172332; border-color:#ac7400; box-shadow:inset 0 0 0 2px #ac7400; }
.cm-pace-table-picker { display:block; margin:18px 0 10px; }
.cm-pace-table { width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
.cm-pace-table caption { padding:8px; text-align:left; font-size:12px; color:var(--cm-pace-muted); }
.cm-pace-table th,.cm-pace-table td { text-align:left; padding:8px 12px; border-bottom:1px solid var(--cm-pace-line); }
.cm-pace-table tr.selected { background:var(--cm-pace-green-bg); color:var(--cm-pace-green); }
.cm-pace-number { display:block; max-width:260px; margin:20px 0; }
.cm-pace-number input { display:block; margin-top:8px; font-size:26px; font-weight:800; }
.cm-pace-confirm { display:grid; gap:8px; padding:16px; background:var(--cm-pace-soft); border-left:4px solid #e7aa00; }
.cm-pace-legend { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; font-size:12px; }
.cm-pace-legend span { padding:7px 10px; border-radius:6px; }
.cm-pace-result,.cm-pace-target { display:grid; gap:4px; margin-top:8px; padding:10px; border:1px solid var(--cm-pace-line); border-radius:9px; font-size:12px; font-variant-numeric:tabular-nums; background:var(--cm-pace-soft); color:var(--cm-pace-fg); text-align:center; }
.cm-pace-target strong { font-size:22px; color:var(--cm-pace-green); }
.cm-pace-result small,.cm-pace-target small { font-size:10px; font-weight:850; }
.cm-pace-result strong { font-size:14px; }
.cm-pace-result.on_time,.cm-pace-legend .on_time { color:var(--cm-pace-green); background:var(--cm-pace-green-bg); border-color:var(--cm-pace-green); }
.cm-pace-result.slow,.cm-pace-legend .slow { color:var(--cm-pace-red); background:var(--cm-pace-red-bg); border-color:var(--cm-pace-red); }
.cm-pace-result.fast,.cm-pace-legend .fast { color:var(--cm-pace-yellow); background:var(--cm-pace-yellow-bg); border-color:var(--cm-pace-yellow); }
.cm-pace-error { color:var(--cm-pace-red); background:var(--cm-pace-red-bg); padding:10px; border-radius:8px; }
.cm-pace-error:empty { display:none; }
.cm-pace400-card .cm-recovery-center,.cm-pace400-card .cm-session-finished { padding:12px; }
body.chrono-multi-page .cm-grid.cm-pace400-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))!important; }
.cm-pace400-card .cm-recovery-center .cm-pace-result,.cm-pace400-card .cm-session-finished .cm-pace-result { width:100%; }
body.chrono-multi-page .cm-pace400-card .cm-recovery-center .cm-pace-result b,
body.chrono-multi-page .cm-pace400-card .cm-session-finished .cm-pace-result b { font-size:12px!important; color:inherit!important; line-height:1.4; text-shadow:none; letter-spacing:0; }
body.chrono-multi-page .cm-pace400-card .cm-pace-result span,
body.chrono-multi-page .cm-pace400-card .cm-pace-result small { color:inherit; font-size:12px; font-weight:600; letter-spacing:0; }
body.chrono-multi-page .cm-pace400-card .cm-session-finished .cm-pace-result { display:grid; grid-template-columns:1fr; }
body.chrono-multi-page .cm-pace400-card .cm-recovery-center .cm-pace-result small { font-size:10px; }
.cm-lap-row .cm-pace-result { margin:0; padding:6px; }
.cm-lap-row .cm-pace-result small,.cm-lap-row .cm-pace-result span { white-space:normal; }
#cmSetupModal.cm-pace-setup .cm-setup-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
#cmSetupModal.cm-pace-setup .cm-setup-dialog { display:flex; flex-direction:column; overflow:hidden; }
#cmSetupModal.cm-pace-setup .cm-setup-head,
#cmSetupModal.cm-pace-setup .cm-setup-steps,
#cmSetupModal.cm-pace-setup .cm-setup-foot { flex:none; }
#cmSetupModal.cm-pace-setup .cm-setup-body { min-height:0; overflow-y:auto; }
@media(max-width:600px) {
  .cm-pace-wizard { padding:12px; }
  .cm-pace-wizard h3 { font-size:21px; }
  .cm-pace-athlete { grid-template-columns:1fr; padding:12px; }
  .cm-pace-distances { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #cmSetupModal.cm-pace-setup .cm-setup-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #cmSetupModal.cm-pace-setup .cm-setup-step { min-width:0; padding:8px; font-size:11px; }
}

/* Selección explícita: texto + estado accesible, no sólo un borde tenue. */
#cmSetupModal .cm-setup-source.active,
#cmSetupModal .cm-sport-choice.active { background:#f5bb12; color:#172332; border:2px solid #9a6600; box-shadow:inset 0 0 0 1px #9a6600; }
#cmSetupModal .cm-setup-source.active small,
#cmSetupModal .cm-sport-choice.active small { color:#263549; }
#cmSetupModal[aria-busy="true"] .cm-setup-source,
#cmSetupModal[aria-busy="true"] .cm-sport-choice { pointer-events:none; opacity:.75; }
.cm-selection-summary { padding:10px 12px; border-radius:8px; background:var(--cm-pace-green-bg); color:var(--cm-pace-green); font-weight:800; }
.cm-pace-athlete { grid-template-columns:1fr; min-width:0; }
.cm-pace-athlete h4 { margin:0; font-size:17px; color:var(--cm-pace-fg); }
.cm-pace-source-options { display:flex; flex-wrap:wrap; gap:6px; }
.cm-pace-source-options button,.cm-pace-extra-athlete button,[data-pace-retry] { min-height:44px; border:1px solid var(--cm-pace-line); border-radius:8px; padding:9px 12px; background:var(--cm-pace-bg); color:var(--cm-pace-fg); cursor:pointer; font:inherit; font-size:13px; }
.cm-pace-source-options button[aria-pressed="true"] { background:#f5bb12; color:#172332; border-color:#9a6600; box-shadow:inset 0 0 0 1px #9a6600; font-weight:850; }
.cm-pace-source-options button[aria-pressed="true"]::before { content:'✓ '; }
.cm-pace-source-options button:focus-visible,#cmSetupModal .cm-setup-source:focus-visible,#cmSetupModal .cm-sport-choice:focus-visible { outline:3px solid #d49400; outline-offset:3px; }
.cm-pace-source-field label { display:grid; gap:6px; }
.cm-pace-source-field small { display:block; margin-top:6px; color:var(--cm-pace-muted); line-height:1.4; }
.cm-pace-athlete output { font-weight:750; color:var(--cm-pace-green); }
.cm-pace-extra-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cm-pace-extra-athlete { display:grid; gap:5px; margin-top:8px; padding:12px; border:1px solid var(--cm-pace-line); background:var(--cm-pace-soft); border-radius:8px; }
.cm-pace-extra-athlete strong { color:var(--cm-pace-green); }
.cm-pace-extra-note { display:block; font-size:12px; line-height:1.35; }
@media(max-width:900px) {
  body.chrono-multi-page #cmGrid.cm-grid,
  body.chrono-multi-page #cmGrid.cm-pace400-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:6px; align-items:stretch; }
  body.chrono-multi-page #cmGrid .cm-timer-card { width:100%; min-width:0; min-height:220px; padding:6px 4px; border-width:4px; border-radius:12px; }
  body.chrono-multi-page #cmGrid .cm-timer-name { font-size:13px; line-height:1.2; white-space:normal; overflow-wrap:anywhere; margin:2px 0 5px; }
  body.chrono-multi-page #cmGrid .cm-timer-time { font-size:clamp(18px,3.1vw,27px)!important; margin:6px 0 2px; }
  body.chrono-multi-page #cmGrid .cm-timer-mode { font-size:10px; }
  body.chrono-multi-page #cmGrid .cm-plan-instruction { width:100%; margin:4px 0; padding:7px; }
  body.chrono-multi-page #cmGrid .cm-plan-instruction small,
  body.chrono-multi-page #cmGrid .cm-plan-instruction span { font-size:10px; line-height:1.25; }
  body.chrono-multi-page #cmGrid .cm-plan-instruction strong { font-size:16px; }
  body.chrono-multi-page #cmGrid .cm-timer-split { display:flex; flex-wrap:wrap; justify-content:center; gap:3px 6px; padding:5px; font-size:10px; }
  body.chrono-multi-page #cmGrid .cm-pace-result,
  body.chrono-multi-page #cmGrid .cm-pace-target { width:100%; box-sizing:border-box; min-width:0; padding:6px; margin-top:5px; gap:3px; line-height:1.25; }
  body.chrono-multi-page #cmGrid .cm-pace-result strong { font-size:12px; }
  body.chrono-multi-page #cmGrid .cm-pace-result.neutral { display:none; }
  body.chrono-multi-page #cmGrid .cm-pace400-card { justify-content:flex-start; }
  body.chrono-multi-page #cmGrid .cm-pace-target strong { font-size:clamp(13px,2.2vw,18px); }
  body.chrono-multi-page #cmGrid .cm-pace-result span,
  body.chrono-multi-page #cmGrid .cm-pace-result small,
  body.chrono-multi-page #cmGrid .cm-pace-result b,
  body.chrono-multi-page #cmGrid .cm-pace-target span { font-size:10px!important; line-height:1.3; }
  body.chrono-multi-page #cmGrid .cm-recovery-center { padding:8px 5px; }
  body.chrono-multi-page #cmGrid .cm-recovery-center>b { font-size:30px!important; }
  body.chrono-multi-page #cmGrid .cm-recovery-center>span { font-size:12px; }
  body.chrono-multi-page #cmGrid .cm-recovery-center>small { font-size:10px; }
  body.chrono-multi-page #cmGrid .cm-session-finished { padding:8px 5px; }
  body.chrono-multi-page #cmGrid .cm-session-finished>b { font-size:15px; }
  body.chrono-multi-page #cmGrid .cm-session-finished button { min-height:44px; padding:7px 4px; font-size:10px; }
  body.chrono-multi-page #cmLapList { max-height:240px; min-height:0; overflow:auto; }
  body.chrono-multi-page #cmLapList .cm-lap-row { min-width:660px; }
  body.chrono-multi-page #cmLapList .cm-pace-result { padding:4px; gap:2px; font-size:10px; }
  body.chrono-multi-page #cmLapList .cm-pace-result strong { font-size:11px; }
}
@media(max-width:600px) {
  body.chrono-multi-page #cmGrid.cm-grid,
  body.chrono-multi-page #cmGrid.cm-pace400-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .cm-pace-source-options button { flex:1 1 100px; padding:8px; }
  .cm-pace-extra-fields { grid-template-columns:1fr; }
}
