:root{--bg-primary:#fff;--bg-secondary:#faf7f4;--bg-tertiary:#f3efeb;--bg-accent-soft:#fff1ea;--bg-canvas:#fdfbf9;--bg-dot:#e6ddd6;--bg-illustration:#f5f1ed;--bg-neutral:#f4ede8;--bg-success:#dcfce7;--bg-warning:#fff7ed;--bg-danger:#fef2f2;--bg-success-soft:#f0fdf4;--bg-overlay-soft:#ffffffeb;--bg-overlay:#fffffff0;--bg-overlay-strong:#fffffff5;--border-default:#0000001a;--border-hover:#0003;--border-input:#d9cfc7;--border-subtle:#0000000f;--border-soft:#00000014;--border-accent:#ff4c0059;--border-accent-muted:#ff4c0047;--border-accent-soft:#ff4c002e;--border-accent-tint:#ff4c0033;--border-danger-soft:#dc262638;--border-warning-soft:#d9770640;--border-success-soft:#16a34a33;--accent:#ff4c00;--accent-hover:#e44400;--focus-ring:#ff4c0033;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--danger-hover:#b91c1c;--text-success:#15803d;--text-warning:#a16207;--text-danger:#991b1b;--text-warning-alt:#9a3412;--text-primary:#222;--text-secondary:#333;--text-placeholder:#8a817b;--text-on-accent:#fff;--svg-shelf:#d1d0c9;--svg-support:#b8b7b0;--svg-text-dark:#0f172a;--svg-overlay-lg:#0f172a8c;--svg-overlay-sm:#0f172a29;--svg-block-border:#1111112e;--rack-block-border:#1111112e;--rack-block-bg:#ffffffeb;--neu-bg:#f5f1ed;--neu-btn-bg:color-mix(in srgb, var(--neu-bg) 90%, #fff 10%);--neu-shadow-out:-5px -5px 12px #ffffffd1, 5px 5px 12px #ad9a8e57;--neu-shadow-in:inset -2px -2px 6px #ffffffdb, inset 2px 2px 6px #ad9a8e47;--neu-shadow-btn:-4px -4px 10px #ffffffe0, 4px 4px 10px #ad9a8e57;--neu-shadow-btn-active:inset -2px -2px 5px #ffffffd1, inset 2px 2px 5px #ad9a8e52;--neu-accent:#ff4c00;--neu-accent-shadow:-3px -3px 8px #ffffff47, 3px 3px 10px #ff4c0057;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #00000008;--shadow-card:0 2px 16px #00000012, 0 1px 4px #0000000a;--shadow-md:0 6px 24px #0000001a, 0 2px 8px #0000000d;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-danger:#ef4444;--color-warning:#f59e0b;--color-success:#22c55e;--color-surface:#fff;--color-surface-secondary:#f8fafc;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-secondary:#64748b;--font-ui:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Mono", monospace;--fs-xs:10px;--fs-sm:11px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.2;--lh-normal:1.5;--lh-loose:1.7}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#1a1a18;--bg-secondary:#222220;--bg-tertiary:#2a2a27;--bg-accent-soft:#3a2419;--bg-canvas:#1e1e1c;--bg-dot:#2e2e2b;--bg-illustration:#2a2a27;--bg-neutral:#2a2a27;--bg-success:#14281e;--bg-warning:#2d2008;--bg-danger:#2d1010;--bg-success-soft:#0f2a18;--bg-overlay-soft:#1a1a18eb;--bg-overlay:#1a1a18f0;--bg-overlay-strong:#1a1a18f5;--border-default:#ffffff1a;--border-hover:#fff3;--border-input:#3a3a37;--border-subtle:#ffffff14;--border-soft:#ffffff1a;--border-accent:#ff4c0059;--border-accent-muted:#ff4c0047;--border-accent-soft:#ff4c002e;--border-accent-tint:#ff4c0033;--border-danger-soft:#ef444438;--border-warning-soft:#f59e0b40;--border-success-soft:#22c55e33;--accent:#ff4c00;--accent-hover:#ff6b2c;--focus-ring:#ff4c003d;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--danger-hover:#dc2626;--text-success:#4ade80;--text-warning:#fbbf24;--text-danger:#f87171;--text-warning-alt:#fb923c;--text-primary:#e8e8e4;--text-secondary:#c6c1bc;--text-placeholder:#5a5a56;--text-on-accent:#fff;--svg-shelf:#3a3a37;--svg-support:#4a4a46;--svg-text-dark:#e2e8f0;--svg-overlay-lg:#0000008c;--svg-overlay-sm:#00000040;--svg-block-border:#ffffff12;--rack-block-border:#ffffff12;--rack-block-bg:#1a1a18eb;--neu-bg:#26211e;--neu-shadow-out:-4px -4px 10px #ffffff0a, 4px 4px 10px #0006;--neu-shadow-in:inset -2px -2px 6px #ffffff0a, inset 2px 2px 6px #0006;--neu-shadow-btn:-3px -3px 8px #ffffff0d, 3px 3px 8px #0006;--neu-shadow-btn-active:inset -2px -2px 5px #ffffff0a, inset 2px 2px 5px #0006;--neu-accent:#ff4c00;--neu-accent-shadow:-3px -3px 8px #ffffff0a, 3px 3px 8px #ff4c0057;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003}}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8f8f6;--bg-tertiary:#f2f1ec;--bg-accent-soft:#fff1ea;--bg-canvas:#fcfcfa;--bg-dot:#e5e5e3;--bg-illustration:#f4f4f0;--bg-neutral:#f1efe8;--bg-success:#dcfce7;--bg-warning:#fff7ed;--bg-danger:#fef2f2;--bg-success-soft:#f0fdf4;--bg-overlay-soft:#ffffffeb;--bg-overlay:#fffffff0;--bg-overlay-strong:#fffffff5;--border-default:#0000001a;--border-hover:#0003;--border-input:#d1d0c9;--border-subtle:#0000000f;--border-soft:#00000014;--border-accent:#ff4c0059;--border-accent-muted:#ff4c0047;--border-accent-soft:#ff4c002e;--border-accent-tint:#ff4c0033;--border-danger-soft:#dc262638;--border-warning-soft:#d9770640;--border-success-soft:#16a34a33;--accent:#ff4c00;--accent-hover:#e44400;--focus-ring:#ff4c0033;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--danger-hover:#b91c1c;--text-success:#15803d;--text-warning:#a16207;--text-danger:#991b1b;--text-warning-alt:#9a3412;--text-primary:#222;--text-secondary:#333;--text-placeholder:#8a817b;--text-on-accent:#fff;--svg-shelf:#d1d0c9;--svg-support:#b8b7b0;--svg-text-dark:#0f172a;--svg-overlay-lg:#0f172a8c;--svg-overlay-sm:#0f172a29;--svg-block-border:#1111112e;--rack-block-border:#1111112e;--rack-block-bg:#ffffffeb;--neu-bg:#f5f1ed;--neu-btn-bg:color-mix(in srgb, var(--neu-bg) 90%, #fff 10%);--neu-shadow-out:-5px -5px 12px #ffffffd1, 5px 5px 12px #ad9a8e57;--neu-shadow-in:inset -2px -2px 6px #ffffffdb, inset 2px 2px 6px #ad9a8e47;--neu-shadow-btn:-4px -4px 10px #ffffffe0, 4px 4px 10px #ad9a8e57;--neu-shadow-btn-active:inset -2px -2px 5px #ffffffd1, inset 2px 2px 5px #ad9a8e52;--neu-accent:#ff4c00;--neu-accent-shadow:-3px -3px 8px #ffffff47, 3px 3px 10px #ff4c0057;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #00000008;--shadow-card:0 2px 16px #00000012, 0 1px 4px #0000000a;--shadow-md:0 6px 24px #0000001a, 0 2px 8px #0000000d}:root[data-theme=dark]{--bg-primary:#1a1a18;--bg-secondary:#222220;--bg-tertiary:#2a2a27;--bg-accent-soft:#3a2419;--bg-canvas:#1e1e1c;--bg-dot:#2e2e2b;--bg-illustration:#2a2a27;--bg-neutral:#2a2a27;--bg-success:#14281e;--bg-warning:#2d2008;--bg-danger:#2d1010;--bg-success-soft:#0f2a18;--bg-overlay-soft:#1a1a18eb;--bg-overlay:#1a1a18f0;--bg-overlay-strong:#1a1a18f5;--border-default:#ffffff1a;--border-hover:#fff3;--border-input:#3a3a37;--border-subtle:#ffffff14;--border-soft:#ffffff1a;--border-accent:#ff4c0059;--border-accent-muted:#ff4c0047;--border-accent-soft:#ff4c002e;--border-accent-tint:#ff4c0033;--border-danger-soft:#ef444438;--border-warning-soft:#f59e0b40;--border-success-soft:#22c55e33;--accent:#ff4c00;--accent-hover:#ff6b2c;--focus-ring:#ff4c003d;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--danger-hover:#dc2626;--text-success:#4ade80;--text-warning:#fbbf24;--text-danger:#f87171;--text-warning-alt:#fb923c;--text-primary:#e8e8e4;--text-secondary:#c6c1bc;--text-placeholder:#5a5a56;--text-on-accent:#fff;--svg-shelf:#3a3a37;--svg-support:#4a4a46;--svg-text-dark:#e2e8f0;--svg-overlay-lg:#0000008c;--svg-overlay-sm:#00000040;--svg-block-border:#ffffff12;--rack-block-border:#ffffff12;--rack-block-bg:#1a1a18eb;--neu-bg:#26211e;--neu-btn-bg:color-mix(in srgb, var(--neu-bg) 90%, #fff 10%);--neu-shadow-out:-4px -4px 10px #ffffff0a, 4px 4px 10px #0006;--neu-shadow-in:inset -2px -2px 6px #ffffff0a, inset 2px 2px 6px #0006;--neu-shadow-btn:-3px -3px 8px #ffffff0d, 3px 3px 8px #0006;--neu-shadow-btn-active:inset -2px -2px 5px #ffffff0a, inset 2px 2px 5px #0006;--neu-accent:#ff4c00;--neu-accent-shadow:-3px -3px 8px #ffffff0a, 3px 3px 8px #ff4c0057;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-card:0 2px 16px #00000038, 0 1px 4px #00000024;--shadow-md:0 6px 24px #0000004d, 0 2px 8px #0003}*{box-sizing:border-box}html{font-size:14px}body{font-family:var(--font-ui);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-tertiary);margin:0}button,input,select,textarea{font:inherit}button,input,select,textarea,[tabindex]{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 2px var(--focus-ring);outline:2px solid var(--accent);outline-offset:2px}.prod-lib-form input:focus-visible,.prod-lib-form input:focus,.prod-lib-form select:focus-visible,.prod-lib-form select:focus{box-shadow:0 0 0 2px var(--focus-ring)!important;border-color:var(--accent)!important;outline:none!important}img{max-width:100%;display:block}.app-shell{grid-template-rows:1fr;grid-template-columns:220px minmax(0,1fr);width:100%;min-height:100vh;display:grid}.sidebar{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:220px;height:100vh;min-height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:12px;padding:0 8px 18px;display:flex}.sidebar-brand--btn{cursor:pointer;text-align:left;border-radius:var(--radius-md);background:0 0;border:none;width:100%;transition:opacity .15s}.sidebar-brand--btn:hover{opacity:.75}.sidebar-brand .nav-brand-mark{border-radius:12px;flex-shrink:0;width:40px;height:40px}.sidebar-brand .nav-brand-copy h1{margin:0;font-size:18px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav-item{all:unset;box-sizing:border-box;cursor:pointer;color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:background .14s,color .14s;display:flex}.sidebar-nav-item .ui-icon{flex-shrink:0;width:16px;height:16px}.sidebar-nav-item:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--accent);color:#fff}.sidebar-nav-item--accent:not(.active){color:var(--accent)}.sidebar-nav-item--success:not(.active){color:var(--success)}.sidebar-nav-item--success.active{background:var(--success);color:#fff}.sidebar-nav-item:disabled{opacity:.38;cursor:not-allowed}.sidebar-divider{background:var(--border-subtle);height:1px;margin:8px 0}.sidebar-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-placeholder);padding:8px 12px 4px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-top:12px;padding-top:14px;display:flex}.sidebar-utility-row{align-items:center;gap:2px;display:flex}.sidebar-icon-btn{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;color:var(--text-secondary);border-radius:8px;place-items:center;transition:background .14s,color .14s;display:grid}.sidebar-icon-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-icon-btn:disabled{opacity:.3;cursor:not-allowed}.sidebar-back-btn{all:unset;box-sizing:border-box;cursor:pointer;color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:12px;font-weight:500;transition:background .14s,color .14s;display:flex}.sidebar-back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-user-info{color:var(--text-placeholder);text-overflow:ellipsis;white-space:nowrap;padding:4px 12px;font-size:11px;overflow:hidden}.content-wrap{background:var(--bg-canvas);flex-direction:column;min-width:0;min-height:100vh;display:flex}.content-topbar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:12px;min-height:52px;padding:0 20px;display:flex}.content-score-bar{background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:12px 20px}.content-topbar-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:700;overflow:hidden}.topbar-share-btn{color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;display:flex}.topbar-share-btn:hover{background:var(--accent-hover)}.topbar-share-btn:active{opacity:.85}.app-body{flex:1;min-height:0;padding:20px;overflow:auto}.app-body--floor{flex:1;padding:0;overflow:hidden}.top-nav{background:var(--bg-primary);border-bottom:1px solid var(--border-default);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px;display:grid}.nav-brand{align-items:center;gap:10px;min-width:0;display:flex}.nav-brand-mark{width:50px;height:50px;box-shadow:var(--neu-shadow-btn);background:#fff;border-radius:14px;place-items:center;padding:6px;display:grid;overflow:hidden}.nav-brand-mark img{object-fit:contain;width:100%;height:100%}.nav-brand-copy{min-width:0}.nav-brand h1{margin:0;font-size:20px;font-weight:800;line-height:1.1}.nav-brand p{color:var(--text-secondary);max-width:190px;margin:0;font-size:11px;line-height:1.25}.nav-project-name{align-items:center;gap:8px;min-width:0;display:flex}.nav-project-name-btn{all:unset;cursor:pointer;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px dashed #0000;max-width:180px;font-size:11px;line-height:1.25;transition:border-color .15s,color .15s;overflow:hidden}.nav-project-name-btn:hover{color:var(--text-primary);border-bottom-color:var(--text-secondary)}.nav-project-name-input{color:var(--text-primary);background:var(--bg-input,var(--bg-surface));border:1px solid var(--border-focus,var(--accent));border-radius:4px;outline:none;width:160px;padding:1px 4px;font-size:11px;line-height:1.4}.nav-save-status{white-space:nowrap;opacity:0;flex-shrink:0;font-size:10px;font-weight:600;transition:opacity .2s}.nav-save-status--saving{opacity:1;color:var(--text-secondary)}.nav-save-status--saved{opacity:1;color:#22c55e}.nav-save-status--error{opacity:1;color:#ef4444}.nav-save-status--idle{opacity:0}.nav-main{min-width:0}.nav-tabs{min-width:0;box-shadow:var(--neu-shadow-in);background:#ffffff2e;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.nav-tabs button{min-height:38px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 12px;transition:color .15s,box-shadow .15s,background .15s;display:inline-flex}.nav-tabs button:hover{color:var(--text-primary);background:var(--bg-secondary);box-shadow:var(--neu-shadow-btn)}.nav-tabs button.active{color:var(--accent);background:var(--bg-primary);box-shadow:var(--neu-shadow-in)}.nav-tabs .auto-nav-tab{background:color-mix(in srgb, var(--accent) 50%, transparent 50%);color:#fff}.nav-tabs .auto-nav-tab:hover{background:color-mix(in srgb, var(--accent) 62%, var(--bg-primary) 38%);color:#fff}.nav-tabs .auto-nav-tab.active{background:color-mix(in srgb, var(--accent) 78%, var(--bg-primary) 22%);color:#fff;box-shadow:var(--neu-shadow-btn)}.nav-tabs .reports-nav-tab{background:color-mix(in srgb, var(--success) 70%, transparent 30%);color:#fff}.nav-tabs .reports-nav-tab:hover{background:color-mix(in srgb, var(--success) 82%, var(--bg-primary) 18%);color:#fff}.nav-tabs .reports-nav-tab.active{background:color-mix(in srgb, var(--success) 90%, var(--bg-primary) 10%);color:#fff;box-shadow:var(--neu-shadow-btn)}.nav-tabs button:disabled{opacity:.5;cursor:not-allowed}.nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.nav-actions-group{box-shadow:var(--neu-shadow-in);background:#ffffff29;border-radius:14px;align-items:center;gap:6px;padding:4px;display:inline-flex}.nav-actions-utility{gap:4px}.nav-action-compact{min-height:38px;padding:0 12px;font-size:13px}.nav-action-danger{justify-content:center;min-width:96px}.nav-icon-button{justify-content:center;width:38px;min-width:38px;height:38px;padding:0}.nav-upload-button{cursor:pointer}.ui-icon{flex:none;width:16px;height:16px}.status-bar{background:var(--bg-secondary);border-top:1px solid var(--border-default);align-items:center;gap:20px;padding:0 16px;display:flex;overflow:auto}.toast-viewport{z-index:50;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.toast-item{background:var(--bg-primary);box-shadow:var(--shadow-sm);border-left:4px solid #0000;border-radius:10px;justify-content:space-between;align-items:start;gap:12px;padding:12px 14px;animation:.18s toast-slide-in;display:flex}.toast-item.success{border-left-color:var(--success)}.toast-item.warning{border-left-color:var(--warning)}.toast-item.error{border-left-color:var(--danger)}.toast-message{color:var(--text-primary)}.toast-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.status-item{white-space:nowrap;color:var(--text-secondary);align-items:baseline;gap:8px;font-size:12px;display:flex}.status-item strong{color:var(--text-primary);font-weight:600}.rack-action-bar{background:var(--bg-surface,var(--bg-secondary));border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:12px;padding:7px 14px;display:flex}.rack-action-bar-info{flex-direction:column;flex-shrink:0;gap:1px;min-width:120px;display:flex}.rack-action-bar-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:700;overflow:hidden}.rack-action-bar-dim{color:var(--text-secondary);font-size:11px}.rack-action-bar-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.rack-action-btn{all:unset;cursor:pointer;border:1px solid var(--border-default);background:var(--bg-primary);color:var(--text-primary);white-space:nowrap;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:5px 10px;transition:border-color .12s,background .12s,color .12s;display:flex}.rack-action-btn .ui-icon{width:16px;height:16px}.rack-action-btn span{color:var(--text-secondary);font-size:10px;font-weight:500;transition:color .12s}.rack-action-btn:hover{border-color:var(--accent);background:var(--neu-hover,var(--bg-surface))}.rack-action-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.rack-action-btn.active span{color:#ffffffd9}.rack-action-btn--rotate{background:0 0;border-color:#0000}.rack-action-btn--rotate:hover{border-color:var(--border-default);background:var(--bg-primary)}.rack-action-btn--danger:hover{border-color:var(--danger);color:var(--danger)}.rack-action-btn--danger:hover span{color:var(--danger)}.rack-strip{background:var(--bg-secondary);border-top:1px solid var(--border-default);scrollbar-width:thin;align-items:center;gap:6px;min-height:48px;padding:6px 12px;display:flex;overflow:auto hidden}.rack-strip-empty{color:var(--text-secondary);padding:0 4px;font-size:12px}.floor-screen{background:var(--bg-tertiary);flex-direction:column;height:100%;display:flex;overflow:hidden}.floor-toolbar{background:var(--neu-bg,var(--bg-primary));border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex}.floor-toolbar-left{align-items:center;gap:8px;display:flex}.floor-toolbar-label{color:var(--text-placeholder);white-space:nowrap;font-size:10px}.floor-toolbar-input{background:var(--bg-secondary);border:1px solid var(--border-input);border-radius:var(--radius-sm);height:24px;color:var(--text-primary);width:140px;padding:0 8px;font-size:12px}.floor-toolbar-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.floor-toolbar-right{align-items:center;gap:8px;display:flex}.floor-rack-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;align-items:center;gap:16px;height:44px;padding:0 16px;display:flex;overflow-x:auto}.floor-rack-bar-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.floor-rack-bar-label{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:500}.floor-rack-stat{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:flex}.floor-rack-stat span{color:var(--text-placeholder)}.floor-rack-stat strong{color:var(--text-primary);font-size:13px;font-weight:700}.floor-btn{background:var(--accent);height:28px;color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;box-shadow:var(--neu-shadow-btn);border:none;padding:0 12px;font-size:12px;font-weight:500;transition:box-shadow .12s,background .12s}.floor-btn:hover{background:var(--accent-hover);box-shadow:var(--neu-shadow-out)}.floor-btn:active{box-shadow:var(--neu-shadow-btn-active)}.floor-btn.floor-btn-secondary{background:var(--neu-bg,var(--bg-primary));color:var(--text-primary);box-shadow:var(--neu-shadow-btn);border:none}.floor-btn.floor-btn-secondary:hover{box-shadow:var(--neu-shadow-out)}.floor-btn.floor-btn-secondary:active{box-shadow:var(--neu-shadow-btn-active)}.floor-btn.floor-btn-danger{background:var(--danger,#ef4444);color:#fff;border:none}.floor-btn.floor-btn-danger:hover{background:#dc2626}.floor-plan-opacity-control{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;height:32px;padding:0 8px;display:flex}.floor-plan-opacity-icon{opacity:.5;font-size:11px}.floor-plan-opacity-slider{cursor:pointer;width:72px;height:4px;accent-color:var(--accent)}.floor-plan-opacity-value{color:var(--text-secondary);text-align:right;min-width:28px;font-size:11px;font-weight:600}.file-btn-label{cursor:pointer}.floor-body{flex:1;min-height:0;display:flex;overflow:hidden}.floor-canvas-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.canvas-header{background:var(--bg-primary);border-bottom:1px solid var(--border-default);scrollbar-width:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex;overflow-x:auto}.canvas-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.canvas-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.canvas-header-title{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:500}.canvas-header-meta{color:var(--text-placeholder);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;overflow:hidden}.canvas-zoom-label{color:var(--text-secondary);text-align:center;min-width:36px;font-size:11px}.floor-calibration-input{background:var(--bg-secondary);border:1px solid var(--border-input);border-radius:var(--radius-sm);width:80px;height:24px;color:var(--text-primary);padding:0 6px;font-size:11px}.floor-calibration-select{background:var(--bg-secondary);border:1px solid var(--border-input);border-radius:var(--radius-sm);height:24px;color:var(--text-primary);padding:0 4px;font-size:11px}.floor-right-panel{border-left:1px solid var(--border-default);background:var(--neu-bg,var(--bg-primary));scrollbar-width:thin;flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow-y:auto}.right-panel-header{background:var(--neu-bg,var(--bg-primary));color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default);padding:8px 12px;font-size:10px;font-weight:600}.right-panel-rack-info{background:var(--bg-accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius-md);margin:8px;padding:8px}.right-panel-group-info{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:8px;padding:8px}.right-panel-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px;font-size:10px;font-weight:700}.right-panel-group-name-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:3px 4px;font-size:13px;font-weight:600;display:flex}.right-panel-group-name-btn:hover{border-color:var(--border-subtle);background:var(--bg-primary)}.right-panel-group-name-edit-hint{color:var(--text-secondary);opacity:.6;font-size:11px}.right-panel-group-name-input{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;color:var(--text-primary);outline:none;padding:3px 6px;font-size:13px;font-weight:600}.right-panel-group-sections-title{color:var(--text-secondary);margin:8px 0 4px;font-size:11px}.right-panel-group-sections{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.right-panel-group-section-item{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:3px 4px;font-size:12px;display:flex}.right-panel-group-section-item:hover{background:var(--bg-primary)}.right-panel-group-section-index{color:var(--text-secondary);text-align:center;min-width:14px;font-size:10px;font-weight:700}.right-panel-group-section-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.right-panel-group-section-remove{cursor:pointer;color:var(--text-secondary);opacity:.5;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.right-panel-group-section-remove:hover{color:var(--danger);opacity:1}.right-panel-groups{border-top:1px solid var(--border-subtle);margin-top:8px}.right-panel-groups-header{align-items:center;display:flex}.right-panel-groups-show-toggle{color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:600;display:flex}.right-panel-groups-show-toggle input{accent-color:var(--accent);cursor:pointer}.right-panel-groups-toggle{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;min-width:0;color:var(--text-secondary);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.right-panel-groups-toggle:hover{color:var(--text-primary)}.right-panel-groups-count{background:var(--bg-secondary);border:1px solid var(--border-subtle);text-align:center;min-width:18px;color:var(--text-secondary);border-radius:999px;padding:0 5px;font-size:10px;font-weight:700}.right-panel-groups-arrow{margin-left:auto;font-size:10px}.right-panel-groups-list{flex-direction:column;gap:4px;padding:0 6px 8px;display:flex}.right-panel-groups-empty{color:var(--text-secondary);text-align:center;padding:8px;font-size:12px}.right-panel-group-row{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.right-panel-group-row-header{background:var(--bg-secondary);align-items:center;gap:6px;padding:5px 6px;display:flex}.right-panel-group-color-swatch{cursor:pointer;border:1px solid #00000026;border-radius:3px;flex-shrink:0;width:16px;height:16px;display:block;position:relative}.right-panel-group-color-swatch input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.right-panel-group-name-label{cursor:pointer;color:var(--text-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:3px;flex:1;padding:2px;font-size:12px;font-weight:600;overflow:hidden}.right-panel-group-name-label:hover{background:var(--bg-accent-soft);color:var(--accent)}.right-panel-group-expand-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:11px}.right-panel-group-expand-btn:hover{color:var(--text-primary)}.right-panel-group-detail{background:var(--bg-primary);border-top:1px solid var(--border-subtle);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.right-panel-group-actions{flex-wrap:wrap;gap:4px;display:flex}.rpg-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;padding:3px 8px;font-size:11px;font-weight:500}.rpg-action-btn:hover{border-color:var(--accent);color:var(--accent)}.rpg-action-btn--danger{color:var(--danger);border-color:#0000}.rpg-action-btn--danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger)}.rpg-action-btn--add{color:var(--success);border-color:#0000;margin-top:2px}.rpg-action-btn--add:hover{background:color-mix(in srgb, var(--success) 10%, transparent);border-color:var(--success)}.right-panel-group-add-section{flex-direction:column;gap:4px;margin-top:2px;display:flex}.right-panel-group-add-select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);outline:none;padding:4px 6px;font-size:12px}.right-panel-group-add-select:focus{border-color:var(--accent)}.right-panel-shortid-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.right-panel-shortid-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-placeholder);font-size:9px;font-weight:600}.right-panel-shortid{all:unset;color:var(--accent);cursor:pointer;border-bottom:1px dashed var(--accent);letter-spacing:.02em;padding-bottom:1px;font-size:13px;font-weight:700}.right-panel-shortid:hover{opacity:.8}.shortid-input{background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);width:100%;height:26px;color:var(--accent);letter-spacing:.02em;outline:none;padding:0 8px;font-size:13px;font-weight:600;box-shadow:0 0 0 2px #ff4c0026}.shortid-conflict{background:var(--bg-warning,#fef9c3);border:1px solid var(--border-warning-soft,#fde047);border-radius:var(--radius-sm);color:var(--text-warning,#92400e);flex-direction:column;gap:4px;margin-bottom:4px;padding:6px 8px;font-size:10px;display:flex}.shortid-conflict span{font-weight:500}.shortid-conflict button{border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-primary);border:1px solid var(--border-default);color:var(--text-primary);padding:3px 8px;font-size:11px}.shortid-conflict button:hover{border-color:var(--accent);color:var(--accent)}.right-panel-rack-name{color:var(--accent);font-size:11px;font-weight:600}.right-panel-rack-dims{color:var(--text-secondary);margin-top:2px;font-size:10px}.right-panel-wall-info{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin:0 8px 8px;padding:8px}.right-panel-wall-title{color:var(--text-primary);font-size:11px;font-weight:600}.right-panel-wall-meta{color:var(--text-secondary);margin-top:2px;font-size:10px}.right-panel-wall-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.right-panel-wall-field{color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:4px;font-size:9px;display:flex}.wall-prop-input{background:var(--bg-primary);border:1px solid var(--border-input,var(--border-default));border-radius:var(--radius-sm);width:100%;height:26px;color:var(--text-primary);padding:0 8px;font-size:12px}.right-panel-wall-actions{gap:6px;margin-top:8px;display:flex}.right-panel-mode-hint{background:var(--bg-warning);border:1px solid var(--border-warning-soft);color:var(--text-warning);border-radius:var(--radius-sm);margin:4px 8px;padding:6px 8px;font-size:10px}.right-panel-strip-label{color:var(--text-placeholder);padding:8px 12px 4px;font-size:10px}.right-panel-strip-grid{grid-template-columns:1fr 1fr;gap:4px;padding:0 8px 8px;display:grid}.right-panel-empty{color:var(--text-placeholder);grid-column:1/-1;padding:4px;font-size:11px}.strip-item{background:var(--neu-bg,var(--bg-primary));border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);box-shadow:var(--neu-shadow-btn);border:none;flex-direction:column;gap:2px;padding:6px 8px;font-size:10px;transition:box-shadow .12s;display:flex}.strip-item:hover{box-shadow:var(--neu-shadow-out)}.strip-item--active{box-shadow:var(--neu-shadow-in);color:var(--accent)}.strip-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.strip-item-dims{opacity:.65;font-size:9px}.floor-bottom-strip{border-top:1px solid var(--border-default);background:var(--neu-bg,var(--bg-primary));flex-shrink:0;align-items:center;gap:12px;height:128px;padding:0 12px;display:flex;overflow:hidden}.bottom-strip-actions{flex-direction:column;flex-shrink:0;gap:6px;width:140px;display:flex}.bottom-strip-content{flex-direction:column;flex:1;gap:8px;min-width:0;padding:6px 0;display:flex}.bottom-strip-tabs{align-items:center;gap:6px;display:flex}.bottom-strip-tab{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.2;transition:background .12s,color .12s,border-color .12s}.bottom-strip-tab:hover{color:var(--text-primary);border-color:var(--accent)}.bottom-strip-tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.bottom-strip-racks{scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:8px;height:83px;padding:0 0 2px;display:flex;overflow:auto hidden}.bottom-strip-empty{color:var(--text-placeholder);align-self:center;font-size:12px}.bottom-rack-card{background:var(--neu-bg,var(--bg-primary));border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);box-shadow:var(--neu-shadow-btn);border:none;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;min-width:70px;height:83px;padding:5px 8px;font-size:11px;transition:box-shadow .12s;display:flex}.bottom-rack-card:hover{box-shadow:var(--neu-shadow-out)}.bottom-rack-card--active{box-shadow:var(--neu-shadow-in);color:var(--accent)}.bottom-rack-icon{flex-shrink:0}.bottom-rack-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;overflow:hidden}.bottom-rack-meta{opacity:.65;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.rack-chip{all:unset;cursor:pointer;border:1px solid var(--border-default);background:var(--bg-primary);white-space:nowrap;border-radius:8px;flex-direction:column;flex-shrink:0;gap:1px;padding:5px 10px;transition:border-color .12s,background .12s;display:flex}.rack-chip:hover{border-color:var(--accent);background:var(--neu-hover,var(--bg-surface))}.rack-chip--active{border-color:var(--accent);background:var(--accent)}.rack-chip--active .rack-chip-name,.rack-chip--active .rack-chip-meta{color:#fff}.rack-chip-name{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.2}.rack-chip-meta{color:var(--text-secondary);font-size:10px;line-height:1.2}.screen{gap:24px;display:grid}.editor-toolbar,.toolbar{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-height:40px;box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.editor-toolbar-group,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button-stack{gap:8px;display:grid}.project-name-field{min-width:280px}.editor-layout{grid-template-columns:240px minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.editor-sidebar,.editor-inspector{gap:16px;display:grid}.editor-inspector{position:sticky;top:16px}.editor-main{gap:12px;min-width:0;display:grid}.canvas-toolbar{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-height:40px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.canvas-toolbar-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-picker{margin-bottom:16px}.template-picker-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11111147;justify-content:center;align-items:flex-start;padding:32px 24px;display:flex;position:fixed;inset:0}.template-picker-shell{width:min(1320px,100%);max-height:calc(100vh - 64px);overflow:auto}.template-picker-shell .template-picker{margin-bottom:0}.floor-plan-3d-overlay{z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11111157;justify-content:center;align-items:center;padding:28px 24px;display:flex;position:fixed;inset:0}.floor-plan-3d-shell{background:var(--neu-bg);width:min(1500px,100%);max-height:calc(100vh - 56px);box-shadow:var(--neu-shadow-out);border-radius:18px;gap:14px;padding:18px;display:grid}.floor-plan-3d-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.floor-plan-3d-head h3{margin:0;font-size:18px}.floor-plan-3d-head p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.template-group{gap:10px;display:grid}.template-group+.template-group{margin-top:14px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:12px;padding:8px 0;display:grid}.template-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:172px;padding:12px 10px;transition:border-color .15s,background .15s;display:flex}.template-card:hover{border-color:var(--border-hover);background:var(--bg-primary)}.template-name{color:var(--text-primary);min-height:32px;font-size:12px;font-weight:500;line-height:1.3}.template-desc{color:var(--text-secondary);font-size:11px;line-height:1.3}.toolbar-label{font-size:15px;font-weight:600}.toolbar-meta{color:var(--text-secondary)}.panel-section,.card,.workspace-panel,.side-panel{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.panel-head,.card-head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.panel-head h3,.card h3,.side-panel h3{margin:0;font-size:15px;font-weight:600}.panel-head p,.card-head p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.metric-grid,.totals{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);align-content:space-between;gap:6px;min-height:76px;padding:12px;display:grid}.metric-card span{color:var(--text-secondary);font-size:12px}.metric-card strong{font-size:18px;font-weight:600}.status-chip{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;height:24px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.status-chip.success{background:var(--bg-success);color:var(--text-success)}.status-chip.warning{background:var(--bg-warning);color:var(--text-warning)}.stack-list,.plain-list,.rack-list,.issues,.shelf-toggle-list{gap:8px;display:grid}.plain-list,.rack-list,.issues{margin:0;padding:0;list-style:none}.list-card,.rack-list button,.plain-list li,.shelf-toggle{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-primary);width:100%;transition:border-color .15s,background .15s}.list-card{text-align:left;cursor:pointer;padding:12px}.list-card:hover,.rack-list button:hover,.plain-list li:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.list-card.active,.rack-list button.active{background:var(--bg-accent-soft);border-color:var(--border-accent)}.list-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.list-card-top strong{font-weight:600}.list-card-top span,.list-card-meta,.muted,.field span,.small{color:var(--text-secondary)}.list-card-meta{gap:2px;font-size:12px;display:grid}.canvas-panel{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-height:680px;box-shadow:var(--shadow-sm);padding:12px;position:relative}.floor-viewport,.rack-facade-scroll{border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--bg-canvas);min-height:620px;position:relative;overflow:auto}.floor-viewport.panning{-webkit-user-select:none;user-select:none}.floor-canvas{transform-origin:0 0;background-color:var(--bg-canvas);background-image:radial-gradient(circle, var(--bg-dot) 1px, transparent 1px);background-size:16px 16px;position:absolute;top:0;left:0}.floor-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.workspace-placeholder,.empty-state{text-align:center;border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);align-content:center;justify-items:center;gap:8px;min-height:260px;padding:24px;display:grid}.empty-state{text-align:left;justify-items:start;min-height:auto}.empty-state.compact{padding:14px}.empty-state h3,.workspace-placeholder h3{margin:0;font-size:18px;font-weight:600}.workspace-placeholder p,.empty-state p{color:var(--text-secondary);margin:0}.empty-illustration{background:var(--bg-illustration);border:1px solid var(--border-default);border-radius:20px;width:72px;height:72px}.calibration-point{width:18px;height:18px;color:var(--text-on-accent);pointer-events:none;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.calibration-point.a{background:var(--accent)}.calibration-point.b{background:var(--warning)}.calibration-line{pointer-events:none;position:absolute;inset:0}.floor-wall{cursor:pointer;z-index:1;background:#1e1e23;border:1px solid #1e1e23;border-radius:0;padding:0;position:absolute}.floor-wall:hover{border-color:#0f0f14}.floor-wall--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent 45%)}.floor-wall--draft{pointer-events:none;border-style:dashed}.floor-opening{cursor:pointer;z-index:2;background:#f59e0b6b;border:1px solid #0f172a47;border-radius:999px;padding:0;position:absolute}.floor-opening--door{background:#f59e0b6b}.floor-opening--window{background:#3b82f65c}.floor-opening--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 60%, transparent 40%)}.floor-wall-node{background:color-mix(in srgb, var(--accent) 82%, white 18%);border:1px solid var(--bg-primary);pointer-events:none;z-index:2;width:8px;height:8px;box-shadow:var(--shadow-sm);border-radius:2px;position:absolute;transform:translate(-50%,-50%)}.wall-draft-point{pointer-events:none;z-index:1;background:#73737359;border:2px solid #52525bd9;border-radius:999px;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.wall-handle{background:var(--accent);border:2px solid var(--bg-primary);pointer-events:auto;cursor:grab;z-index:3;width:10px;height:10px;box-shadow:var(--shadow-sm);border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.wall-handle:active{cursor:grabbing}.rack-group-overlay{border-radius:var(--radius-md);pointer-events:none;z-index:1;opacity:.14;border:1px dashed #0000;position:absolute}.rack-group-overlay--active{opacity:.22;box-shadow:inset 0 0 0 1px #ffffff29}.rack-group-overlay--always{opacity:1;border-radius:var(--radius-sm);z-index:2;border-style:solid;border-width:2px}.rack-group-overlay-label--always{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:3;padding:3px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 4px #0000002e;border:none!important;border-radius:6px!important}.rack-group-overlay-label{max-width:280px;color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:2;background:#0f172ab3;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px;line-height:1.2;position:absolute;overflow:hidden;transform:translate(-50%,-100%)}.rack-block{border:1px solid var(--rack-block-border);background:var(--rack-block-bg);color:var(--text-primary);cursor:move;box-shadow:var(--shadow-sm);z-index:2;border-radius:2px;align-content:center;justify-items:center;gap:2px;padding:6px;display:grid;position:absolute;overflow:hidden}.rack-block:hover{border-color:var(--accent)}.rack-block.active{background:var(--bg-accent-soft);border:2px solid var(--accent)}.rack-block.selected{background:color-mix(in srgb, var(--rack-block-bg) 85%, var(--neu-accent) 15%);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent 45%)}.rack-block--group-hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent 82%), var(--shadow-sm);border-color:color-mix(in srgb, var(--accent) 45%, var(--rack-block-border) 55%)}.rack-block--adjacent{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 70%, transparent 30%)}.rack-front-edge{background:var(--accent);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.rack-label{z-index:1;text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;font-size:12px;font-weight:600;display:block;position:relative;overflow:hidden}.rack-block small{z-index:1;color:var(--text-secondary);font-size:10px;position:relative}.rack-group-menu{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);z-index:50;gap:4px;padding:8px;display:grid;position:fixed}.rack-group-menu__title{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);margin-bottom:2px;padding:2px 4px 6px;font-size:11px;font-weight:600}.rack-group-menu__item{border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;border:1px solid #0000;align-items:center;padding:0 10px;display:flex}.rack-group-menu__item:hover{border-color:var(--accent)}.rack-group-menu__item--danger{color:var(--danger)}.scale-indicator{background:var(--bg-overlay);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute}.scale-line{border-top:3px solid var(--text-primary);width:100px}.canvas-floating-controls{background:var(--bg-overlay-strong);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);border-radius:999px;gap:8px;padding:6px;display:flex;position:absolute;bottom:20px;right:20px}.zoom-pill{min-width:44px;height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px}.zoom-pill:hover{background:var(--bg-secondary);border-color:var(--border-default)}.field{gap:6px;min-width:0;display:grid}.field span{font-size:12px;font-weight:500}.field input,.field select,.draft-number-input input,textarea{border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;height:36px;color:var(--text-primary);padding:0 10px;transition:border-color .15s,box-shadow .15s}.field input::placeholder,.field select::placeholder,textarea::placeholder{color:var(--text-placeholder)}.field input:hover,.field select:hover,.draft-number-input input:hover,textarea:hover{border-color:var(--border-hover)}.field input:focus,.field select:focus,.draft-number-input input:focus,textarea:focus{border-color:var(--accent)}.field-grid,.grid.two-col{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.button{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);height:36px;color:var(--text-on-accent);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary);border-color:var(--border-default);color:var(--text-secondary)}.button.secondary{background:var(--bg-primary);border-color:var(--border-accent-muted);color:var(--accent)}.button.ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.button.ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.button.danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.button.sm{height:30px;padding:0 10px;font-size:12px}.file-button{position:relative;overflow:hidden}.search-field input{background:var(--bg-primary)}.toolbar-search-group{align-items:end}.compact-search{min-width:320px}.compact-select{min-width:220px}.search-input-wrap{align-items:center;display:flex;position:relative}.search-input-wrap .ui-icon{color:var(--text-placeholder);pointer-events:none;position:absolute;left:10px}.search-input-wrap input{padding-left:34px}.table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--border-subtle);vertical-align:top;text-align:left;padding:10px 12px}.table th{color:var(--text-secondary);background:var(--bg-secondary);font-size:12px;font-weight:600}.table td{background:var(--bg-primary)}.table.compact th,.table.compact td{padding:8px 10px;font-size:12px}.row-warning{background:var(--bg-warning)}.check-row{flex-wrap:wrap;gap:12px;display:flex}.shelf-toggle{grid-template-columns:auto 1fr 90px;align-items:center;gap:8px;padding:10px 12px}.shelf-toggle input[type=checkbox]{margin:0}.plain-list li{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.rack-facade{border-radius:var(--radius-lg);background:var(--bg-primary);width:100%;display:block}.facade-card{padding:0;overflow:hidden}.rack-facade-scroll{min-height:180px;max-height:760px;padding:12px}.rack-screen{grid-template-columns:1fr;align-items:start;gap:24px}.rack-editor-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start;gap:20px 24px;display:grid}.rack-hero-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:20px 24px;display:grid}.rack-hero-layout.single{grid-template-columns:minmax(0,1fr)}.rack-hero-layout>*,.rack-editor-grid>*{min-width:0}.rack-view-switcher{margin-left:8px}.rack-facade-hero{min-height:640px;padding:16px}.rack-facade-hero .card-head{margin-bottom:10px}.rack-facade-scroll{min-height:640px;max-height:880px}.rack-settings-card{gap:16px;display:grid}.rack-settings-card h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:4px 0 0;font-size:12px;font-weight:700}.rack-dimensions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rack-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.rack-shelf-edit-list{gap:12px;display:grid}.rack-shelf-edit-card{border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--neu-shadow-in);gap:12px;padding:12px;display:grid}.rack-shelf-edit-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rack-shelf-edit-head strong{font-size:14px}.rack-shelf-edit-head span{color:var(--text-secondary);font-size:12px}.rack-3d-mount{border-radius:var(--radius-lg);background:var(--bg-canvas);cursor:grab;touch-action:none;width:100%;height:620px;overflow:hidden}.rack-3d-mount:active{cursor:grabbing}.floor-plan-3d-mount{border-radius:var(--radius-lg);background:var(--bg-canvas);cursor:grab;touch-action:none;width:100%;height:min(78vh,860px);overflow:hidden}.floor-plan-3d-mount:active{cursor:grabbing}.facade-pane{min-width:0}.facade-pane-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.facade-pane-head strong{color:var(--text-primary);font-size:13px}.facade-view-tabs{gap:4px;display:flex}.facade-view-tab{border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;padding:4px 12px;font-size:12px;transition:background .12s,color .12s,border-color .12s}.facade-view-tab.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.rack-hero-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}@media (width<=1100px){.rack-hero-layout{grid-template-columns:1fr}.rack-view-switcher{margin-left:0}.rack-dimensions-grid,.rack-option-grid{grid-template-columns:1fr}}.catalog-card{min-width:0}.rack-placement-side{align-content:start;gap:12px;min-width:0;display:grid}.rack-placement-tabs{width:fit-content}.placement-card{background:var(--neu-bg);min-width:0;box-shadow:var(--neu-shadow-out);border:none;border-radius:20px;padding:24px}.placement-card h3{color:var(--text-primary);margin-bottom:20px;font-size:16px;font-weight:600}.placement-card h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:20px 0 12px;font-size:13px;font-weight:600}.rack-settings-card,.shelf-summary-card,.issues-card{min-width:0}.rack-settings-card{position:sticky;top:16px}.shelf-summary-card,.issues-card{margin-top:0}.catalog-card .card-head,.placement-card .card-head{margin-bottom:16px}.catalog-card .field-grid,.placement-card .field-grid{gap:10px 12px}.catalog-toolbar{grid-template-columns:minmax(0,1fr) 220px;gap:12px;margin:16px 0 12px;display:grid}.group-filter-bar{flex-wrap:wrap;gap:6px;padding:8px 0 4px;display:flex}.group-pill{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:12px;transition:background .15s,color .15s,border-color .15s}.group-pill:hover{border-color:var(--border-hover);color:var(--text-primary)}.group-pill.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.bulk-actions-bar{border:1px solid var(--border-accent-soft);border-radius:var(--radius-lg);background:var(--bg-accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin:12px 0;padding:10px 12px;display:flex}.catalog-card .table,.placement-card .table,.shelf-summary-card .table{display:block;overflow-x:auto}.catalog-card .table tbody,.placement-card .table tbody,.shelf-summary-card .table tbody{white-space:nowrap}.placement-card .plain-list li{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border-radius:var(--radius-lg);border:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:12px 14px;transition:box-shadow .15s;display:grid}.placement-card .plain-list li:hover{box-shadow:var(--neu-shadow-out);background:var(--neu-bg)}.placement-card .plain-list li.list-item-active{box-shadow:var(--neu-shadow-in);background:var(--neu-bg)}.placement-card .plain-list li>span{min-width:0;color:var(--text-primary);font-weight:500;line-height:1.45}.placement-card .button-row{justify-content:flex-end}.rack-placement-dimensions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:8px;display:grid}.rack-placement-dimensions .metric-card{gap:6px;padding:14px 16px;display:grid}.rack-placement-dimensions .metric-card span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.rack-placement-dimensions .metric-card strong{color:var(--text-primary);font-size:18px}.rack-placement-info-table table{width:100%}.rack-placement-info-table td,.rack-placement-info-table th{white-space:nowrap}.allocation-fill-bar{background:var(--bg-secondary);border-radius:4px;align-items:center;min-width:80px;height:14px;display:flex;position:relative;overflow:hidden}.allocation-fill-bar__inner{border-radius:4px;height:100%;transition:width .2s}.allocation-fill-bar--ok .allocation-fill-bar__inner{background:var(--color-success,#22c55e);opacity:.7}.allocation-fill-bar--low .allocation-fill-bar__inner{background:var(--color-warning,#f59e0b);opacity:.7}.allocation-fill-bar--over .allocation-fill-bar__inner{background:var(--danger,#ef4444);opacity:.8}.allocation-fill-bar__label{color:var(--text-primary);pointer-events:none;font-size:.68rem;font-weight:600;position:absolute;right:4px}.neu-hint{color:var(--text-secondary);grid-column:1/-1;align-items:center;gap:8px;font-size:.78rem;display:flex}.neu-hint--warning{color:var(--color-warning,#f59e0b)}.neu-field{gap:8px;display:grid}.neu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:11px;font-weight:600}.neu-select-wrap{border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-in);background:var(--neu-bg);overflow:hidden}.neu-select{width:100%;height:44px;color:var(--text-primary);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6b67' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center no-repeat;border:none;outline:none;padding:0 36px 0 14px;font-size:14px;font-weight:500}.neu-stepper{border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-in);background:var(--neu-bg);grid-template-columns:44px 1fr 44px;height:44px;display:grid;overflow:hidden}.neu-stepper-btn{height:44px;color:var(--neu-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;font-weight:300;transition:box-shadow .1s;display:flex}.neu-stepper-btn:active{box-shadow:var(--neu-shadow-btn-active)}.neu-stepper-input{width:100%;min-width:0;color:var(--text-primary);text-align:center;border:0;border-left:1px solid var(--border-default);border-right:1px solid var(--border-default);appearance:textfield;background:0 0;padding:0 8px;font-size:16px;font-weight:600}.neu-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.neu-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.neu-btn{border-radius:var(--radius-lg);background:var(--neu-bg);height:44px;box-shadow:var(--neu-shadow-btn);color:var(--text-primary);cursor:pointer;border:none;padding:0 20px;font-size:14px;font-weight:500;transition:box-shadow .15s,transform .1s}.neu-btn:hover{box-shadow:var(--neu-shadow-out)}.neu-btn:active{box-shadow:var(--neu-shadow-btn-active);transform:scale(.98)}.neu-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.neu-btn-accent{background:var(--neu-accent);box-shadow:var(--neu-accent-shadow);color:var(--text-on-accent)}.neu-btn-accent:hover{box-shadow:var(--neu-accent-shadow), 0 2px 12px #ff4c0047}.neu-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin:8px 0;display:grid}.neu-shelf-btn{border-radius:var(--radius-lg);background:var(--neu-bg);height:48px;box-shadow:var(--neu-shadow-btn);color:var(--text-secondary);cursor:pointer;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:500;transition:box-shadow .15s,color .15s;display:flex}.neu-shelf-btn.active{box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}.neu-shelf-icon{color:var(--neu-accent);min-height:12px;font-size:10px;font-weight:700}.neu-form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.neu-form-grid>:last-child:nth-child(odd){grid-column:1/-1}.neu-btn-row{flex-wrap:wrap;gap:10px;display:flex}@media (width<=640px){.neu-form-grid{grid-template-columns:1fr}}.table-empty-state{text-align:center;color:var(--text-secondary);padding:18px 12px}.subsection{border-top:1px solid var(--border-soft);gap:12px;margin-top:14px;padding-top:14px;display:grid}.subsection:first-of-type{border-top:0;margin-top:0;padding-top:0}.subsection-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.subsection-head h4{margin:0;font-size:14px;font-weight:600}.issues-card .issues{max-height:380px}.issues{max-height:280px;overflow:auto}.issues.compact{max-height:220px}.issue-error,.issue-warning,.inline-warning{border-radius:var(--radius-md);border:1px solid #0000;padding:10px 12px}.issue-error{background:var(--bg-danger);border-color:var(--border-danger-soft);color:var(--text-danger)}.issue-warning,.inline-warning{background:var(--bg-warning);border-color:var(--border-warning-soft);color:var(--text-warning-alt)}.issue-success{border-radius:var(--radius-md);border:1px solid var(--border-success-soft);background:var(--bg-success-soft);color:var(--text-success);padding:10px 12px}.product-thumb{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);width:40px;height:40px}.product-preview-box{border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);align-items:center;gap:10px;padding:10px 12px;display:flex}.import-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);margin-top:12px;padding:12px}.import-preview{gap:12px;margin-top:12px;display:grid}.import-preview-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.inspector-note{border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);padding:10px 12px}.catalog-screen .editor-toolbar{z-index:2;position:sticky;top:0}.project-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:16px 0;display:grid}.project-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);flex-direction:column;gap:8px;padding:16px;display:flex}.project-card.current{border-color:var(--border-hover)}.project-card-name{color:var(--text-primary);font-size:15px;font-weight:500}.project-card-meta{color:var(--text-secondary);font-size:12px}.project-card-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.catalog-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.accent-card{background:var(--bg-accent-soft);border-color:var(--border-accent-tint)}.catalog-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:24px;display:grid}.catalog-form-card{gap:16px;display:grid;position:sticky;top:72px}.catalog-table-card{min-width:0}.catalog-table-card .table{display:block;overflow-x:auto}.catalog-table-card .table tbody{white-space:nowrap}.field-span-2{grid-column:span 2}.product-thumb.large{width:72px;height:72px}.product-preview-meta{gap:6px;display:grid}.catalog-thumb-fallback{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-on-accent);border:1px solid var(--border-default);place-items:center;display:grid}.catalog-empty-state{text-align:center;justify-items:center;min-height:320px}.checkbox-chip{border:1px solid var(--border-default);background:var(--bg-primary);border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:0 10px;display:inline-flex}.checkbox-chip input{margin:0}.skeleton-stack{gap:10px;margin-top:14px;display:grid}.skeleton-line{background:linear-gradient(90deg, var(--border-default) 25%, var(--border-hover) 50%, var(--border-default) 75%);background-size:200% 100%;border-radius:999px;height:14px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-line.large{width:72%;height:18px}.skeleton-line.short{width:48%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.report-screen .card{overflow:hidden}.fill-chart{flex-direction:column;gap:6px;padding:4px 0;display:flex}.fill-chart-shelves{margin-top:4px}.fill-bar-row{grid-template-columns:140px 1fr 52px;align-items:center;gap:10px;padding:2px 0;display:grid}.fill-bar-row.fill-bar-clickable{cursor:pointer;border-radius:var(--radius-md);margin:0 -6px;padding:3px 6px;transition:background .12s}.fill-bar-row.fill-bar-clickable:hover{background:var(--bg-secondary)}.fill-bar-row.fill-bar-accent .fill-bar-label{color:var(--text-primary);font-weight:500}.fill-bar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.fill-bar-track{background:var(--bg-tertiary);border-radius:999px;height:10px;overflow:hidden}.fill-bar-fill{border-radius:999px;height:100%;transition:width .3s}.fill-bar-value{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.report-rack-views-card{overflow:visible}.report-rack-views{gap:18px;display:grid}.report-rack-sheet{gap:12px;padding-top:4px;display:grid}.report-rack-sheet+.report-rack-sheet{border-top:1px solid var(--border-soft);padding-top:18px}.report-rack-sheet-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-rack-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.report-rack-view{gap:8px;min-width:0;display:grid}.report-rack-view-head{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:700}.report-rack-facade{min-width:0}.report-rack-frame{border-radius:var(--radius-lg);background:var(--bg-primary);padding:0;overflow:hidden}.report-rack-facade .rack-facade-scroll{background:0 0;border:none;min-height:auto;max-height:none;padding:0;overflow:visible}.report-rack-facade .rack-facade{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;margin:0;display:block}.report-rack-products{gap:8px;display:grid}.report-rack-products-table{width:min(520px,100%)}.screen-only{display:block}.print-only{display:none}.report-screen{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:20px;display:flex}.report-header{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;display:flex}.report-header__title{color:var(--text-primary);margin:0 0 4px;font-size:20px;font-weight:700}.report-header__meta{align-items:center;gap:8px;margin:0;display:flex}.report-header__badge{letter-spacing:.03em;border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:600;display:inline-flex}.report-header__badge--warn{color:var(--warning);background:#f59e0b26}.report-header__actions{flex-wrap:wrap;gap:8px;display:flex}.report-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.report-kpi-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);flex-direction:column;gap:2px;padding:16px 14px 12px;transition:box-shadow .15s;display:flex}.report-kpi-card--ok{border-left:3px solid var(--success)}.report-kpi-card--warn{border-left:3px solid var(--warning)}.report-kpi-card--danger{border-left:3px solid var(--danger)}.report-kpi-card--neutral{border-left:3px solid var(--border-soft)}.report-kpi-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.report-kpi-label{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:600}.report-kpi-sub{color:var(--text-tertiary);margin-top:2px;font-size:11px}.report-chart-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden}.report-chart-card__head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 12px;display:flex}.report-chart-card__title{color:var(--text-primary);font-size:14px;font-weight:700}.report-chart-card__subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px}.report-chart-card__body{padding:16px 20px}.report-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;font-size:11px;font-weight:700}.report-readiness{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.report-readiness__factors{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.report-readiness__factor{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.report-readiness__factor--ok .report-readiness__check{color:var(--success);font-weight:700}.report-readiness__factor--no .report-readiness__check{color:var(--text-tertiary)}.report-readiness__note{margin:10px 0 0}.hbar-row{grid-template-columns:160px 1fr 58px;align-items:center;gap:10px;padding:3px 0;display:grid}.hbar-row--clickable{cursor:pointer;border-radius:var(--radius-md);margin:0 -8px;padding:4px 8px;transition:background .12s}.hbar-row--clickable:hover{background:var(--bg-secondary)}.hbar-row--active .hbar-label{color:var(--text-primary);font-weight:600}.hbar-row--dimmed{opacity:.45}.hbar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.hbar-track{background:var(--bg-tertiary);border-radius:999px;height:10px;overflow:hidden}.hbar-fill{background:var(--success);border-radius:999px;height:100%;transition:width .3s}.hbar-value{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.donut-ring{flex-shrink:0;position:relative}.donut-ring__center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-ring__value{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1}.donut-ring__sub{color:var(--text-tertiary);margin-top:2px;font-size:9px}.donut-ring__label{text-align:center;color:var(--text-secondary);margin-top:4px;font-size:11px}.stacked-bar{background:var(--bg-tertiary);border-radius:999px;margin-bottom:12px;display:flex;overflow:hidden}.stacked-bar__seg{height:100%;transition:width .3s}.report-cat-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.report-cat-row{align-items:center;gap:8px;font-size:13px;display:flex}.report-cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.report-cat-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.report-cat-count{flex-shrink:0}.report-cat-pct{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:40px;font-size:12px;font-weight:600}.report-insights{flex-direction:column;gap:8px;display:flex}.report-insights-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.report-insight-card{border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:var(--bg-card);gap:12px;padding:14px 16px;display:flex}.report-insight-card--warning{border-left:3px solid var(--warning);background:#f59e0b0a}.report-insight-card--info{border-left:3px solid var(--accent);background:#6366f10a}.report-insight-card--success{border-left:3px solid var(--success);background:#22c55e0a}.report-insight-card--neutral{border-left:3px solid var(--border-soft)}.report-insight-icon{opacity:.7;flex-shrink:0;font-size:16px;line-height:1.4}.report-insight-content{flex-direction:column;gap:3px;display:flex}.report-insight-title{color:var(--text-primary);font-size:13px;font-weight:600}.report-insight-body{color:var(--text-secondary);font-size:12px;line-height:1.5}.report-insight-metric{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;font-weight:700}.report-plan-preview{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.report-plan-preview--empty{padding:24px 0}.report-plan-preview__canvas{border-radius:var(--radius-md);background:var(--bg-secondary);max-width:100%;overflow:hidden}.report-plan-legend{flex-wrap:wrap;gap:14px;display:flex}.report-plan-legend__item{color:var(--text-secondary);align-items:center;gap:5px;font-size:11px;display:flex}.report-plan-legend__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.report-issues-list{flex-direction:column;gap:6px;display:flex}.report-issue-row{align-items:center;gap:10px;font-size:13px;display:flex}.report-issue-badge{border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.report-issue-badge--error{color:var(--danger);background:#ef44441f}.report-issue-badge--warn{color:var(--warning);background:#f59e0b1f}.report-issue-label{color:var(--text-secondary);flex:1}.report-issue-count{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.report-issues-by-rack{margin-top:8px}.report-top-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.report-util-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.report-shelf-detail{border-left:1px solid var(--border-soft);padding-left:20px}.report-zone-list{flex-direction:column;gap:8px;display:flex}.report-zone-row{align-items:center;gap:10px;font-size:13px;display:flex}.report-zone-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.report-zone-label{color:var(--text-primary);flex:1;font-weight:500}.report-zone-target{color:var(--text-secondary);font-size:12px}.report-empty-body{padding:16px 0}.report-raw-toggle{justify-content:flex-end;padding-top:4px;display:flex}.report-raw-tables{flex-direction:column;gap:16px;display:flex}.report-print-layout{color:#1a1a1a;background:#fff;max-width:900px;margin:0 auto;padding:32px;font-family:Segoe UI,system-ui,sans-serif;font-size:13px}.rpl-title-block{border-bottom:2px solid #e5e5e5;align-items:flex-start;gap:20px;margin-bottom:28px;padding-bottom:20px;display:flex}.rpl-title-logo{letter-spacing:-.5px;color:#1a1a1a;flex-shrink:0;padding-top:4px;font-size:22px;font-weight:900}.rpl-title-name{color:#1a1a1a;margin:0 0 4px;font-size:22px;font-weight:700}.rpl-title-meta{color:#666;margin:0;font-size:12px}.rpl-section{margin-bottom:24px}.rpl-section-title{text-transform:uppercase;letter-spacing:.05em;color:#666;border-bottom:1px solid #e5e5e5;margin:0 0 12px;padding-bottom:6px;font-size:13px;font-weight:700}.rpl-kpi-row{border:1px solid #e5e5e5;border-radius:6px;gap:0;display:flex;overflow:hidden}.rpl-kpi-item{text-align:center;border-right:1px solid #e5e5e5;flex:1;padding:14px 12px}.rpl-kpi-item:last-child{border-right:none}.rpl-kpi-val{color:#1a1a1a;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.rpl-kpi-lbl{color:#888;margin-top:2px;font-size:11px}.rpl-table{border-collapse:collapse;width:100%;font-size:12px}.rpl-table th{text-align:left;background:#f5f5f5;border:1px solid #e5e5e5;padding:7px 10px;font-weight:700}.rpl-table td{color:#333;border:1px solid #e5e5e5;padding:6px 10px}.rpl-table tr:nth-child(2n) td{background:#fafafa}.rpl-insights{flex-direction:column;gap:10px;display:flex}.rpl-insight{background:#fafafa;border-left:3px solid #ccc;border-radius:4px;padding:10px 14px}.rpl-insight--warning{background:#fffbeb;border-left-color:#f59e0b}.rpl-insight--info{background:#f5f5ff;border-left-color:#6366f1}.rpl-insight--success{background:#f0fdf4;border-left-color:#22c55e}.rpl-insight--neutral{border-left-color:#d1d5db}.rpl-insight strong{color:#1a1a1a;margin-bottom:3px;font-size:13px;display:block}.rpl-insight p{color:#555;margin:0;font-size:12px}.rpl-insight-metric{color:#888;font-size:11px}.rpl-readiness{flex-direction:column;gap:6px;display:flex}.rpl-readiness-item{gap:8px;font-size:13px;display:flex}.rpl-readiness-item--ok{color:#16a34a}.rpl-readiness-item--no{color:#999}.rpl-no-issues{color:#16a34a;font-size:13px}.rpl-plan-section .report-plan-preview{max-width:100%}.rpl-footer{color:#aaa;text-align:center;border-top:1px solid #e5e5e5;margin-top:32px;padding-top:12px;font-size:11px}.small{font-size:12px}body{background:var(--neu-bg)}.sidebar{background:var(--neu-bg);border-right:none;box-shadow:4px 0 16px #a39a8e24,1px 0 #ffffffb3}:root[data-theme=dark] .sidebar{box-shadow:4px 0 16px #00000021,1px 0 #ffffff0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sidebar{box-shadow:4px 0 16px #00000021,1px 0 #ffffff0a}}.content-wrap{background:var(--neu-bg)}.content-topbar{background:var(--neu-bg);border-bottom:none;box-shadow:0 4px 12px #a39a8e24,0 1px #ffffffb3}:root[data-theme=dark] .content-topbar{box-shadow:0 4px 12px #00000021,0 1px #ffffff08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .content-topbar{box-shadow:0 4px 12px #00000021,0 1px #ffffff08}}.top-nav{background:var(--neu-bg);border-bottom:none;box-shadow:0 4px 12px #a3a5b933,0 1px #fffc}:root[data-theme=dark] .top-nav{box-shadow:0 4px 12px #0000004d,0 1px #ffffff08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .top-nav{box-shadow:0 4px 12px #0000004d,0 1px #ffffff08}}.nav-brand-mark{box-shadow:var(--neu-shadow-btn);background:#fff}.nav-tabs button{border-radius:var(--radius-lg);color:var(--text-secondary);background:0 0;border:none;transition:box-shadow .15s,color .15s,background .15s}.nav-tabs button:hover{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);color:var(--text-primary)}.nav-tabs button.active{background:var(--neu-bg);box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}.status-bar{background:var(--neu-bg);border-top:none;box-shadow:0 -4px 12px #a3a5b926,0 -1px #fffc}:root[data-theme=dark] .status-bar{box-shadow:0 -4px 12px #00000021,0 -1px #ffffff08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .status-bar{box-shadow:0 -4px 12px #00000021,0 -1px #ffffff08}}.editor-toolbar,.toolbar,.canvas-toolbar{background:var(--neu-bg);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-out);border:none}.card,.workspace-panel,.side-panel,.panel-section,.canvas-panel,.metric-card,.product-preview-box,.import-card,.inspector-note,.checkbox-chip{background:var(--neu-bg);box-shadow:var(--neu-shadow-out);border:none;border-radius:16px}.field input,.field select,.draft-number-input input,textarea,.search-input-wrap input{background:var(--neu-bg);box-shadow:var(--neu-shadow-in);border-radius:var(--radius-lg);color:var(--text-primary);border:none;transition:box-shadow .15s}.field input:focus,.field select:focus,.draft-number-input input:focus,textarea:focus,.search-input-wrap input:focus{box-shadow:var(--neu-shadow-in), 0 0 0 2px #ff4c0033;outline:none}.field input:hover,.field select:hover,.draft-number-input input:hover,textarea:hover,.search-input-wrap input:hover{box-shadow:var(--neu-shadow-out)}.button{background:var(--neu-btn-bg);box-shadow:var(--neu-shadow-btn);color:var(--text-primary);border-radius:var(--radius-lg);border:none;transition:box-shadow .15s,transform .1s,background .15s,color .15s}.button:hover{box-shadow:var(--neu-shadow-out)}.button:active{box-shadow:var(--neu-shadow-btn-active);transform:scale(.98)}.button:disabled{opacity:.4;box-shadow:none;cursor:default;background:var(--neu-btn-bg);color:var(--text-secondary)}.button:not(.secondary):not(.ghost):not(.danger){background:var(--neu-accent);color:var(--text-on-accent);box-shadow:var(--neu-accent-shadow)}.button:not(.secondary):not(.ghost):not(.danger):hover{background:var(--neu-accent);box-shadow:var(--neu-accent-shadow), 0 2px 12px #ff4c003d}.button.secondary{background:var(--neu-btn-bg);color:var(--text-secondary);box-shadow:var(--neu-shadow-btn);border:none}.button.secondary:hover{background:var(--neu-btn-bg)}.plan-axis{pointer-events:none;z-index:1;opacity:.55;position:absolute}.plan-axis-x{background:#4a90d9b3;height:1px}.plan-axis-y{background:#22c55eb3;width:1px}.plan-axis-origin{pointer-events:none;z-index:2;background:#f97316d9;border-radius:999px;width:6px;height:6px;margin-top:-3px;margin-left:-3px;position:absolute}.plan-axis-label{pointer-events:none;z-index:2;letter-spacing:.04em;color:var(--text-secondary);text-shadow:0 1px #ffffffe6;font-size:11px;font-weight:700;position:absolute}.button.ghost{box-shadow:none;color:var(--text-secondary);background:0 0}.button.ghost:hover{box-shadow:var(--neu-shadow-btn);background:var(--neu-btn-bg);color:var(--text-primary)}.button.danger{background:var(--danger);color:var(--text-on-accent);border:none;box-shadow:-3px -3px 8px #fff3,3px 3px 8px #b91c1c66}.button.danger:hover{background:var(--danger-hover)}.status-chip{box-shadow:var(--neu-shadow-btn);background:var(--neu-bg);border-radius:999px}.status-chip.neutral{background:var(--neu-bg);color:var(--text-secondary)}.status-chip.success{background:var(--neu-bg);color:var(--text-success);box-shadow:-2px -2px 6px #fffc,2px 2px 6px #16a34a33}.status-chip.warning{background:var(--neu-bg);color:var(--text-warning);box-shadow:-2px -2px 6px #fffc,2px 2px 6px #d9770633}.plain-list li,.list-card,.rack-list button,.shelf-toggle{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border-radius:var(--radius-lg);border:none;transition:box-shadow .15s,color .15s,background .15s}.plain-list li:hover,.list-card:hover,.rack-list button:hover,.shelf-toggle:hover{box-shadow:var(--neu-shadow-out);background:var(--neu-bg)}.list-card.active,.rack-list button.active,.plain-list li.list-item-active{box-shadow:var(--neu-shadow-in);background:var(--neu-bg)}.list-card.selected,.rack-list button.selected{box-shadow:var(--neu-shadow-out);background:color-mix(in srgb, var(--neu-bg) 92%, var(--neu-accent) 8%)}.table th{background:var(--neu-bg);text-transform:uppercase;letter-spacing:.05em;border-bottom:none;font-size:11px;box-shadow:inset 0 -2px 4px #a3a5b926}.table td{background:var(--neu-bg);border-bottom:1px solid #a3a5b91f}.table tbody tr:hover td{background:#ffffff80}:root[data-theme=dark] .table tbody tr:hover td{background:#ffffff08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .table tbody tr:hover td{background:#ffffff08}}.toast-item{background:var(--neu-bg);box-shadow:var(--neu-shadow-out);border-left:3px solid #0000;border-radius:12px}.group-pill{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border:none;border-radius:999px;transition:box-shadow .15s,color .15s,background .15s}.group-pill:hover{box-shadow:var(--neu-shadow-out);color:var(--text-primary);background:var(--neu-bg)}.group-pill.active{background:var(--neu-bg);box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}.fill-bar-track{background:var(--neu-bg);box-shadow:var(--neu-shadow-in);border-radius:999px}.template-card{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border-radius:var(--radius-lg);border:none}.template-card:hover{box-shadow:var(--neu-shadow-out);background:var(--neu-bg)}.template-card:active{box-shadow:var(--neu-shadow-btn-active)}.project-card{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border:none;border-radius:16px}.project-card.current{box-shadow:var(--neu-shadow-in)}.shelf-toggle{background:var(--neu-bg);box-shadow:var(--neu-shadow-btn);border-radius:var(--radius-lg);border:none;padding:10px 14px}.card-title{color:var(--text-primary);font-size:14px;font-weight:600}.screen-tabs{grid-auto-flow:column;gap:8px;display:inline-grid}.stab{border-radius:var(--radius-lg);background:var(--neu-bg);min-height:36px;box-shadow:var(--neu-shadow-btn);color:var(--text-secondary);cursor:pointer;border:none;padding:0 14px;transition:box-shadow .15s,color .15s,background .15s}.stab:hover{box-shadow:var(--neu-shadow-out);color:var(--text-primary)}.stab.on{box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}.auto-layout{grid-template-columns:minmax(380px,440px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.auto-config-card,.auto-preview-card{gap:16px;min-width:0;display:grid}.auto-config-card{position:sticky;top:16px}.auto-config-card--expanded{position:static}.auto-section{gap:12px;display:grid}.auto-guide-card{padding-bottom:4px}.auto-guide-list{color:var(--text-secondary);gap:6px;margin:0;padding-left:18px;display:grid}.auto-guide-actions{flex-wrap:wrap;gap:8px;display:flex}.auto-planning-toggle{cursor:pointer;align-items:center;gap:8px;padding:6px 0;font-size:.875rem;display:flex}.auto-planning-toggle__hint{color:var(--text-secondary);font-size:.75rem}.auto-target-actions,.auto-action-row,.auto-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.auto-rack-summary{gap:12px;display:grid}.auto-rack-summary-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.auto-rack-summary-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;display:grid}.auto-rack-shelf{box-shadow:var(--neu-shadow-btn);background:var(--neu-bg);color:var(--text-secondary);border-radius:14px;gap:4px;padding:10px 12px;font-size:12px;display:grid}.auto-rack-shelf strong{color:var(--text-primary)}.auto-field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mikron-k25-configurator{gap:16px;width:100%;max-width:100%;max-height:calc(100vh - 48px);display:grid;overflow:auto}.mikron-k25-layout{gap:16px;min-height:0;display:grid}.mikron-k25-layout--with-preview{grid-template-columns:260px 1fr;align-items:start}.mikron-k25-preview-col{position:sticky;top:0}.mikron-k25-form-col{min-width:0}.mikron-k25-panel{gap:16px;min-height:0;display:grid}.mikron-k25-panel--single{grid-template-columns:1fr}.mikron-k25-summary{gap:12px;display:grid}.mikron-k25-summary-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mikron-k25-summary-group{gap:6px;display:grid}.mikron-k25-summary-note{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.35}.mikron-k25-summary .metric-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px}.mikron-k25-summary .metric-card{gap:3px;min-height:42px;padding:8px 10px}.mikron-k25-summary .metric-card span{font-size:11px}.mikron-k25-summary .metric-card strong{font-size:15px}.mikron-k25-tabs{flex-wrap:wrap;gap:8px;display:flex}.mikron-k25-tab{border-radius:var(--radius-lg);background:var(--neu-bg);min-height:38px;box-shadow:var(--neu-shadow-btn);color:var(--text-secondary);cursor:pointer;border:none;padding:0 14px;transition:box-shadow .15s,color .15s,background .15s}.mikron-k25-tab:hover{box-shadow:var(--neu-shadow-out);color:var(--text-primary)}.mikron-k25-tab--active{box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}.mikron-k25-options-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.mikron-k25-section{gap:12px;display:grid}.mikron-k25-options{gap:8px;display:grid}.mikron-k25-shelves{gap:10px;display:grid}.mikron-k25-shelves-table{flex-direction:column;gap:2px;display:flex}.mikron-k25-shelf-row-compact{grid-template-columns:28px 72px 72px 80px 100px 48px 24px;align-items:center;gap:6px;display:grid}.mikron-k25-shelf-header{color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 0 4px;font-size:11px}.shelf-row-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.shelf-row-select,.shelf-row-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);width:100%;min-width:0;padding:4px 6px;font-size:12px}.shelf-row-load{color:var(--text-secondary);text-align:right;white-space:nowrap;font-size:11px}.shelf-row-delete{cursor:pointer;color:#ef4444;border-radius:var(--radius);background:0 0;border:none;padding:2px 4px;font-size:11px;line-height:1}.shelf-row-delete:hover{background:#fee2e2}.shelf-row-placeholder{display:block}.mikron-k25-shelf-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.mikron-k25-section-note{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.account-page{gap:16px;width:min(1200px,100%);margin:0 auto;display:grid}.account-hero{grid-template-columns:minmax(0,1.6fr) auto;align-items:end;gap:18px;padding:20px;display:grid}.account-hero-copy{gap:8px;display:grid}.account-hero-copy h2{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.05}.account-hero-copy p{max-width:720px;color:var(--text-secondary);margin:0}.account-eyebrow{width:fit-content;min-height:28px;color:var(--accent);background:var(--bg-accent-soft);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.account-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.account-metrics .metric-card strong{font-size:16px}.account-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.account-section{gap:16px;padding:18px;display:grid}.account-section--wide{grid-column:1/-1}.account-status-card{padding:14px 16px}.account-status{margin:0;font-size:13px;font-weight:600}.account-status--success{color:var(--text-success)}.account-status--error{color:var(--text-danger)}.account-detail-list{gap:10px;display:grid}.account-detail-item,.account-search-item,.account-project-item,.account-org-card,.account-empty{box-shadow:var(--neu-shadow-in);background:var(--neu-bg);border-radius:14px;gap:6px;padding:14px;display:grid}.account-detail-item span,.account-search-item p,.account-project-item p,.account-org-head p,.account-empty p,.account-muted{color:var(--text-secondary);margin:0;font-size:12px}.account-detail-item strong,.account-search-item strong,.account-project-item strong,.account-empty strong,.account-org-head strong{color:var(--text-primary);font-size:14px}.account-code{word-break:break-all}.account-org-card,.account-form-block{gap:12px;display:grid}.account-org-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.account-search-list,.account-project-list{gap:10px;display:grid}.account-search-item,.account-project-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.account-hero-compact{padding:8px 0 4px}.account-hero-compact h2{margin:0 0 4px;font-size:clamp(22px,2.5vw,32px);font-weight:700;line-height:1.1}.account-hero-compact p{color:var(--text-secondary);margin:0;font-size:13px}.account-last-project{gap:12px;display:grid}.account-last-project-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.account-last-project-body h3{margin:0 0 6px;font-size:18px;font-weight:600}.account-last-project-body p{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.account-recent-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.account-recent-card{background:var(--bg-secondary);border:1px solid var(--border-default);text-align:left;cursor:pointer;border-radius:14px;gap:8px;padding:14px;transition:box-shadow .15s;display:grid}.account-recent-card:hover{box-shadow:var(--shadow-card)}.account-recent-card strong{color:var(--text-primary);font-size:14px}.account-recent-card p{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.account-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.account-quick-btn{border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:box-shadow .15s;display:flex}.account-quick-btn:hover{box-shadow:var(--shadow-card)}.account-quick-stats{cursor:default;flex-direction:column;align-items:flex-start;gap:2px}.account-quick-stats:hover{box-shadow:none}.account-quick-stats strong{font-size:20px;font-weight:700;line-height:1}.account-quick-stats span{color:var(--text-secondary);font-size:11px}.account-settings{gap:0;padding:0;display:grid;overflow:hidden}.account-tabs{border-bottom:1px solid var(--border-subtle);padding:0 4px;display:flex}.account-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.account-tab:hover{color:var(--text-primary)}.account-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.account-tab-content{gap:16px;padding:20px;display:grid}.account-onboarding{gap:16px;display:grid}.account-onboarding-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.account-onboarding-step{align-items:flex-start;gap:12px;display:flex}.account-onboarding-step div{gap:2px;display:grid}.account-onboarding-step strong{color:var(--text-primary);font-size:14px}.account-onboarding-step p{color:var(--text-secondary);margin:0;font-size:12px}.account-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.account-step-num--pending{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-default)}.account-search-item--blocked{opacity:.6}.table-wrap{overflow-x:auto}.auto-category-grid{gap:12px;display:grid}.auto-section-head{justify-content:space-between;align-items:start;gap:16px;display:flex}.zone-group-list{gap:14px;display:grid}.zone-group-card{border-radius:var(--radius-lg);background:var(--neu-bg);box-shadow:var(--neu-shadow-in);border:none;gap:12px;padding:14px;display:grid}.zone-group-card__head{justify-content:space-between;align-items:start;gap:12px;display:flex}.zone-group-card__meta{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.zone-strip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.zone-strip__section{border-radius:var(--radius-md);border:1px solid #0000;gap:4px;min-height:58px;padding:10px;display:grid}.zone-strip__section--empty{opacity:.72}.zone-strip__section-index{color:var(--text-secondary);font-size:11px}.zone-strip__section-label{color:var(--text-primary);font-size:13px;font-weight:600}.zone-allocation-list{gap:10px;display:grid}.zone-allocation-row{grid-template-columns:minmax(180px,1.5fr) 100px 100px 80px 80px auto;align-items:end;gap:8px;display:grid}.zone-allocation-conflict{color:var(--color-warning,#f59e0b);white-space:nowrap;align-self:center;font-size:.72rem}.zone-allocation-row__number{min-width:0}.auto-zone-summary{border-radius:var(--radius-md);background:#ffffff0f;gap:6px;padding:12px;display:grid}.auto-zone-summary__line{justify-content:space-between;gap:12px;display:flex}.auto-category-card{border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-in);background:var(--neu-bg);gap:10px;padding:12px;display:grid}.auto-checklist{gap:8px;max-height:280px;padding-right:4px;display:grid;overflow:auto}.auto-check-item{border-radius:var(--radius-md);background:#ffffff24;align-items:start;gap:8px;padding:8px 10px;display:flex}.auto-check-item.disabled{opacity:.45}.auto-check-item input{margin-top:2px}.auto-check-item span{gap:4px;display:grid}.auto-check-item small,.auto-hint{color:var(--text-secondary)}.auto-depth-tabs,.auto-view-tabs{width:fit-content}.auto-rule-list{gap:12px;display:grid}.auto-rule-row{border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-in);background:var(--neu-bg);grid-template-columns:1.4fr 120px 1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.auto-rule-note{min-width:0}.auto-warning-card{gap:10px;display:grid}.auto-warning-list{gap:6px;margin:0;padding-left:18px;display:grid}.shelf-count-control{align-items:center;gap:8px;display:flex}.shelf-count-slider{accent-color:var(--accent,#6366f1);cursor:pointer;flex:1}.shelf-count-input{flex-shrink:0;width:52px!important}.auto-solver-import{gap:8px;display:grid}.auto-solver-textarea{resize:vertical;width:100%;font-family:var(--font-mono,monospace);border:1px solid var(--border);background:var(--surface-alt,var(--surface));color:var(--text);box-sizing:border-box;border-radius:6px;padding:8px;font-size:11px}.auto-solver-diff-card{border-left:3px solid var(--accent,#6366f1);gap:12px;display:grid}.auto-solver-diff-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.auto-solver-score-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.auto-solver-arrow{color:var(--text-muted);font-size:16px}.auto-solver-diff-stats{flex-wrap:wrap;gap:12px;display:flex}.auto-confirm-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182761;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auto-confirm-card{gap:12px;width:min(520px,100vw - 32px);display:grid}@media (width<=980px){.auto-section-head,.zone-group-card__head,.auto-zone-summary__line{grid-template-columns:1fr;display:grid}.zone-allocation-row{grid-template-columns:1fr}.auto-target-actions,.auto-action-row,.auto-confirm-actions{width:100%}.placement-card .plain-list li{grid-template-columns:1fr}.placement-card .button-row{justify-content:flex-start}}.auto-preview-head{margin-bottom:0}.auto-preview-stack{gap:12px;display:grid}.auto-facade-wrap{padding:8px;overflow-x:auto}.auto-facade-svg{display:block}.auto-3d-wrap{min-height:520px}.auto-duplicate-card{margin-bottom:4px}.auto-inline-field{min-width:220px}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin:10px 0 12px;display:grid}.shelf-btn{border-radius:var(--radius-lg);background:var(--neu-bg);min-height:40px;box-shadow:var(--neu-shadow-btn);color:var(--text-secondary);cursor:pointer;border:none;padding:0 10px;transition:box-shadow .15s,color .15s}.shelf-btn:hover{box-shadow:var(--neu-shadow-out);color:var(--text-primary)}.shelf-btn.on{box-shadow:var(--neu-shadow-in);color:var(--neu-accent)}@media (width<=1280px){.editor-layout{grid-template-columns:220px minmax(0,1fr)}.editor-inspector{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));position:static}.catalog-layout{grid-template-columns:1fr}.catalog-form-card{position:static}.catalog-card,.placement-card,.rack-settings-card,.shelf-summary-card,.issues-card{grid-column:auto}.rack-settings-card{position:static}.rack-editor-grid,.auto-layout{grid-template-columns:1fr}.auto-config-card{position:static}.mikron-k25-layout,.mikron-k25-layout--with-preview{grid-template-columns:1fr}.mikron-k25-preview-col{position:static}.mikron-k25-summary-groups,.account-layout{grid-template-columns:1fr}}@media (width<=980px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.sidebar{flex-flow:wrap;gap:8px;width:100%;height:auto;min-height:auto;padding:10px 12px;position:static}.sidebar-brand{border-bottom:none;margin-bottom:0;padding-bottom:0}.sidebar-nav{flex-flow:wrap;flex:none}.sidebar-footer{border-top:none;flex-direction:row;margin-top:0;margin-left:auto;padding-top:0}.sidebar-utility-row{flex-direction:row}.content-wrap{min-height:auto}.top-nav{grid-template-columns:1fr;align-items:start;padding:12px 16px}.nav-tabs{justify-content:start;align-self:auto;width:max-content}.nav-actions{flex-wrap:wrap;justify-content:start}.nav-main{width:100%;overflow-x:auto}.editor-layout,.grid.two-col,.editor-inspector,.catalog-toolbar,.auto-field-grid,.auto-rule-row{grid-template-columns:1fr}.template-picker-overlay{padding:16px 12px}.template-picker-shell{max-height:calc(100vh - 32px)}.compact-search,.compact-select,.field-span-2{grid-column:auto;min-width:0}.canvas-panel,.floor-viewport{min-height:520px}.account-hero,.account-search-item,.account-project-item{grid-template-columns:1fr}.account-org-head{display:grid}.account-hero-actions{justify-content:flex-start}}@media (width<=720px){.app-body,.editor-toolbar,.toolbar,.canvas-toolbar,.panel-section,.card{padding:12px}.project-name-field{min-width:100%}.canvas-floating-controls{bottom:12px;right:12px}.table{display:block;overflow-x:auto}.account-section,.account-hero{padding:14px}}@media print{.top-nav,.status-bar,.editor-toolbar,.toolbar,.button,.canvas-floating-controls,.sidebar,.screen-only{display:none!important}.print-only{display:block!important}body,.app-body{margin:0;padding:0;background:#fff!important}.screen,.editor-layout,.grid.two-col{display:block}nav,header .report-header__actions,.tab-bar,.tab-list,[class*=nav],[class*=toolbar],[class*=actions],button:not(.print-visible){display:none!important}.rpl-section{break-inside:avoid}.rpl-plan-section{break-before:page}.rpl-kpi-row{break-inside:avoid}.card,.panel-section,.workspace-panel,.side-panel{box-shadow:none;break-inside:avoid;margin-bottom:16px}.report-rack-facade .rack-facade-scroll{overflow:visible!important}.report-rack-frame{break-inside:avoid}.report-rack-products-table{width:100%}.report-plan-preview__canvas{max-width:100%!important}}@media (width<=980px){.report-rack-sheet-grid{grid-template-columns:1fr}}.list-item-active{background:var(--bg-accent-soft);border-radius:var(--radius-md)}.lib-tab-bar{background:var(--bg-tertiary);border-radius:var(--radius-sm);gap:4px;margin-left:24px;padding:3px;display:flex}.lib-tab{font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;color:var(--text-placeholder);white-space:nowrap;background:0 0;border:none;padding:5px 16px;transition:background .12s,color .12s,box-shadow .12s}.lib-tab.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.lib-section-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.lib-factory-strip{border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);flex-shrink:0;align-items:center;gap:12px;padding:10px 24px;display:flex}.lib-factory-strip-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.lib-factory-scroll{scrollbar-width:none;gap:8px;display:inline-flex;overflow-x:auto}.lib-factory-scroll::-webkit-scrollbar{display:none}.lib-factory-btn{background:var(--bg-primary);border:1.5px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;font-family:var(--font-ui);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;transition:border-color .12s;display:flex}.lib-factory-btn:hover:not(:disabled){border-color:var(--border-hover)}.lib-factory-btn:disabled{opacity:.55;cursor:default}.lib-rack-card{background:var(--bg-primary);border:1.5px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:14px;display:flex;position:relative}.lib-rack-card.selected{border-color:var(--text-primary)}.lib-rack-card-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-tight);padding-right:24px}.lib-rack-card-dims{font-size:var(--fs-sm);color:var(--text-placeholder)}.lib-rack-card-actions{gap:6px;margin-top:auto;display:flex}.lib-cards-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.lib-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-primary);flex-direction:column;flex-shrink:0;width:220px;padding:12px 0;display:flex;overflow-y:auto}.lib-sidebar-section{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:12px 12px 4px;display:flex}.lib-sidebar-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);font-weight:var(--fw-regular);color:var(--text-secondary);text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;font-family:var(--font-ui);background:0 0;border:none;align-items:center;gap:8px;padding:7px 12px;transition:background .1s;display:flex;overflow:hidden}.lib-sidebar-item:hover{background:var(--bg-tertiary)}.lib-sidebar-item.active{font-weight:var(--fw-semibold);background:var(--bg-accent-soft);color:var(--text-primary)}.lib-sidebar-collapse-btn{cursor:pointer;color:var(--text-placeholder);font-size:var(--fs-sm);font-family:var(--font-ui);background:0 0;border:none;padding:0 4px}.lib-sidebar-new-set{gap:4px;padding:0 8px 8px;display:flex}.lib-sidebar-hint{font-size:var(--fs-sm);color:var(--text-placeholder);padding:4px 12px 8px}.lib-item-card{background:var(--bg-primary);border:1.5px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.lib-item-card:hover{border-color:var(--border-hover);box-shadow:0 0 0 3px #0000000f}.lib-item-card-preview{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:center;align-items:center;height:68px;margin-bottom:4px;display:flex;overflow:hidden}.lib-item-card-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-tight);padding-right:52px}.lib-item-card-meta{font-size:var(--fs-sm);color:var(--text-secondary)}.lib-item-card-dims{font-size:var(--fs-sm);color:var(--text-placeholder)}.lib-item-card-badge{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:999px;padding:2px 6px;position:absolute;top:9px;right:9px}.lib-item-card-segment{font-size:var(--fs-xs);background:var(--bg-success-soft);color:var(--text-success);border:1px solid var(--border-success-soft);border-radius:999px;align-self:flex-start;margin-top:2px;padding:2px 7px}.lib-item-card-org{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:1px}.lib-item-card-actions{gap:6px;margin-top:6px;display:flex}.prod-lib-layout{height:100%;display:flex;overflow:hidden}.prod-lib-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-secondary);box-sizing:border-box;flex-shrink:0;width:340px;padding:16px;overflow:hidden auto}.prod-lib-content{background:var(--bg-secondary);flex-direction:column;flex:1;display:flex;overflow:hidden}.prod-lib-form-header{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.prod-lib-section-sep{background:var(--border-subtle);height:1px;margin:4px 0 24px}.prod-lib-row-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-placeholder);text-align:right;white-space:nowrap;line-height:28px}.lib-seg-filter{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.lib-seg-pill{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-regular);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-subtle);font-family:var(--font-ui);border-radius:999px;padding:3px 12px;line-height:22px;transition:background .12s,color .12s}.lib-seg-pill:hover{background:var(--bg-accent-soft);color:var(--text-primary)}.lib-seg-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:var(--fw-semibold)}.prod-lib-dims-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.prod-lib-dims-cell{flex-direction:column;align-items:stretch;min-width:0;display:flex}.prod-lib-dims-label{font-size:var(--fs-xs);color:var(--text-placeholder);text-align:center;margin-bottom:2px}.prod-lib-dim-input{box-sizing:border-box;border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-sm);font-family:var(--font-mono);text-align:center;background:var(--bg-primary);color:var(--text-primary);appearance:none;padding:4px 6px}.prod-lib-dim-input:focus{border-color:var(--accent);outline:none}.prod-lib-inline-dim{box-sizing:border-box;width:44px;font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--text-secondary);text-align:center;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px}.prod-lib-inline-dim:hover{border-color:var(--border-input);background:var(--bg-primary)}.prod-lib-inline-dim:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}.prod-lib-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:10px 20px;display:flex}.prod-lib-toolbar-input{border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:var(--fs-base);font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);outline:none;padding:5px 9px}.prod-lib-toolbar-input:focus{border-color:var(--accent)}.prod-lib-table-wrap{background:var(--bg-secondary);flex:1;overflow:auto}.prod-lib-table{table-layout:fixed;border-collapse:collapse;font-size:var(--fs-base);font-family:var(--font-ui)}.prod-lib-th{text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-bottom:1px solid var(--border-soft);background:var(--bg-tertiary);z-index:2;padding:7px 8px;position:sticky;top:0}.prod-lib-td{vertical-align:middle;padding:5px 8px;overflow:hidden;box-shadow:inset 0 -1px #00000021,inset -1px 0 #00000021}.prod-lib-th{box-shadow:inset 0 -1px #00000021,inset -1px 0 #00000021}.prod-lib-td:last-child,.prod-lib-th:last-child{box-shadow:inset 0 -1px #00000021}:root[data-theme=dark] .prod-lib-td,:root[data-theme=dark] .prod-lib-th{box-shadow:inset 0 -1px #ffffff1c,inset -1px 0 #ffffff1c}:root[data-theme=dark] .prod-lib-td:last-child,:root[data-theme=dark] .prod-lib-th:last-child{box-shadow:inset 0 -1px #ffffff1c}.lib-source-badge{font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.03em;align-items:center;padding:2px 7px;display:inline-flex}.lib-source-badge--library{color:var(--text-success);background:var(--bg-success)}.lib-source-badge--project{color:var(--text-warning);background:var(--bg-warning);text-overflow:ellipsis;max-width:130px;overflow:hidden}.lib-promote-btn{font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--bg-success);color:var(--text-success);border:1px solid var(--border-success-soft);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-family:var(--font-ui);letter-spacing:.02em;padding:4px 10px}.lib-promote-btn:disabled{opacity:.6}.icon-btn{cursor:pointer;color:var(--text-placeholder);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:4px;transition:color .1s,background .1s;display:flex}.icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-btn--danger{color:var(--danger)}.icon-btn--danger:hover{background:var(--bg-danger)}.prod-lib-empty{text-align:center;padding:48px 40px}.prod-lib-empty-icon{opacity:.18;margin-bottom:10px;font-size:28px}.prod-lib-empty-title{font-size:var(--fs-base);color:var(--text-placeholder);font-weight:var(--fw-medium)}.prod-lib-empty-hint{font-size:var(--fs-sm);color:var(--text-placeholder);opacity:.7;margin-top:3px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14100c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-primary);border-radius:var(--radius-md);width:380px;box-shadow:var(--shadow-md);padding:28px}.modal-dialog-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary);line-height:var(--lh-tight);margin-bottom:8px}.modal-dialog-text{font-size:var(--fs-base);color:var(--text-placeholder);line-height:var(--lh-normal);margin-bottom:24px}.modal-dialog{max-width:95vw;max-height:90vh;overflow-y:auto}.lib-item-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.form-error{font-size:var(--fs-sm);color:#dc2626;margin:0}.lib-empty-state{background:var(--bg-primary);border:1px dashed var(--border-default);border-radius:var(--radius-md);text-align:center;margin-top:8px;padding:48px}.lib-empty-state p{color:var(--text-placeholder);font-size:var(--fs-md);margin:0}.prod-lib-import-preview{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin-top:12px;padding:12px}.prod-lib-import-preview-stats{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:6px}.prod-lib-import-error-row{font-size:var(--fs-sm);color:var(--text-danger);margin-bottom:2px}@media (width<=768px){.prod-lib-layout{flex-direction:column}.prod-lib-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%;max-height:40vh}.lib-tab-bar{margin-left:8px}.lib-factory-strip{padding:8px 12px}}.login-page{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-primary);text-align:center;border:1px solid var(--border-subtle);border-radius:16px;width:100%;max-width:400px;padding:48px;box-shadow:0 1px 3px #00000014,0 8px 24px #0000000f}.login-title{font-size:var(--fs-3xl);font-weight:var(--fw-extrabold);color:var(--text-primary);line-height:var(--lh-tight);margin:0 0 8px}.login-subtitle{color:var(--text-secondary);font-size:var(--fs-base);line-height:var(--lh-normal);margin:0 0 32px}.login-google-btn{background:var(--bg-primary);border:1px solid var(--border-default);width:100%;font-size:var(--fs-base);font-weight:var(--fw-medium);font-family:var(--font-ui);cursor:pointer;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 24px;transition:border-color .12s,box-shadow .12s;display:flex}.login-google-btn:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-accent-soft)}.pool-action-bar{background:var(--bg-primary);border:1px solid var(--border-default);z-index:1400;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;min-width:320px;max-width:calc(100vw - 48px);padding:12px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000029}.pool-action-bar-count{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap}.pool-action-status{font-size:var(--fs-sm);color:#16a34a}.pool-action-error{font-size:var(--fs-sm);color:#dc2626}.proj-picker-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;transition:border-color .12s,background .12s;display:flex}.proj-picker-item:hover{border-color:var(--accent);background:var(--bg-accent-soft)}.proj-picker-name{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-primary)}.proj-picker-meta{font-size:var(--fs-sm);color:var(--text-placeholder)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.data-table th{color:var(--text-secondary);background:var(--surface-secondary,#f9fafb);font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.import-mapping-table{border-collapse:collapse;width:100%;font-size:13px}.import-mapping-table th,.import-mapping-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}.import-mapping-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.import-mapping-table tbody tr:last-child td{border-bottom:none}.import-manual-input{border:1px solid var(--border);border-radius:var(--radius-sm,4px);background:var(--surface);width:140px;color:var(--text-primary);padding:4px 8px;font-size:13px}.import-manual-input::placeholder{color:var(--text-placeholder)}.optimize-panel{gap:var(--space-3);display:grid}.optimize-weights{gap:var(--space-2);display:grid}.optimize-weight-row{align-items:center;gap:var(--space-2);display:flex}.optimize-weight-label{color:var(--color-text-muted,var(--text-muted));flex:0 0 160px}.optimize-weight-slider{accent-color:var(--color-accent,#6366f1);flex:1}.optimize-weight-val{text-align:right;color:var(--color-text-muted,var(--text-muted));flex:0 0 36px}.optimize-loading{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.optimize-spinner{border:2px solid var(--color-border,#333);border-top-color:var(--color-accent,#6366f1);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.optimize-result{gap:var(--space-3);display:grid}.optimize-score-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.optimize-score-before,.optimize-score-after{font-size:1.5rem;font-weight:700}.optimize-score-before{color:var(--color-text-muted,var(--text-muted))}.optimize-score-after.up{color:#4ade80}.optimize-score-after.down{color:#f87171}.optimize-score-arrow{color:var(--color-text-muted,var(--text-muted));font-size:1.2rem}.optimize-changes{gap:var(--space-1);display:grid}.optimize-changes__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.optimize-change-item{align-items:center;gap:var(--space-1);padding:2px 0;display:flex}.optimize-change-icon{text-align:center;flex-shrink:0;width:16px;font-weight:700}.optimize-change-icon--moved{color:#60a5fa}.optimize-change-icon--added{color:#4ade80}.optimize-change-icon--removed{color:#f87171}.optimize-change-detail{color:var(--color-text-muted,var(--text-muted));margin-left:auto}.optimize-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.optimize-applied{align-items:center;gap:var(--space-2);display:flex}.library-tree{flex-direction:column;gap:2px;padding:8px 0;display:flex}.library-tree__toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;padding:0 8px 8px;display:flex}.library-tree__total{font-size:var(--fs-xs);color:var(--text-secondary);margin-left:auto}.library-tree__empty{text-align:center;color:var(--text-secondary);padding:32px 16px}.library-tree__empty-title{font-weight:var(--fw-semibold);margin-bottom:4px}.library-tree__empty-hint{font-size:var(--fs-xs);color:var(--text-placeholder)}.library-tree__node{flex-direction:column;display:flex}.library-tree__node-head{width:100%;font-size:var(--fs-sm);color:var(--text-primary);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;transition:background .12s;display:flex}.library-tree__node-head:hover{background:var(--bg-secondary)}.library-tree__node-caret-btn,.library-tree__node-label-btn{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0}.library-tree__node-caret-btn:disabled,.library-tree__node-label-btn:disabled{cursor:default;opacity:.7}.library-tree__node-label-btn{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.library-tree__node-check{cursor:pointer;flex-shrink:0;margin:0}.library-tree__node.is-drop-target>.library-tree__node-head{background:#ff4c001f;outline:1px dashed #ff4c0073}.library-tree__caret{width:14px;color:var(--text-placeholder);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:10px;display:inline-block}.library-tree__node-label{font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.library-tree__count-chip{font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-tertiary);text-align:center;border-radius:10px;flex-shrink:0;min-width:28px;margin-left:auto;padding:1px 8px}.library-tree__children{flex-direction:column;display:flex}.library-tree__sku-row{font-size:var(--fs-xs);color:var(--text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #00000021;grid-template-columns:18px 28px minmax(140px,1fr) 110px 100px 70px 60px 64px;align-items:center;gap:8px;padding:4px 8px;display:grid}.library-tree__sku-name,.library-tree__sku-sku,.library-tree__sku-dims,.library-tree__sku-weight,.library-tree__sku-margin{border-left:1px solid #00000021;padding-left:8px}.library-tree__sku-row:active{cursor:grabbing}.library-tree__sku-row:hover{background:var(--bg-secondary)}.library-tree__sku-row.is-selected{background:#ff4c0012}.library-tree__node-head{border-bottom:1px solid #00000017}:root[data-theme=dark] .library-tree__sku-row{border-bottom-color:#ffffff1c}:root[data-theme=dark] .library-tree__sku-name,:root[data-theme=dark] .library-tree__sku-sku,:root[data-theme=dark] .library-tree__sku-dims,:root[data-theme=dark] .library-tree__sku-weight,:root[data-theme=dark] .library-tree__sku-margin{border-left-color:#ffffff1c}:root[data-theme=dark] .library-tree__node-head{border-bottom-color:#ffffff12}.library-tree__sku-check{cursor:pointer;margin:0}.library-tree__sku-thumb{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.library-tree__sku-thumb img{object-fit:contain;width:100%;height:100%}.library-tree__sku-thumb svg{width:12px;height:12px;color:var(--text-placeholder)}.library-tree__sku-name{color:var(--text-primary);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.library-tree__sku-sku{font-family:var(--font-mono);color:var(--text-placeholder);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.library-tree__sku-dims,.library-tree__sku-weight{font-family:var(--font-mono);white-space:nowrap}.library-tree__sku-margin{font-family:var(--font-mono);color:var(--text-success);white-space:nowrap}.library-tree__sku-actions{justify-content:flex-end;gap:2px;display:flex}.library-tree__sku-actions .icon-btn svg{width:13px;height:13px}.library-view-mode{border:1px solid var(--border-subtle);border-radius:6px;gap:0;display:inline-flex;overflow:hidden}.library-view-mode button{font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 12px;transition:background .12s}.library-view-mode button:hover{background:var(--bg-secondary)}.library-view-mode button.active{background:var(--accent,#ff4c00);color:#fff}.assortment-templates-filters{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 24px;display:flex}.assortment-template-card{min-height:220px}.assortment-template-card__chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.assortment-template-card__meta{margin-top:6px}.assortment-template-card__menu{position:relative}.assortment-template-card__menu-overlay{z-index:90;position:fixed;inset:0}.assortment-template-card__menu-popup{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);z-index:100;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.assortment-template-card__menu-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);color:var(--text-primary);font-family:var(--font-ui);background:0 0;border:none;padding:8px 12px}.assortment-template-card__menu-item:hover{background:var(--bg-tertiary)}.assortment-template-card__menu-item--danger{color:var(--danger,#c0392b)}.assortment-templates-toast{border-radius:var(--radius-md);min-width:280px;max-width:460px;font-size:var(--fs-base);z-index:1500;padding:12px 16px;animation:.18s ease-out assortmentToastIn;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #0000002e}.assortment-templates-toast--info{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-default)}.assortment-templates-toast--success{background:var(--bg-success-soft,#e8f7ee);color:var(--text-success,#1e7b3e);border:1px solid var(--border-success-soft,#bde3c8)}.assortment-templates-toast--error{color:#c0392b;background:#fdecea;border:1px solid #f5c6c0}@keyframes assortmentToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.assortment-editor{background:var(--bg-secondary);flex-direction:column;width:100%;height:100%;display:flex}.assortment-editor__header{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px 12px;display:flex}.assortment-editor__header-main{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.assortment-editor__title-block{min-width:0}.assortment-editor__title{font-size:20px;font-weight:var(--fw-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.assortment-editor__subtitle{font-size:var(--fs-sm);color:var(--text-placeholder);margin-top:2px}.assortment-editor__header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assortment-editor__version-switch{position:relative}.assortment-editor__version-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-md);z-index:220;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.assortment-editor__version-overlay{z-index:210;position:fixed;inset:0}.assortment-editor__version-item{text-align:left;cursor:pointer;width:100%;font-size:var(--fs-base);color:var(--text-primary);background:0 0;border:none;padding:8px 12px}.assortment-editor__version-item:hover{background:var(--bg-tertiary)}.assortment-editor__version-item.is-active{background:var(--bg-tertiary);font-weight:var(--fw-semibold)}.assortment-editor__status-bar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;min-height:28px;padding:6px 24px;display:flex}.assortment-editor__save-indicator{font-size:var(--fs-sm);color:var(--text-placeholder)}.assortment-editor__save-error{color:var(--danger,#c0392b)}.assortment-editor__banner{font-size:var(--fs-sm);border-radius:var(--radius-sm);padding:6px 10px}.assortment-editor__banner--readonly{color:#8a6200;background:#fff5e0;border:1px solid #f2d98c}.assortment-editor__banner--published{color:#34495e;background:#eef3fb;border:1px solid #c8d6ec}.assortment-editor__tabs{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);gap:2px;padding:0 24px;display:flex}.assortment-editor__tab{cursor:pointer;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-placeholder);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px}.assortment-editor__tab:hover{color:var(--text-primary)}.assortment-editor__tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent,#2c5ae6)}.assortment-editor__content{flex:1;padding:20px 24px;overflow-y:auto}.assortment-editor__issue-list{font-size:var(--fs-sm);color:var(--danger,#c0392b);margin:8px 0 12px;padding-left:20px}.assortment-editor__issue-list--warn{color:#b76e00}.assortment-items-editor__toolbar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.assortment-items-empty{text-align:center;color:var(--text-placeholder);padding:30px 12px}.assortment-items-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary);overflow-x:auto}.assortment-items-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.assortment-items-table th,.assortment-items-table td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:8px 10px}.assortment-items-table th{font-weight:var(--fw-medium);color:var(--text-placeholder);background:var(--bg-tertiary);font-size:var(--fs-sm)}.assortment-items-table tbody tr:last-child td{border-bottom:none}.assortment-items-table input[type=text]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;min-width:60px;font-size:var(--fs-base);background:var(--bg-primary);color:var(--text-primary);padding:4px 8px}.assortment-items-table td.is-invalid input{border-color:var(--danger,#c0392b);background:#fdecea}.assortment-items-table__group-name{font-weight:var(--fw-medium);color:var(--text-primary)}.assortment-items-table__required{border-radius:var(--radius-sm);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.assortment-items-table__remove{border:1px solid var(--border-subtle);background:var(--bg-primary);width:28px;height:28px;color:var(--danger,#c0392b);cursor:pointer;border-radius:50%;font-size:18px;line-height:1}.assortment-items-table__remove:hover:not(:disabled){background:#fdecea}.assortment-items-table__remove:disabled{opacity:.4;cursor:not-allowed}.assortment-group-picker__list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary);max-height:320px;overflow-y:auto}.assortment-group-picker__row{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.assortment-group-picker__row:last-child{border-bottom:none}.assortment-group-picker__row:hover{background:var(--bg-tertiary)}.assortment-space-bar{flex-direction:column;gap:4px;min-width:150px;display:flex}.assortment-space-bar__track{background:var(--bg-tertiary);border-radius:4px;height:8px;position:relative;overflow:hidden}.assortment-space-bar__range{background:var(--accent,#2c5ae6);opacity:.7;border-radius:4px;position:absolute;top:0;bottom:0}.assortment-space-summary{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary);flex-direction:column;gap:6px;margin-top:16px;padding:12px 14px;display:flex}.assortment-space-summary__row{font-size:var(--fs-base);justify-content:space-between;gap:12px;display:flex}.assortment-space-summary__warning{color:#b76e00;margin-top:4px}.assortment-margin-editor{flex-direction:column;gap:16px;display:flex}.assortment-margin-summary{gap:12px;display:flex}.assortment-margin-summary__kpi{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary);min-width:220px;padding:14px 18px}.assortment-margin-summary__value{font-size:24px;font-weight:var(--fw-semibold);color:var(--text-primary);margin:2px 0;line-height:1.2}.assortment-margin-chart{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary);padding:12px 14px}.assortment-margin-chart__row{font-size:var(--fs-sm);grid-template-columns:200px 1fr 80px;align-items:center;gap:10px;padding:4px 0;display:grid}.assortment-margin-chart__label{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);overflow:hidden}.assortment-margin-chart__bar{background:var(--bg-tertiary);border-radius:5px;height:10px;overflow:hidden}.assortment-margin-chart__fill{background:var(--text-placeholder);border-radius:5px;height:100%}.assortment-margin-chart__fill.is-accent{background:var(--accent,#2c5ae6)}.assortment-margin-chart__value{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}.library-tree__node-actions{opacity:0;flex-shrink:0;align-items:center;gap:2px;margin-left:6px;transition:opacity .12s;display:flex;position:relative}.library-tree__node-head:hover .library-tree__node-actions,.library-tree__node-head:focus-within .library-tree__node-actions{opacity:1}.library-tree__node-action-btn{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.library-tree__node-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-subtle)}.library-tree__node-menu{z-index:30;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;gap:2px;min-width:160px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 6px 18px #0000002e}.library-tree__node-menu button{text-align:left;font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px}.library-tree__node-menu button:hover{background:var(--bg-secondary)}.library-tree__node-menu-danger{color:var(--accent-danger,#c0392b)!important}.library-tree__node-head[draggable=true]{cursor:grab}.library-tree__node-head[draggable=true]:active{cursor:grabbing}.library-toolbar-filters{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px 4px;display:flex}.library-toolbar-filters__label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.library-toolbar-filters select{min-width:130px}.prod-lib-content--full{flex-direction:column;flex:auto;width:100%;min-width:0;display:flex}.product-form-modal{flex-direction:column;width:100%;max-width:640px;max-height:85vh;display:flex}.product-form-modal__body{margin-top:8px;padding-right:4px;overflow-y:auto}.product-form-grid{grid-template-columns:110px 1fr;align-items:center;gap:6px 10px;display:grid}.category-cascade-picker{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.category-cascade-picker select{flex:110px;min-width:110px;max-width:160px}.category-cascade-picker.is-compact{gap:4px}.category-cascade-picker.is-compact select{min-width:90px;max-width:140px;font-size:var(--fs-xs);flex:90px;padding-top:3px;padding-bottom:3px}.product-form-modal{max-width:540px}.bulk-import-modal{width:calc(100vw - 40px);max-width:1100px;max-height:92vh;overflow-y:auto}.bulk-import-table{width:100%;font-size:var(--fs-xs)}.bulk-import-table th,.bulk-import-table td{vertical-align:top;padding:4px 6px}.bulk-import-table__raw-cat{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--text-secondary);overflow:hidden}.bulk-import-mapping-cell{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.bulk-import-mapping-cell .category-cascade-picker{flex:auto;min-width:0}.bulk-import-mapping-cell .category-cascade-picker.is-compact select{flex:80px;min-width:80px;max-width:120px}.bulk-import-rawcat-section{border:1px solid var(--border-secondary,#ddd);background:var(--bg-secondary,#f7f7f7);border-radius:6px;flex-direction:column;gap:8px;margin:8px 0 12px;padding:10px 12px;display:flex}.bulk-import-rawcat-section__header{font-weight:600;font-size:var(--fs-sm,13px)}.bulk-import-rawcat-section__hint{margin-top:-4px;margin-bottom:4px;line-height:1.35}.bulk-import-rawcat-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-import-rawcat-row__label{word-break:break-word;flex:none;min-width:160px;max-width:280px}.bulk-import-rawcat-row .category-cascade-picker{flex:auto;min-width:0}.bulk-import-rawcat-row .category-cascade-picker.is-compact select{flex:80px;min-width:80px;max-width:140px}.bulk-import-mapping-readonly{align-items:center;gap:6px;min-width:0;display:flex}.bulk-import-mapping-readonly>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.bulk-import-mapping-readonly .muted{color:var(--text-secondary,#888);font-style:italic}:root{--color-compliance-ok:#16a34a;--color-compliance-warning:#d97706;--color-compliance-error:#dc2626}.assortment-editor{flex-direction:column;flex:1;min-height:0;padding:16px 24px 24px;display:flex;overflow:auto}.assortment-editor__placeholder{background:var(--bg-primary);border:1px solid var(--border-subtle);text-align:center;max-width:520px;color:var(--text-secondary);border-radius:14px;margin:32px auto;padding:24px 28px;font-size:13px}.assortment-editor__placeholder h3{color:var(--text-primary);margin:0 0 8px;font-size:15px}.assortment-editor__header{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:16px;margin-bottom:12px;padding-bottom:12px;display:flex}.assortment-editor__header-main{flex:1;min-width:0}.assortment-editor__title-row{align-items:center;gap:12px;margin-bottom:6px;display:flex}.assortment-editor__title{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.assortment-editor__status-badge{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:500}.assortment-editor__status-badge--approved{background:var(--color-compliance-ok);color:#fff;border-color:var(--color-compliance-ok)}.assortment-editor__summary{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.assortment-editor__summary strong{color:var(--text-primary);font-weight:600}.assortment-editor__header-actions{flex-shrink:0;gap:8px;display:flex}.assortment-editor__banner{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:12px;padding:8px 14px;font-size:12px}.assortment-editor__banner--approved{color:#166534;background:#16a34a14;border-color:#16a34a40}.assortment-editor__controls{gap:6px;margin-bottom:12px;display:flex}.assortment-tree{color:var(--text-primary);font-size:13px}.assortment-tree__node-head{border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;min-height:30px;padding:6px 8px;display:flex}.assortment-tree__node--depth-1>.assortment-tree__node-head{padding-left:4px;font-weight:600}.assortment-tree__node--depth-2>.assortment-tree__node-head{padding-left:28px}.assortment-tree__node--depth-3>.assortment-tree__node-head{padding-left:52px}.assortment-tree__node--depth-4>.assortment-tree__node-head{padding-left:76px}.assortment-tree__node--depth-2>.assortment-tree__node-head:hover,.assortment-tree__node--depth-3>.assortment-tree__node-head:hover,.assortment-tree__node--depth-4>.assortment-tree__node-head:hover{background:var(--bg-secondary)}.assortment-tree__caret{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:2px 4px;font-size:10px}.assortment-tree__node-name{color:var(--text-primary)}.assortment-tree__node-name--warning{color:var(--color-compliance-error)}.assortment-tree__counter{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.assortment-tree__group-range{color:var(--text-secondary);background:var(--bg-secondary);border-radius:6px;padding:2px 6px;font-size:11px}.assortment-tree__status-badge{border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.assortment-tree__override-flag{background:var(--color-compliance-error);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px}.assortment-tree__clear-override-btn,.assortment-tree__add-sku-btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-primary);border-radius:6px;padding:3px 8px;font-size:11px}.assortment-tree__add-sku-btn{margin-left:auto}.assortment-tree__add-sku-btn:hover,.assortment-tree__clear-override-btn:hover{background:var(--bg-primary)}.assortment-tree__children{flex-direction:column;display:flex}.assortment-tree__sku-row{border-top:1px solid var(--border-subtle);grid-template-columns:36px 1fr 90px 110px 100px 28px;align-items:center;gap:8px;padding:6px 8px 6px 100px;font-size:12px;display:grid}.assortment-tree__sku-thumb{object-fit:contain;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.assortment-tree__sku-thumb--empty{color:var(--text-secondary)}.assortment-tree__sku-info{min-width:0}.assortment-tree__sku-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.assortment-tree__sku-meta{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.assortment-tree__sku-input{color:var(--text-secondary);flex-direction:column;gap:2px;font-size:10px;display:flex}.assortment-tree__sku-input input{border:1px solid var(--border-input);background:var(--bg-secondary);color:var(--text-primary);text-align:right;border-radius:6px;width:100%;padding:4px 6px;font-size:12px}.assortment-tree__sku-input input:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.assortment-tree__sku-remove{border:1px solid var(--border-subtle);cursor:pointer;width:22px;height:22px;color:var(--color-compliance-error);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.assortment-tree__sku-remove:hover{background:#dc262614}.assortment-editor__compliance{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:10px;margin-bottom:12px;overflow:hidden}.assortment-editor__compliance--passed{border-left:4px solid var(--color-compliance-ok)}.assortment-editor__compliance--warning{border-left:4px solid var(--color-compliance-warning)}.assortment-editor__compliance--failed{border-left:4px solid var(--color-compliance-error)}.assortment-editor__compliance-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.assortment-editor__compliance-toggle:disabled{cursor:default}.assortment-editor__compliance-toggle:hover:not(:disabled){background:var(--bg-secondary)}.assortment-editor__compliance-dot{font-size:14px}.assortment-editor__compliance--passed .assortment-editor__compliance-dot{color:var(--color-compliance-ok)}.assortment-editor__compliance--warning .assortment-editor__compliance-dot{color:var(--color-compliance-warning)}.assortment-editor__compliance--failed .assortment-editor__compliance-dot{color:var(--color-compliance-error)}.assortment-editor__compliance-text{flex:1;font-weight:500}.assortment-editor__compliance-caret{color:var(--text-secondary);font-size:10px}.assortment-editor__compliance-list{border-top:1px solid var(--border-subtle);margin:0;padding:4px 14px 12px;list-style:none}.assortment-editor__compliance-item{border-bottom:1px dashed var(--border-subtle);padding:4px 0}.assortment-editor__compliance-item:last-child{border-bottom:none}.assortment-editor__compliance-item--error{color:var(--color-compliance-error)}.assortment-editor__compliance-item--warning{color:var(--color-compliance-warning)}.assortment-editor__compliance-link{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.assortment-editor__compliance-link:hover{text-decoration:underline}.assortment-editor__controls .button.active{background:var(--neu-accent);color:#fff}.assortment-compliance-card__status{border-left:3px solid var(--color-compliance-ok);background:var(--bg-secondary);border-radius:6px;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;display:flex}.assortment-compliance-card__status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.assortment-compliance-card__status-text{color:var(--text-primary);font-size:13px;font-weight:500}.assortment-compliance-kpi{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px;display:grid}.assortment-compliance-kpi__item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px}.assortment-compliance-kpi__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.assortment-compliance-kpi__label{color:var(--text-secondary);margin-top:2px;font-size:11px}.assortment-compliance-bar{margin:12px 0}.assortment-compliance-bar__track{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:999px;height:14px;display:flex;overflow:hidden}.assortment-compliance-bar__seg{transition:width .3s}.assortment-compliance-bar__legend{color:var(--text-secondary);gap:14px;margin-top:6px;font-size:11px;display:flex}.assortment-compliance-bar__legend>span{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.assortment-compliance-bar__legend>span>span{border-radius:2px;width:10px;height:10px;display:inline-block}.assortment-compliance-issues__table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.assortment-compliance-issues__table th,.assortment-compliance-issues__table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:6px 8px}.assortment-compliance-issues__table th{color:var(--text-secondary);background:var(--bg-secondary);font-weight:600}.assortment-compliance-severity{border-radius:999px;padding:1px 8px;font-size:10px;font-weight:500;display:inline-block}.assortment-compliance-severity--warning{color:var(--color-compliance-warning);background:#d977061f}.assortment-compliance-severity--error{color:var(--color-compliance-error);background:#dc26261f}.placement-summary{z-index:5;background:var(--neu-bg);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:8px;margin:-8px -8px 16px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.placement-summary--collapsed{padding:8px 14px}.placement-summary--empty{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px}.placement-summary__empty-text{flex:240px;min-width:0}.placement-summary__empty-text strong{color:var(--text-primary);font-size:13px;display:block}.placement-summary__empty-actions{flex-wrap:wrap;gap:8px;display:flex}.placement-summary__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.placement-summary__row--head{justify-content:space-between}.placement-summary__plan-fact{color:var(--text-secondary);flex:220px;min-width:0;font-size:12px}.placement-summary__plan-fact strong{color:var(--text-primary)}.placement-summary__pf-label{color:var(--text-secondary)}.placement-summary__pf-divider{color:var(--text-secondary);opacity:.5}.placement-summary__toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:11px}.placement-summary__toggle:hover{background:var(--bg-neutral)}.placement-summary__row--chips{gap:6px}.placement-summary__chip{background:var(--bg-neutral);color:var(--text-secondary);cursor:default;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;transition:filter .15s,transform .1s;display:inline-flex}button.placement-summary__chip{cursor:pointer}button.placement-summary__chip:hover{filter:brightness(1.05)}button.placement-summary__chip:active{transform:translateY(1px)}.placement-summary__chip strong{color:inherit;font-weight:600}.placement-summary__chip--error{color:var(--color-compliance-error,#dc2626);background:#dc26261f}.placement-summary__chip--warning{background:var(--bg-warning);color:var(--text-warning)}.placement-summary__chip--neutral{background:var(--bg-neutral);color:var(--text-secondary)}.placement-summary__chip--muted{color:var(--text-secondary);opacity:.7;background:0 0}.placement-summary__score{font-size:11px;font-weight:600}.placement-summary__score--success{background:var(--bg-success);color:var(--text-success)}.placement-summary__score--warning{background:var(--bg-warning);color:var(--text-warning)}.placement-summary__score--error{color:var(--color-compliance-error,#dc2626);background:#dc26261f}@media (width<=1023px){.placement-summary{padding:8px 10px}.placement-summary__plan-fact{font-size:11px}}.placement-form__plan-hint{background:var(--bg-neutral);color:var(--text-secondary);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;font-size:12px;display:flex}.placement-form__plan-hint strong{color:var(--text-primary);font-weight:600}.placement-form__plan-hint--under{background:var(--bg-warning);color:var(--text-warning)}.placement-form__plan-hint--under strong{color:var(--text-warning)}.placement-form__plan-hint--over{color:var(--color-compliance-error,#dc2626);background:#dc262614}.placement-form__plan-hint--over strong{color:var(--color-compliance-error,#dc2626)}.placement-form__picker{gap:8px;display:grid}.neu-input{border-radius:var(--radius-lg);background:var(--neu-bg);width:100%;height:40px;box-shadow:var(--neu-shadow-in);color:var(--text-primary);border:none;outline:none;padding:0 14px;font-size:14px}.neu-input::placeholder{color:var(--text-secondary);opacity:.7}.placement-form__picker-toggle{background:var(--bg-neutral);border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.placement-form__picker-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.placement-form__picker-tab:hover:not(:disabled){background:var(--neu-bg)}.placement-form__picker-tab:disabled{opacity:.45;cursor:not-allowed}.placement-form__picker-tab.is-active{background:var(--neu-bg);color:var(--text-primary);box-shadow:0 1px 2px #0000000f}.placement-form__picker-badge{background:var(--bg-neutral);min-width:20px;height:18px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.placement-form__picker-tab.is-active .placement-form__picker-badge{background:var(--bg-success);color:var(--text-success)}.placement-form__picker-meta{margin-top:-2px;font-size:11px}
