/* style.css */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#eaf0f7;background:#080e17;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80c9ff;outline-offset:2px}.app{min-height:100vh;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:1600px;margin:auto}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263445;margin-bottom:18px;gap:12px}.brand{display:flex;gap:12px;align-items:center;letter-spacing:.14em}.brand-mark{font-size:16px;font-weight:900;background:#f5b94d;color:#111820;width:41px;height:41px;border-radius:7px;display:grid;place-items:center;letter-spacing:-.07em}.brand strong{display:block;font-size:16px}.brand small{display:block;color:#8fa3b9;font-size:11px;margin-top:3px;font-weight:750}.top-actions{display:flex;align-items:center;gap:10px}.saved{color:#91a7b9;font-size:13px;margin-right:8px}.button{border:0;border-radius:8px;padding:12px 16px;min-height:44px;font-weight:750;color:#ebf3fa;white-space:nowrap}.button.primary{background:#f5b94d;color:#18202a}.button.secondary{background:#273647}.button.outline{background:transparent;border:1px solid #53657a}.button.subtle{background:transparent;border:1px solid #34465a;color:#b4c4d2}.button:active,.flag:active,.action:active{transform:scale(.98)}.workspace{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:18px;min-height:calc(100vh - 106px)}.control-panel,.log-panel{background:#111b29;border:1px solid #27374a;border-radius:13px}.control-panel{padding:24px;align-self:start}.section-kicker{color:#f5b94d;font-size:12px;letter-spacing:.15em;font-weight:850}.session-title{font-size:26px;font-weight:800;margin:10px 0 4px;line-height:1.2}.session-meta{color:#a9bccb;font-size:14px}.timer-card{background:#0a1420;border:1px solid #2c3e50;border-radius:10px;margin-top:22px;padding:19px}.timer-label{font-size:12px;font-weight:800;color:#91a6b8;letter-spacing:.12em}.timer{font-variant-numeric:tabular-nums;font-size:clamp(48px,5vw,70px);font-weight:800;letter-spacing:-.055em;margin:6px 0 10px;line-height:1.1}.timer.expired{color:#fa7372}.timer-actions{display:flex;gap:8px}.timer-actions .button:first-child{flex:1}.status-row{margin-top:22px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.06em;font-weight:800;color:#aabac8}.status{border-radius:6px;padding:8px 10px;font-size:12px;letter-spacing:.06em}.status.neutral{color:#b7c6d3;background:#253344}.status.green{color:#67e7a1;background:#123e34}.status.yellow,.status.amber{color:#ffd16b;background:#4a371e}.status.red{color:#ff8c8c;background:#4a242b}.status.checkered{color:#e9edf3;background:#454b56}.status.clear{color:#86d5ef;background:#1b4050}.spaced{margin:31px 0 12px}.flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.flag{display:flex;align-items:center;text-align:left;gap:10px;min-height:62px;background:#1a2838;color:#f0f5f9;border:1px solid #31465a;border-radius:9px;padding:10px 12px;font-weight:750;font-size:15px}.flag:hover,.action:hover{border-color:#8598a8;background:#213245}.flag-dot{width:17px;height:17px;border-radius:4px;flex:none;background:#67e7a1}.flag.yellow .flag-dot{background:#ffe174}.flag.amber .flag-dot{background:#eea74f}.flag.red .flag-dot{background:#fb7171}.flag.checkered .flag-dot{background:conic-gradient(#fff 25%,#20242d 0 50%,#fff 0 75%,#20242d 0)}.flag.clear .flag-dot{background:#82d9ee}.tap-hint{color:#8698a9;font-size:13px;line-height:1.4;margin:12px 0 0}.log-panel{display:flex;flex-direction:column;min-height:630px;overflow:hidden}.log-heading{padding:23px 24px 19px;display:flex;justify-content:space-between;gap:10px;align-items:center}.log-heading h1{font-size:25px;margin:7px 0 0;line-height:1.1}.log-heading h1 span{font-size:14px;color:#91a5b6;font-weight:500;margin-left:8px;white-space:nowrap}.clock{font-variant-numeric:tabular-nums;color:#ccd9e5;font-size:22px;font-weight:750;white-space:nowrap}.entry-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:0 24px 21px}.action{background:#1b2b3b;border:1px solid #334b60;border-radius:9px;color:#f0f5f9;min-height:80px;font-weight:800;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px;gap:5px;font-size:15px}.action-icon{font-size:23px;color:#f5b94d;line-height:1}.action.dispatch .action-icon{color:#8ed6f2}.action.radio .action-icon{color:#b5abff}.action.note .action-icon{color:#a4c8cc}.log-tools{display:flex;align-items:center;gap:12px;border-top:1px solid #2a394a;border-bottom:1px solid #2a394a;padding:12px 24px;background:#152131}.log-tools label{font-size:12px;letter-spacing:.13em;color:#b8c8d6;font-weight:850;white-space:nowrap}.log-tools input{margin-left:auto;min-width:150px;width:250px;background:#0d1825;color:#f5f8fb;border:1px solid #374d60;border-radius:7px;padding:9px 11px;font-size:14px}.log-tools input::placeholder{color:#8194a4}.log-tools span{font-size:12px;color:#9badba}.log-list{flex:1;overflow:auto;min-height:300px;max-height:calc(100vh - 388px)}.empty{margin:42px auto;text-align:center;color:#9eb2c3;padding:0 20px;max-width:350px;line-height:1.45}.empty strong{display:block;color:#e6eef5;font-size:18px;margin-bottom:7px}.entry{padding:15px 24px;display:grid;grid-template-columns:92px 7px minmax(0,1fr);gap:14px;border-bottom:1px solid #263548;align-items:start}.entry time{font-variant-numeric:tabular-nums;font-weight:800;color:#a9bcd0;font-size:15px;padding-top:2px}.entry-line{width:4px;background:#8495a5;border-radius:4px;align-self:stretch;min-height:36px}.entry.flag-entry .entry-line{background:#f2c263}.entry.incident-entry .entry-line{background:#ff837c}.entry.dispatch-entry .entry-line{background:#8ed6f2}.entry.radio-entry .entry-line{background:#b5abff}.entry-title{font-size:15px;font-weight:850;letter-spacing:.02em}.entry-detail{font-size:14px;line-height:1.45;color:#bdcbd6;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.entry-meta{color:#8399ab;font-size:12px;margin-top:4px}.log-footer{padding:11px 24px;color:#8296a8;font-size:12px;border-top:1px solid #263548}.modal-backdrop{position:fixed;inset:0;background:#03080dd1;display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.modal-backdrop[hidden]{display:none}.modal{background:#152233;border:1px solid #486078;border-radius:14px;padding:24px;width:min(560px,100%);max-height:95vh;overflow:auto;box-shadow:0 24px 80px #0009}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal h2{font-size:25px;margin:7px 0 0}.close{background:transparent;border:0;color:#d6e2eb;font-size:30px;line-height:1;padding:0 4px}.modal label{display:block;color:#d7e2ec;font-size:14px;font-weight:750;margin-bottom:15px}.modal input,.modal textarea,.modal select{display:block;width:100%;margin-top:7px;padding:12px;background:#0a1522;color:#eef6fd;border:1px solid #40566a;border-radius:8px;min-height:46px}.modal textarea{resize:vertical}.modal input::placeholder,.modal textarea::placeholder{color:#8498a8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-help{color:#9fb0bf;font-size:14px;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#e6f4dd;color:#15211a;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:700;box-shadow:0 10px 32px #0007;z-index:10;display:none;max-width:90vw;text-align:center}@media(max-width:900px){.workspace{grid-template-columns:1fr}.control-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.control-panel>.section-kicker:first-child,.session-title,.session-meta,.timer-card,.status-row{grid-column:1}.control-panel>.spaced,.flag-grid,.tap-hint{grid-column:2}.control-panel>.spaced{grid-row:1;margin:0 0 12px}.flag-grid{grid-row:2 / span 4}.tap-hint{align-self:end}.timer-card{margin-top:15px}.status-row{margin-top:14px}.log-list{max-height:none}.log-panel{min-height:500px}}@media(max-width:650px){.app{padding:10px}.topbar{height:auto;padding:4px 2px 12px;align-items:start}.brand strong{font-size:14px}.brand-mark{width:36px;height:36px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.saved{display:none}.top-actions .button{padding:8px 10px;min-height:36px;font-size:12px}.workspace{gap:10px}.control-panel{display:block;padding:16px}.session-title{font-size:21px}.timer-card{margin-top:13px;padding:13px}.timer{font-size:50px}.spaced{margin:20px 0 10px}.flag{min-height:48px;font-size:14px}.tap-hint{display:none}.log-heading{padding:17px}.log-heading h1{font-size:21px}.clock{font-size:16px}.entry-actions{padding:0 17px 14px;gap:6px}.action{min-height:64px;padding:7px;font-size:12px;align-items:center;text-align:center}.action-icon{font-size:20px}.log-tools{padding:10px 17px;flex-wrap:wrap}.log-tools input{width:100%;order:3}.entry{padding:13px 17px;grid-template-columns:75px 4px 1fr;gap:10px}.entry time{font-size:13px}.log-footer{padding:10px 17px}.form-grid{grid-template-columns:1fr;gap:0}}@media(max-width:370px){.topbar{display:block}.top-actions{margin-top:12px;justify-content:flex-start}.flag{font-size:13px}.entry-actions{grid-template-columns:repeat(2,1fr)}}
.session-switch-label{display:block;color:#8499ab;font-size:12px;letter-spacing:.12em;font-weight:800;margin:18px 0 7px}.session-select{display:block;width:100%;background:#0a1522;color:#dce8f1;border:1px solid #354b60;border-radius:7px;min-height:42px;padding:8px 10px;font-size:14px}@media(max-width:900px){.session-switch-label,.session-select{grid-column:1}.session-switch-label{margin-top:12px}.control-panel>.spaced{grid-row:1}.flag-grid{grid-row:2 / span 6}}@media(max-width:650px){.session-switch-label{margin-top:13px}}
[hidden]{display:none!important}.group-controls{margin-top:20px}.group-controls label{font-size:14px;font-weight:700;color:#b8cbdc}.group-controls .form-grid{grid-template-columns:1.2fr 1fr}.group-controls .button{margin-top:10px;width:100%;white-space:normal}.group-controls select{margin-top:7px}.control-panel{padding:20px}.flag.black .flag-dot{background:#080a0c;border:1px solid #9dadbd}.status.black{background:#03070b;color:#eaf0f7;border:1px solid #5f7081}.entry-actions{grid-template-columns:repeat(3,1fr)}.entry{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}.entry:hover{background:#182b3e}.entry-title,.entry-meta,.entry-detail,.entry-history{display:block}.entry-history{color:#a9bfcf;font-size:13px;line-height:1.5;white-space:pre-wrap;margin-top:8px;border-left:2px solid #455a6f;padding-left:10px;overflow-wrap:anywhere}.dispatch-banner{margin:0 24px 18px;background:#194359;color:#b9edff;white-space:normal}.dispatch-call{display:block;width:100%;text-align:left;background:#102f41;border:1px solid #3e6b80;border-radius:8px;color:#eaf5fc;padding:15px;margin-bottom:12px;overflow-wrap:anywhere}.dispatch-call span{display:block;font-size:14px;color:#b7d1e1;margin-top:7px}.history{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;color:#adc3d4;padding:12px;background:#0c1825;border-radius:8px}.form-error{color:#ff9999;font-size:14px}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal fieldset{border:1px solid #435c70;border-radius:8px;padding:12px;margin:0 0 18px}.modal legend{font-size:14px;color:#bad8e8}.modal .check-label{display:flex;align-items:center;gap:10px;background:#1b3043;border-radius:6px;padding:10px;margin:0;min-height:48px}.modal input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:0;accent-color:#f5b94d;flex:none}.clear-dispatch{background:#245542;color:#c4ffe1;width:100%;white-space:normal}.favorite-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.modal-actions{flex-wrap:wrap}.topbar{height:auto;min-height:70px;padding:8px 0;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.session-meta{line-height:1.5;overflow-wrap:anywhere}.session-title{overflow-wrap:anywhere}.entry-meta{font-size:13px}.log-footer{font-size:13px}.button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.entry-actions{padding:0 15px 15px}.log-heading{padding:20px 15px}.log-heading{flex-wrap:wrap}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.control-panel{display:block}.flag-grid{grid-template-columns:repeat(3,1fr)}.group-controls .form-grid{grid-template-columns:1fr 1fr}.group-controls .button{width:auto;margin-right:8px}.timer{font-size:64px}.control-panel>.spaced{margin-top:24px}.log-list{max-height:none}}@media(max-width:650px){.flag-grid{grid-template-columns:1fr 1fr}.entry-actions{grid-template-columns:repeat(3,1fr)}.action{font-size:14px}.top-actions .button{font-size:14px;min-height:44px}.group-controls .button{width:100%;margin-right:0}.modal-backdrop{padding:10px}.modal{padding:18px}.modal-actions .button{white-space:normal}.group-controls .form-grid{gap:12px}.timer-actions{flex-wrap:wrap}.log-heading h1 span{display:block;margin:8px 0 0}.log-tools input{min-width:0}.entry{grid-template-columns:70px 4px minmax(0,1fr)}.unit-grid{grid-template-columns:1fr 1fr}.session-select{max-width:100%}}
.group-controls .form-grid>*{min-width:0}.session-select{width:100%;min-width:0}.modal{max-height:calc(100dvh - 20px)}
#callFields.incident-fields{display:block}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.quick-choice{min-height:44px;border:1px solid #50677c;border-radius:7px;background:#1a2d40;color:#eaf3fc;font-size:14px;font-weight:750;padding:9px 5px}.quick-choice[aria-pressed=true]{background:#f5b94d;color:#14202b;border-color:#f5b94d}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.modal .color-choice{display:flex;align-items:center;gap:6px;min-height:46px;margin:0;padding:8px;border:1px solid #486176;border-radius:7px;background:#0c1a29;font-size:14px;color:var(--car-color)}.color-choice:has(input:checked){outline:2px solid #f5b94d;outline-offset:0;background:#263a4a}.color-choice .color-swatch{height:12px;width:12px;flex:none;border:1px solid #8795a3;border-radius:50%;background:var(--swatch,var(--car-color))}.color-blue{--car-color:#83baff;--swatch:#237be8}.color-red{--car-color:#ff9d9d;--swatch:#e13f42}.color-white{--car-color:#fff}.color-black{--car-color:#d5dde5;--swatch:#050608}.color-silver{--car-color:#cfd7df}.color-gray{--car-color:#b0b8c1;--swatch:#808a96}.color-green{--car-color:#76e5a3;--swatch:#2db775}.color-yellow{--car-color:#ffe371}.color-orange{--car-color:#ffb26a;--swatch:#ed842a}.color-purple{--car-color:#c4a4ff;--swatch:#925de0}.color-pink{--car-color:#ffacd6}.color-brown{--car-color:#d4ad89;--swatch:#91633d}.color-gold{--car-color:#f2ce73;--swatch:#c59a37}.modal .other-color{margin:15px 0 0}#entryCar[type=tel]{font-size:24px;letter-spacing:.04em}@media(max-width:420px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Compact touch entry keeps caller and incident location separate. */
.compact-entry .modal{width:min(900px,100%);padding:16px 20px}
.compact-entry .modal-head{margin-bottom:10px;align-items:center}
.compact-entry .modal h2{font-size:22px;margin-top:3px}
.compact-entry #entryForm{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.compact-entry #entryForm>*{grid-column:1/-1;min-width:0;margin:0}
.compact-entry #callingField{order:0}
.compact-entry #callFields{order:1;grid-column:1;display:block}
.compact-entry #typeLabel{order:2;grid-column:2}
.compact-entry #colorField{order:3}
.compact-entry #positionFields{order:4;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compact-entry #entryForm>label:has(#entryDetails){order:5}
.compact-entry #incidentLocationField{order:6}
.compact-entry #editHistory{order:7}
.compact-entry #entryError{order:8}
.compact-entry #clearDispatchBtn{order:9}
.compact-entry .modal-actions{order:10;position:sticky;bottom:-16px;background:#152233;padding:10px 0;margin-top:0;border-top:1px solid #435c70;z-index:2}
.compact-entry .modal label{margin-bottom:0}
.compact-entry .modal fieldset{padding:7px 9px;margin-bottom:0}
.compact-entry .quick-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:0}
.compact-entry .quick-choice{padding:6px 3px;min-height:44px}
.compact-entry .color-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.compact-entry .color-choice{padding:5px;gap:4px;min-height:44px}
.compact-entry .color-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.compact-entry .color-choice:focus-within{outline:3px solid #80c9ff}
.compact-entry .other-color{display:flex;align-items:center;gap:10px;margin-top:7px}
.compact-entry .other-color input{flex:1;min-width:0;margin-top:0}
.compact-entry .modal input,.compact-entry .modal select{padding:8px 10px;min-height:44px;margin-top:4px}
.compact-entry #entryCar{font-size:20px}
.compact-entry .modal textarea{height:44px;min-height:44px;padding:10px;margin-top:4px}
.compact-entry #entryError:empty{display:none}
.black-flag-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flag-choice{position:relative;isolation:isolate;background:#070b10;border:2px solid #52677d;border-radius:10px;color:white;min-height:92px;padding:15px;font-size:18px;font-weight:800}
.flag-choice.mechanical:before{content:"";position:absolute;z-index:-1;width:66px;height:66px;border-radius:50%;background:#b84e00;left:50%;top:50%;transform:translate(-50%,-50%)}
.flag-choice[aria-pressed=true]{border-color:#f5b94d;box-shadow:inset 0 0 0 1px #f5b94d}
.interest-buttons{display:flex;flex-wrap:wrap;gap:8px}
.interest-car{background:#0c1a29;color:#eaf0f7;border:1px solid #52677d;border-radius:8px;min-height:64px;padding:10px 14px;text-align:left}
.interest-car strong,.interest-car>span{display:block}.interest-car>span{font-size:14px;margin-top:5px}
.interest-car[aria-pressed=true]{outline:2px solid #f5b94d}
@media(max-width:700px){.compact-entry .modal{padding:12px}.compact-entry .color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-entry .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-entry .modal-actions{bottom:-12px}.compact-entry #positionFields{grid-template-columns:1fr;gap:8px}.flag-choice{font-size:16px}}
@media(max-width:390px){.compact-entry .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-entry #callFields,.compact-entry #typeLabel{grid-column:1/-1}}
.custom-turn{margin-top:5px;font-size:14px;color:#b7ccdd}.custom-turn summary{cursor:pointer;min-height:24px;padding:3px 0}.compact-entry .other-color{font-size:14px}.compact-entry #blackFlagChoices{order:0}
@keyframes five-minute-flash{0%,49%{background:#ec1616}50%,100%{background:#0a1420}}
.timer-card.five-minute-warning{animation:five-minute-flash 1s step-end infinite;border-color:#ff3030}
.timer-card.five-minute-warning .timer{color:#fff}
.timer-card.one-minute-warning{background:#ffeb00;border-color:#ffeb00;color:#111}
.timer-card.one-minute-warning .timer,.timer-card.one-minute-warning .timer-label{color:#111}
.timer-card.clock-finished{background:conic-gradient(#fff 25%,#080808 0 50%,#fff 0 75%,#080808 0) 0 0/48px 48px;border-color:#fff}
.timer-card.clock-finished .timer{color:#ff2020;text-shadow:2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}
.timer-card.clock-finished .timer-label{display:table;background:#080e17;color:white;padding:3px 6px;border-radius:4px}
.compact-entry #interestLabel{order:0}.compact-entry #unitsField{order:4}
.compact-entry.dispatch-form #callFields{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:12px}
.compact-entry .unit-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.compact-entry .check-label{padding:7px;font-size:14px}
@media(max-width:700px){.compact-entry .unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-entry.dispatch-form #callFields{grid-template-columns:1fr}}
/* Racing Control Log — slate working surface with neon-green controls. */
:root{--surface:#20272f;--canvas:#14191f;--raised:#29333d;--border:#3b4855;--accent:#8cff3b;color:#edf1f4;background:var(--canvas)}
body{background:var(--canvas)}
.app{max-width:1920px;padding:18px 24px}
.topbar{min-height:76px;margin-bottom:18px;border-color:var(--border)}
.brand{gap:14px;letter-spacing:.07em}.brand-logo{width:76px;height:60px;object-fit:contain}.brand strong{font-size:21px;font-style:italic;font-weight:900;letter-spacing:.02em}.brand small{font-size:12px;letter-spacing:.18em;color:#a5b0ba}
.control-panel,.log-panel{background:var(--surface);border-color:var(--border);border-radius:12px}
.section-kicker,.action-icon{color:var(--accent)}
.button.primary{background:var(--accent);color:#14200d}.button.secondary{background:#34404b}.button.subtle{border-color:#56616c;color:#dae1e6}.button.outline{border-color:#687580}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}
.group-controls label,.session-switch-label,.session-meta,.saved{color:#b3bdc7}
.session-select,.modal input,.modal textarea,.modal select,.log-tools input{background:#151c23;border-color:#4c5966;color:#f1f4f7}
.timer-card{background:#141a20;border-color:#46545f}.timer{color:var(--accent)}
.timer-label{color:#b9c5ce}
.flag,.action{background:#2a343e;border-color:#465360}.flag:hover,.action:hover{background:#34414c;border-color:var(--accent)}
.flag.green .flag-dot{background:var(--accent)}
.action.radio .action-icon,.action.note .action-icon{color:var(--accent)}
.status.green{background:#263c22;color:var(--accent)}
.log-tools{background:#1b232b;border-color:var(--border)}.entry{border-color:#35414d}.entry:hover{background:#29353f}.entry-meta{color:#b1bfca;font-size:14px}.entry-detail{color:#d0d9df;font-size:16px}.entry-title{font-size:16px}.log-footer{color:#b3bec7}
.modal{background:var(--surface);border-color:#5a6874}.modal .check-label{background:#2b3741}.modal input[type=checkbox]{accent-color:var(--accent)}
.quick-choice{background:#293640;border-color:#536270}.quick-choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#13210b}
.modal .color-choice{background:#18212a;border-color:#485764}.color-choice:has(input:checked){outline-color:var(--accent);background:#304235}
.compact-entry .modal-actions{background:var(--surface)}
.flag-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.interest-car[aria-pressed=true]{outline-color:var(--accent)}
.end-summary{background:#151c23;border-left:3px solid var(--accent);border-radius:5px;padding:18px;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.6}
.export-modal{width:min(760px,100%)}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-options .button{white-space:normal}#exportText{font-family:ui-monospace,monospace;font-size:14px;line-height:1.5;min-height:240px}
/* At zero, flash only the clock face; keep the red figures on a clean dark plate. */
.timer-card.clock-finished{position:relative;isolation:isolate;background:#141a20;border-color:#c4cdd4;overflow:hidden}
.timer-card.clock-finished:before{content:"";position:absolute;inset:0;z-index:-1;background:conic-gradient(#f2f4f5 25%,#14191f 0 50%,#f2f4f5 0 75%,#14191f 0) 0 0/64px 64px;opacity:1}
.timer-card.clock-finished .timer{display:table;background:#141a20;border-radius:8px;padding:4px 16px;color:#ff3030;text-shadow:none}
.timer-card.clock-finished .timer-label{background:#141a20}
.timer-card.clock-finished .timer-actions{background:#141a20;padding:8px;border-radius:8px}
@keyframes finish-checker-flash{0%,49%{opacity:1}50%,100%{opacity:0}}
.timer-card.clock-finished.finish-flashing:before{animation:finish-checker-flash 1s step-end infinite}
@media(min-width:1200px){
 .app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .topbar{flex:none}
 .workspace{grid-template-columns:400px minmax(0,1fr);gap:20px;min-height:0;flex:1}
 .control-panel{height:100%;overflow:auto;padding:22px}
 .session-title{font-size:28px}.group-controls{margin-top:16px}
 .group-controls .form-grid{gap:12px}.group-controls .button{width:auto;margin-right:6px}
 .timer-card{margin-top:18px;padding:18px}.timer{font-size:76px;letter-spacing:-.04em}
 .status-row{margin-top:18px}.spaced{margin:22px 0 12px}.flag{min-height:58px}
 .log-panel{min-height:0;height:100%}
 .log-list{min-height:0;max-height:none;flex:1;overflow:auto}
 .log-heading{padding:24px}.log-heading h1{font-size:28px}.clock{font-size:28px}
 .entry-actions{grid-template-columns:repeat(5,minmax(0,1fr));padding:0 24px 22px;gap:12px}
 .action{min-height:90px;padding:16px;font-size:16px;gap:10px}
 .entry{padding:18px 24px;grid-template-columns:105px 5px minmax(0,1fr)}.entry time{font-size:17px}
 .log-heading,.entry-actions,.log-tools,.log-footer{flex-shrink:0}
 .log-tools input{width:340px}.tap-hint{font-size:14px}
}
@media(max-width:1199px){.app{padding:14px}.brand strong{font-size:18px}.brand-logo{width:60px;height:50px}}
@media(max-width:650px){.brand strong{font-size:16px}.brand small{font-size:11px}.brand-logo{width:48px;height:44px}.app{padding:10px}.entry-actions{grid-template-columns:repeat(3,1fr)}.export-options{grid-template-columns:1fr}.top-actions{margin-left:auto}}
.log-tools select{background:#151c23;color:#edf1f4;border:1px solid #4c5966;border-radius:7px;min-height:42px;padding:7px 10px;font-size:14px;min-width:130px}
.log-heading h1 #logTitle{font-size:inherit;color:inherit;font-weight:inherit;margin:0;white-space:normal}
.export-scope-label{display:block;font-size:14px;font-weight:750;color:#d7e2ec;margin-bottom:18px}
.export-scope-label select{display:block;width:100%;background:#151c23;color:#edf1f4;border:1px solid #4c5966;border-radius:8px;margin-top:7px;min-height:46px;padding:10px}
#soundBtn{min-width:108px}
@media(max-width:700px){.log-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.log-tools label,.log-tools input,.log-tools #filterCount{grid-column:1/-1}.log-tools input{order:0;margin:0;width:100%}.log-tools select{width:100%;min-width:0}.log-tools #filterCount{font-size:14px}.top-actions #soundBtn{min-width:0}}

.button.danger{background:#702d36;color:#fff;border:1px solid #da7c85}.button.danger:hover{background:#903644}#deleteEntryBtn{margin-right:auto}

/* One workspace, adapted for desktop, landscape tablets and portrait phones. */
.mobile-dock{display:none}
.workspace,.workspace>*{min-width:0}
.log-tools{flex-wrap:wrap}.log-tools input{max-width:100%;min-width:0;flex:1 1 190px}
.entry-title,.entry-detail,.entry-meta{overflow-wrap:anywhere}
button,input,select,textarea{touch-action:manipulation}
@media(min-width:901px) and (max-width:1199px){
 .app{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
 .topbar{flex:none;min-height:58px;margin-bottom:12px;gap:8px}.brand small{font-size:10px}.top-actions{gap:6px}.saved{display:none}.top-actions .button{padding:10px;font-size:14px}
 .workspace{flex:1;min-height:0;grid-template-columns:310px minmax(0,1fr);gap:12px}
 .control-panel{height:100%;overflow:auto;padding:14px}.session-title{font-size:23px}.group-controls{margin-top:12px}.group-controls .button{padding:9px 10px}.session-switch-label{margin-top:12px}
 .timer-card{padding:12px;margin-top:14px}.timer{font-size:64px}.timer-actions{flex-wrap:wrap}.timer-actions .button{padding:10px;font-size:14px}.status-row{gap:8px;margin-top:14px}.spaced{margin:18px 0 10px}.flag{min-height:52px;padding:9px;font-size:14px}
 .log-panel{height:100%;min-height:0}.log-heading{padding:16px}.log-heading h1{font-size:24px}.clock{font-size:19px}
 .entry-actions{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px 14px;gap:7px}.action{min-height:64px;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px;font-size:14px;gap:8px}
 .log-tools{padding:10px 16px;gap:8px}.log-tools label{width:100%}.log-tools select{flex:1;min-width:0}.log-tools input{flex-basis:100%;width:100%}.log-list{flex:1;min-height:0;max-height:none;overflow:auto}.log-heading,.entry-actions,.log-tools,.log-footer{flex-shrink:0}.log-footer{padding:10px 16px}
}
@media(min-width:651px) and (max-width:900px){
 .control-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
 .control-panel>.section-kicker:first-child,.control-panel>.session-title,.control-panel>.session-meta,.control-panel>.group-controls{grid-column:1}
 .control-panel>.timer-card{grid-column:2;grid-row:1 / span 4;align-self:start;margin:0}
 .control-panel>.status-row{grid-column:1/-1;margin-top:4px}.control-panel>.spaced{grid-column:1/-1;grid-row:auto;margin:10px 0 0}.control-panel>.flag-grid{grid-column:1/-1;grid-row:auto}.control-panel>.tap-hint{grid-column:1/-1}
 .group-controls{margin-top:0}.session-title{margin:0}.entry-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.action{padding:10px;font-size:14px}
 .log-tools input{flex-basis:100%;width:100%}.log-list{max-height:none}
}
@media(max-width:650px){
 .app{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));min-height:100dvh}
 .topbar{display:flex;gap:8px;min-height:0;margin-bottom:8px;padding:0 0 8px}.brand{gap:8px}.brand strong{font-size:16px}.brand small{font-size:9px;letter-spacing:.1em}.brand-logo{width:42px;height:38px}
 .top-actions{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px}.top-actions .button{padding:8px 6px;font-size:13px;min-height:44px}
 .mobile-dock{display:block;position:sticky;top:0;z-index:3;background:var(--canvas);padding:6px 0 8px}
 .mobile-clock{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#141a20;border:1px solid var(--border);border-radius:10px;padding:10px 12px}
 .mobile-clock>div{min-width:0}.mobile-clock #mobileSession{display:block;font-size:12px;color:#b9c5ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.mobile-clock strong{display:block;font-size:38px;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--accent)}.mobile-clock .status{max-width:45%;text-align:center;font-size:10px}
 .mobile-clock.five-minute-warning{animation:five-minute-flash 1s step-end infinite}.mobile-clock.five-minute-warning strong{color:white}.mobile-clock.one-minute-warning{background:#ffeb00}.mobile-clock.one-minute-warning strong,.mobile-clock.one-minute-warning #mobileSession{color:#111}
 .mobile-clock.clock-finished:before{content:"";position:absolute;inset:0;z-index:-1;background:conic-gradient(#f2f4f5 25%,#14191f 0 50%,#f2f4f5 0 75%,#14191f 0) 0 0/40px 40px}.mobile-clock.clock-finished>div{background:#141a20;border-radius:5px;padding:3px 8px}.mobile-clock.clock-finished strong{color:#ff3030}.mobile-clock.finish-flashing:before{animation:finish-checker-flash 1s step-end infinite}
 .mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.mobile-nav button{min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:#dce5ed;font-size:14px;font-weight:800}.mobile-nav button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#14200d}
 .workspace{display:block;min-height:0}.workspace[data-mobile-view=log] .control-panel,.workspace[data-mobile-view=controls] .log-panel{display:none}
 .control-panel{padding:14px}.log-panel{min-height:0}.log-heading{padding:12px}.log-heading .section-kicker{display:none}.log-heading h1{margin:0;font-size:21px}.log-heading h1 #logTitle{display:inline}.log-heading h1 #entryCount{display:inline;font-size:12px;margin-left:5px}.clock{font-size:14px}
 .entry-actions{padding:0 12px 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.action{min-height:68px;font-size:13px;padding:8px}.log-tools{padding:12px}.log-list{min-height:200px;max-height:none;overflow:visible}.dispatch-banner{margin:0 12px 12px}.log-footer{padding:12px}
 .modal-backdrop{padding:0;align-items:stretch}.modal,.compact-entry .modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overscroll-behavior:contain}
 .modal-head{position:sticky;top:-12px;z-index:3;background:var(--surface);padding:10px 0;border-bottom:1px solid var(--border)}.close{min-width:44px;min-height:44px}
 .modal input,.modal select,.modal textarea,.session-select,.log-tools input,.log-tools select{font-size:16px}
 .modal-actions,.compact-entry .modal-actions{position:sticky;bottom:calc(-1 * max(12px,env(safe-area-inset-bottom)));z-index:2;background:var(--surface);padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:8px}.modal-actions .button{flex:1;min-height:48px}#deleteEntryBtn{flex-basis:100%;margin-right:0}
 .compact-entry .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-entry .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-entry .color-choice{min-height:46px}.compact-entry .modal textarea{height:64px}.custom-turn summary{min-height:44px;display:flex;align-items:center}
}

@media(max-width:650px){.top-actions{grid-template-columns:1fr 1fr}}

/* Quiet header utilities and an accessible speaker control at the far right. */
.topbar{position:relative;padding-right:54px}
.top-actions .utility-button{background:transparent;border:1px solid transparent;color:#aebbc6;font-size:13px;font-weight:600;min-height:44px;padding:9px 11px;border-radius:7px}
.top-actions .utility-button:hover{background:#29333d;border-color:#465360;color:#edf1f4}
#soundBtn.sound-toggle{position:absolute;right:0;top:8px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--accent)}
#soundBtn.sound-toggle:hover{background:#29333d;border-color:#465360}
.sound-toggle .sound-slash{display:none;stroke:#ff626b;stroke-width:2.6}
.sound-toggle.is-off{color:#aebbc6!important}.sound-toggle.is-off .sound-waves{display:none}.sound-toggle.is-off .sound-slash{display:block}
@media(max-width:650px){.topbar{padding-right:48px;gap:2px}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:2px}.top-actions .utility-button{font-size:12px;padding:8px;min-height:44px}#soundBtn.sound-toggle{top:0}.brand{gap:6px}.brand strong{font-size:15px}.brand small{font-size:8px}}
@media(max-width:370px){.brand-logo{width:34px}.brand strong{font-size:13px}}

/* Clock-local audio toggle. */
.topbar{padding-right:0}.timer-card{position:relative}.timer-label{padding-right:40px}
#soundBtn.sound-toggle{top:5px;right:5px;z-index:2;background:#141a20;color:var(--accent)}
.mobile-clock{padding-right:54px}.mobile-clock #soundBtn.sound-toggle{top:5px;right:5px}.mobile-clock .status{max-width:48%}
.compact-entry #incidentCars{order:3;display:grid;gap:9px}.additional-car{margin-top:10px!important}.extra-car-head{display:flex;align-items:end;gap:10px;margin-bottom:9px}.extra-car-head label{flex:1;min-width:0}.additional-car .check-label{margin-top:8px}.additional-car .check-label input{position:static;opacity:1;width:22px;height:22px;min-height:22px}
@media(max-width:650px){.topbar{padding-right:0}.mobile-clock #mobileSession{max-width:42vw}}

.extra-car-head{flex-wrap:wrap}.extra-car-head label{flex:1 1 120px}.extra-car-head select{width:100%}
/* Compact settings and per-car modifiers. */
.modal .evasive-check{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:36px;margin:4px 0 0!important;padding:0;background:transparent;font-size:14px;font-weight:600;color:#c2ced7}
.modal .evasive-check input,.modal .alert-check input{position:static;opacity:1;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent)}
.compact-entry #typeLabel>label:first-child{margin:0}.extra-type-field{flex:1 1 120px;min-width:0}.extra-car-head{align-items:start}.extra-car-head>.button{margin-top:22px}
.compact-entry #incidentCars{gap:6px}.compact-entry #incidentCars>#addCarBtn{justify-self:start;min-height:40px;padding:7px 12px;font-size:14px}
.compact-entry #dispatchDuration{order:6;margin:0;color:var(--accent)}
.settings-actions,.event-management,.settings-select,.list-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.settings-select>label,.event-management>label{flex:1;min-width:180px;margin:0}.settings-select>.button{align-self:end}.event-management{padding-bottom:14px;border-bottom:1px solid var(--border)}
.list-heading{justify-content:space-between;margin-bottom:8px;font-size:14px}.config-row{display:flex;gap:8px;margin-bottom:8px}.modal .config-row input{margin:0;min-width:0}.config-row .button{font-size:14px;padding:8px 10px}
.daily-actions{display:grid;gap:12px;margin-top:24px}.daily-actions .button{white-space:normal}
.alert-setting{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.alert-setting label{margin:0}.modal .alert-check{display:flex;align-items:center;gap:10px;min-height:48px;margin:14px 0;font-weight:600;line-height:1.4}.alert-check input{flex:none}
.clock-tools{position:absolute;right:5px;top:5px;z-index:2;display:flex;gap:2px;background:#141a20;border-radius:9px}
.clock-tools #soundBtn.sound-toggle,.clock-tools .clock-icon{position:static;display:grid;place-items:center;min-width:40px;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#c4d0d9}
.clock-tools .clock-icon:hover{background:#29333d;border-color:#465360}.timer-label{padding-right:78px;min-height:28px}.mobile-clock{padding-right:96px}.mobile-clock #mobileSession{max-width:35vw}.mobile-clock .status{max-width:44%;font-size:10px;padding:6px}
.timer-card.under-five,.mobile-clock.under-five{border-color:#fa555b;box-shadow:inset 0 0 0 1px #fa555b}
@keyframes halfway-colors{0%,49%{background-position:0 0}50%,100%{background-position:32px 0}}
.timer-card.halfway-warning,.mobile-clock.halfway-warning{background:repeating-linear-gradient(90deg,#8cff3b 0 32px,#f5fff0 32px 64px);animation:halfway-colors 1s step-end infinite;border-color:#8cff3b}
.halfway-warning .timer,.halfway-warning #mobileTimer{display:table;background:#141a20;color:var(--accent);border-radius:6px;padding:3px 10px}.halfway-warning .timer-label,.halfway-warning #mobileSession{background:#141a20;color:#f1f7eb;border-radius:4px}.halfway-warning .timer-actions{background:#141a20;border-radius:6px;padding:5px}
@media(max-width:650px){.clock-tools{gap:0}.clock-tools #soundBtn.sound-toggle,.clock-tools .clock-icon{width:40px;min-width:40px;height:44px}.mobile-clock{padding-right:92px}.mobile-clock strong{font-size:34px}.mobile-clock #mobileSession{max-width:32vw}.settings-actions .button{flex:1}.alert-setting{gap:10px}.modal .evasive-check{min-height:40px}.extra-car-head>.button{margin-top:0}.timer-label{font-size:11px}}

.drag-handle{flex:none;display:grid;place-items:center;width:40px;min-height:46px;padding:0;border:1px solid var(--border);border-radius:7px;background:#19222b;color:#b8c8d3;font-size:26px;line-height:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.drag-handle:hover,.drag-handle:focus-visible{color:var(--accent);border-color:var(--accent)}.config-row.dragging{position:relative;z-index:1;background:#30402b;border-radius:8px;outline:2px solid var(--accent);box-shadow:0 6px 16px #0006}.config-row.dragging .drag-handle{cursor:grabbing;color:var(--accent)}.sorting-turns{cursor:grabbing;user-select:none;-webkit-user-select:none}.reorder-help{margin:0 0 10px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep flags anchored while session setup scrolls independently. */
.workspace .control-panel{display:flex;flex-direction:column;overflow:hidden;padding:0;min-height:0}
.control-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px}
.flag-dock{flex:none;background:var(--surface);border-top:1px solid var(--border);padding:14px 20px 16px;box-shadow:0 -8px 18px #0002}
.flag-dock .status-row{margin:0;gap:8px}.flag-dock .spaced{margin:12px 0 9px}.flag-dock .flag{min-height:50px;padding:9px 10px;font-size:14px}.flag-dock .tap-hint{font-size:12px;margin-top:9px}
@media(min-width:901px){.workspace .control-panel{height:100%}}
@media(min-width:651px) and (max-width:900px){.workspace .control-panel{height:min(700px,calc(100dvh - 135px));min-height:390px}.control-scroll{display:block}.flag-dock .flag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.workspace .control-panel{height:calc(100dvh - 255px);min-height:350px}.control-scroll{padding:14px}.flag-dock{padding:10px 12px 12px}.flag-dock .flag{min-height:46px;font-size:13px}.flag-dock .status-row{font-size:12px}.flag-dock .spaced{margin:8px 0}.flag-dock .flag-grid{gap:6px}}
/* Halfway uses bright block lettering, without a patterned clock background. */
.halfway-indicator{display:none}
@keyframes halfway-letter-flash{0%,49%{color:#8cff3b}50%,100%{color:#fff}}
.timer-card.halfway-warning,.mobile-clock.halfway-warning{background:#141a20;animation:none}
.halfway-warning .halfway-indicator{display:block;font-size:24px;line-height:1.2;font-weight:950;letter-spacing:.045em;animation:halfway-letter-flash 1s step-end infinite;color:#8cff3b;padding-right:78px;min-height:28px}
.halfway-warning .timer-label,.halfway-warning #mobileSession{display:none}
.timer-card.halfway-warning .timer,.mobile-clock.halfway-warning #mobileTimer{display:block;background:transparent;padding:0}
.halfway-warning .timer-actions{background:transparent;padding:0}
.mobile-clock.halfway-warning .halfway-indicator{font-size:19px;padding-right:0;min-height:0;letter-spacing:0}
.clock{border:1px solid #71808b;border-radius:9px;background:#141a20;padding:9px 14px;color:#f4f8fc;box-shadow:inset 0 0 0 1px #ffffff06;font-weight:800;text-align:center}
.clock:before{content:'LOCAL TIME';display:block;font-size:12px;letter-spacing:.12em;color:#b1bec8;margin-bottom:3px}
.duration-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.duration-fields label{min-width:0}.duration-fields input{font-size:20px;text-align:center}.sound-picker{display:flex;align-items:end;gap:8px;grid-column:1/-1}.sound-picker label{flex:1;min-width:0}.sound-picker .button{height:44px;min-width:54px}.alert-setting .alert-check{margin:0}.alert-setting{padding:14px 0}.sound-picker select{width:100%}
@media(max-width:650px){.clock{padding:7px 10px;font-size:18px}.clock:before{font-size:12px;letter-spacing:.04em}.duration-fields{gap:8px}}
/* Settings hub and release metadata. */
.settings-modal{width:min(780px,100%)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-card{display:block;text-align:left;min-height:100px;background:#29333d;border:1px solid #465360;border-radius:9px;padding:16px;color:#edf1f4}.settings-card:hover{border-color:var(--accent)}.settings-card strong{display:block;font-size:17px}.settings-card span{display:block;font-size:14px;line-height:1.4;color:#b6c4ce;margin-top:7px}.settings-card:disabled{opacity:.45;cursor:not-allowed}.settings-audio{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:20px;padding-top:16px;gap:12px}.settings-back{font-size:14px;margin-right:10px;white-space:nowrap}.build-info{display:block;font-size:12px;color:#95a4af;margin-top:7px;letter-spacing:.02em}.scheduled-end{font-size:14px;color:#b9c6d0;margin:0 0 10px}
/* Small flags directly between call actions and the timeline. */
.flag-toolbar{flex-shrink:0;padding:0 24px 14px}.flag-toolbar .status-row{margin:0 0 9px;font-size:12px;justify-content:flex-start;gap:10px}.flag-toolbar .status{padding:5px 8px}.flag-toolbar .flag-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.flag-toolbar .flag{min-height:42px;padding:7px 9px;font-size:13px;gap:7px}.flag-toolbar .flag-dot{width:13px;height:13px}.flag.amber .flag-dot{background:#ffe000}.flag-toolbar #newLastCarBtn{min-height:36px;font-size:13px;padding:7px 11px;margin-top:8px}
.log-panel{border-width:3px}.log-panel[data-condition=green]{border-color:#8cff3b}.log-panel[data-condition=yellow]{border-color:#ffdf21}.log-panel[data-condition=red]{border-color:#f13d42}.log-panel[data-condition=black]{border-color:#050608;box-shadow:0 0 0 1px #6b7883}.log-panel[data-condition=checkered]{border:4px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,repeating-linear-gradient(135deg,#fff 0 8px,#050608 8px 16px) border-box}.log-panel[data-condition=neutral]{border-color:var(--border)}
.entry[data-flag-tone=green] .entry-line{background:#8cff3b}.entry[data-flag-tone=yellow] .entry-line{background:#ffe000}.entry[data-flag-tone=red] .entry-line{background:#ff4248}.entry[data-flag-tone=black] .entry-line{background:#030405;outline:1px solid #87929b}.entry[data-flag-tone=checkered] .entry-line{background:repeating-linear-gradient(135deg,#fff 0 5px,#060708 5px 10px);outline:1px solid #788590}
.compact-entry #flagCarRoles{order:0;display:flex;gap:8px;flex-wrap:wrap}.flag-car-roles [aria-pressed=true]{background:var(--accent);color:#14200d}.compact-entry #flagCarSummary{order:0;font-size:14px;color:#bfd0dd}.compact-entry #passedCarField{order:3}.compact-entry #passedCarField>label:first-of-type{margin-bottom:8px}
@media(max-width:1199px){.flag-toolbar{padding:0 16px 12px}}
@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.settings-card{min-height:80px}.flag-toolbar{padding:0 12px 12px}.flag-toolbar .flag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flag-toolbar .flag{min-height:44px;font-size:12px;padding:6px;gap:5px}.workspace .control-panel{height:auto;min-height:0}.control-scroll{overflow:visible}.settings-back{min-height:40px;padding:7px;font-size:12px}.log-footer{font-size:12px}}
/* Alpha 0.23: header clock, compact calls, and collapsible timeline tools. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;padding-right:0}
.brand-block{min-width:0}.brand-block .build-info{margin:2px 0 0 4px;font-size:11px}.topbar .top-actions{display:flex;justify-content:flex-end;width:auto;margin:0;gap:6px}.topbar .saved{font-size:11px}
.header-clock{display:grid;grid-template-columns:7px auto 7px;gap:10px;align-items:stretch;text-align:center;min-width:180px}
.header-clock .clock{font-size:23px;padding:4px 10px;border:0;box-shadow:none;background:transparent;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.header-clock .clock:before{font-size:10px;margin-bottom:3px;letter-spacing:.1em}.header-clock .status{display:block;background:transparent;border:0;font-size:10px;padding:3px 0 0;letter-spacing:.04em;color:#c9d3db;white-space:nowrap}
.course-marker{border-radius:3px;background:#53606c;min-height:54px;border:1px solid #77838b}
.header-clock[data-condition=green] .course-marker{background:#8cff3b;border-color:#8cff3b}.header-clock[data-condition=yellow] .course-marker{background:#ffdf21;border-color:#ffdf21}.header-clock[data-condition=red] .course-marker{background:#ff4248;border-color:#ff4248}.header-clock[data-condition=black] .course-marker{background:#030405}.header-clock[data-condition=checkered] .course-marker{background:conic-gradient(#fff 25%,#050608 0 50%,#fff 0 75%,#050608 0) 0 0/8px 8px}
.log-panel{border:1px solid var(--border);background:var(--surface);box-shadow:none}
.log-panel .entry-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px 12px;flex-shrink:0}
.log-panel .action{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;font-size:14px;gap:7px;text-align:center}
.log-panel .action-icon{font-size:18px;line-height:1;width:auto;height:auto;margin:0}
.timeline-bar{display:flex;align-items:center;gap:10px;padding:4px 24px;border-top:1px solid var(--border);flex-shrink:0}.timeline-bar .section-kicker{font-size:11px;color:#aebbc6;letter-spacing:.09em}.timeline-bar #filterCount{font-size:12px;color:#b7c5cf}.timeline-controls{display:flex;margin-left:auto;gap:3px}
.timeline-icon{width:44px;height:44px;display:grid;place-items:center;color:#b9c7d1;background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer}.timeline-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.timeline-icon:hover,.timeline-icon[aria-expanded=true]{background:#29333d;border-color:#465360}.timeline-icon.is-active{color:var(--accent);background:#8cff3b12}.timeline-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.timeline-search,.timeline-filters{display:flex;align-items:center;gap:9px;padding:0 24px 12px;flex-shrink:0}.timeline-search input{min-width:0;flex:1;background:#141a20;color:#edf1f4;border:1px solid var(--border);border-radius:7px;padding:10px;min-height:44px}.timeline-filters{align-items:end}.timeline-filters label{flex:1;min-width:0;color:#aebbc6;font-size:12px}.timeline-filters select{display:block;width:100%;margin-top:5px;min-height:44px;background:#141a20;color:#edf1f4;border:1px solid var(--border);border-radius:7px;padding:8px}.timeline-search .button,.timeline-filters .button{min-height:44px;font-size:13px}
.clock-format-setting{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin-top:20px!important}.clock-format-setting select{width:auto;max-width:65%;margin:0}
@media(max-width:1199px){.topbar{gap:12px}.topbar .saved{display:none}.header-clock{min-width:170px}.log-panel .entry-actions{padding:0 16px 12px}.log-panel .action{padding:8px 10px}.timeline-bar{padding:4px 16px}.timeline-search,.timeline-filters{padding:0 16px 12px}}
@media(max-width:800px){.topbar{grid-template-columns:minmax(0,1fr) auto}.brand-block{grid-column:1/-1}.header-clock{grid-column:1;justify-self:start}.topbar .top-actions{grid-column:2}.header-clock .clock{font-size:20px}.header-clock{min-width:165px}.brand-block .build-info{font-size:10px}.course-marker{min-height:48px}}
@media(max-width:650px){.topbar{gap:8px}.header-clock{min-width:0;gap:6px;grid-template-columns:5px auto 5px}.header-clock .clock{font-size:18px;padding:2px 4px}.header-clock .status{font-size:9px}.header-clock .clock:before{font-size:9px}.topbar .top-actions{gap:0}.topbar .top-actions .button{padding:8px;font-size:12px}.log-panel .entry-actions{padding:0 12px 10px;gap:6px}.log-panel .action{font-size:13px;padding:8px 10px;flex:1 1 90px}.timeline-bar{padding:3px 12px;gap:6px}.timeline-bar #filterCount{font-size:11px}.timeline-search,.timeline-filters{padding:0 12px 10px;gap:6px}.entry time{font-size:12px;overflow-wrap:normal}.clock-format-setting{font-size:14px}}

.log-panel[data-clock-format="12"] .entry{grid-template-columns:100px 4px minmax(0,1fr)}
@media(max-width:650px){.log-panel[data-clock-format="12"] .entry{grid-template-columns:86px 4px minmax(0,1fr)}}
/* Alpha 0.24: next-group workflow and one session editor. */
.group-controls>.session-workflow-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.group-controls .session-workflow-actions .button{width:auto;margin:0;min-height:44px;flex:1;font-size:14px;padding:9px 10px}.session-workflow-actions #editSessionBtn{display:flex;justify-content:center;align-items:center;gap:6px;color:#bac8d2}.session-workflow-actions svg{flex:none}
.next-group-picker,.next-add-group{display:flex;align-items:end;gap:10px;margin-bottom:16px}.next-group-picker label,.next-add-group label{flex:1;min-width:0;margin:0}.next-group-picker select,.next-add-group input{margin-bottom:0}.next-group-picker .button,.next-add-group .button{min-height:46px;flex:none}.next-add-group{padding:12px;background:#141a20;border:1px solid var(--border);border-radius:8px}
.session-end-option{border-top:1px solid var(--border);padding-top:14px;margin-top:18px}.session-end-option .button{width:100%;white-space:normal}.session-favorites{margin-top:16px}.session-favorites summary{font-size:14px;color:#adbdc9;cursor:pointer;min-height:40px;padding:10px 0}.session-favorites .favorite-row{margin-top:10px}#lengthForm{margin-top:16px}#nextSessionModal .form-help{margin:14px 0}
@media(max-width:650px){.next-group-picker,.next-add-group{gap:7px}.next-group-picker .button,.next-add-group .button{padding:9px;font-size:14px}.group-controls .session-workflow-actions .button{font-size:13px}}
/* Alpha 0.25: a compact timeline with inline search and floating filters. */
.log-panel{--panel-inset:16px}.log-panel .log-heading{padding:12px var(--panel-inset);display:flex;flex-wrap:nowrap;align-items:baseline;gap:12px;min-height:40px}
.log-panel .log-heading h1{font-size:12px;line-height:1.5;letter-spacing:.055em;font-weight:800;margin:0;color:var(--accent);min-width:0;overflow-wrap:anywhere}
.log-heading #entryCount{margin-left:auto;white-space:nowrap;color:#9eb0be;font-size:12px;font-weight:500}
.log-panel .entry-actions,.log-panel .flag-toolbar{padding:0 var(--panel-inset) 10px}.log-panel .action,.flag-toolbar .flag{min-height:44px;border-radius:8px}.flag-toolbar .flag-grid{gap:6px}.log-panel .entry-actions{gap:6px}
.timeline-bar{position:relative;padding:2px var(--panel-inset);min-height:48px;gap:8px;border-bottom:1px solid var(--border)}.timeline-bar .section-kicker{font-size:12px;white-space:nowrap;letter-spacing:.06em}.timeline-controls{min-width:0;gap:2px;align-items:center;flex-shrink:0}.timeline-icon{flex:none}
.timeline-controls .timeline-search{display:flex;position:relative;width:0;max-width:0;opacity:0;overflow:hidden;visibility:hidden;gap:0;padding:0;flex-shrink:0;transition:width .22s ease,max-width .22s ease,opacity .18s ease,visibility .22s}
.timeline-bar.search-open .timeline-search{width:230px;max-width:230px;opacity:1;visibility:visible}
.timeline-search input{display:block;flex:none;width:230px;margin:0;padding:9px 42px 9px 10px;min-height:44px;font-size:16px;border-radius:7px}.timeline-search input::-webkit-search-cancel-button{-webkit-appearance:none}.search-clear{position:absolute;right:0;top:0;width:40px;height:44px;border:0;background:transparent;color:#aebfcd;font-size:22px}.timeline-search:has(input:placeholder-shown) .search-clear{visibility:hidden}
.timeline-filters{position:fixed;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:280px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;z-index:4;background:#242d36;border:1px solid #53616e;border-radius:12px;padding:12px;box-shadow:0 12px 36px #0009;animation:filter-pop-in .16s ease-out}
.filter-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.filter-popover-head strong{font-size:14px}.filter-popover-head .timeline-icon{font-size:24px;margin:-6px -6px -6px 0}.timeline-filters label{font-size:14px;flex:none}.timeline-filters select{font-size:16px;min-height:44px;margin-top:5px}.filter-popover-actions{display:flex;justify-content:space-between;gap:8px}.filter-popover-actions .button{font-size:14px;min-height:44px;padding:9px 14px}
@keyframes filter-pop-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.log-panel .entry{padding:12px var(--panel-inset);gap:12px;min-height:58px}.entry-line{min-height:30px}.entry-detail:empty,.entry-meta:empty{display:none}.log-footer{padding:8px var(--panel-inset);font-size:12px;line-height:1.4}.dispatch-banner{margin:0 var(--panel-inset) 10px}.empty{margin:24px auto}
.control-scroll{padding:16px}.session-title{margin:6px 0 4px}.group-controls{margin-top:12px}.session-switch-label{margin-top:12px}.timer-card{margin-top:14px;padding:16px}.topbar{margin-bottom:12px}.workspace{gap:14px}
.modal-head{margin-bottom:14px;align-items:center}.modal h2{margin:0;font-size:22px;line-height:1.2}.modal .close{min-width:44px;min-height:44px;flex:none}.modal label{margin-bottom:12px}.modal input,.modal select{padding:10px;min-height:44px;font-size:16px}.modal fieldset{margin-bottom:12px}.modal-actions{margin-top:16px;gap:8px}.form-error:empty{display:none}.settings-grid{gap:10px}.settings-card{min-height:84px;padding:12px}.settings-card strong{font-size:16px}.settings-card span{margin-top:5px}.settings-audio{margin-top:16px;padding-top:12px}.interest-car{min-height:52px;padding:8px 12px}.flag-choice{min-height:76px;padding:12px}
@media(min-width:651px) and (max-width:900px){.workspace .control-panel{height:auto;min-height:0}.control-scroll{overflow:visible}}
@media(max-width:650px){.log-panel{--panel-inset:12px}.log-panel .log-heading{gap:8px;padding-top:10px;padding-bottom:10px}.timeline-bar.search-open>.section-kicker,.timeline-bar.search-open>#filterCount{display:none}.timeline-bar.search-open .timeline-controls{width:100%;justify-content:flex-end}.timeline-bar.search-open .timeline-search{width:calc(100% - 92px);max-width:230px;flex:1}.timeline-search input{width:100%;min-width:0}.timeline-bar #filterCount{font-size:12px}.control-scroll{padding:14px}.timer-card{padding:14px}.modal label{font-size:14px}.settings-card{min-height:76px}.log-panel .entry{gap:9px}.log-panel .log-heading h1{font-size:12px}}
@media(prefers-reduced-motion:reduce){.timeline-controls .timeline-search{transition:none}.timeline-filters{animation:none}}
@media(min-width:651px) and (max-width:1199px){.timeline-bar.search-open>.section-kicker{display:none}.timeline-bar.search-open .timeline-controls{margin-left:auto}}
@media(min-width:901px){.workspace .control-panel{height:auto;max-height:100%;align-self:start}}
/* Release notes remain a small dismissible card on touch screens too. */
.release-notes-link{margin-top:16px;font-size:14px;min-height:44px}
#releaseNotesModal{align-items:center;padding:16px}#releaseNotesModal .release-notes-modal{width:min(480px,100%);height:auto;max-height:calc(100dvh - 32px);padding:18px;border:1px solid #53616e;border-radius:12px}
.release-version{font-size:16px;font-weight:800;color:var(--accent)}.release-version span,.release-history summary span{display:block;font-size:12px;font-weight:400;color:#aebdc8;margin-top:4px}
.release-notes-modal ul{margin:12px 0 16px;padding-left:20px}.release-notes-modal li{font-size:15px;line-height:1.45;margin:8px 0;color:#dae3e9}.release-history{border-top:1px solid var(--border)}.release-history details{border-bottom:1px solid var(--border)}.release-history summary{padding:12px 0;min-height:44px;font-size:14px;cursor:pointer;font-weight:700}.release-history summary span{display:inline;margin-left:8px}.release-notes-modal .modal-actions{position:sticky;bottom:-18px;background:var(--surface);padding:12px 0 0;margin-top:12px}
/* Alpha 0.28: fixed phone workspace; scroll content, not the entire app. */
@media(max-width:650px){
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 .app{position:fixed;inset:0;display:flex;flex-direction:column;width:100%;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .topbar{flex:none;gap:4px 8px;margin:0;padding:0 0 5px;min-height:0}.brand-logo{width:32px;height:30px}.brand small{display:none}.brand strong{font-size:14px}.brand-block .build-info{margin:0;font-size:10px}.header-clock .clock:before{display:none}.course-marker{min-height:36px}.header-clock .clock{font-size:18px}.header-clock .status{font-size:10px}
 .mobile-dock{position:relative;top:auto;flex:none;padding:6px 0}.mobile-clock{padding:7px 92px 7px 10px;min-height:60px}.mobile-clock strong{font-size:30px}.mobile-nav{margin-top:6px}
 .workspace{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
 .workspace .control-panel,.workspace .log-panel{width:100%;height:100%;min-height:0;max-height:100%;margin:0;flex:1;overflow:hidden}
 .workspace .control-panel{display:flex;flex-direction:column}.workspace[data-mobile-view=log] .control-panel,.workspace[data-mobile-view=controls] .log-panel{display:none}
 .control-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:12px}
 .log-panel .log-heading{padding:7px 12px;min-height:32px;flex:none}.log-panel .entry-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 10px 7px;flex:none}.log-panel .action{min-height:44px;padding:6px;font-size:13px;gap:5px;min-width:0}.log-panel .action-icon{font-size:16px}
 .log-panel .flag-toolbar{padding:0 10px 7px;flex:none}.flag-toolbar .flag-grid{gap:5px}.flag-toolbar .flag{min-height:44px}.timeline-bar{min-height:46px;flex:none;padding:1px 10px}
 .log-panel .log-list{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scrollbar-gutter:stable}
 .log-panel .log-footer{display:none}.dispatch-banner{flex:none;margin:0 10px 7px;padding:8px;min-height:44px}
 .modal-backdrop{height:var(--visible-height,100dvh);bottom:auto;top:var(--visible-top,0px);overflow:hidden}.modal,.compact-entry .modal{height:100%;max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 #releaseNotesModal .release-notes-modal{max-height:calc(var(--visible-height,100dvh) - 32px)}
}
/* Short viewports still allow every call control to be reached. */
@media(max-width:650px) and (max-height:650px){.workspace .log-panel{overflow-y:auto;overscroll-behavior-y:contain}.log-panel .log-list{flex:none;min-height:140px;overflow:visible}.brand-block{display:none}.mobile-clock{min-height:52px}.mobile-clock strong{font-size:26px}}
.timeline-category-filters{border:0!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;gap:4px}.timeline-category-filters legend{font-size:13px;color:#aebdc8;margin-bottom:4px}.timeline-category-filters label{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:6px 9px;margin:0!important;border:1px solid #3b4855;border-radius:7px;background:#1b242c;color:#e1e8ed!important;font-size:14px!important;font-weight:600!important;cursor:pointer}.timeline-category-filters input[type=checkbox]{width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;flex:none;accent-color:#8cff3b}.timeline-filters{width:300px}.timeline-filters .timeline-range-filter{font-size:14px!important;margin:0!important}

/* Alpha 0.31: optional event connection setup. */
.connections-modal{width:min(760px,100%)}.connection-state{border:1px solid var(--border,#4c5966);border-radius:12px;padding:15px;background:#151c23;margin-bottom:18px}.connection-state strong{color:#edf1f4}.connection-state p,.connection-shortcut p{font-size:14px;color:#b3bdc7;line-height:1.5;margin:7px 0 0}.connection-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.connection-summary div{min-width:0}.connection-summary span{display:block;font-size:13px;color:#b3bdc7;margin-bottom:3px}.connection-summary strong{font-size:16px;overflow-wrap:anywhere}.modal .connection-choice{display:flex;gap:12px;align-items:center;padding:13px 8px;margin:0;border-bottom:1px solid #3b4855}.connection-choice:last-child{border:0}.connection-choice span{min-width:0}.connection-choice strong{display:block;font-size:16px}.connection-choice small{display:block;color:#b3bdc7;font-size:14px;line-height:1.5;margin-top:5px}.connection-choice em{font-style:normal;font-weight:500;font-size:12px;color:#b3bdc7;margin-left:6px}.connection-shortcut{display:flex;align-items:center;gap:16px;border-top:1px solid #4c5966;margin-top:20px;padding-top:18px}.connection-shortcut .button{flex-shrink:0;text-decoration:none}#connectionsNotice:not(:empty){color:#8cff3b}#connectionsBtn{font-size:13px}#connectionChoices:disabled{opacity:.55}
@media(max-width:650px){.connection-summary{grid-template-columns:1fr}.connection-shortcut{align-items:start;flex-direction:column}#connectionsBtn{font-size:12px;min-height:32px}.connections-modal .modal-head{align-items:center}.connections-modal .modal-head h2{font-size:22px}.connections-modal .settings-back{font-size:12px;padding:8px}}

/* Optional shared dispatch connection, isolated from the local clock. */
.live-dispatch-dialog{color:var(--text,#edf1f4);background:#20272f;border:1px solid #5e6e7d;border-radius:18px;width:min(640px,calc(100% - 24px));padding:24px;max-height:calc(100dvh - 30px);overflow:auto}.live-dispatch-dialog::backdrop{background:#000b}.live-dispatch-dialog label{display:block;margin:14px 0}.live-dispatch-dialog input,.live-dispatch-dialog textarea{display:block;margin-top:7px;width:100%;font:inherit;font-size:17px;padding:12px;border:1px solid #53616d;border-radius:9px;background:#141c23;color:#edf1f4}.live-dispatch-dialog textarea{min-height:105px}.live-dispatch-dialog a{color:#8cff3b}.live-dispatch-dialog [hidden]{display:none!important}.live-dispatch-notice{border:1px solid #8e784e;background:#342b20;padding:14px;margin:16px 0;border-radius:10px}.live-dispatch-request{display:grid;gap:5px;padding:13px 0;border-top:1px solid #40505e}.live-dispatch-request span{font-size:14px;color:#b5c1ca}.live-dispatch-turns{display:flex;gap:5px;flex-wrap:wrap}.live-dispatch-turns button{font-size:14px;min-height:40px}.live-dispatch-dialog h3{margin-top:24px}

.setup-steps{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0}.setup-steps li{border:1px solid #435260;border-radius:12px;background:#151c23;padding:16px}.setup-steps strong{display:block;color:#99ff32;font-size:17px}.setup-steps span{display:block;margin-top:6px;color:#b9c5ce;line-height:1.5;font-size:15px}.connection-advanced{margin-top:22px}.connection-advanced summary{cursor:pointer;padding:12px 0}.connection-advanced button{margin:6px 6px 6px 0}#startConnectionSetup{width:100%;white-space:normal}
.saved-events-modal{width:min(760px,calc(100vw - 28px))}.saved-event-list{display:grid;gap:8px;max-height:32vh;overflow:auto;margin:14px 0}.saved-event-option{display:grid;gap:3px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.saved-event-option:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.saved-event-option span,.saved-session-line span{font-size:14px;color:var(--muted)}.saved-event-preview{border-top:1px solid var(--border);padding-top:6px}.saved-event-preview h3{margin:12px 0 4px}.saved-event-preview h4{margin:20px 0 8px}.saved-session-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:8px 0;margin:0}.saved-session-line span{text-align:right}.saved-timeline{list-style:none;margin:0;padding:0;max-height:36vh;overflow:auto}.saved-timeline li{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.saved-timeline time{font-size:14px;color:var(--muted)}.saved-timeline li div{display:grid;gap:3px}.saved-timeline li div span{font-size:14px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.saved-event-list{max-height:25vh}.saved-event-option{min-height:56px}.saved-timeline{max-height:34vh}.saved-timeline li{grid-template-columns:68px 1fr;gap:8px}.saved-session-line{display:grid;gap:2px}.saved-session-line span{text-align:left}}
.active-operations{display:grid;gap:9px;padding:0 24px 18px}.active-yellow-list{display:grid;gap:8px;max-height:280px;overflow-y:auto}.active-yellow-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;background:#322b14;border:1px solid #b59432;border-radius:10px;padding:10px 12px;color:#fff0ad}.active-yellow-card strong,.active-yellow-card span{display:block;overflow-wrap:anywhere}.active-yellow-card strong{font-size:15px;letter-spacing:.02em}.active-yellow-card span,.active-yellow-card small{font-size:13px;color:#f2d788}.active-yellow-card .yellow-age{grid-column:1/-1}.active-yellow-card button{min-width:66px;min-height:40px;border:1px solid #edd57d;color:#ffe695;background:#41351b}.active-operations .dispatch-banner{margin:0}.active-yellow-card.yellow-pulse{animation:local-yellow-pulse 2.4s ease-in-out infinite}.active-yellow-card.yellow-flash{animation:local-yellow-flash .75s steps(2,end) infinite}@keyframes local-yellow-pulse{50%{background:#67551b;box-shadow:0 0 15px #f5d04977;border-color:#ffe285}}@keyframes local-yellow-flash{50%{background:#e1ba24;color:#241d07;border-color:#fff2a0;box-shadow:0 0 16px #ffe16b}}@media(max-width:650px){.active-operations{padding:0 12px 12px}.active-yellow-list{max-height:170px}.active-yellow-card{padding:8px 10px}}@media(prefers-reduced-motion:reduce){.active-yellow-card.yellow-pulse,.active-yellow-card.yellow-flash{animation:none;border-width:3px;background:#655017}}

.active-yellow-card.yellow-flash span,.active-yellow-card.yellow-flash small{color:#322809}

/* Keep clock controls and the schedule on an opaque, neutral surface. */
#controlPanel .timer-card{--timer-inset:16px;padding:var(--timer-inset);overflow:hidden}
.timer-details{position:relative;background:#141a20;color:#eaf0f7;margin:0 calc(-1 * var(--timer-inset)) calc(-1 * var(--timer-inset));padding:var(--timer-inset);border-top:1px solid #46545f}
.timer-card .timer-details .timer-actions{background:transparent;padding:0;border-radius:0}
@media(max-width:650px){#controlPanel .timer-card{--timer-inset:14px}}

.quick-yellow-turns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.quick-yellow-turns button{min-height:52px}.active-yellow-card{flex-wrap:wrap}

/* Compact local yellows, with details above a generous clear action. */
.active-yellow-list{grid-template-columns:repeat(auto-fill,minmax(220px,280px));align-items:start;max-height:340px}
.active-yellow-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;min-width:0}
.active-yellow-card .yellow-details{display:block;width:100%;min-height:72px;text-align:left;padding:6px;border:0;background:transparent;border-radius:5px;color:#fff0ad}
.yellow-details strong{font-size:15px}.yellow-details span{margin-top:5px}.yellow-details .yellow-incident{font-weight:650;color:#fff0ad}
.yellow-details:hover,.yellow-details:focus-visible{background:#ffffff0d;outline:2px solid #ffe695;outline-offset:0}
.yellow-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.active-yellow-card .yellow-clear{min-height:48px;min-width:115px;background:#ffdb57;color:#201b0b;border-color:#ffdb57;font-weight:750}
.active-yellow-card.yellow-attention{border:2px solid #ffdc57;box-shadow:0 0 0 1px #ffdc5733;background:#443916;animation:none}
.active-yellow-card.yellow-pulse{animation:local-yellow-gentle 4s ease-in-out infinite}
@keyframes local-yellow-gentle{50%{border-color:#ffe695;box-shadow:0 0 7px #ffdc5726}}
@media(max-width:650px){.active-yellow-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.active-yellow-card{padding:8px}.yellow-card-footer{flex-direction:column;align-items:stretch}.active-yellow-card .yellow-clear{width:100%;min-width:0}.active-yellow-card .yellow-details{min-height:90px}.yellow-details strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.active-yellow-card.yellow-pulse{animation:none}}

/* workspace.css */
:root{--rc-bg:#141a20;--rc-panel:#202932;--rc-surface:#172027;--rc-line:#3a4b58;--rc-text:#edf3f6;--rc-muted:#afbdc8;--rc-accent:#97ff35;color-scheme:dark}body{background:var(--rc-bg);color:var(--rc-text)}[hidden]{display:none!important}.rc-shell{font-family:system-ui,-apple-system,sans-serif;background:#10171d;border-bottom:1px solid var(--rc-line);padding:14px max(20px,env(safe-area-inset-left));display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.rc-brand{display:flex;align-items:center;gap:10px;color:var(--rc-text);text-decoration:none;font-size:18px;font-weight:900;letter-spacing:.035em;font-style:italic}.rc-brand img{width:40px;height:36px;object-fit:contain}.rc-brand small{display:block;font-size:12px;font-style:normal;color:var(--rc-muted);letter-spacing:.05em;margin-top:2px}.rc-nav{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.rc-nav a{color:#bdcbd4;text-decoration:none;font-size:15px;padding:12px 15px;border:1px solid transparent;border-radius:8px;font-weight:750}.rc-nav a[aria-current=page]{background:#2e4228;color:var(--rc-accent);border-color:#5c7d47}.rc-event{font:inherit;cursor:pointer;min-height:46px;background:#1c2931;border:1px solid #5b704a;border-radius:10px;color:var(--rc-text);padding:9px 16px;text-align:left;max-width:300px}.rc-event strong{display:block;font-size:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:250px}.rc-event small{display:block;font-size:12px;color:var(--rc-accent);margin-top:3px}.rc-banner{padding:10px 22px;border-bottom:1px solid #7e6940;background:#352e21;color:#ffda91;font:600 14px system-ui;display:flex;gap:12px;align-items:center;justify-content:space-between}.rc-banner button{font:inherit;padding:5px 10px;min-height:36px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:7px;cursor:pointer}.rc-dialog{font:16px/1.5 system-ui,-apple-system,sans-serif;color:var(--rc-text);background:var(--rc-panel);border:1px solid #667b88;border-radius:18px;padding:26px;width:min(720px,calc(100% - 24px));max-height:calc(var(--rc-vh,100dvh) - 24px);overflow:auto;overscroll-behavior:contain;scroll-padding:24px;box-sizing:border-box}.rc-dialog::backdrop{background:#070b10bb;backdrop-filter:blur(4px)}.rc-dialog h2{font-size:26px;line-height:1.2;margin:0}.rc-dialog h3{font-size:18px;margin:20px 0 12px}.rc-dialog p{margin:10px 0;line-height:1.5}.rc-dialog .rc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.rc-dialog button,.rc-button{font:700 16px system-ui;cursor:pointer;min-height:46px;border:1px solid #566a78;border-radius:9px;padding:11px 16px;background:#32434e;color:var(--rc-text);text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}.rc-dialog button:disabled{opacity:.5;cursor:wait}.rc-dialog .rc-primary,.rc-primary{background:var(--rc-accent);color:#13230d;border-color:var(--rc-accent)}.rc-dialog .rc-quiet{background:transparent}.rc-dialog label{display:block;font-size:15px;font-weight:650;color:#cbd6dd;margin:16px 0}.rc-dialog input,.rc-dialog select,.rc-dialog textarea{box-sizing:border-box;display:block;width:100%;font:16px system-ui;color:var(--rc-text);background:#121c24;border:1px solid #5a6c79;border-radius:9px;padding:12px;min-height:48px;margin-top:7px}.rc-dialog textarea{min-height:100px;resize:vertical}.rc-dialog input[type=checkbox]{display:inline-block;width:20px;height:20px;min-height:0;margin:0}.rc-dialog .rc-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rc-dialog .rc-row>*{flex:1}.rc-dialog .rc-note{color:var(--rc-muted);font-size:14px}.rc-dialog details{border-top:1px solid var(--rc-line);margin:18px 0;padding-top:12px}.rc-dialog summary{cursor:pointer;font-size:14px;padding:8px 0;color:#c8d7e0}.rc-dialog .rc-error{color:#ffb0a8;white-space:pre-wrap}.rc-error:empty{display:none}.rc-steps{display:flex;gap:10px;padding:0;list-style:none;counter-reset:steps;margin:18px 0}.rc-steps li{flex:1;background:#142028;border:1px solid #3d515d;border-radius:10px;padding:12px;font-size:14px;color:#bbcbd4}.rc-steps li:before{counter-increment:steps;content:counter(steps);display:block;color:var(--rc-accent);font-size:20px;font-weight:900;margin-bottom:5px}.rc-share{background:#182f22;border:1px solid #537b45;border-radius:12px;padding:16px;margin:18px 0}.rc-share canvas{display:block;max-width:220px;width:100%;height:auto;margin:16px auto;background:white;padding:10px}.rc-share input{font-size:14px}.rc-station{border-top:1px solid #3e5360;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.rc-station small{display:block;color:#b4c3cc}.rc-dialog .rc-danger{color:#ffb8b0;border-color:#95574f;background:transparent}.rc-dialog .rc-badge{font-size:13px;color:var(--rc-accent);letter-spacing:.04em}.rc-inset{background:#16212a;border:1px solid #3b515d;padding:14px;border-radius:10px}.rc-page-actions{display:flex;gap:8px;flex-wrap:wrap}.rc-color-grid{display:flex;gap:8px;flex-wrap:wrap}.rc-color-grid label{margin:0!important;border:1px solid #475c69;border-radius:8px;padding:9px 12px;display:flex;align-items:center;gap:8px;cursor:pointer}.rc-color-grid label:has(:checked){border-color:var(--rc-accent);background:#2b412a}.rc-color-grid i{width:13px;height:13px;border-radius:50%;border:1px solid #ffffff80}.rc-dialog button:focus-visible,.rc-nav a:focus-visible,.rc-event:focus-visible{outline:3px solid #8bccff;outline-offset:3px}body[data-workspace=control] .brand-block,body[data-workspace=control] #connectionsBtn{display:none}body[data-workspace=control] .app{padding-top:6px;max-width:1800px}body[data-workspace=control] .topbar{height:72px;min-height:0;margin-bottom:12px}body[data-workspace=control] .workspace{min-height:calc(100vh - 170px)}body[data-workspace] .top>.brand,body[data-workspace] #accessButton,body[data-workspace] #leave{display:none!important}body[data-workspace] .top{justify-content:flex-end;padding:10px 22px;background:transparent}body[data-workspace] main{max-width:1800px}body[data-workspace] .eventbar h1{font-size:25px}body[data-workspace] .eventbar .eyebrow{display:none}body[data-workspace] .join{max-width:560px}body[data-workspace] #joinPanel>form,body[data-workspace] #joinPanel>.join-guide,body[data-workspace] #joinPanel>p{display:none}body[data-workspace] #joinPanel .rc-note{display:block}body[data-workspace] #joinPanel h1{font-size:28px}@media(max-width:1050px){.rc-shell{grid-template-columns:1fr auto;gap:10px}.rc-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start}.rc-brand{font-size:16px}.rc-event{max-width:220px}}@media(max-width:650px){.rc-shell{padding:12px;gap:10px}.rc-brand{font-size:13px}.rc-brand img{width:28px;height:28px}.rc-brand small{font-size:12px}.rc-event{padding:8px 10px;max-width:180px}.rc-event strong{font-size:14px;max-width:145px}.rc-nav{display:flex;flex-wrap:nowrap;overflow:auto;width:100%;padding-bottom:2px;justify-content:space-between}.rc-nav a{font-size:14px;padding:10px;white-space:nowrap}.rc-dialog{padding:18px}.rc-steps{display:block}.rc-steps li{margin:8px 0;padding:10px}.rc-steps li:before{display:inline;margin-right:10px;font-size:16px}.rc-dialog .rc-row{align-items:stretch}.rc-dialog .rc-row>*{min-width:120px}body[data-workspace=control] .topbar{height:auto;margin:0;min-height:62px}.rc-banner{padding:9px 12px}.rc-dialog .rc-head h2{font-size:23px}}@media print{.rc-shell,.rc-banner,.rc-dialog{display:none!important}}

@media(min-width:801px){body[data-workspace=control] .topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}body[data-workspace=control] #courseClock{grid-column:2;justify-self:center}body[data-workspace=control] .top-actions{grid-column:3;justify-self:end;display:flex;gap:8px}body[data-workspace=control] .top-actions .icon-button{width:40px;min-width:40px;height:40px;padding:0;display:grid;place-items:center;font-size:23px;line-height:1}}

.control-dispatch-board{border:1px solid #4e655d;border-radius:12px;background:#1b2929;padding:12px;margin:12px 0;font:14px system-ui}.control-dispatch-head{display:flex;justify-content:space-between;align-items:center}.control-dispatch-head strong{font-size:16px}.control-dispatch-head button{min-height:32px;padding:2px 9px}.control-dispatch-board article{padding:9px 0;border-top:1px solid #455956;display:grid;gap:3px}.control-dispatch-board article strong{font-size:15px}.control-dispatch-board article span,.control-dispatch-board article small{color:#c7d4d5}.control-dispatch-assign{display:flex;gap:8px}.control-dispatch-assign select{min-width:0;flex:1}.control-dispatch-assign button{white-space:nowrap}.control-dispatch-board [role=alert]{color:#ffb9ae}

.control-dispatch-assign{display:grid;gap:8px}.control-standup-units{display:flex;gap:7px;flex-wrap:wrap}.control-standup-units label{border:1px solid #67777b;border-radius:6px;padding:5px 8px;cursor:pointer}.control-standup-units label:has(input:checked){background:#4a3e27;border-color:#ffd078}.control-standup-units input{width:auto;min-height:0;margin:0}.control-dispatch-assign button{justify-self:start}
.rc-manage-tabs{display:flex;gap:8px;margin:18px 0 14px;border-bottom:1px solid var(--rc-line);padding-bottom:10px}.rc-dialog .rc-manage-tabs button{flex:1;max-width:230px;min-height:44px;background:#17232b;color:#d3e2e9;border-color:#526674}.rc-dialog .rc-manage-tabs button[aria-selected=true]{background:#304831;border-color:#83cd52;color:#baff85}.rc-manage-tabs svg{width:20px;height:20px}.rc-dialog #rcTeam>h3:first-of-type,.rc-dialog #rcBroadcast>h3:first-of-type{margin-top:12px}#rcBroadcast{min-height:180px}#rcBroadcast #rcTrackTools{margin-top:28px;border-top:1px solid var(--rc-line)}#rcBroadcast #rcTrackTools h3{margin-top:18px}#rcBroadcast .rc-share{border-color:#438498;background:#18303b}.rc-dialog .rc-manage-tabs button:focus-visible{outline:3px solid #8bccff;outline-offset:2px}@media(max-width:650px){.rc-dialog .rc-manage-tabs button{max-width:none}}
.rc-dialog #rcCreateMode,.rc-dialog #rcJoinMode{background:#17232b;color:#c5d4dd;border-color:#526777}
.rc-dialog #rcCreateMode[aria-pressed=true],.rc-dialog #rcJoinMode[aria-pressed=true]{background:#97ff35;color:#15200e;border-color:#97ff35;box-shadow:inset 0 -3px 0 #508016}
.rc-dialog:has(.schedule-table){width:min(1540px,calc(100vw - 32px));max-width:none;max-height:92dvh}
.schedule-editor-window{padding:24px;overflow:auto}.schedule-editor-window h2{margin:4px 0 12px}
.schedule-editor-window .schedule-table{width:100%;min-width:1140px;border-collapse:collapse}
.schedule-editor-window .schedule-table td,.schedule-editor-window .schedule-table th{padding:10px 7px;vertical-align:top;text-align:left}
.schedule-editor-window .schedule-table th{background:#243844;color:#eef6fc;position:sticky;top:0;z-index:1}
.schedule-table [data-field=group]{min-width:155px}.schedule-table [data-field=session]{min-width:165px}.schedule-table [data-field=notes]{min-width:200px;min-height:64px}
.schedule-table [data-field=durationMinutes],.schedule-table [data-field=clearanceMinutes]{width:76px;min-width:76px}.schedule-table [data-field=dayId]{min-width:115px}
.schedule-editor-actions{position:sticky;bottom:-24px;background:#202932;border-top:1px solid #4c6372;padding:16px 0;display:flex;justify-content:flex-end;z-index:3}
.schedule-editor-actions button{min-width:180px;min-height:48px}
@media(max-width:700px){.schedule-editor-window{padding:14px;width:calc(100vw - 16px)}.schedule-editor-actions{bottom:-14px}.schedule-editor-actions button{width:100%}.schedule-editor-window .schedule-table{min-width:1100px}}
.schedule-session-info{display:block;margin-top:5px;color:#b8cbd7;font-size:14px;line-height:1.4}

.active-operations{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.active-operations .active-yellow-list{flex:1 1 300px}.active-operations .control-dispatch-board{flex:2 1 420px;width:auto;margin:0}.control-dispatch-rows,#controlDispatchRows{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.dispatch-yellow-choices button{border-color:#ffe100;background:#ffe10018;margin:4px}.settings-main-back{margin-bottom:16px}.bf-car[data-status="active"]{border-color:#ffe100;box-shadow:0 0 20px #ffe10025}.bf-car[data-status="pit"],.bf-car[data-status="waived"]{padding:12px;min-height:0;opacity:.7}.bf-car[data-status="pit"] .number,.bf-car[data-status="waived"] .number{font-size:28px}

.control-car-board{flex:1 1 280px;border:1px solid #4e6070;border-radius:12px;padding:14px;background:#202b34}.control-car-board header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.control-car-board [data-cars]{display:flex;gap:8px;flex-wrap:wrap}.control-car-board [data-car]{display:grid;gap:6px;border:2px solid #ffe100;padding:16px;box-shadow:0 0 14px #ffe10025}.control-car-board [data-car] strong{font-size:30px}.control-car-board [data-car] span{font-size:12px}.control-car-board [data-status="pit"],.control-car-board [data-status="waived"]{padding:8px;box-shadow:none;border-color:#586674;opacity:.7}.control-car-board [data-status="pit"] strong,.control-car-board [data-status="waived"] strong{font-size:18px}

/* race-live.css */
.race-live{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:16px;background:#111a21;border-bottom:1px solid #3b4c57;padding:10px max(20px,env(safe-area-inset-left));font:600 15px system-ui;color:#edf3f6}
.race-live>div{min-width:0}.race-live span{display:block;color:#aebeca;font-size:12px;letter-spacing:.09em;font-weight:800}.race-live strong{display:block;font-size:clamp(20px,2.7vw,31px);line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.race-live-time strong{font-size:21px}.race-live-session strong{color:#a0ff3d}.race-live-flag{padding-left:14px;border-left:5px solid #73808b}.race-live-flag[data-flag=green]{border-color:#8cff3b}.race-live-flag[data-flag=yellow]{border-color:#ffdf21}.race-live-flag[data-flag=red]{border-color:#ff4248}.race-live-flag[data-flag=black]{border-color:#f4f6f7}.race-live-flag[data-flag=checkered]{border-image:repeating-conic-gradient(#fff 0 25%,#0d1115 0 50%) 1}.race-live-status{color:#b2c5d0;font-size:13px;text-align:right;max-width:190px}
@media(max-width:780px){.race-live{grid-template-columns:1fr 1fr;gap:9px 14px;padding:10px 16px}.race-live-session{grid-column:2;grid-row:1/3;text-align:right}.race-live-flag{grid-column:1;grid-row:2}.race-live-status{grid-column:1/-1;text-align:left;max-width:none}.race-live strong{font-size:20px}.race-live-session strong{font-size:31px}.race-live-time strong{font-size:18px}}

/* event-tools.css */
.rc-shell{grid-template-columns:auto 1fr auto auto}.rc-tools{display:flex;gap:6px;align-items:center}.rc-tools button{font:700 14px system-ui;min-height:38px;border:1px solid #526777;border-radius:8px;background:#25343e;color:#edf3f6;padding:8px 10px;cursor:pointer}.rc-tools button[data-enabled=true]{border-color:#91db47;color:#a0ff3b}.event-tools-dialog{width:min(960px,calc(100% - 24px))}.announcement-popup{border:2px solid #9fff3b;max-width:620px}.announcement-popup #eventAnnouncementMessage{font-size:25px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}.announcement-history{padding:12px 0;border-top:1px solid #4a5c68;white-space:pre-wrap;overflow-wrap:anywhere}.schedule-table-wrap{overflow:auto;margin:16px 0}.schedule-table{border-collapse:collapse;width:100%;min-width:480px;text-align:left}.schedule-table th,.schedule-table td{padding:9px;border-bottom:1px solid #475b68}.schedule-table input{min-width:80px;font-size:15px;margin:0}.schedule-table [data-field=group]{min-width:180px}.schedule-table [data-field=durationMinutes]{width:90px}.schedule-table input[type=checkbox]{width:22px;min-width:22px;min-height:22px}.schedule-table button{white-space:nowrap;font-size:14px;padding:8px 10px}.event-tools-dialog details{margin-top:20px}#scheduleReview:empty{display:none}@media(max-width:1200px){.rc-shell{grid-template-columns:1fr auto}.rc-tools{grid-row:2;grid-column:2}.rc-nav{grid-column:1;grid-row:2;justify-content:flex-start}}@media(max-width:650px){.rc-tools{grid-row:3;grid-column:1/-1}.rc-nav{grid-column:1/-1}.rc-tools button{flex:1}.announcement-popup #eventAnnouncementMessage{font-size:21px}.schedule-table th,.schedule-table td{padding:6px}}@media print{.rc-tools,.announcement-popup{display:none!important}}
#scheduleFileView{width:100%;margin:12px 0}#scheduleFileView img{display:block;width:100%;height:auto}#scheduleFileView iframe{width:100%;height:65vh;border:1px solid #59707c;background:white}

#scheduleFileView{flex:0 0 100%!important}
/* Published schedule editing remains legible on narrow station screens. */
.schedule-table tr[data-published] textarea{min-width:180px;min-height:56px;margin:0}
.schedule-table tr[data-published] td:last-child{vertical-align:middle}
@media(max-width:650px){.schedule-table:has([data-published]){min-width:0}.schedule-table:has([data-published]) thead{display:none}.schedule-table tr[data-published]{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #475b68}.schedule-table tr[data-published] td{display:block;border:0;min-width:0;padding:0}.schedule-table tr[data-published] td:first-child,.schedule-table tr[data-published] td:nth-child(4),.schedule-table tr[data-published] td:last-child{grid-column:1/-1}.schedule-table tr[data-published] td:before{display:block;font:700 12px system-ui;color:#aabdc8;margin-bottom:4px}.schedule-table tr[data-published] td:nth-child(1):before{content:'GROUP'}.schedule-table tr[data-published] td:nth-child(2):before{content:'START'}.schedule-table tr[data-published] td:nth-child(3):before{content:'MINUTES'}.schedule-table tr[data-published] td:nth-child(4):before{content:'NOTES'}.schedule-table tr[data-published] textarea,.schedule-table tr[data-published] input{width:100%;min-width:0}.schedule-table tr[data-published] td:last-child button{width:100%}}

/* mobile44.css */
/* One compact shell, with secondary tools in a menu on small screens. */
.rc-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}.rc-mobile-menu{display:contents}.rc-mobile-menu>summary,.rc-schedule-shortcut{display:none}.rc-menu-content{display:flex!important;align-items:center;justify-content:center;gap:12px;grid-column:2;grid-row:1}.rc-shell>.rc-event{grid-column:3;grid-row:1}.rc-nav{flex-wrap:nowrap}.rc-nav a{padding:10px}.rc-tools{flex-wrap:wrap}.rc-tools button{min-height:44px}.bf-summary>summary,.truck-history>summary{cursor:pointer;padding:12px;font-size:15px;font-weight:750}.bf-summary .bf-sidebar{margin-top:12px}.bf-summary{min-width:0}.bf-layout{align-items:start}
body[data-workspace=control] .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:auto;min-height:74px;align-items:center}body[data-workspace=control] #courseClock{grid-column:2;grid-row:1;justify-self:center}body[data-workspace=control] .top-actions{grid-column:3;grid-row:1;justify-self:end}.header-clock>div{display:flex;flex-direction:column;align-items:center;justify-content:center}.header-clock .status{line-height:1.25}
.schedule-fullscreen{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;background:#10171d;color:#edf3f6;overscroll-behavior:contain}.schedule-fullscreen[open]{display:flex;flex-direction:column}.schedule-fullscreen header{display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) 14px 10px;gap:12px;flex:none}.schedule-fullscreen button{font:700 16px system-ui;background:#30414e;border:1px solid #728898;border-radius:8px;padding:10px 16px;min-height:44px;color:white;cursor:pointer}#scheduleFullContent{overflow:auto;flex:1;padding:0 0 env(safe-area-inset-bottom);background:#26313a}#scheduleFullContent img,#scheduleFullContent canvas{display:block;width:100%;height:auto;margin:0 auto 8px;max-width:1100px}
@media(min-width:781px) and (max-width:1200px){.rc-shell{grid-template-columns:1fr auto}.rc-shell>.rc-event{grid-column:2}.rc-menu-content{grid-column:1/-1;grid-row:2}.rc-nav{grid-row:auto;grid-column:auto}.rc-tools{grid-row:auto;grid-column:auto}}
@media(max-width:780px){
.rc-shell{display:flex;align-items:center;padding:8px 12px;gap:8px;position:relative;z-index:3;flex-wrap:nowrap}.rc-brand{font-size:0;gap:0;flex:none}.rc-brand img{width:30px;height:32px}.rc-brand span{display:none}.rc-shell>.rc-event{margin-right:auto;min-width:0;max-width:calc(100% - 200px);padding:5px 7px;border:0;background:transparent;min-height:44px}.rc-event strong{font-size:14px;max-width:100%}.rc-event small{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-mobile-menu{display:block;flex:none}.rc-mobile-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;min-height:44px;padding:8px 10px;border:1px solid #526777;border-radius:8px;font-weight:700;font-size:14px}.rc-mobile-menu>summary::-webkit-details-marker{display:none}.rc-mobile-menu:not([open])>.rc-menu-content{display:none!important}.rc-mobile-menu[open]>.rc-menu-content{display:flex!important;position:absolute;right:12px;top:calc(100% + 4px);width:min(340px,calc(100vw - 24px));flex-direction:column;align-items:stretch;background:#202932;border:1px solid #5b6e7d;border-radius:12px;padding:12px;box-shadow:0 12px 35px #0009}.rc-nav{display:flex;flex-wrap:wrap;justify-content:flex-start}.rc-nav a{flex:1;min-width:110px;text-align:center}.rc-tools{display:flex;flex-wrap:wrap}.rc-tools button{flex:1;min-width:110px}.rc-schedule-shortcut{display:block;min-height:44px;background:#25343e;color:white;border:1px solid #526777;border-radius:8px;padding:8px;font:700 14px system-ui;cursor:pointer}.race-live{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:8px 14px;gap:5px 12px}.race-live-time{grid-column:1;grid-row:1}.race-live-flag{grid-row:2;grid-column:1;padding-left:8px}.race-live-session{grid-column:2;grid-row:1/3;text-align:right}.race-live span{font-size:12px;letter-spacing:.03em}.race-live-time strong{font-size:16px}.race-live-flag strong{font-size:16px}.race-live-session strong{font-size:32px}.race-live-status{display:none}.rc-banner{font-size:14px;padding:8px 12px}
.bf-main{padding:10px 12px 92px!important}.bf-heading{flex-direction:row;align-items:center;gap:8px;margin:0 0 10px}.bf-heading h1{font-size:21px;margin:0}.bf-heading .eyebrow,.bf-heading #bfDescription,.bf-heading time{display:none}.bf-heading .rc-page-actions{width:auto;flex-wrap:nowrap;gap:6px}.bf-heading button{padding:8px;font-size:14px;min-height:44px}.bf-layout{display:block}.bf-board{padding:10px;min-height:0}.bf-board>.sectionhead{gap:8px;margin-bottom:10px}.bf-board .tabs{min-width:0;width:100%}.bf-board .tabs button{flex:1;padding:8px;min-height:44px}.bf-board input[type=search]{min-height:44px;padding:8px}.bf-cards{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.bf-car,.bf-car:only-child{min-height:150px;padding:10px;gap:4px}.bf-car .number{font-size:38px}.bf-car .type{font-size:12px;letter-spacing:0}.bf-car .colors{font-size:14px}.bf-car .note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}.bf-car .meta{font-size:12px;padding-top:3px}.bf-cards>.empty{min-height:140px;margin:10px auto}.bf-summary{margin-top:10px}.bf-actions{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:2;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#141a20;border-top:1px solid #52616e;display:flex;gap:6px}.bf-actions button{flex:1;min-height:52px;font-size:14px;padding:8px 5px}.bf-actions #bfClear{flex:0 1 65px;font-size:12px}.bf-orange{width:10px;height:10px;margin-right:2px}
body[data-workspace=units] .top{padding:4px 12px}body[data-workspace=units] .top .read-only{display:none}body[data-workspace=units] .top button{min-height:36px;font-size:14px;padding:5px 10px}.truck-main{padding:0 12px 20px!important}.truck-main>label:has(select[hidden]){display:none}.truck-main .eventbar{margin:0 0 10px;gap:8px;align-items:center}.truck-main .eventbar h1{font-size:24px;margin:0}.truck-main #unitPost{font-size:14px;margin:3px 0}.truck-main .connection{font-size:12px}.truck-main #lastSync{display:none}.truck-main #refresh{padding:5px 8px;min-height:36px}.truck-card{padding:16px!important;margin-bottom:12px}.truck-card h2{font-size:clamp(27px,8vw,40px);margin:12px 0}.truck-card .instructions{font-size:18px;margin:12px 0;line-height:1.4}.truck-card .detailmeta{font-size:12px;gap:8px}.truck-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.truck-actions button{min-height:56px;font-size:16px;padding:10px}.truck-card .note{font-size:16px;padding:10px;margin-top:8px}.truck-empty{padding:28px 12px!important;min-height:0!important}.truck-empty h2{font-size:30px}.truck-main .stats-panel,.truck-main .truck-history{padding:10px;margin-top:10px}.truck-main .notice{padding:12px;margin:8px 0}.truck-main .error:empty{display:none}body[data-workspace=control] .topbar{grid-template-columns:minmax(0,1fr) auto;min-height:64px}body[data-workspace=control] #courseClock{grid-column:1;justify-self:start}body[data-workspace=control] .top-actions{grid-column:2}
}
.bf-actions:not(:has(button:not([hidden]))){display:none}

/* mobile45.css */
.phone-tabs,.phone-more{display:none}.phone-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.phone-pager button{min-height:44px;padding:8px 12px;font-size:14px}.unit-edit-choice{display:inline-flex;flex-direction:column;align-items:flex-start;margin:4px!important}.unit-edit-choice small{font-weight:400;color:#bcccd6}.schedule-table textarea{min-width:200px;min-height:75px;margin:0;font-size:15px}.schedule-notes article{padding:10px 0;border-top:1px solid #435765}.schedule-notes p{white-space:pre-wrap}.station-identity h2{font-size:24px}#truckUpdatesPane{display:none}
@media(max-width:780px){
body.phone-workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden}body.phone-workspace>.rc-shell,body.phone-workspace>.race-live,body.phone-workspace>.rc-banner,body.phone-workspace>.top{flex:none}body.phone-workspace main{flex:1;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;padding:10px 12px!important;margin:0!important}body.phone-workspace .phone-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:none;padding:6px 10px max(6px,env(safe-area-inset-bottom));border-top:1px solid #52616e;background:#10171d;gap:5px}.phone-tabs button{border:0;background:transparent;color:#b6c6d0;font:750 14px system-ui;min-height:48px;padding:8px 4px;border-radius:8px}.phone-tabs button[aria-pressed=true]{background:#2e4228;color:#a0ff3b}.phone-more h2{margin-top:0}.phone-more button{display:block;width:100%;text-align:left;margin:8px 0;min-height:46px;font-size:16px}.phone-more{padding:16px}
body[data-phone-tab=more] .phone-more{display:block}body[data-phone-tab=more] main>:not(.phone-more){display:none!important}
body.phone-workspace[data-workspace=blackflag] .bf-heading{margin:0 0 8px}.bf-heading .rc-page-actions{display:none}.bf-heading h1{font-size:19px}.bf-actions{position:static;padding:0;border:0;margin:0 0 10px;display:flex}.bf-actions #bfClear{display:none}.bf-actions button{min-height:46px;font-size:14px}.bf-board>.sectionhead{margin-bottom:8px}.bf-board .tabs{display:none}.bf-board input[type=search]{min-height:40px}.bf-car,.bf-car:only-child{min-height:120px;gap:2px;padding:9px}.bf-car .number{font-size:34px}.bf-car .note{display:none}.bf-car .meta{font-size:12px}.bf-car .colors{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bf-summary{display:none}.bf-layout{display:block}.bf-main .panel{margin-bottom:0}body[data-phone-tab=history] .bf-actions{display:none}body[data-phone-tab=stats] .bf-heading,body[data-phone-tab=stats] .bf-actions,body[data-phone-tab=stats] .bf-board{display:none}body[data-phone-tab=stats] .bf-summary{display:block;margin:0}body[data-phone-tab=stats] .bf-summary>summary{display:none}body[data-phone-tab=stats] .bf-sidebar{margin:0;gap:10px}.bf-activity{padding:8px 0}.bf-activity:nth-child(n+4){display:none}
body.phone-workspace[data-workspace=units]>.top{display:none}body.phone-workspace[data-workspace=units] .eventbar .connection{display:none}body.phone-workspace[data-workspace=units] #connected>.eventbar{padding:0;margin:0 0 8px}body.phone-workspace[data-workspace=units] .eventbar h1{font-size:22px}.truck-main #statsPanel,.truck-main .truck-history{display:none}.truck-main .truck-card .note{display:none}.truck-main #truckUpdatesPane{display:none}.truck-main .truck-card h2{font-size:30px;margin:10px 0}.truck-main .truck-card .instructions{font-size:17px}.truck-main .truck-actions{margin:12px 0 0}.truck-main .truck-card{padding:14px!important}.truck-main .truck-empty{padding:20px 12px!important}.truck-main .truck-card .detailmeta{display:none}body[data-phone-tab=updates] #assignments,body[data-phone-tab=stats] #assignments{display:none}body[data-phone-tab=updates] #truckUpdatesPane,body[data-phone-tab=updates] .truck-history{display:block}body[data-phone-tab=stats] #statsPanel{display:block}body[data-phone-tab=stats] #statsPanel>summary{display:none}body[data-phone-tab=updates] #truckUpdatesPane h2{margin:0 0 12px;font-size:20px}.truck-main .stats-grid{grid-template-columns:1fr 1fr}
#scheduleReview .schedule-table{min-width:0}#scheduleReview .schedule-table thead{display:none}#scheduleReview .schedule-table tbody{display:block}#scheduleReview .schedule-table tr{display:grid;grid-template-columns:38px 1fr 1fr;border:1px solid #536777;border-radius:8px;padding:8px;margin:10px 0}#scheduleReview .schedule-table td{border:0;padding:4px;min-width:0}#scheduleReview .schedule-table td:nth-child(2){grid-column:2/-1}#scheduleReview .schedule-table td:nth-child(3){grid-column:2}#scheduleReview .schedule-table td:nth-child(5){grid-column:2/-1}#scheduleReview .schedule-table td:nth-child(3):before{content:'Start';font-size:13px}#scheduleReview .schedule-table td:nth-child(4):before{content:'Minutes';font-size:13px}#scheduleReview .schedule-table td:nth-child(5):before{content:'Notes';font-size:13px}#scheduleReview .schedule-table input,#scheduleReview .schedule-table textarea{width:100%;min-width:0}#scheduleReview .schedule-table input[type=checkbox]{width:22px}#scheduleReview .schedule-table-wrap{overflow:visible}
}

/* mobile46.css */
/* The next session lives with the timer in the Control column. */
.clock-schedule{margin-top:13px;padding:12px 0 0;border-top:1px solid #384c5b;min-width:0}
.clock-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.clock-schedule-head strong{font-size:12px;letter-spacing:.09em;color:#a9bbc6}.clock-schedule-head button{font:700 13px system-ui;color:#b8f48c;background:#233625;border:1px solid #65884c;border-radius:7px;padding:7px 10px;min-height:36px;cursor:pointer;white-space:nowrap}.clock-schedule p{font-size:15px;font-weight:750;line-height:1.35;margin:8px 0 0;overflow-wrap:anywhere}.clock-schedule small{display:block;font-size:13px;color:#acbdc8;margin-top:4px;line-height:1.3;overflow-wrap:anywhere}.clock-schedule small:empty{display:none}
@media(max-width:650px){.clock-schedule{margin-top:10px;padding-top:9px}.clock-schedule p{font-size:14px}.clock-schedule-head button{min-height:38px}}

/* schedule-planner.css */
.schedule-recovery{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #547044;background:#17281f;border-radius:12px;padding:14px;margin:22px 0}.schedule-recovery h3{margin:0 0 3px}.schedule-recovery p{margin:0}.schedule-recovery .rc-row{flex:none}.schedule-recovery button{white-space:nowrap}.schedule-plan-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.schedule-plan-controls label{min-width:0}.schedule-plan-controls select{min-width:0}.schedule-plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.event-tools-dialog .schedule-plan-options button{display:block;text-align:left;background:#1b2b36;border:1px solid #526672;padding:12px;min-height:95px;white-space:normal}.schedule-plan-options button strong,.schedule-plan-options button span{display:block}.schedule-plan-options button span{font-weight:500;color:#bfd0d9;font-size:14px;line-height:1.35;margin-top:6px}.schedule-plan-options button[aria-pressed=true]{border:2px solid #9fff3b;background:#273e2b}.schedule-plan-options button:disabled{opacity:.5}.plan-outcome{padding:12px;background:#253726;border-radius:9px}.plan-group-loss{display:flex;gap:7px;flex-wrap:wrap}.plan-group-loss span{padding:7px 10px;border:1px solid #516576;border-radius:8px;font-size:14px}.plan-table-wrap{max-height:290px;overflow:auto;border:1px solid #465c68;border-radius:8px}.plan-table-wrap table{min-width:600px}.plan-table-wrap thead{position:sticky;top:0;background:#25343e}.plan-table-wrap td,.plan-table-wrap th{white-space:nowrap}#planApply{width:100%;margin:8px 0}
@media(max-width:780px){.schedule-recovery{display:block}.schedule-recovery .rc-row{margin-top:10px}.schedule-recovery .rc-row button{white-space:normal}.schedule-plan-controls{grid-template-columns:1fr 1fr;gap:0 8px}.schedule-plan-controls label:nth-child(3){grid-column:1/-1}.schedule-plan-options{grid-template-columns:1fr}.event-tools-dialog .schedule-plan-options button{min-height:0}.plan-table-wrap{overflow:auto;max-height:230px}}

/* staff-operations.css */
.staff-dialog{width:min(740px,96vw);max-height:calc(var(--rc-vh,100vh) - 28px)}.staff-tabs{display:flex;gap:6px;position:sticky;top:0;background:#1a2128;z-index:1;padding:8px 0}.staff-tabs button{flex:1;white-space:nowrap}.staff-tabs [aria-selected=true]{background:#39ff2d;color:#111}.staff-chat-list{height:min(44vh,430px);overflow:auto;display:grid;align-content:start;gap:8px;padding:8px}.staff-chat-list article,.staff-card,.staff-health article{background:#222b33;border:1px solid #46525b;border-radius:12px;padding:12px}.staff-chat-list p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.staff-chat-list small,.staff-card small,.staff-health small{color:#aab8bf}.staff-incidents,.staff-health{display:grid;gap:10px;max-height:56vh;overflow:auto}.staff-card header,.staff-health article{display:flex;justify-content:space-between;gap:10px;align-items:center}.staff-state{color:#39ff2d}.staff-assignment{padding:8px;margin:10px 0;border-left:3px solid #39ff2d;background:#192329}.staff-assignment p{margin:6px 0}.staff-card-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.staff-card-actions label{flex:1;min-width:180px}.staff-card form{display:flex;gap:8px;align-items:end}.staff-card form label{flex:1}.staff-health article span{text-align:right;white-space:nowrap}.staff-health .staff-late{border-color:#f65858;color:#ffb9b9}.staff-health article div{display:grid;gap:3px}@media(max-width:680px){.staff-dialog{margin:5px auto;max-height:calc(var(--rc-vh,100vh) - 10px);width:calc(100vw - 10px)}.staff-tabs button{font-size:.8rem;padding:8px 4px}.staff-card form{display:block}.staff-health article{align-items:start}.staff-health article span{font-size:.8rem}.staff-incidents,.staff-health{max-height:60vh}}
.staff-status-button{border:1px solid #f65858;background:#4b2026;color:#fff;padding:7px 10px;border-radius:9px;font-weight:700;font-size:.8rem;white-space:nowrap}.staff-status-button[hidden]{display:none!important}@media(max-width:780px){.staff-status-button{font-size:.7rem;padding:7px 6px;max-width:140px;overflow:hidden;text-overflow:ellipsis}}
/* Conversation layout */
.chat-guidance{display:flex;justify-content:space-between;gap:12px;margin:4px 0 12px;color:#d6e4ea;font-size:.85rem;font-weight:600}.chat-guidance span{color:#98aab5;font-weight:400;font-size:.75rem}.staff-chat-list{display:flex;flex-direction:column;gap:12px;height:min(48vh,460px);padding:18px 12px;background:#151c23;border-radius:18px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#40525c transparent}.staff-chat-list .chat-bubble{flex:none;max-width:82%;width:fit-content;padding:10px 14px 8px;border:1px solid #3d4e5d;box-shadow:0 3px 10px #0002;border-radius:18px 18px 18px 5px;align-self:flex-start;background:#293846;color:#f1f6fa}.staff-chat-list .chat-sent{align-self:flex-end;background:#214b39;border-color:#347653;border-radius:18px 18px 5px 18px;color:#effff2}.chat-author{display:block;font-size:.7rem;font-weight:700;color:#b2d4ed;margin-bottom:4px}.chat-sent .chat-author{color:#a4e3b3}.staff-chat-list .chat-bubble p{margin:0;font-size:.94rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble time{display:block;text-align:right;font-size:.65rem;color:#a9bbc6;margin-top:5px}.chat-sent time{color:#a3cbb1}.chat-composer{display:flex;align-items:flex-end;gap:10px;margin-top:12px;padding:7px 8px 7px 14px;border:1px solid #455762;border-radius:24px;background:#202a32;transition:border-color .15s,box-shadow .15s}.chat-composer:focus-within{border-color:#6eae83;box-shadow:0 0 0 3px #39ff2d0b}.staff-dialog .chat-composer textarea{min-height:38px;max-height:120px;margin:0;padding:8px 0;resize:none;border:0;background:transparent;box-shadow:none;flex:1;min-width:0;font-size:16px;line-height:22px;color:#eff6f8;border-radius:0}.staff-dialog .chat-send{flex:none;width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;font-size:25px;background:#71dc8d;color:#112e1d;transition:transform .15s,opacity .15s}.chat-send:active{transform:scale(.92)}.chat-send:disabled{opacity:.45}.chat-key-hint{text-align:center;font-size:.67rem;color:#8c9da7;margin:8px 0 0}.chat-empty{margin:auto;text-align:center;color:#91a6b3;padding:24px}.chat-empty span{font-weight:700;color:#d6e5ed}.chat-empty p{font-size:.85rem}.chat-latest{display:block;margin:8px auto 0;border-radius:18px;font-size:.75rem;padding:6px 14px}.chat-latest[hidden]{display:none}.chat-arriving{animation:chat-arrive .2s ease-out}@keyframes chat-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-arriving{animation:none}.chat-composer,.chat-send{transition:none}}@media(max-width:680px){.chat-guidance{display:block}.chat-guidance span{display:block;margin-top:4px}.staff-chat-list{height:clamp(120px,calc(var(--rc-vh,100vh) - 310px),460px);padding:12px 8px}.staff-chat-list .chat-bubble{max-width:88%}.chat-key-hint{display:none}}

/* toolbar.css */
.rc-iconbar{display:flex;align-items:center;justify-content:flex-end;gap:6px}.rc-iconbar .rc-tool-icon{position:relative;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:8px!important;background:#202b34;color:#d5e4eb;border:1px solid #405460;border-radius:10px;cursor:pointer;transition:background .15s,color .15s}.rc-tool-icon svg{width:22px;height:22px}.rc-tool-icon:hover{background:#304332;color:#b0f584}.rc-tool-icon:focus-visible{outline:2px solid #97ff35;outline-offset:3px}.rc-tool-icon[data-count]:not([data-count='']):after{content:attr(data-count);position:absolute;right:-4px;top:-6px;background:#97ff35;color:#142010;border-radius:12px;padding:1px 5px;font:700 10px system-ui}.audio-slash{display:none}#eventAlertAudio[data-muted=true] .audio-slash{display:block}#eventAlertAudio[aria-pressed=true]{color:#a7ed84;border-color:#6b8a53}.rc-shell .rc-schedule-shortcut{display:none!important}.rc-tools:empty{display:none}.control-dispatch-board[hidden]{display:none!important}.control-dispatch-board{margin-top:16px}.ld-unit-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ld-unit-choices label{display:flex;align-items:center;gap:8px;border:1px solid #526779;border-radius:9px;padding:12px}.ld-unit-choices input{width:20px!important;height:20px!important;margin:0!important}
@media(min-width:1100px){.rc-shell{position:relative;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}.rc-shell>.rc-brand{grid-column:1;grid-row:1}.rc-shell>#rcNav{grid-column:2;grid-row:1;justify-self:center}.rc-shell>.rc-iconbar{grid-column:3;grid-row:1;justify-self:end}.rc-shell>.rc-event{grid-row:2;grid-column:1;justify-self:start;max-width:300px}.rc-shell>.staff-status-button{grid-row:2;grid-column:3;justify-self:end}.rc-shell>.rc-mobile-menu{display:none}.rc-nav a{padding:10px 12px;font-size:15px}}
@media(max-width:1099px){.rc-shell{display:flex;flex-wrap:wrap;gap:10px}.rc-iconbar{margin-left:auto;gap:5px}.rc-iconbar .rc-tool-icon{width:38px;height:38px;min-height:38px}.rc-shell>.rc-event{max-width:220px}.rc-mobile-menu{margin-left:auto}.rc-menu-content .rc-nav{justify-content:center}}
@media(max-width:580px){.rc-iconbar{width:100%;justify-content:flex-end;border-top:1px solid #334651;padding-top:8px}.rc-shell{padding:10px 12px}.rc-iconbar .rc-tool-icon{width:38px;height:38px}}
.rc-iconbar .rc-feedback-icon{color:#fff4f4;background:#762e35;border-color:#c75a62}.rc-iconbar .rc-feedback-icon:hover{color:#fff;background:#9d343d;border-color:#ff747d}.rc-iconbar .rc-feedback-icon:focus-visible{outline-color:#ff858b}
.feedback-success{min-height:1.5em;color:#b8f39a;font-size:14px}.feedback-private-link{font-size:13px;color:#9eabb5}.feedback-private-link a{color:#ffb7bb}

/* mobile52.css */
.phone-log-switch,.phone-session-setup>summary{display:none}
.phone-session-setup{display:contents}
@media(max-width:650px){
  html,body{height:100%;overflow:hidden}
  body[data-workspace=control]{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}
  body[data-workspace=control]>.rc-shell,body[data-workspace=control]>.rc-banner{flex:none}
  body[data-workspace=control] .app{position:relative;inset:auto;flex:1;display:flex;flex-direction:column;width:100%;height:auto;min-height:0;max-height:none;padding:0 8px max(4px,env(safe-area-inset-bottom));overflow:hidden}
  body[data-workspace=control] .topbar{display:none}
  body[data-workspace=control] .mobile-dock{display:contents}
  body[data-workspace=control] .mobile-clock{order:1;flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin:5px 0 7px;padding:7px 10px;min-height:58px;border-radius:10px}
  .mobile-clock .phone-local-time{display:block;min-width:0}
  .mobile-clock .phone-local-time span,.mobile-clock .phone-remaining #mobileSession{display:block;max-width:100%;font-size:11px;letter-spacing:.04em;color:#adbdc7;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-clock .phone-local-time strong{font-size:16px;line-height:1.3;color:#e9f2f7;letter-spacing:0}
  .mobile-clock .phone-remaining{text-align:right;min-width:0}
  .mobile-clock .phone-remaining #mobileTimer{font-size:27px;line-height:1.1;letter-spacing:-.03em}
  .mobile-clock #mobileStatus{max-width:110px;font-size:11px;font-weight:850;line-height:1.2;padding:7px;text-align:center;overflow-wrap:anywhere}
  .mobile-clock.clock-finished>div{padding:0;background:transparent}
  .mobile-clock.halfway-warning #mobileTimer{padding:0}
  body[data-workspace=control] .workspace{order:2;flex:1;min-height:0;min-width:0;overflow:hidden;gap:0}
  body[data-workspace=control] .mobile-nav{order:3;flex:none;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 0;padding:0 0 2px}
  .mobile-nav button{min-height:46px;font-size:15px}
  body[data-workspace=control] .workspace .control-panel,body[data-workspace=control] .workspace .log-panel{min-height:0;height:100%;max-height:100%;overflow:hidden}
  .control-scroll{padding:13px;overflow-y:auto;overscroll-behavior:contain}
  .control-scroll>.section-kicker{font-size:11px}
  .session-title{font-size:25px;margin:3px 0 1px}
  .session-meta{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .phone-session-setup{display:block;margin:11px 0 0;border:1px solid #445968;border-radius:9px;background:#18232c}
  .phone-session-setup>summary{display:list-item;list-style:inside disclosure-closed;cursor:pointer;padding:11px 12px;min-height:44px;font-size:15px;font-weight:750;color:#dce8ee}
  .phone-session-setup[open]>summary{list-style:inside disclosure-open;border-bottom:1px solid #445968}
  .phone-session-setup .group-controls{margin:0;padding:12px}
  .phone-session-setup .session-switch-label{margin-top:10px}
  .phone-session-setup .session-select{min-height:44px}
  .phone-session-setup .session-workflow-actions{margin-top:10px}
  .timer-card{margin-top:11px;padding:14px}
  .timer-card .timer{font-size:clamp(48px,14vw,62px);margin:2px 0 12px;line-height:1}
  .timer-card .timer-label{font-size:12px;min-height:28px}
  .timer-card .timer-actions .button{min-height:50px;font-size:15px;padding:8px 10px}
  .clock-schedule{margin-top:12px}
  .clock-schedule p{margin-top:5px}
  .log-panel .phone-log-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;gap:5px;padding:9px 10px 8px;background:#172027;border-bottom:1px solid #3a4b58}
  .phone-log-switch button{min-height:44px;padding:8px 4px;border:1px solid #445968;border-radius:8px;background:#24313c;color:#d5e1e8;font-size:14px;font-weight:750}
  .phone-log-switch button[aria-pressed=true]{background:#97ff35;border-color:#97ff35;color:#14210e}
  .log-panel .log-heading{padding:9px 12px;min-height:40px}
  .log-panel .log-heading h1{font-size:15px}
  .log-panel .entry-actions,.log-panel .flag-toolbar{padding:4px 12px 12px}
  .log-panel .entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .log-panel .action{min-height:58px;font-size:15px;justify-content:flex-start;text-align:left;padding:9px 12px}
  .log-panel .action-icon{font-size:20px}
  .flag-toolbar .flag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .flag-toolbar .flag{min-height:58px;padding:9px;font-size:14px}
  .flag-toolbar .flag-dot{width:16px;height:16px}
  .log-panel .log-list{min-height:0;overflow-y:auto;scrollbar-gutter:auto}
  .log-panel:not([data-log-pane=timeline]) .timeline-bar,.log-panel:not([data-log-pane=timeline]) .log-list{display:none}
  .log-panel[data-log-pane=calls] .flag-toolbar,.log-panel[data-log-pane=timeline] .flag-toolbar,.log-panel[data-log-pane=flags] .entry-actions,.log-panel[data-log-pane=timeline] .entry-actions{display:none}
  .log-panel[data-log-pane=timeline] .log-heading{display:none}
  .log-panel[data-log-pane=timeline] .timeline-bar{border-top:0}
  .log-panel[data-log-pane=flags] .log-heading{display:none}
  .log-panel[data-log-pane=flags] .flag-toolbar{padding-top:12px}
  .rc-shell{gap:4px 8px;padding:5px 9px}
  .rc-shell>.rc-event{flex:1;max-width:none;margin-right:0}
  .rc-shell>.rc-event small{display:none}
  .rc-iconbar{width:100%;margin:0;justify-content:space-between;gap:6px;padding-top:5px;border-top:1px solid #334651}
  .rc-iconbar .rc-tool-icon{flex:1;min-width:0;width:auto;height:40px;min-height:40px;padding:7px!important}
}
@media(max-width:650px) and (max-height:600px){
  .control-scroll{padding:9px}.timer-card{padding:10px}.timer-card .timer{font-size:44px;margin-bottom:6px}
  .log-panel .action,.flag-toolbar .flag{min-height:48px}
}

/* experience54.css */
body{isolation:isolate}
.condition-glow{position:fixed;inset:auto 0 0;height:33vh;height:33dvh;max-height:33vh;max-height:33dvh;pointer-events:none!important;z-index:-1;overflow:hidden;opacity:0;--flag-rgb:0,0,0;background:linear-gradient(to top,rgba(var(--flag-rgb),1),rgba(var(--flag-rgb),.38) 42%,transparent 100%)}
.condition-glow[data-tone=green]{--flag-rgb:140,255,59;opacity:.5}.condition-glow[data-tone=yellow]{--flag-rgb:255,215,30;opacity:.5}.condition-glow[data-tone=red]{--flag-rgb:255,55,68;opacity:.5}
.condition-glow[data-tone=black]{opacity:.5;background:linear-gradient(to top,#000,transparent);border-bottom:3px solid #c5d2dc}
.condition-glow[data-tone=checkered]{--flag-rgb:225,235,240;opacity:.5}.condition-glow[data-tone=checkered]:after{content:'';position:absolute;inset:0;background:repeating-conic-gradient(#ffffffb0 0 25%,#000000b0 0 50%) 0 0/32px 32px;mask-image:linear-gradient(to top,#000,transparent 65%);-webkit-mask-image:linear-gradient(to top,#000,transparent 65%)}
.condition-glow.pulse{animation:condition-pulse 4.5s linear 1}
@keyframes condition-pulse{0%{opacity:0}33.333%,66.666%{opacity:1}100%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.condition-glow.pulse{animation:none}}
.settings-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 18px}.settings-sections button{min-height:46px;border:1px solid #4a5e6c;border-radius:8px;background:#1a2730;color:#dce7ee;font:700 14px system-ui;padding:8px}
.settings-sections [aria-pressed=true]{background:#33482b;border-color:#91cb5c;color:#adff60}.settings-heading{font-size:17px;margin:12px 0}.settings-presets{border-top:1px solid #42515d;margin-top:16px;padding-top:8px}.settings-presets summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:15px}.settings-toggle{display:flex!important;align-items:center;gap:12px;margin:18px 0 8px!important;min-height:44px}.settings-toggle input{width:22px!important;min-height:22px!important;height:22px;margin:0!important;accent-color:#97ff35}.settings-audio{gap:12px}.settings-audio button{white-space:normal}
.ready-check-button{width:100%;margin-top:12px;min-height:44px;text-align:left;border:1px solid #4b5c68;border-radius:8px;background:#1b2932;color:#dce8ed;font:700 14px system-ui;padding:10px 12px}.ready-check-button[data-ready=true]{color:#a5f66e;border-color:#53793b}
.readiness-list article,.delivery-row{padding:13px 0;border-bottom:1px solid #415562}.readiness-list header,.delivery-row header{display:flex;justify-content:space-between;align-items:center;gap:12px}.readiness-list strong,.delivery-row strong{font-size:16px}.readiness-list p,.delivery-row p{font-size:14px;margin:5px 0;color:#b4c5cf}.readiness-list [data-ok=true]{color:#a7f674}.readiness-list [data-ok=false]{color:#ffd18d}.readiness-list button,.delivery-row button{margin-top:7px;min-height:44px}
.delivery-button{display:block;border:1px solid #4f6270;background:#1b2932;color:#c9dce7;font:700 13px system-ui;padding:7px 10px;min-height:36px;border-radius:8px;cursor:pointer}.delivery-button[data-pending=true]{border-color:#dfab56;color:#ffcf85}.rc-menu-content .delivery-button{width:100%}
.quick-undo{position:fixed;left:50%;transform:translateX(-50%);bottom:max(18px,env(safe-area-inset-bottom));z-index:12;display:flex;align-items:center;gap:14px;max-width:calc(100% - 24px);padding:10px 12px;background:#e3efd9;color:#182614;border:1px solid #a4bf90;border-radius:12px;box-shadow:0 5px 25px #0008;font:600 14px system-ui}.quick-undo button{min-height:44px;padding:8px 14px;border:1px solid #47633a;border-radius:8px;background:#263e21;color:#fff;font:750 15px system-ui}.quick-undo[hidden]{display:none}
@media(min-width:1100px){.rc-shell>.delivery-button{grid-row:2;grid-column:2;justify-self:center}}
@media(max-width:650px){.settings-sections{grid-template-columns:1fr 1fr;position:sticky;top:-12px;background:#202932;padding:8px 0;z-index:1}.quick-undo{bottom:calc(66px + env(safe-area-inset-bottom));width:calc(100% - 24px)}.rc-shell>.delivery-button{flex:1}.rc-dialog.experience-dialog{max-height:calc(100dvh - 24px)}.mobile-clock #clockTools{display:none}}
@media print{.condition-glow,.quick-undo,.delivery-button,.ready-check-button{display:none!important}}

/* beta101.css */
.incident-history-heading{display:flex;justify-content:space-between;gap:1rem;color:#a8bcc8;margin:0 0 1rem;font-size:.875rem}.incident-history{margin-top:1rem;border-top:1px solid #425360;padding-top:.7rem}.incident-history summary{cursor:pointer;font-weight:650;font-size:.9rem}.incident-history ol{list-style:none;padding:0;margin:1rem 0}.incident-history li{display:grid;grid-template-columns:5.4rem 1fr;gap:1rem;padding:.7rem 0;position:relative}.incident-history li+li{border-top:1px solid #344652}.incident-history time{font:650 .8rem ui-monospace,monospace;color:#a6bac8;padding-top:.2rem}.incident-history li p{margin:.25rem 0;font-size:.9rem;color:#cbd7de}.incident-history li small{color:#95aebb}.incident-note-form{display:flex;align-items:end;gap:.7rem;margin-top:.8rem}.incident-note-form label{flex:1;margin:0!important}.incident-note-form button{flex:none;min-height:44px}.staff-state[data-resolved=true]{color:#a2ec77}.day-report-header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin:1.4rem 0}.day-report-header h1{margin:0}.day-report-header p{color:#adc0cd;margin:.4rem 0 0}.report-tabs{display:flex;gap:.5rem;margin:1.5rem 0}.report-tabs button[aria-selected=true]{background:#98ff35;color:#172109}.report-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 1.5rem}.report-hero>div{background:#202b34;border:1px solid #3b4e5c;border-radius:12px;padding:1.2rem}.report-hero strong{display:block;font-size:2.2rem;color:#acff6c;margin:.4rem 0}.report-hero span,.report-hero small{color:#b4c8d4;font-size:.9rem}.report-table-wrap{overflow:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{text-align:left;padding:.85rem;border-bottom:1px solid #3b4f5e;white-space:nowrap}.report-table th{color:#acc4d1;font-size:.875rem}.report-open-items{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.report-open-items section{background:#1d2a34;padding:1rem;border-radius:9px}.report-open-items h3{margin:0 0 .75rem}.report-open-items p{font-size:.9rem;margin:.6rem 0;color:#cbd7df}.report-note{color:#adc2cf;font-size:.875rem;line-height:1.6}.report-incident{margin:1rem 0}.report-incident>summary{cursor:pointer;font-size:1rem;font-weight:650;padding:1rem;background:#253641;border-radius:8px}.report-incident .incident-history{padding:0 1rem}.report-export{display:flex;flex-wrap:wrap;gap:.5rem}.report-status{font-size:.875rem;color:#acc2ce;min-height:1.5rem}.report-status[data-stale=true]{color:#ffcf55}.report-section{margin-top:1rem}.report-section h2{margin-bottom:.8rem}
@media(max-width:700px){.incident-history-heading span:last-child{display:none}.incident-note-form{display:block}.incident-note-form button{width:100%;margin-top:.5rem}.day-report-header{display:block}.report-export{margin-top:1rem}.report-hero{grid-template-columns:repeat(2,1fr);gap:.5rem}.report-hero>div{padding:.8rem}.report-hero strong{font-size:1.6rem}.report-open-items{grid-template-columns:1fr}.report-tabs button{flex:1}}
@media print{.rc-shell,.race-live,.report-tabs,.report-export,.condition-glow,.report-status,.rc-banner,.report-live-only{display:none!important}body,main{background:#fff!important;color:#111!important}main{max-width:none;padding:0}#reportContent [data-report-panel]{display:block!important}#reportContent [hidden]{display:block!important}#reportContent section,#reportContent .report-hero>div{background:white!important;color:#111!important;border-color:#bbb}#reportContent p,#reportContent span,#reportContent small,#reportContent strong,#reportContent th{color:#111!important}.report-open-items{display:block}.report-table-wrap{overflow:visible}.report-table th,.report-table td{white-space:normal;padding:.4rem;font-size:10pt}.report-incident{break-inside:avoid}.report-incident>summary{background:#eee}details>summary{list-style:none}details:not([open])>div,details:not([open])>section{display:block!important}}

/* beta114.css */
/* Beta 1.14: event setup, radio entry, and public schedule. */
.setup-progress{display:flex;gap:8px;margin:16px 0}.setup-progress button{flex:1}.setup-progress [aria-current=step]{background:#a5ff37;color:#162013;border-color:#a5ff37}.setup-trucks{background:#182731;padding:14px;border:1px solid #3d5d6a;border-radius:10px;margin:16px 0}.setup-trucks h3{margin-top:0}.setup-truck-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-bottom:10px}.setup-truck-row label{margin:0}.setup-truck-row button{margin-bottom:1px}.clearance-editor{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #4f6571;border-radius:10px;background:#1e2c36;margin:12px 0}.clearance-editor>div{flex:1 1 270px}.clearance-editor p{margin:6px 0}.clearance-editor label{min-width:180px}.schedule-table input[type=number]{width:80px}.schedule-table textarea{min-width:180px}.schedule-public-publish{padding:12px;background:#1e2d37;border:1px solid #415b69;border-radius:9px;margin-bottom:12px}.schedule-public-publish p{margin:6px 0 12px}.schedule-public-publish a{margin-left:8px}.public-schedule-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid #526b78;border-radius:8px;color:#b2ff65;background:#202e38}.public-schedule-icon svg{width:23px;height:23px}.tv-fan-slide{gap:1.2vw}.tv-qr-item{display:flex;flex-direction:column;align-items:center;gap:.4vh;flex-shrink:0}.tv-qr-item canvas{height:min(11vh,8vw);width:min(11vh,8vw);object-fit:contain}.tv-qr-item>span{font-size:clamp(8px,.65vw,14px);letter-spacing:.08em;color:#d6e6ee;white-space:nowrap}.tv-fan-slide>div:not(.tv-qr-item){min-width:0}.tv-fan-slide>div:not(.tv-qr-item)>strong{font-size:clamp(12px,1vw,24px)}.tv-fan-slide>div:not(.tv-qr-item)>span{font-size:clamp(10px,.8vw,18px)}.tv-fan-brand img{max-height:5vh}.control-dispatch-board{background:#142e40;border-color:#477d9d}.control-dispatch-board article{border:1px solid #497b99;background:#17394d;border-radius:10px;padding:12px}.control-assignment{margin-top:8px;border-top:1px solid #416679;padding-top:8px}.control-status-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.control-status-actions button{min-height:40px;padding:8px;font-size:13px;color:#def5ff;border:1px solid #6091aa;background:#234b62}.control-status-actions button:disabled{opacity:.5}.entry-extras{order:8}.entry-extras summary{cursor:pointer;color:#c5d6e0;padding:8px 4px}.entry-extras>div{display:grid;gap:10px}.entry-extras fieldset{margin:8px 0}.compact-entry #callFields{order:1}.compact-entry #colorField{order:2}.compact-entry #typeLabel{order:3}.compact-entry #positionFields{order:4}.compact-entry #incidentLocationField{order:5}.compact-entry #entryForm>label:has(#entryDetails){order:6}.compact-entry #originalTime{order:-1}.compact-entry .modal-actions{order:12}.compact-entry #entryError{order:11}
@media(min-width:760px){
 #entryModal{padding:12px}#entryModal .modal{width:min(1280px,100%);max-height:calc(100dvh - 24px)}
 .incident-radio-entry #entryForm{grid-template-columns:repeat(12,minmax(0,1fr));gap:7px 12px}
 .incident-radio-entry #callingField,.incident-radio-entry #incidentLocationField{grid-column:1/-1}
 .incident-radio-entry #callFields{grid-column:span 2;align-self:start}
 .incident-radio-entry #colorField{grid-column:span 10}
 .incident-radio-entry #typeLabel{grid-column:span 3}
 .incident-radio-entry #positionFields{grid-column:span 9;gap:10px}
 .incident-radio-entry .quick-grid{grid-template-columns:repeat(18,minmax(0,1fr));gap:4px}
 .incident-radio-entry .quick-choice{font-size:12px;min-width:0;padding:4px 2px;min-height:44px}
 .incident-radio-entry .color-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
 .incident-radio-entry .color-choice{font-size:13px}
 .incident-radio-entry .modal-head{margin-bottom:6px}
 .incident-radio-entry .modal-actions{position:static;padding:7px 0;margin:0}
 .incident-radio-entry #typeLabel .evasive-check{min-height:24px;padding:3px;margin-top:4px}
 .incident-radio-entry .other-color{margin-top:4px}
 .incident-radio-entry .other-color input{min-height:36px}
 .incident-radio-entry .custom-turn summary{min-height:20px;padding:2px 0;font-size:12px}
 .incident-radio-entry #positionFields fieldset{margin:0;padding:7px}
 .incident-radio-entry .position-grid{gap:6px}
 .incident-radio-entry #entryForm>label:has(#entryDetails){grid-column:1/-1}
}
@media(min-width:760px) and (max-width:900px){.incident-radio-entry .quick-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.incident-radio-entry .color-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.incident-radio-entry #callFields{grid-column:span 3}.incident-radio-entry #colorField{grid-column:span 9}}
@media(max-width:759px){.setup-truck-row{grid-template-columns:1fr 1fr auto;gap:6px}.setup-progress button{font-size:13px;padding:10px 6px}.clearance-editor{gap:8px}.clearance-editor label{width:100%}.entry-extras{grid-column:1/-1}.compact-entry #callFields,.compact-entry #typeLabel{grid-column:1/-1}}
@media(min-width:760px){.incident-radio-entry .modal{padding:12px 16px}.incident-radio-entry .color-choice{margin:0}.incident-radio-entry .modal-actions{padding:5px 0}.incident-radio-entry .modal-head{margin-bottom:4px}}
.tv-qr-item canvas{max-width:none}

/* Fan QR left, explanatory text center, schedule QR right. */
.tv-fan-slide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:clamp(18px,2vw,52px)}.tv-fan-slide .tv-qr-copy{text-align:center;align-items:center}.tv-fan-slide .tv-fan-brand{display:none}.tv-fan-slide .tv-qr-item{min-width:0}.tv-fan-slide .tv-qr-item canvas{height:min(11vh,8vw);width:min(11vh,8vw)}

.tv-fan-slide[hidden],.tv-fan-slide .tv-qr-item[hidden]{display:none!important}

.tv-main[hidden],.tv-schedule[hidden]{display:none!important}

/* Beta 1.20: posting symbols, consistent car colors and readable alerts. */
.post-type-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.post-type-choices legend{grid-column:1/-1}.posting-kind{display:flex!important;align-items:center;gap:10px;border:1px solid #718396;border-radius:8px;padding:14px;cursor:pointer}.posting-kind:has(input:checked){border-color:#dce9f1;background:#263644;box-shadow:0 0 0 2px #dce9f166}.posting-kind.mechanical:has(input:checked){border-color:#ff933d;background:#3b2a1a;box-shadow:0 0 0 2px #ff933d66}.post-flag-symbol{display:inline-block;position:relative;width:36px;height:27px;background:#080b0f;border:1px solid #75818d;border-left:3px solid #e4ecf2;border-radius:2px;flex:none;vertical-align:middle}.post-flag-symbol.mechanical:after,.mechanical>.post-flag-symbol:after{content:'';position:absolute;left:9px;top:5px;width:16px;height:16px;background:#ff8a29;border-radius:50%}.mini-post-cars article[data-type=mechanical]{border-left:4px solid #ff8a29}.mini-post-cars article[data-type=black]{border-left:4px solid #dce9f1}.mini-post-cars .post-flag-symbol{margin-right:8px}.mini-color-choices.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-color-choices .color-choice{display:flex;gap:7px;align-items:center;padding:9px}.entry-save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.entry-save-actions #broadcastField{margin:0 auto 0 0;max-width:300px;font-size:12px}.entry.alert-entry{border-left:5px solid #ff5665;background:linear-gradient(90deg,#6e1f2f44,#18222c)}.alert-entry .entry-title{color:#ff9ba4;font-weight:850}.clear-track{border:1px solid #899cab!important;color:#dae5ef!important}#exportText{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:600px){.post-type-choices{grid-template-columns:1fr}.entry-save-actions #broadcastField{flex-basis:100%;max-width:none;padding-bottom:8px}}

.fan-compact-updates{flex:none;height:96px;overflow:hidden;border-top:1px solid #385064;padding:8px 2px}.fan-compact-updates header{display:flex;gap:8px;align-items:center;min-height:28px;font-size:10px;letter-spacing:.06em}.fan-compact-updates header strong{margin-right:auto}.fan-compact-updates button{padding:3px 10px;border:1px solid #4a6275;background:#182936;color:#ecf4ff;border-radius:4px;min-width:32px;min-height:28px}.fan-compact-updates p{line-height:22px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.tv-track-updates{flex:none;height:8.5vh;min-height:72px;max-height:110px;overflow:hidden}.tv-track-updates p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;margin:.4vh 0}.tv-track-updates .tv-kicker{display:block;font-size:clamp(10px,.72vw,23px)}

.mini-color-choices .color-choice{color:var(--car-color);background:#0c1a29;border:1px solid #486176;border-radius:7px;min-height:46px;margin:0}.posting-kind input[type=radio]{width:18px!important;min-height:18px!important;padding:0;flex:none}.mini-color-choices .color-choice:has(input:checked){outline:2px solid #f5b94d;background:#263a4a}
.mini-post-workspace .post-type-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-post-cars article[data-type=black]{background:#14212b;border-color:#526575}.mini-post-cars article[data-type=mechanical]{background:#35281d;border-color:#c97c39}@media(max-width:600px){.mini-post-workspace .post-type-choices{grid-template-columns:1fr}}

/* event-days.css */
.day-current{margin-left:8px;color:#bcff6e;white-space:normal;max-width:240px}.day-tabs{margin:12px 0;flex-wrap:wrap}.day-tabs button{font-size:.85rem}.day-publication{display:flex!important;align-items:center;gap:10px;margin:12px 0}.day-publication input{width:auto!important}.schedule-table tr[hidden]{display:none}.rc-dialog [data-status]{white-space:pre-wrap}.report-day-choice{max-width:340px;margin:14px 0}
@media(max-width:700px){.day-current{max-width:none;width:100%;margin:4px 0}.rc-shell{flex-wrap:wrap}.day-tabs{gap:6px}}

.day-tabs button[aria-pressed=true]{border-color:#bcff6e;color:#bcff6e}
/* Keep the day selector beside the Event Dashboard button in desktop headers. */
@media(min-width:1100px){.rc-shell>.day-current{grid-column:2;grid-row:2;justify-self:center}}

/* control-flow.css */

.action.alert-action{background:#d72435;color:white;border:2px solid #ff8b91;font-weight:900}.action.alert-action .action-icon{color:white}.flag-grid .flag-dot{width:22px;height:22px;flex:0 0 22px;border-radius:5px}.call-type-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.call-type-choices button{min-height:44px;padding:10px 14px;border:1px solid #657581;background:#28343e;color:#f5f8fa;border-radius:7px}.call-type-choices button[aria-pressed=true]{background:#a0ff35;color:#142006;border-color:#a0ff35}#entryModal:has(#alertYellowField:not([hidden])) .call-type-choices button[aria-pressed=true]{background:#ff646c;color:#260b0c}.active-alert-card{border-color:#ff616b!important;background:#422329!important;color:#fff!important}.active-alert-card .yellow-clear{background:#ff646c;color:#260b0c}.alert-entry{border-left:3px solid #ff616b}.active-operations{gap:12px;align-items:flex-start}.active-operations .control-dispatch-board{padding:0;border:0;background:none;flex:0 1 auto;max-width:none;min-width:0}.control-dispatch-head,#controlDispatchStatus{display:none}#controlDispatchRows{display:flex;flex-wrap:wrap;gap:12px}.control-dispatch-board .dispatch-incident-card{width:280px;margin:0;padding:12px;border:1px solid #5aa2c2;border-radius:11px;background:#163347;display:flex;flex-direction:column;gap:12px;min-height:154px}.dispatch-card-details{border:0;background:none;color:#eaf4fa;padding:0;text-align:left;display:grid;gap:8px;width:100%}.dispatch-card-details strong{font-size:14px}.dispatch-card-details span{line-height:1.4;font-size:13px;max-width:100%;overflow-wrap:anywhere}.incident-clear{min-height:44px;border-radius:7px;border:1px solid #75beda;background:#95dafa;color:#102430;padding:8px 14px;font-weight:800;cursor:pointer}.dispatch-detail-dialog{width:min(820px,94vw)}.dispatch-detail-dialog .control-assignment{padding:12px;margin:10px 0}.dispatch-detail-dialog form{margin:16px 0}.dispatch-detail-dialog [data-dispatch-age]{font-variant-numeric:tabular-nums}.control-car-board{flex:0 1 auto!important;min-width:180px!important}.control-car-board button[data-status=active]{min-width:76px}.control-car-board [data-cars]{gap:8px}.ld-unit-choices input{width:22px;height:22px}.dispatch-detail-dialog textarea{min-height:90px}@media(max-width:650px){.control-dispatch-board .dispatch-incident-card{width:min(280px,100%)}.active-operations .control-dispatch-board{flex-basis:100%}}

.active-operations .active-yellow-list{display:flex;flex-wrap:wrap;flex:0 1 auto;max-width:100%;gap:12px}.active-operations .active-yellow-card{width:280px;min-height:154px}.active-operations .control-car-board{max-width:360px}.control-car-board header{flex-wrap:wrap}.dispatch-incident-card .dispatch-card-details{min-height:72px}

/* Control-side Post Car: routine fields fit the window; optional details open above the footer. */
#controlPostDialog{width:min(1140px,calc(100vw - 24px));padding:18px;max-height:calc(100dvh - 24px)}
#controlPostDialog .rc-head{align-items:flex-start;margin-bottom:12px;gap:16px}
#controlPostDialog .rc-head h2{font-size:24px;line-height:1.2}
#controlPostDialog .rc-head p{margin:4px 0 0;font-size:13px;line-height:1.4}
#controlPostDialog .mini-post-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.65fr);gap:20px;align-items:start}
#controlPostDialog .mini-post-board{min-width:0}
#controlPostDialog h3{font-size:16px;line-height:1.3;margin:0}
#controlPostDialog .mini-post-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#controlPostDialog .mini-post-cars{display:grid;gap:10px;max-height:none;overflow:visible}
#controlPostDialog .mini-post-cars article{padding:10px;margin:0;border-radius:9px;min-width:0}
#controlPostDialog .mini-post-cars article>strong{display:flex;align-items:center;gap:6px;font-size:18px;line-height:1.3}
#controlPostDialog .mini-post-cars .post-flag-symbol{width:22px;height:17px;margin:0}
#controlPostDialog .post-flag-symbol.mechanical:after{width:11px;height:11px;left:4px;top:2px}
#controlPostDialog .mini-post-cars p{font-size:14px;line-height:1.35;margin:5px 0;overflow-wrap:anywhere}
#controlPostDialog .mini-post-car-colors,#controlPostDialog .mini-post-car-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#controlPostDialog .mini-post-cars .rc-row{display:flex;gap:8px;margin-top:8px}
#controlPostDialog .mini-post-cars .rc-row button{min-width:0;padding:8px 10px;font-size:14px;flex:1}
#controlPostDialog .mini-post-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}
#controlPostDialog .mini-post-pager button{width:44px;padding:6px;flex:none}
#controlPostDialog .mini-post-pager output{font-size:13px;font-variant-numeric:tabular-nums;min-width:44px;text-align:center}
#controlPostDialog .mini-post-quick{margin:12px 0}
#controlPostDialog .mini-post-quick h3{font-size:13px;color:var(--rc-muted);margin-bottom:6px}
#controlPostDialog [data-coi]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:none;overflow:visible}
#controlPostDialog [data-coi] button{display:block;width:100%;height:44px;padding:6px 8px;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
#controlPostDialog [data-focused-board]{display:inline-block;font-size:13px;margin-top:8px}
#controlPostDialog form{display:grid;gap:10px;min-width:0}
#controlPostDialog form label{font-size:14px;line-height:1.3;margin:0;min-width:0}
#controlPostDialog form input:not([type=checkbox]):not([type=radio]),#controlPostDialog form textarea{margin:4px 0 0;padding:9px 10px;min-height:44px;height:44px;font-size:16px}
#controlPostDialog .mini-post-main-fields{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1.7fr);gap:10px;align-items:end}
#controlPostDialog fieldset{min-width:0;margin:0;padding:6px 8px 8px;border:1px solid var(--ui-border);border-radius:9px}
#controlPostDialog legend{font-size:14px;line-height:1.3;padding:0 4px}
#controlPostDialog .post-type-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0;border:0;margin:0}
#controlPostDialog .post-type-choices label{display:flex;gap:6px;align-items:center;padding:6px;min-height:44px;font-size:14px;margin:0}
#controlPostDialog .post-type-choices .post-flag-symbol{width:22px;height:17px}
#controlPostDialog .post-type-choices input{width:18px!important;height:18px;min-height:18px;min-width:18px;flex:none}
#controlPostDialog .mini-color-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
#controlPostDialog .mini-color-choices label{display:flex;gap:5px;align-items:center;min-height:44px;font-size:14px;padding:6px;min-width:0}
#controlPostDialog .mini-color-choices input{width:18px!important;height:18px;min-height:18px;min-width:18px;flex:none;margin:0}
#controlPostDialog .mini-color-choices i{width:11px;height:11px}
#controlPostDialog form>.mini-post-note{display:block}
#controlPostDialog .mini-post-note textarea{height:54px;min-height:54px;resize:vertical}
#controlPostDialog .mini-post-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;position:relative;align-items:center}
#controlPostDialog .mini-post-actions button{min-height:44px;padding:9px 12px}
#controlPostDialog .mini-post-extra,#controlPostDialog .mini-post-clear{margin:0;padding:0;border:0}
#controlPostDialog .mini-post-extra>summary,#controlPostDialog .mini-post-clear>summary{min-height:44px;padding:10px;border:1px solid var(--ui-border);border-radius:9px;font-size:14px;line-height:1.5;cursor:pointer;box-sizing:border-box}
#controlPostDialog .mini-post-extra-fields{position:absolute;left:0;bottom:calc(100% + 8px);width:min(460px,100%);padding:14px;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-panel);box-shadow:0 10px 24px #0008;z-index:5;max-height:calc(100dvh - 160px);overflow:auto}
#controlPostDialog .mini-post-extra-fields label{display:block;margin-bottom:10px}
#controlPostDialog .mini-post-extra-fields button{display:block;margin-left:auto}
#controlPostDialog .mini-post-clear{position:relative;flex:none}
#controlPostDialog .mini-post-clear>summary{font-size:13px;color:var(--rc-muted)}
#controlPostDialog .mini-post-clear-menu{position:absolute;right:0;top:calc(100% + 6px);width:220px;max-height:min(300px,45dvh);overflow:auto;display:grid;gap:6px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:10px;padding:10px;box-shadow:0 10px 24px #0008;z-index:6}
#controlPostDialog .mini-post-clear-menu button{width:100%;color:#ffb4aa;background:transparent}
#controlPostDialog .mini-post-tabs{display:none}
@media(max-width:900px){
 #controlPostDialog .mini-post-tabs{display:flex;gap:8px;margin:0 0 12px}
 #controlPostDialog .mini-post-tabs button{flex:1;font-size:14px;padding:8px}
 #controlPostDialog .mini-post-tabs [aria-selected=true]{color:var(--ui-accent);border-color:var(--ui-accent);background:#304831}
 #controlPostDialog .mini-post-layout{display:block}
 #controlPostDialog[data-mini-view=post] .mini-post-board,#controlPostDialog[data-mini-view=board] #controlPostForm{display:none}
 #controlPostDialog .mini-post-cars{max-height:none}
}
@media(max-width:550px){
 #controlPostDialog{padding:12px}
 #controlPostDialog .rc-head h2{font-size:21px}
 #controlPostDialog .rc-head p{font-size:12px}
 #controlPostDialog .mini-post-main-fields{grid-template-columns:minmax(80px,.65fr) minmax(0,1.6fr)}
 #controlPostDialog .post-type-choices{grid-template-columns:1fr}
 #controlPostDialog .mini-color-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
 #controlPostDialog .mini-color-choices i{display:none}
 #controlPostDialog .mini-color-choices label{padding:5px;gap:4px;font-size:13px}
 #controlPostDialog .mini-post-actions{gap:6px;grid-template-columns:auto minmax(0,1fr)}
 #controlPostDialog .mini-post-actions [data-new]{grid-column:1/-1}
 #controlPostDialog .mini-post-extra>summary{padding:10px 8px;font-size:13px}
}

/* event-wizard.css */
/* Scoped setup components reuse the operational palette and button conventions. */
.event-wizard-dialog{width:min(1080px,calc(100% - 24px));padding:24px;background:#20272d;border-color:#4e5b64;--rc-accent:#97ff35}.event-wizard-dialog:has(#rcCreateForm:not([hidden])) .rc-steps{display:none}.event-wizard-dialog .wizard-intro p{margin:8px 0}.wizard-intro [role=status]{font-size:12px;color:#b7c6b0}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border-bottom:1px solid #49545b;padding:16px 0 20px;margin-bottom:24px}.wizard-progress button{display:flex;align-items:flex-start;justify-content:flex-start;text-align:left;flex-direction:column;background:#2c343b;padding:12px;font-size:14px;line-height:1.3;border-color:#4a555e}.wizard-progress button span{font-size:12px;border:1px solid #7b8790;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-bottom:5px}.wizard-progress button[aria-current=step]{border-color:#97ff35;background:#2d3c28;color:#b7ff79}.wizard-progress button[aria-current=step] span{background:#97ff35;color:#1b2417;border-color:#97ff35}.event-wizard-dialog h3{font-size:24px;margin:0 0 20px}.event-wizard-dialog details{padding:14px 0}.event-wizard-dialog summary{cursor:pointer;font-weight:700;min-height:32px}.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-fields label{min-width:0}.event-wizard-dialog label,.setup-editor label{display:block;margin:12px 0 6px;font-size:14px;font-weight:650}.event-wizard-dialog input,.event-wizard-dialog textarea,.event-wizard-dialog select,.setup-editor input,.setup-editor textarea,.setup-editor select{display:block;box-sizing:border-box;width:100%;margin-top:7px;min-height:46px;padding:11px 12px;border:1px solid #65717a;background:#161d22;border-radius:8px;color:#f1f5f6;font:16px system-ui}.event-wizard-dialog input:focus-visible,.event-wizard-dialog select:focus-visible,.event-wizard-dialog textarea:focus-visible{outline:2px solid #97ff35;outline-offset:2px}.required,.optional{font:500 12px system-ui;margin-left:7px;color:#b9c6cf}.required{color:#b2ef82}.wizard-footer{position:sticky;bottom:-24px;display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:18px 0;background:#20272d;border-top:1px solid #49545b;margin-top:24px;z-index:2}.wizard-footer #setupStartOver{margin-right:auto;font-size:13px;background:transparent}.wizard-footer #setupStepCount{font-size:12px;color:#c1ccd4}.setup-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.setup-track-grid button{flex-direction:column;background:#171e23;min-width:0;text-align:center;font-size:13px;line-height:1.4}.setup-track-grid button[aria-pressed=true]{border:2px solid #97ff35;background:#293724}.setup-track-grid img{width:100%;height:135px;object-fit:contain}.setup-unit{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}.setup-unit button{margin-bottom:6px}.setup-stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-stations label{display:flex;align-items:center;gap:12px;border:1px solid #515d66;padding:16px;border-radius:10px;margin:0}.setup-stations input[type=checkbox]{width:23px;height:23px;min-height:23px;accent-color:#97ff35;flex-shrink:0;margin:0}.setup-stations small{display:block;font-weight:400;color:#b8c2ca;margin-top:6px}.setup-notice{background:#19221c;border-left:3px solid #97ff35;padding:16px;margin:22px 0;border-radius:6px}.setup-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-review section{border:1px solid #4d5b64;border-radius:12px;padding:18px}.setup-review h4{margin:0;color:#dce6ec}.setup-day{border:1px solid #4e5b64;border-radius:12px;padding:16px!important;margin:18px 0}.setup-day summary{font-size:19px}.setup-session{padding:18px;margin:14px 0;border-radius:10px;background:#171e23;border:1px solid #44515a}.setup-session-head{display:flex;justify-content:space-between;align-items:center}.setup-scan-dialog{width:min(1000px,calc(100% - 24px))}.setup-scan-dialog .wizard-footer{background:var(--rc-panel)}.setup-editor{width:min(1000px,calc(100% - 24px))}.event-dashboard{box-sizing:border-box;max-width:1240px;padding:36px 28px 80px;margin:auto;font:16px/1.55 system-ui;min-height:80vh}.dashboard-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.dashboard-heading h1{font-size:34px;line-height:1.15;margin:5px 0 12px}.dashboard-eyebrow{color:#b3ff79;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.dashboard-heading p{color:#b5c2cb;margin:5px 0}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.event-dashboard button{cursor:pointer;border:1px solid #637079;border-radius:8px;background:#303b43;color:#f3f6f8;font:650 15px system-ui;min-height:46px;padding:11px 16px}.event-dashboard button.rc-primary{background:#97ff35;border-color:#97ff35;color:#18220e}.dashboard-status{display:flex;gap:16px;flex-wrap:wrap;padding:16px 20px;background:#252f28;border:1px solid #53694c;border-radius:10px;margin:24px 0}.dashboard-status span{font-size:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-card{border:1px solid #49565f;border-radius:14px;background:#202930;padding:24px;min-width:0}.dashboard-card h2{font-size:20px;margin:0 0 8px}.dashboard-card p{color:#c0cbd2;margin:8px 0 18px}.dashboard-card .track-thumb{width:100%;height:180px;object-fit:contain}.dashboard-card .dashboard-day{border-top:1px solid #48565e;padding:12px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.dashboard-card .dashboard-day small{display:block;color:#b8c4cc}.dashboard-card ul{padding-left:20px}.dashboard-card .station-row{padding:9px 0;border-bottom:1px solid #41505a;font-size:14px}.dashboard-empty{max-width:660px;margin:12vh auto}.event-dashboard [role=alert]{color:#ffd18f}.event-dashboard .muted{color:#b8c4cc}.event-dashboard button:disabled{opacity:.5;cursor:not-allowed}.setup-editor .wizard-footer{background:var(--rc-panel)}
@media(max-width:750px){.wizard-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.wizard-progress button{padding:8px 6px;font-size:11px}.setup-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-heading{align-items:flex-start;flex-direction:column}.event-dashboard{padding:24px 16px}.dashboard-heading h1{font-size:28px}.setup-unit{grid-template-columns:1fr 1fr}.setup-unit button{grid-column:1/-1}.setup-unit button{justify-self:start}.wizard-footer{flex-wrap:wrap}.wizard-footer #setupStartOver{margin-right:auto}.setup-stations{grid-template-columns:1fr}}
@media(max-width:480px){.event-wizard-dialog{padding:16px;width:calc(100% - 12px)}.setup-fields,.setup-review{grid-template-columns:1fr}.wizard-footer{bottom:-16px}.wizard-progress{overflow-x:auto;grid-template-columns:repeat(5,105px)}.wizard-progress button{font-size:12px}.setup-track-grid img{height:95px}.dashboard-card{padding:18px}.wizard-footer #setupStepCount{display:none}}

body[data-event-dashboard]{margin:0;font-family:system-ui,sans-serif}.setup-track-grid img,.dashboard-card .track-thumb{box-sizing:border-box;background:#e6e9e9;border-radius:7px;padding:8px}
.wizard-progress{position:sticky;top:0;background:#20272d;z-index:3}
@media(max-width:480px){.wizard-footer #setupStepCount{display:inline;font-size:11px}.wizard-footer #setupStartOver{font-size:12px;padding:10px}}

/* ui-tokens.css */
/* Shared staff controls. Flag colors, map overlays and role-specific layouts keep their own rules. */
:root{--ui-canvas:#1b2127;--ui-panel:#252d34;--ui-field:#171e24;--ui-border:#58656f;--ui-accent:#97ff35;--ui-text:#edf2f5;--ui-muted:#b9c5ce;--ui-radius:9px;--ui-space:12px}
body[data-workspace]{--rc-accent:var(--ui-accent);--rc-panel:var(--ui-panel)}
body[data-workspace] dialog,body[data-workspace] .modal{border-radius:14px;background:var(--ui-panel);color:var(--ui-text)}
body[data-workspace] dialog button,body[data-workspace] .modal button{min-height:44px;border-radius:var(--ui-radius)}
body[data-workspace] dialog input:not([type=checkbox]):not([type=radio]),body[data-workspace] dialog select,body[data-workspace] dialog textarea{font-size:16px;min-height:46px;border-radius:var(--ui-radius)}
body[data-workspace] :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}
.rc-dialog .rc-head,.modal .modal-head,.dialog-head{gap:var(--ui-space)}
.rc-dialog [role=alert]{color:#ffb4aa;white-space:pre-wrap}.rc-dialog [role=status]{color:var(--ui-muted)}
.rc-dialog[aria-busy=true]{cursor:progress}.ui-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:-24px;background:var(--ui-panel);border-top:1px solid var(--ui-border);padding:16px 0;margin-top:20px;z-index:2}
.rc-iconbar{gap:4px}.rc-iconbar .rc-tool-icon{width:44px!important;height:44px!important;min-height:44px!important;flex-shrink:0}
body[data-workspace=flagger] .settings-button,body[data-workspace=flagger] .connection{width:44px;height:44px;min-width:44px;min-height:44px}
.color-choice i{display:inline-block;width:14px;height:14px;border:1px solid #ffffff80;border-radius:50%;flex-shrink:0}.color-grid,.rc-color-grid{gap:8px}.rc-dialog .color-choice{min-height:44px;align-items:center}
.rc-dialog .post-type-choices{display:flex;gap:12px;flex-wrap:wrap;border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:12px}.rc-dialog .post-type-choices label{display:flex;gap:9px;align-items:center;min-height:44px;margin:0}.rc-dialog .post-type-choices input[type=radio]{width:22px;height:22px;min-height:22px;min-width:22px;margin:0;accent-color:var(--ui-accent)}
#entryModal:has(#callTypeChoices:not(:empty)) #entryType{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}#entryModal:has(#callTypeChoices:not(:empty)) #typeLabel>label:first-child{display:none}
.schedule-import,.schedule-bulk-settings{margin:12px 0;border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:0 12px}.schedule-import>summary,.schedule-bulk-settings>summary{min-height:44px;display:list-item;padding:12px 4px;cursor:pointer}.schedule-editor-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.schedule-editor-toolbar label{margin:0;flex:1;min-width:130px}.schedule-editor-toolbar button{flex:0 0 auto}
.schedule-editor .schedule-table-wrap{max-width:100%;overflow:auto}.schedule-editor .day-tabs button[aria-pressed=true]{background:#304831;border-color:var(--ui-accent);color:var(--ui-accent)}.schedule-editor-table{width:100%;border-collapse:collapse;min-width:1080px;font-size:14px}.schedule-editor-table tr[hidden]{display:none!important}.schedule-editor-table th,.schedule-editor-table td{text-align:left;padding:8px;border-bottom:1px solid var(--ui-border);vertical-align:top}.schedule-editor-table :is(input,select,textarea){width:100%;min-width:70px}.schedule-editor-table [data-field=group],.schedule-editor-table [data-field=session]{min-width:140px}.schedule-editor-table [data-field=notes]{min-width:180px;min-height:70px}.schedule-editor-table label{margin:0;font-size:14px}.schedule-editor-table .mobile-field-label{display:none}.schedule-editor-table input[type=checkbox]{width:22px;min-width:22px;height:22px}.schedule-editor-table tr[data-warning=true]{border-left:3px solid #ffda82}.schedule-editor-warning{font-size:12px;color:#ffda82;display:block;max-width:170px}.schedule-editor-window{width:min(1240px,calc(100% - 24px))}.schedule-editor-window .day-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.schedule-editor-window .day-tabs button{flex:none;white-space:nowrap}.schedule-editor-note{font-size:14px;color:var(--ui-muted)}
@media(max-width:650px){.ui-dialog-actions{bottom:-18px}.rc-iconbar{flex-wrap:wrap;justify-content:flex-end}.schedule-editor-table{display:block;min-width:0}.schedule-editor-table thead{display:none}.schedule-editor-table tbody{display:grid;gap:14px}.schedule-editor-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:10px;background:var(--ui-field)}.schedule-editor-table td{display:block;border:0;padding:6px;min-width:0}.schedule-editor-table td[data-wide]{grid-column:1/-1}.schedule-editor-table .mobile-field-label{display:block;font-size:13px;margin-bottom:6px;color:var(--ui-muted)}.schedule-editor-table :is(input,select,textarea){min-width:0!important}.schedule-editor-table .schedule-editor-warning{max-width:none}.schedule-editor-toolbar{display:grid;grid-template-columns:1fr 1fr}.schedule-editor-toolbar button{align-self:end}}
@media(max-width:400px){body[data-workspace=flagger] .identity{gap:3px}.schedule-editor-table tr{grid-template-columns:1fr}.schedule-editor-toolbar{grid-template-columns:1fr}}

/* Shared typography and spacing: sizes may vary by purpose, the typeface does not. */
:root{--ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ui-type-body:16px;--ui-type-label:14px;--ui-type-caption:12px;--ui-space-sm:8px;--ui-space-lg:16px}
body[data-workspace]{font-family:var(--ui-font);line-height:1.4}
body[data-workspace] :is(button,input,select,textarea,summary,label,h1,h2,h3,h4,.rc-shell,.rc-banner,dialog,.modal){font-family:var(--ui-font)!important}
body[data-workspace] :is(input,select,textarea){line-height:1.35}
body[data-workspace] :is(.rc-head,.modal-head,.dialog-head){align-items:center;gap:12px}
body[data-workspace] :is(.rc-head,.modal-head,.dialog-head) :is(h2,h3){line-height:1.2;letter-spacing:-.02em}
body[data-workspace] :is(.rc-row,.modal-actions,.rc-page-actions){align-items:center;gap:8px;flex-wrap:wrap}
body[data-workspace] :is(.form-grid,.rc-grid)>*{min-width:0}
body[data-workspace] :is(.rc-dialog,.modal) label{line-height:1.35}
body[data-workspace] :is(.entry-detail,.session-meta,.form-help){line-height:1.45}
body[data-workspace] :is(.entry-meta,.log-footer,.tap-hint){font-size:13px;line-height:1.4}
body[data-workspace] :is(.timer,.clock,time,.stat-value){font-variant-numeric:tabular-nums}
body[data-workspace] .rc-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;line-height:1.2}
body[data-workspace] .rc-event{line-height:1.35;min-width:0}
body[data-workspace] .rc-event strong{overflow-wrap:anywhere}
@media(min-width:1100px){
 body[data-workspace] .rc-shell{display:grid;grid-template-columns:auto minmax(200px,1fr) auto;gap:8px 24px;padding:12px 24px}
 body[data-workspace] .rc-shell>.rc-brand{grid-column:1;grid-row:1;align-self:center}
 body[data-workspace] .rc-shell>.rc-event{grid-column:2;grid-row:1;justify-self:start;max-width:360px}
 body[data-workspace] .rc-shell>.rc-iconbar{grid-column:3;grid-row:1;justify-self:end;flex-wrap:nowrap}
 body[data-workspace] .rc-shell>#rcNav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:flex-start;gap:8px;min-width:0;flex-wrap:wrap}
 body[data-workspace] .rc-shell>.staff-status-button{grid-column:3;grid-row:3;justify-self:end}
}
body[data-workspace=control] .log-heading{align-items:center;padding:16px;gap:12px}
body[data-workspace=control] .log-heading h1{font-size:18px;line-height:1.25;margin:0;letter-spacing:-.02em}
body[data-workspace=control] .session-title{font-size:24px;line-height:1.25;margin:8px 0 4px}
body[data-workspace=control] .entry-actions{gap:8px}
body[data-workspace=control] .entry-actions .action{line-height:1.25;align-items:center;justify-content:center;text-align:center;gap:8px}
body[data-workspace=control] .section-kicker{font-size:12px;line-height:1.3;letter-spacing:.08em}
@media(min-width:901px){
 body[data-workspace=control] .control-panel{padding:16px}
 body[data-workspace=control] .flag-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 body[data-workspace=control] .flag-grid .flag{min-height:44px;height:auto;line-height:1.25;padding:8px;text-align:left}
 body[data-workspace=control] .timer-card{margin-top:16px}
}
@media(min-width:1600px){body[data-workspace=control] .flag-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:650px){body[data-workspace=control] .log-heading{padding:10px 12px}body[data-workspace=control] .log-heading h1{font-size:16px}}
/* Form labels align with their fields instead of contributing double margins. */
body[data-workspace=dispatch] .dispatch-compose{padding:16px;margin-bottom:16px}
body[data-workspace=dispatch] .dispatch-compose form{gap:12px}
body[data-workspace=dispatch] .dispatch-compose form>label{margin:0;min-width:0;font-size:14px}
body[data-workspace=dispatch] .dispatch-compose form>label:has(textarea){grid-column:1/-1}
body[data-workspace=dispatch] .dispatch-compose textarea{min-height:64px;resize:vertical}
body[data-workspace=dispatch] .dispatch-compose .sectionhead h2{margin:0;font-size:20px;line-height:1.25}
body[data-workspace=dispatch] .dispatch-compose fieldset{margin:0;padding:12px;min-width:0}
body[data-workspace=dispatch] .dispatch-compose .ld-unit-choices{margin:0;gap:8px}
body[data-workspace=dispatch] .dispatch-compose .ld-unit-choices label{margin:0;padding:8px 12px;min-height:44px}
body[data-workspace=dispatch] .dispatch-compose .dispatch-yellow-choices h3{margin:0 0 8px;font-size:16px;line-height:1.3}
body[data-workspace=dispatch] .dispatch-compose .dispatch-yellow-choices p{margin:0 0 12px}
body[data-workspace] .rc-nav{align-items:center}
body[data-workspace] .rc-nav a{height:44px;padding:10px 12px;flex-shrink:0}
body[data-workspace] :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}
