.topBar{display:flex;gap:10px;flex-wrap:wrap}.searchInput{flex:1;min-width:220px}input,select,textarea{color:#111827;background:white}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}.formGrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.formGrid label{display:flex;flex-direction:column;gap:6px}input,select{border:1px solid #ddd;border-radius:10px;padding:10px}input:focus,select:focus{outline:none;border-color:var(--primary)}.dangerBtn,.primaryBtn,.secondaryBtn{border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:all .15s ease}.primaryBtn{background:var(--primary);color:white}.primaryBtn:hover{opacity:.9}.secondaryBtn{background:#f2f2f2;color:#111}.secondaryBtn:hover{background:#e6e6e6}.dangerBtn{background:#fff1f2;color:var(--danger)}.dangerBtn:hover{background:#ffe4e8}.sections{gap:24px}.section,.sections{display:flex;flex-direction:column}.section{gap:12px}.sectionHeader{display:flex;justify-content:space-between;align-items:center}.sectionTitle{font-size:22px;font-weight:800;color:var(--primary);margin:0}.sectionItems{display:flex;flex-direction:column;gap:16px}.addItemLayout,.itemLayout{display:flex;gap:18px}.itemImageColumn{width:140px;flex-shrink:0}.itemContent{flex:1;display:flex;flex-direction:column;gap:14px}.imageWrap{position:relative}.thumb{width:140px;height:140px;object-fit:cover;border-radius:14px;background:#f2f2f2;border:1px solid var(--border);display:block}.placeholder{display:flex;align-items:center;justify-content:center;color:#666;font-size:12px;font-weight:600}.thumbDisabled{opacity:.45}.uploadOverlay{position:absolute;inset:0;background:rgba(0,0,0,.55);color:white;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:13px;font-weight:700}.uploadInput{margin-top:8px;width:100%;font-size:12px}.itemReadView{display:flex;flex-direction:column;gap:6px}.itemName{margin:0;font-size:20px;font-weight:800}.itemMeta{margin:0;color:#555;font-size:14px}.statusBadges{display:flex;gap:8px;flex-wrap:wrap}.itemTopBar{display:flex;justify-content:flex-end}.rowActions{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.checkboxRow{flex-direction:row!important;align-items:center;gap:10px;padding-top:6px}.checkboxRow input{width:auto;margin:0}.emptyState{padding:24px;border-radius:var(--radius);background:white;border:1px solid var(--border);color:#555}.formGrid label.full{grid-column:1/-1}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}button:disabled{opacity:.6}input:disabled,select:disabled,textarea:disabled{color:#64748b;background:#f8fafc}.dangerBtn:disabled,.dangerBtn:disabled:hover{background:#f3f4f6;color:#6b7280}input::placeholder{color:#9ca3af}@media (max-width:900px){.addItemLayout,.itemLayout{flex-direction:column}.itemImageColumn,.thumb{width:100%}.thumb{max-width:220px;height:220px}.formGrid{grid-template-columns:1fr}.topBar{flex-direction:column;align-items:stretch}.searchInput{width:100%;min-width:0}}.plateChip{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:8px;background:#cbcbc6;color:#111;font-weight:800;font-size:14px;letter-spacing:1px;border:2px solid #111;box-shadow:inset 0 -2px rgba(0,0,0,.15);text-transform:uppercase}.plateRow{margin:6px 0 10px}.toggle{position:relative;width:42px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggleSlider{inset:0;background:#ddd}.toggleSlider,.toggleSlider:before{position:absolute;border-radius:999px;transition:.2s}.toggleSlider:before{content:"";height:18px;width:18px;left:3px;top:3px;background:white}.toggle input:checked+.toggleSlider{background:var(--primary)}.toggle input:checked+.toggleSlider:before{transform:translateX(18px)}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f8fb}.loginCard{width:100%;max-width:420px;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 34px rgba(15,23,42,.08)}.loginCard .formGrid label span{color:#111827;font-size:13px;font-weight:800}.loginCard .pageTitle{margin:0;color:#111827;font-size:28px;font-weight:850;line-height:1.15}.loginCard .pageSubtitle{margin:8px 0 22px;color:#4b5563;font-size:15px;font-weight:500}.loginCard form{margin-top:18px}.loginCard .primaryBtn{width:100%;justify-content:center}.loginCard input:disabled{background:#f8fafc;cursor:not-allowed}.loginCard .linkText{font-size:14px;font-weight:700;color:#4b5563}.card{background:var(--surface);color:#111;border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:.15s ease}.card:hover{transform:translateY(-2px)}.cardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cardTitle{font-size:18px;font-weight:700}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;border-radius:999px}.badge.is-danger{background:#fff1f2;color:var(--danger)}.badge.is-warning{background:#fff7ed;color:var(--warning)}.badge.is-success{background:#ecfdf3;color:var(--success)}.badge.is-muted{background:#f3f4f6;color:var(--muted)}.statCard{padding:16px;border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.statLabel{font-size:13px;font-weight:600;color:#6b7280;margin-bottom:6px}.statValue{font-size:32px;font-weight:800;line-height:1;color:#111}.statValue.is-danger{color:var(--danger)}.statValue.is-warning{color:var(--warning)}.statValue.is-success{color:var(--success)}.alert{padding:12px 14px;border-radius:12px;font-weight:600;color:#111}.alert.is-danger{background:#fff1f2;color:var(--danger)}.alert.is-success{background:#ecfdf3;color:var(--success)}.alertItem{padding:12px 14px;border-radius:12px;border:1px solid transparent}.alertItem.is-danger{background:#fff1f2;border-color:#fecdd3}.alertItem.is-warning{background:#fff7ed;border-color:#fed7aa}.progressTrack{width:100%;height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.progressFill{height:100%}.progressFill.is-danger{background:#ef4444}.progressFill.is-warning{background:#f59e0b}.progressFill.is-success{background:#22c55e}.progressFill.is-muted{background:#9ca3af}.mobileNavBackdrop,.mobileNavClose,.mobileNavToggle{display:none}@media (max-width:900px){body.mobileNavLocked{overflow:hidden}.layout{display:block;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(88vw,340px);height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));box-shadow:18px 0 50px rgba(15,23,42,.2);transform:translateX(-105%);transition:transform .2s ease}.sidebar.isOpen{transform:translateX(0)}.mobileNavBackdrop{position:fixed;inset:0;z-index:40;display:block;width:100%;height:100%;border:0;background:rgba(15,23,42,.52);opacity:0;pointer-events:none;transition:opacity .2s ease}.mobileNavBackdrop.isOpen{opacity:1;pointer-events:auto}.mobileNavClose,.mobileNavToggle{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid #dbe3ee;border-radius:12px;background:#ffffff;color:#0f172a;cursor:pointer;font:inherit;font-weight:850}.mobileNavToggle{gap:7px;margin-right:auto;padding:0 13px}.mobileNavClose{flex:0 0 44px;padding:0}.topBarRight{position:sticky;top:0;z-index:30;justify-content:flex-end;gap:8px;padding:max(8px,env(safe-area-inset-top)) 12px 8px}.userChip{min-width:44px;min-height:44px;padding:4px}.userChipChevron,.userChipText{display:none}.headerLogoutBtn{min-height:44px;padding:0 12px}.content{box-sizing:border-box;width:auto;min-width:0;max-width:100%;padding:18px 16px max(28px,env(safe-area-inset-bottom))}.adminStatusNotice{margin:12px 16px 0}.adminPage,.adminPage>*,.card,.mainArea{min-width:0;max-width:100%}.adminPage{gap:18px}.cardHeader,.pageHeader,.sectionHeader{display:flex;flex-direction:column;align-items:stretch;gap:12px}.cardHeader>a,.cardHeader>button,.pageHeader>a,.pageHeader>button{width:100%}.pageTitle{font-size:clamp(26px,8vw,32px)}.pageSubtitle{font-size:14px}.card{padding:15px}.card:hover{transform:none}.dashboardStatsGrid,.menuStatsGrid,.reportSummaryGrid,.routeDetailStatsGrid,.routeStatsGrid,.staffStatsGrid,.stopRequestStatsGrid,.taskStatsGrid,.temperatureSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.formGrid,.menuReadGrid,.menuToggleGrid,.reportDetailsGrid,.routeDetailsGrid,.taskDetailsGrid{grid-template-columns:minmax(0,1fr)}.dashboardAlertsList .alertItem,.menuToolbar,.routeToolbar,.rowActions,.staffToolbar,.stopRequestFilters,.stopRequestToolbar,.taskToolbar,.topBar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.menuToolbar>*,.routeToolbar>*,.rowActions>*,.staffToolbar>*,.stopRequestFilters>*,.stopRequestToolbar>*,.taskToolbar>*{width:100%}.dangerBtn,.primaryBtn,.secondaryBtn,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}[draggable=true]{min-height:48px}[draggable=true] .material-symbols-rounded{font-size:26px}.leaflet-container,.routeMapFrame,.stopRequestMapFrame{max-width:100%;min-height:320px}table{font-size:13px}.dashboardChartScroll{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.dashboardChartCanvas{min-width:600px}.fleetScroller{width:auto;min-width:0;max-width:calc(100% + 30px);margin-inline:-15px;padding-inline:15px;scroll-padding-inline:15px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.fleetScroller .vehicleCard{width:min(82vw,320px);min-width:min(82vw,320px);max-width:min(82vw,320px);scroll-snap-align:start}}@media (max-width:520px){.content{padding-right:12px;padding-left:12px}.dashboardStatsGrid,.menuStatsGrid,.reportSummaryGrid,.routeDetailStatsGrid,.routeStatsGrid,.staffStatsGrid,.stopRequestStatsGrid,.taskStatsGrid,.temperatureSummaryGrid{grid-template-columns:minmax(0,1fr)}.dashboardStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardStatsGrid .statCard{min-width:0;padding:13px}.dashboardStatsGrid .statValue{font-size:clamp(24px,8vw,32px);overflow-wrap:anywhere}.dashboardChartCanvas{min-width:540px}.headerLogoutBtn{overflow:hidden;max-width:76px;text-overflow:ellipsis;white-space:nowrap}.adminLoadingCard{width:calc(100% - 24px);flex-wrap:wrap}.toastStack{right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto}.toast{grid-template-columns:auto minmax(0,1fr) auto}.toast>button:not(.toastDismiss){grid-column:2;justify-self:start}.confirmDialog{padding:18px}}@media (prefers-reduced-motion:reduce){.loadingSkeleton:after,.mobileNavBackdrop,.sidebar{transition:none;animation:none}}