/* Classic preserves the original warehouse board palette. */
:root{--text:#eef1f3;--panel:#202830;--input:#27323b;--input-line:#4a555f;--hover:#36424d;--board:#1b232b;--zone-head:#2e3943;--carrier:#1a222a;--warning:#eccf87}
*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#151b22;--muted:#a2adb7;--line:#3a444e;--red:#eb8589;--yellow:#e6c977;--green:#8cbea5}
body{margin:0;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
header{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;border-bottom:1px solid var(--line);background:var(--panel)}.brand,.headright{display:flex;align-items:center;gap:14px}.logo{color:#acb9c2;font-size:26px}h1{font-size:22px;margin:0;letter-spacing:.2px}h1 span{font-size:18px;font-weight:400;margin-left:10px}#clock{font-size:12px;color:var(--muted)}
main{padding:12px 24px;max-width:none;margin:0}.sourcebar{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin-bottom:12px}.right{margin-left:auto}.badge{background:#38382e;color:#e8d69a;padding:4px 8px;border-radius:3px}
button,select,input,.upload{font:inherit;border:1px solid var(--input-line);border-radius:4px;background:var(--input);color:var(--text);padding:8px 10px}button,.upload{cursor:pointer}button:hover,.upload:hover{background:var(--hover)}button:disabled{opacity:.45;cursor:default}.primary{background:#b4d8c6;color:#14271d;border-color:#b4d8c6;font-weight:600}.controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:4px}label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}input[type=datetime-local]{width:208px}.upload{margin:0;color:var(--text)}.upload input{display:none}#message{color:var(--warning)}
.stats{display:grid;grid-template-columns:repeat(6,1fr);margin:14px 0;background:var(--panel);border:1px solid var(--line);border-radius:4px}.stat{padding:12px 16px;position:relative;min-width:0}.stat+.stat{border-left:1px solid var(--line)}.stat small{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:29px;line-height:1.2;margin:5px 0;font-variant-numeric:tabular-nums}.stat p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.stat .dot{position:absolute;right:16px;top:17px;width:7px;height:7px;border-radius:50%}
.board{border:1px solid var(--line);border-radius:4px;background:var(--board)}.boardhead{display:flex;justify-content:space-between;align-items:center;padding:13px 16px 6px;gap:12px}h2{font-size:16px;margin:0 0 5px}.boardhead p{font-size:11px;color:var(--muted);margin:0}.legend{display:flex;gap:5px}.legend button{font-size:12px;background:transparent;border-color:transparent;padding:6px 9px}.legend .active{background:var(--hover);border-color:var(--input-line)}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px}.red{background:var(--red)}.yellow{background:var(--yellow)}.green{background:var(--green)}.tools{display:flex;align-items:center;gap:12px;padding:7px 16px 12px}.tools input{width:300px;padding:7px 10px;font-size:12px}.tools span{margin-left:auto;color:var(--muted);font-size:12px}
#map{padding:0 16px 12px;display:flex;flex-direction:column;gap:10px;min-height:180px}.zone{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel);min-width:0}.zonehead{display:flex;align-items:center;gap:12px;padding:7px 12px;background:var(--zone-head);border-bottom:1px solid var(--line)}.zonehead strong{font-size:15px;letter-spacing:.5px}.zonehead span{font-size:11px;color:var(--muted)}.route-body{display:flex;flex-wrap:wrap;gap:8px;padding:9px}.carrier-group{display:flex;align-items:flex-start;gap:8px;flex-grow:1;flex-shrink:1;min-width:0;max-width:100%;padding:7px;background:var(--carrier);border:1px solid var(--line);border-radius:3px}.carrier-head{flex:0 0 77px;padding:4px 2px}.carrier-head strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.carrier-head span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.seats{display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}.seat{flex:0 0 38px;width:38px;height:29px;padding:0;border:0;border-radius:3px;color:#14251c;font:600 12px ui-monospace,monospace;font-variant-numeric:tabular-nums;box-shadow:none}.seat.red{color:#381619}.seat.yellow{color:#382c11}.seat:hover,.seat:focus-visible{outline:2px solid #fff;outline-offset:1px;filter:brightness(1.12)}.boardfooter{border-top:1px solid var(--line);padding:9px 16px;font-size:11px;color:var(--muted)}footer{font-size:11px;color:var(--muted);padding:12px 0}.empty{padding:40px;text-align:center;color:var(--muted)}
#tooltip{position:fixed;z-index:20;background:#f0f2f4;color:#17232c;border-radius:4px;padding:12px 14px;box-shadow:0 5px 18px #0005;max-width:370px;pointer-events:none;line-height:1.7;font-size:12px}#tooltip strong{display:block}dialog{border:1px solid #65747f;background:var(--panel);color:var(--text);border-radius:5px;min-width:350px;max-width:90vw;padding:22px;line-height:1.8}dialog::backdrop{background:#0009}dialog>button{display:block;margin-left:auto;margin-bottom:12px}#detailbody strong{overflow-wrap:anywhere}
body.tv .controls,body.tv footer{display:none}body.tv header{padding:10px 20px}body.tv main{padding:10px 20px}body.tv .seat{width:42px;flex-basis:42px;height:32px;font-size:13px}
@media(max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(4){border-left:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}.boardhead{flex-wrap:wrap}.headright #clock{display:none}}
@media(max-width:600px){main{padding:10px}header{padding:12px}.logo{display:none}h1{font-size:18px}h1 span{font-size:15px}.sourcebar{flex-wrap:wrap}.right{margin-left:0}.controls{gap:8px}.controls>div{width:100%}.controls input,.controls select{width:100%}.stat{padding:10px}.stat strong{font-size:25px}.stat p{font-size:10px}.legend{flex-wrap:wrap}.tools{flex-wrap:wrap}.tools input{width:100%}#map{padding:0 8px 8px}.carrier-head{flex-basis:62px}.seat{flex-basis:36px;width:36px}.boardhead{padding:12px}.sourcebar #update{width:100%}}
#message:empty{min-height:0;margin:0}#collection-progress{padding:20px 0 4px}#collection-progress[hidden]{display:none}#collection-bar{display:block;width:100%;height:10px;border:0;border-radius:8px;overflow:hidden;appearance:none;background:#243446;accent-color:#55d49b}#collection-bar::-webkit-progress-bar{background:#243446;border-radius:8px}#collection-bar::-webkit-progress-value{background:linear-gradient(90deg,#269b86,#63e1aa);border-radius:8px;transition:width .4s ease}#collection-bar::-moz-progress-bar{background:#55d49b;border-radius:8px}#collection-bar:indeterminate{background:linear-gradient(90deg,#243446 20%,#55d49b 50%,#243446 80%);background-size:200% 100%;animation:collecting 1.5s linear infinite}#collection-bar:indeterminate::-webkit-progress-bar{background:transparent}@keyframes collecting{from{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){#collection-bar:indeterminate{animation:none}#collection-bar::-webkit-progress-value{transition:none}}

.carrier-head{flex-basis:90px;padding:0 1px}.carrier-logo{width:88px;height:30px;display:flex;align-items:center;justify-content:center;background:#f5f6f7;border-radius:3px;padding:3px;overflow:hidden}.carrier-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.carrier-logo-fedex img{max-height:none;height:44px;max-width:88px}.carrier-logo-ups img{height:26px;width:auto}.carrier-head>span{padding-left:2px}@media(max-width:600px){.carrier-head{flex-basis:80px}.carrier-logo{width:78px}}

.carrier-logo-ups{background:#352215}

[hidden]{display:none!important}

@media(max-width:640px){.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.controls>div{min-width:0}.controls input,.controls select,.controls button{width:100%;min-width:0;box-sizing:border-box}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.headright{flex-wrap:wrap}.sourcebar{flex-wrap:wrap}.carrier-group{max-width:100%;box-sizing:border-box}.tools{flex-wrap:wrap}}

.trip-groups{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.trip-group{min-width:0;max-width:100%}.trip-group .seats{padding:3px;gap:7px}.dispatched-trip{border-left:3px solid var(--trip-color);padding-left:5px}.trip-heading{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:2px 3px 5px;font-size:10px;color:var(--text);overflow-wrap:anywhere}.trip-heading span{overflow-wrap:anywhere;min-width:0}.trip-heading small{color:var(--muted)}.trip-dot{width:8px;height:8px;background:var(--trip-color);flex-shrink:0;border-radius:2px}.seat.trip-seat{box-shadow:0 0 0 2px var(--trip-color);border:1px solid var(--carrier)}.seat.trip-seat:focus-visible{outline-offset:3px}

:root[data-theme="night"]{color-scheme:dark;--bg:#0c1015;--panel:#141b23;--input:#1c2631;--input-line:#3f5060;--hover:#293849;--board:#10171f;--zone-head:#202d3a;--carrier:#111820;--text:#e2e8ee;--muted:#9daab7;--line:#303e4c}
:root[data-theme="day"]{color-scheme:light;--bg:#edf0f2;--panel:#fff;--input:#f8fafb;--input-line:#a8b4bd;--hover:#e1e8ed;--board:#fff;--zone-head:#e4eaf0;--carrier:#f4f6f8;--text:#202e38;--muted:#536370;--line:#c4cdd4;--warning:#805800}
:root[data-theme="day"] .badge{background:#f3e9ca;color:#654b0c}
:root[data-theme="day"] .seat:hover,:root[data-theme="day"] .seat:focus-visible{outline-color:#22384a}
#appearance{max-width:100px;font-size:12px}
@media(max-width:600px){header{flex-wrap:wrap;gap:8px}.headright{gap:8px}dialog{min-width:0;width:calc(100% - 24px)} }

.brand-stack{display:flex;flex-direction:column;gap:9px;min-width:0}.brand-signature{display:flex;align-items:center;gap:14px;height:26px}.tiktok-mark{width:86px;height:26px;object-fit:contain}.tiktok-dark{display:none}:root[data-theme="day"] .tiktok-light{display:none}:root[data-theme="day"] .tiktok-dark{display:block}.brand-divider{height:17px;width:1px;background:var(--input-line)}.cbt-mark{font-size:17px;font-weight:700;letter-spacing:2px;color:var(--text)}header{gap:16px}.brand{min-width:0}.headright{flex-shrink:0}@media(max-width:600px){.brand-stack{gap:7px}.brand-signature{height:23px;gap:11px}.tiktok-mark{width:76px;height:23px}.cbt-mark{font-size:15px}.controls>div{min-width:0}.controls input[type="datetime-local"]{min-width:0;max-width:100%}header{align-items:center}.headright{margin-left:auto}h1 span{margin-left:6px}}

#capacity-banner[hidden],#capacity-panel[hidden]{display:none}#capacity-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin-bottom:12px;border:1px solid #bc8730;border-left:5px solid #e8b04e;border-radius:4px;background:var(--panel);color:var(--text)}#capacity-banner strong{font-size:15px}#capacity-panel{position:fixed;right:18px;bottom:18px;width:350px;max-width:calc(100vw - 24px);z-index:15;background:var(--panel);color:var(--text);border:1px solid #bc8730;border-top:4px solid #e8b04e;border-radius:6px;padding:12px;box-shadow:0 5px 24px #0004}.capacity-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.capacity-head button,#capacity-banner button{font-size:12px;padding:6px 8px}.capacity-time{font-size:11px;color:var(--muted);margin:8px 0 0}.capacity-list{max-height:240px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;gap:6px}.capacity-item{text-align:left;width:100%;padding:9px}.capacity-item strong,.capacity-item span{display:block;overflow-wrap:anywhere}.capacity-item strong{font-size:12px}.capacity-item span{font-size:11px;color:var(--muted);margin-top:4px}.capacity-seat{position:relative}.capacity-mark{position:absolute;right:-4px;top:-6px;width:13px;height:13px;line-height:13px;border-radius:50%;background:#302312;color:#ffe4a5;font:bold 11px sans-serif;box-shadow:0 0 0 1px #f3c266}@media(max-width:600px){#capacity-panel{right:12px;bottom:12px;width:310px}.capacity-list{max-height:160px}#capacity-banner strong{font-size:13px}}

.zonehead .route-category{display:inline-flex;align-items:center;padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.3px}.zonehead .route-local{background:#c1e4d0;color:#194930}.zonehead .route-linehaul{background:#c4d9f5;color:#203f70}

.dispatch-toggle{display:flex;align-items:center;gap:7px;margin:0;padding:7px 9px;border:1px solid var(--input-line);border-radius:4px;color:var(--text);font-size:12px;cursor:pointer;flex-wrap:wrap}.tools .dispatch-toggle input{width:16px;height:16px;margin:0;padding:0;accent-color:#26805b}.dispatch-toggle small{font-size:10px;color:var(--muted)}.carrier-head .dispatch-ready{display:inline-block;padding:4px 5px;background:#c1e4d0;color:#194930;border:1px solid #78ae90;border-radius:3px;font-size:10px;font-weight:700;line-height:1.4}

.transferred-seat{position:relative}.transfer-mark{position:absolute;top:-7px;right:-5px;border:1px solid #eee;border-radius:2px;background:#51458d;color:white;font:bold 9px sans-serif;padding:1px 2px}.transfer-note{color:#a59beb;font-weight:700}.transfer-form{display:grid;gap:10px;max-width:400px;margin-top:12px}.transfer-form label{font-size:12px}.transfer-form input{display:block;width:100%;min-width:0;margin-top:4px}.transfer-form p{font-size:12px;margin:0}.transfer-error{color:var(--warning)}
