/* ASIYE 10.14 — one visual system, no external font dependency. */
:root{--bg:#f5f6f8;--card:#fff;--ink:#152630;--muted:#6c7b84;--line:#e3e8ed;--brand:#152630;--brand2:#197a67;--teal:#197a67;--lime:#d9f7d6;--green:#197a67;--amber:#a16b17;--red:#be4d4a;--shadow:0 8px 24px #1a334308;--rail:220px}
body{font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.015em;background:var(--bg);color:var(--ink)}h1,h2,h3,b,strong,button,.btn{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.btn{min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #64b9a6;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48;transform:none}a,button{transition:background .16s,color .16s,box-shadow .16s}button:hover,.btn:hover{transform:none}input,select,textarea{min-height:44px;font-size:14px}.hidden,[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:240px;z-index:1000;background:white;padding:12px}.skip-link:focus{top:8px}
.ops-top{position:fixed;inset:0 auto 0 0;width:var(--rail);height:100vh;height:100dvh;padding:30px 18px 20px;display:flex;flex-direction:column;gap:30px;background:#14242e;border:0;color:#fff;z-index:150}.ops-brand{min-width:0;width:100%;gap:11px;color:white;padding:0 5px}.ops-brand-mark{width:38px;height:42px;background:#d9f7d6;color:#163831;border-radius:12px;font-size:24px;font-weight:750}.ops-brand b{font-size:12px;letter-spacing:1.3px}.ops-brand small{color:#8da4af;font-size:9px;letter-spacing:2.5px;margin-top:4px}.ops-nav{display:flex;flex:1;flex-direction:column;align-items:stretch;gap:4px;overflow:visible;width:100%}.nav-caption{font-size:9px;color:#8298a4;letter-spacing:1.5px;padding:6px 12px 8px}.nav-caption:not(:first-child){margin-top:24px}.ops-nav a{display:flex;align-items:center;gap:12px;color:#aebec6;font-size:13px;padding:12px;border-radius:10px;min-height:46px;font-weight:550;letter-spacing:0}.ops-nav a i{font-style:normal;font-size:18px;width:20px;color:#8ba8b4;text-align:center}.ops-nav a:hover{background:#203641;color:#fff}.ops-nav a.active{background:#d9f7d6;color:#17352f}.ops-nav a.active i{color:#196653}.ops-nav .logout{color:#aebec6;margin-top:auto}.sidebar-foot{width:100%;font-size:11px;color:#a9bbc3;padding:14px 10px 0;border-top:1px solid #2a3e49}.sidebar-foot .status-dot{display:inline-block;margin-right:6px}.sidebar-foot small{display:block;font-size:9px;letter-spacing:1px;margin-top:8px;color:#6f8895}.nav-toggle{display:none}.workspace-top{margin-left:var(--rail);height:68px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:#7d8b94}.workspace-top b{color:var(--ink);font-weight:600}.driver-entry{border:1px solid var(--line);border-radius:8px;padding:7px 12px;color:#425f6c;background:white}.ops-shell{margin-left:var(--rail);width:calc(100% - var(--rail));max-width:none;padding:32px 36px 50px}.ops-kicker,.eyebrow{font-size:9px;color:#778993;letter-spacing:1.8px;font-weight:650}.hero-grid,.hero-grid.compact{background:transparent;color:var(--ink);padding:0;min-height:90px;border-radius:0;align-items:center;overflow:visible;margin-bottom:26px}.hero-grid:after{display:none}.hero-grid h1,.control-head h1{font-size:36px;letter-spacing:-1.4px;font-weight:650;line-height:1.16;margin:5px 0 8px}.hero-grid p{display:block;color:var(--muted);max-width:630px;font-size:13px}.hero-grid .ops-kicker{color:#7c919a}.date-tools input{border-color:var(--line);border-radius:9px;padding:10px 12px;min-height:44px}.btn{border-radius:9px;font-size:12px;font-weight:650;letter-spacing:0;background:#197a67;border:1px solid transparent;padding:11px 17px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.lime{background:#197a67;color:white;border-color:#197a67}.btn.lime:hover{background:#136350}.btn.soft{background:white;border-color:var(--line);color:#48616e}.btn.soft:hover{background:#edf3f4}.btn.ghost{background:transparent;border-color:var(--line);color:#607885}.btn.sm{min-height:36px;font-size:11px;padding:7px 12px}.btn.big{min-height:44px}.ops-panel{border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);background:#fff}.pill{font-size:10px;letter-spacing:.1px;font-weight:650;padding:5px 9px;border-radius:6px}.pill.active{color:#15725d;background:#e7f5ed}.pill.planned{color:#426178;background:#edf2f6}.pill.completed{color:#7d8992;background:#f1f3f5}.progressbar{height:5px;background:#edf1f3}.progressbar i{background:#47a78a}.flow-strip{display:flex;gap:0;margin-bottom:25px;border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.flow-strip a{flex:1;display:flex;align-items:center;gap:10px;padding:13px 18px;font-size:12px;color:#80909a;border-right:1px solid var(--line)}.flow-strip a:last-child{border:0}.flow-strip a span{width:23px;height:23px;border-radius:50%;background:#eff3f5;display:grid;place-items:center;font-size:10px;font-weight:650}.flow-strip a.active{color:#176a59;background:#eff8f1}.flow-strip a.active span{background:#d2ecdb}.page-caption{color:var(--muted);font-size:13px}.error,.flash.error{background:#fff1ef;border:1px solid #f2d6d0;color:#a2463b;border-radius:10px}.ops-health{display:flex;align-items:center;gap:6px;font-size:11px;color:#748993}.ops-health:before{content:'';width:6px;height:6px;background:#4baf8e;border-radius:50%}.ops-health.stale{color:#a16b17}.ops-health.stale:before{background:#c69132}.panel-head h2{font-size:16px;letter-spacing:-.3px;margin:4px 0}.panel-head{padding:18px 20px;min-height:72px;border-bottom:1px solid var(--line);margin:0}.map-legend{font-size:10px;color:#778b94;padding:12px 18px}.map{border-radius:0}.leaflet-container{background:#e9eff0;font-family:inherit}.leaflet-popup-content{line-height:1.65;font-size:12px}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-control-attribution{font-size:9px}.status-dot.on{background:#3fa98b}.route-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.route-card{padding:22px;overflow:hidden}.route-card h3{font-size:17px;line-height:1.35;letter-spacing:-.3px;max-width:260px}.route-meta{margin:20px 0;font-size:10px}.route-meta b{font-size:19px;font-weight:650}.assignment{margin-top:20px;padding:16px;background:#f8fafb;border-radius:10px}.assignment form{align-items:end}.assignment label{font-size:10px;color:#68808c;display:grid;gap:7px}.assignment select{max-width:100%;min-width:0;border-radius:8px;border-color:#d9e2e6}.route-actions{margin-top:20px}.route-actions details{width:100%}.route-actions summary{font-size:11px;color:#81909a;cursor:pointer;padding:10px 0}.route-actions details[open]{padding-top:8px;border-top:1px solid var(--line)}.driver-now{margin-top:10px}.driver-now small{font-size:10px}.route-journey{font-size:10px;margin:14px 0;color:#68808c;display:flex;align-items:center;gap:6px}.route-journey span{border-radius:5px;padding:3px 6px;background:#eef3f6}.route-journey span.current{background:#e3f2e7;color:#28765e}.route-empty{padding:55px;text-align:center}.route-empty h2{font-size:26px}.route-empty p{color:var(--muted)}
/* Live: intentional columns, touch fallback for drag and drop. */
.live-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px}.live-board-wrap{min-width:0;overflow:auto;border-radius:14px}.live-board{gap:16px;min-width:max-content;align-items:start;padding:0 0 14px}.route-column{width:310px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.route-column header{background:#fff;padding:18px;border-bottom:1px solid var(--line)}.route-column header h3{font-size:15px;line-height:1.4;margin:5px 0}.route-column header small{font-size:11px}.route-column.focus{border-color:#71b59b;box-shadow:0 0 0 2px #d6ebdf}.route-metrics{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px;background:#f8fafb;font-size:10px}.route-metrics span:last-child{width:100%;font-weight:650}.route-tools{padding:10px 14px;gap:8px;display:flex}.route-tools .btn{font-size:10px;flex:1}.route-drop{padding:0 10px 12px;max-height:calc(100vh - 360px);max-height:calc(100dvh - 360px);overflow:auto;min-height:80px}.stop-card{padding:12px 9px;border-radius:10px;box-shadow:none;border:1px solid #e6ebee;position:relative;background:white;display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px}.stop-card .stop-n{width:23px;height:23px;font-size:10px;background:#eef3f6;border-radius:6px;color:#4f6e7c}.stop-main b{font-size:12px;line-height:1.45}.stop-main small{font-size:10px;color:#80919b}.stop-main em{font-size:9px;color:#977135}.stop-actions{grid-column:2;display:flex;gap:5px;padding-top:5px}.stop-actions button{font-size:9px;min-height:28px;padding:3px 8px;border-radius:5px;background:#f5f7f8;border:0;color:#6b7f89}.stop-actions .delete-stop{color:#b1726d;background:transparent}.stop-card.done{opacity:.6;background:#f9fbfa}.stop-type{font-size:8px;padding:3px 5px;margin-top:5px;border-radius:4px}.eta13{font-size:10px!important;font-weight:650}.live-map-panel{position:sticky;top:20px;overflow:hidden}.map.xl{min-height:350px;height:350px}.eta13-panel{padding:16px}.eta13-panel .panel-head{padding:0 0 12px;min-height:auto}.eta13-panel>small{font-size:10px;color:#8a989f}.eta13-list{max-height:230px}.eta13-row{grid-template-columns:25px 1fr 55px;padding:11px 2px;gap:5px;font-size:11px;min-height:44px}.eta13-row strong{font-size:12px}.eta13-row.selected{background:#eaf5ef;border-radius:8px}.modal-card{border-radius:18px;box-shadow:0 24px 100px #15263025}.modal-card .panel-head{padding:0 0 15px}.modal-card label{font-size:11px;font-weight:600;color:#647b87}.modal-card input,.modal-card select{width:100%;min-height:44px;padding:10px;border-radius:8px;border:1px solid #d7e2e7;margin-top:5px}.form-grid{grid-template-columns:1fr 90px 110px 1fr}.live-stop-modal .form-grid{grid-template-columns:1fr 1fr}.live-top-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.live-top-tools label{font-size:11px;color:#6b838e;display:flex;gap:8px;align-items:center}.live-top-tools input{min-height:0;accent-color:#197a67}.live-top-tools select{max-width:280px;background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.live-hint{margin-left:auto;font-size:11px;color:#89979f}.live-offline{padding:14px;border-radius:10px;background:#fff6e7;font-size:12px;color:#9a712d;margin-bottom:15px}.icon-btn{min-height:36px;min-width:36px}.experience-animate{animation:experience-in .4s ease both}@keyframes experience-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.ops-shell{padding-left:48px;padding-right:48px}.live-layout{grid-template-columns:minmax(0,1fr) 440px}}
@media(max-width:1250px){:root{--rail:190px}.ops-top{padding:25px 12px}.ops-shell{padding:25px}.workspace-top{padding:0 25px}.route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.live-layout{grid-template-columns:minmax(0,1fr) 340px}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:950px){:root{--rail:0px}.ops-top{position:sticky;inset:auto;width:100%;height:64px;padding:10px 20px;flex-direction:row;gap:10px}.ops-brand{width:auto;flex:1}.ops-brand-mark{width:32px;height:35px;font-size:19px}.ops-brand small{display:none}.nav-toggle{display:block;color:#c3d4db;background:#243c48;border-radius:7px;min-height:40px}.ops-nav{display:none;position:absolute;left:12px;right:12px;top:64px;width:auto;background:#14242e;box-shadow:0 15px 50px #14242e35;border:0;border-radius:0 0 14px 14px;padding:16px;z-index:200}.ops-nav.open{display:flex}.nav-caption:not(:first-child){margin-top:14px}.sidebar-foot{display:none}.workspace-top{height:50px;padding:0 20px}.ops-shell{padding:24px 20px}.live-layout{grid-template-columns:minmax(0,1fr) 330px}.live-map-panel{top:80px}.hero-grid h1{font-size:31px}}
@media(max-width:680px){.workspace-top{padding:0 14px;font-size:10px}.driver-entry{font-size:10px;padding:5px 8px}.ops-shell{padding:22px 14px}.hero-grid,.hero-grid.compact{gap:14px;align-items:start;min-height:0;margin-bottom:20px}.hero-grid h1,.control-head h1{font-size:29px}.hero-grid p{font-size:12px}.flow-strip a{padding:10px;gap:5px;font-size:10px}.flow-strip a span{width:19px;height:19px;font-size:9px}.flow-strip a:last-child{display:none}.date-tools{width:100%}.route-cards{grid-template-columns:1fr}.route-card{padding:20px}.route-meta{grid-template-columns:repeat(3,1fr)}.live-layout{display:flex;flex-direction:column}.live-map-panel{width:100%;position:static;order:-1}.map.xl{height:260px;min-height:260px}.live-board-wrap{width:100%}.route-column{width:290px}.route-drop{max-height:540px}.live-hint{display:none}.live-top-tools{gap:10px}.flow-strip{margin-bottom:20px}.form-grid{grid-template-columns:1fr 1fr}.modal-card{padding:20px}.hero-grid .date-tools input{width:auto}.route-actions>.btn{flex:1}.route-empty{padding:30px}.ops-health{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.assignment{grid-template-columns:1fr;gap:10px}.assignment form{grid-template-columns:minmax(0,1fr) auto;gap:9px}.assignment select{width:100%}.assignment .driver-now{margin-top:0;padding:10px 0 0;border:0;border-top:1px solid #e3ebea;background:transparent}.route-column>header{align-items:flex-start}.route-column>header .badge{min-height:0;padding:6px 9px}
