.login-page{background:var(--bg-root);justify-content:center;align-items:center;min-height:100svh;display:flex}.login-card{opacity:0;background:#1a1a1a;border:1px solid #333;border-radius:8px;width:100%;max-width:360px;padding:2.5rem 2rem;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(60px)scale(.93)}.login-card--in{opacity:1;transform:translateY(0)scale(1)}.login-logo{text-align:center;margin-bottom:2rem}@keyframes clean-and-jerk{0%{transform:translateY(0)scale(1)rotate(0)}12%{transform:translateY(6px)scale(1.08,.9)rotate(-4deg)}30%{transform:translateY(-28px)scale(.9,1.12)rotate(2deg)}45%{transform:translateY(-22px)scale(1)rotate(0)}55%{transform:translateY(-22px)scale(1.05,.95)rotate(-2deg)}72%{transform:translateY(-44px)scale(.93,1.1)rotate(1deg)}85%{transform:translateY(-40px)scale(1)rotate(0)}to{transform:translateY(0)scale(1)rotate(0)}}.login-logo-icon{opacity:0;font-size:2.5rem;transition:opacity .3s .2s;display:inline-block}.login-logo-icon--in{opacity:1;animation:1.1s cubic-bezier(.22,1,.36,1) .35s both clean-and-jerk}.login-logo h1{color:#e5e5e5;margin:.5rem 0 0;font-size:1.25rem;font-weight:600}@keyframes form-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-form{flex-direction:column;gap:1rem;animation:.45s cubic-bezier(.22,1,.36,1) both form-slide-in;display:flex}.login-field{flex-direction:column;gap:.375rem;display:flex}.login-field label{color:#999;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.login-field input{color:#e5e5e5;background:#111;border:1px solid #444;border-radius:4px;outline:none;padding:.625rem .75rem;font-size:.95rem;transition:border-color .15s}.login-field input:focus{border-color:#e63329}.login-error{color:#e63329;background:#e6332926;border:1px solid #e6332966;border-radius:4px;margin:0;padding:.5rem .75rem;font-size:.875rem}.login-btn{color:#fff;cursor:pointer;background:#e63329;border:none;border-radius:4px;margin-top:.5rem;padding:.75rem;font-size:1rem;font-weight:600;transition:background .15s}.login-btn:hover:not(:disabled){background:#c0271e}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-secondary{color:#aaa;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;padding:.65rem;font-size:.95rem;font-weight:500;transition:border-color .15s,color .15s}.login-btn-secondary:hover{color:#e5e5e5;border-color:#888}.login-divider{color:#555;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid #333;flex:1}.register-hint{color:#777;background:#111;border:1px solid #333;border-radius:4px;margin:0;padding:.5rem .75rem;font-size:.8rem;line-height:1.4}.register-hint strong{color:#aaa}.field-optional{color:#666;font-weight:400}.register-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;animation:.45s cubic-bezier(.22,1,.36,1) both form-slide-in;display:flex}.register-success-icon{color:#4ade80;background:#1a3a1a;border:2px solid #4ade80;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.6rem;display:flex}.register-success p{color:#e5e5e5;margin:0;font-size:1.1rem;font-weight:600}.register-success-sub{color:#888!important;font-size:.85rem!important;font-weight:400!important}.register-success .login-btn{width:100%;margin-top:.5rem}.judge-root{background:var(--bg-root);color:#f0f0f0;min-height:100svh;font-size:1rem}.judge-name-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100svh;padding:2rem;display:flex}.judge-name-prompt h1{color:#f0f0f0;margin:0 0 .5rem;font-size:1.6rem}.judge-name-prompt p{color:#888;margin:0}.judge-name-prompt input{color:#f0f0f0;text-align:center;background:#111;border:1px solid #444;border-radius:8px;width:100%;max-width:320px;padding:.8rem 1rem;font-size:1.1rem}.judge-name-prompt input:focus{border-color:#e63329;outline:none}.event-pick-btn{color:#f0f0f0;cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:8px;width:100%;max-width:320px;padding:1rem;font-size:1rem;transition:border-color .15s}.event-pick-btn:hover{background:#1a1a2e;border-color:#e63329}.judge-header{background:var(--bg-card);border-bottom:1px solid #2a2a3a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.judge-header-left{flex-direction:column;gap:.15rem;display:flex}.judge-event{color:#f0f0f0;font-size:1rem;font-weight:700}.judge-workout{color:#e63329;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.judge-header-right{align-items:center;gap:.5rem;display:flex}.judge-name-badge{color:#aaa;font-size:.85rem}.judge-error{color:#f87171;background:#3a1a1a;padding:.75rem 1rem;font-size:.9rem}.judge-loading{text-align:center;color:#666;padding:2rem}.judge-no-workout{text-align:center;color:#666;padding:3rem 1.5rem}.judge-waiting{text-align:center;color:#666;padding:1.5rem;font-style:italic}.judge-body{padding:.75rem}.heat-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.heat-tab{color:#888;cursor:pointer;background:#111;border:1px solid #333;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.heat-tab.active{color:#f0f0f0;background:#1a0a0a;border-color:#e63329}.heat-status-dot{border-radius:50%;width:8px;height:8px}.dot-scheduled{background:#555}.dot-running{background:#4ade80;box-shadow:0 0 6px #4ade80}.dot-completed{background:#60a5fa}.athlete-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;display:grid}.athlete-card{background:var(--bg-card);border:1px solid #2a2a3a;border-radius:10px;padding:1rem}.athlete-card.submitted{border-color:#1a3a1a}.athlete-card.state-pending{border-color:#3a3a1a}.athlete-card-name{align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:700;display:flex}.athlete-card-name>div{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.bib{color:#fff;background:#e63329;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:700}.result-type-row{gap:.5rem;margin-bottom:.75rem;display:flex}.rt-btn{color:#888;cursor:pointer;background:#111;border:1px solid #333;border-radius:6px;flex:1;padding:.6rem;font-size:.9rem;font-weight:700;transition:all .15s}.rt-btn.active.rt-completed{color:#4ade80;background:#1a3a1a;border-color:#4ade80}.rt-btn.active.rt-dnf{color:#fb923c;background:#3a2a1a;border-color:#fb923c}.rt-btn.active.rt-dns{color:#f87171;background:#2a1a1a;border-color:#f87171}.score-inputs{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.score-inputs label{color:#888;flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.score-inputs input{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:6px;padding:.6rem .75rem;font-size:1.1rem}.score-inputs input:focus{border-color:#e63329;outline:none}.score-err{color:#f87171;margin:0 0 .5rem;font-size:.82rem}.btn-submit{color:#fff;cursor:pointer;background:#e63329;border:none;border-radius:8px;width:100%;padding:.9rem;font-size:1rem;font-weight:700;transition:background .15s}.btn-submit:hover{background:#c0271e}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.submitted-score{justify-content:space-between;align-items:center;display:flex}.score-value{color:#4ade80;font-size:1.4rem;font-weight:700}.score-state{border-radius:4px;padding:.2rem .5rem;font-size:.8rem;font-weight:600}.state-pending{color:#fb923c;background:#3a2a1a}.state-approved{color:#4ade80;background:#1a3a1a}.state-pending_correction{color:#fbbf24;background:#3a3a1a}.state-queued{color:#a78bfa;background:#2a1a3a}.judge-heat-timer{text-align:center;color:#4ade80;letter-spacing:.05em;font-variant-numeric:tabular-nums;padding:.5rem 0 .75rem;font-size:3rem;font-weight:700}.confirm-banner{background:#1a1a0e;border:1px solid #3a3a1a;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.6rem .75rem;display:flex}.confirm-label{color:#fbbf24;font-size:.8rem;font-weight:600}.confirm-chips{flex-wrap:wrap;gap:.4rem;display:flex}.confirm-chip{color:#888;cursor:pointer;background:#111;border:1px solid #555;border-radius:20px;padding:.35rem .7rem;font-size:.85rem;transition:all .15s}.confirm-chip.confirmed{color:#4ade80;background:#1a3a1a;border-color:#4ade80}.judge-identity-badge{border-radius:4px;padding:.2rem .55rem;font-size:.82rem;font-weight:600}.judge-identity-found{color:#4ade80;background:#1a3a1a}.judge-identity-unknown{color:#fb923c;background:#3a2a1a}.judge-identity-notice{color:#fb923c;background:#2a1e0a;border-left:3px solid #fb923c;align-items:flex-start;gap:.6rem;padding:.65rem 1rem;font-size:.85rem;line-height:1.4;display:flex}.judge-identity-notice strong{color:#ffd580}.heat-tab.mine{border-color:#7c3aed}.heat-tab.mine.active{background:#1e1040;border-color:#a855f7}.heat-tab-mine{color:#c084fc;font-size:.7rem}.score-card-photo{object-fit:cover;border:2px solid #444;border-radius:50%;flex-shrink:0;width:48px;height:48px}.score-card-photo-avatar{border-color:#7c3aed}.score-card-photo-placeholder{color:#aaa;background:#2a2a3a;border:2px solid #444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:flex}.heat-tab-judge{color:#aaa;text-overflow:ellipsis;white-space:nowrap;background:#222;border-radius:3px;max-width:80px;padding:.1rem .3rem;font-size:.65rem;overflow:hidden}.confirmed-badge{color:#4ade80;background:#1a3a1a;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:700}.btn-primary{background:var(--accent,#e63329);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.7rem 1.5rem;font-size:1rem;font-weight:700}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-link{color:#60a5fa;cursor:pointer;background:0 0;border:none;padding:0;font-size:.83rem}.event-detail{padding:0 1.5rem 2rem}.tab-nav{border-bottom:1px solid #2a2a3a;gap:.25rem;margin-bottom:1.25rem;display:flex}.tab-btn{color:#888;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.6rem 1rem;font-size:.9rem;transition:color .15s}.tab-btn:hover{color:#ccc;background:0 0}.tab-btn.active{color:#e63329;border-bottom-color:#e63329}.tab-content{min-height:200px}.modal-backdrop{z-index:100;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-modal);border:1px solid #333;border-radius:8px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{color:#f0f0f0;margin:0;font-size:1rem}.modal-close{color:#888;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem}.modal-close:hover{color:#f0f0f0}.modal-body{padding:1.25rem}.tab-section{padding:1rem 0}.input-readonly{cursor:default;color:#888!important;background:#1a1a2e!important}.tab-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table.compact{font-size:.82rem}.data-table th{text-align:left;color:#888;border-bottom:1px solid #333;padding:.5rem .75rem;font-weight:500}.data-table td{vertical-align:middle;border-bottom:1px solid #2a2a2a;padding:.5rem .75rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#1a1a2a}.row-actions{white-space:nowrap;gap:.4rem;display:flex}.empty{color:#666;text-align:center;padding:1.5rem 0;font-style:italic}.hint{color:#777;margin-bottom:.75rem;font-size:.82rem}.badge{border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-active{color:#4ade80;background:#1a3a1a}.badge-withdrawn{color:#fb923c;background:#3a2a1a}.badge-dns{color:#f87171;background:#2a1a1a}.badge-heat-scheduled{color:#888;background:#222}.badge-heat-running{color:#60a5fa;background:#1a2a3a}.badge-heat-completed{color:#4ade80;background:#1a3a1a}.heat-timer{color:#60a5fa;letter-spacing:.05em;background:#0d1f3a;border-radius:4px;padding:.15rem .5rem;font-family:Courier New,monospace;font-size:.9rem;font-weight:700}.heat-card{border:1px solid #2a2a3a;border-radius:6px;margin-bottom:1rem;overflow:hidden}.heat-card-header{background:#1a1a2e;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.heat-actions{gap:.4rem;margin-left:auto;display:flex}.heat-division-badge{color:#a78bfa;text-transform:uppercase;letter-spacing:.04em;background:#1e1040;border:1px solid #7c3aed;border-radius:4px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.heat-judge-select{color:#ccc;background:#111;border:1px solid #333;border-radius:4px;max-width:160px;padding:.2rem .4rem;font-size:.8rem}.heat-athlete-photo-cell{width:36px;padding:.25rem .4rem!important}.heat-row-thumb{object-fit:cover;border:1px solid #444;border-radius:50%;width:32px;height:32px;display:block}.heat-row-thumb-placeholder{color:#aaa;background:#2a2a3a;border:1px solid #444;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:flex}.heat-row-thumb-empty{background:#1a1a1a;border:1px dashed #333;border-radius:50%;width:32px;height:32px;display:block}.tab-hint{color:#666;font-size:.82rem}.thumb-placeholder{color:#aaa;background:#2a2a3a;border:1px solid #444;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:inline-flex}.photo-cell{align-items:center;gap:.4rem;display:flex}.thumb{object-fit:cover;border:1px solid #444;border-radius:50%;width:32px;height:32px}.photo-upload-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.photo-slot p{color:#888;margin:0 0 .4rem;font-size:.82rem}.photo-slot .preview{aspect-ratio:1;object-fit:cover;border-radius:4px;width:100%;margin-bottom:.4rem}.checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.checkbox-label input[type=checkbox]{width:16px;height:16px}.filter-select{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;padding:.45rem .6rem}.tab-toolbar select{color:#f0f0f0;cursor:pointer;background:#111;border:1px solid #333;border-radius:4px;padding:.4rem .65rem;font-size:.88rem;transition:border-color .15s}.tab-toolbar select:hover{border-color:#555}.tab-toolbar select:focus{border-color:#e63329;outline:none}button{cursor:pointer;color:#f0f0f0;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;transition:background .15s}button:hover{background:#333}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#fff;background:#e63329;border-color:#c0271e}.btn-primary:hover{background:#c0271e}.btn-secondary{color:#ccc;background:#222;border-color:#444}.btn-secondary:hover{background:#2a2a2a}.btn-danger{color:#f87171;background:#3a1a1a;border-color:#7f1d1d}.btn-danger:hover{background:#4a1a1a}.btn-link{color:#60a5fa;background:0 0;border:none;padding:0;font-size:.83rem}.btn-link:hover{color:#93c5fd;background:0 0}.btn-xs{padding:.15rem .4rem;font-size:.75rem}.loading{color:#888;font-size:.85rem}.control-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.control-card{background:var(--bg-card);border:1px solid #2a2a3a;border-radius:8px;padding:.9rem 1rem}.control-card h4{color:#aaa;margin:0 0 .6rem;font-size:.85rem;font-weight:600}.control-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.control-row select,.control-row input[type=number]{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;flex:1;min-width:0;padding:.4rem .6rem;font-size:.88rem}.control-row select:focus,.control-row input:focus{border-color:#e63329;outline:none}.saved-tick{color:#4ade80;flex-shrink:0;font-size:1rem}.hint-inline{color:#666;font-size:.72rem;font-weight:400}.control-row select:disabled,.control-row input:disabled{opacity:.45;cursor:not-allowed}.control-card-podium{border-color:#3a2a5a}.control-card-podium h4{color:#c084fc}.pane-count-row{gap:1rem}.pane-count-label{color:#ccc;cursor:pointer;align-items:center;gap:.35rem;font-size:1rem;font-weight:600;display:flex}.pane-count-label input[type=radio]{accent-color:#e63329;cursor:pointer;width:1rem;height:1rem}.lib-search-wrap{border-bottom:1px solid #2a2a2a;margin-bottom:.75rem;padding-bottom:.75rem;position:relative}.lib-suggestions{z-index:200;background:#1e1e1e;border:1px solid #444;border-radius:4px;max-height:220px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.lib-suggestions li{cursor:pointer;align-items:center;gap:.6rem;padding:.45rem .75rem;transition:background .1s;display:flex}.lib-suggestions li:hover{background:#2a2a3a}.lib-sug-name{color:#e5e5e5;font-size:.9rem}.lib-sug-aff{color:#777;font-size:.78rem}.box-import-header{border-bottom:1px solid #2a2a2a;margin-bottom:.25rem;padding:.35rem 0}.box-import-list{border:1px solid #2a2a2a;border-radius:4px;max-height:280px;margin-bottom:.75rem;overflow-y:auto}.box-import-row{cursor:pointer;border-bottom:1px solid #1e1e1e;align-items:center;gap:.6rem;padding:.45rem .75rem;display:flex}.box-import-row:last-child{border-bottom:none}.box-import-row:hover{background:#1a1a2a}.box-import-row input[type=checkbox]{accent-color:#e63329;flex-shrink:0}.box-import-name{color:#e5e5e5;flex:1;font-size:.9rem}.box-import-aff{color:#777;font-size:.78rem}.box-import-done{opacity:.45;cursor:default}.box-import-done:hover{background:0 0!important}.box-import-tag{color:#4ade80;margin-left:auto;font-size:.72rem;font-weight:600}.btn-podium{color:#c084fc;cursor:pointer;background:#1e1040;border:1px solid #7c3aed;border-radius:6px;padding:.45rem 1rem;font-size:.88rem;transition:background .15s}.btn-podium:hover{background:#2d1a5a}.btn-podium-active{color:#fff;background:#7c3aed;border-color:#a855f7;animation:2s ease-in-out infinite podium-pulse}@keyframes podium-pulse{0%,to{box-shadow:0 0 8px #7c3aed66}50%{box-shadow:0 0 20px #7c3aedcc}}.control-actions{align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.approval-queue{padding:0}.aq-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.aq-toolbar h3{align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.aq-badge{color:#fff;background:#e63329;border-radius:10px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.aq-approver{color:#777;font-size:.82rem}.aq-empty{color:#666;padding:1.5rem 0;font-style:italic}.aq-name-prompt{flex-direction:column;gap:.75rem;padding:1rem 0;display:flex}.aq-name-prompt p{color:#aaa;margin:0}.aq-name-prompt input{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;flex:1;padding:.45rem .7rem;font-size:.9rem}.aq-list{flex-direction:column;gap:.5rem;display:flex}.aq-row{background:#11111e;border:1px solid #2a2a3a;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.aq-row.correction{background:#13130e;border-color:#3a3a1a}.aq-row-meta{color:#666;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.correction-tag{color:#fbbf24;background:#3a3a1a;border-radius:3px;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.aq-sep{color:#444}.aq-row-main{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.aq-athlete{flex:1;align-items:center;gap:.4rem;min-width:120px;display:flex}.aq-bib{color:#fff;background:#e63329;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:700}.aq-name{font-size:.95rem;font-weight:600}.aq-score{align-items:center;gap:.5rem;display:flex}.aq-result-type{border-radius:3px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.rt-completed{color:#4ade80;background:#1a3a1a}.rt-dnf{color:#fb923c;background:#3a2a1a}.rt-dns{color:#f87171;background:#2a1a1a}.aq-display{color:#f0f0f0;font-size:1.1rem;font-weight:700}.aq-submitted-by{color:#666;margin-left:auto;font-size:.78rem}.aq-correction-note{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:4px;width:100%;margin-top:.4rem;padding:.3rem .6rem;font-size:.8rem}.aq-actions{flex-wrap:wrap;gap:.4rem;display:flex}.btn-approve{color:#4ade80;cursor:pointer;background:#1a3a1a;border:1px solid #2a5a2a;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:600}.btn-approve:hover{background:#1e4a1e}.btn-reject{color:#f87171;cursor:pointer;background:#2a1a1a;border:1px solid #5a2a2a;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:600}.btn-reject:hover{background:#3a1a1a}.btn-correct{color:#fbbf24;cursor:pointer;background:#2a2a1a;border:1px solid #5a5a2a;border-radius:6px;padding:.4rem .85rem;font-size:.85rem}.btn-correct:hover{background:#3a3a1a}.btn-override{color:#888;cursor:pointer;background:#1a1a2a;border:1px solid #3a3a5a;border-radius:6px;padding:.4rem .85rem;font-size:.85rem}.btn-override:hover{color:#aaa;background:#222238}.qr-sheet-toolbar{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.qr-grid{flex-wrap:wrap;gap:1rem;display:flex}.qr-card{background:#fff;border-radius:6px;flex-direction:column;align-items:center;gap:.5rem;width:160px;padding:.75rem;display:flex}.qr-label{text-align:center;color:#111;flex-direction:column;align-items:center;gap:.15rem;font-size:.8rem;display:flex}.qr-label strong{color:#000;font-size:.85rem}.qr-div{color:#555;font-size:.7rem}.qr-status{margin-top:.15rem;font-size:.65rem!important}@media print{body>*{display:none!important}.modal-backdrop{background:0 0!important;display:block!important;position:static!important}.modal{box-shadow:none!important;width:auto!important;max-width:none!important;display:block!important;position:static!important}.modal-header{display:none!important}.modal-body{padding:0!important}.qr-sheet-toolbar{display:none!important}.qr-grid{justify-content:flex-start;flex-wrap:wrap!important;gap:.75rem!important;display:flex!important}.qr-card{page-break-inside:avoid;border:1px solid #ccc}}.users-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.users-header h2{color:#f0f0f0;margin:0;font-size:1.1rem;font-weight:600}.users-count{color:#666;margin-left:.4rem;font-size:.78rem;font-weight:400}.users-search{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;width:100%;max-width:22rem;margin-bottom:.9rem;padding:.45rem .7rem;font-size:.88rem}.users-search:focus{border-color:#e63329;outline:none}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.role-admin{color:#c084fc;background:#6428a04d}.role-head_judge{color:#60a5fa;background:#1e3c7866}.role-judge_athlete{color:#fbbf24;background:#64500a66}.role-judge{color:#2dd4bf;background:#0a505066}.role-athlete{color:#4ade80;background:#0a461e66}.role-viewer{color:#888;background:#222}.mem-badge{border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.mem-scaled{color:#fbbf24;background:#64500a66}.mem-advanced{color:#38bdf8;background:#0a3c6466}.mem-rx{color:#4ade80;background:#0a461e66}.trusted-badge{border:1px solid;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.trusted-yes{color:#4ade80;background:#0a461e4d;border-color:#4ade80}.trusted-no{color:#555;border-color:#444}.status-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;transition:border-color .15s}.status-active{color:#4ade80;border-color:#4ade80}.status-disabled{color:#555;border-color:#444}.status-active:hover,.status-disabled:hover{border-color:#e63329}.th-filter{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.th-filter:hover{color:#ccc;background:#1a1a2a}.th-filter.active{color:#e63329;background:#e633291f}.th-sub{opacity:.7;margin-left:.3rem;font-size:.7rem}.inactive-row{opacity:.6}.cal-root{max-height:calc(100vh - 200px);padding:0 1.5rem 1.5rem;overflow:auto}.cal-grid{grid-template-columns:48px repeat(7,minmax(100px,1fr));min-width:780px;display:grid}.cal-time-gutter{grid-column:1;position:relative}.cal-time-label{color:#555;text-align:right;-webkit-user-select:none;user-select:none;font-size:.7rem;position:absolute;left:0;right:4px;transform:translateY(-.5em)}.cal-day-col{border-left:1px solid #1e1e2e;flex-direction:column;min-width:0;display:flex}.cal-day-header{color:#777;text-align:center;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:var(--bg-root,#0d0d18);z-index:2;border-bottom:1px solid #2a2a3a;padding:.45rem .5rem;font-size:.75rem;font-weight:600;position:sticky;top:0}.cal-day-header.today{color:var(--accent,#e63329)}.cal-day-body{flex:1;position:relative}.cal-day-body.clickable{cursor:crosshair}.cal-hour-line{pointer-events:none;background:#1e1e2e;height:1px;position:absolute;left:0;right:0}.cal-half-line{pointer-events:none;background:#161624;height:1px;position:absolute;left:0;right:0}.cal-lesson{cursor:pointer;z-index:1;border:1px solid #0000;border-radius:4px;flex-direction:column;gap:1px;padding:3px 5px;font-size:.72rem;transition:filter .12s,transform .12s;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.cal-lesson:hover{filter:brightness(1.15);z-index:5;transform:scaleX(1.02)}.cal-lesson-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.2;overflow:hidden}.cal-lesson-meta{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.cal-token-dot{opacity:.8}.cal-lesson-booked{outline:2px solid #4ade8099}.cal-booked-dot{background:#4ade80;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:4px}.modal-training{width:580px}.ts-root{flex-direction:column;display:flex}.ts-nav{background:var(--bg-card);border-bottom:1px solid #2a2a3a;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.ts-nav-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;transition:border-color .15s,color .15s}.ts-nav-btn:hover{color:#f0f0f0;border-color:#888}.ts-nav-label{color:#e0e0e0;text-align:center;flex:1;font-size:.9rem;font-weight:600}.ts-create-btn{margin-left:auto}.ts-date-jump{color:#f0f0f0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111;border:1px solid #333;border-radius:4px;padding:.3rem .5rem;font-size:.82rem}.ts-date-jump:focus{border-color:var(--accent);outline:none}.ts-loading{color:#555;padding:1rem 1.5rem;font-style:italic}.ts-form{flex-direction:column;gap:.1rem;display:flex}.ts-form-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;display:flex}.ts-label{color:#aaa;flex-direction:column;flex:1;gap:.3rem;min-width:100px;font-size:.82rem;display:flex}.ts-label-grow{flex:2}.ts-optional{color:#555;font-weight:400}.ts-label input,.ts-label select{color:#f0f0f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111;border:1px solid #333;border-radius:4px;padding:.42rem .6rem;font-size:.88rem}.ts-label input:focus,.ts-label select:focus{border-color:var(--accent);outline:none}.ts-field{margin-bottom:.75rem}.ts-field-label{color:#aaa;margin-bottom:.4rem;font-size:.82rem;display:block}.ts-color-swatches{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ts-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .1s,border-color .1s}.ts-swatch:hover{transform:scale(1.15)}.ts-swatch.selected{border-color:#fff;transform:scale(1.1)}.ts-color-custom{cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;width:30px;height:28px;padding:1px}.ts-textarea{color:#f0f0f0;resize:vertical;background:#111;border:1px solid #333;border-radius:4px;padding:.42rem .6rem;font-family:inherit;font-size:.88rem}.ts-textarea:focus{border-color:var(--accent);outline:none}.ts-image-row{align-items:center;gap:.4rem;display:flex}.ts-image-url-input{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;flex:1;min-width:0;padding:.42rem .6rem;font-size:.88rem}.ts-image-url-input:focus{border-color:var(--accent);outline:none}.ts-img-upload-btn{white-space:nowrap;padding:.38rem .7rem;font-size:.8rem}.ts-img-preview{object-fit:cover;border:1px solid #2a2a3a;border-radius:4px;max-width:100%;max-height:120px;margin-top:.5rem}.ts-scope-prompt{flex-direction:column;gap:.5rem;display:flex}.ts-scope-label{color:#aaa;margin:0;font-size:.85rem}.ts-view{flex-direction:column;gap:.9rem;display:flex}.ts-view-header{align-items:flex-start;gap:.75rem;display:flex}.ts-color-pill{border-radius:3px;flex-shrink:0;width:14px;height:14px;margin-top:3px}.ts-view-time{color:#e0e0e0;font-size:.9rem;font-weight:600}.ts-view-dur{color:#888;font-weight:400}.ts-view-spots{color:#888;margin-top:.2rem;font-size:.8rem}.ts-view-img{object-fit:cover;border:1px solid #2a2a3a;border-radius:6px;width:100%;max-height:160px}.ts-view-desc{color:#ccc;margin:0;font-size:.88rem;line-height:1.6}.ts-bookings{background:#0d0d18;border:1px solid #2a2a3a;border-radius:6px;padding:.75rem}.ts-bookings-title{color:#777;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .6rem;font-size:.8rem;font-weight:600}.ts-bookings-empty{color:#555;margin:0;font-size:.85rem;font-style:italic}.ts-booking-row{border-bottom:1px solid #1e1e2e;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.ts-booking-row:last-child{border-bottom:none}.ts-booking-name{color:#e0e0e0;font-weight:600}.ts-booking-username{color:#666;font-size:.8rem}.ts-view-actions{margin-top:.25rem}.modal-branding{width:520px}.branding-body{flex-direction:column;gap:1.5rem;display:flex}.brand-section{flex-direction:column;gap:.75rem;display:flex}.brand-section-title{text-transform:uppercase;letter-spacing:.06em;color:#777;border-bottom:1px solid #1e1e2e;margin:0;padding-bottom:.4rem;font-size:.8rem;font-weight:700}.brand-hint{color:#666;margin:0;font-size:.8rem}.brand-logo-row{align-items:center;gap:1rem;display:flex}.brand-logo-preview{object-fit:contain;background:#1a1a2a;border:1px solid #2a2a3a;border-radius:6px;flex-shrink:0;width:80px;height:80px;padding:6px}.brand-logo-placeholder{color:#555;border:1px dashed #333;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:.72rem;display:flex}.brand-logo-actions{flex-direction:column;gap:.4rem;display:flex}.brand-upload-btn{font-size:.82rem}.brand-logo-hint{color:#555;margin:0;font-size:.75rem}.brand-color-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.brand-color-field{flex-direction:column;gap:.4rem;display:flex}.brand-color-label{color:#aaa;font-size:.8rem}.brand-color-input-row{align-items:center;gap:.5rem;display:flex}.brand-color-picker{cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;flex-shrink:0;width:36px;height:32px;padding:1px}.brand-color-hex{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;flex:1;padding:.35rem .5rem;font-family:monospace;font-size:.85rem}.brand-color-hex:focus{border-color:var(--accent);outline:none}.brand-suggestions{flex-direction:column;gap:.4rem;display:flex}.brand-suggestions-label{color:#666;font-size:.75rem}.brand-swatch-row{flex-wrap:wrap;gap:.4rem;display:flex}.brand-swatch-group{flex-direction:column;gap:3px;display:flex}.brand-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:28px;height:28px;padding:0;transition:transform .1s,border-color .1s}.brand-swatch:hover{border-color:#fff;transform:scale(1.12)}.brand-swatch-sm{border-radius:3px;width:28px;height:14px}.brand-swatch-hint{color:#555;margin:0;font-size:.7rem}.brand-preview-strip{background:#0d0d18;border:1px solid #2a2a3a;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.brand-preview-label{color:#555;flex-shrink:0;font-size:.75rem}.brand-preview-bar{border-radius:3px;flex-shrink:0;width:40px;height:20px}.brand-preview-bar-sm{width:28px;height:20px}.brand-preview-btn{color:#fff;cursor:default;pointer-events:none;border:none;border-radius:4px;padding:.25rem .65rem;font-size:.78rem}.operator-root{background:var(--bg-root);color:#f0f0f0;min-height:100svh}.op-header{background:var(--bg-card);border-bottom:1px solid #2a2a3a;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.op-header h1{color:#f0f0f0;flex:1;margin:0;font-size:1.2rem;font-weight:600}.header-actions{gap:.5rem;display:flex}.header-user{align-items:center;gap:.75rem;margin-left:auto;display:flex}.header-username{color:#aaa;font-size:.85rem}.header-role-badge{text-transform:uppercase;letter-spacing:.05em;color:#888;background:#2a2a3a;border-radius:3px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.header-role-badge[data-role=admin]{color:#e74c3c;background:#c0392b33}.header-role-badge[data-role=head_judge]{color:#2ecc71;background:#27ae6033}.btn-logout{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;padding:.3rem .75rem;font-size:.8rem;transition:border-color .15s,color .15s}.op-nav{gap:.25rem;display:flex}.op-nav button{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.9rem;transition:background .15s,color .15s}.op-nav button:hover{color:#ccc;background:#1e1e30}.op-nav .op-nav-active{color:#f0f0f0;background:#1e1e30;font-weight:600}.btn-back{color:#888;cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-size:.9rem}.btn-back:hover{color:#f0f0f0;background:0 0}.event-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.5rem;display:grid}.event-card{background:var(--bg-card);cursor:pointer;border:1px solid #2a2a3a;border-radius:8px;padding:1.1rem 1.25rem;transition:border-color .15s}.event-card:hover{border-color:var(--accent)}.event-card-title{margin-bottom:.3rem;font-size:1rem;font-weight:600}.event-card-meta{color:#777;margin-bottom:.75rem;font-size:.8rem}.event-card-actions{gap:.4rem;display:flex}.empty-state{color:#666;text-align:center;grid-column:1/-1;padding:3rem 0;font-style:italic}.btn-archive{color:#4ade80;cursor:pointer;background:#1a3a1a;border:1px solid #2a5a2a;border-radius:4px;padding:.4rem .85rem;font-size:.85rem}.btn-archive:hover{background:#1f4a1f;border-color:#4ade80}.users-tab{padding:1.5rem}.users-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.users-header h2{color:#f0f0f0;margin:0;font-size:1.1rem}.users-table{border-collapse:collapse;width:100%;font-size:.875rem}.users-table th{text-align:left;color:#777;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a3a;padding:.5rem .75rem;font-size:.75rem;font-weight:500}.users-table td{color:#e0e0e0;border-bottom:1px solid #1e1e2e;padding:.65rem .75rem}.users-table tr.row-disabled td{opacity:.45}.cell-mono{color:#aaa;font-family:monospace}.cell-actions{gap:.4rem;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.05em;color:#888;background:#2a2a3a;border-radius:3px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.role-badge[data-role=admin]{color:#e74c3c;background:#c0392b33}.role-badge[data-role=head_judge]{color:#2ecc71;background:#27ae6033}.role-badge[data-role=judge]{color:#3498db;background:#3498db33}.btn-status{cursor:pointer;border:1px solid;border-radius:3px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.btn-status.active{color:#2ecc71;background:#27ae601a;border-color:#27ae60}.btn-status.inactive{color:#888;background:#9696961a;border-color:#555}.btn-status.trusted{color:#f1c40f;background:#f1c40f1a;border-color:#f39c12}:root,[data-theme=crossfit]{--accent:#e63329;--accent-dim:#e6332926;--bg-root:#0d0d0d;--bg-top:#111;--bg-side:#111;--bg-row-odd:transparent;--border-top:3px solid #e63329;--border-side:1px solid #1e1e1e;--text-primary:#f0f0f0;--text-dim:#888;--text-muted:#555;--col-active-bg:#60a5fa0f;--col-active-border:#60a5fa66;--col-active-hdr:#60a5fa1f;--col-active-color:#60a5fa;--row-border:#1a1a1a;--header-bg:#111;--header-border:#222}[data-theme=dark]{--accent:#4a90d9;--accent-dim:#4a90d926;--bg-root:#12161c;--bg-top:#1a1f28;--bg-side:#1a1f28;--border-top:3px solid #4a90d9;--border-side:1px solid #252b36;--text-primary:#e8edf4;--text-dim:#7a8499;--text-muted:#4a5568;--col-active-bg:#4a90d912;--col-active-border:#4a90d966;--col-active-hdr:#4a90d924;--col-active-color:#7ab8f0;--row-border:#1e2533;--header-bg:#1a1f28;--header-border:#252b36}.display-root{background:var(--bg-root);width:100vw;height:100vh;color:var(--text-primary);flex-direction:column;font-family:Segoe UI,system-ui,sans-serif;display:flex;overflow:hidden}.display-waiting{justify-content:center;align-items:center;gap:1rem}.waiting-inner{text-align:center}.display-err{color:#f87171}.event-pick{color:var(--text-primary);cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:8px;margin:.5rem auto;padding:.8rem 2rem;font-size:1.1rem;display:block}.event-pick:hover{border-color:var(--accent)}.display-topbar{background:var(--bg-top);border-bottom:var(--border-top);flex-shrink:0;grid-template-columns:1fr 2fr 1fr;align-items:center;height:72px;padding:0 1.5rem;display:grid}.topbar-left{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:1rem;font-weight:600}.topbar-center{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.division-name{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-size:2rem;font-weight:800;line-height:1}.division-pips{align-items:center;gap:6px;display:flex}.pip{background:var(--text-muted);border-radius:50%;width:7px;height:7px;transition:background .3s}.pip-active{background:var(--accent);box-shadow:0 0 5px var(--accent)}.topbar-right{justify-content:flex-end;align-items:center;display:flex}.clock{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.heat-indicator{align-items:center;gap:.6rem;font-size:1rem;font-weight:600;display:flex}.heat-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.heat-dot-scheduled{background:#555}.heat-dot-running{background:#4ade80;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 8px #4ade80}.heat-dot-completed{background:#60a5fa}.heat-timer{color:#60a5fa;font-variant-numeric:tabular-nums;text-align:right;min-width:4.5ch;font-size:1.6rem;font-weight:800}.heat-done{color:#4ade80;font-size:.9rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.display-body{flex:1;display:flex;overflow:hidden}.display-main{flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.display-sidepanel{background:var(--bg-side);border-left:var(--border-side);flex-direction:column;flex-shrink:0;align-items:center;gap:1rem;width:200px;padding:1.5rem 1rem;display:flex;overflow:hidden}.sponsor-logo{object-fit:contain;width:100%;max-height:80px}.sponsor-placeholder{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;text-align:center;font-size:1.4rem;font-weight:900}.standings-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.standings-compressed{flex:none}:root{--col-rank:52px;--col-photo:62px;--col-total:80px;--col-workout:64px;--col-workout-active:90px}.standings-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);text-transform:uppercase;letter-spacing:.06em;height:36px;color:var(--text-muted);flex-shrink:0;align-items:center;padding:0 .5rem;font-size:.72rem;font-weight:700;display:flex}.standings-body{position:relative;overflow:hidden}.standings-empty{color:var(--text-muted);justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;inset:0}.standings-row{border-bottom:1px solid var(--row-border);align-items:center;height:68px;padding:0 .5rem;transition:top .7s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;left:0;right:0}.podium-gold{background:#fbbf2414}.podium-silver{background:#9ca3af12}.podium-bronze{background:#fb716412}.col-rank,.standings-header .col-rank{width:var(--col-rank);text-align:center;flex-shrink:0}.col-photo,.standings-header .col-photo{width:var(--col-photo);flex-shrink:0}.col-name,.standings-header .col-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:.5rem;overflow:hidden}.col-total,.standings-header .col-total{width:var(--col-total);text-align:center;flex-shrink:0}.col-workout,.standings-header .col-workout{width:var(--col-workout);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.col-active.col-workout,.standings-header .col-active.col-workout{width:var(--col-workout-active);background:var(--col-active-bg);border-top:2px solid var(--col-active-border);border-radius:6px 6px 0 0}.standings-header .col-active{background:var(--col-active-hdr);color:var(--col-active-color)}.rank-num{font-size:1.3rem;font-weight:900}.rank-gold{color:#fbbf24}.rank-silver{color:#9ca3af}.rank-bronze{color:#fb7164}.rank-default{color:var(--text-muted)}.athlete-photo{object-fit:cover;border:2px solid #2a2a2a;border-radius:50%;width:50px;height:50px;transition:opacity .6s}.athlete-photo-placeholder{width:50px;height:50px;color:var(--text-muted);background:#222;border:2px solid #333;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.athlete-name{flex-direction:column;align-items:flex-start;gap:0;font-size:1.05rem;font-weight:600;display:flex}.athlete-bib{background:var(--accent);color:#fff;border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.col-total{color:var(--text-primary);font-size:1.05rem;font-weight:700}.workout-score{color:#aaa;font-size:.85rem}.active-score{color:var(--col-active-color);font-size:.92rem;font-weight:700}.heat-schedule-strip{background:var(--bg-top);border-top:1px solid var(--header-border);flex-shrink:0;align-items:center;gap:1rem;height:84px;padding:0 1rem;display:flex;overflow:hidden}.schedule-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);writing-mode:vertical-lr;flex-shrink:0;font-size:.65rem;font-weight:700;transform:rotate(180deg)}.schedule-heats{scrollbar-width:none;flex:1;gap:.75rem;display:flex;overflow:auto hidden}.schedule-heats::-webkit-scrollbar{display:none}.schedule-heat{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;flex-direction:column;flex-shrink:0;gap:4px;min-width:100px;padding:.4rem .7rem;display:flex}.schedule-heat-running{border-color:#4ade80}.schedule-heat-completed{opacity:.6;border-color:#60a5fa}.schedule-heat-num{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:flex}.schedule-heat-status{width:7px;height:7px}.schedule-athletes{flex-wrap:wrap;gap:3px;display:flex}.schedule-athlete{color:var(--text-primary);align-items:center;gap:3px;font-size:.72rem;display:flex}.schedule-lane{color:var(--text-muted);min-width:1em;font-size:.6rem}.podium-root{background:var(--bg-root);flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;padding-bottom:2rem;display:flex}.podium-title{text-align:center;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);font-size:2.5rem;font-weight:900;position:absolute;top:2rem;left:0;right:0}.podium-stage{align-items:flex-end;gap:1.5rem;display:flex}.podium-card{flex-direction:column;align-items:center;width:260px;display:flex}.podium-1st{order:2}.podium-2nd{order:1}.podium-3rd{order:3}.podium-card-photo{margin-bottom:.75rem}.podium-photo{object-fit:cover;border:4px solid #fbbf24;border-radius:50%}.podium-silver .podium-photo{border-color:#9ca3af}.podium-bronze .podium-photo{border-color:#fb7164}.podium-1st .podium-photo{width:180px;height:180px}.podium-2nd .podium-photo{width:140px;height:140px}.podium-3rd .podium-photo{width:130px;height:130px}.podium-photo-placeholder{color:#888;background:#222;border:4px solid #fbbf24;border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:flex}.podium-silver .podium-photo-placeholder{border-color:#9ca3af}.podium-bronze .podium-photo-placeholder{border-color:#fb7164}.podium-1st .podium-photo-placeholder{width:180px;height:180px;font-size:4rem}.podium-2nd .podium-photo-placeholder{width:140px;height:140px;font-size:3rem}.podium-3rd .podium-photo-placeholder{width:130px;height:130px;font-size:2.5rem}.podium-place-label{color:#fbbf24;font-size:3rem;font-weight:900;line-height:1}.podium-silver .podium-place-label{color:#9ca3af}.podium-bronze .podium-place-label{color:#fb7164}.podium-athlete-name{text-transform:uppercase;letter-spacing:.04em;text-align:center;margin-top:.3rem;font-size:1.4rem;font-weight:700}.podium-points{color:var(--text-dim);margin-top:.2rem;font-size:1rem}.podium-block{border-radius:8px 8px 0 0;width:100%;margin-top:1rem}.podium-1st .podium-block{background:#fbbf24;height:160px}.podium-2nd .podium-block{background:#9ca3af;height:120px}.podium-3rd .podium-block{background:#fb7164;height:90px}.podium-empty{opacity:0}@keyframes flash-up{0%{background:#4ade8047}to{background:0 0}}@keyframes flash-down{0%{background:#f8717147}to{background:0 0}}.rank-flash-up{animation:2.2s forwards flash-up}.rank-flash-down{animation:2.2s forwards flash-down}.athlete-name-row{align-items:center;gap:.4rem;display:flex}.athlete-affiliation{color:var(--text-muted);letter-spacing:.01em;margin-top:1px;font-size:.72rem;font-weight:400}.col-name.athlete-name{flex-direction:column;align-items:flex-start;gap:0}.display-body-multi-pane{flex:1;gap:0;display:flex;overflow:hidden}.display-pane{border-right:1px solid #1e1e2e;flex-direction:column;flex:1;display:flex;overflow:hidden}.display-pane:last-child{border-right:none}.pane-division-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid #1e1e2e;padding:.5rem 1rem .25rem;font-size:.85rem;font-weight:700}.spec-root{background:var(--bg-root);color:#f0f0f0;min-height:100svh;font-family:inherit}.spec-loading,.spec-splash{color:#888;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100svh;display:flex}.spec-splash h1{color:#f0f0f0;margin:0;font-size:2rem}.spec-event-btn{color:#f0f0f0;cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:.9rem 2rem;font-size:1rem}.spec-event-btn:hover{border-color:#e63329}.spec-header{background:var(--bg-card);border-bottom:2px solid var(--accent);align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.spec-event-name{color:#aaa;font-size:.9rem}.spec-title{flex:1;font-size:1.1rem;font-weight:700}.spec-print-btn{color:#ccc;cursor:pointer;background:#222;border:1px solid #444;border-radius:4px;padding:.35rem .8rem;font-size:.85rem}.spec-print-btn:hover{background:#333}.spec-div-tabs{background:var(--bg-root);border-bottom:1px solid #1e1e2e;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem;display:flex}.spec-div-tab{color:#888;cursor:pointer;background:#111;border:1px solid #333;border-radius:20px;padding:.4rem 1rem;font-size:.85rem}.spec-div-tab.active{color:#f0f0f0;background:#1a0a0a;border-color:#e63329}.spec-div-tab:hover:not(.active){color:#ccc;border-color:#555}.spec-screen-view{padding:1rem 1.5rem}.spec-div-title{color:#e63329;margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.spec-empty{color:#666;padding:1rem 0;font-style:italic}.spec-table{border-collapse:collapse;width:100%;font-size:.92rem}.spec-table th{text-align:left;color:#888;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #333;padding:.5rem .75rem;font-size:.8rem;font-weight:600}.spec-table td{border-bottom:1px solid #1e1e2e;padding:.6rem .75rem}.spec-table tr:last-child td{border-bottom:none}.spec-table tr:hover td{background:#1a1a2e}.spec-podium-1 td{background:#ffd7000f}.spec-podium-2 td{background:#c0c0c00d}.spec-podium-3 td{background:#cd7f320d}.spec-rank{width:40px;font-size:1.1rem}.spec-name{font-weight:600}.spec-bib{color:#fff;background:#e63329;border-radius:3px;margin-right:.4rem;padding:.1rem .35rem;font-size:.7rem;font-weight:700;display:inline-block}.spec-aff{color:#888;font-size:.85rem}.spec-pts{color:#e63329;font-weight:700}.spec-score{color:#ccc;font-size:.88rem}.spec-print-all{display:none}.spec-print-div-title{color:#000;border-bottom:2px solid #000;margin:1.5rem 0 .5rem;padding-bottom:.25rem;font-size:1rem}@media print{.spec-root{color:#000;background:#fff}.spec-header{color:#000;background:#fff;border-bottom:2px solid #000;padding:.5rem 0}.spec-event-name,.spec-title{color:#000}.spec-print-btn,.spec-div-tabs,.spec-screen-view{display:none}.spec-print-all{display:block}.spec-table{font-size:.8rem}.spec-table th{color:#000;border-bottom:1px solid #000}.spec-table td{color:#000;border-bottom:1px solid #ccc}.spec-aff,.spec-score{color:#333}.spec-pts{color:#000}.spec-bib{background:#000}.spec-podium-1 td,.spec-podium-2 td,.spec-podium-3 td{background:0 0}@page{margin:1.5cm}}.ob-root{background:var(--bg-root);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.ob-card{background:var(--bg-card);border:1px solid #2a2a3a;border-radius:10px;width:100%;max-width:540px;padding:2rem}.ob-title{color:#f0f0f0;margin:0 0 1.5rem;font-size:1.25rem;font-weight:700}.ob-stepper{flex-wrap:wrap;gap:.25rem;margin-bottom:2rem;display:flex}.ob-step{color:#555;flex:1;align-items:center;gap:.4rem;min-width:0;font-size:.82rem;display:flex}.ob-step.active{color:#f0f0f0}.ob-step.done{color:var(--accent)}.ob-step-dot{border:2px solid #444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:flex}.ob-step.active .ob-step-dot{border-color:var(--accent);color:var(--accent)}.ob-step.done .ob-step-dot{border-color:var(--accent);background:var(--accent);color:#fff}.ob-body{flex-direction:column;gap:.25rem;display:flex}.ob-age-hint{color:#888;margin-top:.2rem;font-size:.78rem}.ob-hint{color:#888;margin:0 0 .75rem;font-size:.85rem}.ob-affiliate-list{border:1px solid #2a2a3a;border-radius:6px;max-height:220px;margin-bottom:1rem;overflow-y:auto}.ob-affiliate-item{cursor:pointer;color:#ccc;border-bottom:1px solid #1e1e2e;padding:.5rem .75rem;font-size:.9rem;transition:background .1s}.ob-affiliate-item:last-child{border-bottom:none}.ob-affiliate-item:hover{background:#1a1a2a}.ob-affiliate-item.selected{color:#f0f0f0;background:#e633291f}.ob-avatar-preview{justify-content:center;margin-bottom:1.25rem;display:flex}.ob-avatar-img{object-fit:cover;border:3px solid var(--accent);border-radius:50%;width:96px;height:96px}.ob-avatar-placeholder{color:#aaa;background:#2a2a3a;border:2px dashed #444;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:2.5rem;font-weight:700;display:flex}.ob-review{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.ob-review-row{border-bottom:1px solid #1e1e2e;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;display:flex}.ob-review-row>span:first-child{color:#888;min-width:110px}.ob-review-row>span:nth-child(2){color:#f0f0f0;flex:1}.ob-nav{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.dash-root{background:var(--bg-root);color:#f0f0f0;min-height:100svh}.dash-header{background:var(--bg-card);border-bottom:1px solid #2a2a3a;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.dash-header h1{flex:1;margin:0;font-size:1.2rem;font-weight:700}.dash-header-right{align-items:center;gap:.75rem;display:flex}.dash-username{color:#aaa;font-size:.85rem}.dash-loading{text-align:center;color:#666;padding:3rem}.dash-body{max-width:1000px;padding:1.5rem}.dash-section{margin-bottom:2.5rem}.dash-section h2{color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem;font-size:1rem;font-weight:700}.dash-empty{color:#555;font-style:italic}.dash-event-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.dash-event-card{background:var(--bg-card);border:1px solid #2a2a3a;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.2rem;display:flex}.dash-event-name{color:#f0f0f0;font-size:1rem;font-weight:700}.dash-event-date{color:#888;font-size:.82rem}.dash-event-desc{color:#aaa;margin:0;font-size:.85rem}.dash-event-divs{flex-wrap:wrap;gap:.35rem;display:flex}.dash-div-badge{color:#999;background:#1e1e2e;border:1px solid #333;border-radius:3px;padding:.1rem .45rem;font-size:.72rem}.dash-reg-badge{color:#4ade80;background:#1a3a1a;border:1px solid #2a5a2a;border-radius:6px;margin-top:.25rem;padding:.35rem .75rem;font-size:.82rem}.dash-signup-btn{width:100%;margin-top:.25rem}.dash-reg-table{border-collapse:collapse;width:100%;font-size:.9rem}.dash-reg-table th{text-align:left;color:#777;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a3a;padding:.5rem .75rem;font-size:.75rem}.dash-reg-table td{color:#e0e0e0;border-bottom:1px solid #1e1e2e;padding:.6rem .75rem}.dash-reg-table tr:last-child td{border-bottom:none}.dash-role-cell{text-transform:capitalize;color:var(--accent);font-weight:600}.dash-signup-form{flex-direction:column;gap:.25rem;display:flex}.dash-notifications{flex-direction:column;gap:.5rem;padding:.75rem 1.5rem;display:flex}.dash-notification{color:#fbbf24;background:#2a1a0a;border:1px solid #7c4a00;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.65rem .9rem;font-size:.88rem;display:flex}.dash-notification span{flex:1}.dash-notif-dismiss{color:#7c4a00;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.85rem;line-height:1}.dash-notif-dismiss:hover{color:#fbbf24}@media (width<=768px){.dash-header{padding:.75rem 1rem}.dash-header h1{font-size:1rem}.dash-username{display:none}.dash-body{padding:1rem 1rem 5rem}.dash-event-grid{grid-template-columns:1fr}.dash-reg-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.dash-reg-table{min-width:420px}}label{color:#aaa;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.85rem;display:flex}label input,label select{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;padding:.45rem .6rem;font-size:.9rem}label input:focus,label select:focus{border-color:var(--accent,#e63329);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.form-error{color:#f87171;margin-bottom:.75rem;font-size:.82rem}.scores-root{background:var(--bg-root);color:#f0f0f0;min-height:100svh}.scores-header{background:var(--bg-card);border-bottom:1px solid #2a2a3a;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.scores-header h1{flex:1;margin:0;font-size:1.2rem;font-weight:700}.scores-header-right{align-items:center;gap:.75rem;display:flex}.scores-username{color:#aaa;font-size:.85rem}.btn-logout{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:6px;padding:.3rem .75rem;font-size:.8rem}.btn-logout:hover{color:#ccc;border-color:#888}.scores-tabs{background:var(--bg-card);border-bottom:1px solid #2a2a3a;gap:0;padding:0 1.5rem;display:flex}.scores-tab{color:#777;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.75rem 1.25rem;font-size:.9rem;transition:color .15s,border-color .15s}.scores-tab:hover{color:#ccc}.scores-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.scores-body{max-width:760px;padding:1.5rem}.log-form{flex-direction:column;gap:1rem;max-width:420px;display:flex}.log-form h2{color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:1rem;font-weight:600}.log-autocomplete{position:relative}.log-suggestions{z-index:50;background:#1e1e1e;border:1px solid #444;border-radius:4px;max-height:160px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.log-suggestions li{cursor:pointer;color:#e5e5e5;padding:.45rem .75rem;font-size:.9rem}.log-suggestions li:hover{background:#2a2a3a}.log-type-row{gap:.5rem;display:flex}.log-type-btn{color:#888;cursor:pointer;background:#111;border:1px solid #333;border-radius:6px;flex:1;padding:.5rem;font-size:.85rem;font-weight:600;transition:all .15s}.log-type-btn.active{border-color:var(--accent);color:var(--accent);background:#e6332926}.log-value-row{grid-template-columns:2fr 1fr;gap:.75rem;display:grid}.log-value-label,.log-unit-label{color:#aaa;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.log-value-label input,.log-unit-label select{color:#f0f0f0;background:#111;border:1px solid #333;border-radius:4px;padding:.45rem .6rem;font-size:.9rem}.log-value-label input:focus,.log-unit-label select:focus{border-color:var(--accent);outline:none}.log-success{color:#4ade80;margin:0;font-size:.9rem}.lb-panel h2{color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:1rem;font-weight:600}.lb-controls{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.lb-empty{color:#555;font-style:italic}.lb-table{border-collapse:collapse;width:100%;font-size:.9rem}.lb-table th{text-align:left;color:#777;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a3a;padding:.5rem .75rem;font-size:.75rem}.lb-table td{border-bottom:1px solid #1e1e2e;padding:.6rem .75rem}.lb-table tr:last-child td{border-bottom:none}.lb-table tr.lb-me td{background:#e6332914}.lb-rank{color:var(--accent);width:40px;font-weight:700}.lb-value{font-weight:700}.lb-unit{color:#888;font-size:.82rem}.lb-you{color:var(--accent);margin-left:.3rem;font-size:.78rem}.hist-panel h2{color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:1rem;font-weight:600}.hist-empty{color:#555;font-style:italic}.hist-table{border-collapse:collapse;width:100%;font-size:.88rem}.hist-table th{text-align:left;color:#777;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a3a;padding:.5rem .75rem;font-size:.75rem}.hist-table td{border-bottom:1px solid #1e1e2e;padding:.5rem .75rem}.hist-table tr:last-child td{border-bottom:none}.hist-type{text-transform:capitalize;color:#aaa}.hist-value{font-weight:600}.hist-date{color:#777;font-size:.82rem}@media (width<=768px){.scores-header{padding:.75rem 1rem}.scores-header h1{font-size:1rem}.scores-username{display:none}.scores-tabs{padding:0 .75rem}.scores-tab{padding:.65rem .75rem;font-size:.82rem}.scores-body{padding:1rem 1rem 5rem}.log-form{max-width:100%}.log-value-row{grid-template-columns:1fr 1fr}.lb-table-wrap,.hist-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.lb-table,.hist-table{min-width:380px}}.athlete-nav{background:var(--bg-card);border-bottom:2px solid #2a2a3a;padding:0 1.5rem;display:flex}.athlete-nav-tab{color:#777;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;flex-direction:row;align-items:center;gap:.45rem;margin-bottom:-2px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s;display:flex}.athlete-nav-tab:hover{color:#ccc;background:0 0}.athlete-nav-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.athlete-nav-icon{font-size:1.35rem;line-height:1;display:none}@media (width<=768px){.athlete-nav{z-index:50;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #2a2a3a;border-bottom:none;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.athlete-nav-tab{letter-spacing:0;border-top:3px solid #0000;border-bottom:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;margin-bottom:0;padding:.55rem .25rem;font-size:.65rem;font-weight:500}.athlete-nav-tab.active{border-bottom:none;border-top-color:var(--accent);color:var(--accent)}.athlete-nav-icon{display:block}}.training-root{background:var(--bg-root,#0d0d18);flex-direction:column;min-height:100vh;display:flex}.tr-token-bar{background:var(--bg-card,#12121f);border-bottom:1px solid #2a2a3a;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 1.5rem;display:flex}.tr-membership-badge{text-transform:uppercase;letter-spacing:.06em;color:#888;background:#2a2a3a;border-radius:4px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.tr-membership-badge[data-membership=scaled]{color:#4ade80;background:#1e3a2f}.tr-membership-badge[data-membership=advanced]{color:#60a5fa;background:#1a2a4a}.tr-membership-badge[data-membership=rx]{color:var(--accent,#e63329);background:#3a1e1e}.tr-token-count{color:#ccc;font-size:.85rem}.tr-token-count strong{color:#f0f0f0}.tr-token-remaining{color:#4ade80}.tr-no-membership{color:#666;font-style:italic}.tr-nav{background:var(--bg-card,#12121f);border-bottom:1px solid #2a2a3a;align-items:center;gap:.75rem;padding:.85rem 1.5rem;display:flex}.tr-nav-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;transition:border-color .15s,color .15s}.tr-nav-btn:hover{color:#f0f0f0;border-color:#888}.tr-nav-label{color:#e0e0e0;text-align:center;flex:1;font-size:.9rem;font-weight:600}.tr-loading{color:#555;padding:1rem 1.5rem;font-style:italic}.tr-date-jump{color:#f0f0f0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111;border:1px solid #333;border-radius:4px;padding:.28rem .5rem;font-size:.82rem}.tr-date-jump:focus{border-color:var(--accent);outline:none}.tr-detail{flex-direction:column;gap:.9rem;display:flex}.tr-detail-header{align-items:flex-start;gap:.75rem;display:flex}.tr-color-pill{border-radius:3px;flex-shrink:0;width:14px;height:14px;margin-top:3px}.tr-detail-time{color:#e0e0e0;font-size:.9rem;font-weight:600}.tr-detail-dur{color:#888;font-weight:400}.tr-detail-spots{color:#888;margin-top:.2rem;font-size:.8rem}.tr-detail-img{object-fit:cover;border:1px solid #2a2a3a;border-radius:6px;width:100%;max-height:180px}.tr-detail-desc{color:#ccc;margin:0;font-size:.88rem;line-height:1.6}.tr-block-reason{color:#f97316;background:#f9731614;border:1px solid #f9731633;border-radius:4px;margin:0;padding:.4rem .6rem;font-size:.83rem}.tr-detail-actions{align-items:center;margin-top:.25rem}.tr-history{background:var(--bg-card,#12121f);border-top:1px solid #2a2a3a;margin:0;padding:1rem 1.5rem 1.5rem}.tr-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.tr-history-title{text-transform:uppercase;letter-spacing:.05em;color:#666;font-size:.8rem;font-weight:700}.tr-history-total{color:#555;text-transform:none;letter-spacing:0;font-weight:400}.tr-history-range{color:#aaa;cursor:pointer;background:#111;border:1px solid #333;border-radius:4px;padding:.25rem .5rem;font-size:.78rem}.tr-history-range:focus{border-color:var(--accent);outline:none}.hist-empty{color:#444;margin:0;font-size:.82rem;font-style:italic}.hist-bars{align-items:flex-end;gap:3px;height:70px;padding-bottom:20px;display:flex;overflow-x:auto}.hist-bar-col{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:12px;max-width:36px;display:flex;position:relative}.hist-bar{width:100%;height:calc(var(--pct,0%) * 50px / 100);cursor:default;background:#2a2a3a;border-radius:2px 2px 0 0;min-height:3px;transition:background .15s}.hist-bar-filled{background:var(--accent,#e63329);opacity:.8}.hist-bar-filled:hover{opacity:1}.hist-bar-count{color:#888;white-space:nowrap;font-size:.6rem;line-height:1;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.hist-bar-label{color:#444;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;font-size:.58rem;position:absolute;bottom:-18px;overflow:hidden}.tr-booked-badge{color:#4ade80;background:#4ade8014;border:1px solid #4ade8033;border-radius:4px;padding:.3rem .65rem;font-size:.85rem;font-weight:600}@media (width<=768px){.tr-token-bar{gap:.5rem;padding:.5rem 1rem}.tr-nav{padding:.6rem 1rem}.tr-nav-label{font-size:.82rem}.tr-history{padding-bottom:5.5rem}}*,:before,:after{box-sizing:border-box}:root{--bg-root:#0d0d14;--bg-card:#11111e;--bg-modal:#11111e;--accent:#e63329}body{color:#f0f0f0;background:#111;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100svh}.page{padding:2rem}
