@charset "UTF-8";
:root{--ink:#203b34;--muted:#586d65;--green:#145b49;--green-dark:#0d4638;--green-pale:#e8f3ed;--border:#dce5df;--surface:#fff;--bg:#f2f5f3;--amber:#886020;--red:#ad3e35;--radius:14px;--font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,select,summary{cursor:pointer}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:inherit;transition:background .18s,border-color .18s;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.48}button:active:not(:disabled){filter:brightness(.95)}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #70ad95;outline-offset:3px}input:focus,select:focus{outline:2px solid #70ad95;outline-offset:1px}svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}[data-icon]{display:inline-flex;align-items:center;justify-content:center}h1,h2,h3,p{margin:0}h2{font-size:18px;font-weight:650}h2 svg{margin-right:8px}.mono{font-family:Consolas,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.align-right{text-align:right}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--green);color:white;padding:10px}.skip-link:focus{top:10px}
/* Navigation */
.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:28px 18px 0;display:flex;flex-direction:column;z-index:10;background:#173c32;color:#eff7f1;overflow-y:auto}.sidebar>*{flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;line-height:1.4;white-space:nowrap}.brand-icon{width:42px;height:46px;border:1px solid #7eaa9666;border-radius:12px;background:#285446;color:#e5f5cb}.brand-icon svg{width:28px;height:28px}.brand>span:last-child{font-size:23px;font-weight:700;letter-spacing:-.5px}.brand b{font-size:14px;font-weight:500}.brand small{display:block;font-size:12px;font-weight:400;color:#b7cec1;letter-spacing:1px;margin-top:7px}.workspace{display:flex;gap:9px;align-items:center;padding:12px;margin:28px 0 24px;border:1px solid #547466;border-radius:10px;font-size:14px}.workspace small{display:block;color:#bfd1c7;font-size:12px}.workspace>span:last-child{margin-left:auto;color:#b5cdbf}.workspace>span:last-child svg{width:14px}.workspace-mark{display:grid;place-items:center;width:32px;height:36px;background:#315747;border-radius:7px;font:24px Georgia,serif;color:#e1edcd}.nav-title,.container-nav-heading{font-size:13px;color:#bed1c6}.nav-title{padding:0 12px;margin-bottom:10px}.nav-current{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;background:#d5eaca;color:#214b39;border-radius:9px;font-size:16px;font-weight:650}.nav-badge{font-size:12px;background:#bed8b3;border-radius:4px;padding:0 5px;margin-left:auto}.container-nav-heading{display:flex;align-items:center;justify-content:space-between;padding-left:12px;margin-top:20px}.container-nav-heading b{font-size:12px;padding:1px 5px;border-radius:4px;background:#335849;margin-left:4px}.sidebar .icon-button{color:#d7e6dc}.sidebar .icon-button:hover{background:#315749;color:white}#container-list{overflow-y:auto;max-height:30vh;flex-shrink:1;min-height:65px;margin-top:4px}.container-nav{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:9px;padding:11px 12px;background:none;text-align:left;margin-bottom:6px;color:#e0eee4}.container-nav:hover{background:#254e40}.container-nav.active{border-color:#628876;background:#2c5747}.container-nav .nav-info{min-width:0;overflow:hidden}.container-nav strong{font-size:15px;display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}.container-nav small{font-size:13px;color:#c1d4c6;display:block}.container-nav .status-dot{margin-left:auto;flex-shrink:0;background:#bdd79b}.add-container{background:none;border:1px dashed #789887;border-radius:9px;color:#d1e2d6;font-size:14px;min-height:44px;padding:9px;width:100%;margin:10px 0 24px}.add-container:hover{background:#315747;color:white}.sidebar-bottom{margin-top:auto;padding-top:16px}.settings-entry{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #638472;border-radius:9px;background:#244c3e;color:#edf5ec;font-size:15px;margin-bottom:16px}.settings-entry:hover{background:#365e4d}.help-card{border-top:1px solid #496c59;padding:18px 4px 0;font-size:14px}.help-card>span{display:none}.help-card strong{font-size:14px;font-weight:500;color:#e6efe3}.help-card p{color:#b9cec0;font-size:12px;line-height:1.9;margin:7px 0}.help-card button{border:0;background:none;color:#d4e7c5;padding:0;min-height:44px;font-size:14px}.help-card button svg{width:15px}.local-status{display:flex;align-items:center;gap:7px;min-height:60px;font-size:12px;color:#c0d2c4;white-space:nowrap}.local-status>span:last-child{margin-left:auto}.local-status svg{width:13px}.status-dot{width:6px;height:6px;border-radius:50%;background:#559376;display:inline-block}.app-shell{margin-left:244px}
/* Workbench and actions */
.topbar{min-height:76px;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffc9;border-bottom:1px solid var(--border)}.breadcrumb{display:flex;gap:14px;color:var(--muted);font-size:14px;white-space:nowrap}.breadcrumb span{color:#9aaba1}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.local-badge{font-size:13px;display:flex;align-items:center;gap:7px;color:var(--muted)}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;background:none;font-size:14px;padding:7px 0;color:var(--muted)}.text-button:hover{color:var(--green)}.text-button svg{width:17px}.topbar-right a{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;line-height:30px}
main{max-width:1880px;margin:auto;padding:32px 30px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:650;color:var(--muted);letter-spacing:2px;margin-bottom:7px}h1{font-size:30px;font-weight:650;letter-spacing:-.7px;line-height:1.45}.version-tag{display:none}.page-heading p{color:var(--muted);font-size:15px;margin-top:7px}.button{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-size:15px;font-weight:550;min-height:44px}.button svg{width:18px;height:18px}.secondary{border-color:#cddbd2;background:white}.secondary:hover{background:#edf5ef;border-color:#92b19f}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--green-dark)}.icon-button{background:none;border:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:11px;border-radius:8px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--green-pale);color:var(--green)}.icon-button svg{width:19px;height:19px}
.stats{display:grid;grid-template-columns:minmax(300px,1fr) repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;position:relative;min-height:146px}.stat-label{color:var(--muted);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-label svg{width:18px;height:18px;color:#709081}.stat-value{font-size:32px;font-weight:600;line-height:1.25;margin:12px 0 7px;font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;overflow-wrap:anywhere;letter-spacing:-.6px}.stat-value small{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0}.stat-note{font-size:13px;color:var(--muted);line-height:1.65}.stat:first-child{background:#e9f3ed;border-color:#c8decd}.stat:first-child .stat-value{color:var(--green)}.stat .stat-good{display:none}.stat-bar{height:3px;border-radius:3px;background:#eaf0eb;position:absolute;bottom:0;left:18px;right:18px;overflow:hidden}.stat-bar span{display:block;height:100%;background:#6c9c81}
.planning-grid{display:grid;grid-template-columns:minmax(300px,1fr) repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;margin-bottom:24px}.planning-grid>*{min-width:0}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:74px;padding:15px 20px;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.panel-heading h2{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;font-size:18px}.panel-heading h2>span:first-child{color:#557764}.config-panel{display:flex;flex-direction:column}.config-panel form{display:flex;flex-direction:column;flex:1;padding:20px}.config-panel .calculate{margin-top:auto}.planning-grid>.panel>.panel-heading{height:82px;min-height:82px;flex-shrink:0}.planning-grid>.visual-panel{grid-column:span 3}.visual-panel>:not(.viewport){flex-shrink:0}label{display:block;font-size:15px;font-weight:500;margin-bottom:7px}input:not([type=checkbox]):not([type=range]),select{display:block;width:100%;min-width:0;border:1px solid #cfdcd3;border-radius:7px;background:white;height:44px;padding:0 10px;color:var(--ink);font-size:16px;transition:border .18s}input:hover,select:hover{border-color:#8daa98}#container-form>input,#container-form>select{margin-bottom:18px}.field-optional{color:var(--muted);font-weight:400;margin-left:6px;font-size:13px}.label-line{display:flex;align-items:center;justify-content:space-between;font-size:15px;margin-bottom:8px}.label-line>span{color:var(--muted);font-size:13px}.dimensions{display:grid;grid-template-columns:1fr 8px 1fr 8px 1fr;gap:6px;margin-bottom:18px}.dimensions label{color:var(--muted);font-size:14px;min-width:0;margin:0}.dimensions input{margin-top:5px;padding:0 6px!important;font-variant-numeric:tabular-nums}.dimensions>span{align-self:end;padding-bottom:10px;color:#708677;font-size:14px}.field-hint{font-size:13px;line-height:1.7;color:var(--muted);margin:-9px 0 16px;grid-column:1/-1}.field-hint.over-limit{color:var(--red)}.capacity-line{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);padding:10px 12px;background:#edf4ee;border-radius:7px}.capacity-line svg{width:16px;height:16px}.capacity-line strong{margin-left:auto;color:var(--green);font-weight:600}.rules{margin:20px 0}.rules>div{display:flex;align-items:center;gap:7px;font-size:14px;margin-bottom:10px}.rules strong{font-weight:600}.rules svg{width:14px;height:14px;color:#5d826c;flex-shrink:0;margin-top:4px}.rules p{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--muted);margin-bottom:7px}.calculate{width:100%;min-height:50px;font-size:16px}.calculate>span:last-child{margin-left:auto}.form-error{color:var(--red);font-size:15px;margin-bottom:10px}.form-error:empty{display:none}
/* 3D preview */
.visual-panel{display:flex;flex-direction:column;min-width:0}.subtle-tag{font-size:12px;background:#edf4ed;color:#476957;border-radius:5px;padding:3px 7px;margin-left:10px;font-weight:400}.view-tabs{display:flex;gap:3px;padding:3px;background:#edf2ee;border-radius:9px;flex-shrink:0}.view-tabs button{font-size:14px;min-height:44px;border:0;background:none;padding:8px 14px;border-radius:6px;color:var(--muted)}.view-tabs button.active{background:white;box-shadow:0 1px 5px #23352c14;color:var(--green);font-weight:600}.manual-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border)}.manual-toolbar .button{font-size:14px;padding:9px 12px}.manual-toolbar [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}#manual-mode-hint{font-size:13px;color:var(--muted);flex-basis:100%;padding-top:2px}.viewport{position:relative;flex:1 0 500px;height:500px;min-height:420px;background:#f7faf6;overflow:hidden}#scene{width:100%;height:100%;display:block;position:absolute;inset:0;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}#scene.editing,#scene.editing:active{cursor:default}.scene-caption{position:absolute;top:20px;left:20px;max-width:calc(100% - 90px);display:flex;align-items:center;gap:7px;font-size:13px;pointer-events:none;color:#466552}.scene-caption>span:last-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-caption small{position:absolute;top:22px;left:13px;font-size:12px;color:var(--muted);white-space:nowrap}.scene-tools{position:absolute;right:14px;top:18px;display:flex;flex-direction:column;background:#ffffffed;border:1px solid var(--border);box-shadow:0 3px 12px #253b3509;border-radius:10px;padding:3px}.scene-tools>span{height:1px;background:var(--border);margin:3px}.scene-hint{position:absolute;bottom:16px;left:20px;max-width:calc(100% - 40px);display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);pointer-events:none}.scene-hint svg{width:14px;height:14px}.scene-hint>span{color:#657e6e}.axis-legend{display:none}.scene-tooltip{position:absolute;left:18px;top:74px;background:#fffffff2;border:1px solid #b9d1bd;border-radius:10px;box-shadow:0 6px 24px #263e3814;padding:14px;font-size:15px;max-width:calc(100% - 90px);pointer-events:none}.scene-tooltip strong{display:block;margin-bottom:4px;color:var(--green)}.scene-tooltip p{font-size:14px;color:var(--muted)}.layer-badge{display:flex;align-items:center;gap:10px;background:var(--green-pale);color:var(--green);border-radius:5px;padding:6px 9px;margin:8px 0;font-weight:650;font-size:16px}.layer-badge span{font-weight:400;font-size:14px}.row-quantity{font-size:15px;margin:3px 0 10px;color:var(--green)}.row-quantity b{font-size:18px}.row-quantity span{display:block;font-size:13px;color:var(--muted);margin-top:4px}.manual-editor{padding:18px;border-top:1px solid var(--border);background:#f0f6f1}.manual-editor label{font-size:14px}.manual-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:12px}.manual-coordinates label{margin:0}.manual-coordinates input{margin-top:6px}#manual-feedback{margin-top:10px;color:var(--green);font-size:14px;min-height:22px}#manual-feedback.invalid{color:var(--red)}.manual-help{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.75}#adaptive-progress{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;flex-basis:100%;padding:12px 14px;border:1px solid #d6bb75;border-radius:8px;background:#fff8e8;color:#73521d;font-size:15px}
.playback{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--border);font-size:14px;min-height:68px}.playback>.icon-button{background:var(--green-pale);color:var(--green)}.playback-title{white-space:nowrap;color:var(--muted)}.playback input{flex:1;width:auto;height:4px;accent-color:var(--green);cursor:pointer;min-width:65px}#step-label{font-size:14px;white-space:nowrap;flex-shrink:0;min-width:48px;text-align:right}.playback .text-button{font-size:14px}.result-banner{min-height:60px;padding:15px 18px;background:#ebf4eb;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;color:#356347;border-top:1px solid #d7e7d6}.result-banner.warning{background:#fcf5e7;color:#80571c;border-color:#e8dbb9}.result-banner.pending{background:#f2f5f2;color:var(--muted)}.result-banner svg{width:18px;height:18px}.result-banner>strong{font-weight:600}.result-banner>span:last-child{display:block;flex-basis:100%;font-size:13px;white-space:normal}
/* Cargo and row tables */
.row-panel,.cargo-panel{margin-bottom:22px}.cargo-heading{padding:20px;gap:16px;min-height:90px}.cargo-heading p{font-size:14px;color:var(--muted);margin-top:6px}.count-tag{font-size:13px;background:#edf3ec;color:#476a50;border-radius:5px;padding:2px 7px;margin-left:8px;font-weight:500;white-space:nowrap}.cargo-actions,.row-heading-actions,.row-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cargo-actions .button{font-size:15px}.row-heading-copy{flex:1;min-width:240px}.section-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--muted);font-size:15px;padding:8px 12px;min-height:44px}.section-toggle:hover{color:var(--green);background:var(--green-pale)}.section-toggle svg{width:15px;height:15px;transition:transform .18s}.section-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.row-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 20px}.row-filters label{font-size:15px;margin:0}.row-filters select{width:150px}.row-filters button{margin-left:auto}.row-composition{min-width:220px;white-space:normal;max-width:600px}.row-count-value{color:var(--green);font-size:18px;font-variant-numeric:tabular-nums}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:15px}th{font-size:14px;background:#f5f8f5;color:var(--muted);font-weight:500;padding:14px 18px;border-bottom:1px solid var(--border)}th>span{display:block;font-size:12px;margin-top:3px}td{border-bottom:1px solid #e9eee9;padding:16px 18px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbf7}.cargo-name-cell{display:flex;align-items:center;gap:11px;min-width:165px}.cargo-swatch{width:35px;height:38px;background:var(--cargo-bg);color:var(--cargo-color);display:inline-flex;align-items:center;justify-content:center;border-radius:9px;flex-shrink:0}.cargo-swatch svg{width:21px;height:21px}.cargo-name-cell strong{font-size:16px;font-weight:550;max-width:230px;min-width:115px;white-space:normal;display:block;overflow-wrap:anywhere}.cargo-name-cell small{display:block;font-size:13px;color:var(--muted);margin-top:2px;font-family:Consolas,monospace}.dimension-text{font-family:Consolas,"Microsoft YaHei",monospace;color:#385847;font-size:15px}.unit{font-size:13px;color:var(--muted);margin-left:3px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;line-height:26px;padding:1px 8px;border-radius:5px;background:#eaf4ed;color:#36694a}.tag svg{width:12px;height:12px}.tag.fragile{background:#faf0dc;color:#80591b}.tag.partial{background:#fcece6;color:#a04532}.tag.neutral{background:#edf1ed;color:var(--muted)}.row-actions{display:flex;gap:8px;justify-content:flex-end}.row-actions .button{font-size:14px;padding:8px 12px}.cargo-delete{color:var(--red)}.table-footer{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px 20px;font-size:14px;color:var(--muted)}.table-footer strong{font-weight:600;color:var(--green)}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#6b9878;margin-right:5px}.placement-panel{margin-bottom:22px}.placement-panel summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;min-height:68px;font-size:16px;padding:16px 20px;list-style:none}.placement-panel summary::-webkit-details-marker{display:none}.placement-panel summary>span{display:flex;align-items:center;gap:9px}.placement-panel summary svg{width:16px;height:16px}.placement-panel summary>.muted{font-size:14px}.coordinate-note{padding:14px 20px;background:#f3f7f2;color:var(--muted);font-size:14px;border-top:1px solid var(--border);line-height:1.75}.placement-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--border);padding:12px;font-size:14px;color:var(--muted)}.page-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px;padding:0 0 26px}.page-footer>span:first-child{display:flex;align-items:center;gap:5px}.page-footer svg{width:13px;height:13px}.footer-dot{padding:0 7px}.empty-row{text-align:center;color:var(--muted);padding:45px!important}
/* Dialogs and feedback */
dialog{border:1px solid var(--border);border-radius:16px;padding:26px;width:560px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;color:var(--ink);box-shadow:0 20px 100px #1c342f30}dialog::backdrop{background:#102e245c;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.dialog-heading h2{font-size:22px}.dialog-heading .eyebrow{margin-bottom:5px}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.dialog-footer .button{min-width:100px}#cargo-form>input{margin-bottom:18px}dialog label{font-size:15px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.form-two input{margin-top:7px}.checkbox-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:9px;padding:14px;margin-top:10px;font-weight:400;cursor:pointer}.checkbox-card input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.checkbox-card strong{display:block;font-size:15px;font-weight:550}.checkbox-card small{display:block;font-size:14px;color:var(--muted);margin-top:3px}.dialog-intro{font-size:14px;color:var(--muted);margin-bottom:14px}.ring-diagram{display:block;width:100%;height:116px;background:#f5f9f3;border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:18px}.ring-diagram text{font:11px var(--font);fill:#526c5c}#info-content{font-size:16px;color:var(--muted);line-height:1.9}#info-content p{margin-bottom:12px;font-size:15px}#info-content h3{font-size:16px;color:var(--ink);margin:16px 0 5px}#info-content ul{padding-left:20px}#info-content .note{background:#f1f6ee;padding:14px;border-radius:8px;font-size:14px}.toast{position:fixed;bottom:28px;left:calc(50% + 122px);transform:translateX(-50%);background:#224b39;color:white;box-shadow:0 6px 30px #233f3225;font-size:15px;padding:14px 22px;border-radius:10px;z-index:100;max-width:calc(100vw - 32px);text-align:center;white-space:normal}.storage-warning{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 20px;margin-bottom:22px;background:#fff5df;border:1px solid #e5c879;border-radius:10px;color:#724c19;font-size:15px}.storage-warning>span{flex:1;min-width:200px}.visual-panel:fullscreen{overflow:auto;background:white;height:100dvh;padding:12px}.visual-panel:fullscreen .viewport{flex:1;min-height:380px}.busy svg{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Tablet navigation remains complete, including management entry. */
@media(max-height:850px) and (min-width:1201px){.sidebar .help-card{display:none}.sidebar{padding-top:20px}.workspace{margin:22px 0 18px}.sidebar-bottom{padding-top:10px}}
@media(max-width:1200px){.sidebar{position:relative;inset:auto;width:auto;padding:16px 24px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px;overflow:visible}.brand{margin-right:auto}.brand small,.workspace,.nav-title,.nav-current,.add-container,.sidebar-bottom .help-card,.sidebar-bottom .local-status{display:none}.container-nav-heading{margin:0;padding:0;order:2}.container-nav-heading>span{display:none}.sidebar-bottom{display:block;margin:0;padding:0}.settings-entry{margin:0;font-size:14px;min-height:44px;padding:8px 12px}.sidebar #container-list{display:flex;order:3;width:100%;max-height:none;min-height:0;overflow-x:auto;margin:0;gap:10px}.container-nav{width:auto;min-width:180px;max-width:280px;min-height:54px;padding:8px 12px;margin:0;flex-shrink:0}.container-nav svg,.container-nav .status-dot{display:none}.app-shell{margin:0}.topbar{padding:12px 24px}.topbar-right .local-badge{display:none}.toast{left:50%}main{padding:26px 24px 0}.page-heading h1{font-size:28px}}
@media(max-width:1000px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-grid>.panel>.panel-heading{height:auto}.planning-grid{display:flex;flex-direction:column}.planning-grid>.panel{width:100%}.visual-panel{order:-1}.config-panel form{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 20px;align-items:center}.config-panel form>label{margin:0}.config-panel form>input,.config-panel form>select{margin:0!important}.config-panel .label-line,.config-panel .dimensions{margin:0}.config-panel .field-hint,.config-panel .capacity-line,.config-panel .rules,.config-panel .calculate,.config-panel .form-error{grid-column:1/-1}.config-panel .field-hint{margin:0}.rules{margin:10px 0}.viewport{flex:0 0 480px;height:480px}.topbar{flex-wrap:wrap}.stats{gap:12px}.stat{padding:16px}.stat-value{font-size:28px}}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cargo-actions{width:100%}.cargo-actions .button{flex:1}.manual-coordinates{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-coordinates .button{grid-column:1/-1}.row-heading-copy{min-width:0;flex-basis:100%}.row-heading-actions{width:100%;justify-content:space-between}}
@media(max-width:600px){.sidebar{padding:16px;gap:12px}.brand>span:last-child{font-size:21px}.brand b{font-size:13px}.brand-icon{width:36px;height:40px}.sidebar-bottom{order:4;width:100%}.settings-entry{justify-content:center}.topbar{padding:10px 16px;gap:4px}.breadcrumb{font-size:13px}.topbar-right{gap:16px}.topbar-right .text-button{font-size:14px}main{padding:24px 14px 0}.page-heading{gap:16px}.page-heading h1{font-size:26px}.page-heading p{font-size:14px}.page-heading>.button{width:100%}.stats{gap:10px}.stat{padding:14px;min-height:146px}.stat-label{font-size:14px;gap:4px}.stat-value{font-size:27px}.stat-value small,.stat-note{font-size:13px}.stat-label svg{width:15px;height:15px}.panel-heading{padding:16px;gap:12px}.viewer-heading{align-items:flex-start}.view-tabs{width:100%}.view-tabs button{flex:1}.viewport{flex:0 0 380px;height:380px;min-height:380px}.scene-caption{left:14px}.scene-hint{left:14px;max-width:calc(100% - 28px);gap:5px}.scene-tooltip{left:14px;font-size:14px}.scene-tooltip p{font-size:13px}.manual-toolbar{padding:12px 14px}.manual-toolbar .button{font-size:13px;padding:9px 10px}.manual-coordinates{gap:8px}.manual-coordinates label{font-size:13px}.manual-editor{padding:14px}.playback{gap:8px;padding:10px 12px}.playback-title{font-size:13px}.playback input{min-width:50px}#step-label{font-size:13px}.playback .text-button{margin-left:auto}.config-panel form{display:block;padding:16px}.config-panel form>label{margin-bottom:8px}.config-panel form>input,.config-panel form>select{margin-bottom:18px!important}.config-panel .label-line{margin-bottom:8px}.config-panel .dimensions{margin-bottom:18px}.config-panel .field-hint{margin:-8px 0 16px}.config-panel .rules{margin:18px 0}.cargo-actions{gap:10px}.cargo-actions .button{padding:10px 12px}.row-filters{padding:14px;gap:10px}.row-filters select{flex:1;width:auto;min-width:100px}.row-filters button{width:100%;margin:0}.table-footer{padding:14px}.placement-panel summary{padding:16px}.placement-panel summary>.muted{font-size:13px}.coordinate-note{padding:14px 16px}.page-footer{font-size:12px}dialog{padding:20px}.dialog-heading h2{font-size:21px}.form-two{gap:12px}.dialog-footer .button{flex:1}.toast{bottom:16px;font-size:14px}.storage-warning{padding:14px;font-size:14px}.cargo-panel table,.cargo-panel tbody{display:block;width:100%;white-space:normal}.cargo-panel thead{display:none}.cargo-panel tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 16px;border-bottom:1px solid var(--border)}.cargo-panel tbody tr:last-child{border-bottom:0}.cargo-panel td{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere;font-size:15px}.cargo-panel td:first-child,.cargo-panel td:last-child,.cargo-panel .empty-row{grid-column:1/-1}.cargo-panel td[data-label]::before{content:attr(data-label);display:block;font:14px var(--font);line-height:1.6;color:var(--muted);margin-bottom:5px}.cargo-panel .row-actions{justify-content:stretch;padding-top:6px}.cargo-panel .row-actions .button{flex:1;font-size:15px}.cargo-panel .cargo-name-cell strong{max-width:none;min-width:0}.cargo-panel .cargo-name-cell{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
