/* LTW dispatch desk — map, cargo and the selected truck share one workspace. */
.regional-panel .tabs:has([data-citytab="depot"]) [data-citytab="depot"]{order:-1}
.hub-stock-status{font-size:11px;color:var(--muted);line-height:1.5}.hub-stock-status p{margin:6px 0}.hub-collect-action{margin:12px 0}
.world-city.network-locked>span{background:#273f4f;color:#bdc9cf;border-color:#637683;box-shadow:none}
.world-city.network-locked>i{background:#687d88;border-color:#b0bdc2}
.world-city.network-frontier>span{border:2px dashed #e7cc89}
.world-city.network-locked.selected>span{border:2px solid #f4cb79;color:#fff}
.network-lock-card{padding:24px 10px;text-align:center;line-height:1.6;color:var(--muted)}
.network-lock-card>span{font-size:42px;color:var(--midnight-amber)}
.network-lock-card h3{font-size:20px;color:var(--ink)}
.network-lock-card button{margin-top:22px}
.map-shell:has(.network-locked-panel) .map-route-summary{display:none}
.hub-purchase-hint,.network-frontier-hint{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0 10px}
.network-frontier-hint{color:var(--midnight-amber)}
.network-progress-banner{position:absolute;z-index:450;top:132px;left:14px;padding:8px 12px;max-width:230px;border:1px solid #688a91;border-radius:10px;background:#112d3de8;pointer-events:none;font-size:11px;color:#c0d3dc}
.network-progress-banner b,.network-progress-banner span{display:block}
.network-progress-banner b{color:#f7d084;margin-bottom:3px}
@media(max-width:599px){.network-progress-banner{top:116px;left:8px;max-width:185px;font-size:10px;padding:6px 8px}.network-progress-banner span{max-width:170px}}
.dispatch-fleet .fleet-empty{padding:16px;max-width:360px;font-size:12px;color:var(--muted);line-height:1.5}
.dispatch-fleet .fleet-scope>.soft{font-size:10px;min-height:28px;padding:4px 7px}
@media(max-width:599px),(orientation:portrait) and (max-width:900px),(max-width:1000px) and (max-height:600px){
 body.ltw-immersive .map-shell:not(.map-expanded) .panel .tabs:has([data-action="buy-depot"]){display:flex}
 body.ltw-immersive .map-shell:not(.map-expanded) .panel .tabs:has([data-action="buy-depot"]) [data-citytab]{display:none}
 body.ltw-immersive .map-shell:not(.map-expanded) .panel .tabs [data-action="buy-depot"]{width:100%;font-size:13px;min-height:40px}
 .workspace:not([data-pane="map"]) .network-progress-banner{display:none}
}
.ltw-immersive .dispatch-cargo{gap:8px;padding:10px}
.ltw-immersive .dispatch-cargo .city-head{min-height:44px;gap:9px}
.ltw-immersive .dispatch-cargo .city-preview{width:56px;height:40px;flex:none}
.ltw-immersive .dispatch-cargo .city-heading h2{font-size:21px}
.ltw-immersive .dispatch-cargo .city-heading p{font-size:11px;margin:2px 0}
.ltw-immersive .dispatch-cargo .cargo-heading{margin:0 0 5px;align-items:center}
.ltw-immersive .dispatch-cargo .cargo-heading h3{font-size:13px;margin:0}
.ltw-immersive .dispatch-cargo .cargo-heading small{font-size:10px}
.dispatch-cargo-tools{margin:0 0 8px;border:1px solid var(--line);border-radius:8px;background:#122a3b}
.dispatch-cargo-tools>summary{min-height:32px;padding:7px 9px;font-size:12px;color:var(--muted);cursor:pointer}
.dispatch-cargo-tools>.ui-disclosure-body{display:block;padding:8px}
.dispatch-cargo-tools>.ui-disclosure-body>*+*{margin-top:8px}
.dispatch-cargo-tools .market-actions{flex-wrap:wrap}
.dispatch-cargo .cargo-filter{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:12px}.dispatch-cargo .cargo-filter select{flex:1;min-width:0;min-height:38px}
.dispatch-cargo .cargo-list-choice{padding:4px 0 8px;margin:0;font-size:11px}.dispatch-cargo .cargo-heading{margin-top:10px}
.simple-collection-manifest{display:grid;gap:8px;padding:10px!important;background:#153041;border-top:1px solid #527785;flex-shrink:0}
.simple-collection-manifest .collection-options{margin:0;border:0;padding:0}.collection-options>summary{cursor:pointer;font-size:12px;font-weight:700;line-height:1.6;color:#e0edf2}.collection-options>summary>span{color:#83d7d4;font-size:11px;font-weight:400}
.collection-options>div{display:grid;gap:8px;padding:10px 0}.collection-options label{font-size:11px;display:grid;gap:4px}.collection-options select{width:100%;min-width:0;min-height:38px}
.simple-collection-manifest .selection-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:0;background:transparent;font-size:12px}.simple-collection-manifest .selection-summary[hidden]{display:none}.simple-collection-manifest .selection-summary span{font-size:11px;color:#b5cbd6}
.simple-collection-preview p{font-size:12px;line-height:1.4;margin:0}.collection-quote{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#b5cbd6}.collection-quote b{display:block;color:#eef5f8;font-size:13px;margin-top:3px}
.simple-collection-manifest .primary{min-height:44px;margin:0}.collection-onward-note{font-size:10px;color:#b5cbd6;text-align:center;line-height:1.4}
.collection-options[open]{max-height:210px;overflow:auto}
.collection-quote{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.collection-quote b{font-size:12px}
.map-run-selection{margin-top:8px;border-top:1px solid #486674;padding-top:7px;font-size:11px}.map-run-selection>div:first-child{display:flex;justify-content:space-between;gap:8px}.map-run-selection>div:first-child>span{color:#b7ced8;font-size:10px}
.map-run-stops{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0;max-height:68px;overflow:auto}.map-run-stops>button{border:1px solid #547c87;border-radius:5px;background:#204654;color:#b6ebe7;padding:5px 7px;min-height:28px;font-size:11px;line-height:1.2}
.map-run-selection>small{display:block;font-size:10px;line-height:1.4;color:#b7ced8}.map-run-rejection{margin:6px 0!important;font-size:11px!important}
/* Each hub vehicle keeps its own live dashboard. */
body.ltw-immersive .workspace .dispatch-fleet .fleet-cards .vehicle-card:not(.next-vehicle){flex-basis:216px;min-width:200px;max-width:240px;height:auto;min-height:212px;justify-content:flex-start;padding:9px 11px;gap:6px;text-align:left}
.dispatch-fleet .vehicle-selection-label{font-size:10px;color:#b3cbd4;align-self:flex-start;line-height:1.4}.dispatch-fleet .vehicle-card.selected .vehicle-selection-label{color:#ffdb8d;font-weight:700}
body.ltw-immersive .dispatch-fleet .vehicle-card.selected{border:2px solid #f1c877;background:linear-gradient(145deg,#2f5962,#1b394b);box-shadow:inset 0 0 0 1px #f3d99c30}
.hub-vehicle-meters{display:grid;gap:7px;width:100%}.hub-vehicle-meter>div{display:flex;justify-content:space-between;gap:7px;font-size:10px;line-height:1.4}.hub-vehicle-meter b{font-size:11px;color:#edf5f7}.hub-vehicle-meter>small{font-size:9px;color:#b6ced8;display:block;margin-top:2px}
.hub-vehicle-meter progress{display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;margin:3px 0 0;accent-color:#79d9cf}.hub-vehicle-meter progress::-webkit-progress-bar{background:#0d2737}.hub-vehicle-meter progress::-webkit-progress-value{background:#79d9cf}
.hub-vehicle-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;border-top:1px solid #4f7180;padding-top:8px}.hub-vehicle-actions>b{margin-right:auto;font-size:12px;color:#f7da9a}.hub-vehicle-actions>button{min-height:36px;padding:7px 10px;font-size:11px}.hub-vehicle-care-note{font-size:10px;color:#adc7d1}
body.ltw-immersive .workspace .dispatch-fleet .fleet-cards .next-vehicle{height:auto;min-height:212px;max-height:none;align-self:stretch;justify-content:center}
.dispatch-hub-usage{display:flex;flex-wrap:wrap;gap:3px 9px;margin:5px 0 7px;font-size:10px;color:var(--muted)}
.dispatch-hub-usage b{color:var(--ink)}
.ltw-immersive .dispatch-cargo .cargo-card-header{display:block;padding:0}
.ltw-immersive .dispatch-cargo .cargo-unit-row .job{padding:8px;min-height:54px;grid-template-columns:34px minmax(0,1fr) 24px}
.ltw-immersive .dispatch-cargo .cargo-unit-row .job img{height:34px;width:34px}
.dispatch-cargo .cargo-unit-row .jobtext>small:not(.dispatch-next-stop){display:none}
.dispatch-cargo .cargo-unit-row:is([data-cargo-status="loading"],[data-cargo-status="quarantine"]) .jobtext>small{display:block;color:var(--midnight-amber)}
.ltw-immersive .dispatch-cargo .cargo-unit-row .jobtext>.dispatch-next-stop{display:block;font-size:10px;color:var(--midnight-cyan)}
.dispatch-cargo .cargo-body{padding:4px 9px 6px}
.dispatch-cargo .cargo-available{font-size:11px;flex-wrap:wrap;gap:3px}
.dispatch-cargo .cargo-available .pay{font-size:13px;color:var(--midnight-amber)}
.cargo-reward{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;line-height:1.25}
.cargo-reward>.pay{display:flex;align-items:center;gap:5px;white-space:nowrap}
.cargo-reward>small{font-size:9px;font-weight:400;color:var(--muted)}
.shipment-pay .cargo-reward>.pay{font-size:11px}
.dispatch-cargo .unit-picker{margin:4px 0;gap:6px;font-size:11px}
.dispatch-cargo .unit-stepper{grid-template-columns:32px 44px 32px}
.dispatch-cargo .unit-stepper button,.dispatch-cargo .unit-stepper input{min-height:32px;height:32px;padding:2px;font-size:13px}
.dispatch-cargo .cargo-selection{font-size:10px;margin:3px 0}
.dispatch-cargo .cargo-unit-row:not(:has(.job.checked)) .cargo-selection{display:none}
.dispatch-cargo .shipment-details>summary{min-height:24px;padding:3px 0;font-size:10px;color:var(--muted)}
.dispatch-cargo .cargo-requirements{font-size:11px;line-height:1.4}
.dispatch-cargo .special-reward{font-size:11px;margin:4px 0}
.ltw-immersive .dispatch-run-dock{padding:9px;margin:0;flex:none;background:#102737;border:1px solid #668277;border-radius:10px;overflow:visible}
.dispatch-route-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px}
.dispatch-route-heading>span{font-size:11px;color:var(--midnight-cyan);white-space:nowrap}
.dispatch-route-cities{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dispatch-route-money{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10px;color:var(--muted)}
.dispatch-route-money b{color:var(--midnight-amber);font-size:12px}
.dispatch-route-message{margin:0;font-size:12px;line-height:1.4}
.dispatch-route-message b,.dispatch-route-message span{display:block}
.dispatch-route-message span{font-size:11px;color:var(--muted);margin-top:3px}
.dispatch-route-actions{display:flex;gap:8px;align-items:center;margin-top:9px}
.dispatch-route-actions>.primary{flex:1;width:auto;min-width:0;min-height:42px;font-size:13px;padding:6px 9px}
.dispatch-load-options{position:static;flex:0 0 auto}
.dispatch-load-options>summary{font-size:10px;max-width:82px;padding:7px 4px;cursor:pointer}
.dispatch-load-options>.load-options-body{max-height:min(55dvh,440px);overflow:auto}
.dispatch-secondary-route{padding-top:8px;margin-top:8px;border-top:1px solid var(--line)}
.dispatch-secondary-route .dispatch-route-cities,.dispatch-secondary-route .dispatch-route-money{display:none}
.dispatch-secondary-route button{min-height:34px;margin-top:6px;font-size:12px}
.ltw-immersive .dispatch-local-collection{padding:8px;margin:0}
.dispatch-local-collection>.hint{margin:5px 0 0;font-size:10px}
.dispatch-local-collection .selection-summary{margin-bottom:6px;font-size:12px}
.dispatch-local-collection .selection-summary>span{font-size:10px}

/* Hub vehicles own their individual load, fuel and condition readings. */
body.ltw-immersive .workspace .dispatch-fleet{display:flex;flex-direction:column;gap:6px;padding:9px;height:auto!important;width:100%!important;max-height:none;overflow:auto}
.dispatch-fleet .fleet-scope{padding:0;gap:8px;min-height:26px}
.dispatch-fleet .fleet-scope>b{font-size:12px}
.dispatch-fleet .fleet-scope label{font-size:10px}
.dispatch-fleet .fleet-scope select{min-height:28px;padding:2px 5px;font-size:11px;max-width:140px}
body.ltw-immersive .workspace .dispatch-fleet .fleet-cards{display:flex;flex:none;min-height:0;height:auto;gap:7px;padding:0 0 3px;overflow-x:auto;scroll-snap-type:x proximity}
body.ltw-immersive .dispatch-fleet .fleet-cards .vehicle-card{display:flex;flex-direction:column;justify-content:center;flex:0 0 192px;min-width:192px;max-width:192px;min-height:72px;height:72px;padding:5px 8px;gap:2px;overflow:hidden;scroll-snap-align:start}
body.ltw-immersive .dispatch-fleet .vehicle-overview{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:0}
body.ltw-immersive .dispatch-fleet .vehicle-image{width:60px;height:32px;min-height:0}
body.ltw-immersive .dispatch-fleet .vehicle-image img{height:100%;width:100%;object-fit:contain}
body.ltw-immersive .dispatch-fleet .vehicle-name{padding:0;min-width:0;display:block}
body.ltw-immersive .dispatch-fleet .vehicle-name>b{display:block;font-size:12px;line-height:1.2;white-space:normal}
.dispatch-fleet .vehicle-name>.tier,.dispatch-fleet .vehicle-name>small{display:none}
body.ltw-immersive .dispatch-fleet .vehicle-status{font-size:10px;padding:0;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
body.ltw-immersive .dispatch-fleet .vehicle-timer{display:flex;gap:5px;font-size:10px;margin:0}
.dispatch-fleet .vehicle-timer>[data-trip-label]{display:none}
body.ltw-immersive .dispatch-fleet .fleet-cards .next-vehicle{flex-basis:108px;min-width:108px;max-width:108px;border-style:dashed}
body.ltw-immersive .dispatch-fleet .next-vehicle .vehicle-name>b{font-size:12px}
.dispatch-fleet .next-vehicle>span{font-size:9px}
.dispatch-vehicle-summary{display:flex;align-items:center;gap:10px;min-width:0;border-top:1px solid var(--line);padding-top:6px}
.dispatch-vehicle-summary .vehicle-load-mini{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:0;background:none;border:0;height:auto}
.dispatch-vehicle-summary .vehicle-load-mini .mini-load-label,.dispatch-vehicle-summary .vehicle-load-mini>.slot-diagram{display:none}
.dispatch-vehicle-summary .vehicle-load-mini>b{font-size:12px;white-space:nowrap}
.dispatch-vehicle-summary .vehicle-load-mini>small{font-size:10px;white-space:nowrap}
.dispatch-vehicle-summary .vehicle-health{display:flex;flex:none;width:auto;gap:10px;padding:0;margin:0;font-size:10px}
.dispatch-vehicle-summary .vehicle-metric{min-width:0}
.dispatch-vehicle-summary .vehicle-metric small{display:none}
.dispatch-vehicle-summary .vehicle-metric.warning small{display:block}
.dispatch-vehicle-summary .vehicle-health progress{display:none}
.dispatch-vehicle-summary>button{min-height:30px;font-size:10px;padding:3px 7px}
.dispatch-leg-summary{font-size:10px;color:var(--muted);line-height:1.3}

@media(min-width:1001px) and (min-height:601px),(min-width:901px) and (orientation:portrait){
 body.ltw-immersive .map-shell:not(.map-expanded){--iw-header:64px;--iw-nav:68px}
 body.ltw-immersive .map-shell:not(.map-expanded) .workspace .dispatch-fleet{width:min(var(--hub-dock-width,600px),calc(100% - clamp(320px,28vw,400px) - 42px))!important;max-height:calc(100% - 145px)}
 body.ltw-immersive .map-shell:not(.map-expanded) .workspace{grid-template-columns:minmax(0,1fr) calc(clamp(320px,28vw,400px) + 14px)}
 body.ltw-immersive .map-shell:not(.map-expanded) .workspace>.dispatch-cargo{width:auto;padding:10px;overflow:hidden}
 body.ltw-immersive .map-shell:not(.map-expanded) .dispatch-cargo .city-head{min-height:44px}
 body.ltw-immersive .map-shell:not(.map-expanded) .dispatch-cargo .city-preview{height:40px}
 body.ltw-immersive .map-shell:not(.map-expanded) .atlas-toolbar{right:calc(clamp(320px,28vw,400px) + 28px)}
 body.ltw-immersive .map-shell:not(.map-expanded) .map-controls{max-width:calc(100% - clamp(320px,28vw,400px) - 42px)}
 .map-shell:not(.map-expanded):has(.dispatch-cargo) .map-route-summary{display:none}
 .map-shell .iw-nav-art{height:28px}
}
@media(max-width:599px),(orientation:portrait) and (max-width:900px),(max-width:1000px) and (max-height:600px){
 body.ltw-immersive .map-shell:not(.map-expanded) .workspace:not([data-pane="trucks"]) .dispatch-fleet{display:none}
 body.ltw-immersive .workspace[data-pane="trucks"] .dispatch-fleet{width:100%!important;height:100%!important;max-height:none;justify-content:flex-start;padding:10px}
 body.ltw-immersive .workspace[data-pane="trucks"] .dispatch-fleet .fleet-cards{flex-wrap:wrap;overflow:visible}
 body.ltw-immersive .workspace[data-pane="trucks"] .dispatch-fleet .vehicle-card{flex:1 1 160px;min-width:140px;max-width:none;height:80px;min-height:80px}
 .dispatch-vehicle-summary{flex-wrap:wrap;gap:6px 10px}
 .dispatch-vehicle-summary .vehicle-load-mini{flex-basis:45%}
 .ltw-immersive .dispatch-cargo .city-panel-rig{margin:0 0 6px;font-size:11px;gap:6px}
 .ltw-immersive .dispatch-cargo .city-panel-rig select{min-height:34px;padding:4px;font-size:12px}
 .ltw-immersive .dispatch-cargo .city-head{min-height:40px}
 .dispatch-cargo .unit-stepper{grid-template-columns:36px 44px 36px}
 .dispatch-cargo .unit-stepper button,.dispatch-cargo .unit-stepper input{min-height:36px;height:36px}
}
.map-expanded .dispatch-fleet{display:none!important}
@media(max-width:599px),(orientation:portrait) and (max-width:900px),(max-width:1000px) and (max-height:600px){
 body.ltw-immersive .workspace[data-pane="trucks"] .dispatch-fleet .fleet-cards .vehicle-card:not(.next-vehicle){flex:1 1 160px;min-width:150px;max-width:none;height:auto;min-height:212px}
 body.ltw-immersive .workspace[data-pane="trucks"] .dispatch-fleet .fleet-cards .next-vehicle{flex:1 1 100%;min-width:0;max-width:none;min-height:72px;height:72px;flex-direction:row;gap:10px}
}
.map-expanded.city-panel-open:has(.dispatch-cargo) .map-route-summary{display:none}
/* Keep the chosen vehicle in sight when browsing cargo away from its hub. */
.ltw-immersive .selected-vehicle-beacon{display:grid;grid-template-columns:68px minmax(0,1fr);gap:5px 9px;align-items:center;width:270px;max-width:calc(100% - 24px);padding:10px 12px;border:1px solid #f4cb79;border-radius:12px;background:#183546f5;box-shadow:0 4px 16px #091e3040;color:var(--ink);text-align:left;font-size:12px;line-height:1.3}
.ltw-immersive .selected-vehicle-beacon:hover{background:#25495a}
.selected-vehicle-art{display:flex;align-items:center;justify-content:center;height:46px;width:68px}
.selected-vehicle-art img{object-fit:contain;width:100%;height:100%}
.selected-vehicle-art .rig-art-pair{width:100%;height:100%;display:flex;align-items:center}.selected-vehicle-art .rig-art-pair img{width:50%}
.selected-vehicle-identity{display:grid;gap:3px;min-width:0}.selected-vehicle-identity>small{font-size:10px;color:#f4cb79}.selected-vehicle-identity>b{font-size:14px}.selected-vehicle-identity>span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-vehicle-readings{display:grid;grid-column:1 / -1;gap:4px;width:100%;font-size:10px}
.selected-vehicle-room,.selected-vehicle-readings>small{display:flex;justify-content:space-between;gap:8px}.selected-vehicle-room>span{font-size:9px;color:var(--muted);text-align:right}.selected-vehicle-readings>small{font-size:10px;color:var(--muted)}
.selected-vehicle-readings progress{appearance:none;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;background:#0c2636}
.selected-vehicle-readings progress::-webkit-progress-bar{background:#0c2636}.selected-vehicle-readings progress::-webkit-progress-value{background:#72d3d0}.selected-vehicle-readings progress::-moz-progress-bar{background:#72d3d0}
.ltw-immersive .selected-vehicle-map{position:absolute;z-index:450;left:14px;bottom:14px}
.ltw-immersive .selected-vehicle-panel{display:none}
.map-expanded.city-panel-open[data-panel-side="left"] .selected-vehicle-map{left:auto;right:14px}
@media(max-width:599px),(orientation:portrait) and (max-width:900px),(max-width:1000px) and (max-height:600px){
 .ltw-immersive .selected-vehicle-panel{display:grid;width:100%;max-width:none;flex:none;padding:7px 10px;grid-template-columns:50px minmax(0,1fr);gap:3px 8px}
 .selected-vehicle-panel .selected-vehicle-art{width:50px;height:35px}.selected-vehicle-panel .selected-vehicle-identity>span{display:none}
 .selected-vehicle-panel .selected-vehicle-readings>small{display:none}
 .map-expanded.city-panel-open .selected-vehicle-map{display:none}
 .ltw-immersive .selected-vehicle-map{bottom:9px;left:9px}
}
/* Colour belongs to owned hub labels; selection remains a separate gold ring. */
.world-city.owned-hub{transform:translate(-50%,-11px)}
.world-city.owned-hub>i{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;border:1px solid #f4cf84;background:#183546;color:#ffe2a1;box-shadow:0 1px 4px #143c4777}
.world-city.owned-hub>i>svg{width:18px;height:18px}
.world-city.owned-hub>span{font-weight:400}
.world-city.owned-hub.selected>i{background:#f4cf84;color:#173448}
.world-city.hub-coloured>span{background:var(--hub-label-colour);color:var(--hub-label-text);border-color:var(--hub-label-text)}
.world-city.hub-coloured>span>small{color:inherit}
.world-city.hub-coloured.selected>span{border:2px solid #ffe2a1;box-shadow:0 0 0 2px #a87522,0 3px 8px #10253580}
.ltw-immersive .city-head>.hub-label-edit{display:flex;flex:none;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:7px;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:#173245}
.hub-label-edit>span{width:18px;height:18px;background:var(--swatch);border:2px solid #ffffffb3;border-radius:50%}
.hub-label-preview{text-align:center;padding:14px}.hub-label-preview>span{display:inline-block;padding:8px 16px;border-radius:8px;border:2px solid #ffe2a1;box-shadow:0 0 0 2px #a87522;font-weight:700}
.hub-colour-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.hub-colour-presets button{min-height:44px;background:var(--swatch);border:2px solid transparent;font-size:12px}.hub-colour-presets button[aria-pressed="true"]{outline:2px solid #ffe2a1;outline-offset:2px;border-color:#173245}
.hub-custom-colour{display:flex;justify-content:space-between;gap:12px;align-items:center}.hub-custom-colour input{height:44px;width:90px;padding:4px;cursor:pointer}
@media(max-height:450px){
 .ltw-immersive .dispatch-cargo{gap:4px;padding:5px 8px}
 .ltw-immersive .dispatch-cargo .city-head{display:none}
 .ltw-immersive .dispatch-run-dock{padding:5px 8px}
 .dispatch-route-cities{display:none}
 .dispatch-route-actions{margin-top:5px}
 .dispatch-route-actions>.primary{min-height:32px}
 .dispatch-route-money{font-size:9px;gap:8px}
 .dispatch-route-message span{display:none}
 .dispatch-local-collection>.hint{display:none}
 .dispatch-secondary-route{padding-top:4px;margin-top:4px}
 .dispatch-secondary-route .dispatch-route-heading{display:none}
}
