:root{--dispatch-accent:#327a70;--dispatch-bg:#f3f5f7;--dispatch-text:#20323e;--dispatch-muted:#687783;--dispatch-panel:#fff;--dispatch-line:#e2e8ec}html[data-bs-theme=dark]{--dispatch-bg:#141e29;--dispatch-text:#edf3f7;--dispatch-muted:#a5b4c0;--dispatch-panel:#1d2b38;--dispatch-line:#344454}body{margin:0;background:var(--dispatch-bg);color:var(--dispatch-text);font-family:Inter,system-ui,-apple-system,sans-serif}a{color:var(--dispatch-accent)}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #efbb63;outline-offset:4px}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#172c38;color:#b8c9d1;padding:30px 18px;position:sticky;top:0;height:100vh}.brand{font-weight:800;letter-spacing:.07em;color:white;font-size:18px;display:block;text-decoration:none;margin:0 14px 42px}.brand small{font-size:10px;letter-spacing:.24em;color:#8aa5b2;display:block;margin-top:9px}.nav-caption{font-size:10px;letter-spacing:.16em;color:#6f909e;margin:22px 14px 10px}.sidebar nav a{display:block;padding:13px 15px;margin:5px 0;text-decoration:none;color:#bed0d9;border-radius:9px}.sidebar nav a.active,.sidebar nav a:hover{background:#26444d;color:#fff}.sidebar-footer{position:absolute;bottom:28px;left:32px;font-size:12px;color:#8da8b5}.content{min-width:0;grid-column:2}.topbar{position:sticky;top:0;z-index:30;height:80px;background:var(--dispatch-panel);border-bottom:1px solid var(--dispatch-line);display:flex;align-items:center;gap:18px;padding:0 38px}.topbar .spacer{flex:1}.icon-button{background:transparent;border:1px solid var(--dispatch-line);border-radius:9px;padding:8px 12px;color:inherit;cursor:pointer}.workspace{padding:38px;max-width:1500px;margin:auto}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--dispatch-muted)}h1{font-size:32px;letter-spacing:-.04em;margin:8px 0 12px}h2{font-size:18px;letter-spacing:-.02em}.subtitle{color:var(--dispatch-muted);line-height:1.7}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.metric,.panel{background:var(--dispatch-panel);border:1px solid var(--dispatch-line);border-radius:14px;padding:24px}.metric strong{font-size:32px;font-weight:650;display:block;margin-top:8px}.metric small{color:var(--dispatch-muted)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.badge-soft{display:inline-block;padding:5px 10px;border-radius:30px;background:#e0f2eb;color:#246452;font-size:12px}.pill-muted{background:#e9edf1;color:#596772}.table{--tblr-table-bg:transparent;color:inherit}.table td,.table th{border-color:var(--dispatch-line);vertical-align:middle}.avatar-circle{width:34px;height:34px;display:inline-grid;place-items:center;background:#e3edea;border-radius:50%;color:#327a70;margin-right:10px}.btn-primary{background:#327a70;border-color:#327a70}.btn-primary:hover{background:#27685f;border-color:#27685f}.auth-card{max-width:430px;margin:10vh auto;background:var(--dispatch-panel);border:1px solid var(--dispatch-line);border-radius:20px;padding:36px;box-shadow:0 15px 45px #162f4010}.auth-card h1{font-size:28px}.form-label{font-size:13px;margin:18px 0 8px}.form-control{background:var(--dispatch-panel);color:var(--dispatch-text);border-color:var(--dispatch-line);min-height:46px}.reference-landing{position:relative;margin:auto;max-width:761px;min-height:100svh;background:#182535;display:flex;align-items:center}.reference-landing img{width:100%;display:block}.reference-scene{position:relative;width:100%}.reference-signin{position:absolute;left:42.95%;top:88.6%;width:15.1%;height:5.7%;background:#a58c82;border-radius:3px;display:grid;place-items:center;color:white;font-size:clamp(11px,2.8vw,22px);font-weight:500;text-decoration:none;box-shadow:0 2px 5px #0004}.reference-signin:hover{color:white;background:#967c72}.landing-body{background:#182535}.mobile-main{max-width:720px;margin:auto}.status-picker{display:flex;gap:12px;flex-wrap:wrap}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-list dt{font-size:12px;color:var(--dispatch-muted);font-weight:500}.profile-list dd{margin-top:5px;overflow-wrap:anywhere}.notice{padding:14px;border:1px solid #c4dccd;background:#eef7f0;color:#315f42;border-radius:9px;margin:18px 0}.error-notice,.validation-summary-errors{color:#aa3434}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.shell.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.nav-collapsed .sidebar{visibility:hidden;padding:0;overflow:hidden}.offline-banner{display:none;padding:12px;background:#ffe3b8;color:#664718;text-align:center}.is-offline .offline-banner{display:block}.map-canvas{height:480px;border-radius:12px;background:var(--dispatch-bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.shell{grid-template-columns:0 minmax(0,1fr)}.sidebar{visibility:hidden;position:fixed;z-index:50;width:248px}.shell.nav-open .sidebar{visibility:visible}.metric-grid{grid-template-columns:repeat(2,1fr)}.workspace{padding:24px 18px}.topbar{padding:0 18px;height:65px}h1{font-size:27px}.auth-card{margin:5vh 16px}.profile-list{grid-template-columns:1fr}.topbar .user-name{display:none}}
.nav-close{display:none}@media(max-width:900px){.nav-close{display:block;position:absolute;right:12px;top:8px;color:#fff}.sidebar .brand{margin-top:22px}}

.employee-portrait{width:128px;height:128px;object-fit:cover;border-radius:16px;margin-bottom:20px}

.shell.signed-out{grid-template-columns:minmax(0,1fr)}.shell.signed-out>.content{grid-column:1}

/* Keep fixed navigation outside the page grid and any content containing blocks. */
.shell{min-height:100dvh}
.topbar{height:auto;display:block;padding:env(safe-area-inset-top,0px) 0 0}
.topbar-tools{min-height:80px;display:flex;align-items:center;gap:12px;padding:0 max(38px,env(safe-area-inset-right,0px)) 0 max(38px,env(safe-area-inset-left,0px))}
.topbar-tools>form{flex-shrink:0;margin:0}
.topbar-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;max-width:720px;margin:0 auto;padding:0 18px 12px}
.topbar-actions:empty{display:none}
.topbar-actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:normal;line-height:1.3}
.topbar-actions form{margin:0}
.work-primary{flex:1;min-width:0}
.work-job{overflow-wrap:anywhere}
.work-status{font-size:13px;line-height:1.4;text-align:center;color:var(--dispatch-muted);flex:1;min-width:140px;overflow-wrap:anywhere}
.topbar-actions [hidden]{display:none}
.workspace{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
.workspace input,.workspace textarea,.workspace select{scroll-margin-top:180px;scroll-margin-bottom:120px}
.mobile-bottom-bar{position:fixed;z-index:40;left:248px;right:0;bottom:0;padding:10px max(18px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));background:var(--dispatch-panel);color:var(--dispatch-text);border-top:1px solid var(--dispatch-line);box-shadow:0 -6px 22px #00000008}
.mobile-bottom-bar,.mobile-nav-link,.mobile-nav-badge{box-sizing:border-box}
.mobile-bottom-inner{max-width:720px;margin:auto;display:flex;align-items:stretch;gap:8px}
.mobile-nav-link{flex:1 1 0;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;color:var(--dispatch-muted)}
.mobile-nav-link:hover,.mobile-nav-link[aria-current=page]{background:#327a701a;border-color:#327a7040;color:var(--dispatch-accent)}
.mobile-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;font-weight:700;line-height:1;flex-shrink:0}
.mobile-bottom-bar [hidden]{display:none}
.shell.nav-collapsed~.mobile-bottom-bar,.mobile-landing .mobile-bottom-bar{left:0}
@media(max-width:900px){.topbar-tools{min-height:65px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}.mobile-bottom-bar{left:0}.shell.nav-open~.mobile-bottom-bar{visibility:hidden}}
@media(max-width:380px){.mobile-bottom-bar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.mobile-bottom-inner{gap:4px}.mobile-nav-link{gap:4px;font-size:13px}}
.signed-out .workspace{padding-bottom:38px}.mobile-landing{padding:0;background:#182535 url('/images/landing-background.png') center center/cover no-repeat fixed}.fullscreen-landing{box-sizing:border-box;min-height:100svh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;color:#fff;padding:calc(14vh + env(safe-area-inset-top,0px)) 24px calc(6vh + env(safe-area-inset-bottom,0px));background:linear-gradient(#07132225,#07132205 60%,#07132245)}.fullscreen-landing h1{font-size:clamp(26px,5.5vw,56px);font-weight:800;letter-spacing:-.025em;text-shadow:0 2px 16px #10243e80;margin:0}.landing-caption h2{font-size:clamp(30px,5vw,44px);margin:0 0 22px;font-weight:800}.landing-caption p{font-size:clamp(21px,3.5vw,30px);margin:0;text-shadow:0 2px 12px #0009}.landing-access{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:150px;padding:0 24px;border-radius:6px;background:#a58c82;color:#fff;font-weight:700;font-size:19px;text-decoration:none;box-shadow:0 4px 14px #0005}.landing-access:hover{background:#8f756b;color:#fff}.landing-authenticated .fullscreen-landing{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}@media(max-height:500px){.fullscreen-landing{padding-top:24px;padding-bottom:24px;gap:20px}.landing-caption h2{margin-bottom:8px}.landing-authenticated .fullscreen-landing{padding-bottom:110px}}

.action-spinner{display:inline-block;width:1em;height:1em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dispatch-spin .8s linear infinite}button[aria-busy="true"]{cursor:wait}@keyframes dispatch-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.action-spinner{animation:none}}
.work-card{padding:1.15rem 0;border-bottom:1px solid var(--border,#52616b)}.work-card:last-child{border-bottom:0}.work-card h3{font-size:1.15rem;margin-bottom:.4rem}.work-card p{margin-bottom:.65rem}.shift-steps{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding-left:1.4rem;color:var(--muted,#6e8294);font-size:.85rem}.shift-steps .done{color:var(--accent,#2f7d74);font-weight:700}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.delivery-list{padding-left:1.2rem;font-size:.85rem}
.location-notice{max-width:720px;margin:32px auto 0;text-align:center;line-height:1.65}
.login-page{background:#182535 url('/images/landing-background.png') center/cover no-repeat fixed}.login-page .content{background:linear-gradient(#07132245,#07132265)}.login-page .workspace{width:100%;box-sizing:border-box;display:flex;min-height:calc(100svh - 80px);min-height:calc(100dvh - 80px);flex-direction:column;justify-content:center;align-items:center;gap:32px}.login-page .auth-card{width:100%;max-width:430px;box-sizing:border-box;margin:0;box-shadow:0 15px 45px #07132255}.login-page .auth-card>.eyebrow,.login-page .auth-card>h1,.login-page .auth-card>.subtitle{text-align:center}.login-page .location-notice{margin:0;color:#fff;text-shadow:0 1px 4px #000;background:#071322b3;border-radius:12px;padding:12px 18px;box-sizing:border-box}.login-page .notice{max-width:720px;width:100%}@media(max-width:900px){.login-page .workspace{min-height:calc(100svh - 65px - env(safe-area-inset-top,0px));min-height:calc(100dvh - 65px - env(safe-area-inset-top,0px))}.login-page .auth-card{padding:28px}}

.checkout-dialog{max-width:560px;width:calc(100% - 32px);margin:auto;color:var(--dispatch-text);max-height:90dvh;overflow:auto}.checkout-dialog::backdrop{background:rgba(0,0,0,.65)}
.live-new-row{animation:dispatch-arrival 4s ease-out}@keyframes dispatch-arrival{from{box-shadow:inset 4px 0 #327a70;background:#327a7026}to{box-shadow:inset 0 0 transparent}}@media(prefers-reduced-motion:reduce){.live-new-row{animation:none;border-left:4px solid #327a70}}

/* Tracknet Cloud wordmark: dark surfaces use the light logo; cards follow the current theme. */
.tracknet-logo{display:block;width:100%;max-width:100%;height:auto}
.tracknet-logo-theme{display:block}
.tracknet-logo-theme .tracknet-logo-on-dark{display:none}
html[data-bs-theme=dark] .tracknet-logo-theme .tracknet-logo-on-light{display:none}
html[data-bs-theme=dark] .tracknet-logo-theme .tracknet-logo-on-dark{display:block}
.sidebar .brand .tracknet-logo{width:200px}
.fullscreen-landing .landing-brand{width:min(560px,84vw);max-width:100%;margin:0}
.fullscreen-landing .tracknet-logo{filter:drop-shadow(0 2px 12px #07132280)}
.fullscreen-landing .landing-footer{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;flex-shrink:0}
.fullscreen-landing .landing-credit{padding:2px 4px;color:#cad3dc;font-size:13px;line-height:1.5;text-decoration:none;text-shadow:0 1px 4px #071322}
.fullscreen-landing .landing-credit:hover,.fullscreen-landing .landing-credit:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fullscreen-landing .landing-credit:focus-visible{outline:3px solid #efbb63;outline-offset:4px;border-radius:3px}
.auth-brand{width:260px;max-width:100%;margin:0 auto 20px}
.offline-page{box-sizing:border-box;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px}
.offline-page .auth-card{box-sizing:border-box;width:100%;max-width:430px;margin:0;padding:28px}
.offline-page .auth-card>.eyebrow,.offline-page .auth-card>h1{text-align:center}
@media(prefers-color-scheme:dark){
    html:not([data-bs-theme]) .tracknet-logo-theme .tracknet-logo-on-light{display:none}
    html:not([data-bs-theme]) .tracknet-logo-theme .tracknet-logo-on-dark{display:block}
    html:not([data-bs-theme]) .offline-page{--dispatch-bg:#141e29;--dispatch-text:#edf3f7;--dispatch-muted:#a5b4c0;--dispatch-panel:#1d2b38;--dispatch-line:#344454}
}
