:root{--ink:#202c39;--paper:#f4f1de;--blue:#3d5a80;--coral:#e07a5f;--muted:#707878;--line:rgba(32,44,57,.16);--white:#fffdf3;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans)}
button,input{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:92px minmax(0,1fr)}
.rail{position:sticky;top:0;height:100vh;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;padding:22px 12px 18px;z-index:10}
.brand{color:inherit;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;font:700 11px/1.05 var(--serif);letter-spacing:.06em;text-align:center}
.brand img{display:block}.rail-nav{display:grid;gap:10px;margin:auto 0}
.nav-item{border:0;background:transparent;color:#aeb8be;width:68px;min-height:58px;border-radius:4px;display:grid;place-items:center;gap:2px;cursor:pointer}
.nav-item:hover,.nav-item.is-active{background:rgba(244,241,222,.1);color:var(--paper)}
.nav-icon{font-size:23px;line-height:1}.nav-label{font-size:10px}
.profile{border:1px solid rgba(244,241,222,.35);background:transparent;color:var(--paper);width:36px;height:36px;border-radius:50%;font-weight:700;font-size:11px;cursor:pointer}
.workspace{min-width:0;padding:0 28px 30px}
.topbar{min-height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font:600 30px/1 var(--serif)}h2{font:600 24px/1.1 var(--serif);margin-bottom:0}h3{font:600 18px/1.2 var(--serif)}
.eyebrow{margin-bottom:7px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:9px}.search{height:40px;width:220px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.search input{border:0;background:transparent;width:100%;min-width:0;outline:0;color:var(--ink)}.search input::placeholder{color:#919491}
.icon-button{border:1px solid var(--line);background:transparent;min-width:40px;height:40px;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:rgba(61,90,128,.08)}.icon-button.compact{min-width:32px;width:32px;height:32px}
.command-button,.secondary-button{min-height:40px;padding:0 17px;border:1px solid var(--ink);cursor:pointer;font-weight:750;font-size:12px}.command-button{background:var(--ink);color:var(--paper)}.command-button:hover{background:var(--blue);border-color:var(--blue)}.secondary-button{background:transparent}.secondary-button:hover{background:rgba(61,90,128,.08)}
.view{display:none}.view.is-active{display:block;animation:view-in .22s ease both}@keyframes view-in{from{opacity:0;transform:translateY(5px)}}
.status-strip{min-height:72px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:0}.status-strip>div{display:flex;align-items:baseline;gap:8px;padding-right:26px;margin-right:26px;border-right:1px solid var(--line)}.status-strip strong{font:600 24px var(--serif)}.status-strip span{font-size:11px;color:var(--muted)}.status-strip .accent{color:var(--coral)}.status-strip .shift-note{margin-left:auto;border-right:0;padding:0;margin-right:0}.shift-note i{width:7px;height:7px;border-radius:50%;background:#698d73;box-shadow:0 0 0 4px rgba(105,141,115,.14)}
.dispatch-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(440px,1fr) minmax(215px,270px);min-height:calc(100vh - 169px)}
.queue-panel,.route-panel,.context-panel{padding-top:24px;min-width:0}.queue-panel{padding-right:22px;border-right:1px solid var(--line)}.route-panel{padding:24px 26px 0}.context-panel{padding-left:22px;border-left:1px solid var(--line)}
.section-heading,.wide-heading,.route-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.section-heading h2{font-size:20px}
.filter-row{display:flex;gap:6px;margin:20px 0 10px;max-height:40px;overflow:hidden;transition:.2s}.filter-row.is-collapsed{max-height:0;margin-top:10px;margin-bottom:0;opacity:0}
.filter-chip{border:1px solid var(--line);background:transparent;padding:6px 10px;font-size:10px;font-weight:800;cursor:pointer}.filter-chip.is-active{background:var(--blue);border-color:var(--blue);color:white}
.order-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:15px 7px 14px 0;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:5px 10px;position:relative}.order-row:last-child{border-bottom:1px solid var(--line)}.order-row:hover,.order-row.is-active{padding-left:10px;background:rgba(255,253,243,.55)}.order-row.is-active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--coral)}.order-row strong{font:600 15px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-row small,.order-row time{font-size:10px;color:var(--muted)}.order-row .order-stage{grid-column:1}.risk-dot{width:7px;height:7px;border-radius:50%;background:var(--coral);align-self:center}
.empty-state{text-align:center;padding:44px 15px;color:var(--muted)}.empty-state>span{font:500 38px var(--serif)}.empty-state h3{color:var(--ink);margin:9px 0 5px}.empty-state p{font-size:12px}.text-link{border:0;background:transparent;color:var(--blue);text-decoration:underline;cursor:pointer}
.route-title{align-items:center}.priority-tag{border:1px solid #6f8f76;color:#53705b;padding:6px 10px;font-size:10px;font-weight:800}.priority-tag.risk{border-color:var(--coral);color:var(--coral)}
.route-map{height:190px;margin-top:18px;background-color:rgba(61,90,128,.045);position:relative;overflow:hidden}.route-map svg{width:100%;height:100%}.map-grid{stroke:rgba(61,90,128,.09);stroke-width:1;fill:none}.map-road{stroke:rgba(32,44,57,.25);stroke-width:2;fill:none;stroke-dasharray:5 5}.map-route{stroke:var(--blue);stroke-width:4;fill:none}.route-map circle{fill:var(--blue)}.route-map .current-dot{fill:var(--coral);stroke:rgba(224,122,95,.22);stroke-width:10}.route-map .future-dot{fill:var(--paper);stroke:var(--ink);stroke-width:2}.map-label{position:absolute;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.map-label.start{left:3%;bottom:8%}.map-label.middle{left:31%;top:18%}.map-label.current{left:60%;bottom:25%;color:var(--coral)}.map-label.end{right:2%;top:20%}
.timeline{margin-top:22px}.timeline-step{display:grid;grid-template-columns:25px 1fr auto;gap:12px;position:relative;padding-bottom:21px}.timeline-step:not(:last-child):before{content:"";position:absolute;left:8px;top:17px;bottom:0;width:1px;background:var(--line)}.step-dot{width:17px;height:17px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:9px;z-index:1}.timeline-step.done .step-dot{background:var(--blue);border-color:var(--blue);color:white}.timeline-step.current .step-dot{background:var(--coral);border-color:var(--coral);box-shadow:0 0 0 4px rgba(224,122,95,.13)}.timeline-step strong{font:600 14px var(--serif)}.timeline-step p{font-size:10px;color:var(--muted);margin:4px 0 0}.timeline-step time{font-size:10px;color:var(--muted)}
.route-actions{border-top:1px solid var(--line);padding:17px 0;display:flex;align-items:center;gap:9px}.assignee-control{display:flex;align-items:center;gap:9px;margin-right:auto}.assignee-control small{display:block;color:var(--muted);font-size:9px;margin-bottom:2px}.assignee-control strong{font-size:11px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center;font-size:10px;font-weight:800}
.day-scale{display:flex;justify-content:space-between;margin:25px 5px 10px;font-size:9px;color:var(--muted)}.schedule{height:320px;position:relative;margin:0 5px}.schedule-line{position:absolute;top:0;bottom:0;left:14px;border-left:1px dashed rgba(32,44,57,.25)}.schedule article{position:absolute;top:var(--start);height:var(--length);left:14px;right:0;border-left:3px solid var(--blue);padding:3px 0 0 12px;background:linear-gradient(90deg,rgba(61,90,128,.08),transparent)}.schedule article.coral{border-color:var(--coral);background:linear-gradient(90deg,rgba(224,122,95,.09),transparent)}.schedule time{font-size:9px;color:var(--muted)}.schedule strong{display:block;font:600 13px var(--serif);margin:4px 0}.schedule span{font-size:9px;color:var(--muted)}
.risk-note{border-top:1px solid var(--line);padding-top:16px;display:grid;grid-template-columns:28px 1fr auto;gap:10px}.risk-mark{width:26px;height:26px;background:var(--coral);color:white;display:grid;place-items:center;font-weight:900}.risk-note strong{font:600 13px var(--serif)}.risk-note p{font-size:10px;line-height:1.45;color:var(--muted);margin:4px 0}
.wide-heading{padding:28px 0 22px;border-bottom:1px solid var(--line);align-items:center}.history-layout{max-width:980px}.history-filters{display:flex;gap:7px;padding:18px 0}.history-item{display:grid;grid-template-columns:95px 38px minmax(0,1fr) 140px;gap:15px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.history-item:last-child{border-bottom:1px solid var(--line)}.history-item time,.history-item small{font-size:10px;color:var(--muted)}.event-icon{width:31px;height:31px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.history-item strong{font:600 14px var(--serif)}.history-item p{margin:3px 0 0;font-size:11px;color:var(--muted)}
.workflow-board{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workflow-column{padding:20px;min-height:320px;border-right:1px solid var(--line);position:relative}.workflow-column:last-child{border-right:0}.workflow-index{font:500 42px var(--serif);color:rgba(61,90,128,.22)}.workflow-column h3{margin:22px 0 8px}.workflow-column p{font-size:11px;color:var(--muted);line-height:1.5;min-height:50px}.check-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:11px}.toggle{width:35px;height:20px;border:0;border-radius:20px;background:#aeb1aa;padding:3px;cursor:pointer}.toggle:after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:white;transition:.2s}.toggle.is-on{background:var(--blue)}.toggle.is-on:after{transform:translateX(15px)}.board-hint{font-size:10px;color:var(--muted);margin-top:12px}
.team-table{margin-top:25px;max-width:1050px}.team-row{display:grid;grid-template-columns:minmax(190px,1.4fr) 1fr 1fr 130px 44px;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.team-row:last-child{border-bottom:1px solid var(--line)}.person{display:flex;align-items:center;gap:12px}.person strong{font:600 15px var(--serif);display:block}.person small,.team-row>span{font-size:10px;color:var(--muted)}.status-live{color:#5d7e65!important}.status-live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#698d73;margin-right:6px}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(440px,calc(100% - 30px));box-shadow:0 20px 80px rgba(32,44,57,.3)}dialog::backdrop{background:rgba(32,44,57,.55)}dialog form{padding:30px;position:relative}.dialog-close{position:absolute;right:15px;top:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}dialog label{display:grid;gap:7px;margin-top:24px;font-size:11px;font-weight:800}dialog input{height:43px;border:1px solid var(--line);background:var(--white);padding:0 12px;color:var(--ink)}
.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--paper);padding:12px 17px;font-size:11px;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;z-index:30}.toast.is-visible{transform:none;opacity:1}
@media (min-width:1200px){.workspace{padding-left:36px;padding-right:36px}.dispatch-layout{grid-template-columns:minmax(250px,300px) minmax(520px,1fr) minmax(240px,285px)}.route-panel{padding-left:34px;padding-right:34px}}
@media (max-width:1050px){.context-panel{display:none}.dispatch-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}}
@media (max-width:700px){
  .app-shell{display:block;padding-bottom:68px}.workspace{padding:0 16px}.rail{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;height:64px;display:block;padding:0;background:var(--ink)}.brand,.profile{display:none}.rail-nav{height:100%;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.nav-item{width:100%;height:64px;min-height:0;border-radius:0}.nav-icon{font-size:19px}.nav-label{font-size:9px}
  .topbar{min-height:79px}.topbar h1{font-size:25px}.top-actions .search,.top-actions .icon-button{display:none}.command-button{padding:0 12px}.top-actions .command-button{font-size:0;width:40px;padding:0}.top-actions .command-button:before{content:"+";font-size:21px}
  .status-strip{min-height:58px;overflow-x:auto;scrollbar-width:none}.status-strip>div{flex:0 0 auto;padding-right:14px;margin-right:14px}.status-strip strong{font-size:19px}.status-strip .shift-note{display:none}
  .dispatch-layout{display:block;min-height:0}.queue-panel{border-right:0;padding-right:0}.section-heading h2{font-size:19px}.filter-row{margin-top:15px}.order-list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-16px}.order-row{flex:0 0 76%;scroll-snap-align:start;border:1px solid var(--line);padding:13px!important;background:rgba(255,253,243,.45)}.order-row:last-child{border-bottom:1px solid var(--line)}.order-row.is-active:before{top:0;bottom:0}.route-panel{padding:22px 0 0}.route-title h2{font-size:22px}.route-map{height:150px;margin-top:14px}.map-label{font-size:8px}.timeline{margin-top:18px}.timeline-step{padding-bottom:15px}.route-actions{position:sticky;bottom:64px;background:var(--paper);z-index:5;margin:0 -16px;padding:12px 16px}.route-actions .secondary-button,.assignee-control>div,.assignee-control .icon-button{display:none}.route-actions .command-button{margin-left:auto}.context-panel{display:none}
  .wide-heading{padding:22px 0 18px}.wide-heading h2{font-size:23px}.history-item{grid-template-columns:52px 32px minmax(0,1fr);gap:9px}.history-item>small{display:none}.history-item time{font-size:9px}.workflow-board{grid-template-columns:1fr;margin-top:18px}.workflow-column{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:16px 5px}.workflow-column:last-child{border-bottom:0}.workflow-index{font-size:28px}.workflow-column h3{margin:8px 0}.workflow-column p{min-height:0}.team-row{grid-template-columns:minmax(0,1fr) 85px 38px;gap:8px}.team-row>span:nth-of-type(1),.team-row>span:nth-of-type(2){display:none}.toast{left:15px;right:15px;bottom:78px;text-align:center}
}
@media (max-width:390px){.workspace{padding-left:12px;padding-right:12px}.topbar{min-height:74px}.eyebrow{font-size:9px}.topbar h1{font-size:23px}.status-strip>div{padding-right:11px;margin-right:11px}.queue-panel{padding-top:18px}.order-list{margin-right:-12px}.order-row{flex-basis:82%}.route-actions{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.route-map{height:138px}.priority-tag{padding:5px 7px}.assignee-control{margin-right:0}.timeline-step{grid-template-columns:22px 1fr auto;gap:8px}.wide-heading .command-button{max-width:132px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
