:root{--brand-blue:#51639B;--brand-blue-dark:#41507F;--brand-blue-tint:#E7EAF3;--brand-navy:#041D3A;--brand-red:#BA1F39;--brand-red-dark:#961829;--header-gray:#D3D3D3;--header-border:#75787F;--field-gray:#828282;--surface-gray:#D3D3D3;--status-green:#00C62A;--status-yellow:#E5E500;--status-red:#E54848;--ink:#000;--muted:#5A6272;--white:#fff;--surface:#F3F5F8;--hairline:#D8DDE6;--r-pill:21px;--r-md:10px;--r-sm:4px;--radius:var(--r-pill);--font:Arial,"Helvetica Neue",Helvetica,"Segoe UI",system-ui,sans-serif;--font-value:"Arial Narrow",Arial,"Helvetica Neue",Helvetica,sans-serif;--fs-hero:42px;--fs-display:30px;--fs-button:27px;--fs-name:24px;--fs-body:16px;--fs-sub:16px;--fs-mini:11px;--header-h:87px;--logo-w:240px;--logo-h:63px;--gutter:9px;--edge:14px;--menu-w:71.6%;--menu-h:61px;--menu-gap:30px;--card-gap:20px;--row-h:44px;--rule:2px;--rule-thin:1px;--content-width:430px;--shadow:none}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:var(--white)}body{padding-bottom:env(safe-area-inset-bottom);-webkit-user-select:none;user-select:none;overscroll-behavior:none}input,textarea,select,code,.link-box{-webkit-user-select:text;user-select:text}button,a,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--brand-red);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}h1,h2,h3{font-weight:700}header{position:sticky;top:0;z-index:50;background:var(--header-gray);border-bottom:1px solid var(--header-border);padding-top:env(safe-area-inset-top)}header.red{background:var(--brand-red);border-bottom-color:var(--brand-red)}header>a{display:grid;place-items:center;height:var(--header-h);text-decoration:none}header .header-wordmark{width:min(64vw,260px);height:auto;max-height:66px;object-fit:contain}header .header-badge{display:none}main{width:min(100%,var(--content-width));margin:0 auto;padding:0 0 40px}main.wide{width:min(calc(100% - 24px),1240px)}.view-as-banner+.back{margin-top:1px}.back,.close{border:0;background:transparent;color:var(--brand-blue);display:grid;place-items:center;padding:2px;border-radius:6px;cursor:pointer}.close{padding:6px;border-radius:50%}.back{margin:1px 0 0 calc(var(--edge) - 11px);width:48px;height:48px;border-radius:10px;flex:0 0 auto}.back svg{width:26px;height:26px;stroke-width:2}.back:hover,.back:focus-visible,.close:hover,.close:focus-visible{background:var(--brand-blue-tint)}.primary,.outline,.danger,.neutral{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;border:var(--rule) solid transparent;border-radius:var(--r-pill);cursor:pointer;font-weight:700;line-height:1.1;text-decoration:none;padding:10px 14px;min-height:var(--menu-h)}.primary{background:var(--brand-blue);color:var(--ink)}.primary:hover{background:var(--brand-blue-dark)}.danger{background:var(--brand-red);color:var(--ink)}.danger:hover{background:var(--brand-red-dark)}.neutral{background:var(--surface-gray);border-color:var(--header-border);color:var(--ink)}.outline{background:var(--white);color:var(--brand-blue);border-color:var(--brand-blue);border-width:var(--rule-thin);border-radius:var(--r-sm);width:100%;font-weight:400;min-height:44px}.outline:hover{background:var(--brand-blue-tint)}.primary.disabled,.primary:disabled,.outline:disabled,.danger:disabled{opacity:.5;cursor:default}.primary.alert{border-color:var(--brand-red)}.primary.big{min-height:67px;font-size:var(--fs-display)}.chip-edit{border:var(--rule-thin) solid var(--brand-blue);background:var(--white);color:var(--brand-blue);border-radius:var(--r-sm);font-size:13px;line-height:1;padding:6px 12px;min-height:44px;min-width:44px;cursor:pointer;flex:0 0 auto;font-family:var(--font);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.chip-edit:hover{background:var(--brand-blue-tint)}.chip-edit.small{font-size:11px;padding:4px 9px;min-height:44px}.chip-edit.chip-danger{border-color:var(--brand-red);color:var(--brand-red)}.chip-edit.chip-danger:hover{background:var(--brand-red);color:var(--ink)}.chip-edit.chip-danger:disabled{opacity:.55;cursor:default;background:var(--white);color:var(--brand-red)}.spec{margin:2px var(--gutter) 18px;border:var(--rule) solid var(--brand-blue);background:var(--white)}.spec-row{display:flex;align-items:center;gap:10px;min-height:var(--row-h);padding:6px 10px;border-bottom:var(--rule) solid var(--brand-blue)}.spec-row:last-child{border-bottom:0}.spec-row>.grow{flex:1;min-width:0;font-size:var(--fs-body);overflow-wrap:anywhere}.spec-row .label{font-family:var(--font)}.spec-row .value{font-family:var(--font-value)}.scene-green{color:var(--status-green)}.scene-red{color:var(--status-red)}.spec-row .value.expired,.spec-row .value.alert{color:var(--brand-red)}.spec-head{justify-content:center;font-weight:700;font-size:var(--fs-body);text-align:center}.spec-row input,.spec-row select,.spec-row textarea{flex:1;min-width:0;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:6px 8px;min-height:32px;font-family:var(--font-value);background:var(--white)}.spec-row>.label{flex:0 0 auto}.spec-row .autocomplete{flex:1;min-width:0}.spec-row .autocomplete input{width:100%}.demographics{display:flex;align-items:center;gap:6px;row-gap:6px;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end;font-family:var(--font-value);font-size:14px}.demographics label{display:inline-flex;align-items:center;gap:4px}.demographics input:not([type=radio]){width:80px;flex:0 0 auto;padding:4px 5px;min-height:44px}.demographics select{width:auto;max-width:72px;flex:0 0 auto;min-height:44px;padding:3px 4px;font-size:13px}.demographics .radio input{width:auto;min-height:auto;flex:0 0 auto;margin:0}.search{display:flex;align-items:center;gap:12px;margin:2px var(--edge) 0;padding:0 12px;border:var(--rule-thin) solid var(--brand-blue);background:var(--white);min-height:41px}.search.rounded{border-radius:var(--r-md);border-width:var(--rule);margin-bottom:14px}.search svg{color:var(--brand-blue);flex:0 0 auto}.search input{border:0;outline:0;width:100%;min-height:39px;background:transparent;font-size:var(--fs-body)}.search input::placeholder{color:var(--brand-blue);font-style:italic;opacity:1}.search.rounded input::placeholder{font-weight:700}.search .clear{border:0;background:none;color:var(--brand-blue);font-size:18px;font-style:italic;cursor:pointer;padding:0 2px;line-height:1}.verified-address{display:inline-flex;align-items:center;flex:0 0 auto}.verified-address svg{color:var(--status-green)}.vehicle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:var(--menu-w);margin:0 auto;min-height:var(--menu-h);border:0;border-radius:var(--r-pill);color:var(--ink);cursor:pointer;padding:6px 12px;text-align:center}.vehicle strong{font-size:var(--fs-button);font-weight:700;line-height:1.1}.vehicle span{font-size:var(--fs-sub);font-style:italic;font-weight:400;line-height:1.15}.vehicle .crew{font-size:13px}.vehicle:disabled{cursor:default}.vehicle.in,.vehicle.in_service{background:var(--status-green)}.vehicle.assigned,.vehicle.enroute,.vehicle.en_route_base{background:var(--status-yellow)}.vehicle.out,.vehicle.out_of_service{background:var(--status-red)}.action-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:0 var(--gutter) 26px}.action-grid .primary,.action-grid .danger,.action-grid .neutral{width:84px;min-height:var(--menu-h);padding:6px;font-size:var(--fs-body);flex:0 0 auto}.action-grid.wide-items{gap:10px}.action-grid.wide-items .primary,.action-grid.wide-items .outline{width:auto;min-width:79px;min-height:55px;border-radius:var(--r-sm);font-size:var(--fs-body);flex:0 0 auto;padding:6px 10px}.menu{display:grid;justify-items:center;gap:var(--menu-gap);padding-top:34px}.menu>.primary,.menu>.danger,.menu>.outline{width:var(--menu-w);font-size:var(--fs-button)}.home-menu>.primary,.home-menu>.danger{width:76%;font-size:24px;white-space:nowrap}.home-menu>.primary>svg,.home-menu>.danger>svg{display:block;flex:0 0 auto;transform:translateY(-1px)}.menu>.outline{width:var(--menu-w);min-height:44px;font-size:var(--fs-body);border-radius:var(--r-md)}.stack{display:grid;gap:14px}.vehicle-list{display:grid;gap:var(--card-gap);padding-top:2px}.vehicle-actions{display:flex;flex-direction:column;gap:12px;margin:0 var(--gutter) 6px}.vehicle-actions .primary{width:100%;min-height:var(--menu-h);font-size:var(--fs-button);border-radius:var(--r-pill)}.vehicle-actions .outline{width:100%;min-height:44px}.members{display:grid;gap:22px;padding:38px var(--edge) 0}.members button{display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:center;text-align:left;border:0;background:none;padding:0;cursor:pointer;width:100%}.avatar{width:35px;height:35px;border-radius:50%;border:1px solid var(--ink);background:var(--white);color:var(--ink);display:grid;place-items:center;font-weight:700;overflow:hidden}.avatar svg{width:22px;height:22px}.avatar img,.profile-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.members strong{display:block;font-size:var(--fs-name);font-weight:700;line-height:1.1}.member-meta{display:flex;align-items:center;gap:7px;margin-top:2px}.member-meta .unit{font-family:var(--font-value);font-style:italic;font-size:var(--fs-body)}.badge{display:grid;place-items:center;border-radius:50%;width:15px;height:15px;font-size:8px;font-weight:700;color:var(--white);background:var(--brand-blue);border:1px solid var(--ink)}.driver-icon{display:grid;place-items:center;width:26px;height:15px;border-radius:50%;border:1px solid var(--ink);color:var(--brand-red)}.driver-icon svg{width:16px;height:10px}.badges{display:flex;align-items:center;gap:6px}.under-development{display:grid;justify-items:center;gap:44px;padding:43px 16px 0;text-align:center}.under-development img{width:209px;height:228px;object-fit:contain}.under-development p{margin:0;color:var(--brand-blue);font-size:var(--fs-hero);font-weight:700;line-height:1.1;letter-spacing:-.01em}.profile{padding-top:4px}.profile-head{display:flex;align-items:center;gap:16px;padding:0 var(--edge) 20px}.profile-icon{width:55px;height:55px;flex:0 0 auto;border-radius:50%;border:1px solid var(--ink);background:var(--white);color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer}.profile-icon svg{width:34px;height:34px}.profile-head h2{margin:0;font-size:15px;font-weight:700}.profile-name-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:3px}.profile-name-row .unit{font-family:var(--font-value);font-style:italic;font-size:11px}.photo-upload{display:inline-flex;align-items:center;gap:6px;color:var(--brand-blue);cursor:pointer;font-size:13px;text-decoration:underline}.photo-upload input{display:none}.profile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 var(--gutter) 10px}.action-grid.wide-items.profile-actions .outline{width:100%;min-width:0;border:2px solid var(--brand-blue);border-radius:12px;min-height:52px;background:var(--white);color:var(--ink);font-family:var(--font);font-weight:700;font-size:14px;padding:8px 6px}.profile-actions .outline:hover{background:var(--brand-blue-tint)}.profile-footer{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px 0 6px}.profile-footer .text-link{border:0;background:none;font-size:14px;font-weight:400;color:#6b7280;cursor:pointer;padding:2px 8px}.profile-footer .text-link:hover{text-decoration:underline}.profile-footer .danger-text{color:var(--brand-red)}.login{width:min(100%,var(--content-width));margin:0 auto;padding:0 0 44px;text-align:center}.login-shield{width:209px;height:228px;object-fit:contain;margin:119px auto 46px;display:block}.login form{display:grid;justify-items:center;gap:0}.login-fields{display:grid;justify-items:center;gap:18px;width:100%}.login .field{width:var(--menu-w);margin:0}.login .field input{width:100%;min-height:var(--menu-h);border:0;border-radius:var(--r-pill);background:var(--field-gray);color:var(--ink);text-align:center;font-size:var(--fs-body);padding:0 16px}.login .field input::placeholder{color:var(--ink);opacity:1}.login .field input:focus{outline:3px solid var(--brand-navy);outline-offset:2px}.login-forgot{width:var(--menu-w);margin:18px auto 0;text-align:left}.login-actions{width:var(--menu-w);margin:22px auto 0;display:flex}.login .linklike{border:0;background:none;color:var(--brand-navy);font-size:var(--fs-body);cursor:pointer;padding:0 2px;text-decoration:none;font-weight:400;display:inline-flex;align-items:center;min-height:44px}.login .linklike:hover{text-decoration:underline}.login .submit{display:flex;align-items:center;justify-content:center;width:100%;background:var(--status-green);color:var(--ink);border:0;border-radius:var(--r-pill);min-height:var(--menu-h);padding:8px 22px;font-size:22px;font-weight:700;line-height:1.1;cursor:pointer;box-shadow:0 4px 12px #00c62a47}.login .submit:hover{filter:brightness(.93)}.login .submit:disabled{opacity:.55;box-shadow:none;cursor:default}.login .notice,.login .error-note{width:var(--menu-w);margin:0 auto;text-align:left}.login-help{color:var(--muted);font-size:13px;margin:34px var(--edge) 0;line-height:1.5}.duty-row{display:flex;justify-content:center;gap:44px;padding:8px 0 0}.duty-pill{min-width:105px;min-height:48px;border:0;border-radius:13px;padding:6px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-align:center}.duty-pill strong{font-size:15px;font-weight:700;line-height:1.1}.duty-pill small{font-size:9px;font-style:italic;font-family:var(--font-value);line-height:1.15;white-space:nowrap}.duty-pill.on{background:var(--status-green)}.duty-pill.off{background:var(--status-red)}.duty-pill:disabled{opacity:.55;cursor:default}.new-call{display:flex;width:295px;min-height:67px;margin:38px auto 0;align-items:center;justify-content:center;background:var(--brand-red);color:var(--ink);border:0;border-radius:var(--r-pill);font-size:var(--fs-display);font-weight:700;text-decoration:none;cursor:pointer}.new-call:hover{background:var(--brand-red-dark)}.section-hero{text-align:center;color:var(--brand-blue);font-size:var(--fs-hero);font-weight:700;margin:56px 0 32px;line-height:1.1}.vehicle-list.compact{gap:12px;margin-bottom:32px}.vehicle-list.compact .vehicle{width:165px;min-height:37px;border-radius:19px;padding:3px 8px}.vehicle-list.compact .vehicle strong{font-size:17px}.vehicle-list.compact .vehicle span{font-size:10px}.new-call-actions{display:grid;justify-items:center;gap:16px;margin:18px var(--gutter) 22px}.new-call-actions .danger.big{width:calc(100% - 8px);max-width:360px;min-height:67px;font-size:27px;border-radius:var(--r-pill)}.new-call-actions .neutral{width:calc(100% - 8px);max-width:360px;min-height:30px;font-size:var(--fs-body);border-radius:var(--r-md);border-width:var(--rule-thin)}.new-call-links{display:flex;justify-content:center;align-items:center;gap:22px;margin:0 var(--gutter) 24px}.text-link{border:0;background:none;font-size:14px;font-weight:400;color:#6b7280;cursor:pointer;padding:2px 8px}.text-link:hover{text-decoration:underline}.text-link:disabled{opacity:.5;cursor:default;text-decoration:none}.age-unit-toggle{display:inline-flex;border:1px solid var(--brand-blue);border-radius:6px;overflow:hidden}.age-unit-toggle button{border:0;background:var(--white);color:var(--ink);padding:5px 12px;min-height:44px;min-width:44px;font-size:13px;font-weight:700;cursor:pointer}.age-unit-toggle button.active{background:var(--brand-blue);color:var(--white)}.gender-label{font-size:13px;margin-left:4px}.gender-dot{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:var(--white);cursor:pointer;font-weight:700;font-size:15px;padding:0;min-height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.gender-dot.active{background:var(--brand-blue);color:var(--white);border-color:var(--brand-blue)}.section-heading{font-size:var(--fs-body);font-weight:700;text-align:center;margin:24px var(--gutter) 10px}.card{border:var(--rule) solid var(--brand-blue);border-radius:0;padding:14px;margin:0 var(--gutter) 16px;background:var(--white)}.card h2{margin:0 0 10px;font-size:var(--fs-body);text-align:center}.detail{display:grid;margin:0}.detail div{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--hairline)}.detail div:last-child{border-bottom:0}.detail dt{color:var(--muted)}.detail dd{margin:0;font-family:var(--font-value);text-align:right}.detail.times dd{flex:1;max-width:62%}.detail.times input{min-height:34px;padding:5px 8px;text-align:right;width:100%;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);font-family:var(--font-value)}.call-row{display:grid;gap:3px;border:var(--rule-thin) solid var(--brand-blue);border-left:5px solid var(--brand-blue);padding:11px;text-decoration:none;color:var(--ink);background:var(--white);text-align:left;cursor:pointer;width:100%;border-radius:var(--r-sm)}.call-row strong{font-size:var(--fs-body)}.call-row small{color:var(--muted);font-size:13px}.call-row.draft{border-left-color:var(--status-yellow)}.call-row.open{border-left-color:var(--brand-red)}.call-row.selected{background:var(--brand-blue-tint)}.status-pill{display:inline-block;border-radius:var(--r-pill);padding:4px 14px;font-weight:700;font-size:13px;margin:0 var(--gutter) 12px;color:var(--ink)}.status-pill.draft{background:var(--status-yellow)}.status-pill.open{background:var(--status-red)}.status-pill.closed{background:var(--surface-gray)}.modal .call-member-times{margin:2px 0 8px}.assignment-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.assignment-list li{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--hairline);padding-bottom:8px}.assignment-list em{color:var(--muted);font-style:normal;font-size:13px}.assignment-list .grow{flex:1;color:var(--muted);font-size:13px}.duty-card{display:flex;align-items:center;gap:12px;border-radius:var(--r-pill);padding:14px;margin:0 var(--gutter) 18px;color:var(--ink)}.duty-card.on{background:var(--status-green)}.duty-card.off{background:var(--surface-gray)}.duty-card div{flex:1}.duty-card small{display:block}.duty-card .outline{width:auto;background:var(--white)}.console{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.console-col h2{font-size:var(--fs-body);margin:20px 0 10px}.console-col h2:first-child{margin-top:0}.fleet-row{border:var(--rule-thin) solid var(--brand-blue);border-left:5px solid var(--muted);border-radius:var(--r-sm);padding:9px 11px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;cursor:grab}.fleet-row.in_service{border-left-color:var(--status-green)}.fleet-row.assigned,.fleet-row.en_route_base{border-left-color:var(--status-yellow)}.fleet-row.out_of_service{border-left-color:var(--status-red)}.fleet-row small{color:var(--muted);font-size:13px}.fleet-text{display:grid;gap:2px;min-width:0}.fleet-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster{max-height:340px;overflow:auto;gap:6px;margin-bottom:20px}.roster-filter{width:100%;margin-bottom:10px}.roster-row{display:flex;align-items:center;gap:8px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:6px 9px;background:var(--white);cursor:grab}.roster-row .grip,.fleet-row .grip{color:var(--muted);flex:0 0 auto}.roster-row .link{border:0;background:none;text-align:left;padding:0;cursor:pointer;color:var(--ink);min-height:32px}.roster-row .link strong{color:var(--brand-blue)}.roster-row .grow{flex:1;min-width:0}.badge-letter{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-left:6px;background:var(--brand-blue);color:var(--white);font-size:11px;font-weight:700}.driver-flag{margin-left:5px}.call-row.drop-target,.drop-hint.drop-target{outline:3px dashed var(--brand-blue);outline-offset:2px;background:var(--brand-blue-tint)}.drop-hint{border:2px dashed var(--brand-blue);border-radius:var(--r-sm);padding:18px}.draft-tray{display:grid;gap:7px;margin-bottom:14px}.draft-chip{display:flex;align-items:center;gap:7px;border:var(--rule-thin) solid var(--brand-blue);border-left:5px solid var(--status-yellow);border-radius:var(--r-sm);background:var(--white);padding:5px 8px}.draft-chip .grow{flex:1;border:0;background:none;text-align:left;cursor:pointer;font-weight:700;min-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-duty{margin:0 var(--gutter) 14px;padding:9px 12px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);background:var(--surface);font-size:14px;line-height:1.5}.big-link{text-align:center;margin:0}.big-link a{display:inline-flex;align-items:center;gap:8px;font-size:19px;font-weight:700;color:var(--brand-blue)}@media(min-width:760px)and (max-width:1099px){.console{grid-template-columns:minmax(220px,.8fr) minmax(0,1.35fr);grid-template-areas:"calls detail" "resources detail";align-items:start}.console>.console-col:first-child{grid-area:calls}.console>.detail-col{grid-area:detail;min-height:calc(100vh - 170px);padding:14px;border:var(--rule-thin) solid var(--brand-blue);background:var(--surface)}.console>.console-col:last-child{grid-area:resources}}@media(min-width:1100px){.console{grid-template-columns:1fr 1.5fr 1fr;align-items:start}}@media(max-width:759px){.console.has-selection .detail-col{order:-1}}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 var(--gutter) 18px}.tabs button{border:var(--rule-thin) solid var(--brand-blue);background:var(--white);border-radius:var(--r-md);padding:7px 13px;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:38px;color:var(--brand-blue)}.tabs button.active{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--white)}@media(max-width:900px){.tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:5px}.tabs button{flex:0 0 auto;scroll-snap-align:start}}.admin-portal-layout{min-width:0;margin:0 var(--gutter)}.admin-menu-bar{margin-bottom:12px}.admin-menu-toggle{width:100%;min-height:48px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);background:var(--white);color:var(--brand-blue);display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;font-weight:700;text-align:left}.admin-menu-toggle svg{flex:0 0 auto}.admin-menu-toggle>span{flex:0 0 auto;white-space:nowrap}.admin-menu-toggle strong{margin-left:auto;color:var(--ink);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.admin-sidebar{display:none;border:var(--rule-thin) solid var(--brand-blue);background:var(--white);margin-bottom:16px}.admin-sidebar.open{display:block}.admin-sidebar nav{padding:10px}.admin-drawer-head{display:none}.admin-nav-group+.admin-nav-group{margin-top:12px}.admin-nav-group h2{margin:0 8px 5px;color:var(--muted);font-size:11px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.admin-nav-group button{width:100%;min-height:40px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--brand-blue);display:flex;align-items:center;gap:9px;padding:8px 10px;cursor:pointer;font-size:13px;font-weight:700;text-align:left}.admin-nav-group button:hover{background:var(--brand-blue-tint)}.admin-nav-group button.active{background:var(--brand-blue);color:var(--white)}.admin-nav-group button svg{flex:0 0 auto}.admin-content{min-width:0}@media(max-width:1023px){.admin-menu-bar{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top));z-index:40;margin:0 calc(-1 * var(--gutter)) 12px;padding:8px var(--gutter);background:var(--white);border-bottom:1px solid var(--hairline)}.admin-menu-toggle{border-radius:var(--r-md)}.admin-sidebar.open{display:block;position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top));left:0;right:0;bottom:0;height:calc(100dvh - var(--header-h) - env(safe-area-inset-top));max-height:none;margin:0;z-index:60;border:0;border-radius:0;background:var(--brand-navy);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.admin-sidebar.open nav{padding:0 12px calc(20px + env(safe-area-inset-bottom))}.admin-sidebar.open .admin-nav-group h2,.admin-sidebar.open .admin-nav-group button{color:var(--white)}.admin-sidebar.open .admin-nav-group button{min-height:48px;padding:8px 12px;font-size:15px;gap:12px}.admin-sidebar.open .admin-nav-group button svg{width:20px;height:20px}.admin-sidebar.open .admin-nav-group button:hover{background:var(--brand-blue)}.admin-sidebar.open .admin-nav-group+.admin-nav-group{margin-top:14px}.admin-sidebar.open .admin-nav-group h2{margin-bottom:4px}.admin-sidebar.open .admin-drawer-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1;min-height:52px;padding:8px 12px;background:var(--brand-navy);border-bottom:1px solid rgba(255,255,255,.25)}.admin-sidebar.open .admin-drawer-head strong{color:var(--white);font-size:16px}.admin-sidebar.open .admin-drawer-head .close{color:var(--white);width:44px;height:44px;padding:0}.admin-sidebar.open .admin-drawer-head .close:hover{background:var(--brand-blue)}}@media(min-width:1024px){.admin-portal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.admin-menu-bar{display:none}.admin-sidebar,.admin-sidebar.open{display:block;position:sticky;top:calc(var(--header-h) + 12px);max-height:calc(100vh - var(--header-h) - 24px);overflow-y:auto;margin:0;background:var(--brand-navy);border-color:var(--brand-navy);border-radius:var(--r-sm)}.admin-sidebar nav{padding:14px 12px}.admin-nav-group h2,.admin-nav-group button{color:var(--white)}.admin-nav-group button:hover{background:var(--brand-blue)}}.admin-toolbar{display:flex;align-items:center;gap:11px;margin:0 var(--gutter) 14px;flex-wrap:wrap}.admin-toolbar.wrap>input,.admin-toolbar.wrap>select{flex:1;min-width:150px}.admin-toolbar .primary{width:auto;padding:9px 16px;min-height:44px;border-radius:var(--r-md);font-size:var(--fs-body)}.admin-toolbar .hint{margin:0;flex:1;min-width:200px;font-size:13px}.admin-toolbar a.outline{display:inline-flex;align-items:center;gap:7px}.table-wrap{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:8px;border-bottom:1px solid var(--hairline);vertical-align:top}.admin-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin-table td.right{text-align:right;white-space:nowrap}.admin-table .muted{color:var(--muted)}.sms-switch-card.off{border-color:#f3bcbc;background:#fdecec}.sms-switch-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 8px}.sms-switch{display:inline-flex;align-items:center;gap:10px;background:none;border:none;padding:4px;cursor:pointer;min-height:44px}.sms-switch:disabled{cursor:not-allowed;opacity:.6}.sms-switch-track{position:relative;width:56px;height:30px;border-radius:15px;flex:none;background:var(--surface-gray);border:var(--rule-thin) solid var(--header-border);transition:background .15s}.sms-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px #00000059;transition:left .15s}.sms-switch.on .sms-switch-track{background:var(--status-green);border-color:var(--status-green)}.sms-switch.on .sms-switch-thumb{left:29px}.sms-switch.off .sms-switch-track{background:var(--brand-red);border-color:var(--brand-red)}.sms-switch-state{font-weight:700;font-size:15px}.sms-switch.off .sms-switch-state{color:#8c1d1d}.sms-switch:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;border-radius:var(--r-sm)}.sms-switch-note{margin:0 0 8px;font-weight:700;color:#8c1d1d}.integration{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:14px}.integration svg{color:var(--brand-blue)}.integration svg.ok{color:var(--status-green)}.integration svg.bad{color:var(--status-red)}.integration span{font-size:13px;color:var(--muted)}@media(max-width:520px){.integration{grid-template-columns:30px minmax(0,1fr)}.integration>span{grid-column:2;overflow-wrap:anywhere}}@media(max-width:900px){.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table thead{display:none}.admin-table tr{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:9px;margin-bottom:11px}.admin-table td{border:0;padding:5px 3px}.admin-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin-table td[data-label=""]:before{content:none}}.search.admin-search{flex:1;min-width:220px;margin:0;border-radius:var(--r-sm)}.search.admin-search input{min-height:42px;font-size:14px}.search.admin-search input::placeholder{font-style:normal}.search input,.admin-toolbar .search input,.field .search input{border:0!important;border-radius:0;box-shadow:none!important;padding-left:0;padding-right:0;background:transparent}.search input:focus,.admin-toolbar .search input:focus,.field .search input:focus{border:0!important;box-shadow:none!important}.admin-table.dense th,.admin-table.dense td{padding:6px 8px}.admin-table .order-cell{white-space:nowrap;vertical-align:middle}.order-controls,.admin-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.order-controls .mini{padding:5px 7px;min-width:32px;min-height:32px;justify-content:center}.admin-table .actions-cell{vertical-align:middle;text-align:right}.admin-row-actions .mini{min-width:76px;justify-content:center}.status-toggle{min-width:84px;justify-content:center}.status-toggle.active{border-color:var(--status-green);background:#e8f4ec;color:#14532d}.status-toggle.inactive{border-color:var(--header-border);background:var(--surface-gray);color:var(--ink)}.admin-table a.mini{text-decoration:none}.avatar.small{width:28px;height:28px}.avatar.small svg{width:17px;height:17px}.avatar.large{width:64px;height:64px}.avatar.large svg{width:38px;height:38px}.photo-row{display:flex;align-items:center;gap:14px;margin:0 var(--gutter) 6px}.photo-row .hint{margin:6px 0 0}.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0}.tag-list li{display:inline-flex;align-items:center;gap:7px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-md);padding:5px 6px 5px 12px;background:var(--white);font-size:14px}.tag-list li.empty{border:0;padding:0;color:var(--muted)}.tag-list .mini.danger{min-height:26px;padding:3px 7px}.admin-subheading{margin:22px var(--gutter) 10px;color:var(--brand-blue);font-size:15px}.option-manager{border-radius:var(--r-md);box-shadow:0 3px 12px #041d3a14}.option-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.option-manager-head h2{text-align:left;margin:0 0 4px}.option-manager-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.option-count{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:var(--brand-blue);color:var(--white);font-weight:700}.resource-feature-card{border-radius:var(--r-md);background:var(--brand-blue-tint)}.admin-address-field .admin-search{width:100%;margin:0}.address-verification{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.4}.address-verification.verified{color:#14532d;font-weight:700}.address-verification.verified svg{color:var(--status-green);flex:0 0 auto}.address-verification.unverified{color:var(--muted)}.automation-summary{margin-top:5px;color:var(--brand-blue);font-size:12px;line-height:1.4}.permission-scroll{width:auto;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;margin:0 var(--gutter) 16px;contain:layout paint}.permission-table{min-width:520px}.permission-table th[scope=row]{text-align:left;font-weight:400;min-width:230px;text-transform:none;letter-spacing:normal}.permission-table th[scope=row] strong{display:block;font-size:14px;font-weight:700}.permission-table th[scope=col]{text-transform:none;text-align:center}.permission-table th[scope=row] small{display:block;color:var(--muted);font-size:12px;font-weight:400;font-style:normal;text-transform:none;line-height:1.45;margin-top:2px}.permission-cell{text-align:center}.permission-cell .check{justify-content:center;padding:0}.permission-cell input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;width:44px;height:44px;min-height:44px;display:inline-grid;place-content:center;background:transparent;border:0;cursor:pointer}.permission-cell input[type=checkbox]:before{content:"";width:22px;height:22px;border-radius:4px;border:var(--rule) solid var(--brand-blue);background:var(--white)}.permission-cell input[type=checkbox]:checked:before{background:var(--brand-blue) no-repeat center/15px 15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.permission-cell input[type=checkbox]:disabled{cursor:default}.permission-cell input[type=checkbox]:disabled:before{opacity:.5}.narrow-only{display:none}@media(max-width:900px){.narrow-only{display:block}}@media(max-width:900px){.permission-table,.permission-table thead,.permission-table tbody,.permission-table tr,.permission-table td,.permission-table th{display:revert}.permission-table tr{border:0;padding:0;margin:0}.permission-table td,.permission-table th{border-bottom:1px solid var(--hairline);padding:8px}}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}@media(max-width:500px){.kpi-row{grid-template-columns:1fr}}.stat-tile{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:14px;background:var(--white)}.stat-label{display:block;color:var(--muted);font-size:13px;margin-bottom:5px}.stat-value{font-size:30px;font-weight:700;line-height:1}.stat-note{display:block;color:var(--muted);font-size:12px;margin-top:6px}.stat-tile .stat-value{overflow-wrap:anywhere}.csv-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px 16px}.bar-chart{width:100%;border-collapse:collapse}.bar-chart th[scope=row]{text-align:left;font-weight:400;padding:5px 12px 5px 0;white-space:nowrap;color:var(--ink)}.bar-chart thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bar-cell{width:100%;padding:5px 0}.bar-track{display:block;width:100%;height:18px}.bar-fill{display:block;height:100%;min-width:3px;background:var(--brand-blue);border-radius:0 4px 4px 0}.bar-value{padding:5px 0 5px 12px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}@media(max-width:900px){.bar-chart,.bar-chart tbody,.bar-chart tr,.bar-chart td,.bar-chart th{display:revert}.bar-chart tr{border:0;padding:0;margin:0}}.rte{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);overflow:hidden;background:var(--white)}.rte-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px;background:var(--surface);border-bottom:1px solid var(--hairline)}.rte-toolbar button{min-height:34px;min-width:34px;border:1px solid transparent;background:var(--white);border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer;padding:0 7px}.rte-toolbar button:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.rte-emoji{font-size:17px}.rte-sep{width:1px;align-self:stretch;background:var(--hairline);margin:2px 5px}.rte-body{min-height:110px;padding:11px 12px;line-height:1.55;outline:0;white-space:pre-wrap}.rte-body:focus{box-shadow:inset 0 0 0 3px var(--brand-blue-tint)}.rte-placeholders{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;border-top:1px solid var(--hairline);background:var(--surface)}.chip{border:var(--rule-thin) solid var(--brand-blue);background:var(--white);border-radius:var(--r-md);padding:3px 10px;font-size:12px;font-weight:700;min-height:28px;cursor:pointer;color:var(--brand-blue);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chip:hover{background:var(--brand-blue-tint)}.preview-card{display:block}.preview-html,.preview-plain{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:11px;margin:8px 0;line-height:1.55}.preview-plain{white-space:pre-wrap;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.notif-card{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);background:var(--white);overflow:hidden}.notif-head{display:flex;align-items:center;gap:11px;padding:12px 14px}.notif-head .grow{flex:1;min-width:0}.notif-head .small{font-size:13px}.notif-body{border-top:1px solid var(--hairline);padding:14px;background:var(--surface)}.form-grid.two{grid-template-columns:1fr;gap:14px}@media(min-width:760px){.form-grid.two{grid-template-columns:1fr 1fr}}.view-as-banner{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;background:var(--status-yellow);color:var(--ink);font-weight:700;padding:10px 14px;cursor:pointer;text-transform:capitalize}.loading,.empty{color:var(--muted);text-align:center;padding:18px 0}.error-note{background:#fdecec;border:1px solid #F3BCBC;color:#8c1d1d;border-radius:var(--r-sm);padding:10px 12px;margin:0 var(--gutter) 12px}.notice{background:#e8f4ec;border:1px solid #A8D5BA;color:#14532d;border-radius:var(--r-sm);padding:10px 12px;margin:0 var(--gutter) 12px}.hint{color:var(--muted);line-height:1.5;margin:0 var(--gutter) 12px;font-size:14px}.chosen{color:var(--brand-blue);font-weight:700;margin:0 var(--gutter) 10px}.offline-banner{display:flex;align-items:center;gap:9px;background:#fff6e0;border:1px solid #E6C65C;color:#6b4c00;border-radius:var(--r-sm);padding:10px 12px;margin:0 var(--gutter) 12px;line-height:1.5;font-size:14px}.offline-banner svg{min-width:16px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(26px + env(safe-area-inset-bottom));background:var(--brand-navy);color:var(--white);border-radius:var(--r-pill);padding:11px 18px;display:flex;align-items:center;gap:10px;z-index:80}.toast .close{color:var(--white);min-height:auto;padding:2px}.link-box{display:block;word-break:break-all;background:var(--surface);border-radius:var(--r-sm);padding:11px;margin:10px 0;font-size:13px}.equipment{display:flex;align-items:center;gap:12px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:12px}.equipment.expired{border-color:var(--brand-red)}.equipment small{display:block;color:var(--muted);font-size:13px}.expired{color:var(--brand-red);font-weight:700}.expiring{color:#8a5a00;font-weight:700}.expiring-soon{color:var(--brand-red);font-weight:700}.equipment-title{margin:1px var(--edge) 6px;font-size:19px;letter-spacing:.4px}.equipment-page>.primary{width:calc(100% - 2*var(--edge));margin:0 var(--edge) 12px}.equipment-tally{display:flex;gap:6px;padding:0 var(--edge) 12px}.tally-box{flex:1;min-width:0;border:var(--rule-thin) solid;border-radius:var(--r-sm);padding:7px 4px 6px;text-align:center;line-height:1.15;font-size:10px;font-weight:700;letter-spacing:.5px}.tally-box b{display:block;font-size:20px;letter-spacing:0}.tally-expired{background:#fce8ec;border-color:var(--brand-red);color:var(--brand-red)}.tally-due{background:#fff6d6;border-color:#e0b000;color:#5c4400}.tally-ok{background:#e8f8ec;border-color:var(--status-green);color:#0a6b22}.equipment-cards{display:flex;flex-direction:column;gap:8px;margin:0 var(--gutter) 18px}.equipment-card{display:flex;background:var(--white);border:var(--rule) solid var(--brand-blue);border-radius:var(--r-md);overflow:hidden}.equipment-card>.rail{flex:0 0 8px}.equipment-card.is-expired{border-color:var(--brand-red)}.equipment-card.is-expired>.rail{background:var(--status-red)}.equipment-card.is-due>.rail{background:var(--status-yellow)}.equipment-card.is-ok>.rail{background:var(--status-green)}.equipment-body{flex:1;min-width:0;padding:8px 9px 8px 10px}.equipment-head{display:flex;align-items:flex-start;gap:8px}.equipment-name{flex:1;min-width:0;margin:0;font-size:var(--fs-body);line-height:1.2;overflow-wrap:anywhere}.equipment-badge{flex:0 0 auto;border-radius:var(--r-sm);padding:5px 8px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.6px;line-height:1.1;white-space:nowrap}.equipment-badge b{display:block;font-size:15px;letter-spacing:0}.badge-expired{background:var(--brand-red);color:var(--white)}.badge-due{background:var(--status-yellow);color:var(--ink);border:var(--rule-thin) solid #E0B000}.badge-ok{background:var(--status-green);color:var(--ink)}.equipment-expiry{margin:5px 0 0;font-family:var(--font-value);font-size:14px;color:var(--ink)}.equipment-expiry.expiry-expired{color:var(--brand-red);font-weight:700}.equipment-expiry.expiry-due{color:#5c4400;font-weight:700}.equipment-note{margin:2px 0 0;color:var(--muted);font-size:13px;font-style:italic;overflow-wrap:anywhere}.equipment-actions{display:flex;gap:6px;margin-top:7px}.equipment-actions .chip-edit{min-width:76px;font-size:12px;font-weight:700;letter-spacing:.6px}.equipment-empty{margin:0 var(--gutter);color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#041d3a99;display:grid;place-items:center;padding:18px;z-index:70}.modal{background:var(--white);border:var(--rule) solid var(--brand-blue);padding:20px;width:min(100%,420px);display:grid;gap:12px;position:relative}.modal h2{text-align:center;margin:6px 0;font-size:20px}.modal .close{position:absolute;right:6px;top:6px}.modal .primary{font-size:19px}.modal-sub,.modal .muted{color:var(--muted);text-align:center;margin:0}.awaiting-location{color:var(--muted)!important;font-style:italic}.awaiting-location-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:-8px var(--gutter) 14px}.awaiting-location-actions .mini{flex:1 1 170px;justify-content:center}.message-sent{display:grid;justify-items:center;gap:8px;text-align:center;padding:22px 8px}.message-sent svg{width:52px;height:52px;color:var(--status-green)}.message-sent h2,.message-sent p{margin:0}.message-sent p{color:var(--muted)}.modal .retry{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.wide-modal{width:min(100%,760px);max-height:88vh;overflow:auto}.manual-address .autocomplete .search{margin-left:0;margin-right:0;margin-bottom:0}.manual-address .autocomplete{margin-bottom:2px}.field{display:grid;gap:6px;margin:0 var(--gutter) 12px}.field>span,.field legend{font-weight:700;font-size:14px;color:var(--ink)}.field em{color:var(--muted);font-weight:400;font-style:normal}.field input,.field select,.field textarea,.admin-toolbar input,.admin-toolbar select,.admin-table input,.admin-table textarea,.row select,.row input,.roster-filter{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:10px 12px;min-height:44px;width:100%;background:var(--white);color:var(--ink);font-family:var(--font-value)}.field textarea,.admin-table textarea{min-height:auto}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-width:var(--rule);box-shadow:0 0 0 2px var(--brand-blue-tint)}.field.callback input{border-color:var(--brand-red);border-width:var(--rule)}fieldset.field{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:10px 12px}.check{display:flex;align-items:center;gap:7px;font-weight:600;padding:3px 0;min-height:auto}.check input{width:auto;min-height:auto}.check.small{font-size:13px}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row>*{flex:1;min-width:120px}.form-grid{display:grid}.linklike{border:0;background:none;color:var(--brand-blue);text-decoration:underline;font-weight:700;cursor:pointer}.actions{margin:18px var(--gutter) 0}.mini{border:var(--rule-thin) solid var(--brand-blue);background:var(--white);border-radius:var(--r-sm);padding:6px 10px;font-size:13px;font-weight:700;min-height:34px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--brand-blue)}.mini.danger{background:var(--brand-red);color:var(--ink);border-color:var(--brand-red);min-height:34px}.autocomplete{position:relative}.suggestions{position:absolute;top:100%;left:0;right:0;z-index:12;list-style:none;margin:-8px 0 0;padding:0;background:var(--white);border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);max-height:260px;overflow:auto}.suggestions button{display:block;width:100%;text-align:left;border:0;background:none;padding:11px 12px;cursor:pointer;font-size:14px}.suggestions button:hover{background:var(--brand-blue-tint)}.suggestions .muted{color:var(--muted);font-style:italic}.suggestions .location-option{font-weight:700;color:var(--brand-blue);display:flex;align-items:center;gap:8px}.member-multiselect{position:relative}.multi-select-trigger{width:100%;text-align:left;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:10px 12px;min-height:44px;background:var(--white);cursor:pointer}.multi-select-menu{position:absolute;top:100%;left:0;right:0;z-index:14;background:var(--white);border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:8px;max-height:240px;overflow:auto}.multi-select-menu input{margin-bottom:8px}.assign-directory{display:grid;gap:10px;margin:10px 0 16px;max-height:320px;overflow:auto}.assign-member-row{display:grid;grid-template-columns:35px 1fr auto auto;gap:8px;align-items:center}.assign-member-row strong{display:block;font-size:15px}.assign-member-row .mini{min-height:32px;padding:4px 8px}.mini.on-scene{background:var(--status-green);border-color:var(--status-green);color:var(--ink)}.navigation-dialog .primary{display:grid;gap:2px;border-radius:var(--r-md);color:var(--ink)}.navigation-dialog .primary strong{display:flex;align-items:center;justify-content:center;gap:8px}.navigation-dialog .primary small{font-weight:400}.text-times-dialog{max-height:88vh;overflow:auto}.text-times-dialog .unit-picker{max-height:250px;overflow:auto;margin:0}.response-direct{background:var(--brand-blue);color:var(--ink);border-color:var(--brand-blue)}.outline.auto,a.outline.auto{width:auto;padding:10px 15px;min-height:44px;text-decoration:none}.field.inline{display:flex;align-items:center;gap:9px;margin:0}.field.inline select{width:auto}.location-share{width:min(calc(100% - 32px),460px);margin:0 auto;padding:24px 0 30px;text-align:center;display:flex;flex-direction:column;align-items:center}.share-logo{width:82px;height:82px;object-fit:contain}.location-share h1{margin:14px 0 5px;font-size:27px;line-height:1.15;color:var(--brand-navy)}.share-org{color:var(--brand-blue);font-weight:700;letter-spacing:.05em;font-size:13px;margin:0 0 22px}.share-intro{line-height:1.5;margin:0 auto 20px;max-width:360px}.share-action{width:min(100%,330px);margin:0 auto;box-shadow:0 5px 14px #041d3a24}.share-card{display:flex;gap:12px;text-align:left;border-radius:var(--r-sm);padding:16px;margin-top:18px;align-items:flex-start;width:100%}.share-card.good{background:#e8f4ec;border:1px solid #A8D5BA;color:#14532d}.share-card.bad{background:#fdecec;border:1px solid #F3BCBC;color:#8c1d1d}.share-card svg{min-width:24px}.share-card p{margin:0 0 9px;line-height:1.5}.share-detail{font-weight:700}.share-steps{margin:0 0 12px;padding-left:20px;line-height:1.6;font-size:14px}.share-footer{color:var(--muted);font-size:13px;margin:26px auto 0;line-height:1.45;max-width:340px}.location-share .outline{width:auto;padding:9px 15px;min-height:42px}.phone-number-field{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;margin:0 var(--gutter) 12px}.phone-number-field label{display:grid;gap:6px;min-width:0}.phone-number-field span{font-weight:700;font-size:14px}.phone-number-field label:first-child span{white-space:nowrap;font-size:13px}.phone-number-field input{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:10px 12px;min-height:44px;width:100%;background:var(--white);color:var(--ink);font-family:var(--font-value)}.phone-number-field input:focus{outline:0;border-width:var(--rule);box-shadow:0 0 0 2px var(--brand-blue-tint)}.responder-call-info{padding-bottom:8px}.responder-view-note{margin:0 var(--gutter) 14px;padding:9px 12px;border-left:4px solid var(--brand-blue);background:var(--brand-blue-tint);color:var(--ink);font-size:13px;font-weight:700}.responder-call-summary .spec-head,.responder-call-details .spec-head,.responder-assignments .spec-head,.responder-call-times .spec-head{background:var(--brand-blue-tint);color:var(--ink)}.switch-call-row{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px var(--gutter) 12px}.switch-call{width:min(100%,320px);min-height:48px}.switch-call-hint{font-size:13px;color:var(--muted)}.responder-actions{margin:4px var(--gutter) 20px;gap:10px}.responder-actions .primary,.responder-actions .outline{flex:1 1 calc(50% - 10px);min-width:150px;min-height:52px}.responder-call-details .spec-row>.grow,.responder-assignments .spec-row>.grow{display:grid;grid-template-columns:minmax(105px,34%) minmax(0,1fr);gap:10px;align-items:start}.responder-call-times .spec-row>.label{min-width:125px;font-weight:700}.call-detail-page{padding-bottom:6px}.call-detail-page .status-pill{margin-top:2px}.call-fields .spec-row{flex-wrap:wrap;row-gap:8px;justify-content:flex-end}.call-fields .spec-row>.grow{flex:1 1 250px}.call-fields .spec-row>.grow,.call-fields .value{overflow-wrap:break-word;word-break:normal}.call-primary-actions{margin-top:4px;margin-bottom:16px;gap:12px}.call-primary-actions .primary{width:132px;min-height:52px}.call-secondary-actions{margin-bottom:18px;gap:12px}.call-secondary-actions .primary{width:132px;min-height:48px}.call-times .spec{margin-bottom:10px}.call-times .spec-row>.label{min-width:112px;font-weight:700}.call-times .time-editor{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.call-times .time-editor input{width:100%;font-variant-numeric:tabular-nums}.call-clone-times{display:flex;width:calc(100% - 2 * var(--gutter));margin:0 auto 24px;min-height:44px;border-radius:var(--r-md);font-weight:700}.call-close-bottom{display:flex;width:calc(100% - 2 * var(--gutter));margin:0 auto 10px;min-height:72px;font-size:20px;border-radius:var(--r-pill)}@media(max-width:520px){.location-share{width:100%;min-height:100dvh;padding:20px 22px 24px;justify-content:center}.share-logo{width:76px;height:76px}.location-share h1{margin-top:12px;font-size:25px}.share-org{margin-bottom:18px;font-size:12px}.share-intro{font-size:16px;margin-bottom:18px}.location-share .share-action{min-height:62px;font-size:20px}.share-footer{margin-top:22px}.call-detail-page .spec{margin-left:14px;margin-right:14px;margin-bottom:14px}.call-detail-page .status-pill{margin-left:14px;margin-bottom:10px}.call-fields .spec-row{align-items:flex-start;padding:9px 10px;min-height:48px}.call-fields .spec-row>.grow,.call-assignments .spec-row>.grow{display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:start;gap:8px;line-height:1.35}.call-fields .label,.call-assignments .label{font-weight:700}.call-fields .value,.call-assignments .value{text-align:left}.call-assignments .value{overflow-wrap:anywhere}.call-assignments .spec-row{align-items:flex-start;padding:9px 10px;min-height:48px}.call-assignments .chip-edit,.call-fields .chip-edit{margin-left:2px}.call-primary-actions,.call-secondary-actions{margin-left:14px;margin-right:14px;gap:10px}.call-primary-actions .primary,.call-secondary-actions .primary{flex:1 1 130px;width:auto;min-width:0}.call-times .spec-row{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:8px;align-items:center;min-height:46px;padding:7px 10px}.call-times .spec-row>.label{min-width:0}.call-times .time-editor{width:100%}.call-times .time-editor input{min-width:0;padding:6px;font-size:14px}.call-times .time-editor .mini{padding:5px 7px;min-height:32px}.call-times .spec-row:last-child>.grow{grid-column:1 / -1;display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:8px}.call-clone-times{width:calc(100% - 28px);margin-bottom:22px}.call-close-bottom{width:calc(100% - 28px);margin-bottom:4px}.phone-number-field{grid-template-columns:82px minmax(0,1fr);margin-left:14px;margin-right:14px}}@media(prefers-reduced-motion:no-preference){.primary,.danger,.vehicle,.members button,.new-call,.duty-pill{transition:transform .15s,background .15s}.primary:active,.danger:active,.vehicle:active,.members button:active,.new-call:active,.duty-pill:active{transform:scale(.985)}}@media(min-width:1000px){.under-development{padding-top:44px}}.profile-edit-modal{gap:14px;padding:24px}.profile-edit-head{text-align:center}.profile-edit-head h2{margin:0 0 4px;font-size:22px}.profile-edit-grid{display:grid;gap:4px}.profile-edit-grid .field{margin:0}.profile-edit-field{display:grid;gap:6px}.profile-edit-field span{font-size:14px;font-weight:700;color:var(--ink)}.profile-edit-field input{width:100%;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);padding:10px 12px;min-height:44px;background:var(--white);color:var(--ink);font-family:var(--font-value)}.profile-edit-save{width:100%;min-height:54px;font-size:19px;border-radius:var(--r-pill);background:var(--brand-blue);color:var(--white)}.profile-edit-save:disabled{opacity:.6}.profile-edit-save-wide{width:100%;min-height:56px;font-size:19px;border-radius:var(--r-pill);background:var(--brand-blue);color:var(--white);font-weight:700}.profile-edit-save-wide:disabled{opacity:.6}.profile-edit-save-wide:hover,.profile-edit-save:hover{background:var(--brand-blue-dark)}.hospital-status-header{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0 8px}.hospital-status-header .primary{width:var(--menu-w);min-height:var(--menu-h)}.hospital-status-list{display:grid;gap:12px;padding:8px var(--gutter) 14px}.hospital-card{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-md);padding:12px 14px;background:var(--white)}.hospital-main{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.hospital-main strong{font-size:18px;color:var(--brand-navy)}.hospital-status{font-weight:700;font-size:15px;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap}.hospital-status.green{background:var(--status-green);color:var(--ink)}.hospital-status.yellow{background:var(--status-yellow);color:var(--ink)}.hospital-status.red{background:var(--brand-red);color:var(--white)}.hospital-status.gray{background:var(--surface-gray);color:var(--ink)}.hospital-meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);flex-wrap:wrap}.hospital-address{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hospital-eta{display:flex;align-items:center;gap:5px;white-space:nowrap}.hospital-checklist{display:grid;gap:8px;padding:4px 0 14px}.hospital-check{padding:10px 12px;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-md);background:var(--white);font-weight:600}.hospital-check input{width:20px;height:20px}.home-menu{height:calc(100dvh - var(--header-h));max-height:calc(100dvh - var(--header-h));padding-top:4px;padding-bottom:4px;overflow:hidden;justify-content:space-evenly;display:flex;flex-direction:column;align-items:center;gap:6px}.home-menu>.primary,.home-menu>.danger{--btn-h:clamp(34px,calc((100dvh - var(--header-h) - 70px) / 8),54px);width:min(78%,320px);min-height:var(--btn-h);max-height:var(--btn-h);flex:0 0 var(--btn-h);height:var(--btn-h);padding:0 12px;font-size:clamp(16px,2.6vh,24px);display:flex;align-items:center;justify-content:center;gap:8px}.home-menu>.primary>svg,.home-menu>.danger>svg{width:22px;height:22px;flex:0 0 auto}.home-menu+.menu{padding-top:0;margin-top:-4px}.home-menu+.menu .outline{min-height:34px;font-size:13px}main.home-page{padding-bottom:0}main.home-page .home-menu{height:calc(100dvh - var(--header-h));max-height:calc(100dvh - var(--header-h))}main.home-page .home-menu+.menu{padding-bottom:8px;position:static;height:auto}.home-menu .push-enrol{--btn-h:clamp(30px,calc((100dvh - var(--header-h) - 70px) / 9),42px);width:min(78%,320px);min-height:var(--btn-h);max-height:var(--btn-h);flex:0 0 var(--btn-h);height:var(--btn-h);padding:0 12px;font-size:clamp(13px,2.2vh,16px);display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-md);border:1px solid var(--brand-blue);background:var(--white);color:var(--ink);font-weight:600}.home-menu .push-enrol:disabled{opacity:.55}@media(max-width:429px){.search{gap:8px;padding:0 10px}}.search input{text-overflow:ellipsis}.search.rounded input::placeholder{font-size:clamp(11px,3.6vw,16px)}main>.primary{width:var(--menu-w);margin:6px auto 14px;min-height:var(--menu-h);border-radius:var(--r-pill);font-size:22px}.spec-row:has(>.demographics){flex-wrap:wrap;row-gap:10px;padding:10px 8px;min-height:auto}.spec-row:has(>.demographics)>.label{flex:1 1 100%;font-weight:700}.spec-row:has(>.demographics)>.demographics{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;row-gap:10px}.demographics>label{white-space:nowrap;font-size:13px}.demographics>label>input:not([type=radio]){text-align:center}@media(max-width:479px){.spec-row:has(>.demographics)>.demographics{display:grid;grid-template-columns:max-content 44px 44px 44px;gap:10px 8px;justify-content:start;align-items:center}.spec-row:has(>.demographics)>.demographics>label{grid-area:1/1}.spec-row:has(>.demographics) .age-unit-toggle{grid-area:1/2/2/5}.spec-row:has(>.demographics) .age-unit-toggle button{flex:1 1 50%}.spec-row:has(>.demographics) .gender-label{grid-area:2/1;margin-left:0}.spec-row:has(>.demographics) .gender-dot{grid-row:2}}@media(min-width:480px){.spec-row:has(>.demographics)>.demographics{flex-wrap:nowrap;gap:4px}.spec-row:has(>.demographics) .demographics>label{gap:3px;font-size:12px}.spec-row:has(>.demographics) .demographics input:not([type=radio]){width:56px;flex:0 1 56px;min-width:44px;padding:4px}.spec-row:has(>.demographics) .age-unit-toggle{flex:0 0 auto}.spec-row:has(>.demographics) .age-unit-toggle button{padding:5px 7px;font-size:11px;min-width:0}.spec-row:has(>.demographics) .gender-label{margin-left:auto;font-size:12px;flex:0 0 auto}}.document-confirm .document-preview{border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm);background:var(--field-gray);padding:8px;margin:8px 0;display:flex;justify-content:center;align-items:center;min-height:140px;max-height:46vh;overflow:auto}.document-confirm .document-preview img{max-width:100%;max-height:44vh;object-fit:contain}.document-confirm .document-file{display:flex;flex-direction:column;gap:4px;text-align:center;font-size:14px}.document-confirm .outline{margin-top:8px}.document-status{font-weight:700}.document-review-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.document-review-preview{flex:0 0 140px;max-width:140px}.document-review-preview img{width:100%;border:var(--rule-thin) solid var(--brand-blue);border-radius:var(--r-sm)}.document-review-detail{flex:1 1 260px;display:flex;flex-direction:column;gap:4px;min-width:0}.document-review-detail span{font-size:13px;word-break:break-word}.document-review-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:6px}.document-review-actions .field{margin:0;flex:0 1 200px}@media(max-width:479px){.document-review-preview{flex-basis:100%;max-width:100%}}.admin-scope .check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex:0 0 auto;width:26px;height:26px;min-height:26px;display:inline-grid;place-content:center;background:transparent;border:0;cursor:pointer}.admin-scope .check input[type=checkbox]:before{content:"";width:22px;height:22px;border-radius:4px;border:var(--rule) solid var(--brand-blue);background:var(--white)}.admin-scope .check input[type=checkbox]:checked:before{background:var(--brand-blue) no-repeat center/15px 15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.admin-scope .check input[type=checkbox]:disabled{cursor:default}.admin-scope .check input[type=checkbox]:disabled:before{opacity:.5}.admin-scope .permission-cell input[type=checkbox]{width:44px;height:44px;min-height:44px}@media(max-width:1023px){.admin-scope .check input[type=checkbox]{width:44px;height:44px;min-height:44px}.admin-scope .check{align-items:center;gap:8px;padding:0}.admin-scope .mini{min-height:44px;padding:8px 12px}.admin-scope .status-toggle{min-height:44px}.admin-scope .chip{min-height:44px;padding:6px 12px}.admin-scope .rte-toolbar button{min-height:44px;min-width:44px}.admin-scope .rte-toolbar{gap:6px;padding:7px}.admin-scope .tag-list li{padding:2px 4px 2px 14px}.admin-scope .tag-list .mini.danger{min-height:44px;min-width:44px;padding:4px 10px}.admin-scope .modal .close{width:44px;height:44px;padding:0;right:8px;top:8px}.admin-scope .search .clear{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;flex:0 0 auto}.admin-scope .search.admin-search{min-height:48px}.admin-scope .search.admin-search input{min-height:46px}.admin-scope .admin-toolbar{gap:9px;margin-bottom:12px}.admin-scope .admin-toolbar>*{flex:1 1 148px}.admin-scope .admin-toolbar>.hint,.admin-scope .admin-toolbar>.search{flex-basis:100%;min-width:0}.admin-scope .admin-toolbar .primary,.admin-scope .admin-toolbar .outline,.admin-scope .admin-toolbar a.outline{width:auto;min-width:0;min-height:48px;padding:9px 12px}.admin-scope .admin-toolbar .field.inline{margin:0;min-width:0}.admin-scope .admin-toolbar .field.inline>span{flex:0 0 auto}.admin-scope .admin-toolbar .field.inline select{flex:1 1 auto;width:auto;min-width:0}.admin-scope .admin-row-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.admin-scope .hint{font-size:13px;line-height:1.45}.admin-scope .section-heading{margin-top:20px}.admin-scope .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-scope .stat-tile{padding:12px}.admin-scope .stat-value{font-size:26px}.admin-scope .csv-options{grid-template-columns:1fr}.admin-scope .notif-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px 10px}.admin-scope .notif-head .grow{min-width:0}.admin-scope .notif-head>.mini{grid-column:1 / -1;width:100%;justify-content:center}}@media(max-width:359px){.admin-scope .kpi-row{grid-template-columns:1fr}}@media(max-width:900px){.admin-scope .admin-table tr{display:flex;flex-direction:column;padding:11px 12px;margin-bottom:10px;border-radius:var(--r-md)}.admin-scope .admin-table td{width:100%;padding:4px 0;line-height:1.45;overflow-wrap:anywhere}.admin-scope .admin-table td.order-cell{order:1;white-space:normal}.admin-scope .admin-table td.actions-cell{order:2;text-align:left}.admin-scope .admin-table td.actions-cell,.admin-scope .admin-table tr:has(td.order-cell) td.order-cell{margin-top:8px;padding-top:10px;border-top:1px solid var(--hairline)}.admin-scope .admin-table tr:has(td.order-cell) td.actions-cell{margin-top:0;padding-top:6px;border-top:0}.admin-scope .admin-table .order-controls,.admin-scope .admin-table .admin-row-actions{display:flex;width:100%;gap:8px;justify-content:flex-start;flex-wrap:wrap}.admin-scope .admin-table .admin-row-actions .mini{flex:1 1 120px;min-width:0}.admin-scope .admin-table .order-controls .mini{flex:0 0 84px;min-width:44px;min-height:44px;padding:6px 10px;justify-content:center}.admin-scope .admin-table .order-controls .mini svg{width:18px;height:18px}.admin-scope .permission-table tr{display:revert;padding:0;margin:0;border-radius:0}.admin-scope .permission-table td,.admin-scope .permission-table th{width:auto;padding:8px}}
