:root{--bg:#0b1020;--panel:#141b2f;--panel2:#19223a;--stroke:#273552;--text:#eff4ff;--muted:#a1b0ce;--primary:#8c9eff;--green:#69dfb5;--red:#ff8a99;--amber:#ffd081;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}h1,h2,h3{margin:0 0 12px;line-height:1.3}h1{font-size:29px;font-weight:760;letter-spacing:-.7px}h2{font-size:19px}h3{font-size:16px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{background:#10172a;border-right:1px solid var(--stroke);padding:28px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:800;line-height:1.2;padding:0 12px 24px}.brand-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#657cff,#33c6b3);font-size:21px}.navtitle{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#7587a9;margin:18px 12px 9px;font-weight:800}.nav a{display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:9px;margin:3px 0;color:#bec9e1}.nav a:hover,.nav a.active{color:#fff;background:#273555}.sidefooter{margin-top:30px;border-top:1px solid var(--stroke);padding:16px 9px;color:var(--muted);font-size:12px}.main{padding:28px clamp(18px,4vw,56px);max-width:1550px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:15px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 24px}.pagehead p{color:var(--muted);margin:5px 0 0}.muted,small,.subtle{color:var(--muted)}.btn{border:1px solid var(--stroke);padding:10px 15px;border-radius:9px;color:var(--text);background:var(--panel2);font-weight:650;cursor:pointer;font:inherit;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn:hover{filter:brightness(1.15);color:white}.btn-primary{background:#667af1;border-color:#667af1;color:white}.btn-good{background:#267a61;border-color:#267a61}.btn-danger{background:#652e44;border-color:#652e44}.btn-sm{padding:7px 10px;font-size:12px}.btn-ghost{background:transparent}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px;margin-bottom:20px;min-width:0}.panel h2{margin-bottom:16px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.tile{padding:21px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius)}.tile strong{font-size:28px;letter-spacing:-1px;display:block}.tile span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted);font-weight:800;text-align:left}td,th{padding:12px 10px;border-bottom:1px solid #27334b}tr:last-child td{border:0}td strong{font-weight:680}.badge{padding:4px 9px;border-radius:25px;background:#2c395b;color:#bacaff;display:inline-block;font-size:11px;font-weight:750;text-transform:capitalize}.badge-delivered,.badge-paid,.badge-verified,.badge-closed{background:#194439;color:#87efc3}.badge-cancelled,.badge-rejected,.badge-overdue,.badge-void{background:#552937;color:#ff9fab}.badge-in_transit,.badge-at_pickup,.badge-at_delivery,.badge-loaded,.badge-sent{background:#453923;color:#ffdf91}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-weight:650;font-size:12px;color:#cbd7ed}.field input,.field select,.field textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],select,textarea{background:#0d1629;border:1px solid #31415d;color:var(--text);padding:11px 12px;border-radius:8px;font:inherit;width:100%;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--primary);border-color:var(--primary)}textarea{resize:vertical;min-height:90px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionline{padding-bottom:10px;border-bottom:1px solid var(--stroke);margin-bottom:20px}.alert{padding:13px 16px;border-radius:10px;background:#1d443b;border:1px solid #2c6c57;color:#b3ffe3;margin-bottom:18px}.alert-error{background:#452231;border-color:#86334c;color:#ffd0dc}.link{color:var(--primary);font-weight:650}.pagination{margin:16px 0;display:flex;justify-content:space-between;gap:15px;color:var(--muted)}.login-bg{display:grid;place-items:center;min-height:100vh;background:radial-gradient(ellipse at 50% 20%,#1e2d58,#0b1020 70%);padding:20px}.login-card{width:min(100%,440px)}.login-card h1{font-size:27px}.login-card .field{margin:18px 0}.kicker{letter-spacing:.15em;text-transform:uppercase;color:var(--green);font-weight:800;font-size:11px}.timeline{border-left:2px solid #334365;margin-left:9px;padding-left:18px}.timeline>div{padding:0 0 22px}.timeline small{display:block}.number{font-variant-numeric:tabular-nums}.docprint{background:white;color:#121d32;padding:30px;border-radius:8px}.docprint table{color:#121d32}.docprint td,.docprint th{border-color:#ddd}.docprint .badge{color:#121d32}.mobilemenu{display:none}@media(max-width:1080px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:730px){.app{display:block}.side{position:relative;width:100%;height:auto;padding:15px}.brand{padding:0 0 10px}.nav{display:flex;overflow:auto;white-space:nowrap}.navtitle,.sidefooter{display:none}.nav a{flex-shrink:0;padding:6px 9px;font-size:12px}.main{padding:20px 12px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tile{padding:14px}.tile strong{font-size:24px}.fields,.fields.two,.grid3{grid-template-columns:1fr}.panel{padding:16px}.pagehead h1{font-size:24px}}@media print{body{background:white;color:black}.side,.top,.btn,.noprint,.alert{display:none!important}.app{display:block}.main{padding:0;max-width:none}.panel{border:0;padding:0;background:white}.docprint{padding:0}.print-only{display:block!important}table td,table th{color:#111!important;border-color:#ccc!important}}
/* TransitFlow Command Center: premium presentation-first modules */
.hub-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,#19284a 2%,#15263d 60%,#123941 125%);border:1px solid #304663;border-radius:20px;padding:30px;margin-bottom:20px;box-shadow:0 12px 45px #030b1a3d}
.hub-hero h1{font-size:34px;letter-spacing:-1px;margin:8px 0}.hub-hero p{color:#b5c8df;max-width:750px;margin:0;font-size:14px}.hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.hub-stats>div{background:#141d34;border:1px solid #2a3f5b;border-radius:15px;padding:20px;min-height:116px}.hub-stats small{display:block;color:#92a6c8;letter-spacing:.11em;font-size:10px;font-weight:800}.hub-stats strong{display:block;margin:5px 0 0;font-size:27px;letter-spacing:-.8px;color:#f4f8ff}.hub-stats span{color:#8097b6;font-size:11px;display:block}.hub-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:17px 0 20px}.hub-toolbar input{max-width:360px}.hub-toolbar .muted{font-size:11px}.dispatch-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:20px}.dispatch-column{min-width:0;background:#10192b;border:1px solid #29384f;border-radius:16px;padding:12px;min-height:280px}.dispatch-title{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 16px;color:#d9e5f7;font-size:13px}.dispatch-card{padding:16px;border-radius:13px;background:linear-gradient(160deg,#1b2b44,#172136);border:1px solid #30405c;margin-bottom:11px;box-shadow:0 6px 18px #0207143d}.dispatch-card .dispatch-customer{display:block;margin-top:10px;color:#f1f7ff}.dispatch-card p{font-size:12px;color:#90a4c3;min-height:18px}.dispatch-card .badge{font-size:9px}.dispatch-lane{color:#cce7ed;border-radius:7px;background:#233b4a;padding:8px;margin:9px 0;font-weight:700;font-size:12px}.dispatch-lane span{color:#6ce6c2}.dispatch-meta{font-size:11px;color:#a5b9d0;margin:6px 0}.dispatch-empty{text-align:center;border:1px dashed #354b68;color:#809ab8;border-radius:12px;padding:36px 10px;font-size:12px}.hub-details{margin-top:12px;border-top:1px solid #31415c;padding-top:12px}.hub-details summary{cursor:pointer;color:#9dafff;font-weight:700}.hub-details form{display:grid;gap:9px;margin-top:12px}.hub-details .field input,.hub-details .field select{padding:8px}.hub-note{font-size:12px;color:#b0bfd3;background:#17283b;border:1px solid #29455a;padding:15px;border-radius:10px;margin:12px 0 20px}.hub-note p{margin:6px 0 0}.hub-urgent{color:#ffaaa9;font-weight:800}.hub-item{border-bottom:1px solid #2b3c56;padding:14px 0}.hub-item:last-child{border-bottom:0}.hub-item p{font-size:12px;color:#b0c0d6}.hub-steps{display:grid;gap:20px}.hub-steps>div{position:relative;padding-left:47px}.hub-steps span{position:absolute;left:0;top:0;background:#29445d;color:#83efca;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-weight:800;font-size:12px}.hub-steps p{margin:5px 0 0;color:#9eb1c8;font-size:12px}.hub-steps-horizontal{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 22px}.route-map{position:relative;border:1px solid #2a445b;overflow:hidden;border-radius:15px;background:#0d2135}.route-map svg{width:100%;display:block;min-height:260px}.route-map-overlay{position:absolute;bottom:12px;right:14px;color:#90b6c5;font-size:10px;font-weight:800;letter-spacing:.1em}.stop-timeline{position:relative}.stop-timeline-item{display:grid;grid-template-columns:36px 1fr auto;gap:13px;align-items:center;border-bottom:1px solid #2a3a53;padding:15px 0}.stop-number{width:34px;height:34px;display:grid;place-items:center;background:#304b60;color:#93f5d4;border-radius:100%;font-weight:850}.stop-timeline-item:last-child{border:0}.stop-builder{background:#14253b;border:1px solid #2e4762;padding:15px;margin:12px 0;border-radius:12px}.stop-builder .fields{margin:12px 0}.showcase-hero{position:relative;background:radial-gradient(circle at 93% 20%,#2d677e70,transparent 38%),linear-gradient(125deg,#182553,#121f35 56%,#142e39);padding:60px 48px;overflow:hidden;border:1px solid #314a63;border-radius:22px;margin-bottom:18px}.showcase-tag{display:inline-block;color:#7ff3c7;border:1px solid #42716d;letter-spacing:.14em;font-size:10px;font-weight:850;padding:7px 13px;border-radius:20px}.showcase-hero h1{font-size:clamp(38px,5.8vw,76px);line-height:1.05;letter-spacing:-3px;margin:25px 0}.showcase-hero h1 em{color:#77e7c1;font-style:normal}.showcase-hero p{font-size:17px;color:#bccdde;max-width:680px;margin-bottom:24px}.showcase-section-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:30px 0 16px}.showcase-section-head h2{font-size:25px;margin:6px 0}.showcase-section-head p{color:#9aacc3;max-width:420px}.showcase-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.showcase-card{display:block;border-radius:16px;padding:24px;background:linear-gradient(145deg,#1c2a44,#151e32);border:1px solid #2d3f5c;min-height:210px;transition:transform .15s,border-color .15s}.showcase-card:hover{transform:translateY(-3px);border-color:#6b8ee0}.showcase-card .row>span:first-child{color:#738fb1;font-size:10px;letter-spacing:.13em;font-weight:850}.showcase-card h3{font-size:18px;margin-top:19px}.showcase-card p{font-size:12px;color:#a7b9d1;line-height:1.6}.showcase-card strong{font-size:12px;color:#7ce9c2}.showcase-symbol{font-size:28px;color:#8d9fff}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.dashboard-shortcuts a{display:flex;justify-content:space-between;gap:8px;background:#20304a;border:1px solid #354c64;border-radius:10px;padding:13px;font-size:12px;font-weight:750}.dashboard-shortcuts span{color:#77e7c1}@media(max-width:1250px){.showcase-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-board{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media(max-width:760px){.hub-hero{padding:20px}.hub-hero h1{font-size:27px}.dispatch-board,.showcase-cards,.hub-stats,.dashboard-shortcuts,.hub-steps-horizontal{grid-template-columns:1fr}.showcase-hero{padding:32px 20px}.showcase-hero h1{letter-spacing:-1px}.showcase-section-head{display:block}.stop-timeline-item{grid-template-columns:36px 1fr}.stop-timeline-item>.muted{grid-column:2}}

#leafletLiveMap{position:absolute;inset:0;z-index:4;width:100%;height:100%;min-height:320px}.route-map:has(#leafletLiveMap[style*=block]){min-height:320px}.route-map-overlay{z-index:6;background:#0e1c29c9;padding:7px;border-radius:7px}
