:root{
  --canvas:#e9e6df;
  --paper:#f8f6f1;
  --panel:#f2f0ea;
  --ink:#1f2421;
  --muted:#77776f;
  --line:#d3cfc5;
  --dark:#242724;
  --orange:#df5a34;
  --orange-soft:#f5d4c8;
  --teal:#3c7377;
  --green:#5f8b65;
  --red:#b94e41;
  --amber:#c99431;
  --shadow:0 20px 65px rgba(29,31,28,.10);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}
::selection{background:var(--orange);color:#fff}
.prototype-banner{height:30px;background:#222521;color:#d8d4cc;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.prototype-banner span{display:flex;align-items:center;gap:7px}.prototype-banner i{width:6px;height:6px;border-radius:50%;background:#ee926f;box-shadow:0 0 0 4px rgba(238,146,111,.12)}.prototype-banner strong{font-size:8px;color:#85867f;font-weight:700}
.ops-app{min-height:calc(100vh - 30px);display:flex;flex-direction:column}.ops-header{height:66px;background:rgba(248,246,241,.96);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;position:sticky;top:0;z-index:40;backdrop-filter:blur(14px)}
.ops-brand{display:flex;align-items:center;gap:9px}.ops-mark{width:24px;height:24px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:skewX(-10deg)}.ops-mark i{background:var(--dark);border-radius:2px}.ops-mark i:last-child{background:var(--orange)}.ops-brand b{font-size:14px;letter-spacing:.12em}.ops-brand em{font-style:normal;color:#8b887f;font-size:9px;border-left:1px solid #d5d1c7;padding-left:10px}
.ops-header-center{display:flex;align-items:center;gap:9px}.workspace{font-size:9px;font-weight:800;letter-spacing:.04em}.live-state{padding:6px 8px;border:1px solid #d5d0c6;border-radius:999px;font-size:7px;font-weight:900;color:#77736b;display:flex;align-items:center;gap:6px}.live-state i{width:5px;height:5px;border-radius:50%;background:var(--orange)}
.ops-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ops-header-actions>span{font-variant-numeric:tabular-nums;color:#858179;font-size:9px;margin-right:3px}.ops-header-actions button,.ops-header-actions a{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:34px;padding:0 10px;font-size:8px;font-weight:800}.ops-header-actions a{display:flex;align-items:center}.ops-header-actions a:hover,.ops-header-actions button:hover{border-color:#aba69c}
.ops-shell{display:grid;grid-template-columns:76px 1fr;min-height:calc(100vh - 96px)}.nav-rail{background:#252825;border-right:1px solid #373a36;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:7px}.rail-logo{width:38px;height:38px;border:0;background:var(--orange);color:#fff;border-radius:10px;font-weight:950;margin-bottom:10px}.rail-item{width:58px;height:54px;border:0;background:transparent;color:#8f948d;border-radius:10px;display:grid;place-items:center;align-content:center;gap:4px}.rail-item span{font-size:16px;line-height:1}.rail-item small{font-size:6px;letter-spacing:.04em}.rail-item.active{background:#343834;color:#fff}.rail-item.bottom{margin-top:auto}
.workspace-main{min-width:0;padding:16px;display:flex;flex-direction:column;gap:12px}.workspace-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}.workspace-titlebar p{margin:0 0 5px;font-size:7px;font-weight:900;letter-spacing:.13em;color:#8c887f}.workspace-titlebar h1{margin:0;font-size:25px;letter-spacing:-.035em}.summary-strip{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.46);overflow:hidden}.summary-strip article{min-width:92px;padding:9px 12px;border-left:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px}.summary-strip article:first-child{border-left:0}.summary-strip small{font-size:6px;color:#8b877e;font-weight:900}.summary-strip b{font-size:19px;line-height:1}.summary-strip .attention b{color:var(--red)}
.dispatch-grid{display:grid;grid-template-columns:240px minmax(420px,1fr) 310px;gap:10px;min-height:650px;flex:1}.orders-panel,.map-panel,.inspector-panel,.event-dock{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 35px rgba(32,31,28,.05)}.orders-panel{padding:14px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.panel-title small,.inspector-head small{font-size:6px;letter-spacing:.12em;color:#8d897f}.panel-title h2{font-size:17px;margin:2px 0 0}.panel-title>span{font-size:7px;color:#8c887f}.filters{display:flex;gap:5px;padding-bottom:12px;border-bottom:1px solid #e4e0d7}.filters button{border:1px solid #ddd8ce;background:#fff;border-radius:999px;padding:6px 9px;font-size:7px;font-weight:800;color:#77736b}.filters button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.orders-list{display:grid;gap:8px;padding-top:12px}.order-card{border:1px solid #dedad0;background:#fff;border-radius:12px;padding:11px;text-align:left;display:grid;gap:8px;transition:.2s}.order-card:hover{transform:translateY(-1px);border-color:#bfb9ad}.order-card.selected{border-color:#bc725b;box-shadow:inset 3px 0 0 var(--orange);background:#fffaf7}.order-card.muted{opacity:.64}.order-top,.order-bottom{display:flex;align-items:center;justify-content:space-between}.order-top b{font-size:9px}.order-top em{font-style:normal;font-size:6px;font-weight:900;color:#8a867d}.order-card.selected .order-top em{color:var(--orange)}.order-card>strong{font-size:10px}.order-card>strong i{font-style:normal;color:#b3aea4;margin:0 3px}.order-card>small,.order-bottom small{font-size:7px;color:#8d897f}.order-bottom b{font-size:8px}
.map-panel{min-width:0;display:flex;flex-direction:column;overflow:hidden}.map-toolbar{height:46px;border-bottom:1px solid #dedad1;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px}.map-toolbar>div{display:flex;align-items:center;gap:4px}.map-mode{font-size:7px;font-weight:900;color:#8b877e;padding:7px 8px;border-radius:8px}.map-mode.active{background:#ebe8e1;color:#343733}.map-toolbar button{width:28px;height:28px;border:1px solid #ddd8cf;background:#fff;border-radius:7px;font-size:10px}.map-canvas{position:relative;flex:1;min-height:480px;overflow:hidden;background:#e7e4dc}.map-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(85,84,78,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(85,84,78,.055) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.map-svg{position:absolute;inset:0;width:100%;height:100%}.district{fill:none;stroke:#d7d2c8;stroke-width:6}.road{fill:none;stroke:#b9b4aa;stroke-width:16;stroke-linecap:round}.road.major{stroke:#aaa59b;stroke-width:20}.road.thin{stroke:#c9c4ba;stroke-width:8}.route{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round;stroke-dasharray:10 9;opacity:0;transition:opacity .35s}.route.visible{opacity:1}.route-delay{fill:none;stroke:var(--red);stroke-width:8;stroke-linecap:round;stroke-dasharray:4 9;opacity:0;transition:.3s}.route-delay.visible{opacity:1}.map-city{position:absolute;font-size:6px;font-weight:900;letter-spacing:.1em;color:#a19c91}.map-city.c1{left:7%;bottom:9%}.map-city.c2{left:52%;top:43%}.map-city.c3{right:5%;top:11%}.map-node{position:absolute;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);font-size:7px;font-weight:950;box-shadow:0 7px 17px rgba(30,31,29,.14)}.map-node.warehouse{left:9.7%;top:84%;background:#292c29;color:#fff}.map-node.destination{left:91%;top:16%;background:#fff;border:2px solid #292c29}.vehicle-marker{position:absolute;left:11.5%;top:80%;width:37px;height:37px;border-radius:50%;border:4px solid #fff;background:var(--orange);color:#fff;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 9px 18px rgba(223,90,52,.28);transition:left 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s cubic-bezier(.2,.8,.2,1),background .25s;z-index:3}.vehicle-marker span{font-size:8px;font-weight:950}.vehicle-marker.delayed{background:var(--red)}.vehicle-card{position:absolute;left:16%;top:68%;background:#252825;color:#fff;border-radius:11px;padding:10px 12px;width:156px;display:grid;gap:3px;box-shadow:0 16px 32px rgba(25,28,25,.22);transition:left 1.1s,top 1.1s}.vehicle-card small{font-size:6px;color:#8f928d;letter-spacing:.08em}.vehicle-card strong{font-size:9px}.vehicle-card>span{font-size:7px;color:#b8bab5}.vehicle-card>span b{color:#f0a88e}.vehicle-card>div{margin-top:5px;display:flex;align-items:center;gap:5px}.vehicle-card i{width:5px;height:5px;border-radius:50%;background:#82aa87}.vehicle-card em{font-style:normal;font-size:6px;color:#8f928d}.map-legend{position:absolute;left:10px;bottom:10px;background:rgba(248,246,241,.9);backdrop-filter:blur(9px);border:1px solid #d7d2c9;border-radius:9px;padding:7px 9px;display:flex;gap:11px}.map-legend span{font-size:6px;color:#747168;display:flex;align-items:center;gap:5px}.map-legend i{display:block}.route-key{width:16px;height:2px;background:var(--orange)}.vehicle-key{width:7px;height:7px;border-radius:50%;background:var(--orange)}.delay-key{width:16px;height:2px;background:var(--red);border-top:1px dashed #fff}
.journey-strip{height:80px;border-top:1px solid #dcd8cf;background:#faf8f3;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;padding:0 12px}.journey-step{border:0;background:transparent;text-align:left;padding:8px;border-radius:8px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:6px;color:#908c83}.journey-step span{grid-row:1/3;width:22px;height:22px;border-radius:50%;border:1px solid #cac5bb;display:grid;place-items:center;font-size:6px;font-weight:900}.journey-step b{font-size:7px}.journey-step small{font-size:6px}.journey-step.active{background:#f0ebe4;color:#292c29}.journey-step.active span{background:var(--orange);border-color:var(--orange);color:#fff}.journey-step.done span{background:#637e68;border-color:#637e68;color:#fff}.journey-strip>i{width:13px;height:1px;background:#d5d0c6}
.inspector-panel{padding:16px;min-width:0;overflow:hidden}.inspector-head{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;padding-bottom:13px;border-bottom:1px solid #e1ddd4;margin-bottom:18px}.inspector-head small{grid-column:1}.inspector-head>b{font-size:17px;grid-column:1}.inspector-head>span{grid-row:1/3;grid-column:2;padding:6px 8px;border-radius:999px;background:#eeeae2;font-size:6px;font-weight:950;letter-spacing:.08em;color:#77736b}.inspector-head>span.delayed{background:#f4d6d0;color:#9a3f34}.inspector-head>span.transit{background:#e5eee7;color:#58795e}.inspector-state{display:none;animation:stateIn .3s ease}.inspector-state.active{display:block}.state-kicker{font-size:7px;font-weight:950;letter-spacing:.12em;color:#8a867e}.state-kicker.danger{color:var(--red)}.inspector-state h2{font-size:27px;line-height:1.03;letter-spacing:-.04em;margin:8px 0 11px}.inspector-state>p{margin:0 0 18px;color:#7f7b72;font-size:9px;line-height:1.55}.route-mini{display:grid;grid-template-columns:28px 1fr auto 28px 1fr;align-items:center;gap:7px;background:#f0ede6;border:1px solid #ded9cf;border-radius:12px;padding:11px}.route-mini>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#292c29;color:#fff;font-size:7px;font-weight:900}.route-mini>span:nth-of-type(2){background:#fff;color:#292c29;border:1px solid #cfc9bf}.route-mini>div{display:grid;gap:2px}.route-mini small,.info-pairs small,.resource-card small,.driver-line small,.proof-list small{font-size:6px;color:#8e8a82}.route-mini b{font-size:7px}.route-mini i{width:11px;height:1px;background:#c7c2b8}.info-pairs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.info-pairs>div{background:#fff;border:1px solid #e0dbd1;border-radius:10px;padding:10px;display:grid;gap:4px}.info-pairs b{font-size:8px}.primary-action{width:100%;height:46px;border:0;border-radius:11px;background:#292c29;color:#fff;margin-top:16px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:900}.primary-action:hover{background:#1b1d1b}.primary-action:disabled{background:#c9c5bc;color:#8d8980;cursor:not-allowed}.warning-action{background:var(--orange)}.warning-action:hover{background:#c94e2c}.resource-card{display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;border:1px solid #ded9cf;border-radius:11px;padding:10px;margin-bottom:8px}.resource-icon{width:38px;height:38px;border-radius:9px;background:#eee8e1;color:var(--orange);display:grid;place-items:center;font-size:15px}.resource-icon.round{border-radius:50%;font-size:8px;font-weight:950}.resource-card>div:nth-child(2){display:grid;gap:2px}.resource-card b{font-size:8px}.resource-card span{font-size:6px;color:#8d8980}.resource-card em{font-style:normal;font-size:6px;font-weight:950;color:#618168}.eta-block{border-radius:14px;background:#292c29;color:#fff;padding:17px;display:grid;gap:3px}.eta-block small{font-size:6px;color:#949790}.eta-block b{font-size:34px;line-height:1}.eta-block span{font-size:7px;color:#a7aaa4}.driver-line{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:14px 0;border-bottom:1px solid #e0dcd3}.driver-dot{width:34px;height:34px;border-radius:50%;background:#eee8e1;color:#a55039;display:grid;place-items:center;font-size:7px;font-weight:950}.driver-line>div{display:grid;gap:2px}.driver-line b{font-size:8px}.driver-line em{font-size:7px;font-style:normal;color:#8c887f}.exception-card{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;background:#f5e0da;border:1px solid #e9beb3;border-radius:11px;padding:10px}.exception-card>span{width:32px;height:32px;border-radius:50%;background:#c85b49;color:#fff;display:grid;place-items:center;font-weight:950}.exception-card>div{display:grid;gap:2px}.exception-card b{font-size:8px}.exception-card small{font-size:6px;color:#986d64}.exception-card em{font-size:6px;font-style:normal;font-weight:950;color:#9f4034}.action-stack{display:grid;gap:7px;margin-top:9px}.action-stack button{border:1px solid #ddd8ce;background:#fff;border-radius:10px;padding:9px;text-align:left;display:grid;grid-template-columns:26px 1fr;gap:7px;align-items:center}.action-stack button:hover,.action-stack button.selected{border-color:#c9785f;background:#fff7f3}.action-stack button>span{width:25px;height:25px;border-radius:7px;background:#eee9e2;color:var(--orange);display:grid;place-items:center}.action-stack button>div{display:grid;gap:2px}.action-stack b{font-size:8px}.action-stack small{font-size:6px;color:#8d8980}.resolution-result{margin-top:8px;border:1px dashed #d5cfc5;border-radius:9px;padding:9px;color:#827e75;font-size:7px;min-height:34px;display:flex;align-items:center}.success-mark{width:56px;height:56px;border-radius:50%;background:#e1ede3;color:#5b8462;display:grid;place-items:center;font-size:24px;margin:8px 0 18px}.proof-list{display:grid;gap:7px}.proof-list>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1ddd4;padding:9px 0}.proof-list b{font-size:8px;color:#54755a}
.event-dock{height:102px;display:grid;grid-template-columns:120px 1fr;overflow:hidden}.event-dock-head{padding:13px;border-right:1px solid #dedad1;display:flex;flex-direction:column;justify-content:space-between}.event-dock-head span{font-size:6px;letter-spacing:.12em;font-weight:950;color:#8b877e}.event-dock-head b{font-size:8px}.event-feed{display:flex;align-items:stretch;gap:7px;padding:8px;overflow:auto}.event-item{min-width:190px;border:1px solid #e0dcd3;border-radius:9px;background:#fff;padding:9px;display:grid;grid-template-columns:42px 1fr;gap:6px;animation:eventIn .3s ease}.event-item time{font-size:6px;color:#96928a;font-variant-numeric:tabular-nums}.event-item p{font-size:7px;line-height:1.45;margin:0;color:#6f6c65}.event-item p b{color:#252825}.event-item.warning{border-color:#e8bfb4;background:#fff8f5}.event-item.success{border-color:#cbdcca;background:#f9fcf8}
@keyframes stateIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}@keyframes eventIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1280px){.dispatch-grid{grid-template-columns:210px minmax(400px,1fr) 280px}.summary-strip article{min-width:78px}.ops-brand em{display:none}}
@media(max-width:1050px){.ops-header{grid-template-columns:1fr auto}.ops-header-center{display:none}.dispatch-grid{grid-template-columns:210px 1fr}.inspector-panel{grid-column:1/-1}.inspector-state{max-width:680px}.event-dock{height:auto;min-height:105px}.journey-strip{overflow:auto}.journey-step{min-width:120px}.journey-strip>i{min-width:13px}}
@media(max-width:760px){.prototype-banner strong{display:none}.ops-header{padding:0 10px}.ops-header-actions>span,.ops-header-actions button{display:none}.ops-shell{grid-template-columns:1fr}.nav-rail{height:58px;position:sticky;top:66px;z-index:35;flex-direction:row;border-right:0;border-bottom:1px solid #3a3d39;padding:5px 8px;overflow:auto}.rail-logo{margin:0 5px 0 0;min-width:38px}.rail-item{min-width:54px;height:46px}.rail-item.bottom{margin:0}.workspace-main{padding:10px}.workspace-titlebar{align-items:flex-start;flex-direction:column}.summary-strip{width:100%;overflow:auto}.summary-strip article{min-width:86px}.dispatch-grid{display:flex;flex-direction:column}.orders-panel{order:2}.map-panel{order:1;min-height:620px}.inspector-panel{order:3}.orders-list{grid-template-columns:1fr 1fr}.map-canvas{min-height:430px}.journey-strip{height:72px}.event-dock{grid-template-columns:1fr}.event-dock-head{border-right:0;border-bottom:1px solid #dedad1;flex-direction:row}.ops-header-actions a{font-size:7px}}
@media(max-width:520px){.ops-brand b{font-size:12px}.ops-header-actions a{padding:0 8px}.workspace-titlebar h1{font-size:22px}.orders-list{grid-template-columns:1fr}.map-panel{min-height:560px}.map-canvas{min-height:390px}.vehicle-card{display:none}.map-legend{display:none}.journey-strip{grid-template-columns:repeat(5,110px);gap:5px}.journey-strip>i{display:none}.event-item{min-width:175px}.info-pairs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.vehicle-marker,.vehicle-card{transition:none}.inspector-state,.event-item{animation:none}}
.demo-lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:#fff}.demo-lang button{border:0;background:transparent;border-radius:999px;min-height:26px;padding:0 7px;font-size:7px;font-weight:900;color:#8b877e}.demo-lang button.active{background:var(--dark);color:#fff}.prototype-banner b{font-size:8px}.map-legend b{font-size:6px;font-weight:700}.embed #backCase{display:none}@media(max-width:900px){.demo-lang{order:-1}.ops-header-actions{gap:5px}.ops-header-actions a{display:none}}@media(max-width:620px){.demo-lang button{padding:0 6px}.ops-header-actions #resetBtn{display:none}.prototype-banner{padding:0 10px}}

/* Cyrillic-safe sans-only typography. */
html body,html body *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}

/* Keep the dense operations UI compact without dropping below readable labels. */
.prototype-banner,.prototype-banner strong,.ops-brand em,.workspace,.live-state,.ops-header-actions>span,.ops-header-actions button,.ops-header-actions a,.rail-item small,.workspace-titlebar p,.summary-strip small,.panel-title small,.inspector-head small,.panel-title>span,.filters button,.order-top b,.order-top em,.order-card>small,.order-bottom small,.order-bottom b,.map-mode,.map-city,.map-node,.vehicle-marker span,.vehicle-card small,.vehicle-card strong,.vehicle-card>span,.vehicle-card em,.map-legend span,.journey-step span,.journey-step b,.journey-step small,.inspector-head>span,.state-kicker,.inspector-state>p,.route-mini>span,.route-mini small,.info-pairs small,.resource-card small,.driver-line small,.proof-list small,.route-mini b,.info-pairs b,.primary-action,.resource-icon.round,.resource-card b,.resource-card span,.resource-card em,.eta-block small,.eta-block span,.driver-dot,.driver-line b,.driver-line em,.exception-card b,.exception-card small,.exception-card em,.action-stack b,.action-stack small,.resolution-result,.proof-list b,.event-dock-head span,.event-dock-head b,.event-item time,.event-item p,.demo-lang button,.prototype-banner b,.map-legend b{font-size:11px!important;line-height:1.35}
.ops-header-actions button,.ops-header-actions a,.filters button,.demo-lang button,.primary-action{min-height:40px}
:where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:3px solid #e7613e!important;outline-offset:3px!important;box-shadow:0 0 0 2px #fff!important}
