*{box-sizing:border-box}:root{color:#e5e7eb;font-synthesis:none;background:#0b1120;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#0b1120;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:#fff;background:#2563eb;border:0;border-radius:10px;padding:12px 16px;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#1f2937;border:1px solid #374151}input,textarea{color:#f9fafb;background:#111827;border:1px solid #374151;border-radius:10px;outline:none;width:100%;padding:12px}input:focus,textarea:focus{border-color:#60a5fa}label{margin:14px 0 7px;font-weight:700;display:block}a{color:#60a5fa}.auth-page,.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(440px,100%)}.card{background:#111827;border:1px solid #1f2937;border-radius:18px;padding:24px;box-shadow:0 18px 50px #00000040}.brand{letter-spacing:.08em;font-weight:900}.auth-card h1{margin-bottom:6px}.muted{color:#9ca3af}.error,.success{border-radius:10px;margin:14px 0;padding:12px}.error{color:#fecaca;background:#451a1a}.success{color:#bbf7d0;background:#12351f}.app-page{min-height:100vh}.topbar{background:#0f172a;border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.container{width:min(1100px,100% - 40px);margin:0 auto;padding:42px 0}.narrow{width:min(720px,100% - 40px)}.hero{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.hero h1{margin:8px 0;font-size:clamp(30px,5vw,48px)}.eyebrow{letter-spacing:.14em;color:#60a5fa;font-size:12px;font-weight:900}.status-pill{color:#86efac;background:#12351f;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid .card{min-height:180px}.form-stack{gap:2px;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=760px){.grid{grid-template-columns:1fr}.hero{flex-direction:column}.two-col{grid-template-columns:1fr}.topbar{padding:0 16px}}.section{margin-top:36px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{margin:0}.grid.single{grid-template-columns:1fr}.request-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.request-row h3{margin:6px 0}@media (width<=760px){.request-row{flex-direction:column;align-items:stretch}}.request-card,.job-card{min-height:auto!important}.request-card-header,.job-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.request-card-header h2,.job-header h2{margin:6px 0}.timeline-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0;display:grid}.timeline-grid>div{background:#0f172a;border:1px solid #1f2937;border-radius:12px;padding:12px}.timeline-grid span{color:#9ca3af;margin-bottom:6px;font-size:12px;display:block}.timeline-grid strong{font-size:13px;display:block}.job-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.timeline-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.request-card-header,.job-header{flex-direction:column}.timeline-grid{grid-template-columns:1fr}}.job-summary{border-color:#2563eb;margin-bottom:24px}.job-price{flex-direction:column;align-items:flex-end;gap:6px;font-size:14px;display:flex}.job-price strong{font-size:28px}.accepted-banner{background:#0f2418;border-color:#166534}.offer-card{min-height:auto!important}.offer-card-header{justify-content:space-between;align-items:center;display:flex}.offer-accepted{border-color:#166534}.event-timeline{gap:0;display:grid}.event-row{border-bottom:1px solid #1f2937;align-items:flex-start;gap:14px;padding:14px 4px;display:flex}.event-row:last-child{border-bottom:0}.event-dot{background:#60a5fa;border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px}.event-row p{margin:5px 0 0}@media (width<=700px){.job-price{align-items:flex-start}}.topbar-actions{align-items:center;gap:12px;display:flex}.live-indicator{letter-spacing:.08em;color:#6b7280;font-size:11px;font-weight:900}.live-indicator.live{color:#86efac}.live-hint{color:#86efac;margin-top:10px;font-size:13px}.customer-app{background:radial-gradient(circle at 80% -10%,#172554 0,#0000 32%),#0b1120}.request-wizard-page{max-width:860px}.wizard-intro{margin-bottom:26px}.wizard-intro h1{margin:8px 0;font-size:clamp(32px,5vw,52px)}.wizard-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.wizard-step{color:#64748b;border-bottom:2px solid #1f2937;align-items:center;gap:9px;padding:10px;display:flex}.wizard-step span{background:#172033;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.wizard-step.active{color:#dbeafe;border-color:#3b82f6}.wizard-step.active span{color:#fff;background:#2563eb}.wizard-step small{font-weight:800}.wizard-card{padding:28px}.wizard-panel{min-height:430px}.panel-title{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.panel-title h2{margin:6px 0 0;font-size:28px}.step-count{color:#64748b;font-weight:900}.form-grid{gap:4px 14px;display:grid}.location-button{background:#0f2c4d;border:1px solid #1d4ed8;width:100%;margin-bottom:16px}.map-preview{background:#0f172a;border:1px solid #26344a;border-radius:16px;height:190px;margin-bottom:18px;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(25deg,#0000 46%,#60a5fa2e 47% 49%,#0000 50%),linear-gradient(115deg,#0000 45%,#94a3b821 46% 48%,#0000 49%);background-size:90px 90px,120px 120px;position:absolute;inset:-40%;transform:rotate(-8deg)}.map-pin{transform-origin:50%;color:#fff;background:#2563eb;border-radius:50% 50% 50% 8px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-45deg);box-shadow:0 8px 30px #2563eb73}.map-pin:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px}.map-label{white-space:nowrap;background:#0f172ae6;border:1px solid #334155;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.form-note{color:#94a3b8;margin-top:16px;font-size:13px}.choice-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 20px;display:grid}.choice{color:#cbd5e1;text-align:left;background:#0f172a;border:1px solid #26344a}.choice:hover{border-color:#3b82f6}.choice.active{color:#fff;background:#102a4c;border-color:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f633}.choice.warning.active{background:#3b2508;border-color:#f59e0b}.choice.danger.active{background:#3b1111;border-color:#ef4444}.vehicle-type-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px;display:grid}.vehicle-choice{color:#cbd5e1;background:#0f172a;border:1px solid #26344a;padding:14px 8px}.vehicle-choice.active{color:#fff;background:#102a4c;border-color:#3b82f6}.priority-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.request-summary{background:#0d1525;border:1px solid #26344a;border-radius:14px;justify-content:space-between;gap:20px;margin-top:24px;padding:15px;display:flex}.request-summary span{color:#94a3b8;text-align:right}.wizard-actions{border-top:1px solid #1f2937;justify-content:space-between;gap:12px;margin-top:24px;padding-top:24px;display:flex}.wizard-actions button:last-child{min-width:210px}.dashboard-page{max-width:1180px}.dashboard-hero{align-items:center}.hero-actions{gap:10px;display:flex}.active-request-banner{cursor:pointer;background:linear-gradient(110deg,#111827,#10203a);border-color:#1d4ed8;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;transition:transform .15s,border-color .15s;display:flex}.active-request-banner:hover{border-color:#60a5fa;transform:translateY(-2px)}.active-request-main{align-items:center;gap:16px;display:flex}.live-pulse{color:#4ade80;background:#0f2a1a;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 0 7px #4ade800d}.active-request-action{color:#93c5fd;flex-direction:column;align-items:flex-end;gap:5px;display:flex}.active-request-action strong{color:#fff;font-size:22px}.dashboard-quick-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.quick-card{cursor:pointer;transition:transform .15s,border-color .15s;min-height:220px!important}.quick-card:hover{border-color:#334155;transform:translateY(-3px)}.quick-icon{margin-bottom:18px;font-size:30px}.quick-card h3{margin:0 0 8px;font-size:20px}.quick-card p{color:#94a3b8;min-height:44px}.request-history{gap:10px;display:grid}.history-card{cursor:pointer;align-items:center;gap:15px;padding:17px 20px;transition:border-color .15s,transform .15s;display:flex;min-height:0!important}.history-card:hover{border-color:#334155;transform:translate(2px)}.history-icon{color:#93c5fd;background:#172033;border-radius:12px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:900;display:grid}.history-content{flex:1;min-width:0}.history-top{color:#94a3b8;justify-content:space-between;gap:12px;font-size:12px;display:flex}.history-top strong{color:#86efac}.history-content h3{margin:6px 0}.history-content p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.history-arrow{color:#64748b;font-size:28px}.empty-state{text-align:center;padding:42px 24px}.empty-icon{margin-bottom:12px;font-size:42px}.tracking-page{max-width:1180px}.tracking-status-card{border-color:#1d4ed8;margin-bottom:18px}.tracking-status-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.tracking-status-head h2{margin:6px 0;font-size:30px}.tracking-price{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.tracking-price strong{font-size:26px}.status-track{grid-template-columns:repeat(5,1fr);gap:5px;margin:26px 0 20px;display:grid}.status-track-step{text-align:center;color:#64748b;position:relative}.status-track-step:before{content:"";z-index:0;background:#26344a;height:2px;position:absolute;top:15px;left:0;right:0}.status-track-step:first-child:before{left:50%}.status-track-step:last-child:before{right:50%}.status-track-step span{z-index:1;background:#172033;border:2px solid #26344a;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto 7px;font-size:11px;font-weight:900;display:grid;position:relative}.status-track-step.done{color:#bfdbfe}.status-track-step.done span{color:#fff;background:#2563eb;border-color:#60a5fa}.status-track-step.current span{box-shadow:0 0 0 5px #2563eb26}.status-track-step small{font-size:11px;font-weight:800}.tracking-overview-grid{grid-template-columns:1.3fr .7fr;gap:18px;display:grid}.location-card h2{margin:6px 0}.location-dot{color:#60a5fa}.request-map{background:#0f172a;border:0;border-radius:14px;width:100%;height:280px;margin-top:14px}.request-info-card{min-height:100%}.info-list{gap:0;margin-top:12px;display:grid}.info-list>div{border-bottom:1px solid #1f2937;justify-content:space-between;gap:18px;padding:12px 0;display:flex}.info-list span{color:#94a3b8}.info-list strong{text-align:right;max-width:65%}.description-box{background:#0f172a;border:1px solid #1f2937;border-radius:12px;margin-top:16px;padding:14px}.description-box span{color:#94a3b8;font-size:12px;font-weight:800}.description-box p{margin-bottom:0;line-height:1.55}.offer-grid .offer-card{min-height:250px!important}.waiting-card{text-align:center;padding:40px 24px}.waiting-spinner{border:3px solid #26344a;border-top-color:#60a5fa;border-radius:50%;width:34px;height:34px;margin:0 auto 15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.driver-job-card{border-color:#1d4ed8}.driver-job-top{justify-content:space-between;gap:20px;display:flex}.driver-job-icon{background:#172033;border-radius:16px;place-items:center;width:52px;height:52px;font-size:25px;display:grid}.driver-progress{grid-template-columns:repeat(5,1fr);gap:5px;margin:22px 0;display:grid}.driver-progress span{color:#64748b;text-align:center;background:#172033;border-radius:8px;padding:8px 4px;font-size:11px;font-weight:800}.driver-progress span.done{color:#86efac;background:#12351f}.driver-primary-action{width:100%;min-height:52px;font-size:16px}.history-job-card{min-height:0!important}@media (width<=900px){.dashboard-quick-grid,.tracking-overview-grid{grid-template-columns:1fr}.vehicle-type-grid{grid-template-columns:repeat(3,1fr)}.active-request-banner{align-items:flex-start}}@media (width<=700px){.wizard-card{padding:18px}.wizard-steps{overflow-x:auto}.wizard-step{min-width:130px}.wizard-panel{min-height:0}.choice-grid,.priority-row{grid-template-columns:1fr}.vehicle-type-grid{grid-template-columns:repeat(2,1fr)}.request-summary,.active-request-banner,.tracking-status-head{flex-direction:column;align-items:stretch}.active-request-action,.tracking-price{align-items:flex-start}.status-track{gap:2px}.status-track-step small{font-size:9px}.history-top{flex-direction:column;gap:3px}.history-card{align-items:flex-start}.history-arrow{display:none}}.wizard-map{border:0;border-radius:14px;width:100%;height:100%;display:block}.address-picker{gap:10px;margin-top:8px;display:grid}.address-search-wrap{position:relative}.address-search-state{color:#94a3b8;pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.address-suggestions{z-index:1200;background:#0f172a;border:1px solid #334155;border-radius:14px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 20px 45px #00000059}.address-suggestions button{text-align:left;color:#e5e7eb;background:0 0;border:0;border-bottom:1px solid #1f2937;border-radius:0;gap:3px;width:100%;padding:12px 14px;display:grid}.address-suggestions button:hover{background:#172033}.address-suggestions button:last-child{border-bottom:0}.address-suggestions strong{font-size:14px}.address-suggestions span{color:#94a3b8;font-size:12px;line-height:1.35}.address-picker-city input{width:100%}.interactive-map,.operational-map{z-index:1;background:#0f172a;border:1px solid #26344a;border-radius:16px;width:100%;min-height:220px;overflow:hidden}.interactive-map{height:300px}.map-help{color:#94a3b8;font-size:12px}.coordinate-row{color:#64748b;gap:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:flex}.tow-map-pin{background:0 0;border:0}.tow-map-pin span{color:#fff;background:#2563eb;border:2px solid #ffffffe6;border-radius:50% 50% 50% 8px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid;transform:rotate(-45deg);box-shadow:0 8px 24px #2563eb6b}.tow-map-pin span b{font-weight:900;transform:rotate(45deg)}.tow-map-pin.driver span{transform:rotate(0)}.tow-map-pin.driver span b{transform:none}.tow-map-pin.destination span{background:#dc2626}.tow-map-pin.driver span{background:#16a34a;border-radius:50%}.destination-unknown{border-style:dashed;margin-top:18px}.destination-picker{margin-top:18px}.operational-route-grid,.route-labels{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.operational-route-grid>div,.route-labels>div{background:#0d1524;border:1px solid #26344a;border-radius:12px;gap:4px;padding:12px;display:grid}.operational-route-grid span,.route-labels span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.operational-route-grid strong,.route-labels strong{font-size:13px;line-height:1.35}.request-card .operational-map,.driver-job-card .operational-map{margin:16px 0}.request-card .operational-map .leaflet-control-attribution,.driver-job-card .operational-map .leaflet-control-attribution,.location-card .operational-map .leaflet-control-attribution{font-size:8px}@media (width<=700px){.operational-route-grid,.route-labels{grid-template-columns:1fr}.interactive-map{height:260px}}html{-webkit-text-size-adjust:100%}body{padding-bottom:env(safe-area-inset-bottom)}button,input,textarea,select{touch-action:manipulation}button{min-height:44px}input,textarea,select{min-height:44px;font-size:16px}.topbar{padding-top:env(safe-area-inset-top)}.card{overflow-wrap:anywhere;min-width:0}img,iframe,canvas,svg{max-width:100%}.leaflet-container{touch-action:pan-x pan-y;z-index:0;width:100%;max-width:100%}@media (width<=760px){.container{width:calc(100% - 24px);padding:24px 0}.narrow{width:calc(100% - 24px)}.card{border-radius:14px;padding:16px}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:60px;padding:12px}.topbar-actions{flex-wrap:wrap;gap:8px}.section{margin-top:24px}.section-heading{flex-direction:column;align-items:flex-start}.job-actions button,.request-row button{width:100%}.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.timeline-grid{grid-template-columns:1fr}.auth-page,.center-page{padding:12px}}.location-hint{color:#94a3b8;margin:-7px 0 14px;font-size:12px;line-height:1.5}.location-button:disabled{opacity:.65;cursor:wait}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.admin-kpi{align-items:center;gap:14px;padding:18px;display:flex}.admin-kpi>span{font-size:28px}.admin-kpi>div{gap:5px;display:grid}.admin-kpi small{color:#94a3b8}.admin-kpi strong{font-size:26px}.admin-table-wrap{border:1px solid #26344a;border-radius:14px;width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;background:#0d1524;width:100%;min-width:650px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #26344a;padding:12px 14px;font-size:13px}.admin-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.admin-table tr:last-child td{border-bottom:0}@media (width<=850px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.admin-kpi{gap:8px;padding:12px}.admin-kpi>span,.admin-kpi strong{font-size:22px}}.admin-actions{flex-wrap:wrap;gap:6px;min-width:220px;display:flex}.admin-actions button{white-space:nowrap;padding:7px 9px;font-size:12px}.admin-actions .danger{color:#fff;background:#7f1d1d;border-color:#991b1b}.admin-subid{color:#94a3b8;margin-top:3px;font-size:11px;display:block}.admin-footnote{margin:24px 0;font-size:12px;line-height:1.6}.admin-table td{vertical-align:top}@media (width<=700px){.admin-actions{min-width:200px}.admin-actions button{min-height:38px}}
