:root{color-scheme:dark;--bg:#06131b;--panel:#0b1d27;--panel2:#102a36;--line:#244452;--gold:#ffb53f;--gold2:#ffd071;--text:#f8f4e9;--muted:#9fb0b9;--cyan:#46dfe8;--green:#6ee7a1;--red:#ff766d}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 80% -20%,rgba(43,118,133,.25),transparent 35%),linear-gradient(#071820,#06131b 60%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);border:1px solid #355361;border-top:3px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,rgba(16,42,54,.98),rgba(7,24,32,.99));padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.dispatch-brand{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(180deg,#ffc35e,#f09628);font-size:24px}.dispatch-brand strong,.dispatch-brand small{display:block}.dispatch-brand strong{letter-spacing:.08em}.dispatch-brand small{margin-top:2px;color:var(--gold2);font-size:.68rem;letter-spacing:.18em}.eyebrow{margin:24px 0 8px;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.17em}.auth-card h1{margin:0 0 8px;font-size:clamp(1.6rem,6vw,2.2rem)}.auth-card p{color:#c7d1d5;line-height:1.55}.auth-card form{display:grid;gap:14px;margin-top:22px}.auth-card label{display:grid;gap:6px;color:#dbe3e7;font-weight:700}.auth-card input{width:100%;border:1px solid #375666;border-radius:10px;background:#06131b;color:white;padding:13px 14px;font-size:1rem;outline:none}.auth-card input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(70,223,232,.12)}.auth-card button{border:0;border-radius:11px;background:linear-gradient(180deg,#ffc35b,#f29a2e);color:#101317;padding:13px 16px;font-weight:900;cursor:pointer}.auth-error{border:1px solid rgba(255,118,109,.4);border-radius:10px;background:rgba(255,118,109,.1);color:#ffc4bf;padding:10px 12px}.auth-note{font-size:.8rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px;border-bottom:1px solid #23404c;background:rgba(5,18,25,.94);backdrop-filter:blur(12px)}.top-actions{display:flex;align-items:center;gap:8px}.top-actions form{margin:0}.top-actions button{border:1px solid #34515f;border-radius:9px;background:#102631;color:#eaf2f5;padding:8px 11px;font-size:.8rem;font-weight:800;cursor:pointer}.top-actions .logout-button{border-color:rgba(255,118,109,.35);color:#ffc7c2}.live-pill{display:inline-flex;align-items:center;gap:6px;color:#c4f6d7;font-size:.72rem;font-weight:900;letter-spacing:.08em}.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(110,231,161,.65)}.dashboard{width:min(1220px,calc(100% - 24px));margin:0 auto;padding:26px 0 50px}.dashboard-head{display:flex;justify-content:space-between;gap:25px;align-items:end}.dashboard-head .eyebrow{margin:0 0 6px}.dashboard-head h1{margin:0;font-size:clamp(1.8rem,4vw,2.7rem)}.dashboard-head p{max-width:720px;margin:8px 0 0;color:var(--muted);line-height:1.5}.last-update{color:var(--muted);font-size:.8rem;white-space:nowrap}.last-update strong{color:#dce7eb}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.metrics article{border:1px solid #213e4b;border-radius:13px;background:linear-gradient(180deg,#0f2834,#0a1c25);padding:14px 16px}.metrics small,.metrics span{display:block}.metrics small{color:var(--gold2);font-size:.66rem;font-weight:900;letter-spacing:.14em}.metrics strong{display:block;margin:3px 0;font-size:2rem}.metrics span{color:var(--muted);font-size:.75rem}.call-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0}.filter-group{display:flex;gap:5px;padding:4px;border:1px solid #213e4b;border-radius:11px;background:#091a23}.filter-group button{border:0;border-radius:8px;background:transparent;color:#aebdc4;padding:7px 12px;font-weight:800;cursor:pointer}.filter-group button.active{background:#173847;color:white}.call-toolbar>span{color:#91a6af;font-size:.75rem}.call-toolbar>span.error{color:#ffaaa3}.calls{display:grid;gap:14px}.empty-state{border:1px dashed #34515f;border-radius:15px;padding:44px 20px;color:#8fa4ad;text-align:center}.call-card{overflow:hidden;border:1px solid #294956;border-left:4px solid #6d8590;border-radius:15px;background:linear-gradient(180deg,#0d2530,#081a23)}.call-card.status-new{border-left-color:var(--gold)}.call-card.status-reviewing{border-left-color:var(--cyan)}.call-card.status-closed{border-left-color:#6a7880;opacity:.8}.call-head{display:flex;justify-content:space-between;gap:20px;padding:16px 17px;border-bottom:1px solid rgba(70,103,116,.35)}.status-badge{display:inline-block;border:1px solid rgba(255,181,63,.36);border-radius:999px;background:rgba(255,181,63,.08);color:#ffd37d;padding:4px 8px;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status-reviewing .status-badge{border-color:rgba(70,223,232,.35);background:rgba(70,223,232,.08);color:#a7f2f5}.status-closed .status-badge{border-color:#40525b;background:#16262e;color:#a9b5bb}.call-head h2{margin:8px 0 3px;font-size:1.15rem}.call-head p{margin:0;color:#8fa5ae;font-size:.76rem}.call-quick-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.call-quick-actions a{border:1px solid #365866;border-radius:9px;background:#102b36;color:#e8f1f3;text-decoration:none;padding:8px 10px;font-size:.75rem;font-weight:850}.call-grid{display:grid;grid-template-columns:1fr 1.1fr 1.5fr 1.3fr;gap:1px;background:#1b3541}.call-grid section{min-width:0;background:#0a1d26;padding:14px 16px}.call-grid small,.call-grid span{display:block}.call-grid small,.call-note small{color:#dca94d;font-size:.62rem;font-weight:900;letter-spacing:.12em}.call-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}.call-grid a{display:inline-block;margin-top:3px;color:#8fe8ee;text-decoration:none}.call-grid span{margin-top:4px;color:#92a7af;font-size:.73rem}.call-note{padding:12px 16px;border-top:1px solid #183541;background:#091b24}.call-note p{margin:4px 0 0;color:#cad4d8;line-height:1.45}.history{border-top:1px solid #183541;background:#071820}.history summary{cursor:pointer;padding:10px 16px;color:#9db0b8;font-size:.75rem;font-weight:800}.history div{padding:0 16px 10px}.history p{display:flex;justify-content:space-between;gap:12px;margin:6px 0;color:#cbd5d9;font-size:.72rem}.history p span{color:#7f949d}.call-actions{display:flex;justify-content:flex-end;gap:7px;padding:11px 15px;border-top:1px solid #183541;background:#081820}.call-actions button{border:1px solid #385866;border-radius:9px;background:#102a35;color:#eaf2f4;padding:8px 11px;font-size:.76rem;font-weight:850;cursor:pointer}.call-actions .primary-call-action{border-color:#d69636;background:linear-gradient(#ffbd55,#ef982e);color:#11161a}.call-actions .danger-call-action{border-color:rgba(255,118,109,.35);color:#ffc0bb;background:rgba(255,118,109,.07)}@media(max-width:850px){.metrics{grid-template-columns:repeat(2,1fr)}.call-grid{grid-template-columns:1fr 1fr}.dashboard-head{align-items:start;flex-direction:column}.last-update{align-self:flex-start}.call-head{flex-direction:column}.call-quick-actions{justify-content:flex-start}}@media(max-width:540px){.topbar{padding:10px 11px}.dispatch-brand .brand-icon{width:39px;height:39px}.dispatch-brand strong{font-size:.84rem}.dispatch-brand small{font-size:.55rem}.live-pill{display:none}.top-actions button{padding:7px 8px}.dashboard{width:min(100% - 14px,1220px);padding-top:18px}.metrics{gap:7px}.metrics article{padding:10px 11px}.metrics strong{font-size:1.55rem}.metrics span{font-size:.66rem}.call-toolbar{align-items:flex-start;flex-direction:column}.call-grid{grid-template-columns:1fr}.call-head{padding:13px}.call-actions{justify-content:stretch}.call-actions button{flex:1}.auth-card{padding:21px}}
/* v0.5.0 driver management + active driver assignment */
.driver-admin{margin:18px 0;border:1px solid #274754;border-radius:14px;background:linear-gradient(180deg,#0d2530,#081a23);padding:14px}.driver-admin-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.driver-admin-head .eyebrow{margin:0 0 4px}.driver-admin-head h2{margin:0;font-size:1.2rem}.driver-admin-head p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.driver-admin-head button,.driver-create-form button{border:1px solid #d69636;border-radius:9px;background:linear-gradient(#ffbd55,#ef982e);color:#11161a;padding:9px 12px;font-size:.78rem;font-weight:900;cursor:pointer}.driver-create-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:8px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid #1c3a45}.driver-create-form label{display:grid;gap:5px;color:#bdcbd1;font-size:.7rem;font-weight:800}.driver-create-form input{min-width:0;border:1px solid #355461;border-radius:8px;background:#061820;color:#fff;padding:9px 10px;outline:none}.driver-create-form input:focus{border-color:var(--cyan)}.driver-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.driver-list>span{color:var(--muted);font-size:.75rem}.driver-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #254552;border-radius:9px;background:#0a1d26;padding:9px 10px}.driver-list article strong,.driver-list article span{display:block}.driver-list article span{margin-top:2px;color:var(--muted);font-size:.68rem}.driver-state{border-radius:999px;background:#172a32;color:#aab7bd;padding:4px 7px;font-size:.58rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.driver-state.available{background:rgba(110,231,161,.11);color:#bff4d1}.driver-state.busy{background:rgba(70,223,232,.11);color:#b2f4f6}.status-assigned{border-left-color:var(--green)!important}.status-assigned .status-badge{border-color:rgba(110,231,161,.4);background:rgba(110,231,161,.08);color:#bff4d1}.assignment-cell{border-top:1px solid rgba(110,231,161,.16)}
@media(max-width:850px){.driver-create-form{grid-template-columns:1fr 1fr}.driver-list{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.driver-admin-head{align-items:stretch;flex-direction:column}.driver-admin-head button{width:100%}.driver-create-form{grid-template-columns:1fr}.driver-list{grid-template-columns:1fr}}

/* v0.9.0 — dispatcher-managed driver photos */
.driver-list article.driver-account-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;justify-content:initial;gap:10px}
.driver-photo-thumb{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border:1px solid #355867;border-radius:12px;background:#061820;color:#8fa4ad;font-size:1.35rem}
.driver-photo-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.driver-account-main{min-width:0}
.driver-account-main strong,.driver-account-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-photo-action{margin-top:5px;border:1px solid rgba(70,223,232,.34);border-radius:7px;background:rgba(70,223,232,.07);color:#a9f5f7;padding:4px 7px;font-size:.61rem;font-weight:900;cursor:pointer}
.driver-photo-action:hover{background:rgba(70,223,232,.12)}
@media(max-width:540px){.driver-list article.driver-account-card{grid-template-columns:52px minmax(0,1fr)}.driver-account-card .driver-state{grid-column:1/-1;justify-self:start}.driver-photo-thumb{width:52px;height:52px}}

/* v1.0.0 — live dispatcher command center */
.command-center{margin:20px 0;border:1px solid #315463;border-top:3px solid var(--cyan);border-radius:17px;background:linear-gradient(180deg,#0c2631,#071a23);overflow:hidden}
.command-center-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:18px 19px 14px;border-bottom:1px solid #21414e}
.command-center-head .eyebrow{margin:0 0 5px;color:#89f4f8}.command-center-head h2{margin:0;font-size:1.32rem}.command-center-head p{max-width:720px;margin:5px 0 0;color:var(--muted);font-size:.77rem;line-height:1.45}
.fleet-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fleet-count{display:inline-flex;align-items:center;gap:5px;border:1px solid #34525e;border-radius:999px;background:#0a1b23;padding:5px 8px;color:#bdcbd1;font-size:.65rem;font-weight:850;white-space:nowrap}.fleet-count b{font-size:.78rem}.fleet-count.available{border-color:rgba(110,231,161,.35);color:#c8f8d9}.fleet-count.busy{border-color:rgba(70,223,232,.35);color:#b5f5f7}.fleet-count.off-duty{color:#9ba9af}
.command-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:12px 16px;background:#081b24;border-bottom:1px solid #1b3b47}.command-toolbar label{display:grid;gap:5px;min-width:min(440px,55%);color:#d9e4e8;font-size:.68rem;font-weight:900;letter-spacing:.05em}.command-toolbar select{width:100%;min-width:0;border:1px solid #3a5e6c;border-radius:9px;background:#061820;color:#fff;padding:9px 10px;font-size:.84rem;outline:none}.command-toolbar select:focus{border-color:var(--cyan)}.command-toolbar>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#94aab2;font-size:.72rem}.command-toolbar button{border:1px solid #3d6170;border-radius:8px;background:#102b36;color:#eff8fa;padding:8px 10px;font-size:.72rem;font-weight:850;cursor:pointer}
.command-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);min-height:430px}.fleet-map-shell{position:relative;min-width:0;border-right:1px solid #21414e;background:#071820}.fleet-map{height:430px;width:100%;background:#102630}.fleet-map-key{position:absolute;z-index:500;left:10px;bottom:10px;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 20px);padding:5px;border:1px solid rgba(70,96,107,.72);border-radius:9px;background:rgba(5,20,28,.9);backdrop-filter:blur(6px)}.fleet-map-key span{display:inline-flex;align-items:center;gap:4px;color:#d7e1e5;font-size:.59rem;font-weight:800}.fleet-map-key i{display:block;width:8px;height:8px;border-radius:50%;background:#75858c}.fleet-map-key i.available{background:var(--green)}.fleet-map-key i.busy{background:var(--cyan)}.fleet-map-key i.pickup{background:var(--gold)}
.fleet-panel{min-width:0;background:#091c25}.fleet-panel-head{padding:13px 14px;border-bottom:1px solid #1e3e4a}.fleet-panel-head small,.fleet-panel-head strong,.fleet-panel-head span{display:block}.fleet-panel-head small{color:var(--gold2);font-size:.61rem;font-weight:900;letter-spacing:.14em}.fleet-panel-head strong{margin-top:2px}.fleet-panel-head span{margin-top:3px;color:#859ca5;font-size:.68rem}.fleet-list{display:grid;max-height:378px;overflow:auto}.fleet-empty{padding:35px 15px;color:#849ba4;text-align:center;font-size:.76rem}.fleet-driver{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border-bottom:1px solid #183843;cursor:pointer;transition:background .15s ease}.fleet-driver:hover{background:#0d2833}.fleet-driver.assigned{background:rgba(255,181,63,.06);box-shadow:inset 3px 0 var(--gold)}.fleet-driver.available{box-shadow:inset 3px 0 var(--green)}.fleet-driver.busy{box-shadow:inset 3px 0 var(--cyan)}.fleet-driver.off-duty,.fleet-driver.stale{box-shadow:inset 3px 0 #66777f}.fleet-driver-photo{width:46px;height:46px;border:1px solid #365866;border-radius:11px;overflow:hidden;background:#061820;display:grid;place-items:center}.fleet-driver-photo img{width:100%;height:100%;object-fit:cover;display:block}.fleet-driver-main{min-width:0}.fleet-driver-main strong,.fleet-driver-main span,.fleet-driver-main em,.fleet-driver-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-driver-main strong{font-size:.79rem}.fleet-driver-main strong small{color:#8299a2;font-size:.62rem}.fleet-driver-main span{margin-top:2px;color:#aabac0;font-size:.65rem}.fleet-driver-main em{margin-top:2px;color:#7f98a2;font-size:.61rem;font-style:normal}.fleet-driver-main b{margin-top:4px;color:#ffd37c;font-size:.72rem}.fleet-driver-action button{border:1px solid #da9c3e;border-radius:8px;background:linear-gradient(#ffc05b,#ed982f);color:#11171a;padding:7px 8px;font-size:.66rem;font-weight:900;cursor:pointer}.assigned-chip{display:inline-block;border:1px solid rgba(255,181,63,.4);border-radius:999px;background:rgba(255,181,63,.08);color:#ffd17a;padding:4px 6px;font-size:.55rem;font-weight:900;letter-spacing:.05em}
.fleet-map-marker-wrap{background:transparent;border:0}.fleet-map-marker{width:38px;height:38px;border:3px solid #647982;border-radius:50%;background:#102833;display:grid;place-items:center;font-size:18px;box-shadow:0 3px 12px rgba(0,0,0,.38)}.fleet-map-marker.available{border-color:var(--green)}.fleet-map-marker.busy{border-color:var(--cyan)}.fleet-map-marker.off-duty,.fleet-map-marker.stale{border-color:#77878e;filter:saturate(.55)}.fleet-map-marker.pickup{width:40px;height:40px;border-color:var(--gold);background:#332614;font-size:20px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#091d26;color:#eef5f7}.leaflet-popup-content{margin:10px 12px}.fleet-popup{display:grid;min-width:150px}.fleet-popup img{width:52px;height:52px;border-radius:10px;object-fit:cover;margin-bottom:6px}.fleet-popup strong{font-size:.82rem}.fleet-popup span{margin-top:2px;color:#b4c4ca;font-size:.67rem}.fleet-popup b{margin-top:5px;color:#ffd17a;font-size:.7rem}.command-call-action{border-color:rgba(70,223,232,.45)!important;color:#baf7f8!important;background:rgba(70,223,232,.08)!important}
@media(max-width:900px){.command-center-head{align-items:flex-start;flex-direction:column}.fleet-counts{justify-content:flex-start}.command-grid{grid-template-columns:1fr}.fleet-map-shell{border-right:0;border-bottom:1px solid #21414e}.fleet-map{height:360px}.fleet-list{max-height:none}.command-toolbar{align-items:stretch;flex-direction:column}.command-toolbar label{min-width:0;width:100%}.command-toolbar>div{justify-content:space-between}}
@media(max-width:540px){.command-center{border-radius:13px}.command-center-head{padding:14px 12px}.command-toolbar{padding:10px}.command-toolbar>div{align-items:flex-start;flex-direction:column}.fleet-map{height:320px}.fleet-driver{grid-template-columns:44px minmax(0,1fr)}.fleet-driver-action{grid-column:1/-1}.fleet-driver-action button{width:100%}.fleet-driver-photo{width:44px;height:44px}}


/* v1.0.4 — safe dispatcher driver deletion */
.driver-account-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.driver-account-actions .driver-photo-action{margin-top:0}
.driver-delete-action{border:1px solid rgba(255,103,103,.42);border-radius:7px;background:rgba(255,74,74,.08);color:#ffb3b3;padding:4px 7px;font-size:.61rem;font-weight:900;cursor:pointer}
.driver-delete-action:hover{background:rgba(255,74,74,.15);border-color:rgba(255,103,103,.68)}

/* v1.0.5 — dispatcher password management */
.top-actions .password-button{border-color:rgba(70,223,232,.34);color:#b8f7f9;background:rgba(70,223,232,.06)}
.dashboard-alert{margin:0 0 16px;border:1px solid;border-radius:11px;padding:10px 13px;font-size:.8rem;font-weight:800;transition:opacity .25s ease,transform .25s ease}.dashboard-alert.is-hiding{opacity:0;transform:translateY(-6px);pointer-events:none}
.dashboard-alert.error{border-color:rgba(255,118,109,.42);background:rgba(255,118,109,.09);color:#ffc2bd}
.dashboard-alert.success{border-color:rgba(110,231,161,.38);background:rgba(110,231,161,.08);color:#c6f7d7}
.password-dialog{width:min(500px,calc(100% - 24px));border:1px solid #3b5b68;border-top:3px solid var(--gold);border-radius:16px;background:linear-gradient(180deg,#102a36,#071820);color:var(--text);padding:0;box-shadow:0 28px 90px rgba(0,0,0,.62)}
.password-dialog::backdrop{background:rgba(0,7,11,.78);backdrop-filter:blur(3px)}
.password-form{display:grid;gap:12px;padding:20px}
.password-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.password-dialog-head .eyebrow{margin:0 0 4px}.password-dialog-head h2{margin:0;font-size:1.25rem}
.password-dialog p{margin:0;color:#aebfc6;font-size:.8rem;line-height:1.5}
.password-dialog label{display:grid;gap:5px;color:#dce6e9;font-size:.73rem;font-weight:850}
.password-dialog input{width:100%;border:1px solid #365766;border-radius:9px;background:#06131b;color:#fff;padding:11px 12px;outline:none}
.password-dialog input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(70,223,232,.1)}
.dialog-close{border:1px solid #3b5966;border-radius:9px;background:#0b202a;color:#dce7eb;width:34px;height:34px;font-size:1.25rem;cursor:pointer}
.password-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}
.password-dialog-actions button{border:1px solid #3b5966;border-radius:9px;padding:9px 12px;font-size:.76rem;font-weight:900;cursor:pointer}
.password-dialog-actions .secondary{background:#0b202a;color:#dce7eb}.password-dialog-actions .primary{border-color:#d69636;background:linear-gradient(#ffbd55,#ef982e);color:#11161a}
.password-dialog small{color:#849aa3;font-size:.67rem;line-height:1.4}
@media(max-width:620px){.top-actions .password-button{font-size:0;width:36px;height:34px;padding:0}.top-actions .password-button::after{content:'🔑';font-size:15px}.password-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.password-dialog-actions button{width:100%}}

/* v1.2.0 — Security & Driver Administration */
.workspace-tabs{position:sticky;top:71px;z-index:9;display:flex;gap:6px;padding:8px max(12px,calc((100% - 1220px)/2));border-bottom:1px solid #1d3945;background:rgba(6,20,28,.95);backdrop-filter:blur(10px)}
.workspace-tabs button{display:inline-flex;align-items:center;gap:7px;border:1px solid #2d4d5a;border-radius:9px;background:#0a202a;color:#9eb1b8;padding:8px 13px;font-size:.78rem;font-weight:900;cursor:pointer}
.workspace-tabs button.active{border-color:rgba(70,223,232,.5);background:#11313d;color:#eafcfd;box-shadow:inset 0 -2px var(--cyan)}
.workspace-panel[hidden]{display:none!important}
.security-panel{display:grid;gap:16px}
.security-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.security-head .eyebrow{margin:0 0 6px}.security-head h1{margin:0;font-size:clamp(1.8rem,4vw,2.7rem)}.security-head p{max-width:760px;margin:8px 0 0;color:var(--muted);line-height:1.5}
.security-state{display:flex;align-items:center;gap:8px}.security-state>span{border:1px solid #40545d;border-radius:999px;background:#17252c;color:#a7b3b8;padding:6px 9px;font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.security-state>span.unlocked{border-color:rgba(110,231,161,.42);background:rgba(110,231,161,.09);color:#c7f5d7}.security-state button{border:1px solid #405963;border-radius:8px;background:#0c222c;color:#dce6ea;padding:7px 9px;font-size:.7rem;font-weight:850;cursor:pointer}
.security-locked-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border:1px solid #355561;border-top:3px solid var(--gold);border-radius:15px;background:linear-gradient(180deg,#0e2833,#081a23);padding:18px}.security-lock-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #4a5e67;border-radius:13px;background:#071820;font-size:24px}.security-locked-card h2{margin:0}.security-locked-card p{margin:4px 0 0;color:#9db0b8;font-size:.79rem;line-height:1.45}.security-lock-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.security-locked-card button,.security-card>button,.security-driver-create button{border:1px solid #d69636;border-radius:9px;background:linear-gradient(#ffbd55,#ef982e);color:#11161a;padding:9px 12px;font-size:.76rem;font-weight:900;cursor:pointer}.security-locked-card .secondary-security-action{border-color:#466571;background:#102b36;color:#dce8ec}
.security-admin-grid{display:grid;grid-template-columns:1fr;gap:12px}.security-card{border:1px solid #294a57;border-radius:14px;background:linear-gradient(180deg,#0d2631,#081a23);padding:16px}.security-card>small{color:var(--gold2);font-size:.62rem;font-weight:900;letter-spacing:.14em}.security-card h2{margin:4px 0 0;font-size:1.18rem}.security-card p{margin:6px 0 14px;color:#9db0b8;font-size:.76rem;line-height:1.45}
.security-driver-create{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:8px;align-items:end}.security-driver-create label{display:grid;gap:5px;color:#cdd9dd;font-size:.68rem;font-weight:850}.security-driver-create input,.driver-search input{min-width:0;width:100%;border:1px solid #355663;border-radius:8px;background:#061820;color:#fff;padding:9px 10px;outline:none}.security-driver-create input:focus,.driver-search input:focus{border-color:var(--cyan)}
.driver-directory{border:1px solid #294a57;border-radius:15px;background:linear-gradient(180deg,#0d2530,#081a23);overflow:hidden}.driver-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid #1d3c48}.driver-directory-head .eyebrow{margin:0 0 4px}.driver-directory-head h2{margin:0;font-size:1.2rem}.driver-directory-head p{margin:4px 0 0;color:var(--muted);font-size:.75rem}.driver-directory-counts{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.driver-directory-counts span{border:1px solid #344f5a;border-radius:999px;background:#091b23;color:#aab9bf;padding:5px 7px;font-size:.61rem;font-weight:850;white-space:nowrap}.driver-directory-counts span.available{border-color:rgba(110,231,161,.32);color:#c7f5d7}.driver-directory-counts span.busy{border-color:rgba(70,223,232,.32);color:#baf4f6}.driver-directory-counts b{color:#fff}
.driver-directory-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #183844;background:#081b24}.driver-search{display:grid;gap:4px;min-width:min(420px,50%);color:#cbd7db;font-size:.66rem;font-weight:850}.driver-filter-group{display:flex;gap:4px;padding:3px;border:1px solid #294a56;border-radius:9px;background:#061820}.driver-filter-group button{border:0;border-radius:7px;background:transparent;color:#8fa4ac;padding:6px 9px;font-size:.65rem;font-weight:850;cursor:pointer}.driver-filter-group button.active{background:#173847;color:white}
.security-driver-list{display:grid;gap:1px;background:#173541}.security-empty{padding:34px 16px;background:#091c25;color:#849aa3;text-align:center;font-size:.76rem}.security-driver-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto minmax(330px,auto);gap:10px;align-items:center;background:#091d26;padding:10px 12px}.security-driver-card:hover{background:#0c2631}.driver-photo-thumb{width:54px;height:54px;border:1px solid #365866;border-radius:11px;background:#061820;overflow:hidden;display:grid;place-items:center}.driver-photo-thumb img{width:100%;height:100%;display:block;object-fit:cover}.security-driver-main{min-width:0}.security-driver-main strong,.security-driver-main span{display:block}.security-driver-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-driver-main span{margin-top:2px;color:#91a6ae;font-size:.67rem}.password-required-chip{display:inline-block!important;width:max-content;max-width:100%;margin-top:5px!important;border:1px solid rgba(255,181,63,.38);border-radius:999px;background:rgba(255,181,63,.08);color:#ffd17b!important;padding:3px 6px;font-size:.54rem!important;font-weight:900;letter-spacing:.04em}.security-driver-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.security-driver-actions button{border:1px solid #365866;border-radius:7px;background:#0f2a35;color:#dce7eb;padding:6px 8px;font-size:.61rem;font-weight:850;cursor:pointer}.security-driver-actions button:hover{background:#143642}.security-driver-actions button.danger{border-color:rgba(255,118,109,.4);background:rgba(255,118,109,.07);color:#ffc0bb}
.driver-edit-dialog,.driver-reset-dialog{border-top-color:var(--cyan)}
[data-security-unlock-message]{min-height:1em;color:#ffbbb5!important}
@media(max-width:980px){.security-admin-grid{grid-template-columns:1fr}.security-driver-create{grid-template-columns:1fr 1fr}.security-driver-create button{grid-column:1/-1}.security-driver-card{grid-template-columns:54px minmax(0,1fr) auto}.security-driver-actions{grid-column:1/-1;justify-content:flex-start}.driver-directory-head{align-items:flex-start;flex-direction:column}.driver-directory-counts{justify-content:flex-start}.driver-directory-tools{align-items:stretch;flex-direction:column}.driver-search{min-width:0;width:100%}}
@media(max-width:620px){.workspace-tabs{top:60px;padding:7px}.workspace-tabs button{flex:1;justify-content:center}.security-head{align-items:flex-start;flex-direction:column}.security-locked-card{grid-template-columns:1fr;text-align:center}.security-lock-icon{margin:auto}.security-lock-actions{display:grid;grid-template-columns:1fr;width:100%}.security-locked-card button{width:100%}.security-driver-create{grid-template-columns:1fr}.security-driver-create button{grid-column:auto}.driver-filter-group{display:grid;grid-template-columns:1fr 1fr}.security-driver-card{grid-template-columns:52px minmax(0,1fr)}.security-driver-card>.driver-state{grid-column:1/-1;justify-self:start}.security-driver-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.security-driver-actions button{min-height:38px}.driver-photo-thumb{width:52px;height:52px}}

/* v1.2.0 — internal driver/dispatch messaging */
.tab-unread{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ffb53f;color:#11161a;font-size:.68rem;font-weight:1000}.messages-panel{display:grid;gap:16px}.messages-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.messages-head .eyebrow{margin:0 0 6px}.messages-head h1{margin:0;font-size:clamp(1.7rem,4vw,2.35rem)}.messages-head p{margin:5px 0 0;color:var(--muted);max-width:760px;line-height:1.45}.messages-live{display:flex;align-items:center;gap:7px;color:#bdebcf;font-size:.76rem;white-space:nowrap}.messages-live i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(110,231,161,.6)}.messenger-shell{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);min-height:590px;border:1px solid #294956;border-radius:16px;background:#071922;overflow:hidden}.message-contacts{border-right:1px solid #294956;background:#081c25}.message-contact-tools{padding:12px;border-bottom:1px solid #203d49}.message-contact-tools label{display:grid;gap:5px;color:#b9c8ce;font-size:.7rem;font-weight:900;letter-spacing:.06em}.message-contact-tools input{width:100%;border:1px solid #31515e;border-radius:9px;background:#06151d;color:white;padding:10px 11px;outline:none}.message-contact-tools input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(70,223,232,.1)}.message-contact-list{max-height:630px;overflow:auto}.message-contact{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #183440;background:transparent;color:inherit;padding:11px 12px;text-align:left;cursor:pointer}.message-contact:hover,.message-contact.active{background:#102b36}.message-contact.active{box-shadow:inset 3px 0 var(--cyan)}.message-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #355764;background:#12303b;color:#ffe0a4;font-weight:1000;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-contact-main{min-width:0}.message-contact-main strong,.message-contact-main span,.message-contact-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-contact-main strong{font-size:.88rem}.message-contact-main span{margin-top:2px;color:#9fb0b9;font-size:.72rem}.message-contact-main small{margin-top:3px;color:#728c96;font-size:.68rem}.message-contact-unread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gold);color:#11161a;font-size:.68rem;font-weight:1000}.message-thread{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:linear-gradient(180deg,#0b202a,#071820)}.message-thread-head{padding:13px 15px;border-bottom:1px solid #284752;background:#0c2530}.message-thread-head small,.message-thread-head strong,.message-thread-head span{display:block}.message-thread-head small{color:var(--gold2);font-size:.62rem;font-weight:900;letter-spacing:.13em}.message-thread-head strong{margin-top:3px;font-size:1.05rem}.message-thread-head span{margin-top:3px;color:var(--muted);font-size:.72rem}.message-thread-list{display:flex;flex-direction:column;gap:8px;min-height:360px;max-height:540px;overflow:auto;padding:16px}.message-bubble{align-self:flex-start;max-width:min(78%,560px);border:1px solid #31515f;border-radius:14px 14px 14px 4px;background:#102b36;padding:9px 11px}.message-bubble.mine{align-self:flex-end;border-color:#8a672d;border-radius:14px 14px 4px 14px;background:#3b2b12}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42}.message-bubble small{display:block;margin-top:5px;color:#8ca0a8;font-size:.64rem}.message-bubble.mine small{text-align:right;color:#d1b679}.message-empty{padding:28px 16px;color:#8198a1;text-align:center}.message-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px;border-top:1px solid #284752;background:#081b24}.message-compose textarea{width:100%;resize:none;border:1px solid #345562;border-radius:11px;background:#06151d;color:white;padding:11px 12px;line-height:1.4;outline:none}.message-compose textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(70,223,232,.1)}.message-compose button{align-self:stretch;min-width:92px;border:1px solid #d69636;border-radius:10px;background:linear-gradient(#ffbd55,#ef982e);color:#11161a;padding:0 16px;font-weight:1000;cursor:pointer}.message-compose button:disabled,.message-compose textarea:disabled{opacity:.45;cursor:not-allowed}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.messenger-shell{grid-template-columns:1fr;min-height:0}.message-contacts{border-right:0;border-bottom:1px solid #294956}.message-contact-list{max-height:245px}.message-thread-list{min-height:320px;max-height:480px}.messages-head{align-items:flex-start;flex-direction:column}.message-compose{grid-template-columns:1fr}.message-compose button{min-height:44px}.workspace-tabs button{padding-left:8px;padding-right:8px}.workspace-tabs button span{display:none}}

/* v1.2.4 — high-visibility incoming-message alerts */
@keyframes bcw-message-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 2px rgba(255,255,255,.12),0 0 9px rgba(255,32,45,.82),0 0 18px rgba(255,32,45,.46)}50%{transform:scale(1.12);box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 14px rgba(255,32,45,1),0 0 28px rgba(255,32,45,.72)}}
.workspace-tabs button.has-unread{border-color:#ff3542;color:#fff;background:#35131a;box-shadow:inset 0 -2px #ff3542,0 0 12px rgba(255,32,45,.22)}
.tab-unread{display:inline-grid!important;place-items:center;width:23px;height:23px;min-width:23px;padding:0;border:2px solid #ffd7da;border-radius:50%;background:#ff202d!important;color:#fff!important;font-size:.65rem!important;line-height:1;font-weight:1000!important;box-shadow:0 0 10px rgba(255,32,45,.9),0 0 20px rgba(255,32,45,.5);animation:bcw-message-pulse 1s ease-in-out infinite}
.message-contact-unread{display:grid;place-items:center;width:23px;height:23px;min-width:23px;padding:0;border:2px solid #ffd7da;border-radius:50%;background:#ff202d!important;color:#fff!important;font-size:.64rem;font-weight:1000;box-shadow:0 0 9px rgba(255,32,45,.8)}
@media (prefers-reduced-motion:reduce){.tab-unread{animation:none}}
.tab-unread[hidden]{display:none!important}

/* v1.2.4 — mobile Dispatcher message composer centering / iOS keyboard fix */
html,body{max-width:100%;overflow-x:hidden}
.messages-panel,.messenger-shell,.message-thread,.message-compose{min-width:0;max-width:100%}
.message-compose textarea{min-width:0;max-width:100%;font-size:16px}
@media(max-width:760px){
  .dashboard,.messages-panel,.messenger-shell,.message-thread,.message-compose{width:100%;max-width:100%;min-width:0}
  .message-compose textarea{width:100%;min-width:0;max-width:100%;font-size:16px}
}

/* v1.3.3 — expandable Settings workspace */
.settings-panel{display:grid;gap:16px}
.settings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.settings-head .eyebrow{margin:0 0 6px}.settings-head h1{margin:0;font-size:clamp(1.8rem,4vw,2.7rem)}.settings-head p{max-width:780px;margin:8px 0 0;color:var(--muted);line-height:1.5}
.settings-save-state{border:1px solid #36525e;border-radius:999px;background:#10242d;color:#b7c7cd;padding:7px 11px;font-size:.7rem;font-weight:900;white-space:nowrap}.settings-save-state.success{border-color:rgba(110,231,161,.4);background:rgba(110,231,161,.08);color:#c9f5d8}.settings-save-state.error{border-color:rgba(255,118,109,.42);background:rgba(255,118,109,.08);color:#ffc3be}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start}
.settings-card{border:1px solid #294956;border-radius:16px;background:linear-gradient(180deg,#0d2530,#081a23);padding:18px}
.settings-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.settings-card-head small{display:block;color:var(--gold2);font-size:.63rem;font-weight:950;letter-spacing:.13em}.settings-card-head h2{margin:4px 0 0;font-size:1.2rem}.settings-card-head>span{font-size:1.5rem}
.settings-card>p{margin:10px 0 15px;color:#aebfc5;line-height:1.5;font-size:.84rem}.settings-card>p strong{color:#e9f1f3}
.homepage-artwork-preview{position:relative;overflow:hidden;aspect-ratio:4/3;border:1px solid #365764;border-radius:14px;background:#08171e}
.homepage-artwork-preview img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#08171e}.homepage-artwork-preview img[hidden]{display:none!important}
.homepage-artwork-default{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#193647,#0b1820);color:#efd18c}.homepage-artwork-default .mini-moon{position:absolute;right:12%;top:13%;width:15%;aspect-ratio:1;border-radius:50%;background:#ffcf67;box-shadow:0 0 20px rgba(255,207,103,.12)}.homepage-artwork-default .mini-hills{position:absolute;left:-6%;right:-6%;bottom:12%;height:48%;border-radius:50% 50% 0 0;background:#081015;transform:rotate(-2deg)}.homepage-artwork-default .mini-road{position:absolute;left:-5%;right:-5%;bottom:25%;height:3px;border-top:3px dashed rgba(248,209,125,.75);transform:rotate(-4deg)}.homepage-artwork-default .mini-truck{position:absolute;left:35%;bottom:22%;font-size:clamp(2rem,6vw,4.2rem);filter:saturate(.9)}.homepage-artwork-default>span{position:absolute;left:12px;bottom:10px;color:#e4c57e;font-size:.62rem;font-weight:900;letter-spacing:.1em}
.settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.settings-actions button{border-radius:9px;padding:9px 12px;font-size:.76rem;font-weight:900;cursor:pointer}.settings-actions .primary{border:1px solid #d69636;background:linear-gradient(#ffbd55,#ef982e);color:#11161a}.settings-actions .secondary{border:1px solid #3a5965;background:#102731;color:#dce7ea}.settings-actions button:disabled{opacity:.45;cursor:not-allowed}
.settings-help{display:block;margin-top:10px;color:#7f969f;font-size:.7rem;line-height:1.45}
.settings-switch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid #284854;border-radius:13px;background:#091c25;padding:14px;cursor:pointer}.settings-switch-row span strong,.settings-switch-row span small{display:block}.settings-switch-row span strong{color:#edf4f6;font-size:.9rem}.settings-switch-row span small{margin-top:4px;color:#93a8b0;font-size:.72rem;line-height:1.4}.settings-switch-row input{appearance:none;width:50px;height:29px;border:1px solid #44616c;border-radius:999px;background:#172a32;position:relative;cursor:pointer;transition:.2s}.settings-switch-row input::after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#93a2a8;transition:.2s}.settings-switch-row input:checked{border-color:#d69636;background:#5c4218}.settings-switch-row input:checked::after{left:24px;background:#ffc35b}.settings-switch-row input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.setting-note{display:grid;gap:4px;margin-top:12px;padding:11px 12px;border-left:3px solid var(--cyan);background:rgba(70,223,232,.055);border-radius:8px}.setting-note strong{color:#c8f4f6;font-size:.76rem}.setting-note span{color:#8fa6ae;font-size:.7rem;line-height:1.4}
@media(max-width:860px){.settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.settings-head{align-items:flex-start;flex-direction:column}.settings-actions{display:grid;grid-template-columns:1fr}.settings-actions button{min-height:44px}.settings-switch-row{gap:12px}.homepage-artwork-default .mini-truck{font-size:3rem}}

.auth-setup-details{margin-top:22px;border-top:1px solid #294956;padding-top:16px}.auth-setup-details summary{cursor:pointer;color:#ffd071;font-weight:900}.auth-setup-details[open] summary{margin-bottom:4px}.auth-setup-details form{margin-top:14px}.auth-setup-details .auth-note{margin:8px 0 0}

input[name="companyCode"]{text-transform:uppercase;letter-spacing:.08em;font-weight:850}

.final-price-note{border-left:4px solid var(--green,#6ee7a1);background:rgba(38,104,67,.13)}

/* Stage 1J — Weekly completed tow reports */
.dashboard-head-actions{display:flex;align-items:flex-end;gap:10px;flex-direction:column}.report-open-button,.report-back-button,.report-controls button{border:1px solid #3a5a67;border-radius:9px;background:#102a35;color:#edf5f7;padding:9px 13px;font-size:.78rem;font-weight:900;cursor:pointer}.report-open-button{border-color:#d69636;background:linear-gradient(#ffbd55,#ef982e);color:#11161a;min-width:94px}.report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.report-head .eyebrow{margin:0 0 6px}.report-head h1{margin:0;font-size:clamp(1.8rem,4vw,2.7rem)}.report-head p{margin:8px 0 0;color:var(--muted)}.report-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:22px 0 14px;padding:13px;border:1px solid #244552;border-radius:13px;background:#0a1d26}.report-controls label{display:grid;gap:6px;color:#dbe4e7;font-size:.72rem;font-weight:900;letter-spacing:.04em}.report-controls input{min-height:40px;border:1px solid #365764;border-radius:9px;background:#06131b;color:#fff;padding:7px 10px;font:inherit}.report-control-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.report-controls .primary-report-button{border-color:#d69636;background:linear-gradient(#ffbd55,#ef982e);color:#11161a}.weekly-report-sheet{border:1px solid #294956;border-radius:16px;background:linear-gradient(180deg,#0c222d,#081820);overflow:hidden}.report-loading,.report-error{padding:50px 20px;text-align:center;color:#9fb0b9}.report-error{color:#ffc2bd}.report-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;border-bottom:1px solid #294956;background:#0e2935}.report-company{margin:0 0 4px!important;color:var(--gold2)!important;font-size:.72rem!important;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.report-sheet-head h2{margin:0 0 10px;font-size:1.55rem}.report-sheet-head p{margin:4px 0;color:#c9d4d8}.report-total{min-width:135px;border:1px solid rgba(255,181,63,.35);border-radius:12px;background:rgba(255,181,63,.08);padding:12px 16px;text-align:center}.report-total span{display:block;color:var(--gold2);font-size:.62rem;font-weight:900;letter-spacing:.12em}.report-total strong{display:block;margin-top:3px;font-size:2rem}.report-driver-summary,.report-detail{padding:18px 22px}.report-driver-summary{border-bottom:1px solid #24424e}.report-driver-summary h3,.report-detail h3{margin:0 0 12px;font-size:1rem}.report-driver-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.report-driver-card{border:1px solid #294956;border-radius:11px;background:#0b202a;padding:11px 13px}.report-driver-card small,.report-driver-card span{display:block}.report-driver-card small{color:var(--gold2);font-size:.6rem;font-weight:900;letter-spacing:.1em}.report-driver-card strong{display:block;margin-top:3px}.report-driver-card span{margin-top:2px;min-height:1em;color:#91a6af;font-size:.7rem}.report-driver-card b{display:block;margin-top:7px;color:#aaf2d0;font-size:1rem}.report-empty-summary{color:#8fa4ad}.report-table-wrap{overflow-x:auto;border:1px solid #294956;border-radius:11px}.report-detail table{width:100%;min-width:980px;border-collapse:collapse;background:#081a23}.report-detail th,.report-detail td{padding:10px 11px;border-bottom:1px solid #1d3945;border-right:1px solid #1d3945;text-align:left;vertical-align:top}.report-detail th:last-child,.report-detail td:last-child{border-right:0}.report-detail th{background:#102b36;color:var(--gold2);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.report-detail td{color:#d7e0e3;font-size:.75rem;line-height:1.4}.report-detail tbody tr:last-child td{border-bottom:0}.report-price{white-space:nowrap;font-weight:900;color:#aaf2d0!important}.report-price small{font-weight:700;color:#9eb1b8}.report-empty-row{text-align:center!important;color:#8fa4ad!important;padding:28px!important}.report-footnote{margin:10px 0 0;color:#879ba4;font-size:.68rem}
@media(max-width:700px){.dashboard-head-actions{align-items:flex-start}.report-head{align-items:flex-start;flex-direction:column}.report-back-button{width:100%}.report-controls{align-items:stretch;flex-direction:column}.report-control-buttons{display:grid;grid-template-columns:1fr 1fr}.report-control-buttons button{min-height:42px}.report-control-buttons .primary-report-button{grid-column:1/-1}.report-sheet-head{flex-direction:column}.report-total{width:100%}.report-driver-summary,.report-detail,.report-sheet-head{padding:15px}.report-driver-cards{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.report-driver-cards{grid-template-columns:1fr}.report-control-buttons{grid-template-columns:1fr}.report-control-buttons .primary-report-button{grid-column:auto}}
@media print{html,body{background:#fff!important;color:#111!important}.topbar,.workspace-tabs,.report-controls,.report-back-button,.workspace-panel:not([data-workspace-panel="report"]),.dashboard-alert{display:none!important}.dashboard{width:100%!important;margin:0!important;padding:0!important}.report-panel{display:block!important}.report-head{display:none!important}.weekly-report-sheet{border:0!important;border-radius:0!important;background:#fff!important;color:#111!important;overflow:visible!important}.report-sheet-head{background:#fff!important;border-bottom:2px solid #333!important;padding:0 0 14px!important}.report-company,.report-sheet-head p,.report-sheet-head h2,.report-total span,.report-total strong,.report-driver-summary h3,.report-detail h3,.report-driver-card small,.report-driver-card strong,.report-driver-card span,.report-driver-card b{color:#111!important}.report-total{background:#fff!important;border:1px solid #333!important}.report-driver-summary,.report-detail{padding:14px 0!important;border-color:#aaa!important}.report-driver-cards{grid-template-columns:repeat(4,1fr)!important}.report-driver-card{background:#fff!important;border:1px solid #aaa!important;break-inside:avoid}.report-table-wrap{overflow:visible!important;border:1px solid #777!important}.report-detail table{min-width:0!important;background:#fff!important;color:#111!important;font-size:8.5pt}.report-detail th{background:#eee!important;color:#111!important}.report-detail td{color:#111!important}.report-detail th,.report-detail td{padding:5px 6px!important;border-color:#aaa!important}.report-price{color:#111!important}.report-footnote{color:#444!important}}

/* Stage 1K — full driver profiles + company fleet list */
.security-admin-grid{align-items:start}
.security-driver-create{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.security-driver-create label,.fleet-create-form label,.driver-profile-grid label,.fleet-profile-grid label{display:grid;gap:5px;color:#cbd8dc;font-size:.66rem;font-weight:850;letter-spacing:.02em}
.security-driver-create label.wide{grid-column:span 3}
.security-driver-create input,.security-driver-create select,.fleet-create-form input,.fleet-create-form select,.driver-profile-grid input,.driver-profile-grid select,.fleet-profile-grid input,.fleet-profile-grid select{width:100%;min-width:0;min-height:39px;border:1px solid #365866;border-radius:8px;background:#061820;color:#edf4f6;padding:7px 9px;font:inherit;font-size:.78rem}
.security-driver-create button{grid-column:span 3;min-height:42px}
.driver-profile-form,.fleet-profile-form{width:min(760px,calc(100vw - 28px))}
.driver-profile-grid,.fleet-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.driver-profile-grid .wide{grid-column:1/-1}
.driver-identity-readonly{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.driver-identity-readonly span{border:1px solid #294956;border-radius:9px;background:#081b24;padding:9px 10px;color:#94aab2;font-size:.68rem}
.driver-identity-readonly strong{display:block;margin-top:2px;color:#fff;font-size:.93rem}
.fleet-directory{margin:18px 0;border:1px solid #284956;border-radius:15px;background:#081b24;padding:16px}
.fleet-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}
.fleet-create-form button{min-height:40px;border:1px solid #d69636;border-radius:8px;background:linear-gradient(#ffbd55,#ef982e);color:#11161a;font-weight:900;cursor:pointer}
.security-fleet-list{display:grid;gap:8px;margin-top:12px}
.security-fleet-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #294956;border-radius:11px;background:#091d26;padding:10px 12px}
.security-fleet-card.out-of-service{opacity:.72;background:#121b20}
.fleet-unit-badge{width:54px;height:54px;border:1px solid #42616c;border-radius:10px;background:#071820;display:grid;place-items:center;color:var(--gold2);font-weight:950;font-size:.95rem;text-align:center;overflow:hidden}
.security-fleet-main{min-width:0}.security-fleet-main strong,.security-fleet-main span{display:block}.security-fleet-main strong{font-size:.86rem}.security-fleet-main span{margin-top:2px;color:#91a6ae;font-size:.66rem;overflow-wrap:anywhere}
.fleet-status-chip{border:1px solid #365866;border-radius:999px;padding:5px 8px;font-size:.58rem;font-weight:950;letter-spacing:.05em;white-space:nowrap}.fleet-status-chip.active{border-color:rgba(74,216,155,.35);color:#aaf2d0;background:rgba(74,216,155,.08)}.fleet-status-chip.oos{border-color:rgba(255,181,63,.35);color:#ffd17b;background:rgba(255,181,63,.08)}
.security-driver-card.inactive-driver{opacity:.72;background:#111b20}.driver-state.inactive{border-color:#4b5960!important;background:#182126!important;color:#a9b4b9!important}.security-driver-actions button.reactivate{border-color:rgba(74,216,155,.4);background:rgba(74,216,155,.08);color:#aaf2d0}
.report-route{min-width:260px}.report-route span{display:block}.report-route span+span{margin-top:5px}.report-route b{color:#a9bcc4;font-size:.68rem}
@media(max-width:980px){.security-driver-create{grid-template-columns:repeat(2,minmax(0,1fr))}.security-driver-create label.wide{grid-column:1/-1}.security-driver-create button{grid-column:1/-1}.fleet-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-create-form button{grid-column:1/-1}.security-fleet-card{grid-template-columns:54px minmax(0,1fr) auto}.security-fleet-card .security-driver-actions{grid-column:1/-1}}
@media(max-width:620px){.security-driver-create,.fleet-create-form,.driver-profile-grid,.fleet-profile-grid,.driver-identity-readonly{grid-template-columns:1fr}.security-driver-create label.wide,.security-driver-create button,.driver-profile-grid .wide,.fleet-create-form button{grid-column:auto}.fleet-directory{padding:12px}.security-fleet-card{grid-template-columns:52px minmax(0,1fr)}.fleet-status-chip{grid-column:1/-1;justify-self:start}.security-fleet-card .security-driver-actions{grid-column:1/-1;display:block}.security-fleet-card .security-driver-actions button{width:100%}.fleet-unit-badge{width:50px;height:50px}}
@media print{.report-route{min-width:0!important}.report-route b{color:#111!important}}

/* Stage 2A · Texas towing compliance */
.texas-compliance-settings{grid-column:1/-1}.settings-compliance-form,.tow-compliance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.settings-compliance-form label,.tow-compliance-grid label{display:grid;gap:7px;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:#b9cbd4}.settings-compliance-form input,.settings-compliance-form textarea,.tow-compliance-grid input,.tow-compliance-grid textarea,.tow-compliance-grid select{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#07141c;color:#fff;padding:12px;font:inherit}.settings-compliance-form .wide,.tow-compliance-grid .wide{grid-column:1/-1}.settings-compliance-form button{justify-self:start}.compliance-profile-status strong.complete{color:#69e6a6}.tow-compliance-dialog{max-width:760px;width:min(94vw,760px)}.texas-record-note{border-left:4px solid #d6ad43}.texas-record-note.nonconsent{border-left-color:#ff6b64}.texas-record-note button{margin-top:8px;border:1px solid rgba(214,173,67,.55);background:rgba(214,173,67,.12);color:#ffe18c;border-radius:10px;padding:8px 11px;font-weight:800}.compliance-warning{color:#ffb4ad!important;font-weight:800}.security-fleet-card .security-fleet-main span{line-height:1.35}
@media(max-width:700px){.settings-compliance-form,.tow-compliance-grid{grid-template-columns:1fr}.settings-compliance-form .wide,.tow-compliance-grid .wide{grid-column:auto}}
.compliance-ok-text{color:#8de0ae!important;font-weight:800}.compliance-missing-text{color:#ffbd73!important;font-weight:900}

/* Stage 2V · Driver safety location history */
.location-history-dialog{width:min(1040px,96vw);max-width:1040px;border:1px solid #34545f;border-radius:16px;background:#071a22;color:#eef5f7;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.location-history-dialog::backdrop{background:rgba(0,8,12,.76);backdrop-filter:blur(3px)}
.location-history-shell{display:grid;gap:0;max-height:92vh;overflow:auto}
.location-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #294955;background:linear-gradient(180deg,#102c37,#091f28);padding:16px 18px;position:sticky;top:0;z-index:8}
.location-history-head h2,.location-history-head p{margin:0}.location-history-head h2{margin-top:2px}.location-history-head p:last-child{margin-top:5px;color:#9fb3bb;font-size:.76rem;line-height:1.45}
.location-history-controls{display:grid;grid-template-columns:minmax(190px,1fr) minmax(155px,.55fr) auto;gap:10px;align-items:end;padding:14px 16px;border-bottom:1px solid #294955;background:#081d26}
.location-history-controls label{display:grid;gap:6px;color:#d9ab5b;font-size:.62rem;font-weight:950;letter-spacing:.08em}.location-history-controls select,.location-history-controls input{width:100%;min-height:43px;border:1px solid #365966;border-radius:9px;background:#04151c;color:#eef5f7;padding:8px 10px;font-size:16px}
.location-history-control-buttons{display:flex;gap:8px;flex-wrap:wrap}.location-history-control-buttons button,.location-history-foot button{min-height:43px;border:1px solid #446673;border-radius:9px;background:#102c37;color:#eef5f7;padding:8px 12px;font-weight:900;cursor:pointer}.location-history-control-buttons .primary{border-color:#e8ae4d;background:linear-gradient(#f4bd61,#d99435);color:#17130d}
.location-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px 16px;border-bottom:1px solid #294955;background:#071a22}.location-history-summary>div{min-width:0;border:1px solid #294955;border-radius:10px;background:#0a222c;padding:10px}.location-history-summary small,.location-history-summary strong,.location-history-summary span{display:block}.location-history-summary small{color:#d9ab5b;font-size:.56rem;font-weight:1000;letter-spacing:.09em}.location-history-summary strong{margin-top:3px;font-size:.9rem}.location-history-summary span{margin-top:3px;color:#9fb3bb;font-size:.66rem;line-height:1.35}.location-history-summary:not(:has(>div)){display:block;color:#9fb3bb;font-size:.75rem}
.location-history-map{height:390px;min-height:280px;background:#0b222c;border-bottom:1px solid #294955}
.location-history-stops{padding:14px 16px;background:#071a22}.location-history-section-head small,.location-history-section-head strong{display:block}.location-history-section-head small{color:#d9ab5b;font-size:.58rem;font-weight:1000;letter-spacing:.1em}.location-history-section-head strong{margin-top:3px}.location-history-stop-list{display:grid;gap:8px;margin-top:10px}.location-history-stop-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #2e4f5b;border-radius:10px;background:#0a222c;padding:10px 12px}.location-history-stop-card small,.location-history-stop-card strong,.location-history-stop-card span{display:block}.location-history-stop-card small{color:#8fdab0;font-size:.58rem;font-weight:1000;letter-spacing:.08em}.location-history-stop-card strong{margin-top:2px;font-size:.82rem}.location-history-stop-card span{margin-top:3px;color:#a8bbc2;font-size:.67rem}.location-history-stop-card a{border:1px solid #41636f;border-radius:8px;color:#bdf3f5;padding:7px 9px;text-decoration:none;font-size:.68rem;font-weight:900;white-space:nowrap}.location-history-empty{margin-top:10px;border:1px dashed #35545f;border-radius:10px;color:#98adb6;padding:14px;text-align:center;font-size:.74rem}
.location-history-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #294955;background:#081d26;padding:12px 16px;position:sticky;bottom:0;z-index:7}.location-history-foot span{color:#92a8b1;font-size:.65rem;line-height:1.4}
.location-history-route-start,.location-history-route-end,.location-history-stop-pin{display:grid;place-items:center;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);font-size:12px;font-weight:1000}.location-history-route-start{width:24px;height:24px;background:#78d89e;color:#082217}.location-history-route-end{width:24px;height:24px;background:#e6aa4d;color:#241707}.location-history-stop-pin{width:28px;height:28px;background:#77b7df;color:#071820}
@media(max-width:760px){.location-history-dialog{width:100%;max-width:none;height:100%;max-height:none;border-radius:0}.location-history-shell{max-height:none;min-height:100%}.location-history-controls{grid-template-columns:1fr 1fr}.location-history-control-buttons{grid-column:1/-1}.location-history-control-buttons button{flex:1 1 0}.location-history-summary{grid-template-columns:1fr 1fr}.location-history-map{height:340px}.location-history-foot{align-items:stretch;flex-direction:column}.location-history-foot button{width:100%}}
@media(max-width:440px){.location-history-controls{grid-template-columns:1fr}.location-history-control-buttons{grid-column:auto}.location-history-summary{grid-template-columns:1fr 1fr}.location-history-map{height:300px}.location-history-stop-card{grid-template-columns:1fr}.location-history-stop-card a{text-align:center}}
.location-history-last-link{display:inline-block;margin-top:7px;border:1px solid #436572;border-radius:8px;color:#c9f6f7;padding:6px 8px;text-decoration:none;font-size:.64rem;font-weight:900}

/* Stage 2X · Company > Employees / Company > Fleet > Vehicles hierarchy */
.company-security-shell{display:grid;grid-template-columns:1fr;gap:12px}
.company-current-card{border:1px solid #31535f;border-radius:15px;background:linear-gradient(180deg,#102b36,#081b24);padding:16px;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.company-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.company-card-head .eyebrow{margin:0 0 4px}.company-card-head h2{margin:0;font-size:1.3rem}.company-card-head p{margin:5px 0 0;color:#9fb1b8;font-size:.75rem;line-height:1.45}
.company-status-chip{border:1px solid rgba(110,231,161,.4);border-radius:999px;background:rgba(110,231,161,.09);color:#c9f5d8;padding:6px 9px;font-size:.62rem;font-weight:950;letter-spacing:.07em;white-space:nowrap}.company-code-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.company-code-row span{border:1px solid #31505b;border-radius:9px;background:#071922;color:#9fb1b8;padding:7px 9px;font-size:.64rem}.company-code-row strong{margin-left:5px;color:#fff;letter-spacing:.04em}
.company-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.company-branch-grid a{display:block;border:1px solid #345762;border-radius:11px;background:#0a222c;color:#eef6f8;padding:12px;text-decoration:none;transition:.15s ease}.company-branch-grid a:hover{border-color:#65dbe2;background:#0d2b36;transform:translateY(-1px)}.company-branch-grid small,.company-branch-grid strong,.company-branch-grid span{display:block}.company-branch-grid small{color:#d9ab5b;font-size:.56rem;font-weight:1000;letter-spacing:.09em}.company-branch-grid strong{margin-top:3px;font-size:.9rem}.company-branch-grid span{margin-top:3px;color:#94a9b1;font-size:.65rem}
.security-driver-create select,.driver-profile-grid select{min-width:0;width:100%;border:1px solid #355663;border-radius:8px;background:#061820;color:#fff;padding:9px 10px;outline:none;font:inherit}.security-driver-create select:focus,.driver-profile-grid select:focus{border-color:var(--cyan)}
.employee-role-note{border:1px solid #31515d;border-radius:9px;background:#081d26;color:#9fb3bb;padding:9px 10px;font-size:.67rem;line-height:1.4}.employee-role-line{color:#c7d9df!important;font-weight:850}.security-driver-create [hidden]{display:none!important}
#security-employees,#security-fleet{scroll-margin-top:125px}
@media(max-width:980px){.company-security-shell{grid-template-columns:1fr}}
@media(max-width:620px){.company-card-head{flex-direction:column}.company-branch-grid{grid-template-columns:1fr}}
.call-actions .ticket-view-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,189,74,.42);border-radius:9px;background:rgba(255,189,74,.08);color:#ffd783;text-decoration:none;padding:8px 11px;font-size:.76rem;font-weight:850}.call-actions .ticket-view-action:hover{background:rgba(255,189,74,.14)}
@media(max-width:540px){.call-actions .ticket-view-action{flex:1}}

/* Stage 3W — driver compensation and expense defaults. */
.driver-profile-grid .checkbox-label,.security-driver-create .checkbox-label{display:flex;align-items:center;gap:9px;flex-direction:row}.driver-profile-grid .checkbox-label input,.security-driver-create .checkbox-label input{width:18px;height:18px;flex:0 0 auto}.driver-profile-grid [hidden],.security-driver-create [hidden]{display:none!important}

/* Stage 3M standalone Ticket Records link. */
.dashboard-head-button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ticket-records-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.ticket-records-link:visited{color:#11161a}

/* Stage 3W — responsive Driver Profile dialog. */
@media(min-width:821px){
  .password-dialog.driver-edit-dialog{width:min(1100px,calc(100vw - 64px));max-width:none;max-height:calc(100vh - 48px);overflow:auto}
  .driver-edit-dialog .driver-profile-form{width:100%;max-width:none;padding:22px 26px}
  .driver-edit-dialog .driver-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
  .driver-edit-dialog .driver-profile-grid .wide{grid-column:span 2}
  .driver-edit-dialog .driver-identity-readonly{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .password-dialog.driver-edit-dialog{width:min(560px,calc(100vw - 20px));max-width:none;max-height:calc(100dvh - 20px);overflow:auto}
  .driver-edit-dialog .driver-profile-form{width:100%;padding:16px}
  .driver-edit-dialog .driver-profile-grid,.driver-edit-dialog .driver-identity-readonly{grid-template-columns:1fr}
  .driver-edit-dialog .driver-profile-grid .wide{grid-column:auto}
}

/* Stage 3W — Company, Directory, Create Employee, then Fleet. */
[data-security-content]{display:flex;flex-direction:column;gap:16px}
[data-security-content][hidden]{display:none!important}
[data-security-content]>.company-security-shell{order:1}
[data-security-content]>.driver-directory{order:2}
[data-security-content]>.security-admin-grid{order:3}
[data-security-content]>.fleet-directory{order:4;margin-top:0;margin-bottom:0}
/* Stage 4U: shared polished-black WL monogram on the standard gold app tile. */
.brand-icon img{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(255,255,255,.16))}
