/* Isolated styles: HYROX Race Control */
#view-hyrox-race,#aview-hyrox-race{--race-bg:var(--surface,#171a20);--race-edge:var(--border,#343943)}
.race-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;flex-wrap:wrap}.race-header h2{font-size:clamp(23px,3vw,36px);letter-spacing:-1px;margin:3px 0}.race-header h2 span{color:#e8bd42}.race-header p,.race-panel p{opacity:.7}.race-kicker{font-size:11px;letter-spacing:2px;color:#e8bd42;font-weight:800}.race-primary{background:#e8bd42!important;color:#111!important;font-weight:800!important}.race-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.race-toolbar select{background:var(--surface,#171a20);color:var(--text,#fff);border:1px solid var(--border,#333);padding:12px;border-radius:9px;max-width:100%}.race-toolbar span{font-size:11px;letter-spacing:1px}.race-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.race-metrics>div,.race-panel{border:1px solid var(--border,#333);background:var(--surface,#171a20);border-radius:14px;padding:18px}.race-metrics strong{font-size:27px;display:block}.race-metrics small{opacity:.65}.race-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-bottom:14px}.race-panel h3{font-size:16px;margin:0 0 14px}.race-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.race-panel button,.race-primary{border:1px solid var(--border,#555);border-radius:8px;padding:9px 12px;cursor:pointer;background:var(--surface2,#292e38);color:var(--text,#fff)}.race-panel button:hover{border-color:#e8bd42}.race-heat,.race-live-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--border,#333);flex-wrap:wrap}.race-heat small,.race-live-row small{display:block;opacity:.65;margin-top:5px}.race-clock{font-variant-numeric:tabular-nums;font-size:19px;color:#e8bd42;white-space:nowrap}.race-table-wrap{overflow-x:auto}.race-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}.race-table th,.race-table td{padding:13px 10px;border-bottom:1px solid var(--border,#333);font-size:13px}.race-table th{opacity:.65;font-size:11px;text-transform:uppercase}@media(max-width:750px){.race-grid{grid-template-columns:1fr}.race-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.race-header{align-items:flex-start}}

/* Station tracking V2 */
.race-stage-button{background:#e8bd42!important;color:#151515!important;font-weight:750;min-width:150px}.race-stage-done{font-size:12px;color:#438c5a}.race-stage-history{padding:12px 0;border-top:1px solid var(--border,#ddd)}.race-stage-history summary{cursor:pointer;padding:6px 0}.race-stage-list{margin-top:10px}.race-stage-line{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--border,#ddd);font-size:12px}.race-stage-line strong{font-variant-numeric:tabular-nums}.race-live-row{align-items:center}@media(max-width:760px){.race-stage-line{grid-template-columns:1fr auto}.race-stage-line span:nth-child(2){display:none}}

/* V3: athlete directory and guest registration */
.race-profile-tag{display:block;font-size:11px;color:#777;margin-top:3px}
.race-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.race-modal{box-sizing:border-box;width:min(520px,100%);max-height:90vh;overflow-y:auto;background:#fff;color:#171717;border-radius:16px;padding:24px;box-shadow:0 20px 80px #0005}
.race-modal h3{margin:0 0 6px}.race-modal p{color:#666;margin:0 0 15px}.race-mode-tabs{display:flex;gap:8px;margin:16px 0}
.race-mode-tabs button{flex:1;border:1px solid #ddd;background:#f5f5f5;border-radius:8px;padding:10px;cursor:pointer}
.race-mode-tabs button.selected{background:#f1c542;border-color:#e3b321;font-weight:700}
.race-form-label{display:block;font-size:12px;font-weight:700;margin:12px 0 5px}
.race-modal input,.race-modal select{box-sizing:border-box;width:100%;padding:11px;border:1px solid #d7dce1;border-radius:8px;background:#fff;color:#111;font:inherit}
.race-athlete-results{max-height:165px;overflow:auto;margin-top:7px;border:1px solid #eee;border-radius:8px}
.race-athlete-results button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px;cursor:pointer}
.race-athlete-results button:hover{background:#fff6d9}.race-athlete-results small{display:block;color:#777}
.race-athlete-results p{padding:10px;margin:0}.race-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.race-form-actions button{border:1px solid #ddd;border-radius:8px;padding:10px 16px;cursor:pointer}
.race-form-actions .race-primary{background:#f1c542;border-color:#f1c542;color:#111;font-weight:700}
.race-form-error{color:#b42318!important;margin-top:8px!important;font-size:13px}

/* V4: flexible station assignment and occupancy */
.race-station-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}
.race-station-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border,#ddd);border-radius:10px;padding:12px;min-width:0}
.race-station-card b{font-size:13px}.race-station-card small{font-size:11px;overflow-wrap:anywhere;opacity:.7}
.race-station-card span{font-size:12px;font-weight:750}.race-full{color:#c75038}.race-free{color:#23815b}
.race-station-card button{font-size:11px;padding:6px 8px;align-self:start}
.race-station-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.race-station-picker select{min-width:185px;max-width:260px;border:1px solid var(--border,#ccc);background:var(--surface2,#fff);color:var(--text,#111);border-radius:8px;padding:10px}
.race-station-picker option:disabled{color:#888}

/* V6: destructive actions */
.race-danger{color:#b42318!important;border:1px solid #f3c7c2!important;background:#fff7f6!important;margin-left:8px}.race-danger:hover{background:#ffe6e2!important}

/* V7: polished Race Director design, scoped to race module */
#view-hyrox-race, #aview-hyrox-race { --race-gold:#e7b935; --race-ink:#18202c; --race-muted:#657183; }
#view-hyrox-race .race-header, #aview-hyrox-race .race-header {padding:24px 28px; border-radius:20px; background:linear-gradient(118deg,#17212f 0%,#233347 72%,#2b3441 100%);color:#fff;box-shadow:0 12px 32px rgba(12,21,36,.13);}
#view-hyrox-race .race-header h2, #aview-hyrox-race .race-header h2{font-size:clamp(25px,3.4vw,40px);line-height:1.06;letter-spacing:-1.5px;margin:7px 0;}
#view-hyrox-race .race-header p, #aview-hyrox-race .race-header p{color:#d4dae2;opacity:1;margin:0}
#view-hyrox-race .race-kicker{color:#f1cc69}
#view-hyrox-race button, #aview-hyrox-race button{font-family:inherit;transition:background .16s ease,box-shadow .16s ease,transform .16s ease,border-color .16s ease;}
#view-hyrox-race button:focus-visible, #aview-hyrox-race button:focus-visible{outline:3px solid #e7b935;outline-offset:2px;}
#view-hyrox-race button:not(:disabled):active{transform:translateY(1px)}
#view-hyrox-race .race-primary,#view-hyrox-race .race-btn-accent,#view-hyrox-race .race-stage-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e7b935!important;border:1px solid #d5a627!important;color:#1b2028!important;font-weight:750!important;border-radius:11px;padding:11px 16px;box-shadow:0 3px 9px #00000012;cursor:pointer;}
#view-hyrox-race .race-primary:hover,#view-hyrox-race .race-btn-accent:hover,#view-hyrox-race .race-stage-button:hover{background:#f4cb57!important;box-shadow:0 6px 14px #0000001b;}
#view-hyrox-race .race-btn-secondary,#view-hyrox-race .race-panel button:not(.race-primary):not(.race-btn-accent):not(.race-stage-button):not(.race-danger){display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface2,#f0f3f7);border:1px solid var(--border,#dce2e8);border-radius:11px;color:var(--text,#1a2430);font-weight:650;padding:10px 14px;cursor:pointer;}
#view-hyrox-race .race-btn-secondary:hover,#view-hyrox-race .race-panel button:not(.race-primary):not(.race-btn-accent):not(.race-stage-button):not(.race-danger):hover{background:var(--surface,#fff);border-color:#c6a24e;}
#view-hyrox-race .race-danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f4c5c5!important;background:#fff2f2!important;color:#a52b2b!important;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700;cursor:pointer;margin-left:0;}
#view-hyrox-race .race-danger:hover{background:#ffe4e4!important;border-color:#e99b9b!important}
#view-hyrox-race .race-toolbar{padding:2px 0 8px;flex-wrap:wrap;}
#view-hyrox-race .race-toolbar select{min-width:min(100%,310px);border-radius:12px;font-weight:650;}
#view-hyrox-race .race-toolbar>span{margin-left:auto;border-radius:999px;background:var(--surface2,#f2f5f7);padding:8px 13px;letter-spacing:1px;font-size:10px;font-weight:800;}
#view-hyrox-race .race-metrics>div{border-radius:16px;padding:21px 23px;box-shadow:0 3px 14px #00000007;border:1px solid var(--border,#e0e5ec);}
#view-hyrox-race .race-metrics strong{font-size:33px;letter-spacing:-1px;line-height:1.1}
#view-hyrox-race .race-metrics small{font-size:12px;letter-spacing:.15px;}
#view-hyrox-race .race-panel{border-radius:17px;padding:22px;box-shadow:0 3px 14px #00000006;}
#view-hyrox-race .race-panel h3{font-size:16px;letter-spacing:-.3px;}
#view-hyrox-race .race-station-card{border-radius:13px;background:var(--surface2,#f7f9fb);padding:15px;}
#view-hyrox-race .race-heat{gap:12px}
#view-hyrox-race .race-table tbody tr:hover{background:var(--surface2,#f6f8fa)}
#view-hyrox-race .race-table th{letter-spacing:.7px}
#view-hyrox-race .race-clock{font-weight:800;letter-spacing:.2px}
#view-hyrox-race .race-panel button:disabled{opacity:.45;cursor:not-allowed;}
.race-modal{border:1px solid #e8eaf0;box-shadow:0 25px 85px #0005;}
.race-modal .race-primary{background:#e7b935!important;color:#171717!important;border-color:#d4a82d!important;font-weight:800!important}
.race-modal .race-mode-tabs button.selected{background:#fff1bd;border-color:#e7b935;}
.race-modal .race-athlete-results button{border-radius:7px;}
@media(max-width:680px){#view-hyrox-race .race-header{padding:20px}#view-hyrox-race .race-toolbar>span{margin-left:0}#view-hyrox-race .race-panel{padding:16px}#view-hyrox-race .race-metrics>div{padding:16px}}

/* V8 running splits */
#view-hyrox-race .race-run-summary,#aview-hyrox-race .race-run-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 15px;align-items:center;padding:14px;background:var(--surface2,#f4f5f8);border-radius:12px;margin:12px 0;}
#view-hyrox-race .race-run-summary strong,#aview-hyrox-race .race-run-summary strong{font-variant-numeric:tabular-nums;color:#bd8e12;font-size:19px;}
#view-hyrox-race .race-run-list,#aview-hyrox-race .race-run-list{display:grid;gap:6px;margin:12px 0;}
#view-hyrox-race .race-run-line,#aview-hyrox-race .race-run-line{display:grid;grid-template-columns:70px 1fr 95px;gap:12px;align-items:center;padding:11px 13px;border:1px solid var(--border,#dce2e8);border-radius:10px;background:var(--surface,#fff);}
#view-hyrox-race .race-run-line strong,#aview-hyrox-race .race-run-line strong{text-align:right;font-variant-numeric:tabular-nums;}
#view-hyrox-race .race-run-number,#aview-hyrox-race .race-run-number{font-weight:800;color:#bd8e12;font-size:12px;}
#view-hyrox-race .race-run-disclaimer,#aview-hyrox-race .race-run-disclaimer{font-size:12px;color:var(--text2,#667085);line-height:1.5;}
@media(max-width:600px){#view-hyrox-race .race-run-line,#aview-hyrox-race .race-run-line{grid-template-columns:62px 1fr 76px;gap:6px;padding:9px;font-size:12px;}}
