/* Vehicle Cargo Bay Designer - v2.11 */
.cargo-designer-view{display:none;padding:10px;overflow:auto;min-height:0}.cargo-designer-view.active{display:block}
.cbd-shell{display:grid;gap:10px}.cbd-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid rgba(0,216,255,.35);background:linear-gradient(90deg,rgba(0,216,255,.09),rgba(3,13,22,.96) 52%,rgba(33,240,189,.04));padding:12px}.cbd-header h2{margin:0;font-size:18px}.cbd-header p{margin:5px 0 0;color:#86a6b6;font:10px Consolas,monospace;line-height:1.5;max-width:760px}.cbd-header-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cbd-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cbd-stat{border:1px solid rgba(46,101,128,.45);background:rgba(3,13,21,.82);padding:9px}.cbd-stat small{display:block;color:#7899aa;font:8px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}.cbd-stat strong{display:block;margin-top:5px;color:#ecfbff;font-size:15px}.cbd-stat.warn strong{color:#f1d277}.cbd-stat.bad strong{color:#ff7b87}
.cbd-layout{display:grid;grid-template-columns:260px minmax(560px,1.45fr) 310px;gap:10px;align-items:start}.cbd-panel{border:1px solid rgba(46,101,128,.42);background:rgba(3,13,21,.86);padding:10px;min-width:0}.cbd-panel h3{margin:0}.cbd-panel-copy{margin:4px 0 9px;color:#7f9ead;font:9px Consolas,monospace;line-height:1.45}
.cbd-bay-list{display:grid;gap:7px}.cbd-bay-card{border:1px solid rgba(46,101,128,.42);background:linear-gradient(180deg,rgba(6,22,34,.96),rgba(3,13,21,.94));padding:8px;cursor:pointer}.cbd-bay-card:hover{border-color:rgba(0,216,255,.55)}.cbd-bay-card.active{border-color:var(--cyan);box-shadow:inset 3px 0 0 var(--cyan);background:rgba(0,216,255,.07)}.cbd-bay-card-head{display:flex;justify-content:space-between;gap:8px}.cbd-bay-card strong{font-size:11px;color:#effcff}.cbd-bay-code{color:#7cecff;font:8px Consolas,monospace}.cbd-bay-meta{margin-top:5px;color:#819eac;font:8px Consolas,monospace;line-height:1.4}.cbd-system-badge{display:inline-block;margin-top:6px;border:1px solid rgba(33,240,189,.35);color:#a8f6d5;padding:3px 5px;font:7px Consolas,monospace;text-transform:uppercase}.cbd-empty{border:1px dashed rgba(46,101,128,.42);padding:14px;color:#819ead;font:10px Consolas,monospace;line-height:1.55;text-align:center}
.cbd-add-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px}.cbd-add-row select{min-width:0}.cbd-unconfigured{display:grid;gap:5px;margin-top:10px}.cbd-unconfigured-item{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;border:1px solid rgba(46,101,128,.32);padding:7px}.cbd-unconfigured-item span{font:9px Consolas,monospace;color:#b8d2dc}.cbd-unconfigured-item small{display:block;color:#7694a3;margin-top:2px}
.cbd-editor{padding:0;overflow:hidden}.cbd-editor-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px;border-bottom:1px solid rgba(46,101,128,.34)}.cbd-editor-head strong{font-size:13px;color:#effcff}.cbd-editor-head span{display:block;margin-top:4px;color:#7e9dab;font:9px Consolas,monospace}.cbd-tools{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.cbd-tool.active{border-color:var(--cyan);background:rgba(0,216,255,.13);color:#fff}.cbd-tool[data-tool="cut"].active{border-color:#ff6d7a;background:rgba(255,109,122,.11)}.cbd-tool[data-tool="obstacle"].active{border-color:#f0cf6a;background:rgba(240,207,106,.1)}
.cbd-canvas-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:0;min-height:570px;background:radial-gradient(circle at 45% 40%,rgba(6,35,46,.48),rgba(1,7,12,.98) 72%)}.cbd-editor-side{display:grid;place-items:center;padding:28px;overflow:auto}.cbd-grid{display:grid;grid-template-columns:repeat(var(--cbd-cols),minmax(24px,42px));grid-template-rows:repeat(var(--cbd-rows),minmax(24px,42px));gap:3px;user-select:none;touch-action:none}.cbd-cell{position:relative;border:1px solid rgba(0,216,255,.32);background:rgba(6,29,38,.78);min-width:24px;min-height:24px;cursor:crosshair;transition:background .08s,border-color .08s,opacity .08s}.cbd-cell:nth-child(odd){background:rgba(5,24,33,.84)}.cbd-cell:hover{border-color:#7eeeff;box-shadow:inset 0 0 0 1px rgba(0,216,255,.32)}.cbd-cell.outside{opacity:.24;background:repeating-linear-gradient(135deg,rgba(61,84,95,.12) 0 5px,rgba(1,7,11,.48) 5px 10px);border-color:rgba(70,96,108,.2)}.cbd-cell.obstacle{background:repeating-linear-gradient(135deg,rgba(240,207,106,.18) 0 5px,rgba(4,14,20,.82) 5px 10px);border-color:rgba(240,207,106,.52)}.cbd-cell.door{box-shadow:inset 0 -4px 0 #f0cf6a,0 0 10px rgba(240,207,106,.16)}.cbd-cell.door.north{box-shadow:inset 0 4px 0 #f0cf6a}.cbd-cell.door.east{box-shadow:inset -4px 0 0 #f0cf6a}.cbd-cell.door.west{box-shadow:inset 4px 0 0 #f0cf6a}.cbd-cell-label{position:absolute;left:3px;top:3px;color:rgba(119,176,194,.55);font:6px Consolas,monospace;pointer-events:none}.cbd-cell.obstacle::after{content:'OBST';position:absolute;inset:0;display:grid;place-items:center;color:#f4d979;font:6px Consolas,monospace}.cbd-door-label{position:absolute;z-index:4;color:#ffe99b;font:8px Consolas,monospace;pointer-events:none;white-space:nowrap}
.cbd-preview-side{border-left:1px solid rgba(46,101,128,.3);padding:14px;display:grid;align-content:center;gap:12px;background:rgba(1,8,13,.38)}.cbd-preview-title{color:#dff8ff;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.09em}.cbd-iso-shell{height:330px;display:grid;place-items:center;perspective:950px;overflow:hidden}.cbd-iso-board{width:min(92%,520px);aspect-ratio:var(--cbd-cols)/var(--cbd-rows);display:grid;grid-template-columns:repeat(var(--cbd-cols),1fr);grid-template-rows:repeat(var(--cbd-rows),1fr);gap:2px;transform:rotateX(58deg) rotateZ(-34deg);transform-style:preserve-3d}.cbd-iso-cell{position:relative;border:1px solid rgba(0,216,255,.22);background:rgba(5,28,38,.72);transform-style:preserve-3d}.cbd-iso-cell.outside{opacity:.06}.cbd-iso-cell.obstacle{background:rgba(240,207,106,.35);transform:translateZ(18px);box-shadow:0 0 0 1px rgba(240,207,106,.45)}.cbd-iso-cell.door{background:rgba(240,207,106,.34)}.cbd-preview-note{color:#7896a5;font:9px Consolas,monospace;line-height:1.5}.cbd-help-strip{position:absolute;left:10px;bottom:8px;border:1px solid rgba(46,101,128,.35);background:rgba(1,8,13,.86);padding:6px 8px;color:#7fa2b2;font:8px Consolas,monospace}
.cbd-properties{display:grid;gap:9px}.cbd-property-group{border:1px solid rgba(46,101,128,.34);background:rgba(2,10,17,.64);padding:8px}.cbd-property-group h4{margin:0 0 8px;color:#9eefff;font:9px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}.cbd-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cbd-fields .span2{grid-column:1/-1}.cbd-fields label{font-size:8px}.cbd-fields input,.cbd-fields select,.cbd-fields textarea{padding:7px;font-size:10px}.cbd-stepper{display:grid;grid-template-columns:auto 1fr auto;gap:4px}.cbd-stepper button{padding:6px 8px}.cbd-validation{display:grid;gap:5px}.cbd-check{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(46,101,128,.19);padding:5px 0;color:#89a6b5;font:8px Consolas,monospace}.cbd-check b{color:#effcff}.cbd-check.warn b{color:#f1d277}.cbd-check.bad b{color:#ff7b87}.cbd-danger-zone{border-color:rgba(255,109,122,.32)}
.cbd-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.cbd-preset{padding:7px;text-align:left}.cbd-preset strong{display:block;font-size:9px}.cbd-preset small{display:block;margin-top:3px;color:#7894a3;font:7px Consolas,monospace}
.cbd-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cbd-guide-step{border:1px solid rgba(46,101,128,.35);background:rgba(2,10,17,.58);padding:8px}.cbd-guide-step b{display:block;color:#7eeeff;font:10px Consolas,monospace}.cbd-guide-step span{display:block;margin-top:4px;color:#88a4b2;font:8px Consolas,monospace;line-height:1.4}
@media(max-width:1350px){.cbd-layout{grid-template-columns:230px minmax(480px,1fr)}.cbd-properties{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.cbd-canvas-wrap{min-height:520px}.cbd-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.cbd-layout{grid-template-columns:1fr}.cbd-canvas-wrap{grid-template-columns:1fr}.cbd-preview-side{border-left:0;border-top:1px solid rgba(46,101,128,.3)}.cbd-properties{grid-template-columns:1fr}.cbd-guide{grid-template-columns:1fr 1fr}.cbd-grid{grid-template-columns:repeat(var(--cbd-cols),minmax(20px,34px));grid-template-rows:repeat(var(--cbd-rows),minmax(20px,34px))}}
@media(max-width:620px){.cbd-header{flex-direction:column}.cbd-header-actions{justify-content:flex-start}.cbd-summary,.cbd-guide,.cbd-fields,.cbd-preset-grid{grid-template-columns:1fr}.cbd-fields .span2{grid-column:auto}.cbd-editor-head{flex-direction:column}.cbd-tools{justify-content:flex-start}.cbd-editor-side{padding:14px}.cbd-grid{gap:2px}}

/* Door placement guidance */
.cbd-grid.tool-door .cbd-cell:not(.edge){opacity:.42;filter:saturate(.55)}
.cbd-grid.tool-door .cbd-cell.edge{border-color:rgba(240,207,106,.72);box-shadow:inset 0 0 0 1px rgba(240,207,106,.18),0 0 12px rgba(240,207,106,.10)}
.cbd-grid.tool-door .cbd-cell.edge:hover{background:rgba(240,207,106,.18);box-shadow:inset 0 0 0 2px rgba(240,207,106,.72),0 0 16px rgba(240,207,106,.22)}


/* v2.10 explicit save workflow and expandable canvas */
.cbd-save-state{align-self:center;border:1px solid rgba(46,101,128,.5);padding:6px 8px;color:#9bb7c4;font:8px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.cbd-save-state.dirty{border-color:rgba(240,207,106,.58);color:#ffe394;background:rgba(240,207,106,.08)}.cbd-save-state.saved{border-color:rgba(33,240,189,.38);color:#aaf6d7;background:rgba(33,240,189,.05)}.cbd-test-btn{border-color:rgba(33,240,189,.6);color:#d9fff0}.cbd-capacity-explain{margin-top:8px;border-left:3px solid rgba(0,216,255,.55);background:rgba(0,216,255,.05);padding:8px}.cbd-capacity-explain strong{display:block;color:#e9fbff;font:10px Consolas,monospace}.cbd-capacity-explain span{display:block;margin-top:4px;color:#88a7b5;font:8px Consolas,monospace;line-height:1.55}.cbd-expand-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.cbd-expand-controls .btn:last-child{grid-column:1/-1}.cbd-expand-cell{border-style:dashed!important;background:rgba(2,10,16,.24)!important;opacity:.32;cursor:not-allowed!important}.cbd-expand-cell span{display:grid;place-items:center;position:absolute;inset:0;color:#658693;font:16px Consolas,monospace}.cbd-expand-cell.enabled{opacity:.7;cursor:pointer!important;border-color:rgba(33,240,189,.42)!important}.cbd-expand-cell.enabled:hover{opacity:1;background:rgba(33,240,189,.12)!important;border-color:#21f0bd!important;box-shadow:inset 0 0 0 1px rgba(33,240,189,.35),0 0 12px rgba(33,240,189,.12)}.cbd-grid.tool-floor .cbd-expand-cell.enabled span{color:#69f2c3}.cbd-editor-side{min-width:0}.cbd-grid{max-width:none;max-height:none}.cbd-header-actions{align-items:center}


/* v2.11 interaction, persistence and viewport repairs */
.main.cargo-view-active{overflow:auto;overscroll-behavior:contain;padding-bottom:48px;scrollbar-gutter:stable}
.main.cargo-view-active .cargo-designer-view.active{display:block;min-height:max-content;padding-bottom:72px}
.main.cargo-view-active .cbd-shell{min-height:max-content}
.cbd-layout{padding-bottom:24px}
.cbd-expand-cell.enabled{pointer-events:auto}
@media(max-height:850px){.cbd-canvas-wrap{min-height:470px}.cbd-iso-shell{height:260px}}

.main.cargo-view-active .cbd-header{position:sticky;top:-1px;z-index:30;box-shadow:0 8px 18px rgba(0,0,0,.28)}


/* Multi-slot cargo capacity sources - v2.13 */
.cbd-group-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:9px}.cbd-group-heading h4{margin:0}.cbd-group-heading p{margin:4px 0 0;color:#7596a5;font:8px Consolas,monospace;line-height:1.4}.cbd-group-heading>strong{color:#79efff;font:10px Consolas,monospace;white-space:nowrap}
.cbd-capacity-source-list{display:grid;gap:6px}.cbd-capacity-source{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border:1px solid rgba(48,104,130,.34);background:rgba(2,11,18,.6);padding:8px;cursor:pointer}.cbd-capacity-source:hover{border-color:rgba(0,216,255,.48)}.cbd-capacity-source.selected{border-color:rgba(33,240,189,.55);background:rgba(33,240,189,.055)}.cbd-capacity-source.locked{opacity:.55;cursor:not-allowed}.cbd-capacity-source input{accent-color:var(--cyan)}.cbd-capacity-source b{display:block;color:#dff8ff;font:9px Consolas,monospace}.cbd-capacity-source small{display:block;margin-top:3px;color:#7796a5;font:8px Consolas,monospace}

.cbd-install-more{margin-top:8px;align-self:flex-start}

/* v2.15 Preview orientation parity */
.cbd-iso-board{transform:rotateX(58deg) rotateZ(-34deg)!important}
.cbd-preview-side::after{content:'FORE  ▲';justify-self:center;color:#86dff2;font:8px Consolas,monospace;letter-spacing:.08em}


/* Physical cargo-unit validation and multi-door UI - v2.16 */
.cbd-iso-svg{width:100%;height:100%;display:block;overflow:visible}.cbd-svg-cell{fill:rgba(5,28,38,.78);stroke:rgba(0,216,255,.34);stroke-width:1}.cbd-svg-cell.obstacle{fill:rgba(240,207,106,.28);stroke:rgba(240,207,106,.65)}.cbd-svg-door{stroke:#f0cf6a;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(240,207,106,.5))}.cbd-svg-door-label{fill:#ffe99b;font:9px Consolas,monospace;text-anchor:middle;paint-order:stroke;stroke:#02080d;stroke-width:3px}.cbd-svg-fore{fill:#63e9ff;font:10px Consolas,monospace;text-anchor:middle;letter-spacing:.08em}.cbd-cell-door-tag{position:absolute;right:2px;bottom:2px;color:#ffe99b;font:6px Consolas,monospace;pointer-events:none}.cbd-cell.selected-door{box-shadow:inset 0 0 0 2px rgba(255,236,145,.9),0 0 12px rgba(240,207,106,.35)!important}.cbd-capacity-meter{height:11px;margin-top:7px;border:1px solid rgba(51,108,132,.5);background:#020b12;overflow:hidden}.cbd-capacity-meter span{display:block;height:100%;background:linear-gradient(90deg,#21f0bd,#00d8ff)}.cbd-capacity-meter.over span{background:linear-gradient(90deg,#f0cf6a,#ff6d7a)}.cbd-volume-note{margin-top:6px;color:#82a1af;font:8px Consolas,monospace;line-height:1.55}.cbd-door-list{display:grid;gap:5px}.cbd-door-item{display:block;width:100%;text-align:left;border:1px solid rgba(47,104,130,.38);background:rgba(2,11,18,.62);padding:7px;color:#dff8ff;cursor:pointer}.cbd-door-item:hover{border-color:rgba(0,216,255,.55)}.cbd-door-item.active{border-color:rgba(240,207,106,.72);background:rgba(240,207,106,.08)}.cbd-door-item b,.cbd-door-item small{display:block}.cbd-door-item b{font:9px Consolas,monospace}.cbd-door-item small{margin-top:3px;color:#7898a7;font:7px Consolas,monospace}
