.employee-info-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.employee-info .employee-info-head h3 { margin:0; }
.programmer-settings-actions { display:flex; align-items:center; gap:20px; margin-top:20px; }
.programming-mode-toggle { display:flex; align-items:center; gap:8px; margin-top:18px; color:var(--ink); font-size:.76rem; font-weight:800; }.programming-mode-toggle input { width:16px; height:16px; margin:0; accent-color:var(--blue); }
.program-view-selector { display:flex; align-items:center; gap:16px; margin:18px 0 0; padding:0; border:0; }.program-view-selector legend { margin-bottom:9px; color:var(--muted); font-size:.68rem; font-weight:800; }.program-view-selector label { display:flex; align-items:center; gap:7px; color:var(--ink); font-size:.76rem; font-weight:700; }.program-view-selector input { width:16px; height:16px; margin:0; accent-color:var(--blue); }
#programSettingsContent > form,#programSettingsContent .user-settings-content > form { display:grid; gap:12px; max-width:560px; padding:24px 0; }#programSettingsContent label { display:grid; gap:5px; color:var(--muted); font-size:.72rem; font-weight:800; }#programSettingsContent input:not([type="checkbox"]):not([type="radio"]),#programSettingsContent select,#programSettingsContent textarea { width:100%; padding:10px; border:1px solid var(--line); border-radius:5px; background:#fbfdfe; color:var(--ink); }#programSettingsContent .toggle-option { display:flex; align-items:center; gap:8px; color:var(--ink); }#programSettingsContent .toggle-option input { width:16px; height:16px; margin:0; accent-color:var(--blue); }#programSettingsContent .programming-mode-toggle,#programSettingsContent .program-view-selector label { display:flex; align-items:center; }#programSettingsContent .programming-mode-toggle input,#programSettingsContent .program-view-selector input { width:16px; height:16px; margin:0; padding:0; }
#formHost .programming-mode-toggle { display:flex; align-items:center; gap:8px; justify-self:start; }#formHost .programming-mode-toggle input,#formHost .program-view-selector input { width:16px; height:16px; margin:0; padding:0; }#formHost .program-view-selector { justify-self:start; }#formHost .program-view-selector label { display:flex; align-items:center; gap:7px; }
.sms-address-list { margin-top:28px; }.sms-address-list p { margin:0 0 10px; color:var(--muted); font-size:.68rem; font-weight:800; }.sms-address-list dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }.sms-address-list dl > div { min-width:0; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--snow); }.sms-address-list dt { color:var(--ink); font-size:.72rem; font-weight:800; }.sms-address-list dd { margin:4px 0 0; overflow-wrap:anywhere; color:var(--muted); font-family:'DM Mono',monospace; font-size:.66rem; }
.user-rights-content { padding:24px; }
.user-accesses-label { margin:20px 0 0; color:var(--muted); font-size:.68rem; font-weight:800; }
.user-access-list { display:grid; gap:10px; margin-top:10px; }#formHost .user-access-list { justify-items:start; }#formHost .user-access-option { display:flex; align-items:center; justify-self:start; gap:8px; color:var(--ink); font-size:.76rem; font-weight:700; }#formHost .user-access-option input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--blue); }
.save-rights-button { justify-self:start; margin-top:24px; padding:9px 14px; border:0; border-radius:6px; background:#2e9a57; color:#fff; font-size:.78rem; font-weight:800; box-shadow:0 5px 12px rgba(46,154,87,.22); }.save-rights-button:hover { background:#237b45; }
.test-sms-button { justify-self:start; margin-top:2px; }
.test-sms-stamp { align-self:center; color:#1c7c4e; font-size:0.82rem; font-weight:700; }
.test-sms-stamp span { margin-right:4px; }
.sms-address-label { color:var(--teal); font-family:'DM Mono',monospace; font-size:.66rem; font-weight:700; }
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

.employee-editor-dialog > .dialog-shell > header { position:sticky !important; top:0; z-index:2 !important; background:#fff; box-shadow:0 2px 8px rgba(15,46,64,.08); }.employee-editor-dialog .employee-form-footer { position:sticky !important; bottom:0 !important; z-index:2 !important; display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 -24px -24px !important; padding:14px 24px; border-top:1px solid var(--line); background:#fff; box-shadow:0 -2px 8px rgba(15,46,64,.08); }.employee-editor-dialog .employee-form-footer > .primary:last-child { margin-left:auto; background:#2e9a57; box-shadow:0 5px 12px rgba(46,154,87,.22); }.employee-editor-dialog .employee-form-footer > .primary:last-child:hover { background:#237b45; }
dialog.programmer-settings-dialog { width:min(94vw,820px); }
@media (max-width:720px) { body .topbar,body .sign-in-topbar { min-height:52px; padding:max(7px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 7px max(12px,env(safe-area-inset-left)); } body .brand { gap:8px; } body .brand-mark { width:34px; height:34px; border-radius:6px; } body .brand-mark svg { width:26px; height:26px; } body .brand strong { font-size:.8rem; } body .brand small { font-size:.6rem; } body .topbar-sign-in { min-height:34px; padding:6px 9px; font-size:.66rem; } }

:root { --ink:#112235; --muted:#637184; --line:#d9e1e8; --snow:#f4f8fb; --panel:#fff; --blue:#1379b8; --blue-soft:#e5f3fa; --teal:#007e72; --teal-soft:#dff4ef; --gold:#a85d00; --gold-soft:#fff0d7; --red:#aa3a35; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:linear-gradient(115deg,#edf4f7 0%,#f9fbfc 50%,#e9f2f4 100%); font-family:Manrope,sans-serif; -webkit-text-size-adjust:100%; }
body.user-page-only > .topbar,body.user-page-only > main { display:none; }
.user-page-app-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }.user-page-operations-button { margin-right:44px; padding:8px 11px; border:1px solid #8db4ce; border-radius:6px; background:transparent; color:#fff; font-size:.72rem; font-weight:800; }.user-page-operations-button:hover { border-color:#fff; background:rgba(255,255,255,.1); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; touch-action:manipulation; }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:70px; padding:12px max(22px,calc((100vw - 1180px)/2)); color:#fff; background:#102c43; }.topbar-sign-in { min-height:36px; padding:8px 12px; border:1px solid #8db4ce; border-radius:6px; background:transparent; color:#fff; font-size:.72rem; font-weight:800; }.topbar-sign-in:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.brand { display:flex; align-items:center; gap:10px; }.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:8px; background:var(--blue); color:#fff; }.brand-mark svg { width:32px; height:32px; }.brand strong,.brand small { display:block; }.brand small { color:#b9ceda; font-size:.67rem; }.storm-status { display:flex; align-items:center; gap:8px; font-size:.74rem; font-weight:700; }.storm-status span { width:8px; height:8px; border-radius:50%; background:#69d7c5; box-shadow:0 0 0 4px rgba(105,215,197,.18); }
main { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:34px 0 60px; }.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }.event-actions { display:grid; gap:8px; justify-items:end; }.event-actions select { max-width:min(440px,100%); padding:8px 34px 8px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font-size:.72rem; font-weight:700; }.active-events-label { color:var(--muted); font-size:.67rem; font-weight:800; }.eyebrow { margin:0 0 4px; color:#22799d; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }h1,h2,p { margin-top:0; }h1 { margin-bottom:5px; font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:0; }h2 { margin-bottom:0; font-size:1rem; } .page-head > div > p:last-child { margin:0; color:var(--muted); font-size:.82rem; }
.primary { border:0; border-radius:6px; padding:11px 15px; background:var(--blue); color:#fff; font-weight:800; font-size:.78rem; box-shadow:0 5px 12px rgba(19,121,184,.22); }.primary:hover { background:#0f689f; }.primary.small { padding:8px 11px; }.icon { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font-size:1.1rem; }.icon:hover { border-color:var(--blue); color:var(--blue); }[data-close-dialog] { border-color:var(--red); border-radius:4px; background:var(--red); color:#fff; }[data-close-dialog]:hover { border-color:#862b27; background:#862b27; color:#fff; }[data-close-dialog]:focus-visible { outline:2px solid #862b27; outline-offset:2px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:26px; }.metrics article { padding:15px 16px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.84); box-shadow:0 5px 18px rgba(15,46,64,.04); }.metric-action { padding:15px 16px; border:0; border-radius:999px; background:var(--blue); color:#fff; box-shadow:0 5px 12px rgba(19,121,184,.22); font-size:.68rem; font-weight:800; text-align:center; }.metric-action:hover { background:#0f689f; }.metrics small { display:block; color:var(--muted); font-size:.68rem; font-weight:700; }.metrics strong { display:block; margin-top:6px; font-family:'DM Mono',monospace; font-size:1.55rem; }
.tabs { display:flex; gap:18px; margin-bottom:16px; border-bottom:1px solid var(--line); overflow-x:auto; }.tabs button { flex:0 0 auto; padding:9px 1px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:.76rem; font-weight:800; }.tabs button.active { border-color:var(--blue); color:var(--blue); }.grid { display:grid; gap:16px; margin-bottom:16px; }.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }.panel { min-width:0; padding:24px; border:1px solid var(--line); border-radius:8px; background:var(--panel); box-shadow:0 8px 24px rgba(15,46,64,.05); }.panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }.stack { display:grid; gap:0; }.row,.route-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #e9edf1; }.stack > :last-child { border-bottom:0; }.row strong,.route-card strong { display:block; font-size:.8rem; }.row small,.route-card small { display:block; margin-top:3px; color:var(--muted); font-size:.68rem; line-height:1.35; }.pill { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:999px; padding:4px 7px; font-size:.62rem; font-weight:800; white-space:nowrap; }.ready { background:var(--teal-soft); color:var(--teal); }.warning { background:var(--gold-soft); color:var(--gold); }.muted { color:var(--muted); font-size:.68rem; font-weight:700; }.route-status { display:grid; gap:3px; color:var(--muted); font-size:.58rem; font-weight:800; text-transform:uppercase; }.route-status select { min-width:112px; padding:5px 6px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--ink); font-size:.68rem; text-transform:none; }.empty { margin:16px 0 4px; color:var(--muted); font-size:.76rem; }
.preferences-panel { max-width:680px; padding:28px 44px 36px; }.settings-section { padding-top:18px; }.settings-label { margin:0 0 8px; color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.settings-section h3 { margin:0; }.settings-section-title { padding:0; border:0; background:transparent; color:var(--ink); font-size:.82rem; font-weight:800; }.settings-section-title:hover { color:var(--blue); }.settings-section-title:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:2px; }.preferences-form { display:grid; gap:14px; max-width:460px; padding-top:16px; }.preferences-form > label { display:grid; gap:5px; color:var(--muted); font-size:.68rem; font-weight:800; }.preferences-form input:not([type="checkbox"]) { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:5px; background:#fbfdfe; color:var(--ink); }.toggle-option { display:flex !important; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--snow); color:var(--ink) !important; cursor:pointer; }.toggle-option input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--blue); }.toggle-option strong,.toggle-option small { display:block; }.toggle-option strong { font-size:.76rem; }.toggle-option small { margin-top:3px; color:var(--muted); font-size:.67rem; font-weight:600; }.form-actions { display:flex; align-items:center; gap:12px; }.form-actions p { margin:0; color:var(--teal); font-size:.7rem; font-weight:700; }.user-settings-content { padding:16px; }.user-settings-content .empty { margin:0; }
dialog { width:min(94vw,460px); max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; box-shadow:0 24px 64px rgba(11,30,46,.28); }dialog.employee-activation-dialog { width:min(94vw,820px); }dialog.preferences-dialog { width:min(94vw,680px); }dialog.user-page-dialog { width:min(94vw,980px); }dialog::backdrop { background:rgba(12,31,46,.48); }dialog > .dialog-shell { max-height:inherit; overflow-y:auto; }dialog > .dialog-shell > header { display:flex; align-items:center; justify-content:space-between; padding:15px 16px; border-bottom:1px solid var(--line); }.user-page-dialog > .dialog-shell { position:relative; }.user-page-dialog > .dialog-shell > header { position:absolute; top:0; right:0; z-index:1; padding:8px; border:0; }.employee-editor-dialog > .dialog-shell > header { position:sticky; top:0; z-index:1; background:#fff; }.dialog-actions { display:flex; align-items:center; gap:8px; }dialog h2 { font-size:1rem; }#eventNumber { margin:3px 0 0; color:var(--muted); font-family:'DM Mono',monospace; font-size:.7rem; font-weight:500; }#formHost form,#formHost .event-form { display:grid; gap:12px; padding:24px; }#formHost label { display:grid; gap:5px; color:var(--muted); font-size:.68rem; font-weight:800; }#formHost input,#formHost select,#formHost textarea { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:5px; background:#fbfdfe; color:var(--ink); }#formHost textarea { min-height:64px; resize:vertical; }#formHost .toggle-option { justify-self:start; display:flex !important; align-items:center; gap:8px; padding:0; border:0; background:transparent; color:var(--ink) !important; }#formHost .toggle-option input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--blue); }.employee-editor-dialog .employee-form-footer { position:sticky; bottom:-24px; z-index:1; margin:0 -24px -24px; padding:14px 24px; border-top:1px solid var(--line); background:#fff; }.user-page-panel { min-height:min(560px,calc(100dvh - 140px)); }.user-page-app-header { display:flex; align-items:center; min-height:70px; padding:12px 20px; color:#fff; background:#102c43; }.user-page-content { padding:24px; }.user-page-panel .empty { margin:0; }
@media (max-width:720px) { .topbar { min-height:64px; padding:11px max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left)); }.storm-status { display:none; }main { width:min(100% - 24px,1180px); padding:24px 0 max(32px,env(safe-area-inset-bottom)); }.page-head { align-items:stretch; flex-direction:column; }.event-actions { justify-items:stretch; }.event-actions select { max-width:none; min-height:44px; }.page-head .primary { width:100%; min-height:44px; }.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:20px; }.metrics article { padding:12px; }.metrics strong { font-size:1.35rem; }.tabs { gap:16px; margin-right:-12px; padding-right:12px; scrollbar-width:none; }.tabs::-webkit-scrollbar { display:none; }.tabs button { min-height:44px; padding:11px 1px; }.grid.two { grid-template-columns:1fr; }.panel { padding:18px; }.row,.route-card { align-items:flex-start; }.row > div,.route-card > div { min-width:0; }.route-status { flex:0 0 104px; }.route-status select { min-width:0; width:100%; }.preferences-form { max-width:none; }.form-actions { align-items:stretch; flex-direction:column; }.form-actions .primary { min-height:44px; }dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:12px; }#formHost input,#formHost select,#formHost textarea,.preferences-form input:not([type="checkbox"]) { min-height:44px; font-size:16px; }#formHost textarea { min-height:88px; } }
@media (max-width:720px) { .topbar { min-height:64px; padding:11px max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left)); }.storm-status { display:none; }main { width:min(100% - 24px,1180px); padding:24px 0 max(32px,env(safe-area-inset-bottom)); }.page-head { align-items:stretch; flex-direction:column; }.event-actions { justify-items:stretch; }.event-actions select { max-width:none; min-height:44px; }.page-head .primary { width:100%; min-height:44px; }.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:20px; }.metrics article { padding:12px; }.metrics strong { font-size:1.35rem; }.tabs { gap:16px; margin-right:-12px; padding-right:12px; scrollbar-width:none; }.tabs::-webkit-scrollbar { display:none; }.tabs button { min-height:44px; padding:11px 1px; }.grid.two { grid-template-columns:1fr; }.panel { padding:18px; }.row,.route-card { align-items:flex-start; }.row > div,.route-card > div { min-width:0; }.route-status { flex:0 0 104px; }.route-status select { min-width:0; width:100%; }.preferences-form { max-width:none; }.form-actions { align-items:stretch; flex-direction:column; }.form-actions .primary { min-height:44px; }dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:12px; }#formHost input,#formHost select,#formHost textarea,.preferences-form input:not([type="checkbox"]) { min-height:44px; font-size:16px; }#formHost textarea { min-height:88px; } }

.sign-in-screen { position:fixed; z-index:10; inset:0; overflow-y:auto; background:#edf4f7; }.sign-in-topbar { display:flex; align-items:center; justify-content:space-between; min-height:70px; padding:12px max(22px,calc((100vw - 1180px)/2)); color:#fff; background:#102c43; }.sign-in-content { display:grid; place-items:center; min-height:calc(100dvh - 70px); padding:32px 16px; }.sign-in-form { display:grid; gap:16px; width:min(100%,400px); padding:28px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 14px 36px rgba(15,46,64,.12); }.sign-in-form h1 { margin:0 0 4px; font-size:1.35rem; }.sign-in-form label { display:grid; gap:6px; color:var(--muted); font-size:.72rem; font-weight:800; }.sign-in-form input { width:100%; min-height:42px; padding:9px 10px; border:1px solid var(--line); border-radius:5px; background:#fbfdfe; color:var(--ink); }.sign-in-form .primary { min-height:42px; }

/* User-selected display mode overrides viewport-driven responsive rules. */
body.program-view-desktop .tabs button { min-height:52px !important; padding:14px 3px !important; font-size:1.1rem !important; }
body.program-view-desktop .company-settings-tab-panel,body.program-view-desktop .operations-tab-panel,body.program-view-desktop .tab-panel { font-size:1.1rem; }body.program-view-desktop .company-settings-tab-panel h2,body.program-view-desktop .operations-tab-panel h2,body.program-view-desktop .tab-panel h2 { font-size:1.45rem; }body.program-view-desktop .company-settings-tab-panel label,body.program-view-desktop .operations-tab-panel label,body.program-view-desktop .tab-panel label,body.program-view-desktop #programSettingsContent label { font-size:.95rem; }body.program-view-desktop .company-settings-tab-panel input,body.program-view-desktop .company-settings-tab-panel select,body.program-view-desktop .company-settings-tab-panel textarea,body.program-view-desktop .operations-tab-panel input,body.program-view-desktop .operations-tab-panel select,body.program-view-desktop .operations-tab-panel textarea,body.program-view-desktop .tab-panel input,body.program-view-desktop .tab-panel select,body.program-view-desktop .tab-panel textarea,body.program-view-desktop #programSettingsContent input,body.program-view-desktop #programSettingsContent select,body.program-view-desktop #programSettingsContent textarea { font-size:1rem; }body.program-view-desktop .company-settings-tab-panel .row strong,body.program-view-desktop .company-settings-tab-panel .route-card strong,body.program-view-desktop .operations-tab-panel .row strong,body.program-view-desktop .operations-tab-panel .route-card strong,body.program-view-desktop .tab-panel .row strong,body.program-view-desktop .tab-panel .route-card strong { font-size:1.05rem; }body.program-view-desktop .company-settings-tab-panel .row small,body.program-view-desktop .company-settings-tab-panel .route-card small,body.program-view-desktop .operations-tab-panel .row small,body.program-view-desktop .operations-tab-panel .route-card small,body.program-view-desktop .tab-panel .row small,body.program-view-desktop .tab-panel .route-card small { font-size:.9rem; }
body.program-view-desktop main,body.program-view-desktop .company-settings-content { width:calc(100% - 48px) !important; max-width:none; }body.program-view-desktop .panel,body.program-view-desktop .company-settings-panel,body.program-view-desktop .preferences-panel { width:100%; max-width:none; }body.program-view-desktop dialog { width:calc(100vw - 48px) !important; max-width:none; max-height:calc(100dvh - 48px); }body.program-view-desktop dialog > .dialog-shell { width:100%; }body.program-view-desktop .preferences-panel { padding:36px 44px 44px; }body.program-view-desktop .user-page-content { min-height:calc(100dvh - 180px); }
body.program-view-desktop { font-size:18px; }body.program-view-desktop .topbar,body.program-view-desktop .sign-in-topbar { min-height:78px; }body.program-view-desktop .brand-mark { width:48px; height:48px; }body.program-view-desktop .brand-mark svg { width:36px; height:36px; }body.program-view-desktop .brand strong { font-size:1.08rem; }body.program-view-desktop .brand small,body.program-view-desktop .topbar-sign-in,body.program-view-desktop .storm-status { font-size:.8rem; }body.program-view-desktop main,body.program-view-desktop .company-settings-content { padding-top:42px; }body.program-view-desktop h1 { font-size:2.5rem; }body.program-view-desktop h2,body.program-view-desktop .employee-info h3 { font-size:1.2rem; }body.program-view-desktop .eyebrow,body.program-view-desktop .settings-label { font-size:.75rem; }body.program-view-desktop .metrics { gap:16px; margin-bottom:30px; }body.program-view-desktop .metrics article,body.program-view-desktop .panel,body.program-view-desktop .company-settings-panel { padding:28px; }body.program-view-desktop .metrics small,body.program-view-desktop .row small,body.program-view-desktop .route-card small,body.program-view-desktop .muted { font-size:.8rem; }body.program-view-desktop .metrics strong { font-size:1.85rem; }body.program-view-desktop .tabs { gap:24px; margin-bottom:20px; }body.program-view-desktop .tabs button { padding:12px 2px; font-size:.9rem; }body.program-view-desktop .row,body.program-view-desktop .route-card { gap:16px; padding:16px 0; }body.program-view-desktop .row strong,body.program-view-desktop .route-card strong,body.program-view-desktop .employee-name { font-size:.95rem; }body.program-view-desktop .primary { padding:13px 18px; font-size:.9rem; }body.program-view-desktop .primary.small { padding:10px 14px; }body.program-view-desktop .icon { width:38px; height:38px; font-size:1.25rem; }body.program-view-desktop .event-actions select,body.program-view-desktop #formHost input,body.program-view-desktop #formHost select,body.program-view-desktop #formHost textarea { padding:12px; font-size:.92rem; }body.program-view-desktop #formHost form,body.program-view-desktop #formHost .event-form,body.program-view-desktop .user-settings-content { padding:28px; }body.program-view-desktop dialog { width:min(94vw,540px); }body.program-view-desktop dialog.employee-activation-dialog { width:min(94vw,900px); }body.program-view-desktop dialog.preferences-dialog { width:min(94vw,760px); }body.program-view-desktop dialog.user-page-dialog { width:min(94vw,1080px); }
body.program-view-iphone .topbar,body.program-view-iphone .sign-in-topbar { min-height:52px; padding:7px 12px; }body.program-view-iphone .brand { gap:8px; }body.program-view-iphone .brand-mark { width:34px; height:34px; border-radius:6px; }body.program-view-iphone .brand-mark svg { width:26px; height:26px; }body.program-view-iphone .brand strong { font-size:.8rem; }body.program-view-iphone .brand small { font-size:.6rem; }body.program-view-iphone .topbar-sign-in { min-height:34px; padding:6px 9px; font-size:.66rem; }body.program-view-iphone main,body.program-view-iphone .company-settings-content { width:min(calc(100% - 24px),390px); padding:24px 0 32px; }body.program-view-iphone .page-head { align-items:stretch; flex-direction:column; }body.program-view-iphone .event-actions { justify-items:stretch; }body.program-view-iphone .event-actions select,body.program-view-iphone .page-head .primary { max-width:none; min-height:44px; }body.program-view-iphone .page-head .primary { width:100%; }body.program-view-iphone .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:20px; }body.program-view-iphone .metrics article { padding:12px; }body.program-view-iphone .metrics strong { font-size:1.35rem; }body.program-view-iphone .tabs { gap:16px; }body.program-view-iphone .tabs button { min-height:44px; padding:11px 1px; }body.program-view-iphone .grid.two { grid-template-columns:1fr; }body.program-view-iphone .panel { padding:18px; }body.program-view-iphone .row,body.program-view-iphone .route-card { align-items:flex-start; }body.program-view-iphone .form-actions { align-items:stretch; flex-direction:column; }body.program-view-iphone .form-actions .primary { min-height:44px; }body.program-view-iphone dialog { width:min(calc(100vw - 24px),390px); max-height:calc(100dvh - 24px); margin:12px; }body.program-view-iphone #formHost input,body.program-view-iphone #formHost select,body.program-view-iphone #formHost textarea { min-height:44px; font-size:16px; }body.program-view-iphone #formHost textarea { min-height:88px; }
@media (max-width:720px) { body.program-view-desktop { min-width:960px; }body.program-view-desktop .topbar,body.program-view-desktop .sign-in-topbar { min-height:70px; padding:12px 22px; }body.program-view-desktop .storm-status { display:flex; }body.program-view-desktop main,body.program-view-desktop .company-settings-content { width:calc(100% - 32px); padding:34px 0 60px; }body.program-view-desktop .page-head { align-items:flex-start; flex-direction:row; }body.program-view-desktop .event-actions { justify-items:end; }body.program-view-desktop .event-actions select { max-width:min(440px,100%); min-height:0; }body.program-view-desktop .page-head .primary { width:auto; min-height:0; }body.program-view-desktop .metrics { grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:26px; }body.program-view-desktop .metrics article { padding:15px 16px; }body.program-view-desktop .metrics strong { font-size:1.55rem; }body.program-view-desktop .tabs button { min-height:0; padding:9px 1px; }body.program-view-desktop .grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }body.program-view-desktop .panel { padding:24px; }body.program-view-desktop .row,body.program-view-desktop .route-card { align-items:center; }body.program-view-desktop .form-actions { align-items:center; flex-direction:row; }body.program-view-desktop dialog { width:min(94vw,460px); max-height:calc(100dvh - 32px); margin:auto; }body.program-view-desktop dialog.employee-activation-dialog { width:min(94vw,820px); }body.program-view-desktop #formHost input,body.program-view-desktop #formHost select,body.program-view-desktop #formHost textarea { min-height:0; font-size:inherit; } }

.list-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #e9edf1; }.list-row > div:last-child { display:flex; align-items:center; gap:10px; margin-left:auto; }.list-row strong,.list-row small { display:block; }.list-row small { margin-top:3px; color:var(--muted); font-size:.68rem; line-height:1.35; }.employee-name { display:block; padding:0; border:0; background:transparent; color:var(--ink); font-size:.8rem; font-weight:800; text-align:left; }.employee-name:hover { color:var(--blue); }.employee-name:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:2px; }.employee-info,.employee-status-panel { padding:24px; }.status-legend { display:flex; flex-wrap:nowrap; align-items:center; gap:8px 14px; margin:0 0 16px; color:var(--muted); font-size:.67rem; font-weight:700; white-space:nowrap; }.status-legend strong { color:var(--ink); font-size:.67rem; }.status-legend span { display:inline-flex; align-items:center; gap:5px; }.status-indicator,.sent-indicator { display:inline-block; width:10px; height:10px; border-radius:50%; }.not-notified,.sent-indicator { background:var(--red); }.waiting-acknowledgement { background:#d99a00; }.acknowledged { background:#2e9a57; }.employee-activation-columns,.employee-activation-row { display:grid; grid-template-columns:minmax(220px,1fr) repeat(3,100px); gap:12px; text-align:left; }.employee-activation-columns { padding:0 0 8px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.65rem; }.employee-activation-row { align-items:center; justify-content:initial; }.employee-activation-row > div:last-child { display:block; margin-left:0; }.on-site-value,.off-duty-value { color:var(--muted); font-size:.8rem; text-align:center; }.employee-info h3 { margin:0 0 18px; font-size:1rem; }.employee-info dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }.employee-info dl > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--snow); }.employee-info dt { color:var(--muted); font-size:.65rem; font-weight:800; }.employee-info dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:.78rem; font-weight:700; }.role-manager { display:grid; gap:8px; }.role-manager-head { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:.68rem; font-weight:800; }.role-list { display:grid; gap:8px; }.role-editor-row { display:grid; grid-template-columns:minmax(0,1fr) repeat(3,32px); gap:8px; align-items:center; }.role-editor-row .icon { font-size:1rem; }
