/* Dispatcher desktop layout. Mobile intentionally remains driver-first. */
.dispatch-page{background:radial-gradient(circle at 70% 0%,#234750,#0c1419 46%)}
.dispatch-shell{display:grid;grid-template-columns:247px minmax(0,1fr);max-width:1700px;margin:auto;min-height:calc(100vh - 100px)}
.dispatch-side{border-right:1px solid #395560;background:#101d25b8;padding:34px 18px 30px;position:sticky;top:70px;height:calc(100vh - 70px);overflow-y:auto}
.dispatch-side h2{font-size:1.55rem;line-height:1.12;margin-top:11px}.dispatch-side p{font-size:.88rem}
.desk-nav{display:grid;gap:8px;margin-top:23px}.desk-nav button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:1px solid transparent;border-radius:9px;color:#c7dadb;padding:14px 12px;font-weight:800;min-height:47px}.desk-nav button span{font-size:.8rem;color:var(--orange)}.desk-nav button.selected{color:#111b21;background:var(--orange);border-color:var(--orange)}.desk-nav button.selected span{color:#152831}
.desk-side-note{margin-top:35px;border-top:1px solid var(--line);padding-top:17px;font-size:.87rem}.desk-side-note b{color:var(--orange)}
.dispatch-main{min-width:0;max-width:1300px;padding:22px clamp(16px,3.3vw,42px) 30px}
.desk-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.desk-hero h1{font-size:clamp(2rem,3.4vw,3.1rem)}.desk-hero p{font-size:1rem;max-width:600px;color:var(--muted)}.desk-status{display:inline-flex;background:#163038;border:1px solid #3d6972;border-radius:25px;padding:9px 13px;font-size:.76rem;color:var(--teal);font-weight:750;white-space:nowrap}
.desk-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 18px}.desk-kpis .stat strong{font-size:1.8rem}
.desk-view{display:none}.desk-view.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:26px 0 15px}.section-head h2{font-size:clamp(1.5rem,2.3vw,2.1rem);margin:6px 0 0}.section-head .btnrow{margin:0}
.desk-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:14px;align-items:start}.desk-columns .card{min-width:0}.desk-columns h3{font-size:1.15rem;margin-bottom:8px}
.desk-rule{border:0;border-top:1px solid var(--line);margin:24px 0 21px}.desk-footer{padding-left:0;padding-right:0}
.panel-head,.queue-controls{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.queue-controls{margin:10px 0}.queue-controls select{background:#0a171d;border:1px solid #4a6770;color:#f4f1e9;border-radius:8px;padding:10px;min-height:45px}.queue-list{min-height:470px}
.list-empty{border:1px dashed #4b6570;border-radius:11px;color:#b4c8cb;text-align:center;padding:25px 12px;font-size:.9rem}.queue-row{display:flex;gap:12px;align-items:flex-start;padding:13px 4px;border-bottom:1px solid #37515c}.queue-row:last-child{border-bottom:0}.queue-row input[type=checkbox]{height:22px;width:22px;accent-color:var(--orange);margin-top:2px}.queue-row b{display:block}.queue-row p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.queue-row .minor{font-size:.75rem;color:var(--teal)}.urgent{color:var(--orange)!important}.stacked-row{padding:14px 3px;border-bottom:1px solid var(--line)}.stacked-row:last-child{border-bottom:0}.stacked-row b{display:block}.stacked-row p{margin:5px 0;color:var(--muted);font-size:.86rem}.stacked-row .btnrow{margin-top:8px}
.comp-table{min-width:640px}.comp-table td input,.comp-table td select{width:100%;min-width:88px;padding:9px;background:#0c1b23;color:var(--ink);border:1px solid #476775;border-radius:6px;font-size:.86rem}.comp-table td:first-child{font-weight:850;color:var(--teal)}.comp-table th{font-size:.7rem}
.desk-gate{position:fixed;z-index:60;inset:0;background:#071116f4;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:clamp(20px,7vh,90px) 13px}.desk-gate .gate-panel{max-width:530px}.desk-gate .gate-panel .brand{margin-bottom:18px}
.desk-table{width:100%;min-width:0}.desk-table td,.desk-table th{font-size:.79rem;padding:8px 4px}.tanktiny{display:inline-block;border-radius:6px;padding:3px 7px;background:#273d45;color:var(--teal);font-size:.73rem;font-weight:800}.tanktiny.low{background:#63402d;color:#ffd1a5}.desk-mini-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
@media(max-width:1160px){.dispatch-shell{grid-template-columns:205px 1fr}.dispatch-side{padding:24px 12px}.desk-columns{grid-template-columns:1fr}.desk-columns .card{padding:18px}}
@media(max-width:760px){.dispatch-shell{display:block}.dispatch-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 14px 10px}.dispatch-side h2,.dispatch-side p,.desk-side-note{display:none}.desk-nav{display:flex;overflow-x:auto;margin:0;gap:5px}.desk-nav button{white-space:nowrap;min-height:40px;padding:7px 10px;font-size:.78rem}.dispatch-main{padding:18px 13px}.desk-hero{align-items:flex-start;flex-direction:column;gap:2px}.desk-hero h1{font-size:2rem}.desk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column}.fields{grid-template-columns:1fr}.desk-head .head-actions .chip{display:none}}

/* Asset labels: clear ink-safe print, usable from laptop and desktop. */
.asset-print-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;align-items:start}
.asset-sticker{background:#fff;color:#111;border:1px solid #444;border-radius:8px;padding:12px;text-align:center;break-inside:avoid;overflow-wrap:anywhere}
.asset-sticker svg{display:block;width:min(100%,220px);height:auto;margin:8px auto;background:white}
.asset-sticker strong{display:block;font-size:15px;color:#111}.asset-sticker small{color:#222;display:block;margin:2px auto}
@media print{body *{visibility:hidden!important}#asset-list,#asset-list *{visibility:visible!important}#asset-list{position:absolute;left:0;top:0;width:100%;display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px}.asset-sticker{border:2px solid black;page-break-inside:avoid;break-inside:avoid} .asset-sticker svg{max-width:190px}}
