:root{--bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#667085;--line:#e4e7ec;--primary:#24c875;--nav:#111827;--danger:#d92d20;--radius:20px;--shadow:0 12px 32px #10182812}*{box-sizing:border-box}html{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:fixed;z-index:1000;inset:0 0 auto;height:68px;background:var(--nav);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;align-items:center;gap:11px;font-weight:800}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--primary);color:#073f27}.theme-toggle{border:0;background:#ffffff16;color:white;width:40px;height:40px;border-radius:12px}.sidebar{position:fixed;z-index:900;top:68px;bottom:0;left:0;width:220px;background:var(--nav);color:#d0d5dd;padding:24px 14px;display:flex;flex-direction:column;gap:8px}.sidebar a,.sidebar button{display:flex;gap:12px;align-items:center;width:100%;border:0;background:transparent;color:inherit;padding:13px 14px;border-radius:12px}.sidebar form{margin-top:auto}.app-shell{max-width:1320px;margin:auto;padding:100px 34px 60px 254px}.auth-shell{padding:100px 20px 50px;display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 15% 10%,#baf7d5,transparent 30%),var(--bg)}h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em;margin:.2em 0}h2{letter-spacing:-.03em}p{color:var(--muted);line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#109958;font-size:.75rem;font-weight:800}.auth-card,.panel,.hero-card,.metric-card,.stats-grid article{background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.auth-card{width:min(100%,440px)}.auth-card.wide{width:min(100%,720px)}.stack{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:1/-1}label{display:grid;gap:7px;font-size:.88rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:13px 14px}textarea{min-height:100px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;font-weight:500}.check input{width:18px}.center{text-align:center}.muted{color:var(--muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;padding:12px 18px;border-radius:12px;font-weight:800;cursor:pointer;min-height:44px}.btn.primary{background:var(--primary);color:#073c25}.btn.secondary{background:#e8f9f0;color:#087545}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:#fff0ee;color:var(--danger)}.alert,.notice{padding:14px 18px;border-radius:14px;margin-bottom:18px}.alert.success{background:#e7f8ef;color:#087545}.alert.error{background:#ffebe9;color:#9e1b13}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-head p{margin:0}.quick-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:36px}.hero-card{background:linear-gradient(135deg,#101a27,#123c2b);color:white}.hero-card p{color:#c9d6cf}.hero-card a{color:#77eca9;font-weight:800}.pill,.status{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:6px 9px;border-radius:99px;background:#eef2f6;color:#475467}.metric-card{display:flex;flex-direction:column}.metric-card strong{font-size:3.5rem}.card-list{display:grid;gap:12px}.order-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--panel);border:1px solid var(--line);padding:20px 22px;border-radius:16px}.order-card h3{margin:10px 0 2px}.order-card p{margin:0}.order-price{text-align:right;display:grid;gap:10px}.status.confirmed,.status.searching_driver,.status.offered,.status.pending{background:#fff5d6;color:#8b5d00}.status.assigned,.status.to_pickup,.status.picked_up,.status.in_transit,.status.near_delivery,.status.accepted,.status.approved{background:#e4f0ff;color:#175cd3}.status.delivered,.status.completed,.status.active{background:#e4f9ee;color:#087545}.status.cancelled,.status.failed,.status.rejected,.status.suspended,.status.blocked{background:#ffebe9;color:#b42318}.empty{padding:50px;text-align:center;border:1px dashed #cbd5e1;border-radius:18px}.wizard{background:var(--panel);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.wizard-steps span{padding:18px;text-align:center;color:var(--muted);font-size:.8rem}.wizard-steps span.active{color:#109958;box-shadow:inset 0 -3px var(--primary)}.wizard-pane{display:none;padding:30px}.wizard-pane.active{display:block}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.choice{padding:22px;border:1px solid var(--line);border-radius:16px}.choice:has(input:checked){border-color:var(--primary);background:#effcf5}.choice input{width:auto}.choice b,.choice span{display:block;margin-top:8px}.choice span{font-weight:400;color:var(--muted)}.wizard-actions{display:flex;justify-content:space-between;margin-top:28px}.split,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map{min-height:440px;border-radius:16px;background:#dfe8e4}.map.compact{min-height:290px}.stop-list{display:grid;gap:12px;margin-bottom:15px}.stop-editor{padding:16px;border:1px solid var(--line);border-radius:14px}.stop-editor header{display:flex;justify-content:space-between}.stop-editor .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quote-card{min-height:200px;border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;place-items:center}.quote-result{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote-result div{padding:16px;background:var(--bg);border-radius:14px}.quote-result span,.quote-result strong{display:block}.quote-result .total{grid-column:1/-1;background:#e6f9ef}.progress-line{display:flex;overflow-x:auto;margin:20px 0 32px}.progress-dot{min-width:120px;flex:1;position:relative;text-align:center;color:var(--muted);font-size:.7rem}.progress-dot:before{content:"";position:absolute;height:3px;background:var(--line);left:0;right:0;top:7px}.progress-dot i{position:relative;z-index:1;display:block;width:16px;height:16px;background:var(--line);border-radius:50%;margin:0 auto 9px}.progress-dot.done:before,.progress-dot.done i{background:var(--primary)}.price-big{font-size:1.8rem;font-weight:850}.stop-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.stop-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--nav);color:white;border-radius:10px}.timeline>div{position:relative;padding:0 0 22px 24px;border-left:2px solid var(--line)}.timeline i{position:absolute;left:-7px;width:12px;height:12px;border-radius:50%;background:var(--primary)}.timeline span,.rate-row small{display:block;color:var(--muted);font-size:.78rem}.availability{border:0;border-radius:99px;padding:14px 20px;font-weight:800}.availability.on{background:#d9f9e8;color:#087545}.inline-actions,.derive-form{display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats-grid article{display:grid;gap:7px}.stats-grid strong{font-size:2rem}.stats-grid .accent{background:var(--nav);color:white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px;border-bottom:1px solid var(--line)}.rate-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.spinner{width:35px;height:35px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html[data-theme=dark]{--bg:#0e1520;--panel:#17202d;--text:#f3f5f7;--muted:#98a2b3;--line:#293546;--nav:#080d14;--shadow:none}.leaflet-container{color:#17202a}@media(max-width:900px){.sidebar{top:auto;bottom:0;right:0;width:auto;height:68px;flex-direction:row;justify-content:space-around;padding:7px}.sidebar a,.sidebar button{display:grid;place-items:center;padding:5px 13px;font-size:.7rem}.sidebar form{margin:0}.app-shell{padding:92px 18px 95px}.quick-grid,.detail-grid,.split{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.auth-card{padding:24px}.form-grid,.choice-grid,.quote-result{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.wizard-steps span{font-size:0;padding:15px}.wizard-steps span:before{content:'•';font-size:1rem}.wizard-pane{padding:20px}.stats-grid{grid-template-columns:1fr}.order-card{align-items:flex-start;flex-direction:column}.order-price{text-align:left}.stop-editor .mini-grid{grid-template-columns:1fr}}

.filter-bar{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:24px}.filter-search{min-width:220px}.client-name{display:grid;gap:4px;min-width:170px}.client-name small{color:var(--muted)}.role-badge{display:inline-block;padding:6px 9px;border-radius:99px;background:#f2f4f7;color:#475467;font-size:.75rem;font-weight:750}html[data-theme=dark] .role-badge{background:#293546;color:#d0d5dd}@media(max-width:900px){.filter-bar{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}}@media(max-width:620px){.filter-bar{grid-template-columns:1fr}.filter-search{grid-column:auto}}.btn:disabled{opacity:.65;cursor:wait}.admin-customer-picker{padding:20px;border-bottom:1px solid var(--line);background:var(--bg)}.profile-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:20px;align-items:start}.profile-map-panel{position:sticky;top:92px}.profile-map-panel .map{min-height:620px}@media(max-width:900px){.profile-grid{grid-template-columns:1fr}.profile-map-panel{position:static}.profile-map-panel .map{min-height:380px}}.route-status{display:flex;align-items:center;gap:8px;margin:10px 0 16px}.route-status:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary);flex:none}
.location-actions{display:flex;flex-wrap:wrap;gap:8px}.location-actions .btn{flex:1 1 150px}.location-hint{margin:0;align-self:center}
