:root{--idrive-green:#0f6;--idrive-darkgreen:#00b347;--idrive-dark:#0b0f17;--idrive-card:#131924;--idrive-border:#212b3b;--idrive-accent:#1e293b;--idrive-hover:#2a374e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{color:#fff;background:#06090e;font-family:Noto Sans Lao Looped,Noto Sans Lao,sans-serif}.app-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131924f5;border-bottom:1px solid #212b3b;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.app-header-left,.app-header-right{align-items:center;gap:8px;min-width:0;display:flex}.app-header-right{flex-shrink:0}.app-brand{align-items:center;gap:8px;min-width:0;display:flex}.app-brand-mark{object-fit:cover;border-radius:8px;flex-shrink:0;width:28px;height:28px;display:block}.idrive-logo{object-fit:contain;border-radius:22%;flex-shrink:0;display:block;box-shadow:0 8px 24px #00e85a47,0 2px 6px #00000040}.idrive-logo-sm{border-radius:8px;width:28px;height:28px;box-shadow:0 2px 8px #00e85a33}.idrive-logo-lg{border-radius:18px;width:64px;height:64px}.idrive-logo-xl{border-radius:26px;width:96px;height:96px}.app-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.app-brand-name{letter-spacing:-.02em;font-size:16px;font-weight:900}.app-brand-role{color:#0f6;white-space:nowrap;font-size:10px;font-weight:700}.app-brand-role.is-driver{color:#facc15}.header-icon-btn{color:#d1d5db;background:0 0;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,color .15s;display:flex;position:relative}.header-icon-btn:hover,.header-icon-btn:focus-visible{color:#fff;background:#1e293b;outline:none}.header-icon-btn i{font-size:15px}.header-role-btn{color:#0f6;background:#00ff661a;border:1px solid #00ff6647;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,border-color .15s,color .15s;display:flex}.header-role-btn:hover,.header-role-btn:focus-visible{background:#00ff662e;outline:none}.header-role-btn.is-driver{color:#facc15;background:#facc151f;border-color:#facc1559}.header-notif-badge{color:#06090e;background:#0f6;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:8px;font-weight:900;line-height:1;display:flex;position:absolute;top:6px;right:6px}.header-notif-badge.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#screen-driver-apply{flex-direction:column;display:flex;overflow:hidden}#screen-driver-apply.hidden{display:none!important}.da-hero{text-align:center;padding:12px 8px 4px}.da-perk{background:#131924;border:1px solid #212b3b;border-radius:16px;align-items:flex-start;gap:12px;padding:12px;display:flex}.da-perk>i{color:#0f6;background:#00ff661f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.da-veh-opt{cursor:pointer;background:#131924;border:1px solid #212b3b;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-size:11px;font-weight:700;display:flex}.da-veh-opt input{opacity:0;pointer-events:none;position:absolute}.da-veh-opt:has(input:checked){background:#00ff6614;border-color:#00ff668c;box-shadow:0 0 0 1px #0f63}.da-veh-opt i{font-size:18px}.kyc-group h3{margin:0;font-size:13px;font-weight:800}.kyc-group>p{color:#9ca3af;margin:4px 0 10px;font-size:11px}.kyc-tiles{gap:10px;display:grid}.kyc-tile{background:#131924;border:1px solid #212b3b;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:72px 1fr;gap:8px 12px;padding:10px;display:grid}.kyc-tile.has-file{border-color:#0f66}.kyc-tile.is-busy{opacity:.55;pointer-events:none}.kyc-preview{color:#0f6;background:#0b1220;border-radius:12px;grid-row:1/3;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.kyc-preview img{object-fit:cover;width:100%;height:100%}.kyc-meta p{align-items:center;gap:6px;margin:0;font-size:13px;font-weight:800;display:flex}.kyc-meta em{color:#0f6;background:#00ff661f;border-radius:999px;padding:2px 6px;font-size:9px;font-style:normal}.kyc-meta span{color:#6b7280;font-size:9px;font-weight:700}.kyc-meta small{color:#9ca3af;font-size:11px}.kyc-actions{gap:6px;display:flex}.kyc-btn{color:#06090e;cursor:pointer;background:#0f6;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:800;position:relative;overflow:hidden}.kyc-btn.ghost{color:#e5e7eb;background:#1e293b;border:1px solid #212b3b}.kyc-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.da-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131924f5;border-top:1px solid #212b3b;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.da-footer.hidden{display:none!important}.da-btn-ghost{color:#d1d5db;background:#1e293b;border:1px solid #212b3b;border-radius:14px;flex:none;min-width:72px;height:48px;font-size:13px;font-weight:800}.da-btn-primary{color:#06090e;background:#0f6;border:0;border-radius:14px;flex:1;height:48px;font-size:13px;font-weight:900;box-shadow:0 0 24px #00ff6640}select.auth-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239ca3af' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#0b0f17}::-webkit-scrollbar-thumb{background:#212b3b;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#0f6}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.leaflet-container{background:#090d14!important}.custom-pin{box-shadow:none!important;background:0 0!important;border:none!important;overflow:visible!important}.map-pin{pointer-events:none;filter:drop-shadow(0 6px 12px #00000059);flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;display:flex;position:relative}.map-pin-label{z-index:2;letter-spacing:.01em;white-space:nowrap;pointer-events:none;border:1.5px solid #ffffffeb;border-radius:999px;justify-content:center;align-items:center;height:26px;padding:0 12px;font-size:11px;font-weight:800;line-height:1;animation:.35s cubic-bezier(.22,1,.36,1) both mapPinLabelIn;display:inline-flex;position:relative;box-shadow:0 4px 14px #00000047}.map-pin-label:after{content:"";background:inherit;border-bottom:1.5px solid #ffffffeb;border-right:1.5px solid #ffffffeb;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:2px 2px 4px #0000001f}.map-pin--pickup .map-pin-label{color:#06100a;background:#0f6}.map-pin--dest .map-pin-label{color:#fff;background:#ef4444}.map-pin-dot{background:var(--pin-bg,#0f6);border:2.5px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 14px #00000073}.map-pin-dot i{font-size:15px;line-height:1}.map-pin--pickup .map-pin-dot i{color:#06090e}.map-pin--dest .map-pin-dot i{color:#fff}.custom-pin>.map-pin-dot{background:var(--pin-bg,#0f6)}.custom-pin>.map-pin-dot i{color:#06090e;font-size:14px}@keyframes mapPinLabelIn{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:none}}.leaflet-routing-container{display:none!important}.leaflet-control-attribution{opacity:.5;font-size:9px!important}.glass{-webkit-backdrop-filter:blur(20px);background:#131924f0}.glow-green{box-shadow:0 0 24px #00ff664d}.glow-green-sm{box-shadow:0 0 12px #0f63}@keyframes radar-pulse{0%{opacity:.9;transform:scale(.9)}50%{opacity:.3;transform:scale(1.45)}to{opacity:0;transform:scale(1.9)}}.radar-pulse{animation:2.2s cubic-bezier(.215,.61,.355,1) infinite radar-pulse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-float{animation:3s ease-in-out infinite float}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.25s ease-out forwards fadeUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.slide-up{animation:.35s cubic-bezier(.34,1.56,.64,1) forwards slideUp}.search-drop{z-index:999;background:#131924;border:1px solid #212b3b;border-radius:14px;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 16px 40px #0009}.search-item{cursor:pointer;border-bottom:1px solid #1e293b;align-items:center;gap:8px;padding:10px 14px;font-size:12px;transition:background .15s;display:flex}.search-item:hover{color:#0f6;background:#1e293b}.search-item:last-child{border-bottom:none}@keyframes carBounce{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(2deg)}}.driver-car{animation:1.5s ease-in-out infinite carBounce}.route-badge{color:#0f6;background:#00ff661f;border:1px solid #00ff664d;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:.7s linear infinite spin}#toast{transition:all .3s cubic-bezier(.34,1.56,.64,1)}#app{position:relative}.flow-screen{z-index:80;background:radial-gradient(80% 50% at 50% -10%,#00ff662e,#0000),linear-gradient(165deg,#0b0f17 0%,#06090e 45%,#0a1210 100%);flex-direction:column;display:flex;position:absolute;inset:0}.flow-screen.hidden{display:none!important}#app-shell{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}#app-shell.hidden{display:none!important}.page-screen{z-index:40;-webkit-overflow-scrolling:touch;background:#0b0f17;animation:.28s ease-out pageIn;position:absolute;inset:0 0 64px;overflow-y:auto}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-header{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131924f5;border-bottom:1px solid #212b3b;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.bottom-nav{z-index:45;height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#131924fa;border-top:1px solid #212b3b;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.nav-item{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:700;transition:color .15s,background .15s;display:flex}.nav-item i{font-size:18px}.nav-item.nav-active{color:#0f6;background:#00ff6614}#screen-home{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex;position:relative;overflow:hidden}#screen-home.hidden{display:none!important}#screen-home>main{flex:1;min-height:0;position:relative}.booking-locations{z-index:50;position:relative;overflow:visible}.booking-locations .search-drop{z-index:1000}.splash-logo{animation:1.4s ease-in-out infinite splashPulse}@keyframes splashPulse{0%,to{transform:scale(1);box-shadow:0 0 #00ff6673}50%{transform:scale(1.04);box-shadow:0 0 40px 8px #0f63}}.ob-card{background:#131924b3;border:1px solid #212b3b;border-radius:28px;padding:28px 22px}.ob-flow{z-index:99999!important;background:radial-gradient(120% 80% at 50% -10%,#00ff6638,#0000 55%),linear-gradient(#0b0f17 0%,#06090e 48%,#0b0f17 100%)!important;flex-direction:column!important;justify-content:space-between!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;padding:24px 22px 32px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.ob-flow.is-visible .ob-stage{animation:.55s cubic-bezier(.22,1,.36,1) both obFlowIn}@keyframes obFlowIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}.ob-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ob-orb{filter:blur(36px);opacity:.55;will-change:transform;border-radius:50%;animation:5s ease-in-out infinite obOrbFloat;position:absolute}.ob-orb-a{background:#00ff6659;width:240px;height:240px;top:6%;left:-70px}.ob-orb-b{background:#facc152e;width:200px;height:200px;animation-delay:-2.2s;bottom:18%;right:-60px}.ob-grid{opacity:.55;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:28px 28px;animation:12s linear infinite obGridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 50% 35%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 55% at 50% 35%,#000 20%,#0000 75%)}@keyframes obOrbFloat{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,-22px)scale(1.12)}}@keyframes obGridDrift{0%{background-position:0 0,0 0}to{background-position:28px 28px,28px 28px}}.ob-skip{z-index:2;color:#9ca3af;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;align-self:flex-end;padding:8px 14px;font-size:12px;font-weight:700;position:relative}.ob-skip:active{color:#fff;background:#ffffff14}.ob-stage{z-index:1;flex-direction:column;flex:1;justify-content:center;gap:18px;width:100%;min-height:0;display:flex;position:relative}.ob-visual{background:linear-gradient(#131924b3 0%,#0b0f1759 100%);border:1px solid #212b3bf2;border-radius:28px;width:100%;height:min(44vh,340px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 20px 50px #0006}.ob-scene{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1),visibility .4s;position:absolute;inset:0;transform:translate(28px)scale(.96)}.ob-scene.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,0)scale(1)}.ob-speed{pointer-events:none;opacity:0;position:absolute;inset:0 0 86px;overflow:hidden}.ob-scene.is-active .ob-speed{opacity:1}.ob-speed span{background:linear-gradient(90deg,#0000,#00ff668c,#0000);border-radius:2px;height:2px;animation:1.1s linear infinite obSpeedLine;position:absolute}.ob-speed span:first-child{width:42%;animation-duration:.9s;top:28%;left:-30%}.ob-speed span:nth-child(2){width:55%;animation-duration:1.15s;animation-delay:-.3s;top:46%;left:-40%}.ob-speed span:nth-child(3){width:36%;animation-duration:.8s;animation-delay:-.55s;top:62%;left:-25%}@keyframes obSpeedLine{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{opacity:0;transform:translate(280%)}}.ob-city{opacity:.65;justify-content:center;align-items:flex-end;gap:10px;height:100px;padding:0 24px;display:flex;position:absolute;bottom:78px;left:0;right:0}.ob-scene.is-active .ob-city{animation:6s ease-in-out infinite obCityParallax}@keyframes obCityParallax{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.ob-bldg{background:linear-gradient(#243044,#131924);border-radius:6px 6px 0 0;width:36px;display:block;position:relative;box-shadow:inset 0 0 0 1px #ffffff0d}.ob-bldg:after{content:"";background:repeating-linear-gradient(#0000 0 8px,#00ff6638 8px 10px);animation:2.4s ease-in-out infinite obWindowBlink;position:absolute;inset:10px 8px 12px}.ob-bldg.b2:after{animation-delay:-.7s}.ob-bldg.b3:after{animation-delay:-1.3s}@keyframes obWindowBlink{0%,to{opacity:.45}50%{opacity:1}}.ob-bldg.b1{height:48px}.ob-bldg.b2{width:46px;height:78px}.ob-bldg.b3{height:60px}.ob-bldg.b4{width:30px;height:42px}.ob-road{background:linear-gradient(#1a2230 0%,#0d121a 100%);height:86px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.ob-road:before{content:"";background:#ffffff1a;height:2px;position:absolute;top:0;left:0;right:0}.ob-lane{background:repeating-linear-gradient(90deg,#0000 0 20px,#facc15bf 20px 40px);height:4px;position:absolute;top:42%;left:-50%;right:-50%}.ob-scene.is-active .ob-lane{animation:.55s linear infinite obLaneScroll}@keyframes obLaneScroll{0%{transform:translate(0)}to{transform:translate(-40px)}}.ob-taxi-wrap{opacity:1;will-change:transform;width:180px;margin-left:-90px;position:absolute;bottom:8px;left:50%}.ob-scene.is-active .ob-taxi-wrap:not(.ob-taxi-cruise){animation:2.8s cubic-bezier(.4,0,.2,1) infinite obTaxiDrive}@keyframes obTaxiDrive{0%{transform:translate(-165%)}18%{transform:translate(-40%)}42%{transform:translate(0)}58%{transform:translate(8px)}to{transform:translate(165%)}}.ob-taxi-cruise{opacity:1}.ob-scene.is-active .ob-taxi-cruise{animation:2.4s ease-in-out infinite obTaxiCruise}@keyframes obTaxiCruise{0%,to{transform:translate(-22%)}50%{transform:translate(28%)}}.ob-taxi{filter:drop-shadow(0 12px 18px #00ff6659);width:100%;height:auto;display:block}.ob-scene.is-active .ob-taxi-body{transform-origin:bottom;animation:.35s ease-in-out infinite obTaxiBob}.ob-scene.is-active .ob-wheel{transform-box:fill-box;transform-origin:50%;animation:.35s linear infinite obWheelSpin}@keyframes obTaxiBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes obWheelSpin{to{transform:rotate(360deg)}}.ob-headlight{filter:blur(2px);pointer-events:none;background:radial-gradient(#fff7adbf,#0000 70%);border-radius:40%;width:70px;height:18px;animation:.8s ease-in-out infinite alternate obHeadlight;position:absolute;top:38%;right:-10px}@keyframes obHeadlight{0%{opacity:.45;transform:scaleX(.85)}to{opacity:1;transform:scaleX(1.15)}}.ob-pin-person{width:18px;height:28px;position:absolute;bottom:52px;right:26px}.ob-scene.is-active .ob-pin-person{animation:1.4s ease-in-out infinite obPersonBounce}.ob-person-dot{background:#facc15;border-radius:50%;width:14px;height:14px;margin:0 auto;display:block;box-shadow:0 0 0 5px #facc1538}.ob-pin-person:after{content:"";border-top:12px solid #facc15;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin:2px auto 0;display:block}@keyframes obPersonBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.ob-float-coins{z-index:2;width:80px;height:100px;position:absolute;top:22px;left:16px}.ob-coin{color:#3b2a05;background:linear-gradient(145deg,#ffe566,#f59e0b);border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:900;display:grid;position:absolute;box-shadow:0 8px 16px #f59e0b73}.ob-coin.c1{top:4px;left:8px}.ob-coin.c2{top:32px;left:38px}.ob-coin.c3{top:58px;left:2px}.ob-scene.is-active .ob-coin.c1{animation:1.6s ease-in-out infinite obCoinFloat}.ob-scene.is-active .ob-coin.c2{animation:1.9s ease-in-out .25s infinite obCoinFloat}.ob-scene.is-active .ob-coin.c3{animation:1.5s ease-in-out .45s infinite obCoinFloat}@keyframes obCoinFloat{0%,to{transform:translateY(0)rotate(-10deg)scale(1)}50%{transform:translateY(-14px)rotate(12deg)scale(1.08)}}.ob-fare-bubble{z-index:2;text-align:left;background:#0b0f17eb;border:1px solid #00ff6673;border-radius:16px;padding:10px 14px;position:absolute;top:28px;right:14px;box-shadow:0 12px 28px #0006,0 0 24px #00ff661f}.ob-scene.is-active .ob-fare-bubble{animation:2s ease-in-out infinite obBubblePulse}.ob-fare-tag{color:#0f6;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.ob-fare-bubble strong{color:#fff;font-size:17px;font-weight:900}@keyframes obBubblePulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.04)}}.ob-map-card{background:#101722;border:1px solid #212b3b;border-radius:22px;position:absolute;inset:22px 20px 28px;overflow:hidden}.ob-map-grid{background-image:linear-gradient(#00ff6612 1px,#0000 1px),linear-gradient(90deg,#00ff6612 1px,#0000 1px);background-size:22px 22px;animation:8s linear infinite obGridDrift;position:absolute;inset:0}.ob-route{width:100%;height:100%;position:absolute;inset:0}.ob-route-line{stroke-dasharray:1;stroke-dashoffset:1px}.ob-scene.is-active .ob-route-line{animation:1.6s forwards obDrawRoute,1s linear 1.6s infinite obRouteDash}@keyframes obDrawRoute{to{stroke-dashoffset:0}}@keyframes obRouteDash{0%{stroke-dasharray:.08 .08;stroke-dashoffset:0}to{stroke-dasharray:.08 .08;stroke-dashoffset:-.16px}}.ob-map-pin{transform-box:fill-box;transform-origin:50%}.ob-scene.is-active .ob-map-pin.start,.ob-scene.is-active .ob-map-pin.end{animation:1.2s ease-in-out infinite obPinPulse}.ob-scene.is-active .ob-map-pin.end{animation-delay:.35s}@keyframes obPinPulse{0%,to{filter:drop-shadow(0 0 #0000);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #00ff66b3);transform:scale(1.25)}}.ob-mini-taxi{color:#0f6;background:#00ff662e;border:1px solid #00ff668c;border-radius:50%;place-items:center;width:38px;height:38px;font-size:15px;display:grid;position:absolute;top:68%;left:12%;box-shadow:0 0 20px #00ff6640}.ob-scene.is-active .ob-mini-taxi{animation:2.8s cubic-bezier(.45,0,.2,1) infinite obTaxiAlongLoop}@keyframes obTaxiAlongLoop{0%{top:70%;left:10%;transform:scale(.9)rotate(-8deg)}50%{top:34%;left:48%;transform:scale(1.05)rotate(4deg)}to{top:26%;left:74%;transform:scale(1)rotate(10deg)}}.ob-gps-ring{pointer-events:none;border:2px solid #00ff6659;border-radius:50%;width:100px;height:100px;margin:-50px 0 0 -50px;position:absolute;top:50%;left:50%}.ob-scene.is-active .ob-gps-ring{animation:1.6s ease-out infinite obGpsPulse}@keyframes obGpsPulse{0%{opacity:.85;transform:scale(.55)}to{opacity:0;transform:scale(1.8)}}.ob-shield-wrap{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:18px 16px 78px}.ob-shield{z-index:1;color:#0b0f17;background:linear-gradient(145deg,#8affb8,#0f6 45%,#00b347);border-radius:28px;place-items:center;width:92px;height:92px;font-size:38px;display:grid;position:relative;box-shadow:0 16px 36px #00ff6659,inset 0 1px #ffffff59}.ob-scene.is-active .ob-shield{animation:2s ease-in-out infinite obShieldFloat}.ob-shield-pulse{background:#00ff6647;border-radius:28px;width:92px;height:92px;position:absolute}.ob-scene.is-active .ob-shield-pulse{animation:1.6s ease-out infinite obShieldPulse}@keyframes obShieldFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}@keyframes obShieldPulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.85)}}.ob-safe-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ob-scene.is-active .ob-chip{animation:.55s cubic-bezier(.22,1,.36,1) both obChipIn}.ob-scene.is-active .ob-chip:first-child{animation-delay:50ms}.ob-scene.is-active .ob-chip:nth-child(2){animation-delay:.15s}.ob-scene.is-active .ob-chip:nth-child(3){animation-delay:.25s}@keyframes obChipIn{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:none}}.ob-chip{color:#e5e7eb;background:#131924eb;border:1px solid #212b3b;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:700;display:inline-flex}.ob-chip i{color:#0f6;font-size:10px}.ob-chip.sos{border-color:#ef444480}.ob-chip.sos i{color:#f87171}.ob-road-soft{opacity:.9;height:70px}.ob-copy{text-align:center;padding:4px 6px 0}.ob-copy.ob-copy-in .ob-kicker,.ob-copy.ob-copy-in .ob-title,.ob-copy.ob-copy-in .ob-desc,.ob-copy.ob-copy-in .ob-dots{animation:.55s cubic-bezier(.22,1,.36,1) both obCopyRise}.ob-copy.ob-copy-in .ob-title{animation-delay:80ms}.ob-copy.ob-copy-in .ob-desc{animation-delay:.16s}.ob-copy.ob-copy-in .ob-dots{animation-delay:.24s}@keyframes obCopyRise{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}.ob-kicker{letter-spacing:.06em;color:#0f6;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.ob-title{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:900;line-height:1.25}.ob-desc{color:#9ca3af;max-width:30ch;margin:10px auto 0;font-size:13.5px;font-weight:500;line-height:1.65}.ob-dots{justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.ob-dot{background:#374151;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .35s,background .35s,box-shadow .35s}.ob-dot.is-on{background:#0f6;width:24px;box-shadow:0 0 14px #00ff668c}.ob-actions{z-index:2;width:100%;padding-top:8px;position:relative}.ob-cta{color:#06100a;letter-spacing:.01em;background:#0f6;border:0;border-radius:18px;width:100%;padding:16px 18px;font-size:14px;font-weight:900;position:relative;overflow:hidden}.ob-cta:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.ob-cta.ob-cta-pulse:after{animation:1.4s .2s obShimmer}@keyframes obShimmer{to{transform:translate(120%)}}.ob-cta.ob-cta-pulse{animation:.45s obCtaIn}@keyframes obCtaIn{0%{opacity:.5;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ob-scene.is-active .ob-taxi-wrap:not(.ob-taxi-cruise){animation-duration:4.2s}.ob-scene.is-active .ob-lane{animation-duration:1s}}.auth-input{color:#fff;background:#131924;border:1px solid #212b3b;border-radius:16px;outline:none;width:100%;padding:14px 16px;font-size:14px;font-weight:600}.auth-input:focus{border-color:#0f6}.phone-field{align-items:stretch;gap:8px;width:100%;display:flex}.phone-prefix{color:#9ca3af;-webkit-user-select:none;user-select:none;background:#131924;border:1px solid #212b3b;border-radius:16px;flex:none;justify-content:center;align-items:center;width:72px;font-size:13px;font-weight:700;display:flex}.phone-field .auth-input{flex:auto;width:auto;min-width:0}.menu-row{text-align:left;background:#131924;border:1px solid #212b3b;border-radius:16px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background .15s,border-color .15s;display:flex}.menu-row:active,.menu-row:hover{background:#1e293b;border-color:#00ff6659}.menu-row i.lead{border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.toggle-switch{flex-shrink:0;width:44px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch span{cursor:pointer;background:#374151;border-radius:999px;transition:all .2s;position:absolute;inset:0}.toggle-switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+span{background:#0f6}.toggle-switch input:checked+span:after{transform:translate(20px)}.map-chrome{z-index:15;pointer-events:none;flex-direction:column;gap:6px;padding:8px 8px 0;display:flex;position:absolute;top:0;left:0;right:0}.map-chrome-row{pointer-events:auto;align-items:center;gap:6px;min-width:0;display:flex}.map-service-scroll{flex:1;align-items:center;gap:6px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto}.map-tool-btn{background:#131924f2;border:1px solid #212b3b;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;display:flex;box-shadow:0 4px 14px #00000059}.map-confirm-btn{color:#0f6;background:#00ff6626;border:1px solid #0f66;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.pick-chip{color:#9ca3af;background:#131924f2;border:1px solid #212b3b;border-radius:12px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 10px;font-size:11px;font-weight:700;transition:border-color .15s,color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #00000040}.pick-chip.pick-active{color:#fff;border-color:#0f6;box-shadow:0 0 0 1px #00ff6640}.pick-chip[data-pick=dest].pick-active{border-color:#ef4444;box-shadow:0 0 0 1px #ef44444d}.map-route-row{pointer-events:auto;background:#131924f2;border:1px solid #212b3b;border-radius:999px;align-self:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex;box-shadow:0 6px 18px #00000059}.map-route-row.hidden{display:none!important}.route-fare{color:#fde047!important;background:#fde0471a!important;border-color:#fde0474d!important}.map-pick-hint{pointer-events:none;color:#9ca3aff2;text-shadow:0 1px 2px #000c;margin:0;padding:0 4px;font-size:10px;font-weight:600}.map-crosshair{z-index:12;opacity:.9;flex-direction:column;align-items:center;width:28px;height:40px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-100%)}.crosshair-pin{border:2.5px solid #fff;border-radius:50% 50% 50% 0;width:20px;height:20px;transform:rotate(-45deg);box-shadow:0 4px 12px #00000073}.crosshair-dest .crosshair-pin{background:#ef4444}.crosshair-pickup .crosshair-pin{background:#0f6}.crosshair-shadow{background:#00000059;border-radius:50%;width:10px;height:4px;margin-top:4px}#map.map-pick-pickup,#map.map-pick-dest{cursor:crosshair}.leaflet-marker-draggable{cursor:grab}.leaflet-dragging .leaflet-marker-draggable{cursor:grabbing}#driver-panel.drv-shell:not(.hidden),#driver-panel:not(.hidden){z-index:36;pointer-events:none;flex-direction:column;justify-content:space-between;padding:0;display:flex;position:absolute;inset:0 0 64px;background:0 0!important;max-height:none!important;bottom:64px!important;overflow:visible!important}.drv-top,.drv-bottom,.drv-pill,.drv-icon-btn,.drv-go-btn,.drv-feed,.drv-trip,.drv-dock{pointer-events:auto}.drv-top{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.drv-pill{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#e8f6ee;background:#080e0cd1;border:1px solid #ffffff1f;border-radius:999px;align-items:baseline;gap:6px;padding:8px 12px;display:flex}.drv-earn-pill span,.drv-meta-pill{color:#9ca3af;font-size:11px;font-weight:700}.drv-earn-pill b{color:#00e86a;font-size:15px}.drv-meta-pill{align-items:center;gap:8px;margin-left:auto}.drv-meta-pill span:first-child,.drv-meta-pill span:last-child{color:#e8f6ee;font-size:12px;font-weight:800}.drv-meta-pill i{background:#4b5563;border-radius:50%;width:4px;height:4px}.drv-icon-btn{color:#00e86a;background:#080e0cd1;border:1px solid #ffffff1f;border-radius:14px;width:40px;height:40px}.drv-bottom{flex-direction:column;gap:10px;max-height:62%;padding:0 12px 12px;display:flex}.drv-feed{flex-direction:column;gap:10px;max-height:46vh;display:flex;overflow-y:auto}.drv-req{background:#0d141cf5;border:1px solid #1d3a2c;border-radius:22px;padding:14px;box-shadow:0 18px 40px #0006}.drv-req-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.drv-req-fare{color:#00e86a;letter-spacing:-.03em;font-size:26px;font-weight:900;line-height:1}.drv-req-meta{text-align:right;color:#9ca3af;font-size:11px;font-weight:700}.drv-route p{align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.drv-route p+p{color:#d1d5db;margin-top:6px}.drv-route i{text-align:center;width:10px;font-size:8px}.drv-note{color:#facc15;margin:8px 0 0;font-size:11px}.drv-bid{background:#08140f;border:1px solid #1d3a2c;border-radius:14px;align-items:center;gap:8px;margin:12px 0 10px;padding:6px;display:flex}.drv-bid button{color:#e8f6ee;background:#123222;border:0;border-radius:11px;width:38px;height:38px;font-size:18px;font-weight:900}.drv-bid div{text-align:center;flex:1}.drv-bid small{color:#9ca3af;font-size:9px;font-weight:700;display:block}.drv-bid b{color:#facc15;font-size:16px}.drv-req-actions{gap:8px;display:flex}.drv-req-actions .btn-take{color:#06210f;background:#00e86a;border:0;border-radius:14px;flex:1;height:46px;font-size:14px;font-weight:900}.drv-req-actions .btn-bid{color:#facc15;background:#1a1608;border:1px solid #facc1559;border-radius:14px;height:46px;padding:0 14px;font-size:12px;font-weight:800}.drv-empty{text-align:center;color:#9ca3af;padding:18px 10px 8px;font-size:13px}.drv-dock.hidden,#driver-active.hidden{display:none!important}.drv-feed:empty{display:none}.drv-dock{background:#0d141cf5;border:1px solid #1d3a2c;border-radius:22px;align-items:center;gap:12px;padding:12px;display:flex;box-shadow:0 16px 36px #00000061}.drv-dock-copy{flex:1;min-width:0}.drv-dock-copy p{color:#e8f6ee;align-items:center;margin:0;font-size:14px;font-weight:800;display:flex}.drv-dock-copy small{color:#9ca3af;margin-top:2px;font-size:11px;display:block}.drv-go-btn{color:#e8f6ee;background:#334155;border:0;border-radius:14px;min-width:118px;height:46px;font-size:13px;font-weight:900}.drv-dock.is-online .drv-go-btn{color:#facc15;background:#1a1608;border:1px solid #facc154d}.drv-dock.is-offline{text-align:center;flex-direction:column;padding:16px 14px 14px}.drv-dock.is-offline .drv-go-btn{color:#06210f;background:#00e86a;width:100%;height:52px;font-size:16px;box-shadow:0 0 28px #00e86a47}.drv-dock.is-offline .drv-dock-copy small{color:#86efac}.drv-radar{background:#00e86a;border-radius:50%;width:10px;height:10px;margin-right:8px;animation:1.6s infinite drvRadar;display:none;box-shadow:0 0 #00e86a99}.drv-dock.is-online .drv-radar{display:inline-block}@keyframes drvRadar{70%{box-shadow:0 0 0 10px #00e86a00}to{box-shadow:0 0 #00e86a00}}.drv-trip{background:#0d141cf7;border:1px solid #00e86a55;border-radius:22px;padding:14px;box-shadow:0 18px 40px #0000006b}.drv-trip-h{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.drv-trip-h b{color:#00e86a;font-size:22px}.drv-phases{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px;display:grid}.drv-phases button{color:#e8f6ee;background:#123222;border:0;border-radius:12px;padding:10px 6px;font-size:11px;font-weight:800}.drv-phases button.is-on{color:#06210f;background:#00e86a}#app-shell.role-driver .map-chrome,#app-shell.role-driver .map-service-scroll,#app-shell.role-driver .fleet-chip{display:none!important}#passenger-sheet.passenger-sheet{height:var(--sheet-h,320px);touch-action:pan-y;border-top:1px solid #212b3b;border-radius:28px 28px 0 0;flex-direction:column;padding-bottom:0;transition:height .3s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -12px 40px #00000073;z-index:36!important;max-height:min(62vh,540px)!important;bottom:64px!important}#passenger-sheet.hidden,#passenger-sheet.passenger-sheet.hidden,#driver-panel.hidden,#app-shell.role-driver #passenger-sheet,#app-shell.role-passenger #driver-panel{pointer-events:none!important;display:none!important}#app-shell.role-driver #map-crosshair,#app-shell.role-driver #map-pick-hint,#app-shell.role-driver #map-expand-btn{display:none!important}#passenger-sheet.sheet-dragging{-webkit-user-select:none;user-select:none;transition:none}.sheet-handle{cursor:grab;touch-action:none;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:10px 16px 6px}.sheet-handle:active{cursor:grabbing}.sheet-handle-bar{opacity:.85;background:#4b5563;border-radius:99px;width:40px;height:4px;margin:0 auto}.sheet-peek-label{color:#9ca3af;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:11px;font-weight:700;display:none}#passenger-sheet.sheet-peek .sheet-peek-label{display:flex}#passenger-sheet.sheet-peek .sheet-body{opacity:0;pointer-events:none}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;transition:opacity .2s;overflow:hidden auto}#ride-step:not(.hidden){flex-direction:column;flex:auto;gap:8px;min-height:0;padding:0 14px 10px;display:flex}#ride-step.hidden{display:none!important}#passenger-sheet:has(#ride-step:not(.hidden)) .sheet-body{flex-direction:column;display:flex;overflow:hidden}#passenger-sheet:has(#ride-step:not(.hidden)) #booking-form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}#passenger-sheet:has(#ride-step:not(.hidden)) #ride-step{flex:auto;min-height:0}.ride-scroll{overscroll-behavior:contain;flex-direction:column;flex:0 auto;gap:8px;min-height:0;padding-bottom:2px;display:flex;overflow-y:auto}.ride-cta{flex:none}:is(#passenger-sheet:has(#trip-view:not(.hidden)) .sheet-body,#passenger-sheet:has(#searching-view:not(.hidden)) .sheet-body){flex-direction:column;display:flex;overflow:hidden}#trip-view:not(.hidden),#searching-view:not(.hidden){flex-direction:column;flex:auto;gap:10px;min-height:0;padding:0 16px 10px;display:flex}#trip-view.hidden,#searching-view.hidden{display:none!important}.trip-scroll,.search-scroll{overscroll-behavior:contain;flex-direction:column;flex:0 auto;gap:10px;min-height:0;padding-bottom:2px;display:flex;overflow-y:auto}.trip-cta,.search-cta{flex:none;padding-top:2px}.trip-status-card{background:#00ff661a;border:1px solid #0f66;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.trip-driver-card{background:#131924;border:1px solid #212b3b;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.trip-fare-card{background:#131924;border:1px solid #212b3b;border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.trip-complete-btn{letter-spacing:.01em;color:#0f6;background:#1a2332;border:1px solid #0f6;border-radius:16px;width:100%;min-height:46px;font-size:13px;font-weight:900;transition:background .2s,color .2s,opacity .2s,transform .15s}.trip-complete-btn:disabled{opacity:.45;cursor:not-allowed}.trip-complete-btn.is-ready{color:#0b1220;opacity:1;background:#0f6;animation:1.8s ease-in-out infinite tripCtaPulse;box-shadow:0 8px 24px #00ff6647}.trip-complete-btn.is-ready:hover{background:#00e65c}.trip-complete-btn.is-ready:active{transform:scale(.98)}@keyframes tripCtaPulse{0%,to{box-shadow:0 8px 24px #00ff6638}50%{box-shadow:0 8px 28px #00ff666b}}#passenger-sheet.sheet-compact .trip-scroll,#passenger-sheet.sheet-compact .search-scroll{flex:auto;overflow:hidden}#passenger-sheet.sheet-compact .trip-fare-card{display:none}@media (prefers-reduced-motion:reduce){.trip-complete-btn.is-ready{animation:none}}.loc-summary-compact{border-radius:12px;flex:none;padding:8px 10px}.loc-summary-compact .loc-summary-rail{height:24px}.ride-note-row{align-items:center;gap:8px;width:100%;display:flex}.ride-pay-btn{color:#e5e7eb;background:#0f141c;border:1px solid #212b3b;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:10px 12px;font-size:11px;display:inline-flex}.map-expand-fab{right:12px;bottom:calc(64px + var(--sheet-h,340px) + 12px);z-index:37;color:#e5e7eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#131924f2;border:1px solid #212b3b;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:bottom .3s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s;display:inline-flex;position:absolute;box-shadow:0 8px 24px #0006}.map-expand-fab i{color:#0f6;font-size:14px}.map-expand-fab:hover{border-color:#00ff6673}.map-expand-fab.hidden,:is(main:has(#passenger-sheet.hidden) .map-expand-fab,main:has(#driver-panel:not(.hidden)) .map-expand-fab,main:has(#passenger-sheet.hidden) .map-search-panel,main:has(#driver-panel:not(.hidden)) .map-search-panel){display:none!important}.map-search-panel{pointer-events:auto;flex-direction:column;gap:8px;display:flex}.map-search-panel.hidden{display:none!important}.map-search-row{align-items:center;gap:8px;display:flex}.map-search-icon-btn{color:#e5e7eb;background:#131924f5;border:1px solid #212b3b;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 4px 14px #0000004d}.map-search-field{background:#131924f5;border:1px solid #212b3b;border-radius:14px;flex:1;align-items:center;gap:8px;min-width:0;height:42px;padding:0 12px;display:flex;position:relative;box-shadow:0 4px 14px #0000004d}.map-search-ico{color:#6b7280;flex-shrink:0;font-size:12px}.map-search-field input{color:#fff;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13px;font-weight:600}.map-search-field .search-drop{top:calc(100% + 6px);left:0;right:0}.map-search-targets{align-items:center;gap:6px;display:flex;overflow-x:auto}.map-target-chip{color:#9ca3af;background:#131924eb;border:1px solid #212b3b;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.map-target-chip .loc-dot{width:8px;height:8px}.map-target-chip.is-active{color:#fff;background:#00ff661a;border-color:#00ff6680}.map-target-chip.map-target-confirm{color:#0f6;margin-left:auto}.map-tools-float{pointer-events:auto;flex-direction:column;align-self:flex-end;gap:6px;display:flex}.map-tools-float.hidden,main.map-expanded .map-chrome-default,main.map-expanded .map-pick-hint-bar{display:none!important}main.map-expanded .map-crosshair{top:42%}.map-pick-hint-bar{pointer-events:none;color:#d1d5dbe6;box-shadow:none;text-shadow:0 1px 3px #000000bf;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:2px 4px;font-size:10px;font-weight:600;display:flex}.map-pick-hint-bar.hidden{display:none!important}.fleet-chip{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e8f6ee;cursor:pointer;background:#08100cc7;border:1px solid #ffffff24;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:2px 0 0 2px;padding:6px 12px 6px 6px;display:flex;box-shadow:0 8px 24px #00000059}.fleet-chip-ico{color:#06210f;background:#00e86a;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.fleet-chip-copy{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.fleet-chip-copy b{font-variant-numeric:tabular-nums;font-size:14px}.fleet-chip-copy small{color:#9ca3af;font-size:10px;font-weight:700}.fleet-chip.is-empty .fleet-chip-ico{color:#cbd5e1;background:#334155}.fleet-chip.is-demo .fleet-chip-ico{background:#facc15}.fleet-car{width:40px;height:40px;transform:rotate(var(--rot,0deg));filter:drop-shadow(0 4px 8px #00000073);place-items:center;display:grid;position:relative}.fleet-car .fleet-pulse{background:#00e86a59;border-radius:50%;width:22px;height:22px;animation:2.2s ease-out infinite fleetPulse;position:absolute}.fleet-car .fleet-body{color:#06210f;z-index:1;background:#f8fafc;border:2px solid #06210f;border-radius:11px;place-items:center;width:32px;height:32px;font-size:14px;display:grid;position:relative}.fleet-car.is-active .fleet-body{background:#facc15;border-color:#fff;width:36px;height:36px}.fleet-car.is-demo .fleet-body{background:#e2e8f0}@keyframes fleetPulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.leaflet-popup.fleet-popup .leaflet-popup-content-wrapper{color:#e8f6ee;background:#0d1a14;border:1px solid #1d3a2c;border-radius:14px;box-shadow:0 12px 30px #0006}.leaflet-popup.fleet-popup .leaflet-popup-tip{background:#0d1a14}.leaflet-popup.fleet-popup .leaflet-popup-content{margin:8px 10px}.fleet-pop{gap:2px;min-width:120px;display:grid}.fleet-pop b{font-size:13px}.fleet-pop span{color:#9ca3af;font-size:11px}.fleet-pop small{color:#00e86a;font-size:10px;font-weight:800}.loc-card{background:#0f141c;border:1px solid #212b3b;border-radius:18px;overflow:visible}.loc-row{cursor:text;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.loc-dot{border:2px solid #fff;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1px #00000040}.loc-dot-pick{background:#0f6;border-radius:50%}.loc-dot-dest{background:#ef4444;border-radius:2px}.loc-label{letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-size:9px;font-weight:800;display:block}.loc-input{color:#fff;background:0 0;border:0;outline:none;width:100%;padding:2px 0 0;font-size:13px;font-weight:700}.loc-action{color:#0f6;background:#1e293b;border:1px solid #212b3b;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.loc-divider{background:#1e293b;height:1px;margin:0 14px 0 32px;position:relative}.loc-swap{color:#9ca3af;background:#131924;border:1px solid #212b3b;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.quick-places{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.quick-place{color:#e5e7eb;background:#131924;border:1px solid #212b3b;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:700;display:inline-flex}.quick-place i{color:#0f6;font-size:10px}.loc-summary{background:#0f141c;border:1px solid #212b3b;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.loc-summary-rail{background:linear-gradient(#0f6,#ef4444);border-radius:99px;flex-shrink:0;width:8px;height:32px;margin-top:2px}.pwa-sheet{z-index:200;pointer-events:none;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.pwa-sheet.hidden{display:none!important}.pwa-sheet.is-open{pointer-events:auto}.pwa-sheet-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#000000c7;transition:opacity .28s;position:absolute;inset:0}.pwa-sheet.is-open .pwa-sheet-backdrop{opacity:1}.pwa-sheet-panel{z-index:1;opacity:0;background:radial-gradient(120% 90% at 50% -30%,#00ff6647,#0000 55%),#131924;border:1px solid #00ff6659;border-radius:28px;width:min(100%,22rem);margin:0 auto;padding:22px 18px 16px;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .28s;position:relative;transform:translateY(18px)scale(.94);box-shadow:0 0 0 1px #ffffff0a,0 28px 70px #0000008c,0 0 40px #00ff661f}.pwa-sheet.is-open .pwa-sheet-panel{opacity:1;transform:translateY(0)scale(1)}.pwa-urgent-badge{color:#06100a;letter-spacing:.04em;white-space:nowrap;background:linear-gradient(135deg,#0f6,#00b347);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:900;animation:1.6s ease-in-out infinite pwaBadgePulse;display:inline-flex;position:absolute;top:-12px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0f66}.pwa-urgent-badge i{font-size:10px}@keyframes pwaBadgePulse{0%,to{transform:translate(-50%)scale(1);box-shadow:0 8px 20px #00ff6659}50%{transform:translate(-50%)scale(1.04);box-shadow:0 10px 28px #00ff668c}}.pwa-popup-hero{text-align:center;flex-direction:column;padding-top:8px}.pwa-sheet-hero{align-items:center;gap:14px;margin-bottom:16px;display:flex}.pwa-popup-hero .pwa-sheet-icon{margin:0 auto 4px}.pwa-sheet-icon{border-radius:20px;flex-shrink:0;width:72px;height:72px;box-shadow:0 12px 32px #00ff6652}.pwa-sheet-kicker{letter-spacing:.04em;color:#0f6;margin:0 0 6px;font-size:11px;font-weight:800}.pwa-sheet-copy h3{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:900;line-height:1.25}.pwa-sheet-sub{color:#9ca3af;margin:8px 0 0;font-size:12.5px;font-weight:600;line-height:1.55}.pwa-sheet-benefits{gap:8px;margin-bottom:16px;display:grid}.pwa-benefit{color:#e5e7eb;background:#0b0f17d9;border:1px solid #212b3b;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.pwa-benefit i{color:#0f6;background:#00ff661f;border-radius:10px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.pwa-ios-steps{background:#0b0f17e6;border:1px solid #212b3b;border-radius:16px;margin-bottom:16px;padding:12px}.pwa-ios-title{color:#0f6;margin:0 0 10px;font-size:12px;font-weight:800}.pwa-ios-steps ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pwa-ios-steps li{color:#d1d5db;align-items:flex-start;gap:10px;font-size:12px;font-weight:600;line-height:1.45;display:flex}.pwa-step-num{color:#06100a;background:#0f6;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:grid}.pwa-sheet-actions{gap:8px;display:grid}.pwa-cta{color:#06100a;background:#0f6;border:0;border-radius:16px;width:100%;padding:16px;font-size:15px;font-weight:900;box-shadow:0 0 28px #00ff6659}.pwa-later{color:#9ca3af;background:0 0;border:0;width:100%;padding:10px;font-size:12px;font-weight:800}.pwa-mini-tip{left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:55;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131924f5;border:1px solid #00ff6659;border-radius:18px;align-items:center;gap:10px;width:min(100% - 24px,26rem);padding:10px 10px 10px 12px;animation:.4s cubic-bezier(.22,1,.36,1) pwaTipIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 36px #00000073}.pwa-mini-tip.hidden{display:none!important}.pwa-mini-tip img{border-radius:10px;flex-shrink:0;width:36px;height:36px}.pwa-mini-btn{color:#06100a;background:#0f6;border:0;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:900}.pwa-mini-close{color:#9ca3af;background:#1e293b;border:0;border-radius:8px;flex-shrink:0;width:28px;height:28px}@keyframes pwaTipIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (display-mode:standalone){.pwa-mini-tip,.pwa-sheet,[data-pwa-install]{display:none!important}}.app-brand-text{flex-direction:column;min-width:0;display:flex}.app-brand-meta{align-items:center;gap:6px;display:flex}.live-pill{letter-spacing:.08em;color:#cbd5e1;background:#334155;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:800}.live-pill.is-live{color:#0f6;background:#00ff6629}.live-pill.is-demo{color:#facc15;background:#facc151f}.admin-map{border:1px solid var(--idrive-border);border-radius:18px;height:220px;overflow:hidden}.admin-stat{background:var(--idrive-card);border:1px solid var(--idrive-border);text-align:center;border-radius:16px;padding:10px 8px}.admin-stat span{color:#94a3b8;font-size:9px;font-weight:700;display:block}.admin-stat b{margin-top:4px;font-size:16px;display:block}.admin-row{background:var(--idrive-card);border:1px solid var(--idrive-border);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-ok,.admin-no{border-radius:8px;padding:6px 8px;font-size:10px;font-weight:800}.admin-ok{color:#06110a;background:#0f6}.admin-no{color:#f87171;background:#1e293b}@keyframes fade-out{0%{opacity:1;transform:scale(.95)}20%{opacity:1;transform:scale(1.05)}40%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0}}.animate-fade-out{animation:.8s ease-out forwards fade-out}@keyframes bounce-short{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-short{animation:.5s ease-in-out bounce-short}
