[hidden]{display:none !important;}
body.driver-authenticated #driverLoginPanel,
body.driver-authenticated #driverSignupPanel { display:none !important; visibility:hidden !important; height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; overflow:hidden !important; }
body.driver-authenticated .driver-only-footer { display:grid; }
.driver-only-footer span { color:rgba(255,255,255,.68); font-size:13px; }
:root {
  --primary: #0b7a3b;
  --primary-dark: #064d2a;
  --dark: #061512;
  --background: #f7f8fa;
  --card: #ffffff;
  --border: #e5e7eb;
  --text: #111827;
  --muted: #6b7280;
  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #16a34a;
  --blue: #2563eb;
  --shadow: 0 18px 50px rgba(6, 21, 18, .10);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--background);
  color: var(--text);
  display: grid;
  grid-template-columns: 280px 1fr;
}

button, input, select { font: inherit; }

button {
  border: 0;
  border-radius: 14px;
  padding: 12px 16px;
  background: var(--primary);
  color: white;
  cursor: pointer;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(11, 122, 59, .18);
}

button:hover { filter: brightness(.97); }
button:disabled { opacity: .55; cursor: not-allowed; }

button.secondary { background: var(--dark); }
button.danger { background: var(--danger); }
button.warning { background: var(--warning); color: #211400; }

#loginBtn,
#driverSignupBtn {
  background: linear-gradient(135deg, var(--primary), #16a34a);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 30px rgba(11, 122, 59, .28);
}

#loginBtn:focus-visible,
#driverSignupBtn:focus-visible,
.bottom-nav a:focus-visible {
  outline: 3px solid rgba(22, 163, 74, .38);
  outline-offset: 3px;
}

button.ghost, button.ghost-dark {
  background: transparent;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.4);
}

button.ghost-dark {
  color: var(--text);
  border-color: var(--border);
}

input, select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px 14px;
  outline: none;
  background: white;
}

input:focus, select:focus { border-color: rgba(11, 122, 59, .5); box-shadow: 0 0 0 4px rgba(11, 122, 59, .08); }

label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 20px; margin-bottom: 2px; }
h2 { font-size: clamp(24px, 3vw, 36px); margin-bottom: 8px; }
h3 { margin-bottom: 10px; }
p { color: var(--muted); line-height: 1.55; }

.sidebar {
  background:
    radial-gradient(circle at 10% 0%, rgba(22, 163, 74, .28), transparent 26%),
    linear-gradient(180deg, #061512, #09231c);
  color: white;
  min-height: 100vh;
  padding: 24px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 28px;
  position: sticky;
  top: 0;
}

.brand { display: flex; align-items: center; gap: 12px; }
.brand span, .sidebar-footer a { color: rgba(255,255,255,.68); }

.brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #15a85d, #0b7a3b);
  font-weight: 900;
}

nav { display: grid; gap: 8px; align-content: start; }

.nav-link {
  text-decoration: none;
  color: rgba(255,255,255,.74);
  padding: 13px 14px;
  border-radius: 16px;
  font-weight: 800;
}

.nav-link.active, .nav-link:hover {
  background: rgba(255,255,255,.12);
  color: white;
}

.sidebar-footer { display: grid; gap: 8px; }
.sidebar-footer a { text-decoration: none; }

.app-shell {
  padding: 26px;
  display: grid;
  gap: 18px;
  align-content: start;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.top-actions { display: flex; align-items: center; gap: 10px; }

.session-badge, .pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 8px 12px;
  background: #e8f7ee;
  color: var(--primary-dark);
  font-weight: 800;
  font-size: 13px;
}

.eyebrow {
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  color: var(--primary);
  font-weight: 900;
}

.glass, .card, .hero-card, .table-card, .map-card {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.auth-panel {
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 2fr;
  gap: 18px;
  align-items: end;
}

.auth-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: end;
}

.driver-signup-panel {
  align-items: start;
}

.signup-grid {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.signup-grid button {
  min-height: 47px;
}

.section { display: none; }
.section.active { display: grid; gap: 18px; }

.hero-card {
  padding: 28px;
  min-height: 220px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  color: white;
  background:
    linear-gradient(90deg, rgba(6,21,18,.96), rgba(6,21,18,.56)),
    url("https://images.unsplash.com/photo-1598514983318-2f64f8f4796c?auto=format&fit=crop&w=1600&q=80") center/cover;
  overflow: hidden;
}

.hero-card p { color: rgba(255,255,255,.82); max-width: 620px; }

.online-card {
  width: 220px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.20);
  display: grid;
  gap: 12px;
  backdrop-filter: blur(10px);
}

.online-card span { font-size: 28px; font-weight: 900; }

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
}

.metric {
  padding: 18px;
  border-radius: 22px;
  background: white;
  border: 1px solid var(--border);
  box-shadow: 0 12px 28px rgba(6,21,18,.06);
}

.metric strong { display: block; font-size: 28px; }
.metric span { color: var(--muted); font-weight: 800; font-size: 13px; }

.driver-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.driver-tool-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 210px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84)),
    url("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?auto=format&fit=crop&w=900&q=82") center/cover;
  box-shadow: 0 16px 38px rgba(6,21,18,.08);
}

.driver-tool-card.proof {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84)),
    url("https://images.unsplash.com/photo-1604881991720-f91add269bed?auto=format&fit=crop&w=900&q=82");
}

.driver-tool-card.heat {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84)),
    url("https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=900&q=82");
}

.driver-tool-card.cash {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84)),
    url("https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=900&q=82");
}

.driver-tool-card span {
  width: max-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: #e8f7ee;
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 900;
}

.driver-tool-card strong {
  font-size: 20px;
}

.driver-tool-card p {
  margin: 0;
  font-size: 14px;
}

.driver-tool-card button {
  align-self: end;
  justify-self: start;
}

.grid-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.card { padding: 18px; }
.section-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; }

.stack { display: grid; gap: 12px; }

.request-card, .trip-detail, .activity-item {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  background: #fbfcfd;
}

.request-card {
  display: grid;
  gap: 10px;
}

.request-card .row, .trip-detail .row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.request-card strong { font-size: 18px; }
.muted { color: var(--muted); }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }

.activity-feed {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
}

.activity-item {
  border-left: 4px solid var(--primary);
  font-size: 14px;
}

.trip-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 18px;
}

.map-card { min-height: 560px; overflow: hidden; }
#driverMap { width: 100%; min-height: 560px; height: 100%; }

.trip-card { display: grid; align-content: start; gap: 12px; }

.timeline {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--muted);
  font-weight: 800;
}

.timeline-dot {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 4px solid #d8eadf;
  background: white;
}

.timeline-item.active { color: var(--primary-dark); }
.timeline-item.active .timeline-dot { background: var(--primary); border-color: #bce8cc; }

.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.profile-grid div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fbfcfd;
}

.profile-grid span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-grid strong { overflow-wrap: anywhere; }

.table-card { padding: 16px; overflow-x: auto; }

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

th, td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}

th {
  color: var(--muted);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .04em;
}

#toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  background: var(--dark);
  color: white;
  padding: 14px 16px;
  border-radius: 16px;
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(10px);
  transition: .2s ease;
  z-index: 50;
}

#toast.show { opacity: 1; transform: translateY(0); }

.action-status {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  max-height: 240px;
  overflow: auto;
  padding: 14px;
  border-radius: 18px;
  background: white;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  z-index: 40;
  font-size: 13px;
}

.action-status.success { border-color: rgba(22, 163, 74, .35); }
.action-status.error { border-color: rgba(239, 68, 68, .35); background: #fff7f7; }
.action-status pre { white-space: pre-wrap; color: var(--muted); margin-bottom: 0; }
.action-status details summary { cursor: pointer; font-weight: 800; color: var(--primary-dark); }
.bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 45;
  display: none;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  width: min(620px, calc(100% - 24px));
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow);
  pointer-events: auto;
}
.bottom-nav a {
  display: grid;
  place-items: center;
  min-height: 40px;
  border-radius: 16px;
  color: var(--text);
  background: #eef2f6;
  text-decoration: none;
  font-weight: 900;
  font-size: 12px;
  cursor: pointer;
  pointer-events: auto;
  border: 1px solid transparent;
  transition: .16s ease;
}
.bottom-nav a:hover {
  border-color: rgba(11, 122, 59, .22);
  background: #e5f6ec;
  color: var(--primary-dark);
}
.bottom-nav a.active { background: var(--primary); color: white; }

@media (max-width: 980px) {
  body { grid-template-columns: 1fr; padding-bottom: 78px; }
  .sidebar { position: static; min-height: auto; }
  .auth-panel, .auth-grid, .grid-two, .trip-layout, .metric-grid, .profile-grid, .driver-quick-grid { grid-template-columns: 1fr; }
  .app-shell { padding: 16px; }
  .hero-card { flex-direction: column; align-items: stretch; }
  .online-card { width: 100%; }
  .bottom-nav { display: grid; }
}


/* V8 driver portal polish */
body{background:linear-gradient(180deg,#f7faf8 0%,#f2f6f3 100%);}
.sidebar{box-shadow:12px 0 38px rgba(5,29,18,.09);}
.panel,.card,.hero-card,.metric{border-color:#e3ebe6;box-shadow:0 12px 34px rgba(14,43,28,.06);}
input,select,textarea{border-radius:14px;min-height:46px;}
button{border-radius:14px;}
h1,h2,h3{letter-spacing:-.025em;}

/* V9 driver onboarding */
.driver-auth-gateway{display:grid;grid-template-columns:1.2fr .8fr;min-height:310px;border-radius:28px;overflow:hidden;background:#071b16;color:#fff;box-shadow:var(--shadow)}
.driver-auth-visual{padding:42px;background:linear-gradient(90deg,rgba(5,34,25,.96),rgba(5,34,25,.70)),url('https://images.unsplash.com/photo-1526367790999-0150786686a2?auto=format&fit=crop&w=1400&q=82') center/cover}
.driver-auth-visual h2{font-size:clamp(34px,4vw,58px);max-width:760px;line-height:1.02;margin:12px 0 18px}.driver-auth-visual p{color:rgba(255,255,255,.8);max-width:680px;font-size:17px}.driver-auth-kicker{font-size:12px;letter-spacing:.16em;font-weight:900;color:#6ee7a5}.driver-benefits{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.driver-benefits span{background:rgba(255,255,255,.1);padding:9px 12px;border-radius:999px;font-weight:800}
.driver-auth-choice{background:#fff;color:var(--text);padding:36px;display:flex;flex-direction:column;justify-content:center}.driver-auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f3;border-radius:16px;padding:5px;gap:5px}.driver-auth-tab{background:transparent;color:#183029;box-shadow:none}.driver-auth-tab.active{background:#0b7a3b;color:#fff;box-shadow:0 8px 20px rgba(11,122,59,.2)}#driverAuthHint{margin:18px 4px 0}
.auth-flow-card{border-radius:28px;padding:28px}.driver-signup-panel .signup-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.driver-signup-panel:before{content:'STEP 1 OF 1 · DRIVER APPLICATION';display:block;color:var(--primary);font-size:11px;letter-spacing:.13em;font-weight:900;grid-column:1/-1}
body.driver-authenticated #driverAuthGateway{display:none!important}
@media(max-width:1000px){.driver-auth-gateway{grid-template-columns:1fr}.driver-auth-visual{padding:30px}.driver-signup-panel .signup-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.driver-signup-panel .signup-grid{grid-template-columns:1fr}.driver-auth-tabs{grid-template-columns:1fr}.driver-auth-visual h2{font-size:36px}}


/* V41 driver experience: mobile-first, map/trip/request hierarchy inspired by modern delivery apps. */
@media(max-width:760px){
  body.driver-authenticated{display:block!important;background:#f6f6f6!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  body.driver-authenticated .sidebar{display:none!important}
  .app-shell{padding:0 12px calc(88px + env(safe-area-inset-bottom))!important;gap:12px!important;max-width:100%!important}
  .topbar{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);margin:0 -12px;padding:12px 14px!important;border-bottom:1px solid #ececec}
  .topbar .eyebrow{display:none}.topbar h2{font-size:20px!important}.session-badge{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .section.active{gap:12px!important}
  .hero-card{min-height:310px!important;margin:0 -12px!important;border-radius:0 0 26px 26px!important;padding:20px!important;align-items:flex-end!important;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.58)),url("https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=1200&q=82") center/cover!important}
  .hero-card>div:first-child{max-width:65%!important}.hero-card>div:first-child .eyebrow{display:none}.hero-card>div:first-child h2{font-size:24px!important;margin-bottom:6px}.hero-card>div:first-child p{font-size:13px!important;margin:0}
  .online-card{width:132px!important;padding:12px!important;border-radius:20px!important;gap:8px!important;background:rgba(255,255,255,.94)!important;color:#111!important;border:0!important}.online-card span{font-size:18px!important;color:#111!important}.online-card button{min-height:48px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:15px!important}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.metric{padding:14px!important;border-radius:18px!important}
  .driver-quick-grid{display:flex!important;overflow-x:auto!important;gap:10px!important;scroll-snap-type:x mandatory;padding-bottom:4px}.driver-tool-card{min-width:78vw!important;scroll-snap-align:start!important}
  .grid-two,.trip-layout{grid-template-columns:1fr!important;display:grid!important;gap:12px!important}.card,.table-card,.map-card{border-radius:20px!important;box-shadow:none!important}
  .request-card{border:1px solid #e8e8e8!important;border-radius:20px!important;padding:16px!important;background:#fff!important;box-shadow:0 6px 18px rgba(0,0,0,.06)!important}.request-card .row{gap:8px!important;flex-wrap:wrap!important}.request-card button{min-height:46px!important;border-radius:999px!important}
  #requestsTable table,#historyTable table{min-width:720px}.table-card{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  #driverMap{min-height:52dvh!important;border-radius:18px!important}.trip-card{order:2!important}.map-card{order:1!important}
  #activeTrip .trip-actions{position:sticky!important;bottom:74px!important;background:#fff!important;padding-top:10px!important;z-index:30!important}
  .bottom-nav{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(7px + env(safe-area-inset-bottom))!important;z-index:1200!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important;padding:5px!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px)!important;box-shadow:0 10px 30px rgba(0,0,0,.14)!important}
  .bottom-nav a{min-width:0!important;min-height:48px!important;padding:7px 3px!important;border-radius:16px!important;color:#111!important;text-decoration:none!important;font-size:11px!important;font-weight:900!important;display:grid!important;place-items:center!important}.bottom-nav a.active{background:#ededed!important}
  .auth-panel,.driver-auth-gateway{grid-template-columns:1fr!important}.driver-auth-visual{min-height:260px!important}.auth-grid,.signup-grid{grid-template-columns:1fr!important}
}
@media(min-width:761px) and (max-width:1199px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.trip-layout{grid-template-columns:1fr!important}.signup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V43: one clean authentication surface, no duplicated login/signup cards. */
.driver-auth-unified{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);overflow:hidden}
.driver-auth-unified .driver-auth-choice{padding:34px;justify-content:flex-start}
.embedded-auth-panel{margin:18px 0 0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.driver-login-grid{grid-template-columns:1fr!important}
.driver-login-grid button{width:100%;min-height:52px}
body:not(.driver-authenticated) .topbar{display:none}
@media(max-width:820px){.driver-auth-unified{grid-template-columns:1fr}.driver-auth-visual{min-height:250px}.driver-auth-unified .driver-auth-choice{padding:22px}.signup-grid{grid-template-columns:1fr!important}}

/* V44 production driver onboarding */
.driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.driver-signup-panel .signup-grid label{min-width:0!important}
.driver-signup-panel .signup-grid input,.driver-signup-panel .signup-grid select{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.driver-consent{grid-column:1/-1!important;display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px 4px!important}
.driver-consent input{width:auto!important;margin-top:3px!important}
#driverSignupBtn{grid-column:1/-1!important;min-height:52px!important}
@media(max-width:760px){.driver-signup-panel .signup-grid{grid-template-columns:1fr!important}.driver-auth-choice{padding:18px!important}.driver-auth-gateway{border-radius:18px!important}}


/* V49: responsive production driver onboarding for desktop, tablet, and phone. */
body.driver-signup-mode:not(.driver-authenticated) .app-shell{
  max-width:1440px!important;
  width:100%!important;
  padding:28px!important;
}
body.driver-signup-mode .driver-auth-unified{
  grid-template-columns:minmax(360px,.72fr) minmax(720px,1.28fr)!important;
  max-width:1380px!important;
  width:100%!important;
  margin-inline:auto!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
body.driver-signup-mode .driver-auth-visual{
  min-width:0!important;
  padding:44px!important;
}
body.driver-signup-mode .driver-auth-choice{
  min-width:0!important;
  padding:32px 36px!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
body.driver-signup-mode .driver-signup-panel{width:100%!important;min-width:0!important}
body.driver-signup-mode .driver-signup-panel .signup-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;
  width:100%!important;
  align-items:start!important;
}
body.driver-signup-mode .driver-signup-panel .signup-grid label{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  font-size:13px!important;
  line-height:1.3!important;
}
body.driver-signup-mode .driver-signup-panel input,
body.driver-signup-mode .driver-signup-panel select{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:50px!important;
  padding:12px 14px!important;
  font-size:16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.driver-signup-mode .driver-consent,
body.driver-signup-mode #driverSignupBtn{grid-column:1/-1!important}
body.driver-signup-mode .driver-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:14px 16px!important;
  background:#f3f7f4!important;
  border:1px solid #e2ebe5!important;
  border-radius:14px!important;
}
body.driver-signup-mode .driver-consent input{
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;flex:0 0 22px!important;margin:1px 0 0!important;
}
body.driver-signup-mode #driverSignupBtn{min-height:54px!important;font-size:16px!important;width:100%!important}
@media (min-width:901px) and (max-width:1199px){
  body.driver-signup-mode:not(.driver-authenticated) .app-shell{max-width:1080px!important;padding:22px!important}
  body.driver-signup-mode .driver-auth-unified{grid-template-columns:1fr!important;max-width:980px!important}
  body.driver-signup-mode .driver-auth-visual{min-height:240px!important;padding:30px!important}
  body.driver-signup-mode .driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:900px){
  body.driver-signup-mode:not(.driver-authenticated) .app-shell{padding:16px!important}
  body.driver-signup-mode .driver-auth-unified{grid-template-columns:1fr!important;max-width:760px!important}
  body.driver-signup-mode .driver-auth-visual{min-height:220px!important;padding:26px!important}
  body.driver-signup-mode .driver-auth-choice{padding:24px!important}
  body.driver-signup-mode .driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:620px){
  body.driver-signup-mode:not(.driver-authenticated) .app-shell{padding:10px!important}
  body.driver-signup-mode .driver-auth-visual{min-height:190px!important;padding:22px!important}
  body.driver-signup-mode .driver-auth-choice{padding:18px!important}
  body.driver-signup-mode .driver-signup-panel .signup-grid{grid-template-columns:1fr!important}
  body.driver-signup-mode .driver-auth-tabs{grid-template-columns:1fr 1fr!important}
}

/* V50: production partner application layout across desktop/tablet/phone. */
body.driver-signup-mode:not(.driver-authenticated) .app-shell{max-width:1500px!important;padding:24px!important}
body.driver-signup-mode .driver-auth-unified{grid-template-columns:minmax(420px,.9fr) minmax(700px,1.1fr)!important;max-width:1460px!important;min-height:820px!important}
body.driver-signup-mode .driver-auth-choice{padding:34px 40px!important;overflow:auto!important;max-height:calc(100dvh - 48px)!important}
body.driver-signup-mode .driver-signup-panel{display:block!important;width:100%!important;min-width:0!important;padding:0!important}
body.driver-signup-mode .driver-signup-panel:before{display:block!important;margin:4px 0 16px!important}
body.driver-signup-mode .driver-signup-panel>div:first-of-type{display:block!important;margin-bottom:18px!important}
body.driver-signup-mode .driver-signup-panel .signup-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 18px!important;width:100%!important}
body.driver-signup-mode .driver-signup-panel .signup-grid label{width:100%!important;min-width:0!important}
body.driver-signup-mode .driver-signup-panel .signup-grid input,
body.driver-signup-mode .driver-signup-panel .signup-grid select{width:100%!important;min-width:0!important;max-width:none!important;min-height:52px!important;font-size:15px!important;border-radius:10px!important;background:#f4f5f5!important}
body.driver-signup-mode .driver-consent{grid-column:1/-1!important;min-height:64px!important;display:flex!important;align-items:flex-start!important;gap:12px!important}
body.driver-signup-mode .driver-consent input{appearance:auto!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;flex:0 0 22px!important}
body.driver-signup-mode #driverSignupBtn{grid-column:1/-1!important;min-height:56px!important;border-radius:10px!important}
@media(min-width:901px) and (max-width:1250px){body.driver-signup-mode .driver-auth-unified{grid-template-columns:1fr!important;max-width:980px!important}body.driver-signup-mode .driver-auth-visual{min-height:320px!important}body.driver-signup-mode .driver-auth-choice{max-height:none!important}}
@media(max-width:700px){body.driver-signup-mode .driver-signup-panel .signup-grid{grid-template-columns:1fr!important}body.driver-signup-mode .driver-auth-choice{padding:20px!important;max-height:none!important}.driver-auth-tabs{position:sticky;top:0;z-index:5}}


/* V52 delivery-app workflow */
.trip-stage-label{font-size:12px;letter-spacing:.14em;font-weight:900;color:#0b7a3b;margin:6px 0 10px}
.trip-contact-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.trip-primary-action{width:100%;min-height:58px!important;font-size:18px!important;border-radius:16px!important;background:#111!important;color:#fff!important}
body.driver-authenticated [data-view="trip"].active .trip-layout{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)!important}
body.driver-authenticated [data-view="trip"].active .map-card{min-height:560px!important}
body.driver-authenticated #driverMap{min-height:540px!important}
@media(max-width:1000px){body.driver-authenticated [data-view="trip"].active .trip-layout{grid-template-columns:1fr!important}body.driver-authenticated [data-view="trip"].active .map-card{order:-1;min-height:420px!important}body.driver-authenticated #driverMap{min-height:400px!important}}
@media(max-width:700px){body.driver-authenticated [data-view="trip"].active .map-card{min-height:46dvh!important;border-radius:0!important;margin-left:-16px!important;margin-right:-16px!important}body.driver-authenticated #driverMap{min-height:46dvh!important}.trip-primary-action{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:6}}


/* V53: high-visibility session, upfront request details, and responsive driver operations. */
#logoutBtn.signout-cta{background:linear-gradient(135deg,#ff5a1f,#e63946)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 10px 26px rgba(230,57,70,.28)!important;min-height:46px!important;padding:11px 18px!important;font-weight:900!important}
#logoutBtn.signout-cta:hover{filter:brightness(.96)!important;transform:translateY(-1px)}
.driver-upfront-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border:1px solid #dfe9e3;border-radius:24px;background:linear-gradient(135deg,#fff,#eefaf3);box-shadow:0 12px 30px rgba(6,21,18,.05)}
.driver-upfront-panel p{margin:0;max-width:700px}.driver-upfront-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.driver-upfront-badges span{padding:9px 11px;border-radius:999px;background:#071b16;color:#fff;font-size:12px;font-weight:900}
.request-route{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:#f2f7f4}.request-route span{font-size:13px;color:var(--muted)}
.request-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.request-facts>div{padding:10px;border-radius:14px;background:#fff;border:1px solid var(--border)}.request-facts span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.request-facts strong{font-size:15px;margin-top:3px;display:block}
.driver-tool-card.safety{background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.84)),url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=82")}
@media(max-width:1100px){.driver-upfront-panel{align-items:flex-start;flex-direction:column}.driver-upfront-badges{justify-content:flex-start}.request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.top-actions{gap:7px}.session-badge{max-width:48vw}.signout-cta{padding:9px 12px!important;min-height:42px!important}.request-facts{grid-template-columns:1fr 1fr}.driver-upfront-panel{padding:16px;border-radius:18px}}


/* V55 dispatch-first driver experience: work before widgets, crisp high-contrast actions. */
body.driver-authenticated .hero-card{min-height:180px!important;border-radius:26px!important;box-shadow:0 10px 34px rgba(6,21,18,.12)!important}
body.driver-authenticated .grid-two{order:1}body.driver-authenticated .driver-quick-grid{order:2}
.request-card{border:1px solid #e7e7e7!important;box-shadow:0 8px 26px rgba(15,23,42,.06)!important}.request-facts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:14px 0!important}.request-facts>div{background:#f6f7f6;border-radius:14px;padding:10px}.request-facts span{font-size:11px;color:#6b7280;display:block}.request-facts strong{font-size:15px}
.signout-cta:not([hidden]){background:linear-gradient(135deg,#ef4444,#f97316)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(239,68,68,.28)!important;min-width:104px!important}
.driver-proof-modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px}.driver-proof-modal[hidden]{display:none!important}.driver-proof-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.driver-proof-card{position:relative;z-index:1;width:min(560px,100%);background:#fff;border-radius:24px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.3);display:grid;gap:14px}.driver-proof-card textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;resize:vertical}.driver-proof-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border-radius:999px;background:#f2f2f2;color:#111;box-shadow:none;padding:0;font-size:24px}.trip-primary-action{min-height:58px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:17px!important}
@media(max-width:760px){.request-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.driver-quick-grid{margin-top:0!important}.driver-proof-card{border-radius:24px 24px 16px 16px;padding:22px 18px}.signout-cta:not([hidden]){min-width:88px!important;padding:10px 12px!important}}


/* V55 auth and driver production fixes */
#driverLoginPanel[hidden],#driverSignupPanel[hidden]{display:none!important;}
body:not(.driver-signup-mode):not(.driver-authenticated) #driverSignupPanel{display:none!important;}
body.driver-signup-mode:not(.driver-authenticated) #driverLoginPanel{display:none!important;}
@media(min-width:901px){body.driver-signup-mode .driver-auth-unified{grid-template-columns:minmax(360px,.85fr) minmax(620px,1.15fr)!important;}body.driver-signup-mode .driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important;}}


/* V56 driver production UX: auth isolation, map/request-first home, responsive utility tools. */
#driverSignupPanel[hidden],#driverLoginPanel[hidden]{display:none!important;visibility:hidden!important;}
body:not(.driver-signup-mode) #driverSignupPanel{display:none!important;}
body.driver-signup-mode #driverLoginPanel{display:none!important;}
.driver-tools-disclosure{margin-top:18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;overflow:hidden}.driver-tools-disclosure>summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:900;display:flex;align-items:center;justify-content:space-between}.driver-tools-disclosure>summary::after{content:'+';font-size:24px}.driver-tools-disclosure[open]>summary::after{content:'−'}.driver-tools-disclosure .driver-quick-grid{padding:0 18px 18px!important;margin:0!important}.driver-tool-card{min-height:190px!important}.driver-tool-card button{min-height:46px!important}.logout-button,#logoutBtn{background:#e11900!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(225,25,0,.22)!important;font-weight:900!important;}
@media(min-width:1200px){body.driver-signup-mode .driver-auth-unified{grid-template-columns:minmax(440px,.9fr) minmax(760px,1.1fr)!important}.driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important}}
@media(min-width:768px) and (max-width:1199px){body.driver-signup-mode .driver-auth-unified{grid-template-columns:1fr!important}.driver-signup-panel .signup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.driver-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){.driver-signup-panel .signup-grid{grid-template-columns:1fr!important}.driver-tools-disclosure{border-radius:14px}.driver-quick-grid{grid-template-columns:1fr!important}.driver-tool-card{min-height:auto!important}}

/* V65 driver mobile navigation: role-specific, thumb-friendly, no customer-style “Menu”. */
@media(max-width:760px){
  body.driver-authenticated{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;overflow:visible!important}
  .bottom-nav a{font-size:10.5px!important;line-height:1.05!important;white-space:nowrap!important;padding-inline:2px!important}
  .section-head{align-items:flex-start!important;gap:12px!important}
  .section-head>button{max-width:48%;white-space:normal!important}
  .topbar h1{font-size:clamp(28px,9vw,42px)!important;line-height:.98!important}
  .top-actions{margin-left:auto!important;flex-wrap:nowrap!important}
  .session-badge{max-width:44vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
}


/* V66 final mobile hardening: safe-area navigation, compact session header, account logout. */
.account-session-actions{display:flex;justify-content:flex-end;margin-top:18px}
.account-signout{background:linear-gradient(135deg,#ef4444,#f97316)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(239,68,68,.22)!important;min-height:48px!important;font-weight:900!important}
@media(max-width:760px){
  .bottom-nav{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    bottom:calc(7px + env(safe-area-inset-bottom))!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    padding:5px!important;
    overflow:hidden!important;
  }
  .bottom-nav a{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    padding:7px 1px!important;
  }
  .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important}
  .topbar h1{min-width:0!important;overflow-wrap:anywhere!important}
  .top-actions{min-width:0!important;gap:6px!important}
  .session-badge{max-width:38vw!important;font-size:11px!important;padding:8px 9px!important}
  #logoutBtn.signout-cta{min-width:72px!important;max-width:82px!important;padding:9px 8px!important;font-size:12px!important;line-height:1.05!important}
  .account-session-actions{justify-content:stretch}
  .account-signout{width:100%!important}
}
@media(max-width:420px){
  .session-badge{display:none!important}
  .topbar{grid-template-columns:minmax(0,1fr) auto!important}
  #logoutBtn.signout-cta{min-width:70px!important}
}


/* V70 driver clarity: earnings and work opportunities first. */
.driver-today-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.driver-today-strip>div{padding:16px 18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,#fff,#f3faf6);box-shadow:0 8px 24px rgba(3,35,27,.06)}.driver-today-strip span,.driver-today-strip small{display:block;color:var(--muted);font-weight:800}.driver-today-strip strong{display:block;margin:4px 0;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em}.driver-today-strip small{font-size:12px}.request-card{transition:transform .16s ease,box-shadow .16s ease}.request-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(3,35,27,.10)}
@media(max-width:700px){.driver-today-strip{grid-template-columns:1fr 1fr}.driver-today-strip>div:first-child{grid-column:1/-1}.driver-today-strip>div{padding:14px}.driver-today-strip strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V75 — map-first driver experience inspired by modern courier apps, with YourAddis branding. */
.driver-map-home{position:relative;min-height:520px;border-radius:30px;overflow:hidden;background:#e8eee9;border:1px solid #dbe5dd;box-shadow:0 24px 70px rgba(5,46,22,.12);margin-bottom:22px}
#driverHomeMap{position:absolute;inset:0;min-height:520px;z-index:1}
.driver-map-home:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 52%,rgba(0,28,16,.48) 100%)}
.driver-map-status{position:absolute;z-index:3;left:24px;right:24px;bottom:22px;display:flex;gap:18px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);padding:18px 20px;border-radius:22px;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.driver-map-status>div{display:grid;gap:3px}.driver-map-status strong{font-size:21px;color:#07150d}.driver-map-status small{color:#657069}.driver-map-status button{min-width:150px;background:#16a34a;color:#fff;border:0;border-radius:16px;padding:16px 20px;font-weight:900;font-size:16px}
.driver-secondary-hero{margin-top:0}
@media(max-width:760px){.driver-map-home{margin:-12px -14px 16px;border-radius:0;min-height:58dvh}.driver-map-home #driverHomeMap{min-height:58dvh}.driver-map-status{left:12px;right:12px;bottom:14px;padding:14px;border-radius:18px;align-items:stretch;flex-direction:column}.driver-map-status button{width:100%;min-height:52px}.driver-secondary-hero{display:none!important}body.driver-authenticated main{padding-top:0!important}}

/* V76 earnings tip breakdown */
.earnings-tip-line{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #dfe7e3;font-weight:800}.earnings-tip-line span{color:#66736d}.earnings-tip-line strong{color:#08713e}


/* V77 single online control + immediate delivery request alert. */
.online-card-primary-control{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.driver-request-alert[hidden]{display:none!important}
.driver-request-alert{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px}
.driver-request-alert-backdrop{position:absolute;inset:0;background:rgba(2,16,10,.64);backdrop-filter:blur(7px)}
.driver-request-alert-card{position:relative;width:min(520px,calc(100vw - 28px));background:#fff;border-radius:28px;padding:28px;box-shadow:0 34px 90px rgba(0,0,0,.32);border:1px solid rgba(7,90,49,.12)}
.request-alert-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e7f8ee;color:#08713e;font-size:12px;font-weight:950;letter-spacing:.08em}
.driver-request-alert-card h2{font-size:clamp(28px,5vw,42px);margin:14px 0 8px;letter-spacing:-.035em}.driver-request-alert-card p{font-size:17px;color:#5d6963;line-height:1.5}
.driver-request-alert-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px}.driver-request-alert-actions button{min-height:52px;font-weight:900}
@media(max-width:600px){.driver-request-alert{align-items:end;padding:10px}.driver-request-alert-card{border-radius:26px 26px 18px 18px;padding:22px}.driver-request-alert-actions{grid-template-columns:1fr}.driver-request-alert-actions button{width:100%}}

/* V80: professional GPS-assisted delivery lifecycle */
.driver-auto-status{display:grid;gap:6px;margin:14px 0;padding:15px 16px;border:1px solid #b9dfc7;border-radius:16px;background:#effaf3;color:#113c24}
.driver-auto-status strong{font-size:15px}.driver-auto-status span{font-size:13px;line-height:1.5;color:#486757}
