/* Central theme consistency layer: theme tokens only, loaded after legacy styles. */
html[data-hub-theme="light"] body.app-body,
html[data-hub-theme="dark"] body.app-body { background:var(--bg);color:var(--text); }
html[data-hub-theme] body.app-body :is(.sidebar,.topbar,.top-search,.user-menu-pop,.quick-create-menu,.panel,.card,.table-wrap,.filter-bar,.task-view-summary,.focus-panel,.focus-hero,.focus-status,.area-card,.communication-shell,.conversation-list,.conversation-pane,.conversation-header,.conversation-composer,.conversation-message,.conversation-thread,.ux-project-archive-tabs,.ux-project-filter-form,.hub-side-nav .nav-group>summary) {border-color:var(--line);color:var(--text);}
html[data-hub-theme] body.app-body :is(.sidebar,.topbar,.top-search,.user-menu-pop,.quick-create-menu,.panel,.card,.table-wrap,.filter-bar,.task-view-summary,.focus-panel,.focus-hero,.focus-status,.area-card,.communication-shell,.conversation-list,.conversation-pane,.conversation-header,.conversation-composer,.conversation-thread,.ux-project-archive-tabs,.ux-project-filter-form){background-color:var(--panel);}
html[data-hub-theme] body.app-body :is(.conversation-message,.conversation-item,.focus-item,.focus-mini,.task-row-blocker,.notice,.member-chip,.compact-stat,.nav-count,.focus-tabs,.focus-kind){background-color:var(--surface-2);border-color:var(--line);color:var(--text);}
html[data-hub-theme] body.app-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea){background:var(--panel);color:var(--text);border-color:var(--line);}
html[data-hub-theme] body.app-body :is(input,select,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-hub-theme] body.app-body :is(.nav-heading,.sidebar-brand small,.conversation-message-meta,.focus-item-meta,.focus-item-detail,.reply-hint,.conversation-kind){color:var(--muted)}
html[data-hub-theme] body.app-body :is(.nav-item.active,.conversation-item.active,.focus-tabs a.active,.ux-project-archive-tabs a.active){background:var(--accent-soft);color:var(--hub-accent-strong);border-color:var(--line)}
html[data-hub-theme] body.app-body :is(.quick-create-menu,.user-menu-pop){box-shadow:var(--shadow)}
html[data-hub-theme] body.app-body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--hub-accent-strong,var(--accent));outline-offset:2px}
