:root{--navy:#102A65;--navy2:#0B1F4A;--ink:#122A52;--blue:#2455D5;--line:#E1E8F4;--bg:#F3F6FC;--muted:#74839B;--green:#137E55;--red:#B4233D;--red-bg:#FFF0F2;font-family:Inter,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-weight:850;font-size:29px;letter-spacing:-.9px;line-height:1.2;margin-bottom:9px}h2{font-size:18px;letter-spacing:-.4px}p{color:var(--muted);line-height:1.55}small{font-size:11px}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 31px}.brand{display:flex;gap:12px;align-items:center}.brandmark{width:44px;height:44px;background:linear-gradient(145deg,#2961EF,#8C69F5);color:#fff;font-size:32px;line-height:44px;text-align:center;border-radius:13px;font-weight:950;font-style:italic;letter-spacing:-5px;padding-right:5px}.brand strong{font-size:23px;letter-spacing:2px;display:block;line-height:23px}.brand small{color:#697D9D;display:block;letter-spacing:1px;font-size:8px;font-weight:800;margin-top:5px}.topright{font-size:11px;color:#536A95;letter-spacing:1.2px;font-weight:850}.circle-dot{display:inline-block;background:#19AC6C;border-radius:50%;width:7px;height:7px;margin-left:8px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{background:linear-gradient(180deg,#0C2356,#122F6E);padding:31px 15px;color:white;display:flex;flex-direction:column}.worklabel{color:#9FB9E4;font-size:10px;letter-spacing:2px;font-weight:900;padding-left:16px;margin-bottom:21px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.navbtn{width:100%;border:0;background:transparent;color:#D1DEF4;text-align:left;padding:15px 17px;border-radius:12px;font-weight:700;font-size:13px}.navbtn.active{background:linear-gradient(105deg,#306BEB,#525CCF);color:#fff}.navbtn span{font-size:17px;margin-right:12px;opacity:.9}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff2c;padding:22px 8px 0;font-size:11px;color:#E4EBFF;line-height:1.5}.sidebar-footer small{display:block;color:#9FB9E4;margin-top:7px;font-size:9px;letter-spacing:.6px}.statusdot{display:inline-block;width:8px;height:8px;background:#39C58D;border-radius:50%;margin-right:6px}.main{min-width:0;padding:26px 33px 50px;max-width:1560px;width:100%;margin:0 auto}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #CAD9F1;background:#EAF1FF;border-radius:12px;padding:9px 13px;margin:0 0 19px;color:#355A9C;font-size:10px;font-weight:900;letter-spacing:.7px}.role-select{display:flex;gap:5px}.role-select button{border:1px solid #B8CDED;color:#385D99;border-radius:7px;padding:7px 12px;background:#fff;font-size:11px;font-weight:850}.role-select button.selected{background:#1D4DBB;color:#fff;border-color:#1D4DBB}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.overline{font-size:10px;letter-spacing:1.7px;color:#3865BE;font-weight:900;margin-bottom:9px}.page-top p{font-size:13px;margin-bottom:0}.top-actions{display:flex;gap:9px;align-items:center}.top-actions input{width:165px}.outline{border:1px solid #D5E0F3;background:#fff;color:#2554A2;border-radius:11px;padding:11px 14px;font-weight:800}.primary{background:linear-gradient(120deg,#245DE4,#1447B4);color:white;border:0;border-radius:11px;padding:12px 17px;font-weight:850;box-shadow:0 3px 10px #2455D522}.full{width:100%}input,select{border:1px solid #D9E3F2;border-radius:10px;padding:11px 13px;background:#fff;color:#213553;min-width:0}label{display:block;color:#627593;font-size:11px;font-weight:800;margin:9px 0 5px}.hero{border-radius:22px;background:linear-gradient(120deg,#102A65,#173A83);color:#fff;display:flex;justify-content:space-between;padding:26px 30px;gap:25px;align-items:center;margin-bottom:20px;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:270px;height:270px;border:35px solid #ffffff0b;border-radius:50%;right:-90px;top:-150px}.hero h2{font-size:30px;margin:6px 0;color:#fff}.hero p{color:#DFE9FF;font-size:12px;margin:6px 0}.hero .overline{color:#A8C7FF}.hero-right{display:flex;gap:9px;z-index:1;flex-wrap:wrap;justify-content:flex-end}.hero .herobtn{background:#ffffff23;border:1px solid #ffffff54;padding:11px 14px;color:white;border-radius:11px;font-weight:800;white-space:nowrap;font-size:12px}.hero .herobtn:hover{background:#ffffff35}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.chip{color:#fff;border:1px solid #ffffff4c;background:#ffffff1c;padding:5px 10px;border-radius:14px;font-size:10px;font-weight:800}.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 21px;box-shadow:0 4px 18px #0A27550a;display:flex;flex-direction:column;align-items:flex-start;min-height:123px;text-align:left;width:100%}.stat .num{font-size:31px;font-weight:900;letter-spacing:-1px;line-height:1}.stat .lbl{font-size:12px;font-weight:800;color:#5F718C;margin:10px 0 4px}.stat .tiny{font-size:10px;color:#94A0B2}.stat.danger{background:var(--red-bg);border:1px solid #F2A8B6}.stat.danger .num,.stat.danger .lbl{color:var(--red)}.stat.danger .tiny{color:#B35D70}.stat.success{background:#EEFAF3;border-color:#C9EDD9}.stat.success .num{color:#118251}.stat:focus-visible,.navbtn:focus-visible{outline:3px solid #96BEFA}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:23px;margin-bottom:19px;box-shadow:0 4px 20px #0A275508}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panelhead h2{margin:0}.hint{font-size:11px;color:#90A0B8}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.toolbar input{max-width:275px;flex:1;min-width:130px}.tabchip{border:1px solid #D7E3F4;background:#F8FAFF;color:#5E7395;border-radius:9px;padding:10px 12px;font-size:11px;font-weight:800}.tabchip.selected{background:#E8F0FF;color:#2056BD;border-color:#AFC8F4}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-weight:900;letter-spacing:.9px;text-transform:uppercase;color:#8495AE;background:#F8FAFE;font-size:10px;padding:13px 12px}td{border-bottom:1px solid #EDF2F9;padding:15px 12px;color:#345070}tr:last-child td{border-bottom:0}tr.needs-print{background:#FFFAFB}.pill{font-size:10px;font-weight:850;border-radius:20px;padding:6px 10px;white-space:nowrap;background:#E9F0FF;color:#2857B2}.pill.red{background:#FFE6EB;color:#B21F3D}.pill.green{background:#E4F8EB;color:#19754B}.pill.orange{background:#FFF4DE;color:#986415}.mini{border:1px solid #CFDDF5;background:#fff;border-radius:9px;color:#2459BC;font-size:11px;padding:8px 10px;font-weight:800}.minired{background:#FFF1F3;color:#BB2A45;border-color:#F1CAD3}.twocol{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.cards-row{display:flex;gap:10px;flex-wrap:wrap}.routecard{background:#F8FAFF;border:1px solid #E3EAF7;padding:16px;border-radius:14px;margin-bottom:11px}.routecard b{font-size:13px}.routecard p{font-size:11px;margin:5px 0 12px}.progress{height:9px;border-radius:20px;background:#E2EAF6;overflow:hidden;margin:12px 0}.progress .fill{height:100%;background:linear-gradient(90deg,#1EAE73,#0E845A);border-radius:20px}.stepchips{display:flex;flex-wrap:wrap;gap:8px}.step{background:#EFF4FF;color:#2859AE;border-radius:9px;padding:8px 11px;font-weight:850;font-size:11px}.step.current{background:#2458D5;color:white}.empty{background:#F7FAFF;border:1px dashed #CAD7EF;border-radius:13px;padding:19px;text-align:center;color:#6982A9;font-size:12px}.notice{border:1px solid #F6BFC7;background:#FFF3F5;padding:13px;border-radius:11px;margin-bottom:14px;color:#A32540}.notice.ok{background:#EDFAF1;border-color:#B3E3C7;color:#116A46}.footnote{font-size:11px}.login{min-height:calc(100vh - 78px);padding:8vh 20px}.login-panel{max-width:440px;margin:auto;border:1px solid var(--line);background:#fff;border-radius:23px;padding:35px}.login-panel input{width:100%;margin-bottom:10px}.login-panel button{margin-top:15px}.actions{display:flex;gap:9px;flex-wrap:wrap}.small-note{font-size:11px;color:#6B7F9C}.map-placeholder{height:250px;background:linear-gradient(125deg,#E4EBF7,#F4F7FD);border:1px solid #DBE4F4;border-radius:12px;display:grid;place-items:center;color:#7C90B0;position:relative;overflow:hidden}.map-placeholder:before{content:'';position:absolute;inset:10px;background:repeating-linear-gradient(45deg,transparent 0 25px,#CFDAEA75 26px 28px);opacity:.4}.map-placeholder b{z-index:1;background:#fff;border-radius:10px;padding:12px}.hidden{display:none!important}
@media(max-width:1000px){.shell{grid-template-columns:200px 1fr}.main{padding:20px}.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol{grid-template-columns:1fr}.hero{align-items:flex-start}}@media(max-width:700px){.topbar{height:66px;padding:9px 15px}.brandmark{height:37px;width:37px;line-height:37px;font-size:27px}.brand strong{font-size:18px}.brand small{font-size:6px}.topright{font-size:9px}.shell{display:block}.sidebar{padding:8px 9px;position:sticky;top:0;z-index:10}.worklabel,.sidebar-footer{display:none}.sidebar-nav{display:flex;flex-direction:row;overflow-x:auto;gap:5px}.navbtn{white-space:nowrap;padding:11px 12px;font-size:11px;width:auto}.navbtn span{font-size:13px;margin-right:6px}.main{padding:17px 14px 45px}.page-top{display:block;margin-bottom:16px}.page-top h1{font-size:24px}.top-actions{margin-top:13px}.top-actions input{width:160px}.preview-bar{flex-direction:column;align-items:stretch}.hero{padding:21px 19px;border-radius:20px;display:block}.hero h2{font-size:28px}.hero-right{margin-top:16px;justify-content:flex-start}.statgrid{gap:10px}.stat{padding:17px;min-height:113px}.stat .num{font-size:28px}.panel{padding:17px}.panelhead{align-items:flex-start}.tablewrap{margin:0 -7px}.toolbar input{width:100%;max-width:none}.topright{display:none}}

.brand .eksa-logo{width:186px;height:55px;object-fit:contain;object-position:left center}
@media(max-width:700px){.brand .eksa-logo{width:130px;height:43px}}

/* EKSA v2 operational sections */
.dispatch-board{display:grid;grid-template-columns:repeat(6,minmax(215px,1fr));gap:12px;overflow-x:auto;padding:8px 0 20px}.dispatch-column{background:#F1F5FB;border:1px solid #DCE6F5;border-radius:15px;padding:12px;min-height:235px}.dispatch-column h3{font-size:13px;margin:2px 0 12px;display:flex;justify-content:space-between}.dispatch-column h3 span{background:#DDE9FB;border-radius:20px;padding:2px 8px}.dispatch-item{background:white;border:1px solid #E1E7F2;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.dispatch-item small{color:#66788E;font-size:11px}.panel code{display:block;overflow-wrap:anywhere;background:#EFF4FF;padding:12px;border-radius:9px}.panel textarea{width:100%;min-height:80px;border-radius:10px;padding:12px;border:1px solid #D8E2F0}@media(max-width:800px){.dispatch-board{grid-template-columns:repeat(6,235px)}}

/* Premium balanced EKSA v2.1 — real application components, not mockups */
:root{--blue:#4354E8;--line:#E9ECF7;--ink:#141D45;--muted:#7B87A3;--bg:#F7F8FF}
body{background:#F7F8FF;color:#141D45;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.shell{grid-template-columns:225px minmax(0,1fr)}
.sidebar{background:#FFFFFF;color:#202C56;border-right:1px solid #EBEDF7;padding:25px 13px}
.sidebar .worklabel{color:#8993B2}
.navbtn{color:#697591;border-radius:13px;padding:13px 15px}
.navbtn:hover{background:#F4F1FF;color:#5546D0}
.navbtn.active,.role-select button.selected{background:linear-gradient(115deg,#4354E8,#8B5CF6);color:white;box-shadow:0 7px 15px #6657E525}
.sidebar-footer{color:#617091;border-color:#E9ECF6}.sidebar-footer small{color:#99A4BD}
.main{padding:26px 32px 65px}
.overline{color:#7661E2}.page-top h1{letter-spacing:-.7px}
.hero{background:linear-gradient(122deg,#364AC7 0%,#6954E6 63%,#8B5CF6 100%);border-radius:23px;padding:27px 30px;box-shadow:0 13px 27px #5344C824}
.hero:after{border-color:#ffffff11;right:-80px;top:-130px}.hero h2{font-size:29px}
.primary{background:linear-gradient(110deg,#4354E8,#895CF6);border-radius:13px;box-shadow:0 6px 13px #5B51E326}
.stat{border:1px solid #EBECF7;border-radius:21px;box-shadow:0 9px 24px #293C9710;min-height:120px;transition:transform .15s ease}
.stat:hover{transform:translateY(-2px)}
.stat .num{color:#121C49}.stat .lbl{color:#687693}
.panel{border-color:#E8EAF6;border-radius:21px;box-shadow:0 9px 25px #3843A50a;padding:23px}
.pill.green,.city-availability.enabled{background:#E3F8EC;color:#10804B}
.pill.red,.city-availability.disabled{background:#FFEBF0;color:#AF3555}
.tabchip.selected{background:#EDE9FF;color:#6048D9;border-color:#CEC6FF}
.routecard{border-color:#E6E8F8;background:#FCFCFF;border-radius:17px}
.dispatch-column{border:1px solid #E7E8F6;background:#F7F7FD;border-radius:17px}
.dispatch-column:nth-child(2){background:#EFF5FF}.dispatch-column:nth-child(4){background:#F1EDFF}.dispatch-column:nth-child(5){background:#ECF9F2}
.dispatch-item{border-radius:13px;box-shadow:0 3px 9px #3645A709}
.premium-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.premium-city-card{display:block;width:100%;text-align:left;border:1px solid #E8EAF5;border-radius:19px;background:#FFF;overflow:hidden;padding:0 0 15px;box-shadow:0 8px 18px #2F3D960d;transition:transform .17s ease,border-color .17s ease;color:#192450}
.premium-city-card:hover{transform:translateY(-3px);border-color:#9B8AFA}
.premium-city-card.selected{border:2px solid #6C58EA}
.city-art{height:65px;display:flex;align-items:flex-end;justify-content:center;font-size:31px;letter-spacing:3px;opacity:.85}
.city-art-0{background:#E5EFFF;color:#7FA7F0}.city-art-1{background:#EFE8FF;color:#A68BEC}.city-art-2{background:#E8F3FF;color:#8AB4ED}.city-art-3{background:#F0E8FF;color:#A28AEB}
.premium-city-name{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:850;padding:13px 14px 6px}
.premium-city-name strong{font-size:20px;color:#9298B6}
.premium-city-numbers{display:flex;gap:20px;font-size:10px;color:#8B97AE;padding:5px 14px}
.premium-city-numbers b{display:block;font-size:19px;color:#1D2852}
.city-availability{display:inline-block;margin:8px 14px 0;padding:5px 10px;border-radius:99px;font-size:10px;font-weight:800;background:#EDE9FF;color:#6249D4}
.premium-city-card.all{background:#F5F0FF}
@media(max-width:1050px){.premium-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shell{display:block}.sidebar{padding:8px;border-bottom:1px solid #E8EBF8}.main{padding:15px 14px 55px}.premium-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.city-art{height:46px;font-size:23px}.city-numbers b{font-size:16px}.hero{padding:22px}.panel{padding:18px}}

/* Explicit action affordance for the printing queue; passive statistics are not clickable. */
.stat-action{cursor:pointer;position:relative;border-color:#bdcafb}
.stat-action:hover{transform:translateY(-3px);border-color:#6b5ceb;box-shadow:0 12px 28px #485fe526}
.stat-action:focus-visible{outline:3px solid #755bff;outline-offset:3px}
.stat-action:after{content:"Open labels  →";font-size:11px;font-weight:800;color:#4f46e5;margin-top:8px}

/* Premium-balanced operational control refinements */
.coverage-filter{display:flex;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}.coverage-filter input{max-width:300px;flex:1;min-width:180px}.coverage-subtitle{font-size:14px;color:#18295f;margin:20px 0 12px}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:12px}.coverage-card{display:flex;gap:12px;align-items:center;padding:18px 15px;border:1px solid #e4e7f2;border-radius:17px;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s;min-width:0}.coverage-card:hover{border-color:#a4a0f3;box-shadow:0 8px 18px #25206612;transform:translateY(-1px)}.coverage-card input{accent-color:#6556eb;width:17px;height:17px}.coverage-card>span:nth-of-type(2){flex:1;min-width:0}.coverage-card strong{display:block;color:#142251;font-size:14px}.coverage-card small{display:block;color:#8792a8;font-size:11px;margin-top:4px}.coverage-pin{display:grid;place-items:center;width:34px;height:34px;background:#efedff;color:#6556e9;border-radius:11px;font-size:22px}.coverage-indicator{padding:5px 9px;border-radius:50px;background:#f2f3f8;color:#77839a;font-size:11px;font-weight:800}.coverage-card.is-active .coverage-indicator{background:#e4f7ea;color:#19824e}.coverage-inactive{margin-top:16px}.coverage-save{display:flex;justify-content:flex-end;margin-top:22px}.hint-text{color:#7683a0;font-size:13px}.tablewrap .mini{white-space:nowrap}.needs-print td{background:#fffafa}@media(max-width:720px){.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-card{padding:13px 9px;gap:7px}.coverage-pin{display:none}}
/* Desktop and phone-browser parity: readable actions and explicit workflow. */
button,a.outline,input,select{min-height:44px}a.outline{display:inline-flex;align-items:center;text-decoration:none;padding:10px 14px;border:1px solid #ced8ee;border-radius:10px;color:#3346aa;background:white}button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.form-grid label{margin-bottom:-2px}.form-grid input{width:100%}.order-form .form-grid{display:block;columns:2;column-gap:24px}.order-form label,.order-form input{break-inside:avoid}.order-form input{display:block;width:100%;margin-bottom:14px}.save-state{background:#eff3ff;padding:12px;border-radius:10px}.help-strip{margin-bottom:16px}.help-strip>.panel{margin-top:12px}.workflow-steps{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0}.workflow-steps li{padding:10px;background:#eef0f8;border-radius:10px}.workflow-steps .current{background:#4354e8;color:white}.delivery-map{height:360px;margin:16px 0;border-radius:12px;background:#f0f2fa;border:1px solid #d5dced;padding:0;overflow:hidden;z-index:1;display:grid;place-items:center}.delivery-map.leaflet-container{display:block}.numbered-pin span{display:grid;place-items:center;height:32px;width:32px;background:#4354e8;border:2px solid white;border-radius:50%;color:white;font-weight:800;box-shadow:0 2px 6px #18214d44}.scanner-dialog{max-width:580px;width:calc(100% - 32px);padding:24px;border:1px solid #d5dbed;border-radius:16px}.scanner-dialog::backdrop{background:#0a143dbb}.scanner-dialog video{width:100%;min-height:220px;max-height:50vh;background:#10162c;border-radius:12px}.scanner-dialog button{width:100%}.workspace-select{display:none}.tablewrap input{min-width:150px;width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}.order-form textarea{min-height:100px;width:100%}.stat .tiny,.small-note,.hint{color:#5b6980}.page-top select{max-width:100%}#lastUpdated{margin:18px 0}.delivery-map .outline{font-size:13px}
@media(max-width:700px){.workspace-select{display:block;width:100%;font-size:16px;background:#fff}.sidebar-nav{display:none}.form-grid{display:block}.order-form .form-grid{columns:1}input,select,textarea{font-size:16px}.hero h2{font-size:24px}.actions>button,.actions>a{flex:1 1 160px;justify-content:center}.delivery-map{height:300px}.workflow-steps{display:grid;grid-template-columns:1fr 1fr;font-size:12px}.panelhead{display:block}.hint{display:block;margin-top:8px}.tablewrap{max-width:100%}.main{min-width:0}.sidebar{position:relative}}
.form-field{min-width:0}.form-field input{width:100%}.order-form .form-grid{display:grid;columns:auto}.order-form .form-field{break-inside:avoid}.order-form .form-grid input{margin-bottom:8px}@media(max-width:700px){.order-form .form-grid{display:block}}

/* Permission account forms: consistent labels, aligned controls and actual state. */
.permission-account{max-width:860px}
.permission-account>h2{margin-bottom:20px}
.permission-account>label:not(.permission-switch){display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:16px;margin:12px 0;font-size:14px;color:var(--ink)}
.permission-account>label>select{width:100%;max-width:100%;font-size:14px}
.permission-account .permission-switch{display:grid;grid-template-columns:minmax(0,1fr) 124px;align-items:center;gap:16px;margin:0;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--ink);cursor:pointer}
.permission-account .permission-switch:first-of-type{border-top:1px solid var(--line)}
.permission-name{min-width:0;overflow-wrap:anywhere}
.permission-control{display:grid;grid-template-columns:44px 70px;align-items:center;gap:10px}
.permission-control input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;position:relative;flex:none;width:44px;height:26px;min-height:26px;margin:0;padding:0;border:1px solid #9AA8BE;border-radius:20px;background:#D9E0EB;cursor:pointer;transition:background .15s}
.permission-control input[type=checkbox]::before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #122A5240;transition:transform .15s}
.permission-control input[type=checkbox]:checked{background:#2455D5;border-color:#2455D5}
.permission-control input[type=checkbox]:checked::before{transform:translateX(18px)}
.permission-control input[type=checkbox]:focus-visible{outline:3px solid #8CAFFA;outline-offset:3px}
.permission-state{font-size:12px;font-weight:750;color:#627593}
.permission-on{display:none}.permission-off{display:inline}
.permission-control input:checked+.permission-state .permission-on{display:inline;color:#1D4DBB}
.permission-control input:checked+.permission-state .permission-off{display:none}
.permission-account>button[data-action=permsave]{display:block;margin-top:22px;min-width:175px;min-height:46px}
@media(max-width:520px){.permission-account>label:not(.permission-switch){grid-template-columns:1fr;gap:7px;margin:16px 0}.permission-account .permission-switch{gap:12px;font-size:13px}.permission-account>button[data-action=permsave]{width:100%}}
@media(prefers-reduced-motion:reduce){.permission-control input[type=checkbox],.permission-control input[type=checkbox]::before{transition:none}}

/* Customer workspace readability and overflow control. */
.customer-workspace{min-width:0;font-size:14px}
.customer-workspace p,.customer-workspace .small-note{font-size:13px;line-height:1.55}
.customer-workspace .panelhead{align-items:flex-start;flex-wrap:wrap;gap:8px 20px}
.customer-workspace .panelhead h2{font-size:19px;line-height:1.35}
.customer-workspace .panelhead .hint{font-size:12px;line-height:1.5;max-width:360px}
.customer-workspace .customer-print-actions{display:flex;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}
.customer-workspace .customer-print-actions .primary{font-size:14px;line-height:1.45;white-space:normal;max-width:100%;text-align:left}
.customer-workspace .customer-print-actions .small-note{flex:1 1 260px;max-width:460px;padding-top:9px}
.customer-workspace .toolbar{align-items:center;gap:10px;margin-bottom:20px}
.customer-workspace .toolbar input{flex:1 1 250px;max-width:360px;height:46px;font-size:14px}
.customer-workspace .tabchip{min-height:46px;font-size:13px;padding:10px 14px}
.customer-workspace table{font-size:14px;line-height:1.5}
.customer-workspace th{font-size:11px;letter-spacing:.5px;padding:14px 12px}
.customer-workspace td{padding:17px 12px;vertical-align:middle;overflow-wrap:anywhere}
.customer-workspace td small{font-size:13px;line-height:1.5;color:#566780}
.customer-workspace .mini{font-size:13px;padding:10px 12px;min-height:42px}
.customer-workspace .pill{font-size:12px;letter-spacing:0}
.customer-order-table table{table-layout:fixed;min-width:0}
.customer-order-table th:nth-child(1){width:20%}.customer-order-table th:nth-child(2){width:24%}.customer-order-table th:nth-child(3){width:11%}.customer-order-table th:nth-child(4){width:6%}.customer-order-table th:nth-child(5){width:12%}.customer-order-table th:nth-child(6){width:11%}.customer-order-table th:nth-child(7){width:16%}
.customer-order-table td .actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.customer-workspace .map-no-points{height:auto;min-height:170px;padding:24px;text-align:center}
.map-empty-state{max-width:520px}.map-empty-state strong{display:block;font-size:18px}.map-empty-state p{margin:10px 0 0}
.customer-workspace #companyMapRoute,.customer-workspace #printScope{width:100%;max-width:560px;margin:0 12px 12px 0;font-size:14px}
@media(max-width:1000px){.customer-order-table th,.customer-order-table td{padding:13px 8px}.customer-order-table .mini{padding:9px 10px}.customer-order-table .pill{white-space:normal}}
@media(max-width:760px){.customer-workspace .toolbar input{max-width:none;flex-basis:100%}.customer-workspace .customer-print-actions .primary{width:100%;text-align:center}.customer-workspace .customer-print-actions .small-note{padding-top:0}.customer-order-table .tablewrap{margin:0;overflow:visible}.customer-order-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.customer-order-table table,.customer-order-table tbody,.customer-order-table tr,.customer-order-table td{display:block;width:100%}.customer-order-table tr{position:relative;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.customer-order-table td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;border-bottom:1px solid #EDF2F9!important;padding:12px!important}.customer-order-table td::before{content:attr(data-label);font-size:12px;font-weight:800;color:#627593}.customer-order-table td:last-child{border-bottom:0!important}.customer-workspace .map-no-points{min-height:150px;padding:20px}}

.address-review-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.address-review-row>div{min-width:0}.address-review-row p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}.address-review-row button{flex:none}@media(max-width:600px){.address-review-row{align-items:stretch;flex-direction:column;gap:8px}}

.driver-progress .progress-track{height:12px;background:#e3e8f0;border-radius:30px;overflow:hidden}.driver-progress .progress-track>div{height:100%;background:#289f77;transition:width .5s}.motivation-pop{padding:16px;border-radius:14px;background:#e9f9f1;color:#116746;font-weight:700;margin:12px 0;animation:eksa-pop .7s ease-out}.celebrating{animation:eksa-pop .7s ease-out}@keyframes eksa-pop{0%{transform:scale(.96);opacity:.6}65%{transform:scale(1.025)}100%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.motivation-pop,.celebrating{animation:none}}

/* Completed routes: green card only when every delivery succeeded */
.eksa-route-delivered{background:#dcfce7!important;border:2px solid #16a34a!important;color:#14532d!important}
.eksa-route-delivered h3:after{content:'DELIVERED';float:right;font-size:12px;color:#166534;background:#bbf7d0;border-radius:8px;padding:5px 9px}

/* Driver compact delivery controls */
.delivery-compact{max-width:680px;margin:auto;padding:12px}.delivery-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.delivery-help{border-radius:50%;width:40px;height:40px;font-size:22px;font-weight:700;flex-shrink:0}.delivery-address{margin:6px 0}.delivery-progress{font-weight:600}.delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.delivery-actions>*{min-width:0;width:100%;box-sizing:border-box}.delivery-actions input{grid-column:1/-1}.delivery-actions button{min-height:48px}.delivery-exception{margin-top:12px}.delivery-exception select,.delivery-exception textarea{width:100%;margin:6px 0}.delivery-help-dialog{border:0;border-radius:16px;max-width:min(90vw,440px);padding:24px;box-shadow:0 15px 50px #0005}.delivery-help-dialog::backdrop{background:#0008}@media(max-width:480px){.delivery-actions{grid-template-columns:1fr 1fr}.delivery-actions button{font-size:13px;padding:8px}}

.address-suggestions:empty{display:none}.address-suggestions{grid-column:1/-1;display:grid;gap:4px}.address-suggestion{text-align:left;border:1px solid #d6dcef;background:#fff;border-radius:8px;padding:10px;cursor:pointer}.address-suggestion:hover,.address-suggestion:focus{background:#eef3ff}

/* Admin route management: compact, clickable route cards and real stop actions */
.route-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.route-progress-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid #dce4fa;border-radius:17px;padding:17px;color:#162451;cursor:pointer;box-shadow:0 2px 9px rgba(27,45,105,.04);font:inherit}
.route-progress-card:hover,.route-progress-card:focus-visible,.route-progress-card.selected{border-color:#6154ed;box-shadow:0 0 0 2px rgba(97,84,237,.13)}
.route-progress-head,.route-progress-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.route-progress-head strong{font-size:15px}.route-progress-status{font-size:11px;font-weight:800;text-transform:capitalize;background:#e8edff;color:#3e4caa;padding:5px 9px;border-radius:20px}
.route-progress-id{font-size:12px;color:#6b779c;margin:8px 0 12px}.route-progress-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:12px;margin-bottom:12px}.route-progress-stats b{font-size:17px;color:#252f7d}.route-progress-footer{font-size:12px;color:#5063b2;margin-top:10px}.route-detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.route-detail-header h3{margin:0}.route-detail-scroll{overflow-x:auto;margin:15px 0}.route-detail-table{width:100%;min-width:760px;border-collapse:collapse}.route-detail-table th,.route-detail-table td{padding:12px 9px;border-bottom:1px solid #e6eafb;text-align:left;font-size:13px}.route-detail-table th{background:#f3f5ff;color:#4c5d9c}.route-detail-table td:last-child{min-width:220px}.route-detail-table select{max-width:150px;padding:7px;margin:4px}
