:root{font-family:Aptos,Microsoft YaHei UI,sans-serif;color:#17211d;background:#eef1ed;font-synthesis:none;letter-spacing:0;--ink: #17211d;--muted: #69736e;--line: #d7ddd8;--paper: #ffffff;--accent: #087f68;--accent-dark: #056653;--amber: #b06a16;--danger: #b23a32}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#e8ece7 0,#f5f6f3 340px 100%)}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}h1,h2,p{margin:0}.print-only{display:none}.import-report{padding:16px;margin:16px 0;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;background:var(--paper)}.import-report h2{font-size:16px;margin-bottom:10px}.import-report p{font-size:13px;line-height:1.7;margin-bottom:10px}.import-issues{max-height:240px;overflow:auto;font-size:13px;line-height:1.8;color:var(--danger)}.issue-link{color:inherit;border:0;background:none;text-align:left;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.app-shell,.results-page{min-height:100vh}.app-header,.result-toolbar{min-height:78px;padding:16px clamp(18px,4vw,56px);display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(23,33,29,.12)}.app-header{min-height:88px}.brand-mark{width:50px;height:50px;display:grid;place-items:center;color:#fff;background:var(--ink);border-radius:7px}.brand-mark--cube{position:relative;background:#075846;box-shadow:inset 0 2px #fff3,4px 4px #b8c9be;transform:rotateX(7deg) rotateY(-10deg)}.brand-mark--cube:after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.22);border-radius:4px;pointer-events:none}.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.4px}.app-header h1{font-size:28px;line-height:1.1}.result-toolbar h1{font-size:22px;line-height:1.1}.header-status{margin-left:auto;display:flex;align-items:center;gap:7px;color:#415048;font-size:13px}.header-action{min-height:32px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;color:#245448;background:#f4faf6;border:1px solid #b9d1c5;border-radius:4px;font-size:12px;font-weight:700}.header-action:hover{background:#e6f5ed;border-color:var(--accent)}.input-workspace{width:min(1460px,calc(100% - 32px));margin:26px auto 120px}.planning-brief{margin-bottom:24px;overflow:hidden;background:#edf3ee;border:1px solid #cbd7ce;border-radius:7px}.quick-start{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:0 0 20px;padding:16px 20px;background:#f6f9f6;border:1px solid #cbd7ce;border-radius:7px}.quick-start>div{flex:1 1 280px}.quick-start p{margin:6px 0 0;font-size:13px;line-height:1.6}.quick-start .example-note{flex-basis:100%;color:#76551c}.planning-banner{width:100%;display:block;aspect-ratio:8 / 1;object-fit:cover}.planning-detail{min-height:78px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#edf3ee;border-top:1px solid #cbd7ce}.planning-copy{min-width:0}.planning-kicker{display:block;margin-bottom:7px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.3px}.planning-brief h2{font-size:17px;line-height:1.3}.planning-note{flex:0 0 auto;color:#526058;font-size:12px}.section-block{margin-bottom:24px}.section-heading{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading h2,.result-inspector h2{font-size:16px}.step-index{color:var(--accent);font-size:11px;font-weight:800}.section-note{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.cargo-actions{display:flex;align-items:center;gap:7px}.preset-picker{position:relative}.compact-button{min-height:31px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;color:#425049;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:11px;font-weight:700}.compact-button:hover,.compact-button[aria-expanded=true]{color:var(--accent-dark);border-color:#98aaa0;background:#f0fbf7}.preset-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:min(390px,calc(100vw - 32px));max-height:min(520px,70vh);overflow-y:auto;padding:7px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #17211d24}.preset-group+.preset-group{margin-top:7px;padding-top:7px;border-top:1px solid #e7ebe8}.preset-group>strong{display:block;padding:5px 8px;color:var(--accent-dark);font-size:10px;letter-spacing:.08em}.preset-group>button{width:100%;padding:8px;display:grid;gap:3px;text-align:left;color:var(--ink);background:transparent;border:0;border-radius:4px}.preset-group>button:hover{background:#f0f5f1}.preset-group>button span{font-size:12px;font-weight:800}.preset-group>button small{color:var(--muted);font-size:10px;line-height:1.35}.pending-weight{position:absolute;left:9px;top:calc(100% + 3px);color:var(--amber);font-size:9px;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.container-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.container-option{min-height:88px;padding:15px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon name" "icon dimensions" "icon payload";align-content:center;column-gap:12px;text-align:left;color:var(--ink);background:#ffffffc7;border:1px solid var(--line);border-radius:7px}.container-option svg{grid-area:icon;align-self:center;color:#56645d}.container-option:hover{border-color:#98aaa0}.container-option.is-selected{background:#f0fbf7;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.container-option.is-selected svg{color:var(--accent)}.container-name{grid-area:name;font-weight:800}.container-dimensions{grid-area:dimensions;margin-top:4px;color:#4f5a55;font-size:12px}.container-payload{grid-area:payload;margin-top:2px;color:var(--muted);font-size:11px}.custom-container-editor{margin-top:10px;padding:13px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;background:#f0f5f1;border:1px solid #b8c6bd;border-radius:6px}.custom-container-editor label{display:grid;gap:5px;color:var(--muted);font-size:11px}.cargo-table{overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.cargo-table-head,.cargo-row{min-width:1260px;display:grid;grid-template-columns:180px 76px 228px 108px 78px 118px 112px 110px 38px;gap:10px;align-items:center}.cargo-table-head{min-height:38px;padding:0 12px;color:var(--muted);background:#f3f5f2;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.cargo-row{min-height:82px;padding:11px 12px;border-bottom:1px solid #e6e9e6}.cargo-row:last-child{border-bottom:0}input,select{width:100%;height:34px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid #cfd6d1;border-radius:4px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #087f681f}.cargo-identity{display:grid;gap:5px}.field-title{display:none}.cargo-identity input{font-weight:800}.dimension-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.unit-input{position:relative;display:flex;align-items:center}.unit-input input{padding-right:31px}.unit-input .unit-suffix,.unit-input i{position:absolute;right:8px;color:var(--muted);font-size:11px;font-style:normal}.quantity-input{text-align:center;font-weight:800}.stack-controls,.constraint-flags{display:grid;gap:5px;color:#45524c;font-size:11px}.toggle-label,.constraint-flags label,.mini-input{display:flex;align-items:center;gap:5px}.toggle-label input,.constraint-flags input{width:15px;height:15px;accent-color:var(--accent)}.mini-input input{width:48px;height:27px;padding:0 5px}.top-load-input{position:relative}.top-load-input input{width:61px;padding-right:20px}.top-load-input span{position:absolute;right:3px;color:var(--muted);font-size:9px}.icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;background:transparent;border:0;border-radius:4px}.icon-button.danger{color:#9a4b45}.icon-button:hover{background:#f2f3f1}.add-cargo-button,.text-button,.primary-outline-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px;font-weight:700}.add-cargo-button{margin-top:10px}.settings-block{padding-top:4px}.settings-grid{display:grid;grid-template-columns:190px 190px minmax(260px,1fr);gap:12px;align-items:end;padding:15px;background:#fffc;border:1px solid var(--line);border-radius:7px}.settings-grid>label{display:grid;gap:7px;color:var(--muted);font-size:12px}.ai-key-field input{min-width:0}.setting-summary{min-height:34px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:12px}.model-settings-page{min-height:100vh;background:linear-gradient(180deg,#eef2f0 0,#f8f9f7)}.settings-topbar{min-height:82px;padding:14px clamp(18px,5vw,72px);display:flex;align-items:center;gap:18px;border-bottom:1px solid #d7ddd8;background:#ffffffbf}.settings-topbar h1{font-size:20px}.back-button{min-height:34px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;color:#3e5148;background:transparent;border:0;border-radius:4px;font-size:13px;font-weight:700}.back-button:hover{background:#edf2ee}.model-settings-panel{width:min(620px,calc(100% - 32px));margin:48px auto;padding:27px;background:#fff;border:1px solid #d4ddd7;border-radius:7px;box-shadow:0 14px 34px #17211d14}.settings-panel-heading{display:flex;gap:12px;align-items:center;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e4e9e5}.settings-icon{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--accent);border-radius:6px}.settings-panel-heading h2{font-size:17px}.settings-panel-heading p,.model-security-note{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.model-form{display:grid;gap:16px}.model-form label{display:grid;gap:7px;color:#45534c;font-size:12px;font-weight:700}.model-form-actions{display:flex;gap:9px;margin-top:24px}.model-save-button,.model-test-button{min-height:39px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;font-size:13px;font-weight:800}.model-save-button{color:#fff;background:var(--accent);border:1px solid var(--accent)}.model-save-button:hover{background:var(--accent-dark)}.model-test-button{color:#25483d;background:#fff;border:1px solid #bfd1c6}.model-test-button:hover{background:#f0f8f3}.model-test-button:disabled{cursor:not-allowed;opacity:.6}.connection-result{margin-top:17px;padding:10px 11px;display:flex;align-items:center;gap:7px;border:1px solid;border-radius:5px;font-size:12px}.connection-result.success{color:#1d6a48;background:#eef9f2;border-color:#b9ddc7}.connection-result.error{color:#923a32;background:#fff1ef;border-color:#e9bbb6}.model-security-note{margin-bottom:0}.form-error{padding:11px 13px;color:#7f2f2a;background:#fff1ef;border:1px solid #e7b6b2;border-radius:5px}.calculate-bar{position:fixed;z-index:10;left:0;right:0;bottom:0;min-height:82px;padding:13px max(18px,calc((100vw - 1460px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f6f8f5f0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.calculate-bar>div{display:flex;align-items:baseline;gap:8px}.calculate-bar strong{font-size:22px}.calculate-bar span{color:var(--muted);font-size:13px}.calculate-button{min-width:210px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:var(--accent);border:0;border-radius:6px;font-weight:800}.calculate-button:hover{background:var(--accent-dark)}.calculate-button:disabled{cursor:not-allowed;opacity:.55}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-page{padding-bottom:40px;background:#f4f6f3}.results-page>.solution-tabs{position:sticky;top:0;z-index:10;box-shadow:0 3px 12px #17302912}.result-toolbar{display:grid;grid-template-columns:1fr auto 1fr;background:#edf0eb}.result-toolbar>div{text-align:center}.result-toolbar>.text-button:first-child{justify-self:start}.result-actions{justify-self:end;display:flex;align-items:center;gap:8px}.result-actions .text-button,.result-actions .primary-outline-button{white-space:nowrap}.recalculate-control{display:flex;align-items:center;gap:6px}.recalculate-control select{min-width:112px;height:38px;font-size:12px;font-weight:700}.recalculate-button:disabled{cursor:not-allowed;opacity:.55}.recalculate-error{width:min(1380px,calc(100% - 32px));margin:12px auto 0;padding:10px 12px;color:#7f2f2a;background:#fff1ef;border:1px solid #e7b6b2;border-radius:5px;font-size:12px}.ai-strategy-status{width:min(1380px,calc(100% - 32px));margin:12px auto 0;padding:10px 13px;display:flex;align-items:flex-start;gap:9px;border:1px solid;border-left-width:4px;border-radius:6px}.ai-strategy-status>div{min-width:0}.ai-strategy-status h2{margin:0;font-size:12px}.ai-strategy-status p{margin:3px 0 0;font-size:12px;line-height:1.45}.ai-strategy-status small{display:block;margin-top:4px;font-size:11px;overflow-wrap:anywhere}.ai-strategy-status--considered{color:#176052;background:#edf8f4;border-color:#b7dfd3;border-left-color:#24947c}.ai-strategy-status--fallback{color:#79500e;background:#fff6e7;border-color:#ead09b;border-left-color:#d88a19}.ai-strategy-status--disabled{color:#526058;background:#f0f3f0;border-color:#d5ddd6;border-left-color:#87948b}.solution-tabs{width:min(1380px,calc(100% - 32px));margin:10px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}.solution-tab{min-height:68px;padding:9px 14px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:left;color:var(--ink);background:#fff;border:0;border-right:1px solid var(--line)}.solution-tab:last-child{border-right:0}.solution-tab.is-active{color:#fff;background:var(--ink)}.solution-tab-name{font-size:14px;font-weight:800}.solution-tab strong{grid-row:span 2;font-size:19px}.solution-tab>span:not(.solution-tab-name){color:#6b7771;font-size:11px}.solution-tab.is-active>span:not(.solution-tab-name){color:#b9c8c0}.solution-tab em{grid-column:1 / -1;color:#a9bab1;font-size:10px;font-style:normal}.solution-tab .recommend-badge{color:#e08b22;font-weight:700}.solution-tab.is-active .recommend-badge{color:#ffd58a}.solution-comparison{width:min(1380px,calc(100% - 32px));margin:8px auto 0;padding:10px 14px;background:#fffc;border:1px solid var(--line);border-radius:7px}.solution-comparison summary{cursor:pointer;font-size:12px;font-weight:700}.solution-comparison summary span{margin-left:12px;color:var(--muted);font-size:11px;font-weight:400}.solution-comparison[open] summary{margin-bottom:10px}.solution-comparison h2{margin-bottom:10px;font-size:15px}.comparison-table-wrap{overflow-x:auto}.comparison-table{width:100%;min-width:620px;border-collapse:collapse;font-size:12px}.comparison-table th,.comparison-table td{padding:9px 10px;text-align:right;border-bottom:1px solid #e4e9e5;white-space:nowrap}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}.comparison-table thead th{color:var(--accent-dark);font-weight:800;background:#f2f7f3}.comparison-table tbody th{color:var(--muted);font-weight:600}.balance-warning{width:min(1380px,calc(100% - 32px));margin:12px auto 0;padding:10px 12px;color:#7a4d0b;background:#fff3dc;border:1px solid #ecc98b;border-radius:8px;font-size:13px}.workspace-grid{width:min(1380px,calc(100% - 32px));height:clamp(360px,calc(100dvh - 340px),640px);margin:12px auto 0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workspace-grid>.load-visualizer{min-height:0}.workspace-grid .layout-svg{min-height:0}.load-visualizer{position:relative;min-width:0;min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#e9eeea;overflow:hidden}.visual-controls{min-height:48px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f4f6f3f0;border-bottom:1px solid var(--line)}.view-switcher{display:flex;gap:2px;padding:3px;background:#dfe5e0;border-radius:5px}.view-switcher button{min-width:60px;min-height:31px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#56645d;background:transparent;border:0;border-radius:3px;font-size:11px;font-weight:700}.view-switcher button.is-active{color:#fff;background:var(--ink)}.step-control{display:flex;align-items:center;gap:6px}.step-control label{min-width:170px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--muted);font-size:10px}.step-control input,.layer-control input{height:20px;padding:0;accent-color:var(--accent);border:0;box-shadow:none}.visual-stage{position:relative;min-height:0;display:grid;place-items:stretch;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(23,33,29,.035) 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(23,33,29,.035) 40px),#e9eeea}.three-scene{position:absolute;inset:0;min-height:100%}.three-scene canvas{display:block;width:100%;height:100%}.visual-fallback{position:absolute;z-index:2;top:10px;left:10px;right:10px;padding:8px 10px;color:#6f4b0e;background:#fff6e0f0;border:1px solid #e6c98c;border-radius:5px;font-size:11px;text-align:center;pointer-events:none}.layout-svg{width:100%;height:100%;min-height:460px;padding:24px}.layout-item{cursor:pointer;transition:opacity .16s ease}.layout-workbench{position:fixed;z-index:50;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);color:var(--ink);background:#f4f6f3}.workbench-header{min-height:62px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#173029;color:#fff}.workbench-header small{color:#b8c9c0;font-size:10px;letter-spacing:.08em}.workbench-header h1{margin:3px 0 0;font-size:20px}.workbench-actions,.workbench-mode{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.workbench-actions button,.workbench-mode button,.workbench-inspector button{min-height:32px;padding:0 10px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:4px;font-size:11px}.workbench-actions button:disabled,.workbench-inspector button:disabled{cursor:not-allowed;opacity:.45}.workbench-actions .workbench-apply{color:#173029;background:#e9bb61;border-color:#e9bb61;font-weight:800}.workbench-mode{min-height:43px;padding:5px 14px;color:var(--muted);background:#fff;border-bottom:1px solid var(--line)}.workbench-mode button{color:var(--muted);border-color:var(--line)}.workbench-mode button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.workbench-mode span{margin-right:auto;font-size:11px}.workbench-body{position:relative;min-height:0;overflow:hidden;display:grid;grid-template-columns:220px minmax(0,1fr) 300px}.workbench-edit-fields{border:0;margin:0;padding:0;min-width:0}.workbench-edit-fields>label{display:block;margin:8px 0;font-size:11px}.workbench-edit-fields input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0 6px 0 0;padding:0;vertical-align:middle}.workbench-nudge{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.workbench-action-status{position:absolute;top:62px;left:10px;right:10px;padding:10px;background:#fff4df;border:1px solid #e0bc77;border-radius:4px;font-size:12px;pointer-events:none}.workbench-panel-toggle{display:none}.workbench-canvas .visual-controls{flex-wrap:wrap}.workbench-canvas .layout-svg{min-height:0;touch-action:none}.workbench-cargo,.workbench-inspector{min-width:0;padding:14px;overflow:auto;background:#fff}.workbench-cargo{border-right:1px solid var(--line)}.workbench-inspector{border-left:1px solid var(--line)}.workbench-cargo h2,.workbench-inspector h2{margin:0 0 8px;font-size:14px}.workbench-cargo h2 small{color:var(--muted);font-weight:500}.workbench-cargo input,.workbench-inspector input,.workbench-inspector select{width:100%;box-sizing:border-box;min-height:32px;margin:4px 0 9px;padding:5px 7px;font-size:12px}.workbench-cargo-list{display:grid;gap:4px}.workbench-cargo-list button{min-height:34px;padding:6px 8px;text-align:left;color:var(--muted);background:#f6f8f6;border:1px solid var(--line);border-radius:4px;font-size:11px}.workbench-cargo-list button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.workbench-cargo-list small{float:right;color:#bd7d1b}.workbench-canvas{position:relative;min-width:0;min-height:0;overflow:hidden;background:#e9eeea}.workbench-canvas .load-visualizer{width:100%;height:100%;min-height:0}.workbench-caption{position:absolute;left:12px;bottom:10px;padding:5px 8px;color:var(--muted);background:#ffffffd9;border:1px solid var(--line);border-radius:3px;font-size:11px;pointer-events:none}.workbench-inspector p,.workbench-inspector small,.workbench-cargo p{color:var(--muted);font-size:11px;line-height:1.5}.workbench-inspector>label{display:block;margin:8px 0;color:var(--muted);font-size:11px}.workbench-readonly-field input{color:var(--muted);background:#f3f6f3;cursor:not-allowed}.workbench-inspector>label input[type=checkbox]{width:auto;min-height:0;margin-right:5px}.workbench-coordinates{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.workbench-coordinates label{color:var(--muted);font-size:10px}.workbench-issue{width:100%;margin:3px 0;color:#9a382f!important;border-color:#e5b3ad!important;text-align:left}.workbench-inspector h2:not(:first-child){margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}@media(max-width:900px){.workbench-panel-toggle{display:block}.workbench-body{grid-template-columns:minmax(0,1fr)}.workbench-cargo,.workbench-inspector{position:absolute;z-index:3;top:0;bottom:0;width:min(320px,86vw);box-shadow:0 8px 30px #17302933;transform:translate(-105%);transition:transform .18s ease}.workbench-inspector{right:0;left:auto;transform:translate(105%)}.workbench-cargo.is-open,.workbench-inspector.is-open{transform:translate(0)}.workbench-header{align-items:flex-start}.workbench-actions button:nth-child(2),.workbench-actions button:nth-child(3){min-width:42px;padding:0 6px;font-size:10px}.workbench-mode span{width:100%;order:5}}.layout-zone .zone-outline{fill:none;stroke:#173029;stroke-width:3;stroke-dasharray:10 6}.layout-zone .zone-badge{fill:#173029}.layout-zone .zone-badge-text{font-weight:700}.layer-control{min-height:38px;padding:5px 12px;display:grid;grid-template-columns:95px 1fr;align-items:center;gap:10px;color:var(--muted);background:#f4f6f3f0;border-top:1px solid var(--line);font-size:11px}.cargo-legend{min-height:42px;padding:7px 10px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;background:#f4f6f3f0;border-top:1px solid var(--line)}.cargo-legend button{min-height:27px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;color:#526058;background:#fff;border:1px solid var(--line);border-radius:3px;font-size:10px}.cargo-legend button.is-active{color:var(--ink);border-color:var(--ink)}.cargo-legend i{width:8px;height:8px}.cargo-legend-item{display:inline-flex;align-items:center;gap:3px}.cargo-lock-button{min-height:27px;padding:0 5px;color:var(--muted);background:#f5f7f5;border:1px solid var(--line);border-radius:3px;font-size:10px}.cargo-lock-button.is-locked{color:var(--accent-dark);background:#e3f3eb;border-color:#9ccbb5}.edit-message{margin:8px 0;padding:8px 10px;color:#31564a;background:#edf7f1;border:1px solid #b9d8c6;border-radius:4px;font-size:12px}.edit-summary{width:min(1380px,calc(100% - 32px));margin:12px auto 0;padding:9px 12px;display:flex;align-items:center;gap:10px;color:#6b4a18;background:#fff8e9;border:1px solid #e4c98f;border-radius:5px;font-size:12px}.edit-summary span{color:#765f35}.edit-summary button{margin-left:auto;padding:4px 8px;color:#6b4a18;background:transparent;border:1px solid #cba967;border-radius:3px;font-size:11px}.solution-feedback{width:min(1380px,calc(100% - 32px));margin:10px auto 0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.solution-feedback button{padding:5px 11px;color:#526058;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:11px}.solution-feedback button.is-selected{color:#fff;background:var(--accent);border-color:var(--accent)}.adjustment-panel{width:min(1380px,calc(100% - 32px));margin:10px auto 0;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#f8faf7}.adjustment-panel h2{margin:0 0 4px;font-size:15px;color:var(--ink)}.adjustment-panel p{margin:0 0 12px;color:var(--muted);font-size:12px}.adjustment-topics{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px}.adjustment-topics label{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;font-size:12px;cursor:pointer}.adjustment-topics label:has(input:checked){color:var(--accent-dark);background:#e6f4ee;border-color:#77b7a5}.adjustment-topics input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0;padding:0;accent-color:var(--accent);box-shadow:none}.adjustment-panel textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--line);border-radius:5px;padding:8px;font:inherit;font-size:12px}.adjustment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.adjustment-confirmation{color:#087f68!important;margin-top:10px!important;margin-bottom:0!important}.saved-orders{margin:-12px 0 24px;padding:10px 12px;display:flex;align-items:center;gap:10px;color:var(--muted);background:#ffffffa6;border:1px solid var(--line);border-radius:5px;font-size:12px}.saved-orders>div{display:flex;align-items:center;gap:8px}.saved-orders button{padding:5px 9px;color:var(--accent-dark);background:#f0fbf7;border:1px solid #b9d1c5;border-radius:4px;font-size:11px}.saved-orders select{min-width:220px;margin-left:auto;padding:5px 8px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;font-size:11px}.result-inspector{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px;border-left:1px solid var(--line)}.inspector-details{padding:10px 0;border-top:1px solid var(--line)}.inspector-details summary{cursor:pointer;font-size:13px;font-weight:700}.inspector-details summary span{margin-left:6px;font-size:11px;font-weight:400;color:var(--muted)}.inspector-details summary svg{vertical-align:middle;margin-right:5px}.inspector-details[open] summary{margin-bottom:10px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.metric-strip>div{padding:11px;display:grid;gap:4px;background:#fff}.metric-strip span{color:var(--muted);font-size:10px}.metric-strip strong{font-size:17px}.pros-cons-grid{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.pros,.cons{padding:12px;border-radius:5px}.pros{background:#edf8f3}.cons{background:#fff5e8}.pros h2,.cons h2{display:flex;align-items:center;gap:6px}.pros p,.cons p{margin-top:7px;color:#53605a;font-size:12px;line-height:1.55}.load-summary{margin-top:18px}.summary-row{min-height:52px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;border-bottom:1px solid #e4e8e4}.summary-row>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 8px;font-weight:800;font-size:13px}.summary-row i{width:8px;height:8px;grid-row:span 2;background:var(--accent)}.summary-row small{color:var(--muted);font-size:10px;font-weight:400}.summary-row em{grid-column:2;color:var(--amber);font-size:10px;font-style:normal}.result-notices{min-width:0;margin-top:18px;display:grid;gap:10px}.notice-group{min-width:0;padding:12px 13px;border:1px solid;border-left-width:4px;border-radius:6px;overflow:hidden}.notice-group h2{margin:0 0 7px;display:flex;align-items:center;gap:6px;font-size:12px}.notice-group .result-warning{min-width:0;margin:0;padding:8px 0 0;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.notice-group .result-warning+.result-warning{margin-top:8px;border-top:1px solid currentColor}.notice-group--critical{color:#9d3029;background:#fff0ee;border-color:#e6b3ae;border-left-color:#c7463c}.notice-group--caution{color:#79500e;background:#fff6e7;border-color:#ead09b;border-left-color:#d88a19}.notice-group--info{color:#176052;background:#edf8f4;border-color:#b7dfd3;border-left-color:#24947c}@media(max-width:900px){.container-options{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}.setting-summary{grid-column:1 / -1;justify-content:flex-start}.workspace-grid{grid-template-columns:1fr;height:auto}.workspace-grid>.load-visualizer{height:clamp(360px,60dvh,540px)}.load-visualizer{min-height:500px}.result-inspector{max-height:440px;border-left:0;border-top:1px solid var(--line)}.custom-container-editor{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.app-header{min-height:74px;padding:12px 16px}.brand-mark{width:44px;height:44px}.app-header h1{font-size:23px}.header-status span{display:none}.header-action{width:34px;min-width:34px;padding:0;font-size:0;justify-content:center}.model-settings-panel{width:calc(100% - 24px);margin:22px auto;padding:20px 16px}.settings-topbar{min-height:68px;padding:10px 12px}.model-form-actions{display:grid;grid-template-columns:1fr 1fr}.model-save-button,.model-test-button{min-width:0;padding:0 8px}.input-workspace{width:calc(100% - 24px);margin-top:14px}.planning-detail{min-height:0;padding:13px 15px;align-items:flex-start;flex-direction:column;gap:5px}.planning-banner{height:72px;object-position:center}.planning-brief h2{font-size:15px}.planning-note{font-size:11px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.cargo-actions{width:100%;flex-wrap:wrap}.preset-menu{left:0;right:auto;width:min(390px,calc(100vw - 24px))}.container-option{min-height:72px}.custom-container-editor{grid-template-columns:repeat(2,1fr)}.cargo-table{overflow:visible;border:0;background:transparent}.cargo-table-head{display:none}.cargo-row{position:relative;min-width:0;width:100%;min-height:0;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:7px}.cargo-identity,.dimension-inputs{grid-column:1 / -1}.cargo-field{min-width:0;display:grid;gap:5px}.cargo-field:before,.field-title{display:block;color:var(--muted);font-size:10px;font-weight:700}.cargo-field[data-label]:before{content:attr(data-label)}.cargo-identity:before{padding-right:36px}.cargo-row>.icon-button{position:absolute;top:8px;right:8px}.stack-controls,.constraint-flags{min-height:86px;padding:8px;align-content:start;background:#f4f6f3;border-radius:4px}.top-load-input input{width:76px}.settings-grid{grid-template-columns:1fr}.setting-summary{grid-column:auto}.calculate-bar{min-height:74px;padding:10px 12px}.calculate-button{min-width:175px}.result-toolbar{min-height:70px;padding:10px 12px;grid-template-columns:auto 1fr;grid-template-areas:"back title" "actions actions";gap:8px 10px}.result-toolbar>.text-button:first-child{grid-area:back}.result-toolbar>div:nth-child(2){grid-area:title}.result-toolbar .text-button,.result-toolbar .primary-outline-button{width:38px;min-width:38px;padding:0;font-size:0}.result-actions{width:100%;display:grid;grid-area:actions;grid-template-columns:auto minmax(0,1fr) 38px;gap:6px}.result-actions>.primary-outline-button:first-child{width:auto;padding:0 10px;font-size:12px}.recalculate-control{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px}.recalculate-control select{width:100%;min-width:0}.ai-strategy-status{width:calc(100% - 24px)}.solution-tabs{width:calc(100% - 24px);margin-top:12px}.solution-tab{min-height:78px;padding:10px;display:flex;flex-direction:column}.solution-tab strong{font-size:18px}.solution-tab em{display:none}.workspace-grid{width:100%;margin-top:10px}.load-visualizer{min-height:430px}.visual-controls{align-items:stretch;flex-direction:column}.view-switcher{display:grid;grid-template-columns:repeat(5,1fr)}.view-switcher button{min-width:0;padding:0 4px}.view-switcher button span{display:none}.step-control{justify-content:space-between}.layout-svg{min-height:300px;padding:12px}.metric-strip{grid-template-columns:1fr 1fr}.pros-cons-grid{grid-template-columns:1fr}}.worksheet-panel{width:min(1460px,calc(100% - 32px));margin:16px auto;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.worksheet-panel>summary{cursor:pointer;padding:14px 16px;font-weight:700}.worksheet-panel>summary span{margin-left:10px;font-size:12px;color:var(--muted);font-weight:400}.loading-worksheet{padding:0 16px 16px}.worksheet-guide{color:#46534d;font-size:12px;line-height:1.7;padding:10px 0}.worksheet-guide p+p{margin-top:5px}.worksheet-guide small{display:block;color:var(--muted)}.worksheet-scroll{max-height:380px;overflow:auto;border:1px solid var(--line)}.worksheet-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.worksheet-table{width:100%;min-width:860px;table-layout:fixed;border-collapse:collapse;font-size:12px;line-height:1.6}.worksheet-table thead{position:sticky;top:0;background:#edf3ee}.worksheet-table th,.worksheet-table td{text-align:left;vertical-align:top;padding:8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.worksheet-table td+td,.worksheet-table th+th{border-left:1px solid var(--line)}.worksheet-table td span,.worksheet-table td small,.worksheet-table td strong{display:block}.worksheet-table td small{color:#59665f}.worksheet-table tbody tr:nth-child(2n){background:#f8faf8}.worksheet-check{width:12px;height:12px;border:1px solid #69736e;margin-top:4px}.worksheet-issue{color:var(--danger);font-size:12px;margin:8px 0}.worksheet-empty{padding:12px 16px;color:var(--muted)}.worksheet-signature{margin-top:16px;padding:12px 0;border-top:1px solid #69736e;break-inside:avoid}.worksheet-signature>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0}@media(max-width:600px){.worksheet-panel>summary span{display:block;margin:6px 0 0 16px}.loading-worksheet{padding:0 10px 10px}}@media print{body{background:#fff}.no-print,.solution-tabs,.workspace-grid{display:none!important}.print-only{display:block}.print-report{padding:16px}.print-report h1{margin-bottom:4px;font-size:20px}.print-report h2{margin:14px 0 8px;font-size:15px}.print-report h3{margin:10px 0 6px;font-size:13px}.print-report h4{margin:3px 0;font-size:11px}.print-report p{margin:5px 0;font-size:12px}.print-meta{color:#59665f;font-size:12px}.print-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.print-table th,.print-table td{border:1px solid #b9c2bc;padding:5px 8px;text-align:left}.print-table th{background:#eef2ef;font-weight:600}.print-recommend{font-weight:600;margin:10px 0}.print-solution-page{break-before:page}.print-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.print-pros-cons>div{padding:8px;border:1px solid #d7ddd8}.print-snapshot{width:100%;max-height:300px;object-fit:contain;margin:8px 0}.print-layouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.print-layouts .layout-svg{min-height:0;max-height:300px;padding:0;page-break-inside:avoid}.print-zones{font-size:11px;color:#46534d;line-height:1.6}.print-zones span{white-space:normal}.print-steps{margin:6px 0 10px;padding:7px 10px;background:#f5f7f5;border-left:3px solid #087f68}.print-steps p{margin:3px 0}.print-layer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.print-layer{page-break-inside:avoid;break-inside:avoid}.print-layer .layout-svg{width:100%;max-height:170px;min-height:0;padding:0}.loading-worksheet--print{padding:0}.worksheet-scroll{max-height:none;overflow:visible;border:0}.worksheet-table{min-width:0;font-size:10px}.worksheet-table thead{position:static;display:table-header-group}.worksheet-table tr{break-inside:avoid;page-break-inside:avoid}.worksheet-table th,.worksheet-table td{border:1px solid #b9c2bc;padding:4px}.worksheet-guide p,.worksheet-signature p{font-size:10px}.worksheet-guide small,.worksheet-signature small{font-size:9px}.worksheet-signature{font-size:11px}}.calculation-fields{border:0;padding:0;margin:0;min-width:0}.calculation-fields[disabled]{padding-bottom:120px}.calculation-progress{position:fixed;z-index:100;bottom:18px;left:50%;transform:translate(-50%);width:min(580px,calc(100% - 32px));padding:16px 20px;background:#f0f6f2;border:1px solid #b4c8bb;border-radius:12px;box-shadow:0 8px 32px #17211d26;color:#17211d}.calculation-progress>span{float:right;font-variant-numeric:tabular-nums}.calculation-progress p{margin:8px 0 0;font-size:13px;line-height:1.6}.workbench-piece-actions{display:grid;gap:8px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f4f7f5}.workbench-piece-actions select{width:100%;min-width:0}.workbench-unloaded{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.workbench-unloaded p{font-size:13px;margin:6px 0}.workbench-unloaded small{display:block;color:var(--muted);line-height:1.6}.order-history{margin:12px 0 20px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#f8faf8;font-size:12px}.results-page>.order-history{margin:8px 16px}.order-history-save{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.order-history-save label{display:flex;align-items:center;gap:8px}.order-history input{width:min(210px,50vw);min-height:30px;padding:4px 8px;border:1px solid var(--line);border-radius:4px}.order-history button{min-height:30px;padding:4px 9px;color:var(--accent-dark);background:#fff;border:1px solid #b9d1c5;border-radius:4px;cursor:pointer}.order-history summary{cursor:pointer;padding:8px 0 0;font-weight:600}.order-history ul{list-style:none;padding:0;margin:8px 0 0;max-height:320px;overflow:auto}.order-history li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.order-history li small{display:block;color:var(--muted);margin-top:4px}.history-row-actions{display:flex;flex-wrap:wrap;gap:6px}.history-note{color:var(--muted);margin-top:8px;line-height:1.6}.solution-assessment{margin:12px 30px;padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:#f8faf8;font-size:13px;line-height:1.65}.solution-assessment summary{cursor:pointer;font-weight:600}.assessment-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.assessment-metrics dt{color:var(--muted);font-size:12px}.assessment-metrics dd{margin:2px 0;font-weight:600}.diagnostic-regions{max-height:220px;overflow:auto}.diagnostic-regions button{margin-left:8px;padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--accent-dark);cursor:pointer}@media(max-width:640px){.solution-assessment{margin:10px 16px}}@media print{.solution-assessment{margin:8px 0;padding:8px;break-inside:auto}.diagnostic-regions{max-height:none;overflow:visible}}
