*{box-sizing:border-box}html,body{margin:0;background:#0a0b0d;color:#f4f4f4;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,rgba(255,122,0,.17),transparent 36%),#0a0b0d}.brand{display:flex;align-items:center;gap:13px}.brand b{display:block;letter-spacing:.16em}.brand span{display:block;color:#8d9298;font-size:10px;letter-spacing:.18em;margin-top:4px}.ft{width:52px;height:52px;border-radius:15px;background:linear-gradient(145deg,#ff8b22,#ef6900);display:grid;place-items:center;color:#111;font-weight:950;font-size:22px}.login-card{width:min(520px,92vw);background:#111317;border:1px solid #2b2f34;border-radius:24px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.45)}.login-card .brand{margin-bottom:30px}.login-card h1{font-size:40px;margin:8px 0}.login-card p{color:#969ba1}.input{width:100%;border:1px solid #30343a;background:#0b0c0f;color:#fff;border-radius:12px;padding:13px 14px;margin-top:11px;outline:none}.input:focus{border-color:#ff7a00}.cta{border:0;background:linear-gradient(145deg,#ff8b22,#ef6900);color:#111;font-weight:900;border-radius:12px;padding:13px 16px;cursor:pointer}.login-card .cta{width:100%;margin-top:14px}.compact{width:auto}.link{background:none;border:0;color:#aab0b6;text-decoration:underline;cursor:pointer}.setup{text-align:center;margin-top:14px}.error{color:#ff8076;min-height:22px;margin-top:8px}.layout{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{position:sticky;top:0;height:100vh;background:#0d0f12;border-right:1px solid #22262b;padding:22px 16px;display:flex;flex-direction:column}.brand.side{margin-bottom:32px}.nav{width:100%;text-align:left;border:0;background:transparent;color:#a7abb0;padding:11px 12px;border-radius:10px;cursor:pointer;margin-bottom:4px}.nav:hover,.nav.active{background:#171a1e;color:#fff}.side-foot{margin-top:auto;border-top:1px solid #24282d;padding-top:15px;color:#858a90;font-size:12px;display:grid;gap:9px}main{padding:28px;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ey{color:#ff7a00;font-size:10px;font-weight:900;letter-spacing:.17em}.topbar h1{font-size:34px;margin:7px 0 5px}.topbar p{margin:0;color:#8e9399}.btn{border:1px solid #34383e;background:#171a1e;color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}.warn{border-color:#71501e;color:#ffb25f}.danger{border-color:#65332f;color:#ff8a80}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.kpi{background:#111317;border:1px solid #272b30;border-radius:16px;padding:17px}.kpi span,.kpi small{display:block;color:#7f858b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.kpi strong{display:block;font-size:28px;margin:5px 0}.grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.panel{background:#111317;border:1px solid #272b30;border-radius:18px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:17px 18px;border-bottom:1px solid #24282d}.panel-head h2{margin:5px 0 0}.map-panel #map{height:365px;background:#0b0d0f}.drivers{max-height:430px;overflow:auto}.driver-card{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #23272c}.driver-card b,.driver-card small{display:block}.driver-card small{color:#7f858b;margin-top:4px}.driver-right{text-align:right;font-size:11px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#62666a;margin-right:6px}.dot.green{background:#49dc8b}.orders{margin-bottom:30px}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.filters button{background:#171a1e;border:1px solid #2d3136;color:#8f949a;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.filters button.on{border-color:#ff7a00;color:#ff963d}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1000px}th{text-align:left;color:#747a80;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:11px 13px;border-bottom:1px solid #24282d}td{padding:13px;border-bottom:1px solid #202429;font-size:13px;cursor:pointer}tbody tr:hover{background:#15181c}td small{display:block;color:#747a80;margin-top:4px}.status{display:inline-block;padding:6px 8px;border:1px solid #343940;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.status.assigned,.status.en_route,.status.arrived,.status.in_service{border-color:#704316;color:#ff9b42}.status.completed{border-color:#235d3d;color:#57df91}.empty{text-align:center;color:#777d83;padding:30px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(8px);z-index:30;display:grid;place-items:center;padding:18px}.modal.hidden{display:none}.modal-card{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#111317;border:1px solid #363a40;border-radius:22px;padding:23px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.modal-head{display:flex;justify-content:space-between;gap:15px}.modal-head h2{margin:6px 0}.x{border:0;background:none;color:#fff;font-size:30px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.detail-grid>div{background:#0d0f12;border:1px solid #272b30;border-radius:12px;padding:13px}.detail-grid span{display:block;color:#777d83;font-size:10px;text-transform:uppercase}.detail-grid b,.detail-grid small{display:block;margin-top:5px}.detail-grid small{color:#858a90}.items,.assignment,.note{border-top:1px solid #292d32;padding-top:15px;margin-top:15px}.items>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #20242a}.assign-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:end}.select{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,18px);opacity:0;transition:.2s;background:#171a1e;border:1px solid #34383e;padding:11px 15px;border-radius:11px;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.err{border-color:#713833;color:#ff8c82}@media(max-width:1100px){.layout{grid-template-columns:1fr}aside{position:relative;height:auto;flex-direction:row;align-items:center;gap:18px}.brand.side{margin:0}nav{display:flex}.side-foot{margin-left:auto;margin-top:0;border:0;display:flex}.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:700px){main{padding:16px}.topbar{display:block}.kpis{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.assign-row{grid-template-columns:1fr}.filters{justify-content:flex-start;margin-top:10px}.panel-head{display:block}aside{overflow:auto}.brand.side span{display:none}}
.timeline{display:grid;gap:0;margin-top:10px}.tl{display:grid;grid-template-columns:22px 1fr;gap:9px;position:relative;min-height:42px;color:#696f75}.tl:not(:last-child):after{content:"";position:absolute;left:7px;top:16px;bottom:-3px;width:2px;background:#292d32}.tl.on:not(:last-child):after{background:#b55a0a}.tl>span{margin-top:3px;width:16px;height:16px;border-radius:50%;background:#2d3136;border:3px solid #111317;z-index:1}.tl.on>span{background:#ff7a00}.tl b,.tl small{display:block}.tl small{color:#747a80;margin-top:3px}.tl.on{color:#f1f1f1}.releasebox{background:#211407;border:1px solid #6a3c12;border-radius:13px;padding:14px;margin-bottom:14px}.releasebox p{color:#c39b76;line-height:1.4}.livehint{color:#58dc91;font-size:12px}

/* v1.2.1 layering fix: keep Leaflet below Command Centre dialogs */
#map, .leaflet-container { position: relative; z-index: 1 !important; }
.leaflet-pane { z-index: 2 !important; }
.leaflet-top, .leaflet-bottom { z-index: 3 !important; }
.modal { z-index: 5000 !important; }
.modal-card { position: relative; z-index: 5001 !important; }
.toast { z-index: 6000 !important; }
