:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0e0e10;--surface:#19191d;--surface-elevated:#222227;--border:#2e2e33;--primary:#c1272d;--primary-hover:#a11e23;--primary-light:#ff3b41;--primary-muted:#c1272d26;--text-primary:#fafafa;--text-secondary:#a0a0ab;--text-muted:#71717a;--success:#22c55e;--error:#ef4444;color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;margin:0}button{font:inherit}.app-shell{background:linear-gradient(180deg, #222227bd, #0e0e1000 34%), var(--background);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:space-between;gap:38px;width:min(100%,440px);min-height:500px;padding:34px;animation:.3s ease-out fade-in;display:flex}.brand-lockup{justify-items:center;padding-top:2px;display:grid}.brand-logo{object-fit:contain;filter:drop-shadow(0 0 28px #c1272d6b);width:min(100%,320px);max-width:none;height:auto}.login-state,.success-state{gap:18px;display:grid}.login-state{align-content:end;min-height:132px}h1{color:var(--text-primary);margin:0;font-size:32px;font-weight:700;line-height:1.12}p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:40px;font-size:14px;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.primary-button{color:#fff;background:var(--primary);width:100%;padding:0 16px}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.secondary-button:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-elevated)}.primary-button:focus-visible,.secondary-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.primary-button:disabled{cursor:wait;opacity:.72}.secondary-button{border:1px solid var(--border);width:max-content;color:var(--text-primary);background:0 0;padding:0 16px}.button-icon{flex:none;width:18px;height:18px}.microsoft-mark{flex:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:2px;width:20px;height:20px;display:grid}.microsoft-mark span:first-child{background:#f25022}.microsoft-mark span:nth-child(2){background:#7fba00}.microsoft-mark span:nth-child(3){background:#00a4ef}.microsoft-mark span:nth-child(4){background:#ffb900}.status-badge{border-radius:999px;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:26px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.success-badge{color:#4ade80;background:#22c55e26}.badge-icon{flex:none;width:14px;height:14px}.error-message{min-height:24px;color:var(--error);font-size:14px}.success-message{color:var(--success);font-size:14px}.system-shell{background:var(--background);grid-template-columns:264px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.system-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);background:#141416;flex-direction:column;gap:22px;min-height:100vh;padding:22px 18px;transition:padding .2s,gap .2s;display:flex;overflow:hidden}.sidebar.is-collapsed{align-items:center;gap:18px;padding:18px 12px}.sidebar-header{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;width:100%;display:grid}.sidebar.is-collapsed .sidebar-header{grid-template-columns:1fr;justify-items:center;gap:10px}.brand-button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:100%;min-height:78px;padding:0;display:grid}.brand-button:focus-visible,.sidebar-toggle:focus-visible,.nav-item:focus-visible,.icon-button:focus-visible,.role-select:focus-visible,.permission-select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-logo{object-fit:contain;width:min(100%,190px);height:auto}.sidebar-logo-mark{width:44px;height:44px;display:none}.sidebar-toggle{width:40px;height:40px;color:var(--text-secondary);background:0 0}.sidebar-toggle:hover{color:var(--text-primary);background:var(--surface)}.sidebar.is-collapsed .sidebar-toggle{display:none}.sidebar.is-collapsed .brand-button{width:48px;min-height:48px}.sidebar.is-collapsed .sidebar-logo-full{display:none}.sidebar.is-collapsed .sidebar-logo-mark{display:block}.side-nav{gap:8px;width:100%;display:grid}.nav-item{width:100%;min-height:42px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-item:hover{color:var(--text-primary);background:var(--surface)}.nav-item.active{color:var(--text-primary);background:var(--primary-muted);border-color:#c1272d6b}.nav-icon{flex:none;width:18px;height:18px}.sidebar.is-collapsed .side-nav{justify-items:center}.sidebar.is-collapsed .nav-item{justify-content:center;gap:0;width:44px;min-height:44px;padding:0}.sidebar.is-collapsed .nav-item span,.sidebar.is-collapsed .session-user,.sidebar.is-collapsed .sidebar-logout span{display:none}.sidebar-footer{gap:14px;width:100%;margin-top:auto;display:grid}.sidebar.is-collapsed .sidebar-footer{justify-items:center}.session-user{gap:3px;min-width:0;display:grid}.session-user strong,.session-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-user strong{color:var(--text-primary);font-size:14px}.session-user span{color:var(--text-muted);font-size:12px}.sidebar-logout{width:100%}.sidebar.is-collapsed .sidebar-logout{width:44px;min-height:44px;padding:0}.workspace{min-width:0;padding:30px}.page-section{gap:18px;width:min(100%,1120px);display:grid}.metas-page-section{align-content:start;width:100%;max-width:none}.section-header{justify-content:space-between;align-items:center;gap:18px;min-height:44px;display:flex}.eyebrow{color:var(--text-muted);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,220px));justify-content:start;gap:10px;display:grid}.summary-item{border:1px solid var(--border);width:100%;min-height:58px;color:inherit;cursor:pointer;background:var(--surface);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,background .2s,transform .2s;display:flex}.summary-item:hover{border-color:var(--primary);background:var(--surface-elevated);transform:translateY(-1px)}.summary-item:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);outline:none}.summary-item h2{color:var(--text-primary);margin:0 0 5px;font-size:14px;line-height:1.18}.summary-icon{width:20px;height:20px;color:var(--primary-light);flex:none}.summary-item .access-badge{gap:6px;min-height:22px;padding:0 8px;font-size:11px}.workspace-empty{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:calc(100vh - 60px);display:grid}.workspace-empty h1{font-size:30px}.workspace-empty p{max-width:420px}.empty-icon{width:46px;height:46px;color:var(--primary-light)}.data-surface{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;overflow-x:auto}.access-table{border-collapse:collapse;width:100%;min-width:760px}.access-table th,.access-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;vertical-align:middle;padding:14px;font-size:13px}.access-table th{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.access-table tbody tr:last-child td{border-bottom:0}.access-table td:first-child,.access-table th:first-child{min-width:220px}.user-cell{gap:3px;min-width:0;display:grid}.user-cell strong,.user-cell span{overflow-wrap:anywhere}.user-cell strong{color:var(--text-primary);font-size:14px}.user-cell span{color:var(--text-muted);font-size:12px}.role-select,.permission-select{border:1px solid var(--border);width:138px;min-height:36px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:0 10px;font-size:13px}.role-select:disabled,.permission-select:disabled{cursor:not-allowed;opacity:.62}.permission-select{width:142px}.access-badge,.super-access{border-radius:999px;align-items:center;gap:7px;min-height:26px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.access-badge.reader{color:#93c5fd;background:#3b82f626}.access-badge.writer,.super-access{color:#fca5a5;background:#c1272d2e}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface-elevated)}.inline-action{width:max-content;padding:0 16px}.meta-price-table{table-layout:auto;width:100%;min-width:max-content}.hidden-columns-bar{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.hidden-columns-bar span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.show-column-button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:var(--background);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:28px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.show-column-button:hover,.hide-column-action:hover:not(:disabled){color:var(--text-primary);background:var(--surface-elevated)}.hide-column-action:disabled{cursor:not-allowed;opacity:.45}.show-column-button:focus-visible,.hide-column-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.meta-data-surface{max-height:580px;overflow:auto}.replication-panel{border:1px solid var(--border);background:#151518;border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;padding:12px;display:flex}.replication-title{color:var(--text-primary);flex-basis:100%;margin:0;font-size:14px;font-weight:800}.replication-field{gap:6px;display:grid}.replication-field label{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.replication-field select{border:1px solid var(--border);width:148px;min-height:36px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:0 10px;font-size:13px}.replication-field select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);outline:none}.replicate-button{border:1px solid var(--primary);color:#fff;cursor:pointer;background:var(--primary);min-height:36px;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.replicate-button:hover:not(:disabled){background:var(--primary-hover)}.replicate-button:disabled,.save-all-button:disabled,.apply-all-formulas-button:disabled,.apply-formula-button:disabled{cursor:not-allowed;opacity:.58}.formula-actions-bar{justify-content:flex-end;display:flex}.apply-all-formulas-button{border:1px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;min-height:36px;font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.apply-all-formulas-button:hover:not(:disabled){background:var(--primary-hover)}.meta-price-table th{z-index:2;white-space:nowrap;background:#17171a;padding:10px 12px;position:sticky;top:0}.column-filter{gap:7px;display:grid}.column-title{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex;position:relative}.column-title.can-hide{cursor:pointer}.column-title>span{color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.hide-column-action{border:1px solid var(--border);min-height:28px;color:var(--text-secondary);cursor:pointer;font:inherit;opacity:0;pointer-events:none;background:#242428;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;transition:opacity .16s,background-color .16s,color .16s;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hide-column-action span{color:inherit}.column-title:hover .hide-column-action,.column-title:focus-within .hide-column-action{opacity:1;pointer-events:auto}.column-filter input{border:1px solid var(--border);width:100%;min-height:30px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:0 8px;font-size:12px}.column-filter input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);outline:none}.column-filter-spacer{min-height:30px}.meta-price-table td{white-space:nowrap;height:56px;padding:10px 14px}.meta-price-table .compact-cell{max-width:none}.meta-price-table td:first-child,.meta-price-table th:first-child{min-width:104px}.meta-price-table .col-region{width:104px;min-width:104px;max-width:104px}.meta-price-table .col-period{width:72px;min-width:72px;max-width:72px}.meta-price-table .col-year{width:86px;min-width:86px;max-width:86px}.meta-price-table .col-date{width:148px}.meta-price-table .col-promotion{width:126px;min-width:126px}.meta-price-table .col-department{width:132px}.meta-price-table .col-section,.meta-price-table .col-group{width:126px}.meta-price-table .col-subgroup{width:112px}.meta-price-table .col-family{width:max-content;min-width:286px}.meta-price-table .col-m2,.meta-price-table .col-target-value,.meta-price-table .col-total,.meta-price-table .col-price{width:122px}.meta-price-table .col-formula{width:218px;min-width:218px}.meta-price-table .col-total{color:var(--text-primary);font-weight:700}.date-history-button{color:#c7d2fe;cursor:pointer;min-height:30px;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.date-history-button:hover{color:var(--text-primary);text-underline-offset:4px;text-decoration:underline}.date-history-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.promotion-button{border:1px solid var(--border);min-height:32px;color:var(--text-secondary);cursor:pointer;background:var(--surface-elevated);font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:700;display:inline-flex}.promotion-button:hover{color:var(--text-primary);border-color:#fff3}.promotion-button.active{border-color:var(--primary);color:#fff;background:var(--primary)}.promotion-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.meta-row.block-even td{background:#18181b;border-bottom:5px solid #0e0e10}.meta-row.block-odd td{background:#222227;border-bottom:5px solid #0e0e10}.numeric-edit-cell{min-width:132px}.meta-number-input{border:1px solid var(--border);width:116px;min-height:34px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:0 9px;font-size:13px}.meta-number-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);outline:none}.meta-number-input.dirty{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.meta-number-input.dirty:focus{box-shadow:0 0 0 2px var(--primary-muted), 0 0 0 1px var(--primary)}.meta-number-input:disabled{cursor:not-allowed;opacity:.72}.formula-cell-controls{align-items:center;gap:7px;display:flex}.formula-cell-controls .formula-input{width:158px}.apply-formula-button{border:1px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-flex}.apply-formula-button:hover:not(:disabled){background:var(--primary-hover)}.save-cell{text-align:right;width:154px;min-width:154px}.save-header-cell{width:154px;min-width:154px;padding:10px 12px}.save-all-button{border:1px solid var(--primary);color:#fff;cursor:pointer;background:var(--primary);min-width:128px;min-height:38px;font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.save-all-button:hover:not(:disabled){background:var(--primary-hover)}.save-row-button{border:1px solid var(--border);min-width:104px;min-height:34px;color:var(--text-secondary);cursor:pointer;background:var(--surface-elevated);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.save-row-button.dirty{border-color:var(--primary);color:#fff;background:var(--primary)}.save-row-button:disabled{cursor:default;opacity:.65}.save-row-button.dirty:disabled{opacity:.78}.meta-section-totals{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding-top:14px;display:flex}.meta-section-total{border:1px solid var(--border);border-left:4px solid var(--primary);background:#18181b;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;min-width:238px;padding:12px 14px;display:flex}.meta-section-total span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.meta-section-total strong{color:var(--text-primary);white-space:nowrap;font-size:15px;font-weight:700}.modal-backdrop{z-index:40;background:#000000a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.history-modal{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-rows:auto minmax(0,1fr);gap:18px;width:min(980px,100%);max-height:min(760px,100vh - 48px);padding:22px;display:grid;box-shadow:0 26px 80px #0000007a}.history-modal-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.history-modal-header h2{color:var(--text-primary);margin:4px 0 6px;font-size:22px;line-height:1.2}.history-loading{min-height:220px;color:var(--text-secondary);place-items:center;gap:12px;font-size:14px;display:grid}.history-spinner{width:30px;height:30px;color:var(--primary-light);animation:.9s linear infinite spin}.history-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.history-table{border-collapse:collapse;width:100%;min-width:760px}.history-table th,.history-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-align:left;padding:12px 14px}.history-table th{z-index:1;color:var(--text-muted);text-transform:uppercase;background:#17171a;font-size:12px;position:sticky;top:0}.history-table td{color:var(--text-secondary);background:#18181b;font-size:13px}.history-table tr:last-child td{border-bottom:0}.history-value{color:var(--text-primary);font-weight:600}.history-value.changed{border-left:3px solid var(--primary);color:#fff;background:#c1272d3d}.promotion-modal{width:min(1040px,100%)}.promotion-modal-body{gap:16px;min-height:0;display:grid;overflow:auto}.promotion-form{border:1px solid var(--border);background:#18181b;border-radius:8px;gap:14px;padding:14px;display:grid}.promotion-form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:14px 16px;display:grid}.promotion-field{min-width:0;color:var(--text-muted);text-transform:uppercase;gap:7px;font-size:12px;font-weight:800;display:grid}.promotion-field span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.promotion-field input{border:1px solid var(--border);width:100%;min-height:36px;color:var(--text-primary);background:var(--background);font:inherit;text-transform:none;border-radius:8px;padding:0 10px;font-size:13px}.promotion-field input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);outline:none}.promotion-field input:disabled{cursor:not-allowed;color:var(--text-muted);background:#ffffff08}.promotion-active-note{color:var(--text-secondary);font-size:13px}.promotion-actions{flex-wrap:wrap;gap:10px;display:flex}.compact-action{width:max-content;min-height:38px;padding:0 14px}.promotion-cancel-button{border:1px solid var(--border);min-height:38px;color:var(--text-secondary);cursor:pointer;background:var(--surface-elevated);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.promotion-cancel-button:hover:not(:disabled){border-color:var(--primary);color:#fff}.promotion-cancel-button:disabled{cursor:default;opacity:.62}.promotion-history-table{min-width:880px}.promotion-status{border:1px solid var(--border);min-height:24px;color:var(--text-muted);background:var(--surface-elevated);border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.promotion-status.active{border-color:var(--primary);color:#fff;background:var(--primary)}.empty-history{color:var(--text-secondary);margin:0;padding:16px}@media (width<=760px){.promotion-form-grid{grid-template-columns:1fr}}@media (height>=900px){.meta-data-surface{height:clamp(580px,100vh - 130px,820px);max-height:none}}@media (height>=1180px){.meta-data-surface{height:clamp(820px,100vh - 170px,980px)}}*{scrollbar-color:var(--border) var(--surface);scrollbar-width:thin}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.app-shell{align-items:stretch;padding:18px}.auth-panel{min-height:calc(100vh - 36px);padding:26px}.brand-logo{width:min(100%,292px)}.login-state{min-height:116px}h1{font-size:28px}}@media (width<=860px){.system-shell,.system-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar,.sidebar.is-collapsed{z-index:10;border-right:0;border-bottom:1px solid var(--border);align-items:stretch;gap:14px;min-height:auto;padding:14px;position:sticky;top:0}.sidebar-header,.sidebar.is-collapsed .sidebar-header{grid-template-columns:minmax(0,1fr);justify-items:center}.sidebar-toggle{display:none}.brand-button,.sidebar.is-collapsed .brand-button{width:100%;min-height:48px}.sidebar-logo,.sidebar.is-collapsed .sidebar-logo-full{width:150px;display:block}.sidebar-logo-mark,.sidebar.is-collapsed .sidebar-logo-mark{display:none}.side-nav,.sidebar.is-collapsed .side-nav{grid-auto-columns:max-content;grid-auto-flow:column;justify-items:start;padding-bottom:2px;overflow-x:auto}.nav-item,.sidebar.is-collapsed .nav-item{justify-content:flex-start;gap:10px;width:max-content;min-width:116px;min-height:42px;padding:0 12px}.sidebar.is-collapsed .nav-item span,.sidebar.is-collapsed .session-user,.sidebar.is-collapsed .sidebar-logout span{display:inline}.sidebar-footer,.sidebar.is-collapsed .sidebar-footer{grid-template-columns:minmax(0,1fr) auto;place-items:center stretch}.sidebar-logout,.sidebar.is-collapsed .sidebar-logout{width:max-content;min-height:40px;padding:0 16px}.workspace{padding:22px 16px}.workspace-empty{min-height:420px}.section-header{flex-direction:column;align-items:flex-start}}.hub-page-section{align-content:start;width:100%;max-width:none}.hub-page-header{min-height:54px}.hub-header-actions,.hub-toolbar-end,.hub-inspector-actions,.hub-modal-actions{align-items:center;gap:10px;display:flex}.hub-local-badge{color:#b7b7c0;text-transform:uppercase;background:#17171a;border:1px solid #3b3b42;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.hub-inline-primary{width:max-content}.hub-inline-secondary{width:max-content;min-height:40px;padding:0 12px;font-size:12px}.hub-workspace-grid{grid-template-columns:214px minmax(540px,1fr) 264px;align-items:start;gap:14px;min-width:0;display:grid}.hub-cd-panel-slot{align-self:stretch;min-width:0;min-height:0;position:relative}.hub-cd-panel,.hub-layout-workspace,.hub-inspector{border:1px solid var(--border);background:#17171a;border-radius:8px;min-width:0}.hub-cd-panel,.hub-inspector{padding:14px}.hub-cd-panel{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.hub-panel-title,.hub-inspector-header,.hub-layout-identity{align-items:center;gap:10px;min-width:0;display:flex}.hub-panel-title{border-bottom:1px solid var(--border);padding:2px 2px 13px}.hub-panel-title>svg,.hub-inspector-header>svg,.hub-layout-identity>svg{color:#ef444b;flex:none;width:20px;height:20px}.hub-panel-title div,.hub-inspector-header div,.hub-layout-identity div{gap:2px;min-width:0;display:grid}.hub-panel-title span,.hub-inspector-header span,.hub-layout-identity span{color:var(--text-muted);font-size:11px}.hub-panel-title strong,.hub-layout-identity strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.hub-cd-list{overscroll-behavior:contain;scrollbar-color:#45454d #17171b;scrollbar-width:thin;flex:1;align-content:start;gap:8px;min-height:0;padding-top:12px;display:grid;overflow-y:auto}.hub-cd-option{min-width:0;min-height:108px;color:var(--text-secondary);cursor:pointer;text-align:left;background:#1c1c20;border:1px solid #0000;border-radius:6px;grid-template-columns:1fr auto;align-content:center;gap:6px 8px;padding:12px;display:grid}.hub-cd-option:hover{background:#222227;border-color:#44444b}.hub-cd-option.active{background:#c1272d24;border-color:#ef444b9e}.hub-cd-option:focus-visible,.hub-mode-control button:focus-visible,.hub-zoom-control button:focus-visible,.hub-layout-element-content:focus-visible,.hub-lung-content:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hub-cd-code{color:#ef7c80;text-transform:uppercase;font-size:10px;font-weight:700}.hub-cd-option>strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:13px;overflow:hidden}.hub-cd-location{grid-column:1/-1;align-items:center;gap:5px;min-width:0;font-size:11px;display:flex}.hub-cd-location svg{flex:none;width:12px;height:12px}.hub-cd-count{color:var(--text-muted);grid-column:1/-1;font-size:11px}.hub-layout-workspace{overflow:hidden}.hub-layout-toolbar{border-bottom:1px solid var(--border);background:#1b1b1f;align-items:center;gap:16px;min-height:70px;padding:12px 14px;display:flex}.hub-layout-identity{min-width:145px;margin-right:auto}.hub-dimension-form{align-items:end;gap:7px;display:flex}.hub-dimension-form>label,.hub-field{color:var(--text-muted);text-transform:uppercase;gap:6px;font-size:10px;font-weight:700;display:grid}.hub-input-suffix{background:#111114;border:1px solid #38383f;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;min-height:38px;display:grid}.hub-input-suffix:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #c1272d24}.hub-input-suffix input{width:100%;min-width:0;min-height:36px;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;padding:0 8px}.hub-input-suffix>span{color:var(--text-muted);text-transform:none;padding:0 9px;font-size:11px}.hub-input-suffix.compact{width:max(90px, calc(var(--dimension-content-width,3ch) + 56px));min-height:34px}.hub-input-suffix.compact input{min-width:4ch;min-height:32px;padding-right:4px}.hub-apply-dimensions{color:#f8f8fa;background:#303036;width:34px;height:34px}.hub-apply-dimensions:hover{background:#3b3b42}.hub-mode-control{border:1px solid var(--border);background:#111114;border-radius:6px;grid-auto-columns:1fr;grid-auto-flow:column;min-height:36px;padding:3px;display:inline-grid}.hub-mode-control button{min-height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:11px;font-weight:600}.hub-mode-control button.active{color:#fff;background:#34343a}.hub-save-layout{min-height:36px;padding:0 11px;font-size:12px}.hub-zoom-control{border:1px solid var(--border);background:#111114;border-radius:6px;grid-template-columns:32px 48px 32px 32px;align-items:center;gap:3px;min-height:36px;padding:2px;display:grid}.hub-zoom-control .icon-button{background:0 0;border:0;border-radius:4px;width:32px;height:30px}.hub-zoom-control .icon-button:hover:not(:disabled){background:#34343a}.hub-zoom-control .icon-button:disabled{color:#5d5d65;cursor:not-allowed}.hub-zoom-control output{color:#d7d7dd;font-variant-numeric:tabular-nums;text-align:center;font-size:11px;font-weight:700}.hub-save-message{color:#4ade80;padding:8px 14px 0;font-size:12px}.hub-floor-shell{overscroll-behavior:contain;scrollbar-color:#45454d #17171b;scrollbar-width:thin;background:#121215;max-height:clamp(360px,100vh - 250px,760px);position:relative;overflow:auto}.hub-floor-zoom-surface{width:var(--floor-width);background:#121215;margin-inline:auto;padding:35px 32px 32px 38px;position:relative}.hub-floor-canvas{background-color:#202025;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:calc(var(--meter-grid) * 5) calc(var(--meter-grid) * 5), calc(var(--meter-grid) * 5) calc(var(--meter-grid) * 5), var(--meter-grid) var(--meter-grid), var(--meter-grid) var(--meter-grid);cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #4a4a51;width:100%;min-height:280px;position:relative;overflow:hidden}.hub-floor-canvas.is-panning{cursor:grabbing}.hub-floor-origin{z-index:1;color:#b5b5bf;background:#0e0e10c7;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:6px;min-height:24px;padding:0 8px;font-size:10px;display:inline-flex;position:absolute;top:8px;right:8px}.hub-floor-origin svg{width:13px;height:13px}.hub-floor-measure{color:#74747e;font-size:10px;display:flex;position:absolute}.hub-floor-measure.horizontal{border-top:1px solid #3d3d43;justify-content:space-between;align-items:center;padding-top:4px;top:12px;left:38px;right:32px}.hub-floor-measure.horizontal strong{color:#9b9ba5;background:#121215;padding:0 6px;position:absolute;left:50%;transform:translate(-50%,-7px)}.hub-floor-measure.vertical{border-left:1px solid #3d3d43;align-items:center;top:35px;bottom:32px;left:14px}.hub-floor-measure.vertical strong{color:#9b9ba5;writing-mode:vertical-rl;background:#121215;padding:5px 0;transform:translate(-6px)}.hub-generic-area{background-color:#58596224;background-image:repeating-linear-gradient(-45deg,#0000,#0000 7px,#ffffff09 7px 14px);border:1px dashed #6f7079;border-radius:3px;overflow:hidden;z-index:0!important}.hub-generic-area.passage{background-color:#a0a2aa1f;border-color:#a0a2aa}.hub-generic-area.unused{background-color:#786b8e21;border-color:#786b8e}.hub-generic-area.other{background-color:#81796621;border-color:#817966}.hub-access-point{background:#41351f;border:1px solid #efb14a;border-radius:3px;overflow:hidden;box-shadow:inset 0 -3px #efb14a;z-index:3!important}.hub-access-point.entrance{background:#1f3b31;border-color:#4fc08d;box-shadow:inset 0 -3px #4fc08d}.hub-generic-area.selected,.hub-access-point.selected{outline-offset:2px;outline:2px solid #fff;z-index:4!important}.hub-layout-element-content{border-radius:inherit;cursor:pointer;align-content:center;gap:1px;width:100%;height:100%;padding:5px 7px;display:grid;position:relative;overflow:hidden}.hub-layout-element-content strong,.hub-layout-element-content span,.hub-layout-element-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-layout-element-content strong{color:#fff;padding-right:13px;font-size:10px}.hub-layout-element-content span{color:#d0d0d7;font-size:8px}.hub-layout-element-content small{color:#9c9ca6;font-size:8px}.hub-layout-element-move{color:#d8d8de;width:11px;height:11px;position:absolute;top:4px;right:4px}.hub-lung{border:1px solid color-mix(in srgb, var(--lung-color) 72%, #fff 8%);background:color-mix(in srgb, var(--lung-color) 20%, #19191d 80%);box-shadow:inset 3px 0 0 var(--lung-color);border-radius:5px}.hub-lung:hover{border-color:color-mix(in srgb, var(--lung-color) 90%, #fff 10%)}.hub-lung.selected{outline-offset:2px;box-shadow:inset 4px 0 0 var(--lung-color), 0 10px 24px #00000057;outline:2px solid #fff;z-index:2!important}.hub-lung.conflict{border-color:#ef4444;box-shadow:inset 4px 0 #ef4444}.hub-lung.conflict.selected{outline-color:#ff8b8b}.hub-lung-content{border-radius:inherit;cursor:pointer;align-content:center;gap:2px;width:100%;height:100%;padding:8px 10px 8px 12px;display:grid;position:relative;overflow:hidden;container-type:size}.hub-lung-content strong,.hub-lung-content span,.hub-lung-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-lung-content strong{color:#fff;padding-right:16px;font-size:12px}.hub-lung-content span{color:#c2c2ca;font-size:10px}.hub-lung-content small{color:#94949e;font-size:9px}.hub-lung-move{color:#c7c7cf;width:13px;height:13px;position:absolute;top:7px;right:7px}.hub-lung-conflict{color:#ff7878;width:13px;height:13px;position:absolute;bottom:7px;right:7px}.hub-conflict-badge{color:#ff8b8b;background:#ef444414;border:1px solid #ef444457;border-radius:5px;align-items:center;gap:7px;min-height:30px;padding:0 9px;font-size:11px;font-weight:600;display:flex}.hub-conflict-badge svg{flex:none;width:14px;height:14px}.hub-lung-swatches{gap:3px;padding-top:3px;display:flex}.hub-lung-swatches i{border-radius:1px;width:12px;height:3px}@container (width<=105px){.hub-lung-content span,.hub-lung-content small,.hub-lung-swatches{display:none}.hub-lung-content strong{font-size:10px}}@container (height<=58px){.hub-lung-content span,.hub-lung-content small,.hub-lung-swatches{display:none}}.hub-inspector{align-content:start;gap:16px;display:grid}.hub-inspector-header{border-bottom:1px solid var(--border);padding-bottom:12px}.hub-inspector-header h2{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.hub-capacity-meter{background:#303036;border-radius:3px;width:100%;height:6px;overflow:hidden}.hub-capacity-meter span{border-radius:inherit;background:#c1272d;height:100%;display:block}.hub-capacity-copy{align-items:baseline;gap:5px;margin-top:-9px;display:flex}.hub-capacity-copy strong{color:#fff;font-size:18px}.hub-capacity-copy span{color:var(--text-muted);font-size:11px}.hub-definition-list{gap:0;margin:0;display:grid}.hub-definition-list>div{border-bottom:1px solid #29292e;justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.hub-definition-list dt{color:var(--text-muted);font-size:11px}.hub-definition-list dd{color:var(--text-primary);text-align:right;margin:0;font-size:12px;font-weight:600}.hub-definition-list.compact{grid-template-columns:repeat(3,1fr);gap:5px}.hub-definition-list.compact>div{background:#1d1d21;border:1px solid #303036;border-radius:5px;place-content:center stretch;gap:5px;min-height:58px;padding:7px;display:grid}.hub-definition-list.compact dd{text-align:left}.hub-inspector-families{gap:7px;display:grid}.hub-inspector-family{min-width:0;min-height:30px;color:var(--text-secondary);grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:11px;display:grid}.hub-inspector-family>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-inspector-family strong{color:var(--text-primary)}.hub-family-swatch{border-radius:2px;flex:none;width:9px;height:9px}.hub-inspector-actions{padding-top:2px}.hub-inspector-description{color:var(--text-muted);margin:0;font-size:11px;line-height:1.5}.hub-inspector-actions .secondary-button{flex:1}.hub-delete-button{color:#ef7c80;background:#c1272d1a;flex:none;width:40px;height:40px}.hub-delete-button:hover{color:#fff;background:var(--primary)}.hub-lung-modal{border:1px solid var(--border);background:#18181c;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(760px,100vw - 32px);max-height:min(820px,100vh - 32px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0000008c}.hub-layout-item-modal{width:min(620px,100vw - 32px)}.hub-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:14px 16px;display:flex}.hub-modal-header h2,.hub-family-heading h3{color:var(--text-primary);margin:0}.hub-modal-header h2{font-size:19px}.hub-lung-form{gap:18px;min-height:0;padding:16px;display:grid;overflow-y:auto}.hub-lung-fields{grid-template-columns:1fr 1fr 190px;gap:10px;display:grid}.hub-field>input,.hub-field>select,.hub-family-limit input{width:100%;min-width:0;min-height:38px;color:var(--text-primary);font:inherit;text-transform:none;background:#111114;border:1px solid #38383f;border-radius:6px;outline:0;padding:0 10px}.hub-field>input:focus,.hub-field>select:focus,.hub-family-limit input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #c1272d24}.hub-layout-item-fields{grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr);gap:12px;display:grid}.hub-layout-item-help{color:var(--text-muted);background:#141417;border-left:3px solid #51515a;margin:0;padding:10px 12px;font-size:11px;line-height:1.5}.hub-family-section{gap:11px;display:grid}.hub-family-heading{justify-content:space-between;align-items:end;gap:14px;display:flex}.hub-family-heading h3{font-size:15px}.hub-capacity-total{justify-items:end;gap:2px;display:grid}.hub-capacity-total span{color:var(--text-muted);text-transform:uppercase;font-size:10px}.hub-capacity-total strong{color:#4ade80;font-size:13px}.hub-capacity-total.over strong{color:var(--error)}.hub-family-picker{gap:6px;display:grid}.hub-family-search{min-height:40px;color:var(--text-muted);background:#111114;border:1px solid #38383f;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid}.hub-family-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #c1272d24}.hub-family-search svg{width:16px;height:16px}.hub-family-search input{width:100%;min-width:0;min-height:38px;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;padding:0}.hub-family-search input::placeholder{color:#74747e}.hub-family-options{border:1px solid var(--border);scrollbar-color:#45454d #17171b;scrollbar-width:thin;background:#17171b;border-radius:6px;max-height:190px;display:grid;overflow-y:auto}.hub-family-options button{min-height:40px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #29292e;grid-template-columns:10px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:0 11px;font-size:12px;display:grid}.hub-family-options button:last-child{border-bottom:0}.hub-family-options button:hover,.hub-family-options button:focus-visible{color:#fff;background:#242429;outline:0}.hub-family-options button svg{color:#ef7c80;width:15px;height:15px}.hub-family-options p,.hub-family-list-empty{color:var(--text-muted);margin:0;padding:13px 12px;font-size:11px}.hub-selected-family-heading{color:var(--text-muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.hub-selected-family-heading strong{color:#d8d8de;background:#29292e;border-radius:4px;place-items:center;min-width:22px;min-height:20px;font-size:10px;display:grid}.hub-family-list{border:1px solid var(--border);scrollbar-color:#45454d #17171b;scrollbar-width:thin;border-radius:6px;max-height:270px;overflow-y:auto}.hub-family-row{background:#19191d;border-bottom:1px solid #29292e;grid-template-columns:minmax(0,1fr) 180px 34px;align-items:center;gap:12px;min-height:52px;padding:7px 10px;display:grid}.hub-family-row:last-child{border-bottom:0}.hub-family-row.invalid{background:#c1272d17}.hub-family-identity{min-width:0;color:var(--text-secondary);align-items:center;gap:9px;font-size:12px;display:flex}.hub-family-identity>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-family-limit{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.hub-family-limit input{min-height:34px}.hub-family-limit input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 2px #ef44441f}.hub-family-limit span{color:var(--text-muted);font-size:10px}.hub-remove-family{color:#9f9fa8;background:0 0;width:32px;height:32px}.hub-remove-family:hover{color:#fff;background:#c1272dbf}.hub-remove-family svg{width:15px;height:15px}.hub-modal-actions{justify-content:flex-end;padding-top:2px}.hub-validation-note{color:#d7a23a;font-size:12px}@media (width<=1500px){.hub-workspace-grid{grid-template-columns:200px minmax(500px,1fr)}.hub-inspector{grid-column:2;grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr) auto;align-items:center}.hub-inspector-header{border-right:1px solid var(--border);border-bottom:0;padding:0 14px 0 0}.hub-inspector .hub-capacity-meter,.hub-inspector .hub-capacity-copy,.hub-inspector .hub-definition-list,.hub-inspector .hub-inspector-families{grid-column:2}.hub-inspector-actions{flex-direction:column;grid-area:1/3/span 4}.hub-inspector-actions .secondary-button{flex:none}}@media (width<=1220px){.hub-layout-toolbar{flex-wrap:wrap}.hub-layout-identity{flex:180px}.hub-toolbar-end{justify-content:flex-end;width:100%}}@media (width<=1040px){.hub-workspace-grid{grid-template-columns:minmax(0,1fr)}.hub-cd-panel-slot{position:static}.hub-cd-panel,.hub-layout-workspace,.hub-inspector{grid-column:1}.hub-cd-panel{position:static}.hub-cd-list{flex:none;grid-auto-columns:minmax(180px,1fr);grid-auto-flow:column;overflow:auto hidden}.hub-cd-option{min-height:94px}.hub-inspector{grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr) auto}}@media (width<=760px){.hub-header-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.hub-header-actions .hub-inline-secondary{flex:calc(50% - 5px);justify-content:center;min-width:0}.hub-header-actions .hub-inline-primary{justify-content:center;width:100%}.hub-local-badge{display:none}.hub-layout-toolbar{align-items:stretch}.hub-dimension-form{width:100%}.hub-dimension-form>label{flex:1}.hub-input-suffix.compact{width:100%}.hub-toolbar-end{flex-direction:column;align-items:stretch}.hub-mode-control,.hub-zoom-control,.hub-save-layout{width:100%}.hub-floor-shell{max-height:clamp(400px,100vh - 220px,680px)}.hub-floor-zoom-surface{width:var(--floor-mobile-width);margin-inline:0;padding:34px 24px 28px 32px}.hub-floor-canvas{width:100%}.hub-floor-measure.horizontal{width:auto;left:32px;right:24px}.hub-inspector{grid-template-columns:1fr;display:grid}.hub-inspector-header,.hub-inspector .hub-capacity-meter,.hub-inspector .hub-capacity-copy,.hub-inspector .hub-definition-list,.hub-inspector .hub-inspector-families,.hub-inspector-actions{grid-area:auto/1}.hub-inspector-header{border-right:0;border-bottom:1px solid var(--border);padding:0 0 12px}.hub-inspector-actions{flex-direction:row}.hub-lung-fields,.hub-layout-item-fields{grid-template-columns:1fr}.hub-family-row{grid-template-columns:minmax(0,1fr) 150px 34px}}@media (width<=520px){.hub-page-header .hub-inline-primary,.hub-page-header .hub-inline-secondary{flex-basis:100%;width:100%}.hub-family-heading{flex-direction:column;align-items:flex-start}.hub-capacity-total{justify-items:start}.hub-family-row{grid-template-columns:minmax(0,1fr) 34px;gap:7px}.hub-family-limit{grid-area:2/1/auto/-1}.hub-remove-family{grid-area:1/2}.hub-modal-actions{flex-direction:column-reverse;align-items:stretch}.hub-modal-actions .secondary-button,.hub-modal-actions .hub-inline-primary{width:100%}}
