@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Lexend:wght@400;500;600;700;800&display=swap');
:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f7f8fb;
  background: #0b0f14;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(28, 92, 255, .15), transparent 32rem),
    linear-gradient(180deg, #0b0f14 0%, #111821 100%);
}
.shell {
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
  padding: 72px 0 48px;
}
.hero { max-width: 760px; margin-bottom: 34px; }
.eyebrow {
  margin: 0 0 10px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .17em;
  color: #8caeff;
}
h1 {
  margin: 0;
  font-size: clamp(2.3rem, 7vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.lede {
  margin: 22px 0 0;
  max-width: 680px;
  color: #aeb8c6;
  font-size: 1.04rem;
  line-height: 1.7;
}
.mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.mode-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 170px;
  padding: 24px;
  border: 1px solid #263141;
  border-radius: 22px;
  background: rgba(19, 27, 37, .9);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.mode-card:hover, .mode-card:focus-visible {
  transform: translateY(-2px);
  border-color: #4f79ff;
  background: #151f2b;
  outline: none;
}
.mode-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #1e56ff;
  font-weight: 900;
  font-size: 1.1rem;
}
.mode-card h2 { margin: 0 0 8px; font-size: 1.32rem; }
.mode-card p { margin: 0; color: #9faab8; line-height: 1.5; }
.arrow { font-size: 1.5rem; color: #8caeff; }
.status-note {
  margin: 26px 0 0;
  color: #748092;
  font-size: .9rem;
}
.subpage {
  max-width: 820px;
}
.back-link {
  display: inline-block;
  margin-bottom: 28px;
  color: #9db8ff;
  text-decoration: none;
}
.panel {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid #263141;
  border-radius: 20px;
  background: rgba(19, 27, 37, .88);
}
.panel h2 { margin-top: 0; }
.pill {
  display: inline-flex;
  margin-top: 14px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #172234;
  color: #9db8ff;
  font-size: .82rem;
  font-weight: 700;
}
@media (max-width: 720px) {
  .shell { width: min(100% - 22px, 1100px); padding-top: 42px; }
  .mode-grid { grid-template-columns: 1fr; }
  .mode-card { min-height: 145px; padding: 20px; }
}


/* App workspaces */
.app-shell{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:24px 0 42px}
.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.brand-lockup{display:flex;align-items:center;gap:12px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#1e56ff;font-weight:900}
.brand-title{font-weight:900;letter-spacing:-.02em}
.brand-sub{font-size:.78rem;color:#7f8b9b;margin-top:2px}
.icon-btn{border:1px solid #263141;background:#131b25;color:#e8edf5;border-radius:13px;padding:10px 12px;font:inherit}
.workspace-hero{padding:22px 2px 8px}
.workspace-hero h1{font-size:clamp(2rem,8vw,4rem)}
.workspace-hero .lede{margin-top:14px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.stat{padding:16px;border:1px solid #263141;border-radius:18px;background:rgba(19,27,37,.86)}
.stat strong{display:block;font-size:1.65rem;line-height:1}
.stat span{display:block;margin-top:7px;color:#8e9aaa;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 2px 12px}
.section-title h2{margin:0;font-size:1.1rem}
.section-title .meta{color:#748092;font-size:.82rem}
.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.action-card{display:flex;flex-direction:column;justify-content:space-between;min-height:142px;padding:18px;border:1px solid #263141;border-radius:20px;background:rgba(19,27,37,.9);text-decoration:none;color:inherit;cursor:pointer;transition:.15s ease}
.action-card:hover,.action-card:focus-visible{transform:translateY(-2px);border-color:#4f79ff;outline:none}
.action-card .kicker{font-size:.72rem;font-weight:900;letter-spacing:.11em;color:#8caeff;text-transform:uppercase}
.action-card h3{margin:10px 0 5px;font-size:1.1rem}
.action-card p{margin:0;color:#95a0ae;line-height:1.45;font-size:.9rem}
.action-card .go{margin-top:14px;color:#8caeff;font-weight:800}
.toolbar{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin:12px 0 18px}
.toolbar button{white-space:nowrap;border:1px solid #263141;background:#131b25;color:#dbe2eb;border-radius:999px;padding:9px 13px;font-weight:800}
.toolbar button.active{background:#1e56ff;border-color:#1e56ff;color:white}
.workspace-panel{display:none}
.workspace-panel.active{display:block}
.list-card{padding:18px;border:1px solid #263141;border-radius:20px;background:rgba(19,27,37,.86);margin-bottom:10px}
.empty-state{padding:28px 18px;border:1px dashed #314055;border-radius:18px;text-align:center;color:#7f8b9b}
.empty-state strong{display:block;color:#dce4ee;margin-bottom:6px}
.quick-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.quick-row input,.field input,.field select,.field textarea{width:100%;border:1px solid #2a3748;background:#0f1620;color:#f7f8fb;border-radius:13px;padding:12px 13px;font:inherit}
.primary-btn{border:0;border-radius:13px;background:#1e56ff;color:#fff;padding:12px 16px;font-weight:900}
.secondary-btn{border:1px solid #2a3748;border-radius:13px;background:#131b25;color:#e8edf5;padding:12px 16px;font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field{display:grid;gap:6px}
.field label{font-size:.76rem;font-weight:900;color:#98a4b3;text-transform:uppercase;letter-spacing:.05em}
.field.full{grid-column:1/-1}
.drawer{position:fixed;inset:0;display:none;z-index:1000;background:rgba(4,8,13,.72);backdrop-filter:blur(7px);padding:18px;align-items:center;justify-content:center}
.drawer.show{display:flex}
.drawer-card{width:min(720px,100%);max-height:88vh;overflow:auto;border:1px solid #2b394b;border-radius:26px 26px 18px 18px;background:#111923;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.drawer-head h2{margin:0;font-size:1.3rem}
.notice{padding:13px 14px;border-radius:14px;background:#131f31;color:#9db8ff;font-size:.88rem;line-height:1.45}
.login-card-new{max-width:520px;margin:28px auto 0;padding:22px;border:1px solid #263141;border-radius:22px;background:rgba(19,27,37,.9)}
.login-card-new h2{margin:0 0 8px}
.login-card-new p{color:#95a0ae}
.footer-nav{position:sticky;bottom:10px;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:26px;padding:7px;border:1px solid #263141;border-radius:18px;background:rgba(12,18,25,.94);backdrop-filter:blur(12px)}
.footer-nav button{border:0;background:transparent;color:#8794a4;padding:10px 6px;border-radius:12px;font-weight:800;font-size:.78rem}
.footer-nav button.active{background:#18243a;color:#a9c0ff}
@media(max-width:820px){.action-grid{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.app-shell{width:min(100% - 18px,1180px);padding-top:14px}.action-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.workspace-hero{padding-top:12px}.app-topbar{position:sticky;top:0;z-index:60;padding:8px 0;background:linear-gradient(180deg,#0b0f14 75%,transparent)}}


/* Mobile declutter pass */
.app-shell{padding-bottom:96px}
.primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.primary-action{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px;border:1px solid #263141;border-radius:18px;background:rgba(19,27,37,.9);color:inherit;text-align:left;cursor:pointer}
.primary-action .mini-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#1e56ff;color:white;font-weight:900}
.primary-action strong{display:block;font-size:.98rem}
.primary-action span.label{display:block;margin-top:3px;color:#8794a4;font-size:.78rem;line-height:1.3}
.compact-list{display:grid;gap:8px}
.compact-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #263141;border-radius:15px;background:rgba(19,27,37,.82);color:inherit;text-align:left;cursor:pointer}
.compact-row .dot{width:9px;height:9px;border-radius:50%;background:#4f79ff}
.compact-row strong{font-size:.92rem}
.compact-row small{display:block;margin-top:2px;color:#7f8b9b;font-size:.75rem}
.compact-row .chev{color:#8caeff;font-size:1.15rem}
.section-title{margin-top:20px}
.footer-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(720px,calc(100% - 20px));margin:0}
@media(max-width:560px){
  .workspace-hero{padding:8px 2px 2px}
  .workspace-hero h1{font-size:2rem}
  .workspace-hero .lede{font-size:.92rem;line-height:1.5;margin-top:10px}
  .stat-grid{margin:12px 0}
  .stat{padding:12px}
  .stat strong{font-size:1.3rem}
  .stat span{font-size:.68rem}
  .primary-actions{grid-template-columns:1fr 1fr}
  .primary-action{min-height:76px;padding:12px}
  .login-card-new{margin-top:16px;padding:16px}
  .login-card-new p{font-size:.88rem}
}


/* Readability + registration plates */
:root{--text:#f8fbff;--muted2:#aab5c4;--panel:#131c27;--line:#2d3a4c}
body{font-size:16px}
.compact-row{min-height:66px;padding:14px 15px;background:rgba(19,28,39,.94);border-color:var(--line)}
.compact-row strong{font-size:1rem;line-height:1.3;color:var(--text)}
.compact-row small{font-size:.82rem;line-height:1.4;color:var(--muted2)}
.section-title h2{font-size:1.2rem}
.stat{color:inherit;text-align:left;cursor:pointer}
.stat strong{font-size:1.75rem}
.stat span{color:#aeb8c6}
.reg-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reg-plate{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:104px;padding:5px 9px;border-radius:6px;
  background:#f2d643;color:#111;border:2px solid #d5bb2e;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 1px 2px rgba(0,0,0,.35);
  font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif;
  font-size:.96rem;font-weight:900;letter-spacing:.08em;line-height:1;
  white-space:nowrap;
}
.reg-title-extra{font-weight:800;color:#f3f6fa}
.modeToggleNew{display:flex;gap:3px;padding:3px;background:rgba(255,255,255,.10);border:1px solid #314154;border-radius:12px}
.modeToggleNew button{border:0;background:transparent;color:#d8e0ea;border-radius:9px;padding:8px 10px;font-size:.72rem;font-weight:900}
.modeToggleNew button.active{background:#f7f9fc;color:#132033}
.site-search{margin:12px 0 16px}
.site-search label{display:block;margin:0 0 6px;color:#8fa0b4;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.site-search input{width:100%;border:1px solid #2d3a4c;background:#0f1620;color:#fff;border-radius:14px;padding:13px 14px;font:inherit}
.launch-card{padding:22px;border:1px solid #263141;border-radius:22px;background:rgba(19,27,37,.92);margin:18px 0}
.launch-card h2{margin:0 0 7px;font-size:1.45rem}
.launch-card p{margin:0;color:#a4afbd;line-height:1.5}
.launch-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.launch-choice{min-height:132px;padding:18px;border-radius:20px;border:1px solid #304054;text-align:left;font:inherit;cursor:pointer}
.launch-choice.driver{background:linear-gradient(145deg,#173b59,#245e87);color:#fff;border-color:#2d6f9d}
.launch-choice.logistics{background:#f7f9fc;color:#132033}
.launch-choice strong,.launch-choice span{display:block}
.launch-choice strong{font-size:1.08rem;margin:8px 0}
.launch-choice span{font-size:.84rem;line-height:1.4;opacity:.85}
.mode-view{display:none}.mode-view.active{display:block}
.driver-hero-new{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#173b59,#244f70);color:#fff;border-radius:22px;padding:20px;margin-bottom:12px}
.driver-hero-new h2{margin:3px 0 4px;font-size:1.65rem}.driver-hero-new p{margin:0;opacity:.82;font-size:.86rem;line-height:1.4}
.driver-primary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.driver-big-action{min-height:145px;border:0;border-radius:22px;padding:18px;text-align:left;color:#fff;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.driver-big-action.to-tadley{background:linear-gradient(145deg,#163d5a,#246b8f)}
.driver-big-action.to-padworth{background:linear-gradient(145deg,#314d3c,#4c7b5d)}
.driver-big-count{display:block;font-size:2.5rem;font-weight:950;margin-bottom:8px}
.driver-big-action strong,.driver-big-action small{display:block}.driver-big-action strong{font-size:1.05rem}.driver-big-action small{margin-top:6px;opacity:.86;line-height:1.35}
.driver-ready-tile{width:100%;margin:10px 0;border:2px solid #d4a72c;background:#fff8df;color:#523f00;border-radius:20px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer}
.driver-ready-count{font-size:2rem;font-weight:950}
.driver-secondary-grid,.driver-quick-routes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.driver-secondary-grid button,.driver-quick-routes button{border:1px solid #304054;background:#151f2b;color:#f4f7fb;border-radius:17px;padding:15px;text-align:left;cursor:pointer}
.driver-secondary-grid strong,.driver-secondary-grid small,.driver-quick-routes strong,.driver-quick-routes small{display:block}.driver-secondary-grid small,.driver-quick-routes small{margin-top:4px;color:#9ba8b8;line-height:1.35}
.logistics-head{margin:4px 0 14px}.logistics-head h2{margin:0;font-size:1.8rem}.logistics-head p{margin:6px 0 0;color:#a4afbd}
.dashboard-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dashboard-top-actions button{min-height:112px;border-radius:20px;padding:17px;text-align:left;border:1px solid #304054;font:inherit;cursor:pointer}
.dashboard-top-actions .request{background:#1e56ff;color:#fff;border-color:#1e56ff}.dashboard-top-actions .update{background:#151f2b;color:#fff}
.dashboard-top-actions strong,.dashboard-top-actions span{display:block}.dashboard-top-actions span{margin-top:7px;font-size:.84rem;line-height:1.4;opacity:.84}
.logistics-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.logistics-metric{padding:13px;border:1px solid #2c394a;border-radius:16px;background:#121b26;color:#fff;text-align:left;cursor:pointer}
.logistics-metric b{display:block;font-size:1.5rem}.logistics-metric span{display:block;margin-top:4px;color:#9aa7b7;font-size:.72rem;font-weight:800;line-height:1.25}
.mode-bottom-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:80;width:min(820px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border:1px solid #2c394a;border-radius:18px;background:rgba(11,16,23,.96);backdrop-filter:blur(12px)}
.mode-bottom-nav button{border:0;background:transparent;color:#8d9aaa;padding:8px 3px;border-radius:11px;font-size:.67rem;font-weight:800;line-height:1.15}
.mode-bottom-nav button.active{background:#17243a;color:#a9c0ff}
.mode-bottom-nav small{font-size:.59rem}
@media(max-width:560px){
  .launch-choices{grid-template-columns:1fr}
  .driver-hero-new h2{font-size:1.4rem}
  .driver-big-action{min-height:132px;padding:15px}
  .driver-big-count{font-size:2.2rem}
  .driver-secondary-grid,.driver-quick-routes{grid-template-columns:1fr}
  .dashboard-top-actions{grid-template-columns:1fr}
  .logistics-metrics{grid-template-columns:1fr 1fr}
  .mode-bottom-nav button{font-size:.62rem}
  .reg-plate{font-size:.9rem;min-width:98px}
}


/* Vehicle tiles: tappable + richer vehicle identity */
.vehicle-tile{cursor:pointer}
.vehicle-tile:active{transform:scale(.995);background:#182331}
.vehicle-main{display:grid;gap:5px}
.vehicle-id-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vehicle-details{display:block;color:#eef3f8;font-size:.88rem;font-weight:800;line-height:1.3}
.vehicle-route{display:block;color:#aeb9c7;font-size:.82rem;font-weight:700;line-height:1.35}
.vehicle-meta{display:block;color:#93a0b0;font-size:.78rem;line-height:1.35}
.tap-hint{color:#8caeff;font-size:1.25rem;font-weight:900}
.drawer-vehicle-head{display:grid;gap:8px;padding:4px 0 12px}
.drawer-vehicle-title{font-size:1.15rem;font-weight:900}
.drawer-vehicle-meta{color:#a7b2c0;line-height:1.5}


/* parity pass additions */
.connection-bar{display:flex;align-items:center;gap:8px;margin:8px 0 14px;padding:9px 11px;border:1px solid #2a394b;border-radius:12px;background:#101923;color:#aab7c6;font-size:.78rem;font-weight:800}
.connection-dot{width:8px;height:8px;border-radius:50%;background:#f0b43c;box-shadow:0 0 0 3px rgba(240,180,60,.12)}
.feedback-launch{width:100%;border:0;border-radius:18px;margin:8px 0 14px;padding:14px 15px;text-align:left;background:linear-gradient(135deg,#ffb000,#e96b22);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font:inherit}
.feedback-launch strong{display:block;font-size:.96rem}.feedback-launch small{display:block;margin-top:3px;line-height:1.35;opacity:.92}
.feedback-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);font-size:1.3rem}
.queue-search{width:100%;border:1px solid #2d3a4c;background:#0f1620;color:#fff;border-radius:14px;padding:12px 13px;font:inherit;margin:0 0 10px}
.section-caption{margin:-4px 0 12px;color:#9eabba;font-size:.82rem;line-height:1.4}
.menu-divider{margin:12px 0 7px;color:#78879a;font-size:.68rem;font-weight:950;letter-spacing:.14em}
.warning-panel{padding:13px 14px;border:1px solid #765818;border-radius:14px;background:#2a2414;color:#f6d886;font-size:.84rem;line-height:1.45}
.compound-action-stack{display:grid;gap:10px}
.compound-wide-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid #2d3a4c;border-radius:18px;background:#131d28;color:#fff;text-align:left;cursor:pointer;font:inherit}
.compound-wide-action strong{display:block}.compound-wide-action small{display:block;margin-top:4px;color:#9eabba;line-height:1.35}
.compound-wide-action .mini-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#1e56ff;font-weight:900}

/* Logistics parity dashboard */
.logistics-passive-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:10px 0 14px}
.logistics-passive-stat{border:1px solid #2d3a4c;border-radius:14px;background:#131d28;color:#fff;padding:10px 7px;text-align:center;min-height:68px;cursor:pointer}
.logistics-passive-stat b{display:block;font-size:1.35rem;line-height:1.05}
.logistics-passive-stat span{display:block;margin-top:5px;color:#aeb9c7;font-size:.68rem;font-weight:900;text-transform:uppercase;line-height:1.15}
.logistics-dashboard-section{border:1px solid #2b394a;border-radius:20px;margin:11px 0;background:#111a25;overflow:hidden}
.logistics-dashboard-head{width:100%;border:0;background:#111a25;color:#f7f9fc;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}
.logistics-dashboard-head strong{display:block;font-size:1.02rem}
.logistics-dashboard-head small{display:block;margin-top:4px;color:#9eabba;font-size:.78rem;line-height:1.35}
.logistics-chevron{font-size:1.25rem;color:#8caeff;transition:transform .18s ease}
.logistics-dashboard-section.collapsed .logistics-chevron{transform:rotate(-90deg)}
.logistics-dashboard-body{padding:0 12px 12px}
.logistics-dashboard-section.collapsed .logistics-dashboard-body{display:none}
.logistics-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.logistics-dashboard-tile{border:1px solid #314052;border-radius:16px;background:#16212d;color:#f7f9fc;padding:13px;text-align:left;min-height:112px;cursor:pointer}
.logistics-dashboard-tile b{display:block;font-size:1.8rem;line-height:1;color:#dce6f3}
.logistics-dashboard-tile strong{display:block;font-size:.86rem;line-height:1.22;margin-top:7px}
.logistics-dashboard-tile span{display:block;font-size:.72rem;color:#9eabba;line-height:1.35;margin-top:5px}
.logistics-dashboard-tile.primary{background:#15243a;border-color:#31588d}
.logistics-dashboard-tile.attention{background:#292414;border-color:#735c22}
.logistics-dashboard-tile.critical{background:#31191d;border-color:#87424c}
.logistics-dashboard-tile:active,.logistics-passive-stat:active{transform:scale(.985)}
@media(max-width:760px){.logistics-passive-strip{grid-template-columns:repeat(4,1fr)}.logistics-dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.logistics-passive-strip{grid-template-columns:repeat(3,1fr)}.logistics-dashboard-grid{grid-template-columns:1fr 1fr}.logistics-dashboard-tile{min-height:106px;padding:11px}.logistics-dashboard-tile b{font-size:1.6rem}}

/* Compound cards: whole-surface interaction */
.compound-vehicle-tile{width:100%;touch-action:manipulation}
.compound-vehicle-tile:hover,.compound-vehicle-tile:focus-visible{border-color:#4f79ff;background:#172331;outline:none}
.compound-vehicle-tile:active{transform:scale(.992);background:#1b2837}
.compound-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.run-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.run-preview-pair>div{padding:13px;border:1px solid #2d3a4c;border-radius:16px;background:#101923}
.run-preview-pair small{display:block;color:#95a4b5;font-weight:900;font-size:.68rem;margin-bottom:8px}
.run-preview-pair strong{display:block;margin-top:8px;font-size:.9rem}
@media(max-width:460px){.compound-drawer-actions{grid-template-columns:1fr}.run-preview-pair{grid-template-columns:1fr}}

/* parity repair: protected workflows, priority queues, explicit states */
.workflow-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.priority-next{margin:10px 0 14px;padding:10px;border:2px solid #355c89;border-radius:18px;background:#111d2b}
.priority-next .compact-row{margin:0}
.nextLabel{font-size:.7rem;color:#9db8ff;font-weight:950;letter-spacing:.12em;margin:0 0 8px}
.protected-notice,.critical-screen,.success-receipt{padding:16px;border-radius:18px;background:#111c27;border:1px solid #324154}
.protected-notice h3,.critical-screen h3,.success-receipt h3{margin:10px 0 8px}
.critical-screen{border-color:#82434a;background:#2b171b}
.success-receipt{text-align:center;border-color:#315f42;background:#102419}
.receipt-tick{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 auto 12px;background:#2f8a50;color:#fff;font-size:2rem;font-weight:950}
.dataset-state{padding:12px 14px;border-radius:13px;border:1px solid #344356;background:#111a24;color:#b6c2cf}
.dataset-state.loading:before{content:'◌ ';animation:statusPulse .9s infinite}
.anpr-boundary{margin-top:10px;padding:13px;border-radius:14px;border:1px solid #4c4272;background:#1c1930;color:#c9c2ee;line-height:1.5}
.connection-bar.live .connection-dot{background:#6bd48a}
.connection-bar.loading .connection-dot{background:#78bdeb;animation:statusPulse .9s infinite}
@keyframes statusPulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:560px){.workflow-actions{grid-template-columns:1fr}}

/* Compound parity repair */
.drawer.protected{background:rgba(4,8,13,.88)}
.drawer.protected .drawer-head .icon-btn{display:none}
.compound-summary-strip{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.compound-summary-strip span{padding:8px 10px;border:1px solid #314052;border-radius:999px;background:#111b26;color:#afbdcb;font-size:.72rem;font-weight:900}
.compound-group{margin-top:14px}
.compound-group-head{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:14px;background:#182436;border:1px solid #30425a;font-weight:950}
.compound-status-group{margin-top:9px}
.compound-status-head{display:flex;justify-content:space-between;color:#aab6c5;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin:0 2px 6px}
.notes-prominent{margin-top:9px;padding:11px 12px;border-radius:12px;background:#2a2414;border:1px solid #725b23;color:#f1d68e;line-height:1.45}
.intelligence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.intelligence-grid>div{padding:10px;border:1px solid #304054;border-radius:12px;background:#101923}
.intelligence-grid span,.intelligence-grid strong{display:block}.intelligence-grid span{color:#93a0af;font-size:.68rem;font-weight:850}.intelligence-grid strong{margin-top:4px;font-size:.9rem}
.critical-warning{background:#31191d!important;border-color:#88434d!important;color:#ffc6cb!important}
.smart-lookup{margin-top:10px;padding:12px;border:1px solid #335477;border-radius:14px;background:#122235;display:grid;gap:8px}
.run-direction-labels{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#9db0c3;font-size:.72rem;text-align:center;margin-bottom:8px}
.run-preview-pair span{display:block;margin-top:6px;color:#aab7c5;font-size:.78rem}
.attention-row{border-color:#765b21;background:#282313}
@media(max-width:560px){.intelligence-grid{grid-template-columns:1fr 1fr}.run-direction-labels{grid-template-columns:1fr}}
@media print{.app-topbar,.workspace-hero,.stat-grid,.footer-nav,.primary-actions,.drawer{display:none!important}.workspace-panel{display:block!important}.app-shell{width:100%;padding:0}.compact-row{break-inside:avoid}}

.stay-expired-review{border-color:#8e434b!important;background:#2c191d!important}

.dataset-state.stale{border-color:#80642b;background:#292412;color:#f3d98d}
.dataset-state.error{border-color:#87434d;background:#30191d;color:#ffc4ca}
.dataset-state.incomplete{border-color:#7c5723;background:#2c2112;color:#f1ce8a}

/* Compound home — faithful operational hierarchy */
.compound-live-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #28405d;border-radius:16px;background:linear-gradient(135deg,#0d3150,#174c73);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.compound-kicker{font-size:.62rem;font-weight:950;letter-spacing:.12em;color:#a9c7dd}
.compound-live-title{font-size:1.25rem;font-weight:950;line-height:1.1;margin-top:2px}
.compound-updated{font-size:.67rem;color:#aec6d9;margin-top:4px}
.compound-header-actions{display:flex;gap:7px;align-items:center}
.compound-home-link,.compound-feedback-btn,.compound-refresh-btn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.95);color:#17334d;border-radius:11px;font-weight:900}
.compound-home-link{min-width:94px;height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;text-decoration:none;font-size:.82rem;background:rgba(255,255,255,.12);color:white;flex:0 0 auto}
.compound-home-link span{font-size:1.15rem;line-height:1}
.compound-home-link strong{font-size:.82rem;letter-spacing:.01em}
@media (max-width:560px){
  .compound-live-header{align-items:flex-start}
  .compound-header-actions{flex-wrap:wrap;justify-content:flex-end}
  .compound-home-link{min-width:104px;height:52px;font-size:.86rem}
}
.compound-feedback-btn{padding:9px 11px;font-size:.72rem}
.compound-refresh-btn{width:42px;height:42px;font-size:1.1rem;background:rgba(255,255,255,.1);color:white}
.compound-refresh-btn.spinning{animation:compoundSpin .7s linear infinite}
@keyframes compoundSpin{to{transform:rotate(360deg)}}
.compound-home{margin-top:0}
.compound-home.active{display:block}
.compound-home:not(.active){display:none!important}
.compound-home-card{margin:0 0 11px;padding:15px;border:1px solid #293849;border-radius:18px;background:rgba(18,27,37,.96);box-shadow:0 10px 26px rgba(0,0,0,.14)}
.compound-home-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.compound-home-card h1{font-size:1.35rem;line-height:1.1;letter-spacing:-.02em;margin:0}
.compound-home-card p{margin:4px 0 0;color:#9ba9b8;font-size:.78rem;line-height:1.35}
.compound-live-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#132c1c;border:1px solid #2c633c;color:#91dfa6;font-size:.67rem;font-weight:950}
.compound-live-pill span{width:7px;height:7px;border-radius:50%;background:#4bd56d}
.compound-overview-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.compound-overview-stats button{border:1px solid #2c3949;background:#111923;color:#fff;border-radius:14px;padding:12px;text-align:left}
.compound-overview-stats strong{display:block;font-size:1.75rem;line-height:1}
.compound-overview-stats span{display:block;margin-top:6px;color:#aab5c1;font-size:.72rem;font-weight:850}
.compound-main-moves{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.compound-main-moves button{border:0;border-radius:13px;padding:12px 10px;color:white;font-weight:950;font-size:.83rem;line-height:1.15;min-height:54px}
.compound-main-moves .send{background:#089d2d}.compound-main-moves .bring{background:#1477c7}
.compound-card-heading{margin-bottom:9px}.compound-card-heading.inline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.compound-card-heading h2{margin:0;font-size:1rem}
.compound-count-badge{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#202b37;color:#d8e1ea;font-size:.78rem;font-weight:950}
.compound-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.compound-quick-grid button{border-radius:13px;padding:10px 9px;text-align:left;min-height:66px;border:1px solid #354050;color:#fff;background:#151e29}
.compound-quick-grid button.required{background:#2b191c;border-color:#6d343a}.compound-quick-grid button.ready{background:#14281d;border-color:#315d40}.compound-quick-grid button.stay{background:#292315;border-color:#6b5724}.compound-quick-grid button.update{background:#17283a;border-color:#31597a}
.compound-quick-grid strong{display:block;font-size:.76rem;line-height:1.2}.compound-quick-grid span{display:block;margin-top:5px;color:#aeb8c3;font-size:.65rem;line-height:1.25}
.compound-home-search{display:grid;grid-template-columns:1fr auto;gap:7px}
.compound-home-search input{border:1px solid #334253;background:#0f1720;color:#fff;border-radius:12px;padding:11px 12px;font:inherit}
.compound-home-search button{border:1px solid #334253;background:#172331;color:#fff;border-radius:12px;padding:0 14px;font-weight:900}
.compound-home-needed-list{display:grid;gap:7px}
.compound-needed-home-row{width:100%;border:1px solid #5a3438;background:#191719;color:#fff;border-radius:12px;padding:10px 11px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left}
.compound-needed-home-row strong,.compound-needed-home-row small{display:block}.compound-needed-home-row strong{font-size:.8rem}.compound-needed-home-row small{margin-top:3px;color:#e6a0a4;font-size:.66rem;line-height:1.3}
.compound-needed-home-row em{font-style:normal;padding:5px 7px;border-radius:999px;background:#317bb0;color:#fff;font-size:.58rem;font-weight:950}
.compound-share-btn{width:100%;margin-top:8px;border:0;border-radius:12px;padding:11px;background:#08952b;color:white;font-weight:900}
.compound-attention-list{display:grid;gap:6px}
.compound-attention-list button{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid #2d3a49;background:#111923;color:#fff;border-radius:13px;padding:9px 10px;text-align:left}
.compound-attention-list strong,.compound-attention-list small{display:block}.compound-attention-list strong{font-size:.78rem}.compound-attention-list small{margin-top:2px;color:#9da9b6;font-size:.63rem}.compound-attention-list b{font-size:1rem}
.attention-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-weight:950}.attention-icon.red{background:#2f191d;color:#ff7e87}.attention-icon.amber{background:#2a2414;color:#e4ba4f}.attention-icon.green{background:#14281d;color:#6fdb8d}
.compound-home-runs{display:grid;gap:7px}
.compound-run-home-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid #2e3c4d;background:#111923;color:#fff;border-radius:12px;padding:10px 11px}.compound-run-home-row strong,.compound-run-home-row small{display:block}.compound-run-home-row strong{font-size:.78rem}.compound-run-home-row small{margin-top:3px;color:#9faab7;font-size:.65rem}
.compound-home-empty{text-align:center;padding:10px;color:#7f8b98;font-size:.72rem}
.compound-total-row{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #31516f;background:#142638;color:#fff;border-radius:13px;padding:11px 12px;text-align:left}.compound-total-row strong{font-size:1.55rem}.compound-total-row span{font-size:.67rem;font-weight:950;color:#a9bdd0}
.compound-home-group{margin-top:7px;border:1px solid #304050;border-radius:13px;padding:10px;background:#111923}.compound-home-group.stock{background:#132019}.compound-home-group.nonstock{background:#251d16}.compound-home-group .group-top{display:flex;justify-content:space-between;align-items:center}.compound-home-group .group-top strong{font-size:1.35rem}.compound-home-group .group-top span{font-size:.65rem;font-weight:950;color:#aeb8c3}.group-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.group-breakdown button{border:1px solid #334153;background:rgba(255,255,255,.03);color:#fff;border-radius:10px;padding:8px;text-align:left}.group-breakdown strong,.group-breakdown span{display:block}.group-breakdown strong{font-size:1rem}.group-breakdown span{font-size:.59rem;margin-top:3px;color:#9eaab7;font-weight:850}
@media(max-width:600px){
 .app-shell{padding-top:8px}
 .compound-live-header{border-radius:0;margin-left:-9px;margin-right:-9px;padding:11px 12px}
 .compound-feedback-btn{font-size:.64rem;padding:8px}
 .compound-home-card{padding:13px;border-radius:16px}
 .compound-quick-grid{grid-template-columns:repeat(2,1fr)}
 .compound-main-moves button{font-size:.78rem}
 .compound-home-search{grid-template-columns:1fr auto}
}


/* Enhanced readability / dyslexia-friendly mode */
.readability-entry{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 0 20px;padding:16px 18px;border:2px solid #395576;border-radius:18px;background:#121d29;color:#f7f8fb;text-align:left;font:inherit;cursor:pointer}
.readability-entry:hover,.readability-entry:focus-visible{border-color:#7ca7e8;outline:none;background:#162536}
.readability-entry.active{border-color:#d6b85e;background:#292413}
.readability-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#1e56ff;color:#fff;font-size:1.1rem;font-weight:950}
.readability-entry-copy strong,.readability-entry-copy small{display:block}.readability-entry-copy strong{font-size:1rem}.readability-entry-copy small{margin-top:4px;color:#aeb8c5;line-height:1.45}
.readability-inline-btn{width:100%;margin-top:10px;border:2px solid #42638b;border-radius:13px;background:#122033;color:#cfe0ff;padding:12px 14px;font-weight:900;font-size:.82rem}
.readability-inline-btn.active{border-color:#d6b85e;background:#292413;color:#f7dfa0}
.readability-header-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);color:#fff;border-radius:11px;width:42px;height:42px;font-weight:950;font-size:.9rem}
.readability-header-btn.active{background:#f0d47b;color:#18202a;border-color:#f0d47b}

html.readability-dyslexia{
  font-size:101%;
}
html.readability-dyslexia body{
  font-family:"Lexend",Verdana,"Trebuchet MS",Arial,sans-serif;
  letter-spacing:.018em;
  word-spacing:.055em;
  font-weight:400;
}
html.readability-dyslexia p,
html.readability-dyslexia small,
html.readability-dyslexia .lede,
html.readability-dyslexia .section-caption,
html.readability-dyslexia .vehicle-meta,
html.readability-dyslexia .vehicle-route,
html.readability-dyslexia .drawer-vehicle-meta{
  line-height:1.65;
}
html.readability-dyslexia button,
html.readability-dyslexia input,
html.readability-dyslexia select,
html.readability-dyslexia textarea{
  font-family:"Lexend",Verdana,"Trebuchet MS",Arial,sans-serif;
}
html.readability-dyslexia .compact-row,
html.readability-dyslexia .vehicle-tile,
html.readability-dyslexia .compound-attention-list button,
html.readability-dyslexia .compound-needed-home-row,
html.readability-dyslexia .compound-run-home-row{
  min-height:68px;
  border-width:2px;
}
html.readability-dyslexia .compact-row strong,
html.readability-dyslexia .vehicle-details,
html.readability-dyslexia .compound-attention-list strong,
html.readability-dyslexia .compound-needed-home-row strong{
  font-size:1rem;
  line-height:1.45;
}
html.readability-dyslexia .compact-row small,
html.readability-dyslexia .vehicle-meta,
html.readability-dyslexia .vehicle-route,
html.readability-dyslexia .compound-attention-list small,
html.readability-dyslexia .compound-needed-home-row small{
  font-size:.82rem;
  color:#c1ccd8;
}
html.readability-dyslexia .reg-plate{
  font-size:1.08em;
  letter-spacing:.08em;
  border-width:3px;
}
html.readability-dyslexia .eyebrow,
html.readability-dyslexia .field label,
html.readability-dyslexia .stat span,
html.readability-dyslexia .section-title .meta,
html.readability-dyslexia .compound-kicker{
  letter-spacing:.045em;
}
html.readability-dyslexia .compound-quick-grid strong,
html.readability-dyslexia .driver-big-action strong,
html.readability-dyslexia .primary-action strong{
  font-size:.95rem;
  line-height:1.4;
}
html.readability-dyslexia .compound-quick-grid span,
html.readability-dyslexia .driver-big-action small,
html.readability-dyslexia .primary-action .label{
  font-size:.78rem;
  line-height:1.55;
}
html.readability-dyslexia .footer-nav button{
  min-height:54px;
  font-size:.82rem;
}
html.readability-dyslexia .footer-nav button strong{
  display:block;
}
html.readability-dyslexia .footer-nav button span{
  display:block;
  font-size:1.05rem;
  margin-bottom:2px;
}
html.readability-dyslexia .warning-panel,
html.readability-dyslexia .notice,
html.readability-dyslexia .protected-notice,
html.readability-dyslexia .critical-screen{
  border-width:2px;
  line-height:1.65;
}
@media(max-width:560px){
  html.readability-dyslexia{font-size:104%}
  html.readability-dyslexia .compound-quick-grid{grid-template-columns:1fr 1fr}
}

.compound-footer-nav button{display:grid;place-items:center;gap:2px}
.compound-footer-nav button span{display:block;font-size:1rem;line-height:1}
.compound-footer-nav button strong{display:block;font-size:inherit}

html.readability-dyslexia h1,
html.readability-dyslexia h2,
html.readability-dyslexia h3,
html.readability-dyslexia strong,
html.readability-dyslexia .brand-title,
html.readability-dyslexia .compound-live-title{
  font-family:"Lexend",Verdana,"Trebuchet MS",Arial,sans-serif;
  font-weight:700;
  letter-spacing:.005em;
}
html.readability-dyslexia .eyebrow,
html.readability-dyslexia .compound-kicker,
html.readability-dyslexia .field label,
html.readability-dyslexia .stat span{
  text-transform:none;
  letter-spacing:.02em;
}
html.readability-dyslexia .vehicle-main,
html.readability-dyslexia .compact-row > span:nth-child(2){
  max-width:68ch;
}
html.readability-dyslexia .compact-row small,
html.readability-dyslexia .vehicle-meta,
html.readability-dyslexia .vehicle-route{
  margin-top:5px;
}
html.readability-dyslexia .readability-symbol,
html.readability-dyslexia .readability-inline-btn,
html.readability-dyslexia .readability-header-btn{
  font-family:"Lexend",Verdana,"Trebuchet MS",Arial,sans-serif;
}

.operational-test-shell{max-width:820px}
.backend-status{margin:0 0 14px;padding:12px 14px;border-radius:13px;border:1px solid #40536b;background:#182230;font-weight:800;font-size:.8rem}
.backend-status.ready{border-color:#2e7043;background:#14271b;color:#9be2ad}
.backend-status.blocked{border-color:#81504d;background:#2d1d1c;color:#ffb8b0}
.backend-location{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0;padding:12px;border-radius:12px;background:#101923;border:1px solid #324153}
.backend-location span{color:#9cabb9;font-size:.75rem}
.backend-location strong{font-size:1rem}
.backend-move-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.backend-move-grid button{border:0;border-radius:12px;padding:13px;background:#174c73;color:#fff;font-weight:900}
.real-test-launch{margin-top:20px;padding:18px;border:1px solid #31516f;border-radius:18px;background:#122234}
.real-test-launch h2{margin:0 0 6px}
.real-test-launch p{color:#aab7c5;line-height:1.5}
.real-test-launch .primary-btn{display:inline-block;text-decoration:none;margin-top:8px}

.operational-test-shell .field{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.operational-test-shell .field label{font-size:.78rem;font-weight:800;color:#aebdcb}
.operational-test-shell .field input{width:100%;box-sizing:border-box;border:1px solid #34485e;border-radius:12px;background:#0c1520;color:#fff;padding:13px 14px;font:inherit}
.operational-test-shell button[disabled]{opacity:.55;cursor:wait}

.platform-rights-footer{margin:22px 0 6px;text-align:center;color:#7f8b98;font-size:.62rem;line-height:1.35;letter-spacing:.01em;opacity:.86}


/* Platform gateway + account security UI */
:root{
  --ui-bg:#0b0f14;--ui-bg2:#111821;--ui-panel:#131b25;--ui-panel2:#172230;
  --ui-line:#2b394b;--ui-text:#f7f8fb;--ui-muted:#aeb8c6;--ui-soft:#7f8b9b;
  --ui-accent:#1e56ff;--ui-accent-soft:#8caeff;--ui-input:#0f1620;
  --ui-danger:#ffb4ac;--ui-warning:#f6d886;--ui-success:#a9d8b4;
}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{
  color-scheme:light;
  --ui-bg:#f4f7fb;--ui-bg2:#eaf0f7;--ui-panel:#ffffff;--ui-panel2:#f4f7fb;
  --ui-line:#c7d2df;--ui-text:#152033;--ui-muted:#4f5d6f;--ui-soft:#667487;
  --ui-accent:#174bd8;--ui-accent-soft:#2e5dcf;--ui-input:#ffffff;
  --ui-danger:#7d1e1e;--ui-warning:#654d00;--ui-success:#235b34;
}
@media(prefers-color-scheme:light){
  html[data-theme="system"]{
    color-scheme:light;
    --ui-bg:#f4f7fb;--ui-bg2:#eaf0f7;--ui-panel:#ffffff;--ui-panel2:#f4f7fb;
    --ui-line:#c7d2df;--ui-text:#152033;--ui-muted:#4f5d6f;--ui-soft:#667487;
    --ui-accent:#174bd8;--ui-accent-soft:#2e5dcf;--ui-input:#ffffff;
    --ui-danger:#7d1e1e;--ui-warning:#654d00;--ui-success:#235b34;
  }
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,var(--ui-bg) 0%,var(--ui-bg2) 100%);
  color:var(--ui-text);
}
@media(prefers-color-scheme:light){
  html[data-theme="system"] body{
    background:linear-gradient(180deg,var(--ui-bg) 0%,var(--ui-bg2) 100%);
    color:var(--ui-text);
  }
}
body{color:var(--ui-text)}
.platform-gateway{padding-top:52px}
.gateway-lock{width:min(620px,100%);margin:0 auto}
.gateway-brand{display:flex;gap:16px;align-items:center}
.gateway-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--ui-accent);color:#fff;font-size:1.25rem;font-weight:950}
.gateway-brand h1{font-size:clamp(2.4rem,9vw,4.3rem)}
.platform-login-card,.platform-setting-card,.platform-admin-launch,.platform-modal{
  border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 96%,transparent);
  color:var(--ui-text);box-shadow:0 18px 48px rgba(0,0,0,.12)
}
.platform-login-card{margin-top:22px;padding:22px;border-radius:22px}
.platform-login-card h2{margin:0 0 14px}
.platform-pin-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.platform-pin-row input,.platform-setting-card input,.platform-setting-card select,.platform-modal input,.platform-modal select{
  width:100%;border:1px solid var(--ui-line);background:var(--ui-input);color:var(--ui-text);border-radius:13px;padding:13px 14px;font:inherit
}
.gateway-message{min-height:1.25em;margin:10px 0 0;color:var(--ui-muted);font-size:.88rem}
.gateway-message.bad{color:var(--ui-danger);font-weight:800}
.platform-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}
.platform-home-head h1{font-size:clamp(2.5rem,8vw,4.8rem)}
.platform-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.platform-setting-card{padding:18px;border-radius:19px}
.platform-setting-card .section-title{margin-top:0}
.theme-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.theme-choice button{border:1px solid var(--ui-line);background:var(--ui-panel2);color:var(--ui-text);border-radius:13px;padding:11px 8px;font:inherit;font-weight:850}
.theme-choice button.active{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}
.setting-help{color:var(--ui-muted);line-height:1.5;font-size:.87rem}
.platform-admin-launch{margin-top:14px;padding:18px;border-radius:19px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.platform-admin-launch h2{margin:0 0 5px}.platform-admin-launch p{margin:0;color:var(--ui-muted)}
.platform-overlay{position:fixed;inset:0;z-index:3000;background:rgba(5,10,17,.72);backdrop-filter:blur(8px);padding:18px;overflow:auto}
.platform-modal{width:min(720px,100%);margin:5vh auto;padding:20px;border-radius:24px}
.platform-modal-wide{width:min(1120px,100%)}
.platform-user-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}
.platform-admin-form,.platform-user-editor{border:1px solid var(--ui-line);background:var(--ui-panel2);padding:14px;border-radius:17px}
.platform-user-editor{margin-top:16px}
.permission-box{display:grid;gap:7px;margin-top:12px;padding:12px;border:1px solid var(--ui-line);border-radius:14px;background:color-mix(in srgb,var(--ui-panel) 88%,transparent)}
.permission-box>strong{margin-bottom:3px}
.permission-check{display:flex;align-items:center;gap:8px;color:var(--ui-text);font-size:.9rem}
.permission-check input{width:auto}
.platform-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.mode-card,.compact-row,.panel,.stat,.list-card,.launch-card,.logistics-dashboard-section,.compound-home-card{
  border-color:var(--ui-line)
}
html[data-theme="light"] .mode-card,
html[data-theme="light"] .compact-row,
html[data-theme="light"] .panel,
html[data-theme="light"] .stat,
html[data-theme="light"] .list-card,
html[data-theme="light"] .launch-card,
html[data-theme="light"] .compound-home-card{
  background:rgba(255,255,255,.96);color:var(--ui-text)
}
@media(prefers-color-scheme:light){
  html[data-theme="system"] .mode-card,
  html[data-theme="system"] .compact-row,
  html[data-theme="system"] .panel,
  html[data-theme="system"] .stat,
  html[data-theme="system"] .list-card,
  html[data-theme="system"] .launch-card,
  html[data-theme="system"] .compound-home-card{background:rgba(255,255,255,.96);color:var(--ui-text)}
}
html[data-theme="light"] .mode-card p,
html[data-theme="light"] .compact-row small,
html[data-theme="light"] .lede,
html[data-theme="light"] .setting-help{color:var(--ui-muted)}
@media(prefers-color-scheme:light){
  html[data-theme="system"] .mode-card p,
  html[data-theme="system"] .compact-row small,
  html[data-theme="system"] .lede,
  html[data-theme="system"] .setting-help{color:var(--ui-muted)}
}
html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .queue-search,
html[data-theme="light"] .site-search input{
  background:#fff;color:#152033;border-color:#b9c6d5
}
@media(prefers-color-scheme:light){
  html[data-theme="system"] .field input,
  html[data-theme="system"] .field select,
  html[data-theme="system"] .field textarea,
  html[data-theme="system"] .queue-search,
  html[data-theme="system"] .site-search input{background:#fff;color:#152033;border-color:#b9c6d5}
}
html[data-theme="light"] .secondary-btn,
html[data-theme="light"] .icon-btn{background:#eef3f8;color:#172335;border-color:#b9c6d5}
@media(prefers-color-scheme:light){
  html[data-theme="system"] .secondary-btn,
  html[data-theme="system"] .icon-btn{background:#eef3f8;color:#172335;border-color:#b9c6d5}
}
html[data-theme="light"] .app-topbar{
  background:linear-gradient(180deg,rgba(244,247,251,.98) 75%,rgba(244,247,251,0))
}
@media(prefers-color-scheme:light){
  html[data-theme="system"] .app-topbar{background:linear-gradient(180deg,rgba(244,247,251,.98) 75%,rgba(244,247,251,0))}
}
:focus-visible{outline:3px solid #f0b400!important;outline-offset:3px!important}
.warning-panel{position:relative}
.warning-panel::before{content:"⚠ ";font-weight:900}
body.offline::before{
  content:"Connection required — operational changes cannot be made offline.";
  position:fixed;top:0;left:0;right:0;z-index:5000;padding:9px 12px;text-align:center;
  background:#4e3700;color:#fff4c7;font-size:.82rem;font-weight:900
}
.readability-dyslexia body,.readability-dyslexia input,.readability-dyslexia button,.readability-dyslexia select,.readability-dyslexia textarea{
  font-family:'Lexend',system-ui,sans-serif!important
}
.platform-rights-footer{color:var(--ui-soft)}
@media(max-width:760px){
  .platform-gateway{padding-top:32px}.platform-home-head{display:grid}.platform-settings-grid{grid-template-columns:1fr}
  .platform-user-layout{grid-template-columns:1fr}.platform-admin-launch{display:grid}.platform-pin-row{grid-template-columns:1fr}
}


/* Unified theme + accessibility pass v2 */
:root{
  --app-bg:#0b0f14;
  --app-bg-soft:#111821;
  --surface:#131b25;
  --surface-raised:#172230;
  --surface-soft:#101923;
  --surface-hover:#192536;
  --border:#2b394b;
  --border-strong:#3b4d63;
  --text-main:#f7f8fb;
  --text-secondary:#aeb8c6;
  --text-soft:#8390a1;
  --accent:#1e56ff;
  --accent-soft:#a9c0ff;
  --input-bg:#0f1620;
  --nav-bg:rgba(11,16,23,.96);
  --shadow:0 12px 32px rgba(0,0,0,.18);
  --warning-bg:#2a2414;
  --warning-border:#765818;
  --warning-text:#f6d886;
  --success-bg:#102419;
  --success-border:#315f42;
  --success-text:#bfe7ca;
  --danger-bg:#2b191c;
  --danger-border:#6d343a;
  --danger-text:#ffc3c8;
}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{
  color-scheme:light;
  --app-bg:#eef3f8;
  --app-bg-soft:#f7f9fc;
  --surface:#ffffff;
  --surface-raised:#f7f9fc;
  --surface-soft:#f2f6fa;
  --surface-hover:#edf3f9;
  --border:#c7d3df;
  --border-strong:#aebdcd;
  --text-main:#142033;
  --text-secondary:#526174;
  --text-soft:#6e7b8c;
  --accent:#225cff;
  --accent-soft:#174bd8;
  --input-bg:#ffffff;
  --nav-bg:rgba(255,255,255,.96);
  --shadow:0 10px 28px rgba(37,55,76,.08);
  --warning-bg:#fff6d8;
  --warning-border:#d8b34b;
  --warning-text:#5d4800;
  --success-bg:#e9f7ed;
  --success-border:#8bc39a;
  --success-text:#235b34;
  --danger-bg:#fff0f1;
  --danger-border:#d58a91;
  --danger-text:#7d1e2b;
}
@media(prefers-color-scheme:light){
  html[data-theme="system"]{
    color-scheme:light;
    --app-bg:#eef3f8;
    --app-bg-soft:#f7f9fc;
    --surface:#ffffff;
    --surface-raised:#f7f9fc;
    --surface-soft:#f2f6fa;
    --surface-hover:#edf3f9;
    --border:#c7d3df;
    --border-strong:#aebdcd;
    --text-main:#142033;
    --text-secondary:#526174;
    --text-soft:#6e7b8c;
    --accent:#225cff;
    --accent-soft:#174bd8;
    --input-bg:#ffffff;
    --nav-bg:rgba(255,255,255,.96);
    --shadow:0 10px 28px rgba(37,55,76,.08);
    --warning-bg:#fff6d8;
    --warning-border:#d8b34b;
    --warning-text:#5d4800;
    --success-bg:#e9f7ed;
    --success-border:#8bc39a;
    --success-text:#235b34;
    --danger-bg:#fff0f1;
    --danger-border:#d58a91;
    --danger-text:#7d1e2b;
  }
}
html[data-theme="dark"]{color-scheme:dark}
@media(prefers-color-scheme:dark){
  html[data-theme="system"]{color-scheme:dark}
}

html,body{background:var(--app-bg);color:var(--text-main)}
body{
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 8%,transparent),transparent 34rem),
    linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-soft) 100%);
}
h1,h2,h3,h4,.brand-title{color:var(--text-main)}
.lede,.section-caption,.setting-help,.brand-sub,.section-title .meta,.platform-admin-launch p{color:var(--text-secondary)}
.eyebrow,.arrow,.tap-hint,.logistics-chevron{color:var(--accent-soft)}

.mode-card,.panel,.stat,.action-card,.list-card,.login-card-new,.primary-action,.compact-row,
.launch-card,.platform-login-card,.platform-setting-card,.platform-admin-launch,.platform-modal,
.platform-admin-form,.platform-user-editor,.drawer-card,.logistics-dashboard-section,.logistics-dashboard-head,
.logistics-dashboard-tile,.logistics-passive-stat,.logistics-metric,.compound-wide-action,.compound-home-card,
.compound-overview-stats button,.compound-attention-list button,.compound-run-home-row,.compound-home-group,
.run-preview-pair>div,.priority-next,.protected-notice,.critical-screen,.dataset-state,.intelligence-grid>div,
.smart-lookup,.compound-summary-strip span,.compound-group-head{
  background:var(--surface);
  color:var(--text-main);
  border-color:var(--border);
  box-shadow:none;
}
.mode-card,.platform-login-card,.platform-setting-card,.platform-admin-launch,.platform-modal,.compound-home-card{
  box-shadow:var(--shadow);
}
.mode-card:hover,.mode-card:focus-visible,.action-card:hover,.action-card:focus-visible,
.compact-row:hover,.compact-row:focus-visible,.compound-vehicle-tile:hover,.compound-vehicle-tile:focus-visible{
  background:var(--surface-hover);
  border-color:var(--accent);
}
.compact-row:active,.vehicle-tile:active,.compound-vehicle-tile:active{background:var(--surface-hover)}

.quick-row input,.field input,.field select,.field textarea,.site-search input,.queue-search,
.compound-home-search input,.platform-pin-row input,.platform-setting-card input,.platform-setting-card select,
.platform-modal input,.platform-modal select{
  background:var(--input-bg);
  color:var(--text-main);
  border-color:var(--border);
}
.quick-row input::placeholder,.site-search input::placeholder,.queue-search::placeholder,
.compound-home-search input::placeholder{color:var(--text-soft)}
.field label,.site-search label,.menu-divider{color:var(--text-secondary)}
.secondary-btn,.icon-btn,.toolbar button,.compound-home-search button{
  background:var(--surface-raised);
  color:var(--text-main);
  border-color:var(--border);
}
.secondary-btn:hover,.icon-btn:hover,.toolbar button:hover,.compound-home-search button:hover{
  background:var(--surface-hover);
  border-color:var(--border-strong);
}

.modeToggleNew{
  background:var(--surface-raised);
  border-color:var(--border);
}
.modeToggleNew button{color:var(--text-secondary)}
.modeToggleNew button.active{
  background:var(--text-main);
  color:var(--app-bg);
}
.connection-bar{
  background:var(--surface);
  color:var(--text-secondary);
  border-color:var(--border);
}
.driver-secondary-grid button,.driver-quick-routes button,.dashboard-top-actions .update{
  background:var(--surface);
  color:var(--text-main);
  border-color:var(--border);
}
.driver-secondary-grid small,.driver-quick-routes small,.dashboard-top-actions .update span,
.logistics-head p,.logistics-metric span,.logistics-passive-stat span,
.logistics-dashboard-head small,.logistics-dashboard-tile small,.vehicle-route,.vehicle-meta,
.drawer-vehicle-meta,.compact-row small,.compound-run-home-row small,.compound-total-row span{
  color:var(--text-secondary);
}
.vehicle-details,.reg-title-extra,.compact-row strong,.compound-wide-action{color:var(--text-main)}

.logistics-dashboard-head{box-shadow:none}
.logistics-dashboard-tile.primary{
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 35%,var(--border));
}
.logistics-passive-stat,.logistics-metric{box-shadow:none}
.logistics-passive-stat b,.logistics-metric b{color:var(--text-main)}

.footer-nav,.mode-bottom-nav{
  background:var(--nav-bg);
  border-color:var(--border);
  box-shadow:0 8px 30px rgba(20,35,55,.12);
}
.footer-nav button,.mode-bottom-nav button{color:var(--text-soft)}
.footer-nav button.active,.mode-bottom-nav button.active{
  background:color-mix(in srgb,var(--accent) 10%,var(--surface-raised));
  color:var(--accent-soft);
}
@media(max-width:560px){
  .app-topbar{
    background:linear-gradient(180deg,var(--app-bg) 76%,transparent);
  }
}

.notice{
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
  color:var(--accent-soft);
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));
}
.warning-panel{
  background:var(--warning-bg);
  border-color:var(--warning-border);
  color:var(--warning-text);
}
.success-receipt{
  background:var(--success-bg);
  border-color:var(--success-border);
  color:var(--success-text);
}
.compound-quick-grid button.required,.compound-needed-home-row{
  background:var(--danger-bg);
  border-color:var(--danger-border);
  color:var(--danger-text);
}
.compound-quick-grid button.ready,.compound-home-group.stock{
  background:var(--success-bg);
  border-color:var(--success-border);
  color:var(--success-text);
}
.compound-quick-grid button.stay,.compound-home-group.nonstock{
  background:var(--warning-bg);
  border-color:var(--warning-border);
  color:var(--warning-text);
}
.compound-quick-grid button.update{
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
  color:var(--text-main);
}
.compound-quick-grid button:not(.required):not(.ready):not(.stay):not(.update){
  background:var(--surface);
  border-color:var(--border);
  color:var(--text-main);
}
.compound-total-row{
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
  color:var(--text-main);
}
.group-breakdown button{
  background:color-mix(in srgb,var(--text-main) 3%,var(--surface));
  border-color:var(--border);
  color:var(--text-main);
}
.group-breakdown span,.compound-home-group .group-top span{color:var(--text-secondary)}
.attention-icon.red{background:var(--danger-bg);color:var(--danger-text)}
.attention-icon.amber{background:var(--warning-bg);color:var(--warning-text)}
.attention-icon.green{background:var(--success-bg);color:var(--success-text)}

.compound-live-header{
  background:linear-gradient(135deg,#0d4d79,#17689a);
  color:#fff;
}
.compound-live-header h1,.compound-live-header h2,.compound-live-header h3,
.driver-hero-new h1,.driver-hero-new h2,.driver-hero-new h3,
.driver-big-action h1,.driver-big-action h2,.driver-big-action h3,
.feedback-launch h1,.feedback-launch h2,.feedback-launch h3{color:#fff}
.compound-live-pill{
  background:#e9f7ed;
  border-color:#8bc39a;
  color:#235b34;
}
.reg-plate{
  background:#f2d643!important;
  color:#111!important;
  border-color:#d5bb2e!important;
}

/* Accessibility */
html[data-reading-font="lexend"] body,
html[data-reading-font="lexend"] button,
html[data-reading-font="lexend"] input,
html[data-reading-font="lexend"] select,
html[data-reading-font="lexend"] textarea{
  font-family:'Lexend',system-ui,sans-serif!important;
}
html[data-reading-font="atkinson"] body,
html[data-reading-font="atkinson"] button,
html[data-reading-font="atkinson"] input,
html[data-reading-font="atkinson"] select,
html[data-reading-font="atkinson"] textarea{
  font-family:'Atkinson Hyperlegible',Arial,sans-serif!important;
}
html[data-reading-font="verdana"] body,
html[data-reading-font="verdana"] button,
html[data-reading-font="verdana"] input,
html[data-reading-font="verdana"] select,
html[data-reading-font="verdana"] textarea{
  font-family:Verdana,Geneva,sans-serif!important;
}
html[data-reading-font="standard"] body,
html[data-reading-font="standard"] button,
html[data-reading-font="standard"] input,
html[data-reading-font="standard"] select,
html[data-reading-font="standard"] textarea{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.readability-dyslexia body{letter-spacing:.012em}
.readability-dyslexia p,.readability-dyslexia small,.readability-dyslexia .lede,
.readability-dyslexia .section-caption,.readability-dyslexia .setting-help{
  line-height:1.72;
  word-spacing:.055em;
}
.readability-dyslexia button,.readability-dyslexia input,.readability-dyslexia select,.readability-dyslexia textarea{
  line-height:1.45;
}
.readability-dyslexia .compact-row,.readability-dyslexia .primary-action,
.readability-dyslexia .mode-card,.readability-dyslexia .platform-setting-card{
  row-gap:9px;
}
.accessibility-card{grid-column:auto}
.accessibility-toggle{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:13px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-soft);
  color:var(--text-main);
  cursor:pointer;
}
.accessibility-toggle input{width:auto!important;margin-top:3px}
.accessibility-toggle strong,.accessibility-toggle small{display:block}
.accessibility-toggle small{margin-top:3px;color:var(--text-secondary);font-size:.78rem;line-height:1.45}
.accessibility-preview{
  margin-top:12px;
  padding:13px 14px;
  border:1px dashed var(--border-strong);
  border-radius:14px;
  background:var(--surface-raised);
  color:var(--text-main);
  line-height:1.6;
}
.readability-inline-btn{
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  color:var(--accent-soft);
  border-color:color-mix(in srgb,var(--accent) 35%,var(--border));
}
.readability-inline-btn:hover,.readability-inline-btn:focus-visible{
  background:color-mix(in srgb,var(--accent) 13%,var(--surface));
}

/* Keep intentionally coloured primary operational actions distinct in both themes */
.primary-btn,.dashboard-top-actions .request,.brand-mark,.gateway-mark,
.primary-action .mini-icon,.compound-wide-action .mini-icon{
  background:var(--accent);
  color:#fff;
}
.feedback-launch{color:#fff}
.driver-hero-new,.driver-big-action,.launch-choice.driver{color:#fff}

/* Colour-blind support: status meaning should not rely on colour alone */
.warning-panel::before{content:"⚠ ";font-weight:950}
.success-receipt::before{content:"✓ ";font-weight:950}
.connection-bar.live .connection-dot::after{content:"";display:block}
:focus-visible{outline:3px solid #f0b400!important;outline-offset:3px!important}


/* Dyslexia spacing v4: spacing only, font choice remains independent */
html.dyslexia-spacing body{
  letter-spacing:.018em;
  word-spacing:.05em;
}
html.dyslexia-spacing h1,
html.dyslexia-spacing h2,
html.dyslexia-spacing h3,
html.dyslexia-spacing h4,
html.dyslexia-spacing strong,
html.dyslexia-spacing .brand-title,
html.dyslexia-spacing .compound-live-title{
  letter-spacing:.012em;
}
html.dyslexia-spacing p,
html.dyslexia-spacing small,
html.dyslexia-spacing .lede,
html.dyslexia-spacing .section-caption,
html.dyslexia-spacing .setting-help,
html.dyslexia-spacing .vehicle-meta,
html.dyslexia-spacing .vehicle-route,
html.dyslexia-spacing .drawer-vehicle-meta,
html.dyslexia-spacing .compact-row small{
  letter-spacing:.018em;
  line-height:1.72;
  word-spacing:.075em;
}
html.dyslexia-spacing button,
html.dyslexia-spacing input,
html.dyslexia-spacing select,
html.dyslexia-spacing textarea,
html.dyslexia-spacing .field label,
html.dyslexia-spacing .eyebrow,
html.dyslexia-spacing .section-title .meta{
  letter-spacing:.015em;
  line-height:1.45;
}
html.dyslexia-spacing .accessibility-toggle small{
  line-height:1.62;
}
html.dyslexia-spacing .compact-row > span:nth-child(2),
html.dyslexia-spacing .vehicle-main{
  min-width:0;
}
html.dyslexia-spacing .reg-plate{
  letter-spacing:.08em;
}
/* Important: this mode must never choose or override a font.
   Font selection is controlled only by data-reading-font. */


/* Driver mode — mobile-first operational pass */
.driver-mobile-sheet{display:grid;gap:12px}
.driver-mobile-identity{display:flex;align-items:center;gap:12px}
.driver-mobile-identity>div{display:grid;gap:2px}
.driver-mobile-identity strong{font-size:1.18rem;line-height:1.2}
.driver-mobile-identity small{color:var(--text-secondary);font-size:.82rem}
.driver-mobile-status{display:grid;gap:3px;padding:12px 13px;border-radius:15px;border:1px solid var(--border)}
.driver-mobile-status strong{font-size:1rem}
.driver-mobile-status span{font-size:.9rem;line-height:1.35}
.driver-mobile-status small{font-size:.76rem;color:var(--text-secondary)}
.driver-mobile-status.ready{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}
.driver-mobile-status.requested{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}
.driver-mobile-status.neutral{background:var(--surface-raised)}
.driver-mobile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.driver-mobile-meta span{display:grid;gap:2px;padding:10px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised);font-size:.86rem;min-width:0}
.driver-mobile-meta b{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}
.driver-mobile-actions{display:grid;gap:8px}
.driver-main-action{min-height:58px;font-size:.96rem}
.driver-secondary-action{min-height:48px}
.driver-tertiary-action{min-height:42px;border-color:transparent;background:transparent;color:var(--text-secondary)}
.driver-tertiary-action:hover,.driver-tertiary-action:focus-visible{background:var(--surface-raised);border-color:var(--border)}
.driver-quick-success{text-align:center;display:grid;gap:8px;justify-items:center;padding:6px 0}
.driver-quick-success h3,.driver-quick-success p{margin:0}
.driver-quick-success small{color:var(--text-secondary)}
.driver-quick-success .driver-mobile-actions{width:100%;margin-top:8px}
.driver-mobile-nav .nav-icon{display:block;font-size:1.12rem;line-height:1}
.driver-mobile-nav button>span:last-child{display:block;margin-top:4px}

@media(max-width:640px){
  body.driver-mode-active .app-shell{
    width:100%;
    padding:8px 10px calc(92px + env(safe-area-inset-bottom));
  }
  body.driver-mode-active .app-topbar{
    margin:0 -2px 6px;
    padding:7px 2px 9px;
    gap:8px;
  }
  body.driver-mode-active .brand-lockup{gap:8px;min-width:0}
  body.driver-mode-active .brand-mark{width:38px;height:38px;border-radius:12px;flex:0 0 auto}
  body.driver-mode-active .brand-title{font-size:.98rem;line-height:1.12}
  body.driver-mode-active .brand-sub{font-size:.7rem}
  body.driver-mode-active .modeToggleNew{padding:2px;border-radius:11px;flex:0 0 auto}
  body.driver-mode-active .modeToggleNew button{padding:7px 9px;font-size:.68rem}
  body.driver-mode-active .connection-bar{
    margin:0 0 8px;
    padding:7px 9px;
    font-size:.7rem;
    border-radius:11px;
  }
  body.driver-mode-active #bannerRefreshBtn{font-size:.66rem!important;padding:5px 7px!important}
  body.driver-mode-active .feedback-launch{display:none}
  body.driver-mode-active .site-search{margin:0 0 10px}
  body.driver-mode-active .site-search label{font-size:.67rem;letter-spacing:.08em}
  body.driver-mode-active .site-search input,
  body.driver-mode-active .queue-search{
    min-height:48px;
    padding:10px 12px;
    border-radius:15px;
    font-size:1rem;
  }
  body.driver-mode-active .section-title{margin:16px 2px 7px}
  body.driver-mode-active .section-title h2{font-size:1.18rem}
  body.driver-mode-active .section-caption{margin:0 2px 10px;font-size:.82rem;line-height:1.35}
  body.driver-mode-active .compact-list{gap:8px}
  body.driver-mode-active .vehicle-tile{
    grid-template-columns:1fr auto;
    gap:8px;
    min-height:0;
    padding:12px 12px;
    border-radius:17px;
  }
  body.driver-mode-active .vehicle-tile>.dot{display:none}
  body.driver-mode-active .vehicle-main{gap:3px}
  body.driver-mode-active .vehicle-details{font-size:.9rem}
  body.driver-mode-active .vehicle-route{font-size:.78rem;line-height:1.25}
  body.driver-mode-active .vehicle-meta{font-size:.72rem;line-height:1.25}
  body.driver-mode-active .tap-hint{font-size:1.25rem}
  body.driver-mode-active .driver-mobile-nav{
    width:calc(100% - 12px);
    bottom:max(6px,env(safe-area-inset-bottom));
    padding:5px;
    gap:2px;
    border-radius:17px;
  }
  body.driver-mode-active .driver-mobile-nav button{
    display:block;
    min-width:0;
    padding:7px 2px 6px;
    font-size:.63rem;
    line-height:1.05;
    white-space:nowrap;
  }
  body.driver-mode-active .drawer{padding:0;align-items:flex-end}
  body.driver-mode-active .drawer-card{
    width:100%;
    max-height:82dvh;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    padding:15px 14px calc(15px + env(safe-area-inset-bottom));
  }
  body.driver-mode-active .drawer-head{margin-bottom:10px}
  body.driver-mode-active .drawer-head h2{font-size:1rem;letter-spacing:.04em}
  body.driver-mode-active .drawer-head .icon-btn{padding:8px 10px}
  body.driver-mode-active .reg-plate{font-size:.9rem;min-width:auto}
  .driver-mobile-meta{grid-template-columns:1fr 1fr}
  .driver-mobile-identity{align-items:flex-start;flex-direction:column;gap:8px}
}


/* Movement interaction focus — centred desktop modals, mobile snap + reg lookup */
body.drawer-open{overflow:hidden}
.movement-reg-search{width:100%;min-height:44px;margin-top:8px}
.movement-reg-status{margin-top:8px;padding:9px 11px;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);font-size:.78rem;line-height:1.35}
.movement-reg-match{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised)}
.movement-reg-match>span:last-child{display:grid;gap:2px;min-width:0}
.movement-reg-match strong{font-size:.9rem}
.movement-reg-match small{color:var(--text-secondary);font-size:.74rem;line-height:1.3}
.movement-reg-found .movement-reg-match{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface-raised))}
@media(max-width:640px){
  .drawer{
    height:100dvh;
    padding:0;
    align-items:flex-end;
    overscroll-behavior:contain;
  }
  .drawer-card{
    width:100%;
    max-height:90dvh;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    padding:16px 14px calc(16px + env(safe-area-inset-bottom));
    scroll-margin-bottom:0;
  }
  .movement-reg-search{min-height:48px}
  .movement-reg-match{align-items:flex-start;flex-direction:column}
}


/* Explicit Site Movements home navigation */
.movements-header-actions{display:flex;gap:7px;align-items:center}
.movements-home-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;white-space:nowrap}
@media(max-width:640px){
  .movements-home-btn{min-height:38px;padding:7px 9px;font-size:.68rem}
  .movements-home-btn span{display:none}
}


/* Driver direct movement chooser */
.driver-move-sheet{gap:12px}
.driver-move-destinations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.driver-destination-btn{
  min-height:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:1.05;
}
.driver-destination-btn span{
  font-size:.7rem;
  letter-spacing:.08em;
  opacity:.82;
}
.driver-destination-btn strong{font-size:1rem}
@media(max-width:520px){
  .driver-move-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .driver-destination-btn{min-height:68px;padding:10px 8px}
}


/* Mandatory post-movement fuel / charge capture */
.fuel-movement-success{margin-bottom:10px}
.fuel-movement-prompt{
  display:grid;
  gap:3px;
  margin:8px 0 10px;
  text-align:center;
}
.fuel-movement-prompt strong{font-size:1rem}
.fuel-movement-prompt span{font-size:.78rem;color:var(--text-secondary);line-height:1.35}
.fuel-level-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.fuel-level-btn{
  min-height:58px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-raised);
  color:var(--text-primary);
  font:inherit;
  cursor:pointer;
}
.fuel-level-btn strong{font-size:1rem}
.fuel-level-btn:active{transform:scale(.98)}
.fuel-no-reading,.fuel-undo-movement{width:100%;margin-top:8px}
@media(max-width:520px){
  .fuel-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .fuel-level-btn{min-height:62px}
}
