*{box-sizing:border-box}body{margin:0;background:#f6f7f9;color:#161b22;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}.appShell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.side{background:#fff;border-right:1px solid #e5e7eb;padding:25px 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 26px;font-size:24px}.cross{font-size:45px;line-height:1;color:#e30613}.sideTitle{padding:18px 28px;border-bottom:1px solid #eee;font-weight:700}.side nav{padding-top:12px}.side nav a{display:flex;gap:14px;padding:15px 28px;border-left:5px solid transparent}.side nav a.active{color:#e30613;background:#fff0f1;border-left-color:#e30613}.logout{margin:auto 24px 0}.mainContent{min-width:0}.appTop{height:82px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:0 30px}.appTop>div:first-child{margin-right:auto}.weekPill{border:1px solid #e1e4e8;border-radius:9px;padding:12px 16px}.profile{display:flex;align-items:center;gap:10px}.profile small{display:block;color:#68737d}.avatar,.miniAvatar{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;background:#20252b;color:#fff}.content{padding:26px 30px;max-width:1500px}.hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.hero h1{font-size:34px;margin:0 0 6px}.hero p{margin:0;color:#59636e}.heroActions{display:flex;gap:10px;flex-wrap:wrap}.btn,button{border:0;border-radius:8px;padding:11px 14px;background:#20252b;color:#fff;font-weight:700;cursor:pointer;display:inline-block}.btn.red{background:#e30613}.btn.outline{background:#fff;color:#e30613;border:1px solid #e30613}.btn.secondary,.secondary{background:#eef0f2!important;color:#20252b!important}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin:18px 0}.card,.metric{background:#fff;border:1px solid #e8eaed;border-radius:12px;box-shadow:0 2px 8px #00000008}.metric{padding:20px;position:relative;min-height:125px}.metric b{font-size:30px;display:block;margin-left:48px}.metric>span:not(.metricIcon){display:block;margin-left:48px;color:#56606b}.metric small{display:block;margin-left:48px;color:#68737d}.metricIcon{position:absolute;left:20px;top:24px;color:#e30613;font-size:28px}.progress{height:8px;background:#e7eaed;border-radius:9px;margin-top:17px;overflow:hidden}.progress i{display:block;height:100%;background:#e30613;border-radius:9px}.dashboardGrid{display:grid;grid-template-columns:1.35fr .85fr;grid-gap:16px;gap:16px}.card{padding:20px;margin:16px 0}.card h2{margin:0 0 5px}.muted{color:#68737d;font-size:13px}.responseBox{padding:10px 12px;border-radius:9px;margin-top:14px}.responseBox.good{background:#eff9ef}.responseBox.bad{background:#fff0f0}.responseBox h3{margin:0 0 7px}.responseRow{display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:6px 8px;border-radius:7px}.responseRow span:last-child{font-size:13px;color:#158024}.bad .responseRow span:last-child{color:#e30613}.miniAvatar{width:34px;height:34px;font-size:12px;background:#f14a52}.miniAvatar.green{background:#29a329}.vehicleAlert{background:#eef6ff;border-radius:8px;padding:15px;color:#164b86;display:grid;grid-gap:7px;gap:7px}.vehicleAlert.warn{background:#fff5e8;color:#7a4700}.vehicleAlert>b{font-size:18px}.quick{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.quick a{padding:15px;border:1px solid #e2e5e8;border-radius:8px;display:flex;justify-content:space-between;background:#fff}.weekGrid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.dayCard{border:1px solid #e1e4e8;border-radius:8px;text-align:center;padding:12px 6px;display:grid;grid-gap:4px;gap:4px}.dayCard strong{font-size:20px}.dayCard small,.dayCard span{font-size:12px;color:#68737d}.wrap{max-width:1150px;margin:auto;padding:20px}.top{justify-content:space-between;gap:12px;align-items:center}.nav,.top{display:flex;flex-wrap:wrap}.nav{gap:8px}.grid{display:grid;grid-gap:10px;gap:10px}.g3{grid-template-columns:repeat(3,1fr)}input,select,textarea{width:100%;padding:10px;border:1px solid #ccd3d8;border-radius:8px;font:inherit}textarea{min-height:90px}label{font-size:13px;font-weight:700}table{width:100%;border-collapse:collapse}td,th{padding:10px;border-bottom:1px solid #eee;text-align:left}.tableScroll{overflow-x:auto}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.chip{padding:6px 9px;background:#eef0f2;color:#17202a}.userForm{grid-template-columns:repeat(2,minmax(0,1fr));background:#f7f8f9;padding:14px;border-radius:10px;margin:12px 0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.blocked{background:#f5f5f5}.ok{background:#e8f7ed}.partial{background:#fff4d6}.no{background:#f7e8e8}.shiftchecks{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.rowline{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}@media (max-width:1000px){.appShell{grid-template-columns:1fr}.side{position:static;height:auto;display:none}.appTop{height:auto;padding:15px}.content{padding:18px}.hero{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.dashboardGrid{grid-template-columns:1fr}.weekGrid{grid-template-columns:repeat(4,1fr)}}@media (max-width:650px){.metrics{grid-template-columns:1fr 1fr}.weekGrid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:28px}.appTop>div:first-child,.weekPill{display:none}.responseRow{grid-template-columns:38px 1fr}.responseRow span:last-child{display:none}.g3,.userForm{grid-template-columns:1fr}.wrap{padding:10px}}.profileMenu{position:relative;cursor:pointer}.profileDrop{display:none;position:absolute;right:0;top:48px;width:220px;background:#fff;border:1px solid #e1e4e8;border-radius:10px;box-shadow:0 10px 30px #0002;padding:7px;z-index:20}.profileMenu:focus-within .profileDrop,.profileMenu:hover .profileDrop{display:grid}.profileDrop a,.profileDrop button{padding:10px 12px;border-radius:7px;background:#fff;color:#20252b;text-align:left;font-weight:600}.profileDrop a:hover,.profileDrop button:hover{background:#fff0f1;color:#e30613}.adminModeBar{background:#fff0f1;border:1px solid #ffd0d3;color:#8d0710;padding:11px 14px;border-radius:9px;margin-bottom:18px;display:flex;justify-content:space-between}.adminModeBar a{font-weight:700;color:#e30613}.userDashGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eyebrow{font-size:11px;font-weight:800;color:#e30613;letter-spacing:.08em}.countBadge,.statusPill{background:#f1f3f5;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.availabilitySummary.submitted{border-top:4px solid #2ca43b}.availabilitySummary.pending{border-top:4px solid #e30613}.availabilitySummary.submitted .statusPill{background:#eaf8ec;color:#177326}.availabilitySummary.pending .statusPill{background:#fff0f1;color:#e30613}.userShift{display:grid;grid-template-columns:54px 1fr;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.userShift>div:last-child{display:grid;grid-gap:5px;gap:5px}.userShift span{color:#68737d;font-size:13px}.dateTile{width:48px;height:52px;border-radius:9px;background:#fff0f1;color:#e30613;display:grid;place-items:center;padding:4px}.dateTile b{font-size:20px}.dateTile span{font-size:10px!important;color:#e30613!important;text-transform:uppercase}.emptyState{background:#f7f8f9;border-radius:9px;padding:18px;color:#59636e;margin:14px 0}.textLink{display:inline-block;margin-top:14px;color:#e30613;font-weight:700}.availabilityList{display:grid;grid-gap:8px;gap:8px;margin:14px 0 18px;max-height:250px;overflow:auto}.availabilityList>div{display:flex;justify-content:space-between;gap:12px;padding:10px;background:#f7f8f9;border-radius:7px}.availabilityList span{font-size:13px;color:#68737d}.myRow{background:#fff4f5}.myRow td:first-child{border-left:4px solid #e30613}@media (max-width:850px){.userDashGrid{grid-template-columns:1fr}.adminModeBar{flex-direction:column;gap:5px}}.modeBox{margin:auto 18px 10px;padding:12px;border-top:1px solid #eee}.modeBox>span{display:block;font-size:11px;font-weight:800;color:#68737d;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.modeSwitch{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f5;border-radius:9px;padding:3px;grid-gap:3px;gap:3px}.modeSwitch button{background:transparent;color:#4b5560;padding:8px 6px;font-size:12px}.modeSwitch button.selected{background:#e30613;color:#fff;box-shadow:0 1px 4px #0002}.logout{margin:0 18px}.side .brand{padding-bottom:22px;border-bottom:1px solid #eee}.hero{min-height:70px}.adminPersonPicker{display:flex;align-items:end;gap:18px}.adminPersonPicker label{min-width:280px}.adminPersonPicker .muted{padding-bottom:10px}.vehicleAlert.warn{padding:12px 14px}.vehicleAlert.warn>b{font-size:16px}.vehicleAlert.warn strong{font-size:13px}.profileDrop,.profileMenu{display:none!important}.backDashboard{display:inline-flex;align-items:center;gap:6px;color:#e30613;font-weight:700;font-size:13px;margin:0 0 16px}.backDashboard:hover{text-decoration:underline}.weekNav{display:flex;align-items:center;gap:8px;border:1px solid #e1e4e8;border-radius:10px;padding:5px;background:#fff}.weekNav button{width:36px;height:36px;padding:0;border-radius:7px;background:#f1f3f5;color:#20252b;font-size:24px;line-height:1}.weekNav button:hover{background:#e30613;color:#fff}.weekNav>div{display:grid;min-width:190px;text-align:center}.weekNav small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#68737d;font-weight:800}.weekNav b{font-size:13px}.planningOverview h2{margin-top:3px}.overviewNames{display:grid;grid-gap:5px;gap:5px}.overviewNames span{display:flex;align-items:center;gap:6px;font-weight:700}.overviewNames em{font-size:9px;font-style:normal;background:#fff0f1;color:#e30613;border-radius:99px;padding:3px 6px}.emptyShift{font-size:12px;color:#9aa1a8}.blockedLabel{font-size:12px;font-weight:700;color:#7a4700}.blockedLabel small{font-weight:400}.planningOverview td{vertical-align:top;min-width:160px}@media (max-width:650px){.weekNav>div{min-width:150px}.weekNav{margin-left:auto}}.qualBadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f1f3f5;font-size:12px;font-weight:700}.vehicleEntries{margin-top:18px}.weekNav .currentWeekBtn{width:auto;padding:0 10px;font-size:11px;white-space:nowrap}.weekNav .currentWeekBtn:disabled{opacity:.4;cursor:default}.settingsTabs{display:flex;gap:8px;margin:18px 0}.settingsTabs button{background:#eef0f2;color:#20252b}.settingsTabs button.selected{background:#e30613;color:#fff}.userShiftDetail{display:flex;gap:16px;align-items:flex-start}.shiftDetailBody{display:flex;flex-direction:column;gap:5px;flex:1 1}.colleagueList{margin-top:10px;padding-top:10px;border-top:1px solid #eee;display:grid;grid-gap:6px;gap:6px}.insetForm{margin-top:18px;background:#fafafa}.qualBadge{white-space:nowrap}.assignmentNote{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#9a5a00}.danger{color:#b42318}.vehicleStatusRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #00000012}.vehicleStatusRow:first-of-type{margin-top:4px}.statusBad,.statusGood{font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px}.statusGood{background:#e8f7ed;color:#176b35}.statusBad{background:#fde8e8;color:#a5161d}.vehicleRestriction{font-size:12px;padding:0 0 8px}.activityBox{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}.activityRow{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;align-items:end;margin:10px 0}.activityActions{gap:14px;justify-content:flex-end;margin-top:12px}.activityActions,.logisticsTop{display:flex;align-items:center}.logisticsTop{justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 24px}.logisticsShell .wrap{max-width:1100px}.mobileOnly{display:none}@media (max-width:650px){body{font-size:15px}.content,.wrap{padding:12px}.card{padding:14px;margin:10px 0}.appTop{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.appTop>div:first-child{display:block}.weekNav{width:100%;margin:0;display:grid;grid-template-columns:38px 1fr 38px}.weekNav .currentWeekBtn{grid-column:1/-1;width:100%;height:34px}.weekNav>div{min-width:0}.profile{display:none}.metrics{grid-template-columns:1fr}.hero{margin-bottom:10px}.hero h1{font-size:25px}.btn,button{min-height:42px}.tableScroll table{min-width:720px}.activityRow{grid-template-columns:1fr 1fr}.activityRow button{grid-column:1/-1}.activityActions{align-items:stretch;flex-direction:column}.activityActions button{width:100%}.userShiftDetail{gap:10px}.settingsTabs{overflow-x:auto;padding-bottom:4px}.settingsTabs button{white-space:nowrap}.adminPersonPicker{align-items:stretch;flex-direction:column}.adminPersonPicker label{min-width:0}.rowline{align-items:flex-start;flex-direction:column}.rowline button{width:100%}.shiftchecks{display:grid}.logisticsTop{padding:12px;align-items:flex-start}.brand{font-size:19px!important}.cross{font-size:34px!important}}@media (max-width:390px){.content,.wrap{padding:9px}.card{border-radius:9px}.dateTile{width:42px}.weekNav b{font-size:12px}.g3{grid-template-columns:1fr!important}}.dashboardGrid{grid-template-columns:1fr}.approvalItems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:14px}.approvalItem{background:#f7f8fa;border:1px solid #e8eaed;border-radius:9px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.approvalCount{font-size:28px;color:#e30613}.approvalItem h3{font-size:14px;margin:0;flex:1 1}.approvalItem .btn{font-size:13px}@media (max-width:700px){.approvalItems{grid-template-columns:1fr;gap:10px}}.responseColumns{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;align-items:start}.responseColumns .responseBox{margin-top:14px;min-height:100%}.vehicleCards{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.vehicleCards .card{margin:0;min-height:190px}.modeSwitch.three{grid-template-columns:repeat(3,1fr)}.modeSwitch.three button{font-size:11px;padding-left:4px;padding-right:4px}.logisticsMode{max-width:520px;margin:10px 20px 0}.logisticsMode .modeBox{margin:0}.runStat{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eee}.runStat:last-child{border-bottom:0}.auditList{display:grid;grid-gap:10px;gap:10px}.auditItem{background:#fff;border:1px solid #e8eaed;border-radius:10px;padding:14px}.auditItemTop{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.auditItem small{color:#68737d}@media (max-width:850px){.responseColumns,.vehicleCards{grid-template-columns:1fr}}@media (max-width:650px){.modeSwitch.three,.runStat{grid-template-columns:1fr}.logisticsMode{margin:8px 12px 0}}.mobileMenuButton{display:none;position:fixed;top:10px;left:10px;z-index:101;background:#e30613;box-shadow:0 3px 15px #0003}.globalDrawer{display:none}.menuScrim{position:fixed;inset:0;background:#0008;z-index:109}.drawerHead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #ddd}.drawerHead b{color:#e30613;font-size:20px}.drawerHead button{background:#eef0f2;color:#222}.globalDrawer nav{display:grid;padding:10px}.globalDrawer nav a{padding:13px 15px;border-radius:8px;font-weight:600}.globalDrawer nav a.active{background:#fff0f1;color:#e30613}.drawerBottom{margin-top:auto;padding:14px;display:grid;grid-gap:12px;gap:12px;border-top:1px solid #eee}.drawerBottom>.modeBox{margin:0}.drawerBottom>button{width:100%}.modeSwitch.three{grid-template-columns:repeat(2,minmax(0,1fr))}.modeSwitch.three button:last-child{grid-column:1/-1}.modalOverlay{position:fixed;inset:0;z-index:150;background:#0008;display:flex;align-items:center;justify-content:center;padding:16px}.modalForm{width:min(680px,100%);max-height:90dvh;overflow-y:auto;margin:0!important;box-shadow:0 15px 50px #0003}.modalForm .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.logisticsDashboard .vehicleCards{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.logisticsDashboard .vehicleCards .card{min-width:0}@media (max-width:1000px){.mobileMenuButton{display:block}.globalDrawer{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:min(325px,88vw);background:#fff;z-index:110;transform:translateX(-110%);transition:transform .2s;box-shadow:5px 0 30px #0003}.globalDrawer.drawerOpen{transform:translateX(0)}.appTop{padding-left:110px}.wrap{padding-top:70px}.logisticsDashboard .vehicleCards{grid-template-columns:1fr}}@media (min-width:1001px){body:not(:has(.appShell)) .globalDrawer{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:245px;background:#fff;border-right:1px solid #eee;z-index:80}body:not(:has(.appShell)) .wrap{margin-left:245px;max-width:none}body:not(:has(.appShell)) .logisticsDashboard{margin-left:245px}}@media (max-width:650px){.modalForm .grid{grid-template-columns:1fr}.appTop{padding-left:75px}.globalDrawer .modeSwitch.three{grid-template-columns:1fr}.globalDrawer .modeSwitch.three button:last-child{grid-column:auto}}.vehicleManagement{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.vehicleManagement .card{min-width:0}@media (max-width:850px){.vehicleManagement{grid-template-columns:1fr}}button:disabled{opacity:.55;cursor:default}input,select,textarea{min-width:0}.fieldError{color:#b42318;font-size:13px}.globalDrawer{overflow-y:auto}.mobileTopbar{display:none}.modalForm{overscroll-behavior:contain}.activityRow{grid-template-columns:1fr 1fr 1fr auto}.rowline>span{min-width:0;overflow-wrap:anywhere}@media (max-width:1000px){.mobileMenuButton{position:-webkit-sticky;position:sticky;top:0;left:0;width:100%;min-height:48px;text-align:left;border-radius:0;background:#fff;color:#20252b;box-shadow:0 1px 3px #0002;font-size:17px}.mobileMenuButton span{font-size:14px;margin-left:10px}.appTop{padding:10px 14px;position:static}.wrap{padding-top:16px}body{overflow-wrap:anywhere}.globalDrawer{max-height:100dvh}.card,.content,.mainContent,.wrap{min-width:0;max-width:100%}}@media (max-width:650px){.hero h1,h1{font-size:22px}.hero{min-height:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:12px;min-height:90px}.metric b{font-size:23px;margin-left:0}.metric small,.metric>span:not(.metricIcon){margin-left:0;font-size:12px}.metricIcon{display:none}.weekNav{grid-template-columns:36px minmax(0,1fr) 36px auto;gap:3px;padding:3px}.weekNav .currentWeekBtn{grid-column:auto;font-size:10px;height:36px;padding:0 5px}.weekNav b{font-size:11px}.weekNav button{min-height:36px}.settingsTabs{flex-wrap:wrap;overflow:visible;gap:5px}.settingsTabs button{font-size:12px;padding:9px}.tableScroll{overflow:visible}.tableScroll table{min-width:0;table-layout:fixed}.tableScroll td,.tableScroll th{padding:7px 4px;word-break:break-word;font-size:12px}.tableScroll td select{font-size:13px}.tableScroll .chip{font-size:12px;width:100%}.modalOverlay{padding:8px}.modalForm{padding:15px;max-height:94dvh}.activityRow{grid-template-columns:1fr 1fr}.grid input{font-size:16px}.grid input[style]{grid-column:auto!important}.g3>input{grid-column:1/-1!important}.vehicleCards .card{min-height:0}.responseColumns{gap:8px}.profile{display:none}.top>div{max-width:100%}}.activityBox,.activityRow,.activityRow>label{min-width:0}.activityActions{flex-wrap:wrap}@media (max-width:650px){.publishedTable,.publishedTable tbody,.publishedTable td,.publishedTable tr{display:block;width:100%;min-width:0;max-width:100%}.publishedTable thead{display:none}.publishedTable tr{border-bottom:2px solid #ddd;padding:8px 0}.publishedTable td{white-space:normal;overflow-wrap:anywhere}.publishedTable .activityBox{padding:10px}.activityRow{grid-template-columns:repeat(2,minmax(0,1fr))}.activityRow input{min-width:0;width:100%}.activityActions button{max-width:100%;white-space:normal}}.vehicleRegistrationFields{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicleRegistrationSummary{padding:16px 0;border-bottom:1px solid #e8eaed}fieldset.activityBox{min-width:0}@media (max-width:700px){.vehicleRegistrationFields{grid-template-columns:1fr}.vehicleRegistrationFields input,.vehicleRegistrationFields select{min-width:0;width:100%}}