/* AVCDM shared interface. Appearance only: model materials and exported documents stay independent. */
html[data-avcdm-theme="light"],body.avcdm-ui[data-theme="light"]{color-scheme:light;--ui-page:#f4f5f6;--ui-panel:#ffffff;--ui-surface:#eceff1;--ui-glass:#f8f9fae8;--ui-ink:#20262c;--ui-muted:#626c76;--ui-line:#d5dbe0;--ui-accent:#26343f;--ui-on-accent:#ffffff;--ui-selected:#dfe7ed;--ui-input:#fafbfc;--ui-shadow:0 8px 28px #1725320b;--ui-error:#ad3345}
html[data-avcdm-theme="dark"],body.avcdm-ui[data-theme="dark"]{color-scheme:dark;--ui-page:#101317;--ui-panel:#191e24;--ui-surface:#232a32;--ui-glass:#171c23eb;--ui-ink:#e9edf1;--ui-muted:#a2adb8;--ui-line:#36404a;--ui-accent:#dce6ee;--ui-on-accent:#17212a;--ui-selected:#354452;--ui-input:#141a20;--ui-shadow:0 8px 28px #0003;--ui-error:#ff9baa}
body.avcdm-ui{--bg-primary:var(--ui-page)!important;--bg-secondary:var(--ui-panel)!important;--card-bg:var(--ui-panel)!important;--bg-panel:var(--ui-panel)!important;--bg-surface:var(--ui-surface)!important;--bg-subtle:var(--ui-page)!important;--bg-hover:var(--ui-surface)!important;--bg-glass:var(--ui-glass)!important;--bg-selected:var(--ui-selected)!important;--bg-selected-accent:var(--ui-selected)!important;--bg-hover-accent:var(--ui-selected)!important;--bg-disabled:var(--ui-surface)!important;--bg-btn-secondary:var(--ui-surface)!important;--text-primary:var(--ui-ink)!important;--text-headline:var(--ui-ink)!important;--text-secondary:var(--ui-muted)!important;--text-tertiary:var(--ui-muted)!important;--text-caption:var(--ui-muted)!important;--border-color:var(--ui-line)!important;--border-default:var(--ui-line)!important;--border-light:var(--ui-line)!important;--border-input:var(--ui-line)!important;--input-border:var(--ui-line)!important;--input-bg:var(--ui-input)!important;--cinema-accent:var(--ui-accent)!important;--cinema-accent-ink:var(--ui-on-accent)!important;--accent-color:var(--ui-accent)!important;--ui-warm-accent:var(--ui-accent)!important;--primary-color:var(--ui-accent)!important;--primary:var(--ui-accent)!important;--ink:var(--ui-ink);--muted:var(--ui-muted);--paper:var(--ui-page);--line:var(--ui-line);background:var(--ui-page)!important;color:var(--ui-ink)!important;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif!important;accent-color:var(--ui-accent)}
body.avcdm-ui :is(.projects-page,.configuration-page,.profile-page,.team-page,.portal-container,.avc-container,.login-container,.workbench-entry,.living-shell){background:var(--ui-page)!important;color:var(--ui-ink)!important;background-image:none!important}
body.avcdm-ui :is(.top-bar,.page-header,.portal-header,.avc-header,.header,.designer-toolbar,.living-shell>header,.qv-toolbar){background:var(--ui-glass)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important;box-shadow:0 1px 0 var(--ui-line)!important;backdrop-filter:blur(18px)}
body.avcdm-ui :is(.top-bar h1,.header h1,.brand-name,.project-name,.controls h3,.page-header h1,.profile-page h2,.portal-header h1,.workbench-entry h1,.title){color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui :is(.project-card,.portal-card,.profile-card,.login-box,.mode-card,.stat-card,.panel,.member-card,.logo-card,.team-name-card,.team-code-card,.requests-card,.notif-card,.member-status-card,.modal,.product-selector-modal,.share-modal,.unlock-modal,.confirm-modal,.activation-section,.membership-section,.strategy-section,.controls,.style-controls,.reference-sidebar,.details-grid>*,.element-panel){background:var(--ui-panel)!important;color:var(--ui-ink)!important;border:1px solid var(--ui-line)!important;border-radius:12px;box-shadow:var(--ui-shadow)!important;background-image:none!important}
body.avcdm-ui :is(.project-card,.portal-card,.mode-card):hover{border-color:var(--ui-muted)!important;box-shadow:0 10px 30px #17253218!important}
body.avcdm-ui :is(.card-header,.card-footer,.modal-header,.modal-footer,.modal-actions,.view-tabs,.toolbar,.mode-selector,.product-filters,.strategy-checks,.config-confirm-bar){border-color:var(--ui-line)!important;color:var(--ui-ink)!important}
body.avcdm-ui :is(.card-body,.project-info,.project-meta,.card-summary,.card-footer,.subtitle,.intro,.hint,.footnote,.date-info,.phone,.address,.room-size,.legend,.fine,.mode-note,.tagline,.simulation-note){color:var(--ui-muted)!important}
body.avcdm-ui :is(.project-card h3,.portal-card h3,.stat-value,.price,.brand,.eyebrow,.workbench-entry .eyebrow){color:var(--ui-ink)!important}
body.avcdm-ui button:not(.swatches button):not(.qv-scene button),body.avcdm-ui :is(.btn,.button):not(.qv-scene *){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important;border-radius:7px;box-shadow:none!important;text-shadow:none!important;background-image:none!important;font-family:inherit}
body.avcdm-ui button:hover:not(:disabled):not(.swatches button):not(.qv-scene button){background:var(--ui-selected)!important;border-color:var(--ui-muted)!important}
body.avcdm-ui :is(button.active,button.chosen,button[aria-pressed=true],.btn-primary,.btn-primary-full,.primary,.btn-crm,.btn-confirm-lg,.btn-save,.btn-save-strategy,.qv-btn-primary,.view-toggle button.active,.header .tabs button.active){background:var(--ui-accent)!important;color:var(--ui-on-accent)!important;border-color:var(--ui-accent)!important}
body.avcdm-ui :is(input,select,textarea):not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]):not(.qv-scene *){background:var(--ui-input)!important;color:var(--ui-ink)!important;border:1px solid var(--ui-line)!important;border-radius:7px;box-shadow:none!important;font-family:inherit}
body.avcdm-ui :is(input,textarea)::placeholder{color:var(--ui-muted)!important;opacity:.85}
body.avcdm-ui :is(input[type=range],input[type=checkbox],input[type=radio],progress){accent-color:var(--ui-accent)!important}
body.avcdm-ui input[type=range]::-webkit-slider-thumb{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;box-shadow:none!important}
body.avcdm-ui input[type=range]::-webkit-slider-runnable-track{background:var(--ui-line)!important;border-color:var(--ui-line)!important}
body.avcdm-ui input[type=range]::-moz-range-thumb{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
body.avcdm-ui :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ui-muted)!important;outline-offset:3px}
body.avcdm-ui button:disabled{opacity:.46;cursor:not-allowed}
body.avcdm-ui :is(.toggle-mine,.badge,.config-badge,.creator-badge,.package-tag,.user-badge,.membership-badge,.role-badge,.pill){background:var(--ui-selected)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui :is(.modal-overlay,.lightbox){background:#080d14a8!important;backdrop-filter:blur(6px)}
body.avcdm-ui :is(table,thead,tbody,tr,th,td):not(.qv-scene *){border-color:var(--ui-line)!important;color:var(--ui-ink)!important}
body.avcdm-ui :is(thead,th):not(.qv-scene *){background:var(--ui-surface)!important}
body.avcdm-ui :is(tbody,tr,td):not(.qv-scene *){background:var(--ui-panel)!important}
body.avcdm-ui tr:hover td:not(.qv-scene *){background:var(--ui-surface)!important}
body.avcdm-ui :is(.error,.error-msg,.error-message,.btn-delete,.btn-remove,.btn-reject,.btn-kick){color:var(--ui-error)!important}
body.avcdm-ui[data-ui-surface=standalone] :is(section,aside,.element-panel,details,#commandPanel,#planPanel,#modelPanel,.reference-sidebar,.style-controls,.dialog,.modal){background:var(--ui-panel)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui[data-ui-surface=standalone] :is(header,nav,#drawTools,.view-controls,.view-tabs,#planModeTabs,.controls,.section-head){background:var(--ui-glass)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui[data-ui-surface=standalone] :is(p,small,.legend,.notes,.section-head span){color:var(--ui-muted)!important}
body.avcdm-ui[data-ui-surface=standalone] :is(h1,h2,h3,label,summary){color:var(--ui-ink)!important}
body.avcdm-ui .workbench-entry{--input-bg:var(--ui-input)!important;--text-primary:var(--ui-ink)!important;--cinema-accent:var(--ui-accent)!important}
body.avcdm-ui .workbench-entry .choices button{background:var(--ui-panel)!important;border:1px solid var(--ui-line)!important;color:var(--ui-ink)!important}
body.avcdm-ui .workbench-entry .choices button :is(b,strong,span){color:var(--ui-ink)!important}
body.avcdm-ui .workbench-entry :is(small,.account-line,.footnote,.intro){color:var(--ui-muted)!important}
.avcdm-theme-switch{position:fixed;right:18px;bottom:18px;z-index:10050;padding:9px 13px;font-size:12px;line-height:1.4;display:flex;align-items:center;gap:7px;border:1px solid var(--ui-line);background:var(--ui-glass)!important;box-shadow:var(--ui-shadow)!important;backdrop-filter:blur(18px)}
@media print{.avcdm-theme-switch{display:none!important}}
@media(prefers-reduced-motion:reduce){body.avcdm-ui *{scroll-behavior:auto!important}}

/* HAD's compact and stage-specific panels also use the shared palette. */
body.avcdm-ui :is(#modelViewport,#commandPanel,#sceneEditor,#renderPanel,#constructionPanel,#projectManagement,#viewControls,#planModeTabs,#planProcessControl,.construction-controls,.management-actions>div,.render-controls,.scene-editor-panel,.scene-position-buttons,.scene-card,.automation-card,.automation-panel,.material-panel,.material-card){background:var(--ui-panel)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui #planModeTabs{box-shadow:0 -16px 0 var(--ui-panel),0 8px 0 var(--ui-panel)!important}
body.avcdm-ui :is(#drawing,#planViewport,.plan-viewport,#planViewportTools,.viewDock){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui :is(.section-head span,#planLayerControls,#planViewportTools span,.zoom-label,.zoom-control,.drag-hint){color:var(--ui-muted)!important}
body.avcdm-ui .zoom-control{background:var(--ui-surface)!important}
body.avcdm-ui :is(.toggle-mine,.toggle-mine span){background:var(--ui-selected)!important;color:var(--ui-ink)!important}
body.avcdm-ui :is(.management-actions>div,.scene-editor-panel,.material-card){border:1px solid var(--ui-line)!important;border-radius:10px}
body.avcdm-ui :is(#sceneEditor,#renderPanel,#constructionPanel) :is(fieldset,details,.row,.controls,legend){border-color:var(--ui-line)!important;color:var(--ui-ink)!important;background:var(--ui-panel)!important}
body.avcdm-ui .avcdm-theme-switch{background:var(--ui-glass)!important;color:var(--ui-ink)!important;box-shadow:var(--ui-shadow)!important}

body.avcdm-ui :is(.admin-page,.activation-page,.products-page,.product-detail-page,.packs-page,.crm-page,.login-page,.narration-edit-page,.n3d-page){background:var(--ui-page)!important;color:var(--ui-ink)!important}
body.avcdm-ui :is(.ai-panel,.detail-panel,.left-panel,.right-panel,.log-panel,.timeline-panel,.package-browser-panel,.package-editor-panel,.login-card,.code-card,.fu-card,.type-card,.crm-card,.product-card,.pack-card,.pkg-browser-card,.ne-seg-card,.category-select-modal,.join-team-modal,.package-selector-modal){background:var(--ui-panel)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow)!important}
body.avcdm-ui :is(.ai-header,.crm-header,.product-header,.pack-header,.ne-header,.nw-header,.pe-header,.tl-header,.group-header,.column-header,.specs-header){background:var(--ui-glass)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui #app :is(h1,h2,h3,h4,summary):not(.qv-scene *){color:var(--ui-ink)!important}

body.avcdm-ui .workbench-entry .choices{display:grid;gap:10px;border-bottom:0}
body.avcdm-ui .workbench-entry .choices>button{padding:20px 16px}
body.avcdm-ui :is(.catalog,.package-browser,.product-editor){background:var(--ui-page)!important;color:var(--ui-ink)!important}
body.avcdm-ui :is(.catalog .grid article,.editor,.savebar,.product-editor,.package-editor,.catalog .own){background:var(--ui-panel)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui :is(.catalog .metrics,.catalog .tags span,.catalog .picture){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
body.avcdm-ui :is(.catalog p,.catalog small,.catalog .result,.editor p,.editor small){color:var(--ui-muted)!important}
body.avcdm-ui .catalog .own:has(input:checked){background:var(--ui-selected)!important;color:var(--ui-ink)!important;border-color:var(--ui-muted)!important}
