/* 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}

/* 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}
