@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f1f4f2;--card:#fff;--ink:#14221d;--muted:#6f7d77;--line:#dfe6e2;--brand:#173f36;--brand2:#245c4e;--lime:#c8ff55;--blue:#2563eb;--green:#0f9f70;--amber:#d99012;--red:#d64b4b;--shadow:0 14px 42px rgba(18,40,32,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.ops-bg{min-height:100vh}.ops-top{height:72px;display:flex;align-items:center;gap:22px;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:120}.ops-brand{display:flex;align-items:center;gap:10px;min-width:190px}.ops-brand-mark,.login-mark{display:grid;place-items:center;background:var(--brand);color:var(--lime);font-weight:900;border-radius:13px}.ops-brand-mark{width:40px;height:40px}.ops-brand b,.ops-brand small{display:block}.ops-brand small{font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:2px}.ops-nav{display:flex;align-items:center;gap:4px;overflow:auto;flex:1}.ops-nav a{padding:9px 11px;border-radius:10px;font-size:13px;font-weight:750;white-space:nowrap;color:#53645d}.ops-nav a:hover,.ops-nav a.active{background:#eef5f1;color:var(--brand)}.ops-nav .sys{margin-left:auto}.ops-nav .logout{color:#8b4b4b}.nav-toggle{display:none;border:0;background:#edf3ef;border-radius:10px;padding:8px 10px;font-size:20px}.ops-shell{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:32px 0 56px}.hero-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.hero-grid.compact{margin-bottom:18px}.hero-grid h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;margin:3px 0 7px;line-height:1.02}.hero-grid p{margin:0;color:var(--muted);max-width:780px}.ops-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;color:#557067}.date-tools,.page-actions,.ops-row,.route-actions,.modal-actions,.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-tools input,.driver-create input,.driver-edit input,.driver-edit select,.assignment select,.pin-input,.form-grid input,#editStopForm>label input{border:1px solid #cfd9d4;background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink);outline:none}.date-tools input:focus,input:focus,select:focus{border-color:#77a091;box-shadow:0 0 0 3px rgba(80,137,116,.12)}.btn{border:1px solid transparent;border-radius:11px;padding:11px 15px;font-weight:850;cursor:pointer;background:var(--brand);color:#fff;display:inline-flex;justify-content:center;align-items:center;gap:7px}.btn:hover{filter:brightness(.97)}.btn.soft{background:#edf3f0;color:var(--brand);border-color:#dce7e2}.btn.ghost{background:#fff;color:#54645d;border-color:var(--line)}.btn.lime{background:var(--lime);color:#173f36}.btn.sm{padding:8px 11px;font-size:12px}.btn.big{padding:15px 22px;font-size:16px}.ops-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.ops-pad{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.panel-head h2{margin:3px 0 0;font-size:21px}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 15px}.quick{padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px rgba(19,47,38,.05);transition:.16s}.quick:hover{transform:translateY(-2px);border-color:#b8cbc3}.quick.primary{background:var(--brand);color:#fff}.quick.primary span{color:#cfe0d9}.quick b,.quick span{display:block}.quick b{font-size:16px}.quick span{margin-top:4px;font-size:12px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.stat-card{min-height:112px;padding:18px;border:1px solid var(--line);background:#fff;border-radius:17px;box-shadow:0 8px 25px rgba(19,47,38,.05)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card b{display:block;font-size:32px;letter-spacing:-.04em;margin:8px 0 3px}.skeleton{background:linear-gradient(100deg,#eef2f0 25%,#f8faf9 45%,#eef2f0 65%);background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{to{background-position:-200% 0}}.dashboard-grid,.tracking-grid,.live-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,.72fr);gap:15px;margin-bottom:15px}.tracking-grid{grid-template-columns:390px minmax(0,1fr)}.live-layout{grid-template-columns:minmax(0,1.65fr) minmax(420px,.9fr);align-items:start}.map-panel,.live-map-panel{padding:16px}.live-map-panel{position:sticky;top:88px}.map{border-radius:14px;overflow:hidden;background:#e8eeeb;border:1px solid #dbe3df;min-height:440px}.map.big{min-height:500px}.map.xl{min-height:680px}.map-legend{display:flex;gap:12px;flex-wrap:wrap;padding-top:10px;color:var(--muted);font-size:11px}.map-legend span{display:flex;align-items:center;gap:5px}.lg{width:10px;height:10px;border-radius:50%;display:inline-block}.lg.pending{background:#2563eb}.lg.warn{background:#d99012}.lg.late{background:#d64b4b}.lg.done{background:#0f9f70}.lg.driver{background:#152f29;border:2px solid var(--lime)}.asiye-map-div{background:transparent;border:0}.map-stop{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#2563eb;border:3px solid #fff;box-shadow:0 4px 14px #0003;font-size:10px;font-weight:900}.map-stop.warn{background:#d99012}.map-stop.late{background:#d64b4b}.map-stop.done{background:#0f9f70}.map-driver{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#142f29;color:#fff;border:3px solid var(--lime);box-shadow:0 4px 16px #0004;font-weight:900;font-size:11px;transform:rotate(45deg)}.map-driver::first-letter{transform:rotate(-45deg)}.map-driver.stale{border-color:#c8cfc9;opacity:.7}.feed-panel,.tracking-side{padding:16px;min-height:400px}.live-dot{font-size:10px;font-weight:900;color:#0d8e63;background:#e8f8f1;padding:6px 8px;border-radius:999px}.route-feed,.tracking-list{display:flex;flex-direction:column;gap:9px;max-height:500px;overflow:auto}.feed-route,.track-route{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fafcfb;border-radius:13px;padding:12px;color:inherit}.track-route{cursor:pointer}.feed-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.feed-top b,.feed-top small{display:block}.feed-top small{color:var(--muted);margin-top:3px;font-size:11px}.feed-meta{display:flex;gap:10px;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:7px;flex-wrap:wrap}.progressbar{height:6px;border-radius:999px;background:#e7eeea;overflow:hidden;margin-top:9px}.progressbar i{display:block;height:100%;border-radius:999px;background:var(--brand2)}.danger{color:var(--red)!important}.alert-panel{padding:16px}.alert-list{display:flex;flex-wrap:wrap;gap:8px}.alert{display:flex;align-items:center;gap:8px;border:1px solid #e1e6e3;border-radius:12px;padding:10px 12px;font-size:12px;background:#fafcfb}.alert span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef3f0}.alert.danger{background:#fff6f5;border-color:#f0d2ce;color:#9d3a35}.alert.warning{background:#fff9ec;border-color:#f0dfb5;color:#805a11}.alert.ok{background:#f2fbf6;border-color:#cfe9db;color:#236c4e}.flash{border-radius:13px;padding:12px 14px;margin:0 0 14px;background:#eef4f1;border:1px solid #dce7e2}.flash.success{background:#edfaf3;border-color:#ccebd9;color:#21684c}.flash.error{background:#fff2f1;border-color:#efd0cd;color:#983b36}.prominent{font-weight:800}.page-actions{margin-bottom:14px}.route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.route-card{padding:16px}.route-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.route-card h3{margin:3px 0 0;font-size:18px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:900;letter-spacing:.08em;background:#edf1ef;color:#627069}.pill.active{background:#eaf2ff;color:#2256ae}.pill.completed,.pill.done{background:#e9f8f1;color:#147150}.pill.planned{background:#f2f4f3;color:#64716b}.route-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.route-meta span{background:#f6f8f7;border-radius:10px;padding:8px;font-size:10px;color:var(--muted)}.route-meta b{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}.assignment{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.assignment form label{font-size:10px;color:var(--muted);font-weight:800}.assignment select{width:100%;margin-top:4px}.assignment form .btn{margin-top:7px}.driver-now{display:flex;align-items:center;gap:9px;background:#f7f9f8;border-radius:12px;padding:10px}.driver-now b,.driver-now small{display:block}.driver-now small{color:var(--muted);font-size:10px;margin-top:2px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c5cfca;flex:0 0 auto}.status-dot.on{background:#18aa73;box-shadow:0 0 0 4px #18aa7319}.route-actions{margin-top:12px}.empty{padding:50px;text-align:center}.empty-inline{padding:24px;color:var(--muted);text-align:center}.pad{padding:15px}.driver-create{display:grid;grid-template-columns:1.5fr .6fr 1fr 1.2fr auto;gap:10px;align-items:end}.driver-create label,.driver-edit label,#editStopForm label,.form-grid label{font-size:10px;color:var(--muted);font-weight:800}.driver-create input,.driver-edit input,#editStopForm input{width:100%;margin-top:4px}.driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}.driver-card{padding:16px}.driver-card.disabled{opacity:.65}.driver-card-top{display:flex;align-items:center;gap:11px}.driver-card-top>div:nth-child(2){flex:1}.driver-card-top h3{margin:0}.avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf3ef;color:var(--brand);font-weight:900}.device-line{font-size:11px;color:var(--muted);margin-top:3px;display:flex;gap:5px;align-items:center}.login-box{margin:14px 0;background:#f3f7f5;border-radius:13px;padding:12px}.login-box span,.login-box small{display:block}.login-box span{font-size:9px;color:var(--muted);font-weight:900}.login-box strong{font-size:20px;letter-spacing:.08em}.login-box small{font-size:10px;color:var(--muted);margin-top:4px}.driver-edit{display:grid;grid-template-columns:1.3fr .8fr .5fr 1fr 1.1fr auto;gap:7px;align-items:end}.card-actions{margin-top:12px}.card-actions form{display:flex;gap:6px}.pin-input{max-width:145px}.driver-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.live-board-wrap{min-width:0;overflow:auto}.live-board{display:flex;gap:12px;align-items:flex-start;min-width:max-content;padding-bottom:10px}.route-column{width:330px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.route-column.focus{outline:3px solid #8bb4a5}.route-column>header{padding:13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}.route-column h3{font-size:15px;margin:2px 0}.route-column header small{font-size:10px;color:var(--muted)}.route-drop{padding:9px;min-height:170px}.stop-card{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid #e0e6e3;background:#fbfcfb;border-radius:11px;padding:8px;margin-bottom:7px;cursor:grab}.stop-card.done{opacity:.5;cursor:default}.stop-card.locked{background:#f8f5ef;cursor:default}.stop-card.dragging{opacity:.35}.stop-card.drop-before{border-top:4px solid var(--blue)}.stop-card.pulse{animation:pulse .7s}@keyframes pulse{50%{transform:scale(1.02);box-shadow:0 0 0 5px #2f6aff20}}.stop-n{width:28px;height:28px;border-radius:9px;background:#edf3f0;display:grid;place-items:center;font-weight:900;font-size:11px}.stop-main b,.stop-main small,.stop-main em{display:block}.stop-main b{font-size:11px;line-height:1.25}.stop-main small{font-size:9px;color:var(--muted);margin-top:2px}.stop-main em{font-size:9px;color:#8b6c32;margin-top:3px;font-style:normal}.edit-stop{border:0;background:#edf3ef;border-radius:8px;padding:6px 7px;font-size:9px;font-weight:850;color:#39584e;cursor:pointer}.edit-stop:disabled{opacity:.35;cursor:default}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:#10241f99;z-index:500;display:grid;place-items:center;padding:20px}.modal-card{background:#fff;border-radius:18px;padding:18px;width:min(620px,100%);box-shadow:0 30px 80px #0004}.icon-btn{border:0;background:#edf2ef;width:34px;height:34px;border-radius:10px;font-size:22px;cursor:pointer}.form-grid{display:grid;grid-template-columns:2fr .7fr .8fr 1.4fr;gap:8px}.modal-card>form>label{display:block;margin-top:9px}.modal-actions{justify-content:flex-end;margin-top:15px}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.analysis-card{padding:16px}.analysis-card h3{margin:3px 0}.analysis-card p{margin:4px 0;color:var(--muted)}.analysis-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.analysis-numbers div{background:#f6f8f7;border-radius:10px;padding:9px}.analysis-numbers b,.analysis-numbers span{display:block}.analysis-numbers b{font-size:14px}.analysis-numbers span{font-size:9px;color:var(--muted);margin-top:2px}.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:70px 18px 1fr;align-items:start;gap:6px;padding:8px 0;border-bottom:1px solid #edf0ee}.timeline-row time{font-size:11px;color:var(--muted)}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#3f7665;margin-top:4px}.timeline-row b,.timeline-row small{display:block}.timeline-row small{font-size:10px;color:var(--muted);margin-top:2px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.health-item{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.health-item>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health-item.ok>span{background:#e7f8ef;color:#12835a}.health-item.bad>span{background:#fff0ef;color:#bb3e38}.health-item b,.health-item small{display:block}.health-item small{color:var(--muted);font-size:10px;margin-top:2px}.simple-table .tr{display:grid;grid-template-columns:120px 1fr 190px;gap:10px;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.simple-table .head{font-size:9px;color:var(--muted);font-weight:900}.install-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.install-card{width:min(780px,100%);padding:28px}.install-card h1{font-size:38px;margin:5px 0}.install-points{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.install-points div{background:#f4f7f5;padding:12px;border-radius:12px}.install-points b,.install-points span{display:block}.install-points b{color:#5d766d}.install-points span{font-size:11px;margin-top:5px}.check-list{display:grid;gap:6px;margin:12px 0 18px}.check-list div{padding:9px 11px;background:#f5f8f6;border-radius:9px;font-size:12px}.login-bg{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 10% 0%,#d8e8e1,transparent 36%),#eef3f0}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 25px 70px #17352b1c}.login-mark{width:62px;height:62px;font-size:28px;margin-bottom:18px}.login-card h1{font-size:36px;margin:3px 0}.login-card p{color:var(--muted);margin-top:0}.login-card label{display:block;margin-top:14px;font-size:11px;font-weight:800;color:var(--muted)}.login-card input{width:100%;border:1px solid #cfd8d3;border-radius:11px;padding:13px;margin-top:5px}.login-card button{width:100%;margin-top:18px}
@media(max-width:1100px){.route-cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.live-layout{grid-template-columns:1fr}.live-map-panel{position:relative;top:auto}.tracking-grid{grid-template-columns:330px 1fr}.driver-edit{grid-template-columns:repeat(3,1fr)}.driver-create{grid-template-columns:repeat(2,1fr)}.driver-create .btn{align-self:end}.analysis-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ops-top{height:auto;min-height:64px;padding:10px 14px;position:sticky}.ops-brand{min-width:0;flex:1}.nav-toggle{display:block}.ops-nav{display:none;position:absolute;top:62px;left:10px;right:10px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:8px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.ops-nav.open{display:flex}.ops-nav .sys{margin-left:0}.ops-shell{width:min(100% - 22px,1500px);padding-top:20px}.hero-grid{align-items:flex-start;flex-direction:column}.hero-grid h1{font-size:34px}.date-tools{width:100%}.date-tools input{flex:1}.quick-actions{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.tracking-grid,.live-layout{grid-template-columns:1fr}.tracking-side{order:2}.map.big,.map.xl{min-height:430px}.route-cards,.driver-grid,.analysis-grid{grid-template-columns:1fr}.assignment{grid-template-columns:1fr}.driver-create,.driver-edit,.form-grid{grid-template-columns:1fr}.live-board{min-width:max-content}.route-column{width:300px}.health-grid{grid-template-columns:1fr}.simple-table .tr{grid-template-columns:80px 1fr}.simple-table .tr span:last-child{display:none}.install-points{grid-template-columns:repeat(2,1fr)}.route-meta{grid-template-columns:repeat(2,1fr)}}

/* V10.3.4 secure delete */
.btn.delete{background:#fff2f1;color:#a33b35;border-color:#efd0cd}.btn.delete:hover{background:#ffe8e6}.delete-hint{font-size:10px;color:var(--muted)}


/* =========================================================
   ASIYE V10.5 · UI SYSTEM
   Shared visual language with Route Optimizer.
   ========================================================= */
:root{
  --bg:#f2f5f0;
  --card:#fff;
  --ink:#203631;
  --muted:#6e807a;
  --line:#dce5df;
  --brand:#183b31;
  --brand2:#137c6b;
  --teal:#137c6b;
  --lime:#ddea96;
  --blue:#137c6b;
  --green:#4f8b68;
  --amber:#9c681e;
  --red:#c54b53;
  --shadow:0 8px 30px #213c2f08;
}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{font:13px/1.5 'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3,b,strong,button,.btn{font-family:'Manrope',system-ui,sans-serif}
button,input,select,textarea{font:inherit}

/* Top navigation — same rhythm as optimizer */
.ops-top{
  height:72px;
  padding:0 max(24px,calc((100vw - 1440px)/2));
  gap:18px;
  border-bottom:1px solid var(--line);
  box-shadow:none;
}
.ops-brand{min-width:184px;gap:12px}
.ops-brand-mark,.login-mark{background:var(--ink);color:var(--lime);border-radius:10px}
.ops-brand-mark{width:38px;height:38px;font-size:20px}
.ops-brand b{font-size:13px;letter-spacing:1.4px}
.ops-brand small{font-size:9px;letter-spacing:1.7px;margin-top:1px}
.ops-nav{gap:2px;justify-content:flex-start}
.ops-nav a{padding:9px 11px;border-radius:8px;font-size:12px;font-weight:700;color:#4d645b}
.ops-nav a:hover{background:#e8eee7;color:var(--ink)}
.ops-nav a.active{background:#e8efe7;color:#315b4d}
.ops-nav .sys{margin-left:auto}
.ops-nav .logout{color:#8f5558}
.nav-toggle{border-radius:8px;background:#e8eee7;color:var(--ink)}

/* Global page geometry */
.ops-shell{width:auto;max-width:1488px;margin:auto;padding:32px 24px 48px}
.hero-grid,.hero-grid.compact{
  min-height:116px;
  margin:0 0 20px;
  padding:24px 28px;
  border-radius:18px;
  background:var(--brand);
  color:#fff;
  align-items:center;
  overflow:hidden;
  position:relative;
}
.hero-grid:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #ffffff12;border-radius:50%;right:120px;top:-140px;pointer-events:none}
.hero-grid h1{font-size:30px;line-height:1.08;letter-spacing:-1px;margin:5px 0 0;font-weight:600}
.hero-grid p{display:none}
.hero-grid .ops-kicker{color:#aec5b4}
.ops-kicker{font-size:9px;font-weight:800;letter-spacing:1.6px;color:#6e807a}
.date-tools{position:relative;z-index:1;flex-wrap:nowrap}
.date-tools input{width:155px;min-height:38px}

/* Controls */
.date-tools input,.driver-create input,.driver-edit input,.driver-edit select,.assignment select,.pin-input,.form-grid input,#editStopForm>label input,#editStopForm select{
  min-height:38px;
  border:1px solid #cad7cf;
  border-radius:8px;
  padding:9px 10px;
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}
.date-tools input:focus,input:focus,select:focus,textarea:focus{border-color:var(--brand2);outline:2px solid #14806f20;box-shadow:none}
.btn{min-height:38px;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:700;background:var(--brand2);box-shadow:none;transition:background .18s,transform .18s}
.btn:hover{filter:none;background:#0b6558;transform:translateY(-1px)}
.btn.soft{background:#e8efe7;color:#315b4d;border-color:var(--line)}
.btn.soft:hover{background:#dfe9dd}
.btn.ghost{background:transparent;color:#4d645b;border-color:var(--line)}
.btn.ghost:hover{background:#e8eee7}
.btn.lime{background:var(--lime);color:#294336;border-color:#d3e487}
.btn.lime:hover{background:#d5e88b}
.btn.sm{min-height:32px;padding:6px 10px;font-size:11px}
.btn.big{min-height:44px;padding:11px 18px;font-size:13px}
.btn.delete{background:#fff5f4;color:#a33b35;border-color:#efd0cd}
.btn.delete:hover{background:#ffecea}

/* Panels and headings */
.ops-panel{border-radius:13px;border-color:var(--line);box-shadow:var(--shadow)}
.ops-pad{padding:20px}
.panel-head{min-height:38px;margin-bottom:14px;gap:12px}
.panel-head h2{font-size:18px;letter-spacing:-.35px;margin:3px 0 0}
.flash{border-radius:9px;padding:10px 12px;margin-bottom:12px;font-size:12px}
.page-actions{margin:0 0 14px;gap:6px}

/* Dashboard */
.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.quick{height:58px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-radius:11px;box-shadow:var(--shadow);transition:background .18s,transform .18s}
.quick:after{content:'→';font-family:'Manrope',sans-serif;color:#8da097;font-weight:800}
.quick:hover{transform:translateY(-1px);border-color:#cbd8d1;background:#f8faf8}
.quick.primary{background:var(--teal,#137c6b);color:#fff;border-color:var(--teal,#137c6b)}
.quick.primary:after{color:#dceaa2}
.quick b{font-size:12px;letter-spacing:.05em}
.quick span{display:none}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.stat-card{min-height:92px;padding:15px 16px;border-radius:12px;box-shadow:var(--shadow)}
.stat-card span,.stat-card small{font-size:10px}
.stat-card b{font-size:27px;margin:5px 0 0;color:var(--ink)}
.stat-card small:empty{display:none}
.dashboard-grid{grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:14px;margin-bottom:14px}
.alert-panel{padding:15px}
.alert-list{gap:7px}
.alert{border-radius:9px;padding:8px 10px;font-size:11px}
.alert span{width:20px;height:20px}

/* Maps — one geometry across the system */
.map-panel,.live-map-panel,.feed-panel,.tracking-side{padding:15px}
.map{border-radius:10px;border-color:var(--line);min-height:440px}
.map.big{min-height:520px}
.map.xl{min-height:640px}
.map-legend{padding-top:8px;gap:10px;font-size:10px}
.live-map-panel{top:88px}
.live-dot{font-size:9px;border-radius:999px;padding:5px 7px}
.route-feed,.tracking-list{gap:7px;max-height:520px}
.feed-route,.track-route{border-radius:9px;padding:10px;background:#fbfcfb}
.feed-route:hover,.track-route:hover{background:#f4f7f3;border-color:#cad8d0}
.feed-top small,.feed-meta{font-size:10px}
.progressbar{height:5px;margin-top:8px}

/* Routes — equal cards and predictable columns */
.route-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.route-card{padding:15px;display:flex;flex-direction:column;min-width:0;height:100%}
.route-card-head{min-height:48px}
.route-card h3{font-size:16px;line-height:1.25}
.pill{padding:5px 7px;font-size:8px}
.route-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px}
.route-meta span{min-width:0;border:1px solid #edf1ee;background:#f8faf8;border-radius:8px;padding:7px}
.route-meta b{font-size:13px}
.assignment{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px;margin-top:12px}
.assignment form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.assignment form label{min-width:0}
.assignment form .btn{margin:0}
.driver-now{border:1px solid #edf1ee;background:#f8faf8;border-radius:9px;padding:9px}
.driver-now small{font-size:9px}
.route-actions{margin-top:auto;padding-top:12px;gap:6px;border-top:1px solid #edf1ee}
.route-actions form{margin:0}

/* Chauffeurs — simple cards, aligned fields */
.driver-create{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end}
.driver-create label,.driver-edit label,#editStopForm label,.form-grid label{font-size:10px;color:var(--muted);font-weight:600}
.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;align-items:stretch}
.driver-card{padding:15px;height:100%;display:flex;flex-direction:column}
.driver-card-top{min-height:48px;gap:10px}
.driver-card-top h3{font-size:16px}
.avatar{width:40px;height:40px;border-radius:10px;background:#edf3ea;color:#4c7761}
.device-line{font-size:10px}
.login-box{margin:12px 0;border:1px solid #edf1ee;background:#f8faf8;border-radius:9px;padding:10px}
.login-box strong{font-size:17px;letter-spacing:.07em}
.login-box small{font-size:9px}
.driver-edit{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:end}
.driver-edit .btn{align-self:end}
.card-actions{gap:6px;margin-top:10px}
.card-actions form{gap:5px;flex-wrap:wrap}
.pin-input{max-width:128px}
.driver-foot{font-size:9px;margin-top:auto;padding-top:10px}

/* Live board — standardized 7/5 split */
.live-layout{grid-template-columns:minmax(0,7fr) minmax(390px,5fr);gap:14px;margin-bottom:14px}
.live-board{gap:10px;padding-bottom:8px}
.route-column{width:310px;border-radius:12px;box-shadow:var(--shadow)}
.route-column>header{padding:11px}
.route-column h3{font-size:14px}
.route-drop{padding:8px}
.stop-card{grid-template-columns:28px minmax(0,1fr) auto;border-radius:8px;padding:7px;margin-bottom:6px}
.stop-n{width:26px;height:26px;border-radius:7px}
.edit-stop{border-radius:7px;padding:5px 7px}
.modal-card{border-radius:13px;padding:18px}
.icon-btn{border-radius:8px}
.form-grid{grid-template-columns:2fr .7fr .8fr 1.3fr;gap:7px}

/* Tracking — standardized 4/8 split */
.tracking-grid{grid-template-columns:minmax(300px,4fr) minmax(0,8fr);gap:14px;margin-bottom:14px}
.tracking-side{min-height:400px}

/* Analysis and system */
.analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;align-items:stretch}
.analysis-card{padding:15px}
.analysis-card h3{font-size:15px}
.analysis-numbers{gap:5px;margin-top:10px}
.analysis-numbers div{border:1px solid #edf1ee;background:#f8faf8;border-radius:8px;padding:8px}
.timeline-row{grid-template-columns:64px 16px minmax(0,1fr);padding:7px 0}
.health-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.health-item{min-height:60px;border-radius:10px;padding:10px}
.health-item>span{width:28px;height:28px}
.simple-table{overflow:hidden;border:1px solid var(--line);border-radius:9px}
.simple-table .tr{grid-template-columns:120px minmax(0,1fr) 170px;gap:10px;padding:9px 11px;font-size:11px}
.simple-table .tr:last-child{border-bottom:0}
.simple-table .head{background:#f6f8f6;font-size:9px}

/* Admin login */
.login-bg{background:var(--bg)}
.login-card{width:min(420px,100%);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.login-mark{width:48px;height:48px;font-size:22px;margin-bottom:16px}
.login-card h1{font-size:30px;letter-spacing:-1px;margin:5px 0 18px}
.login-card p{display:none}
.login-card input{border-radius:8px;min-height:42px}

@media(max-width:1180px){
  .route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid,.live-layout{grid-template-columns:1fr}
  .live-map-panel{position:relative;top:auto}
  .tracking-grid{grid-template-columns:340px minmax(0,1fr)}
  .driver-create{grid-template-columns:repeat(2,minmax(0,1fr))}
  .driver-create .btn{align-self:end}
  .driver-grid{grid-template-columns:1fr}
  .analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ops-top{padding:0 16px}
  .ops-nav a{padding:8px 9px;font-size:11px}
  .hero-grid,.hero-grid.compact{min-height:104px;padding:20px 22px}
  .hero-grid h1{font-size:27px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tracking-grid{grid-template-columns:1fr}
  .tracking-side{order:2}
  .map.xl{min-height:520px}
}
@media(max-width:760px){
  .ops-top{min-height:62px;height:auto;padding:9px 12px}
  .ops-brand-mark{width:34px;height:34px}
  .ops-nav{top:60px;border-radius:10px;box-shadow:0 12px 35px #213c2f18}
  .ops-nav a{padding:10px}
  .ops-shell{width:auto;padding:16px 10px 30px}
  .hero-grid,.hero-grid.compact{min-height:0;padding:18px;border-radius:13px;align-items:flex-start}
  .hero-grid:after{display:none}
  .hero-grid h1{font-size:25px}
  .date-tools{width:100%}
  .date-tools input{flex:1;width:auto}
  .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .quick{height:52px;padding:0 13px}
  .stat-grid{gap:7px}
  .stat-card{min-height:80px;padding:12px}
  .stat-card b{font-size:23px}
  .dashboard-grid,.tracking-grid,.live-layout{grid-template-columns:1fr}
  .map.big,.map.xl{min-height:420px}
  .route-cards,.driver-grid,.analysis-grid{grid-template-columns:1fr}
  .assignment{grid-template-columns:1fr}
  .driver-create,.driver-edit,.form-grid{grid-template-columns:1fr}
  .route-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .live-board{min-width:max-content}
  .route-column{width:292px}
  .health-grid{grid-template-columns:1fr}
  .simple-table .tr{grid-template-columns:78px minmax(0,1fr)}
  .simple-table .tr span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V10.5 chauffeur disclosure */
.driver-settings{margin-top:2px;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee;padding:8px 0}
.driver-settings summary{cursor:pointer;list-style:none;font:700 11px 'Manrope',system-ui,sans-serif;color:#4d645b;display:flex;align-items:center;justify-content:space-between}
.driver-settings summary::-webkit-details-marker{display:none}
.driver-settings summary:after{content:'+';font-size:16px;color:#789087}
.driver-settings[open] summary:after{content:'−'}
.driver-settings .driver-edit{margin-top:9px}

/* ASIYE V10.6 · CLEAN CONTROL */
.ops-nav-simple{justify-content:flex-end}.ops-nav-simple .icon-link{font-size:17px;padding:8px 10px}.ops-nav-simple .sys{margin-left:6px}.ops-shell{width:min(1540px,calc(100% - 36px));padding-top:26px}.control-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.control-head h1{font-family:'Manrope',system-ui,sans-serif;font-size:clamp(30px,4vw,48px);letter-spacing:-.045em;line-height:1;margin:4px 0 0}.control-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.control-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.control-metrics{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(19,47,38,.04)}.control-metrics span{min-width:102px;padding:10px 14px;border-right:1px solid var(--line)}.control-metrics span:last-child{border-right:0}.control-metrics b,.control-metrics small{display:block}.control-metrics b{font:800 19px/1 'Manrope',sans-serif}.control-metrics small{font-size:10px;color:var(--muted);margin-top:4px}.control-search{height:44px;min-width:min(420px,45vw);display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 13px}.control-search span{font-size:20px;color:#7a8982}.control-search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink);font-size:13px}.attention-bar{background:#fff9e9;border:1px solid #eedcaa;border-radius:13px;margin-bottom:14px;padding:11px 13px;color:#725313;position:relative}.attention-bar>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.attention-bar small{color:#8d6b25}.attention-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e4b43a;color:#fff;font-weight:900}.attention-bar>button{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#725313;font-weight:800;cursor:pointer}.attention-list{border-top:1px solid #ead9aa;margin-top:10px;padding-top:6px}.attention-list p{margin:5px 0;font-size:12px}.attention-list .danger{color:#9a3e43}.control-workspace{display:grid;grid-template-columns:320px minmax(460px,1fr) 330px;gap:14px;align-items:stretch}.control-routes,.control-detail,.control-map-panel{min-height:690px}.control-routes{overflow:hidden}.control-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px;border-bottom:1px solid var(--line);background:#fbfcfb}.control-tabs button{border:0;border-radius:8px;background:transparent;padding:8px 5px;color:#65746e;font-size:10px;font-weight:850;cursor:pointer}.control-tabs button.active{background:#e8f0ec;color:var(--brand)}.control-route-list{padding:9px;display:flex;flex-direction:column;gap:7px;max-height:634px;overflow:auto}.control-route-item{width:100%;border:1px solid transparent;background:#f8faf9;border-radius:12px;padding:11px;text-align:left;color:inherit;cursor:pointer;transition:.14s}.control-route-item:hover{background:#f1f6f3;border-color:#d9e5df}.control-route-item.selected{background:#eaf2ee;border-color:#aac5b9;box-shadow:inset 3px 0 0 var(--brand2)}.control-route-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.control-route-top b,.control-route-top small{display:block}.control-route-top b{font-size:13px}.control-route-top small{font-size:10px;color:var(--muted);margin-top:3px}.control-route-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:10px;color:var(--muted)}.control-route-meta strong{color:var(--red)}.control-empty{padding:42px 18px;text-align:center}.control-empty b,.control-empty small{display:block}.control-empty small{margin-top:5px;color:var(--muted)}.control-map-panel{padding:14px}.compact-head{margin-bottom:10px}.control-map{min-height:608px;height:608px}.control-detail{padding:17px}.control-detail-empty{height:100%;min-height:620px;display:grid;place-content:center;text-align:center;color:var(--muted)}.control-detail-empty span{font-size:28px;margin-bottom:8px}.control-detail-empty b,.control-detail-empty small{display:block}.control-detail-empty small{margin-top:4px}.detail-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.detail-status small{color:var(--muted);font-weight:750}.control-detail h2{font:750 28px/1.05 'Manrope',sans-serif;letter-spacing:-.04em;margin:0 0 14px}.detail-driver{display:flex;align-items:center;gap:10px;padding:11px;background:#f6f9f7;border-radius:11px}.detail-driver b,.detail-driver small{display:block}.detail-driver small{font-size:10px;color:var(--muted);margin-top:2px}.detail-progress{display:flex;align-items:end;justify-content:space-between;margin-top:18px}.detail-progress>div b,.detail-progress>div span{display:block}.detail-progress>div b{font-size:20px}.detail-progress>div span{font-size:10px;color:var(--muted)}.detail-progress>strong{font-size:12px;color:var(--brand2)}.progressbar.large{height:8px}.detail-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:14px 0}.detail-kpis span{padding:11px;background:#f7f9f8;border-radius:10px}.detail-kpis b,.detail-kpis small{display:block}.detail-kpis b{font-size:15px}.detail-kpis small{font-size:9px;color:var(--muted);margin-top:2px}.next-stop{border:1px solid var(--line);border-radius:12px;padding:13px;margin:12px 0;background:#fff}.next-stop small,.next-stop b,.next-stop span{display:block}.next-stop small{font-size:9px;color:#64776f;font-weight:900;letter-spacing:.08em}.next-stop b{font-size:13px;margin-top:5px;line-height:1.35}.next-stop span{font-size:10px;color:var(--muted);margin-top:3px}.next-stop.done{background:#f3faf6}.detail-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:14px}.detail-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.detail-more summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:800}.detail-more a{display:block;padding:8px 0;font-size:11px;color:var(--brand2)}.advanced-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.advanced-link{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fafcfb}.advanced-link b,.advanced-link small{display:block}.advanced-link small{color:var(--muted);font-size:10px;margin-top:4px}.advanced-link:hover{border-color:#b8cbc3;background:#f4f8f6}
@media(max-width:1220px){.control-workspace{grid-template-columns:300px minmax(430px,1fr)}.control-detail{grid-column:1/-1;min-height:auto}.control-detail-empty{min-height:140px}.detail-kpis{grid-template-columns:repeat(4,1fr)}.detail-actions{grid-template-columns:1fr 1fr}.control-routes,.control-map-panel{min-height:620px}.control-map{min-height:540px;height:540px}.advanced-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.ops-shell{width:min(100% - 22px,1540px)}.control-head{align-items:flex-start;flex-direction:column}.control-head-actions{width:100%}.control-head-actions .btn.big{flex:1}.control-strip{align-items:stretch;flex-direction:column}.control-search{min-width:0;width:100%}.control-workspace{grid-template-columns:1fr}.control-routes,.control-map-panel{min-height:auto}.control-route-list{max-height:360px}.control-map{height:480px;min-height:480px}.control-detail{grid-column:auto}.detail-kpis{grid-template-columns:repeat(2,1fr)}.advanced-links{grid-template-columns:1fr}.attention-bar>button{position:static;margin-top:7px;padding:0}.ops-nav-simple{justify-content:flex-start}}
@media(max-width:560px){.control-metrics{width:100%}.control-metrics span{min-width:0;flex:1}.control-tabs{grid-template-columns:repeat(2,1fr)}.control-map{height:390px;min-height:390px}.detail-actions{grid-template-columns:1fr}.ops-brand small{display:none}}
