/* SecuLineAI theme foundation.
   2026-06-02: Keep the current default design while routing screen-specific
   color variables through one shared token layer. */

:root,
:root[data-theme="default"] {
    --theme-font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;
    --theme-bg-base: #080c14;
    --theme-bg-base-rgb: 8, 12, 20;
    --theme-bg-surface-1: #0f1624;
    --theme-bg-surface-1-rgb: 15, 22, 36;
    --theme-bg-surface-2: #162034;
    --theme-bg-surface-2-rgb: 22, 32, 52;
    --theme-bg-surface-3: #1e2942;
    --theme-bg-surface-3-rgb: 30, 41, 66;
    --theme-bg-contrast: #040811;
    --theme-bg-contrast-rgb: 4, 8, 17;
    --theme-bg-deep: #02050a;
    --theme-bg-deep-rgb: 2, 5, 10;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #24314f;
    --theme-border-subtle-rgb: 36, 49, 79;
    --theme-border-strong: #334260;
    --theme-border-focus: #3b82f6;
    --theme-border-soft: rgba(148, 163, 184, 0.18);
    --theme-border-soft-strong: rgba(148, 163, 184, 0.34);

    --theme-text-primary: #f3f4f6;
    --theme-text-primary-rgb: 243, 244, 246;
    --theme-text-secondary: #9ca3af;
    --theme-text-secondary-rgb: 156, 163, 175;
    --theme-login-text-secondary: #a7b0c2;
    --theme-text-muted: #8491a5;
    --theme-text-muted-rgb: 132, 145, 165;
    --theme-text-code: #e5e7eb;
    --theme-text-code-rgb: 229, 231, 235;
    --theme-text-inverse: #040811;

    --theme-accent-primary: #06b6d4;
    --theme-accent-primary-rgb: 6, 182, 212;
    --theme-accent-primary-hover: #08a9c3;
    --theme-accent-secondary: #3b82f6;
    --theme-accent-secondary-rgb: 59, 130, 246;

    --theme-risk-critical: #ef4444;
    --theme-risk-critical-rgb: 239, 68, 68;
    --theme-risk-high: #f97316;
    --theme-risk-high-rgb: 249, 115, 22;
    --theme-risk-medium: #3b82f6;
    --theme-risk-medium-rgb: 59, 130, 246;
    --theme-risk-low: #10b981;
    --theme-risk-low-rgb: 16, 185, 129;
    --theme-risk-warning: #fbbf24;
    --theme-risk-warning-rgb: 251, 191, 36;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);
    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);
    --theme-table-header-bg: rgba(0, 0, 0, 0.2);
    --theme-table-row-hover: rgba(255, 255, 255, 0.025);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.5);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.72);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.88);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.84);
    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.08);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.14);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.18);
    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);
    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.7);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.72);
    --theme-btn-secondary-hover: #263655;
    --theme-btn-danger-hover: #dc2626;
    --theme-btn-success-hover: #059669;
    --theme-shadow-soft: 0 16px 40px rgba(0, 0, 0, 0.34);
    --theme-shadow-strong: 0 22px 60px rgba(0, 0, 0, 0.48);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --theme-shadow-md: 0 6px 20px rgba(0, 0, 0, 0.5);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #111a2b;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.58);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);
    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);
    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.46);

    --theme-terminal-bg: #212121;
    --theme-terminal-text: #00ff66;
    --theme-terminal-label: #d8e3f6;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #fde68a;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #fecaca;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.12);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #bbf7d0;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #a5f3fc;
    --theme-status-success-text: #86efac;
    --theme-status-danger-text: #fca5a5;
    --theme-status-warning-text: #fde68a;
    --theme-status-info-text: #67e8f9;
    --theme-status-muted-text: #cbd5e1;

    --theme-report-shell-bg: #f3f6fb;
    --theme-report-header-bg: #17213d;
    --theme-report-header-text: #ffffff;
    --theme-report-header-muted: #c9d5f0;
    --theme-report-nav-bg-start: #111b31;
    --theme-report-nav-bg-end: #0a1020;
    --theme-report-nav-title: #8ea4c2;
    --theme-report-nav-tab-bg: rgba(15, 23, 42, 0.44);
    --theme-report-nav-tab-bg-hover: rgba(30, 41, 59, 0.82);
    --theme-report-nav-tab-text: #d7e3f5;
    --theme-report-nav-tab-active-text: #7dd3fc;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;
    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;
    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;
    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;
    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;
    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="dark-green"] {
    --theme-bg-base: #0a130f;
    --theme-bg-base-rgb: 10, 19, 15;
    --theme-bg-surface-1: #101c18;
    --theme-bg-surface-1-rgb: 16, 28, 24;
    --theme-bg-surface-2: #192920;
    --theme-bg-surface-2-rgb: 25, 41, 32;
    --theme-bg-surface-3: #263d31;
    --theme-bg-surface-3-rgb: 38, 61, 49;
    --theme-bg-contrast: #06100c;
    --theme-bg-contrast-rgb: 6, 16, 12;
    --theme-bg-deep: #030806;
    --theme-bg-deep-rgb: 3, 8, 6;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #334f3f;
    --theme-border-subtle-rgb: 51, 79, 63;
    --theme-border-strong: #5b745e;
    --theme-border-focus: #bddb91;
    --theme-border-soft: rgba(168, 199, 122, 0.18);
    --theme-border-soft-strong: rgba(168, 199, 122, 0.34);

    --theme-text-primary: #f4f7ef;
    --theme-text-primary-rgb: 244, 247, 239;
    --theme-text-secondary: #b6c3b2;
    --theme-text-secondary-rgb: 182, 195, 178;
    --theme-login-text-secondary: #bdcbb7;
    --theme-text-muted: #8f9b89;
    --theme-text-muted-rgb: 143, 155, 137;
    --theme-text-code: #edf4e6;
    --theme-text-code-rgb: 237, 244, 230;
    --theme-text-inverse: #06100c;

    --theme-accent-primary: #a8c77a;
    --theme-accent-primary-rgb: 168, 199, 122;
    --theme-accent-primary-hover: #bddb91;
    --theme-accent-secondary: #c5a65c;
    --theme-accent-secondary-rgb: 197, 166, 92;

    --theme-risk-critical: #ee6b62;
    --theme-risk-critical-rgb: 238, 107, 98;
    --theme-risk-high: #cf8551;
    --theme-risk-high-rgb: 207, 133, 81;
    --theme-risk-medium: #c5a65c;
    --theme-risk-medium-rgb: 197, 166, 92;
    --theme-risk-low: #86b871;
    --theme-risk-low-rgb: 134, 184, 113;
    --theme-risk-warning: #c5a65c;
    --theme-risk-warning-rgb: 197, 166, 92;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);

    --theme-table-header-bg: rgba(3, 8, 6, 0.44);
    --theme-table-row-hover: rgba(168, 199, 122, 0.052);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.58);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.78);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.92);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.88);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.075);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.13);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.19);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);

    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.72);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.76);
    --theme-btn-secondary-hover: #2d4638;
    --theme-btn-danger-hover: #d95a52;
    --theme-btn-success-hover: #75a364;
    --theme-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.38);
    --theme-shadow-strong: 0 24px 66px rgba(0, 0, 0, 0.54);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.42);
    --theme-shadow-md: 0 7px 22px rgba(0, 0, 0, 0.52);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #132119;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.52);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.64), 0 0 0 1px rgba(244, 247, 239, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.48);

    --theme-terminal-bg: #111812;
    --theme-terminal-text: #b7df8d;
    --theme-terminal-label: #e5eedf;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #f0daa0;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #ffc9c3;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.14);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #d1ebc3;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #d8edbe;
    --theme-status-success-text: #d1ebc3;
    --theme-status-danger-text: #ffc9c3;
    --theme-status-warning-text: #f0daa0;
    --theme-status-info-text: #d8edbe;
    --theme-status-muted-text: #dce5d7;

    --theme-report-shell-bg: #0a130f;
    --theme-report-header-bg: #16251d;
    --theme-report-header-text: #f4f7ef;
    --theme-report-header-muted: #c2cfbd;

    --theme-report-nav-bg-start: #101c18;
    --theme-report-nav-bg-end: #0a130f;

    --theme-report-nav-title: #a4b29e;
    --theme-report-nav-tab-bg: rgba(25, 41, 32, 0.54);

    --theme-report-nav-tab-bg-hover: rgba(38, 61, 49, 0.84);

    --theme-report-nav-tab-text: #dce5d7;
    --theme-report-nav-tab-active-text: #bddb91;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="audit-light"] {
    --theme-bg-base: #f5f7fa;
    --theme-bg-base-rgb: 245, 247, 250;
    --theme-bg-surface-1: #ffffff;
    --theme-bg-surface-1-rgb: 255, 255, 255;
    --theme-bg-surface-2: #eef3f7;
    --theme-bg-surface-2-rgb: 238, 243, 247;
    --theme-bg-surface-3: #dfe8ef;
    --theme-bg-surface-3-rgb: 223, 232, 239;
    --theme-bg-contrast: #ffffff;
    --theme-bg-contrast-rgb: 255, 255, 255;
    --theme-bg-deep: #d8e1ea;
    --theme-bg-deep-rgb: 216, 225, 234;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #c9d6e3;
    --theme-border-subtle-rgb: 201, 214, 227;
    --theme-border-strong: #9fb1c4;
    --theme-border-focus: #0f766e;
    --theme-border-soft: rgba(17, 24, 39, 0.12);
    --theme-border-soft-strong: rgba(17, 24, 39, 0.22);

    --theme-text-primary: #172033;
    --theme-text-primary-rgb: 23, 32, 51;
    --theme-text-secondary: #48566a;
    --theme-text-secondary-rgb: 72, 86, 106;
    --theme-login-text-secondary: #5d6b80;
    --theme-text-muted: #5d6b80;
    --theme-text-muted-rgb: 93, 107, 128;
    --theme-text-code: #102a43;
    --theme-text-code-rgb: 16, 42, 67;
    --theme-text-inverse: #ffffff;

    --theme-accent-primary: #0f766e;
    --theme-accent-primary-rgb: 15, 118, 110;
    --theme-accent-primary-hover: #0d5f59;
    --theme-accent-secondary: #2e6888;
    --theme-accent-secondary-rgb: 46, 104, 136;

    --theme-risk-critical: #b42318;
    --theme-risk-critical-rgb: 180, 35, 24;
    --theme-risk-high: #b45309;
    --theme-risk-high-rgb: 180, 83, 9;
    --theme-risk-medium: #2e6888;
    --theme-risk-medium-rgb: 46, 104, 136;
    --theme-risk-low: #047857;
    --theme-risk-low-rgb: 4, 120, 87;
    --theme-risk-warning: #b7791f;
    --theme-risk-warning-rgb: 183, 121, 31;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.08);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.14);

    --theme-table-header-bg: rgba(226, 232, 240, 0.86);
    --theme-table-row-hover: rgba(15, 118, 110, 0.055);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.86);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.82);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.96);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.82);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.07);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.11);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.15);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.28);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.42);

    --theme-overlay-bg: rgba(17, 24, 39, 0.34);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.9);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.68);
    --theme-btn-secondary-hover: #dce7ef;
    --theme-btn-danger-hover: #991b1b;
    --theme-btn-success-hover: #065f46;
    --theme-shadow-soft: 0 14px 34px rgba(15, 23, 42, 0.12);
    --theme-shadow-strong: 0 24px 70px rgba(15, 23, 42, 0.24);
    --theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
    --theme-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.14);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.14);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.16);

    --theme-dialog-bg: #ffffff;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.34);
    --theme-dialog-shadow: 0 24px 70px rgba(15, 23, 42, 0.24), 0 0 0 1px rgba(255, 255, 255, 0.92) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.76);

    --theme-terminal-bg: #162033;
    --theme-terminal-text: #9df2d3;
    --theme-terminal-label: #334155;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.1);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.32);
    --theme-warning-text: #8a4b08;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.08);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.28);
    --theme-danger-text: #9f1d16;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.09);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.28);
    --theme-success-text: #065f46;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.08);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.26);
    --theme-info-text: #0f766e;
    --theme-status-success-text: #065f46;
    --theme-status-danger-text: #9f1d16;
    --theme-status-warning-text: #8a4b08;
    --theme-status-info-text: #0f766e;
    --theme-status-muted-text: #64748b;

    --theme-report-shell-bg: #eef3f8;
    --theme-report-header-bg: #ffffff;
    --theme-report-header-text: #172033;
    --theme-report-header-muted: #5d6b80;

    --theme-report-nav-bg-start: #f8fafc;
    --theme-report-nav-bg-end: #eef3f8;

    --theme-report-nav-title: #5d6b80;
    --theme-report-nav-tab-bg: rgba(255, 255, 255, 0.74);

    --theme-report-nav-tab-bg-hover: rgba(221, 231, 240, 0.86);

    --theme-report-nav-tab-text: #334155;
    --theme-report-nav-tab-active-text: #0f766e;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="sentinel-blue"] {
    --theme-bg-base: #08111f;
    --theme-bg-base-rgb: 8, 17, 31;
    --theme-bg-surface-1: #0f1b2d;
    --theme-bg-surface-1-rgb: 15, 27, 45;
    --theme-bg-surface-2: #17263d;
    --theme-bg-surface-2-rgb: 23, 38, 61;
    --theme-bg-surface-3: #223550;
    --theme-bg-surface-3-rgb: 34, 53, 80;
    --theme-bg-contrast: #06101d;
    --theme-bg-contrast-rgb: 6, 16, 29;
    --theme-bg-deep: #030914;
    --theme-bg-deep-rgb: 3, 9, 20;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #2f4562;
    --theme-border-subtle-rgb: 47, 69, 98;
    --theme-border-strong: #4e6380;
    --theme-border-focus: #66b7d7;
    --theme-border-soft: rgba(102, 183, 215, 0.18);
    --theme-border-soft-strong: rgba(102, 183, 215, 0.34);

    --theme-text-primary: #eef4fb;
    --theme-text-primary-rgb: 238, 244, 251;
    --theme-text-secondary: #b7c5d6;
    --theme-text-secondary-rgb: 183, 197, 214;
    --theme-login-text-secondary: #bdcad8;
    --theme-text-muted: #8fa5bc;
    --theme-text-muted-rgb: 143, 165, 188;
    --theme-text-code: #e7f0f8;
    --theme-text-code-rgb: 231, 240, 248;
    --theme-text-inverse: #06101d;

    --theme-accent-primary: #66b7d7;
    --theme-accent-primary-rgb: 102, 183, 215;
    --theme-accent-primary-hover: #7fc6e1;
    --theme-accent-secondary: #a5b889;
    --theme-accent-secondary-rgb: 165, 184, 137;

    --theme-risk-critical: #ef7068;
    --theme-risk-critical-rgb: 239, 112, 104;
    --theme-risk-high: #d28a5a;
    --theme-risk-high-rgb: 210, 138, 90;
    --theme-risk-medium: #66b7d7;
    --theme-risk-medium-rgb: 102, 183, 215;
    --theme-risk-low: #74b98d;
    --theme-risk-low-rgb: 116, 185, 141;
    --theme-risk-warning: #d3b365;
    --theme-risk-warning-rgb: 211, 179, 101;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);

    --theme-table-header-bg: rgba(3, 9, 20, 0.42);
    --theme-table-row-hover: rgba(102, 183, 215, 0.052);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.58);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.78);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.92);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.88);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.075);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.13);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.19);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);

    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.72);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.76);
    --theme-btn-secondary-hover: #2d4363;
    --theme-btn-danger-hover: #d95d55;
    --theme-btn-success-hover: #619f79;
    --theme-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.38);
    --theme-shadow-strong: 0 24px 68px rgba(0, 0, 0, 0.55);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.42);
    --theme-shadow-md: 0 7px 22px rgba(0, 0, 0, 0.52);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #132139;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.52);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.64), 0 0 0 1px rgba(238, 244, 251, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.48);

    --theme-terminal-bg: #0d1728;
    --theme-terminal-text: #9ee7ff;
    --theme-terminal-label: #e3edf8;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #f0dba1;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #ffc9c4;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.14);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #c8ead5;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #c5effb;
    --theme-status-success-text: #c8ead5;
    --theme-status-danger-text: #ffc9c4;
    --theme-status-warning-text: #f0dba1;
    --theme-status-info-text: #c5effb;
    --theme-status-muted-text: #dde6ef;

    --theme-report-shell-bg: #08111f;
    --theme-report-header-bg: #14233a;
    --theme-report-header-text: #eef4fb;
    --theme-report-header-muted: #c4d1e0;

    --theme-report-nav-bg-start: #0f1b2d;
    --theme-report-nav-bg-end: #08111f;

    --theme-report-nav-title: #9eb2c8;
    --theme-report-nav-tab-bg: rgba(23, 38, 61, 0.54);

    --theme-report-nav-tab-bg-hover: rgba(34, 53, 80, 0.84);

    --theme-report-nav-tab-text: #dbe7f4;
    --theme-report-nav-tab-active-text: #7fc6e1;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="graphite-cyan"] {
    --theme-bg-base: #0a0f13;
    --theme-bg-base-rgb: 10, 15, 19;
    --theme-bg-surface-1: #121820;
    --theme-bg-surface-1-rgb: 18, 24, 32;
    --theme-bg-surface-2: #1a232c;
    --theme-bg-surface-2-rgb: 26, 35, 44;
    --theme-bg-surface-3: #26323d;
    --theme-bg-surface-3-rgb: 38, 50, 61;
    --theme-bg-contrast: #06100f;
    --theme-bg-contrast-rgb: 6, 16, 15;
    --theme-bg-deep: #030607;
    --theme-bg-deep-rgb: 3, 6, 7;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #33434c;
    --theme-border-subtle-rgb: 51, 67, 76;
    --theme-border-strong: #566771;
    --theme-border-focus: #35c3b4;
    --theme-border-soft: rgba(53, 195, 180, 0.18);
    --theme-border-soft-strong: rgba(53, 195, 180, 0.34);

    --theme-text-primary: #edf3f4;
    --theme-text-primary-rgb: 237, 243, 244;
    --theme-text-secondary: #bac5c8;
    --theme-text-secondary-rgb: 186, 197, 200;
    --theme-login-text-secondary: #bfccce;
    --theme-text-muted: #92a3a7;
    --theme-text-muted-rgb: 146, 163, 167;
    --theme-text-code: #e6f2f1;
    --theme-text-code-rgb: 230, 242, 241;
    --theme-text-inverse: #06100f;

    --theme-accent-primary: #35c3b4;
    --theme-accent-primary-rgb: 53, 195, 180;
    --theme-accent-primary-hover: #52d0c2;
    --theme-accent-secondary: #9fb27e;
    --theme-accent-secondary-rgb: 159, 178, 126;

    --theme-risk-critical: #ea6b6b;
    --theme-risk-critical-rgb: 234, 107, 107;
    --theme-risk-high: #c98a5c;
    --theme-risk-high-rgb: 201, 138, 92;
    --theme-risk-medium: #35c3b4;
    --theme-risk-medium-rgb: 53, 195, 180;
    --theme-risk-low: #7bb98b;
    --theme-risk-low-rgb: 123, 185, 139;
    --theme-risk-warning: #c7ad66;
    --theme-risk-warning-rgb: 199, 173, 102;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);

    --theme-table-header-bg: rgba(3, 6, 7, 0.42);
    --theme-table-row-hover: rgba(53, 195, 180, 0.052);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.58);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.78);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.92);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.88);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.075);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.13);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.19);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);

    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.72);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.76);
    --theme-btn-secondary-hover: #30414b;
    --theme-btn-danger-hover: #d75b5b;
    --theme-btn-success-hover: #68a175;
    --theme-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.38);
    --theme-shadow-strong: 0 24px 68px rgba(0, 0, 0, 0.55);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.42);
    --theme-shadow-md: 0 7px 22px rgba(0, 0, 0, 0.52);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #151e25;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.52);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.64), 0 0 0 1px rgba(237, 243, 244, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.48);

    --theme-terminal-bg: #101719;
    --theme-terminal-text: #8df0e5;
    --theme-terminal-label: #e2ecee;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #eedaa1;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #ffc8c8;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.14);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #ccebd4;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #bdf2ec;
    --theme-status-success-text: #ccebd4;
    --theme-status-danger-text: #ffc8c8;
    --theme-status-warning-text: #eedaa1;
    --theme-status-info-text: #bdf2ec;
    --theme-status-muted-text: #dfe8ea;

    --theme-report-shell-bg: #0a0f13;
    --theme-report-header-bg: #172129;
    --theme-report-header-text: #edf3f4;
    --theme-report-header-muted: #c7d2d5;

    --theme-report-nav-bg-start: #121820;
    --theme-report-nav-bg-end: #0a0f13;

    --theme-report-nav-title: #a6b4b8;
    --theme-report-nav-tab-bg: rgba(26, 35, 44, 0.54);

    --theme-report-nav-tab-bg-hover: rgba(38, 50, 61, 0.84);

    --theme-report-nav-tab-text: #dfe8ea;
    --theme-report-nav-tab-active-text: #52d0c2;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="iron-amber"] {
    --theme-bg-base: #0c0e12;
    --theme-bg-base-rgb: 12, 14, 18;
    --theme-bg-surface-1: #15181f;
    --theme-bg-surface-1-rgb: 21, 24, 31;
    --theme-bg-surface-2: #20242d;
    --theme-bg-surface-2-rgb: 32, 36, 45;
    --theme-bg-surface-3: #303640;
    --theme-bg-surface-3-rgb: 48, 54, 64;
    --theme-bg-contrast: #100d07;
    --theme-bg-contrast-rgb: 16, 13, 7;
    --theme-bg-deep: #050608;
    --theme-bg-deep-rgb: 5, 6, 8;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #434852;
    --theme-border-subtle-rgb: 67, 72, 82;
    --theme-border-strong: #676d78;
    --theme-border-focus: #d6a84f;
    --theme-border-soft: rgba(214, 168, 79, 0.18);
    --theme-border-soft-strong: rgba(214, 168, 79, 0.34);

    --theme-text-primary: #f3f0e8;
    --theme-text-primary-rgb: 243, 240, 232;
    --theme-text-secondary: #c8c3b8;
    --theme-text-secondary-rgb: 200, 195, 184;
    --theme-login-text-secondary: #cec8bd;
    --theme-text-muted: #aaa59a;
    --theme-text-muted-rgb: 170, 165, 154;
    --theme-text-code: #f1e9d8;
    --theme-text-code-rgb: 241, 233, 216;
    --theme-text-inverse: #100d07;

    --theme-accent-primary: #d6a84f;
    --theme-accent-primary-rgb: 214, 168, 79;
    --theme-accent-primary-hover: #e4bb68;
    --theme-accent-secondary: #78a8b4;
    --theme-accent-secondary-rgb: 120, 168, 180;

    --theme-risk-critical: #ed6f63;
    --theme-risk-critical-rgb: 237, 111, 99;
    --theme-risk-high: #d08a4e;
    --theme-risk-high-rgb: 208, 138, 78;
    --theme-risk-medium: #d6a84f;
    --theme-risk-medium-rgb: 214, 168, 79;
    --theme-risk-low: #83b47c;
    --theme-risk-low-rgb: 131, 180, 124;
    --theme-risk-warning: #d6a84f;
    --theme-risk-warning-rgb: 214, 168, 79;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);

    --theme-table-header-bg: rgba(5, 6, 8, 0.44);
    --theme-table-row-hover: rgba(214, 168, 79, 0.052);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.58);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.78);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.92);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.88);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.075);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.13);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.19);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);

    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.72);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.76);
    --theme-btn-secondary-hover: #3a404b;
    --theme-btn-danger-hover: #da5d51;
    --theme-btn-success-hover: #719d6a;
    --theme-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.4);
    --theme-shadow-strong: 0 24px 68px rgba(0, 0, 0, 0.56);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.42);
    --theme-shadow-md: 0 7px 22px rgba(0, 0, 0, 0.52);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #191b22;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.52);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.66), 0 0 0 1px rgba(243, 240, 232, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.48);

    --theme-terminal-bg: #151511;
    --theme-terminal-text: #f2c970;
    --theme-terminal-label: #ece5d7;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #f3d89a;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #ffc9c4;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.14);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #d3ebcd;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #c8e8ee;
    --theme-status-success-text: #d3ebcd;
    --theme-status-danger-text: #ffc9c4;
    --theme-status-warning-text: #f3d89a;
    --theme-status-info-text: #c8e8ee;
    --theme-status-muted-text: #e2ded5;

    --theme-report-shell-bg: #0c0e12;
    --theme-report-header-bg: #1c2028;
    --theme-report-header-text: #f3f0e8;
    --theme-report-header-muted: #d0cabf;

    --theme-report-nav-bg-start: #15181f;
    --theme-report-nav-bg-end: #0c0e12;

    --theme-report-nav-title: #b1aca3;
    --theme-report-nav-tab-bg: rgba(32, 36, 45, 0.54);

    --theme-report-nav-tab-bg-hover: rgba(48, 54, 64, 0.84);

    --theme-report-nav-tab-text: #e2ded5;
    --theme-report-nav-tab-active-text: #e4bb68;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="burgundy-guard"] {
    --theme-bg-base: #120b11;
    --theme-bg-base-rgb: 18, 11, 17;
    --theme-bg-surface-1: #1b111a;
    --theme-bg-surface-1-rgb: 27, 17, 26;
    --theme-bg-surface-2: #271925;
    --theme-bg-surface-2-rgb: 39, 25, 37;
    --theme-bg-surface-3: #382633;
    --theme-bg-surface-3-rgb: 56, 38, 51;
    --theme-bg-contrast: #14080d;
    --theme-bg-contrast-rgb: 20, 8, 13;
    --theme-bg-deep: #070305;
    --theme-bg-deep-rgb: 7, 3, 5;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #4d3344;
    --theme-border-subtle-rgb: 77, 51, 68;
    --theme-border-strong: #73596a;
    --theme-border-focus: #e092a8;
    --theme-border-soft: rgba(224, 146, 168, 0.18);
    --theme-border-soft-strong: rgba(224, 146, 168, 0.34);

    --theme-text-primary: #f6edf1;
    --theme-text-primary-rgb: 246, 237, 241;
    --theme-text-secondary: #d0bdc6;
    --theme-text-secondary-rgb: 208, 189, 198;
    --theme-login-text-secondary: #d7c5cd;
    --theme-text-muted: #b8a1aa;
    --theme-text-muted-rgb: 184, 161, 170;
    --theme-text-code: #f5e6ec;
    --theme-text-code-rgb: 245, 230, 236;
    --theme-text-inverse: #14080d;

    --theme-accent-primary: #e092a8;
    --theme-accent-primary-rgb: 224, 146, 168;
    --theme-accent-primary-hover: #edabc0;
    --theme-accent-secondary: #8cb9c7;
    --theme-accent-secondary-rgb: 140, 185, 199;

    --theme-risk-critical: #f07872;
    --theme-risk-critical-rgb: 240, 120, 114;
    --theme-risk-high: #d8945b;
    --theme-risk-high-rgb: 216, 148, 91;
    --theme-risk-medium: #8cb9c7;
    --theme-risk-medium-rgb: 140, 185, 199;
    --theme-risk-low: #84b989;
    --theme-risk-low-rgb: 132, 185, 137;
    --theme-risk-warning: #d5b46b;
    --theme-risk-warning-rgb: 213, 180, 107;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.1);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.18);

    --theme-table-header-bg: rgba(7, 3, 5, 0.44);
    --theme-table-row-hover: rgba(224, 146, 168, 0.05);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.58);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.78);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.92);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.88);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.075);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.13);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.19);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.42);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.58);

    --theme-overlay-bg: rgba(var(--theme-bg-black-rgb), 0.72);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.95);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.76);
    --theme-btn-secondary-hover: #422d3b;
    --theme-btn-danger-hover: #dc615c;
    --theme-btn-success-hover: #72a072;
    --theme-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.4);
    --theme-shadow-strong: 0 24px 68px rgba(0, 0, 0, 0.56);
    --theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.42);
    --theme-shadow-md: 0 7px 22px rgba(0, 0, 0, 0.52);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.15);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.18);

    --theme-dialog-bg: #21131d;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.52);
    --theme-dialog-shadow: 0 28px 90px rgba(0, 0, 0, 0.66), 0 0 0 1px rgba(246, 237, 241, 0.05) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.48);

    --theme-terminal-bg: #181014;
    --theme-terminal-text: #ffbacd;
    --theme-terminal-label: #f0e1e8;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.12);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.38);
    --theme-warning-text: #f0d99d;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.12);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.42);
    --theme-danger-text: #ffc9c6;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.14);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.38);
    --theme-success-text: #d1ead2;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.12);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.36);
    --theme-info-text: #cce9ef;
    --theme-status-success-text: #d1ead2;
    --theme-status-danger-text: #ffc9c6;
    --theme-status-warning-text: #f0d99d;
    --theme-status-info-text: #cce9ef;
    --theme-status-muted-text: #e6dce1;

    --theme-report-shell-bg: #120b11;
    --theme-report-header-bg: #241620;
    --theme-report-header-text: #f6edf1;
    --theme-report-header-muted: #dbcbd2;

    --theme-report-nav-bg-start: #1b111a;
    --theme-report-nav-bg-end: #120b11;

    --theme-report-nav-title: #bba8b1;
    --theme-report-nav-tab-bg: rgba(39, 25, 37, 0.54);

    --theme-report-nav-tab-bg-hover: rgba(56, 38, 51, 0.84);

    --theme-report-nav-tab-text: #e6dce1;
    --theme-report-nav-tab-active-text: #edabc0;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root[data-theme="cloud-steel"] {
    --theme-bg-base: #f3f5f7;
    --theme-bg-base-rgb: 243, 245, 247;
    --theme-bg-surface-1: #ffffff;
    --theme-bg-surface-1-rgb: 255, 255, 255;
    --theme-bg-surface-2: #e9eef3;
    --theme-bg-surface-2-rgb: 233, 238, 243;
    --theme-bg-surface-3: #d8e1ea;
    --theme-bg-surface-3-rgb: 216, 225, 234;
    --theme-bg-contrast: #ffffff;
    --theme-bg-contrast-rgb: 255, 255, 255;
    --theme-bg-deep: #d2dce6;
    --theme-bg-deep-rgb: 210, 220, 230;
    --theme-bg-white: #ffffff;
    --theme-bg-white-rgb: 255, 255, 255;
    --theme-bg-black: #000000;
    --theme-bg-black-rgb: 0, 0, 0;

    --theme-border-subtle: #c3ced9;
    --theme-border-subtle-rgb: 195, 206, 217;
    --theme-border-strong: #98a8b8;
    --theme-border-focus: #315f86;
    --theme-border-soft: rgba(23, 32, 51, 0.12);
    --theme-border-soft-strong: rgba(23, 32, 51, 0.22);

    --theme-text-primary: #172033;
    --theme-text-primary-rgb: 23, 32, 51;
    --theme-text-secondary: #49596a;
    --theme-text-secondary-rgb: 73, 89, 106;
    --theme-login-text-secondary: #5d6b80;
    --theme-text-muted: #5d6b80;
    --theme-text-muted-rgb: 93, 107, 128;
    --theme-text-code: #132d42;
    --theme-text-code-rgb: 19, 45, 66;
    --theme-text-inverse: #ffffff;

    --theme-accent-primary: #315f86;
    --theme-accent-primary-rgb: 49, 95, 134;
    --theme-accent-primary-hover: #254b6c;
    --theme-accent-secondary: #4d7c8a;
    --theme-accent-secondary-rgb: 77, 124, 138;

    --theme-risk-critical: #b42318;
    --theme-risk-critical-rgb: 180, 35, 24;
    --theme-risk-high: #ad5d16;
    --theme-risk-high-rgb: 173, 93, 22;
    --theme-risk-medium: #315f86;
    --theme-risk-medium-rgb: 49, 95, 134;
    --theme-risk-low: #087f5b;
    --theme-risk-low-rgb: 8, 127, 91;
    --theme-risk-warning: #9a6b16;
    --theme-risk-warning-rgb: 154, 107, 22;

    --theme-code-bg: rgba(var(--theme-accent-secondary-rgb), 0.08);

    --theme-code-bg-strong: rgba(var(--theme-accent-secondary-rgb), 0.14);

    --theme-table-header-bg: rgba(226, 232, 240, 0.9);
    --theme-table-row-hover: rgba(49, 95, 134, 0.055);
    --theme-table-border: rgba(var(--theme-border-subtle-rgb), 0.86);
    --theme-surface-glass: rgba(var(--theme-bg-surface-1-rgb), 0.82);
    --theme-surface-glass-strong: rgba(var(--theme-bg-surface-1-rgb), 0.96);
    --theme-surface-deep-glass: rgba(var(--theme-bg-deep-rgb), 0.82);

    --theme-accent-bg-subtle: rgba(var(--theme-accent-primary-rgb), 0.07);
    --theme-accent-bg-soft: rgba(var(--theme-accent-primary-rgb), 0.11);
    --theme-accent-bg-strong: rgba(var(--theme-accent-primary-rgb), 0.15);

    --theme-accent-border-soft: rgba(var(--theme-accent-primary-rgb), 0.28);
    --theme-accent-border-strong: rgba(var(--theme-accent-primary-rgb), 0.42);

    --theme-overlay-bg: rgba(17, 24, 39, 0.34);
    --theme-scrollbar-track: rgba(var(--theme-bg-deep-rgb), 0.9);
    --theme-scrollbar-thumb: rgba(var(--theme-text-muted-rgb), 0.68);
    --theme-btn-secondary-hover: #dce5ed;
    --theme-btn-danger-hover: #991b1b;
    --theme-btn-success-hover: #06724f;
    --theme-shadow-soft: 0 14px 34px rgba(15, 23, 42, 0.11);
    --theme-shadow-strong: 0 24px 70px rgba(15, 23, 42, 0.22);
    --theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
    --theme-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.13);
    --theme-shadow-glow: 0 0 20px rgba(var(--theme-accent-primary-rgb), 0.14);
    --theme-focus-ring: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.16);

    --theme-dialog-bg: #ffffff;
    --theme-dialog-border: rgba(var(--theme-accent-primary-rgb), 0.34);
    --theme-dialog-shadow: 0 24px 70px rgba(15, 23, 42, 0.23), 0 0 0 1px rgba(255, 255, 255, 0.92) inset;
    --theme-dialog-topline: transparent;
    --theme-dialog-action-bg: var(--theme-accent-primary);

    --theme-dialog-action-bg-hover: var(--theme-accent-primary-hover);

    --theme-dialog-cancel-bg: rgba(var(--theme-bg-surface-3-rgb), 0.76);

    --theme-terminal-bg: #172235;
    --theme-terminal-text: #b7e6f2;
    --theme-terminal-label: #334155;
    --theme-warning-bg: rgba(var(--theme-risk-warning-rgb), 0.1);
    --theme-warning-border: rgba(var(--theme-risk-warning-rgb), 0.32);
    --theme-warning-text: #7c4f0f;
    --theme-danger-bg: rgba(var(--theme-risk-critical-rgb), 0.08);
    --theme-danger-border: rgba(var(--theme-risk-critical-rgb), 0.28);
    --theme-danger-text: #9f1d16;
    --theme-success-bg: rgba(var(--theme-risk-low-rgb), 0.09);
    --theme-success-border: rgba(var(--theme-risk-low-rgb), 0.28);
    --theme-success-text: #065f46;
    --theme-info-bg: rgba(var(--theme-accent-primary-rgb), 0.08);
    --theme-info-border: rgba(var(--theme-accent-primary-rgb), 0.26);
    --theme-info-text: #315f86;
    --theme-status-success-text: #065f46;
    --theme-status-danger-text: #9f1d16;
    --theme-status-warning-text: #7c4f0f;
    --theme-status-info-text: #315f86;
    --theme-status-muted-text: #64748b;

    --theme-report-shell-bg: #e9eef3;
    --theme-report-header-bg: #ffffff;
    --theme-report-header-text: #172033;
    --theme-report-header-muted: #5d6b80;

    --theme-report-nav-bg-start: #f8fafc;
    --theme-report-nav-bg-end: #e9eef3;

    --theme-report-nav-title: #5d6b80;
    --theme-report-nav-tab-bg: rgba(255, 255, 255, 0.76);

    --theme-report-nav-tab-bg-hover: rgba(216, 225, 234, 0.86);

    --theme-report-nav-tab-text: #334155;
    --theme-report-nav-tab-active-text: #315f86;
    --theme-report-document-bg: #ffffff;
    --theme-report-document-text: #111827;
    --theme-report-document-muted: #374151;
    --theme-report-document-border: #d1d5db;
    --theme-report-document-heading: #2c3e50;
    --theme-report-document-section-heading: #1f2937;
    --theme-report-document-section-accent: #2980b9;
    --theme-report-document-panel-bg: #fafbfc;

    --theme-report-document-table-header-bg: #f4f6f8;
    --theme-report-document-table-border: #e0e0e0;

    --theme-report-document-card-total: #34495e;
    --theme-report-document-card-pass: #2ecc71;
    --theme-report-document-card-fail: #e74c3c;
    --theme-report-document-card-error: #7f8c8d;
    --theme-report-document-card-skip: #95a5a6;
    --theme-report-document-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    --theme-report-document-badge-safe-bg: #e3f2fd;
    --theme-report-document-badge-safe-text: #1565c0;

    --theme-report-document-badge-danger-bg: #ffebee;
    --theme-report-document-badge-danger-text: #c62828;

    --theme-report-document-badge-error-bg: #fff3e0;
    --theme-report-document-badge-error-text: #d35400;
    --theme-report-document-badge-skip-bg: #f5f5f5;
    --theme-report-document-badge-skip-text: #616161;
    --theme-report-document-severity-high: #c62828;
    --theme-report-document-severity-medium: #d35400;
    --theme-report-document-severity-low: #2e7d32;

    --theme-report-document-terminal-bg: #212121;
    --theme-report-document-terminal-text: #00ff66;
}

:root {
    --theme-preview-default-bg: #0f1624;
    --theme-preview-default-surface: #1e2942;
    --theme-preview-default-accent: #06b6d4;
    --theme-preview-dark-green-bg: #101c18;
    --theme-preview-dark-green-surface: #263d31;
    --theme-preview-dark-green-accent: #a8c77a;
    --theme-preview-audit-light-bg: #f5f7fa;
    --theme-preview-audit-light-surface: #ffffff;
    --theme-preview-audit-light-accent: #0f766e;
    --theme-preview-sentinel-blue-bg: #0f1b2d;
    --theme-preview-sentinel-blue-surface: #223550;
    --theme-preview-sentinel-blue-accent: #66b7d7;
    --theme-preview-graphite-cyan-bg: #121820;
    --theme-preview-graphite-cyan-surface: #26323d;
    --theme-preview-graphite-cyan-accent: #35c3b4;
    --theme-preview-iron-amber-bg: #15181f;
    --theme-preview-iron-amber-surface: #303640;
    --theme-preview-iron-amber-accent: #d6a84f;
    --theme-preview-burgundy-guard-bg: #1b111a;
    --theme-preview-burgundy-guard-surface: #382633;
    --theme-preview-burgundy-guard-accent: #e092a8;
    --theme-preview-cloud-steel-bg: #f3f5f7;
    --theme-preview-cloud-steel-surface: #ffffff;
    --theme-preview-cloud-steel-accent: #315f86;


    /* Dashboard redesign tokens */
    --sl-bg-base: var(--theme-bg-base);
    --sl-bg-surface-1: var(--theme-bg-surface-1);
    --sl-bg-surface-2: var(--theme-bg-surface-2);
    --sl-bg-surface-3: var(--theme-bg-surface-3);
    --sl-border-subtle: var(--theme-border-subtle);
    --sl-border-strong: var(--theme-border-strong);
    --sl-border-focus: var(--theme-border-focus);
    --sl-text-primary: var(--theme-text-primary);
    --sl-text-secondary: var(--theme-text-secondary);
    --sl-text-muted: var(--theme-text-muted);
    --sl-accent-cyan: var(--theme-accent-primary);
    --sl-accent-blue: var(--theme-accent-secondary);
    --sl-risk-critical: var(--theme-risk-critical);
    --sl-risk-high: var(--theme-risk-high);
    --sl-risk-medium: var(--theme-risk-medium);
    --sl-risk-low: var(--theme-risk-low);

    /* Legacy shared tokens used by style.css, report-output.css and older JS-rendered markup */
    --bg-primary: var(--theme-bg-base);
    --bg-secondary: var(--theme-bg-surface-1);
    --bg-tertiary: var(--theme-bg-surface-2);
    --bg-white: var(--theme-bg-white);
    --bg-black: var(--theme-bg-black);
    --chat-bg: var(--theme-bg-surface-1);
    --chat-bg2: var(--theme-bg-surface-2);
    --surface-1: var(--theme-bg-surface-2);
    --surface-2: var(--theme-bg-surface-3);
    --border-color: var(--theme-border-soft);
    --border-color-strong: var(--theme-border-soft-strong);
    --main-blue: var(--theme-bg-surface-1);
    --accent-color: var(--theme-accent-primary);
    --accent-color-hover: var(--theme-accent-primary-hover);
    --accent-indigo: var(--theme-accent-secondary);
    --text-primary: var(--theme-text-primary);
    --text-secondary: var(--theme-text-secondary);
    --text-muted: var(--theme-text-muted);
    --text-accent: var(--theme-accent-primary);
    --text-blue: var(--theme-accent-primary);
    --code-bg: var(--theme-code-bg);
    --code-bg-strong: var(--theme-code-bg-strong);
    --code-text: var(--theme-text-code);
    --severity-critical: var(--theme-risk-critical);
    --severity-high: var(--theme-risk-high);
    --severity-medium: var(--theme-risk-warning);
    --severity-low: var(--theme-risk-low);
    --status-fail: var(--theme-risk-critical);
    --status-pass: var(--theme-risk-low);
    --status-error: var(--theme-risk-warning);
    --status-skipped: var(--theme-text-secondary);
    --btn-primary-bg: var(--theme-accent-primary);
    --btn-primary-hover: var(--theme-accent-primary-hover);
    --btn-primary-text: var(--theme-bg-contrast);
    --btn-secondary-bg: var(--theme-bg-surface-3);
    --btn-secondary-hover: var(--theme-btn-secondary-hover);
    --btn-danger-bg: var(--theme-risk-critical);
    --btn-danger-hover: var(--theme-btn-danger-hover);
    --btn-success-bg: var(--theme-risk-low);
    --btn-success-hover: var(--theme-btn-success-hover);
    --input-bg: var(--theme-bg-surface-2);
    --input-border: var(--theme-border-subtle);
    --input-focus-border: var(--theme-border-focus);
    --input-placeholder: var(--theme-text-muted);
    --table-header-bg: var(--theme-table-header-bg);
    --table-row-hover: var(--theme-table-row-hover);
    --table-border: var(--theme-table-border);
    --nav-active-bg: var(--theme-bg-surface-3);
    --nav-active-border: var(--theme-accent-primary);

    /* Login screen tokens */
    --bg-base: var(--theme-bg-base);
    --bg-surface-1: var(--theme-bg-surface-1);
    --bg-surface-2: var(--theme-bg-surface-2);
    --bg-surface-3: var(--theme-bg-surface-3);
    --border-subtle: var(--theme-border-subtle);
    --border-strong: var(--theme-border-strong);
    --border-focus: var(--theme-border-focus);
    --accent-cyan: var(--theme-accent-primary);
    --accent-cyan-hover: var(--theme-accent-primary-hover);
    --danger: var(--theme-risk-critical);

    /* Admin console tokens */
    --admin-bg-base: var(--theme-bg-base);
    --admin-bg-surface-1: var(--theme-bg-surface-1);
    --admin-bg-surface-2: var(--theme-bg-surface-2);
    --admin-bg-surface-3: var(--theme-bg-surface-3);
    --admin-border-subtle: var(--theme-border-subtle);
    --admin-border-strong: var(--theme-border-strong);
    --admin-border-focus: var(--theme-border-focus);
    --admin-text-primary: var(--theme-text-primary);
    --admin-text-secondary: var(--theme-text-secondary);
    --admin-text-muted: var(--theme-text-muted);
    --admin-accent-cyan: var(--theme-accent-primary);
    --admin-risk-danger: var(--theme-risk-critical);
}

.login-shell {
    --text-secondary: var(--theme-login-text-secondary);
}

/* Late-loaded compatibility layer for old Bootstrap and JS-rendered UI. */
.main-area :where(.text-muted, .form-text),
.admin-main :where(.text-muted, .form-text),
.modal :where(.text-muted, .form-text),
.sl-dialog-root :where(.text-muted, .form-text) {
    color: var(--theme-text-muted) !important;
}

:where(.text-primary) {
    color: var(--theme-accent-primary) !important;
}

:where(.text-success) {
    color: var(--theme-success-text) !important;
}

:where(.text-danger) {
    color: var(--theme-danger-text) !important;
}

:where(.text-warning) {
    color: var(--theme-warning-text) !important;
}

:where(.text-secondary) {
    color: var(--theme-text-secondary) !important;
}

:where(.text-info) {
    color: var(--theme-info-text) !important;
}

:where(.text-light, .text-white) {
    color: var(--theme-text-primary) !important;
}

.main-area :where(.text-dark),
.modal :where(.text-dark),
.sl-dialog-root :where(.text-dark) {
    color: var(--theme-text-primary) !important;
}

:where(.text-success-emphasis) {
    color: var(--theme-success-text) !important;
}

:where(.text-danger-emphasis) {
    color: var(--theme-danger-text) !important;
}

:where(.text-warning-emphasis) {
    color: var(--theme-warning-text) !important;
}

:where(.text-info-emphasis) {
    color: var(--theme-info-text) !important;
}

:where(.btn-primary) {
    background: var(--theme-accent-primary) !important;
    border-color: var(--theme-accent-primary) !important;
    color: var(--theme-text-inverse) !important;
}

:where(.btn-primary:hover, .btn-primary:focus) {
    background: var(--theme-accent-primary-hover) !important;
    border-color: var(--theme-accent-primary-hover) !important;
    box-shadow: var(--theme-focus-ring);
}

:where(.btn-secondary) {
    background: var(--theme-bg-surface-3) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
}

:where(.btn-secondary:hover, .btn-secondary:focus) {
    background: var(--theme-btn-secondary-hover) !important;
    border-color: var(--theme-border-strong) !important;
}

:where(.btn-light, .btn-dark) {
    background: var(--theme-bg-surface-2) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
}

:where(.btn-light:hover, .btn-light:focus, .btn-dark:hover, .btn-dark:focus) {
    background: var(--theme-bg-surface-3) !important;
    border-color: var(--theme-border-strong) !important;
    color: var(--theme-text-primary) !important;
}

:where(.btn-danger) {
    background: var(--theme-risk-critical) !important;
    border-color: var(--theme-risk-critical) !important;
    color: var(--theme-bg-white) !important;
}

:where(.btn-danger:hover, .btn-danger:focus) {
    background: var(--theme-btn-danger-hover) !important;
    border-color: var(--theme-btn-danger-hover) !important;
}

:where(.btn-success) {
    background: var(--theme-risk-low) !important;
    border-color: var(--theme-risk-low) !important;
    color: var(--theme-bg-contrast) !important;
}

:where(.btn-success:hover, .btn-success:focus) {
    background: var(--theme-btn-success-hover) !important;
    border-color: var(--theme-btn-success-hover) !important;
}

:where(.btn-info) {
    background: var(--theme-accent-primary) !important;
    border-color: var(--theme-accent-primary) !important;
    color: var(--theme-bg-contrast) !important;
}

:where(.btn-warning) {
    background: var(--theme-risk-warning) !important;
    border-color: var(--theme-risk-warning) !important;
    color: var(--theme-bg-contrast) !important;
}

:where(.btn-outline-primary, .btn-outline-info) {
    background: transparent !important;
    border-color: rgba(var(--theme-accent-primary-rgb), 0.5) !important;
    color: var(--theme-accent-primary) !important;
}

:where(.btn-outline-primary:hover, .btn-outline-info:hover, .btn-outline-primary:focus, .btn-outline-info:focus) {
    background: rgba(var(--theme-accent-primary-rgb), 0.12) !important;
    border-color: var(--theme-accent-primary) !important;
    color: var(--theme-info-text) !important;
}

:where(.btn-outline-secondary) {
    background: transparent !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-secondary) !important;
}

:where(.btn-outline-danger) {
    background: transparent !important;
    border-color: rgba(var(--theme-risk-critical-rgb), 0.48) !important;
    color: var(--theme-danger-text) !important;
}

.main-area :where(.bg-light, .bg-white),
.modal :where(.bg-light, .bg-white),
.sl-dialog-root :where(.bg-light, .bg-white) {
    background: var(--theme-bg-surface-1) !important;
    color: var(--theme-text-primary) !important;
}

.main-area :where(.bg-dark),
.modal :where(.bg-dark),
.sl-dialog-root :where(.bg-dark) {
    background: var(--theme-bg-deep) !important;
    color: var(--theme-text-primary) !important;
}

.main-area :where(.bg-primary),
.modal :where(.bg-primary),
.sl-dialog-root :where(.bg-primary) {
    background: rgba(var(--theme-accent-primary-rgb), 0.18) !important;
    color: var(--theme-info-text) !important;
}

.main-area :where(.bg-secondary),
.modal :where(.bg-secondary),
.sl-dialog-root :where(.bg-secondary) {
    background: rgba(var(--theme-bg-surface-3-rgb), 0.72) !important;
    color: var(--theme-text-secondary) !important;
}

.main-area :where(.bg-success, .bg-success-subtle),
.modal :where(.bg-success, .bg-success-subtle),
.sl-dialog-root :where(.bg-success, .bg-success-subtle) {
    background: var(--theme-success-bg) !important;
    color: var(--theme-success-text) !important;
}

.main-area :where(.bg-danger, .bg-danger-subtle),
.modal :where(.bg-danger, .bg-danger-subtle),
.sl-dialog-root :where(.bg-danger, .bg-danger-subtle) {
    background: var(--theme-danger-bg) !important;
    color: var(--theme-danger-text) !important;
}

.main-area :where(.bg-warning, .bg-warning-subtle),
.modal :where(.bg-warning, .bg-warning-subtle),
.sl-dialog-root :where(.bg-warning, .bg-warning-subtle) {
    background: var(--theme-warning-bg) !important;
    color: var(--theme-warning-text) !important;
}

.main-area :where(.bg-info, .bg-info-subtle),
.modal :where(.bg-info, .bg-info-subtle),
.sl-dialog-root :where(.bg-info, .bg-info-subtle) {
    background: var(--theme-info-bg) !important;
    color: var(--theme-info-text) !important;
}

.main-area :where(.border-light, .border-white, .border-secondary),
.modal :where(.border-light, .border-white, .border-secondary),
.sl-dialog-root :where(.border-light, .border-white, .border-secondary) {
    border-color: var(--theme-border-subtle) !important;
}

.main-area :where(.border-primary, .border-info),
.modal :where(.border-primary, .border-info),
.sl-dialog-root :where(.border-primary, .border-info) {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.48) !important;
}

.main-area :where(.border-success),
.modal :where(.border-success),
.sl-dialog-root :where(.border-success) {
    border-color: var(--theme-success-border) !important;
}

.main-area :where(.border-danger),
.modal :where(.border-danger),
.sl-dialog-root :where(.border-danger) {
    border-color: var(--theme-danger-border) !important;
}

.main-area :where(.border-warning),
.modal :where(.border-warning),
.sl-dialog-root :where(.border-warning) {
    border-color: var(--theme-warning-border) !important;
}

:where(.badge) {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
}

:where(.badge.bg-primary, .badge.bg-info) {
    background: rgba(var(--theme-accent-primary-rgb), 0.14) !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.38);
    color: var(--theme-info-text) !important;
}

:where(.badge.bg-secondary) {
    background: rgba(var(--theme-bg-surface-3-rgb), 0.72) !important;
    border: 1px solid var(--theme-border-subtle);
    color: var(--theme-text-secondary) !important;
}

:where(.badge.bg-success) {
    background: var(--theme-success-bg) !important;
    border: 1px solid var(--theme-success-border);
    color: var(--theme-success-text) !important;
}

:where(.badge.bg-danger) {
    background: var(--theme-danger-bg) !important;
    border: 1px solid var(--theme-danger-border);
    color: var(--theme-danger-text) !important;
}

:where(.badge.bg-warning) {
    background: var(--theme-warning-bg) !important;
    border: 1px solid var(--theme-warning-border);
    color: var(--theme-warning-text) !important;
}

.main-area :where(.form-control, .form-select),
.admin-main :where(.form-control, .form-select),
.modal :where(.form-control, .form-select),
.sl-dialog-root :where(.form-control, .form-select) {
    background-color: var(--theme-bg-surface-2) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
}

.main-area :where(.form-control:focus, .form-select:focus),
.admin-main :where(.form-control:focus, .form-select:focus),
.modal :where(.form-control:focus, .form-select:focus),
.sl-dialog-root :where(.form-control:focus, .form-select:focus) {
    border-color: var(--theme-border-focus) !important;
    box-shadow: var(--theme-focus-ring) !important;
}

.main-area :where(.table),
.admin-main :where(.table),
.modal :where(.table) {
    --bs-table-bg: transparent;
    --bs-table-color: var(--theme-text-primary);
    --bs-table-border-color: var(--theme-table-border);
    --bs-table-striped-bg: rgba(var(--theme-bg-surface-2-rgb), 0.28);
    --bs-table-hover-bg: var(--theme-table-row-hover);
    color: var(--theme-text-primary);
    border-color: var(--theme-table-border);
}

.main-area :where(.table-light),
.admin-main :where(.table-light),
.modal :where(.table-light) {
    --bs-table-bg: var(--theme-table-header-bg);
    --bs-table-color: var(--theme-text-secondary);
    --bs-table-border-color: var(--theme-table-border);
    background: var(--theme-table-header-bg) !important;
    color: var(--theme-text-secondary) !important;
}

:where(.progress-bar, .progress-bar-striped, .progress-bar-animated) {
    background-image: none !important;
}

:where(.alert) {
    border-radius: 8px;
}

:where(.alert-warning) {
    background: var(--theme-warning-bg) !important;
    border-color: var(--theme-warning-border) !important;
    color: var(--theme-warning-text) !important;
}

:where(.alert-danger) {
    background: var(--theme-danger-bg) !important;
    border-color: var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

:where(.alert-success) {
    background: var(--theme-success-bg) !important;
    border-color: var(--theme-success-border) !important;
    color: var(--theme-success-text) !important;
}

:where(.alert-info) {
    background: var(--theme-info-bg) !important;
    border-color: var(--theme-info-border) !important;
    color: var(--theme-info-text) !important;
}

:where(.modal-content) {
    background: var(--theme-bg-surface-1);
    border-color: var(--theme-border-subtle);
    color: var(--theme-text-primary);
    box-shadow: var(--theme-shadow-strong);
}

:where(.modal-header, .modal-footer) {
    border-color: var(--theme-border-subtle);
}

:where(.dropdown-menu) {
    background: var(--theme-bg-surface-1);
    border-color: var(--theme-border-subtle);
    box-shadow: var(--theme-shadow-soft);
}

:where(.dropdown-item) {
    color: var(--theme-text-secondary);
}

:where(.dropdown-item:hover, .dropdown-item:focus) {
    background: rgba(var(--theme-accent-primary-rgb), 0.1);
    color: var(--theme-text-primary);
}

.sl-dialog-root .sl-dialog {
    background: var(--theme-dialog-bg);
    border: 2px solid var(--theme-dialog-border);
    color: var(--theme-text-primary);
    box-shadow: var(--theme-dialog-shadow);
}

.sl-dialog-root .sl-dialog::before {
    display: none;
    background: var(--theme-dialog-topline);
}

.sl-dialog-root :where(.sl-dialog-message, .sl-dialog-question, .sl-dialog-help) {
    color: var(--theme-text-secondary);
}

.sl-dialog-root :where(.sl-dialog-input, .sl-dialog-textarea) {
    background: var(--theme-bg-surface-2);
    border-color: var(--theme-border-subtle);
    color: var(--theme-text-primary);
}

.sl-dialog-root :where(.sl-dialog-input:focus, .sl-dialog-textarea:focus) {
    border-color: var(--theme-accent-primary);
    box-shadow: var(--theme-focus-ring);
}

.sl-dialog-root :where(.sl-dialog-primary, .sl-dialog-btn-primary) {
    background: var(--theme-dialog-action-bg);
    color: var(--theme-bg-contrast);
}

.sl-dialog-root :where(.sl-dialog-primary:hover, .sl-dialog-primary:focus, .sl-dialog-btn-primary:hover, .sl-dialog-btn-primary:focus) {
    background: var(--theme-dialog-action-bg-hover);
}

.sl-dialog-root :where(.sl-dialog-cancel) {
    background: var(--theme-dialog-cancel-bg);
    border-color: var(--theme-border-subtle);
    color: var(--theme-text-primary);
}

.terminal-label {
    color: var(--theme-terminal-label) !important;
}

.report-output-terminal {
    background: var(--theme-terminal-bg) !important;
    color: var(--theme-terminal-text) !important;
}

.report-output-document {
    background: var(--theme-report-document-bg) !important;
    color: var(--theme-report-document-text) !important;
}

.report-output-document :where(.terminal-label) {
    color: var(--theme-report-document-muted) !important;
}

.report-output-document :where(.report-output-terminal) {
    background: var(--theme-report-document-terminal-bg) !important;
    color: var(--theme-report-document-terminal-text) !important;
}

.report-output-empty {
    background: var(--theme-report-shell-bg) !important;
    border-color: rgba(var(--theme-border-subtle-rgb), 0.26) !important;
    color: var(--theme-report-document-text) !important;
}

/* Theme completion layer:
   keep legacy screen CSS from leaking fixed cyan/blue/red tones when a user theme changes.
   The printable report document stays on its own --theme-report-document-* tokens above. */
.top-backend-status,
.backend-status-pill,
.backend-status {
    background: var(--theme-surface-glass) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-secondary) !important;
}

.top-backend-status[data-status="online"],
.backend-status-pill.is-online,
.backend-status.online {
    border-color: var(--theme-success-border) !important;
    color: var(--theme-success-text) !important;
}

.top-backend-status[data-status="offline"],
.backend-status-pill.is-offline,
.backend-status.offline {
    border-color: var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

.top-backend-status[data-status="auth"],
.top-backend-status[data-status="checking"],
.backend-status-pill.is-checking,
.backend-status.checking {
    border-color: var(--theme-warning-border) !important;
    color: var(--theme-warning-text) !important;
}

.top-backend-status i,
.backend-status-pill i,
.backend-status-dot {
    background: var(--theme-accent-primary) !important;
}

.top-backend-status[data-status="online"] i,
.backend-status-pill.is-online i,
.backend-status.online .backend-status-dot {
    background: var(--theme-risk-low) !important;
}

.top-backend-status[data-status="offline"] i,
.backend-status-pill.is-offline i,
.backend-status.offline .backend-status-dot {
    background: var(--theme-risk-critical) !important;
}

.top-backend-status[data-status="auth"] i,
.top-backend-status[data-status="checking"] i,
.backend-status-pill.is-checking i,
.backend-status.checking .backend-status-dot {
    background: var(--theme-risk-warning) !important;
}

.main-area :where(.btn-primary, .btn-success, .btn-info),
.admin-main :where(.btn-primary, .btn-success, .btn-info),
#scanner :where(.btn-primary),
#send-button,
.report-modal-content :where(.btn-success),
body.report-output-page-active .report-output-toolbar-actions .btn-primary,
body.report-output-page-active .report-output-toolbar-actions .btn-success {
    background: var(--theme-accent-primary) !important;
    border-color: var(--theme-accent-primary) !important;
    color: var(--theme-text-inverse) !important;
}

.main-area :where(.btn-primary:hover, .btn-success:hover, .btn-info:hover),
.admin-main :where(.btn-primary:hover, .btn-success:hover, .btn-info:hover),
#scanner :where(.btn-primary:hover),
#send-button:hover,
#send-button:focus,
.report-modal-content :where(.btn-success:hover),
body.report-output-page-active .report-output-toolbar-actions :where(.btn-primary:hover, .btn-success:hover) {
    background: var(--theme-accent-primary-hover) !important;
    border-color: var(--theme-accent-primary-hover) !important;
    color: var(--theme-text-inverse) !important;
}

.main-area :where(.btn-secondary, .btn-light, .btn-outline-secondary, .btn-outline-primary, .btn-outline-info, .btn-outline-warning),
.admin-main :where(.btn-secondary, .btn-warning, .btn-password, .btn-outline-secondary),
.report-modal-content :where(.btn-secondary),
body.report-output-page-active .report-output-toolbar-actions .btn-secondary,
.chat-sidebar-close,
.system-log-control,
.system-log-action,
.threat-modal-close {
    background: var(--theme-surface-glass) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-secondary) !important;
}

.main-area :where(.btn-secondary:hover, .btn-light:hover, .btn-outline-secondary:hover, .btn-outline-primary:hover, .btn-outline-info:hover, .btn-outline-warning:hover),
.admin-main :where(.btn-secondary:hover, .btn-warning:hover, .btn-password:hover, .btn-outline-secondary:hover),
.report-modal-content :where(.btn-secondary:hover),
body.report-output-page-active .report-output-toolbar-actions .btn-secondary:hover,
.chat-sidebar-close:hover,
.chat-sidebar-close:focus,
.system-log-control:hover,
.system-log-action:hover,
.threat-modal-close:hover {
    background: var(--theme-accent-bg-subtle) !important;
    border-color: var(--theme-accent-border-soft) !important;
    color: var(--theme-accent-primary) !important;
}

.main-area :where(.btn-danger, .btn-outline-danger),
.admin-main :where(.btn-danger, .btn-outline-danger),
.btn-img-delete {
    background: var(--theme-surface-glass) !important;
    border-color: var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

.main-area :where(.btn-danger:hover, .btn-outline-danger:hover),
.admin-main :where(.btn-danger:hover, .btn-outline-danger:hover),
.btn-img-delete:hover {
    background: var(--theme-danger-bg) !important;
    border-color: var(--theme-risk-critical) !important;
    color: var(--theme-bg-white) !important;
}

.loading-text-error,
.system-log-row.error .system-log-level {
    color: var(--theme-status-danger-text) !important;
}

.system-log-row.warn .system-log-level {
    color: var(--theme-status-warning-text) !important;
}

.system-log-row.info .system-log-level {
    color: var(--theme-status-info-text) !important;
}

.system-log-body,
.admin-code-input,
body.report-output-page-active .output-detail-box pre,
body.report-output-page-active .output-terminal,
.report-output-terminal {
    background: var(--theme-terminal-bg) !important;
    color: var(--theme-terminal-text) !important;
}

.system-log-row,
.system-runtime-line {
    border-color: var(--theme-table-border) !important;
}

.main-area :where(.modal-content),
.admin-main :where(.modal-content),
.threat-modal-content,
.system-log-window,
.template-save-panel,
.favorite-preview-panel,
.admin-import-dropzone,
.password-requirements,
.filter-area,
.detail-section,
#import-step-1,
.card {
    background: var(--theme-bg-surface-1) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: var(--theme-shadow-soft) !important;
}

.main-area :where(.modal-header, .modal-footer),
.admin-main :where(.modal-header, .modal-footer),
.system-log-header,
.system-log-tabs,
.threat-modal-header {
    background: var(--theme-bg-surface-1) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
}

.main-area .sl-app-modal :where(.modal-body),
.threat-modal-body,
.system-log-body,
.policy-map-results,
.action-result-body {
    background: var(--theme-bg-contrast) !important;
    color: var(--theme-text-secondary) !important;
}

.main-area .sl-app-modal .nav-tabs .nav-link.active {
    background: var(--theme-accent-bg-soft) !important;
    border-color: var(--theme-accent-border-soft) !important;
    color: var(--theme-accent-primary) !important;
}

/* 2026-06-09: Draw modal close icons with theme tokens instead of Bootstrap's fixed image. */
.main-area .sl-app-modal .btn-close {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.72) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.74) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: none !important;
}

.main-area .sl-app-modal .btn-close::before,
.main-area .sl-app-modal .btn-close::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.9;
}

.main-area .sl-app-modal .btn-close::before {
    transform: rotate(45deg);
}

.main-area .sl-app-modal .btn-close::after {
    transform: rotate(-45deg);
}

.main-area .sl-app-modal .btn-close:hover,
.main-area .sl-app-modal .btn-close:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.58) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.12) !important;
    color: var(--theme-accent-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--theme-accent-primary-rgb), 0.16) !important;
}

.main-area .sl-app-modal :where(.table),
.admin-main :where(.table, .user-table),
.report-output-page-active :where(.output-info-table, .output-findings-table, .output-evidence-table) {
    --bs-table-bg: transparent;
    --bs-table-color: var(--theme-text-primary);
    --bs-table-border-color: var(--theme-table-border);
    --bs-table-hover-bg: var(--theme-table-row-hover);
    color: var(--theme-text-primary) !important;
    border-color: var(--theme-table-border) !important;
}

.main-area .sl-app-modal :where(.sl-table-head th, .table-light th),
.admin-main :where(.table-light th, .table thead th, .user-table th),
.report-output-page-active :where(.output-info-table th, .output-findings-table th, .output-evidence-table th) {
    background: var(--theme-table-header-bg) !important;
    color: var(--theme-text-secondary) !important;
    border-color: var(--theme-table-border) !important;
}

.main-area .sl-app-modal :where(.table td),
.admin-main :where(.table td, .user-table td),
.report-output-page-active :where(.output-info-table td, .output-findings-table td, .output-evidence-table td) {
    background: transparent !important;
    border-color: var(--theme-table-border) !important;
}

.admin-main :where(.form-group input:disabled, .form-group input[readonly], .form-group select:disabled, .form-control:disabled, .form-control[readonly]) {
    background: var(--theme-surface-deep-glass) !important;
    color: var(--theme-text-muted) !important;
}

.admin-upload-label,
.admin-policy-code-chip,
.main-area .btn-threat-intel,
.cache-badge,
.cache-badge.fresh {
    background: var(--theme-accent-bg-subtle) !important;
    border-color: var(--theme-accent-border-soft) !important;
    color: var(--theme-accent-primary) !important;
}

.attack-route .threat-section-content,
.breach-check .threat-section-content,
.main-area .ai-help-link {
    background: var(--theme-surface-glass) !important;
    border-color: var(--theme-border-subtle) !important;
    border-left-color: var(--theme-accent-primary) !important;
    color: var(--theme-text-secondary) !important;
}

.main-area :where(.sl-badge, .badge, .severity, .status-badge, .crawl-count-badge, .cache-badge),
.admin-main :where(.badge, .badge-admin, .badge-user, .badge-viewer, .badge-active, .badge-inactive, .badge-critical, .badge-high, .badge-medium, .badge-low, .badge-y, .badge-n, .badge-os, .badge-dbms, .badge-web),
body.report-output-page-active :where(.output-status, .output-risk) {
    box-shadow: none !important;
}

html,
body {
    font-family: var(--seculine-font-family, var(--theme-font-family, "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif)) !important;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

.main-area :where(.sl-badge, .badge, .severity, .status-badge, .crawl-count-badge, .cache-badge),
body.report-output-page-active :where(.output-status, .output-risk) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

#scanner .scan-policy-panel table td:nth-child(4) .sl-badge,
#multi-scanner #multi-policy-panel .multi-policy-risk-cell .sl-badge--risk {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

.main-area :where(.sl-badge--count, .sl-badge--info, .badge.bg-primary, .badge.bg-secondary, .crawl-count-badge),
.admin-main :where(.badge-admin, .badge-os, .badge-dbms),
.cache-badge {
    background: var(--theme-info-bg) !important;
    border-color: var(--theme-info-border) !important;
    color: var(--theme-info-text) !important;
}

.main-area :where(.sl-badge--success, .badge.bg-success, .status-badge.pass),
.admin-main :where(.badge-user, .badge-active, .badge-y, .badge-low) {
    background: var(--theme-success-bg) !important;
    border-color: var(--theme-success-border) !important;
    color: var(--theme-success-text) !important;
}

.main-area :where(.sl-badge--critical, .sl-badge--danger, .badge.bg-danger, .severity.critical, .badge-risk.critical, .status-badge.fail),
.admin-main :where(.badge-critical, .badge-inactive, .badge-n) {
    background: var(--theme-danger-bg) !important;
    border-color: var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

.main-area :where(.sl-badge--high, .sl-badge--warning, .badge.bg-warning, .severity.high, .badge-risk.high),
.admin-main :where(.badge-high, .badge-web) {
    background: var(--theme-warning-bg) !important;
    border-color: var(--theme-warning-border) !important;
    color: var(--theme-warning-text) !important;
}

.main-area :where(.sl-badge--medium, .badge.bg-info, .severity.medium, .badge-risk.medium, .status-badge.error),
.admin-main :where(.badge-medium) {
    background: var(--theme-info-bg) !important;
    border-color: var(--theme-info-border) !important;
    color: var(--theme-info-text) !important;
}

.main-area :where(.sl-badge--low, .sl-badge--muted, .severity.low, .badge-risk.low, .status-badge.skip),
.admin-main :where(.badge-viewer) {
    background: rgba(var(--theme-text-muted-rgb), 0.14) !important;
    border-color: rgba(var(--theme-text-muted-rgb), 0.34) !important;
    color: var(--theme-status-muted-text) !important;
}

body.report-output-page-active .report-output-screen {
    background: var(--theme-bg-base) !important;
    color: var(--theme-text-primary) !important;
}

body.report-output-page-active #report-container:has(.report-output-screen) {
    background-color: var(--theme-bg-base) !important;
    background-image: none !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

body.report-output-page-active #report-container:has(.report-output-screen) .report-output-screen {
    box-sizing: border-box !important;
    min-height: 100% !important;
    width: 100% !important;
}

body.report-output-page-active .report-output-page-preview,
body.report-output-page-active .output-document-section h3,
body.report-output-page-active .output-summary-grid div,
body.report-output-page-active .output-opinion,
body.report-output-page-active .output-detail-box,
body.report-output-page-active .output-empty,
body.report-output-page-active .output-evidence-card,
body.report-output-page-active .output-evidence-body {
    background: var(--theme-bg-surface-1) !important;
    border-color: var(--theme-border-subtle) !important;
    color: var(--theme-text-primary) !important;
}

body.report-output-page-active .output-findings-table tbody tr.finding-row:hover td {
    background: var(--theme-accent-bg-subtle) !important;
}

body.report-output-page-active .output-status.pass {
    background: var(--theme-success-bg) !important;
    border: 1px solid var(--theme-success-border) !important;
    color: var(--theme-success-text) !important;
}

body.report-output-page-active .output-status.fail {
    background: var(--theme-danger-bg) !important;
    border: 1px solid var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

body.report-output-page-active .output-status.error {
    background: var(--theme-warning-bg) !important;
    border: 1px solid var(--theme-warning-border) !important;
    color: var(--theme-warning-text) !important;
}

body.report-output-page-active .output-status.skip {
    background: rgba(var(--theme-text-muted-rgb), 0.2) !important;
    border: 1px solid rgba(var(--theme-text-muted-rgb), 0.34) !important;
    color: var(--theme-status-muted-text) !important;
}

body.report-output-page-active .output-status,
body.report-output-page-active .output-risk {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
}

body.report-output-page-active .output-risk--critical {
    background: var(--theme-danger-bg) !important;
    border: 1px solid var(--theme-danger-border) !important;
    color: var(--theme-danger-text) !important;
}

body.report-output-page-active .output-risk--high {
    background: var(--theme-warning-bg) !important;
    border: 1px solid var(--theme-warning-border) !important;
    color: var(--theme-warning-text) !important;
}

body.report-output-page-active .output-risk--medium {
    background: var(--theme-info-bg) !important;
    border: 1px solid var(--theme-info-border) !important;
    color: var(--theme-info-text) !important;
}

body.report-output-page-active .output-risk--low {
    background: rgba(var(--theme-text-muted-rgb), 0.14) !important;
    border: 1px solid rgba(var(--theme-text-muted-rgb), 0.34) !important;
    color: var(--theme-status-muted-text) !important;
}

.report-output-document :where(.report-output-doc-header) {
    border-bottom-color: var(--theme-report-document-heading) !important;
}

.report-output-document :where(.report-output-doc-header h1, .evidence-body h4) {
    color: var(--theme-report-document-heading) !important;
}

.report-output-document :where(.report-output-doc-header span, .empty, .report-output-empty) {
    color: var(--theme-report-document-muted) !important;
}

.report-output-document :where(.report-output-section-title, .terminal-label) {
    color: var(--theme-report-document-section-heading) !important;
}

.report-output-document :where(.report-output-section-title) {
    border-left-color: var(--theme-report-document-section-accent) !important;
}

.report-output-document :where(.report-output-opinion, .report-output-evidence, .evidence-body, .report-output-empty) {
    background: var(--theme-report-document-panel-bg) !important;
    border-color: var(--theme-report-document-table-border) !important;
}

.report-output-document :where(.report-output-table th) {
    background: var(--theme-report-document-table-header-bg) !important;
    color: var(--theme-report-document-section-heading) !important;
}

.report-output-document :where(.report-output-table th, .report-output-table td) {
    border-color: var(--theme-report-document-table-border) !important;
}

/* 2026-06-04: Unify app scrollbar geometry and color across scan, policy, admin, and modal surfaces. */
html,
body,
body * {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(var(--theme-bg-surface-3-rgb), 0.78) rgba(var(--theme-bg-deep-rgb), 0.92) !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
body *::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
body *::-webkit-scrollbar-track {
    background: rgba(var(--theme-bg-deep-rgb), 0.92) !important;
    border-radius: 999px !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
body *::-webkit-scrollbar-thumb {
    min-height: 42px !important;
    min-width: 42px !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    background: rgba(var(--theme-bg-surface-3-rgb), 0.78) !important;
    background-clip: content-box !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
body *::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--theme-accent-primary-rgb), 0.46) !important;
    background-clip: content-box !important;
}

html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner,
body *::-webkit-scrollbar-corner {
    background: rgba(var(--theme-bg-deep-rgb), 0.92) !important;
}

/* 2026-06-04: Distinguish scan type fields from local workspace tabs in single and multi diagnosis. */
#scanner .scanner-command-field label,
#multi-scanner .multi-command-field label {
    color: var(--theme-text-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#scanner #scan-type-select,
#multi-scanner #multi-scan-type {
    min-height: 38px !important;
    border: 1px solid var(--theme-border-subtle) !important;
    border-radius: 6px !important;
    background-color: var(--theme-bg-surface-2) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--theme-bg-surface-3-rgb), 0.18) !important;
}

#multi-scanner .multi-command-field,
#multi-scanner .multi-scan-type-select-wrap {
    position: relative !important;
}

#multi-scanner .multi-scan-type-select-wrap {
    display: inline-block !important;
    width: max-content !important;
    min-width: 0 !important;
}

#scanner .scanner-work-tabs,
#multi-scanner .scanner-work-tabs.multi-local-tabs {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    margin: 10px 16px 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.82) !important;
    background: transparent !important;
}

#scanner .scanner-work-tab,
#multi-scanner .scanner-work-tabs.multi-local-tabs .scanner-work-tab {
    position: relative !important;
    min-height: 36px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.82) !important;
    border-bottom-color: transparent !important;
    border-radius: 7px 7px 0 0 !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-text-primary-rgb), 0.035), transparent 44%),
        rgba(var(--theme-bg-surface-2-rgb), 0.46) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.04) !important;
    transform: translateY(1px);
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

#scanner .scanner-work-tab:hover,
#multi-scanner .scanner-work-tabs.multi-local-tabs .scanner-work-tab:hover {
    color: var(--theme-text-primary) !important;
    border-color: rgba(var(--theme-accent-primary-rgb), 0.52) !important;
    border-bottom-color: transparent !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-accent-primary-rgb), 0.1), transparent 52%),
        rgba(var(--theme-bg-surface-3-rgb), 0.54) !important;
    box-shadow:
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.07),
        0 0 14px rgba(var(--theme-accent-primary-rgb), 0.08) !important;
}

#scanner .scanner-work-tab.active,
#multi-scanner .scanner-work-tabs.multi-local-tabs .scanner-work-tab.active {
    z-index: 1 !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-accent-primary-rgb), 0.16), rgba(var(--theme-bg-base-rgb), 0.96) 48%),
        var(--theme-bg-base) !important;
    color: var(--theme-accent-primary) !important;
    border-color: var(--theme-border-strong) !important;
    border-top-color: var(--theme-accent-primary) !important;
    border-bottom-color: var(--theme-bg-base) !important;
    box-shadow:
        inset 0 2px 0 var(--theme-accent-primary),
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.08),
        0 0 18px rgba(var(--theme-accent-primary-rgb), 0.14) !important;
    text-shadow: 0 0 12px rgba(var(--theme-accent-primary-rgb), 0.28) !important;
}

#scanner .scanner-tab-panels,
#multi-scanner .multi-local-tab-panels {
    margin: 0 8px 0 !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-top: 0 !important;
    border-radius: 0 7px 7px 7px !important;
    background: var(--theme-bg-base) !important;
    overflow: hidden !important;
}

#scanner .scanner-tab-panel,
#multi-scanner .multi-local-tab-panel {
    background: var(--theme-bg-base) !important;
}

/* 2026-06-04: Keep diagnosis workspaces aligned without changing scan behavior. */
#scanner .form-panel,
#multi-scanner .main-content {
    box-sizing: border-box !important;
    height: calc(100vh - var(--sl-header-height) - 8px) !important;
    min-height: 0 !important;
}

#scanner .form-panel {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

#scanner .form-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#multi-scanner .main-content {
    padding: 19px 6px !important;
}

#scanner .scan-center-grid,
#multi-scanner .main-content {
    gap: 6px !important;
}

#scanner .form-container,
#scanner .scan-center-grid,
#multi-scanner .multi-left-workspace,
#multi-scanner #multi-policy-panel,
#multi-scanner #multi-policy-panel > .card {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
}

#multi-scanner .multi-left-workspace {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    align-content: stretch !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: var(--theme-bg-base) !important;
}

#multi-scanner .multi-command-bar {
    min-height: 67px !important;
    background: var(--theme-bg-surface-1) !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#multi-scanner .multi-local-tab-panels {
    height: auto !important;
    min-height: 0 !important;
}

#multi-scanner .multi-local-tab-panel {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
}

#multi-scanner #multi-tab-list {
    padding-bottom: 0 !important;
}

#multi-scanner .multi-target-list-card {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
}

#multi-scanner #multi-policy-panel {
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: var(--theme-bg-surface-1) !important;
    overflow: hidden !important;
}

#multi-scanner #multi-policy-panel > .card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

#scanner .scan-control-panel,
#scanner .scan-policy-panel {
    border-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#scanner .scanner-command-bar {
    border-bottom-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#scanner .scan-control-scroll,
#multi-scanner .multi-local-tab-panel {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

#scanner .scanner-resizer::before,
#multi-scanner .multi-scan-resizer::before,
#multi-scanner .multi-scan-resizer-line {
    background: rgba(var(--theme-border-subtle-rgb), 0.28) !important;
}

/* 2026-06-04: Match report output section tabs to the diagnosis workspace tab language. */
body.report-output-page-active .report-output-tab-menu {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.82) !important;
    background: transparent !important;
}

body.report-output-page-active .report-output-tab-link {
    position: relative !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 180px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.82) !important;
    border-bottom-color: transparent !important;
    border-radius: 7px 7px 0 0 !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-text-primary-rgb), 0.035), transparent 44%),
        rgba(var(--theme-bg-surface-2-rgb), 0.46) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    box-shadow: inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.04) !important;
    transform: none !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

body.report-output-page-active .report-output-tab-link:hover {
    color: var(--theme-text-primary) !important;
    border-color: rgba(var(--theme-accent-primary-rgb), 0.52) !important;
    border-bottom-color: transparent !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-accent-primary-rgb), 0.1), transparent 52%),
        rgba(var(--theme-bg-surface-3-rgb), 0.54) !important;
    box-shadow:
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.07),
        0 0 14px rgba(var(--theme-accent-primary-rgb), 0.08) !important;
}

body.report-output-page-active .report-output-tab-link.active {
    z-index: 1 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    background:
        linear-gradient(180deg, rgba(var(--theme-accent-primary-rgb), 0.16), rgba(var(--theme-bg-surface-1-rgb), 0.96) 48%),
        var(--theme-bg-surface-1) !important;
    color: var(--theme-accent-primary) !important;
    border-color: var(--theme-border-strong) !important;
    border-top-width: 1px !important;
    border-top-color: var(--theme-accent-primary) !important;
    border-bottom-color: var(--theme-bg-surface-1) !important;
    transform: none !important;
    box-shadow:
        inset 0 2px 0 var(--theme-accent-primary),
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.08),
        0 0 18px rgba(var(--theme-accent-primary-rgb), 0.14) !important;
    text-shadow: 0 0 12px rgba(var(--theme-accent-primary-rgb), 0.28) !important;
}

body.report-output-page-active .report-output-tab-menu + .report-output-page-preview {
    border-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-top: 1px solid rgba(var(--theme-border-subtle-rgb), 0.82) !important;
    border-radius: 0 7px 7px 7px !important;
    box-shadow: none !important;
}

/* 2026-06-04: Remove heavy fluorescent accents from the chat guide cards. */
#chat-container .chat-guide {
    border-left: 0 !important;
}

#chat-container .guide-mode:hover {
    border-color: rgba(var(--theme-border-subtle-rgb), 0.72) !important;
    box-shadow: none !important;
}

#chat-container .example-item {
    padding-left: 0 !important;
}

#chat-container .example-item::before {
    content: none !important;
}

#chat-container .guide-tip {
    background: var(--theme-bg-deep) !important;
    border-left: 0 !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.5) !important;
    color: var(--theme-text-secondary) !important;
}

#chat-container .guide-tip p,
#chat-container .guide-tip ul {
    color: var(--theme-text-secondary) !important;
}

#chat-container .guide-tip strong {
    color: var(--theme-text-primary) !important;
}

/* 2026-06-04: Match the left navigation collapse control inset to policy panel toggles. */
.left-nav .nav-toggle {
    top: 10px !important;
}

/* 2026-06-04: Add a restrained developer credit panel below logout. */
.left-nav .softline-credit {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    margin: 10px 12px 0 !important;
    padding: 9px 10px !important;
    border: 1px solid rgba(45, 212, 191, 0.28) !important;
    border-radius: 7px !important;
    background:
        linear-gradient(180deg, rgba(45, 212, 191, 0.09), rgba(14, 165, 233, 0.035) 58%),
        rgba(5, 18, 32, 0.72) !important;
    color: rgba(196, 213, 225, 0.88) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    user-select: none !important;
}

.left-nav .softline-credit span {
    color: #38bdf8 !important;
    font-weight: 900 !important;
}

.left-nav.collapsed .softline-credit {
    display: none !important;
}

/* 2026-06-10: Add a tab baseline so scan work tabs sit on the content area instead of floating. */
#scanner .scanner-work-tabs,
#multi-scanner .scanner-work-tabs.multi-local-tabs {
    position: relative !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.48) !important;
}

#scanner .scanner-work-tab,
#multi-scanner .scanner-work-tabs.multi-local-tabs .scanner-work-tab {
    margin-bottom: -1px !important;
}

#scanner .scanner-work-tab.active,
#multi-scanner .scanner-work-tabs.multi-local-tabs .scanner-work-tab.active {
    border-bottom-color: var(--theme-bg-base) !important;
}

#scanner .scanner-tab-panels,
#multi-scanner .multi-local-tab-panels {
    border: 0 !important;
}

#multi-scanner .multi-local-tab-panel > .card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#scanner #scanner-settings-panel .scan-field-card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#scanner #scanner-settings-panel .scan-field-card:hover,
#scanner #scanner-settings-panel .scan-field-card:focus-within {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#scanner #scanner-settings-panel .scan-field-card :where(.form-control, .form-select, select, textarea) {
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.86) !important;
}

/* 2026-06-04: Use one restrained theme-aware hover treatment for policy rows. */
#scanner .scan-policy-panel .scanner-policy-table tbody tr,
#multi-scanner #multi-policy-panel .multi-policy-row {
    transition: background-color 140ms ease, box-shadow 140ms ease, color 140ms ease !important;
}

#scanner .scan-policy-panel .scanner-policy-table tbody tr.policy-row-clickable,
#multi-scanner #multi-policy-panel .multi-policy-row.policy-row-clickable {
    cursor: pointer !important;
    user-select: none !important;
}

#scanner .scan-policy-panel .scanner-policy-table.table-hover > tbody > tr:hover > *,
#scanner .scan-policy-panel .scanner-policy-table tbody tr:hover > * {
    --seculine-policy-row-hover-bg: rgba(var(--theme-accent-primary-rgb), 0.065);
    --bs-table-bg-state: transparent !important;
    background-color: transparent !important;
    color: var(--theme-text-primary) !important;
    box-shadow:
        inset 0 0 0 9999px var(--seculine-policy-row-hover-bg),
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.025),
        inset 0 -1px 0 rgba(var(--theme-text-primary-rgb), 0.018) !important;
}

#scanner .scan-policy-panel .scanner-policy-table.table-hover > tbody > tr:hover > :first-child,
#scanner .scan-policy-panel .scanner-policy-table tbody tr:hover > :first-child {
    box-shadow:
        inset 2px 0 0 rgba(var(--theme-accent-primary-rgb), 0.22),
        inset 0 0 0 9999px var(--seculine-policy-row-hover-bg),
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.025),
        inset 0 -1px 0 rgba(var(--theme-text-primary-rgb), 0.018) !important;
}

#multi-scanner #multi-policy-panel .multi-policy-row:hover {
    --seculine-policy-row-hover-bg: rgba(var(--theme-accent-primary-rgb), 0.065);
    background-color: transparent !important;
    color: var(--theme-text-primary) !important;
    box-shadow:
        inset 2px 0 0 rgba(var(--theme-accent-primary-rgb), 0.22),
        inset 0 0 0 9999px var(--seculine-policy-row-hover-bg),
        inset 0 1px 0 rgba(var(--theme-text-primary-rgb), 0.025),
        inset 0 -1px 0 rgba(var(--theme-text-primary-rgb), 0.018) !important;
}

/* 2026-06-04: Match multi-scan start action button typography and size to single-scan. */
#scanner #scanButton,
#multi-scanner .multi-start-scan-btn {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 112px !important;
    min-height: 34px !important;
    padding: 7px 16px !important;
    border-radius: var(--sl-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
}

/* 2026-06-04: Match multi-scan setting and policy typography to single-scan. */
#multi-scanner #multi-scan-type {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

#multi-scanner .multi-target-list-card .card-header h6 {
    color: var(--theme-text-primary) !important;
    font-size: 17.6px !important;
    font-weight: 600 !important;
    line-height: 26.4px !important;
}

#multi-scanner .multi-target-list-card > .d-flex.text-secondary.small.fw-bold {
    color: var(--theme-text-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 13.2px !important;
}

#multi-scanner .multi-target-list-card > .d-flex.text-secondary.small.fw-bold :where(.col-name, .col-ip, .col-user, .col-progress, .col-status) {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

#multi-scanner .multi-server-row :where(.col-name, .col-ip, .col-user) {
    color: var(--theme-text-primary) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

#multi-scanner #multi-policy-title {
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 13px !important;
}

#multi-scanner #multi-policy-panel .multi-policy-table-head :where(.multi-policy-id-cell, .multi-policy-risk-cell) {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
}

#multi-scanner #multi-policy-panel .multi-policy-row .multi-policy-id-cell {
    font-size: 10.5px !important;
    font-weight: 400 !important;
    line-height: 15.75px !important;
}

/* 2026-06-05: Keep single and multi OS policy panels on the same vertical rhythm. */
#scanner .scan-policy-panel .card-header,
#multi-scanner #multi-policy-panel .card-header {
    box-sizing: border-box !important;
    height: 82px !important;
    min-height: 82px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

#scanner .scan-policy-panel .card-header > div:first-child,
#multi-scanner #multi-policy-panel .multi-policy-title-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#scanner .scan-policy-panel .card-header > .d-flex,
#multi-scanner #multi-policy-panel .card-header > .d-flex {
    flex: 0 0 auto !important;
}

#scanner .scan-policy-panel .scanner-policy-table-head tr,
#multi-scanner #multi-policy-panel .multi-policy-table-head,
#scanner .scan-policy-panel .scanner-policy-table tbody tr,
#multi-scanner #multi-policy-panel .multi-policy-row {
    box-sizing: border-box !important;
    height: 42px !important;
    min-height: 42px !important;
}

#scanner .scan-policy-panel .scanner-policy-table th,
#scanner .scan-policy-panel .scanner-policy-table td {
    min-height: 42px !important;
}

/* 2026-06-09: Keep policy titles truncated before the risk badge column. */
#scanner .scan-policy-panel .scanner-policy-table tr,
#multi-scanner #multi-policy-panel .multi-policy-table-head,
#multi-scanner #multi-policy-panel .multi-policy-row {
    grid-template-columns: 40px minmax(82px, 100px) minmax(0, 1fr) 78px !important;
}

#scanner .scan-policy-panel .scanner-policy-table th:nth-child(3),
#scanner .scan-policy-panel .scanner-policy-table td:nth-child(3),
#multi-scanner #multi-policy-panel .multi-policy-title-cell {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding-right: 12px !important;
}

/* 2026-06-09: Match multi-scan policy title clipping to the single-scan table. */
#multi-scanner #multi-policy-panel .multi-policy-title-cell {
    text-overflow: clip !important;
}

#scanner .scan-policy-panel .scanner-policy-table th:nth-child(4),
#scanner .scan-policy-panel .scanner-policy-table td:nth-child(4),
#multi-scanner #multi-policy-panel .multi-policy-risk-cell {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    justify-content: flex-end !important;
    text-align: right !important;
    transform: none !important;
}

#scanner .scan-policy-panel .scanner-policy-table td:nth-child(4) .badge,
#scanner .scan-policy-panel .scanner-policy-table td:nth-child(4) .sl-badge,
#multi-scanner #multi-policy-panel .multi-policy-risk-cell .sl-badge--risk {
    transform: none !important;
}

/* 2026-06-04: Align the multi-scan target server tab with the single-scan settings panel. */
#multi-scanner #multi-tab-list.multi-local-tab-panel {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 18px !important;
}

#multi-scanner #multi-tab-list .multi-target-list-toolbar {
    display: flex !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 34px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    overflow: visible !important;
}

#multi-scanner #multi-tab-list .multi-target-list-card {
    flex: 1 1 auto !important;
    padding: 0 !important;
    justify-content: flex-start !important;
}

#multi-scanner #multi-tab-list .multi-target-list-card > .card-header {
    min-height: auto !important;
    padding: 0 0 8px !important;
    align-items: flex-start !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

#multi-scanner #multi-tab-list .multi-target-list-card .card-header h6 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 17.6px !important;
    font-weight: 600 !important;
    line-height: 26.4px !important;
}

#multi-scanner #multi-tab-list .multi-delete-selected-btn {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border: 1px solid rgba(var(--theme-risk-critical-rgb), 0.72) !important;
    border-radius: 4px !important;
    background: rgba(var(--theme-risk-critical-rgb), 0.055) !important;
    background-clip: padding-box !important;
    box-shadow: inset 0 0 0 1px rgba(var(--theme-risk-critical-rgb), 0.16) !important;
    color: var(--theme-danger-text) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    overflow: visible !important;
}

#multi-scanner #multi-tab-list .multi-delete-selected-btn:hover,
#multi-scanner #multi-tab-list .multi-delete-selected-btn:focus {
    background: var(--theme-danger-bg) !important;
    border-color: var(--theme-risk-critical) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--theme-risk-critical-rgb), 0.24) !important;
    color: var(--theme-bg-white) !important;
}

#multi-scanner #multi-tab-list .multi-target-list-card > .d-flex.text-secondary.small.fw-bold {
    margin-top: 12px !important;
    padding: 0 8px !important;
    min-height: 38px !important;
    align-items: center !important;
    display: grid !important;
    grid-template-columns: 30px minmax(82px, 0.75fr) minmax(110px, 1.35fr) minmax(118px, 1fr) minmax(88px, 0.75fr) 58px !important;
    column-gap: 6px !important;
}

#multi-scanner #multi-tab-list .multi-server-row {
    min-height: 52px !important;
    padding: 7px 8px !important;
    display: grid !important;
    grid-template-columns: 30px minmax(82px, 0.75fr) minmax(110px, 1.35fr) minmax(118px, 1fr) minmax(88px, 0.75fr) 58px !important;
    column-gap: 6px !important;
    align-items: center !important;
}

#multi-scanner #multi-tab-list .multi-server-row.multi-target-row-selectable {
    cursor: pointer !important;
    user-select: none !important;
}

#multi-scanner #multi-tab-list .multi-server-row :where(.col-progress, .col-status, .status-badge-click, input, button, select, textarea, a, label) {
    cursor: default !important;
}

#multi-scanner #multi-tab-list :where(.col-check, .multi-server-row > div:first-child) {
    width: 30px !important;
    min-width: 0 !important;
}

#multi-scanner #multi-tab-list :where(.col-name) {
    min-width: 0 !important;
}

#multi-scanner #multi-tab-list :where(.col-ip) {
    min-width: 0 !important;
}

#multi-scanner #multi-tab-list :where(.col-user) {
    min-width: 0 !important;
}

#multi-scanner #multi-tab-list :where(.col-progress) {
    min-width: 0 !important;
    padding: 0 !important;
}

#multi-scanner #multi-tab-list :where(.col-status) {
    width: 58px !important;
    min-width: 0 !important;
}

#multi-scanner #multi-tab-list .multi-server-row :where(.col-name, .col-ip, .col-user, .col-progress, .col-status),
#multi-scanner #multi-tab-list .multi-target-list-card > .d-flex.text-secondary.small.fw-bold :where(.col-name, .col-ip, .col-user, .col-progress, .col-status) {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#multi-scanner #multi-tab-list .multi-server-row .multi-progress-track {
    width: 100% !important;
    max-width: 88px !important;
}

#multi-scanner #multi-tab-list .multi-server-row .multi-progress-text {
    font-size: 10px !important;
    line-height: 12px !important;
}

#multi-scanner #multi-tab-list .multi-server-row :where(.col-name, .col-ip, .col-user) {
    font-size: 14px !important;
    line-height: 21px !important;
}

#multi-scanner #multi-tab-list .multi-server-row .sl-badge--status {
    min-width: 48px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
}

#multi-scanner #multi-tab-list .multi-target-list-card > .d-flex.text-secondary.small.fw-bold:has(.col-dbname:not(.d-none)),
#multi-scanner #multi-tab-list .multi-server-row:has(.col-dbname) {
    grid-template-columns: 30px minmax(72px, 0.65fr) minmax(112px, 1.25fr) minmax(76px, 0.7fr) minmax(72px, 0.6fr) minmax(82px, 0.7fr) 58px !important;
}

/* 2026-06-04: Keep backend health on the header line, aligned above diagnosis type controls. */
.top-nav {
    position: relative !important;
}

.top-nav .top-backend-status-slot {
    position: absolute !important;
    left: calc(var(--sl-sidebar-width) + 28px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
}

/* 2026-06-05: Keep diagnosis select controls visibly recognizable as dropdown menus. */
#scanner select.form-select,
#multi-scanner select.form-select,
#reporting select.form-select,
#policy select.form-select,
#adminTabContent select,
#dashboard-admin-console select {
    --sl-select-arrow-color: rgba(var(--theme-text-primary-rgb), 0.88);
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 34px !important;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--sl-select-arrow-color) 50%),
        linear-gradient(135deg, var(--sl-select-arrow-color) 50%, transparent 50%) !important;
    background-position:
        calc(100% - 17px) 50%,
        calc(100% - 11px) 50% !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
}

#scanner .scan-policy-panel .card-header .risk-select,
#multi-scanner #multi-policy-filter {
    padding-right: 32px !important;
    text-align-last: center !important;
}

/* 2026-06-08: Align result analysis with the diagnosis workbench frame language. */
#reporting.tab-pane.active {
    display: grid !important;
    grid-template-rows: 67px minmax(0, 1fr) !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    padding: 19px 6px 0 !important;
    background: var(--theme-bg-base) !important;
}

#reporting #reporting-filters {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 67px !important;
    min-height: 67px !important;
    padding: 0 16px !important;
    gap: 22px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: var(--theme-bg-surface-1) !important;
    box-shadow: none !important;
}

#reporting .main-content {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(400px, calc(70% - 12px)) 6px minmax(400px, 1fr) !important;
    gap: 6px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--theme-bg-base) !important;
}

#reporting #report-container {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    box-sizing: border-box !important;
    padding: 0 2rem 40px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background-color: var(--theme-bg-surface-1) !important;
    overflow-y: auto !important;
}

#reporting #report-container:has(.report-header),
body.report-output-page-active #reporting #report-container:has(.report-output-screen) {
    background-image: none !important;
}

#reporting #report-container .report-header {
    display: block !important;
    margin-bottom: 18px !important;
    padding: 18px 18px 16px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.5) !important;
    color: var(--theme-text-primary) !important;
}

#reporting #report-container .report-header-main {
    display: grid !important;
    gap: 14px !important;
}

#reporting #report-container .report-header h2 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: clamp(20px, 1.4vw, 26px) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#reporting #report-container .report-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

#reporting #report-container .report-meta-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 18px 18px 16px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.5) !important;
    border-radius: 8px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    box-shadow: 0 10px 26px rgba(var(--theme-bg-black-rgb), 0.06) !important;
}

#reporting #report-container .report-meta-label {
    width: 100% !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

#reporting #report-container .report-meta-value {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: var(--theme-text-primary) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (max-width: 1100px) {
    #reporting #report-container .report-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    #reporting #report-container .report-meta-grid {
        grid-template-columns: 1fr !important;
    }
}

#reporting #report-container.full-width {
    width: auto !important;
    border-right-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#reporting #drag-handle {
    position: relative !important;
    inset: auto !important;
    grid-column: 2 !important;
    width: 6px !important;
    min-width: 6px !important;
    height: 100% !important;
}

#reporting #drag-handle::before {
    background: rgba(var(--theme-border-subtle-rgb), 0.28) !important;
}

#reporting #drag-handle:hover::before {
    background: var(--theme-accent-primary) !important;
}

#reporting #chat-toggle-btn {
    left: calc(100% + 16px) !important;
}

#reporting #chat-container {
    position: relative !important;
    inset: auto !important;
    grid-column: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: var(--theme-bg-surface-1) !important;
}

#reporting #chat-container .chat-header-bar {
    border-bottom-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    background: var(--theme-bg-surface-1) !important;
}

#reporting #chat-messages {
    background: var(--theme-bg-surface-1) !important;
}

#reporting #chat-form,
#reporting .chat-input-toolbar {
    background: var(--theme-bg-surface-1) !important;
    border-top-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#reporting .filter-group label {
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

#reporting .filter-group select {
    height: 42px !important;
    min-height: 42px !important;
    border-color: rgba(var(--theme-border-subtle-rgb), 0.78) !important;
    background-color: var(--theme-bg-surface-2) !important;
    color: var(--theme-text-primary) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

#reporting .filter-group #type-select {
    min-width: 160px !important;
}

#reporting .filter-group #host-select {
    min-width: 430px !important;
}

#reporting .filter-group #scan-select {
    min-width: 210px !important;
}

#ai-analysis.tab-pane.active {
    display: block !important;
    box-sizing: border-box !important;
    padding: 19px 6px 0 !important;
    background: var(--theme-bg-base) !important;
}

#ai-analysis #ai-analysis-content {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 8px !important;
    background: var(--theme-bg-surface-1) !important;
    overflow: hidden !important;
}

#ai-analysis #chat-container.ai-mode {
    box-sizing: border-box !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--theme-bg-surface-1) !important;
}

#ai-analysis #chat-container.ai-mode .chat-header-bar,
#ai-analysis #chat-container.ai-mode #chat-messages,
#ai-analysis #chat-container.ai-mode #chat-form,
#ai-analysis #chat-container.ai-mode .chat-input-toolbar {
    background: var(--theme-bg-surface-1) !important;
}

#ai-analysis #chat-container.ai-mode .chat-header-bar,
#ai-analysis #chat-container.ai-mode #chat-form,
#ai-analysis #chat-container.ai-mode .chat-input-toolbar {
    border-color: rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

/* 2026-06-09: Keep user chat bubbles readable across light and dark themes. */
#chat-container #chat-messages .message.user {
    background:
        linear-gradient(135deg,
            rgba(var(--theme-accent-primary-rgb), 0.16),
            rgba(var(--theme-bg-surface-2-rgb), 0.92)) !important;
    color: var(--theme-text-primary) !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.28) !important;
    box-shadow: 0 8px 20px rgba(var(--theme-bg-black-rgb), 0.08) !important;
    text-shadow: none !important;
}

#chat-container #chat-messages .message.user :where(p, span, div, strong, em, code, pre, ul, ol, li, table, th, td) {
    color: inherit !important;
}

#chat-container #chat-messages .message.user a {
    color: var(--theme-accent-primary) !important;
    text-decoration-color: rgba(var(--theme-accent-primary-rgb), 0.58) !important;
}

/* 2026-06-05: 관리자콘솔 select는 기능용으로 유지하고, 화면에는 커스텀 드롭다운을 표시한다. */
#adminTabContent select.sl-native-select-hidden,
#dashboard-admin-console select.sl-native-select-hidden {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#adminTabContent .sl-custom-select,
#dashboard-admin-console .sl-custom-select {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
}

#adminTabContent .sl-custom-select-button,
#dashboard-admin-console .sl-custom-select-button {
    display: flex !important;
    width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.56) !important;
    border-radius: 5px !important;
    background: var(--theme-bg-surface-2) !important;
    color: var(--theme-text-primary) !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

#adminTabContent .sl-custom-select-button:hover,
#adminTabContent .sl-custom-select-button:focus-visible,
#adminTabContent .sl-custom-select.is-open .sl-custom-select-button,
#dashboard-admin-console .sl-custom-select-button:hover,
#dashboard-admin-console .sl-custom-select-button:focus-visible,
#dashboard-admin-console .sl-custom-select.is-open .sl-custom-select-button {
    border-color: rgba(var(--theme-accent-secondary-rgb), 0.68) !important;
    background: var(--theme-bg-surface-2) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(var(--theme-accent-secondary-rgb), 0.15) !important;
}

#adminTabContent .sl-custom-select-text,
#dashboard-admin-console .sl-custom-select-text {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#adminTabContent .sl-custom-select-arrow,
#dashboard-admin-console .sl-custom-select-arrow {
    flex: 0 0 auto !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid rgba(var(--theme-text-primary-rgb), 0.86) !important;
    transition: transform 0.16s ease !important;
}

#adminTabContent .sl-custom-select.is-open .sl-custom-select-arrow,
#dashboard-admin-console .sl-custom-select.is-open .sl-custom-select-arrow {
    transform: none !important;
}

#adminTabContent .sl-custom-select-menu,
#dashboard-admin-console .sl-custom-select-menu {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    z-index: 6000 !important;
    display: none !important;
    max-height: 260px !important;
    overflow-y: auto !important;
    padding: 0 !important;
    border: 1px solid rgba(var(--theme-border-strong-rgb, var(--theme-border-subtle-rgb)), 0.82) !important;
    border-radius: 0 0 5px 5px !important;
    background: var(--theme-bg-surface-2) !important;
    box-shadow: none !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(var(--theme-text-muted-rgb), 0.72) rgba(var(--theme-bg-deep-rgb), 0.92) !important;
}

#adminTabContent .sl-custom-select.is-open .sl-custom-select-menu,
#dashboard-admin-console .sl-custom-select.is-open .sl-custom-select-menu {
    display: block !important;
}

#adminTabContent .sl-custom-select-option,
#dashboard-admin-console .sl-custom-select-option {
    display: flex !important;
    width: 100% !important;
    min-height: 28px !important;
    align-items: center !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--theme-text-primary) !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    cursor: pointer !important;
}

#adminTabContent .sl-custom-select-option:hover,
#adminTabContent .sl-custom-select-option:focus-visible,
#dashboard-admin-console .sl-custom-select-option:hover,
#dashboard-admin-console .sl-custom-select-option:focus-visible {
    background: rgba(var(--theme-accent-secondary-rgb), 0.34) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#adminTabContent .sl-custom-select-option.is-selected,
#dashboard-admin-console .sl-custom-select-option.is-selected {
    background: var(--theme-accent-secondary) !important;
    color: var(--theme-bg-white) !important;
    font-weight: 600 !important;
}

#adminTabContent .sl-custom-select-option:disabled,
#dashboard-admin-console .sl-custom-select-option:disabled {
    cursor: not-allowed !important;
    opacity: 0.46 !important;
}

#adminTabContent .sl-custom-select-group,
#dashboard-admin-console .sl-custom-select-group {
    padding: 7px 10px 5px !important;
    color: var(--theme-text-muted) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

#adminTabContent .sl-custom-select.is-disabled .sl-custom-select-button,
#dashboard-admin-console .sl-custom-select.is-disabled .sl-custom-select-button {
    cursor: not-allowed !important;
    opacity: 0.62 !important;
}

/* 2026-06-05: Draw the multi-scan type arrow as a separate layer to avoid the gradient seam. */
#multi-scanner #multi-scan-type {
    background-image: none !important;
}

#multi-scanner .multi-scan-type-select-wrap::after {
    content: "" !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid rgba(var(--theme-text-primary-rgb), 0.86) !important;
    transform: translateY(-34%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* 2026-06-05: Prepare an internal dashboard admin console tab without loading admin.html shell styles. */
.left-nav .nav-system .admin-console-nav-item.active {
    background: var(--theme-bg-surface-3) !important;
    color: var(--theme-text-primary) !important;
    font-weight: 700 !important;
}

.left-nav .nav-system .admin-console-nav-item.active::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 9px !important;
    bottom: 9px !important;
    width: 3px !important;
    border-radius: 0 4px 4px 0 !important;
    background: var(--theme-accent-primary) !important;
}

#admin-console .admin-console-stage {
    height: calc(100vh - var(--sl-top-nav-height, 52px)) !important;
    min-height: 0 !important;
    padding: 20px !important;
    background: var(--theme-bg-base) !important;
    overflow: hidden !important;
}

#dashboard-admin-console {
    box-sizing: border-box !important;
    width: 100% !important;
    font-family: inherit !important;
}

#dashboard-admin-console .admin-console-empty-shell {
    min-height: calc(100vh - var(--sl-top-nav-height, 52px) - 40px) !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.46) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.78) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .admin-console-empty-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 22px 26px !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
}

#dashboard-admin-console .admin-console-empty-header h2 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

/* 2026-06-05: Internal dashboard admin shell for staged panel integration. */
#dashboard-admin-console .dashboard-admin-shell {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
    overflow: hidden !important;
}

#dashboard-admin-console .dashboard-admin-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 66px !important;
    padding: 0 22px !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.32) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.32) !important;
}

#dashboard-admin-console .dashboard-admin-title {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .dashboard-admin-body {
    display: grid !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#dashboard-admin-console .dashboard-admin-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 16px 12px !important;
    border-right: 1px solid rgba(var(--theme-border-subtle-rgb), 0.28) !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.2) !important;
    overflow-y: auto !important;
}

#dashboard-admin-console .dashboard-admin-menu-item {
    display: flex !important;
    align-items: center !important;
    min-height: 38px !important;
    width: 100% !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .dashboard-admin-menu-item:not(:disabled) {
    cursor: pointer !important;
}

#dashboard-admin-console .dashboard-admin-menu-item:not(:disabled):hover,
#dashboard-admin-console .dashboard-admin-menu-item:not(:disabled):focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.34) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.08) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#dashboard-admin-console .dashboard-admin-menu-item.is-active {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.48) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.12) !important;
    color: var(--theme-accent-primary) !important;
    font-weight: 600 !important;
}

#dashboard-admin-console .dashboard-admin-menu-item:disabled {
    cursor: not-allowed !important;
    opacity: 0.54 !important;
}

#dashboard-admin-console .dashboard-admin-content {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

#dashboard-admin-console .dashboard-admin-panel {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-panel.is-active {
    display: block !important;
    min-height: 0 !important;
}

#dashboard-admin-console .dashboard-admin-form-panel {
    padding: 24px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.78) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .dashboard-admin-panel-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

#dashboard-admin-console .dashboard-admin-panel-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

#dashboard-admin-console .dashboard-admin-panel-title {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .dashboard-admin-panel-subtitle {
    margin: 6px 0 0 !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
}

#dashboard-admin-console .dashboard-admin-warning-note {
    max-width: 420px !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(var(--theme-risk-warning-rgb), 0.34) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-risk-warning-rgb), 0.09) !important;
    color: var(--theme-warning-text) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

#dashboard-admin-console .dashboard-admin-alert {
    margin-bottom: 16px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(var(--theme-status-danger-rgb), 0.34) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-status-danger-rgb), 0.1) !important;
    color: var(--theme-status-danger-text) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

#dashboard-admin-console .dashboard-admin-alert[data-state="success"] {
    border-color: rgba(var(--theme-status-success-rgb), 0.34) !important;
    background: rgba(var(--theme-status-success-rgb), 0.1) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .dashboard-admin-alert[data-state="info"] {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.3) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.09) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-alert[hidden] {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

#dashboard-admin-console .dashboard-admin-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
}

#dashboard-admin-console .dashboard-admin-field {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 7px !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-field input,
#dashboard-admin-console .dashboard-admin-field select,
#dashboard-admin-console .dashboard-admin-field textarea {
    width: 100% !important;
    min-height: 46px !important;
    padding-left: 13px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.52) !important;
    border-radius: 6px !important;
    background-color: rgba(var(--theme-bg-deep-rgb), 0.68) !important;
    color: var(--theme-text-primary) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    outline: none !important;
}

#dashboard-admin-console .dashboard-admin-field input,
#dashboard-admin-console .dashboard-admin-field textarea {
    padding-right: 13px !important;
}

#dashboard-admin-console .dashboard-admin-field textarea {
    min-height: 84px !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
    line-height: 1.5 !important;
    resize: vertical !important;
}

#dashboard-admin-console .dashboard-admin-field input:focus,
#dashboard-admin-console .dashboard-admin-field select:focus,
#dashboard-admin-console .dashboard-admin-field textarea:focus {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.72) !important;
    box-shadow: var(--theme-focus-ring) !important;
}

#dashboard-admin-console .dashboard-admin-field input::placeholder,
#dashboard-admin-console .dashboard-admin-field textarea::placeholder {
    color: var(--theme-text-muted) !important;
}

#dashboard-admin-console .dashboard-admin-field input:disabled,
#dashboard-admin-console .dashboard-admin-field select:disabled,
#dashboard-admin-console .dashboard-admin-field textarea:disabled {
    cursor: not-allowed !important;
    opacity: 0.72 !important;
}

#dashboard-admin-console .dashboard-admin-field input[readonly] {
    cursor: default !important;
    border-color: rgba(var(--theme-border-subtle-rgb), 0.34) !important;
    background-color: rgba(var(--theme-bg-deep-rgb), 0.42) !important;
    color: var(--theme-text-secondary) !important;
}

#dashboard-admin-console .dashboard-admin-form-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.34) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.32) !important;
}

#dashboard-admin-console .dashboard-admin-form-section h4 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .dashboard-admin-policy-form {
    gap: 14px !important;
}

#dashboard-admin-console .dashboard-admin-note {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.2) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.36) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

#dashboard-admin-console .dashboard-admin-note strong {
    color: var(--theme-text-primary) !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-note ul {
    margin: 0 !important;
    padding-left: 18px !important;
}

#dashboard-admin-console .dashboard-admin-note li {
    margin: 0 !important;
}

#dashboard-admin-console .dashboard-admin-form-actions {
    display: flex !important;
    justify-content: flex-start !important;
}

#dashboard-admin-console .dashboard-admin-form-actions button {
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-form-actions button:disabled {
    cursor: wait !important;
    opacity: 0.64 !important;
}

#dashboard-admin-console .dashboard-admin-table-panel {
    padding: 24px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.78) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .dashboard-admin-table-panel .btn-secondary {
    min-height: 36px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-table-panel .btn-secondary:disabled {
    cursor: wait !important;
    opacity: 0.64 !important;
}

#dashboard-admin-console .dashboard-admin-table-scroll {
    max-height: calc(100vh - var(--sl-top-nav-height, 52px) - 222px) !important;
    overflow: auto !important;
    scrollbar-gutter: stable both-edges !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.34) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.22) !important;
}

#dashboard-admin-console .dashboard-admin-table {
    width: 100% !important;
    min-width: 860px !important;
    border-collapse: collapse !important;
    color: var(--theme-text-primary) !important;
    font-size: 13px !important;
}

#dashboard-admin-console .dashboard-admin-table th,
#dashboard-admin-console .dashboard-admin-table td {
    padding: 13px 14px !important;
    border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.28) !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-table th {
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.92) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-table tbody tr {
    background: rgba(var(--theme-bg-surface-1-rgb), 0.18) !important;
}

#dashboard-admin-console .dashboard-admin-table tbody tr:hover {
    background: rgba(var(--theme-accent-primary-rgb), 0.06) !important;
}

#dashboard-admin-console .dashboard-admin-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

#dashboard-admin-console .dashboard-admin-empty-cell {
    height: 80px !important;
    color: var(--theme-text-secondary) !important;
    font-weight: 750 !important;
    text-align: center !important;
}

/* 2026-06-10: 계정 목록 새로고침 시 컬럼 폭 재계산으로 흔들리지 않도록 고정 */
#dashboard-admin-console #adminUserListRefreshButton {
    width: 88px !important;
    min-width: 88px !important;
    border-color: rgba(var(--theme-accent-primary-rgb), 0.42) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminUserListRefreshButton:hover,
#dashboard-admin-console #adminUserListRefreshButton:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.68) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.16) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminUserListRefreshButton:disabled,
#dashboard-admin-console #adminUserListRefreshButton[aria-busy="true"] {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.3) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.08) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-user-table {
    min-width: 1180px !important;
    table-layout: fixed !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(1),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(1) {
    width: 230px !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(2),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(2) {
    width: 150px !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(3),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(3) {
    width: 150px !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(4),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(4) {
    width: 120px !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(5),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(5) {
    width: 100px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(6),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(6) {
    width: 110px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(7),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(7) {
    width: 130px !important;
}

#dashboard-admin-console .dashboard-admin-user-table th:nth-child(8),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(8) {
    width: 290px !important;
}

#dashboard-admin-console .dashboard-admin-user-table td:nth-child(1),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(2),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(3),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(4),
#dashboard-admin-console .dashboard-admin-user-table td:nth-child(7) {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#dashboard-admin-console .dashboard-admin-user-table td:nth-child(8) {
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-filter-bar {
    display: grid !important;
    grid-template-columns: minmax(150px, 0.8fr) minmax(180px, 1fr) minmax(150px, 0.8fr) minmax(220px, 1.2fr) auto !important;
    gap: 12px !important;
    align-items: end !important;
    margin: 0 0 16px !important;
}

#dashboard-admin-console .dashboard-admin-policy-filter-bar {
    grid-template-columns: auto 124px minmax(200px, 0.95fr) 124px minmax(260px, 1.25fr) auto !important;
}

#dashboard-admin-console .dashboard-admin-filter-field {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 7px !important;
    margin: 0 !important;
}

#dashboard-admin-console .dashboard-admin-filter-field span {
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#dashboard-admin-console .dashboard-admin-filter-field select,
#dashboard-admin-console .dashboard-admin-filter-field input {
    width: 100% !important;
    min-height: 42px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.5) !important;
    border-radius: 6px !important;
    background-color: rgba(var(--theme-bg-surface-2-rgb), 0.74) !important;
    color: var(--theme-text-primary) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}

#dashboard-admin-console .dashboard-admin-filter-field input {
    padding: 0 13px !important;
}

#dashboard-admin-console .dashboard-admin-filter-field input::placeholder {
    color: var(--theme-text-muted) !important;
}

#dashboard-admin-console .dashboard-admin-filter-actions {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

#dashboard-admin-console .dashboard-admin-filter-actions--leading {
    justify-content: flex-start !important;
}

#dashboard-admin-console .dashboard-admin-filter-actions button {
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-total-count {
    margin: 0 0 12px !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-import-step[hidden] {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-import-dropzone {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 280px !important;
    padding: 42px 28px !important;
    border: 1px dashed rgba(var(--theme-border-strong-rgb), 0.52) !important;
    border-radius: 8px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.34) !important;
    color: var(--theme-text-secondary) !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-import-kicker {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 10px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.38) !important;
    border-radius: 999px !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-import-dropzone h4 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 18px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-import-dropzone p {
    max-width: 520px !important;
    margin: 0 !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

#dashboard-admin-console .dashboard-admin-import-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#dashboard-admin-console .dashboard-admin-import-controls input[type="file"] {
    width: min(420px, 100%) !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.52) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.55) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* 2026-06-10: 정책 업데이트 파일/이전 결과 버튼도 테마 포인트 톤으로 보정 */
#dashboard-admin-console #adminPolicyPdfInput::file-selector-button {
    min-height: 28px !important;
    margin-right: 10px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.42) !important;
    border-radius: 5px !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

#dashboard-admin-console #adminPolicyPdfInput::file-selector-button:hover {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.68) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.16) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminPolicyLoadLastButton {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.42) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminPolicyLoadLastButton:hover,
#dashboard-admin-console #adminPolicyLoadLastButton:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.68) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.16) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminPolicyLoadLastButton:disabled,
#dashboard-admin-console #adminPolicyLoadLastButton[aria-busy="true"] {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.3) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.08) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-loading {
    color: var(--theme-accent-primary) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-loading[hidden] {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-review-toolbar {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
}

#dashboard-admin-console .dashboard-admin-count-badge {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.34) !important;
    border-radius: 999px !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-review-filter {
    width: 180px !important;
}

#dashboard-admin-console .dashboard-admin-review-side-actions {
    display: flex !important;
    align-items: end !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

#dashboard-admin-console .dashboard-admin-review-side-actions > .btn-primary {
    min-height: 46px !important;
    padding: 0 18px !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-review-scroll {
    max-height: calc(100vh - var(--sl-top-nav-height, 52px) - 286px) !important;
}

#dashboard-admin-console .dashboard-admin-review-table {
    min-width: 980px !important;
}

#dashboard-admin-console .dashboard-admin-review-table th:first-child,
#dashboard-admin-console .dashboard-admin-review-table td:first-child {
    width: 52px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-review-table th:nth-child(2),
#dashboard-admin-console .dashboard-admin-review-table td:nth-child(2) {
    width: 118px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-review-table th:nth-child(3),
#dashboard-admin-console .dashboard-admin-review-table td:nth-child(3) {
    width: 44% !important;
    white-space: normal !important;
}

#dashboard-admin-console .dashboard-admin-review-table th:nth-child(4),
#dashboard-admin-console .dashboard-admin-review-table td:nth-child(4) {
    width: 76px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-review-table th:nth-child(5),
#dashboard-admin-console .dashboard-admin-review-table td:nth-child(5) {
    white-space: normal !important;
}

#dashboard-admin-console .dashboard-admin-review-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-review-status--match {
    border: 1px solid rgba(var(--theme-status-success-rgb), 0.38) !important;
    background: rgba(var(--theme-status-success-rgb), 0.12) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .dashboard-admin-review-status--candidate {
    border: 1px solid rgba(var(--theme-risk-warning-rgb), 0.38) !important;
    background: rgba(var(--theme-risk-warning-rgb), 0.12) !important;
    color: var(--theme-warning-text) !important;
}

#dashboard-admin-console .dashboard-admin-review-status--new {
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.38) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-review-guide {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

#dashboard-admin-console .dashboard-admin-review-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#dashboard-admin-console .dashboard-admin-review-code,
#dashboard-admin-console .dashboard-admin-review-db-id {
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-review-guide input,
#dashboard-admin-console .dashboard-admin-review-guide textarea,
#dashboard-admin-console .dashboard-admin-command-field textarea {
    width: 100% !important;
    min-height: 36px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.44) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.58) !important;
    color: var(--theme-text-primary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    resize: vertical !important;
}

#dashboard-admin-console .dashboard-admin-command-field {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
}

#dashboard-admin-console .dashboard-admin-command-field span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.44) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.54) !important;
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-review-db-title {
    color: var(--theme-text-primary) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-review-db-desc {
    display: -webkit-box !important;
    overflow: hidden !important;
    margin: 4px 0 8px !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

#dashboard-admin-console .dashboard-admin-command-chip {
    padding: 7px 8px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.34) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.52) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-area {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 32px !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-button[aria-busy="true"] {
    cursor: wait !important;
    opacity: 0.72 !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-note {
    padding: 7px 8px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.28) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.42) !important;
    color: var(--theme-text-muted) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result {
    padding: 9px 10px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.5) !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result[hidden] {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result--success {
    border-color: rgba(var(--theme-status-success-rgb), 0.36) !important;
    background: rgba(var(--theme-status-success-rgb), 0.1) !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result--fail {
    border-color: rgba(var(--theme-risk-critical-rgb), 0.36) !important;
    background: rgba(var(--theme-risk-critical-rgb), 0.1) !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-title {
    margin-bottom: 6px !important;
    color: var(--theme-text-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result--success .dashboard-admin-sandbox-title {
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-result--fail .dashboard-admin-sandbox-title {
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console .dashboard-admin-sandbox-output {
    max-height: 150px !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: auto !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.24) !important;
    border-radius: 5px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.48) !important;
    color: var(--theme-text-secondary) !important;
    font-family: var(--theme-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
}

#dashboard-admin-console .dashboard-admin-muted-text {
    color: var(--theme-text-muted) !important;
    font-size: 12px !important;
    font-style: italic !important;
}

#dashboard-admin-console .dashboard-admin-mapping-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: end !important;
    margin-bottom: 14px !important;
}

#dashboard-admin-console .dashboard-admin-mapping-search button {
    min-height: 46px !important;
    padding: 0 16px !important;
}

#dashboard-admin-console .dashboard-admin-mapping-scroll {
    max-height: 360px !important;
    margin-bottom: 14px !important;
}

#dashboard-admin-console .dashboard-admin-mapping-table {
    min-width: 720px !important;
}

#dashboard-admin-console .dashboard-admin-mapping-table th:first-child,
#dashboard-admin-console .dashboard-admin-mapping-table td:first-child {
    width: 132px !important;
}

#dashboard-admin-console .dashboard-admin-mapping-table th:last-child,
#dashboard-admin-console .dashboard-admin-mapping-table td:last-child {
    width: 92px !important;
    text-align: center !important;
}

#dashboard-admin-console .dashboard-admin-modal-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
}

#dashboard-admin-console .dashboard-admin-modal-actions #adminPolicyMappingDisconnectButton {
    margin-right: auto !important;
    border-color: var(--theme-danger-border) !important;
    background: var(--theme-danger-bg) !important;
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console .dashboard-admin-policy-table {
    min-width: 1280px !important;
    table-layout: fixed !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(1),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(1) {
    width: 132px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(2),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(2) {
    width: 160px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(3),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(3) {
    width: 400px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(4),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(4) {
    width: 120px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(5),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(5) {
    width: 86px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(6),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(6) {
    width: 74px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(7),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(7) {
    width: 62px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table th:nth-child(8),
#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(8) {
    width: 245px !important;
}

#dashboard-admin-console .dashboard-admin-policy-table td:nth-child(8) {
    white-space: nowrap !important;
}

/* 2026-06-08: 정책 항목 상세 펼침 영역 가독성 보정 */
#policy .finding-details-content .details-table th {
    background: rgba(var(--theme-bg-surface-1-rgb), 0.82) !important;
    color: var(--theme-text-primary) !important;
    border-right: 1px solid rgba(var(--theme-border-subtle-rgb), 0.54) !important;
    font-weight: 700 !important;
}

#policy .finding-details-content .details-table td {
    background: rgba(var(--theme-bg-surface-2-rgb), 0.42) !important;
    color: var(--theme-text-secondary) !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
}

#policy .finding-details-content .details-table tr:nth-child(even) td {
    background: rgba(var(--theme-bg-surface-2-rgb), 0.34) !important;
}

#policy .finding-details-content .details-table td code,
#policy .finding-details-content code.code-like {
    background: rgba(var(--theme-bg-deep-rgb), 0.9) !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.24) !important;
    color: rgba(var(--theme-accent-primary-rgb), 0.98) !important;
}

#dashboard-admin-console .dashboard-admin-policy-title {
    color: var(--theme-text-primary) !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-code-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.42) !important;
    border-radius: 999px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.26) !important;
    color: var(--theme-text-secondary) !important;
    font-family: var(--theme-font-family) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .dashboard-admin-code-chip--accent {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.34) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-use-badge {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 6px !important;
    font-size: 11px !important;
}

#dashboard-admin-console .dashboard-admin-row-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.42) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.08) !important;
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

#dashboard-admin-console .dashboard-admin-row-action + .dashboard-admin-row-action {
    margin-left: 6px !important;
}

#dashboard-admin-console .dashboard-admin-row-action--secondary {
    border-color: rgba(var(--theme-border-subtle-rgb), 0.52) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.44) !important;
    color: var(--theme-text-secondary) !important;
}

#dashboard-admin-console .dashboard-admin-row-action--success {
    border-color: var(--theme-success-border) !important;
    background: var(--theme-success-bg) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .dashboard-admin-row-action--danger {
    border-color: var(--theme-danger-border) !important;
    background: var(--theme-danger-bg) !important;
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console .dashboard-admin-row-action:hover,
#dashboard-admin-console .dashboard-admin-row-action:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.64) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.14) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#dashboard-admin-console .dashboard-admin-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1200 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.66) !important;
}

#dashboard-admin-console .dashboard-admin-modal[hidden] {
    display: none !important;
}

#dashboard-admin-console .dashboard-admin-modal-dialog {
    width: min(720px, 100%) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    padding: 22px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.48) !important;
    border-radius: 8px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.98) !important;
    box-shadow: 0 22px 60px rgba(var(--theme-bg-deep-rgb), 0.48) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .dashboard-admin-modal-dialog--wide {
    width: min(980px, 100%) !important;
}

#dashboard-admin-console .dashboard-admin-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
}

#dashboard-admin-console .dashboard-admin-modal-title {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .dashboard-admin-modal-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.46) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.62) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

#dashboard-admin-console .dashboard-admin-modal-close:hover,
#dashboard-admin-console .dashboard-admin-modal-close:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.54) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#dashboard-admin-console .dashboard-admin-detail {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#dashboard-admin-console .dashboard-admin-detail-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.38) !important;
}

#dashboard-admin-console .dashboard-admin-detail-section h4 {
    margin: 0 0 4px !important;
    color: var(--theme-text-primary) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
}

#dashboard-admin-console .dashboard-admin-detail-row {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    padding-top: 8px !important;
    border-top: 1px solid rgba(var(--theme-border-subtle-rgb), 0.22) !important;
}

#dashboard-admin-console .dashboard-admin-detail-row--stacked {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
}

#dashboard-admin-console .dashboard-admin-detail-label {
    color: var(--theme-text-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#dashboard-admin-console .dashboard-admin-detail-value {
    min-width: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
}

#dashboard-admin-console .dashboard-admin-detail-actions {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding-top: 2px !important;
}

#dashboard-admin-console .dashboard-admin-detail-actions button {
    min-height: 38px !important;
    padding: 0 15px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

@media (max-width: 1180px) {
    #dashboard-admin-console .dashboard-admin-filter-bar,
    #dashboard-admin-console .dashboard-admin-detail {
        grid-template-columns: 1fr !important;
    }

    #dashboard-admin-console .dashboard-admin-filter-actions {
        justify-content: flex-start !important;
    }
}

/* 2026-06-05: Dashboard-integrated admin theme settings use only dashboard theme tokens. */
#dashboard-admin-console .admin-theme-panel {
    min-height: 0 !important;
    padding: 24px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.36) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.78) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .admin-theme-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 22px !important;
}

#dashboard-admin-console .admin-theme-title {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .admin-theme-subtitle {
    margin: 9px 0 0 !important;
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

#dashboard-admin-console .admin-theme-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 8px !important;
    min-width: 260px !important;
}

#dashboard-admin-console .admin-theme-action-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    width: 100% !important;
}

#dashboard-admin-console .admin-theme-current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.46) !important;
    border-radius: 999px !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.11) !important;
    color: var(--theme-accent-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .admin-theme-refresh-button {
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .admin-theme-refresh-button:disabled,
#dashboard-admin-console .admin-font-system-button:disabled {
    cursor: wait !important;
    opacity: 0.62 !important;
}

#dashboard-admin-console .admin-theme-refresh-status {
    min-height: 20px !important;
    margin: 0 !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: right !important;
}

#dashboard-admin-console .admin-theme-refresh-status[data-state="success"] {
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .admin-theme-refresh-status[data-state="warning"] {
    color: var(--theme-status-warning-text) !important;
}

#dashboard-admin-console .admin-theme-refresh-status[data-state="error"] {
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console .admin-theme-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
    gap: 18px !important;
    align-items: start !important;
}

#dashboard-admin-console .admin-theme-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#dashboard-admin-console .admin-theme-card {
    display: grid !important;
    grid-template-columns: 96px 1fr !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 106px !important;
    padding: 16px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.48) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.7) !important;
    color: var(--theme-text-primary) !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease !important;
}

#dashboard-admin-console .admin-theme-card:hover,
#dashboard-admin-console .admin-theme-card:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.48) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.72) !important;
    box-shadow: var(--theme-focus-ring) !important;
    outline: none !important;
}

#dashboard-admin-console .admin-theme-card.is-active {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.74) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
}

#dashboard-admin-console .admin-theme-swatch {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 24px 1fr 12px !important;
    gap: 7px !important;
    height: 74px !important;
    padding: 8px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.48) !important;
    border-radius: 6px !important;
    background: var(--theme-preview-default-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch span {
    display: block !important;
    border-radius: 4px !important;
    background: var(--theme-preview-default-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch span:first-child,
#dashboard-admin-console .admin-theme-swatch span:last-child {
    background: var(--theme-preview-default-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-default {
    background: var(--theme-preview-default-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-default span {
    background: var(--theme-preview-default-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-default span:first-child,
#dashboard-admin-console .admin-theme-swatch-default span:last-child {
    background: var(--theme-preview-default-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-dark-green {
    background: var(--theme-preview-dark-green-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-dark-green span {
    background: var(--theme-preview-dark-green-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-dark-green span:first-child,
#dashboard-admin-console .admin-theme-swatch-dark-green span:last-child {
    background: var(--theme-preview-dark-green-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-audit-light {
    background: var(--theme-preview-audit-light-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-audit-light span {
    background: var(--theme-preview-audit-light-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-audit-light span:first-child,
#dashboard-admin-console .admin-theme-swatch-audit-light span:last-child {
    background: var(--theme-preview-audit-light-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-sentinel-blue {
    background: var(--theme-preview-sentinel-blue-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-sentinel-blue span {
    background: var(--theme-preview-sentinel-blue-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-sentinel-blue span:first-child,
#dashboard-admin-console .admin-theme-swatch-sentinel-blue span:last-child {
    background: var(--theme-preview-sentinel-blue-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-graphite-cyan {
    background: var(--theme-preview-graphite-cyan-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-graphite-cyan span {
    background: var(--theme-preview-graphite-cyan-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-graphite-cyan span:first-child,
#dashboard-admin-console .admin-theme-swatch-graphite-cyan span:last-child {
    background: var(--theme-preview-graphite-cyan-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-iron-amber {
    background: var(--theme-preview-iron-amber-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-iron-amber span {
    background: var(--theme-preview-iron-amber-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-iron-amber span:first-child,
#dashboard-admin-console .admin-theme-swatch-iron-amber span:last-child {
    background: var(--theme-preview-iron-amber-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-burgundy-guard {
    background: var(--theme-preview-burgundy-guard-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-burgundy-guard span {
    background: var(--theme-preview-burgundy-guard-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-burgundy-guard span:first-child,
#dashboard-admin-console .admin-theme-swatch-burgundy-guard span:last-child {
    background: var(--theme-preview-burgundy-guard-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-cloud-steel {
    background: var(--theme-preview-cloud-steel-bg) !important;
}

#dashboard-admin-console .admin-theme-swatch-cloud-steel span {
    background: var(--theme-preview-cloud-steel-surface) !important;
}

#dashboard-admin-console .admin-theme-swatch-cloud-steel span:first-child,
#dashboard-admin-console .admin-theme-swatch-cloud-steel span:last-child {
    background: var(--theme-preview-cloud-steel-accent) !important;
}

#dashboard-admin-console .admin-theme-swatch-imported {
    background: var(--theme-import-preview-bg, var(--theme-bg-surface-1)) !important;
}

#dashboard-admin-console .admin-theme-swatch-imported span {
    background: var(--theme-import-preview-surface, var(--theme-bg-surface-3)) !important;
}

#dashboard-admin-console .admin-theme-swatch-imported span:first-child,
#dashboard-admin-console .admin-theme-swatch-imported span:last-child {
    background: var(--theme-import-preview-accent, var(--theme-accent-primary)) !important;
}

#dashboard-admin-console .admin-theme-swatch-dynamic {
    background: var(--theme-dynamic-preview-bg, var(--theme-bg-surface-1)) !important;
}

#dashboard-admin-console .admin-theme-swatch-dynamic span {
    background: var(--theme-dynamic-preview-surface, var(--theme-bg-surface-3)) !important;
}

#dashboard-admin-console .admin-theme-swatch-dynamic span:first-child,
#dashboard-admin-console .admin-theme-swatch-dynamic span:last-child {
    background: var(--theme-dynamic-preview-accent, var(--theme-accent-primary)) !important;
}

#dashboard-admin-console .admin-theme-meta {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 8px !important;
}

#dashboard-admin-console .admin-theme-name {
    color: var(--theme-text-primary) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

#dashboard-admin-console .admin-theme-description {
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

#dashboard-admin-console .admin-font-panel {
    padding: 20px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.48) !important;
    border-radius: 7px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.62) !important;
}

#dashboard-admin-console .admin-font-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
}

#dashboard-admin-console .admin-font-title {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

#dashboard-admin-console .admin-font-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
}

#dashboard-admin-console .admin-font-system-button {
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .admin-font-field {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 7px !important;
    color: var(--theme-text-secondary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#dashboard-admin-console .admin-font-field select,
#dashboard-admin-console .admin-font-field input {
    width: 100% !important;
    min-height: 42px !important;
    padding-left: 12px !important;
    border: 1px solid rgba(var(--theme-border-subtle-rgb), 0.52) !important;
    border-radius: 6px !important;
    background-color: rgba(var(--theme-bg-deep-rgb), 0.7) !important;
    color: var(--theme-text-primary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    outline: none !important;
}

#dashboard-admin-console .admin-font-field input {
    padding-right: 12px !important;
}

#dashboard-admin-console .admin-font-field select:focus,
#dashboard-admin-console .admin-font-field input:focus {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.72) !important;
    box-shadow: var(--theme-focus-ring) !important;
}

#dashboard-admin-console .admin-font-system-select-wrap[hidden] {
    display: none !important;
}

#dashboard-admin-console .admin-font-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

#dashboard-admin-console .admin-font-buttons button {
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

#dashboard-admin-console .admin-font-preview {
    display: flex !important;
    min-height: 66px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 16px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(var(--theme-accent-primary-rgb), 0.24) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-deep-rgb), 0.52) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .admin-font-preview strong {
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

#dashboard-admin-console .admin-font-preview span {
    color: var(--theme-text-secondary) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

#dashboard-admin-console .admin-font-status {
    margin-top: 10px !important;
    text-align: left !important;
}

/* 2026-06-09: 관리자콘솔 액션 버튼을 대시보드 버튼 규격으로 통일 */
#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close)) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border: 1px solid var(--theme-border-subtle) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease !important;
}

#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close):hover),
#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close):focus-visible) {
    border-color: var(--theme-border-strong) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.86) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close):focus-visible) {
    box-shadow: var(--theme-focus-ring) !important;
}

#dashboard-admin-console :where(.btn-primary, .admin-theme-refresh-button, .admin-font-system-button) {
    border-color: var(--theme-accent-primary) !important;
    background: var(--theme-accent-primary) !important;
    color: var(--theme-text-inverse) !important;
}

#dashboard-admin-console :where(.btn-primary, .admin-theme-refresh-button, .admin-font-system-button):hover,
#dashboard-admin-console :where(.btn-primary, .admin-theme-refresh-button, .admin-font-system-button):focus-visible {
    border-color: var(--theme-accent-primary-hover) !important;
    background: var(--theme-accent-primary-hover) !important;
    color: var(--theme-text-inverse) !important;
}

#dashboard-admin-console :where(.btn-secondary, .dashboard-admin-row-action, .dashboard-admin-row-action--secondary, .admin-font-buttons button) {
    border-color: var(--theme-border-subtle) !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console :where(.btn-secondary, .dashboard-admin-row-action, .dashboard-admin-row-action--secondary, .admin-font-buttons button):hover,
#dashboard-admin-console :where(.btn-secondary, .dashboard-admin-row-action, .dashboard-admin-row-action--secondary, .admin-font-buttons button):focus-visible {
    border-color: var(--theme-border-strong) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.86) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console .dashboard-admin-row-action {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    font-size: 12px !important;
}

#dashboard-admin-console .dashboard-admin-row-action--success {
    border-color: var(--theme-success-border) !important;
    background: var(--theme-success-bg) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console .dashboard-admin-row-action--success:hover,
#dashboard-admin-console .dashboard-admin-row-action--success:focus-visible {
    border-color: var(--theme-success-border) !important;
    background: rgba(var(--theme-status-success-rgb), 0.16) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console :where(.dashboard-admin-row-action--danger, #adminPolicyMappingDisconnectButton) {
    border-color: var(--theme-danger-border) !important;
    background: var(--theme-danger-bg) !important;
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console :where(.dashboard-admin-row-action--danger, #adminPolicyMappingDisconnectButton):hover,
#dashboard-admin-console :where(.dashboard-admin-row-action--danger, #adminPolicyMappingDisconnectButton):focus-visible {
    border-color: var(--theme-danger-border) !important;
    background: rgba(var(--theme-risk-critical-rgb), 0.16) !important;
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close):disabled),
#dashboard-admin-console :where(button:not(.dashboard-admin-menu-item):not(.admin-theme-card):not(.dashboard-admin-modal-close)[aria-busy="true"]) {
    cursor: wait !important;
    opacity: 0.62 !important;
}

#dashboard-admin-console .dashboard-admin-modal-close {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 1px solid var(--theme-border-subtle) !important;
    border-radius: 6px !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

#dashboard-admin-console .dashboard-admin-modal-close:hover,
#dashboard-admin-console .dashboard-admin-modal-close:focus-visible {
    border-color: var(--theme-border-strong) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.86) !important;
    color: var(--theme-text-primary) !important;
    outline: none !important;
}

#dashboard-admin-console .dashboard-admin-modal-close:focus-visible {
    box-shadow: var(--theme-focus-ring) !important;
}

#dashboard-admin-console .dashboard-admin-form-actions button,
#dashboard-admin-console .dashboard-admin-filter-actions button,
#dashboard-admin-console .dashboard-admin-table-panel .btn-secondary,
#dashboard-admin-console .dashboard-admin-review-side-actions > .btn-primary,
#dashboard-admin-console .dashboard-admin-mapping-search button,
#dashboard-admin-console .dashboard-admin-modal-actions button,
#dashboard-admin-console .dashboard-admin-sandbox-button,
#dashboard-admin-console .admin-theme-refresh-button,
#dashboard-admin-console .admin-font-system-button,
#dashboard-admin-console .admin-font-buttons button {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#dashboard-admin-console button.btn-primary,
#dashboard-admin-console button.admin-theme-refresh-button,
#dashboard-admin-console button.admin-font-system-button {
    border-color: var(--theme-accent-primary) !important;
    background: var(--theme-accent-primary) !important;
    color: var(--theme-text-inverse) !important;
}

#dashboard-admin-console button.btn-primary:hover,
#dashboard-admin-console button.btn-primary:focus-visible,
#dashboard-admin-console button.admin-theme-refresh-button:hover,
#dashboard-admin-console button.admin-theme-refresh-button:focus-visible,
#dashboard-admin-console button.admin-font-system-button:hover,
#dashboard-admin-console button.admin-font-system-button:focus-visible {
    border-color: var(--theme-accent-primary-hover) !important;
    background: var(--theme-accent-primary-hover) !important;
    color: var(--theme-text-inverse) !important;
}

#dashboard-admin-console button.btn-secondary,
#dashboard-admin-console .admin-font-buttons button {
    border-color: var(--theme-border-subtle) !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console button.btn-secondary:hover,
#dashboard-admin-console button.btn-secondary:focus-visible,
#dashboard-admin-console .admin-font-buttons button:hover,
#dashboard-admin-console .admin-font-buttons button:focus-visible {
    border-color: var(--theme-border-strong) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.86) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console button.dashboard-admin-row-action {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    border-color: var(--theme-border-subtle) !important;
    background: rgba(var(--theme-bg-surface-1-rgb), 0.72) !important;
    color: var(--theme-text-primary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

#dashboard-admin-console button.dashboard-admin-row-action:hover,
#dashboard-admin-console button.dashboard-admin-row-action:focus-visible {
    border-color: var(--theme-border-strong) !important;
    background: rgba(var(--theme-bg-surface-2-rgb), 0.86) !important;
    color: var(--theme-text-primary) !important;
}

#dashboard-admin-console button.dashboard-admin-row-action--success {
    border-color: var(--theme-success-border) !important;
    background: var(--theme-success-bg) !important;
    color: var(--theme-status-success-text) !important;
}

#dashboard-admin-console button.dashboard-admin-row-action--danger,
#dashboard-admin-console button#adminPolicyMappingDisconnectButton {
    border-color: var(--theme-danger-border) !important;
    background: var(--theme-danger-bg) !important;
    color: var(--theme-status-danger-text) !important;
}

#dashboard-admin-console #adminPolicySearchButton,
#dashboard-admin-console #adminPolicyResetButton,
#dashboard-admin-console #adminPolicyRefreshButton {
    width: 88px !important;
    min-width: 88px !important;
    padding: 0 10px !important;
}

/* 2026-06-10: 정책 관리 보조 액션도 테마 포인트 톤을 따르도록 보정 */
#dashboard-admin-console #adminPolicyResetButton,
#dashboard-admin-console #adminPolicyRefreshButton {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.42) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.1) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminPolicyResetButton:hover,
#dashboard-admin-console #adminPolicyResetButton:focus-visible,
#dashboard-admin-console #adminPolicyRefreshButton:hover,
#dashboard-admin-console #adminPolicyRefreshButton:focus-visible {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.68) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.16) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console #adminPolicyResetButton:disabled,
#dashboard-admin-console #adminPolicyResetButton[aria-busy="true"],
#dashboard-admin-console #adminPolicyRefreshButton:disabled,
#dashboard-admin-console #adminPolicyRefreshButton[aria-busy="true"] {
    border-color: rgba(var(--theme-accent-primary-rgb), 0.3) !important;
    background: rgba(var(--theme-accent-primary-rgb), 0.08) !important;
    color: var(--theme-accent-primary) !important;
}

#dashboard-admin-console .dashboard-admin-policy-filter-bar .dashboard-admin-filter-field {
    gap: 4px !important;
}

#dashboard-admin-console .dashboard-admin-policy-filter-bar .dashboard-admin-filter-field span {
    line-height: 1.2 !important;
}

#dashboard-admin-console .dashboard-admin-policy-filter-bar .dashboard-admin-filter-field select,
#dashboard-admin-console .dashboard-admin-policy-filter-bar .dashboard-admin-filter-field input {
    box-sizing: border-box !important;
    height: 34px !important;
    min-height: 34px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 13px !important;
}

#dashboard-admin-console .dashboard-admin-policy-filter-bar .dashboard-admin-filter-actions {
    align-self: end !important;
}

@media (max-width: 1320px) {
    #dashboard-admin-console .admin-theme-layout {
        grid-template-columns: 1fr !important;
    }

    #dashboard-admin-console .admin-font-panel {
        max-width: none !important;
    }
}

@media (max-width: 960px) {
    #dashboard-admin-console .dashboard-admin-body {
        grid-template-columns: 1fr !important;
    }

    #dashboard-admin-console .dashboard-admin-menu {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(var(--theme-border-subtle-rgb), 0.28) !important;
    }

    #dashboard-admin-console .dashboard-admin-menu-item {
        width: auto !important;
        min-width: 128px !important;
    }

    #dashboard-admin-console .admin-theme-header,
    #dashboard-admin-console .admin-font-header {
        flex-direction: column !important;
    }

    #dashboard-admin-console .admin-theme-actions {
        align-items: flex-start !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    #dashboard-admin-console .admin-theme-action-row {
        justify-content: flex-start !important;
    }

    #dashboard-admin-console .admin-theme-grid {
        grid-template-columns: 1fr !important;
    }

    #dashboard-admin-console .dashboard-admin-form-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    #admin-console .admin-console-stage {
        padding: 12px !important;
    }

    #dashboard-admin-console .dashboard-admin-shell {
        min-height: calc(100vh - var(--sl-top-nav-height, 52px) - 24px) !important;
    }

    #dashboard-admin-console .dashboard-admin-header {
        align-items: flex-start !important;
        flex-direction: column !important;
        min-height: 0 !important;
        padding: 16px !important;
    }

    #dashboard-admin-console .dashboard-admin-content {
        padding: 12px !important;
    }

    #dashboard-admin-console .dashboard-admin-menu-item {
        flex: 1 1 140px !important;
    }

    #dashboard-admin-console .admin-theme-panel {
        padding: 16px !important;
    }

    #dashboard-admin-console .admin-theme-card {
        grid-template-columns: 1fr !important;
    }

    #dashboard-admin-console .admin-theme-swatch {
        width: 110px !important;
    }
}
