:root{--bg:#0a0f15;--panel:#101821;--panel2:#121d27;--line:#22303c;--text:#f3f6f8;--muted:#8fa1b2;--green:#27d17f;--green2:#0d3425;--orange:#ff9f43;--red:#ff5d67;--blue:#4fa7ff;--shadow:0 18px 48px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand img{width:34px;height:34px}.brand span{display:block;font-size:12px;color:var(--muted);font-weight:600}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#0d141c;border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:11px 12px;border-radius:10px;display:flex;gap:10px;align-items:center}.nav button.active,.nav button:hover{background:#16222d;color:#fff}.sidebar-bottom{margin-top:auto}.main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(10,15,21,.86);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}.top-actions{display:flex;gap:8px;align-items:center}.content{padding:22px;max-width:1600px;margin:auto}.grid{display:grid;gap:14px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(180deg,var(--panel),#0e171f);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.card h3,.card h2{margin:0 0 12px}.stat strong{font-size:28px}.stat span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.btn{border:1px solid var(--line);background:#17232e;color:#fff;border-radius:10px;padding:10px 13px;font-weight:700}.btn:hover{filter:brightness(1.08)}.btn.primary{background:var(--green);color:#04150d;border-color:transparent}.btn.danger{background:#34181d;color:#ffb6ba;border-color:#5b252e}.btn.warn{background:#392817;color:#ffd2a2;border-color:#6a4824}.btn.ghost{background:transparent}.btn.sm{padding:7px 9px;font-size:12px}.btn.wide{width:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#1a2732;border:1px solid var(--line);font-size:11px;font-weight:800}.badge.green{background:var(--green2);color:#7ef3b5;border-color:#1b6347}.badge.red{background:#35161d;color:#ff9ca3;border-color:#622632}.badge.orange{background:#392817;color:#ffc989;border-color:#634521}.badge.blue{background:#132a3d;color:#91cbff;border-color:#214965}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#0b131b;color:#fff;border-radius:10px;padding:10px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3a6d59}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid .full{grid-column:1/-1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#101821;position:sticky;top:0}tr:last-child td{border-bottom:0}.clickable{cursor:pointer}.clickable:hover td{background:#14202a}.map{height:470px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0f1720}.map.small{height:320px}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.section-head h2{margin:0}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 20%,rgba(39,209,127,.13),transparent 34%),var(--bg)}.login-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.login-card h1{font-size:25px;margin:22px 0 8px}.login-card p{color:var(--muted);line-height:1.5}.login-card .fields{display:grid;gap:12px;margin-top:20px}.toast{position:fixed;right:18px;bottom:18px;z-index:1000;background:#17232e;border:1px solid var(--line);padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;max-width:360px}.toast.show{opacity:1;transform:none}.toast.error{border-color:#6b2930;color:#ffd0d3}.toast.success{border-color:#216244;color:#b8f7d3}.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.66);display:grid;place-items:center;padding:20px;z-index:900}.modal-card{width:min(700px,100%);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.modal-card.wide{width:min(980px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h2{margin:0}.empty{padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.profile-head{display:flex;align-items:center;gap:14px}.avatar{width:68px;height:68px;border-radius:16px;background:#192833;object-fit:cover;border:1px solid var(--line);display:grid;place-items:center;font-size:25px;font-weight:900}.profile-meta h2{margin:0 0 4px}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.kpi{background:#0c151d;border:1px solid var(--line);border-radius:12px;padding:12px}.kpi strong{font-size:22px}.kpi span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.courier-app{max-width:560px;margin:auto;min-height:100vh;background:#0b1118;border-left:1px solid var(--line);border-right:1px solid var(--line)}.courier-top{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,17,24,.96);z-index:40}.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.mode-switch button{padding:11px 8px;border-radius:12px;border:1px solid var(--line);background:#121c25;color:var(--muted);font-weight:800}.mode-switch button.on[data-mode="active"]{background:#0f3526;color:#7cf1b3;border-color:#1e694a}.mode-switch button.on[data-mode="break"]{background:#3b2a17;color:#ffc685;border-color:#725027}.mode-switch button.on[data-mode="offline"]{background:#2a1d20;color:#ff9fa6;border-color:#63303a}.courier-body{padding:12px}.offer{border:1px solid #2e704f;background:linear-gradient(180deg,#123323,#0f2119);border-radius:16px;padding:16px}.offer h2{margin:0 0 6px}.timer{font-size:28px;font-weight:900;color:#8cf4bb}.action-stack{display:grid;gap:9px;margin-top:14px}.job-map{height:440px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.route-banner{background:#111c24;border:1px solid var(--line);padding:12px;border-radius:12px;margin-bottom:10px}.route-banner strong{font-size:17px}.bottom-nav{position:sticky;bottom:0;background:#0c131a;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);z-index:40}.bottom-nav button{background:transparent;border:0;color:var(--muted);padding:12px 5px;font-weight:700}.bottom-nav button.active{color:var(--green)}.notice{padding:11px 12px;border-radius:10px;background:#12202a;border:1px solid var(--line);color:#b8c6d3;font-size:13px}.notice.warn{background:#312416;border-color:#654926;color:#ffd3a0}.notice.red{background:#32181d;border-color:#622832;color:#ffb3b8}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#647585}.dot.green{background:var(--green);box-shadow:0 0 0 4px rgba(39,209,127,.12)}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:14px}.list{display:grid;gap:8px}.list-item{border:1px solid var(--line);background:#0e171f;border-radius:12px;padding:11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.list-item:hover{background:#13202a}.pillset{display:flex;gap:6px;flex-wrap:wrap}.mobile-only{display:none}.connection{font-size:11px;color:var(--muted)}.connection.bad{color:#ff9da4}.route-steps{display:grid;gap:6px;margin-top:10px;max-height:130px;overflow:auto}.route-step{font-size:12px;color:#b9c6d1;padding:7px 8px;border-radius:8px;background:#0c141b}.proof{max-width:280px;border-radius:12px;border:1px solid var(--line)}
@media(max-width:1050px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sidebar{width:210px}.shell{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{padding:0 14px;height:60px}.content{padding:12px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.map{height:360px}.mobile-only{display:block}.card{border-radius:13px}.topbar .brand span{display:none}.courier-app{border:0}.job-map{height:52vh}.kpi-row{grid-template-columns:repeat(3,1fr)}.modal-bg{padding:8px}.modal-card{border-radius:14px}}

/* V14 professional role-based login */
.professional-login{padding:0;display:block;background:radial-gradient(circle at 16% 18%,rgba(39,209,127,.14),transparent 28%),radial-gradient(circle at 88% 76%,rgba(79,167,255,.08),transparent 26%),#080d13}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr)}
.login-brand-panel{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;border-right:1px solid var(--line);background:linear-gradient(155deg,rgba(16,31,38,.98),rgba(8,13,19,.96));position:relative;overflow:hidden}
.login-brand-panel:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(39,209,127,.055);filter:blur(8px);right:-190px;bottom:-170px}
.hero-brand{position:relative;z-index:1}.hero-brand img{width:42px;height:42px}.hero-brand>div{font-size:18px}.hero-brand span{font-size:12px;margin-top:2px}
.login-copy{margin:auto 0;position:relative;z-index:1;max-width:560px}.login-copy .eyebrow{font-size:11px;letter-spacing:.18em;color:#76eeb1;font-weight:900}.login-copy h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;letter-spacing:-.045em;margin:18px 0 24px}.login-copy p{font-size:16px;line-height:1.7;color:#9eb0bf;max-width:500px}
.login-security{position:relative;z-index:1;color:#8fa1b2;font-size:12px;display:flex;align-items:center;gap:9px}
.login-auth-panel{display:grid;place-items:center;padding:36px}.login-auth-inner{width:min(720px,100%)}.login-auth-inner>h2{font-size:30px;margin:0 0 8px}.login-auth-inner>p{margin:0 0 20px;line-height:1.55}
.mobile-brand{display:none;margin-bottom:24px}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 14px}
.role-card{min-width:0;position:relative;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#0d151d;color:#fff;border-radius:14px;padding:13px;transition:.18s ease}
.role-card:hover{transform:translateY(-1px);background:#121e27;border-color:#314553}.role-card.selected{background:linear-gradient(180deg,#10271d,#0d1d17);border-color:#2a7754;box-shadow:inset 0 0 0 1px rgba(39,209,127,.08)}
.role-card>span:nth-child(2){min-width:0;display:grid;gap:3px}.role-card b{font-size:13px}.role-card small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-card i{margin-left:auto;color:var(--green);font-style:normal;font-weight:900}
.role-mark{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:900;background:#172630;border:1px solid #2b3c49;color:#b9c9d5}.role-card.selected .role-mark{background:#113926;border-color:#246c4a;color:#7ef3b5}.role-mark.big{width:42px;height:42px;border-radius:12px;font-size:16px}
.login-form-card{background:linear-gradient(180deg,#101922,#0c141c);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 26px 70px rgba(0,0,0,.30)}
.login-role-head{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid var(--line)}.login-role-head>div{display:grid;gap:3px}.login-role-head b{font-size:16px}.login-role-head small{color:var(--muted);font-size:11px;line-height:1.4}
.login-form-card .fields{display:grid;gap:12px}.password-wrap{position:relative}.password-wrap input{padding-right:74px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8ea3b3;font-size:11px;font-weight:800;padding:7px}.password-toggle:hover{color:#fff}.login-submit{min-height:45px;margin-top:2px}.login-help{text-align:center;color:#718392;font-size:11px;margin-top:14px;line-height:1.5}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-auth-panel{min-height:100vh;padding:24px}.mobile-brand{display:flex}.login-auth-inner{width:min(620px,100%)}}
@media(max-width:560px){.login-auth-panel{padding:18px}.role-grid{grid-template-columns:1fr}.role-card small{white-space:normal}.login-auth-inner>h2{font-size:25px}.login-form-card{padding:16px;border-radius:15px}}
