:root{--ink:#17211c;--muted:#647069;--surface:#ffffff;--surface-2:#f6f4ee;--line:#d9dfd8;--green:#0b5f4a;--green-2:#0d8a65;--gold:#d9942b;--red:#b83333;--blue:#215f9b;--shadow:0 24px 60px rgba(23,33,28,0.12)}*{box-sizing:border-box}html{background:var(--surface-2);color:var(--ink)}body,html{min-height:100%}body{margin:0;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.62}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.6rem);line-height:.95}h2{font-size:clamp(1.45rem,3vw,2.4rem);line-height:1.02}h3{font-size:1.05rem;line-height:1.2}.app-shell{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:100svh}.rail{position:-webkit-sticky;position:sticky;top:0;height:100svh;padding:20px 14px;background:#101915;color:#f4f1e7;display:flex;flex-direction:column;gap:32px;align-items:center}.brand{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--gold);color:#111;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:700}.rail nav{display:grid;grid-gap:12px;gap:12px;width:100%}.rail-link{display:grid;place-items:center;grid-gap:5px;gap:5px;min-height:58px;border-radius:8px;color:rgba(244,241,231,.72)}.rail-link span{font-size:.72rem}.rail-link:hover{background:rgba(255,255,255,.08);color:#fff}main{min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:26px 34px 18px}.topbar-actions{display:flex;gap:10px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);cursor:pointer}.workspace{display:grid;grid-gap:22px;gap:22px;padding:0 34px 40px}.narrow-workspace{max-width:920px}.hero-panel,.metrics-band,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);min-height:430px;overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:clamp(26px,4vw,52px)}.hero-copy p,.panel p,.sos-screen p{color:var(--muted);line-height:1.6}.action-stack,.hero-actions,.status-row,.topbar-actions{display:flex;gap:12px;flex-wrap:wrap}.danger-link,.primary-link,.secondary-link,.text-button,.ui-button{min-height:42px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border:1px solid transparent;padding:0 16px}.primary-link,.ui-button--primary{background:var(--green);color:white}.secondary-link,.ui-button--secondary{background:#eef4f1;color:var(--green);border-color:#bfd6cc}.danger-link,.ui-button--danger{background:var(--red);color:white}.text-button{min-height:36px;color:var(--green);border-color:var(--line);background:white}.full-width{width:100%}.eyebrow{text-transform:uppercase;font-size:.76rem;font-weight:800;color:var(--green)}.ui-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;font-size:.78rem;font-weight:800;border:1px solid var(--line);background:#f8faf8;color:var(--ink)}.ui-badge--trusted{background:#e5f4ec;border-color:#b5dcc9;color:#075a42}.ui-badge--warning{background:#fff3db;border-color:#eed19b;color:#7a4b08}.ui-badge--danger{background:#fde8e7;border-color:#efb6b2;color:#8b1f1f}.metrics-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;background:var(--line)}.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr));box-shadow:none}.ui-metric{min-height:104px;padding:18px;display:grid;align-content:center;grid-gap:5px;gap:5px;background:var(--surface)}.ui-metric small,.ui-metric span{color:var(--muted)}.ui-metric strong{font-size:1.5rem}.active-grid,.ride-detail,.search-grid,.split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);grid-gap:22px;gap:22px}.panel{padding:22px;display:grid;grid-gap:18px;gap:18px}.dark-panel{background:#101915;color:#f4f1e7;border-color:#25342d}.dark-panel p{color:rgba(244,241,231,.7)}.page-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-heading{align-items:center}.method-list,.ride-list{display:grid;grid-gap:12px;gap:12px}.source-note{color:var(--muted);font-size:.88rem;line-height:1.45}.source-note--danger{color:#b3261e}.empty-state{display:grid;grid-gap:8px;gap:8px;min-height:118px;align-content:center;padding:18px;border:1px dashed var(--line);border-radius:8px;background:#fbfcfb}.empty-state p{color:var(--muted);line-height:1.5}.empty-state--danger{border-color:#efb6b2;background:#fff7f6}.ride-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;min-height:118px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.ride-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:var(--muted)}.network-person span,.ride-meta span,.safety-list span{display:inline-flex;align-items:center;gap:6px}.ride-action{display:grid;justify-items:end;grid-gap:9px;gap:9px}.route-map{position:relative;min-height:100%;background:linear-gradient(135deg,rgba(11,95,74,.92),rgba(33,95,155,.78)),radial-gradient(circle at 20% 20%,rgba(217,148,43,.55),transparent 28%);color:white;overflow:hidden}.route-map--compact{min-height:170px;border-radius:8px}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 0);background-size:44px 44px}.map-line{position:absolute;height:4px;border-radius:999px;background:rgba(255,255,255,.75);transform-origin:left center}.map-line-a{width:72%;left:12%;top:56%;transform:rotate(-18deg)}.map-line-b{width:46%;left:36%;top:38%;transform:rotate(22deg);background:rgba(217,148,43,.86)}.map-pin{position:absolute;width:18px;height:18px;border:4px solid white;border-radius:50%;background:var(--gold);box-shadow:0 0 0 12px rgba(255,255,255,.12)}.map-pin-origin{left:16%;top:56%}.map-pin-destination{right:14%;top:34%}.route-map-labels{position:absolute;inset:auto 24px 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;font-size:1rem}.route-map-labels strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,5vw,4.4rem);line-height:.92}.action-stack,.form-grid,.safety-list{display:grid;grid-gap:12px;gap:12px}.safety-list span{min-height:42px;color:inherit}.filters-panel{align-content:start}label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-weight:700}input,select{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fbfcfb;color:var(--ink)}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}.drive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.45fr);grid-gap:22px;gap:22px;align-items:start}.checkbox-row{color:var(--ink)}.toggle-row{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 14px;border:1px solid var(--line);border-radius:8px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:800}.driver-panel{align-content:start}.driver-avatar{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--green);color:white;font-family:Georgia,Times New Roman,serif;font-size:2rem}.booking-panel{gap:24px}.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.booking-steps span{display:grid;place-items:center;min-height:42px;border-radius:8px;background:#edf1ee;font-weight:800;color:var(--muted)}.booking-steps .active{background:var(--green);color:white}.payment-box{min-height:100px;display:flex;gap:16px;align-items:center;padding:18px;border-radius:8px;background:#f5f8f6;border:1px solid var(--line)}.active-grid{align-items:start}.progress-line{height:10px;border-radius:999px;background:#e0e7e1;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--gold)}.large-meta{font-size:1rem;justify-content:space-between}.sos-screen{min-height:560px;border-radius:8px;display:grid;place-items:center;align-content:center;grid-gap:18px;gap:18px;padding:30px;text-align:center;background:#101915;color:#fff;box-shadow:var(--shadow)}.sos-screen p{max-width:440px;color:rgba(255,255,255,.74)}.sos-screen .sos-error{color:#ffd7d2}.sos-call{min-height:58px;max-width:360px}.network-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.network-person{gap:10px;min-height:230px}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 18px;gap:8px 18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px}.ledger-row small{grid-column:1/-1;color:var(--muted)}.method-row{grid-template-columns:auto minmax(0,1fr);align-items:center}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-panel{min-height:460px;align-content:end}.chat-bubble{display:grid;grid-gap:4px;gap:4px;max-width:78%;padding:12px 14px;border-radius:8px;background:#edf2ee}.chat-bubble small,.chat-bubble strong{font-size:.78rem}.chat-bubble small{color:var(--muted)}.chat-bubble.outgoing{justify-self:end;background:var(--green);color:white}.chat-bubble.outgoing small{color:rgba(255,255,255,.72)}.chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.offline-page{min-height:100svh;display:grid;place-items:center;align-content:center;grid-gap:16px;gap:16px;padding:24px;text-align:center}.offline-page a{color:white;background:var(--red);border-radius:8px;padding:14px 18px;font-weight:800}@media (max-width:980px){.app-shell{grid-template-columns:1fr;padding-bottom:84px}.rail{position:fixed;inset:auto 12px 12px;z-index:20;height:62px;padding:8px;border-radius:18px;flex-direction:row;justify-content:center;box-shadow:var(--shadow)}.brand{display:none}.rail nav{display:flex;justify-content:space-around}.rail-link{width:min(66px,18vw);min-height:46px}.topbar,.workspace{padding-left:18px;padding-right:18px}.active-grid,.drive-grid,.hero-panel,.network-grid,.ride-detail,.search-grid,.split{grid-template-columns:1fr}.route-map{min-height:300px}.compact-metrics,.metrics-band{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.topbar{align-items:start}.hero-copy{padding:24px}.page-heading,.ride-row,.section-heading{grid-template-columns:1fr;display:grid}.ride-action{justify-items:start}.compact-metrics,.form-grid,.metrics-band{grid-template-columns:1fr}}