/* Final theme contract for current workspaces. No layout or audit-state changes. */
html[data-visual-style] {
  --visual-on-accent: #fff;
  --visual-selection: var(--visual-accent-soft);
  --visual-surface-muted: var(--visual-surface-soft);
}
html[data-visual-style] :is(input,textarea,select) { accent-color:var(--visual-accent); caret-color:var(--visual-accent); }
html[data-visual-style] :is(input,textarea)::placeholder { color:var(--visual-copy); opacity:1; }
html[data-visual-style] ::selection { background:var(--visual-accent-soft); color:var(--visual-ink); }
html[data-visual-style] :is(button,a,input,select,textarea,summary):focus-visible { outline-color:var(--visual-accent); }
html[data-visual-style] .ajw-workbench {
  --ajw-ink:var(--visual-ink); --ajw-muted:var(--visual-copy); --ajw-line:var(--visual-line); --ajw-panel:var(--visual-surface-soft);
}
/* Legacy source previews are mounted on body as well as inside the knowledge view. */
html[data-visual-style] :is(.qa-document-preview-modal,.qa-management-window,.qa-library-workspace,.acc-browser-dialog) {
  color:var(--visual-ink); border-color:var(--visual-line);
}
html[data-visual-style] :is(.qa-library-rail,.qa-library-preview-pane,.qa-library-search-row,.qa-library-access-note,.qa-source-cards-drawer,.qa-source-cards-drawer>summary) {
  background:var(--visual-surface-soft); border-color:var(--visual-line-soft); color:var(--visual-copy);
}
html[data-visual-style] :is(.qa-library-main,.qa-library-preview-content,.qa-document-preview-modal>section,.qa-document-preview-content,.qa-document-preview-modal header) {
  background:var(--visual-surface); color:var(--visual-ink); border-color:var(--visual-line);
}
html[data-visual-style] :is(.qa-library-tabs,.qa-library-folders) button.is-active {
  background:var(--visual-accent-soft); color:var(--visual-accent-deep); border-color:var(--visual-line);
}
html[data-visual-style] :is(.qa-library-tabs,.qa-library-folders,.qa-library-access-note) svg,
html[data-visual-style] .qa-source-cards-drawer>summary>span { color:var(--visual-accent); }
html[data-visual-style] :is(.qa-library-source-btn,.qa-library-kicker,.qa-library-manager-head strong,.qa-library-file-copy strong) { color:var(--visual-ink); }
html[data-visual-style] #view-qa .qa-source-filter [data-qa-open-library] { background:var(--visual-accent-soft); color:var(--visual-accent-deep); border-color:var(--visual-line); }
html[data-visual-style] .qa-source-count { background:var(--visual-accent-soft); color:var(--visual-accent-deep); }
/* Shells keep their individual geometry while sharing the selected surface palette. */
html[data-visual-style] :is(.uaw-shell,.pt-portfolio-shell,.dash-visual-panel,.dash-project-guide,.dash-attention-panel) { background:var(--visual-surface); border-color:var(--visual-line); }
html[data-visual-style] :is(.dash-title,.dash-home-shell h2,.miw-shell h2) { color:var(--visual-ink); }
html[data-visual-style] :is(.peca-tool-choice,.peca-tool-panel,.peca-capability-panel):not(.is-unavailable) { background:var(--visual-surface); color:var(--visual-ink); border-color:var(--visual-line); }
/* Theme-aware application dialogs; document paper, canvas entities and semantic badges retain their own colors. */
html[data-visual-style] :is(.modal-content,.ua-dialog,.uat-dialog,.ai-server-dialog,.sys-dialog,.acc-browser-dialog) { background:var(--visual-surface); color:var(--visual-ink); border-color:var(--visual-line); }
html[data-visual-style] :is(.modal-header,.modal-footer,.ua-dialog-head,.ua-dialog-foot) { background:var(--visual-surface-soft); border-color:var(--visual-line); }
@media print { html[data-visual-style] { --visual-surface:#fff; --visual-surface-soft:#fff; --visual-ink:#111; --visual-copy:#333; } }
html[data-visual-style] #view-toolbox .toolbox-page:not([data-toolbox-mode="immersive"]):not(.is-methods-view) .toolbox-direct-card { background:var(--visual-surface)!important; border-color:var(--visual-line)!important; }
html[data-visual-style] #view-toolbox .toolbox-page:not([data-toolbox-mode="immersive"]):not(.is-methods-view) .toolbox-direct-card:hover { background:var(--visual-surface-soft)!important; border-color:var(--visual-accent)!important; }
html[data-visual-style] #view-toolbox :is(.toolbox-context-switch,.toolbox-nav-count) { background:var(--visual-surface); color:var(--visual-copy); border-color:var(--visual-line); }
html[data-visual-style] #view-qa .qa-active-library-action { background:var(--visual-accent-soft); color:var(--visual-accent-deep); border-color:var(--visual-line); }
html[data-visual-style] #view-qa .qa-scope-ready-state { background:var(--visual-surface-soft)!important; border-color:var(--visual-line)!important; }
html[data-visual-style] #view-qa .qa-scope-ready-state :is(strong,p,small) { color:var(--visual-copy); }
html[data-visual-style] #view-qa .qa-scope-ready-state strong { color:var(--visual-ink); }
html[data-visual-style] #view-qa .qa-scope-ready-state :is(b,span) { color:var(--visual-accent); }
html[data-visual-style] #view-qa .qa-management-window :is(.qa-kb-card,.qa-library-manager-head,.qa-library-document-list,.qa-library-main,.qa-library-list-pane,.qa-library-content) { background:var(--visual-surface)!important; border-color:var(--visual-line)!important; }
html[data-visual-style] #view-qa .qa-management-window :is([data-kb-library-action="upload"],.qa-library-access-note) { background:var(--visual-accent-soft); color:var(--visual-accent-deep); border-color:var(--visual-line); }
html[data-visual-style] #view-qa .qa-management-window :is(.qa-library-workspace,.qa-library-content-pane,.qa-library-content-pane>header,.qa-library-file-icon,.qa-library-manager-head>button,.qa-library-content-pane button:not(.is-active):not(.kb-upload-zone)) { background:var(--visual-surface)!important; border-color:var(--visual-line)!important; }
html[data-visual-style] #view-qa .qa-management-window :is(.qa-library-context-note,.qa-library-directory-toolbar,.qa-library-pagination,.qa-library-row-status) { background:var(--visual-surface-soft)!important; color:var(--visual-copy); border-color:var(--visual-line-soft); }
html[data-visual-style] #view-qa .qa-management-window .kb-upload-zone { background:var(--visual-accent-soft)!important; border-color:var(--visual-line)!important; }
html[data-visual-style] #view-qa .qa-management-window .qa-library-context-note svg { color:var(--visual-accent)!important; }
