:root{--bg:#101217;--panel:#171b22;--panel2:#1d222b;--line:#2c323e;--text:#edf0f5;--muted:#9ca5b4;--dim:#687280;--ts1:#413acf;--ts2:#cf3a3a;--red:#ff565e;--gold:#f4cb66;--green:#63d6a4}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--text);font:14px/1.45 'Segoe UI',Inter,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:222px minmax(0,1fr)}.sidebar{background:#0b0e13;border-right:1px solid #262c34;display:flex;flex-direction:column;padding:26px 13px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:4px 8px 38px}.brand-mark{display:flex;align-items:flex-end;gap:3px;height:30px}.brand-mark span{width:13px;height:28px;transform:skew(-15deg);background:var(--ts1)}.brand-mark span+span{height:21px;background:var(--ts2)}.brand-name{font-weight:900;letter-spacing:2px;font-size:17px}.brand-sub{color:#b4bcc8;font-size:9px;letter-spacing:1.5px;font-weight:800}.brand-sub em{font-style:normal;color:#646e7d}nav{display:grid;gap:5px}.nav-btn{border:0;border-radius:8px;background:transparent;color:#acb5c1;width:100%;padding:14px 13px;display:flex;gap:14px;align-items:center;text-align:left;font-weight:800;letter-spacing:1px;font-size:12px}.nav-btn:hover:not(:disabled){background:#1d222b;color:#fff}.nav-btn.selected{background:#242b36;color:#fff;box-shadow:inset 3px 0 0 #8d86ff}.nav-symbol{font-size:20px;line-height:1;width:23px;text-align:center;color:#838b9a}.nav-divider{border-top:1px solid var(--line);margin:15px 10px}.future{opacity:.42}.soon{margin-left:auto;font-size:9px;border:1px solid #555b68;border-radius:3px;padding:2px 4px}.side-bottom{margin-top:auto;padding:12px 10px;border-top:1px solid var(--line)}.side-caption,.eyebrow{font-size:10px;color:#87909e;font-weight:800;letter-spacing:1.8px}.source-label{font-size:11px;margin:8px 0;font-weight:700;color:var(--green)}.side-foot{font-size:11px;line-height:1.7;color:#697381}.main{min-width:0;padding:30px 33px 45px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:24px}.topbar h1{margin:2px 0 0;font-size:27px;letter-spacing:-.8px}.top-controls{display:flex;gap:11px;align-items:end;flex-wrap:wrap}.date-wrap{display:grid;gap:6px}.date-wrap label{color:#a9b2bf;letter-spacing:1.2px;font-size:10px;font-weight:800}.date-wrap input,input[type=datetime-local]{color:var(--text);color-scheme:dark;border:1px solid #3b4452;background:#1c222b;padding:11px 13px;border-radius:7px;font-size:13px}.primary-btn,.secondary-btn{border:1px solid #625cf6;border-radius:7px;padding:12px 17px;font-size:12px;letter-spacing:.5px;font-weight:800;background:#5149db;color:#fff;white-space:nowrap}.primary-btn:hover{background:#635bea}.secondary-btn{border-color:#4d5665;background:#272e39}.secondary-btn:hover{background:#343d4a}.full{width:100%;margin-top:15px}.notice,.revision-banner{border:1px solid #465465;border-radius:9px;background:#26313d;padding:13px 16px;margin-bottom:16px}.notice.error{background:#3d2026;border-color:#97454e}.notice.success{background:#1d3530;border-color:#356a57}.revision-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;border-color:#80653d;background:#332b20}.revision-banner div{display:grid;gap:3px}.revision-banner b{font-size:12px;color:#f8db94}.revision-banner span{font-size:12px;color:#b8b7b5}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:23px}.metric{padding:18px 19px;border:1px solid #2d333f;background:#191d25;border-radius:10px;min-width:0}.metric-head{color:#9fa9b8;font-size:10px;font-weight:800;letter-spacing:1.2px;display:flex;align-items:center;gap:9px}.channel-dot{height:9px;width:9px;border-radius:50%;display:inline-block}.ch1{background:var(--ts1)}.ch2{background:var(--ts2)}.metric-val{font-size:31px;font-weight:850;letter-spacing:-1px;margin-top:8px;font-variant-numeric:tabular-nums}.metric-desc{font-size:12px;color:#aeb7c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 14px}.section-label{display:grid;gap:3px}.section-label b{letter-spacing:1.3px;font-size:12px}.section-label span{color:#929baa;font-size:11px}.toolbar-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.switch-row{display:flex;align-items:center;gap:8px;cursor:pointer;color:#bac4d0;font-size:11px;font-weight:700;letter-spacing:.35px}.switch-row input{accent-color:#746df7;width:15px;height:15px}.toolbar-controls input[type=datetime-local]{padding:8px;font-size:12px;max-width:205px}.clock-now{color:#d6dce5;font-family:Consolas,monospace;font-size:14px;font-weight:700;white-space:nowrap}.tally-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.tally-panel{border-radius:10px;background:#090b10;border:1px solid #2d323e;overflow:hidden}.tally-title{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;color:#fff}.tally-title.channel1{background:var(--ts1)}.tally-title.channel2{background:var(--ts2)}.tally-title small{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#e2e1ff}.tally-title h2{margin:1px 0 0;font-size:17px;letter-spacing:1.4px}.status-chip{font-size:9px;background:#ffffff26;border:1px solid #ffffff33;padding:5px 8px;border-radius:20px;letter-spacing:.6px;font-weight:800}.tally-items{min-height:525px;padding:9px}.race-row{height:49px;padding:0 12px;display:grid;grid-template-columns:63px minmax(0,1fr) 45px auto;align-items:center;gap:7px;background:#11141b;border-bottom:1px solid #252b33}.race-row:nth-child(2n){background:#151921}.race-row.current{height:72px;background:#39171b;border:1px solid #993b43;border-left:4px solid var(--red);border-radius:5px;margin:2px 0 5px;padding-left:9px}.race-row.next:not(.current){background:#272215}.race-time{font-size:13px;font-family:Consolas,monospace;letter-spacing:.2px;color:#adb7c7}.race-venue{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.race-no{text-align:right;font-size:12px;color:#a5adbb;font-weight:800}.race-row.current .race-time,.race-row.current .race-venue,.race-row.current .race-no{color:var(--red)}.race-row.current .race-venue{font-size:18px;font-weight:850}.race-row.next .race-time,.race-row.next .race-venue,.race-row.next .race-no{color:var(--gold)}.route{background:#353d4b;color:#fff;border:1px solid #5b6474;border-radius:5px;padding:5px 6px;letter-spacing:.1px;font-size:10px;font-weight:800;white-space:nowrap;min-width:48px;text-align:center}.race-row.current .route{border-color:#98646a;background:#5a3237}.route-none{background:transparent;border:1px dashed #343b48;color:#6f7886}.alt-marker{color:#f7c676;font-size:9px;margin-left:4px}.no-races{padding:35px 12px;text-align:center;color:#7d8796}.help-line{font-size:11px;line-height:1.6;color:#8e98a7;margin:15px 2px 0}.section-top{display:flex;gap:16px;justify-content:space-between;align-items:end;margin-bottom:19px}.section-top h2{font-size:23px;margin:0 0 5px}.section-top p{font-size:12px;color:#9fa8b6;margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap}select,.filters input{border-radius:6px;background:#1d232c;color:#e7ebf2;border:1px solid #3b4350;padding:10px 12px;min-width:120px;font-size:11px;font-weight:700}.filters input{min-width:190px}.table-scroll{overflow:auto;border:1px solid #303744;border-radius:9px}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.data-table th{font-size:10px;letter-spacing:1px;background:#252c36;padding:14px 15px;text-align:left;color:#abb6c6;position:sticky;top:0}.data-table td{padding:11px 15px;border-top:1px solid #2e3540;color:#cbd2dc}.data-table tr:nth-child(2n) td{background:#1a1f27}.data-table tr:hover td{background:#29303c}.venue-primary{font-size:13px;font-weight:780;color:#f0f2f7}.venue-secondary{font-size:10px;color:#828d9e;margin-top:1px}.type-pill{font-size:10px;padding:4px 7px;border-radius:5px;background:#333a47;color:#d3d9e2;font-weight:800}.ch-badge{display:inline-block;color:#fff;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.25px;padding:4px 7px}.ts1{background:var(--ts1)}.ts2{background:var(--ts2)}.sim{background:linear-gradient(120deg,var(--ts1) 0 48%,var(--ts2) 52% 100%)}.none{background:#444e5a}.provider-pill{color:#a9b9cd;font-weight:800}.assignment-table td{padding:10px 15px}.route-input{width:160px;background:#0c0f14;border:1px solid #485264;color:#fff;border-radius:6px;padding:9px 11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.route-input:focus{border-color:#867dff;outline:2px solid #786df52a}.route-input.saved{border-color:#398265}.thin{font-weight:400;font-size:9px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-card{background:#191e26;border:1px solid #313946;border-radius:10px;padding:22px;min-width:0}.setup-card h3{font-size:12px;letter-spacing:1.1px;margin:0 0 13px}.setup-card p{color:#a8b2c0;line-height:1.6;font-size:12px}.setup-card ul{color:#a8b2c0;font-size:12px;line-height:2}.setup-row{padding:10px 0;border-bottom:1px solid #303743;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.setup-row span{color:#a7b0be}.setup-row b{text-align:right;overflow-wrap:anywhere}.settings-toggle{padding-top:16px}.upload-label{display:grid;gap:8px;font-size:10px;letter-spacing:1px;color:#b9c3d1;font-weight:850;margin:15px 0}.upload-label input{border:1px dashed #586173;border-radius:7px;width:100%;padding:13px 10px;background:#12161c;color:#b8c0cb;font-size:11px}.small-muted{font-size:11px!important;color:#7f8898!important}.warning-list{margin-top:12px;font-size:11px;color:#e3c085;line-height:1.6;max-height:160px;overflow:auto}.empty-state{text-align:center;padding:90px 20px;background:#1a1e25;border:1px solid #2a323c;border-radius:12px}.empty-state .empty-icon{font-size:50px;color:#6e6ade}.empty-state h2{font-size:24px;margin:5px 0}.empty-state p{color:#aab4c1;margin-bottom:20px}@media(max-width:1100px){.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:23px}.app-shell{grid-template-columns:182px minmax(0,1fr)}.sidebar{padding:20px 8px}.brand-name{font-size:13px}.tally-grid{gap:8px}.race-row{grid-template-columns:52px minmax(0,1fr) 26px auto;gap:3px;padding:0 6px}.race-venue{font-size:11px}.race-row.current .race-venue{font-size:14px}.race-time{font-size:11px}}@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;min-height:0;position:static;padding:10px}.brand{padding:8px}.sidebar nav{display:flex;overflow:auto}.nav-btn{white-space:nowrap;width:auto}.side-bottom{display:none}.nav-divider{display:none}.main{padding:18px 12px}.topbar,.section-top{flex-direction:column;align-items:stretch}.tally-grid,.setup-grid{grid-template-columns:1fr}.overview{gap:8px}.metric{padding:12px}.metric-val{font-size:23px}.toolbar{align-items:start;flex-direction:column}.filters{margin-top:10px}}

/* v0.2 broadcast-control-room treatment — squared edges and tighter information density */
*,*::before,*::after{border-radius:0!important}
.app-shell{grid-template-columns:194px minmax(0,1fr)}
.sidebar{padding:23px 11px}
.main{padding:20px 22px 34px}
.nav-btn{padding:11px 10px}
.topbar{position:relative;align-items:center;min-height:58px;margin-bottom:17px}
.topbar h1{font-size:20px;letter-spacing:1px;margin-top:2px}
.eyebrow{font-size:9px;letter-spacing:1.5px}
.broadcast-clock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:8px;white-space:nowrap;border:1px solid #303843;background:#161c24;padding:7px 12px;font-family:Consolas,'Cascadia Mono',monospace}
.broadcast-clock span{font-size:17px;font-variant-numeric:tabular-nums;font-weight:700;color:#e1e7ee;letter-spacing:.5px}
.broadcast-clock small{font-size:9px;font-weight:700;color:#8797a5;letter-spacing:1px}
.primary-btn,.secondary-btn{padding:10px 13px}
.date-wrap input{padding:9px 10px}
.overview{gap:9px;margin-bottom:15px}
.metric{padding:12px 14px}
.metric-val{font-size:26px;margin-top:3px}
.metric-desc{font-size:11px}
.metric-head{font-size:9px}
.toolbar{margin:13px 0 10px}
.tally-grid{gap:10px;align-items:start}
.tally-panel{display:flex;flex-direction:column;min-width:0}
.tally-title{padding:9px 13px;flex:none}
.tally-title h2{font-size:15px}
.tally-title small{font-size:9px}
.status-chip{padding:4px 7px}
.tally-items{height:clamp(400px,67vh,860px);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-gutter:stable}
.tally-items::-webkit-scrollbar{width:10px}
.tally-items::-webkit-scrollbar-track{background:#10141b}
.tally-items::-webkit-scrollbar-thumb{background:#414856;border:2px solid #10141b}
.race-row{height:31px;min-height:31px;padding:0 9px;grid-template-columns:60px minmax(0,1fr) 36px 75px;gap:7px;background:#11141b}
.race-row:nth-child(2n){background:#151920}
.race-row.current{height:59px;min-height:59px;margin:0;padding:0 7px;border:1px solid #993b43;border-left:4px solid var(--red)}
.race-row.next,.race-row.near-next{height:44px;min-height:44px}
.race-row.near-next{background:#1b1d22}
.race-row.next:not(.current){background:#2b2618;border-left:3px solid #ae8a38;padding-left:6px}
.race-row .race-time{font-size:11px}
.race-row .race-venue{font-size:12px;font-weight:650}
.race-row .race-no{font-size:11px}
.race-row.current .race-venue{font-size:17px}
.race-row.current .race-time{font-size:14px}
.race-row.next .race-venue{font-size:13px}
.route{padding:3px 4px;min-width:58px;font-size:10px}
.tally-footer{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 11px;background:#161a22;border-top:1px solid #323a45;font-size:10px;letter-spacing:.7px;color:#939fae}
.snap-btn{font-family:inherit;color:#d5deea;font-size:10px;font-weight:800;letter-spacing:.35px;border:1px solid #485160;background:#252c38;padding:6px 10px}
.snap-btn:hover{background:#384251;border-color:#7e8a9c}
.section-top{align-items:center;margin-bottom:12px}
.section-top h2{font-size:20px;margin-bottom:2px}
.section-top p{font-size:11px}
.filters{gap:6px}
.filters select,.filters input{padding:7px 9px;font-size:10px}
.table-scroll{max-width:100%;overflow:auto}
.data-table{font-size:11px;table-layout:auto}
.data-table th{padding:8px 9px;font-size:9px;letter-spacing:.7px;line-height:1.2}
.data-table td,.assignment-table td{padding:6px 9px;line-height:1.2}
.data-table .venue-primary,.venue-primary{font-size:12px;font-weight:700;color:#e7ebf1}
.type-pill{font-size:10px;padding:2px 6px;background:#2f3643}
.ch-badge{padding:3px 6px;font-size:9px}
.dual-channel{display:inline-flex;align-items:center;gap:3px}
.provider-value{font-weight:400;color:#aeb8c5}
.time-strong{font-weight:800;color:#f5f7f9!important;font-variant-numeric:tabular-nums;font-family:Consolas,'Cascadia Mono',monospace}
.race-list-cell{white-space:normal;min-width:165px;max-width:480px;width:35%;line-height:1.2!important}
.race-codes{font-family:Consolas,'Cascadia Mono',monospace;font-size:10px;letter-spacing:-.2px;color:#c7d0da;word-spacing:-1px}
.race-codes.muted{color:#6f7785}
.race-channel-group{display:inline-flex;align-items:baseline;gap:4px;margin-right:10px;white-space:normal}
.race-channel-dot{display:inline-block;height:7px;width:7px;flex:none}
.race-channel-dot.ts1{background:var(--ts1)}
.race-channel-dot.ts2{background:var(--ts2)}
.race-total{font-weight:750;text-align:center}
.route-input{padding:7px 9px;font-size:11px;width:150px}
.setup-grid{gap:10px}
.setup-card{padding:16px}
.setup-row{padding:7px 0}
.setup-card h3{margin-bottom:9px}
@media(max-width:1300px){
 .broadcast-clock{position:static;transform:none;margin:0 auto}
 .topbar{gap:10px}
 .topbar h1{font-size:17px}
 .top-controls{gap:7px}
 .main{padding:17px 14px}
 .app-shell{grid-template-columns:175px minmax(0,1fr)}
 .race-row{grid-template-columns:50px minmax(0,1fr) 26px 57px;gap:4px;padding:0 5px}
 .race-row.current .race-venue{font-size:15px}
 .route{min-width:0;font-size:9px}
}
@media(max-width:970px){
 .topbar{flex-wrap:wrap}
 .broadcast-clock{margin-left:auto}
 .top-controls{width:100%;justify-content:flex-end}
 .tally-grid{grid-template-columns:1fr}
 .tally-items{height:470px}
 .race-row{grid-template-columns:64px minmax(0,1fr) 45px 78px}
 .race-row .race-venue{font-size:13px}
}
@media(max-width:760px){
 .app-shell{display:block}
 .top-controls{justify-content:flex-start}
 .broadcast-clock{margin-left:auto;margin-right:0}
 .tally-items{height:480px}
 .overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .table-scroll{max-width:100%;overflow-x:auto}
 .data-table{min-width:810px}
 .assignment-table{min-width:660px}
}

/* v0.2.1 — keep race numbers beside venue; allow full-length routing badges */
.race-row{
  grid-template-columns:60px minmax(0,1fr) max-content;
  gap:9px;
}
.race-entry{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  overflow:hidden;
}
.race-entry .race-venue{
  min-width:0;
  flex:0 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.race-entry .race-no{
  flex:0 0 auto;
  text-align:left;
  margin:0;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.race-entry .alt-marker{flex:0 0 auto;margin-left:0}
.race-row .route{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  width:max-content;
  min-width:69px;
  max-width:100%;
  box-sizing:border-box;
  padding:4px 9px;
  font-family:'Segoe UI',Inter,Arial,sans-serif;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.15;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
@media(max-width:1300px){
 .race-row{grid-template-columns:50px minmax(0,1fr) max-content;gap:5px}
 .race-row .route{font-size:10px;padding:4px 7px}
}
@media(max-width:970px){
 .race-row{grid-template-columns:64px minmax(0,1fr) max-content;gap:7px}
 .race-row .route{font-size:10.5px;padding:4px 9px}
}
@media(max-width:520px){
 .race-row{grid-template-columns:45px minmax(0,1fr) max-content;gap:4px}
 .race-entry{gap:4px}
 .race-row .route{min-width:0;max-width:128px;font-size:9px;padding:3px 5px;white-space:normal;overflow-wrap:anywhere}
}

/* v0.3 · broadcast planning timeline */
.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;flex-wrap:wrap}
.timeline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.timeline-actions label[for=timeline-zoom]{font-size:10px;font-weight:800;letter-spacing:.7px;color:#98a4b4}
.timeline-actions select{min-width:108px;padding:8px;font-size:11px}
.timeline-actions input[type=datetime-local]{padding:7px 9px;font-size:11px;width:184px}
.timeline-summary{background:#1a2029;border:1px solid #313944;display:flex;align-items:center;gap:16px;padding:9px 13px;font-family:Consolas,'Cascadia Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1px;flex-wrap:wrap;margin-bottom:0}
.timeline-summary span{white-space:nowrap;color:#c5cedb}.timeline-summary .has-conflicts{color:#f3be75}.timeline-summary .timeline-summary-info{margin-left:auto;font-family:'Segoe UI',Arial,sans-serif;color:#7e8999;font-weight:400;font-size:10px}
.timeline-map{display:grid;grid-template-columns:207px minmax(0,1fr);border:1px solid #353d48;border-top:0;background:#0f1319;max-width:100%;height:clamp(340px,55vh,690px);overflow:hidden}
.timeline-labels{background:#151a23;border-right:1px solid #3c4552;overflow-y:auto;scrollbar-width:none}
.timeline-labels::-webkit-scrollbar{width:0}
.tl-label{border-bottom:1px solid #2f3641;padding:0 10px;display:flex;align-items:center;min-width:0}
.tl-ruler-label{height:36px;font:800 10px Consolas,monospace;letter-spacing:.8px;color:#9ca8b7;background:#1d2430}
.tl-channel-label{height:92px;display:flex;gap:8px}
.tl-channel-label strong{font-size:11px;letter-spacing:.5px;white-space:nowrap}
.tl-channel-label small{font-family:Consolas,monospace;font-size:9px;color:#818e9d;margin-left:auto}
.tl-ch-dot{height:8px;width:8px;flex:none}
.tl-group-label{height:27px;background:#252c37;display:flex;justify-content:space-between;font-weight:900;letter-spacing:.5px;font-size:9px;color:#cbd5e2}
.tl-group-label small{font-size:8px;color:#818d9d;font-weight:600}
.tl-source-label{height:36px;display:grid;grid-template-columns:1fr;align-content:center;gap:0;padding-left:12px}
.tl-source-label b{font-family:Consolas,monospace;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-source-label small{font-size:10px;color:#8f9ba9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-no-sources{height:36px;color:#838f9e;font-size:10px}
.timeline-scroll{overflow:auto;scrollbar-color:#555f6d #121720;overscroll-behavior-x:contain}
.timeline-plot{height:max-content;position:relative;min-height:100%;overflow:hidden}
.tl-time-line{position:absolute;top:0;z-index:4;pointer-events:none;width:1px;background:#39404a;opacity:.75}
.tl-time-line.minor{background:#2c313a;opacity:.5}
.tl-ruler{position:relative;height:36px;background:#202633;border-bottom:1px solid #3a4350;z-index:2}
.tl-time-label{position:absolute;top:9px;color:#a5b2c1;transform:translateX(5px);font:10px Consolas,monospace;white-space:nowrap;pointer-events:none}
.tl-time-label.hour{font-weight:850;color:#ecf0f6}
.tl-time-label sup{font-size:8px;color:#e4c483;margin-left:2px}
.tl-channel-lane{height:92px;position:relative;background:#10151e;border-bottom:1px solid #3c4553;z-index:2}
.tl-channel-lane.ts2{background:#15171d}
.tl-channel-lane .tl-segment{position:absolute;top:12px;height:67px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;padding:5px 4px;overflow:hidden;white-space:nowrap;text-align:left;border:1px solid rgba(255,255,255,.13);border-left:2px solid rgba(255,255,255,.5);background:#37309a;color:#e9e9ff;cursor:pointer;min-width:1px;z-index:3}
.tl-channel-lane .tl-segment.ts2{background:#892d32;color:#ffe9e9}
.tl-channel-lane .tl-segment:hover,.tl-channel-lane .tl-segment:focus-visible{outline:2px solid #e3eaf5;z-index:10}
.tl-channel-lane .tl-segment.is-selected{outline:2px solid #f5ce7e;z-index:11}
.tl-channel-lane .tl-segment.alternative{border-style:dashed}
.tl-seg-name{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tl-seg-name em{font-style:normal;color:#e6d2ac;font-weight:600}
.tl-seg-route{font-family:Consolas,monospace;font-size:9px;color:#e3e8f1;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tl-groupbar{height:27px;background:#222a35;border-bottom:1px solid #45505e;position:relative;z-index:2}
.tl-source-lane{height:36px;position:relative;background:#151a21;border-bottom:1px solid #2d3540;z-index:2}
.tl-source-lane:nth-child(2n){background:#1a2028}
.tl-source-block{position:absolute;top:5px;height:26px;background:#34465b;border:1px solid #59758c;color:#e6eff8;display:flex;align-items:center;justify-content:space-between;gap:7px;overflow:hidden;padding:0 6px;font-size:10px;min-width:2px;white-space:nowrap}
.tl-source-block small{font:9px Consolas,monospace;color:#b3c8da}
.tl-source-block.possible-conflict{background:#61472a;border-color:#d6a15b}
.tl-empty-sources{font-size:10px;color:#8e9aaa;padding:9px 12px}
.tl-nowline{position:absolute;top:0;height:100%;border-left:2px solid #f3d078;z-index:15;pointer-events:none}
.tl-nowline span{position:absolute;top:0;left:-5px;width:9px;height:9px;background:#f3d078;transform:rotate(45deg)}
.timeline-legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:11px 2px 9px;color:#9aa7b5;font-size:10px}
.timeline-legend span{display:flex;gap:6px;align-items:center}
.legend-mark{display:inline-block;width:12px;height:9px;background:#475567}
.legend-mark.route-mark{background:#34465b;border:1px solid #59758c}
.legend-mark.conflict-mark{background:#61472a;border:1px solid #d6a15b}
.legend-mark.now-mark{width:2px;background:#f3d078}
.timeline-detail{background:#1e2530;border:1px solid #394556;display:flex;gap:12px;min-height:44px;align-items:center;flex-wrap:wrap;padding:10px 13px;color:#bbc6d5;font-size:11px}
.tl-detail-time{font:800 13px Consolas,monospace;color:#fff}
.tl-detail-mut{color:#abb3c0}
.tl-detail-route{margin-left:auto;font:750 11px Consolas,monospace;color:#d3e2f2;border:1px solid #556274;padding:4px 9px}
.tl-flag{border:1px solid #af8746;color:#f6d28b;padding:3px 5px;font-size:9px;font-weight:800}
.timeline-queue-header{margin-top:25px}
.timeline-queue-header h2{font-size:17px}
.timeline-queue th{padding:9px 10px}.timeline-queue td{padding:7px 10px;font-size:11px}
.tl-route-small{display:block;font:9px Consolas,monospace;color:#8794a5;margin-top:3px}
.tl-arrow{color:#c6b57b;font-weight:900;font-size:14px}
.tl-table-route{color:#cddbe9;font:10px Consolas,monospace}
.tl-view-btn{padding:4px 7px;font-size:9px}
@media(max-width:1000px){.timeline-map{grid-template-columns:160px minmax(0,1fr)}.tl-channel-label{gap:5px}.tl-channel-label strong{font-size:9px}.tl-channel-label small{font-size:8px}.timeline-summary-info{width:100%}}
@media(max-width:650px){.timeline-map{grid-template-columns:120px minmax(0,1fr)}.tl-channel-label{flex-wrap:wrap;justify-content:start}.tl-channel-label small{width:100%}.timeline-actions{width:100%}}

/* v0.3.1 · broadcast timeline refinements */
.metric-val{font-weight:550;letter-spacing:-.55px}
.timeline-current-btn{background:#176c44;border-color:#2ca66b;color:#f0fff8;font-size:10px;font-weight:750}
.timeline-current-btn:hover{background:#238253;border-color:#65d6a2}
.timeline-zoom-btn{width:32px;min-width:32px;padding:6px 0;font-size:17px;line-height:1;font-weight:500;text-align:center}
.timeline-actions select{min-width:122px}
.timeline-legend .legend-mark.route-ts1-mark{background:#26226a;border:1px solid #5651b2}
.timeline-legend .legend-mark.route-ts2-mark{background:#6b2429;border:1px solid #ba4f53}
.timeline-legend .legend-mark.switch-mark{background:#f3ce71;width:3px;height:12px;position:relative}
.tl-source-block{background:#293340;border:1px solid #526276;display:block;padding:0;overflow:hidden;isolation:isolate}
.tl-source-block.possible-conflict{background:#293340;border:1px solid #dea85e;box-shadow:inset 0 0 0 1px #7c5a2f}
.tl-source-color{position:absolute;top:0;bottom:0;z-index:1;pointer-events:auto}
.tl-source-ts1{background:#252065}
.tl-source-ts2{background:#69252b}
.tl-source-sim{background:linear-gradient(to bottom,#252065 0%,#252065 50%,#69252b 50%,#69252b 100%)}

.tl-source-content{position:absolute;left:6px;top:0;height:100%;z-index:3;display:flex;gap:10px;align-items:center;white-space:nowrap;width:max-content;pointer-events:none;will-change:transform;text-shadow:0 1px 2px #0b0d16,0 0 5px #0b0d16}
.tl-source-content b{font-size:10px;font-weight:750;color:#f1f2fa}
.tl-source-content small{font:9px Consolas,monospace;color:#d6ddeb}
.tl-channel-switch{display:block;position:absolute;top:0;bottom:0;width:3px;background:#f3cd70;box-shadow:0 0 0 1px rgba(16,19,26,.7),0 0 8px #e4ab52;z-index:4;cursor:help}
.tl-channel-switch:after{content:'';position:absolute;top:9px;left:-3px;width:8px;height:8px;background:#f5cf76;transform:rotate(45deg);box-shadow:0 0 0 1px #1b1e26}
.race-codes{display:inline}
.race-code{display:inline-block;position:relative;cursor:help;white-space:nowrap;color:#cdd6e4;border-bottom:1px dotted transparent;outline-offset:2px}
.race-code:hover,.race-code:focus-visible{color:#fff;border-bottom-color:#c8d4e5}
.race-code[data-time]:not(.race-all):hover::after,.race-code[data-time]:not(.race-all):focus-visible::after{content:attr(data-time);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;z-index:30;background:#273345;color:#f9f8ed;border:1px solid #8d9cae;padding:5px 8px;font-family:Consolas,monospace;font-size:11px;font-weight:600;pointer-events:none;box-shadow:0 4px 9px #090b10}
.race-comma{color:#778494}

/* v0.3.2 · drag-pan and PDF schedule change readout */
.timeline-scroll,.timeline-labels{cursor:grab}
.timeline-scroll.is-panning,.timeline-labels.is-panning{cursor:grabbing;user-select:none}
.timeline-scroll.is-panning *,.timeline-labels.is-panning *{cursor:grabbing!important;user-select:none!important}
.timeline-scroll .tl-channel-lane,.timeline-scroll .tl-source-lane,.timeline-scroll .tl-ruler{user-select:none}
.refresh-diff{border-top:1px solid #37414d;margin-top:12px;padding-top:6px}
.time-change-list{max-height:245px;overflow-y:auto;border-top:1px solid #333c49;margin-top:6px}
.time-change-heading,.time-change-row{display:grid;grid-template-columns:minmax(130px,1fr) 56px 56px 58px;gap:7px;align-items:center;padding:7px 6px}
.time-change-heading{color:#9aa7b5;font-size:9px;font-weight:750;letter-spacing:.5px}
.time-change-row{font-size:10px;border-top:1px solid #252d38;font-family:Consolas,monospace;color:#dce4ef}
.time-change-race{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:650 10px 'Segoe UI',Arial,sans-serif}
.time-change-race small{color:#94a1b1;font-weight:400;margin-left:2px}
.time-change-row strong{text-align:right;font-size:10px}
.time-change-row strong.is-later{color:#f0c47f}
.time-change-row strong.is-earlier{color:#73d8a8}
.time-change-empty{font-size:10px;color:#8a99aa;padding:10px 6px}

.timeline-scroll .tl-segment,.timeline-scroll .tl-source-block,.timeline-scroll .tl-source-color{cursor:grab}

/* v0.4 producer SCRIPT editor: compact, square-edged controls */
.script-toggle{border-color:#677381;background:#222b37;color:#dce6ee}
.script-toggle.active{background:#295340;border-color:#4bba86;color:#e8fff3}
.script-tally-overlay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 10px}
.script-channel-overlay{border:1px solid #394352;background:#182029;padding:8px 11px;min-width:0}
.script-ov-title{font-size:10px;letter-spacing:.65px;color:#a2a5ff;display:block;margin-bottom:4px}
.script-ov-title.ts2{color:#f29b9c}
.script-ov-item{display:grid;grid-template-columns:46px 7px minmax(0,1fr);gap:8px;align-items:center;min-height:24px;border-top:1px solid #2b3440;font-size:10px}
.script-ov-item time{font:10px Consolas,monospace;color:#d4d9e4}
.script-ov-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d1dbe5}
.script-ov-dot{display:inline-block;width:7px;height:7px;background:#8e9eb4}
.script-ov-dot.commercials{background:#f5cf72}.script-ov-dot.titles{background:#63bde3}.script-ov-dot.personnel{background:#b2a3e4}.script-ov-dot.production{background:#8f9dab}
.script-ov-empty{font-size:10px;color:#6d7a88}
.script-top .filters{align-items:center}
.script-upload{display:inline-flex;align-items:center;margin:0;background:#242e38;border:1px solid #586477;color:#dfe8f3;padding:7px 11px;cursor:pointer;font-size:10px;letter-spacing:.45px}
.script-upload input{display:none}
.script-stats{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.script-stats>div{flex:1;min-width:135px;background:#1b222c;border:1px solid #394351;padding:11px 13px;display:grid;gap:4px;font-size:11px}
.script-stats>div small{font-size:9px;letter-spacing:.7px;color:#9babb9;font-weight:750}
.script-stats>div b{font-size:16px;white-space:nowrap;font-weight:600}
.script-stats .script-stats-file{font-size:11px;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.script-stats>div.script-warning{flex:1 1 100%;background:#30291e;color:#f2d493;border-color:#574930;font-size:11px;padding:8px 12px}
.script-controls,.script-editor-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.script-preset,.script-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.script-preset{font-size:10px;color:#dee6f0;letter-spacing:.3px}
.script-preset>b{font-size:9px;color:#a7b4c5;margin-right:5px}
.script-preset label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-weight:700}
.script-preset input{accent-color:#6a7bea;width:15px;height:15px}
.script-actions{gap:6px}
.script-actions select,.script-actions input{font-size:10px;color:#e2e7ee;background:#1e2632;border:1px solid #455061;padding:7px 9px;border-radius:0}
.script-actions #script-search{min-width:180px}
.script-editor-toolbar{background:#161d26;padding:8px 9px;border:1px solid #354152;justify-content:flex-start}
.script-editor-toolbar #script-selected-count{font:10px Consolas,monospace;color:#a8b6c8;margin-right:auto}
.script-editor-toolbar .script-save-status{margin-left:6px;font:10px Consolas,monospace;color:#a5c8b7;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.script-danger{background:#482831;border-color:#8b535d;color:#ffe2e3}
.script-table-wrap{height:clamp(370px,57vh,720px);overflow:auto;background:#10151b}
.script-table{min-width:760px}
.script-table th{z-index:2}
.script-table th:nth-child(1),.script-table td:nth-child(1){width:52px;text-align:center}
.script-table th:nth-child(2),.script-table td:nth-child(2){width:103px}
.script-table th:nth-child(3),.script-table td:nth-child(3){width:55px;text-align:center}
.script-table th:nth-child(4),.script-table td:nth-child(4){width:85px}
.script-table th:nth-child(5),.script-table td:nth-child(5){width:142px}
.script-table th:nth-child(6),.script-table td:nth-child(6){width:auto;min-width:180px}
.script-table th:nth-child(7),.script-table td:nth-child(7){width:70px}
.script-table td{padding:3px 6px;line-height:1.25}
.script-table tr.is-selected td,.script-table tr.is-selected:nth-child(2n) td{background:#334e69!important}
.script-table tr.is-unused{opacity:.44}
.script-table input,.script-table select{border:1px solid #35404e;background:#121a25;color:#dce3ed;padding:5px 6px;width:100%;min-width:0;border-radius:0;font-size:10px;font-weight:500}
.script-table input[type=checkbox]{width:14px;height:14px;accent-color:#70b8e6}
.script-table input[type=number]{max-width:70px}
.script-table input[type=time]{color-scheme:dark;font-family:Consolas,monospace;padding:4px 1px}
.script-table .script-description{font-size:11px;color:#f1f4f7}
.script-table input:focus,.script-table select:focus{outline:1px solid #a1c5f5;border-color:#9ac3f4}
.script-empty{padding:40px 10px!important;color:#8f9aaa!important;text-align:center}
.script-crew{margin:12px 0 20px;border:1px solid #333c47;background:#171d25}
.script-crew summary{padding:12px;cursor:pointer;font-size:10px;font-weight:800;color:#bfccdb;letter-spacing:.4px}
.script-crew-group{display:grid;grid-template-columns:165px minmax(0,1fr);gap:12px;border-top:1px solid #2e3540;padding:9px 12px;font-size:11px;color:#b7c5d5}
.script-crew-group b{font-weight:750;color:#e4eaf2}
.tl-script-label{height:38px;display:flex;align-items:center;gap:8px;background:#212934}
.tl-script-label b{font-size:10px;color:#d9e4ed}.tl-script-label small{font-size:9px;color:#9caabb;margin-left:auto}
.tl-script-lane{position:relative;height:38px;border-bottom:1px solid #384150;background:#18222e;z-index:3}
.tl-script-lane.ts2{background:#271e26}
.tl-script-event{position:absolute;top:5px;display:block;width:9px;height:27px;transform:translateX(-4px);padding:0;border:1px solid #d1e3ee;background:#9eaec1;z-index:5;cursor:pointer}
.tl-script-event.commercials{background:#f2c769;border-color:#fbeab9}
.tl-script-event.titles{background:#53b4e5;border-color:#b4ebff}
.tl-script-event.personnel{background:#a58cdb;border-color:#d8c7ef}
.tl-script-event.production{background:#718c9e;border-color:#b3c9d8}
.tl-script-event:hover,.tl-script-event:focus-visible{outline:2px solid #fff;z-index:8}
@media(max-width:920px){.script-tally-overlay{grid-template-columns:1fr}.script-stats>div{min-width:130px}}
@media(max-width:620px){.script-controls{align-items:start}.script-actions #script-search{min-width:115px}.script-crew-group{grid-template-columns:1fr;gap:2px}}

.script-table input[data-field=time]{font-family:Consolas,monospace;font-size:11px;letter-spacing:.15px}
.script-table input.invalid{border-color:#d46a6a;background:#3d2229}

/* v0.4.1 — condensed script header, embedded tally cues, full-height timeline */
.script-dashboard-head{display:grid;grid-template-columns:minmax(280px,33%) minmax(0,1fr);gap:10px;margin-bottom:10px;align-items:stretch}
.script-personnel-card{background:#151c25;border:1px solid #46515f;min-width:0;max-height:230px;overflow-y:auto}
.script-card-head{position:sticky;top:0;background:#252e3b;border-bottom:1px solid #46515f;padding:7px 10px;color:#f1f4f8;font-weight:800;font-size:10px;letter-spacing:.8px;z-index:1}
.script-personnel-list{padding:3px 10px 7px}
.personnel-group{padding:5px 0;border-bottom:1px solid #2f3946}
.personnel-group:last-child{border-bottom:0}
.personnel-role{color:#91acdb;font-size:9px;font-weight:800;letter-spacing:.25px;margin-bottom:3px}
.personnel-person{display:flex;gap:8px;justify-content:space-between;color:#eff3f8;font-size:10px;min-width:0;line-height:1.5}
.personnel-person span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.personnel-phone{font-family:Consolas,monospace;color:#a4b7cd;white-space:nowrap}
.personnel-none{padding:12px 4px;font-size:10px;color:#8d99ab}
.script-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-content:start;margin:0}
.script-stats>div.script-stat{padding:8px 10px;min-width:0;min-height:58px;display:flex;flex-direction:column;justify-content:space-between;gap:3px}
.script-stats>div.script-stat small{font-size:8px;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.script-stats>div.script-stat b{font-size:15px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.script-stats>div.script-stat-wide{grid-column:1/-1;min-height:43px;display:flex;flex-direction:row;align-items:center;justify-content:start;gap:15px}
.script-stats>div.script-stat-wide .script-stats-file{font-size:11px;max-width:100%;font-weight:500}
.script-stats>div.script-warning{grid-column:1/-1;flex:none;padding:7px 9px;font-size:10px}
.script-import-tools{align-items:center;gap:7px}
.script-import-tools #script-profile{min-width:188px;max-width:230px}
.script-source-label{font-size:9px;font-weight:800;letter-spacing:.3px;color:#9caab9}
.script-import-tools .script-upload{margin:0;height:35px;background:#252e3b;border:1px solid #545f71;padding:0 11px;white-space:nowrap}
.script-import-tools .primary-btn{height:35px;padding:0 12px;border-radius:0}
.script-chosen-file{font-size:10px;color:#acbacc;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.script-table th[title]{cursor:help}
.script-table th[title]:hover{color:#fff}
.race-row.script-race-row{height:31px;min-height:31px;background:#13222c;border-left:2px solid #63899d;padding-left:10px;color:#a6c2d3;grid-template-columns:50px minmax(0,1fr) max-content}
.race-row.script-race-row:nth-child(2n){background:#162631}
.race-row.script-race-row .race-time{font-size:10px;color:#9fb6c6}
.race-row.script-race-row .race-venue{font-size:10px;font-weight:550;color:#c0d6e5;overflow:hidden;text-overflow:ellipsis}
.race-row.script-race-row .race-entry{min-width:0;gap:7px;overflow:hidden}
.script-tally-mark{height:11px;width:3px;background:#94aab9;display:inline-block;flex:none}
.script-race-row.commercials{border-left-color:#d3af54;background:#231f16}
.script-race-row.commercials .script-tally-mark{background:#efce72}
.script-race-row.titles{border-left-color:#5cafd6}
.script-race-row.titles .script-tally-mark{background:#66c5f2}
.script-race-row.personnel{border-left-color:#a58dce}
.script-race-row.personnel .script-tally-mark{background:#a58dce}
.script-race-row.script-next{box-shadow:inset 0 0 0 1px #9c8244}
.script-row-type{justify-self:end;font:8px Consolas,monospace;letter-spacing:.3px;color:#a6b5c3;white-space:nowrap}
.timeline-map{height:auto;min-height:0;align-items:stretch;overflow:hidden}
.timeline-labels{height:100%;overflow:hidden}
.timeline-scroll{height:100%;overflow-x:auto;overflow-y:hidden;min-height:0}
.timeline-plot{min-height:0;height:auto}
.tl-script-label,.tl-script-lane{height:26px}
.tl-script-event{height:17px;width:7px;top:4px}
.tl-script-label b{font-size:9px}.tl-script-label small{font-size:8px}
.route-picker{display:flex;width:202px;position:relative;min-width:0;height:31px}
.route-picker .route-input{width:calc(100% - 28px);height:31px;min-width:0;border-radius:0;font-size:11px;font-weight:600;padding:4px 7px}
.route-picker-btn{width:28px;border:1px solid #596577;border-left:0;background:#2b3441;color:#e2e8f2;font-size:13px;padding:0;flex:none}
.route-picker-btn:hover{background:#404c5d}
.route-picker-menu{position:absolute;top:100%;right:0;width:202px;max-height:250px;overflow-y:auto;background:#101720;border:1px solid #64748a;z-index:80;box-shadow:0 7px 20px #04080ca8;padding:3px}
.route-preset-option{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid #293441;background:#1a2430;color:#e2ebf4;padding:7px 9px;text-align:left;font:11px Consolas,monospace}
.route-preset-option small{font:8px 'Segoe UI',sans-serif;letter-spacing:.3px;color:#739f92}
.route-preset-option.route-used{color:#ff858d;background:#392126}
.route-preset-option.route-used small{color:#ff969e}
.route-preset-option.route-chosen{box-shadow:inset 3px 0 0 #7973f7}
.route-preset-option:hover{background:#334357}
.assignment-add-bar{display:flex;align-items:center;gap:12px;margin:0 0 9px}
.manual-assignment-form{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.8fr) repeat(2,minmax(160px,1.3fr)) minmax(130px,1.2fr) auto;gap:10px;align-items:end;background:#1b2530;border:1px solid #4c5b6f;padding:12px;margin:0 0 10px}
.manual-assignment-form label{display:grid;gap:3px;font-size:9px;color:#acb6c4;font-weight:750;letter-spacing:.4px}
.manual-assignment-form input,.manual-assignment-form select{width:100%;min-width:0;height:35px;background:#0f1923;color:#e5ecf4;border:1px solid #4a586b;padding:5px 7px;border-radius:0;font-size:11px}
.manual-form-actions{display:flex;gap:5px}
.manual-form-actions button{height:35px;padding:5px 9px;border-radius:0;font-size:10px}
.manual-entries-head{color:#a2b7c9;font-size:10px;letter-spacing:.6px;font-weight:800;margin:14px 0 7px}
.manual-route-actions{display:flex;align-items:center;gap:7px}
.manual-route-actions .route{min-width:65px;border-radius:0;padding:5px 8px}
.manual-route-actions button{font-size:9px;padding:4px 7px}
@media(max-width:1250px){.script-dashboard-head{grid-template-columns:minmax(260px,38%) minmax(0,1fr)}.manual-assignment-form{grid-template-columns:repeat(3,minmax(130px,1fr))}.script-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.script-dashboard-head{grid-template-columns:1fr}.script-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.script-personnel-card{max-height:180px}.manual-assignment-form{grid-template-columns:repeat(2,minmax(120px,1fr))}}

/* Concurrent paired races share one timeline slot, not sequential slots. */
.tl-channel-lane .tl-segment.split-screen{border-style:double;border-color:#e3cd8b}

/* v0.4.4 — minimal compact metric adjustment on the original v0.4.2 theme. */
.overview{gap:10px;margin-bottom:15px}
.overview .metric{padding:9px 13px;min-height:69px}
.overview .metric-head{font-size:9px;letter-spacing:.9px}
.overview .metric-val{font-size:23px;font-weight:740;letter-spacing:-.45px;line-height:1.1;margin-top:3px}
.overview .metric-desc{font-size:11px;line-height:1.3}
