:root{--bg:#071421;--sidebar:#0a1d2e;--panel:#0f2437;--panel2:#132c42;--line:#21415c;--text:#eef7ff;--muted:#8facbf;--cyan:#24d7d2;--blue:#4aa3ff;--green:#2fd19a;--amber:#ffb74a;--red:#ff6b72;--purple:#8d72ff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#06111d,#0a2033 55%,#071824);color:var(--text)}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:rgba(7,23,37,.96);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:800;color:#03202d}.brand strong{display:block}.brand span{font-size:12px;color:var(--muted)}.nav{display:grid;gap:5px}.nav a{color:#c8d8e5;text-decoration:none;padding:11px 13px;border-radius:10px;font-size:14px}.nav a:hover,.nav a.active{background:linear-gradient(90deg,rgba(36,215,210,.16),rgba(74,163,255,.08));color:white;border:1px solid rgba(36,215,210,.18)}.sidebar-footer{margin-top:auto;padding:15px 8px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.main-content{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.topbar h1{font-size:30px;margin:2px 0 6px}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--cyan);margin:0 0 5px;font-weight:700}.muted{color:var(--muted);margin:0}.topbar-actions{display:flex;gap:10px;align-items:center}.topbar input{width:300px;background:#0c2133;border:1px solid var(--line);color:var(--text);padding:11px 13px;border-radius:11px;outline:none}.btn{border:0;border-radius:11px;padding:11px 15px;cursor:pointer;font-weight:700}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--blue));color:#03202d}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi-card,.panel{background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.kpi-card{padding:18px}.kpi-card span{display:block;color:var(--muted);font-size:13px}.kpi-card strong{display:block;font-size:31px;margin:6px 0}.kpi-card small{color:#92b5ca}.kpi-card.alert{border-color:rgba(255,107,114,.4)}.dashboard-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:14px;margin-bottom:14px}.panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel h2{margin:0;font-size:18px}.readiness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-block{background:#0a2032;border:1px solid #1b3a54;padding:15px;border-radius:13px}.metric-block span,.metric-block small{color:var(--muted);font-size:12px}.metric-block strong{display:block;font-size:26px;margin:8px 0}.progress{height:7px;background:#17354d;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:99px}.alert-list{display:grid;gap:10px}.alert-row{display:flex;justify-content:space-between;gap:12px;background:#0a2032;border:1px solid #1c3a53;padding:11px 12px;border-radius:12px}.alert-row strong{font-size:13px}.alert-row p{font-size:12px;color:var(--muted);margin:4px 0 0}.alert-row>span{font-size:11px;font-weight:700}.priority-high>span{color:var(--red)}.priority-medium>span{color:var(--amber)}.priority-low>span{color:var(--green)}.vehicle-panel{padding:0;overflow:hidden}.vehicle-panel .panel-head{padding:18px;margin:0}.table-head{gap:15px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{background:#0b2133;border:1px solid var(--line);color:#b9ccda;border-radius:9px;padding:8px 11px;cursor:pointer}.filter.active{background:rgba(36,215,210,.14);border-color:rgba(36,215,210,.5);color:var(--cyan)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:13px 16px;border-top:1px solid #1b3b55;text-align:left;font-size:13px}th{color:#82a4ba;font-size:11px;text-transform:uppercase;letter-spacing:.06em}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.badge.available{background:rgba(47,209,154,.12);color:var(--green)}.badge.on-trip{background:rgba(74,163,255,.13);color:var(--blue)}.badge.attention{background:rgba(255,107,114,.13);color:var(--red)}tbody tr:hover{background:rgba(74,163,255,.04)}
@media(max-width:1050px){.app-shell{grid-template-columns:80px 1fr}.brand>div:not(.brand-mark),.nav a{font-size:0}.nav a::first-letter{font-size:14px}.sidebar{padding:18px 10px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar-actions{width:100%}.topbar input{flex:1;width:auto}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;height:auto;display:block}.nav{display:flex;overflow:auto}.nav a{font-size:12px;white-space:nowrap}.brand>div:not(.brand-mark){display:block}.sidebar-footer{display:none}.main-content{padding:16px}.kpi-grid{grid-template-columns:1fr 1fr}.readiness-grid{grid-template-columns:1fr}.topbar-actions{flex-direction:column;align-items:stretch}.topbar input{width:100%}}

/* Website signature */
.website-signature{
    width:100%;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    background:#02070c;
    border-top:1px solid rgba(36,215,210,.16);
    overflow:hidden;
}
.website-signature-gif{
    display:block;
    width:min(460px,92vw);
    max-height:56px;
    height:auto;
    object-fit:contain;
}
@media(max-width:700px){
    .website-signature{min-height:62px;padding:10px 16px}
    .website-signature-gif{width:min(340px,90vw);max-height:44px}
}

/* ---------- Phase 2 additions ---------- */
body{padding-bottom:52px}
a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary{background:#0b2133;border:1px solid var(--line);color:#d2e2ed}.btn-small{padding:7px 10px;border-radius:8px;font-size:12px}.btn-full{width:100%}
.nav-disabled{opacity:.55;cursor:not-allowed}.nav-disabled em{float:right;font-style:normal;font-size:9px;color:var(--cyan);letter-spacing:.08em}
.sidebar{height:calc(100vh - 52px)}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 8px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:9px;align-items:center}.user-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(36,215,210,.12);border:1px solid rgba(36,215,210,.3);color:var(--cyan);font-weight:800}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong,.sidebar-user-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy strong{font-size:12px}.sidebar-user-copy span{font-size:10px;color:var(--muted);margin-top:3px}.logout-link{color:var(--muted);text-decoration:none;font-size:18px;text-align:center}.logout-link:hover{color:var(--text)}.sidebar-user+.sidebar-footer{margin-top:6px}
.flash{border-radius:12px;padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);font-size:13px}.flash-success{background:rgba(47,209,154,.1);border-color:rgba(47,209,154,.32);color:#a5f4d5}.flash-error{background:rgba(255,107,114,.1);border-color:rgba(255,107,114,.32);color:#ffc0c4}
.registry-toolbar{margin-bottom:14px}.filter-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto auto;gap:10px;align-items:end}.filter-form label,.form-grid label,.form-stack label{font-size:12px;color:#9bb6c8;font-weight:600}.filter-form input,.filter-form select,.form-grid input,.form-grid select,.form-grid textarea,.form-stack input{display:block;width:100%;margin-top:7px;background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;outline:none}.filter-form input:focus,.filter-form select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(36,215,210,.08)}.form-grid textarea{resize:vertical}.registry-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.registry-summary>div{background:#0c2133;border:1px solid var(--line);border-radius:13px;padding:14px}.registry-summary strong{display:block;font-size:24px}.registry-summary span{font-size:11px;color:var(--muted)}.vehicle-link{color:var(--text);text-decoration:none}.vehicle-link:hover strong{color:var(--cyan)}.table-actions{white-space:nowrap}.table-actions .btn+.btn{margin-left:5px}.empty-state{text-align:center!important;padding:34px!important;color:var(--muted)}.clickable-row{cursor:pointer}
.form-panel{padding:0;overflow:hidden}.form-section{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;padding:22px;border-bottom:1px solid var(--line)}.form-section h2{margin:0;font-size:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px}.narrow-form{max-width:900px;padding:22px}.narrow-form .form-actions{padding:20px 0 0}.form-grid label small{font-weight:400;color:var(--muted)}
.asset-hero{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(120px,.7fr));gap:12px;align-items:center;margin-bottom:14px}.asset-hero h2{font-size:22px;margin:10px 0 4px}.asset-hero p{margin:0;color:var(--muted);font-size:13px}.asset-metric{border-left:1px solid var(--line);padding-left:18px}.asset-metric span,.asset-metric strong{display:block}.asset-metric span{font-size:11px;color:var(--muted)}.asset-metric strong{font-size:18px;margin-top:5px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.detail-card dl{display:grid;grid-template-columns:1fr 1.15fr;margin:14px 0 0;font-size:12px}.detail-card dt,.detail-card dd{padding:9px 0;border-top:1px solid rgba(33,65,92,.55);margin:0}.detail-card dt{color:var(--muted)}.detail-card dd{text-align:right;font-weight:600}.module-preview{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:center;margin-bottom:14px}.module-chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.module-chip-grid span{background:#0a2032;border:1px solid #1b3a54;padding:10px;border-radius:10px;font-size:11px;color:#b8d0df}.notes-panel{margin-bottom:14px}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.role-grid .panel strong{font-size:16px}.role-grid .panel p{font-size:12px;line-height:1.55;color:var(--muted);margin:7px 0 0}.role-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:rgba(141,114,255,.13);color:#c8baff;font-size:11px;font-weight:700}
.login-page{min-height:100vh;padding-bottom:52px;background:radial-gradient(circle at 30% 20%,rgba(36,215,210,.12),transparent 35%),linear-gradient(135deg,#040b12,#081b2b 55%,#05121d)}.login-shell{min-height:calc(100vh - 52px);display:grid;place-items:center;padding:28px}.login-card{width:min(430px,100%);background:linear-gradient(180deg,rgba(20,48,71,.98),rgba(10,29,45,.98));border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.login-brand strong,.login-brand span{display:block}.login-brand span{font-size:11px;color:var(--muted);margin-top:3px}.login-card h1{font-size:29px;margin:5px 0 7px}.form-stack{display:grid;gap:14px;margin-top:22px}.demo-accounts{margin-top:18px;padding:13px;background:#091e2f;border:1px solid #1c3a53;border-radius:12px}.demo-accounts strong,.demo-accounts span{display:block;font-size:11px}.demo-accounts span{color:var(--muted);margin-top:6px}.demo-accounts code{color:#cce8f5}

.website-signature{position:fixed!important;left:0;right:0;bottom:0;z-index:100;width:100%!important;min-height:52px!important;height:52px;display:flex;align-items:center;justify-content:center;padding:5px 16px!important;background:rgba(2,7,12,.97)!important;border-top:1px solid rgba(36,215,210,.16);backdrop-filter:blur(8px);overflow:hidden}
.website-signature-gif{display:block;width:min(300px,72vw)!important;max-height:38px!important;height:auto;object-fit:contain;cursor:pointer;outline:none}
.website-signature-gif:hover{filter:drop-shadow(0 0 8px rgba(255,255,255,.14))}

@media(max-width:1050px){.sidebar-user-copy{display:none}.sidebar-user{grid-template-columns:36px 28px;justify-content:center}.form-section{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.asset-hero{grid-template-columns:1.4fr 1fr 1fr}.asset-hero .asset-metric:last-child{display:none}.filter-form{grid-template-columns:1fr 1fr 1fr}.filter-form .search-wide{grid-column:1/-1}.filter-form .btn{min-height:41px}.module-preview{grid-template-columns:1fr}}
@media(max-width:700px){body{padding-bottom:46px}.sidebar{height:auto}.website-signature{height:46px!important;min-height:46px!important;padding:4px 10px!important}.website-signature-gif{width:min(250px,76vw)!important;max-height:32px!important}.registry-summary,.role-grid{grid-template-columns:1fr}.filter-form{grid-template-columns:1fr}.filter-form .search-wide{grid-column:auto}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.asset-hero{grid-template-columns:1fr 1fr}.asset-hero>div:first-child{grid-column:1/-1}.asset-metric{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.detail-grid{grid-template-columns:1fr}.module-chip-grid{grid-template-columns:1fr}.login-shell{min-height:calc(100vh - 46px);padding:18px}.login-card{padding:22px}.topbar-actions{width:100%}.topbar-actions .btn{width:100%}}
.nav-disabled{pointer-events:none}

/* Phase 3: Booking & Approval */
.booking-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.booking-kpi{display:block;text-decoration:none;color:var(--text);background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:16px;padding:17px;transition:border-color .15s ease,transform .15s ease}.booking-kpi:hover{border-color:rgba(36,215,210,.5);transform:translateY(-1px)}.booking-kpi span,.booking-kpi small{display:block}.booking-kpi span{font-size:12px;color:var(--muted)}.booking-kpi strong{display:block;font-size:28px;margin:5px 0}.booking-kpi small{font-size:11px;color:#92b5ca}.booking-kpi.approved{border-color:rgba(47,209,154,.28)}.booking-kpi.subtle{border-color:rgba(141,114,255,.25)}
.booking-filter-form{grid-template-columns:minmax(230px,1.7fr) minmax(150px,.8fr) minmax(145px,.75fr) minmax(145px,.75fr) auto auto auto}.check-label{display:flex!important;align-items:center;gap:8px;align-self:end;min-height:41px;padding:0 4px}.check-label input{width:auto!important}.check-label span{white-space:nowrap;font-size:12px;color:#bdd1df}.queue-pill{font-size:11px;font-weight:700;color:var(--amber);background:rgba(255,183,74,.1);border:1px solid rgba(255,183,74,.24);padding:7px 10px;border-radius:999px}.booking-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.02em}.booking-status.draft{background:rgba(141,114,255,.13);color:#c8baff}.booking-status.pending-approval{background:rgba(255,183,74,.12);color:var(--amber)}.booking-status.approved{background:rgba(47,209,154,.12);color:var(--green)}.booking-status.rejected{background:rgba(255,107,114,.13);color:var(--red)}.booking-status.cancelled{background:rgba(143,172,191,.12);color:var(--muted)}
.section-help{font-size:12px;color:var(--muted);line-height:1.55;margin:8px 0 0}.toggle-field{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px;background:#0a2032;border:1px solid #1b3a54;padding:13px;border-radius:11px}.toggle-field input{width:auto!important;margin-top:3px}.toggle-field span,.toggle-field strong,.toggle-field small{display:block}.toggle-field small{margin-top:4px;color:var(--muted);font-weight:400}.split-actions{justify-content:space-between}.action-group{display:flex;gap:10px}
.title-with-badge{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-with-badge h1{margin-right:3px}.booking-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.9fr);gap:22px;align-items:center;margin-bottom:14px}.journey-route{display:flex;align-items:center;min-width:0}.route-point{display:flex;gap:10px;align-items:center;min-width:0;flex:1}.route-point>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(36,215,210,.12);border:1px solid rgba(36,215,210,.35);color:var(--cyan);font-weight:800}.route-point div{min-width:0}.route-point small,.route-point strong{display:block}.route-point small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.route-point strong{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-line{height:1px;min-width:42px;flex:.35;background:linear-gradient(90deg,var(--cyan),var(--blue));margin:0 10px}.booking-hero-metrics{display:grid;grid-template-columns:1fr 1fr .65fr;gap:10px}.booking-hero-metrics>div{padding:11px 12px;background:#0a2032;border:1px solid #1b3a54;border-radius:11px}.booking-hero-metrics small,.booking-hero-metrics strong{display:block}.booking-hero-metrics small{font-size:10px;color:var(--muted)}.booking-hero-metrics strong{font-size:12px;margin-top:5px;line-height:1.35}.booking-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.booking-main-column,.booking-side-column{display:grid;gap:14px}.booking-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.booking-detail-grid .detail-card dd{max-width:160px;overflow-wrap:anywhere}.decision-panel h2,.timeline-panel h2,.compact-action-panel h2{margin:0 0 10px;font-size:17px}.decision-form{display:grid;gap:12px;margin-top:15px}.decision-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-danger{background:rgba(255,107,114,.11);border:1px solid rgba(255,107,114,.35);color:#ff9298}.approval-result{padding:12px;background:#0a2032;border:1px solid #1b3a54;border-radius:11px;margin-top:14px}.approval-result small,.approval-result strong{display:block}.approval-result small{font-size:10px;color:var(--muted);margin-top:5px}.approval-result strong{margin:5px 0}.approval-note{margin-top:10px;padding:11px;border-left:3px solid var(--cyan);background:rgba(36,215,210,.05);font-size:12px;line-height:1.55}.compact-action-panel{display:grid;gap:9px}.compact-action-panel form{margin:0}.booking-timeline{display:grid;gap:0;margin-top:14px}.timeline-event{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding-bottom:17px}.timeline-event>span{width:9px;height:9px;border-radius:50%;background:var(--cyan);margin-top:4px;box-shadow:0 0 0 4px rgba(36,215,210,.09)}.timeline-event:not(:last-child)::before{content:"";position:absolute;left:4px;top:14px;bottom:2px;width:1px;background:#244963}.timeline-event strong{font-size:12px}.timeline-event p{font-size:11px;color:#bdd1df;margin:3px 0}.timeline-event small{font-size:10px;color:var(--muted)}.dispatch-ready-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:rgba(47,209,154,.28)}.dispatch-ready-panel h2{margin:0 0 6px;font-size:18px}.dispatch-ready-icon{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(47,209,154,.12);border:1px solid rgba(47,209,154,.35);color:var(--green);font-size:22px;font-weight:900}
.booking-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:1px;margin:0 0 14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.booking-overview-strip a{background:#0b2133;color:var(--text);text-decoration:none;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-overview-strip a:hover{background:#102a3f}.booking-overview-strip span{font-size:11px;color:var(--muted)}.booking-overview-strip strong{font-size:18px}.booking-overview-strip .new-booking-link{justify-content:center;color:var(--cyan);font-size:12px;font-weight:800;white-space:nowrap}.upcoming-bookings-panel{margin-bottom:14px}.text-link{font-size:12px;text-decoration:none;color:var(--cyan)}.upcoming-bookings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.upcoming-booking-card{display:block;text-decoration:none;color:var(--text);background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:12px;min-width:0}.upcoming-booking-card:hover{border-color:rgba(36,215,210,.4)}.upcoming-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.upcoming-card-top>strong{font-size:10px;color:var(--muted)}.upcoming-booking-card h3{font-size:13px;margin:11px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-booking-card p{font-size:11px;color:#bdd1df;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-booking-card>small{font-size:10px;color:var(--muted);line-height:1.4}
@media(max-width:1180px){.booking-filter-form{grid-template-columns:1fr 1fr 1fr}.booking-filter-form .search-wide{grid-column:1/-1}.booking-detail-layout{grid-template-columns:1fr}.booking-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-panel{grid-column:1/-1}.booking-hero{grid-template-columns:1fr}.upcoming-bookings-grid{grid-template-columns:1fr 1fr}.booking-overview-strip{grid-template-columns:repeat(4,1fr)}.booking-overview-strip .new-booking-link{grid-column:1/-1}}
@media(max-width:900px){.booking-kpi-grid{grid-template-columns:1fr 1fr}.booking-detail-grid{grid-template-columns:1fr}.booking-side-column{grid-template-columns:1fr}.timeline-panel{grid-column:auto}.booking-filter-form{grid-template-columns:1fr 1fr}.booking-filter-form .search-wide{grid-column:1/-1}.booking-hero-metrics{grid-template-columns:1fr 1fr 1fr}.topbar-actions{flex-wrap:wrap}}
@media(max-width:700px){.booking-kpi-grid{grid-template-columns:1fr 1fr}.booking-filter-form{grid-template-columns:1fr}.booking-filter-form .search-wide{grid-column:auto}.check-label{align-self:auto}.split-actions{flex-direction:column}.action-group{display:grid;grid-template-columns:1fr}.booking-hero{padding:14px}.journey-route{display:grid;grid-template-columns:1fr}.route-line{width:1px;height:20px;min-width:0;margin:5px 0 5px 16px;background:linear-gradient(var(--cyan),var(--blue))}.booking-hero-metrics{grid-template-columns:1fr}.booking-overview-strip{grid-template-columns:1fr 1fr}.booking-overview-strip .new-booking-link{grid-column:1/-1}.upcoming-bookings-grid{grid-template-columns:1fr}.decision-buttons{grid-template-columns:1fr}.booking-table{min-width:920px}}

/* Phase 4: Dispatch & Assignment */
.booking-status.dispatched{background:rgba(74,163,255,.13);color:var(--blue)}
.booking-status.in-progress{background:rgba(36,215,210,.13);color:var(--cyan)}
.booking-status.completed{background:rgba(47,209,154,.13);color:var(--green)}
.dispatch-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.dispatch-kpi{display:block;text-decoration:none;color:var(--text);background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:16px;padding:17px;transition:border-color .15s ease,transform .15s ease}
.dispatch-kpi:hover{border-color:rgba(36,215,210,.45);transform:translateY(-1px)}
.dispatch-kpi span,.dispatch-kpi small{display:block}.dispatch-kpi span{font-size:12px;color:var(--muted)}.dispatch-kpi strong{display:block;font-size:28px;margin:5px 0}.dispatch-kpi small{font-size:11px;color:#92b5ca}.dispatch-kpi.ready{border-color:rgba(255,183,74,.28)}.dispatch-kpi.live{border-color:rgba(36,215,210,.32)}.dispatch-kpi.subtle{border-color:rgba(141,114,255,.25)}
.dispatch-filter-form{grid-template-columns:minmax(260px,1.8fr) minmax(150px,.8fr) minmax(150px,.8fr) auto auto}.dispatch-table{min-width:1060px}.allocation-count{display:flex;align-items:baseline;gap:6px}.allocation-count strong{font-size:16px}.allocation-count span{font-size:10px;color:var(--muted)}.progress.compact{height:5px;margin-top:6px;width:100px}.attention-copy{display:block;color:var(--amber)!important;margin-top:6px!important}
.dispatch-assign-layout,.dispatch-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.resource-card{background:#0a2032;border:1px solid #1b3a54;border-radius:13px;padding:13px;min-width:0}.resource-card.resource-ok{border-color:rgba(47,209,154,.2)}.resource-card.resource-blocked{opacity:.68}.resource-card.resource-match{box-shadow:inset 0 0 0 1px rgba(36,215,210,.26)}.resource-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.resource-card-head strong,.resource-card-head small{display:block}.resource-card-head small{color:var(--muted);font-size:11px;margin-top:3px}.resource-card-head>span{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;background:rgba(47,209,154,.1);color:var(--green)}.resource-blocked .resource-card-head>span{background:rgba(255,107,114,.1);color:var(--red)}.resource-card dl{display:grid;grid-template-columns:.7fr 1.3fr;margin:10px 0 0;font-size:11px}.resource-card dt,.resource-card dd{margin:0;padding:6px 0;border-top:1px solid rgba(33,65,92,.5)}.resource-card dt{color:var(--muted)}.resource-card dd{text-align:right;font-weight:600}.resource-warning,.resource-good{font-size:10px;margin:9px 0 0;padding:7px 8px;border-radius:8px}.resource-warning{color:#ffb4b8;background:rgba(255,107,114,.07)}.resource-good{color:#8de4c4;background:rgba(47,209,154,.06)}.info-callout{font-size:11px;line-height:1.5;color:#bdd1df;background:rgba(74,163,255,.07);border:1px solid rgba(74,163,255,.18);padding:10px;border-radius:10px}.rule-list{padding-left:18px;margin:12px 0 0;color:#bdd1df;font-size:11px;line-height:1.6}.rule-list li+li{margin-top:5px}
.assignment-stack{display:grid;gap:12px}.assignment-card{background:#0a2032;border:1px solid #1b3a54;border-radius:14px;padding:14px}.assignment-card.status-in-progress{border-color:rgba(36,215,210,.4)}.assignment-card.status-completed{border-color:rgba(47,209,154,.28)}.assignment-card.status-declined,.assignment-card.status-cancelled{opacity:.7}.assignment-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.assignment-ref{display:inline-block;color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.06em}.assignment-card h3{margin:5px 0 2px;font-size:17px}.assignment-card p{margin:0;color:var(--muted);font-size:11px}.dispatch-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.dispatch-status.pending-acknowledgement{background:rgba(255,183,74,.12);color:var(--amber)}.dispatch-status.acknowledged{background:rgba(74,163,255,.12);color:var(--blue)}.dispatch-status.ready{background:rgba(141,114,255,.13);color:#c8baff}.dispatch-status.in-progress{background:rgba(36,215,210,.12);color:var(--cyan)}.dispatch-status.completed{background:rgba(47,209,154,.12);color:var(--green)}.dispatch-status.declined,.dispatch-status.cancelled{background:rgba(255,107,114,.11);color:var(--red)}.assignment-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.assignment-meta-grid>div{background:#0d2639;border:1px solid #1b3a54;border-radius:10px;padding:10px}.assignment-meta-grid small,.assignment-meta-grid strong,.assignment-meta-grid span{display:block}.assignment-meta-grid small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.assignment-meta-grid strong{font-size:12px;margin-top:4px}.assignment-meta-grid span{font-size:10px;color:#93b2c5;margin-top:3px}.assignment-note{margin-top:9px;padding:9px 10px;border-left:3px solid var(--blue);background:rgba(74,163,255,.05);font-size:11px;line-height:1.45}.muted-note{border-left-color:var(--amber)}.success-note{border-left-color:var(--green)}.assignment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #1b3a54}.assignment-actions form{margin:0}.inline-note-form,.complete-trip-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-note-form input,.complete-trip-form input{background:#081b2b;border:1px solid var(--line);color:var(--text);padding:8px 9px;border-radius:8px;min-width:130px}.complete-trip-form input[name="completion_note"]{min-width:190px}.compact-empty{padding:24px;text-align:center}.compact-empty strong{display:block;font-size:15px}.compact-empty p{color:var(--muted);font-size:12px;margin:7px 0 14px}
.driver-assignment-list{display:grid;gap:14px}.driver-trip-card{padding:17px}.driver-trip-card.status-in-progress{border-color:rgba(36,215,210,.42)}.driver-trip-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.driver-trip-top h2{font-size:17px;margin:5px 0 0}.driver-route{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:14px;padding:12px;border-radius:12px;background:#0a2032;border:1px solid #1b3a54}.driver-route small,.driver-route strong{display:block}.driver-route small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.driver-route strong{font-size:12px;margin-top:4px}.driver-route>span{color:var(--cyan);font-size:18px}.driver-trip-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.driver-trip-meta>div{padding:9px 10px;border:1px solid #1b3a54;border-radius:10px}.driver-trip-meta small,.driver-trip-meta strong,.driver-trip-meta span{display:block}.driver-trip-meta small{font-size:9px;color:var(--muted)}.driver-trip-meta strong{font-size:11px;margin-top:4px}.driver-trip-meta span{font-size:9px;color:#93b2c5;margin-top:2px}.driver-trip-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.driver-start-form input,.driver-complete-form input{background:#081b2b;border:1px solid var(--line);color:var(--text);padding:10px;border-radius:9px}.driver-start-form,.driver-complete-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.driver-start-form label,.driver-complete-form label{font-size:10px;color:var(--muted);display:grid;gap:5px}.trip-complete-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#9be7cb;font-size:11px}.trip-complete-summary strong{font-size:12px}
@media(max-width:1180px){.dispatch-assign-layout,.dispatch-view-layout{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr 1fr}.dispatch-filter-form{grid-template-columns:1fr 1fr}.dispatch-filter-form .search-wide{grid-column:1/-1}.driver-trip-meta{grid-template-columns:1fr 1fr}.role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.dispatch-kpi-grid{grid-template-columns:1fr 1fr}.resource-grid{grid-template-columns:1fr}.assignment-meta-grid{grid-template-columns:1fr}.driver-route{grid-template-columns:1fr}.driver-route>span{transform:rotate(90deg);justify-self:start}.complete-trip-form{display:grid;grid-template-columns:1fr}.complete-trip-form input{width:100%}}
@media(max-width:700px){.dispatch-kpi-grid{grid-template-columns:1fr 1fr}.dispatch-filter-form{grid-template-columns:1fr}.dispatch-filter-form .search-wide{grid-column:auto}.assignment-card-head,.driver-trip-top{flex-direction:column}.driver-trip-meta{grid-template-columns:1fr}.assignment-actions{display:grid;grid-template-columns:1fr}.assignment-actions form,.assignment-actions .btn{width:100%}.inline-note-form,.complete-trip-form,.driver-start-form,.driver-complete-form{display:grid;grid-template-columns:1fr;width:100%}.inline-note-form input,.complete-trip-form input,.driver-start-form input,.driver-complete-form input{width:100%;min-width:0}.driver-trip-actions{display:grid}.driver-trip-actions form,.driver-trip-actions .btn{width:100%}.role-grid{grid-template-columns:1fr}}

/* ---------- Phase 5: Maintenance & Workshop ---------- */
.maintenance-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.maintenance-kpi-grid .kpi-card strong{font-size:25px}.maintenance-layout{margin-bottom:14px}.maintenance-board{padding:0;overflow:hidden}.maintenance-board .panel-head{padding:18px;margin:0}.maintenance-table{min-width:960px}.maintenance-state,.workshop-status,.severity-chip,.lock-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.maintenance-state.ok{background:rgba(47,209,154,.12);color:var(--green)}.maintenance-state.due-soon{background:rgba(255,183,74,.12);color:var(--amber)}.maintenance-state.overdue{background:rgba(255,107,114,.12);color:var(--red)}.lock-chip{background:rgba(255,107,114,.1);color:#ffadb2}.maintenance-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.defect-list,.job-list{display:grid;gap:10px}.defect-card,.job-card{background:#0a2032;border:1px solid #1b3a54;border-radius:13px;padding:13px}.defect-card{border-left:3px solid var(--line)}.defect-card.severity-critical{border-left-color:var(--red)}.defect-card.severity-high{border-left-color:var(--amber)}.defect-card.severity-medium{border-left-color:var(--blue)}.defect-card.severity-low{border-left-color:var(--green)}.defect-card-top,.job-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.defect-card-top strong,.defect-card-top small,.job-card-top strong,.job-card-top small{display:block}.defect-card-top small,.job-card-top small{color:var(--muted);font-size:10px;margin-top:4px}.defect-card p{font-size:12px;line-height:1.5;color:#bdd0dd}.severity-chip.critical{background:rgba(255,107,114,.14);color:var(--red)}.severity-chip.high{background:rgba(255,183,74,.14);color:var(--amber)}.severity-chip.medium{background:rgba(74,163,255,.14);color:var(--blue)}.severity-chip.low{background:rgba(47,209,154,.14);color:var(--green)}.defect-meta,.job-card-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:10px}.defect-actions{display:flex;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #1b3a54}.job-card{color:var(--text);text-decoration:none;transition:border-color .15s ease,background .15s ease}.job-card:hover{border-color:rgba(36,215,210,.42);background:#0c2437}.workshop-status.planned{background:rgba(141,114,255,.12);color:#baaaff}.workshop-status.queued{background:rgba(74,163,255,.12);color:var(--blue)}.workshop-status.in-workshop{background:rgba(255,183,74,.12);color:var(--amber)}.workshop-status.waiting-parts{background:rgba(255,183,74,.12);color:#ffd28f}.workshop-status.completed{background:rgba(47,209,154,.12);color:var(--green)}.workshop-status.cancelled{background:rgba(255,107,114,.1);color:var(--red)}.check-label{display:flex!important;align-items:center;gap:9px;margin-top:22px}.check-label input{width:auto!important;margin:0!important;accent-color:var(--cyan)}.check-label span{font-size:12px;color:#c8d8e5}.job-hero{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(120px,.7fr));gap:12px;align-items:center;margin-bottom:14px}.job-hero h2{font-size:22px;margin:10px 0 4px}.job-hero p{margin:0;color:var(--muted);font-size:13px}.work-notes{display:grid;gap:7px}.work-notes strong{font-size:11px;color:#96b4c8;text-transform:uppercase;letter-spacing:.06em}.work-notes p{margin:0 0 9px;font-size:12px;line-height:1.55;color:#d7e5ee}.maintenance-actions{margin-top:14px}.maintenance-action-form,.inline-action{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.maintenance-action-form label,.completion-grid label{font-size:10px;color:var(--muted);display:grid;gap:5px}.maintenance-action-form input,.inline-action input,.completion-grid input,.completion-grid textarea{background:#081b2b;border:1px solid var(--line);color:var(--text);padding:10px;border-radius:9px;outline:none}.maintenance-action-form input[name="note"],.inline-action input{min-width:280px}.completion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.completion-grid .span-2{grid-column:span 2}.danger-zone{border-top-color:rgba(255,107,114,.2)}.asset-maintenance-panel{margin-bottom:14px}.asset-maintenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.asset-maintenance-grid>div{background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:13px}.asset-maintenance-grid span,.asset-maintenance-grid strong{display:block}.asset-maintenance-grid span{font-size:10px;color:var(--muted)}.asset-maintenance-grid strong{font-size:22px;margin-top:4px}.asset-maintenance-list{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.asset-maintenance-list h3{font-size:11px;color:#97b5c8;text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px}.asset-maintenance-list>div,.asset-maintenance-list>a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(33,65,92,.55);font-size:11px;color:#cfe0eb;text-decoration:none}.asset-maintenance-list>a:hover{color:var(--cyan)}.asset-maintenance-list strong{font-size:10px;color:var(--muted)}.maintenance-overview-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:-3px 0 14px}.maintenance-overview-strip a{background:#0a2032;color:var(--text);text-decoration:none;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.maintenance-overview-strip span{font-size:10px;color:var(--muted)}.maintenance-overview-strip strong{font-size:18px}.maintenance-overview-strip .maintenance-link{justify-content:center;color:var(--cyan);font-size:11px;font-weight:700;background:rgba(36,215,210,.07)}
@media(max-width:1200px){.maintenance-kpi-grid{grid-template-columns:repeat(3,1fr)}.maintenance-two-column{grid-template-columns:1fr}.completion-grid{grid-template-columns:1fr 1fr}.job-hero{grid-template-columns:1fr 1fr}.job-hero>div:first-child{grid-column:1/-1}.maintenance-overview-strip{grid-template-columns:repeat(3,1fr)}.maintenance-overview-strip .maintenance-link{grid-column:1/-1}}
@media(max-width:700px){.maintenance-kpi-grid{grid-template-columns:1fr 1fr}.maintenance-action-form,.inline-action{display:grid;grid-template-columns:1fr}.maintenance-action-form input,.inline-action input{width:100%;min-width:0}.completion-grid{grid-template-columns:1fr}.completion-grid .span-2{grid-column:auto}.asset-maintenance-grid{grid-template-columns:1fr}.asset-maintenance-list>div,.asset-maintenance-list>a{display:grid}.maintenance-overview-strip{grid-template-columns:1fr 1fr}.maintenance-overview-strip .maintenance-link{grid-column:1/-1}.defect-card-top,.job-card-top{flex-direction:column}.defect-actions{display:grid}.job-hero{grid-template-columns:1fr}.job-hero>div:first-child{grid-column:auto}}

/* ---------- Phase 6: Fuel, Operating Cost & IDC ---------- */
.cost-kpi-grid,.recovery-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.cost-nav-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:14px}.cost-nav-strip a{background:#0a2032;color:#c8d8e5;text-decoration:none;padding:12px 14px;text-align:center;font-size:11px;font-weight:700}.cost-nav-strip a:hover,.cost-nav-strip a.active{color:var(--cyan);background:rgba(36,215,210,.07)}.cost-table-panel{padding:0;overflow:hidden;margin-bottom:14px}.cost-table-panel .panel-head{padding:18px;margin:0}.cost-table{min-width:980px}.verify-chip,.card-status,.recovery-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.verify-chip.pending{background:rgba(255,183,74,.13);color:var(--amber)}.verify-chip.verified{background:rgba(47,209,154,.13);color:var(--green)}.verify-chip.flagged{background:rgba(255,107,114,.13);color:var(--red)}.exception-note{color:#ffadb2!important;max-width:260px;white-space:normal}.fuel-card-panel{margin-bottom:14px}.fuel-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fuel-card-item{display:block;text-decoration:none;color:var(--text);padding:15px;border-radius:14px;background:linear-gradient(145deg,#0a2032,#102b42);border:1px solid #1b3a54;transition:.15s ease}.fuel-card-item:hover{border-color:rgba(36,215,210,.45);transform:translateY(-1px)}.fuel-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.fuel-card-top strong,.fuel-card-top small{display:block}.fuel-card-top small{color:var(--muted);font-size:10px;margin-top:4px}.fuel-card-item p{font-size:11px;color:#b7ccda}.card-spend-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin:12px 0 8px}.card-spend-row strong{color:var(--text)}.card-status.active{background:rgba(47,209,154,.13);color:var(--green)}.card-status.blocked{background:rgba(255,107,114,.13);color:var(--red)}.card-status.expired,.card-status.inactive{background:rgba(143,172,190,.13);color:#9cb6c7}.recovery-preview{margin-bottom:14px}.recovery-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recovery-card{color:var(--text);text-decoration:none;background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:13px}.recovery-card>div{display:flex;justify-content:space-between;gap:8px}.recovery-card h3{font-size:13px;margin:10px 0 3px}.recovery-card p{font-size:11px;color:#c5d7e3;margin:0 0 7px}.recovery-card small{color:var(--muted);font-size:10px}.recovery-status.draft{background:rgba(143,172,190,.12);color:#aac0cf}.recovery-status.prepared{background:rgba(74,163,255,.13);color:var(--blue)}.recovery-status.submitted{background:rgba(255,183,74,.13);color:var(--amber)}.recovery-status.paid{background:rgba(47,209,154,.13);color:var(--green)}.recovery-status.cancelled{background:rgba(255,107,114,.11);color:var(--red)}.recovery-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.recovery-summary-grid article{background:#0a2032;border:1px solid #1b3a54;border-radius:13px;padding:14px}.recovery-summary-grid span,.recovery-summary-grid strong{display:block}.recovery-summary-grid span{font-size:10px;color:var(--muted)}.recovery-summary-grid strong{font-size:19px;margin-top:5px}.recovery-summary-grid .total{background:linear-gradient(135deg,rgba(36,215,210,.12),rgba(74,163,255,.09));border-color:rgba(36,215,210,.35)}.recovery-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:14px;margin-bottom:14px}.claim-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.form-callout{background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:13px}.form-callout strong{display:block;font-size:11px}.form-callout p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.form-callout.warning{border-color:rgba(255,183,74,.35);background:rgba(255,183,74,.06)}.dispatch-cost-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.dispatch-cost-strip>div{background:#081b2b;border:1px solid #1b3a54;border-radius:10px;padding:10px}.dispatch-cost-strip span,.dispatch-cost-strip strong{display:block}.dispatch-cost-strip span{font-size:9px;color:var(--muted)}.dispatch-cost-strip strong{font-size:12px;margin-top:4px}.assignment-cost-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
@media(max-width:1200px){.cost-kpi-grid,.recovery-kpi-grid{grid-template-columns:1fr 1fr}.fuel-card-grid{grid-template-columns:1fr 1fr}.recovery-card-grid{grid-template-columns:1fr 1fr}.recovery-summary-grid{grid-template-columns:repeat(3,1fr)}.recovery-layout{grid-template-columns:1fr}.cost-nav-strip{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cost-kpi-grid,.recovery-kpi-grid,.fuel-card-grid,.recovery-card-grid,.recovery-summary-grid,.cost-nav-strip{grid-template-columns:1fr}.dispatch-cost-strip{grid-template-columns:1fr 1fr}.fuel-card-top{flex-direction:column}.claim-actions{display:grid}.claim-actions form,.claim-actions .btn{width:100%}}
.finance-overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:-3px 0 14px}.finance-overview-strip a{background:#0a2032;color:var(--text);text-decoration:none;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.finance-overview-strip span{font-size:10px;color:var(--muted)}.finance-overview-strip strong{font-size:16px}.finance-overview-strip .finance-link{background:linear-gradient(90deg,rgba(36,215,210,.06),rgba(74,163,255,.06));color:var(--cyan)}
@media(max-width:900px){.finance-overview-strip{grid-template-columns:1fr 1fr}}@media(max-width:520px){.finance-overview-strip{grid-template-columns:1fr}}
.cost-kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.inline-kpi-link{color:var(--cyan);text-decoration:none}.budget-progress-panel{margin-bottom:14px}.budget-progress{height:12px;border-radius:999px;background:#081b2b;border:1px solid #1b3a54;overflow:hidden}.budget-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--blue))}.year-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.year-links a{color:#c9dbe6;text-decoration:none;padding:8px 11px;border-radius:9px;background:#0a2032;border:1px solid #1b3a54;font-size:11px;font-weight:700}.year-links a.active,.year-links a:hover{color:var(--cyan);border-color:rgba(36,215,210,.4)}
@media(max-width:1250px){.cost-kpi-grid.five{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.cost-kpi-grid.five{grid-template-columns:1fr 1fr}}@media(max-width:480px){.cost-kpi-grid.five{grid-template-columns:1fr}}
.flash-warning{background:rgba(255,183,74,.1);border-color:rgba(255,183,74,.34);color:#ffd89d}

/* ---------- Phase 7: Live GPS Tracking ---------- */
.tracking-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.tracking-kpi{display:block;text-decoration:none;color:var(--text);background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:16px;padding:17px}.tracking-kpi span,.tracking-kpi strong,.tracking-kpi small{display:block}.tracking-kpi span{font-size:12px;color:var(--muted)}.tracking-kpi strong{font-size:30px;margin:5px 0}.tracking-kpi small{font-size:10px;color:#92b5ca}.tracking-kpi.live{border-color:rgba(47,209,154,.32)}.tracking-kpi.live strong{color:var(--green)}.tracking-kpi.warn{border-color:rgba(255,107,114,.35)}.tracking-kpi.warn strong{color:var(--red)}.tracking-board-panel{padding:0;overflow:hidden}.tracking-board-panel>.panel-head{padding:18px;margin:0}.tracking-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.tracking-card{display:block;color:var(--text);text-decoration:none;background:#0a2032;border:1px solid #1b3a54;border-radius:14px;padding:15px;transition:.15s ease}.tracking-card:hover{transform:translateY(-1px);border-color:rgba(36,215,210,.42)}.tracking-card.signal-live{border-left:3px solid var(--green)}.tracking-card.signal-stale{border-left:3px solid var(--red)}.tracking-card.signal-delayed{border-left:3px solid var(--amber)}.tracking-card.signal-paused,.tracking-card.signal-ended,.tracking-card.signal-not-enabled{border-left:3px solid #6f899b}.tracking-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.tracking-card-head h3{font-size:18px;margin:6px 0 2px}.tracking-card-head p{font-size:11px;color:var(--muted);margin:0}.signal-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.signal-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.signal-chip.live{background:rgba(47,209,154,.13);color:var(--green)}.signal-chip.delayed,.signal-chip.waiting{background:rgba(255,183,74,.13);color:var(--amber)}.signal-chip.stale{background:rgba(255,107,114,.13);color:var(--red)}.signal-chip.paused,.signal-chip.ended,.signal-chip.not-enabled{background:rgba(143,172,190,.12);color:#a8c0d0}.tracking-route-mini{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:13px 0;padding:10px;background:#081b2b;border-radius:10px;font-size:10px;color:#c9dbe6}.tracking-route-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracking-route-mini span:last-child{text-align:right}.tracking-route-mini i{color:var(--cyan);font-style:normal}.tracking-card-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tracking-card-metrics div{min-width:0}.tracking-card-metrics small,.tracking-card-metrics strong{display:block}.tracking-card-metrics small{font-size:9px;color:var(--muted)}.tracking-card-metrics strong{font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coord-line{font-size:9px;color:#7fa1b7;margin-top:12px}.tracking-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.6fr);gap:14px;margin-bottom:14px}.live-map-panel{min-width:0}.live-map{height:430px;position:relative;overflow:hidden;border-radius:13px;background:#071722;border:1px solid #1b3a54}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(77,120,148,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(77,120,148,.10) 1px,transparent 1px);background-size:42px 42px}.map-tiles{position:absolute;inset:0;opacity:.78;filter:saturate(.72) brightness(.78) contrast(1.06)}.map-tiles img{position:absolute;width:256px;height:256px;max-width:none}.route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.route-line-live{fill:none;stroke:var(--cyan);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(36,215,210,.55))}.route-dot{fill:#d7fcff;stroke:#0b3344;stroke-width:1}.route-current{fill:#fff;stroke:var(--cyan);stroke-width:3}.live-marker{position:absolute;transform:translate(-50%,-50%);z-index:5;display:grid;place-items:center;pointer-events:none}.live-marker span{width:22px;height:22px;border-radius:50%;background:var(--cyan);border:5px solid rgba(255,255,255,.9);box-shadow:0 0 0 8px rgba(36,215,210,.18),0 4px 15px rgba(0,0,0,.4)}.live-marker b{margin-top:12px;background:#04111b;color:white;border:1px solid rgba(36,215,210,.4);border-radius:8px;padding:5px 8px;font-size:9px}.map-empty,.map-loading-copy{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;z-index:2}.map-provider-warning{position:absolute;left:12px;top:12px;z-index:6;max-width:min(360px,calc(100% - 24px));padding:8px 10px;border-radius:9px;background:rgba(4,17,27,.92);border:1px solid rgba(255,183,74,.45);color:#ffd38c;font-size:10px;box-shadow:0 6px 18px rgba(0,0,0,.25)}.map-attribution{font-size:9px;color:#6f8da1;margin-top:7px}.map-update-label{font-size:10px;color:var(--muted)}.telemetry-panel{display:flex;flex-direction:column}.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.telemetry-grid>div,.telemetry-coords{background:#081b2b;border:1px solid #1b3a54;border-radius:11px;padding:12px}.telemetry-grid span,.telemetry-grid strong,.telemetry-coords small,.telemetry-coords strong{display:block}.telemetry-grid span,.telemetry-coords small{font-size:9px;color:var(--muted)}.telemetry-grid strong{font-size:15px;margin-top:4px}.telemetry-coords{margin-top:8px}.telemetry-coords strong{font-size:11px;margin-top:5px;word-break:break-all}.btn-block{display:block;text-align:center;margin-top:10px}.tracking-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.tracking-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tracking-context-grid>div{background:#0a2032;border:1px solid #1b3a54;border-radius:11px;padding:12px}.tracking-context-grid small,.tracking-context-grid strong{display:block}.tracking-context-grid small{font-size:9px;color:var(--muted)}.tracking-context-grid strong{font-size:11px;margin-top:4px;line-height:1.45}.tracking-control-stack form{display:grid;gap:9px}.tracking-control-stack label{font-size:10px;color:var(--muted)}.tracking-control-stack input{width:100%;margin-top:5px}.session-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.session-meta span{background:#081b2b;border:1px solid #1b3a54;border-radius:8px;padding:7px 9px;font-size:9px;color:var(--muted)}.session-meta b{color:var(--text)}.tracking-action-row{display:flex;gap:7px;flex-wrap:wrap}.tracking-token-callout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:12px;align-items:center;background:linear-gradient(100deg,rgba(36,215,210,.10),rgba(74,163,255,.08));border:1px solid rgba(36,215,210,.35);border-radius:14px;padding:15px;margin-bottom:14px}.tracking-token-callout strong{font-size:12px}.tracking-token-callout p,.tracking-token-callout small{font-size:10px;color:#a7c1d1;margin:4px 0 0}.tracking-token-callout code{display:block;background:#03111b;border:1px solid #1c5266;border-radius:10px;padding:12px;color:#8cf5ee;font-size:11px;word-break:break-all}.tracking-token-callout small{grid-column:1/-1}.simulator-panel{margin-bottom:14px}.simulator-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:9px;align-items:end}.simulator-form label{font-size:9px;color:var(--muted)}.simulator-form input{width:100%;margin-top:5px}.tracking-history-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:14px}.tracking-points-table{min-width:720px}.tracking-event-list{display:grid;gap:9px}.tracking-event{display:grid;grid-template-columns:9px 1fr;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(33,65,92,.58)}.tracking-event>span{width:8px;height:8px;border-radius:50%;margin-top:4px;background:#7895a8}.tracking-event.severity-info>span{background:var(--green)}.tracking-event.severity-warning>span{background:var(--amber)}.tracking-event.severity-critical>span{background:var(--red)}.tracking-event strong{font-size:11px}.tracking-event p{font-size:10px;color:#bed0dc;line-height:1.45;margin:3px 0}.tracking-event small{font-size:9px;color:var(--muted)}
@media(max-width:1150px){.tracking-card-grid{grid-template-columns:1fr}.tracking-hero-grid,.tracking-detail-grid,.tracking-history-grid{grid-template-columns:1fr}.simulator-form{grid-template-columns:1fr 1fr 1fr}.simulator-form .btn{align-self:end}.tracking-token-callout{grid-template-columns:1fr}}
@media(max-width:700px){.tracking-kpi-grid{grid-template-columns:1fr 1fr}.tracking-card-metrics{grid-template-columns:1fr 1fr}.tracking-card-grid{padding:0 12px 12px}.live-map{height:330px}.tracking-context-grid,.telemetry-grid{grid-template-columns:1fr 1fr}.simulator-form{grid-template-columns:1fr}.tracking-action-row{display:grid}.tracking-action-row form,.tracking-action-row .btn{width:100%}.tracking-token-callout code{font-size:9px}.tracking-card-head{flex-direction:column}.tracking-route-mini{grid-template-columns:1fr}.tracking-route-mini i{transform:rotate(90deg);justify-self:center}.tracking-route-mini span:last-child{text-align:left}}
@media(max-width:480px){.tracking-kpi-grid,.telemetry-grid,.tracking-context-grid{grid-template-columns:1fr}}
.tracking-overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:-3px 0 14px}.tracking-overview-strip a{background:#0a2032;color:var(--text);text-decoration:none;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.tracking-overview-strip span{font-size:10px;color:var(--muted)}.tracking-overview-strip strong{font-size:16px}.tracking-overview-strip .tracking-link{background:linear-gradient(90deg,rgba(47,209,154,.06),rgba(36,215,210,.06));color:var(--green)}
@media(max-width:900px){.tracking-overview-strip{grid-template-columns:1fr 1fr}}@media(max-width:520px){.tracking-overview-strip{grid-template-columns:1fr}}

/* ===== Phase 8 · Customer Satisfaction Survey ===== */
.css-overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:-3px 0 14px}.css-overview-strip a{background:#0a2032;color:var(--text);text-decoration:none;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.css-overview-strip span{font-size:10px;color:var(--muted)}.css-overview-strip strong{font-size:16px}.css-overview-strip .css-link{background:linear-gradient(90deg,rgba(141,114,255,.08),rgba(36,215,210,.06));color:#c5b9ff}
.css-period-filter{display:grid;grid-template-columns:1.1fr .7fr 1fr .8fr auto minmax(150px,.8fr);gap:10px;align-items:end;margin-bottom:14px}.css-period-filter label{font-size:10px;color:var(--muted)}.css-period-filter input,.css-period-filter select{display:block;width:100%;margin-top:5px}.css-period-label{padding:8px 12px;background:#091e2f;border:1px solid #1c3a53;border-radius:10px}.css-period-label span,.css-period-label strong{display:block}.css-period-label span{font-size:9px;color:var(--muted)}.css-period-label strong{font-size:13px;margin-top:3px}.css-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.css-kpi{background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:16px;padding:17px}.css-kpi span,.css-kpi strong,.css-kpi small{display:block}.css-kpi span{font-size:12px;color:var(--muted)}.css-kpi strong{font-size:27px;margin:6px 0}.css-kpi small{font-size:10px;color:#92b5ca}.css-kpi.warn{border-color:rgba(255,107,114,.38)}.css-kpi.warn strong{color:var(--red)}
.css-main-grid,.css-rank-grid,.css-response-layout,.css-report-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px}.css-rank-grid{grid-template-columns:1fr 1fr}.css-criteria-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}.css-criterion-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.css-criterion-head span{font-size:11px;color:#c9dce8}.css-criterion-head strong{font-size:12px}.css-score-bar{height:8px;background:#0a1a27;border:1px solid #1a3b53;border-radius:999px;overflow:hidden}.css-score-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--cyan))}.css-low-list{display:grid;gap:9px}.css-low-list a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:var(--text);padding:11px;background:#091f31;border:1px solid #1c3c55;border-radius:11px}.css-low-list a:hover{border-color:rgba(255,107,114,.38)}.css-low-list strong{font-size:11px}.css-low-list p{font-size:10px;color:#bdd0dc;margin:4px 0;line-height:1.35}.css-low-list small{font-size:9px;color:var(--muted)}.css-low-list>a>span{font-size:15px;font-weight:800;color:var(--red)}.css-rank-list{display:grid;gap:7px}.css-rank-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 11px;background:#091e2f;border:1px solid #1b3a54;border-radius:10px}.css-rank-list span{font-size:11px;font-weight:700}.css-rank-list small{font-size:9px;color:var(--muted)}.css-rank-list strong{font-size:14px;color:var(--cyan)}.css-response-panel{padding:0;overflow:hidden}.css-response-panel>.panel-head{padding:18px;margin:0}.css-attention,.css-ok,.css-qr-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.css-attention{background:rgba(255,107,114,.13);color:var(--red)}.css-ok{background:rgba(47,209,154,.13);color:var(--green)}.css-safety-note{margin:14px 0;padding:12px 14px;border:1px solid rgba(255,183,74,.28);background:rgba(255,183,74,.07);border-radius:11px;color:#cddbe4;font-size:10px;line-height:1.5}.css-safety-note strong{color:#ffd38c}
.css-response-hero{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:1px;background:var(--line);padding:0;overflow:hidden;margin-bottom:14px}.css-response-hero>div{background:#0c2336;padding:18px}.css-response-hero small,.css-response-hero strong,.css-response-hero span{display:block}.css-response-hero small{font-size:9px;color:var(--muted)}.css-response-hero strong{font-size:13px;margin-top:5px}.css-response-hero span{font-size:10px;color:#9fbbcc;margin-top:4px}.css-response-hero .css-score-large{font-size:32px;color:var(--cyan);font-weight:800;margin:0}.css-score-detail{display:grid;gap:10px;margin-top:14px}.css-score-detail>div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr 48px;gap:12px;align-items:center}.css-score-detail span{font-size:11px}.css-score-detail strong{font-size:11px;text-align:right}.css-score-dots{display:flex;gap:6px}.css-score-dots i{width:15px;height:15px;border-radius:50%;background:#102e43;border:1px solid #28526e}.css-score-dots i.on{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 8px rgba(36,215,210,.2)}.css-followup-detail{border-color:rgba(255,107,114,.35);background:linear-gradient(180deg,rgba(74,31,42,.28),rgba(13,34,52,.96))}.css-followup-detail p:last-child{font-size:12px;line-height:1.65;color:#e5d7da}
.css-qr-info{display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;font-size:11px}.css-qr-info strong{color:var(--cyan);white-space:nowrap}.css-qr-info span{color:#b8cbd8;line-height:1.5}.css-qr-status.active{background:rgba(47,209,154,.13);color:var(--green)}.css-qr-status.inactive,.css-qr-status.missing{background:rgba(143,172,190,.12);color:#a8c0d0}.css-qr-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(300px,.55fr);gap:14px}.css-qr-card{text-align:center}.css-qr-card>.eyebrow{text-align:left}.css-qr-poster{width:min(440px,100%);margin:12px auto 16px;padding:24px;background:#fff;color:#071421;border-radius:18px;display:grid;justify-items:center;gap:10px}.css-qr-title{font-size:13px;font-weight:900;letter-spacing:.08em}.css-qr-poster canvas{width:min(310px,78vw);height:auto;image-rendering:pixelated}.css-qr-poster strong{font-size:25px}.css-qr-poster span{font-size:11px}.css-qr-poster small{font-size:9px;color:#456}.css-qr-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.survey-url-label{font-size:10px;color:var(--muted);display:block;margin:14px 0}.survey-url-label textarea{width:100%;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;resize:none}.inline-form{display:inline}
.survey-page{min-height:100vh;padding-bottom:52px;background:radial-gradient(circle at 50% 0,rgba(36,215,210,.10),transparent 34%),linear-gradient(135deg,#040b12,#081b2b 55%,#05121d)}.survey-shell{min-height:calc(100vh - 52px);display:grid;place-items:start center;padding:28px 18px 80px}.survey-card{width:min(800px,100%);background:linear-gradient(180deg,rgba(20,48,71,.98),rgba(10,29,45,.98));border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.survey-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.survey-brand strong,.survey-brand span{display:block}.survey-brand span{font-size:11px;color:var(--muted);margin-top:3px}.survey-card h1{font-size:28px;margin:5px 0 8px}.survey-trip-summary{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:20px 0}.survey-trip-summary>div{background:#091e2f;padding:13px}.survey-trip-summary small,.survey-trip-summary strong,.survey-trip-summary span{display:block}.survey-trip-summary small{font-size:9px;color:var(--muted)}.survey-trip-summary strong{font-size:12px;margin-top:4px}.survey-trip-summary span{font-size:9px;color:#9fb8c8;margin-top:4px;line-height:1.35}.survey-scale-note{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);margin-bottom:8px}.survey-form{display:grid;gap:10px}.rating-row{margin:0;padding:13px 0;border:0;border-bottom:1px solid rgba(33,65,92,.7);display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:14px}.rating-row legend{padding:0;float:left;font-size:12px;font-weight:700}.rating-options{display:flex;gap:7px}.rating-options label{cursor:pointer}.rating-options input{position:absolute;opacity:0;pointer-events:none}.rating-options span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#0a2032;border:1px solid #21415c;color:#a8bdcc;font-size:12px;font-weight:800;transition:.12s}.rating-options input:checked+span{background:var(--accent-bg,var(--cyan));border-color:var(--cyan);color:#03141c;box-shadow:0 0 0 2px rgba(36,215,210,.14)}.rating-options input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.survey-text-field{display:grid;gap:6px;font-size:10px;color:var(--muted);margin-top:5px}.survey-text-field small{font-size:9px}.survey-text-field input,.survey-text-field textarea{width:100%;resize:vertical}.low-score-inline{padding:11px 13px;border:1px solid rgba(255,183,74,.4);background:rgba(255,183,74,.08);border-radius:10px}.low-score-inline strong,.low-score-inline p{display:block;margin:0}.low-score-inline strong{font-size:11px;color:#ffd38c}.low-score-inline p{font-size:10px;color:#cbd9e2;margin-top:3px}.hidden{display:none!important}.survey-submit{margin-top:8px;min-height:48px}.survey-privacy{text-align:center;font-size:9px;color:#7899ad;line-height:1.45}.css-dialog{width:min(440px,calc(100% - 30px));background:#10283c;color:var(--text);border:1px solid #31516a;border-radius:17px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.css-dialog::backdrop{background:rgba(1,8,13,.78)}.css-dialog h2{margin:6px 0 8px}.css-dialog p{font-size:11px;color:#b9cdd9;line-height:1.55}.dialog-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,183,74,.14);color:var(--amber);font-weight:900;font-size:20px}.survey-thanks,.survey-state{text-align:center;padding:40px 12px}.survey-thanks p,.survey-state p{color:#b9cdd9;line-height:1.6}.survey-check{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:rgba(47,209,154,.14);border:1px solid rgba(47,209,154,.35);color:var(--green);font-size:32px;font-weight:900}.survey-journey-choices{display:grid;gap:10px;margin-top:20px}.survey-journey-choices a{display:grid;gap:4px;text-decoration:none;color:var(--text);padding:14px;background:#091f31;border:1px solid #1c3c55;border-radius:12px}.survey-journey-choices a:hover{border-color:var(--cyan)}.survey-journey-choices strong{font-size:12px}.survey-journey-choices span{font-size:10px;color:#c3d5df}.survey-journey-choices small{font-size:9px;color:var(--muted)}
.css-report-cover{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;margin-bottom:14px}.css-report-cover h2{font-size:25px;margin:5px 0}.css-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:11px;overflow:hidden}.css-report-kpis>div{background:#091e2f;padding:13px}.css-report-kpis span,.css-report-kpis strong{display:block}.css-report-kpis span{font-size:9px;color:var(--muted)}.css-report-kpis strong{font-size:16px;margin-top:4px}.css-exec-summary{margin-bottom:14px}.css-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.css-summary-grid article{background:#091e2f;border:1px solid #1b3a54;border-radius:12px;padding:14px}.css-summary-grid h3{font-size:12px;margin:0 0 8px;color:#d8edf6}.css-summary-grid p{font-size:10px;line-height:1.65;color:#b9ceda;margin:0}.report-dl{display:grid;grid-template-columns:1fr auto;gap:9px 16px;margin-top:15px}.report-dl dt{font-size:10px;color:var(--muted)}.report-dl dd{font-size:11px;font-weight:700;margin:0;text-align:right}
@media(max-width:1150px){.css-period-filter{grid-template-columns:1fr 1fr 1fr}.css-main-grid,.css-response-layout,.css-report-grid{grid-template-columns:1fr}.css-qr-layout{grid-template-columns:1fr}.css-report-cover{grid-template-columns:1fr;gap:14px}.css-response-hero{grid-template-columns:1fr 1fr}.css-criteria-grid{grid-template-columns:1fr}}
@media(max-width:800px){.css-overview-strip,.css-kpi-grid,.css-rank-grid{grid-template-columns:1fr 1fr}.css-summary-grid{grid-template-columns:1fr}.survey-trip-summary{grid-template-columns:1fr}.rating-row{grid-template-columns:1fr}.rating-options{justify-content:space-between}.rating-options span{width:44px;height:44px}.css-score-detail>div{grid-template-columns:1fr}.css-score-detail strong{text-align:left}.css-report-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.css-overview-strip,.css-kpi-grid,.css-rank-grid,.css-response-hero{grid-template-columns:1fr}.css-period-filter{grid-template-columns:1fr}.survey-card{padding:20px 16px}.survey-card h1{font-size:23px}.rating-options span{width:42px;height:42px}.css-qr-poster{padding:18px}.css-report-kpis{grid-template-columns:1fr}}
@media print{.sidebar,.topbar-actions,.website-signature,.css-period-filter,.css-qr-actions{display:none!important}.app-shell{display:block!important}.main-content{padding:0!important}.css-report-page{color:#111!important}.css-report-page .panel{box-shadow:none!important;break-inside:avoid}.css-qr-card{border:0!important;box-shadow:none!important}.css-qr-poster{border:1px solid #bbb}.css-report-page .muted,.css-report-page small{color:#555!important}}
.css-period-filter input,.css-period-filter select,.survey-text-field input,.survey-text-field textarea,.survey-url-label textarea{background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;outline:none;font:inherit}.css-period-filter input:focus,.css-period-filter select:focus,.survey-text-field input:focus,.survey-text-field textarea:focus,.survey-url-label textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(36,215,210,.08)}

/* Phase 9 — Procurement & Vehicle Lifecycle */
.procurement-overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}.procurement-overview-strip>a{background:#0c2133;text-decoration:none;color:var(--text);padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.procurement-overview-strip>a:hover{background:#102a40}.procurement-overview-strip span{font-size:10px;color:var(--muted)}.procurement-overview-strip strong{font-size:18px}.procurement-overview-strip .procurement-link{background:rgba(141,114,255,.08)}
.procurement-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.procurement-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:14px}.procurement-side{display:grid;gap:14px;align-content:start}.procurement-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.procurement-filter input,.procurement-filter select,.stage-update-form input,.stage-update-form select,.mini-entry-form input,.mini-entry-form select,.procurement-form input,.procurement-form select,.procurement-form textarea,.form-panel>label input,.form-panel>label select,.form-panel>label textarea{background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 11px;outline:none}.procurement-filter input{min-width:220px}.procurement-form>label,.form-panel>label{display:block;margin:14px 0;font-size:12px;color:#9bb6c8;font-weight:600}.procurement-form>label textarea,.form-panel>label textarea{display:block;width:100%;margin-top:7px;resize:vertical}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.form-grid.two{margin:14px 0}.check-label{align-self:end;display:flex!important;gap:8px;align-items:center;min-height:42px;padding:9px 0}.check-label input{width:auto!important;margin:0!important}
.procurement-project-list{display:grid;gap:10px}.procurement-project-card{display:block;text-decoration:none;color:var(--text);background:#0a2032;border:1px solid #1c3c55;border-radius:14px;padding:15px}.procurement-project-card:hover{border-color:rgba(36,215,210,.45);background:#0c263a}.procurement-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.procurement-card-top strong,.procurement-card-top small{display:block}.procurement-card-top small{font-size:10px;color:var(--muted);margin-top:4px}.procurement-project-card h3{font-size:14px;margin:12px 0}.procurement-progress{height:6px;background:#17354d;border-radius:99px;overflow:hidden}.procurement-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--cyan));border-radius:99px}.procurement-card-meta{display:grid;grid-template-columns:1fr auto auto;gap:12px;margin-top:10px;font-size:10px;color:#abc2d1}.proc-stage,.proc-status,.pdi-chip,.check-result{display:inline-block;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.proc-stage{background:rgba(74,163,255,.12);color:var(--blue)}.proc-stage.pdi,.proc-stage.compliance{background:rgba(255,183,74,.12);color:var(--amber)}.proc-stage.completed{background:rgba(47,209,154,.12);color:var(--green)}.proc-stage.cancelled{background:rgba(255,107,114,.12);color:var(--red)}.proc-status.active,.proc-status.approved,.proc-status.completed{background:rgba(47,209,154,.12);color:var(--green)}.proc-status.on-hold,.proc-status.submitted,.proc-status.draft{background:rgba(255,183,74,.12);color:var(--amber)}.proc-status.cancelled,.proc-status.rejected{background:rgba(255,107,114,.12);color:var(--red)}.proc-side-list{display:grid;gap:8px}.proc-side-list a{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px;border-radius:10px;background:#0a2032;border:1px solid #1c3a53;color:var(--text);text-decoration:none}.proc-side-list a:hover{border-color:var(--cyan)}.proc-side-list span,.proc-side-list strong{font-size:10px}.proc-side-list small{grid-column:1/-1;font-size:9px;color:var(--muted)}
.procurement-project-hero,.unit-hero,.replacement-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.procurement-project-hero h2,.unit-hero h2,.replacement-hero h2{margin:10px 0 4px}.procurement-project-hero p,.unit-hero p,.replacement-hero p{margin:0;color:var(--muted);font-size:11px}.procurement-hero-budget,.commission-readiness,.replacement-hero>div:last-child{text-align:right}.procurement-hero-budget small,.procurement-hero-budget strong,.procurement-hero-budget span,.commission-readiness small,.commission-readiness strong,.replacement-hero>div:last-child small,.replacement-hero>div:last-child strong{display:block}.procurement-hero-budget strong,.replacement-hero>div:last-child strong{font-size:21px;margin:5px 0}.procurement-hero-budget span,.procurement-hero-budget small,.replacement-hero>div:last-child small{font-size:10px;color:var(--muted)}
.procurement-stage-panel{margin-bottom:14px}.stage-track{display:grid;grid-template-columns:repeat(10,1fr);gap:0;margin:18px 0 12px}.stage-node{position:relative;text-align:center;min-width:0}.stage-node:before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:#24445b}.stage-node:first-child:before{left:50%}.stage-node:last-child:before{right:50%}.stage-node i{position:relative;z-index:1;width:15px;height:15px;border-radius:50%;display:block;margin:0 auto 7px;background:#17354d;border:2px solid #31556f}.stage-node.done:before{background:rgba(36,215,210,.55)}.stage-node.done i{background:var(--cyan);border-color:var(--cyan)}.stage-node.current i{box-shadow:0 0 0 5px rgba(36,215,210,.12)}.stage-node span{font-size:8px;color:var(--muted);display:block;white-space:normal}.stage-node.current span{color:var(--cyan);font-weight:800}.stage-update-form{display:grid;grid-template-columns:160px 1fr auto;gap:8px}.procurement-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}.detail-list{display:grid;grid-template-columns:115px 1fr;gap:9px 14px;margin:14px 0 0}.detail-list dt{font-size:9px;color:var(--muted)}.detail-list dd{font-size:10px;margin:0;line-height:1.55;overflow-wrap:anywhere}.detail-prose{font-size:10px;line-height:1.7;color:#bdd0dc}.procurement-units{margin-bottom:14px}.pdi-chip.pending,.pdi-chip.failed,.check-result.pending,.check-result.non-compliant,.check-result.fail{background:rgba(255,107,114,.12);color:var(--red)}.pdi-chip.passed,.check-result.pass,.check-result.compliant{background:rgba(47,209,154,.12);color:var(--green)}.pdi-chip.conditional,.check-result.not-applicable,.pdi-chip.not-applicable{background:rgba(255,183,74,.12);color:var(--amber)}
.timeline-list{display:grid;gap:0}.timeline-list>div{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding-bottom:14px}.timeline-list>div:not(:last-child):before{content:"";position:absolute;left:7px;top:15px;bottom:-1px;width:1px;background:#31516a}.timeline-list i{width:15px;height:15px;border-radius:50%;background:#123149;border:2px solid var(--cyan)}.timeline-list strong{font-size:10px}.timeline-list p{font-size:10px;margin:4px 0;color:#c4d5df}.timeline-list small{font-size:8px;color:var(--muted)}
.commission-readiness{padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#091e2f;min-width:190px}.commission-readiness strong{font-size:17px;margin:5px 0}.commission-readiness.ready strong{color:var(--green)}.commission-readiness.blocked strong{color:var(--amber)}.commission-readiness a{font-size:9px;color:var(--cyan)}.commission-issues{padding-left:17px;color:#ffc2c5;font-size:10px;line-height:1.65}.good-callout{font-size:10px;line-height:1.65;padding:11px;background:rgba(47,209,154,.08);border:1px solid rgba(47,209,154,.25);border-radius:10px;color:#c9f4e4}.procurement-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-entry-form{display:grid;grid-template-columns:.7fr 1.2fr 1.4fr .7fr 1fr auto;gap:7px;margin-bottom:14px}.mini-entry-form.compliance{grid-template-columns:.7fr .8fr 1.2fr .9fr 1fr auto}.checklist-list{display:grid;gap:8px}.checklist-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px;background:#0a2032;border:1px solid #1c3a53;border-radius:10px}.checklist-list strong,.checklist-list small,.checklist-list p{display:block}.checklist-list strong{font-size:10px}.checklist-list small{font-size:8px;color:var(--muted);margin-top:3px}.checklist-list p{font-size:9px;margin:4px 0 0;color:#bdd0dc}.replacement-hero{margin-bottom:14px}
@media(max-width:1200px){.procurement-kpi-grid{grid-template-columns:repeat(3,1fr)}.procurement-layout{grid-template-columns:1fr}.procurement-side{grid-template-columns:1fr 1fr}.procurement-detail-grid{grid-template-columns:1fr 1fr}.procurement-detail-grid>article:last-child{grid-column:1/-1}.procurement-two-col{grid-template-columns:1fr}.mini-entry-form,.mini-entry-form.compliance{grid-template-columns:1fr 1fr 1fr}.mini-entry-form .btn{grid-column:1/-1}.form-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.procurement-overview-strip{grid-template-columns:1fr 1fr}.procurement-kpi-grid{grid-template-columns:1fr 1fr}.procurement-side{grid-template-columns:1fr}.procurement-project-hero,.unit-hero,.replacement-hero{align-items:flex-start;flex-direction:column}.procurement-hero-budget,.commission-readiness,.replacement-hero>div:last-child{text-align:left;width:100%}.stage-track{overflow-x:auto;grid-template-columns:repeat(10,90px);padding-bottom:8px}.stage-update-form{grid-template-columns:1fr}.procurement-detail-grid{grid-template-columns:1fr}.procurement-detail-grid>article:last-child{grid-column:auto}.procurement-card-meta{grid-template-columns:1fr}.form-grid.three,.form-grid.four{grid-template-columns:1fr 1fr}.mini-entry-form,.mini-entry-form.compliance{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.procurement-overview-strip,.procurement-kpi-grid{grid-template-columns:1fr}.procurement-filter{display:grid;grid-template-columns:1fr;width:100%}.procurement-filter input{min-width:0}.form-grid.three,.form-grid.four{grid-template-columns:1fr}.mini-entry-form,.mini-entry-form.compliance{grid-template-columns:1fr}.procurement-card-top{flex-direction:column}.detail-list{grid-template-columns:1fr}.detail-list dd{padding-bottom:6px}}
.phase9-form{padding:22px}.phase9-form .form-actions{padding:18px 0 0}.phase9-info-note{margin:14px 0;padding:12px 14px;border-radius:10px;border:1px solid rgba(74,163,255,.25);background:rgba(74,163,255,.07)}.phase9-info-note strong,.phase9-info-note span{display:block}.phase9-info-note strong{font-size:10px}.phase9-info-note span{font-size:9px;color:var(--muted);margin-top:4px}.lifecycle-action-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.lifecycle-action-bar strong{font-size:11px}.lifecycle-action-bar form{display:inline}
.proc-status.commissioned,.proc-status.delivered{background:rgba(47,209,154,.12);color:var(--green)}.proc-status.planned,.proc-status.ordered,.proc-status.pdi-pending,.proc-status.compliance{background:rgba(255,183,74,.12);color:var(--amber)}.proc-status.rejected{background:rgba(255,107,114,.12);color:var(--red)}
@media(max-width:700px){.phase9-form{padding:16px}.lifecycle-action-bar{align-items:flex-start;flex-direction:column}.lifecycle-action-bar .topbar-actions{display:flex;flex-direction:column;width:100%}}

/* ---------- Phase 10 · Management Intelligence & Governance ---------- */
.phase10-main{padding-bottom:86px}.report-filter-panel{margin-bottom:14px}.report-filter{display:grid;grid-template-columns:170px 170px minmax(180px,1fr) auto auto;gap:10px;align-items:end}.report-filter label,.audit-filter label{font-size:10px;color:var(--muted);font-weight:700}.report-filter input,.report-filter select,.audit-filter input,.audit-filter select{display:block;width:100%;margin-top:6px;background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 10px}.report-scope{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 2px 12px;font-size:11px;color:var(--muted)}.report-scope strong{color:#dbeaf4}.management-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.management-kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.management-kpi-grid article{min-width:0;background:linear-gradient(180deg,rgba(20,48,71,.96),rgba(13,34,52,.96));border:1px solid var(--line);border-radius:14px;padding:14px}.management-kpi-grid span,.management-kpi-grid small{display:block}.management-kpi-grid span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.management-kpi-grid strong{display:block;font-size:21px;margin:6px 0;overflow-wrap:anywhere}.management-kpi-grid small{font-size:9px;color:#9db8c9;line-height:1.4}.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.management-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.management-metrics>div{background:#0a2032;border:1px solid #1c3b54;border-radius:11px;padding:12px}.management-metrics span,.management-metrics strong{display:block}.management-metrics span{font-size:9px;color:var(--muted)}.management-metrics strong{font-size:16px;margin-top:5px}.trend-list{display:grid;gap:10px}.trend-row{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:center}.trend-label strong,.trend-label small{display:block}.trend-label strong{font-size:10px}.trend-label small{font-size:8px;color:var(--muted);margin-top:3px}.trend-bars{display:grid;gap:4px}.trend-bars i{display:block;height:6px;min-width:2px;border-radius:99px}.trend-bars .trip-bar{background:var(--cyan)}.trend-bars .fuel-bar{background:var(--purple)}.division-report{padding:0;overflow:hidden;margin-bottom:14px}.division-report .panel-head{padding:18px;margin:0}.division-report td small{display:inline;color:var(--muted);margin-left:4px}.report-export-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-export-grid a{display:block;text-decoration:none;color:var(--text);border:1px solid var(--line);background:#0b2133;border-radius:12px;padding:13px}.report-export-grid a:hover{border-color:var(--cyan)}.report-export-grid strong,.report-export-grid span{display:block}.report-export-grid strong{font-size:11px}.report-export-grid span{font-size:9px;color:var(--muted);line-height:1.5;margin-top:4px}.audit-filter{display:grid;grid-template-columns:130px 130px 130px minmax(150px,1fr) minmax(130px,1fr) minmax(180px,1.5fr) auto;gap:8px;align-items:end}.audit-panel{padding:0;overflow:hidden;margin-top:14px}.audit-panel .panel-head{padding:18px;margin:0}.audit-action,.quality-chip,.health-state{display:inline-block;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.audit-action.insert,.audit-action.login{background:rgba(47,209,154,.12);color:var(--green)}.audit-action.update,.audit-action.backup{background:rgba(74,163,255,.13);color:var(--blue)}.audit-action.delete,.audit-action.logout{background:rgba(255,107,114,.12);color:var(--red)}.audit-detail-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px}.audit-change-list{display:grid;gap:7px;margin-top:12px}.audit-change-list>div{display:grid;grid-template-columns:130px 1fr 24px 1fr;gap:7px;align-items:center;border:1px solid #1b3b55;background:#091e2e;border-radius:9px;padding:9px}.audit-change-list>div.changed{border-color:rgba(255,183,74,.35);background:rgba(255,183,74,.05)}.audit-change-list strong{font-size:9px;text-transform:capitalize}.audit-change-list span{font-size:9px;color:#c9dbe6;overflow-wrap:anywhere}.audit-change-list i{font-style:normal;text-align:center;color:var(--muted)}.dq-critical{border-color:rgba(255,107,114,.35)!important}.dq-warning{border-color:rgba(255,183,74,.35)!important}.data-quality-panel{padding:0;overflow:hidden}.data-quality-panel .panel-head{padding:18px;margin:0}.quality-chip.critical,.health-state.fail{background:rgba(255,107,114,.13);color:var(--red)}.quality-chip.warning,.health-state.warning{background:rgba(255,183,74,.13);color:var(--amber)}.quality-chip.info,.health-state.pass{background:rgba(47,209,154,.12);color:var(--green)}.quality-stamp{font-size:9px;color:var(--muted)}.governance-note{margin-top:14px}.governance-note p:last-child{font-size:10px;color:#bfd2de;line-height:1.7;margin-bottom:0}.system-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.system-side{display:grid;gap:14px;align-content:start}.health-list{display:grid;gap:8px}.health-list>div{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:10px;background:#0a2032;border:1px solid #1c3b54;border-radius:10px;align-items:start}.health-list strong,.health-list p{display:block}.health-list strong{font-size:10px}.health-list p{font-size:9px;color:var(--muted);line-height:1.5;margin:3px 0 0;overflow-wrap:anywhere}.backup-form{display:grid;gap:12px;margin-top:14px}.confirm-check{font-size:9px;color:#b8ccd9;display:flex;gap:8px;align-items:flex-start}.confirm-check input{margin-top:1px}.restore-steps{padding-left:18px;font-size:9px;line-height:1.7;color:#c5d7e2}.system-warning{font-size:9px;line-height:1.6;color:#ffd59b;background:rgba(255,183,74,.07);border:1px solid rgba(255,183,74,.25);border-radius:9px;padding:10px}.deployment-audit{margin-bottom:14px}.deployment-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.deployment-check-grid>div{background:#0a2032;border:1px solid #1c3b54;border-radius:10px;padding:11px}.deployment-check-grid strong,.deployment-check-grid span{display:block}.deployment-check-grid strong{font-size:9px;color:#dcebf5}.deployment-check-grid span{font-size:9px;color:var(--muted);line-height:1.6;margin-top:5px}.deployment-check-grid code,.restore-steps code{color:var(--cyan);font-size:8px}.report-topbar{align-items:center}
@media(max-width:1250px){.management-kpi-grid{grid-template-columns:repeat(3,1fr)}.audit-filter{grid-template-columns:repeat(4,1fr)}.audit-filter .btn{grid-column:span 1}.report-export-grid{grid-template-columns:1fr 1fr}.system-layout{grid-template-columns:1fr}.deployment-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.report-filter{grid-template-columns:1fr 1fr}.report-filter label:nth-child(3){grid-column:1/-1}.management-grid,.audit-detail-grid{grid-template-columns:1fr}.management-kpi-grid,.management-kpi-grid.compact{grid-template-columns:1fr 1fr}.audit-filter{grid-template-columns:1fr 1fr}.deployment-check-grid{grid-template-columns:1fr}.audit-change-list>div{grid-template-columns:1fr}.audit-change-list i{text-align:left}.report-export-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.report-filter,.audit-filter,.management-kpi-grid,.management-kpi-grid.compact,.management-metrics,.report-export-grid{grid-template-columns:1fr}.report-filter label:nth-child(3){grid-column:auto}.trend-row{grid-template-columns:1fr}.report-scope{align-items:flex-start;flex-direction:column}}
@media print{.no-print,.sidebar,.website-signature,.topbar-actions{display:none!important}.app-shell{display:block!important}.main-content,.phase10-main{padding:0!important}.panel,.management-kpi-grid article{box-shadow:none!important;break-inside:avoid;border-color:#bbb!important;background:#fff!important;color:#111!important}.management-kpi-grid{grid-template-columns:repeat(3,1fr)!important}.management-grid{grid-template-columns:1fr 1fr!important}.muted,.panel small,.panel span,.management-kpi-grid span,.management-kpi-grid small{color:#555!important}.eyebrow{color:#333!important}.trend-bars i{print-color-adjust:exact;-webkit-print-color-adjust:exact}.division-report table{min-width:0}.division-report th,.division-report td{color:#111!important;border-color:#ccc!important;font-size:8px}.report-scope{color:#333!important}}

/* Phase 10 sidebar growth */
.sidebar .nav{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#21415c transparent}.sidebar .nav::-webkit-scrollbar{width:5px}.sidebar .nav::-webkit-scrollbar-thumb{background:#21415c;border-radius:99px}

/* ---------- Phase 11 · Accident, Incident, Risk & Safety ---------- */
.phase11-main{padding-bottom:86px}.safety-filter-panel{margin-bottom:14px}.safety-filter{display:grid;grid-template-columns:145px 145px 170px minmax(220px,1fr) auto auto;gap:9px;align-items:end}.safety-filter label{font-size:10px;color:var(--muted);font-weight:700}.safety-filter input,.safety-filter select,.phase11-form input,.phase11-form select,.phase11-form textarea,.safety-inline-form input,.safety-inline-form select,.safety-inline-form textarea,.workflow-note-form input,.workflow-note-form select,.workflow-note-form textarea,.action-complete-form input{display:block;width:100%;margin-top:6px;background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 10px}.safety-incident-panel{padding:0;overflow:hidden;margin-bottom:14px}.safety-incident-panel .panel-head{padding:18px;margin:0}.incident-status,.risk-score{display:inline-block;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.incident-status.reported,.incident-status.under-review{background:rgba(255,183,74,.13);color:var(--amber)}.incident-status.investigation{background:rgba(74,163,255,.13);color:var(--blue)}.incident-status.corrective-action{background:rgba(141,114,255,.13);color:var(--purple)}.incident-status.closed{background:rgba(47,209,154,.12);color:var(--green)}.severity-chip.major,.severity-chip.critical{background:rgba(255,107,114,.14);color:var(--red)}.severity-chip.moderate{background:rgba(255,183,74,.13);color:var(--amber)}.severity-chip.minor{background:rgba(74,163,255,.13);color:var(--blue)}.safety-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.safety-action-list,.risk-list{display:grid;gap:8px}.safety-action-card,.risk-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #1c3b54;background:#0a2032;border-radius:11px;padding:11px;text-decoration:none;color:var(--text)}.safety-action-card.overdue{border-color:rgba(255,107,114,.42);background:rgba(255,107,114,.05)}.safety-action-card strong,.safety-action-card small,.risk-card strong,.risk-card small{display:block}.safety-action-card strong,.risk-card strong{font-size:10px}.safety-action-card small,.risk-card small{font-size:8px;color:var(--muted);line-height:1.5;margin-top:4px}.safety-action-card>div:last-of-type{text-align:right}.safety-action-card>div:last-of-type span,.safety-action-card>div:last-of-type small{display:block}.risk-score.extreme{background:rgba(255,107,114,.18);color:#ff9ca1}.risk-score.high{background:rgba(255,183,74,.16);color:var(--amber)}.risk-score.medium{background:rgba(74,163,255,.13);color:var(--blue)}.risk-score.low{background:rgba(47,209,154,.12);color:var(--green)}.phase11-form{padding:22px}.phase11-form label small{display:block;font-size:8px;color:var(--muted);line-height:1.45;margin-top:4px}.safety-case-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;margin-bottom:14px}.safety-case-hero h2{margin:9px 0 6px}.safety-case-hero p{font-size:10px;color:#c7d9e4;line-height:1.6}.safety-case-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.safety-case-metrics>div{background:#0a2032;border:1px solid #1c3b54;border-radius:10px;padding:11px}.safety-case-metrics span,.safety-case-metrics strong{display:block}.safety-case-metrics span{font-size:8px;color:var(--muted);text-transform:uppercase}.safety-case-metrics strong{font-size:11px;margin-top:5px}.safety-case-metrics a{color:var(--cyan);text-decoration:none}.safety-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.safety-detail-grid .detail-card dd{overflow-wrap:anywhere}.safety-gps-panel,.safety-workflow-panel{margin-bottom:14px}.workflow-actions{display:grid;gap:12px}.workflow-actions>form:not(.workflow-note-form){display:flex;justify-content:flex-start}.workflow-note-form{display:grid;grid-template-columns:1fr 1fr 220px auto;gap:10px;align-items:end;border-top:1px solid var(--line);padding-top:12px}.workflow-note-form label{font-size:9px;color:var(--muted);font-weight:700}.safety-inline-form{display:grid;grid-template-columns:130px minmax(150px,1fr) minmax(150px,1fr) 150px;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:14px}.safety-inline-form label{font-size:9px;color:var(--muted);font-weight:700}.safety-inline-form .span-2{grid-column:1/-1}.action-complete-form{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}.incident-history{display:grid;gap:0}.incident-history>div{display:grid;grid-template-columns:145px 140px 1fr;gap:12px;padding:10px 0;border-top:1px solid #1b3b55;align-items:start}.incident-history>div:first-child{border-top:0}.incident-history span{font-size:8px;color:var(--muted)}.incident-history strong{font-size:9px}.incident-history p{font-size:9px;color:#c8d9e4;margin:0;line-height:1.5}.risk-live{border:1px solid rgba(74,163,255,.22);background:rgba(74,163,255,.06);border-radius:9px;padding:10px 12px;font-size:9px;color:var(--muted)}.risk-live strong{color:var(--text);margin-left:4px}.lock-chip{white-space:nowrap}
@media(max-width:1250px){.safety-filter{grid-template-columns:repeat(3,1fr)}.safety-filter label:nth-child(4){grid-column:1/-1}.safety-detail-grid{grid-template-columns:1fr 1fr}.safety-detail-grid article:last-child{grid-column:1/-1}.workflow-note-form{grid-template-columns:1fr 1fr}.workflow-note-form button{align-self:end}.safety-inline-form{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.safety-two-column,.safety-case-hero,.safety-detail-grid{grid-template-columns:1fr}.safety-detail-grid article:last-child{grid-column:auto}.workflow-note-form,.safety-inline-form{grid-template-columns:1fr}.safety-inline-form .span-2{grid-column:auto}.safety-filter{grid-template-columns:1fr 1fr}.safety-filter label:nth-child(4){grid-column:1/-1}.incident-history>div{grid-template-columns:1fr}.safety-case-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.safety-filter,.safety-case-metrics{grid-template-columns:1fr}.safety-filter label:nth-child(4){grid-column:auto}.safety-action-card,.risk-card{grid-template-columns:1fr}.safety-action-card>div:last-of-type{text-align:left}.action-complete-form{grid-template-columns:1fr}}
.driver-safety-brief{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:10px;margin-bottom:14px}.driver-safety-brief>div{background:#0a2032;border:1px solid #1c3b54;border-radius:10px;padding:11px}.driver-safety-brief small,.driver-safety-brief strong{display:block}.driver-safety-brief small{font-size:8px;color:var(--viz-muted,var(--muted));text-transform:uppercase}.driver-safety-brief strong{font-size:10px;margin-top:5px}@media(max-width:700px){.driver-safety-brief{grid-template-columns:1fr}}

/* Driver Registry hotfix */
.driver-filter-form{grid-template-columns:minmax(220px,2fr) minmax(130px,.8fr) minmax(150px,1fr) minmax(150px,1fr) auto auto}.driver-summary-grid{grid-template-columns:repeat(4,1fr)}.driver-table{min-width:1120px}.badge.driver-status.available{background:rgba(47,209,154,.12);color:var(--green)}.badge.driver-status.on-duty{background:rgba(74,163,255,.13);color:var(--blue)}.badge.driver-status.off-duty{background:rgba(255,107,114,.13);color:var(--red)}.badge.driver-status.leave{background:rgba(255,183,74,.13);color:var(--amber)}.licence-chip,.portal-chip{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.licence-chip.ok{background:rgba(47,209,154,.10);color:var(--green)}.licence-chip.soon{background:rgba(255,183,74,.13);color:var(--amber)}.licence-chip.expired{background:rgba(255,107,114,.13);color:var(--red)}.portal-chip.active{background:rgba(47,209,154,.10);color:var(--green)}.portal-chip.inactive{background:rgba(255,107,114,.10);color:var(--red)}.driver-form-note{margin:4px 0 18px;padding:12px 14px;border:1px solid #1b3a54;background:#0a2032;border-radius:11px;color:var(--muted);font-size:11px;line-height:1.55}.driver-section-panel{margin-bottom:14px}.driver-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.driver-two-column .vehicle-panel{min-width:0}.text-danger{color:var(--red)}.text-warning{color:var(--amber)}
@media(max-width:1050px){.driver-filter-form{grid-template-columns:1fr 1fr 1fr}.driver-filter-form .search-wide{grid-column:1/-1}.driver-summary-grid{grid-template-columns:repeat(2,1fr)}.driver-two-column{grid-template-columns:1fr}}
@media(max-width:700px){.driver-filter-form{grid-template-columns:1fr}.driver-filter-form .search-wide{grid-column:auto}.driver-summary-grid{grid-template-columns:1fr}.driver-hero{grid-template-columns:1fr 1fr}.driver-two-column{grid-template-columns:1fr}}

/* ---------- Phase 12B · Primary Driver Policy ---------- */
.phase12b-main{padding-bottom:86px}.assignment-mode{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.assignment-mode.mode-assigned{background:rgba(47,209,154,.12);color:var(--green)}.assignment-mode.mode-unassigned{background:rgba(143,172,191,.12);color:#b5c9d7}.assignment-mode.mode-standby{background:rgba(74,163,255,.13);color:var(--blue)}.assignment-mode.mode-pool{background:rgba(141,114,255,.14);color:#ad9cff}.assignment-mode.mode-review-required{background:rgba(255,183,74,.14);color:var(--amber)}.assignment-inline-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;align-items:center;min-width:300px}.assignment-inline-form input,.assignment-action-form input{background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 9px;min-width:0}.assignment-action-form{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:7px;align-items:center;min-width:340px}.assignment-action-form .reassign-confirm{grid-column:1/-1;display:flex;gap:7px;align-items:center;font-size:8px;color:var(--amber);line-height:1.3}.assignment-action-form .reassign-confirm input{width:auto;margin:0}.phase12b-main .registry-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.phase12b-main .form-grid label small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}
@media(max-width:1050px){.phase12b-main .registry-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-action-form,.assignment-inline-form{min-width:260px}}
@media(max-width:700px){.phase12b-main .registry-summary{grid-template-columns:1fr}.assignment-action-form,.assignment-inline-form{grid-template-columns:1fr;min-width:220px}}

/* Phase 12C · Primary Driver / Actual Trip Driver policy */
.assignment-note.warning-note{border-left-color:var(--amber);background:rgba(255,183,74,.06)}
.assignment-note.warning-note strong{color:var(--amber)}
@media(min-width:1180px){.assignment-meta-grid{grid-template-columns:repeat(4,1fr)}}
#primaryDriverContext strong{color:var(--cyan)}
#overrideReasonWrap small{display:block;margin-top:5px;color:var(--muted);font-size:11px}

/* Phase 12F · Production master reconciliation */
.phase12f-main{padding-bottom:110px}.reconciliation-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;margin-bottom:14px}.reconciliation-readiness{margin-bottom:14px}.recon-check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.recon-check-grid>div{background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.recon-check-grid strong{color:var(--cyan);font-size:18px}.recon-check-grid span{font-size:12px;color:var(--muted)}.recon-check-grid b{font-size:18px}.recon-issue{max-width:390px;white-space:normal;line-height:1.4}.migration-warning{border:1px solid rgba(255,183,74,.38);background:rgba(255,183,74,.08);padding:12px 14px;border-radius:12px;color:#ffd08a;margin:12px 0;line-height:1.45}.source-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-compare>div{background:#0a2032;border:1px solid #1b3a54;border-radius:12px;padding:14px}.source-compare span,.source-compare small{display:block;color:var(--muted);font-size:12px}.source-compare strong{display:block;font-size:20px;margin:5px 0}.migration-form textarea{resize:vertical;min-height:90px}.form-span-2{grid-column:1/-1}.migration-form small{display:block;color:var(--muted);margin-top:5px}.badge.pending{background:rgba(255,183,74,.13);color:var(--amber)}.badge.corrected,.badge.confirmed{background:rgba(47,209,154,.12);color:var(--green)}.badge.not-applicable{background:rgba(143,172,191,.13);color:var(--muted)}
@media(max-width:1100px){.reconciliation-layout{grid-template-columns:1fr}.recon-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.recon-check-grid,.source-compare{grid-template-columns:1fr}.phase12f-main{padding-bottom:90px}}

/* ---------- Phase 13B · Client Account & Divisional Booking Portal ---------- */
.client-entry-panel{margin-top:16px;padding:14px;border:1px solid rgba(36,215,210,.24);background:rgba(36,215,210,.06);border-radius:12px;display:grid;gap:8px}.client-entry-panel strong{font-size:12px}.client-entry-panel span{font-size:10px;color:var(--muted);line-height:1.5}.client-register-shell{padding:28px 18px}.client-register-card{width:min(900px,100%);max-width:none}.client-register-form{margin-top:18px}.client-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px}.client-register-grid label{font-size:10px;color:#91b5cb;font-weight:700}.client-register-grid input,.client-register-grid select{display:block;width:100%;margin-top:6px;background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px}.client-register-grid small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}.client-login-return{text-align:center;margin-top:14px;font-size:10px;color:var(--muted)}.client-login-return a{color:var(--cyan);text-decoration:none;font-weight:700}.client-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:14px}.client-profile-summary dl{display:grid;grid-template-columns:120px 1fr;gap:9px 12px;margin:14px 0}.client-profile-summary dt{font-size:9px;color:var(--muted)}.client-profile-summary dd{margin:0;font-size:10px;font-weight:700}.client-scope-note{font-size:9px;color:var(--muted);line-height:1.6;margin:12px 0 0}.client-admin-fields{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.client-kpis .booking-kpi strong{font-size:28px}
@media(max-width:900px){.client-dashboard-grid{grid-template-columns:1fr}.client-register-grid{grid-template-columns:1fr}}

/* ---------- Phase 13C: BOM Transport Workflow ---------- */
.booking-status.submitted{background:rgba(74,163,255,.14);color:var(--blue)}
.booking-status.under-review{background:rgba(255,183,74,.14);color:var(--amber)}
.booking-status.awaiting-document{background:rgba(141,114,255,.15);color:#b8a7ff}
.booking-status.document-submitted{background:rgba(36,215,210,.13);color:var(--cyan)}
.booking-status.ready-for-assignment{background:rgba(47,209,154,.14);color:var(--green)}
.booking-status.pending{background:rgba(255,183,74,.14);color:var(--amber)}
.booking-status.verified{background:rgba(47,209,154,.14);color:var(--green)}
.booking-status.returned{background:rgba(255,107,114,.13);color:var(--red)}
.bom-progress{margin-bottom:14px;padding:16px 18px}.bom-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bom-progress-head h2{margin:2px 0 0;font-size:18px}.bom-progress-head>span{font-size:10px;color:var(--cyan);border:1px solid rgba(36,215,210,.3);background:rgba(36,215,210,.06);padding:6px 9px;border-radius:999px}.bom-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px}.bom-step{display:flex;align-items:center;gap:8px;padding:10px;background:#081b2b;border:1px solid #1b3a54;border-radius:10px;color:var(--muted);font-size:10px}.bom-step>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #355d78;font-size:9px;font-weight:800}.bom-step.active{border-color:rgba(36,215,210,.48);color:var(--text);background:rgba(36,215,210,.07)}.bom-step.active>span{border-color:var(--cyan);color:var(--cyan)}.bom-step.done{border-color:rgba(47,209,154,.22);color:#a9d8c6}.bom-step.done>span{background:rgba(47,209,154,.13);border-color:var(--green);color:var(--green)}
.bom-record-panel{margin-top:0}.bom-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bom-record-grid>div{background:#081b2b;border:1px solid #1b3a54;border-radius:11px;padding:13px}.bom-record-grid small,.bom-record-grid strong,.bom-record-grid span{display:block}.bom-record-grid small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.bom-record-grid strong{font-size:12px;margin:5px 0}.bom-record-grid span{font-size:9px;color:#7fa1b7}.bom-record-grid p{font-size:10px;color:#bdd1df;line-height:1.55;margin:9px 0 0}.decision-form input[type=file]{padding:8px;background:#081b2b;border:1px solid var(--line);border-radius:9px;color:var(--text);width:100%}.decision-form label small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45}
@media(max-width:900px){.bom-steps{grid-template-columns:1fr 1fr}.bom-record-grid{grid-template-columns:1fr}}
@media(max-width:600px){.bom-progress-head{flex-direction:column}.bom-steps{grid-template-columns:1fr}.bom-step{min-height:44px}}
.booking-overview-strip.bom-overview-strip{grid-template-columns:repeat(5,minmax(0,1fr)) auto}
@media(max-width:1250px){.booking-overview-strip.bom-overview-strip{grid-template-columns:repeat(3,1fr)}.booking-overview-strip.bom-overview-strip .new-booking-link{grid-column:auto}}
@media(max-width:700px){.booking-overview-strip.bom-overview-strip{grid-template-columns:1fr 1fr}.booking-overview-strip.bom-overview-strip .new-booking-link{grid-column:1/-1}}

/* Phase 13D — Client CSS compliance */
.css-compliance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.inline-override-form{display:flex;gap:8px;align-items:center;min-width:420px}
.inline-override-form input{flex:1;min-width:220px;background:#0c2133;border:1px solid var(--line);color:var(--text);padding:9px 10px;border-radius:9px}
.client-css-block-banner a,.css-booking-block a{color:var(--cyan);font-weight:700}
.flash-warning{background:rgba(255,183,74,.10);border:1px solid rgba(255,183,74,.38);color:#ffd79a;padding:14px 16px;border-radius:13px;margin-bottom:16px}
.booking-kpi.warn{border-color:rgba(255,107,114,.5)}
@media(max-width:1050px){.css-compliance-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.css-compliance-summary{grid-template-columns:1fr}.inline-override-form{min-width:0;flex-direction:column;align-items:stretch}.inline-override-form input{min-width:0;width:100%}}

/* ---------- Phase 15A + 15B · Map provider + booking location picker ---------- */
.phase15-main{padding-bottom:110px}
.map-provider-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.map-provider-summary .panel{padding:16px}.map-provider-summary span,.map-provider-summary small{display:block;color:var(--muted);font-size:11px}.map-provider-summary strong{display:block;font-size:22px;margin:7px 0}.map-usage-panel{margin-bottom:14px}.map-usage-meter{height:9px;background:#081b2b;border:1px solid #1b3a54;border-radius:999px;overflow:hidden;margin:12px 0}.map-usage-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:999px}.map-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.map-usage-grid>div{background:#081b2b;border:1px solid #1b3a54;border-radius:11px;padding:12px}.map-usage-grid span,.map-usage-grid strong{display:block}.map-usage-grid span{font-size:10px;color:var(--muted)}.map-usage-grid strong{font-size:18px;margin-top:5px}.map-security-note{background:rgba(36,215,210,.05);border:1px solid rgba(36,215,210,.18);border-radius:11px;padding:12px 14px}.map-security-note strong{color:var(--cyan)}.map-security-note p{color:var(--muted);font-size:11px;line-height:1.6;margin:6px 0 0}.map-security-note code{color:#d7f7f5}
.booking-location-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.location-field{position:relative}.location-field>label{display:block;font-size:12px;color:#9bb6c8;font-weight:600}.location-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:7px}.location-search-row input{margin-top:0!important}.location-search-btn{min-width:74px;padding:10px 12px}.location-results{position:absolute;z-index:1200;top:74px;left:0;right:0;background:#081b2b;border:1px solid #2d5976;border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.35);max-height:260px;overflow-y:auto}.location-results button{display:block;width:100%;border:0;border-bottom:1px solid #173b55;background:#081b2b;color:#d7e7f2;text-align:left;padding:10px 12px;font-size:11px;line-height:1.45;cursor:pointer}.location-results button:last-child{border-bottom:0}.location-results button:hover,.location-results button:focus{background:#0f3047;outline:none}.location-results button:disabled{cursor:default;color:var(--muted)}
.booking-map-shell{border:1px solid #1b3a54;border-radius:15px;background:#081b2b;overflow:hidden}.booking-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #1b3a54}.booking-map-toolbar strong,.booking-map-toolbar small{display:block}.booking-map-toolbar strong{font-size:13px}.booking-map-toolbar small{font-size:9px;color:var(--muted);margin-top:4px}.map-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.map-toolbar-actions select{background:#0a2032;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:8px 10px;font-size:11px}.map-toolbar-actions .btn.active{border-color:var(--cyan);color:var(--cyan);background:rgba(36,215,210,.1)}.booking-location-map{height:390px;min-height:300px;background:linear-gradient(135deg,#0b2133,#102d42);position:relative}.booking-location-map .map-unavailable{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}.booking-map-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 14px;color:var(--muted);font-size:10px;border-top:1px solid #1b3a54}.booking-map-legend>span{display:flex;align-items:center;gap:6px}.pin-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:2px solid #fff}.pin-dot.pickup{background:#21c77a}.pin-dot.destination{background:#ff5d68}.map-provider-status.google{color:#88c8ff}.map-provider-status.osm{color:#a4e8cf}.map-provider-status.error{color:#ff9da4}
/* Google Places suggestions should remain above the map/form. */
.pac-container{z-index:100000!important;background:#fff;color:#111}.pac-item{padding:6px 8px;cursor:pointer}.pac-item-query{font-size:13px}
@media(max-width:1150px){.map-provider-summary{grid-template-columns:repeat(2,1fr)}.map-usage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.map-provider-summary,.map-usage-grid,.booking-location-fields{grid-template-columns:1fr}.booking-map-toolbar{align-items:flex-start;flex-direction:column}.map-toolbar-actions{justify-content:flex-start;width:100%}.booking-location-map{height:330px}.location-results{top:74px}.phase15-main{padding-bottom:90px}}

/* Phase 15 map reliability patch: device location + OSM renderer helpers */
.pin-dot.device{background:#4aa3ff}
.device-location-status{margin-left:auto;color:var(--muted)}
.device-location-status.ok{color:var(--green)}
.device-location-status.warn{color:var(--amber)}
.device-location-status.error{color:var(--red)}
#myLocationBtn.locating{border-color:var(--cyan);color:var(--cyan);background:rgba(36,215,210,.10)}
.booking-location-map .leaflet-container{width:100%;height:100%}
@media(max-width:760px){.device-location-status{width:100%;margin-left:0}}

/* Phase 15 multi-trip booking */
.trip-itinerary{min-width:0}.trip-itinerary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.trip-itinerary-head h3{margin:2px 0 4px;font-size:18px}.trip-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#091d2d}.trip-entry-table{min-width:980px}.trip-entry-table th{background:#12334c;color:#dff7ff;font-size:12px}.trip-entry-table td{vertical-align:top;background:#0b2234}.trip-row{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.trip-row.active td{background:rgba(36,215,210,.08)}.trip-row.active{box-shadow:inset 4px 0 0 var(--cyan)}.trip-number{width:90px}.trip-select-btn{border:0;background:transparent;color:var(--text);font-weight:800;cursor:pointer;padding:9px 6px}.trip-location-cell{position:relative;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px;align-items:start}.trip-location-cell input,.trip-remarks-input{width:100%;background:#071c2c;border:1px solid #284963;color:var(--text);border-radius:9px;padding:10px 11px;min-height:42px}.trip-location-cell input:focus,.trip-remarks-input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 2px rgba(36,215,210,.12)}.trip-search-btn{border:1px solid #2b526d;background:#0c2a40;color:#dff7ff;border-radius:9px;padding:10px 12px;cursor:pointer;min-height:42px}.trip-search-btn:hover{border-color:var(--cyan);color:var(--cyan)}.trip-search-results{position:absolute;top:47px;left:0;right:0;z-index:80;background:#071c2c;border:1px solid var(--line);border-radius:10px;max-height:220px;overflow:auto;box-shadow:0 14px 28px rgba(0,0,0,.32)}.trip-search-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #19364d;background:transparent;color:var(--text);padding:10px 12px;cursor:pointer}.trip-search-results button:hover{background:#0d3048}.trip-remove-btn{width:38px;height:38px;border-radius:10px;border:1px solid #4a3440;background:rgba(255,107,114,.07);color:var(--red);font-size:22px;cursor:pointer}.trip-remove-btn:disabled{opacity:.25;cursor:not-allowed}.trip-route-list{display:grid;gap:10px}.trip-route-item{display:grid;grid-template-columns:70px minmax(0,1fr) 24px minmax(0,1fr) minmax(140px,.7fr);gap:12px;align-items:center;padding:12px 14px;background:#0a2032;border:1px solid #1c3a53;border-radius:12px}.trip-route-item .trip-label{font-weight:800;color:var(--cyan)}.trip-route-item small{display:block;color:var(--muted);margin-bottom:3px}.trip-route-item .route-arrow{color:var(--cyan);font-weight:900;text-align:center}.trip-route-item .trip-remark{color:var(--muted);font-size:12px}
@media(max-width:700px){.trip-itinerary-head{flex-direction:column}.trip-itinerary-head .btn{width:100%}.trip-entry-table{min-width:820px}.trip-route-item{grid-template-columns:56px 1fr 20px 1fr}.trip-route-item .trip-remark{grid-column:2/-1}}
.driver-trip-itinerary{display:grid;gap:7px;margin:10px 0 4px}.driver-trip-itinerary>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 10px;border:1px solid #21415c;border-radius:9px;background:#0a2032}.driver-trip-itinerary strong{color:var(--cyan);font-size:12px}.driver-trip-itinerary span{font-size:12px}.driver-trip-itinerary small{grid-column:2;color:var(--muted)}

/* Phase 15 multi-trip UX + passenger manifest enhancement */
.trip-search-results{z-index:3000}
.trip-entry-table td{overflow:visible}
.trip-table-wrap{overflow-x:auto;overflow-y:visible}
.route-status{color:var(--muted)}
.route-status.ok{color:var(--green)}
.route-status.warn{color:var(--amber)}
.passenger-manifest{border:1px solid var(--line);border-radius:14px;background:#091d2d;padding:14px}
.passenger-manifest-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.passenger-manifest-head h3{margin:2px 0 4px;font-size:18px}
.passenger-manifest-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.requester-passenger-toggle{display:flex!important;align-items:center;gap:8px;background:#0a2436;border:1px solid #24465f;border-radius:10px;padding:9px 11px;color:var(--text)!important;cursor:pointer}
.requester-passenger-toggle input{width:auto!important;margin:0!important}
.passenger-list{display:grid;gap:8px}
.passenger-row{display:grid;grid-template-columns:42px minmax(180px,1.15fr) minmax(140px,.75fr) minmax(170px,.9fr) 40px;gap:8px;align-items:center}
.passenger-row input{width:100%;background:#071c2c;border:1px solid #284963;color:var(--text);border-radius:9px;padding:10px 11px;min-height:42px}
.passenger-row.requester-passenger input{border-color:rgba(36,215,210,.45)}
.passenger-seq{display:grid;place-items:center;color:var(--cyan);font-weight:800;font-size:12px}
.passenger-remove-btn{width:38px;height:38px;border-radius:10px;border:1px solid #4a3440;background:rgba(255,107,114,.07);color:var(--red);font-size:22px;cursor:pointer}
.passenger-manifest-note{margin:10px 0 0;color:var(--muted);font-size:11px}.passenger-manifest-note.error{color:var(--red)}
.passenger-display-list{display:grid;gap:7px;margin-top:10px}.passenger-display-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(120px,.7fr);gap:10px;align-items:center;padding:8px 10px;border:1px solid #1d4059;border-radius:9px;background:#0a2032}.passenger-display-row .seq{color:var(--cyan);font-weight:800}.passenger-display-row small{color:var(--muted)}
@media(max-width:760px){.passenger-manifest-head{flex-direction:column}.passenger-manifest-actions{justify-content:flex-start;width:100%}.passenger-row{grid-template-columns:34px 1fr 38px}.passenger-row .passenger-contact,.passenger-row .passenger-account{grid-column:2/3}.passenger-remove-btn{grid-column:3;grid-row:1/4}.passenger-display-row{grid-template-columns:30px 1fr}.passenger-display-row small{grid-column:2}}
/* Keep trip search suggestions inside the table flow so horizontal scroll containers cannot clip them. */
.trip-search-results{position:static;grid-column:1/-1;max-height:260px;margin-top:2px}

/* Phase 15 Driver Web GPS — active device tracking every 10 seconds while Driver portal is active. */
.driver-gps-control{margin-top:12px;padding:14px;border:1px solid rgba(47,209,154,.34);border-radius:13px;background:linear-gradient(135deg,rgba(47,209,154,.08),rgba(36,215,210,.045))}.driver-gps-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.driver-gps-head h3{font-size:14px;margin:4px 0}.driver-gps-head small{display:block;color:#91afc2;font-size:9px;line-height:1.5}.driver-gps-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.driver-gps-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.driver-gps-status.active{background:rgba(47,209,154,.14);color:var(--green)}.driver-gps-status.waiting{background:rgba(255,183,74,.13);color:var(--amber)}.driver-gps-status.error{background:rgba(255,107,114,.14);color:var(--red)}.driver-gps-status.stopped{background:rgba(143,172,190,.12);color:#a8c0d0}.driver-gps-metrics{display:grid;grid-template-columns:1.4fr repeat(5,minmax(100px,.75fr));gap:8px;margin-top:12px}.driver-gps-metrics>div{padding:9px 10px;border:1px solid #1d4059;border-radius:9px;background:#081b2b}.driver-gps-metrics small,.driver-gps-metrics strong{display:block}.driver-gps-metrics small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.driver-gps-metrics strong{font-size:10px;margin-top:4px;overflow-wrap:anywhere}.driver-gps-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.driver-gps-message{font-size:9px;color:#a9c2d1;margin:9px 0 0}.driver-gps-message.success{color:#9be7cb}.driver-gps-message.error{color:#ff9ca1}.driver-gps-caveat{font-size:8px;color:#799aae;line-height:1.5;margin:5px 0 0}.driver-gps-actions [hidden]{display:none!important}
@media(max-width:1180px){.driver-gps-metrics{grid-template-columns:1fr 1fr 1fr}.driver-gps-metrics>div:first-child{grid-column:1/-1}}
@media(max-width:700px){.driver-gps-head{flex-direction:column}.driver-gps-metrics{grid-template-columns:1fr 1fr}.driver-gps-metrics>div:first-child{grid-column:1/-1}.driver-gps-actions{display:grid;grid-template-columns:1fr}.driver-gps-actions .btn{width:100%}}

/* Phase 15 Driver Evidence + Journey Replay v2.5 */
.tracking-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.trip-evidence-capture{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(36,215,210,.30);border-radius:12px;background:#081d2d}.trip-evidence-capture>div:first-child{grid-column:1/-1}.trip-evidence-capture strong,.trip-evidence-capture small{display:block}.trip-evidence-capture>div:first-child strong{font-size:12px}.trip-evidence-capture>div:first-child small{font-size:9px;color:var(--muted);line-height:1.5;margin-top:4px}.evidence-photo-label{display:grid;gap:6px;color:#b8cfdd!important;font-size:10px!important}.evidence-photo-label input{width:100%;border:1px dashed #315a73;background:#071722;padding:9px;border-radius:9px;color:var(--text)}.evidence-preview-wrap{grid-row:2/6;grid-column:2;min-height:150px;border-radius:10px;overflow:hidden;background:#061621;border:1px solid #23435b}.evidence-preview-wrap img{display:block;width:100%;height:100%;min-height:150px;max-height:230px;object-fit:cover}.evidence-gps-state{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800}.evidence-gps-state.waiting{background:rgba(255,183,74,.13);color:var(--amber)}.evidence-gps-state.ready{background:rgba(47,209,154,.14);color:var(--green)}.evidence-gps-state.error{background:rgba(255,107,114,.14);color:var(--red)}.evidence-captured-meta{font-size:9px;color:#a5bdcc;line-height:1.45}.driver-evidence-form [data-evidence-submit]:disabled{opacity:.45;cursor:not-allowed}.driver-evidence-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.evidence-history-card{display:grid;gap:3px;padding:9px 10px;border:1px solid #21445e;border-radius:10px;background:#0a2032;text-decoration:none;color:var(--text)}.evidence-history-card strong{color:var(--cyan);font-size:10px}.evidence-history-card span,.evidence-history-card small{font-size:9px;color:var(--muted)}

.tracking-replay{margin-top:10px;padding:11px 12px;border:1px solid #21435b;border-radius:11px;background:#081b2b}.replay-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.replay-toolbar label{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.replay-toolbar select{background:#071722;color:var(--text);border:1px solid #2b4f68;border-radius:8px;padding:6px 8px}.replay-toolbar>span{margin-left:auto;font-size:9px;color:#91afc2}.replay-slider{width:100%;margin:11px 0 5px;accent-color:var(--cyan)}.replay-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:var(--muted)}.replay-meta strong{color:#c8eef2}.route-line-replay{fill:none;stroke:#ffb74a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,183,74,.45))}.live-marker.replay-marker span{background:#ffb74a;box-shadow:0 0 0 8px rgba(255,183,74,.18),0 4px 15px rgba(0,0,0,.4)}.live-marker.replay-marker b{border-color:rgba(255,183,74,.45);color:#ffd89b}

.trip-evidence-panel{margin-bottom:14px}.trip-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trip-evidence-card{border:1px solid #21435b;border-radius:13px;overflow:hidden;background:#081b2b}.evidence-photo-frame{position:relative;min-height:220px;background:#06141f}.evidence-photo-frame>img{display:block;width:100%;height:280px;object-fit:cover}.evidence-stamp{position:absolute;left:10px;right:10px;bottom:10px;padding:9px 10px;border-radius:9px;background:rgba(3,14,23,.84);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(5px)}.evidence-stamp strong,.evidence-stamp span{display:block}.evidence-stamp strong{font-size:10px;color:#fff}.evidence-stamp span{font-size:9px;color:#d2e4ee;margin-top:3px}.evidence-card-meta{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:11px}.evidence-card-meta strong{font-size:11px}.evidence-card-meta span{grid-column:1;font-size:9px;color:var(--muted)}.evidence-card-meta .btn{grid-column:2;grid-row:1/3}

.client-tracking-list{display:grid;gap:8px}.client-tracking-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(160px,.65fr) minmax(220px,.8fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid #1d4059;border-radius:11px;background:#0a2032}.client-tracking-row>div{display:grid;gap:4px}.client-tracking-row>div:nth-child(2){justify-items:start}.client-tracking-row>div:last-child{justify-items:end}.client-tracking-row strong{font-size:11px}.client-tracking-row small{font-size:9px;color:var(--muted)}

@media(max-width:1250px){.tracking-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.trip-evidence-grid{grid-template-columns:1fr}.client-tracking-row{grid-template-columns:1fr}.client-tracking-row>div:last-child{justify-items:start}.trip-evidence-capture{grid-template-columns:1fr}.evidence-preview-wrap{grid-column:1;grid-row:auto}.driver-evidence-history{grid-template-columns:1fr}}
@media(max-width:700px){.tracking-kpi-grid{grid-template-columns:1fr 1fr}.replay-toolbar>span{width:100%;margin-left:0}.replay-meta{flex-direction:column}.evidence-photo-frame>img{height:220px}}
@media(max-width:480px){.tracking-kpi-grid{grid-template-columns:1fr}}

/* ===== Phase 26 management light theme ===== */
html[data-theme="light"] {
 --bg:#fff;--sidebar:#080b12;--panel:#fff;--panel2:#f5f8fb;--line:#d7e0ea;
 --text:#172437;--muted:#61738a;--cyan:#007e86;--blue:#155eb4;--green:#0b7e57;
 --amber:#9b5d05;--red:#bf3d43;--purple:#6952bc;
 color-scheme:light;
}
html[data-theme="light"] body,html[data-theme="light"] body.login-page{
 background:#fff!important;color:var(--text);
}
html[data-theme="light"] :is(.sidebar,.website-signature){background:#080b12!important;color:#f8fbff!important;border-color:#212735!important}
html[data-theme="light"] .sidebar :is(.brand strong,.nav a,.sidebar-user-copy strong){color:#f8fbff!important}
html[data-theme="light"] .sidebar :is(.brand span,.sidebar-user-copy span,.sidebar-footer,.logout-link){color:#a9b3c4!important}
html[data-theme="light"] .sidebar .nav a.active,
html[data-theme="light"] .sidebar .nav a:hover{color:#fff!important;background:#1b293b!important;border:1px solid #33516f!important}
html[data-theme="light"] :is(.panel,.kpi-card,.login-card,.booking-kpi,.booking-hero,.driver-trip-card,.driver-gps-panel,.client-tracking-row,.client-journey-tracking,.trip-itinerary,.booking-map-shell,.booking-map-toolbar,.booking-map-legend,.trip-table-wrap,.trip-entry-table td,.trip-entry-table th,.trip-route-item,.trip-search-results,.passenger-manifest,.passenger-row,.client-profile-summary,.driver-route,.driver-trip-meta>div,.metric-block,.alert-row,.form-panel,.detail-card,.bom-step,.booking-status-history,.decision-panel,.css-compliance-summary .kpi-card,.upcoming-booking-card,.vehicle-panel,.timeline-panel,.driver-evidence-history,.booking-grid-item,.registry-summary,.form-section,.tracking-board,.tracking-stat,.login-page .login-card,.booking-map-shell) {
 background:#fff!important;background-image:none!important;border-color:#d7e0ea!important;color:#172437;
 box-shadow:0 2px 12px rgba(30,53,83,.055);
}
html[data-theme="light"] :is(.booking-hero-metrics>div,.booking-kpi-grid .booking-kpi,.trip-entry-table th,.form-section:nth-child(even),.trip-row.active td,.passenger-row,.booking-map-toolbar,.booking-map-legend,.trip-route-item,.kpi-card.alert,.metric-block,.alert-row,.driver-route,.driver-trip-meta>div,.bom-step,.trip-entry-table th,.driver-gps-panel,.booking-filter-form,.trip-search-results button:hover) {
 background:#f3f7fb!important;color:#172437!important;
}
html[data-theme="light"] :is(input,select,textarea,.form-grid input,.form-grid select,.form-grid textarea,.topbar input,.booking-form input,.booking-form select,.booking-form textarea,.trip-location-cell input,.trip-remarks-input,.map-toolbar-actions select,.client-register-grid input,.client-register-grid select,.driver-start-form input,.driver-complete-form input,.inline-action input,.completion-grid input,.completion-grid textarea,.maintenance-action-form input,.trip-search-btn,.trip-search-results,.trip-search-results button,.filter,.btn-secondary,.sidebar-theme .theme-switch){
 background:#fff!important;color:#172437!important;border-color:#bfcddd!important;
}
html[data-theme="light"] :is(input,textarea)::placeholder{color:#7c8da0!important}
html[data-theme="light"] :is(input,select,textarea):focus-visible{outline:2px solid #006fa3;outline-offset:1px}
html[data-theme="light"] :is(.btn-primary,.booking-kpi.approved,.filter.active){background:#1665b4!important;background-image:none!important;color:#fff!important;border-color:#12569e!important}
html[data-theme="light"] .btn-secondary{background:#eef3f8!important;color:#153d64!important;border:1px solid #c6d5e3!important}
html[data-theme="light"] .btn-danger{background:#bd3742!important;color:#fff!important}
html[data-theme="light"] .eyebrow,html[data-theme="light"] a.text-link,html[data-theme="light"] .trip-label{color:#007e86!important}
html[data-theme="light"] :is(.muted,.section-help,.client-scope-note,.trip-remark,.panel small,.kpi-card span,.kpi-card small,.booking-map-legend,.passenger-manifest-note,.passenger-display-row small,.driver-route small,.trip-route-item small,.booking-kpi span,.booking-kpi small,.client-profile-summary dt, .booking-map-toolbar small,.driver-gps-message){color:#607187!important}
html[data-theme="light"] :is(th,td){border-color:#e0e7ef!important}
html[data-theme="light"] th{color:#3b526b!important;background:#f0f5f9!important}
html[data-theme="light"] tbody tr:hover{background:#eff7fd!important}
html[data-theme="light"] .trip-entry-table td{background:#fff!important}
html[data-theme="light"] .trip-row.active td{background:#e8f5f8!important}
html[data-theme="light"] .trip-search-results{box-shadow:0 14px 30px rgba(21,39,58,.15)!important}
html[data-theme="light"] :is(.flash-success,.success-note){background:#e9f7ef!important;color:#0b684c!important;border-color:#a9dbc4!important}
html[data-theme="light"] :is(.flash-error,.warning-note){background:#fff1f2!important;color:#9d2934!important;border-color:#f4b8bd!important}
html[data-theme="light"] :is(.flash-warning,.assignment-note.warning-note){background:#fff8e8!important;color:#865b15!important;border-color:#edd092!important}
html[data-theme="light"] .sidebar-theme .theme-switch{background:#142335!important;color:#e9f4ff!important;border-color:#314d68!important}
html[data-theme="light"] .website-signature{box-shadow:none}
html[data-theme="light"] .booking-location-map,html[data-theme="light"] #bookingMap{background:#e7f0f6!important}
.theme-switch{font:inherit;font-size:12px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;border-radius:9px;border:1px solid #395b71;background:#102c3e;color:#f1f9ff;padding:9px 12px}
.sidebar-theme{padding:12px 8px 3px;display:grid;gap:6px}
.sidebar-theme small{font-size:10px;color:#a4b4c4}
.theme-switch-guest{position:fixed;top:12px;right:16px;z-index:50}
html[data-theme="light"] .theme-switch-guest{background:#eef3f8!important;color:#173c62!important;border-color:#bdcddc!important}
/* Keep sidebar readable independent of the main theme. */
html[data-theme="light"] .sidebar :is(.theme-switch,.sidebar-theme .theme-switch){background:#17283a!important;color:#f5fbff!important;border-color:#3b5369!important}

/* Secondary module surfaces in the light theme. */
html[data-theme="light"] :is(.dispatch-kpi,.booking-overview-strip>a,.bom-overview-strip>a,.registry-summary>div,.dispatch-card,.dispatch-allocation,.driver-evidence-capture,.trip-evidence-capture,.passenger-display-row,.booking-timeline,.timeline-event,.assignment-note,.booking-detail-layout .detail-card,.form-grid>div,.filter-form,.client-entry-panel,.booking-hero-metrics>div,.driver-gps-meta>div,.gps-metric,.tracking-data-card,.map-container,.client-tracking-list,.driver-gps-card) {
 background:#f7faff!important;background-image:none!important;border-color:#d6e1eb!important;color:#172437!important;
}
html[data-theme="light"] .booking-overview-strip{background:#d7e0ea!important;border-color:#d7e0ea!important}
html[data-theme="light"] :is(.dispatch-kpi,.booking-overview-strip>a,.registry-summary>div) :is(span,small){color:#5f738a!important}
html[data-theme="light"] :is(.dispatch-kpi,.booking-overview-strip>a,.registry-summary>div) strong{color:#132e4d!important}
html[data-theme="light"] :is(.trip-search-btn,.trip-search-results button){background:#f5f9fc!important;color:#234963!important}
html[data-theme="light"] .btn-secondary:hover{background:#d9e9f5!important}
html[data-theme="light"] .btn-primary:hover{background:#0d539b!important}

/* ===== Client portal embedded CSS survey ===== */
.client-css-survey-panel{margin-top:14px}.client-css-survey-panel .panel-head{align-items:flex-start}.client-css-survey-panel .panel-head h2{font-size:28px;margin:5px 0 8px}.client-css-survey-panel .survey-brand{margin-bottom:18px}.client-css-survey-panel .survey-submit{min-width:220px}.css-inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}

/* Survey light theme support (standalone + embedded) */
html[data-theme="light"] .survey-page{background:#fff!important}
html[data-theme="light"] :is(.survey-card,.client-css-survey-panel){background:#fff!important;background-image:none!important;border-color:#d7e0ea!important;color:#172437!important;box-shadow:0 2px 12px rgba(30,53,83,.055)}
html[data-theme="light"] .survey-brand span,
html[data-theme="light"] .survey-scale-note,
html[data-theme="light"] .survey-privacy,
html[data-theme="light"] .survey-text-field,
html[data-theme="light"] .survey-trip-summary small,
html[data-theme="light"] .survey-trip-summary span,
html[data-theme="light"] .survey-thanks p,
html[data-theme="light"] .survey-state p,
html[data-theme="light"] .survey-journey-choices small,
html[data-theme="light"] .survey-journey-choices span,
html[data-theme="light"] .low-score-inline p{color:#607187!important}
html[data-theme="light"] .survey-card h1,
html[data-theme="light"] .client-css-survey-panel .panel-head h2,
html[data-theme="light"] .survey-brand strong,
html[data-theme="light"] .survey-trip-summary strong,
html[data-theme="light"] .survey-thanks h1,
html[data-theme="light"] .survey-state h1,
html[data-theme="light"] .rating-row legend,
html[data-theme="light"] .survey-journey-choices strong{color:#172437!important}
html[data-theme="light"] .survey-trip-summary{background:#d7e0ea!important;border-color:#d7e0ea!important}
html[data-theme="light"] .survey-trip-summary>div,
html[data-theme="light"] .survey-journey-choices a{background:#f7faff!important;border-color:#d6e1eb!important;color:#172437!important}
html[data-theme="light"] .rating-row{border-bottom-color:#dbe4ed!important}
html[data-theme="light"] .rating-options span{background:#fff!important;border-color:#bfcddd!important;color:#38516b!important}
html[data-theme="light"] .rating-options input:checked+span{background:#1665b4!important;border-color:#12569e!important;color:#fff!important;box-shadow:0 0 0 2px rgba(22,101,180,.14)!important}
html[data-theme="light"] .low-score-inline{background:#fff8e8!important;border-color:#edd092!important}
html[data-theme="light"] .low-score-inline strong{color:#865b15!important}
html[data-theme="light"] .css-dialog{background:#fff!important;color:#172437!important;border-color:#d7e0ea!important;box-shadow:0 24px 80px rgba(30,53,83,.18)!important}
html[data-theme="light"] .css-dialog p{color:#607187!important}
html[data-theme="light"] .dialog-icon{background:#fff2cc!important;color:#9b5d05!important}
html[data-theme="light"] .survey-check{background:#e9f7ef!important;border-color:#a9dbc4!important;color:#0b684c!important}
@media(max-width:700px){.css-inline-actions{flex-direction:column;align-items:stretch}.client-css-survey-panel .panel-head{flex-direction:column}.client-css-survey-panel .panel-head .btn{width:100%}.client-css-survey-panel .survey-submit{width:100%}}

/* Phase 26.2: WCAG-aware high-contrast CSS journey summary and low-score dialog.
   Keep these dark-blue surfaces readable in both light and dark themes. */
.survey-trip-summary{background:#37536a!important;border-color:#37536a!important}
.survey-trip-summary>div{background:#0b263d!important;color:#ffffff!important}
.survey-trip-summary small{font-size:12px;line-height:1.4;color:#c2d5e7!important}
.survey-trip-summary strong{font-size:15px;line-height:1.4;color:#ffffff!important;font-weight:800}
.survey-trip-summary span{font-size:12px;line-height:1.5;color:#e0edfa!important;overflow-wrap:anywhere}
.css-dialog{background:#10283c!important;color:#ffffff!important;border-color:#3f6c8a!important}
.css-dialog h2{color:#ffffff!important;font-size:21px;line-height:1.3}
.css-dialog p{color:#e0edfa!important;font-size:13px;line-height:1.6}
.css-dialog .dialog-icon{background:#3b4550!important;color:#ffbf47!important}
html[data-theme="light"] .survey-trip-summary{background:#37536a!important;border-color:#37536a!important}
html[data-theme="light"] .survey-trip-summary>div{background:#0b263d!important;color:#ffffff!important}
html[data-theme="light"] .survey-trip-summary small{color:#c2d5e7!important}
html[data-theme="light"] .survey-trip-summary strong{color:#ffffff!important}
html[data-theme="light"] .survey-trip-summary span{color:#e0edfa!important}
html[data-theme="light"] .css-dialog{background:#10283c!important;color:#ffffff!important;border-color:#3f6c8a!important}
html[data-theme="light"] .css-dialog h2{color:#ffffff!important}
html[data-theme="light"] .css-dialog p{color:#e0edfa!important}
html[data-theme="light"] .css-dialog .dialog-icon{background:#3b4550!important;color:#ffbf47!important}
/*
 * JKRS Fleet v2.6.3 — site-wide light-theme contrast reconciliation.
 * Scope: management, CSS, tracking, dispatch, registry, maintenance,
 * safety, fuel, procurement, reporting and audit modules.
 * Dark sidebar, navigation map, vehicle QR artwork, photo-evidence stamps,
 * and the accessible dark CSS popup/vehicle summary are intentionally retained.
 */

/* 1. Module primary surfaces: do not inherit dark gradients in light theme. */
html[data-theme="light"] :is(
  .css-kpi,.tracking-kpi,.management-kpi-grid article,
  .tracking-card,.fuel-card-item,.recovery-card,
  .procurement-project-card,.resource-card,.assignment-card,
  .defect-card,.job-card,.safety-action-card,.risk-card,
  .report-export-grid a,.css-low-list a
) {
  background:#fff!important;
  background-image:none!important;
  color:#172437!important;
  border-color:#d4e0eb!important;
  box-shadow:0 2px 12px rgba(30,53,83,.06);
}
html[data-theme="light"] :is(.tracking-card:hover,.procurement-project-card:hover,.job-card:hover,.report-export-grid a:hover,.css-low-list a:hover){
  background:#f1f7fd!important;border-color:#9abedc!important;
}

/* 2. Nested statistic/overview cards. */
html[data-theme="light"] :is(
  .css-period-label,.css-rank-list>div,.css-response-hero>div,
  .css-report-kpis>div,.css-summary-grid article,
  .tracking-context-grid>div,.tracking-route-mini,
  .telemetry-grid>div,.telemetry-coords,.session-meta span,
  .management-metrics>div,.recovery-summary-grid article,
  .dispatch-cost-strip>div,.asset-maintenance-grid>div,
  .driver-trip-itinerary>div,.driver-safety-brief>div,.driver-gps-metrics>div,
  .assignment-meta-grid>div,.recon-check-grid>div,
  .safety-case-metrics>div,.audit-change-list>div,
  .health-list>div,.checklist-list>div,.deployment-check-grid>div,
  .source-compare>div,.proc-side-list a,.bom-record-grid>div,
  .fuel-card-item .progress,.driver-form-note,.demo-accounts,
  .location-results button,.year-links a,.evidence-history-card,
  .recovery-summary-grid .total,.tracking-replay
){
  background:#f5f8fc!important;
  background-image:none!important;
  color:#172437!important;
  border-color:#d4e0eb!important;
}
html[data-theme="light"] :is(.tracking-context-grid>div,.telemetry-grid>div,.telemetry-coords,.management-metrics>div,.css-rank-list>div,.css-summary-grid article,.driver-gps-metrics>div,.health-list>div,.audit-change-list>div){box-shadow:none!important}

/* 3. Jump-links / strips across application modules. */
html[data-theme="light"] :is(
  .css-overview-strip a,.tracking-overview-strip a,
  .finance-overview-strip a,.maintenance-overview-strip a,
  .procurement-overview-strip>a
){background:#f5f8fc!important;background-image:none!important;color:#17344f!important;border-color:#d4e0eb!important}
html[data-theme="light"] :is(
  .css-overview-strip .css-link,.tracking-overview-strip .tracking-link,
  .finance-overview-strip .finance-link,.maintenance-overview-strip .maintenance-link,
  .procurement-overview-strip .procurement-link
){background:#e4f4f8!important;background-image:none!important;color:#096a79!important}
html[data-theme="light"] :is(.css-overview-strip a:hover,.tracking-overview-strip a:hover,.finance-overview-strip a:hover,.maintenance-overview-strip a:hover,.procurement-overview-strip>a:hover){border-color:#89b5d0!important}

/* 4. Report/chart/section descriptions that previously used pale text on navy. */
html[data-theme="light"] :is(
  .css-kpi span,.css-kpi small,.tracking-kpi span,.tracking-kpi small,
  .management-kpi-grid span,.management-kpi-grid small,
  .css-period-label span,.css-criterion-head span,.css-low-list p,
  .css-response-hero small,.css-response-hero span,
  .css-summary-grid p,.css-report-kpis span,.css-qr-info span,
  .css-rank-list small,.recovery-card p,.tracking-event p,
  .tracking-token-callout p,.tracking-token-callout small,
  .procurement-card-meta,.report-export-grid small,
  .recovery-summary-grid article small,.driver-form-note,
  .audit-change-list span,.tracking-route-mini,.tracking-card small
){color:#526b83!important}
html[data-theme="light"] :is(.css-kpi strong,.tracking-kpi strong,.management-kpi-grid strong,.css-period-label strong,.css-report-kpis strong,.css-response-hero strong,.css-summary-grid h3,.css-rank-list span,.css-low-list strong,.tracking-card strong,.tracking-route-mini span,.management-metrics strong){color:#132d49!important}
html[data-theme="light"] :is(.css-kpi.warn strong,.tracking-kpi.warn strong){color:#ad313e!important}
html[data-theme="light"] .tracking-kpi.live strong{color:#0b7955!important}
html[data-theme="light"] :is(.css-criterion-head strong,.css-rank-list strong,.css-response-hero .css-score-large){color:#007883!important}

/* 5. Warning blocks: warning semantics without dark backgrounds. */
html[data-theme="light"] :is(.css-followup-detail,.css-safety-note,.safety-action-card.overdue,.audit-change-list>div.changed){
  background:#fff6ed!important;background-image:none!important;border-color:#efca9f!important;color:#5d3b20!important;
}
html[data-theme="light"] :is(.css-followup-detail p:last-child,.css-safety-note,.css-safety-note strong){color:#775022!important}

/* 6. Map and telemetry support elements that aren't image content. */
html[data-theme="light"] .tracking-token-callout{
  background:#eaf7fa!important;background-image:none!important;border-color:#aad7e0!important;color:#16394e!important;
}
html[data-theme="light"] .tracking-token-callout code{background:#fff!important;color:#115d6c!important;border-color:#a8ccd5!important}
html[data-theme="light"] .session-meta b{color:#172437!important}
html[data-theme="light"] .tracking-route-mini i{color:#007e86!important}
html[data-theme="light"] .tracking-card .coord-line{color:#526b83!important}
html[data-theme="light"] .css-score-bar{background:#e5ecf4!important}
html[data-theme="light"] .css-score-dots i{background:#e5ecf4!important;border-color:#aec2d6!important}
html[data-theme="light"] .css-score-dots i.on{background:#007e86!important;border-color:#007e86!important}
html[data-theme="light"] .procurement-progress,
html[data-theme="light"] .budget-progress,
html[data-theme="light"] .progress{background:#e5ecf4!important}

/* 7. All module-specific inputs, not just the shared generic input styles. */
html[data-theme="light"] :is(
  .safety-filter input,.safety-filter select,.phase11-form input,.phase11-form select,
  .procurement-filter input,.procurement-filter select,.stage-update-form input,.stage-update-form select,
  .report-filter input,.report-filter select,.audit-filter input,.audit-filter select,
  .inline-note-form input,.complete-trip-form input,.assignment-inline-form input,
  .assignment-action-form input,.inline-override-form input,.replay-toolbar select,
  .decision-form input[type=file],.evidence-photo-label input
){background:#fff!important;color:#172437!important;border-color:#bfcddd!important}

/* 8. Contrast-safe buttons, status pills and small overlays. */
html[data-theme="light"] :is(.proc-side-list a:hover,.year-links a:hover,.location-results button:hover){background:#e9f3fb!important}
html[data-theme="light"] :is(.css-qr-status.inactive,.css-qr-status.missing,.signal-chip.paused,.signal-chip.ended,.signal-chip.not-enabled,.driver-gps-status.stopped){color:#526b83!important}
html[data-theme="light"] :is(.tracking-card .signal-chip.live,.tracking-card .signal-chip.delayed,.tracking-card .signal-chip.stale){background-image:none!important}
html[data-theme="light"] :is(.form-callout,.good-callout,.resource-good,.commission-readiness){color:#17344f!important;border-color:#b8d4df!important}

/* Explicitly preserve dark-blue text-on-photo/evidence treatments and survey contrast fixes. */
html[data-theme="light"] .survey-trip-summary>div{background:#0b263d!important;color:#fff!important}
html[data-theme="light"] .survey-trip-summary strong{color:#fff!important}
html[data-theme="light"] .css-dialog{background:#10283c!important;color:#fff!important}
html[data-theme="light"] .css-dialog h2{color:#fff!important}
html[data-theme="light"] .css-dialog p{color:#e0edfa!important}
html[data-theme="light"] .evidence-stamp{background:rgba(3,14,23,.84)!important;color:#fff!important}
html[data-theme="light"] .evidence-stamp strong{color:#fff!important}
html[data-theme="light"] .evidence-stamp span{color:#d2e4ee!important}
/* Branding/QR print artwork and the black sidebar remain independent of the light palette. */

/* 9. Remaining legacy operational forms and evidence-card shells. */
html[data-theme="light"] :is(
 .cost-nav-strip a,.toggle-field,.approval-result,.form-callout,
 .commission-readiness,.module-chip-grid span,.requester-passenger-toggle,
 .trip-evidence-card,.approval-note,.assignment-mode
){background:#f5f8fc!important;background-image:none!important;color:#172437!important;border-color:#d4e0eb!important}
html[data-theme="light"] :is(.cost-nav-strip a:hover,.cost-nav-strip a.active){background:#e4f4f8!important;color:#096a79!important}
html[data-theme="light"] .trip-evidence-card .evidence-photo-frame{background:#06141f!important}
html[data-theme="light"] :is(.module-chip-grid span,.approval-note,.form-callout){color:#35516b!important}

/* Phase 2.6.4 registry actions */
.inline-delete-form{display:inline-flex;margin-left:6px}.table-actions{white-space:nowrap}.table-actions .btn{margin:2px}.registry-transfer-card{max-width:860px}.registry-transfer-note{padding:12px 14px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text)}

/* Phase 26.5 – inline journey map, GPS route and user-account filtering */
.driver-planned-map-section,.client-live-mini-map-wrap{border:1px solid var(--line);border-radius:13px;padding:12px;margin-top:13px;background:var(--panel2);min-width:0}
.driver-map-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-bottom:10px;color:var(--text)}
.driver-map-head strong{font-size:13px}.driver-map-head span{font-size:11px;color:var(--muted)}
.fleet-journey-mini-map{width:100%;height:275px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#e8f0eb;isolation:isolate}
.mini-map-tiles{position:absolute;inset:0;z-index:0;overflow:hidden}.mini-map-tiles img{position:absolute;display:block;width:256px;height:256px;max-width:none;pointer-events:none;user-select:none}
.mini-map-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}
.mini-planned-line{fill:none;stroke:#156cc5;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke;filter:drop-shadow(0 1px 1px #fff)}
.mini-actual-line{fill:none;stroke:#079477;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px white)}
.mini-map-start{fill:#1377bb;stroke:#fff;stroke-width:2.5}.mini-map-end{fill:#bd5039;stroke:#fff;stroke-width:2.5}.mini-map-now{fill:#079477;stroke:#fff;stroke-width:2.5}
.mini-map-marker-label{font-size:10px;font-weight:800;fill:#fff}.mini-map-footnote{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin:9px 0 0}
.mini-map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:#e7eef3;color:#314866;font-size:13px;text-align:center}
.client-live-mini-map-wrap{margin-top:12px}
.users-filter-panel{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px}
.users-filter-panel label{font-size:11px;display:grid;gap:6px;min-width:195px;flex:1;color:var(--muted)}
.users-filter-panel select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text)}
.users-filter-panel small{font-size:11px;color:var(--muted)}
html[data-theme="light"] :is(.driver-planned-map-section,.client-live-mini-map-wrap,.users-filter-panel){background:#f7faff!important;border-color:#d6e1eb!important;color:#172437!important}
html[data-theme="light"] .driver-map-head strong{color:#172437!important}
html[data-theme="light"] .driver-map-head span,html[data-theme="light"] .mini-map-footnote{color:#607187!important}
@media(max-width:700px){.fleet-journey-mini-map{height:235px}.users-filter-panel{align-items:stretch}.users-filter-panel label{min-width:100%}}


/* ===== Branding assets: JKR Sarawak + We Build for You ===== */
.page-branding{display:grid;justify-items:center;gap:8px;pointer-events:none}.page-branding img{display:block;max-width:100%;height:auto}.page-branding-logo{width:min(190px,100%)}.page-branding-tagline{width:min(250px,100%)}
.login-page-branding{margin:0 auto 14px;padding-top:2px}.login-page-branding .page-branding-logo{width:min(165px,78%)}.login-page-branding .page-branding-tagline{width:min(255px,92%)}
.sidebar-page-branding{padding:14px 12px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.sidebar-page-branding .page-branding-logo{width:128px}.sidebar-page-branding .page-branding-tagline{width:205px}
.sidebar .brand{padding-top:4px}
html[data-theme="light"] .sidebar-page-branding{border-bottom-color:rgba(255,255,255,.10)}
@media (max-width:900px){.sidebar-page-branding .page-branding-logo{width:112px}.sidebar-page-branding .page-branding-tagline{width:185px}}


/* v2.6.10 — single route, stacked pickup/destination + distinct remarks */
.trip-route-stack{display:block;min-width:0;border:1px solid var(--line);border-radius:14px;overflow:visible;background:var(--panel2)}
.trip-route-stack .trip-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0;box-shadow:none!important;cursor:default}
.trip-route-stack .trip-point-section{min-width:0;padding:18px 20px;border-bottom:1px solid var(--line)}
.trip-route-stack .trip-point-section:last-of-type{border-bottom:0}
.trip-point-heading{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;margin-bottom:9px;color:var(--text)}
.point-letter{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);font-size:12px}
.point-letter.pickup{color:#059963;background:rgba(15,145,96,.11)}.point-letter.destination{color:#d55459;background:rgba(205,75,82,.11)}
.trip-route-stack .trip-location-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;position:relative}
.trip-route-stack .trip-location-cell input{min-width:0;font-size:14px}
.trip-route-stack .trip-location-cell .trip-search-results{grid-column:1/-1;max-height:260px;position:static;min-width:0}
.trip-route-stack .trip-location-cell .trip-search-results[hidden]{display:none}
.point-hint{display:block;font-size:11px;color:var(--muted);margin:7px 0 10px;line-height:1.5}
.trip-point-remark-label{display:grid;gap:7px;margin-top:13px;color:var(--text);font-weight:700;font-size:12px}
.trip-point-remark-label input{width:100%;min-height:43px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:14px;font-weight:400}
.route-remarks-detail{display:grid;gap:8px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.route-remarks-detail>div{display:grid;gap:2px}.route-remarks-detail small{color:var(--muted);font-size:11px}.route-remarks-detail span{color:var(--text)}
.trip-route-item .route-remarks-detail{min-width:0}
.driver-trip-itinerary .route-remarks-detail{margin-top:5px}
html[data-theme="light"] .trip-route-stack{background:#f5f9fc!important;border-color:#d7e0ea!important}
html[data-theme="light"] .trip-route-stack .trip-point-section{border-color:#d7e0ea!important}
html[data-theme="light"] .trip-point-heading{color:#172437!important}
html[data-theme="light"] .trip-point-remark-label input{background:#fff!important;color:#172437!important;border-color:#bfcddd!important}
@media(max-width:700px){.trip-route-stack .trip-point-section{padding:14px 12px}.trip-route-stack .trip-location-cell{grid-template-columns:minmax(0,1fr) auto}.trip-route-stack .trip-search-btn{padding:9px}}

/* Phase 2.7.1: overnight stop and dispatch substitute */
.btn-trip-pause{background:#e6a11a!important;color:#181b20!important;border:1px solid #b97c0f!important}
.btn-trip-resume{background:#118449!important;color:#fff!important;border:1px solid #086435!important}
.overnight-pause-panel{border:1px solid #e0b249;border-radius:14px;padding:18px;margin:12px 0;background:rgba(230,161,26,.09)}
.overnight-pause-panel h3{margin:4px 0 8px}.overnight-pause-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:14px;border:1px solid #e0b249;border-radius:12px;margin-bottom:12px}
.overnight-pause-form label{flex:1 1 290px}.overnight-pause-form input{width:100%;margin-top:6px}
.driver-replacement-panel{margin:12px 0;padding:13px;border:1px solid var(--line);border-radius:11px}.driver-replacement-panel summary{cursor:pointer;font-weight:700}
.driver-replacement-form{display:grid;gap:12px;margin-top:12px}.driver-replacement-form select,.driver-replacement-form textarea{width:100%;margin-top:5px}
html[data-theme="light"] .overnight-pause-panel{background:#fff9e9!important;color:#25211a!important;border-color:#e0b249!important}
@media(max-width:650px){.overnight-pause-form{display:grid}.btn-trip-pause,.btn-trip-resume{width:100%}}

/* ===== FMS 2.7.2: External Internal JKR / VVIP CSS ===== */
.external-mode-box{border:1px solid var(--line);padding:15px;border-radius:12px;background:var(--panel2);display:grid;gap:12px}
.external-mode-box label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;cursor:pointer}
.external-mode-box input[type=radio]{width:auto;accent-color:var(--blue)}
.external-recipient-fields{border:1px solid var(--line);padding:16px;border-radius:12px;background:var(--panel2)}
.external-recipient-fields[hidden]{display:none!important}
.external-recipient-summary{margin-bottom:14px}.external-recipient-summary h2{margin:8px 0}
.external-css-dashboard{margin:14px 0}.external-css-summary,.external-css-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.external-css-dashboard-grid{margin-bottom:0}
.external-css-dashboard-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.external-css-dashboard-grid span{display:block;font-size:12px;color:var(--muted)}.external-css-dashboard-grid strong{font-size:26px;display:block;margin-top:5px}
.external-css-summary a{text-decoration:none;color:var(--text)}
.external-css-list{display:grid;gap:12px}.external-css-case{border:1px solid var(--line);background:var(--panel2);border-radius:13px;padding:15px}
.external-css-case-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.external-css-case-head strong{font-size:14px}.external-css-case-head p{margin:7px 0;color:var(--text);font-size:12px}
.external-css-status{display:inline-block;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;border:1px solid currentColor}
.external-css-status.pending{color:var(--amber)}.external-css-status.overdue{color:var(--red)}.external-css-status.submitted{color:var(--green)}
.external-css-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px}
.external-css-share-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.external-css-share-form label{font-size:11px;color:var(--muted);font-weight:650;display:grid;gap:5px}
.external-css-share-form input{border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--panel);color:var(--text);min-width:160px}
.external-css-done{font-size:12px;color:var(--green);margin:12px 0 0}
.external-survey-context{display:grid;gap:6px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);margin:10px 0 18px}
.external-survey-context strong{font-size:15px}.external-survey-context span{font-size:12px;color:var(--muted)}
.external-survey-respondent{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.external-survey-respondent select{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel);color:var(--text)}
html[data-theme="light"] :is(.external-css-case,.external-mode-box,.external-recipient-fields,.external-css-dashboard-grid>div,.external-survey-context){background:#f7faff!important;color:#172437!important;border-color:#d6e1eb!important}
html[data-theme="light"] :is(.external-css-case p,.external-css-case strong,.external-survey-context strong,.external-css-status,.external-mode-box label){color:inherit}
html[data-theme="light"] .external-css-status.pending{color:#865b15!important}
html[data-theme="light"] .external-css-status.overdue{color:#a32b3b!important}
html[data-theme="light"] .external-css-status.submitted{color:#0b684c!important}
@media(max-width:900px){.external-css-summary,.external-css-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.external-css-summary,.external-css-dashboard-grid,.external-survey-respondent{grid-template-columns:1fr}.external-css-share-form{align-items:stretch}.external-css-share-form input{width:100%}.external-css-actions{align-items:stretch;flex-direction:column}}

/* v2.7.3 — Official Transport Request (Punca Kuasa) attachments */
.punca-upload{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);min-width:0}
.punca-file-label{font-weight:800;font-size:13px;color:var(--text)}
.punca-upload input[type=file]{display:block;width:100%;max-width:100%;border:1px dashed var(--line);border-radius:9px;padding:12px;background:var(--panel);color:var(--text);font-size:13px}
.punca-upload .section-help{margin:0;max-width:850px}
.punca-upload-status{white-space:pre-line;padding:11px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.punca-upload-error{border-color:#dc5c66!important;color:#b52937!important;background:#fff0f1!important}
.punca-existing{display:grid;gap:8px;margin-top:6px}
.punca-existing-item{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.punca-existing-item a{overflow-wrap:anywhere;min-width:100px;flex:1;color:var(--blue)}
.punca-existing-item small{color:var(--muted)}
.punca-existing-item span{display:flex;align-items:center;gap:4px;font-size:12px}
.punca-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px}
.punca-document-item{display:grid;gap:7px;text-decoration:none;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.punca-document-item span{color:var(--text);font-weight:700;overflow-wrap:anywhere}
.punca-document-item small{color:var(--muted);line-height:1.5}
html[data-theme="light"] .punca-upload{background:#f3f7fb!important;border-color:#d7e0ea!important}
html[data-theme="light"] .punca-upload-status,html[data-theme="light"] .punca-existing-item,html[data-theme="light"] .punca-document-item{background:#fff!important;border-color:#d7e0ea!important;color:#1b2b42!important}
/* Punca Kuasa: mobile camera capture and staged attachment review */
.punca-camera-label{display:inline-flex;gap:8px;align-items:center;width:max-content;max-width:100%;padding:9px 13px;border-radius:9px;border:1px solid var(--line);font-size:12px;font-weight:700;cursor:pointer;color:var(--text);background:var(--panel)}
.punca-upload input#puncaCamera{border:0;background:transparent;padding:0;font-size:12px}
.punca-upload-list{display:grid;gap:6px}
.punca-prepared-item{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:12px;color:var(--text)}
.punca-prepared-item span{overflow-wrap:anywhere;min-width:0}.punca-remove-new{background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--text);cursor:pointer;padding:6px 10px}
html[data-theme="light"] .punca-camera-label,html[data-theme="light"] .punca-prepared-item{background:#fff!important;color:#142a3d!important;border-color:#d7e0ea!important}
@media(max-width:650px){.punca-prepared-item{align-items:flex-start}.punca-file-label{line-height:1.5}}

/* v2.7.5: transport decision dialogs and high-contrast Proceed button */
.decision-buttons>form{display:block;margin:0}
.decision-buttons>form .btn,.decision-buttons>.btn{width:100%;min-height:42px}
.booking-proceed-btn{background:#157a42!important;color:#fff!important;border:1px solid #106338!important;font-weight:700}
.booking-proceed-btn:hover,.booking-proceed-btn:focus-visible{background:#0d6033!important;color:#fff!important}
.booking-action-dialog{width:min(520px,calc(100% - 30px));max-height:min(90vh,800px);overflow-y:auto;background:#112a40;color:#f8fbff;border:1px solid #42647c;border-radius:17px;padding:24px;box-shadow:0 18px 70px rgba(0,0,0,.35)}
.booking-action-dialog::backdrop{background:rgba(0,11,20,.73)}
.booking-action-dialog h2{font-size:21px;margin:0 0 10px;color:inherit}
.booking-action-dialog p{line-height:1.55}
.booking-notice-form{display:grid;gap:13px}
.booking-action-dialog .booking-notice-form>label,.booking-action-dialog fieldset{display:grid;gap:8px;font-weight:600;font-size:13px}
.booking-action-dialog input[type=tel],.booking-action-dialog textarea{display:block;width:100%;background:#f8fbff;color:#13273a;border:1px solid #99aec2;padding:11px;border-radius:9px;font-size:14px}
.booking-reason-options{border:1px solid #4b6c83!important;border-radius:11px;padding:12px}
.booking-reason-options legend{padding:0 5px;font-size:13px;font-weight:700}
.booking-reason-options label{display:flex;align-items:center;gap:10px;line-height:1.4;min-height:32px;font-size:13px}
.booking-reason-options input{accent-color:#1684db;width:16px;height:16px;flex:0 0 16px}
.booking-dialog-hint{font-size:12px;color:#c7d9e9}
.booking-action-error{padding:10px;border:1px solid #df8e93;background:#5a2530;color:#fff;border-radius:8px;font-size:12px}
.booking-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.booking-dialog-actions .btn-danger{background:#b92f3a;color:#fff;border:1px solid #a0222d}
.booking-dialog-actions .btn-danger:hover{background:#90222b;color:#fff}
.booking-share-fallback:not([hidden]){display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #60aa8b;background:#e7f7ee;border-radius:12px;padding:13px;margin-top:15px;color:#124b32}
html[data-theme="light"] .booking-action-dialog{background:#fff!important;color:#17283a!important;border-color:#ccdae7!important}
html[data-theme="light"] .booking-action-dialog h2,html[data-theme="light"] .booking-action-dialog .booking-reason-options legend{color:#17283a!important}
html[data-theme="light"] .booking-action-dialog .muted,html[data-theme="light"] .booking-dialog-hint{color:#435f75!important}
html[data-theme="light"] .booking-reason-options{border-color:#d1dce8!important}
@media(max-width:520px){.booking-action-dialog{padding:17px}.booking-dialog-actions{display:grid;grid-template-columns:1fr}.booking-dialog-actions button{width:100%}}
.booking-action-dialog [hidden],.booking-share-fallback[hidden]{display:none!important}

/* FMS v2.7.7: audited odometer corrections */
.odometer-correction-panel{margin:12px 0;padding:12px 16px;border:1px solid var(--border, #ced9e7);border-radius:12px;background:var(--surface-soft, rgba(200,215,230,.08))}
.odometer-correction-panel summary{cursor:pointer;font-weight:700;color:var(--text, #18334b)}
.odometer-correction-form{display:grid;gap:12px;margin-top:14px}
.odometer-correction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.odometer-correction-form label{display:grid;gap:6px;font-weight:600}
.odometer-correction-form input[type=number],.odometer-correction-form textarea{width:100%;min-width:0}
.odometer-correction-confirm{display:flex!important;align-items:flex-start;gap:8px;font-size:.9rem}
.odometer-correction-confirm input{flex:0 0 auto;margin-top:4px}
html[data-theme="light"] .odometer-correction-panel{background:#f7fafd;border-color:#d2deeb;color:#1b3048}
html[data-theme="light"] .odometer-correction-panel summary{color:#152b42}

/* v2.7.8 booking CSS status and assigned SG plates: legible in both themes */
.booking-css-chip{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:750;white-space:nowrap;border:1px solid transparent}
.booking-css-chip.neutral{color:#7d96a9;background:rgba(125,150,169,.12)}
.booking-css-chip.pending{color:#d99a25;background:rgba(217,154,37,.12)}
.booking-css-chip.overdue,.booking-css-chip.review{color:#ea777e;background:rgba(225,76,86,.1)}
.booking-css-chip.partial{color:#e2ad55;background:rgba(226,173,85,.12)}
.booking-css-chip.submitted{color:#35ce9b;background:rgba(53,206,155,.13)}
.booking-css-feedback-link{display:block;font-weight:700;font-size:11px;margin-top:6px;white-space:nowrap}
.dispatch-assigned-plates{min-width:130px;max-width:210px}
.assigned-sg-chip{display:inline-block;margin:2px 5px 2px 0;padding:5px 7px;border-radius:7px;border:1px solid rgba(47,151,219,.32);background:rgba(47,151,219,.1);color:var(--text);font-size:12px;font-weight:800;white-space:nowrap}
html[data-theme="light"] .booking-css-chip.neutral{color:#536579;background:#eef2f6}
html[data-theme="light"] .booking-css-chip.pending,html[data-theme="light"] .booking-css-chip.partial{color:#875b13;background:#fff3d8}
html[data-theme="light"] .booking-css-chip.overdue,html[data-theme="light"] .booking-css-chip.review{color:#a92f3d;background:#ffeaec}
html[data-theme="light"] .booking-css-chip.submitted{color:#0b7550;background:#dcf7e9}
html[data-theme="light"] .assigned-sg-chip{background:#eaf5ff;border-color:#bedcf8;color:#134574}
.booking-table{min-width:1100px}.dispatch-table{min-width:1200px}
