/* Shared operational primitives. Loaded after geometry and component layouts. */
body { font-family: var(--font-ui); font-size: var(--text-base); background: var(--bg); color: var(--text); }
:where(button,input,select,textarea:not(.xterm-helper-textarea)) { font: inherit; }
:where(button,a[href],input,select,textarea,summary) { -webkit-tap-highlight-color: transparent; }
:where(button,[role="button"]) { min-height: var(--control-height); cursor: pointer; }
:where(button:disabled,input:disabled,select:disabled,textarea:disabled) { cursor: not-allowed; opacity: .6; }
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border: 1px solid var(--control-line); background: var(--surface); color: var(--text); padding: 8px 10px; }
:where(input,select,textarea):disabled { background: var(--raised); }
:where(input,select,textarea)[aria-invalid="true"] { outline: 2px solid var(--danger); outline-offset: 2px; }
:where(label,.field-help,.form-help) { line-height: 1.4; }
:where(.field-error,.form-error,[role="alert"]) { color: var(--danger); }
:where(h1,h2,h3,h4,p) { overflow-wrap: anywhere; }
:where(h1,h2) { font-size: var(--text-title); font-weight: 600; line-height: 1.3; }
:where(h3) { font-size: 16px; font-weight: 600; }
:where(small,.muted,.list-pager,.pagination) { font-size: var(--text-sm); color: var(--muted); }
:where(code,kbd,pre,.mono,.host-cell,.asset-page-code) { font-family: var(--font-mono); }
:is(.host-cell span,.asset-detail-link,.backup-asset-name b,.asset-page-identity h2) { font-weight: 600; }
:root[data-theme] :is(a[href]:not(.skip-link),.link-button,.asset-detail-link,.asset-page-breadcrumb button,.backup-breadcrumb button) { color: var(--link); }
:root[data-theme] :is(button.primary,.primary,#auth .auth-submit,.grid-form>button[type="submit"],#appearance-form button[type="submit"]) { background: var(--primary); color: var(--on-accent); border-color: transparent; box-shadow: none; }
:root[data-theme] button.secondary { background: var(--raised) !important; color: var(--text) !important; border-color: var(--line) !important; box-shadow: none; }
:root[data-theme] button.danger { background: var(--raised) !important; border-color: var(--line) !important; color: var(--danger) !important; }
:root[data-theme] :is(button,input,select,textarea,summary,a[href]):focus-visible { outline: 3px solid var(--focus) !important; outline-offset: 3px !important; box-shadow: none !important; }
:root[data-theme] :is(#sidebar,main>header) { background: var(--surface); border-color: var(--line); box-shadow: var(--shadow-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
:root[data-theme] #sidebar :is(nav button,.brand b,#collapse) { color: var(--muted); }
:root[data-theme] #sidebar .brand>.l3ops-symbol { color: var(--link); background: var(--raised); border-color: var(--line); }
:root[data-theme] #sidebar nav button { border-color: transparent; }
:root[data-theme] #sidebar nav button:hover { background: var(--hover); color: var(--text); }
:root[data-theme] #sidebar nav button.active { background: var(--accent-soft); color: var(--link); border-color: transparent; }
:root[data-theme] #sidebar nav button.active::before { background: var(--primary); }
:root[data-theme] #collapse { background: var(--raised); border-color: var(--line); }
:root[data-theme] main>header { border-radius: var(--radius-surface); padding: var(--space-3); margin-bottom: var(--space-4); }
:root[data-theme] #content :is(.panel,.card,.dashboard-priority,.asset-health-card,.routine-card,.asset-page-hero,.asset-page-section,.backup-summary-grid article,.software-stat,.workspace-access-notice) { border-color: var(--line) !important; border-radius: var(--radius-surface) !important; background: var(--surface); box-shadow: var(--shadow-surface); }
:root[data-theme] #content :is(.dashboard-priority,.dashboard-release-alert,.operational-round-priority,.campaign-warning,.operations-attention,.view-error,.software-notification-banner,.software-reboot-recovery,.software-channel-decision) { border-color: var(--line) !important; background: var(--surface) !important; box-shadow: none; }
:root[data-theme] #content :is(.dashboard-priority,.dashboard-release-alert,.campaign-warning,.operations-attention) { border-left-width: 1px !important; }
:root[data-theme] :is(.tag,.vendor-pill,.client-pill,.job-state,.activity-kind,.role-pill,.user-state,.complete-progress,.operational-round-network-status,.asset-operational-beacon) { background: var(--raised) !important; border-color: var(--line) !important; }
:root[data-theme] .health-dot.healthy { background: var(--success-indicator); }
:root[data-theme] :is(.view-loading,.view-error,.backup-empty-state,.routine-empty,.dashboard-empty,.asset-page-empty) { background: var(--surface); color: var(--muted); border-color: var(--line); }
:root[data-theme] :is(.global-search-results,.asset-context-menu,.analyst-widget) { background: var(--surface); border-color: var(--line); box-shadow: var(--shadow-menu); }
:root[data-theme] :is(dialog,#modal,.confirmation-card) { background: var(--surface); color: var(--text); border-color: var(--line); box-shadow: var(--shadow-dialog); }
:root[data-theme] :is(.confirmation-error,.terminal-command-error,.terminal-paste-status,#toast) { background: var(--raised); border-color: var(--line); }
:root[data-theme] table { background: var(--surface); border-color: var(--line); font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
:root[data-theme] table th { height: 40px; background: var(--raised); color: var(--muted); font-weight: 600; text-transform: none; letter-spacing: normal; border-color: var(--line); }
:root[data-theme] table td { padding: 10px 12px; border-color: var(--line); vertical-align: middle; }
:root[data-theme] table tbody tr:hover td { background: var(--hover) !important; }
:root[data-theme] table tbody tr.selected-row td { background: var(--accent-soft) !important; }
:root[data-theme] :is(.table-scroll,.backup-table-wrap,.software-fleet-table-wrap) { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
:root[data-theme] :is(.list-pager,.list-pagination,.assets-list-pager,.backups-list-pager) { color: var(--muted); border-color: var(--line); background: var(--surface); }
/* Access controls use the same affordance in rows, mobile cards and global search. */
:root[data-theme] :is(#content,#global-search-results,#modal) button.nv-icon-action { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; min-width: 36px; min-height: 36px; padding: 6px !important; background: transparent !important; color: var(--muted) !important; border: 1px solid transparent !important; box-shadow: none; }
:root[data-theme] :is(#content,#global-search-results,#modal) button.nv-icon-action:is(:hover,:focus-visible) { color: var(--link) !important; background: var(--hover) !important; }
.nv-icon-action svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
/* One content rail aligns the toolbar, page heading and every workspace. */
:root[data-interface] main>header,
:root[data-interface] main>.page-heading,
:root[data-interface] #content { width: 100%; max-width: var(--workspace-max-width); margin-inline: auto; }
:root[data-interface] main>header { grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto; gap: 12px; min-height: 64px; padding: 8px 0; margin-bottom: 12px; border: 0; border-radius: 0; background: var(--bg); box-shadow: none; }
:root[data-interface] main>header:has(#global-search) { background: var(--bg); }
:root[data-interface] main>.page-heading { margin-bottom: 16px; }
:root[data-interface] main>.page-heading #title { margin: 0; font-size: var(--text-title); line-height: 1.3; }
:root[data-interface] main>header .header-session { grid-column: 2; grid-row: 1; justify-self: end; margin: 0; flex-wrap: nowrap; }
:root[data-interface] main>header #global-search { grid-column: 1 !important; grid-row: 1 !important; width: 100%; max-width: 360px; justify-self: end; margin: 0; }
:root[data-theme] main>header:has(#global-search-results:not([hidden])) { background: var(--bg); }
:root[data-interface] #global-search-input { height: 44px; padding-left: 44px; }
:root[data-interface] .global-search-mark { left: 8px; background: transparent; box-shadow: none; }
:root[data-interface] #global-search-results { container: nv-global-search / inline-size; top: calc(100% + 8px); left: auto; right: 0; width: min(960px,var(--workspace-search-popup-width,100%)); padding: 8px; overflow-x: hidden; }
/* Search stays discoverable on desktop; mobile opens a full-width field below the toolbar. */
.global-search-field { position: relative; }
#global-search-toggle,#global-search-close { display: none; }
#global-search-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
@media(max-width:600px) {
 :root[data-interface] main>header .mobile-brand { display: block !important; grid-column: 2; grid-row: 1; justify-self: start; font-size: 16px; }
 :root[data-interface] #global-search-toggle { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; background: var(--surface); color: var(--text); border: 1px solid var(--line); }
 :root[data-interface] .global-search-field { display: none; position: absolute; top: calc(100% + 8px); right: -52px; width: var(--workspace-toolbar-width); }
 :root[data-interface] #global-search[data-search-open] .global-search-field { display: block; }
 :root[data-interface] #global-search-close { display: block; position: absolute; z-index: 3; right: 0; top: 0; width: 44px; height: 44px; padding: 0; background: transparent; color: var(--text); border: 0; font-size: 24px; }
 :root[data-interface] .global-search-field>kbd { display: none; }
}
#header-account-toggle { display: none; }
:root[data-interface] #global-search-results .global-search-item { grid-template-columns: 34px minmax(0,320px) auto; justify-content: start; gap: 8px; padding: 8px; }
:root[data-interface] #global-search-results .global-search-item>:is(.global-search-icon,.asset-operational-beacon) { grid-column: 1; grid-row: 1; width: 34px; height: 34px; }
:root[data-interface] #global-search-results .global-search-copy { grid-column: 2; grid-row: 1; align-self: start; min-width: 0; }
:root[data-interface] #global-search-results .global-search-copy>b { overflow: visible; }
:root[data-interface] #global-search-results .global-search-actions { --nv-search-compact: 0; grid-column: 3; grid-row: 1; align-self: start; display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; }
:root[data-interface] #global-search-results .global-search-actions>button { flex: 0 0 auto; white-space: nowrap; }
:root[data-interface] #global-search-results .global-search-name { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 36px; padding: 0; border: 0; border-radius: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; font: inherit; font-weight: 750; color: var(--text); background: transparent; box-shadow: none; }
:root[data-interface] #global-search-results .global-search-name:is(:hover,:focus-visible) { color: var(--link); background: transparent; }
@container nv-global-search (max-width:480px) {
 :root[data-interface] #global-search-results .global-search-item { grid-template-columns: 28px minmax(0,1fr); gap: 4px; padding: 4px; }
 :root[data-interface] #global-search-results .global-search-item>:is(.global-search-icon,.asset-operational-beacon) { width: 28px; height: 44px; }
 :root[data-interface] #global-search-results .global-search-actions { --nv-search-compact: 1; grid-column: 2; grid-row: 2; justify-self: start; gap: 2px; }
 :root[data-interface] #global-search-results .global-search-actions>button { min-width: 44px; min-height: 44px; }
 :root[data-interface] #global-search-results .global-search-actions>button.nv-icon-action { flex-basis: 44px; width: 44px; min-width: 44px; min-height: 44px; }
 :root[data-interface] #global-search-results .global-search-name { min-height: 44px; }
 :root[data-interface] #global-search-results .global-search-copy small:not(.global-search-operational) { display: none; }
}
@media(max-width:600px) {
 :root[data-interface] main>header { grid-template-columns: 44px minmax(0,1fr) 44px 44px; gap: 8px; min-height: 60px; }
 :root[data-interface] main>header #mobile-nav-toggle { grid-column: 1; grid-row: 1; }
 :root[data-interface] main>header #global-search { grid-column: 3 !important; grid-row: 1 !important; width: 44px; }
 :root[data-interface] #global-search-input { font-size: 16px; padding-right: 48px; }
 :root[data-interface] #global-search-results { top: calc(100% + 60px); left: auto; right: -52px; width: var(--workspace-toolbar-width); max-height: min(620px,calc(100dvh - 140px)); }
 :root[data-interface] #header-account-toggle { display: block; grid-column: 4; grid-row: 1; width: 44px; min-height: 44px; padding: 4px; font-size: 12px; background: var(--surface); border: 1px solid var(--line); color: var(--text); }
 :root[data-interface] main>header .header-session { display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 1101; max-width: 100%; padding: 12px; gap: 8px; border: 1px solid var(--line); border-radius: var(--radius-surface); background: var(--surface); box-shadow: var(--shadow-menu); }
 :root[data-interface] main>header[data-account-open] .header-session { display: flex; }
 :root[data-interface] main>header #header-session>button { min-width: 44px !important; min-height: 44px !important; }
 :root[data-interface] main>.page-heading #title { font-size: 18px; }
 :root[data-interface] #global-search-results .global-search-item { grid-template-columns: 28px minmax(0,1fr); }
 :root[data-interface] #global-search-results .global-search-actions { grid-column: 2; grid-row: 2; justify-self: start; }
 :root[data-interface] #global-search-results .global-search-actions>button { min-width: 44px; min-height: 44px; }
 :root[data-interface] #global-search-results .global-search-name { min-height: 44px; }
}
@media(max-width:600px), (hover:none) and (pointer:coarse) {
 :root[data-theme] .winbox-button { display: none !important; }
}
:root[data-theme] .asset-context-trigger { background: transparent !important; color: var(--muted) !important; border-color: transparent !important; }
:root[data-theme] .asset-context-trigger:is(:hover,:focus-visible) { background: var(--hover) !important; color: var(--link) !important; }
/* Chrome remains separate from the terminal buffer and helper textarea. */
.ssh-window { background: var(--terminal-bg); color: var(--terminal-text); border-color: var(--terminal-line); box-shadow: var(--shadow-dialog); }
.ssh-window :is(.ssh-titlebar,.terminal-hint,.terminal-keyboard,.ssh-more-menu,.terminal-commandbar) { background: var(--terminal-surface); color: var(--terminal-text); border-color: var(--terminal-line); }
.ssh-window :is(.ssh-title,.ssh-session-age,.terminal-hint span,.terminal-tools button,.terminal-keyboard button) { color: var(--terminal-text); border-color: var(--terminal-line); }
.ssh-window :is(.terminal-tools button,.terminal-keyboard button) { background: var(--terminal-surface); }
:root[data-theme] .ssh-window :is(button,input,textarea):focus-visible { outline-color: var(--terminal-accent) !important; }
@media (hover:none), (pointer:coarse) {
 :root[data-theme] :is(#content,#global-search-results,#modal) button.nv-icon-action { flex-basis: var(--target-touch); width: var(--target-touch); min-width: var(--target-touch); min-height: var(--target-touch); }
 :where(button,summary) { min-height: var(--target-touch); }
}
@media(max-width:600px) {
 :root[data-theme] :is(#content,#global-search-results,#modal) button.nv-icon-action { flex-basis: var(--target-touch); width: var(--target-touch); min-width: var(--target-touch); min-height: var(--target-touch); }
 :root[data-theme] table td { padding: 9px 6px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media(forced-colors:active) { :root[data-theme] :is(button,a[href],input,select,textarea,summary):focus-visible { outline-color: Highlight !important; } }

/* State-specific primitives share the ordinary surface and keyboard affordance. */
:root[data-theme] .skip-link { color: var(--on-accent); background: var(--primary); }
:root[data-theme] #modal .modal-head { background: var(--raised); color: var(--text); border-color: var(--line); }
:root[data-theme] #modal .modal-head :is(h2,button) { color: var(--text); }
:root[data-theme] #modal .modal-head button { min-width: 36px; background: transparent; border-color: transparent; }

/* Dashboard exceptions lead; informational releases and composition follow. */
:root[data-interface] #content.dashboard-page>.workspace-intro { display: none; }
:root[data-interface] #content.dashboard-page>.dashboard-release-alert { order: 5; }
:root[data-interface] #content.dashboard-page>.dashboard-detail-grid { order: 6; }
:root[data-interface] #content.dashboard-page>.dashboard-software-intelligence { order: 7; }
:root[data-interface] #content.dashboard-page .workspace-focus-grid .dashboard-priorities { padding: 0; }
:root[data-interface] #content.dashboard-page .dashboard-priorities-head { margin-bottom: 12px; }
:root[data-interface] #content.dashboard-page .workspace-focus-grid .dashboard-priority { min-height: 120px; padding: 14px 16px; }
:root[data-interface] #content.dashboard-page .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
:root[data-interface] #content.dashboard-page .dashboard-metrics>button { min-height: 84px; }
:root[data-interface] #content.dashboard-page>.dashboard-backup-schedule { order: 0; margin-top: 0; }
/* Override the shared mobile metrics rule only for the date/time summary. */
@media(max-width:600px) { :root[data-interface] #content.dashboard-page>.dashboard-backup-schedule { grid-template-columns: 1fr !important; } }
:root[data-interface] #content.dashboard-page .dashboard-backup-time { min-width: 0; overflow-wrap: anywhere; }
:root[data-interface] #content.dashboard-page .dashboard-backup-schedule .dashboard-backup-time>strong { font-size: clamp(17px,2vw,22px); letter-spacing: -.3px; }
:root[data-interface] #content.dashboard-page .dashboard-backup-time>small { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.4; }
:root[data-interface] #content.dashboard-page article.dashboard-backup-time { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
:root[data-interface] #content.dashboard-page .backup-schedule-overdue em { color: var(--amber); }
:root[data-interface] #content.dashboard-page :is(.dashboard-main-grid,.dashboard-detail-grid) { align-items: start; gap: 16px; }
:root[data-interface] #content.dashboard-page :is(.dashboard-progress,.dashboard-recurring-panel,.dashboard-activity,.dashboard-inventory) { padding: 16px; }
:root[data-theme] #content.dashboard-page .failed-progress { color: var(--danger); font-size: 13px; }
@media(max-width:600px) {
 :root[data-interface] #content.dashboard-page .workspace-focus-grid .dashboard-priority { min-height: 112px; }
 :root[data-interface] #content.dashboard-page .dashboard-metrics>button:last-child:nth-child(odd) { grid-column: auto; }
}
#modal .routine-days label { position: relative; }
#modal .routine-days input { inset: 0; width: 100%; height: 100%; min-width: 0; margin: 0; }

.nv-form-status,.nv-form-error { font-size: var(--text-sm); line-height: 1.4; margin: var(--space-3) 0; color: var(--muted); }
.nv-form-error { color: var(--danger); }

/* Long asset/policy forms keep their native actions visible while fields scroll. */
#modal-body:has(> .nv-dialog-form) { padding:0; height:min(72dvh,calc(100dvh - 140px)); overflow:hidden; }
#modal-body > .nv-dialog-form { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; gap:0; }
.nv-dialog-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:13px; padding:20px; overflow:auto; overscroll-behavior:contain; min-height:0; flex:1; scroll-padding:12px; }
:root[data-theme] #modal .nv-dialog-actions { display:flex; flex:0 0 auto; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:12px 20px; margin:0; background:var(--raised); border-top:1px solid var(--line); }
#modal .nv-dialog-actions > button { width:auto; max-width:100%; min-height:var(--control-height); }
:root[data-theme] .software-download-choice input[type="checkbox"],:root[data-theme] .nv-dialog-fields .check-line input[type="checkbox"] { width:18px; height:18px; min-width:18px; min-height:18px; flex:0 0 18px; padding:0; margin:3px 0 0; }
.software-download-choice > span { flex:1; min-width:0; overflow-wrap:anywhere; }
@media(max-width:850px) { .nv-dialog-fields { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .nv-dialog-fields { padding:16px; } #modal .nv-dialog-actions { padding:10px 16px; } #modal .nv-dialog-actions > button { min-height:44px; flex:1; } }

:root[data-theme] .ssh-window .ssh-window-head h2 { color: var(--terminal-text); }

:root[data-theme] .ssh-window .xterm-viewport { background-color: var(--terminal-bg); }

/* Dark appearance: depth comes from surfaces; color identifies actions and state.
 * Keep geometry, theme preferences and the two layout modes in their owners. */
:root[data-theme="dark"] #sidebar { background: var(--chrome); box-shadow: none; }
:root[data-theme="dark"] #sidebar nav button.active { border-color: var(--accent-border); }
:root[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not(.xterm-helper-textarea),select,textarea:not(.xterm-helper-textarea)) {
  background: var(--inset);
}
:root[data-theme="dark"] :is(input,select,textarea):disabled { background: var(--raised); }
:root[data-theme="dark"] :is(button.primary,.primary,#auth .auth-submit,#appearance-form button[type="submit"]) { font-weight: 650; }
:root[data-theme="dark"] button.secondary:hover:not(:disabled) { background: var(--hover) !important; border-color: var(--control-line) !important; }
:root[data-theme="dark"] button.danger { background: var(--danger-soft) !important; }
:root[data-theme="dark"] button.danger:hover:not(:disabled) { border-color: var(--danger) !important; }
:root[data-theme="dark"] #content :is(.asset-detail-link,.backup-asset-name b) { color: var(--text); }
:root[data-theme="dark"] #content .asset-detail-link:is(:hover,:focus-visible) { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
:root[data-theme="dark"] #content table th { background: var(--inset) !important; }
:root[data-theme="dark"] #content .asset-table tbody tr.selected-row td:first-child { box-shadow: inset 3px 0 var(--primary); }
:root[data-theme="dark"] #content .asset-table tbody tr.selected-row:hover td { background: var(--selection-hover) !important; }
:root[data-theme="dark"] #content .dashboard-priority:hover { background: var(--hover) !important; border-color: var(--control-line) !important; }
:root[data-theme="dark"] #content .dashboard-priority-icon { background: var(--accent-soft); color: var(--link); border-color: var(--line); }
:root[data-theme="dark"] #content .dashboard-priority.danger .dashboard-priority-icon { background: var(--danger-soft); color: var(--danger); }
:root[data-theme="dark"] #content .dashboard-priority.warning .dashboard-priority-icon { background: var(--warning-soft); color: var(--amber); }
:root[data-theme="dark"] :is(.job-state.success,.user-state.active,.operational-round-network-status:not(.attention):not(.incomplete):not(.baseline),.asset-operational-beacon.success) {
  background: var(--success-soft) !important; color: var(--success);
}
:root[data-theme="dark"] :is(.job-state.failed,.asset-operational-beacon.danger) { background: var(--danger-soft) !important; color: var(--danger); }
:root[data-theme="dark"] :is(.job-state.pending,.job-state.running,.asset-operational-beacon.warning) { background: var(--warning-soft) !important; color: var(--amber); }
:root[data-theme="dark"] .operational-round-network-status.attention { background: var(--warning-soft) !important; color: var(--amber); }
:root[data-theme="dark"] #content :is(.view-error,.software-reboot-recovery) { background: var(--danger-soft) !important; }
:root[data-theme="dark"] #content :is(.campaign-warning,.operations-attention,.software-channel-decision) { background: var(--warning-soft) !important; }
:root[data-theme="dark"] #global-search-results .global-search-item.active { border-color: var(--accent-border); }
:root[data-theme="dark"] :is(.asset-context-menu,.global-search-results,dialog,#modal,#software-notice-panel) { border-color: var(--control-line); }
:root[data-theme="dark"] dialog::backdrop { background: rgba(4,7,12,.72); }
:root[data-theme="dark"] .analyst-chat-shell .analyst-conversation { background: var(--bg); }
:root[data-theme="dark"] :is(.analyst-chat-shell .analyst-chat-head,.analyst-chat-shell .analyst-composer) { background: var(--surface); border-color: var(--line); }
:root[data-theme="dark"] .analyst-message { background: var(--surface); }
:root[data-theme="dark"] .analyst-message.user { background: var(--accent-soft); }
:root[data-theme="dark"] :is(.appearance-option,.interface-option):has(input:checked) { border-color: var(--accent-border); box-shadow: inset 0 0 0 1px var(--accent-border); }
:root[data-theme="dark"] .appearance-preview.dark { background: var(--bg); border-color: var(--line); }
:root[data-theme="dark"] .appearance-preview.dark i { background: var(--chrome); }
:root[data-theme="dark"] .appearance-preview.dark b { background: var(--surface); }
:root[data-theme="dark"] #auth .auth-tabs button { color: var(--muted); }
:root[data-theme="dark"] #auth .auth-tabs button.active { color: var(--link); }
@media(forced-colors:active) {
  :root[data-theme="dark"] #content .asset-table tbody tr.selected-row td:first-child { box-shadow: none; }
  :root[data-theme="dark"] #sidebar nav button.active { border-color: Highlight; }
}
