/* Parcel Pines: readable dispatch, equipment and crew controls. */
.map-viewport{cursor:grab;touch-action:none;user-select:none}
.map-viewport.dragging,.map-viewport.dragging *{cursor:grabbing!important}
#world-map .town-node,#world-map .map-truck{outline:none}
.selection-halo{fill:#ffd67920;stroke:#e5b759;stroke-width:2;opacity:0;pointer-events:none}
.town-node.selected .selection-halo,.town-node:focus-visible .selection-halo{opacity:1;animation:location-glow 2.4s ease-in-out infinite}
.town-node:focus-visible .selection-halo{stroke:#fff8cb;stroke-width:4;stroke-dasharray:4 3}
.map-truck:focus-visible .truck-chip rect{stroke:#ffe3a2;stroke-width:4}
.road path,.route-path,.route-outline,.selection-halo{vector-effect:non-scaling-stroke}
.road.road path.road-line{stroke-width:3}
.road path.road-shadow{stroke-width:5}
.route-outline{stroke-width:7}.route-path{stroke-width:4}
.town-name{font-size:15px!important;stroke-width:4px;paint-order:stroke;stroke:#fff5d8}
@keyframes location-glow{0%,100%{stroke-opacity:.75;fill-opacity:.25}50%{stroke-opacity:1;fill-opacity:.7}}
.button[data-action="hire-dialog"],.button[data-action="garage-buy"]{font-weight:800;min-height:39px;padding:8px 15px;border:2px solid #496c45;box-shadow:0 3px 0 #1c4032,0 4px 9px #193b3020;background:linear-gradient(#4c7654,#2b543e);color:#fff8df}
.button[data-action="garage-buy"]{border-color:#b38a42;box-shadow:0 3px 0 #997133,0 4px 9px #193b3020;background:linear-gradient(#f5dda7,#e7c477);color:#36543b}
.fleet-card .status-pill{font-size:13px;font-weight:800;padding:6px 10px;line-height:1.2;white-space:normal;text-align:center}
.fleet-card [data-timer]{font-weight:800;font-size:16px;color:#285a43}
.crew-state{font-size:12px!important;padding:6px 8px!important;font-weight:800}
.driver-roster-card{border:1px solid #becba8;background:#f6f4e6;border-radius:12px;padding:5px;display:flex;flex-direction:column;gap:4px;min-height:0}
.driver-roster-card .crew-person{border:0;box-shadow:none;min-height:55px;padding:5px;flex:1}
.driver-roster-card>.button{min-height:27px;font-size:11px;padding:4px 8px;background:#e9d7a7;color:#36543b;border-color:#c1a36d}
.assigned-truck small{font-size:14px!important;color:#31573e!important;font-weight:700}
body[data-view="map"] .fleet-status>b{font-size:17px;line-height:1.15}
body[data-view="map"] .fleet-peek small{font-size:11px;line-height:1.25;color:#4b6849}
body[data-view="map"] .fleet-peek b{font-size:13px}
body[data-view="map"] .fleet-floating-title{gap:6px;flex-wrap:wrap}
body[data-view="map"] .fleet-attention-link{color:#906828;font-size:10px}
.job-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.job-list-heading label{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:10px}
.job-list-heading select{min-height:26px;padding:3px 23px 3px 7px;font-size:10px;max-width:130px;background-color:#edf0db}
body[data-view="map"] #dispatch-panel .offer-yield{display:block;font-size:10px;color:#436c43;font-weight:800;max-width:none;white-space:nowrap}
.showroom-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:18px}
.vehicle-catalog{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
.vehicle-option{text-align:left;display:flex;flex-direction:column;justify-content:center;min-height:0;gap:5px;background:#f3f1df;border:2px solid #c2cfac;border-radius:15px;padding:12px;box-shadow:0 3px 0 #c9d1b6;color:#31553f;overflow:hidden}
.vehicle-option.selected{background:#edf0d8;border-color:#557849;box-shadow:inset 4px 0 #557849,0 3px 0 #557849}
.vehicle-option .truck-art{height:clamp(75px,14dvh,145px);width:100%;flex:1;min-height:65px}
.vehicle-option>div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}
.vehicle-option strong{color:#8b6736;white-space:nowrap;font-size:13px}
.vehicle-option>span{font-size:11px}.vehicle-option>small{font-size:10px;color:#6d7c5e;line-height:1.4}
.showroom-order{border:1px solid #bcc8a8;border-top:5px solid #526f47;border-radius:15px;padding:18px;background:#fffaf0;display:flex;flex-direction:column;gap:12px;min-height:0;position:relative}
.showroom-order h2{font-size:25px;margin:0}.showroom-order p{font-size:12px;line-height:1.5;margin:0}.showroom-order>.button{flex:none}
.showroom-order>.purchase-total{margin-top:auto;flex:none}.showroom-order>.purchase-total strong{font-size:26px;color:#3c734f}
.showroom-order>small{font-size:10px;color:#718164;line-height:1.5}.showroom-order .staff-hint{background:#eff0df;padding:8px;border-radius:9px}
.choice-picker{position:relative;background:#f2f1df;border:1px solid #bec9a6;border-radius:10px;flex:none}
.choice-picker summary{cursor:pointer;padding:10px 13px;list-style:none;display:flex;flex-direction:column;gap:4px}
.choice-picker summary:after{content:'⌄';position:absolute;right:12px;top:16px;color:#9b783b}.choice-picker summary::-webkit-details-marker{display:none}
.choice-picker summary span{font-size:10px;color:#7c865f;text-transform:uppercase;letter-spacing:.8px}.choice-picker summary b{font-size:12px;padding-right:20px}
.choice-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fffaf0;border:2px solid #a8bb8e;border-radius:10px;padding:5px;z-index:12;max-height:210px;overflow:auto;box-shadow:0 9px 25px #23412e35;display:flex;flex-direction:column;gap:3px}
.choice-options button{text-align:left;color:#31553f;border:0;background:#f0f0df;padding:8px;border-radius:6px;font-size:12px}.choice-options button.selected{background:#dce5c5;font-weight:800}
.parts-workshop{grid-template-columns:220px minmax(0,1fr)!important;gap:18px}
.parts-workshop .showcase{padding:15px}.parts-workshop .showcase>.truck-art{max-height:170px}.parts-workshop .showcase h2{font-size:22px}
.compact-parts{grid-template-columns:repeat(var(--part-cols,3),minmax(0,1fr))!important;gap:10px!important;grid-auto-rows:minmax(0,1fr)}
.compact-parts .upgrade-card{padding:9px!important;min-height:0;gap:4px;display:flex;flex-direction:column}
.compact-parts .upgrade-card .part-render{height:clamp(44px,9dvh,78px);width:100%;margin:0;flex:none}
.compact-parts .upgrade-card h3{font-size:13px!important;line-height:1.2;margin:0;min-height:30px}
.compact-parts .upgrade-card p{font-size:11px!important;line-height:1.35;min-height:29px;margin:0}
.compact-parts .upgrade-card>div{margin-top:auto;gap:5px;align-items:center;display:flex;justify-content:space-between}
.compact-parts .upgrade-card .button{font-size:11px;min-height:27px;padding:5px 9px}.compact-parts .upgrade-card small{font-size:9px;line-height:1.3}
.unlock-checklist{display:flex;flex-direction:column;gap:9px;text-align:left;max-width:500px;margin:5px auto}
.unlock-checklist>span{display:flex;flex-direction:column;gap:4px;background:#f1efdf;border:1px solid #c8ceb0;border-left:4px solid #c49c52;border-radius:9px;padding:9px 13px;font-size:13px}
.unlock-checklist>span.complete{border-left-color:#547c4e;background:#eaf0dc}.unlock-checklist b{font-size:12px;color:#59754b}
.queue-locked{gap:9px!important}.queue-locked>.truck-art{max-height:125px}.queue-locked h2{font-size:24px;margin:0}.queue-locked p{margin:0;line-height:1.45}
.queue-explainer{display:flex;gap:15px;align-items:center;flex:none;background:#e8edda;border:1px solid #c3d0ac;border-radius:10px;padding:9px 14px;font-size:12px;color:#486a43}
.queue-explainer b{white-space:nowrap;color:#8c6938}.queue-current{padding:12px!important}.queue-current p{margin:5px 0 0!important;font-size:13px!important}
.collection-step{display:flex;gap:10px;align-items:center;background:#f8eed4;border:1px solid #dec590;padding:10px;border-radius:10px;color:#7e6332;flex:none}
.collection-step>div{display:flex;flex-direction:column;gap:4px}.collection-step b{font-size:13px}.collection-step span,.collection-step small{font-size:10px}
.queue-steps article{min-height:67px;padding:10px!important}.queue-steps article strong{font-size:13px!important}.queue-steps article small{display:block;font-size:10px;color:#6a7f5b;line-height:1.4}
.queue-empty{display:flex;flex-direction:column;gap:9px;font-size:13px}.queue-empty small{font-size:11px;line-height:1.5}
.queue-warning{display:flex;flex-direction:column;gap:6px;background:#f7ead1;border:1px solid #d4b77e;border-radius:9px;padding:10px;font-size:12px;line-height:1.4;flex:none}.queue-warning>.button{align-self:flex-start;min-height:27px;font-size:11px}
.queue-offer-cards article{padding:9px!important;gap:8px!important;min-height:0}.queue-offer-cards article>div{gap:4px}.queue-offer-cards small{font-size:10px!important}.queue-offer-cards .button{min-height:30px;font-size:11px;padding:5px 8px}
.staff-progress{display:block;line-height:1.5;color:#866630!important;font-size:12px!important;font-weight:700;background:#f2ecd7;border-radius:8px;padding:8px;margin-top:5px}.staff-progress.available{color:#477047!important;background:#eaf0da}
.office-card .progress{margin-top:8px}.office-card>.button{font-size:12px;min-height:31px}.office-card .button:last-child{margin-top:0}.office-card{gap:9px!important;padding:14px!important}
.outlook-summary{display:flex;flex-direction:column;gap:6px;border-top:1px solid #cfdbc0;padding-top:12px;margin-top:12px;font-size:12px}.outlook-summary span{font-size:11px;line-height:1.4}.outlook-summary .button{align-self:flex-start;min-height:29px;font-size:11px}
.outlook-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.outlook-stats>div{display:flex;flex-direction:column;gap:6px;background:#edf0dc;padding:13px;border-radius:10px}.outlook-stats b{font-size:23px;color:#447552}.outlook-stats span{font-size:11px}
.delivery-scene.vehicle-trail.scene-road .scene-vehicle{animation:trail-suspension 1.5s ease-in-out infinite}
.delivery-scene.vehicle-flatbed.scene-road .scene-vehicle{animation:flatbed-roll 2.6s ease-in-out infinite}
.scene-loading .scene-track,.scene-unloading .scene-track,.scene-boarding .scene-track{animation:none!important}
.scene-loading .scene-track i,.scene-unloading .scene-track i,.scene-boarding .scene-track i{animation:none!important}
.scene-loading .scene-vehicle,.scene-unloading .scene-vehicle,.scene-boarding .scene-vehicle{animation:none!important}
.scene-loading:after,.scene-unloading:after{content:'';position:absolute;left:8%;bottom:26%;width:23px;height:23px;border:2px solid #99743e;border-radius:3px;background:linear-gradient(90deg,#e6c47c 45%,#628252 45%,#628252 55%,#e6c47c 55%);animation:cargo-lift 2s ease-in-out infinite}
@keyframes trail-suspension{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-2px) rotate(.25deg)}}
@keyframes flatbed-roll{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes cargo-lift{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(-12px);opacity:1}}
@media(max-height:740px){.showroom-workspace{gap:12px}.showroom-order{padding:12px;gap:7px}.showroom-order h2{font-size:21px}.showroom-order p{font-size:11px}.choice-picker summary{padding:7px 10px;gap:3px}.showroom-order>small{font-size:9px}.vehicle-option{padding:8px;gap:4px}.vehicle-option>div{font-size:12px}.vehicle-option strong{font-size:11px}.vehicle-option>small{font-size:9px}.vehicle-option>span{font-size:9px}.parts-workshop{grid-template-columns:190px minmax(0,1fr)}.queue-explainer{padding:6px 9px;font-size:10px}.collection-step{padding:7px}.queue-current h3{font-size:20px}.queue-plan,.queue-offers{gap:7px!important}.queue-plan>.tiny{font-size:9px}.office-card{padding:10px!important;gap:6px!important}.office-card .driver-portrait{max-height:75px}.office-card p{font-size:11px!important}.staff-progress{font-size:10px!important;padding:6px}.outlook-summary{padding-top:7px;margin-top:7px;gap:5px}body[data-view="map"] .fleet-status>b{font-size:14px}body[data-view="map"] .fleet-peek small{font-size:10px}}
@media(max-width:1000px) and (min-width:721px){.showroom-workspace{grid-template-columns:1.3fr 1fr}.vehicle-catalog{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}.vehicle-option .truck-art{min-height:38px;max-height:65px}.vehicle-option>div{font-size:11px}.vehicle-option strong{font-size:10px}.vehicle-option small{display:none}.parts-workshop{grid-template-columns:175px minmax(0,1fr)!important}.crew-state{font-size:10px!important}}
@media(max-width:720px){.showroom-workspace{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-bottom:8px}.vehicle-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,130px);gap:6px;flex:none}.vehicle-option{padding:6px;gap:3px}.vehicle-option .truck-art{height:58px;min-height:38px}.vehicle-option>div{font-size:10px;display:block}.vehicle-option strong{font-size:10px;display:block;margin-top:3px}.vehicle-option>span{font-size:8px}.vehicle-option>small{display:none}.showroom-order{padding:10px;gap:8px;flex:none}.showroom-order h2{font-size:20px}.showroom-order .purchase-total{margin-top:0}.parts-workshop{grid-template-columns:1fr!important;gap:8px!important}.parts-workshop .showcase{padding:9px}.compact-parts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-parts .upgrade-card .part-render{height:65px}.compact-parts .upgrade-card h3{font-size:13px!important}.driver-roster-card>.button{min-height:24px;font-size:10px}.driver-roster-card .crew-person{min-height:42px}.crew-state{font-size:10px!important;padding:4px!important}.queue-explainer{display:block;padding:7px;font-size:10px}.queue-explainer span{display:block;margin-top:3px}.queue-locked>.truck-art{max-height:80px}.queue-locked h2{font-size:21px}.queue-locked p{font-size:12px}.unlock-checklist>span{font-size:11px;padding:7px 9px}.unlock-checklist b{font-size:10px}.queue-steps article small{font-size:9px}.queue-plan,.queue-offers{overflow:auto}.office-card .staff-progress{font-size:10px!important}.outlook-stats{grid-template-columns:1fr}.outlook-stats>div{flex-direction:row;align-items:center}.outlook-stats b{font-size:21px}body[data-view="map"] .fleet-attention-link{display:none}}
@media(prefers-reduced-motion:reduce){.selection-halo,.scene-loading:after,.scene-unloading:after,.delivery-scene .scene-vehicle{animation:none!important}}

.road.rough-road .road-line{stroke:#ceb17e;stroke-dasharray:5 3}
.journey-time-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.journey-time-breakdown span{background:#eaf0db;border-radius:7px;padding:7px;font-size:11px}.journey-time-breakdown b{display:block;margin-top:3px;color:#48724c}

.map-close .map-depot{opacity:1}

.showroom-catalog{display:flex;flex-direction:column;gap:6px;min-height:0}.showroom-catalog>.vehicle-catalog{flex:1}
.choice-options{max-height:var(--choice-max,210px)}.choice-picker.opens-above .choice-options{top:auto;bottom:calc(100% + 4px)}
.compact-parts{grid-template-rows:repeat(2,minmax(0,1fr))!important}
@media(max-height:620px) and (min-width:721px){.compact-parts .upgrade-card .part-render{height:40px}.compact-parts .upgrade-card h3{min-height:24px}.compact-parts .upgrade-card p{min-height:26px;font-size:10px!important}.compact-parts .upgrade-card{gap:3px}.queue-locked>.truck-art{max-height:60px}.queue-locked{gap:6px!important}.unlock-checklist{gap:5px}.unlock-checklist>span{padding:6px 10px;font-size:11px}.unlock-checklist b{font-size:10px}.showroom-order{gap:5px;padding:10px}.showroom-order p{font-size:10px}.showroom-order>small{font-size:8px}.showroom-order>.eyebrow{font-size:8px}.showroom-order .staff-hint{padding:6px}.choice-picker summary{padding:6px 9px}.choice-picker summary b{font-size:11px}}
@media(max-width:720px){.showroom-workspace{overflow:hidden;gap:7px}.showroom-catalog{flex:none}.vehicle-catalog{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:110px;flex:none!important}.vehicle-option .truck-art{height:47px;min-height:32px}.vehicle-option>div{display:flex;font-size:10px;gap:3px}.vehicle-option strong{font-size:10px;margin:0}.vehicle-option>span{font-size:8px}.showroom-catalog .pager{gap:12px}.showroom-catalog .pager .button{min-height:23px;padding:3px 8px}.showroom-order{flex:1;gap:5px;padding:9px;overflow:hidden}.showroom-order>.eyebrow,.showroom-order>small{display:none}.showroom-order h2{font-size:19px}.showroom-order p{font-size:10px;line-height:1.35}.showroom-order .staff-hint{padding:6px}.showroom-order .choice-picker summary{padding:6px 9px;gap:2px}.showroom-order .choice-picker summary span{font-size:8px}.showroom-order .choice-picker summary b{font-size:11px}.showroom-order .choice-picker summary:after{top:11px}.showroom-order>.purchase-total{margin-top:auto;gap:4px}.showroom-order>.purchase-total strong{font-size:23px}.showroom-order>.purchase-total span{font-size:10px}.showroom-order>.purchase-total small{font-size:9px}.showroom-order>.button{min-height:28px;padding:5px 9px;font-size:11px}.compact-parts{grid-template-rows:1fr!important}.queue-locked>.truck-art{max-height:55px}.queue-locked h2{font-size:19px}.queue-locked .unlock-checklist{gap:5px}.queue-locked .unlock-checklist>span{padding:6px 8px}.queue-locked>p.tiny{font-size:9px}.choice-options{position:fixed;left:20px;right:20px;top:auto;bottom:15px;max-height:45dvh}.choice-picker.opens-above .choice-options{top:auto;bottom:15px}}
@media(max-width:720px) and (max-height:680px){.vehicle-catalog{grid-template-rows:86px}.vehicle-option .truck-art{height:32px;min-height:25px}.vehicle-option>span{font-size:7px}.showroom-order{gap:4px}.showroom-order .staff-hint{font-size:9px;padding:5px}.showroom-order h2{font-size:17px}.showroom-order .choice-picker summary{padding:5px 8px}.queue-locked>p{font-size:10px}.queue-locked>.truck-art{max-height:40px}.queue-locked{gap:6px!important}.queue-locked h2{font-size:17px}}

.queue-offer-cards{grid-template-rows:repeat(var(--queue-offers,3),minmax(0,1fr))!important}
@media(max-height:620px){.office-card{gap:4px!important;padding:8px!important}.office-card>div{gap:3px}.office-card h3{font-size:18px}.office-card p{font-size:10px!important;line-height:1.3}.office-card .staff-progress{font-size:9px!important;padding:5px;margin-top:2px}.office-card .progress{margin-top:4px}.office-card>.button{min-height:25px;font-size:10px}.office-summary{gap:7px}.company-tools .button{font-size:10px;padding:6px 8px}}
@media(max-width:720px){.company-tools{display:flex;gap:5px}.company-tools .button{font-size:9px;padding:5px 7px}.queue-offer-cards article{flex-direction:column;align-items:stretch}.queue-offer-cards .button{width:100%}.queue-plan>.tiny{font-size:9px}.queue-plan .queue-current{padding:8px!important}.queue-plan .collection-step{padding:6px}.queue-plan .queue-current h3{font-size:19px}.office-card p{font-size:10px!important;line-height:1.3}.office-card .staff-progress{font-size:9px!important;padding:5px;margin-top:2px}.office-card .progress{margin-top:4px}}
@media(max-width:720px) and (max-height:680px){.office-card{gap:4px!important;padding:8px!important}.office-card>div{gap:3px}.office-card h3{font-size:18px}.office-card>.button{min-height:25px;font-size:10px}.queue-plan,.queue-offers{padding:9px!important}.queue-current h3{margin:2px 0}.queue-current p{font-size:11px!important}.queue-explainer{font-size:9px;padding:5px 7px}.queue-steps article{padding:7px!important;min-height:60px}.queue-steps article small{font-size:9px}.queue-plan>.tiny{font-size:8px}}

.queue-steps{flex:none}.queue-steps article{flex:none}.queue-plan>.pager{margin-top:auto}
@media(max-height:740px){.queue-current{padding:7px!important}.queue-current .eyebrow{font-size:7px}.queue-current h3{font-size:18px;margin:2px 0}.queue-current p{font-size:10px!important;margin:3px 0 0!important}.collection-step{padding:6px;gap:6px}.collection-step b{font-size:11px}.collection-step>div{gap:2px}.collection-step span,.collection-step small{font-size:9px}.queue-warning{padding:6px;gap:3px;font-size:10px}.queue-plan>.tiny{font-size:8px}.queue-plan .pager .button{min-height:24px;padding:4px 8px}.queue-plan,.queue-offers{padding:9px!important}.queue-steps article{min-height:60px}.queue-steps article strong{font-size:12px!important}}

.queue-journey{display:flex;flex-direction:column;gap:8px;flex:none}.queue-help{display:none;background:#e8edda;border:1px solid #c3d0ac;border-radius:7px;padding:5px 9px;min-height:24px;font-size:10px;color:#4b6944}
@media(max-height:740px),(max-width:720px){.queue-journey{display:grid;grid-template-columns:1fr 1.1fr;gap:6px}.queue-journey:not(:has(.collection-step)){grid-template-columns:1fr}.queue-journey .queue-current,.queue-journey .collection-step{margin:0;min-height:0;padding:6px!important}.queue-journey .queue-current .eyebrow{font-size:6px}.queue-journey .queue-current h3{font-size:17px}.queue-journey .queue-current p{font-size:9px!important;line-height:1.3}.queue-journey .collection-step>.icon{display:none}.queue-journey .collection-step b{font-size:10px}.queue-journey .collection-step span,.queue-journey .collection-step small{font-size:8px;line-height:1.3}.queue-plan>.tiny{display:none}.queue-help{display:block;flex:none}.queue-plan{gap:6px!important}.queue-plan>.pager{margin-top:auto}}

@media(max-height:740px){.queue-plan{gap:5px!important}}

/* Full vehicle frames, illustrated selectors and readable route information. */
.rendered-truck{overflow:hidden!important;min-width:0;max-width:100%;object-fit:contain;flex-shrink:1}
.fleet-card-body{flex:1;min-height:0;align-content:center}.fleet-card-details{flex-shrink:0;line-height:1.3}.fleet-card-actions{flex:none;position:relative}.fleet-mini-art{overflow:hidden}
.fleet-mini-art .rendered-truck{max-width:100%;height:100%;max-height:125px}
.truck-tab-selector{display:flex;flex-direction:column;gap:4px;min-width:0;flex:none}.truck-tab-selector>span{font-size:11px;font-weight:700;color:#496952}
.owned-truck-tabs{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;min-width:0;padding:3px 2px 7px;scrollbar-width:thin;scrollbar-color:#82976c #e9eddf}
.owned-truck-tab{flex:0 0 128px;min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:3px 6px;padding:6px 8px;border:1px solid #c2cdaa;border-radius:11px;background:#f7f4e6;color:#3f5f48;box-shadow:0 2px 0 #d3d9bd;text-align:left;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.owned-truck-tab>.truck-art,.owned-truck-tab>.unassigned-icon{width:48px;height:46px;grid-row:1/3}.owned-truck-tab b{font-size:11px;line-height:1.2;overflow-wrap:anywhere}.owned-truck-tab small{font-size:9px;color:#687b59}
.owned-truck-tab:hover{background:#f3e4be;border-color:#b88b3f;transform:translateY(-2px);box-shadow:0 4px 0 #d3bc84}.owned-truck-tab.selected{background:#e3ecd5;border:2px solid #547449;padding:5px 7px;box-shadow:inset 0 -3px #78945c,0 2px 0 #547449}.owned-truck-tab:focus-visible{outline:3px solid #ce9a45;outline-offset:1px}
.unassigned-icon{display:grid;place-items:center}.unassigned-icon .icon{width:28px;height:28px}
body[data-view="map"] .truck-tab-selector{max-width:100%}body[data-view="map"] .owned-truck-tab{flex-basis:92px;grid-template-columns:1fr;text-align:center;gap:1px;padding:4px 6px}body[data-view="map"] .owned-truck-tab>.truck-art{grid-row:auto;width:100%;height:34px}body[data-view="map"] .owned-truck-tab b{font-size:9px}body[data-view="map"] .owned-truck-tab small{display:none}body[data-view="map"] .owned-truck-tab.selected{padding:3px 5px}
body[data-view="map"] #fleet-strip{gap:7px}body[data-view="map"] .fleet-current{min-height:70px}
.driver-route{display:flex;flex-direction:column;gap:5px;line-height:1.3;min-width:0}.driver-route>b{font-size:15px;color:#315b43;overflow-wrap:anywhere}.driver-route>span{font-size:12px;color:#667953}.driver-route>strong{font-size:16px;color:#93662f}
.route-compact{padding:4px 8px 6px;gap:3px;flex:none}.route-compact>b{font-size:12px}.route-compact>span{font-size:10px}.route-compact>strong{font-size:12px}.driver-roster-card .crew-person{flex:none;min-height:54px}.driver-roster-card{justify-content:center}.crew-list{gap:7px}.crew-detail{justify-content:center;gap:10px}.crew-detail>.button[data-action="profile-open"]{align-self:flex-start;font-size:11px;min-height:28px;padding:5px 10px}
.player-portraits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:15px 0}.portrait-choice{display:flex;flex-direction:column;align-items:center;gap:5px;background:#f0efde;border:2px solid #d0d8bd;border-radius:12px;padding:7px;color:#496447;min-width:0}.portrait-choice .driver-portrait{width:100%;height:75px;max-width:80px;flex:none}.portrait-choice span{font-size:10px}.portrait-choice:hover{border-color:#c29142;background:#f5e4bd}.portrait-choice.selected{border-color:#55774d;background:#e3edd3;box-shadow:inset 0 0 0 2px #adbe8a}.portrait-choice:focus-visible{outline:3px solid #c29142;outline-offset:2px}
.parts-workshop .showcase{justify-content:center;min-width:0}.parts-workshop .showcase>.truck-art{width:100%;height:160px;max-width:100%;flex:none}
.compact-parts{align-self:start;height:min(100%,520px,calc((100vw - 310px) * .4));grid-template-rows:repeat(2,minmax(0,1fr))!important}
.compact-parts .upgrade-card{justify-content:flex-start;padding:10px!important;gap:5px}.compact-parts .upgrade-card .part-render{height:clamp(44px,7dvh,70px)}.compact-parts .upgrade-card h3{min-height:24px}.compact-parts .upgrade-card p{min-height:28px}.compact-parts .upgrade-card>div{margin-top:8px}.compact-parts .upgrade-card small{margin-top:0}
.requirement-blocked{opacity:1!important;background:#e8e8d8;color:#6a795e;border-style:dashed;border-color:#aebba0;cursor:help;display:flex;justify-content:center;align-items:center;gap:8px}.requirement-blocked .icon{height:15px;width:15px}.requirement-blocked:hover,.requirement-blocked:focus-visible{background:#f3e3bc;border-color:#b28846;color:#755725}
#requirement-tooltip{position:fixed;z-index:1000;max-width:min(350px,calc(100vw - 24px));padding:13px 16px;border:1px solid #c09b55;border-radius:12px;background:#fff7df;color:#425b3f;box-shadow:0 7px 24px #173d3945;font-size:14px;line-height:1.5;pointer-events:none}#requirement-tooltip[hidden]{display:none}
.depot-detail [data-action="visit-town"]{background:#315e48;color:#fff6df;border-color:#264c3a}.depot-detail [data-action="visit-town"]:hover{background:#467454;color:#fff8e6;box-shadow:0 3px 0 #224635}
.pass-selectors{grid-template-columns:1fr}.pass-selectors .owned-truck-tab{flex-basis:115px}
@media(min-width:721px) and (max-height:799px){.fleet-cards{grid-template-rows:1fr}.fleet-card-body{grid-template-columns:42% minmax(0,1fr)}.fleet-mini-art .rendered-truck{max-height:180px}.fleet-card-details{font-size:12px;gap:7px}.crew-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.3fr)}.crew-person .driver-portrait{width:42px;height:42px}.driver-roster-card{gap:2px;padding:4px}.driver-roster-card .crew-person{padding:3px;min-height:42px}.route-compact{gap:2px;padding:2px 6px}.route-compact>b{font-size:11px}.route-compact>span{font-size:9px}.route-compact>strong{font-size:11px}.driver-roster-card>.button{min-height:24px;font-size:10px}.crew-detail{padding:14px;gap:8px}.assigned-truck{padding:9px}.driver-route>b{font-size:13px}.driver-route>span{font-size:11px}.driver-route>strong{font-size:14px}.owned-truck-tab{padding:4px 7px;flex-basis:124px}.owned-truck-tab.selected{padding:3px 6px}.owned-truck-tab>.truck-art{height:37px}.compact-parts{height:min(100%,440px,calc((100vw - 310px) * .4))}.compact-parts .upgrade-card .part-render{height:44px}.compact-parts .upgrade-card h3{font-size:12px!important;min-height:22px}.compact-parts .upgrade-card p{font-size:10px!important;min-height:25px}.compact-parts .upgrade-card>div{margin-top:4px}.compact-parts .upgrade-card{gap:3px;padding:8px!important}}
@media(max-width:1199px) and (min-width:721px){.compact-parts{height:min(100%,470px,calc((100vw - 250px) * .66))}.crew-layout{grid-template-columns:minmax(230px,1fr) minmax(0,1.4fr)}}
@media(max-width:720px){.owned-truck-tab{flex-basis:115px;grid-template-columns:40px minmax(0,1fr);padding:4px 6px}.owned-truck-tab.selected{padding:3px 5px}.owned-truck-tab>.truck-art{width:40px;height:37px}.owned-truck-tab b{font-size:10px}.owned-truck-tab small{font-size:8px}.truck-tab-selector>span{font-size:10px}.crew-layout{grid-template-rows:auto minmax(0,1fr)!important;gap:8px}.crew-list{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-roster-card .crew-person{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px;min-height:42px;max-height:none}.driver-roster-card .crew-person>.driver-portrait{width:32px;height:32px}.driver-roster-card .crew-state{grid-column:1/-1;padding:0!important;font-size:9px!important;display:none}.crew-person b{font-size:11px}.crew-person small{font-size:9px}.route-compact{padding:2px 4px;gap:2px}.route-compact>b{font-size:10px}.route-compact>span{font-size:9px}.route-compact>strong{font-size:10px}.driver-roster-card>.button{font-size:9px;min-height:23px}.crew-detail{padding:12px;gap:8px}.crew-detail-title>.driver-portrait{width:42px;height:42px}.driver-level{font-size:8px;padding:5px}.crew-detail h2{font-size:22px}.crew-perk{font-size:10px}.crew-experience{display:none}.assigned-truck{padding:8px}.driver-route{gap:3px}.driver-route>b{font-size:12px}.driver-route>span{font-size:10px}.driver-route>strong{font-size:13px}.crew-detail>.tiny{font-size:9px}.player-portraits{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.portrait-choice .driver-portrait{height:60px}.portrait-choice span{font-size:9px}.parts-workshop .showcase{max-height:90px!important;display:grid;grid-template-columns:85px minmax(0,1fr);grid-template-rows:auto auto auto;gap:3px 8px;align-items:center;text-align:left}.parts-workshop .showcase>.truck-art{width:85px;height:80px;grid-row:1/4}.parts-workshop .showcase h2{font-size:18px;margin:0}.parts-workshop .showcase>p{font-size:10px;margin:0}.parts-workshop .showcase>.specs{gap:10px;font-size:9px;padding:0;border:0}.parts-workshop .showcase>.specs b{font-size:13px}.parts-workshop .showcase>.tiny{display:none}.compact-parts{height:auto;flex:1;align-self:stretch;max-height:250px;grid-template-rows:1fr!important}.compact-parts .upgrade-card>div{margin-top:6px}.compact-parts .upgrade-card .part-render{height:65px}.fleet-card-details{font-size:10px;gap:4px}.fleet-card-body{grid-template-columns:39% minmax(0,1fr)!important;grid-template-rows:1fr!important}.fleet-card-details{display:flex;align-items:flex-start}.fleet-card-details>.fleet-driver{align-self:flex-start;margin:0}.fleet-mini-art .rendered-truck{height:90px}.fleet-card-actions .button{min-height:29px}.queue-toolbar{flex-wrap:nowrap;gap:8px}.queue-toolbar>span{order:0;flex:1;font-size:9px}.queue-toolbar>.button{font-size:9px;padding:4px 8px}}
@media(max-width:720px) and (max-height:680px){.crew-command p{font-size:9px}.crew-detail{gap:5px;padding:9px}.crew-detail h2{font-size:19px}.crew-detail-title>.driver-portrait{width:35px;height:35px}.crew-detail .driver-route>b{font-size:11px}.crew-detail .driver-route>span{font-size:9px}.crew-detail .driver-route>strong{font-size:12px}.crew-detail .button{min-height:25px;font-size:9px;padding:4px 8px}.crew-perk{font-size:9px}.crew-pager{gap:10px}.crew-pager .button{min-height:22px;padding:2px 8px}.parts-workshop .showcase{max-height:75px!important;grid-template-columns:70px 1fr}.parts-workshop .showcase>.truck-art{height:65px;width:70px}.parts-workshop .showcase h2{font-size:16px}.compact-parts{max-height:210px}.compact-parts .upgrade-card .part-render{height:50px}.player-portraits{margin:10px 0}.portrait-choice .driver-portrait{height:48px}.fleet-card-details{font-size:11px;gap:7px}.fleet-mini-art .rendered-truck{height:125px}}
@media(prefers-reduced-motion:reduce){.owned-truck-tab{transition:none}.owned-truck-tab:hover{transform:none}}
.driver-roster-card{gap:3px;padding:5px}.driver-roster-card .crew-person{height:50px;min-height:45px;max-height:50px;padding:4px}.driver-roster-card .crew-person>.driver-portrait{max-height:44px}.route-compact{gap:2px;padding:2px 7px 4px}.driver-roster-card>.button{min-height:25px;padding:3px 8px}
@media(min-width:721px) and (max-height:650px){.compact-parts .upgrade-card .part-render{height:38px}.compact-parts .upgrade-card h3{min-height:18px}.compact-parts .upgrade-card p{min-height:16px}.compact-parts .upgrade-card>div{margin-top:2px}}
@media(max-width:720px){.driver-roster-card .crew-person{height:40px;min-height:40px;max-height:40px;padding:2px}.driver-roster-card>.button{min-height:23px;font-size:9px}.route-compact{padding:2px 4px;gap:2px}}
