/* Physical freight + local impact */
.freight-layer{position:absolute;inset:0;pointer-events:none;z-index:7}
.freight-stock,.freight-boat{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);pointer-events:auto;border:0;z-index:7}
.freight-stock{margin:26px 0 0 29px;min-width:35px;height:26px;border-radius:13px;background:#f3d18a;color:#173840;box-shadow:0 4px 14px rgba(0,25,31,.35);display:flex;align-items:center;justify-content:center;gap:3px;padding:0 7px;font-weight:900}
.freight-stock.empty{opacity:.58;background:#a5b9b3}.freight-stock .ui-icon{width:15px;height:15px}.freight-stock b{font-size:12px}
.freight-boat{color:#e9fff8;background:rgba(5,55,64,.82);border:1px solid #7edbd0;border-radius:18px;width:39px;height:31px;display:grid;place-items:center;animation:boatBob 2.2s ease-in-out infinite;animation-delay:var(--delay)}
.freight-boat .ui-icon{width:23px;height:23px}.freight-boat span{position:absolute;right:-5px;top:-5px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#f2ca74;color:#15353b;font-size:9px;font-weight:900}
@keyframes boatBob{50%{transform:translate(-50%,-56%) rotate(-2deg)}}
.logistics-resource{border-color:#d2b66f!important}
.logistics-sheet{padding-bottom:15px}.logistics-notice{margin:12px 15px 0;padding:10px 12px;background:#fff0c7;border:1px solid #dfbd6a;border-radius:11px;color:#604c1f;font-size:12px;line-height:1.4}
.stock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 15px 8px}.stock-grid>div{background:#dbe9e2;border-radius:13px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 7px}.stock-grid span{grid-row:1/4;width:34px;height:34px;border-radius:10px;background:#0d4b55;color:#7ce1d0;display:grid;place-items:center}.stock-grid .ui-icon{width:21px;height:21px}.stock-grid small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#59777a}.stock-grid b{font-size:23px;grid-row:1/3;grid-column:3}.stock-grid em{grid-column:2;font-style:normal;font-size:10px;color:#6b8585}
.freight-rule{margin:4px 15px 12px;padding:11px 12px;border-left:4px solid #4bbba9;background:#d8eee7;border-radius:8px;display:grid;gap:3px}.freight-rule b{font-size:12px}.freight-rule span{font-size:11px;color:#4f7072;line-height:1.35}
.dispatch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 15px 14px}.dispatch-grid button{min-height:62px;border:1px solid #88aaa4;background:#f6f7ef;border-radius:12px;color:#153d43;padding:9px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;text-align:left}.dispatch-grid button:disabled{opacity:.45}.dispatch-grid .ui-icon{width:28px;height:28px;color:#178d82}.dispatch-grid span{display:grid;gap:2px}.dispatch-grid b{font-size:11px}.dispatch-grid small{font-size:9px;color:#607879}
.shipment-list{margin:0 15px;padding:11px;border-radius:12px;background:#e5eee8}.shipment-row{display:grid;grid-template-columns:29px 1fr;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #c6d9d2}.shipment-row:first-of-type{margin-top:7px}.shipment-row .ui-icon{width:25px;color:#187f78}.shipment-row span{display:grid}.shipment-row b{font-size:11px}.shipment-row small,.empty-freight{font-size:10px;color:#648081}.empty-freight{margin:8px 0 0}
.zone-logistics{margin:0 16px 10px;padding:10px 11px;border-radius:11px;background:#fff0c8;border:1px solid #ddc27d;display:grid;gap:4px;color:#4c482b}.zone-logistics>span{display:flex;align-items:center;gap:6px;font-size:11px}.zone-logistics .ui-icon{width:18px;height:18px}.zone-logistics small{font-size:9px;color:#736c49;line-height:1.35}
.zone-pressure{margin:0 16px 10px;padding:9px 11px;border-radius:11px;display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:center}.zone-pressure .ui-icon{width:22px}.zone-pressure span{display:grid}.zone-pressure b{font-size:11px}.zone-pressure small{font-size:9px}.pressure-1{background:#f7e7c6;color:#70591f}.pressure-2,.pressure-3{background:#f3d3d0;color:#7a3438}
.placement-freight-note{margin:0 12px 8px;padding:9px 11px;background:#fff0c8;border:1px solid #dfc479;border-radius:10px;color:#5e542f;display:grid;grid-template-columns:23px 1fr;gap:7px;align-items:center;font-size:10px;line-height:1.35}.placement-freight-note .ui-icon{width:21px}
@media (max-width:760px){
  .freight-stock{margin:22px 0 0 22px;min-width:30px;height:23px}.freight-stock .ui-icon{width:13px}.freight-boat{width:34px;height:27px}
  .stock-grid{grid-template-columns:1fr 1fr 1fr;padding:10px 10px 6px;gap:5px}.stock-grid>div{padding:7px;grid-template-columns:1fr;justify-items:center;text-align:center}.stock-grid span{grid-row:auto;width:28px;height:28px}.stock-grid b{grid-row:auto;grid-column:auto;font-size:18px}.stock-grid em{display:none}.stock-grid small{font-size:7px}
  .dispatch-grid{padding:0 10px 10px;gap:6px}.dispatch-grid button{grid-template-columns:25px 1fr;padding:7px}.dispatch-grid .ui-icon{width:22px}.freight-rule{margin:4px 10px 9px}.shipment-list{margin:0 10px}
}
@media (prefers-reduced-motion:reduce){.freight-boat{animation:none!important}}

.freight-dot{background:#7fe1d1}
.freight-boat.delayed{border-color:#f1b765;color:#ffe6b2;background:rgba(86,55,29,.9);animation:none}
.freight-impact{margin:9px 0;padding:10px 11px;border-radius:10px;background:#fff0ca;border:1px solid #dfbf73;color:#634c1c;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}
.freight-impact>.ui-icon{width:24px;height:24px}
.freight-impact span{display:grid;gap:2px}.freight-impact b{font-size:11px}.freight-impact small{font-size:9px;line-height:1.35}
