*{box-sizing:border-box}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson/atkinson-hyperlegible-400.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson/atkinson-hyperlegible-700.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:700 900}:root{--bg: #f2f7f5;--sidebar: #071513;--panel: #ffffff;--panel-soft: #f7fbfa;--line: #d9e7e3;--text: #12211e;--muted: #60746f;--brand: #0f766e;--brand-strong: #0b5f58;--brand-soft: rgba(15, 118, 110, .12);--amber: #b45309;--red: #b91c1c;--blue: #2563eb;--green: #15803d;--shadow: 0 8px 24px rgba(18, 33, 30, .08);--shadow-lg: 0 18px 48px rgba(18, 33, 30, .14);--radius: 8px;color:var(--text);background:var(--bg);font-family:Atkinson Hyperlegible,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html[data-theme=dark]{--bg: #101714;--sidebar: #04100e;--panel: #1a211f;--panel-soft: #111916;--line: #2e3b37;--text: #f4f8f6;--muted: #aabbb6;--brand: #36b9aa;--brand-strong: #6ee7d8;--brand-soft: rgba(54, 185, 170, .14);--shadow: 0 18px 48px rgba(0, 0, 0, .26);--shadow-lg: 0 26px 60px rgba(0, 0, 0, .36);color-scheme:dark}html,body,#root{margin:0;min-height:100%;width:100%}body{background:linear-gradient(180deg,#0f766e1a,#f2f7f500 300px),var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}html[data-theme=dark] body{background:linear-gradient(180deg,#36b9aa1f,#10171400 300px),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--sidebar),#03100d);border-right:1px solid rgba(54,185,170,.18);bottom:0;color:#eefaf7;display:flex;flex-direction:column;gap:22px;left:0;padding:20px 16px;position:fixed;top:0;width:260px;z-index:30}.brand{align-items:center;border-bottom:1px solid rgba(255,255,255,.09);display:flex;gap:13px;padding:6px 8px 22px}.brand strong{color:#fff;display:block;font-size:18px;font-weight:900}.brand small{color:#eefaf7b8;display:block;font-size:13px;margin-top:4px}.brand-mark{align-items:center;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:inline-flex;flex-shrink:0;height:58px;justify-content:center;overflow:hidden;width:58px}.app-logo-image{display:block;height:100%;object-fit:cover;width:100%}.vehicle-icon{align-items:center;background:linear-gradient(135deg,var(--brand-strong),var(--brand));border-radius:var(--radius);color:#fff;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.role-nav{display:grid;gap:7px}.role-nav button{align-items:center;background:transparent;border:0;border-radius:var(--radius);color:#eefaf7bd;display:flex;gap:12px;min-height:46px;padding:12px 14px;text-align:left;width:100%}.role-nav button.active,.role-nav button:hover{background:#36b9aa24;box-shadow:inset 4px 0 0 var(--brand);color:#fff}.notice{align-items:flex-start;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:#eefaf7e6;display:flex;gap:10px;line-height:1.45;margin-top:auto;padding:13px}.workspace{margin-left:260px;min-height:100vh;width:calc(100% - 260px)}.topbar{align-items:center;background:#071513f5;border-bottom:1px solid rgba(54,185,170,.18);color:#eefaf7;display:flex;gap:12px;min-height:66px;padding:12px 28px;position:sticky;top:0;z-index:20}.user-block{align-items:center;display:flex;gap:12px;margin-left:auto}.icon-button{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#eefaf7;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.icon-button:hover{background:#36b9aa29;border-color:#36b9aa73}.mobile-only,.sidebar-close{display:none}.page-header,.metric-grid,.two-column,.dashboard-grid{margin-left:28px;margin-right:28px}.page-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:22px;overflow:hidden;padding:26px 30px;position:relative}.page-header:before{background:linear-gradient(90deg,var(--sidebar),var(--brand));content:"";height:4px;inset:0 0 auto;position:absolute}.page-header h1{color:var(--text);font-size:clamp(1.55rem,2.2vw,2rem);font-weight:900;letter-spacing:0;line-height:1.1;margin:0}.page-header p{color:var(--muted);font-size:1rem;margin:8px 0 0}.metric-grid{display:grid;gap:16px;grid-template-columns:repeat(5,minmax(150px,1fr));margin-top:18px}.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text)}.metric{align-items:center;display:flex;flex-direction:column;gap:9px;justify-content:center;min-height:124px;padding:18px;text-align:center}.metric svg{color:var(--brand)}.metric span{color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.metric strong{font-size:2rem;font-weight:900;line-height:1}.metric.red svg{color:var(--red)}.metric.green svg{color:var(--green)}.metric.blue svg{color:var(--blue)}.metric.amber svg{color:var(--amber)}.two-column,.dashboard-grid{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);margin-top:22px;padding-bottom:34px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 380px}.panel{display:grid;gap:16px;min-width:0;padding:22px}.page-panel{margin:22px 28px 34px}.panel.large{grid-row:span 2}.panel-title{align-items:center;display:flex;gap:10px}.panel-title h2{color:var(--text);font-size:1.05rem;font-weight:900;margin:0}.panel-title svg{color:var(--brand)}.booking-form{display:grid;gap:14px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--text);display:grid;font-size:.86rem;font-weight:900;gap:7px;min-width:0}input,select,textarea{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);min-height:44px;outline:none;padding:11px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}textarea{min-height:92px;resize:vertical}.wide{grid-column:1 / -1}.primary,.ghost,.trip-actions button,.quick-actions button{align-items:center;border-radius:var(--radius);display:inline-flex;font-weight:900;gap:8px;justify-content:center;min-height:42px;padding:10px 13px}.primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.primary.full{width:100%}.ghost,.trip-actions button,.quick-actions button{background:var(--panel-soft);border:1px solid var(--line);color:var(--text)}.ghost:hover,.trip-actions button:hover,.quick-actions button:hover{background:var(--brand-soft);border-color:#0f766e57}.availability-list,.stack-list,.booking-list,.trip-board,.quick-actions,.bar-list{display:grid;gap:10px}.vehicle-row,.compact-row,.booking-list article,.trip-card{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;min-width:0;padding:13px}.vehicle-row{grid-template-columns:auto minmax(0,1fr) auto}.vehicle-icon{background:var(--brand-soft);border:1px solid rgba(15,118,110,.18);color:var(--brand);height:42px;width:42px}.compact-row{grid-template-columns:minmax(0,1fr) auto}.compact-row .ghost{grid-column:1 / -1}.vehicle-row strong,.compact-row strong,.booking-list strong{color:var(--text)}.vehicle-row small,.compact-row small,.booking-list small{color:var(--muted);display:block;font-size:.82rem;margin-top:3px}.booking-list article{grid-template-columns:minmax(0,1fr) auto}.empty-state{color:var(--muted);font-weight:700;margin:0}.staff-insight-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.staff-insight-grid article{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.staff-insight-grid span{color:var(--muted);display:block;font-size:.76rem;font-weight:900;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.staff-insight-grid strong{color:var(--text);display:block;font-size:1.1rem;line-height:1.25}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:800px;width:100%}th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}td{color:var(--text)}.status,.priority{border-radius:var(--radius);display:inline-flex;font-size:.76rem;font-weight:900;line-height:1;padding:7px 9px;white-space:nowrap}.status.available,.status.approved,.status.reviewed,.status.completed,.status.active,.status.staff{background:#15803d24;color:#22c55e}html[data-theme=light] .status.available,html[data-theme=light] .status.approved,html[data-theme=light] .status.reviewed,html[data-theme=light] .status.completed{color:#166534}.status.booked,.status.submitted,.status.confirmed,.status.driver-assigned,.status.finance,.status.transport{background:#2563eb24;color:#60a5fa}html[data-theme=light] .status.booked,html[data-theme=light] .status.submitted,html[data-theme=light] .status.confirmed,html[data-theme=light] .status.driver-assigned{color:#1d4ed8}.status.in-use,.status.in-progress,.status.on-duty,.priority.urgent,.status.admin,.status.maintenance{background:#b4530924;color:#fbbf24}html[data-theme=light] .status.in-use,html[data-theme=light] .status.in-progress,html[data-theme=light] .status.on-duty,html[data-theme=light] .priority.urgent{color:#92400e}.status.under-maintenance,.status.queried,.priority.emergency{background:#b91c1c24;color:#f87171}html[data-theme=light] .status.under-maintenance,html[data-theme=light] .status.queried,html[data-theme=light] .priority.emergency{color:#b91c1c}.status.out-of-service,.status.rejected,.status.off-duty,.status.on-leave,.status.cancelled,.status.driver{background:#64748b29;color:var(--muted)}.priority.normal{background:var(--brand-soft);color:var(--brand-strong)}.trip-card{align-items:stretch;grid-template-columns:minmax(0,1fr) auto}.trip-card h2{color:var(--text);font-size:1.05rem;margin:10px 0 6px}.trip-card p{color:var(--muted);margin:0}.trip-actions{align-content:center;display:grid;gap:8px}.upload-box{align-items:center;background:var(--panel-soft);border:1px dashed rgba(15,118,110,.36);border-radius:var(--radius);color:var(--brand-strong);cursor:pointer;display:grid;justify-items:center;min-height:126px;padding:18px;text-align:center}.upload-box input{display:none}.bar-row{align-items:center;display:grid;gap:12px;grid-template-columns:150px minmax(0,1fr) 32px}.bar-track{background:var(--panel-soft);border-radius:999px;height:10px;overflow:hidden}.bar-track span{background:var(--brand);display:block;height:100%}.admin-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-summary span{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);padding:12px}.login-shell{align-items:center;background:radial-gradient(circle at 18% 0%,rgba(54,185,170,.16),transparent 34%),linear-gradient(135deg,#04100e,#101714 58%,#04100e);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px 24px 86px;position:relative}.login-panel{background:#fff;border:1px solid #d9e7e3;border-radius:var(--radius);box-shadow:0 30px 80px #0000006b;color:#12211e;display:grid;gap:20px;max-width:430px;padding:34px;width:100%}.login-head{display:grid;justify-items:center;margin-bottom:2px;text-align:center}.login-logo{align-items:center;background:#fff;border-radius:50%;box-shadow:0 16px 34px #0f766e3d,0 0 0 5px #fff;display:inline-flex;height:96px;justify-content:center;margin-bottom:20px;overflow:hidden;width:96px}.login-head h1{color:#12211e;font-size:2rem;font-weight:900;line-height:1.1;margin:0}.login-head p{color:#60746f;font-size:1rem;margin:12px 0 0}.login-form{display:grid;gap:13px}.login-form label{color:#12211e;font-size:.9rem;font-weight:900}.login-form input{background:#f7fbfa;border-color:#d9e7e3;color:#12211e;min-height:52px;padding:13px 15px}.login-form input::placeholder{color:#8a9b96}.login-form .primary{font-size:1rem;min-height:52px;width:100%}.login-feedback{background:#b91c1c14;border:1px solid rgba(185,28,28,.18);border-radius:var(--radius);color:#b91c1c;font-size:.9rem;font-weight:700;line-height:1.45;margin:0;padding:12px 14px}.login-footer{bottom:0;color:#eefaf7d1;font-size:.86rem;font-weight:800;left:0;margin:0;padding:22px;position:fixed;right:0;text-align:center}.overlay{background:#0000008f;border:0;top:0;right:0;bottom:0;left:0;padding:0;position:fixed;z-index:25}@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.two-column,.dashboard-grid{grid-template-columns:1fr}.panel.large{grid-row:auto}}@media(max-width:820px){.sidebar{transform:translate(-105%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex;position:absolute;right:12px;top:12px}.workspace{margin-left:0;width:100%}.mobile-only{display:inline-flex}.topbar{gap:10px;min-height:62px;padding:10px 16px}.page-header,.metric-grid,.two-column,.dashboard-grid,.page-panel{margin-left:16px;margin-right:16px}.page-header{padding:22px 20px}.booking-form,.staff-insight-grid{grid-template-columns:1fr}}@media(max-width:560px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{min-height:112px;padding:14px}.metric strong{font-size:1.5rem}.panel{padding:18px}.vehicle-row,.booking-list article,.trip-card,.compact-row{grid-template-columns:1fr}.trip-actions{grid-template-columns:1fr 1fr}.admin-summary,.bar-row{grid-template-columns:1fr}.login-shell{padding:18px 16px 86px}.login-panel{padding:28px 22px}.login-logo{height:82px;margin-bottom:16px;width:82px}.login-head h1{font-size:1.65rem}}
