:root{--bg: #f4f6f9;--surface: #ffffff;--line: #d9dde3;--ink: #0f2438;--muted: #5f6f82;--brand: #2f8fce;--brand-deep: #0d3150;--chip: #eef3f8;--active: #e6f2fb;--radius-lg: 18px;--radius-md: 12px;--shadow: 0 10px 28px rgba(15, 36, 56, .08);--font-heading: "Aptos Display", "Segoe UI Variable Display", "Trebuchet MS", sans-serif;--font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body)}h1,h2,h3{margin:0;font-family:var(--font-heading);letter-spacing:-.02em}p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.85rem;color:var(--muted)}.global-header{height:86px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.global-brand,.global-actions{display:flex;align-items:center;gap:14px}.icon-btn,.link-btn,.primary-action,.ghost-action,.flow-chip,.vertical-tab,.module-tab,.rail-link{font:inherit;border:1px solid transparent;cursor:pointer}.icon-btn{width:34px;height:34px;border-radius:8px;background:transparent;color:var(--muted)}.brand-mark{width:170px;height:56px;border-radius:8px;overflow:hidden}.brand-mark svg,.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;object-position:left center}.brand-text{font-size:1.8rem;letter-spacing:-.02em;font-family:var(--font-heading);font-weight:700}.link-btn{background:transparent;color:var(--ink);border-radius:999px;padding:10px 12px}.layout-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 72px)}.left-rail{border-right:1px solid var(--line);background:#fbfcfe;padding:18px 12px;display:flex;flex-direction:column;gap:8px}.rail-link{display:block;text-decoration:none;color:var(--muted);border-radius:10px;padding:12px}.rail-link.is-active{background:#e9eef6;color:var(--ink);font-weight:600}.main-shell{padding:22px;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;gap:16px}.module-tabs,.canvas-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.sync-inline{background:var(--chip);color:var(--brand-deep);border-radius:999px;padding:8px 12px;font-size:.85rem}.small-subheading{font-size:1rem;color:var(--muted);margin:2px 0}.primary-action,.ghost-action{border-radius:10px;padding:11px 16px;font-weight:700}.primary-action{background:#171717;color:#fff}.ghost-action{background:var(--chip);color:var(--ink);border-color:var(--line)}.module-tabs{padding:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.module-tab{flex:0 0 auto;min-height:44px;padding:10px 14px;border-radius:10px;background:transparent;color:var(--muted);border-color:var(--line);font-weight:700;white-space:nowrap}.module-tab.is-active{background:var(--active);color:var(--brand-deep);border-color:#b9d8f2;font-weight:700}.module-tab:disabled{opacity:.5;cursor:not-allowed}.canvas-card{padding:20px}.screen{display:none}.screen.is-active{display:block}.lock-inventory-placeholder{display:flex;align-items:center;justify-content:center;min-height:320px}.lock-inventory-placeholder-text{color:var(--muted);font-style:italic;font-size:1rem}.lock-panel{margin-top:18px;display:grid;gap:14px}.lock-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.lock-filter-row{display:flex;flex-wrap:wrap;gap:8px}.lock-filter-chip{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:7px 12px;font:inherit;font-size:.84rem;cursor:pointer}.lock-filter-chip span{color:var(--ink);margin-left:6px;font-weight:700}.lock-filter-chip.is-active{background:var(--active);border-color:#b9d8f2;color:var(--brand-deep);font-weight:700}.lock-table-wrap{overflow-x:auto}.lock-table{width:100%;border-collapse:collapse;font-size:.88rem}.lock-table th{text-align:left;padding:8px 12px;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--line)}.lock-table td{padding:10px 12px;border-bottom:1px solid var(--line)}.lock-table tbody tr:hover td{background:var(--active)}.lock-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.lock-badge.green{background:#dff0e8;color:#1d6b3a}.lock-badge.blue{background:#e3f0ff;color:#1a56b0}.lock-badge.red{background:#fde8e8;color:#b01a1a}.lock-badge.amber{background:#fef3cd;color:#7b5c00}.lock-update-btn{padding:5px 12px;font-size:.78rem;border-radius:6px;cursor:pointer;white-space:nowrap}.lock-form-label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;color:var(--ink)}.lock-form-label select,.lock-form-label input{font:inherit;font-size:.9rem;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink)}.lock-form-label select:focus,.lock-form-label input:focus{outline:none;border-color:var(--brand)}.lock-planning-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px}.lock-kv-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.lock-kv-grid dt{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.lock-kv-grid dd{margin:6px 0 0;font-size:1.05rem;font-family:var(--font-heading)}.planning-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.planning-endpoints-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.planning-field-label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink)}.planning-field-label select,.planning-field-label input{font:inherit;font-size:.88rem;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);min-height:38px}.planning-field-label input[readonly],.planning-field-label input:disabled,.planning-field-label select:disabled{background:#f4f6f9;color:var(--muted);cursor:default}.planning-field-label select:focus,.planning-field-label input:focus{outline:none;border-color:var(--brand)}.planning-field-hint{font-size:.76rem;color:var(--muted);font-weight:400}.lock-alloc-label{display:block;font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.lock-alloc-val{display:block;font-size:1.15rem;font-family:var(--font-heading)}.lock-allocation-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.lock-allocation-item{border:1px solid var(--line);border-radius:10px;background:#fcfdff;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.lock-tracking-lane{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.lock-stage{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#f3f9ff);padding:12px}.lock-stage h4{margin-bottom:8px;color:var(--brand-deep);font-size:.95rem}.lock-stage p{margin-bottom:5px}.lock-stage-location{font-weight:700}.lock-stage span{color:var(--muted);font-size:.82rem}.lock-tracking-details{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px;display:grid;gap:8px}.lock-tracking-details div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.lock-tracking-details div:last-child{border-bottom:none;padding-bottom:0}.lock-tracking-details span{color:var(--muted)}.lock-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.lock-depot-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.lock-depot-card h4{margin-bottom:10px;color:var(--brand-deep)}.lock-metric-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #edf1f5;font-size:.88rem}.lock-metric-row:last-child{border-bottom:none;padding-bottom:0}.lock-metric-row span{color:var(--muted)}.lock-alert-list{display:grid;gap:8px}.lock-alert{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 12px;display:grid;gap:2px}.lock-alert strong{font-size:.84rem}.lock-alert span{color:var(--muted);font-size:.84rem}.lock-alert.warning,.lock-alert.amber{border-left:4px solid #f0b429}.lock-alert.critical,.lock-alert.red{border-left:4px solid #c83b3b}.forecast-panel{grid-column:2 / -1;display:flex;flex-direction:column;gap:16px}.forecast-filter-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:14px 16px;background:var(--chip);border:1px solid var(--line);border-radius:12px}.forecast-quick-filters{display:flex;flex-wrap:wrap;gap:8px}.forecast-range-chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 12px;font-size:.84rem;font-weight:700}.forecast-range-chip.is-active{background:var(--active);color:var(--brand-deep);border-color:#b9d8f2}.forecast-custom-range{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;width:100%;padding-top:4px}.forecast-custom-range[hidden]{display:none}.forecast-filter-label{display:flex;flex-direction:column;gap:4px}.forecast-filter-label span{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.forecast-filter-label input[type=date],.forecast-filter-label select{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;background:#fff;color:var(--ink);min-width:150px}.forecast-filter-label input[type=date]:focus,.forecast-filter-label select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #2f8fce24}.forecast-results-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 2px 10px}.forecast-results-actions{display:inline-flex;gap:8px}.forecast-count{font-size:.84rem;color:var(--muted)}.forecast-results-wrap{overflow-x:auto}.forecast-hint{color:var(--muted);font-style:italic;padding:36px 0;text-align:center}.forecast-insights-panel{width:min(980px,100%);max-height:86vh;overflow-y:auto}.forecast-insights-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:12px}.fi-kpi{border:1px solid var(--line);border-radius:10px;background:#fcfdff;padding:10px}.fi-kpi span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fi-kpi strong{display:block;margin-top:5px;font-family:var(--font-heading);font-size:1.15rem}.forecast-insights-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.fi-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.fi-card h4{margin:0 0 8px;color:var(--brand-deep);font-size:.96rem}.fi-status-list,.fi-rank-list{display:grid;gap:7px}.fi-status-item,.fi-rank-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#fbfdff;font-size:.86rem}.fi-tag{display:inline-flex;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.fi-tag.green{background:#dff0e8;color:#1d6b3a}.fi-tag.blue{background:#e3f0ff;color:#1a56b0}.fi-tag.red{background:#fde8e8;color:#b01a1a}.fi-tag.amber{background:#fef3cd;color:#7b5c00}.fi-footnote{margin-top:10px;color:var(--muted);font-size:.8rem}.forecast-reco-layout{display:grid;grid-template-columns:1.25fr .95fr;gap:12px}.fr-priority-grid,.fr-train-grid{display:grid;gap:9px}.fr-card,.fr-train-card{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:9px 10px}.fr-card p,.fr-train-card p{margin:5px 0 0;font-size:.84rem;color:#314255}.fr-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.fr-playbook{margin:0;padding-left:18px;display:grid;gap:6px;color:#2d3d50;font-size:.86rem}.fr-schedule-wrap{overflow-x:auto}.fr-schedule-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:860px}.fr-schedule-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.fr-schedule-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:#304257}.fr-schedule-table tbody tr:hover td{background:var(--active)}.fi-customer-list{display:grid;gap:8px}.fi-customer-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fbfdff}.fi-customer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem}.fi-customer-bar{height:10px;border-radius:999px;overflow:hidden;background:#ecf1f7;margin-top:7px;display:flex}.fi-customer-laden{background:#2f8fce;display:block}.fi-customer-empty{background:#8ca3b7;display:block}.fi-customer-meta{margin-top:6px;display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}.forecast-table{width:100%;border-collapse:collapse;font-size:.88rem;white-space:nowrap}.forecast-table th{text-align:left;padding:8px 12px;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--line)}.forecast-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.forecast-table td.fc-num{text-align:center}.forecast-table tbody tr:hover td{background:var(--active)}.fcs{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.fcs.fcs-green{background:#dff0e8;color:#1d6b3a}.fcs.fcs-blue{background:#e3f0ff;color:#1a56b0}.fcs.fcs-red{background:#fde8e8;color:#b01a1a}.fcs.fcs-purple{background:#ede8fb;color:#5c00b0}.fcs.fcs-amber{background:#fef3cd;color:#7b5c00}.canvas-header{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}.canvas-actions{display:flex;gap:8px}.panel-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fcfdff;padding:16px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading.row{align-items:end}.pill.light{background:#eef4fb;color:var(--brand-deep);border-radius:999px;padding:8px 10px;font-size:.8rem}.load-planning-top{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;align-items:start}.load-planning-top .load-left-panel,.load-planning-top .rakes-panel{max-height:280px;overflow-y:auto;position:static}.containers-strip-section{margin-top:14px}.containers-strip-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.containers-strip-scroll #container-groups{display:flex;flex-direction:row;gap:14px;padding-bottom:6px;width:max-content}.containers-strip-scroll .container-group{flex:0 0 auto;margin-top:0}.containers-strip-scroll .container-group+.container-group{margin-top:0}.containers-strip-scroll .container-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}.containers-strip-scroll .container-card{width:118px;flex:0 0 118px;padding:5px 7px}.containers-strip-scroll .container-card p,.containers-strip-scroll .container-assignment{font-size:.66rem}.containers-strip-scroll .container-card strong{font-size:.7rem}.load-left-panel{display:grid;gap:12px;align-content:start}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}.summary-card span{display:block;color:var(--muted);font-size:.78rem}.summary-card strong{display:block;margin-top:6px;color:var(--ink);font-family:var(--font-heading);font-size:1.05rem}.metric-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}.metric-card.compact{min-height:96px}.metric-card strong{display:block;margin-top:6px;font-family:var(--font-heading);font-size:1.15rem}.metric-card p,.helper-copy,.container-card p,.wagon-drop-zone span,.train-strip-note,.read-only-row span,.train-meta-card span{color:var(--muted)}.metric-title{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted)}.read-only-list{display:grid;gap:10px;margin-top:12px}.read-only-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.read-only-row strong,.capacity-card strong,.train-meta-card strong,.wagon-card strong{display:block;margin-bottom:4px}.load-plan-summary{display:grid;gap:10px}.mc-demand-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.mc-add-btn{width:100%;text-align:center;font-size:.82rem}.mc-modal{width:min(680px,100%)}.mc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:4px}.mc-label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.mc-label span{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.mc-label input,.mc-input{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;background:#fff;color:var(--ink);width:100%;box-sizing:border-box}.mc-label input:focus,.mc-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #2f8fce24}.mc-container-table{width:100%;border-collapse:collapse;margin-bottom:4px}.mc-container-table th{text-align:left;padding:6px 10px;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--line)}.mc-container-table td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.mc-container-table tbody tr:last-child td{border-bottom:none}.mc-order-row{border-color:#d4c8ef;background:#faf8ff}.mc-order-row em{font-style:normal;color:#6b3fa0;font-size:.8rem}.mc-container-group .panel-heading{background:#f8f5ff;margin:-8px -8px 10px;padding:10px 12px;border-radius:10px 10px 0 0;border-bottom:1px solid #e0d6f8}.pill.mc-pill{background:#ede8fb;color:#6b3fa0;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.helper-copy{margin-top:12px;font-size:.92rem}.containers-panel{min-height:200px}.container-group+.container-group{margin-top:16px}.group-meta{margin-top:4px;color:var(--muted);font-size:.84rem}.container-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.container-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:linear-gradient(180deg,#fff,#f7fbff);cursor:grab}.container-shell{position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(13,49,80,.06) 0,rgba(13,49,80,.06) 2px,transparent 2px,transparent 14px),linear-gradient(180deg,#fbfeff,#edf6fc)}.container-shell.is-damaged{background:repeating-linear-gradient(45deg,rgba(180,30,30,.08) 0,rgba(180,30,30,.08) 4px,transparent 4px,transparent 12px),linear-gradient(180deg,#fff5f5,#fde8e8);border-color:#e57373;cursor:not-allowed;opacity:.85}.container-damaged-note{display:block;font-size:.7rem;font-weight:700;color:#c0392b;letter-spacing:.02em;text-transform:uppercase;margin-top:4px}.container-shell-header{padding-right:0}.container-corner{position:absolute;width:10px;height:10px;border:2px solid rgba(13,49,80,.5);border-radius:2px}.container-corner.tl{top:6px;left:6px}.container-corner.tr{top:6px;right:6px}.container-corner.bl{bottom:6px;left:6px}.container-corner.br{bottom:6px;right:6px}.container-card.full{border-left:4px solid #2f8fce}.container-card.empty{border-left:4px solid #8ca3b7}.container-card.assigned{opacity:.85}.container-card .status-chip{text-align:right}.container-card-header,.wagon-card-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.status-chip,.wagon-type{display:inline-flex;align-items:center;border-radius:999px;padding:6px 8px;background:#eef4fb;color:var(--brand-deep);font-size:.72rem;font-weight:700}.container-assignment{display:inline-flex;margin-top:10px;font-size:.8rem;color:var(--muted)}.rakes-panel{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding:10px 12px}.rakes-panel .train-selector-wrap{margin-bottom:2px}.rakes-panel .train-selector-wrap span{font-size:.82rem}.train-selector-wrap.compact select{min-width:100%;padding:8px 10px}.load-planning-top .capacity-stack,.load-right-col .capacity-stack{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.load-planning-top .capacity-card,.load-right-col .capacity-card{flex:1 1 90px;min-width:0;padding:6px 8px}.load-planning-top .capacity-card strong,.load-right-col .capacity-card strong{font-size:.95rem;margin-top:2px}.load-planning-top .train-meta-card,.load-right-col .train-meta-card{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.load-planning-top .train-meta-card>div,.load-right-col .train-meta-card>div{flex:1 1 70px;min-width:0;padding:5px 8px}.capacity-stack{display:grid;gap:8px}.capacity-card{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.capacity-card span,.train-meta-card div span{display:block;color:var(--muted);font-size:.82rem}.train-meta-card{display:grid;gap:8px}.train-meta-card div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.train-view-panel{margin-top:14px}.train-live-stage{position:relative;border:1px solid #d5e1ec;border-radius:14px;padding:14px;background:linear-gradient(180deg,#f4f9ff,#eef5fb 62%,#e8eff7);display:block;overflow-x:auto;overflow-y:hidden}.train-live-stage:after{content:"";position:absolute;left:0;right:0;bottom:10px;height:6px;background:repeating-linear-gradient(90deg,#9ab1c4 0,#9ab1c4 24px,#dbe6f0 24px,#dbe6f0 32px);opacity:.9}.train-engine{width:120px;min-width:120px;height:70px;display:flex;align-items:flex-end;justify-content:flex-start;position:absolute;right:14px;bottom:14px;z-index:1}.train-sideview{width:100%;height:auto;display:block;filter:drop-shadow(0 2px 4px rgba(0,36,61,.2))}.train-strip-note{margin-bottom:12px;font-size:.92rem}.wagon-strip{display:flex;flex-direction:row;gap:10px;overflow-x:auto;position:relative;z-index:1;padding-right:136px;padding-bottom:6px;min-height:140px}.wagon-card{flex:0 0 130px;min-width:130px}.wagon-card[data-wagon-type=A]{background:linear-gradient(180deg,#fff,#f4f8fc)}.wagon-card[data-wagon-type=B]{background:linear-gradient(180deg,#fff,#f8fafc)}.wagon-drop-zone{min-height:72px;border:1px dashed #bfd2e1;border-radius:10px;margin-top:10px;display:grid;text-align:center;padding:8px;gap:8px}.wagon-card.is-drop-target,.wagon-card:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2f8fce24}.wagon-card.is-fit{border-color:#2e8b57;box-shadow:0 0 0 3px #2e8b5729}.wagon-card.is-fit .wagon-drop-zone{border-color:#2e8b57;background:#2e8b570f}.wagon-card.is-blocked{border-color:#c83b3b;box-shadow:0 0 0 3px #c83b3b29}.wagon-card.is-blocked .wagon-drop-zone{border-color:#c83b3b;background:#c83b3b0f}.wagon-capacity-line{margin-top:6px;font-size:.82rem;color:var(--muted)}.wagon-assignment-list{display:grid;gap:8px}.wagon-assignment-chip{width:100%;border:1px solid #d6e4ef;border-radius:10px;background:#fff;padding:6px 8px;cursor:grab;display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.chip-text{flex:1;min-width:0}.chip-remove{flex-shrink:0;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#00000017;color:var(--muted);font-size:.72rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .12s,color .12s}.chip-remove:hover{background:#c83b3b2e;color:#c83b3b}.wagon-assignment-chip.chip-non-maersk{border-color:#e879a8;background:linear-gradient(180deg,#fff5fa,#fce4ef)}.wagon-assignment-chip.chip-non-maersk strong{color:#9b1a5a}.wagon-assignment-chip.chip-laden{border-color:#2f8fce;background:linear-gradient(180deg,#f0f8ff,#e3f2fd)}.wagon-assignment-chip.chip-laden strong{color:#0d3150}.wagon-assignment-chip.chip-empty{border-color:#aab4be;background:linear-gradient(180deg,#f5f6f8,#eaecef)}.wagon-assignment-chip.chip-empty strong{color:#4a5568}.stack-view{display:flex;flex-direction:column;gap:5px}.stack-tier{display:flex;gap:4px}.stack-tier .wagon-assignment-chip{flex:1;width:auto;min-width:0}.stack-tier-top .wagon-assignment-chip{margin:0 6px;border-style:dashed;opacity:.92}.stack-divider{height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#8bb0cc 0,#8bb0cc 7px,transparent 7px,transparent 12px);margin:0 2px}.rakes-panel .panel-heading{margin-bottom:8px}.rakes-panel .panel-heading h3{font-size:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c203466;display:grid;place-items:center;padding:20px;z-index:1000}.modal-backdrop[hidden]{display:none}.modal-panel{width:min(760px,100%);border:1px solid #c6d9e9;border-radius:14px;background:#fff;box-shadow:0 20px 44px #0c203438;padding:16px}.modal-message{margin-bottom:12px;font-weight:600;color:var(--brand-deep)}.modal-actions{margin-top:14px;display:flex;justify-content:end;gap:8px}.chip-text strong,.chip-text span{display:block}.chip-text strong{overflow-wrap:break-word;word-break:normal;font-size:.72rem;line-height:1.3;letter-spacing:-.01em}.chip-text span{color:var(--muted);font-size:.8rem}.wagon-fit-hint{display:block;font-size:.82rem;color:var(--muted)}.wagon-card.is-fit .wagon-fit-hint{color:#2e8b57;font-weight:700}.wagon-card.is-blocked .wagon-fit-hint{color:#c83b3b;font-weight:700}.wagon-card.is-fixed{border-color:var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}.wagon-drop-zone.is-locked{cursor:not-allowed}.fixed-container-chip{border:2px solid #e879a8;border-radius:10px;background:#fff0f6;padding:6px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:4px;overflow:hidden}.fixed-container-chip .chip-text strong{color:#9b1a5a}.fixed-container-chip .chip-text span{color:var(--muted)}.fixed-container-badge{display:none}.workspace-layout{margin-top:18px;display:grid;grid-template-columns:220px 1fr 300px;gap:16px}#train-master-layout.is-add-mode{grid-template-columns:220px 1fr}#train-master-layout.is-add-mode #manage-train-selector-wrap{display:none!important}.load-list-panel{grid-column:2 / -1}.load-list-table-wrap{overflow-x:auto;margin-top:16px}.load-list-table{width:100%;border-collapse:collapse;font-size:.9rem}.load-list-table th{text-align:left;padding:8px 14px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:2px solid var(--line);white-space:nowrap}.load-list-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.load-list-table tbody tr:last-child td{border-bottom:none}.load-list-table tbody tr:not(.is-fixed-row):hover td{background:var(--active)}.load-list-table .is-fixed-row td{background:#fffbea}.load-list-table .is-fixed-row:hover td{background:#fef5cc}.ditto{color:var(--muted);font-style:italic;letter-spacing:.04em}.load-list-empty{text-align:center;padding:36px 16px!important;color:var(--muted);font-style:italic}.ll-wagon-header-row td{background:var(--chip);padding:6px 14px;font-size:.82rem;border-top:2px solid var(--line);border-bottom:1px solid var(--line)}.ll-wagon-header-row strong{margin-right:4px}.ll-wagon-count{color:var(--muted);font-size:.78rem;margin-left:10px}.load-list-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.load-list-meta{display:flex;gap:24px;margin-bottom:14px;font-size:.88rem;color:var(--muted);padding:10px 14px;background:var(--chip);border-radius:10px;border:1px solid var(--line)}.load-list-meta strong{color:var(--ink)}.wagon-type-badge{display:inline-flex;align-items:center;background:#e8f0f8;color:var(--brand-deep);font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:6px;margin-left:4px;vertical-align:middle}.load-type-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:700;text-transform:capitalize}.load-type-chip.full{background:#dff0e8;color:#1d6b3a}.load-type-chip.empty{background:#eef0f5;color:#5f6f82}.bl-ref{font-family:monospace;font-size:.82rem;color:var(--muted)}.comm-grid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.comm-grid-head .fi-footnote{margin:0}.comm-dispatch-card{border:1px solid var(--line);border-radius:12px;background:#fbfdff;padding:12px;margin-bottom:12px}.comm-dispatch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.comm-dispatch-head h4{margin:0;color:var(--brand-deep)}.comm-dispatch-grid{margin-top:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.comm-file-pill{margin:6px 0 0;display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9f2fc;color:#0d3150;font-size:.84rem}.comm-file-pill.is-muted{background:#eff3f7;color:#6b7a8d}.comm-send-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.load-list-table td.comm-container-cell{max-width:360px;white-space:normal;line-height:1.35}.non-maersk-pill{display:inline-flex;align-items:center;background:#7a5200;color:#fff;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:20px;margin-left:7px;vertical-align:middle}.vertical-tabs{background:#fafcff;border:1px solid var(--line);border-radius:var(--radius-md);padding:8px;display:flex;flex-direction:column;gap:8px;align-self:start}.vertical-tab{width:100%;min-height:44px;flex-shrink:0;display:flex;align-items:center;text-align:left;border-radius:10px;padding:10px 12px;background:transparent;border-color:var(--line);color:var(--muted);line-height:20px;white-space:normal;overflow-wrap:anywhere}.vertical-tab.is-active{background:var(--active);color:var(--brand-deep);border-color:#b9d8f2;font-weight:700}.vertical-tab:disabled{opacity:.5;cursor:not-allowed}.manage-panel,.context-panel{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;background:#fcfdff}.manage-header{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px}.train-selector-wrap{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.train-selector-wrap select,.train-form input,.train-form select{min-width:170px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px}.train-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}#manage-train-form.is-hidden,#add-train-form{display:none}#add-train-form.is-active{display:grid}#add-train-form label{align-self:start}#add-corridor[multiple],#corridor[multiple]{min-height:150px}#manage-train-form label{align-self:start}#manage-train-form #possible-stack-rakes{min-height:44px;height:44px}.add-train-choice{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-train-choice-card{border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:10px 12px}.add-train-choice-card h4{margin:0;font-size:.92rem;color:var(--brand-deep)}.add-train-choice-card p{margin:6px 0 0;font-size:.84rem;color:#4f6277}.add-train-choice-card .ghost-action{margin-top:8px}.add-next-exam-row{max-width:380px}#examination-schedule-form{display:none}#examination-schedule-form.is-active{display:grid;gap:12px}#live-train-view{display:none}#live-train-view.is-active{display:grid;gap:14px}.live-train-toolbar{display:flex;justify-content:space-between;align-items:end;gap:10px}.live-train-toolbar h4{margin:2px 0 0}.live-train-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.live-train-table{width:100%;border-collapse:collapse;min-width:1200px}.live-train-table th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px;background:#f6f9fc;position:sticky;top:0}.live-train-table td{padding:10px;border-bottom:1px solid #edf2f8;font-size:.88rem;vertical-align:top}.live-train-table tbody tr:hover td{background:#fbfdff}.live-train-detail{border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:12px;display:grid;gap:12px}.live-train-detail-head{display:flex;justify-content:space-between;align-items:end;gap:10px}.live-train-detail-head h4{margin:0}.live-train-select-wrap{min-width:220px}.live-train-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.live-train-detail-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.live-train-detail-item span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.live-train-detail-item strong{display:block;margin-top:4px;font-size:.9rem}.live-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.live-status.on-time{color:#0f5132;background:#d1f0dd}.live-status.delayed{color:#8f1f00;background:#ffe2d9}.live-load{font-weight:700}.live-load.empty-rack{color:#6f5700}.live-load.loaded{color:#16456b}.exam-train-select{max-width:320px}.exam-readonly{border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:12px}.exam-readonly h4{margin:0 0 10px;font-size:.95rem;color:var(--brand-deep)}.exam-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px}.exam-readonly-grid span{display:block;font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.exam-readonly-grid strong{display:block;margin-top:3px}.exam-actions{display:flex;justify-content:flex-end;padding-top:4px}.exam-distance-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.exam-fetch-btn{padding:10px 12px;white-space:nowrap}.train-form label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.context-panel h3{margin-bottom:10px}.context-list{display:grid;gap:8px;margin:0}.context-list div{border-bottom:1px solid var(--line);padding-bottom:8px}.context-list dt{color:var(--muted);font-size:.83rem}.context-list dd{margin:4px 0 0;font-weight:600}.figma-nav{margin-top:16px}.flow-chips{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.flow-chip{border-radius:999px;background:var(--chip);color:var(--brand-deep);padding:8px 10px}.flow-chip.is-active{background:#d8ebf9;font-weight:700}@media(max-width:1200px){.layout-shell{grid-template-columns:1fr}.left-rail{display:none}.workspace-layout,#train-master-layout.is-add-mode{grid-template-columns:minmax(0,1fr)}.train-form,.exam-readonly-grid{grid-template-columns:1fr 1fr}.canvas-header,.manage-header{flex-direction:column;align-items:stretch}.load-planning-layout{grid-template-columns:1fr}.containers-panel{max-height:none}.rakes-panel{position:static;top:auto}.train-live-stage{display:grid;grid-template-columns:1fr;gap:8px}.train-engine{width:100%;min-width:0;max-width:260px;height:auto;position:static;justify-self:end}.wagon-strip{grid-template-columns:repeat(2,minmax(130px,1fr));padding-right:0;min-height:0}.forecast-insights-grid{grid-template-columns:1fr 1fr}.forecast-insights-layout,.forecast-reco-layout{grid-template-columns:1fr}.forecast-panel,.load-list-panel{grid-column:auto}.lock-dashboard-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:760px){.train-form,.exam-readonly-grid{grid-template-columns:1fr}.brand-text{font-size:1.35rem}.brand-mark{width:240px;height:100px}.summary-grid{grid-template-columns:1fr}.forecast-results-bar{flex-direction:column;align-items:flex-start;gap:8px}.forecast-insights-grid,.forecast-reco-layout,.lock-kv-grid,.lock-allocation-grid,.lock-tracking-lane,.lock-dashboard-grid,.planning-form-grid,.planning-endpoints-group{grid-template-columns:1fr}.lock-view-header{flex-direction:column;align-items:stretch}.lock-tracking-details div{flex-direction:column;gap:4px}}
