﻿/* Uses the local Sage/system font stack; no external font fetches. */
/**
 * SageAI_BAC Admin Interface Styles
 * Following UI/UX Design System standards
 */

/* Skip Navigation Link - WCAG 2.2 AAA */
.skip-link {
    position: absolute;
    top: calc(var(--sage-legacy-u-40) * -1);
    left: 0;
    background: var(--primary);
    color: var(--sage-legacy-color-ffffff);
    padding: var(--spacing-sm) var(--spacing-md);
    z-index: var(--sage-app-layer-skip-link);
    font-size: var(--font-size-base);
    text-decoration: none;
    border-top-left-radius: var(--sage-app-radius-square);
    border-top-right-radius: var(--sage-app-radius-square);
    border-bottom-right-radius: var(--sage-legacy-u-4);
    border-bottom-left-radius: var(--sage-app-radius-square);
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
}

/* WCAG AAA Enhanced Contrast Utility Classes */
.text-enhanced-primary   { color: var(--text-enhanced-primary); }
.text-enhanced-secondary { color: var(--text-enhanced-secondary); }
.text-enhanced-success   { color: var(--text-enhanced-success); }
.text-enhanced-warning   { color: var(--text-enhanced-warning); }
.text-enhanced-error     { color: var(--text-enhanced-error); }

/* Badge (e.g. Active model config) */
/* Mirrors components/primitives/badge.tsx: a tint carries the tone, the LABEL uses the
   high-contrast foreground, and a dot repeats the tone so the signal is never colour
   alone. White-on-fill failed 1.4.3 at pill text sizes (2.53:1 success, 3.76:1 error). */
.badge {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-6);
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-8);
    border-radius: var(--sage-legacy-u-999);
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: hsl(var(--foreground));
    background: hsl(var(--muted));
}
.badge-success::before,
.badge-error::before {
    content: "";
    width: var(--sage-legacy-u-6);
    height: var(--sage-legacy-u-6);
    border-radius: var(--sage-legacy-u-999);
    flex: 0 0 auto;
}
.badge-success {
    background: color-mix(in srgb, hsl(var(--success)) 15%, hsl(var(--card)));
    color: hsl(var(--foreground));
}
.badge-success::before { background: hsl(var(--success)); }

.badge-error {
    background: color-mix(in srgb, hsl(var(--destructive)) 12%, hsl(var(--card)));
    color: hsl(var(--foreground));
}
.badge-error::before { background: hsl(var(--destructive)); }

.sage-panel {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-md);
}

.sage-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.sage-panel-header h3,
.sage-card-header h4 {
    margin: 0;
}

.sage-panel-header p,
.sage-card-header p {
    margin: var(--sage-legacy-u-4) 0 0;
    color: var(--text-secondary);
}

.sage-grid {
    display: grid;
    gap: var(--spacing-md);
}

.sage-grid-2 {
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-320), 1fr));
}

.sage-card {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    padding: var(--spacing-md);
}

.sage-card-header {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-md);
    align-items: flex-start;
    margin-bottom: var(--spacing-md);
}

.sage-compact-list {
    margin: 0;
    padding-left: var(--spacing-lg);
}

.sage-compact-list li {
    margin-bottom: var(--spacing-sm);
}

.sage-compact-list .form-hint {
    display: block;
    margin-top: var(--sage-legacy-u-2);
}

.sage-details-block {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-primary);
}

.sage-details-block summary {
    cursor: pointer;
    font-weight: 600;
}

/* Touch-target utility: WCAG minimum 44xvar(--sage-legacy-u-44) interactive area */
.touch-target {
    min-height: var(--sage-legacy-u-44);
    min-width: var(--sage-legacy-u-44);
}

/* Statistics Count Blocks / Stats Bar */
.stats-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-160), 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}
.stat-card {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: box-shadow 0.15s;
}
.stat-card:hover {
    box-shadow: var(--sage-app-shadow-elevation-2);
}
.stat-card .stat-icon {
    width: var(--sage-legacy-u-40);
    height: var(--sage-legacy-u-40);
    border-radius: var(--sage-legacy-u-8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.stat-card .stat-icon.primary   { background: var(--sage-legacy-color-eef2ff); color: var(--primary); }
.stat-card .stat-icon.success   { background: var(--sage-legacy-color-ecfdf5); color: var(--success); }
.stat-card .stat-icon.warning   { background: var(--sage-legacy-color-fffbeb); color: var(--warning); }
.stat-card .stat-icon.error     { background: var(--sage-legacy-color-fef2f2); color: var(--error); }
.stat-card .stat-icon.info      { background: var(--sage-legacy-color-eff6ff); color: var(--info); }
.stat-card .stat-info { display: flex; flex-direction: column; }
.stat-card .stat-value {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}
.stat-card .stat-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* Pro Tip boxes */
.pro-tip {
    background: var(--sage-legacy-color-eff6ff);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe);
    border-radius: var(--sage-legacy-u-6);
    padding: var(--spacing-sm) var(--spacing-md);
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-sm);
    color: var(--sage-legacy-color-1e40af);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    line-height: 1.5;
}
.pro-tip::before {
    content: 'Tip';
    flex-shrink: 0;
}
[data-theme="dark"] .pro-tip,
.dark-mode .pro-tip {
    background: var(--sage-legacy-color-1e293b);
    border-color: var(--sage-legacy-color-334155);
    color: var(--sage-legacy-color-93c5fd);
}

/* Collapsible list controls */
.list-controls-wrapper {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    margin-bottom: var(--spacing-md);
    background: var(--bg-primary);
}
.list-controls-toggle {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    cursor: pointer;
    user-select: none;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
    border: none;
    background: none;
    width: 100%;
    text-align: left;
}
.list-controls-toggle:hover { color: var(--text-primary); }
.list-controls-toggle .toggle-icon {
    transition: transform 0.2s;
    display: inline-flex;
}
.list-controls-toggle.expanded .toggle-icon { transform: rotate(90deg); }
.list-controls-body {
    padding: 0 var(--spacing-md) var(--spacing-md);
    display: none;
}
.list-controls-body.expanded { display: block; }

/* Password Input with Toggle */
.password-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.password-input-wrapper input {
    padding-right: var(--sage-legacy-u-45);
}

.password-toggle-btn {
    position: absolute;
    right: var(--sage-legacy-u-12);
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-18);
    transition: color 0.2s;
    z-index: var(--sage-app-layer-control);
}

.password-toggle-btn:hover {
    color: var(--primary);
}

.password-toggle-btn:focus {
    outline: none;
    color: var(--primary);
}

.password-toggle-btn:active {
    transform: scale(0.95);
}

:root {
    /* Color Theme - CodeGuide-style indigo primary */
    --primary: hsl(var(--suite, 262 83% 58%));
    --primary-hover: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), var(--sage-legacy-color-000000) 12%);
    --primary-light: hsl(var(--suite, 262 83% 58%) / 0.10);
    --secondary: hsl(var(--suite, 262 83% 58%));
    --secondary-hover: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), var(--sage-legacy-color-000000) 12%);
    
    /* Neutral Colors (light) */
    --bg-primary: var(--sage-legacy-color-ffffff);
    --bg-secondary: var(--sage-legacy-color-f8f9fa);
    --bg-tertiary: var(--sage-legacy-color-e9ecef);
    --text-primary: var(--sage-legacy-color-1a1a1a);
    --text-secondary: var(--sage-legacy-color-666666);
    --text-tertiary: var(--sage-legacy-color-999999);
    --border: var(--sage-legacy-color-e0e0e0);
    --border-hover: var(--sage-legacy-color-d0d0d0);
    /* List table header - CodeGuide gray-50 / slightly darker */
    --table-header-bg: var(--sage-legacy-color-f9fafb);
    --table-header-text: var(--sage-legacy-color-374151);
    /* CodeGuide layout: page gray-50, sidebar & top bar white */
    --app-bg: var(--sage-legacy-color-f9fafb);
    --header-bg: var(--sage-legacy-color-ffffff);
    --sidebar-bg: var(--sage-legacy-color-ffffff);
    /* Sidebar nav - light theme: dark text on light sidebar (CodeGuide parity) */
    --sidebar-nav-text: var(--sage-legacy-color-374151);
    --sidebar-nav-text-active: hsl(var(--suite, 262 83% 58%));
    --sidebar-active-bg: hsl(var(--suite, 262 83% 58%) / 0.10);
    --sidebar-nav-hover-bg: var(--sage-legacy-color-f9fafb);
    --sidebar-border: var(--sage-legacy-alpha-0-0-0-0080);
    --sidebar-user-bg: var(--sage-legacy-color-f9fafb);
    --sidebar-submenu-bg: transparent;
    
    /* Status Colors */
    --success: var(--sage-legacy-color-10b981);
    --warning: var(--sage-legacy-color-f59e0b);
    --error: var(--sage-legacy-color-ef4444);
    --info: var(--sage-legacy-color-3b82f6);
    
    /* Layout - fixed header (CodeGuide parity); reserves space so Add Content / Show Controls are not hidden */
    --header-height: var(--sage-legacy-u-80);

    /* Spacing */
    --spacing-xs: var(--sage-legacy-u-4);
    --spacing-sm: var(--sage-legacy-u-8);
    --spacing-md: var(--sage-legacy-u-16);
    --spacing-lg: var(--sage-legacy-u-24);
    --spacing-xl: var(--sage-legacy-u-32);
    
    /* Typography */
    --font-family: var(--font-sans);
    --font-size-sm: var(--sage-legacy-u-13);
    --font-size-base: var(--sage-legacy-u-14);
    --font-size-lg: var(--sage-legacy-u-16);
    --font-size-xl: var(--sage-legacy-u-18);
    --font-size-2xl: var(--sage-legacy-u-24);

    /* WCAG AAA Enhanced Contrast (7:1+ ratio) */
    --text-enhanced-primary: var(--sage-legacy-color-1e40af);    /* 8.72:1 on white */
    --text-enhanced-secondary: var(--sage-legacy-color-1e3a5f);  /* 8.49:1 on white */
    --text-enhanced-success: var(--sage-legacy-color-065f46);    /* 7.56:1 on white */
    --text-enhanced-warning: var(--sage-legacy-color-92400e);    /* 7.12:1 on white */
    --text-enhanced-error: var(--sage-legacy-color-991b1b);      /* 8.28:1 on white */

    /* --sage-text-secondary-on-tint / --sage-text-success / --sage-text-error are
       defined once in sage-ui/brand.css, the only stylesheet every surface loads. */

    /* Standard status / priority / SLA ramps (consume sage-ui-tokens). */
    --sage-status-new: hsl(var(--status-new)); --sage-status-open: hsl(var(--status-open));
    --sage-status-pending: hsl(var(--status-pending)); --sage-status-resolved: hsl(var(--status-resolved));
    --sage-status-closed: hsl(var(--status-closed));
    --sage-priority-low: hsl(var(--priority-low)); --sage-priority-medium: hsl(var(--priority-medium));
    --sage-priority-high: hsl(var(--priority-high)); --sage-priority-urgent: hsl(var(--priority-urgent));
    --sage-sla-ok: hsl(var(--sla-ok)); --sage-sla-warn: hsl(var(--sla-warn)); --sage-sla-breach: hsl(var(--sla-breach));
}

/* Dark Mode - CodeGuide gray-900 page, gray-800 sidebar/header, gray-700/800 lists */
/* .dark is unified class used by landing and auth; .dark-mode used by app */
[data-theme="dark"],
html.dark-mode,
html.dark,
:root.dark-mode {
    --bg-primary: var(--sage-legacy-color-1f2937) !important;
    --bg-secondary: var(--sage-legacy-color-374151) !important;
    --bg-tertiary: var(--sage-legacy-color-4b5563) !important;
    --text-primary: var(--sage-legacy-color-f9fafb) !important;
    --text-secondary: var(--sage-legacy-color-d1d5db) !important;
    --text-tertiary: var(--sage-legacy-color-9ca3af) !important;
    --border: var(--sage-legacy-color-374151) !important;
    --border-hover: var(--sage-legacy-color-4b5563) !important;
    --primary-light: hsl(var(--suite, 262 83% 58%) / 0.22) !important;
    --table-header-bg: var(--sage-legacy-color-374151) !important;
    --table-header-text: var(--sage-legacy-color-ffffff) !important;
    /* CodeGuide: page bg gray-900, sidebar & top bar gray-800 */
    --app-bg: var(--sage-legacy-color-111827) !important;
    --header-bg: var(--sage-legacy-color-1f2937) !important;
    --sidebar-bg: var(--sage-legacy-color-1f2937) !important;
    --sidebar-border: var(--sage-legacy-alpha-255-255-255-0080) !important;
    --sidebar-active-bg: hsl(var(--suite, 262 83% 58%) / 0.30) !important;
    --sidebar-user-bg: var(--sage-legacy-color-1f2937) !important;
    /* Sidebar nav - dark theme (CodeGuide parity) */
    --sidebar-nav-text: var(--sage-legacy-color-d1d5db) !important;
    --sidebar-nav-text-active: hsl(var(--suite, 262 83% 58%)) !important;
    --sidebar-nav-hover-bg: var(--sage-legacy-color-374151) !important;
    /* List card = CodeGuide DataTable: gray-800 container, gray-700 header */
    --list-card-bg: var(--sage-legacy-color-1f2937) !important;
    --list-card-header-bg: var(--sage-legacy-color-374151) !important;
}

/* Sidebar: no white strip in dark mode - ensure full height and same bg throughout */
[data-theme="dark"] .sidebar-nav,
html.dark-mode .sidebar-nav,
html.dark .sidebar-nav,
:root.dark-mode .sidebar-nav {
    background: var(--sidebar-bg) !important;
    box-shadow: none !important;
}
[data-theme="dark"] .sidebar-user-section,
html.dark-mode .sidebar-user-section,
html.dark .sidebar-user-section,
:root.dark-mode .sidebar-user-section {
    background: var(--sidebar-bg) !important;
}

/* Dark mode: all scrollbars use dark track (no grey bar on right) */
[data-theme="dark"],
[data-theme="dark"] .main-content-wrapper,
html.dark-mode,
html.dark-mode .main-content-wrapper,
html.dark,
html.dark .main-content-wrapper,
:root.dark-mode,
:root.dark-mode .main-content-wrapper {
    scrollbar-color: var(--border) var(--bg-primary);
}

/* Dark Mode - System Preference Fallback (CodeGuide palette) */
@media (prefers-color-scheme: dark) {
    :root:not(.light-mode):not([data-theme="light"]) {
        --bg-primary: var(--sage-legacy-color-1f2937);
        --bg-secondary: var(--sage-legacy-color-374151);
        --bg-tertiary: var(--sage-legacy-color-4b5563);
        --text-primary: var(--sage-legacy-color-f9fafb);
        --text-secondary: var(--sage-legacy-color-d1d5db);
        --text-tertiary: var(--sage-legacy-color-9ca3af);
        --border: var(--sage-legacy-color-374151);
        --border-hover: var(--sage-legacy-color-4b5563);
        --primary-light: var(--sage-legacy-alpha-79-70-229-0200);
        --table-header-bg: var(--sage-legacy-color-374151);
        --table-header-text: var(--sage-legacy-color-ffffff);
        --app-bg: var(--sage-legacy-color-111827);
        --header-bg: var(--sage-legacy-color-1f2937);
        --sidebar-bg: var(--sage-legacy-color-1f2937);
        --sidebar-border: var(--sage-legacy-alpha-255-255-255-0080);
        --sidebar-active-bg: var(--sage-legacy-alpha-79-70-229-0300);
        --sidebar-user-bg: var(--sage-legacy-color-1f2937);
        --list-card-bg: var(--sage-legacy-color-1f2937);
        --list-card-header-bg: var(--sage-legacy-color-374151);
        --sidebar-submenu-bg: var(--sage-legacy-alpha-0-0-0-0250);
    }
}

/* Reset & Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Smooth transitions for dark mode */
html {
    transition: background-color 0.3s ease;
}

body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    color: var(--text-primary);
    background: var(--app-bg, var(--bg-secondary));
    line-height: 1.6;
    transition: background-color 0.3s ease, color 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: var(--sage-app-motion-duration-instant) !important;
        animation-iteration-count: 1 !important;
        transition-duration: var(--sage-app-motion-duration-instant) !important;
    }
}

/* Reusable loading spinner */
.loading-spinner {
    display: inline-block;
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
    border: var(--sage-legacy-u-3) solid var(--border);
    border-top-color: var(--primary);
    border-radius: var(--sage-app-radius-circle);
    animation: loading-spin 0.8s linear infinite;
}
@keyframes loading-spin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .loading-spinner { animation: none; border-top-color: var(--primary); }
}

/* Container - CodeGuide page background */
.admin-container {
    min-height: 100vh;
    display: flex;
    flex-direction: row;
    background: var(--app-bg, var(--bg-secondary));
}

/* Main Content Wrapper - padding-top reserves space for fixed header */
.main-content-wrapper {
    flex: 1;
    margin-left: var(--sage-legacy-u-256);
    width: calc(100% - var(--sage-legacy-u-256));
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--app-bg, var(--bg-secondary));
    position: relative;
    overflow-x: hidden;
    padding-top: var(--header-height);
}

@media (max-width: 63.9375rem) {
    .main-content-wrapper {
        padding-top: var(--header-height);
    }
}

/* Main Content Header - CodeGuide parity: FIXED at top so it stays visible on scroll */
.main-content-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--sage-app-layer-sticky);
    min-height: var(--header-height);
    background: var(--header-bg, var(--bg-primary));
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    padding: var(--spacing-lg) var(--spacing-xl);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

@media (min-width: 64rem) {
    .main-content-header {
        left: var(--sage-legacy-u-280);
        width: calc(100% - var(--sage-legacy-u-280));
    }
}

/* Main Content Area - CodeGuide page background */
.admin-main {
    flex: 1;
    width: 100%;
    max-width: var(--sage-legacy-u-1400);
    min-width: 0;
    margin: 0 auto;
    padding: var(--spacing-lg);
    box-sizing: border-box;
    background: var(--app-bg, var(--bg-secondary));
    overflow-x: hidden;
}

/* List pages - left align content list */
#content-list-content,
#chatbots-list-content,
#scopes-list-content {
    margin-left: 0;
    padding-left: 0;
}

#content-table-container,
#chatbots-table-container,
#scopes-table-container,
#user-table-container,
#code-table-container {
    margin-left: 0;
    padding-left: 0;
}

/* Pages Container - wraps all page-content divs */
.pages-container {
    width: 100%;
    position: relative;
}

/* Page Content */
.page-content {
    display: none !important;
    width: 100%;
    clear: both;
}

.page-content.active {
    display: block !important;
}


/* Left Sidebar Navigation - CodeGuide parity: w-64, no vertical bar (shadow removed to avoid grey line) */
.sidebar-nav {
    width: var(--sage-legacy-u-256);
    min-width: var(--sage-legacy-u-256);
    background: var(--sidebar-bg);
    color: var(--sidebar-nav-text);
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: var(--sage-app-layer-overlay);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transition: background-color 0.2s ease, transform 0.3s ease;
}

/* Mobile: sidebar off-screen by default; .open slides it in */
@media (max-width: 63.9375rem) {
    .sidebar-nav {
        transform: translateX(-100%);
    }
    .sidebar-nav.open {
        transform: translateX(0);
    }
}

/* Desktop: sidebar always visible */
@media (min-width: 64rem) {
    .sidebar-nav {
        transform: translateX(0);
    }
}

/* Sidebar overlay - mobile only; shown when sidebar open */
.sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--sage-app-layer-scrim);
    background: var(--sage-legacy-alpha-0-0-0-0500);
    display: none;
}

.sidebar-overlay.visible {
    display: block;
}

[data-theme="dark"] .sidebar-overlay {
    background: var(--sage-legacy-alpha-0-0-0-0750);
}

@media (min-width: 64rem) {
    .sidebar-overlay {
        display: none !important;
    }
}

/* Sidebar toggle buttons - icon style */
/* Sidebar toggle: min 44xvar(--sage-legacy-u-44) touch target (WCAG 2.2 AAA) */
.sidebar-toggle {
    background: none;
    border: none;
    padding: var(--sage-legacy-u-10);
    min-width: var(--sage-legacy-u-44);
    min-height: var(--sage-legacy-u-44);
    cursor: pointer;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-4);
    transition: color 0.2s, background 0.2s;
}

.sidebar-toggle:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.sidebar-toggle svg {
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
}

.sidebar-toggle-open {
    display: none;
}

.sidebar-toggle-close {
    display: none;
}

@media (max-width: 63.9375rem) {
    .sidebar-toggle-open {
        display: flex;
    }
    .sidebar-toggle-close {
        display: flex;
    }
}

@media (min-width: 64rem) {
    .sidebar-toggle-open,
    .sidebar-toggle-close {
        display: none !important;
    }
}

/* Main content full width on mobile (sidebar off-screen) */
@media (max-width: 63.9375rem) {
    .main-content-wrapper {
        margin-left: 0 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* Sidebar Branding - CodeGuide: h-16 px-4 border-b */
.sidebar-branding {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    min-height: var(--sage-legacy-u-64);
    padding: 0 var(--sage-legacy-u-16);
    border-bottom: var(--sage-legacy-u-1) solid var(--sidebar-border);
    position: relative;
}

.sidebar-branding .sidebar-toggle-close {
    color: var(--sidebar-nav-text);
}
.sidebar-branding .sidebar-toggle-close:hover {
    color: var(--text-primary);
}

.sidebar-logo {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.sidebar-home-link {
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
    color: inherit;
    text-decoration: none;
    border-radius: var(--sage-legacy-u-8);
    cursor: pointer;
}

.sidebar-home-link:hover .logo-name,
.sidebar-home-link:hover .logo-tagline {
    color: var(--primary);
}

.sidebar-home-link:focus-visible {
    outline: var(--sage-legacy-u-2) solid var(--primary);
    outline-offset: var(--sage-legacy-u-3);
}

.logo-icon {
    font-size: var(--sage-legacy-u-32);
    width: var(--sage-legacy-u-48);
    height: var(--sage-legacy-u-48);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    border-radius: var(--sage-legacy-u-8);
    flex-shrink: 0;
}

.logo-text {
    flex: 1;
    min-width: 0;
}

.logo-name {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--sidebar-nav-text, var(--sage-legacy-color-374151));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logo-tagline {
    font-size: var(--font-size-sm);
    color: var(--sidebar-nav-text, var(--sage-legacy-color-374151));
    opacity: 0.85;
    margin-top: var(--sage-legacy-u-4);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Sidebar Navigation Menu - CodeGuide: py-2 px-2 */
.sidebar-nav-menu {
    flex: 1;
    overflow-y: auto;
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-8);
}

.nav-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-menu-item {
    margin: 0;
    padding: 0;
}

.nav-menu-link {
    display: flex;
    align-items: center;
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-16);
    margin: 0 0 var(--sage-legacy-u-2) 0;
    color: var(--sidebar-nav-text);
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    user-select: none;
    position: relative;
    min-height: var(--sage-legacy-u-32);
    font-size: var(--sage-legacy-u-14);
    font-weight: 500;
    border-radius: var(--sage-legacy-u-8);
}

.nav-menu-link:hover {
    background: var(--sidebar-nav-hover-bg);
    color: var(--text-primary);
}

.nav-menu-link.active {
    background: var(--sidebar-active-bg);
    color: var(--sidebar-nav-text-active);
    border-left: none;
}

.nav-menu-link.active::before {
    display: none;
}

.nav-icon {
    font-size: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-20);
    height: var(--sage-legacy-u-20);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--sage-legacy-u-12);
    flex-shrink: 0;
}

.nav-text {
    flex: 1;
    font-size: var(--sage-legacy-u-14);
    font-weight: 500;
}

.nav-chevron {
    font-size: var(--sage-legacy-u-12);
    transition: transform 0.2s;
    margin-left: auto;
    flex-shrink: 0;
}

.nav-menu-item-expandable.expanded .nav-chevron {
    transform: rotate(180deg);
}

/* Submenu - CodeGuide expanded section */
.nav-submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    background: var(--sidebar-submenu-bg, var(--sage-legacy-alpha-0-0-0-0200));
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.nav-menu-item-expandable.expanded .nav-submenu {
    max-height: var(--sage-legacy-u-500);
}

.nav-submenu-item {
    margin: 0;
    padding: 0;
}

.nav-submenu-link {
    display: flex;
    align-items: center;
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-16) var(--sage-legacy-u-4) var(--sage-legacy-u-16);
    margin: 0 0 var(--sage-legacy-u-2) 0;
    margin-left: var(--sage-legacy-u-16);
    color: var(--sidebar-nav-text);
    opacity: 0.9;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    user-select: none;
    position: relative;
    font-size: var(--sage-legacy-u-14);
    font-weight: 500;
    border-radius: var(--sage-legacy-u-8);
}

.nav-submenu-link:hover {
    background: var(--sidebar-nav-hover-bg);
    color: var(--text-primary);
    opacity: 1;
}

.nav-submenu-link.active {
    background: var(--sidebar-active-bg);
    color: var(--sidebar-nav-text-active);
    opacity: 1;
    border-left: var(--sage-legacy-u-2) solid var(--primary);
}

.nav-submenu-link.active::before {
    display: none;
}

.nav-submenu-link .nav-icon {
    font-size: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-20);
    height: var(--sage-legacy-u-20);
    margin-right: var(--spacing-sm);
}

/* Sidebar User Section - CodeGuide: border-t, p-4, bg/gray-50 / dark:gray-800/50 */
.sidebar-user-section {
    border-top: var(--sage-legacy-u-1) solid var(--sidebar-border);
    padding: var(--spacing-md);
    background: var(--sidebar-user-bg, var(--bg-secondary));
}

.sidebar-divider {
    height: var(--sage-legacy-u-1);
    background: var(--sidebar-border, var(--sage-legacy-alpha-255-255-255-0100));
    margin: 0 calc(-1 * var(--spacing-lg)) var(--spacing-lg);
}

.sidebar-user-profile {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.user-avatar {
    width: var(--sage-legacy-u-48);
    height: var(--sage-legacy-u-48);
    border-radius: var(--sage-app-radius-circle);
    background: linear-gradient(135deg, var(--sage-legacy-color-9333ea) 0%, var(--primary) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sage-legacy-color-ffffff);
    font-weight: 600;
    font-size: var(--font-size-lg);
    flex-shrink: 0;
}

.user-info {
    flex: 1;
    min-width: 0;
}

.sidebar-user-section .user-name {
    font-size: var(--font-size-base);
    font-weight: 500;
    color: var(--sidebar-nav-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-section .user-email {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: var(--sage-legacy-u-2);
}

.sidebar-user-section .user-role {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-top: var(--sage-legacy-u-2);
}

.sidebar-user-actions {
    display: flex;
    gap: var(--spacing-xs);
}

.sidebar-user-actions .user-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--sidebar-nav-hover-bg);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    color: var(--sidebar-nav-text);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: all 0.2s;
}

.user-action-btn:hover {
    background: var(--sage-legacy-alpha-255-255-255-0150);
    color: var(--sage-legacy-color-ffffff);
}

.user-action-btn-logout {
    color: var(--sage-legacy-color-ff6b6b);
    border-color: var(--sage-legacy-alpha-255-107-107-0300);
}

.user-action-btn-logout:hover {
    background: var(--sage-legacy-alpha-255-107-107-0100);
    color: var(--sage-legacy-color-ff5252);
}

.user-action-icon {
    font-size: var(--sage-legacy-u-16);
}

.user-action-text {
    font-size: var(--font-size-sm);
    /* Inherit the button's own accessible colour rather than the 3:1 info blue. */
    color: inherit;
}

/* Preferences & Administration (Code Guide style) */
.sidebar-user-expandable {
    margin-bottom: var(--spacing-sm);
}

.sidebar-user-expandable-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    width: 100%;
    padding: var(--spacing-sm) 0;
    background: none;
    border: none;
    color: var(--sidebar-nav-text);
    font-size: var(--font-size-sm);
    cursor: pointer;
    text-align: left;
    transition: all 0.2s;
}

.sidebar-user-expandable-btn:hover {
    color: var(--sidebar-nav-text-active);
}

.sidebar-user-expandable-btn .nav-chevron {
    margin-left: auto;
    font-size: var(--sage-legacy-u-10);
    transition: transform 0.2s;
}

.sidebar-user-expandable.expanded .sidebar-user-expandable-btn .nav-chevron {
    transform: rotate(180deg);
}

.sidebar-user-expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.sidebar-user-expandable.expanded .sidebar-user-expandable-content {
    max-height: var(--sage-legacy-u-200);
}

.sidebar-user-expandable-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) 0 var(--spacing-xs) calc(var(--spacing-md) + var(--sage-legacy-u-20));
    color: var(--sidebar-nav-text);
    font-size: var(--font-size-sm);
    text-decoration: none;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s;
}

/* Ensure Administration submenu labels are visible (avoid white-on-white) */
.sidebar-user-expandable-content .sidebar-user-expandable-item,
.sidebar-user-expandable-content .sidebar-user-expandable-item span {
    color: var(--sidebar-nav-text);
}

.sidebar-user-expandable-item:hover,
.sidebar-user-expandable-content .sidebar-user-expandable-item:hover span {
    color: var(--sidebar-nav-text-active);
}

.sidebar-user-expandable-item .nav-icon,
.sidebar-user-expandable-item .user-action-icon {
    flex-shrink: 0;
    width: var(--sage-legacy-u-18);
}

/* Main Content Wrapper - reserve space for fixed header */
.main-content-wrapper {
    flex: 1;
    margin-left: var(--sage-legacy-u-280);
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh;
    background: var(--bg-secondary);
    transition: background-color 0.3s ease;
    width: calc(100% - var(--sage-legacy-u-280)) !important;
    min-width: calc(100% - var(--sage-legacy-u-280)) !important;
    max-width: calc(100% - var(--sage-legacy-u-280)) !important;
    box-sizing: border-box;
    overflow-x: hidden;
    position: relative;
    padding-top: var(--header-height) !important;
}

/* Main Content Header - CodeGuide parity: FIXED at top (stays visible on scroll) */
.main-content-header {
    background: var(--header-bg, var(--bg-primary)) !important;
    border-bottom: var(--sage-legacy-u-2) solid var(--border) !important;
    padding: var(--spacing-lg) var(--spacing-xl) !important;
    box-shadow: var(--sage-app-shadow-elevation-2-2) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: var(--sage-app-layer-sticky) !important;
    min-height: var(--header-height) !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    overflow: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
}

@media (min-width: 64rem) {
    .main-content-header {
        left: var(--sage-legacy-u-280) !important;
        width: calc(100% - var(--sage-legacy-u-280)) !important;
    }
}

.page-title-section {
    max-width: var(--sage-legacy-u-1400);
    margin: 0 auto;
    width: 100% !important;
    min-width: 100% !important;
    padding: 0;
    display: block !important;
    position: relative;
    visibility: visible !important;
}

/* CodeGuide parity: title text-lg, breadcrumbs text-xs */
.page-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--sage-legacy-u-4) 0;
    visibility: visible !important;
}

.page-subtitle {
    font-size: var(--sage-legacy-u-12);
    color: var(--text-secondary);
    margin: 0;
}

.page-breadcrumbs {
    font-size: var(--sage-legacy-u-12);
    color: var(--text-secondary);
    margin: 0;
    visibility: visible !important;
}

.page-breadcrumb-link {
    color: var(--text-secondary);
    text-decoration: none;
}

.page-breadcrumb-link:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.page-breadcrumb-current {
    color: var(--text-primary);
}

/* Content List Header - CodeGuide ListControls layout */
.content-list-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
    padding: 0;
    width: 100%;
    clear: both;
    position: relative;
}

/* Show Controls button - CodeGuide dark gray (bg/gray-700, border/gray-600) */
/* Pagination Styling - CodeGuide DataTable match */
.user-pagination-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    flex-wrap: wrap;
    gap: var(--spacing-md);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    margin: 0;
    width: 100%;
    clear: both;
    background: var(--list-card-bg, var(--bg-primary));
    transition: background-color 0.2s;
}

.pagination-left {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.pagination-show-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
}

.pagination-per-page-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* CodeGuide DataTable: select border/gray-300 dark:border/gray-600, bg white dark:gray-700 */
.per-page-select {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-12);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-4);
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    min-width: 3rem;
}

.pagination-results {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-4);
}

.pagination-btn {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-4);
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: all 0.2s;
    min-width: var(--sage-legacy-u-32);
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pagination-btn:hover:not(:disabled) {
    background: var(--bg-secondary);
    border-color: var(--primary);
    color: var(--primary);
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-page {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-12);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    font-weight: 500;
    border: var(--sage-legacy-u-1) solid transparent;
    border-radius: var(--sage-legacy-u-4);
    cursor: pointer;
    transition: all 0.2s;
}

.pagination-page:hover {
    background: var(--bg-secondary);
}

.pagination-page.active {
    background: var(--primary);
    color: var(--sage-legacy-color-ffffff);
    border-color: var(--primary);
}

[data-theme="dark"] .per-page-select,
html.dark-mode .per-page-select {
    background: var(--list-card-header-bg);
    border-color: var(--sage-legacy-color-4b5563);
}

/* Action Links Styling - Match Sample */
.action-links {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.action-link {
    font-size: var(--font-size-sm);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
    font-weight: 500;
}

.action-link-view {
    color: var(--sage-legacy-color-3b82f6);
}

.action-link-view:hover {
    color: var(--primary);
    text-decoration: underline;
}

.action-link-edit {
    color: var(--sage-legacy-color-ef4444);
}

.action-link-edit:hover {
    color: var(--sage-legacy-color-dc2626);
    text-decoration: underline;
}

.action-link-delete {
    color: var(--sage-legacy-color-ef4444);
}

.action-link-delete:hover {
    color: var(--sage-legacy-color-dc2626);
    text-decoration: underline;
}

/* Main Content - CodeGuide page background */
.admin-main {
    flex: 1 !important;
    max-width: var(--sage-legacy-u-1400);
    width: 100% !important;
    margin: 0 auto;
    padding: var(--spacing-lg);
    background: var(--app-bg, var(--bg-secondary));
    transition: background-color 0.3s ease;
    display: block !important;
    clear: both !important;
    margin-top: 0 !important;
    padding-top: var(--spacing-lg) !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: var(--sage-legacy-u-200) !important;
}

/* Page Content */
/* Removed duplicate .page-content rules - using the standard ones at line 179 */

#content-list-content,
#chatbots-list-content,
#scopes-list-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: block !important;
    clear: both !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Content Type Selector - Matching Content Ingestion/List Style */
.content-type-selector {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: 0;
    margin-bottom: var(--spacing-lg);
    overflow: hidden;
}

/* Content Type Selector / Select Scope Panel */
.content-type-selector {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: 0;
    margin-bottom: var(--sage-legacy-u-24);
    overflow: hidden;
}

.content-scope-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--sage-legacy-u-24);
    background: var(--bg-secondary);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.content-type-label {
    margin: 0;
    font-size: var(--sage-legacy-u-14);
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
    cursor: default;
}

.content-scope-body {
    padding: var(--sage-legacy-u-24);
    display: flex;
    gap: var(--sage-legacy-u-16);
    align-items: flex-start;
}

.content-scope-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.content-scope-label {
    display: block;
    margin-bottom: var(--sage-legacy-u-8);
    font-weight: 600;
    color: var(--text-primary);
}

.required-asterisk {
    color: var(--error);
}

.content-type-select-input {
    width: 100%;
    padding: var(--sage-legacy-u-12) var(--sage-legacy-u-16);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    font-size: var(--sage-legacy-u-13);
    font-weight: 400;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color 0.2s;
}

.content-type-select-input:hover {
    border-color: var(--primary);
}

.content-type-select-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring);
}

.field-error {
    display: block;
    margin-top: var(--sage-legacy-u-4);
    color: var(--error);
    font-size: var(--sage-legacy-u-14);
    min-height: var(--sage-legacy-u-20);
}

/* Admin Tabs */
.admin-tabs {
    display: flex;
    gap: var(--spacing-sm);
    border-bottom: var(--sage-legacy-u-2) solid var(--border);
    margin-bottom: var(--spacing-lg);
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8) var(--sage-legacy-u-8) 0 0;
    padding: var(--spacing-sm) var(--spacing-lg) 0;
    overflow-x: auto;
}

.admin-tab-btn {
    padding: var(--spacing-md) var(--spacing-lg);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-base);
    font-weight: 500;
    cursor: pointer;
    border-bottom: var(--sage-legacy-u-3) solid transparent;
    transition: all 0.2s;
    white-space: nowrap;
    min-height: var(--sage-legacy-u-44);
}

.admin-tab-btn:hover {
    color: var(--primary);
    background: var(--bg-secondary);
}

.admin-tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background: var(--bg-secondary);
}

.admin-tab-content {
    display: none;
}

.admin-tab-content.active {
    display: block;
}

/* Settings Sections */
.settings-section {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    margin-bottom: var(--spacing-lg);
    overflow: hidden;
}

.settings-content {
    padding: var(--spacing-lg);
}

.settings-content h3 {
    margin-bottom: var(--spacing-sm);
    color: var(--text-primary);
    font-size: var(--font-size-xl);
}

.settings-description {
    color: var(--text-secondary);
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-base);
}

/* Reports Placeholder */
.reports-placeholder {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-xl);
    text-align: center;
}

.reports-placeholder h2 {
    margin-bottom: var(--spacing-lg);
    color: var(--text-primary);
}

/* Pagination */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md);
    background: var(--bg-secondary);
    border-radius: var(--sage-legacy-u-8);
}

.pagination-info {
    color: var(--text-secondary);
    font-size: var(--font-size-base);
    min-width: var(--sage-legacy-u-120);
    text-align: center;
}

#content-prev-btn:disabled,
#content-next-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* List Section */
.list-section {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    padding: 0;
    margin-top: var(--spacing-lg);
    border: var(--sage-legacy-u-1) solid var(--border);
    overflow: hidden;
}

.list-section.collapsible-section .section-header {
    margin: 0;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.list-section.collapsible-section .collapsible-content {
    padding: var(--spacing-lg);
}

/* List Controls */
.list-controls {
    display: flex;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    flex-wrap: wrap;
}

.search-bar {
    flex: 1;
    min-width: var(--sage-legacy-u-200);
    display: flex;
    gap: var(--spacing-sm);
}

.search-input {
    flex: 1;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-14);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    font-size: var(--font-size-base);
    min-height: var(--sage-legacy-u-44);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.filter-controls {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.filter-select {
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-14);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    font-size: var(--font-size-base);
    background: var(--bg-primary);
    color: var(--text-primary);
    min-height: var(--sage-legacy-u-44);
    min-width: var(--sage-legacy-u-150);
}

/* Buttons - CodeGuide parity: px-4 py-2, rounded-lg, indigo primary. Min var(--sage-legacy-u-44) touch (WCAG 2.2 AAA). */
.btn {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-16);
    border: none;
    border-radius: var(--sage-legacy-u-8);
    font-size: var(--font-size-base);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    min-height: var(--sage-legacy-u-44);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
}

.btn-primary {
    background: var(--primary);
    color: var(--primary-ink, var(--sage-legacy-color-ffffff));
}

.btn-primary:hover {
    background: var(--primary-hover);
}

[data-theme="dark"] .btn-primary:hover,
html.dark-mode .btn-primary:hover {
    background: var(--sage-legacy-color-818cf8);
}

.btn-secondary {
    background: var(--bg-primary);
    color: var(--text-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
}

.btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--border-hover);
}

/* Show Controls / list secondary - CodeGuide: white dark:gray-700, border gray-300 dark:gray-600 */
.content-list-header .btn-secondary {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    color: var(--text-primary);
}

.content-list-header .btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--border-hover);
}

.content-list-header .admin-only-btn,
.content-list-header #remove-duplicates-btn {
    color: var(--text-primary);
}

[data-theme="dark"] .content-list-header .btn-secondary,
html.dark-mode .content-list-header .btn-secondary {
    background: var(--bg-secondary);
    border-color: var(--sage-legacy-color-4b5563);
}

[data-theme="dark"] .content-list-header .btn-secondary:hover,
html.dark-mode .content-list-header .btn-secondary:hover {
    background: var(--bg-tertiary);
}

/* Icon buttons: min 44xvar(--sage-legacy-u-44) touch target (WCAG 2.2 AAA - MOBILE_RESPONSIVE_STANDARDS) */
.btn-icon {
    padding: 0;
    min-width: var(--sage-legacy-u-44);
    min-height: var(--sage-legacy-u-44);
    width: var(--sage-legacy-u-44);
    height: var(--sage-legacy-u-44);
    background: transparent;
    border: var(--sage-legacy-u-1-5) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    font-size: var(--sage-legacy-u-14);
    line-height: 1;
    position: relative;
    z-index: var(--sage-app-layer-overlay-menu);
    pointer-events: auto;
}

/* Dark mode toggle button - ensure it's always clickable */
#dark-mode-toggle {
    position: relative !important;
    z-index: var(--sage-app-layer-overlay-menu) !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    min-width: var(--sage-legacy-u-40) !important;
    min-height: var(--sage-legacy-u-40) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

#dark-mode-toggle * {
    pointer-events: none !important;
}

#dark-mode-toggle:hover {
    transform: scale(1.1) !important;
    background: var(--sage-legacy-alpha-255-255-255-0300) !important;
}

#dark-mode-toggle:active {
    transform: scale(0.95) !important;
}

#dark-mode-toggle:focus {
    outline: var(--sage-legacy-u-2) solid var(--sage-legacy-alpha-255-255-255-0500) !important;
    outline-offset: var(--sage-legacy-u-2) !important;
}

.btn-icon:hover {
    background: var(--bg-secondary);
    transform: translateY(calc(var(--sage-legacy-u-1) * -1));
    box-shadow: var(--sage-app-shadow-elevation-2-2);
}

/* Icon button color variants */
.btn-icon.btn-success {
    border-color: var(--success);
    color: var(--success);
}

.btn-icon.btn-success:hover {
    background: var(--sage-legacy-alpha-16-185-129-0100);
    border-color: var(--sage-legacy-color-059669);
    color: var(--sage-legacy-color-059669);
}

[data-theme="dark"] .btn-icon.btn-success:hover,
.dark-mode .btn-icon.btn-success:hover {
    background: var(--sage-legacy-alpha-16-185-129-0200);
}

.btn-icon.btn-primary {
    border-color: var(--primary);
    color: var(--primary);
}

.btn-icon.btn-primary:hover {
    background: var(--primary-light);
    border-color: var(--primary-hover);
    color: var(--primary-hover);
}

.btn-icon.btn-secondary {
    border-color: var(--text-secondary);
    color: var(--text-secondary);
}

.btn-icon.btn-secondary:hover {
    background: var(--bg-secondary);
    border-color: var(--text-primary);
    color: var(--text-primary);
}

.btn-icon.btn-warning {
    border-color: var(--warning);
    color: var(--warning);
}

.btn-icon.btn-warning:hover {
    background: var(--sage-legacy-alpha-245-158-11-0100);
    border-color: var(--sage-legacy-color-d97706);
    color: var(--sage-legacy-color-d97706);
}

[data-theme="dark"] .btn-icon.btn-warning:hover,
.dark-mode .btn-icon.btn-warning:hover {
    background: var(--sage-legacy-alpha-245-158-11-0200);
}

.btn-icon.btn-danger {
    border-color: var(--error);
    color: var(--error);
}

.btn-icon.btn-danger:hover {
    background: var(--sage-legacy-alpha-239-68-68-0100);
    border-color: var(--sage-legacy-color-dc2626);
    color: var(--sage-legacy-color-dc2626);
}

[data-theme="dark"] .btn-icon.btn-danger:hover,
.dark-mode .btn-icon.btn-danger:hover {
    background: var(--sage-legacy-alpha-239-68-68-0200);
}

/* Icon button variants */
.btn-icon-view {
    border-color: var(--sage-legacy-color-3b82f6);
    color: var(--sage-legacy-color-3b82f6);
}

.btn-icon-view:hover {
    background: var(--sage-legacy-alpha-59-130-246-0100);
    border-color: var(--primary);
    color: var(--primary);
}

[data-theme="dark"] .btn-icon-view:hover,
.dark-mode .btn-icon-view:hover {
    background: var(--sage-legacy-alpha-59-130-246-0200);
}

.btn-icon-edit {
    border-color: var(--sage-legacy-color-f59e0b);
    color: var(--sage-legacy-color-f59e0b);
}

.btn-icon-edit:hover {
    background: var(--sage-legacy-alpha-245-158-11-0100);
    border-color: var(--sage-legacy-color-d97706);
    color: var(--sage-legacy-color-d97706);
}

[data-theme="dark"] .btn-icon-edit:hover,
.dark-mode .btn-icon-edit:hover {
    background: var(--sage-legacy-alpha-245-158-11-0200);
}

.btn-icon-delete {
    border-color: var(--sage-legacy-color-ef4444);
    color: var(--sage-legacy-color-ef4444);
}

.btn-icon-delete:hover {
    background: var(--sage-legacy-alpha-239-68-68-0100);
    border-color: var(--sage-legacy-color-dc2626);
    color: var(--sage-legacy-color-dc2626);
}

[data-theme="dark"] .btn-icon-delete:hover,
.dark-mode .btn-icon-delete:hover {
    background: var(--sage-legacy-alpha-239-68-68-0200);
}

.btn-icon-reprocess {
    border-color: var(--sage-legacy-color-059669);
    color: var(--sage-legacy-color-059669);
}

.btn-icon-reprocess:hover:not(:disabled) {
    background: var(--sage-legacy-alpha-5-150-105-0100);
    border-color: var(--sage-legacy-color-047857);
    color: var(--sage-legacy-color-047857);
}

[data-theme="dark"] .btn-icon-reprocess:hover:not(:disabled),
.dark-mode .btn-icon-reprocess:hover:not(:disabled) {
    background: var(--sage-legacy-alpha-5-150-105-0200);
}

/* Action icons container */
.action-icons {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--sage-legacy-u-6);
    align-items: center;
}

/* Smaller action button icons on all lists (Content, Scopes, Chatbots, Code, Users, etc.) */
.action-icons .btn-icon {
    min-width: var(--sage-legacy-u-26);
    min-height: var(--sage-legacy-u-26);
    width: var(--sage-legacy-u-26);
    height: var(--sage-legacy-u-26);
}
.action-icons .btn-icon svg {
    width: var(--sage-legacy-u-12);
    height: var(--sage-legacy-u-12);
    flex-shrink: 0;
}

.content-actions-cell .action-icons {
    flex-wrap: nowrap;
    min-width: 0;
}

/* Table */
/* CodeGuide DataTable: list card; height fits content up to max, then scrollbars */
.documents-table-container {
    background: var(--list-card-bg, var(--bg-primary));
    border-radius: var(--sage-legacy-u-8);
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - var(--sage-legacy-u-260));
    min-height: var(--sage-legacy-u-280);
    box-shadow: var(--sage-app-shadow-elevation-3);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    transition: background-color 0.2s;
    border: var(--sage-legacy-u-1) solid var(--border);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    display: block;
    flex-shrink: 0;
}

/* File path links - open source in new tab */
.file-path-link {
    color: var(--primary, var(--primary));
    text-decoration: none;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}
.file-path-link:hover {
    text-decoration: underline;
}

.documents-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    border-spacing: 0;
    text-align: left;
    min-width: 0;
}

.documents-table thead th {
    white-space: nowrap;
}

.documents-table th,
.documents-table td {
    box-sizing: border-box;
}

/* Content table: box-sizing so column widths include padding; removes gap between col 1 and 2 */
#content-table th,
#content-table td {
    box-sizing: border-box;
}

.documents-table th,
.documents-table td {
    text-align: left;
}

/* Checkbox column - minimal right padding to eliminate gap before Document ID */
.documents-table th:nth-child(1),
.documents-table td:nth-child(1) {
    width: var(--sage-legacy-u-36);
    min-width: var(--sage-legacy-u-36);
    max-width: var(--sage-legacy-u-36);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-2) var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    text-align: left;
}

/* Content table only: col 1 and 2; width includes padding (border-box), no gap */
#content-table th:nth-child(1),
#content-table td:nth-child(1) {
    width: var(--sage-legacy-u-32) !important;
    min-width: var(--sage-legacy-u-32) !important;
    max-width: var(--sage-legacy-u-32) !important;
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-2) var(--sage-legacy-u-4) var(--sage-legacy-u-4) !important;
    box-sizing: border-box !important;
}
#content-table th:nth-child(2),
#content-table td:nth-child(2) {
    padding-left: var(--sage-legacy-u-4) !important;
    box-sizing: border-box !important;
}
#content-table thead th:nth-child(1) { padding: var(--sage-legacy-u-4) var(--sage-legacy-u-2) var(--sage-legacy-u-4) var(--sage-legacy-u-4) !important; }
#content-table thead th:nth-child(2) { padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8) var(--sage-legacy-u-4) var(--sage-legacy-u-4) !important; }

/* Badge styling for compact display */
.documents-table .source-badge,
.documents-table .content-type-badge,
.documents-table .document-type-badge,
.documents-table .content-readiness-badge,
.documents-table .content-signal-badge,
.documents-table .status-badge {
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-6);
    font-size: var(--sage-legacy-u-11);
    display: inline-block;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Document ID column - compact but readable */
.documents-table th:nth-child(2),
.documents-table td:nth-child(2) {
    width: 5%;
    min-width: var(--sage-legacy-u-52);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8) var(--sage-legacy-u-4) var(--sage-legacy-u-4);
}

/* Title column - large to fill list */
.documents-table th:nth-child(3),
.documents-table td:nth-child(3) {
    width: 24%;
    min-width: var(--sage-legacy-u-120);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

/* Source column */
.documents-table th:nth-child(4),
.documents-table td:nth-child(4) {
    width: 6%;
    min-width: var(--sage-legacy-u-48);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Content Type column */
.documents-table th:nth-child(5),
.documents-table td:nth-child(5) {
    width: 6%;
    min-width: var(--sage-legacy-u-48);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Document Type column */
.documents-table th:nth-child(6),
.documents-table td:nth-child(6) {
    width: 6%;
    min-width: var(--sage-legacy-u-48);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* File Path column (7) - large to fill list */
.documents-table th:nth-child(7),
.documents-table td:nth-child(7) {
    width: 22%;
    min-width: var(--sage-legacy-u-100);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

/* Size column (8) */
.documents-table th:nth-child(8),
.documents-table td:nth-child(8) {
    width: 5%;
    min-width: var(--sage-legacy-u-48);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
}

/* Status column (9) */
.documents-table th:nth-child(9),
.documents-table td:nth-child(9) {
    width: 6%;
    min-width: var(--sage-legacy-u-52);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
}

/* Created column (10) */
.documents-table th:nth-child(10),
.documents-table td:nth-child(10) {
    width: 6%;
    min-width: var(--sage-legacy-u-64);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Actions column (11) - always visible, fixed share of width */
.documents-table th:nth-child(11),
.documents-table td:nth-child(11) {
    width: 15%;
    min-width: var(--sage-legacy-u-140);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    white-space: nowrap;
}

/* CodeGuide-style: no vertical bars between columns, only row borders */
.documents-table th,
.documents-table td,
#scopes-table th,
#scopes-table td,
#chatbots-table th,
#chatbots-table td,
.scope-content-table th,
.scope-content-table td {
    border-left: none !important;
    border-right: none !important;
}

.documents-table thead {
    background: var(--table-header-bg, var(--bg-secondary));
}

/* CodeGuide thead: bg/gray-50 dark:bg/gray-700, text uppercase */
.documents-table th {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-12);
    text-align: left;
    font-weight: 600;
    font-size: var(--sage-legacy-u-12);
    color: var(--table-header-text, var(--text-primary));
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    background: var(--list-card-header-bg, var(--table-header-bg, var(--bg-secondary)));
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: normal;
    word-wrap: break-word;
    line-height: 1.2;
    vertical-align: middle;
}

.documents-table thead th .sort-icon {
    opacity: 0.8;
}

.documents-table td {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    color: var(--text-primary);
    background: var(--bg-primary);
    vertical-align: top;
    font-size: var(--font-size-sm);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

.documents-table tbody tr {
    transition: background-color 0.2s;
}

.documents-table tbody tr:hover {
    background: var(--bg-tertiary);
}

.documents-table tbody tr:hover td {
    background: var(--bg-tertiary);
}

/* Scopes table - match content table styling; scrollbars for overflow */
#scopes-table-container {
    background: var(--list-card-bg, var(--bg-primary));
    border-radius: var(--sage-legacy-u-8);
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - var(--sage-legacy-u-260));
    min-height: var(--sage-legacy-u-280);
    box-shadow: var(--sage-app-shadow-elevation-1);
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: var(--sage-legacy-u-1) solid var(--border);
    box-sizing: border-box !important;
    visibility: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

#scopes-table {
    width: 100%;
    min-width: var(--sage-legacy-u-1120);
    border-collapse: collapse;
    table-layout: fixed;
    border-spacing: 0;
}

#scopes-table thead {
    background: var(--list-card-header-bg, var(--table-header-bg, var(--bg-secondary)));
}

/* Scopes table - one useful field per column */
#scopes-table th:nth-child(1),
#scopes-table td:nth-child(1) {
    width: var(--sage-legacy-u-32);
    min-width: var(--sage-legacy-u-32);
    max-width: var(--sage-legacy-u-32);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-2) !important;
}
#scopes-table th:nth-child(2),
#scopes-table td:nth-child(2) { width: 8%; min-width: var(--sage-legacy-u-84); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(3),
#scopes-table td:nth-child(3) { width: 18%; min-width: var(--sage-legacy-u-180); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(4),
#scopes-table td:nth-child(4) { width: 28%; min-width: var(--sage-legacy-u-260); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(5),
#scopes-table td:nth-child(5) { width: 10%; min-width: var(--sage-legacy-u-120); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(6),
#scopes-table td:nth-child(6) { width: 10%; min-width: var(--sage-legacy-u-120); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(7),
#scopes-table td:nth-child(7) { width: 9%; min-width: var(--sage-legacy-u-100); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(8),
#scopes-table td:nth-child(8) { width: 9%; min-width: var(--sage-legacy-u-100); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }
#scopes-table th:nth-child(9),
#scopes-table td:nth-child(9) { width: 14%; min-width: var(--sage-legacy-u-150); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); }

#scopes-table th {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    text-align: left;
    font-weight: 600;
    font-size: var(--sage-legacy-u-11);
    color: var(--table-header-text, var(--text-primary));
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    background: var(--list-card-header-bg, var(--table-header-bg, var(--bg-secondary)));
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.2;
}

#scopes-table thead th .sort-icon {
    opacity: 0.8;
}

#scopes-table td {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    font-size: var(--font-size-sm);
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

#scopes-table tbody tr:hover {
    background: var(--bg-tertiary);
}

#scopes-table tbody tr:hover td {
    background: var(--bg-tertiary);
}

/* Scopes table: all columns wrap to show full data */
#scopes-table td[data-column="name"],
#scopes-table td[data-column="description"],
#scopes-table td[data-column="content"],
#scopes-table td[data-column="chatbots"],
#scopes-table td[data-column="default"],
#scopes-table td[data-column="created"] {
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: visible;
    text-overflow: clip;
    vertical-align: top;
}

.scope-id-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--sage-legacy-u-48);
    height: var(--sage-legacy-u-26);
    padding: 0 var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    color: var(--primary);
    font-weight: 700;
    font-size: var(--sage-legacy-u-12);
}

.scope-name {
    display: block;
    color: var(--text-primary);
    font-weight: 700;
    line-height: 1.3;
}

.scope-description-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text-secondary);
    line-height: 1.35;
}

.scope-muted,
.scope-date {
    color: var(--text-tertiary);
}

.scope-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--sage-legacy-u-24);
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-10);
    border-radius: var(--sage-legacy-u-999);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
}

.scope-type-badge.default {
    color: hsl(var(--foreground));
    background: color-mix(in srgb, hsl(var(--success)) 15%, hsl(var(--card)));
}

.scope-type-badge.custom {
    /* Was a fixed light-blue chip, so it kept a light background in dark mode and fell to
       3.01:1. Derive both sides from tokens so the chip follows the theme. */
    color: hsl(var(--foreground));
    background: color-mix(in srgb, hsl(var(--info)) 15%, hsl(var(--card)));
}

.scope-metric-link {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sage-legacy-u-1);
    min-width: var(--sage-legacy-u-92);
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-8);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
}

.scope-metric-link:hover,
.scope-metric-link:focus-visible {
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring-2);
}

.scope-metric-link strong {
    font-size: var(--sage-legacy-u-16);
    line-height: 1;
}

.scope-metric-link span {
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-11);
    text-transform: uppercase;
}

.scope-row-actions.action-icons {
    justify-content: flex-start;
}

.scopes-cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-320), 1fr));
    gap: var(--sage-legacy-u-12);
    width: 100%;
}

.scope-card {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-16);
    box-shadow: var(--shadow-sm, 0 var(--sage-legacy-u-1) var(--sage-legacy-u-2) var(--sage-legacy-alpha-15-23-42-0060));
}

.scope-card-header,
.scope-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sage-legacy-u-8);
}

.scope-card h3 {
    margin: var(--sage-legacy-u-14) 0 var(--sage-legacy-u-6);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-18);
    line-height: 1.25;
}

.scope-card p {
    min-height: var(--sage-legacy-u-44);
    margin: 0 0 var(--sage-legacy-u-14);
    color: var(--text-secondary);
    line-height: 1.4;
}

.scope-card-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sage-legacy-u-8);
    margin-bottom: var(--sage-legacy-u-14);
}

.scope-card-metrics button,
.scope-card-metrics span {
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-2);
    min-height: var(--sage-legacy-u-54);
    padding: var(--sage-legacy-u-8);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    color: var(--text-primary);
    text-align: left;
}

.scope-card-metrics button {
    cursor: pointer;
}

.scope-card-metrics strong {
    font-size: var(--sage-legacy-u-16);
    line-height: 1;
}

.scope-card-metrics span span,
.scope-card-metrics button span {
    color: var(--text-tertiary);
    font-size: var(--sage-legacy-u-11);
    text-transform: uppercase;
}

.scope-empty-card {
    grid-column: 1 / -1;
}

/* Chatbot table - match content table styling; scrollbars for overflow */
#chatbots-table-container {
    background: var(--list-card-bg, var(--bg-primary));
    border-radius: var(--sage-legacy-u-8);
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - var(--sage-legacy-u-260));
    min-height: var(--sage-legacy-u-280);
    box-shadow: var(--sage-app-shadow-elevation-1);
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: var(--sage-legacy-u-1) solid var(--border);
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

#chatbots-table {
    width: 100%;
    min-width: var(--sage-legacy-u-800);
    border-collapse: collapse;
    table-layout: fixed;
    border-spacing: 0;
}

#chatbots-table thead {
    background: var(--list-card-header-bg, var(--table-header-bg, var(--bg-secondary)));
}

#chatbots-table th {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    text-align: left;
    font-weight: 600;
    font-size: var(--sage-legacy-u-11);
    color: var(--table-header-text, var(--text-primary));
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    background: var(--list-card-header-bg, var(--table-header-bg, var(--bg-secondary)));
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.2;
    vertical-align: middle;
}

#chatbots-table thead th .sort-icon {
    opacity: 0.8;
}

#chatbots-table td {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    color: var(--text-primary);
    background: var(--bg-primary);
    vertical-align: top;
    font-size: var(--font-size-sm);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

#chatbots-table tbody tr {
    transition: background-color 0.2s;
}

#chatbots-table tbody tr:hover {
    background: var(--bg-tertiary);
}

#chatbots-table tbody tr:hover td {
    background: var(--bg-tertiary);
}

/* All chatbot table cells wrap */
#chatbots-table td:nth-child(2) {
    overflow: visible;
    text-overflow: clip;
}

/* All chatbot columns wrap to show full data */

/* Chatbot table: no gap between checkbox and Name column */
#chatbots-table th:nth-child(1),
#chatbots-table td:nth-child(1) {
    width: var(--sage-legacy-u-32);
    min-width: var(--sage-legacy-u-32);
    max-width: var(--sage-legacy-u-32);
    padding: var(--sage-legacy-u-6) 0 var(--sage-legacy-u-6) var(--sage-legacy-u-2);
}

#chatbots-table th:nth-child(2),
#chatbots-table td:nth-child(2) {
    padding-left: var(--sage-legacy-u-4);
}

#chatbots-table th:nth-child(2),
#chatbots-table td:nth-child(2) {
    width: 20%;
    min-width: var(--sage-legacy-u-200);
}

#chatbots-table th:nth-child(3),
#chatbots-table td:nth-child(3) {
    width: 15%;
    min-width: var(--sage-legacy-u-120);
}

#chatbots-table th:nth-child(4),
#chatbots-table td:nth-child(4) {
    width: 10%;
    min-width: var(--sage-legacy-u-100);
}

#chatbots-table th:nth-child(5),
#chatbots-table td:nth-child(5) {
    width: 10%;
    min-width: var(--sage-legacy-u-80);
}

#chatbots-table th:nth-child(6),
#chatbots-table td:nth-child(6) {
    width: 12%;
    min-width: var(--sage-legacy-u-100);
}

#chatbots-table th:nth-child(7),
#chatbots-table td:nth-child(7) {
    width: 14%;
    min-width: var(--sage-legacy-u-140);
}

#chatbots-table th:nth-child(8),
#chatbots-table td:nth-child(8) {
    width: 15%;
    min-width: var(--sage-legacy-u-180);
}

.documents-table tbody tr.selected {
    background: var(--primary-light);
}

/* Status Badges */
.status-badge {
    display: inline-block;
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-6);
    border-radius: var(--sage-legacy-u-10);
    font-size: var(--sage-legacy-u-11);
    font-weight: 500;
    white-space: nowrap;
    line-height: 1.2;
}

.status-pending {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

[data-theme="dark"] .status-pending,
.dark-mode .status-pending {
    background: var(--sage-legacy-color-78350f);
    color: var(--sage-legacy-color-fbbf24);
}

.status-processing {
    background: var(--sage-legacy-color-dbeafe);
    color: var(--sage-legacy-color-1e40af);
}

[data-theme="dark"] .status-processing,
.dark-mode .status-processing {
    background: var(--sage-legacy-color-1e3a8a);
    color: var(--sage-legacy-color-93c5fd);
}

.status-completed {
    background: var(--sage-legacy-color-d1fae5);
    color: var(--sage-legacy-color-065f46);
}

[data-theme="dark"] .status-completed,
.dark-mode .status-completed {
    background: var(--sage-legacy-color-064e3b);
    color: var(--sage-legacy-color-6ee7b7);
}

.status-active {
    background: var(--sage-legacy-color-d1fae5);
    color: var(--sage-legacy-color-065f46);
}

[data-theme="dark"] .status-active,
.dark-mode .status-active {
    background: var(--sage-legacy-color-064e3b);
    color: var(--sage-legacy-color-6ee7b7);
}

.status-inactive {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-991b1b);
}

[data-theme="dark"] .status-inactive,
.dark-mode .status-inactive {
    background: var(--sage-legacy-color-7f1d1d);
    color: var(--sage-legacy-color-fca5a5);
}

.status-failed {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-991b1b);
}

[data-theme="dark"] .status-failed,
.dark-mode .status-failed {
    background: var(--sage-legacy-color-7f1d1d);
    color: var(--sage-legacy-color-fca5a5);
}

/* Bulk Actions */
.bulk-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md);
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    margin-top: var(--spacing-md);
}

.pagination-bulk-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex: 1;
    justify-content: center;
}

.bulk-selected-count {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
}

.bulk-buttons {
    display: flex;
    gap: var(--spacing-sm);
}

.btn-sm {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-12);
    font-size: var(--font-size-sm);
    min-height: var(--sage-legacy-u-32);
}

/* Upload Area */
.upload-area {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-xl);
    margin-bottom: var(--spacing-lg);
    color: var(--text-primary);
}

.upload-dropzone {
    border: var(--sage-legacy-u-2) dashed var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-xl);
    text-align: center;
    transition: all 0.2s;
    min-height: var(--sage-legacy-u-200);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.upload-dropzone:hover,
.upload-dropzone.dragover {
    border-color: var(--primary);
    background: var(--primary-light);
}

.upload-hint {
    font-size: var(--font-size-sm);
    color: var(--text-tertiary);
    margin-top: var(--spacing-sm);
}

.upload-options {
    margin-bottom: var(--spacing-lg);
    display: flex;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
    padding: var(--spacing-md);
    background: var(--bg-secondary);
    border-radius: var(--sage-legacy-u-8);
}

.sage-segmented-control {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-4);
    padding: var(--sage-legacy-u-4);
    margin: 0 0 var(--spacing-md) 0;
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-10);
    background: var(--bg-secondary);
}

.sage-segmented-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--sage-legacy-u-36);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-14);
    border-radius: var(--sage-legacy-u-8);
    color: var(--text-secondary);
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}

.sage-segmented-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sage-segmented-option span {
    pointer-events: none;
}

.sage-segmented-option.active {
    background: var(--primary);
    color: var(--sage-legacy-color-ffffff);
    box-shadow: var(--shadow-sm);
}

.sage-segmented-option:focus-within {
    outline: var(--sage-legacy-u-2) solid var(--focus-ring, var(--sage-legacy-alpha-37-99-235-0350));
    outline-offset: var(--sage-legacy-u-2);
}

.upload-queue {
    margin-top: var(--spacing-lg);
}

.upload-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md);
    background: var(--bg-secondary);
    border-radius: var(--sage-legacy-u-8);
    margin-bottom: var(--spacing-sm);
    color: var(--text-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
}

.upload-progress {
    width: 100%;
    height: var(--sage-legacy-u-8);
    background: var(--bg-tertiary);
    border-radius: var(--sage-legacy-u-4);
    overflow: hidden;
    margin-top: var(--spacing-sm);
}

.upload-progress-bar {
    height: 100%;
    background: var(--primary);
    transition: width 0.3s;
}

/* Form Elements */
.form-group {
    margin-bottom: var(--spacing-lg);
}

.form-group label {
    display: block;
    margin-bottom: var(--spacing-sm);
    font-weight: 500;
    color: var(--text-primary);
}

.form-input {
    width: 100%;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-14);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    font-size: var(--font-size-base);
    font-family: var(--font-family);
    min-height: var(--sage-legacy-u-44);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.form-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring);
}

.form-input.readonly,
.form-input[readonly] {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    cursor: not-allowed;
    opacity: 0.9;
}

.form-input.readonly:focus,
.form-input[readonly]:focus {
    border-color: var(--border);
    box-shadow: none;
}

.read-only-form .form-input {
    background-color: var(--bg-secondary);
    cursor: not-allowed;
}

.form-readonly-value {
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-14);
    background-color: var(--bg-secondary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    color: var(--text-primary);
    font-size: var(--font-size-base);
    min-height: var(--sage-legacy-u-44);
    display: flex;
    align-items: center;
}

textarea.form-input {
    min-height: var(--sage-legacy-u-120);
    resize: vertical;
}

/* Enhanced Form Styles */
.enhanced-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.form-label {
    font-weight: 500;
    color: var(--text-primary);
    font-size: var(--font-size-base);
}

.form-label .required {
    color: var(--error);
}

.form-fieldset {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-md);
    margin: 0;
}
.form-legend {
    padding: 0 var(--sage-legacy-u-8);
    font-weight: 600;
    color: var(--text-primary);
}

/* Model config modal: two columns, fit one screen without vertical scroll */
.model-config-modal-content {
    max-width: var(--sage-legacy-u-820);
    width: 95vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}
.model-config-modal-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}
/* Section labels: overall vs model-specific */
.model-config-section-title {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-xs) 0;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
/* Overall model setup: one column (full width), applies to both models */
.model-config-overall {
    flex-shrink: 0;
    padding-bottom: var(--spacing-sm);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}
.model-config-top-row {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}
.model-config-top-row .form-group {
    margin-bottom: 0;
}
/* Model-specific: two columns (LLM | Embedding) */
.model-config-models {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-top: var(--spacing-sm);
}
.model-config-models .model-config-section-title {
    flex-shrink: 0;
}
.model-config-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
    min-height: 0;
    flex: 1;
    align-content: start;
}
.model-config-col {
    min-width: 0;
    margin: 0;
    padding: var(--spacing-sm) var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-6);
}
#model-config-modal .form-group {
    margin-bottom: 0;
}
#model-config-modal .form-credentials {
    margin-top: var(--sage-legacy-u-2);
}
#model-config-modal .form-credentials .form-group {
    margin-bottom: 0;
}
#model-config-modal .form-credentials .form-group + .form-group {
    margin-top: var(--sage-legacy-u-6);
}
#model-config-modal .form-hint {
    margin-top: var(--sage-legacy-u-2);
}

.form-hint {
    font-size: var(--font-size-sm);
    /* WCAG AA: --text-tertiary (var(--sage-legacy-color-999999)) is ~2.7:1 on light surfaces; use the
       secondary ink for hint text (recurring axe color-contrast class) */
    color: var(--text-secondary);
    margin-top: calc(var(--sage-legacy-u-4) * -1);
}

.field-error {
    color: var(--error);
    font-size: var(--font-size-sm);
    margin-top: var(--sage-legacy-u-4);
    display: none;
    line-height: 1.4;
    min-height: var(--sage-legacy-u-20);
}

.field-error-input {
    border-color: var(--error) !important;
    box-shadow: var(--sage-app-shadow-ring-3) !important;
}

.field-error-input:focus {
    border-color: var(--error) !important;
    box-shadow: var(--sage-app-shadow-ring-4) !important;
}

/* Scope modal: tabbed interface */
.scope-form-tabbed {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* Reduce gap between "Edit Search Scope" header and Scope details / Content tabs */
#form-modal .modal-header {
    padding-bottom: var(--sage-legacy-u-6);
}
#form-modal .modal-body {
    padding-top: var(--sage-legacy-u-6);
}
.scope-modal-tabs {
    display: flex;
    gap: 0;
    border-bottom: var(--sage-legacy-u-2) solid var(--border);
    margin-bottom: var(--spacing-sm);
    margin-top: 0;
    flex-shrink: 0;
}
.scope-tab-btn {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-14);
    border: none;
    border-bottom: var(--sage-legacy-u-2) solid transparent;
    margin-bottom: calc(var(--sage-legacy-u-2) * -1);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: 600;
    cursor: pointer;
    border-radius: var(--sage-legacy-u-6) var(--sage-legacy-u-6) 0 0;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.scope-tab-btn:hover {
    color: var(--text-primary);
    background: var(--bg-secondary);
}
.scope-tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background: var(--bg-primary);
}
.scope-tab-panel {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-bottom: var(--spacing-sm);
}
.scope-form-actions {
    margin-top: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    flex-shrink: 0;
}

/* Scope modal: Content tab - filters and two-panel table */
.scope-content-tab-hint {
    margin-bottom: var(--sage-legacy-u-6);
    margin-top: 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}
/* Reduce vertical gaps in Content tab so more rows fit */
#scope-panel-content .user-controls-row {
    margin-bottom: var(--sage-legacy-u-6);
}
#scope-panel-content .user-pagination-info {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    margin-bottom: var(--sage-legacy-u-2);
}
#scope-panel-content .user-pagination-info#scope-content-pagination-info-bottom {
    margin-top: var(--sage-legacy-u-2);
}
#scope-panel-content .scope-content-single-panel {
    margin-bottom: var(--sage-legacy-u-6);
}
#scope-panel-content .scope-panel-header {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
}
#scope-panel-content .scope-content-table-wrapper {
    max-height: var(--sage-legacy-u-420);
    min-height: var(--sage-legacy-u-180);
}
#scope-panel-content .form-field.scope-selected-summary {
    margin-bottom: 0;
}
#scope-panel-content .scope-selected-summary .form-label {
    margin-bottom: var(--sage-legacy-u-2);
}
.scope-selected-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sage-legacy-u-8);
    margin-bottom: var(--sage-legacy-u-4);
}
.scope-selected-header-row .form-label {
    margin-bottom: 0;
}
.scope-selected-popout-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-4);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    font-size: var(--font-size-sm);
}
#scope-panel-content .scope-selected-table-wrapper,
#chatbot-form .scope-selected-table-wrapper {
    max-height: var(--sage-legacy-u-220);
    min-height: var(--sage-legacy-u-80);
}
.scope-selected-table-wrapper .scope-content-empty {
    padding: var(--sage-legacy-u-8);
    color: var(--text-secondary);
    font-style: italic;
}
.scope-content-filters-row {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
    align-items: center;
}
.scope-content-filters-row .scope-content-search {
    min-width: var(--sage-legacy-u-180);
    flex: 1;
    max-width: var(--sage-legacy-u-280);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-12);
    font-size: var(--font-size-sm);
}
.scope-content-filters-row .scope-content-filter {
    min-width: var(--sage-legacy-u-110);
    max-width: var(--sage-legacy-u-140);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10);
    font-size: var(--font-size-sm);
}
.scope-content-filters-row #scope-content-filter-filepath {
    min-width: var(--sage-legacy-u-140);
    max-width: var(--sage-legacy-u-180);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10);
    font-size: var(--font-size-sm);
}
.scope-content-single-panel {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: var(--spacing-sm);
}
.scope-panel-header {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    font-weight: 600;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    flex-shrink: 0;
}
.scope-content-table-wrapper {
    overflow-x: auto;
    overflow-y: auto;
    flex: 1;
    min-height: var(--sage-legacy-u-200);
    max-height: var(--sage-legacy-u-320);
}
.scope-content-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.scope-content-table th,
.scope-content-table td {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    text-align: left;
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    vertical-align: top;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}
.scope-content-table th {
    background: var(--bg-secondary);
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-11);
}
.scope-content-table th.hidden,
.scope-content-table td.hidden {
    display: none;
}
.scope-col-check {
    width: var(--sage-legacy-u-44);
    text-align: center;
    vertical-align: middle;
}
.scope-content-table tbody tr:hover {
    background: var(--primary-light);
}
.scope-cell-title {
    max-width: var(--sage-legacy-u-280);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: var(--text-primary);
}
.scope-cell-id { width: var(--sage-legacy-u-50); color: var(--text-tertiary); white-space: normal; word-wrap: break-word; }
.scope-cell-filepath {
    max-width: var(--sage-legacy-u-200);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: var(--text-secondary);
    font-size: var(--font-size-xs, var(--sage-legacy-u-12));
}
.scope-cell-source { width: var(--sage-legacy-u-90); color: var(--text-secondary); }
.scope-cell-dept { width: var(--sage-legacy-u-100); color: var(--text-secondary); }
.scope-cell-status { width: var(--sage-legacy-u-88); color: var(--text-secondary); }
.scope-content-empty,
.scope-content-loading,
.scope-content-error {
    padding: var(--spacing-md);
    color: var(--text-tertiary);
    font-size: var(--font-size-sm);
    font-style: italic;
    text-align: center;
}
.scope-content-error {
    color: var(--error);
    font-style: normal;
}
.scope-selected-summary {
    margin-bottom: 0;
}
.scope-selected-summary .form-label {
    margin-bottom: var(--sage-legacy-u-4);
}
.scope-selected-textarea {
    font-size: var(--font-size-sm);
    resize: vertical;
    min-height: var(--sage-legacy-u-80);
    background: var(--bg-secondary);
    color: var(--text-primary);
}

@media (max-width: 56.25rem) {
    .scope-content-filters-row {
        flex-wrap: wrap;
    }
    .scope-content-filters-row .scope-content-filter {
        max-width: none;
    }
}

/* CodeGuide-style block-level error (showError) - red block + X icon */
.error-message-block {
    display: flex;
    align-items: flex-start;
    gap: var(--sage-legacy-u-12);
    border-radius: var(--sage-legacy-u-8);
    background: var(--sage-legacy-color-fef2f2);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-fecaca);
    padding: var(--sage-legacy-u-16);
    margin-bottom: var(--spacing-md);
}

[data-theme="dark"] .error-message-block {
    background: var(--sage-legacy-alpha-127-29-29-0300);
    border-color: var(--sage-legacy-color-991b1b);
}

.error-message-block .error-message-icon {
    flex-shrink: 0;
    width: var(--sage-legacy-u-20);
    height: var(--sage-legacy-u-20);
    color: var(--sage-legacy-color-f87171);
}

[data-theme="dark"] .error-message-block .error-message-icon {
    color: var(--sage-legacy-color-fca5a5);
}

.error-message-block .error-message-text {
    font-size: var(--sage-legacy-u-14);
    font-weight: 500;
    color: var(--sage-legacy-color-991b1b);
}

[data-theme="dark"] .error-message-block .error-message-text {
    color: var(--sage-legacy-color-fecaca);
}

/* CodeGuide-style field-level error (showFieldError) - smaller red block + X icon */
.field-error-block {
    display: flex;
    align-items: flex-start;
    gap: var(--sage-legacy-u-8);
    margin-top: var(--sage-legacy-u-4);
    border-radius: var(--sage-legacy-u-8);
    background: var(--sage-legacy-color-fef2f2);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-fecaca);
    padding: var(--sage-legacy-u-8);
}

[data-theme="dark"] .field-error-block {
    background: var(--sage-legacy-alpha-127-29-29-0300);
    border-color: var(--sage-legacy-color-991b1b);
}

.field-error-block .field-error-icon {
    flex-shrink: 0;
    width: var(--sage-legacy-u-16);
    height: var(--sage-legacy-u-16);
    color: var(--sage-legacy-color-f87171);
}

[data-theme="dark"] .field-error-block .field-error-icon {
    color: var(--sage-legacy-color-fca5a5);
}

.field-error-block .field-error-text {
    font-size: var(--sage-legacy-u-14);
    font-weight: 500;
    color: var(--sage-legacy-color-991b1b);
}

[data-theme="dark"] .field-error-block .field-error-text {
    color: var(--sage-legacy-color-fecaca);
}

/* Error message styling */
.error {
    color: var(--error);
    background: var(--sage-legacy-alpha-239-68-68-0100);
    border: var(--sage-legacy-u-1) solid var(--error);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-md);
}

[data-theme="dark"] .error,
.dark-mode .error {
    background: var(--sage-legacy-alpha-239-68-68-0200);
}

/* Form field with error styling */
.form-field.has-error .form-label {
    color: var(--error);
}

.form-field.has-error .form-input {
    border-color: var(--error);
}

/* Confirmation Modal Styles */
#confirm-modal {
    z-index: var(--sage-app-layer-blocking) !important;
}

#confirm-modal .modal-content {
    animation: modalSlideIn 0.3s ease-out;
    max-height: calc(100vh - var(--sage-legacy-u-24));
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#confirm-modal .modal-body {
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--text-primary);
    flex-shrink: 0;
}

#confirm-modal .modal-footer {
    display: flex;
    gap: var(--sage-legacy-u-12);
    justify-content: flex-end;
    padding: var(--sage-legacy-u-16) var(--sage-legacy-u-24);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    background: var(--bg-secondary);
}

#confirm-modal .btn-danger {
    background: var(--error);
    color: var(--sage-legacy-color-ffffff);
    border: none;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-20);
    border-radius: var(--sage-legacy-u-6);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

#confirm-modal .btn-danger:hover {
    background: var(--sage-legacy-color-dc2626);
}

#confirm-modal .btn-danger:active {
    background: var(--sage-legacy-color-b91c1c);
}

/* Filter and Column modals - CodeGuide-style overlay and panel */
.filter-modal .modal-overlay,
.column-management-modal .modal-overlay {
    background: var(--sage-legacy-alpha-0-0-0-0500);
}

[data-theme="dark"] .filter-modal .modal-overlay,
[data-theme="dark"] .column-management-modal .modal-overlay {
    background: var(--sage-legacy-alpha-0-0-0-0700);
}

.filter-modal .modal-content,
.column-management-modal .modal-content {
    border-radius: var(--sage-legacy-u-12);
    box-shadow: var(--sage-app-shadow-elevation-6);
    max-height: calc(100vh - var(--sage-legacy-u-24));
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.filter-modal .modal-body,
.column-management-modal .modal-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

[data-theme="dark"] .filter-modal .modal-content,
[data-theme="dark"] .column-management-modal .modal-content {
    background: var(--list-card-bg, var(--bg-primary));
}

.filter-modal .modal-close,
.column-management-modal .modal-close {
    background: none;
    border: none;
    padding: var(--sage-legacy-u-10);
    min-width: var(--sage-legacy-u-44);
    min-height: var(--sage-legacy-u-44);
    width: var(--sage-legacy-u-44);
    height: var(--sage-legacy-u-44);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-4);
    cursor: pointer;
    color: var(--text-secondary);
    transition: color 0.2s, background 0.2s;
}

.filter-modal .modal-close:hover,
.column-management-modal .modal-close:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.filter-modal .modal-close svg,
.column-management-modal .modal-close svg {
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
}

/* Filters modal: grid layout fits fields without vertical scroll */
.filter-modal .filter-modal-body {
    align-items: start;
}
@media (max-width: 38.75rem) {
    .filter-modal .filter-modal-body {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 26.25rem) {
    .filter-modal .filter-modal-body {
        grid-template-columns: 1fr;
    }
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(calc(var(--sage-legacy-u-20) * -1)) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Chatbots Cards Grid */
.chatbots-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-300), 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-sm);
    width: 100%;
    box-sizing: border-box;
}

/* Responsive grid for chatbots cards */
@media (max-width: 48rem) {
    .chatbots-cards-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 48.0625rem) and (max-width: 63.9375rem) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-280), 1fr));
    }
}

@media (min-width: 64rem) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-320), 1fr));
    }
}

@media (min-width: 90rem) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-350), 1fr));
    }
}

/* Chatbot Card Styles */
.chatbot-card {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-2) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

.chatbot-card:hover {
    box-shadow: var(--sage-app-shadow-elevation-3-2);
    transform: translateY(calc(var(--sage-legacy-u-2) * -1));
    border-color: var(--primary);
}

.chatbot-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.chatbot-header h3 {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.chatbot-body {
    flex: 1;
    margin-bottom: var(--spacing-md);
}

.chatbot-details {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.chatbot-details .detail-item {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.chatbot-details .detail-item strong {
    color: var(--text-primary);
    margin-right: var(--spacing-xs);
}

.chatbot-actions {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    padding-top: var(--spacing-md);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    margin-top: auto;
}

.answer-quality-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-md);
}

.answer-quality-wide {
    grid-column: 1 / -1;
}

.answer-quality-advanced {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-md);
    margin: var(--spacing-md) 0;
    background: var(--bg-secondary);
}

.answer-quality-advanced summary {
    cursor: pointer;
    font-weight: 600;
    margin-bottom: var(--spacing-md);
}

.answer-quality-preview {
    font-family: var(--font-mono);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.5;
    min-height: var(--sage-legacy-u-180);
}

.persona-builder-toolbar {
    display: grid;
    grid-template-columns: minmax(var(--sage-legacy-u-240), 1fr) auto;
    align-items: end;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.persona-builder-panel {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.persona-builder-panel-header {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-md);
    align-items: baseline;
    margin-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    padding-bottom: var(--spacing-sm);
}

.persona-builder-panel-header h4 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
}

.persona-builder-panel-header span,
.persona-preview-status {
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 700;
}

.persona-preview-status.is-warning {
    color: var(--warning);
}

.persona-builder-section {
    background: var(--bg-primary);
}

.language-overrides-table-wrap,
.router-route-row {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
}

.language-overrides-table-wrap {
    overflow-x: auto;
}

.language-overrides-table {
    width: 100%;
    min-width: var(--sage-legacy-u-860);
    border-collapse: collapse;
}

.language-overrides-table th,
.language-overrides-table td {
    padding: var(--sage-legacy-u-10);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    text-align: left;
    vertical-align: top;
}

.language-overrides-table th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    background: var(--bg-secondary);
}

.language-overrides-table tr:last-child td {
    border-bottom: 0;
}

.language-override-toggle,
.router-route-enabled {
    display: inline-flex;
    gap: var(--sage-legacy-u-8);
    align-items: center;
    font-weight: 700;
    color: var(--text-primary);
}

.router-route-row {
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.router-route-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.answer-quality-modal section {
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    padding: 0 0 var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

.answer-quality-modal section:last-child {
    border-bottom: 0;
}

.answer-quality-health-grid {
    margin: var(--spacing-md) 0;
}

.answer-quality-health-card .stat-value {
    font-size: var(--sage-legacy-u-24);
}

.quality-scoreboard {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--spacing-md);
    margin: var(--spacing-md) 0;
}

.quality-score-card {
    display: grid;
    gap: var(--sage-legacy-u-3);
    min-width: 0;
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-left: var(--sage-legacy-u-3) solid var(--primary);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
}

.quality-score-card strong {
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-22);
    line-height: 1.1;
}

.quality-score-card span {
    color: var(--text-primary);
    font-weight: 700;
}

.quality-score-card small {
    color: var(--text-secondary);
}

.quality-score-success {
    border-left-color: var(--success);
}

.quality-score-warning {
    border-left-color: var(--warning);
}

.quality-score-danger {
    border-left-color: var(--danger);
}

.quality-regression-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
}

.quality-regression-panel > div {
    min-width: 0;
    display: grid;
    gap: var(--sage-legacy-u-2);
    padding: var(--spacing-sm);
    border-radius: var(--sage-legacy-u-6);
    background: var(--bg-secondary);
}

.quality-regression-panel strong {
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-11);
    text-transform: uppercase;
}

.quality-regression-panel span {
    color: var(--text-primary);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.quality-regression-empty {
    display: block;
    color: var(--text-secondary);
}

.quality-positive {
    color: var(--success) !important;
}

.quality-negative {
    color: var(--danger) !important;
}

.answer-quality-failures {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-secondary);
}

.quality-run-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    align-items: center;
    padding: var(--spacing-sm) 0;
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    font-size: var(--font-size-sm);
}

.quality-run-details {
    margin-bottom: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
}

.quality-run-details summary {
    cursor: pointer;
    padding: var(--spacing-sm) var(--spacing-md);
    color: var(--text-primary);
    font-weight: 700;
}

.quality-run-details .scope-content-table-wrapper {
    border: 0;
    border-top: var(--sage-legacy-u-1) solid var(--border);
    border-top-left-radius: var(--sage-app-radius-square);
    border-top-right-radius: var(--sage-app-radius-square);
    border-bottom-right-radius: var(--sage-legacy-u-8);
    border-bottom-left-radius: var(--sage-legacy-u-8);
}

.quality-review-queue {
    display: grid;
    gap: var(--spacing-sm);
}

.quality-review-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
}

.quality-review-card strong {
    color: var(--text-primary);
}

.quality-review-card p {
    margin: var(--sage-legacy-u-4) 0 0;
    color: var(--text-secondary);
}

.quality-review-empty {
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) dashed var(--border);
    border-radius: var(--sage-legacy-u-8);
    color: var(--text-secondary);
    background: var(--bg-secondary);
}

html.dark-mode .quality-score-card,
html.dark-mode .quality-regression-panel,
html.dark-mode .quality-run-details,
html.dark-mode .quality-review-card,
html.dark-mode .quality-review-empty {
    background: var(--bg-secondary);
    border-color: var(--border);
}

html.dark-mode .quality-regression-panel > div {
    background: var(--bg-tertiary);
}

.answer-trace {
    margin-top: var(--sage-legacy-u-10);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    padding-top: var(--sage-legacy-u-8);
    font-size: var(--sage-legacy-u-12);
}

.answer-trace summary {
    cursor: pointer;
    font-weight: 600;
}

.answer-trace-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    margin-top: var(--sage-legacy-u-8);
}

.admin-test-answer-metadata {
    margin-top: var(--sage-legacy-u-10);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    padding-top: var(--sage-legacy-u-8);
    font-size: var(--sage-legacy-u-12);
}

.admin-test-answer-metadata summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--text-primary);
}

.admin-test-answer-metadata dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    margin: var(--sage-legacy-u-8) 0 0;
}

.admin-test-answer-metadata div {
    min-width: 0;
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-8);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
}

.admin-test-answer-metadata dt {
    margin: 0 0 var(--sage-legacy-u-2);
    font-size: var(--sage-legacy-u-10);
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.admin-test-answer-metadata dd {
    margin: 0;
    color: var(--text-primary);
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

html.dark-mode .admin-test-answer-metadata summary,
html.dark-mode .admin-test-answer-metadata dd {
    color: var(--text-primary);
}

html.dark-mode .admin-test-answer-metadata div {
    background: var(--bg-tertiary);
    border-color: var(--border);
}

@media (max-width: 48rem) {
    .answer-quality-grid {
        grid-template-columns: 1fr;
    }

    .admin-test-answer-metadata dl {
        grid-template-columns: 1fr;
    }

    .quality-scoreboard,
    .quality-regression-panel {
        grid-template-columns: 1fr;
    }

    .quality-review-card {
        flex-direction: column;
    }

    .persona-builder-toolbar,
    .persona-builder-panel-header {
        grid-template-columns: 1fr;
        display: grid;
    }
}

/* Chatbot Wizard Styles */
.wizard-progress {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--spacing-lg);
    padding: 0 var(--spacing-md);
    position: relative;
}

.wizard-progress::before {
    content: '';
    position: absolute;
    top: var(--sage-legacy-u-20);
    left: 10%;
    right: 10%;
    height: var(--sage-legacy-u-2);
    background: var(--border);
    z-index: var(--sage-app-layer-behind);
}

.wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: var(--sage-app-layer-raised);
    flex: 1;
}

.wizard-step-number {
    width: var(--sage-legacy-u-40);
    height: var(--sage-legacy-u-40);
    border-radius: var(--sage-app-radius-circle);
    background: var(--bg-secondary);
    border: var(--sage-legacy-u-2) solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--spacing-xs);
    transition: all 0.3s;
}

.wizard-step.active .wizard-step-number {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--sage-legacy-color-ffffff);
}

.wizard-step-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    text-align: center;
}

.wizard-step.active .wizard-step-label {
    color: var(--text-primary);
    font-weight: 600;
}

.wizard-step-content {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(var(--sage-legacy-u-10));
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wizard-actions {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-lg);
    border-top: var(--sage-legacy-u-1) solid var(--border);
}

.radio-option {
    transition: all 0.2s;
    color: var(--text-primary);
}

.radio-option:hover {
    background: var(--bg-secondary);
}

.radio-option input[type="radio"]:checked + div {
    color: var(--primary);
}

.review-summary {
    background: var(--bg-secondary);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
}

.review-section {
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.review-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.form-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    cursor: pointer;
    font-size: var(--font-size-base);
    color: var(--text-primary);
}

.checkbox-label input[type="checkbox"] {
    width: var(--sage-legacy-u-18);
    height: var(--sage-legacy-u-18);
    cursor: pointer;
}

.form-actions {
    display: flex;
    gap: var(--spacing-md);
    justify-content: flex-end;
    padding-top: var(--spacing-md);
    border-top: var(--sage-legacy-u-1) solid var(--border);
}

/* Modal - CodeGuide-style overlay and panel; fit viewport, no page scroll */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--sage-legacy-alpha-0-0-0-0500);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--sage-app-layer-overlay);
    padding: var(--sage-legacy-u-12);
    overflow: hidden;
}

[data-theme="dark"] .modal {
    background: var(--sage-legacy-alpha-0-0-0-0700);
}

.modal-content {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-12);
    max-width: var(--sage-legacy-u-600);
    width: 100%;
    max-height: calc(100vh - var(--sage-legacy-u-24));
    box-shadow: var(--sage-app-shadow-elevation-6);
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

[data-theme="dark"] .modal-content {
    background: var(--list-card-bg, var(--bg-primary));
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-lg);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    flex-shrink: 0;
}

.modal-header h3 {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--text-primary);
}

/* Modal close: min 44xvar(--sage-legacy-u-44) touch target (WCAG 2.2 AAA) */
.modal-close {
    background: none;
    border: none;
    line-height: 1;
    color: var(--text-secondary);
    cursor: pointer;
    padding: var(--sage-legacy-u-10);
    min-width: var(--sage-legacy-u-44);
    min-height: var(--sage-legacy-u-44);
    width: var(--sage-legacy-u-44);
    height: var(--sage-legacy-u-44);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-4);
    transition: color 0.2s, background 0.2s;
}

.modal-close:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.modal-close svg {
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
}

.modal-body {
    padding: var(--spacing-md) var(--spacing-lg);
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    min-height: 0;
}

/* Form modal (scope, department, etc.) - wider for tabbed scope form */
#form-modal .modal-content {
    max-width: var(--sage-legacy-u-1200);
    width: 95vw;
    max-height: calc(100vh - var(--sage-legacy-u-24));
}
#form-modal .modal-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-lg);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    flex-shrink: 0;
}

/* Content Ingestion Modal - Optimized to fit on screen */
#content-ingestion-modal .modal-content {
    max-height: min(calc(100vh - var(--sage-legacy-u-40)), 95vh);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#content-ingestion-modal .modal-header {
    padding: var(--spacing-sm) var(--spacing-lg);
    flex-shrink: 0;
}

#content-ingestion-modal .modal-body {
    padding: var(--spacing-sm) var(--spacing-lg);
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Fit form in viewport: avoid scroll when possible */
#content-ingestion-modal .modal-body .form-field:first-child {
    margin-bottom: var(--spacing-xs);
}

#content-ingestion-modal .modal-footer,
.content-ingestion-modal-footer {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-lg);
    flex-shrink: 0;
    border-top: var(--sage-legacy-u-1) solid var(--border);
}

#content-ingestion-modal .form-field {
    margin-bottom: var(--spacing-xs);
}

#content-ingestion-modal #content-ingestion-form .form-field {
    margin-bottom: var(--spacing-xs);
}

#content-ingestion-modal #content-ingestion-form .enhanced-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#content-ingestion-modal .form-field:last-child {
    margin-bottom: 0;
}

#content-ingestion-modal .form-label {
    font-size: var(--font-size-sm);
    margin-bottom: var(--sage-legacy-u-2);
}

#content-ingestion-modal .form-hint {
    font-size: var(--sage-legacy-u-11);
    margin-top: var(--sage-legacy-u-1);
    line-height: 1.3;
}

#content-ingestion-modal .form-input {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    font-size: var(--font-size-sm);
    min-height: var(--sage-legacy-u-34);
}

/* Keep URLs textarea compact so modal fits without scroll */
#content-ingestion-modal .content-urls-textarea {
    min-height: var(--sage-legacy-u-56);
    max-height: var(--sage-legacy-u-88);
    resize: vertical;
}

/* Follow links: single row so modal fits without scroll */
#content-ingestion-modal .content-follow-links-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-sm) var(--spacing-md);
    margin-bottom: var(--sage-legacy-u-2);
}
#content-ingestion-modal .content-follow-links-row .form-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-6);
    margin: 0;
    white-space: nowrap;
}
#content-ingestion-modal .content-max-pages-label {
    margin: 0 var(--sage-legacy-u-4) 0 var(--spacing-sm);
    white-space: nowrap;
}
#content-ingestion-modal .content-max-pages-input {
    width: var(--sage-legacy-u-72);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    min-height: var(--sage-legacy-u-28);
}
#content-ingestion-modal .content-max-layers-label {
    margin: 0 var(--sage-legacy-u-4) 0 var(--spacing-sm);
    white-space: nowrap;
}
#content-ingestion-modal .content-max-layers-input {
    width: var(--sage-legacy-u-48);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    min-height: var(--sage-legacy-u-28);
}
#content-ingestion-modal .content-follow-links-field {
    margin-bottom: var(--spacing-xs);
}

.content-website-links-list .content-website-links-table,
.content-website-links-table-wrap .content-website-links-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--sage-legacy-u-12);
}
.content-website-links-table thead th {
    text-align: left;
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-8);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    background: var(--bg-secondary);
    font-weight: 600;
}
.content-website-links-table tbody td {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}
.content-website-links-table tbody tr:hover {
    background: var(--bg-secondary);
}

#content-ingestion-modal .form-actions {
    margin-top: var(--sage-legacy-u-2);
    margin-bottom: 0;
    padding-top: var(--spacing-sm);
}

#content-ingestion-modal .content-follow-links-field .form-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    margin-bottom: var(--sage-legacy-u-6);
}

#content-ingestion-modal .content-follow-checkboxes .form-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-6);
}

#content-ingestion-modal .form-field-inline {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--sage-legacy-u-4);
}

#content-ingestion-modal .form-field-inline .form-label {
    margin-bottom: 0;
    white-space: nowrap;
}

#content-ingestion-modal .form-field-inline .form-input {
    max-width: var(--sage-legacy-u-80);
}

#content-ingestion-modal .form-actions {
    margin-top: var(--spacing-xs);
    margin-bottom: 0;
}

#content-ingestion-modal .upload-dropzone {
    padding: var(--sage-legacy-u-24) var(--sage-legacy-u-16) !important;
}

#content-ingestion-modal .upload-hint {
    margin-top: var(--sage-legacy-u-12) !important;
    font-size: var(--sage-legacy-u-12) !important;
}

#content-ingestion-modal .upload-area {
    margin-top: var(--spacing-sm);
}

/* View Details Modal Styles - Following UI/UX Standards */
.view-details-modal .modal-content {
    max-height: calc(100vh - var(--sage-legacy-u-24));
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.view-details-modal .modal-header {
    background: linear-gradient(135deg, var(--sage-legacy-color-3b82f6) 0%, var(--primary) 100%);
    color: var(--sage-legacy-color-ffffff);
    border-bottom: none;
    padding: var(--spacing-lg) var(--spacing-xl);
}

.view-details-modal .modal-header h3 {
    color: var(--sage-legacy-color-ffffff);
    font-size: var(--font-size-xl);
    font-weight: 600;
    margin: 0;
}

.view-details-modal .modal-close {
    color: var(--sage-legacy-color-ffffff);
    opacity: 0.9;
}

.view-details-modal .modal-close:hover {
    background: var(--sage-legacy-alpha-255-255-255-0100);
    color: var(--sage-legacy-color-ffffff);
    opacity: 1;
}

.view-details-modal .modal-body {
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--bg-primary);
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.view-detail-row {
    display: grid;
    grid-template-columns: var(--sage-legacy-u-200) 1fr;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) 0;
    border-bottom: var(--sage-legacy-u-1) solid var(--bg-secondary);
    align-items: center;
    transition: background-color 0.2s;
}

.view-detail-row:hover {
    background-color: var(--bg-secondary);
    margin: 0 calc(-1 * var(--spacing-xl));
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
    border-radius: var(--sage-legacy-u-8);
}

.view-detail-row:last-child {
    border-bottom: none;
}

.view-detail-label {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: var(--sage-legacy-u-0-5);
}

.view-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    flex-shrink: 0;
    width: var(--sage-legacy-u-20);
    height: var(--sage-legacy-u-20);
}

.view-detail-icon svg {
    width: var(--sage-legacy-u-18);
    height: var(--sage-legacy-u-18);
    stroke-width: 2;
}

.view-detail-label-text {
    flex: 1;
}

.view-detail-value {
    color: var(--text-primary);
    font-size: var(--font-size-base);
    font-weight: 400;
    word-break: break-word;
    line-height: 1.6;
}

.view-detail-list {
    margin: 0;
    padding-left: var(--spacing-lg);
}

.view-detail-list li {
    margin: 0 0 var(--spacing-xs) 0;
}

.view-detail-list li:last-child {
    margin-bottom: 0;
}

.view-detail-link {
    color: var(--primary);
    text-decoration: none;
    transition: color 0.2s;
}

.view-detail-link:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.view-details-modal .modal-footer {
    padding: var(--spacing-md) var(--spacing-lg);
    border-top: var(--sage-legacy-u-1) solid var(--border);
    background: var(--bg-primary);
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
}

.view-details-modal .modal-footer .btn {
    min-width: var(--sage-legacy-u-100);
}

/* View Source Document Modal (Content Management) */
.view-source-document-modal .modal-content {
    max-height: calc(100vh - var(--sage-legacy-u-24));
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.view-source-document-modal .modal-body {
    padding: 0;
    background: var(--bg-secondary);
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}
.view-source-document-modal .modal-body .view-source-message,
.view-source-document-modal .modal-body .view-source-hint,
.view-source-document-modal .modal-body .view-source-loading {
    padding: var(--spacing-md) var(--spacing-lg);
}

.view-source-iframe {
    width: 100%;
    flex: 1;
    min-height: 0;
    border: none;
    background: var(--bg-primary);
}

.view-source-pre {
    margin: 0;
    padding: var(--spacing-lg);
    font-size: var(--font-size-sm);
    white-space: pre-wrap;
    word-break: break-word;
    overflow: auto;
    flex: 1;
    min-height: 0;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: none;
}

/* Markdown reader in View Source modal */
.view-source-markdown {
    padding: var(--spacing-lg);
    font-size: var(--font-size-sm);
    overflow: auto;
    flex: 1;
    min-height: 0;
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.5;
}
.view-source-markdown h1 { font-size: 1.5em; margin: 0.75em 0 0.5em; }
.view-source-markdown h2 { font-size: 1.25em; margin: 0.75em 0 0.5em; }
.view-source-markdown h3 { font-size: 1.1em; margin: 0.5em 0 0.35em; }
.view-source-markdown p { margin: 0.5em 0; }
.view-source-markdown ul, .view-source-markdown ol { margin: 0.5em 0; padding-left: 1.5em; }
.view-source-markdown code {
    background: var(--bg-secondary);
    padding: 0.15em 0.4em;
    border-radius: var(--sage-legacy-u-4);
    font-size: 0.9em;
}
.view-source-markdown pre { margin: 0.5em 0; padding: var(--spacing-md); background: var(--bg-secondary); border-radius: var(--sage-legacy-u-6); overflow: auto; }
.view-source-markdown pre code { padding: 0; background: none; }
.view-source-markdown a { color: var(--primary); text-decoration: none; }
.view-source-markdown a:hover { text-decoration: underline; }
.view-source-markdown blockquote { margin: 0.5em 0; padding-left: 1em; border-left: var(--sage-legacy-u-3) solid var(--border); color: var(--text-secondary); }

.view-source-loading,
.view-source-message {
    padding: var(--spacing-xl);
    color: var(--text-secondary);
}

.view-source-hint {
    margin-top: 0.5em;
    font-size: var(--font-size-sm);
    opacity: 0.9;
}

.view-source-link {
    color: var(--primary);
    text-decoration: underline;
    word-break: break-all;
}
.view-source-link:hover {
    text-decoration: none;
}

.modal-header h3 {
    margin: 0;
    font-size: var(--font-size-xl);
}

.modal-close {
    background: none;
    border: none;
    font-size: var(--sage-legacy-u-24);
    cursor: pointer;
    color: var(--text-secondary);
    width: var(--sage-legacy-u-32);
    height: var(--sage-legacy-u-32);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-4);
}

.modal-close:hover {
    background: var(--bg-secondary);
}

.modal-body {
    padding: var(--spacing-lg);
}

/* Embed Test Modal Styles (sizing lives here, not inline — Sage modal standard sizing tiers) */
#embed-test-modal .modal-content {
    max-width: var(--sage-legacy-u-900);
    width: 95vw;
    max-height: 95vh;
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    margin: auto;
}
/* Embed Code mode: wide tabbed task surface with a STABLE frame — the dialog is sized
   once and only the active tab panel scrolls (Sage modal standard, Sizing). */
#embed-test-modal .modal-content.embed-test-code-only {
    max-width: var(--sage-legacy-u-1080);
    height: min(88vh, var(--sage-legacy-u-920));
    min-height: 0;
}

/* Embed surface tabs: visible only in Embed Code mode; reuses the shared tab idiom. */
.embed-test-tabs {
    display: none;
}
.embed-test-modal-content.embed-test-code-only .embed-test-tabs {
    display: flex;
}
.embed-test-licensing-panel {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
.embed-test-licensing-panel[hidden] {
    display: none;
}
.embed-test-modal-content.embed-test-code-only .embed-test-layout[hidden] {
    display: none;
}

#embed-test-modal .modal-body {
    flex: 1;
    overflow: hidden;
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}

/* Two-Column Layout */
.embed-test-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    height: 100%;
    min-height: 0;
}

/* Test Chatbot mode: only show chatbot, no code panel */
#embed-test-modal.embed-test-chat-only .embed-test-code-panel,
.embed-test-modal-content.embed-test-chat-only .embed-test-code-panel {
    display: none !important;
}
.embed-test-modal-content.embed-test-chat-only .embed-test-layout {
    grid-template-columns: 1fr;
}

/* Embed Code mode: only show code block, no preview panel */
.embed-test-modal-content.embed-test-code-only .embed-test-preview-panel {
    display: none !important;
}
.embed-test-modal-content.embed-test-code-only .embed-test-layout {
    grid-template-columns: 1fr;
}
/* In Test Chatbot mode: hide preview header/description, chat fills the space */
.embed-test-modal-content.embed-test-chat-only .embed-test-preview-header,
.embed-test-modal-content.embed-test-chat-only .embed-test-preview-description {
    display: none !important;
}
.embed-test-modal-content.embed-test-chat-only .embed-test-preview-panel {
    border: none;
    padding: 0;
    align-items: center;
    justify-content: center;
}
.embed-test-modal-content.embed-test-chat-only .embed-test-preview {
    border: none;
    align-items: center;
    justify-content: center;
    min-height: var(--sage-legacy-u-560);
    overflow: hidden;
    padding: var(--spacing-md);
}

.embed-test-modal-content.embed-test-chat-only #embed-test-chat-interface[data-position] {
    position: relative;
    inset: auto;
    width: min(var(--sage-legacy-u-520), 100%);
    max-width: 100%;
    height: min(var(--sage-legacy-u-620), calc(100vh - var(--sage-legacy-u-230)));
    min-height: var(--sage-legacy-u-420);
    max-height: 100%;
    margin: 0 auto;
}

/* Panel Styling (Left: Code, Right: Preview) */
.embed-test-code-panel,
.embed-test-preview-panel {
    display: flex;
    flex-direction: column;
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-12);
    padding: var(--spacing-lg);
    min-height: 0;
    overflow: hidden;
}

.embed-test-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.embed-test-panel-header h4 {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.embed-test-panel-actions {
    display: flex;
    gap: var(--spacing-xs);
}
.embed-test-format-actions {
    flex-wrap: wrap;
    align-items: center;
}
.embed-test-format-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-right: var(--spacing-xs);
}
.embed-format-btn.active {
    background: var(--primary);
    color: var(--sage-legacy-color-ffffff);
    border-color: var(--primary);
}

.embed-test-panel-description {
    margin: 0 0 var(--spacing-md) 0;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.5;
}

.embed-test-copy-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    margin: 0 0 var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
}

.embed-test-copy-bar > div {
    display: grid;
    gap: var(--sage-legacy-u-2);
    min-width: 0;
}

.embed-test-copy-bar strong {
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}

.embed-test-copy-bar span {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
}

/* Embed Code Container */
.embed-test-code-container {
    position: relative;
    flex: 1;
    min-height: var(--sage-legacy-u-280);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.embed-test-code-input {
    font-family: var(--font-mono);
    font-size: var(--sage-legacy-u-13);
    line-height: 1.6;
    width: 100%;
    flex: 1;
    min-height: var(--sage-legacy-u-260);
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    color: var(--text-primary);
    resize: vertical;
}

.embed-test-code-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring-5);
}

.embed-test-code-input::placeholder {
    color: var(--text-tertiary);
}

.embed-test-code-highlight {
    min-height: var(--sage-legacy-u-160);
    max-height: var(--sage-legacy-u-260);
    overflow: auto;
    margin: 0;
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-tertiary);
    color: var(--text-primary);
    font: var(--sage-legacy-u-12)/1.55 'Consolas', 'Monaco', 'Courier New', monospace;
    white-space: pre-wrap;
    word-break: break-word;
}

.embed-test-code-highlight .syntax-key {
    color: var(--primary);
    font-weight: 700;
}

.embed-test-code-highlight .syntax-string {
    color: var(--sage-legacy-color-047857);
}

.embed-test-code-highlight .syntax-comment {
    /* WCAG AA: --text-tertiary (var(--sage-legacy-color-999999)) is 2.66:1 on the light code surface; var(--sage-legacy-color-5d6c83) is 4.98:1 */
    color: var(--sage-legacy-color-5d6c83);
}
html.dark-mode .embed-test-code-highlight .syntax-comment,
html.dark .embed-test-code-highlight .syntax-comment,
:root[data-theme="dark"] .embed-test-code-highlight .syntax-comment {
    /* WCAG AA: 5.13:1 on the dark code surface (var(--sage-legacy-color-4b5563)) */
    color: var(--sage-legacy-color-d1d5db);
}

html.dark-mode .embed-test-copy-bar {
    background: var(--bg-tertiary);
}

html.dark-mode .embed-test-code-highlight .syntax-key {
    /* WCAG AA: 5.32:1 on the dark code surface (var(--sage-legacy-color-4b5563)); var(--sage-legacy-color-93c5fd) was 4.19:1 */
    color: var(--sage-legacy-color-bfdbfe);
}

html.dark-mode .embed-test-code-highlight .syntax-string {
    color: var(--sage-legacy-color-6ee7b7);
}

/* Consumer license workbench inside the embed-code workflow. */
.chatbot-license-workbench {
    margin: 0 0 var(--spacing-md);
}

.chatbot-license-panel {
    display: grid;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.chatbot-license-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-md);
}

.chatbot-license-header h4 {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--font-size-lg);
}

.chatbot-license-header p,
.chatbot-license-onetime p {
    margin: var(--sage-legacy-u-4) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    line-height: 1.45;
}

.chatbot-license-policy-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--spacing-sm);
}

.chatbot-license-policy-grid > div {
    display: grid;
    gap: var(--sage-legacy-u-2);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
}

.chatbot-license-policy-grid strong {
    color: var(--text-primary);
    font-size: var(--font-size-base);
    line-height: 1.2;
}

.chatbot-license-policy-grid span {
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

.chatbot-license-onetime {
    display: grid;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-f59e0b);
    border-radius: var(--sage-legacy-u-8);
    background: var(--sage-legacy-color-fffbeb);
    color: var(--sage-legacy-color-78350f);
}

.chatbot-license-onetime strong {
    color: var(--sage-legacy-color-78350f);
}

.chatbot-license-onetime code {
    display: block;
    max-width: 100%;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    overflow: auto;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-alpha-245-158-11-0380);
    border-radius: var(--sage-legacy-u-6);
    background: var(--sage-legacy-color-fff7ed);
    color: var(--sage-legacy-color-7c2d12);
    font-size: var(--sage-legacy-u-12);
    white-space: nowrap;
}

.chatbot-license-onetime-actions,
.chatbot-license-actions,
.license-domain-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sage-legacy-u-6);
    align-items: center;
}

.chatbot-license-table-wrap {
    max-width: 100%;
    overflow: auto;
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
}

.chatbot-license-table {
    width: 100%;
    min-width: var(--sage-legacy-u-980);
    border-collapse: collapse;
    table-layout: fixed;
}

.chatbot-license-table th,
.chatbot-license-table td {
    padding: var(--sage-legacy-u-9) var(--sage-legacy-u-10);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    color: var(--text-primary);
    text-align: left;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chatbot-license-table th {
    background: var(--table-header-bg);
    color: var(--table-header-text);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    text-transform: uppercase;
}

.chatbot-license-table th:nth-child(1),
.chatbot-license-table td:nth-child(1) { width: var(--sage-legacy-u-98); }
.chatbot-license-table th:nth-child(2),
.chatbot-license-table td:nth-child(2) { width: var(--sage-legacy-u-190); }
.chatbot-license-table th:nth-child(3),
.chatbot-license-table td:nth-child(3) { width: var(--sage-legacy-u-116); }
.chatbot-license-table th:nth-child(4),
.chatbot-license-table td:nth-child(4) { width: var(--sage-legacy-u-220); }
.chatbot-license-table th:nth-child(5),
.chatbot-license-table td:nth-child(5) { width: var(--sage-legacy-u-100); }
.chatbot-license-table th:nth-child(6),
.chatbot-license-table td:nth-child(6),
.chatbot-license-table th:nth-child(7),
.chatbot-license-table td:nth-child(7),
.chatbot-license-table th:nth-child(8),
.chatbot-license-table td:nth-child(8) { width: var(--sage-legacy-u-118); }
.chatbot-license-table th:nth-child(9),
.chatbot-license-table td:nth-child(9) {
    width: var(--sage-legacy-u-152);
    text-align: right;
    overflow: visible;
}

.chatbot-license-table td:nth-child(9) .chatbot-license-actions {
    justify-content: flex-end;
}

.license-domain-list span,
.license-domain-warning {
    display: inline-flex;
    max-width: 100%;
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-7);
    border-radius: var(--sage-legacy-u-999);
    background: var(--primary-light);
    color: var(--primary);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
}

.license-domain-warning {
    background: var(--sage-legacy-color-fff7ed);
    color: var(--sage-legacy-color-9a3412);
}

/* Preview Area */
.embed-test-preview-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.embed-test-preview {
    border: var(--sage-legacy-u-2) solid var(--border);
    border-radius: var(--sage-legacy-u-12);
    flex: 1;
    min-height: 0;
    background: var(--bg-primary);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--sage-app-shadow-elevation-2-3);
}

/* Placeholder State */
.embed-test-placeholder {
    text-align: center;
    color: var(--text-tertiary);
    padding: var(--spacing-xxl);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: var(--bg-secondary);
}

.embed-test-placeholder-icon {
    font-size: var(--sage-legacy-u-64);
    margin-bottom: var(--spacing-lg);
    opacity: 0.6;
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
}

.embed-test-placeholder-title {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm) 0;
}

.embed-test-placeholder-text {
    font-size: var(--font-size-base);
    color: var(--text-secondary);
    margin: 0;
    max-width: var(--sage-legacy-u-400);
    line-height: 1.6;
}

/* Chat Interface */
.embed-test-chat-interface {
    display: none;
    flex-direction: column;
    height: 100%;
}

/* Test Chatbot: position as widget (bottom-right, bottom-left, top-right, top-left) to match Appearance */
#embed-test-chat-interface[data-position="bottom-right"] {
    position: absolute;
    bottom: var(--sage-legacy-u-16);
    right: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-380);
    max-width: calc(100% - var(--sage-legacy-u-32));
    height: var(--sage-legacy-u-520);
    max-height: calc(100% - var(--sage-legacy-u-32));
    border-radius: var(--sage-legacy-u-12);
    box-shadow: var(--sage-app-shadow-elevation-3-3);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="bottom-left"] {
    position: absolute;
    bottom: var(--sage-legacy-u-16);
    left: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-380);
    max-width: calc(100% - var(--sage-legacy-u-32));
    height: var(--sage-legacy-u-520);
    max-height: calc(100% - var(--sage-legacy-u-32));
    border-radius: var(--sage-legacy-u-12);
    box-shadow: var(--sage-app-shadow-elevation-3-3);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="top-right"] {
    position: absolute;
    top: var(--sage-legacy-u-16);
    right: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-380);
    max-width: calc(100% - var(--sage-legacy-u-32));
    height: var(--sage-legacy-u-520);
    max-height: calc(100% - var(--sage-legacy-u-32));
    border-radius: var(--sage-legacy-u-12);
    box-shadow: var(--sage-app-shadow-elevation-3-3);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="top-left"] {
    position: absolute;
    top: var(--sage-legacy-u-16);
    left: var(--sage-legacy-u-16);
    width: var(--sage-legacy-u-380);
    max-width: calc(100% - var(--sage-legacy-u-32));
    height: var(--sage-legacy-u-520);
    max-height: calc(100% - var(--sage-legacy-u-32));
    border-radius: var(--sage-legacy-u-12);
    box-shadow: var(--sage-app-shadow-elevation-3-3);
    overflow: hidden;
}

/* Test Chatbot: apply light theme when config has theme "light" (match Appearance setup) */
#embed-test-chat-interface[data-theme="light"] {
    --bg-primary: var(--sage-legacy-color-ffffff);
    --bg-secondary: var(--sage-legacy-color-f3f4f6);
    --bg-tertiary: var(--sage-legacy-color-e5e7eb);
    --text-primary: var(--sage-legacy-color-111827);
    --text-secondary: var(--sage-legacy-color-4b5563);
    --text-tertiary: var(--sage-legacy-color-6b7280);
    --border: var(--sage-legacy-color-e5e7eb);
    background: var(--sage-legacy-color-f3f4f6);
}
#embed-test-chat-interface[data-theme="light"] .embed-test-messages,
#embed-test-chat-interface[data-theme="light"] .embed-test-welcome-message {
    background: var(--sage-legacy-color-f3f4f6) !important;
    color: var(--sage-legacy-color-111827) !important;
}
#embed-test-chat-interface[data-theme="light"] .embed-test-chat-input-container {
    background: var(--sage-legacy-color-ffffff) !important;
    border-color: var(--sage-legacy-color-e5e7eb);
}
#embed-test-chat-interface[data-theme="light"] .embed-test-chat-input {
    background: var(--sage-legacy-color-ffffff) !important;
    color: var(--sage-legacy-color-111827) !important;
    border-color: var(--sage-legacy-color-e5e7eb);
}
#embed-test-chat-interface[data-theme="light"] .embed-test-welcome-title {
    color: var(--sage-legacy-color-111827);
}
#embed-test-chat-interface[data-theme="light"] .embed-test-welcome-subtitle {
    color: var(--sage-legacy-color-4b5563);
}

/* Test Chatbot: apply dark theme when config has theme "dark" */
#embed-test-chat-interface[data-theme="dark"] {
    --bg-primary: var(--sage-legacy-color-1f2937);
    --bg-secondary: var(--sage-legacy-color-374151);
    --bg-tertiary: var(--sage-legacy-color-4b5563);
    --text-primary: var(--sage-legacy-color-f9fafb);
    --text-secondary: var(--sage-legacy-color-d1d5db);
    --text-tertiary: var(--sage-legacy-color-9ca3af);
    --border: var(--sage-legacy-color-374151);
}
#embed-test-chat-interface[data-theme="dark"] .embed-test-messages,
#embed-test-chat-interface[data-theme="dark"] .embed-test-welcome-message {
    background: var(--bg-secondary);
    color: var(--text-primary);
}
#embed-test-chat-interface[data-theme="dark"] .embed-test-chat-input-container {
    background: var(--bg-primary);
    border-color: var(--border);
}
#embed-test-chat-interface[data-theme="dark"] .embed-test-chat-input {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

.embed-test-chat-header {
    background: linear-gradient(135deg, var(--sage-legacy-color-667eea) 0%, var(--sage-legacy-color-764ba2) 100%);
    color: var(--sage-legacy-color-ffffff);
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--sage-app-shadow-elevation-2-2);
}

.embed-test-chat-header-content {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.embed-test-chat-header-icon {
    font-size: var(--font-size-lg);
}

.embed-test-chat-header-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--sage-legacy-color-ffffff);
    margin: 0;
}

.embed-test-reset-btn {
    background: var(--sage-legacy-alpha-255-255-255-0200);
    color: var(--sage-legacy-color-ffffff);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-alpha-255-255-255-0300);
    backdrop-filter: blur(var(--sage-legacy-u-10));
}

.embed-test-reset-btn:hover {
    background: var(--sage-legacy-alpha-255-255-255-0300);
}

.embed-test-messages {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    scroll-behavior: smooth;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.embed-test-messages::-webkit-scrollbar {
    width: var(--sage-legacy-u-6);
}

.embed-test-messages::-webkit-scrollbar-track {
    background: transparent;
}

.embed-test-messages::-webkit-scrollbar-thumb {
    background: var(--sage-legacy-alpha-0-0-0-0200);
    border-radius: var(--sage-legacy-u-3);
}

.embed-test-messages::-webkit-scrollbar-thumb:hover {
    background: var(--sage-legacy-alpha-0-0-0-0300);
}

/* Chat Message Styles */
.chat-message {
    display: flex;
    margin-bottom: var(--spacing-sm);
    animation: messageSlideIn 0.3s ease-out;
    min-width: 0;
}

@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(var(--sage-legacy-u-10));
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.chat-message-user {
    justify-content: flex-end;
}

.chat-message-assistant {
    justify-content: flex-start;
}

.chat-bubble {
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-xs);
    max-width: min(88%, 100%);
    min-width: var(--sage-legacy-u-120);
}

.chat-bubble-user {
    flex-direction: row-reverse;
}

.chat-bubble-assistant {
    flex-direction: row;
}

.chat-avatar {
    width: var(--sage-legacy-u-32);
    height: var(--sage-legacy-u-32);
    border-radius: var(--sage-app-radius-circle);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--sage-legacy-u-14);
    flex-shrink: 0;
    background: var(--bg-primary);
    box-shadow: var(--sage-app-shadow-elevation-2-2);
}

.chat-avatar-user {
    background: linear-gradient(135deg, var(--sage-legacy-color-667eea) 0%, var(--sage-legacy-color-764ba2) 100%);
}

.chat-avatar-assistant {
    background: linear-gradient(135deg, var(--sage-legacy-color-f093fb) 0%, var(--sage-legacy-color-f5576c) 100%);
}

.chat-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-4);
    min-width: 0;
}

.chat-content {
    padding: var(--sage-legacy-u-12) var(--sage-legacy-u-16);
    border-radius: var(--sage-legacy-u-18);
    font-size: var(--font-size-base);
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    box-shadow: var(--sage-app-shadow-elevation-1-2);
    max-width: 100%;
    min-width: 0;
}

.chat-bubble-user .chat-content {
    background: linear-gradient(135deg, var(--sage-legacy-color-667eea) 0%, var(--sage-legacy-color-764ba2) 100%);
    color: var(--sage-legacy-color-ffffff);
    border-bottom-right-radius: var(--sage-legacy-u-4);
}

.chat-bubble-assistant .chat-content {
    background: var(--bg-primary);
    color: var(--text-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-bottom-left-radius: var(--sage-legacy-u-4);
}

.chat-text {
    margin: 0;
}

.chat-timestamp {
    font-size: var(--sage-legacy-u-11);
    color: var(--text-tertiary);
    padding: 0 var(--sage-legacy-u-4);
    align-self: flex-end;
}

.chat-bubble-user .chat-timestamp {
    text-align: right;
}

.chat-bubble-assistant .chat-timestamp {
    text-align: left;
}

/* Typing Indicator */
.chat-typing-indicator {
    display: inline-flex;
    gap: var(--sage-legacy-u-4);
    align-items: center;
    margin-bottom: var(--sage-legacy-u-8);
}

.chat-typing-indicator span {
    width: var(--sage-legacy-u-8);
    height: var(--sage-legacy-u-8);
    border-radius: var(--sage-app-radius-circle);
    background: currentColor;
    opacity: 0.6;
    animation: typingDot 1.4s infinite;
}

.chat-typing-indicator span:nth-child(2) {
    animation-delay: 0.2s;
}

.chat-typing-indicator span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typingDot {
    0%, 60%, 100% {
        opacity: 0.3;
        transform: scale(0.8);
    }
    30% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Sources */
.chat-sources {
    margin-top: var(--sage-legacy-u-12);
    padding-top: var(--sage-legacy-u-12);
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-alpha-255-255-255-0300);
    max-width: 100%;
    min-width: 0;
}

.chat-bubble-assistant .chat-sources {
    border-top-color: var(--border);
}

.chat-sources-header {
    font-size: var(--sage-legacy-u-12);
    font-weight: 600;
    margin-bottom: var(--sage-legacy-u-6);
    opacity: 0.9;
}

.chat-sources-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--sage-legacy-u-6);
}

.chat-source-number {
    width: var(--sage-legacy-u-20);
    height: var(--sage-legacy-u-20);
    border-radius: var(--sage-app-radius-circle);
    background: var(--sage-legacy-alpha-255-255-255-0300);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: var(--sage-legacy-u-11);
    flex-shrink: 0;
    text-decoration: none;
}

.chat-bubble-assistant .chat-source-number {
    background: var(--border);
    color: var(--text-secondary);
}

.chat-source-link {
    cursor: pointer;
}

.chat-source-link:hover,
.chat-source-link:focus-visible {
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    outline: none;
}

.embed-test-welcome-message {
    text-align: center;
    color: var(--text-secondary);
    padding: var(--spacing-xl);
}

.embed-test-welcome-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    margin: 0 0 var(--spacing-sm) 0;
    color: var(--text-primary);
}

.embed-test-welcome-subtitle {
    font-size: var(--font-size-sm);
    margin: 0;
    color: var(--text-secondary);
}

.embed-test-chat-input-container {
    border-top: var(--sage-legacy-u-1) solid var(--border);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--bg-primary);
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    box-shadow: var(--sage-app-shadow-elevation-2-4);
}

.embed-test-chat-input {
    flex: 1;
    min-width: 0;
    padding: var(--sage-legacy-u-12) var(--sage-legacy-u-18);
    border: var(--sage-legacy-u-2) solid var(--border);
    border-radius: var(--sage-legacy-u-24);
    font-size: var(--font-size-base);
    outline: none;
    transition: all 0.2s ease;
    background: var(--bg-secondary);
    color: var(--text-primary);
    resize: none;
    max-height: var(--sage-legacy-u-120);
    min-height: var(--sage-legacy-u-44);
}

.embed-test-chat-input:focus {
    border-color: var(--primary);
    background: var(--bg-primary);
    box-shadow: var(--sage-app-shadow-ring);
}

.embed-test-chat-input::placeholder {
    color: var(--text-tertiary);
}

.embed-test-send-btn {
    padding: var(--sage-legacy-u-12) var(--sage-legacy-u-24);
    border-radius: var(--sage-legacy-u-24);
    font-weight: 600;
    white-space: nowrap;
    min-width: var(--sage-legacy-u-80);
    box-shadow: var(--sage-app-shadow-elevation-2-5);
    transition: all 0.2s ease;
}

.embed-test-send-btn:hover {
    transform: translateY(calc(var(--sage-legacy-u-1) * -1));
    box-shadow: var(--sage-app-shadow-elevation-3-4);
}

.embed-test-send-btn:active {
    transform: translateY(0);
}

/* Embed Test Modal Footer */
#embed-test-modal .modal-footer {
    padding: var(--spacing-lg) var(--spacing-xl);
    background: var(--bg-secondary);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--spacing-md);
    border-top: var(--sage-legacy-u-1) solid var(--border);
}

/* Responsive: Stack on smaller screens */
@media (max-width: 75rem) {
    .embed-test-layout {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }
    
    .embed-test-code-panel {
        max-height: var(--sage-legacy-u-300);
    }
    
    .embed-test-preview-panel {
        min-height: var(--sage-legacy-u-500);
    }
}

/* Notification container in modal */
.modal .notification-container {
    margin: 0 var(--spacing-lg) var(--spacing-md) var(--spacing-lg);
    padding-top: var(--spacing-md);
}

/* Notification Styles */
.notification-container {
    margin-bottom: var(--spacing-md);
}

.notification {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    border-radius: var(--sage-legacy-u-8);
    margin-bottom: var(--spacing-sm);
    border: var(--sage-legacy-u-1) solid var(--border);
    background: var(--bg-primary);
    color: var(--text-primary);
    box-shadow: var(--sage-app-shadow-elevation-2-2);
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(calc(var(--sage-legacy-u-10) * -1));
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.notification-icon {
    font-size: var(--sage-legacy-u-13);
    font-weight: bold;
    flex-shrink: 0;
}

.notification-message {
    flex: 1;
    font-size: var(--font-size-base);
    line-height: 1.5;
}
.notification-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
    margin-left: var(--sage-legacy-u-8);
    flex-shrink: 0;
}

.notification-action-btn {
    min-height: var(--sage-legacy-u-30);
    padding: var(--sage-legacy-u-5) var(--sage-legacy-u-10);
    white-space: nowrap;
}

.notification-close {
    background: none;
    border: none;
    font-size: var(--sage-legacy-u-24);
    line-height: 1;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-4);
    transition: all 0.2s;
    flex-shrink: 0;
}

.notification-close:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* CodeGuide-style: no vertical colored bar on notifications; use border and background only */
.notification-success {
    background: var(--sage-legacy-alpha-16-185-129-0100);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .notification-success,
.dark-mode .notification-success {
    background: var(--sage-legacy-alpha-16-185-129-0200);
    border-color: var(--border);
}

.notification-error {
    background: var(--sage-legacy-alpha-239-68-68-0100);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .notification-error,
.dark-mode .notification-error {
    background: var(--sage-legacy-alpha-239-68-68-0200);
    border-color: var(--border);
}

.notification-warning {
    background: var(--sage-legacy-alpha-245-158-11-0100);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .notification-warning,
.dark-mode .notification-warning {
    background: var(--sage-legacy-alpha-245-158-11-0200);
    border-color: var(--border);
}

.notification-info {
    background: var(--sage-legacy-alpha-59-130-246-0100);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .notification-info,
.dark-mode .notification-info {
    background: var(--sage-legacy-alpha-59-130-246-0200);
    border-color: var(--border);
}

/* Sections */
.ingestion-section {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
    color: var(--text-primary);
}

.ingestion-section h2 {
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-xl);
    color: var(--text-primary);
}

/* Collapsible Sections */
.collapsible-section {
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    overflow: hidden;
}

.collapsible-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    cursor: pointer;
    user-select: none;
    transition: background 0.2s;
    gap: var(--spacing-md);
    color: var(--text-primary);
}

.collapsible-header:hover {
    background: var(--bg-tertiary);
}

.collapsible-header h2 {
    margin: 0;
    font-size: var(--font-size-xl);
    flex: 1;
    cursor: pointer;
    color: var(--text-primary);
}

.collapsible-header .btn,
.collapsible-header button:not(.collapse-toggle) {
    cursor: pointer;
    position: relative;
    z-index: var(--sage-app-layer-raised);
}

.collapse-toggle {
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
    cursor: pointer;
    padding: var(--spacing-xs);
    transition: transform 0.3s, color 0.2s;
    min-width: var(--sage-legacy-u-32);
    min-height: var(--sage-legacy-u-32);
    display: flex;
    align-items: center;
    justify-content: center;
}

.collapse-toggle:hover {
    color: var(--primary);
}

.collapsible-section.collapsed .collapse-toggle {
    transform: rotate(-90deg);
}

.collapsible-content {
    max-height: var(--sage-legacy-u-10000);
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    padding: 0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.collapsible-section.collapsed .collapsible-content {
    max-height: 0;
    padding: 0 var(--spacing-lg);
    overflow: hidden;
}

/* Adjust ingestion section when collapsible */
.ingestion-section.collapsible-section {
    padding: 0;
}

.ingestion-section.collapsible-section .collapsible-content {
    padding-top: var(--spacing-lg);
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
    color: var(--text-primary);
}

.section-header h2 {
    color: var(--text-primary);
}

.section-header h2 {
    margin: 0;
    font-size: var(--font-size-xl);
}

.section-header .header-actions {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.departments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
}

.departments-header h2 {
    margin: 0;
    font-size: var(--font-size-xl);
}

/* Lists */
.scopes-list,
.departments-list,
.websites-list,
.ingestion-list-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: var(--sage-legacy-u-2) solid var(--border-color);
}

.ingestion-list-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.ingestion-list-section .section-header h2 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--text-primary);
}

.job-card {
    background: var(--card-bg);
    border: var(--sage-legacy-u-1) solid var(--border-color);
    border-radius: var(--sage-legacy-u-8);
    padding: 1.5rem;
    margin-bottom: 1rem;
    transition: box-shadow 0.2s;
}

.job-card:hover {
    box-shadow: var(--sage-app-shadow-elevation-2-6);
}

.job-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.job-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.job-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
    flex-wrap: wrap;
}

.job-body {
    margin-top: 1rem;
}

.job-stat {
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.job-error {
    margin-top: 1rem;
    padding: 0.75rem;
    background: var(--sage-legacy-alpha-239-68-68-0100);
    border-left: var(--sage-legacy-u-3) solid var(--error);
    border-radius: var(--sage-legacy-u-4);
    color: var(--error);
}

[data-theme="dark"] .job-error,
.dark-mode .job-error {
    background: var(--sage-legacy-alpha-239-68-68-0200);
}

.jobs-list {
    display: grid;
    gap: var(--spacing-md);
}

.list-item {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    border: var(--sage-legacy-u-1) solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.list-item-content {
    flex: 1;
}

.list-item-actions {
    display: flex;
    gap: var(--spacing-sm);
}

.list-item-actions .action-icons {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
}

/* Loading */
.loading {
    text-align: center;
    padding: var(--spacing-xl);
    color: var(--text-secondary);
}

/* User Management Page Styles */
.user-management-page {
    background: var(--bg-secondary);
    min-height: 100vh;
}

/* User Management Header */
.user-management-header {
    background: linear-gradient(135deg, var(--sage-legacy-color-3b82f6) 0%, var(--primary) 100%);
    color: var(--sage-legacy-color-ffffff);
    padding: var(--spacing-xl) var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

[data-theme="dark"] .user-management-header,
.dark-mode .user-management-header {
    background: linear-gradient(135deg, var(--sage-legacy-color-1e40af) 0%, var(--sage-legacy-color-1e3a8a) 100%);
}

.user-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--sage-legacy-u-1400);
    margin: 0 auto;
}

.user-management-header h1 {
    font-size: var(--sage-legacy-u-32);
    font-weight: 700;
    margin: 0 0 var(--sage-legacy-u-4) 0;
    color: var(--sage-legacy-color-ffffff);
}

.user-header-subtitle {
    font-size: var(--font-size-base);
    color: var(--sage-legacy-alpha-255-255-255-0900);
    margin: 0;
}

.btn-create-user {
    background: var(--bg-primary);
    color: var(--sage-legacy-color-3b82f6);
    border: none;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-20);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
}

.btn-create-user:hover {
    background: var(--bg-secondary);
}

[data-theme="dark"] .btn-create-user,
.dark-mode .btn-create-user {
    color: var(--sage-legacy-color-93c5fd);
}

/* Summary Cards */
.user-summary-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-200), 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    padding: 0 var(--spacing-lg);
    max-width: var(--sage-legacy-u-1400);
    margin-left: auto;
    margin-right: auto;
}

.summary-card {
    background: var(--bg-primary);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    border: var(--sage-legacy-u-1) solid var(--border);
    box-shadow: var(--sage-app-shadow-elevation-1);
}

.summary-card-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-bottom: var(--sage-legacy-u-8);
}

.summary-card-value {
    font-size: var(--sage-legacy-u-28);
    font-weight: 700;
    color: var(--sage-legacy-color-3b82f6);
}

[data-theme="dark"] .summary-card-value,
.dark-mode .summary-card-value {
    color: var(--sage-legacy-color-93c5fd);
}

/* User Controls Section */
.user-controls-section {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    margin: 0 var(--spacing-lg) var(--spacing-lg);
    max-width: var(--sage-legacy-u-1400);
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    /* Uses collapsible-section styles */
}

.user-controls-section .collapsible-content {
    padding: var(--spacing-lg);
}

.btn-text {
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: var(--font-size-sm);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-8);
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-4);
}

.btn-text:hover {
    color: var(--primary);
}

.user-controls-content {
    padding: var(--spacing-md);
}

.user-controls-row {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    margin-bottom: var(--spacing-md);
    flex-wrap: wrap;
}

.user-controls-row:last-child {
    margin-bottom: 0;
}

/* Single row layout for all controls */
.user-controls-section .collapsible-content > .user-controls-row:first-of-type {
    margin-bottom: 0;
}

.user-controls-section .collapsible-content > .user-controls-row:only-child {
    margin-bottom: 0;
}

.search-container {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon {
    position: absolute;
    left: var(--sage-legacy-u-12);
    color: var(--text-secondary);
    pointer-events: none;
}

.search-input {
    width: 100%;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12) var(--sage-legacy-u-10) var(--sage-legacy-u-36);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    font-size: var(--font-size-base);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.search-input:focus {
    outline: none;
    border-color: var(--primary);
}

.view-toggle {
    display: flex;
    gap: 0;
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    overflow: hidden;
    background: var(--bg-primary);
}

.view-toggle-btn {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-16);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-6);
    font-size: var(--font-size-sm);
    border-right: var(--sage-legacy-u-1) solid var(--border);
    transition: all 0.2s;
    font-weight: 500;
}

.view-toggle-btn:last-child {
    border-right: none;
}

.view-toggle-btn:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.view-toggle-btn.active {
    /* White on the mid blue is 3.67:1; keep the fill, pair it with the dark-on-fill ink
       this app uses for filled primaries (DEF-0012) so it clears AA in both themes. */
    background: var(--sage-legacy-color-3b82f6);
    color: var(--sage-legacy-color-0f172a);
    font-weight: 600;
}

[data-theme="dark"] .view-toggle-btn.active,
.dark .view-toggle-btn.active,
.dark-mode .view-toggle-btn.active {
    background: var(--primary);
    color: var(--primary-ink, var(--sage-legacy-color-0f172a));
}

.view-toggle-btn.active:hover {
    background: var(--primary);
    color: var(--primary-ink, var(--sage-legacy-color-0f172a));
}

[data-theme="dark"] .view-toggle-btn.active:hover,
.dark-mode .view-toggle-btn.active:hover {
    background: var(--sage-legacy-color-1e40af);
}

.sort-container {
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
}

.sort-container label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    font-weight: 500;
}

.sort-select {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-32) var(--sage-legacy-u-8) var(--sage-legacy-u-12);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    font-size: var(--font-size-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
    min-width: var(--sage-legacy-u-150);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--sage-legacy-u-10) center;
    background-size: var(--sage-legacy-u-12);
}

.sort-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring);
}

/* Content Cards Grid */
.content-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-300), 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-sm);
    width: 100%;
    box-sizing: border-box;
}

/* Ensure cards are in rows, not stacked vertically */
@media (min-width: 48rem) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-300), 1fr));
    }
}

@media (min-width: 64rem) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-320), 1fr));
    }
}

@media (min-width: 90rem) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-350), 1fr));
    }
}

.content-card {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-2) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
    box-shadow: var(--sage-app-shadow-elevation-1);
    overflow: hidden;
    word-wrap: break-word;
    box-sizing: border-box;
}

.content-card:hover {
    box-shadow: var(--sage-app-shadow-elevation-3-5);
    transform: translateY(calc(var(--sage-legacy-u-2) * -1));
    border-color: var(--primary);
}

.content-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    min-width: 0;
    gap: var(--spacing-sm);
}

.content-card-header .action-icons {
    flex-shrink: 0;
}

.content-card-title {
    font-size: var(--sage-legacy-u-13);
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
    margin-right: var(--spacing-sm);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-word;
}

.content-card-body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    min-width: 0;
    overflow: hidden;
}

.content-card-field {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--sage-legacy-u-14);
    min-width: 0;
}

.content-card-label {
    font-weight: 500;
    color: var(--text-secondary);
    min-width: var(--sage-legacy-u-100);
    flex-shrink: 0;
}

.content-card-value {
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-word;
}

.content-card-field .source-badge,
.content-card-field .content-type-badge,
.content-card-field .document-type-badge,
.content-card-field .content-readiness-badge,
.content-card-field .content-signal-badge,
.content-card-field .status-badge {
    flex-shrink: 1;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

/* Standardized List Controls - Reusable across all lists */
.standard-list-controls {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    margin-bottom: var(--spacing-lg);
    overflow: hidden;
}

.standard-list-controls .section-header {
    margin: 0;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.standard-list-controls .collapsible-content {
    padding: var(--spacing-lg);
}

.standard-controls-row {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    margin-bottom: var(--spacing-md);
}

.standard-controls-row:last-child {
    margin-bottom: 0;
}

.controls-row-top {
    margin-bottom: var(--spacing-lg);
    padding-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.controls-row-bottom {
    margin-bottom: 0;
    margin-top: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: nowrap;
}

.controls-row-bottom .view-toggle {
    flex-shrink: 0;
}

.controls-row-bottom .sort-container {
    flex-shrink: 0;
    margin-left: 0;
}

.controls-row-bottom .btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.search-container {
    flex: 1;
    min-width: var(--sage-legacy-u-250);
    max-width: var(--sage-legacy-u-500);
    position: relative;
    display: flex;
    align-items: center;
}

.search-container .search-icon {
    position: absolute;
    left: var(--sage-legacy-u-12);
    color: var(--text-secondary);
    pointer-events: none;
}

.search-container .search-input {
    width: 100%;
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-14) var(--sage-legacy-u-10) var(--sage-legacy-u-40);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    font-size: var(--font-size-base);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.search-container .search-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring);
}

/* Pagination Info - Standardized */
.pagination-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-lg);
    margin: var(--spacing-md) 0;
    background: var(--bg-secondary);
    border-radius: var(--sage-legacy-u-8);
    border: var(--sage-legacy-u-1) solid var(--border);
}

/* User-specific pagination (keep for backward compatibility) */
.user-pagination-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-lg);
    margin: 0 var(--spacing-lg) var(--spacing-md);
    max-width: var(--sage-legacy-u-1400);
    margin-left: auto;
    margin-right: auto;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.pagination-left {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.per-page-select {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-6);
    font-size: var(--font-size-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.pagination-results {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-4);
}

.pagination-btn {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border);
    background: var(--bg-primary);
    color: var(--text-primary);
    border-radius: var(--sage-legacy-u-4);
    cursor: pointer;
    font-size: var(--font-size-sm);
}

.pagination-btn:hover:not(:disabled) {
    background: var(--bg-secondary);
    border-color: var(--primary);
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-page {
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-12);
    font-weight: 600;
    /* WCAG AA: 4.59:1 on the tinted background; var(--sage-legacy-color-3b82f6) was 3.27:1 */
    color: var(--sage-legacy-color-2563eb);
    background: var(--sage-legacy-alpha-59-130-246-0100);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-3b82f6);
    border-radius: var(--sage-legacy-u-4);
    font-size: var(--font-size-sm);
}

[data-theme="dark"] .pagination-page,
.dark-mode .pagination-page {
    color: var(--sage-legacy-color-93c5fd);
    background: var(--sage-legacy-alpha-59-130-246-0200);
    border-color: var(--sage-legacy-color-3b82f6);
}

/* User Table - scrollbars for overflow */
.user-table-container {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    margin: 0 var(--spacing-lg) var(--spacing-lg);
    max-width: var(--sage-legacy-u-1400);
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
    overflow-y: auto;
    max-height: calc(100vh - var(--sage-legacy-u-260));
    min-height: var(--sage-legacy-u-280);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.user-table {
    width: 100%;
    min-width: var(--sage-legacy-u-800);
    border-collapse: collapse;
}

.user-table thead {
    background: var(--bg-secondary);
}

.user-table th {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    text-align: left;
    font-weight: 600;
    font-size: var(--sage-legacy-u-11);
    color: var(--text-secondary);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.user-table th.sortable {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-right: var(--sage-legacy-u-24);
}

.user-table th.sortable:hover {
    color: var(--primary);
}

.sort-icon {
    position: absolute;
    right: var(--sage-legacy-u-8);
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    transition: opacity 0.2s;
}

.user-table th.sortable:hover .sort-icon,
.documents-table th.sortable:hover .sort-icon {
    opacity: 1;
}

/* Sortable headers for all tables */
th.sortable {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-right: var(--sage-legacy-u-24);
    transition: color 0.2s;
}

th.sortable:hover {
    color: var(--primary);
    background-color: var(--bg-secondary);
}

th.sortable.sort-active {
    color: var(--primary);
    font-weight: 600;
}

th.sortable.sort-active .sort-icon {
    opacity: 1;
    color: var(--primary);
}

/* Dual-arrow sort indicator: ascending arrow highlighted */
th.sortable.sort-asc .sort-arrow-up { color: var(--primary); opacity: 1; }
th.sortable.sort-asc .sort-arrow-down { opacity: 0.3; }

/* Dual-arrow sort indicator: descending arrow highlighted */
th.sortable.sort-desc .sort-arrow-up { opacity: 0.3; }
th.sortable.sort-desc .sort-arrow-down { color: var(--primary); opacity: 1; }

.user-table td {
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
    vertical-align: top;
    color: var(--text-primary);
    background: var(--bg-primary);
    font-size: var(--font-size-sm);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.3;
}

.user-table tbody tr:hover {
    background: var(--bg-secondary);
}

.user-table tbody tr:last-child td {
    border-bottom: none;
}

/* User Info in Table */
.user-info {
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-8);
}

.user-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: var(--font-size-base);
    margin-bottom: var(--sage-legacy-u-4);
}

.user-email-row {
    display: flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
}

.user-email-icon-large {
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
    color: var(--text-primary);
    opacity: 0.8;
    flex-shrink: 0;
}

.user-email-text {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* Role Text (plain text, not badge) */
.role-text {
    font-size: var(--font-size-base);
    color: var(--text-primary);
    font-weight: 500;
}

/* Action Menu Button (three dots) */
.action-menu-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--sage-legacy-u-8);
    border-radius: var(--sage-legacy-u-4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    transition: all 0.2s;
}

.action-menu-btn:hover {
    background: var(--bg-secondary);
    color: var(--primary);
}

.action-menu-btn svg {
    width: var(--sage-legacy-u-18);
    height: var(--sage-legacy-u-18);
}

/* Action icons use the same classes as content management - no additional styles needed */

/* Action Menu Dropdown - ensure labels visible on background */
.action-menu-dropdown {
    position: fixed;
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-4);
    box-shadow: var(--sage-app-shadow-elevation-2-7);
    z-index: var(--sage-app-layer-dropdown);
    padding: var(--sage-legacy-u-4);
    min-width: var(--sage-legacy-u-150);
    color: var(--text-primary);
}

.action-menu-dropdown * {
    color: var(--text-primary);
}

.action-menu-item {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-12);
    cursor: pointer;
    border-radius: var(--sage-legacy-u-4);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    transition: background-color 0.2s;
}

.action-menu-item:hover {
    background-color: var(--bg-secondary);
}

.action-menu-item:last-child {
    color: var(--error);
}

.action-menu-item:last-child:hover {
    background-color: var(--sage-legacy-alpha-239-68-68-0100);
}

[data-theme="dark"] .action-menu-item:last-child:hover,
.dark-mode .action-menu-item:last-child:hover {
    background-color: var(--sage-legacy-alpha-239-68-68-0200);
}

/* User Cards View */
.user-cards-container {
    margin-top: var(--spacing-lg);
}

.user-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-300), 1fr));
    gap: var(--spacing-lg);
    padding: var(--spacing-md) 0;
}

.user-card {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    padding: var(--spacing-lg);
    transition: all 0.2s;
    box-shadow: var(--sage-app-shadow-elevation-1);
}

.user-card:hover {
    box-shadow: var(--sage-app-shadow-elevation-3-5);
    border-color: var(--primary);
}

.user-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: var(--sage-legacy-u-1) solid var(--border);
}

.user-card-name {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
}

.user-card-body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.user-card-email,
.user-card-role,
.user-card-status,
.user-card-login {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.user-card-email svg {
    width: var(--sage-legacy-u-18);
    height: var(--sage-legacy-u-18);
    color: var(--text-secondary);
}

.user-card-role .role-text {
    font-weight: 500;
    color: var(--text-primary);
}

.user-card-login {
    margin-top: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: var(--sage-legacy-u-1) solid var(--bg-secondary);
    font-size: var(--font-size-sm);
}

.no-results {
    text-align: center;
    padding: var(--spacing-xl);
    color: var(--text-secondary);
    font-size: var(--font-size-base);
}

/* Dropdown Menus - ensure text is never white on white */
.dropdown-menu {
    position: absolute;
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-4);
    box-shadow: var(--sage-app-shadow-elevation-2-7);
    z-index: var(--sage-app-layer-dropdown);
    min-width: var(--sage-legacy-u-200);
    color: var(--text-primary);
}

.dropdown-menu *,
.dropdown-menu label,
.dropdown-checkbox-item,
.dropdown-checkbox-item label {
    color: var(--text-primary);
}

.dropdown-menu label {
    cursor: pointer;
    user-select: none;
}

.dropdown-menu input[type="checkbox"] {
    margin-right: var(--sage-legacy-u-8);
    cursor: pointer;
}

.dropdown-menu select {
    width: 100%;
    padding: var(--sage-legacy-u-6);
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-4);
    font-size: var(--font-size-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* Responsive */
@media (max-width: 48rem) {
    .admin-main {
        padding: var(--spacing-md);
    }
    
    .header-content {
        flex-direction: column;
        gap: var(--spacing-md);
        align-items: flex-start;
    }
    
    .navbar-content {
        padding: 0 var(--spacing-md);
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    
    .nav-link {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-sm);
        min-width: fit-content;
    }
    
    .list-controls {
        flex-direction: column;
    }
    
    .documents-table-container,
    #content-table-container,
    #scopes-table-container,
    #chatbots-table-container,
    #code-table-container,
    #user-table-container {
        overflow-x: scroll;
        overflow-y: scroll;
        max-height: calc(100vh - var(--sage-legacy-u-280));
        min-height: var(--sage-legacy-u-200);
    }
    .user-table-container {
        overflow-x: scroll;
        overflow-y: scroll;
        max-height: calc(100vh - var(--sage-legacy-u-280));
        min-height: var(--sage-legacy-u-200);
    }
    
    .modal-content {
        max-width: 100%;
        max-height: calc(100vh - var(--sage-legacy-u-24));
        margin: var(--spacing-md);
    }
    
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
}

/* Scrollbar */
::-webkit-scrollbar {
    width: var(--sage-legacy-u-8);
    height: var(--sage-legacy-u-10);
}

/* Vertical and horizontal scrollbars for ALL list/table containers */
.documents-table-container::-webkit-scrollbar,
#content-table-container::-webkit-scrollbar,
#scopes-table-container::-webkit-scrollbar,
#chatbots-table-container::-webkit-scrollbar,
#code-table-container::-webkit-scrollbar,
.scope-content-table-wrapper::-webkit-scrollbar,
.user-table-container::-webkit-scrollbar {
    width: var(--sage-legacy-u-10);
    height: var(--sage-legacy-u-12);
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: var(--sage-legacy-u-4);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--border-hover);
}

/* Dark mode: scrollbars use dark background so no grey vertical bar on the right */
[data-theme="dark"] ::-webkit-scrollbar-track,
[data-theme="dark"]::-webkit-scrollbar-track,
html.dark-mode ::-webkit-scrollbar-track,
html.dark-mode::-webkit-scrollbar-track,
:root.dark-mode ::-webkit-scrollbar-track,
:root.dark-mode::-webkit-scrollbar-track {
    background: var(--bg-primary) !important;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb,
[data-theme="dark"]::-webkit-scrollbar-thumb,
html.dark-mode ::-webkit-scrollbar-thumb,
html.dark-mode::-webkit-scrollbar-thumb,
:root.dark-mode ::-webkit-scrollbar-thumb,
:root.dark-mode::-webkit-scrollbar-thumb {
    background: var(--border) !important;
    border-radius: var(--sage-legacy-u-4);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover,
html.dark-mode ::-webkit-scrollbar-thumb:hover,
:root.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: var(--border-hover) !important;
}

[data-theme="dark"] .documents-table-container,
[data-theme="dark"] #content-table-container,
[data-theme="dark"] #scopes-table-container,
[data-theme="dark"] #chatbots-table-container,
[data-theme="dark"] #persona-templates-table-container,
[data-theme="dark"] .scope-content-table-wrapper,
[data-theme="dark"] .user-table-container,
html.dark-mode .documents-table-container,
html.dark-mode #content-table-container,
html.dark-mode #scopes-table-container,
html.dark-mode #chatbots-table-container,
html.dark-mode #persona-templates-table-container,
html.dark-mode .scope-content-table-wrapper,
html.dark-mode .user-table-container {
    scrollbar-color: var(--border) var(--bg-primary);
}

/* Force dark scrollbar track on content table (the main vertical bar on the right) */
[data-theme="dark"] #content-table-container::-webkit-scrollbar-track,
[data-theme="dark"] .documents-table-container::-webkit-scrollbar-track,
html.dark-mode #content-table-container::-webkit-scrollbar-track,
html.dark-mode .documents-table-container::-webkit-scrollbar-track {
    background: var(--bg-primary) !important;
}
[data-theme="dark"] #content-table-container::-webkit-scrollbar-thumb,
[data-theme="dark"] .documents-table-container::-webkit-scrollbar-thumb,
html.dark-mode #content-table-container::-webkit-scrollbar-thumb,
html.dark-mode .documents-table-container::-webkit-scrollbar-thumb {
    background: var(--border) !important;
}

/* ============================================================================
   SageAIApps authenticated shell baseline
   Source of truth: shared SageAIApps shell tokens and authenticated app patterns.
   ============================================================================ */
:root {
    --bg: var(--sage-legacy-color-ffffff);
    --app-bg: var(--sage-legacy-color-f8fafc);
    --panel: var(--sage-legacy-color-ffffff);
    --subtle: var(--sage-legacy-color-fbfcfe);
    --subtle-alt: var(--sage-legacy-color-f7f7f8);
    --ink: var(--sage-legacy-color-020817);
    --muted: var(--sage-legacy-color-334155);
    --line: var(--sage-legacy-color-cbd5e1);
    --soft-line: var(--sage-legacy-color-e2e8f0);
    --primary: hsl(var(--suite, 262 83% 58%));
    --primary-hover: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), var(--sage-legacy-color-000000) 12%);
    --primary-dark: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), var(--sage-legacy-color-000000) 18%);
    --primary-ink: var(--sage-legacy-color-ffffff);
    --brand-pill: hsl(var(--suite, 262 83% 58%) / 0.08);
    --brand-pill-ink: var(--sage-legacy-color-0f172a);
    --chip-bg: var(--sage-legacy-color-eef3f8);
    --chip-ink: var(--sage-legacy-color-344054);
    --health-bg: var(--sage-legacy-color-e6f4ee);
    --role-bg: var(--sage-legacy-color-eaf3ff);
    --role-ink: var(--sage-legacy-color-175cd3);
    --danger-soft: var(--sage-legacy-color-fff0ec);
    --good: var(--sage-legacy-color-15803d);
    --warn: var(--sage-legacy-color-a15c00);
    --bad: var(--sage-legacy-color-b42318);
    --sidebar: var(--sage-legacy-color-ffffff);
    --sidebar-ink: var(--sage-legacy-color-172033);
    /* DEF-0008: 4.96:1 on --sidebar-hover (var(--sage-legacy-color-f4f7fb)); var(--sage-legacy-color-64748b) was 4.42:1, below WCAG AA */
    --sidebar-muted: var(--sage-legacy-color-5d6c83);
    --sidebar-border: var(--sage-legacy-color-d8e0eb);
    --sidebar-hover: var(--sage-legacy-color-f4f7fb);
    --sidebar-active: hsl(var(--suite, 262 83% 58%));
    --sidebar-active-ink: var(--sage-legacy-color-ffffff);

    --bg-primary: var(--panel);
    --bg-secondary: var(--subtle);
    --bg-tertiary: var(--subtle-alt);
    --text-primary: var(--ink);
    --text-secondary: var(--muted);
    --border: var(--line);
    --border-hover: var(--line);
    --sidebar-bg: var(--sidebar);
    --sidebar-text: var(--sidebar-ink);
    --table-header-bg: var(--subtle-alt);
    --table-header-text: var(--sage-legacy-color-172033);
    --suite-topbar-height: 0;
}

:root[data-theme="dark"],
:root.dark,
:root.dark-mode {
    --bg: var(--sage-legacy-color-111827);
    --app-bg: var(--sage-legacy-color-0f172a);
    --panel: var(--sage-legacy-color-111827);
    --subtle: var(--sage-legacy-color-0f172a);
    --subtle-alt: var(--sage-legacy-color-1f2937);
    --ink: var(--sage-legacy-color-f8fafc);
    --muted: var(--sage-legacy-color-cbd5e1);
    --line: var(--sage-legacy-color-334155);
    --soft-line: var(--sage-legacy-color-1f2937);
    --primary: hsl(var(--suite, 262 83% 58%));
    --primary-hover: var(--primary);
    --primary-dark: var(--primary);
    /* DEF-0012: white-on-var(--sage-legacy-color-3b82f6) is 3.67:1 (AA fail). var(--sage-legacy-color-3b82f6) stays — it is
       the dark LINK/text color (4.8:1 on the panel) — but filled primary
       controls pair it with dark ink (4.84:1), the same keep-the-brand-fill /
       dark-foreground pattern the canonical tokens use for the WM amber suite. */
    --primary-ink: var(--sage-legacy-color-ffffff);
    --chip-bg: var(--sage-legacy-color-1f2937);
    --chip-ink: var(--sage-legacy-color-dbeafe);
    --health-bg: var(--sage-legacy-color-064e3b);
    --role-bg: var(--sage-legacy-color-1e3a8a);
    --role-ink: var(--sage-legacy-color-bfdbfe);
    --sidebar: var(--sage-legacy-color-111827);
    --sidebar-ink: var(--sage-legacy-color-f8fafc);
    --sidebar-muted: var(--sage-legacy-color-94a3b8);
    --sidebar-border: var(--sage-legacy-color-334155);
    --sidebar-hover: var(--sage-legacy-color-1f2937);
    --sidebar-active: hsl(var(--suite, 262 83% 58%));
    --sidebar-active-ink: var(--sage-legacy-color-ffffff);
    --primary-ink: var(--sage-legacy-color-ffffff);
    --table-header-bg: var(--sage-legacy-color-1f2937);
    --table-header-text: var(--sage-legacy-color-e2e8f0);
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="system"] {
        --bg: var(--sage-legacy-color-111827);
        --app-bg: var(--sage-legacy-color-0f172a);
        --panel: var(--sage-legacy-color-111827);
        --subtle: var(--sage-legacy-color-0f172a);
        --subtle-alt: var(--sage-legacy-color-1f2937);
        --ink: var(--sage-legacy-color-f8fafc);
        --muted: var(--sage-legacy-color-cbd5e1);
        --line: var(--sage-legacy-color-334155);
        --soft-line: var(--sage-legacy-color-1f2937);
        --primary: hsl(var(--suite, 262 83% 58%));
        --primary-hover: var(--primary);
        --primary-dark: var(--primary);
        /* DEF-0012: dark filled primaries use dark ink (see themed block above) */
        --primary-ink: var(--sage-legacy-color-ffffff);
        --chip-bg: var(--sage-legacy-color-1f2937);
        --chip-ink: var(--sage-legacy-color-dbeafe);
        --health-bg: var(--sage-legacy-color-064e3b);
        --role-bg: var(--sage-legacy-color-1e3a8a);
        --role-ink: var(--sage-legacy-color-bfdbfe);
        --sidebar: var(--sage-legacy-color-111827);
        --sidebar-ink: var(--sage-legacy-color-f8fafc);
        --sidebar-muted: var(--sage-legacy-color-94a3b8);
        --sidebar-border: var(--sage-legacy-color-334155);
        --sidebar-hover: var(--sage-legacy-color-1f2937);
        --sidebar-active: hsl(var(--suite, 262 83% 58%));
        --sidebar-active-ink: var(--sage-legacy-color-ffffff);
        --table-header-bg: var(--sage-legacy-color-1f2937);
        --table-header-text: var(--sage-legacy-color-e2e8f0);
    }
}

html,
body {
    background: var(--app-bg) !important;
    color: var(--ink) !important;
}

.suite-topbar {
    display: none !important;
}

.admin-container {
    display: block !important;
    min-height: 100vh !important;
    background: var(--app-bg) !important;
    padding: 0 !important;
}

.sidebar-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    top: 0 !important;
    z-index: var(--sage-app-layer-nav) !important;
    width: var(--sage-legacy-u-230) !important;
    min-width: var(--sage-legacy-u-230) !important;
    max-width: var(--sage-legacy-u-230) !important;
    height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: var(--sidebar) !important;
    color: var(--sidebar-ink) !important;
    border-right: var(--sage-legacy-u-1) solid var(--sidebar-border) !important;
    box-shadow: none !important;
    padding: 0 !important;
    transform: none !important;
}

.sidebar-branding {
    display: flex !important;
    gap: 0.75rem !important;
    align-items: center !important;
    min-height: var(--sage-legacy-u-92) !important;
    padding: 1rem !important;
    margin: 0 !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sidebar-border) !important;
    background: var(--sidebar) !important;
    position: relative !important;
}

.sidebar-logo {
    gap: 0.75rem !important;
    min-width: 0 !important;
}

.sidebar-branding .sidebar-home-link {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    align-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    margin: -1rem !important;
    padding: 1rem !important;
    border-radius: var(--sage-app-radius-square) !important;
}

.sidebar-branding .sidebar-toggle-close {
    position: relative !important;
    z-index: var(--sage-app-layer-control) !important;
}

.logo-icon {
    width: var(--sage-legacy-u-42) !important;
    height: var(--sage-legacy-u-42) !important;
    min-width: var(--sage-legacy-u-42) !important;
    border-radius: var(--sage-legacy-u-7) !important;
    display: grid !important;
    place-items: center !important;
    background: var(--sage-legacy-color-10b981) !important;
    color: var(--sage-legacy-color-ffffff) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.logo-name {
    color: var(--sidebar-ink) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.logo-tagline {
    display: block !important;
    color: var(--sidebar-muted) !important;
    margin-top: 0.2rem !important;
    font-size: 0.66rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
}

.sidebar-toggle-close {
    display: none !important;
}

.sidebar-nav-menu {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding: 0.55rem 0.5rem 1rem !important;
    background: transparent !important;
}

.nav-menu-list {
    display: grid !important;
    align-content: start !important;
    gap: 0.18rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.nav-menu-link,
.sidebar-user-expandable-btn,
.sidebar-user-expandable-item {
    width: 100% !important;
    min-height: auto !important;
    text-align: left !important;
    background: transparent !important;
    color: var(--sidebar-ink) !important;
    border: 0 !important;
    border-radius: var(--sage-legacy-u-7) !important;
    padding: 0.56rem 0.65rem !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.nav-menu-link:hover,
.sidebar-user-expandable-btn:hover,
.sidebar-user-expandable-item:hover {
    background: var(--sidebar-hover) !important;
    color: var(--sidebar-ink) !important;
}

.nav-menu-link.active,
.sidebar-user-expandable-item.active {
    background: var(--sidebar-active) !important;
    color: var(--sidebar-active-ink) !important;
}

.nav-icon,
.user-action-icon {
    display: none !important;
}

.nav-text {
    min-width: 0 !important;
}

.sidebar-user-section {
    margin-top: auto !important;
    border-top: var(--sage-legacy-u-1) solid var(--sidebar-border) !important;
    padding: 0.55rem 0.75rem 0.8rem !important;
    background: color-mix(in srgb, var(--sidebar) 94%, var(--sidebar-hover)) !important;
}

.sidebar-divider {
    display: none !important;
}

.sidebar-user-profile.account-card {
    display: block !important;
    border: 0 !important;
    border-radius: var(--sage-app-radius-square) !important;
    padding: 0 !important;
    margin: 0.55rem 0 0 !important;
    background: transparent !important;
    color: var(--sidebar-ink) !important;
    box-shadow: none !important;
    font-size: 0.86rem !important;
}

.user-avatar {
    width: var(--sage-legacy-u-42) !important;
    height: var(--sage-legacy-u-42) !important;
    border-radius: var(--sage-legacy-u-7) !important;
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    display: grid !important;
    place-items: center !important;
    font-weight: 700 !important;
}

.user-info {
    gap: 0.16rem !important;
    min-width: 0 !important;
}

.user-name {
    display: block !important;
    color: var(--sidebar-ink) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 0.2rem !important;
}

.user-email,
.user-role {
    display: block !important;
    color: var(--sidebar-muted) !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
}

.chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
    margin-top: 0.35rem !important;
}

.chip {
    display: inline-flex !important;
    align-items: center !important;
    border-radius: var(--sage-legacy-u-999) !important;
    padding: 0.14rem 0.42rem !important;
    background: var(--chip-bg) !important;
    color: var(--chip-ink) !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.sidebar-user-expandable {
    margin: 0 0 0.55rem !important;
}

.sidebar-user-expandable-content {
    margin: 0.1rem 0 0.35rem 0.55rem !important;
    padding-left: 0.7rem !important;
    border-left: var(--sage-legacy-u-1) solid var(--sidebar-border) !important;
}

.sidebar-user-expandable:not(.expanded) .sidebar-user-expandable-content {
    display: none !important;
}

.nav-chevron {
    margin-left: auto !important;
    color: inherit !important;
    font-size: 0.72rem !important;
}

.theme-switcher {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.2rem !important;
    border: var(--sage-legacy-u-1) solid var(--sidebar-border) !important;
    border-radius: var(--sage-legacy-u-7) !important;
    padding: 0.18rem !important;
    margin: 0 0 0.55rem !important;
    background: var(--sidebar) !important;
}

.theme-switcher button {
    min-height: auto !important;
    border: 0 !important;
    border-radius: var(--sage-legacy-u-5) !important;
    padding: 0.35rem 0.25rem !important;
    background: transparent !important;
    color: var(--sidebar-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
}

.theme-switcher button.active {
    background: var(--sidebar-active) !important;
    color: var(--sidebar-active-ink) !important;
}

.sidebar-user-actions {
    margin-top: 0.45rem !important;
}

.user-action-btn-logout {
    width: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    /* var(--primary) resolves to the dark-theme link blue, which is 3.99:1 on the
       sidebar surface. The derived text role keeps the hue and clears AA. */
    color: var(--sage-text-info) !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.main-content-wrapper {
    height: 100vh !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
    margin-left: var(--sage-legacy-u-230) !important;
    width: auto !important;
    max-width: none !important;
    padding: 1.25rem !important;
    padding-top: 1.25rem !important;
    background: var(--app-bg) !important;
}

.main-content-header {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: var(--sage-legacy-u-92) !important;
    margin: 0 0 1rem !important;
    padding: 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    background: var(--panel) !important;
    border: var(--sage-legacy-u-1) solid var(--line) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    box-shadow: none !important;
}

.sidebar-toggle-open {
    display: none !important;
}

.page-title-section {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    margin-left: 0 !important;
}

.page-title {
    color: var(--ink) !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    margin: 0 0 0.35rem !important;
}

.page-breadcrumbs {
    color: var(--muted) !important;
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.admin-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pages-container {
    width: 100% !important;
    max-width: none !important;
}

.stats-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(var(--sage-legacy-u-160), 1fr)) !important;
    gap: 0.75rem !important;
    margin: 0 0 1rem !important;
}

.stat-card,
.settings-section,
.content-list-section,
.documents-table-container,
.user-card,
.scope-card,
.chatbot-card,
.model-config-card,
.model-config-overall,
.model-config-models,
.list-controls-wrapper {
    background: var(--panel) !important;
    border: var(--sage-legacy-u-1) solid var(--line) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    box-shadow: none !important;
}

.content-list-header,
.section-header {
    margin-bottom: 1rem !important;
}

.btn,
.btn-login,
.btn-register,
.pagination-btn,
.view-toggle-btn,
.admin-tab-btn,
.form-input,
.dropdown-menu,
.modal-content {
    border-radius: var(--sage-legacy-u-7) !important;
}

.btn {
    min-height: var(--sage-legacy-u-36) !important;
    padding: 0.55rem 0.85rem !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.btn-primary {
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    border: var(--sage-legacy-u-1) solid var(--primary) !important;
}

.btn-primary:hover {
    background: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}

.btn-secondary,
.btn-icon,
.pagination-btn,
.view-toggle-btn,
.admin-tab-btn {
    background: var(--panel) !important;
    color: var(--ink) !important;
    border: var(--sage-legacy-u-1) solid var(--line) !important;
}

.btn-secondary:hover,
.btn-icon:hover,
.pagination-btn:hover,
.view-toggle-btn:hover,
.admin-tab-btn:hover {
    background: var(--sidebar-hover) !important;
    color: var(--ink) !important;
    border-color: var(--line) !important;
}

.view-toggle-btn.active,
.admin-tab-btn.active,
.pagination-page.active {
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    border-color: var(--primary) !important;
}

.documents-table-container {
    overflow: auto !important;
}

.documents-table {
    background: var(--panel) !important;
}

.documents-table thead,
.documents-table thead th,
.documents-table th {
    background: var(--table-header-bg) !important;
    color: var(--table-header-text) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

.documents-table td {
    color: var(--ink) !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--soft-line) !important;
}

.documents-table tbody tr:hover,
.documents-table tbody tr:hover td {
    background: var(--subtle) !important;
}

.badge,
.status-badge,
.source-badge,
.content-type-badge,
.document-type-badge,
.content-readiness-badge,
.role-badge {
    border-radius: var(--sage-legacy-u-999) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

@media (max-width: 63.9375rem) {
    .sidebar-nav {
        transform: translateX(-100%) !important;
        top: 0 !important;
        height: 100vh !important;
    }

    .sidebar-nav.open {
        transform: translateX(0) !important;
    }

    .sidebar-toggle-close,
    .sidebar-toggle-open {
        display: inline-flex !important;
    }

    .main-content-wrapper {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 1rem !important;
        padding-top: 1rem !important;
    }

    .main-content-header {
        min-height: var(--sage-legacy-u-76) !important;
        margin-bottom: 1rem !important;
    }

    .stats-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 40rem) {
    .main-content-wrapper {
        padding: 0.75rem !important;
        padding-top: 0.75rem !important;
    }

    .main-content-header {
        min-height: auto !important;
        padding: 0.9rem !important;
        align-items: flex-start !important;
    }

    .page-title {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 1.15rem !important;
    }

    .stats-bar {
        grid-template-columns: 1fr !important;
    }

    .content-list-header,
    .section-header,
    .standard-controls-row,
    .controls-row-bottom,
    .user-pagination-info,
    .pagination-left {
        align-items: stretch !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
}

/* ============================================================================
   Sage Suite UI/UX Standard - Commercial interaction layer
   Applies shared list, modal, message, action, and aggregate behavior.
   ============================================================================ */
:root {
    --sage-bg: var(--app-bg);
    --sage-surface: var(--panel);
    --sage-surface-muted: var(--subtle-alt);
    --sage-text: var(--ink);
    --sage-muted: var(--muted);
    --sage-border: var(--line);
    --sage-border-soft: var(--soft-line);
    --sage-primary: var(--primary);
    --sage-primary-hover: var(--primary-hover);
    --sage-focus-ring: var(--sage-legacy-alpha-37-99-235-0280);
    --sage-radius: var(--sage-legacy-u-8);
    --sage-radius-sm: var(--sage-legacy-u-6);
    --sage-shadow-menu: 0 var(--sage-legacy-u-16) var(--sage-legacy-u-38) var(--sage-legacy-alpha-15-23-42-0160);
    --sage-shadow-modal: 0 var(--sage-legacy-u-24) var(--sage-legacy-u-80) var(--sage-legacy-alpha-15-23-42-0240);
}

*:focus-visible {
    outline: var(--sage-legacy-u-2) solid var(--sage-primary) !important;
    outline-offset: var(--sage-legacy-u-2) !important;
    box-shadow: var(--sage-app-shadow-ring-6) !important;
}

.main-content-header {
    align-items: center !important;
    min-height: var(--sage-legacy-u-82) !important;
}

.page-title {
    font-size: 1.22rem !important;
}

.page-breadcrumb-link {
    color: var(--sage-primary) !important;
    /* DEF-0008: links in text must not rely on color alone (axe link-in-text-block) */
    text-decoration: underline !important;
    text-underline-offset: var(--sage-legacy-u-2);
}

.page-breadcrumb-link:hover {
    text-decoration: underline !important;
}

.stats-bar {
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-220), 1fr)) !important;
    gap: 0.75rem !important;
}

.stat-card,
button.stat-card {
    min-height: var(--sage-legacy-u-70) !important;
    padding: 0.9rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    border-radius: var(--sage-radius) !important;
}

button.stat-card,
.sage-clickable-stat {
    width: 100% !important;
    appearance: none !important;
    cursor: pointer !important;
    text-align: left !important;
    color: var(--sage-text) !important;
    transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease !important;
}

.sage-clickable-stat:hover {
    border-color: color-mix(in srgb, var(--sage-primary) 42%, var(--sage-border)) !important;
    background: color-mix(in srgb, var(--sage-surface) 94%, var(--sage-primary)) !important;
    transform: translateY(calc(var(--sage-legacy-u-1) * -1)) !important;
    box-shadow: var(--sage-app-shadow-elevation-5) !important;
}

.stat-value {
    color: var(--sage-text) !important;
    font-size: 1.18rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.stat-label {
    color: var(--sage-muted) !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
}

.content-list-header,
.section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
}

.content-list-header .btn,
.section-header .btn,
.standard-controls-row .btn,
.controls-row-bottom .btn {
    white-space: nowrap !important;
}

.list-controls-wrapper,
#content-list-controls-content,
#chatbots-list-controls-content,
#scopes-list-controls-content,
#user-list-controls-content,
#model-management-list-controls-content,
#settings-list-controls-content {
    background: var(--sage-surface) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    padding: 0.7rem !important;
    margin-bottom: 0.75rem !important;
}

.standard-controls-row,
.controls-row-bottom,
.filter-row,
.search-row {
    gap: 0.55rem !important;
    align-items: center !important;
}

.search-container,
.user-search-container {
    min-width: min(var(--sage-legacy-u-360), 100%) !important;
    flex: 1 1 var(--sage-legacy-u-300) !important;
}

.form-input,
.search-input,
.sort-select,
.per-page-select,
.filter-input,
.form-select,
select,
textarea {
    border-color: var(--sage-border) !important;
    border-radius: var(--sage-radius-sm) !important;
    color: var(--sage-text) !important;
    background: var(--sage-surface) !important;
    min-height: var(--sage-legacy-u-36) !important;
}

.form-input:focus,
.search-input:focus,
.sort-select:focus,
.per-page-select:focus,
.filter-input:focus,
.form-select:focus,
select:focus,
textarea:focus {
    border-color: var(--sage-primary) !important;
    box-shadow: var(--sage-app-shadow-ring-6) !important;
}

.documents-table-container,
#chatbots-table-container,
#scopes-table-container,
.scope-content-table-wrapper,
.user-table-container,
.model-config-table-wrapper {
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface) !important;
    box-shadow: none !important;
    overflow: auto !important;
    max-height: min(var(--sage-legacy-u-680), calc(100vh - var(--sage-legacy-u-320))) !important;
}

.documents-table,
#chatbots-table,
#scopes-table,
.scope-content-table,
.users-table,
.model-config-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.documents-table thead th,
#chatbots-table thead th,
#scopes-table thead th,
.scope-content-table thead th,
.users-table thead th,
.model-config-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: var(--sage-app-layer-sticky) !important;
    height: var(--sage-legacy-u-34) !important;
    padding: 0.55rem 0.65rem !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    background: var(--table-header-bg) !important;
    color: var(--table-header-text) !important;
    font-size: 0.68rem !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

.documents-table td,
#chatbots-table td,
#scopes-table td,
.scope-content-table td,
.users-table td,
.model-config-table td {
    padding: 0.48rem 0.65rem !important;
    vertical-align: middle !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-border-soft) !important;
    color: var(--sage-text) !important;
}

[data-theme="dark"] .documents-table-container,
[data-theme="dark"] #chatbots-table-container,
[data-theme="dark"] #scopes-table-container,
[data-theme="dark"] .scope-content-table-wrapper,
[data-theme="dark"] .user-table-container,
[data-theme="dark"] .model-config-table-wrapper,
html.dark-mode .documents-table-container,
html.dark-mode #chatbots-table-container,
html.dark-mode #scopes-table-container,
html.dark-mode .scope-content-table-wrapper,
html.dark-mode .user-table-container,
html.dark-mode .model-config-table-wrapper {
    background: var(--panel) !important;
    border-color: var(--line) !important;
}

[data-theme="dark"] .documents-table,
[data-theme="dark"] #chatbots-table,
[data-theme="dark"] #scopes-table,
[data-theme="dark"] .scope-content-table,
[data-theme="dark"] .users-table,
[data-theme="dark"] .model-config-table,
html.dark-mode .documents-table,
html.dark-mode #chatbots-table,
html.dark-mode #scopes-table,
html.dark-mode .scope-content-table,
html.dark-mode .users-table,
html.dark-mode .model-config-table,
[data-theme="dark"] .documents-table td,
[data-theme="dark"] #chatbots-table td,
[data-theme="dark"] #scopes-table td,
[data-theme="dark"] .scope-content-table td,
[data-theme="dark"] .users-table td,
[data-theme="dark"] .model-config-table td,
html.dark-mode .documents-table td,
html.dark-mode #chatbots-table td,
html.dark-mode #scopes-table td,
html.dark-mode .scope-content-table td,
html.dark-mode .users-table td,
html.dark-mode .model-config-table td {
    background: var(--panel) !important;
}

.documents-table tbody tr:hover,
#chatbots-table tbody tr:hover,
#scopes-table tbody tr:hover,
.scope-content-table tbody tr:hover,
.users-table tbody tr:hover,
.model-config-table tbody tr:hover {
    background: var(--subtle) !important;
}

.badge,
.status-badge,
.source-badge,
.content-type-badge,
.document-type-badge,
.content-readiness-badge,
.role-badge,
.chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    min-height: var(--sage-legacy-u-20) !important;
    padding: 0.12rem 0.46rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    font-size: 0.68rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.user-pagination-info,
.pagination-container,
.pagination-info {
    background: var(--sage-surface) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    padding: 0.65rem 0.75rem !important;
}

.pagination-controls,
.pagination-left,
.pagination-bulk-actions {
    gap: 0.4rem !important;
}

.pagination-btn,
.pagination-page {
    min-width: var(--sage-legacy-u-34) !important;
    height: var(--sage-legacy-u-34) !important;
    border-radius: var(--sage-radius-sm) !important;
}

.action-icons[data-sage-enhanced="menu"] {
    justify-content: flex-end !important;
    overflow: visible !important;
}

.sage-action-menu {
    position: relative !important;
    display: inline-flex !important;
    justify-content: flex-end !important;
}

.sage-action-menu-toggle {
    min-height: var(--sage-legacy-u-34) !important;
    padding: 0 0.65rem !important;
    gap: 0.4rem !important;
}

.sage-action-menu-caret {
    font-size: 0.68rem !important;
    color: var(--sage-muted) !important;
}

.sage-action-menu-panel {
    display: none !important;
    position: fixed !important;
    right: auto;
    top: auto;
    z-index: var(--sage-app-layer-overlay-menu) !important;
    min-width: var(--sage-legacy-u-190) !important;
    max-width: min(var(--sage-legacy-u-280), calc(100vw - var(--sage-legacy-u-16))) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0.35rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface) !important;
    box-shadow: var(--sage-shadow-menu) !important;
}

.sage-action-menu.open .sage-action-menu-panel {
    display: grid !important;
    gap: 0.15rem !important;
}

.sage-action-menu-panel.open {
    display: grid !important;
    gap: 0.15rem !important;
}

/* Chatbot flow canvas: lightweight node authoring inside the standard task surface. */
.flow-canvas-card {
    gap: var(--spacing-md) !important;
}

.flow-canvas-preview {
    display: flex !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    padding: 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, var(--sage-legacy-alpha-248-250-252-0920), var(--sage-legacy-alpha-241-245-249-0920)) !important;
    overflow-x: auto !important;
}

.flow-canvas-node {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-areas:
        "step title"
        "step meta" !important;
    align-items: center !important;
    min-width: var(--sage-legacy-u-176) !important;
    max-width: var(--sage-legacy-u-220) !important;
    gap: 0.15rem 0.55rem !important;
    padding: 0.65rem 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-left: var(--sage-legacy-u-4) solid var(--primary) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    box-shadow: var(--sage-app-shadow-elevation-4) !important;
}

.flow-canvas-node-step {
    grid-area: step !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--sage-legacy-u-28) !important;
    height: var(--sage-legacy-u-28) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: color-mix(in srgb, hsl(var(--info)) 15%, hsl(var(--card))) !important;
    color: var(--sage-text-info) !important;
    font-weight: 700 !important;
}

.flow-canvas-node strong {
    grid-area: title !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.88rem !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.flow-canvas-node small {
    grid-area: meta !important;
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.75rem !important;
}

.flow-canvas-node[data-flow-node-type="form_capture"] {
    border-left-color: var(--sage-legacy-color-0f766e) !important;
}

.flow-canvas-node[data-flow-node-type="tool"] {
    border-left-color: var(--sage-legacy-color-7c3aed) !important;
}

.flow-canvas-node[data-flow-node-type="handoff"] {
    border-left-color: var(--sage-legacy-color-ea580c) !important;
}

.flow-canvas-arrow {
    align-self: center !important;
    color: var(--sage-legacy-color-64748b) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

.flow-node-list {
    display: grid !important;
    gap: 0.75rem !important;
}

.flow-node-row {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    padding: 0.75rem !important;
}

.flow-node-row-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 0.65rem !important;
}

.flow-node-row-grid {
    display: grid !important;
    grid-template-columns: minmax(var(--sage-legacy-u-160), 0.75fr) minmax(var(--sage-legacy-u-220), 1fr) minmax(var(--sage-legacy-u-220), 1fr) !important;
    gap: 0.75rem !important;
}

.flow-node-wide {
    grid-column: 1 / -1 !important;
}

.flow-canvas-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

@media (max-width: 56.25rem) {
    .flow-node-row-grid {
        grid-template-columns: 1fr !important;
    }

    .flow-canvas-preview {
        align-items: flex-start !important;
    }
}

.form-grid.two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.settings-fieldset {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    margin: 1rem 0 0;
    padding: 1rem;
}

.settings-fieldset legend {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-weight: 700;
    padding: 0 0.35rem;
}

.toggle-row {
    display: flex;
    align-items: center;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    line-height: 1.4;
}

.settings-repeatable-list {
    display: grid;
    gap: 0.6rem;
}

.settings-repeatable-row {
    display: grid;
    grid-template-columns: minmax(var(--sage-legacy-u-180), 1fr) minmax(var(--sage-legacy-u-160), var(--sage-legacy-u-220)) auto;
    gap: 0.6rem;
    align-items: center;
}

.reports-analytics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.reports-schedule-panel {
    margin: 1rem 0;
}

.reports-schedule-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 0.8rem;
}

.reports-schedule-workflow-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: var(--sage-legacy-u-72);
    padding: 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.reports-schedule-step,
.scheduled-report-step-heading span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-eff6ff);
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe);
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 700;
}

.reports-schedule-workflow-card strong,
.scheduled-report-step-heading strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.92rem;
    line-height: 1.2;
}

.reports-schedule-workflow-card small,
.scheduled-report-step-heading small {
    display: block;
    margin-top: 0.15rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.76rem;
    line-height: 1.3;
}

.reports-schedule-table-container {
    max-height: var(--sage-legacy-u-320);
    overflow: auto;
}

.scheduled-report-builder-form {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.scheduled-report-builder-step {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    padding: 0.8rem;
}

.scheduled-report-step-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.scheduled-report-delivery-hint {
    margin-top: 0.7rem;
}

.scheduled-report-history-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.scheduled-report-history-grid div {
    min-height: var(--sage-legacy-u-58);
    padding: 0.65rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}

.scheduled-report-history-grid span {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.scheduled-report-history-grid strong {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.82rem;
    line-height: 1.3;
}

.status-error-text {
    color: var(--danger, var(--sage-legacy-color-dc2626)) !important;
    font-weight: 700;
}

@media (max-width: 56.25rem) {
    .reports-schedule-workflow {
        grid-template-columns: 1fr;
    }

    .scheduled-report-history-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .audit-log-timeline-summary {
        grid-template-columns: 1fr;
    }
}

.reports-analytics-panel {
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    box-shadow: var(--sage-app-shadow-elevation-5-2);
    padding: 1rem;
    min-height: var(--sage-legacy-u-150);
}

/* Prompt-chip usage (AI-10) and answer-quality trends (AI-06) span the full
   reports grid width for readability. */
.reports-prompt-chip-panel,
.reports-trends-panel {
    grid-column: 1 / -1;
}

.reports-trends-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
}

.reports-trend-row {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-e2e8f0));
    border-radius: var(--sage-legacy-u-8);
    padding: 0.5rem 0.75rem;
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}

.reports-trend-head {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.reports-trend-label { font-weight: 600; font-size: 0.85rem; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.reports-trend-value { margin-left: auto; font-weight: 700; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.reports-trend-delta { font-size: 0.75rem; font-weight: 600; }
.reports-trend-delta-success { color: var(--sage-legacy-color-16a34a); }
.reports-trend-delta-danger { color: var(--sage-legacy-color-dc2626); }
.reports-trend-delta-muted { color: var(--text-secondary, var(--sage-legacy-color-64748b)); }

.reports-trend-svg { width: 100%; height: var(--sage-legacy-u-54); display: block; }
.reports-trend-line { stroke-width: 2; }
.reports-trend-area { stroke: none; opacity: 0.15; }
.reports-trend-warning .reports-trend-line { stroke: var(--sage-legacy-color-f59e0b); }
.reports-trend-warning .reports-trend-area { fill: var(--sage-legacy-color-f59e0b); }
.reports-trend-danger .reports-trend-line { stroke: var(--sage-legacy-color-ef4444); }
.reports-trend-danger .reports-trend-area { fill: var(--sage-legacy-color-ef4444); }
.reports-trend-primary .reports-trend-line { stroke: var(--sage-legacy-color-3b82f6); }
.reports-trend-primary .reports-trend-area { fill: var(--sage-legacy-color-3b82f6); }
.reports-trend-success .reports-trend-line { stroke: var(--sage-legacy-color-22c55e); }
.reports-trend-success .reports-trend-area { fill: var(--sage-legacy-color-22c55e); }

/* Drift watch (AI-09) */
.reports-drift-heading { margin: 1rem 0 0.5rem; font-size: 0.9rem; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.reports-drift-watch { display: flex; flex-direction: column; gap: 0.5rem; }
.reports-drift-ok {
    border: var(--sage-legacy-u-1) dashed var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    padding: 0.75rem;
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
}
.reports-drift-ok strong { display: block; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.reports-drift-item {
    border-radius: var(--sage-legacy-u-8);
    padding: 0.5rem 0.75rem;
    border-left: var(--sage-legacy-u-4) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}
.reports-drift-item.reports-action-critical { border-left-color: var(--sage-legacy-color-ef4444); }
.reports-drift-item.reports-action-warning { border-left-color: var(--sage-legacy-color-f59e0b); }
.reports-drift-item.reports-action-info { border-left-color: var(--sage-legacy-color-3b82f6); }
.reports-drift-item strong { display: block; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.reports-drift-item p { margin: 0.25rem 0 0; color: var(--text-secondary, var(--sage-legacy-color-475569)); font-size: 0.85rem; }

/* AI-09 token-cost note + permission-change flag list (drift panel). */
.reports-token-cost-note { margin: 0.5rem 0 0; }
.reports-permission-flags {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.reports-permission-flags li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
}
.reports-permission-flags li small { color: var(--text-muted, var(--sage-legacy-color-94a3b8)); white-space: nowrap; }

.reports-analytics-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.reports-analytics-header h3 {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.95rem;
    margin: 0;
}

.reports-analytics-header span {
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.reports-metric-bar {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}

.reports-metric-bar-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.78rem;
}

.reports-metric-bar-label strong {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.reports-bar-track {
    background: var(--bg-secondary, var(--sage-legacy-color-f1f5f9));
    border-radius: var(--sage-legacy-u-999);
    height: var(--sage-legacy-u-8);
    overflow: hidden;
}

.reports-bar-fill {
    display: block;
    height: 100%;
    min-width: var(--sage-legacy-u-2);
}

.reports-bar-primary { background: var(--primary, var(--primary)); }
.reports-bar-success { background: var(--success, var(--sage-legacy-color-10b981)); }
.reports-bar-warning { background: var(--warning, var(--sage-legacy-color-f59e0b)); }
.reports-bar-danger { background: var(--danger, var(--sage-legacy-color-ef4444)); }

.reports-top-list {
    display: grid;
    gap: 0.55rem;
    list-style-position: inside;
    margin: 0;
    padding: 0;
}

.reports-top-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.8rem;
}

.reports-top-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-top-list strong {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.saml-status-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.saml-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.saml-status-grid code {
    display: block;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
    white-space: normal;
}

.saml-status-errors {
    margin: 0.75rem 0 0;
    padding-left: 1.25rem;
}

.saml-wizard-workbench {
    display: grid;
    gap: 1rem;
}

.saml-wizard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.saml-wizard-header h2 {
    margin: 0 0 0.3rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.saml-wizard-header p,
.saml-step-heading p {
    margin: 0;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    line-height: 1.45;
}

.saml-wizard-header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.saml-wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0.5rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-10);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}

.saml-wizard-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.65rem;
    row-gap: 0.15rem;
    align-items: center;
    min-height: var(--sage-legacy-u-64);
    border: var(--sage-legacy-u-1) solid transparent;
    border-radius: var(--sage-legacy-u-8);
    padding: 0.65rem;
    background: transparent;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    text-align: left;
    cursor: pointer;
}

.saml-wizard-step span {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: var(--sage-legacy-u-999);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--primary, var(--primary));
    font-weight: 700;
}

.saml-wizard-step strong {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.88rem;
}

.saml-wizard-step small {
    overflow: hidden;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.saml-wizard-step.active {
    border-color: var(--sage-legacy-alpha-37-99-235-0450);
    background: var(--sage-legacy-alpha-37-99-235-0080);
    box-shadow: var(--sage-app-shadow-inset);
}

.saml-wizard-step.active span {
    background: var(--primary, var(--primary));
    border-color: var(--primary, var(--primary));
    color: var(--sage-legacy-color-ffffff);
}

.saml-wizard-panel {
    display: none;
    min-height: var(--sage-legacy-u-300);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-10);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    padding: 1rem;
}

.saml-wizard-panel.active {
    display: grid;
    gap: 1rem;
}

.saml-step-heading {
    display: grid;
    gap: 0.2rem;
}

.saml-step-heading h3 {
    margin: 0;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 1rem;
}

.saml-wizard-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.saml-choice-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: flex-start;
    min-height: var(--sage-legacy-u-76);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    padding: 0.85rem;
}

.saml-choice-card input {
    margin-top: 0.15rem;
}

.saml-choice-card strong {
    display: block;
    margin-bottom: 0.2rem;
}

.saml-choice-card small {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    line-height: 1.35;
}

.saml-validation-preview {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    padding: 0.8rem;
    line-height: 1.45;
}

.saml-validation-preview.success {
    border-color: var(--sage-legacy-alpha-16-185-129-0350);
    background: var(--sage-legacy-alpha-16-185-129-0080);
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.saml-validation-preview.warning {
    border-color: var(--sage-legacy-alpha-245-158-11-0450);
    background: var(--sage-legacy-alpha-245-158-11-0100);
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.saml-validation-preview ul {
    margin: 0.45rem 0 0;
    padding-left: 1.1rem;
}

.saml-role-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.saml-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.saml-review-card {
    min-height: var(--sage-legacy-u-88);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 0.8rem;
}

.saml-review-card span {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.saml-review-card strong,
.saml-review-card code {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.saml-fallback-warning {
    margin: 0;
}

.saml-wizard-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
}

.saml-wizard-action-spacer {
    flex: 1 1 auto;
}

a.btn.disabled,
a.btn[aria-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
}

@media (max-width: 56.25rem) {
    .form-grid.two-col,
    .saml-status-grid,
    .saml-wizard-steps,
    .saml-wizard-card-grid,
    .saml-review-grid,
    .settings-repeatable-row,
    .reports-analytics-grid {
        grid-template-columns: 1fr;
    }

    .saml-wizard-header,
    .saml-wizard-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .saml-wizard-header-actions {
        justify-content: flex-start;
    }

    .saml-wizard-action-spacer {
        display: none;
    }
}

@media (min-width: 56.3125rem) and (max-width: 87.5rem) {
    .reports-analytics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.sage-action-menu-panel .btn-icon,
.sage-action-menu-item {
    width: 100% !important;
    min-width: 0 !important;
    height: var(--sage-legacy-u-34) !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
    border: 0 !important;
    border-radius: var(--sage-radius-sm) !important;
    padding: 0 0.55rem !important;
    background: transparent !important;
    color: var(--sage-text) !important;
}

.sage-action-menu-panel .btn-icon:hover,
.sage-action-menu-item:hover {
    background: var(--sidebar-hover) !important;
}

.sage-action-label {
    display: inline-block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
}

.modal {
    padding: 1rem !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--sage-legacy-alpha-15-23-42-0460) !important;
}

.modal-content {
    max-height: min(90vh, var(--sage-legacy-u-860)) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface) !important;
    box-shadow: var(--sage-shadow-modal) !important;
    overflow: hidden !important;
}

.modal-header {
    min-height: var(--sage-legacy-u-58) !important;
    padding: 0.95rem 1.1rem !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    background: var(--sage-surface) !important;
}

.modal-header h2,
.modal-header h3 {
    font-size: 1rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: var(--sage-text) !important;
}

.sage-modal-heading {
    display: grid !important;
    gap: 0.2rem !important;
    min-width: 0 !important;
}

.sage-modal-heading h2,
.sage-modal-heading h3 {
    margin: 0 !important;
}

.sage-modal-heading p {
    margin: 0 !important;
    max-width: 76ch !important;
    color: var(--sage-muted) !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
}

.sage-modal-intro {
    margin: 0 0 0.85rem !important;
    padding: 0.78rem 0.9rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, var(--sage-legacy-color-eff6ff) 0%, var(--sage-legacy-color-ffffff) 100%) !important;
    color: var(--sage-legacy-color-1e3a8a) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
}

.sage-modal-section {
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface) !important;
    padding: 0.9rem !important;
}

.sage-modal-section-title {
    margin: 0 0 0.65rem !important;
    color: var(--sage-text) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
}

.sage-modal-field-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.8rem 0.9rem !important;
}

.modal-body {
    padding: 1rem 1.1rem !important;
    overflow-y: auto !important;
}

.modal-footer,
.content-ingestion-modal-footer {
    padding: 0.8rem 1.1rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    background: var(--sage-surface-muted) !important;
    gap: 0.5rem !important;
}

.modal-close,
.modal-close-btn {
    border-radius: var(--sage-radius-sm) !important;
}

/* Standard form modals only — the task-surface promotion (.sage-task-surface-modal)
   must keep its wide frame; this ID rule used to out-specify it and cap every form
   at var(--sage-legacy-u-1080) regardless of surface mode. */
#form-modal:not(.sage-task-surface-modal) .modal-content {
    width: min(var(--sage-legacy-u-1080), calc(100vw - 2rem)) !important;
}

#content-ingestion-modal .modal-content,
.filter-modal .modal-content,
.column-management-modal .modal-content {
    width: min(var(--sage-legacy-u-760), calc(100vw - 2rem)) !important;
}

#embed-test-modal .modal-content {
    width: min(var(--sage-legacy-u-1120), calc(100vw - 2rem)) !important;
}

#confirm-modal .modal-content {
    width: min(var(--sage-legacy-u-460), calc(100vw - 2rem)) !important;
}

#confirm-modal .modal-body {
    color: var(--sage-text) !important;
}

.sage-confirm-panel {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 0.75rem !important;
    align-items: start !important;
    padding: 0.85rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-fecaca) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-fff7f7) !important;
}

.sage-confirm-panel p {
    margin: 0 !important;
    color: var(--sage-text) !important;
    line-height: 1.45 !important;
}

.sage-confirm-icon {
    width: var(--sage-legacy-u-30) !important;
    height: var(--sage-legacy-u-30) !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-fee2e2) !important;
    color: var(--sage-legacy-color-991b1b) !important;
    font-weight: 700 !important;
}

.filter-modal,
.column-management-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--sage-app-layer-overlay) !important;
}

.filter-modal .modal-content,
.column-management-modal .modal-content {
    display: flex !important;
    flex-direction: column !important;
    max-height: calc(100vh - 2rem) !important;
    overflow: hidden !important;
}

.filter-modal .modal-body,
.column-management-modal .modal-body,
.filter-modal .filter-modal-body {
    overflow: auto !important;
    min-height: 0 !important;
}

.filter-modal .modal-footer,
.column-management-modal .modal-footer {
    flex: 0 0 auto !important;
}

.sage-column-layout {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.9rem !important;
}

.sage-column-section {
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface-muted) !important;
    padding: 0.85rem !important;
    min-height: var(--sage-legacy-u-280) !important;
}

.sage-column-section h4 {
    margin: 0 0 0.65rem !important;
    color: var(--sage-text) !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
}

.notification-container {
    display: grid !important;
    gap: 0.5rem !important;
    margin: 0.5rem 0 !important;
}

.notification,
.error-message-block,
.field-error-block {
    border-radius: var(--sage-radius) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    box-shadow: none !important;
}

.notification {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.6rem !important;
    padding: 0.72rem 0.78rem !important;
}

.notification-icon {
    min-width: var(--sage-legacy-u-24) !important;
    height: var(--sage-legacy-u-24) !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: var(--sage-legacy-u-999) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
}

.notification-success .notification-icon,
.sage-toast-success .sage-toast-icon {
    background: var(--sage-legacy-color-dcfce7) !important;
    color: var(--sage-legacy-color-166534) !important;
}

.notification-warning .notification-icon,
.sage-toast-warning .sage-toast-icon {
    background: var(--sage-legacy-color-fef3c7) !important;
    color: var(--sage-legacy-color-92400e) !important;
}

.notification-error .notification-icon,
.sage-toast-error .sage-toast-icon {
    background: var(--sage-legacy-color-fee2e2) !important;
    color: var(--sage-legacy-color-991b1b) !important;
}

.notification-info .notification-icon,
.sage-toast-info .sage-toast-icon {
    background: color-mix(in srgb, hsl(var(--info)) 15%, hsl(var(--card))) !important;
    color: var(--sage-text-info) !important;
}

.notification-message {
    color: var(--sage-text) !important;
    line-height: 1.4 !important;
}
.notification-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--sage-legacy-u-8);
    margin-left: var(--sage-legacy-u-8);
    flex-shrink: 0;
}

.notification-action-btn {
    min-height: var(--sage-legacy-u-30);
    padding: var(--sage-legacy-u-5) var(--sage-legacy-u-10);
    white-space: nowrap;
}

.sage-toast-region {
    position: fixed !important;
    right: 1rem !important;
    bottom: 1rem !important;
    z-index: var(--sage-app-layer-toast) !important;
    display: grid !important;
    gap: 0.5rem !important;
    width: min(var(--sage-legacy-u-420), calc(100vw - 2rem)) !important;
    pointer-events: none !important;
}

.sage-toast {
    pointer-events: auto !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 0.65rem !important;
    align-items: start !important;
    padding: 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface) !important;
    color: var(--sage-text) !important;
    box-shadow: var(--sage-shadow-menu) !important;
}

.sage-toast-icon {
    min-width: var(--sage-legacy-u-24) !important;
    height: var(--sage-legacy-u-24) !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: var(--sage-legacy-u-999) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
}

.sage-toast-message {
    line-height: 1.35 !important;
}

.sage-toast-close {
    width: var(--sage-legacy-u-26) !important;
    height: var(--sage-legacy-u-26) !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: var(--sage-radius-sm) !important;
    background: transparent !important;
    color: var(--sage-muted) !important;
    cursor: pointer !important;
}

.sage-toast-close:hover {
    background: var(--sidebar-hover) !important;
    color: var(--sage-text) !important;
}

.empty-state,
.scope-content-empty,
.loading,
.scope-content-loading {
    border: var(--sage-legacy-u-1) dashed var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: color-mix(in srgb, var(--sage-surface) 94%, var(--sage-bg)) !important;
    color: var(--sage-muted) !important;
    padding: 1.5rem !important;
    text-align: center !important;
}

@media (max-width: 63.9375rem) {
    .documents-table-container,
    #chatbots-table-container,
    #scopes-table-container,
    .scope-content-table-wrapper,
    .user-table-container,
    .model-config-table-wrapper {
        max-height: 62vh !important;
    }

    .sage-action-menu-panel {
        right: auto;
        left: 0 !important;
    }
}

@media (max-width: 40rem) {
    .content-list-header,
    .section-header,
    .standard-controls-row,
    .controls-row-bottom {
        justify-content: stretch !important;
    }

    .content-list-header .btn,
    .section-header .btn,
    .standard-controls-row .btn,
    .controls-row-bottom .btn {
        flex: 1 1 auto !important;
    }

    .modal {
        padding: 0.5rem !important;
    }

    .modal-content,
    #form-modal .modal-content,
    #content-ingestion-modal .modal-content,
    #embed-test-modal .modal-content,
    #confirm-modal .modal-content {
        width: 100% !important;
        max-height: calc(100vh - 1rem) !important;
    }

    .modal-header,
    .modal-body,
    .modal-footer,
    .content-ingestion-modal-footer {
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
    }

    .sage-modal-field-grid,
    .filter-modal .filter-modal-body,
    .sage-column-layout {
        grid-template-columns: 1fr !important;
    }

    .sage-toast-region {
        left: 0.5rem !important;
        right: 0.5rem !important;
        bottom: 0.5rem !important;
        width: auto !important;
    }
}

/* Chatbot preview/message surface standardization */
.embed-test-modal-content.embed-test-chat-only .embed-test-preview {
    min-height: min(var(--sage-legacy-u-620), calc(100vh - var(--sage-legacy-u-190))) !important;
    padding: 0.75rem !important;
    overflow: hidden !important;
}

.embed-test-modal-content.embed-test-chat-only #embed-test-chat-interface[data-position] {
    width: min(var(--sage-legacy-u-520), calc(100vw - 4rem)) !important;
    height: min(var(--sage-legacy-u-620), calc(100vh - var(--sage-legacy-u-220))) !important;
    min-height: min(var(--sage-legacy-u-420), calc(100vh - var(--sage-legacy-u-220))) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    box-shadow: var(--sage-app-shadow-elevation-6-2) !important;
}

.embed-test-chat-header,
.chat-bubble-user .chat-content,
.chat-avatar-user {
    background: linear-gradient(135deg, var(--sage-primary) 0%, var(--sage-legacy-color-7c3aed) 100%) !important;
}

.chat-content {
    border-radius: var(--sage-radius) !important;
    box-shadow: none !important;
}

.chat-sources {
    margin-top: 0.65rem !important;
    padding-top: 0.65rem !important;
}

.chat-sources-header {
    display: none !important;
}

.chat-source-number {
    width: var(--sage-legacy-u-22) !important;
    height: var(--sage-legacy-u-22) !important;
    background: var(--sage-legacy-color-e0e7ff) !important;
    color: var(--sage-primary) !important;
    font-weight: 700 !important;
}

.chat-source-link:hover,
.chat-source-link:focus-visible {
    background: var(--sage-primary) !important;
    color: var(--sage-primary-ink, var(--sage-legacy-color-ffffff)) !important;
}

@media (max-width: 40rem) {
    .embed-test-modal-content.embed-test-chat-only #embed-test-chat-interface[data-position] {
        width: calc(100vw - 2rem) !important;
        height: calc(100vh - var(--sage-legacy-u-160)) !important;
        min-height: var(--sage-legacy-u-360) !important;
    }
}

/* ============================================================================
   Sage Suite UI/UX Standard - visible workbench refinement
   This layer makes the standard apparent to users, not only structurally valid.
   ============================================================================ */
.main-content-wrapper {
    padding: 0.85rem 0.95rem 1.5rem !important;
    background:
        linear-gradient(180deg, var(--sage-legacy-alpha-241-245-249-0960) 0%, var(--sage-legacy-alpha-248-250-252-1000) var(--sage-legacy-u-260)),
        var(--sage-bg) !important;
}

.main-content-header {
    position: relative !important;
    min-height: var(--sage-legacy-u-74) !important;
    margin-bottom: 1.15rem !important;
    padding: 0.9rem 1rem 0.9rem 1.15rem !important;
    overflow: hidden !important;
}

.main-content-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: var(--sage-legacy-u-4) !important;
    background: var(--sage-primary) !important;
}

.page-title {
    font-size: 1.16rem !important;
    letter-spacing: 0 !important;
}

.page-breadcrumbs {
    font-size: 0.78rem !important;
}

.page-content.active {
    display: grid !important;
    gap: 0.85rem !important;
}

#content-list-content,
#chatbots-list-content,
#scopes-list-content,
#model-management-list-content,
#user-list-content,
#settings-page .settings-section {
    display: grid !important;
    gap: 0.7rem !important;
}

.stats-bar {
    gap: 0.65rem !important;
    margin: 0 !important;
}

.stat-card,
button.stat-card {
    position: relative !important;
    min-height: var(--sage-legacy-u-72) !important;
    padding: 0.85rem 0.95rem !important;
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    background:
        linear-gradient(180deg, var(--sage-legacy-alpha-255-255-255-1000) 0%, var(--sage-legacy-alpha-248-250-252-0980) 100%) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-2) !important;
    overflow: hidden !important;
}

.stat-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: var(--sage-legacy-u-3) !important;
    background: var(--sage-primary) !important;
    opacity: 0.75 !important;
}

.stat-card .stat-icon {
    width: var(--sage-legacy-u-40) !important;
    height: var(--sage-legacy-u-40) !important;
    min-width: var(--sage-legacy-u-40) !important;
    border-radius: var(--sage-legacy-u-10) !important;
    box-shadow: var(--sage-app-shadow-inset-2) !important;
}

.stat-info {
    display: grid !important;
    gap: 0.12rem !important;
}

.stat-action-hint {
    color: var(--sage-muted) !important;
    font-size: 0.68rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

.sage-clickable-stat:hover .stat-action-hint,
.sage-clickable-stat:focus-visible .stat-action-hint {
    color: var(--sage-text) !important;
    text-decoration: underline !important;
}

.content-list-header,
.section-header {
    margin: 0 !important;
    padding: 0 !important;
    min-height: var(--sage-legacy-u-38) !important;
}

.content-list-header .btn-primary {
    box-shadow: var(--sage-app-shadow-elevation-4-3) !important;
}

.content-list-header .btn-primary:hover {
    transform: translateY(calc(var(--sage-legacy-u-1) * -1)) !important;
    box-shadow: var(--sage-app-shadow-elevation-5-3) !important;
}

#content-list-controls-content,
#chatbots-list-controls-content,
#scopes-list-controls-content,
#user-list-controls-content,
#model-management-list-controls-content,
#settings-list-controls-content,
.list-controls-wrapper {
    padding: 0.6rem !important;
    background: color-mix(in srgb, var(--sage-surface) 82%, var(--sage-legacy-color-f1f5f9)) !important;
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    box-shadow: var(--sage-app-shadow-elevation-3-6) !important;
}

.user-controls-row,
.standard-controls-row,
.controls-row-bottom {
    gap: 0.55rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

#content-list-controls-content .search-container,
#chatbots-list-controls-content .search-container,
#scopes-list-controls-content .search-container,
#user-list-controls-content .search-container,
#model-management-list-controls-content .search-container {
    flex: 1 1 var(--sage-legacy-u-300) !important;
    max-width: var(--sage-legacy-u-440) !important;
}

.sort-select {
    max-width: var(--sage-legacy-u-170) !important;
}

.sort-container,
.filter-container {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    min-width: 0 !important;
}

.sort-container label,
.filter-container label {
    margin: 0 !important;
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.search-input,
.form-input,
.sort-select,
.per-page-select,
.form-select {
    border-color: var(--sage-legacy-color-cbd5e1) !important;
}

.view-toggle {
    display: inline-flex !important;
    gap: 0.18rem !important;
    padding: 0.18rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.view-toggle .view-toggle-btn {
    border: 0 !important;
    min-height: var(--sage-legacy-u-32) !important;
    background: transparent !important;
}

.view-toggle .view-toggle-btn.active {
    background: var(--sage-primary) !important;
    color: var(--sage-legacy-color-ffffff) !important;
}

.user-pagination-info,
.pagination-container,
.pagination-info {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: var(--sage-legacy-u-52) !important;
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.documents-table-container,
#chatbots-table-container,
#scopes-table-container,
.scope-content-table-wrapper,
.user-table-container,
.model-config-table-wrapper {
    max-height: min(var(--sage-legacy-u-600), calc(100vh - var(--sage-legacy-u-330))) !important;
    min-height: 0 !important;
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    box-shadow: var(--sage-app-shadow-elevation-5-4) !important;
}

.documents-table thead th,
#chatbots-table thead th,
#scopes-table thead th,
.scope-content-table thead th,
.users-table thead th,
.model-config-table thead th {
    height: var(--sage-legacy-u-32) !important;
    background: var(--sage-legacy-color-f1f5f9) !important;
    color: var(--sage-legacy-color-0f172a) !important;
    border-bottom-color: var(--sage-legacy-color-cbd5e1) !important;
}

.documents-table td,
#chatbots-table td,
#scopes-table td,
.scope-content-table td,
.users-table td,
.model-config-table td {
    height: var(--sage-legacy-u-46) !important;
    padding-top: 0.42rem !important;
    padding-bottom: 0.42rem !important;
}

.documents-table tbody tr:nth-child(even),
#chatbots-table tbody tr:nth-child(even),
#scopes-table tbody tr:nth-child(even),
.scope-content-table tbody tr:nth-child(even),
.users-table tbody tr:nth-child(even),
.model-config-table tbody tr:nth-child(even) {
    background: var(--sage-legacy-alpha-248-250-252-0720) !important;
}

.action-icons .btn-icon {
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.action-icons .btn-icon:hover {
    border-color: var(--sage-primary) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
}

.modal {
    backdrop-filter: blur(var(--sage-legacy-u-3)) !important;
}

.modal-content {
    border-color: var(--sage-legacy-color-cbd5e1) !important;
}

.modal-header {
    min-height: var(--sage-legacy-u-64) !important;
    background: linear-gradient(180deg, var(--sage-legacy-color-ffffff) 0%, var(--sage-legacy-color-f8fafc) 100%) !important;
}

.modal-body {
    background: var(--sage-legacy-color-f8fafc) !important;
}

.modal-footer,
.content-ingestion-modal-footer {
    background: var(--sage-legacy-color-ffffff) !important;
}

#chatbot-form,
.enhanced-form {
    display: grid !important;
    gap: 0.8rem !important;
}

#chatbot-form .admin-tabs,
.scope-modal-tabs {
    display: flex !important;
    gap: 0.25rem !important;
    align-items: center !important;
    padding: 0.28rem !important;
    margin: 0 0 0.8rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-eef2f7) !important;
    overflow-x: auto !important;
}

#chatbot-form .admin-tab-btn,
.scope-tab-btn {
    min-height: var(--sage-legacy-u-36) !important;
    border: 0 !important;
    border-radius: var(--sage-legacy-u-6) !important;
    background: transparent !important;
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

#chatbot-form .admin-tab-btn.active,
.scope-tab-btn.active {
    background: var(--sage-legacy-color-ffffff) !important;
    color: var(--sage-primary) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    box-shadow: var(--sage-app-shadow-elevation-3-7) !important;
}

#chatbot-form .admin-tab-content.active,
.scope-tab-panel.active,
#scope-panel-details,
#scope-panel-content {
    background: var(--sage-legacy-color-ffffff) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    padding: 1rem !important;
}

#chatbot-form .form-hint,
.pro-tip {
    margin: 0 0 0.85rem !important;
    padding: 0.6rem 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbeafe) !important;
    border-left: var(--sage-legacy-u-3) solid var(--sage-primary) !important;
    border-radius: var(--sage-radius-sm) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--sage-legacy-color-1e3a8a) !important;
    font-size: 0.78rem !important;
}

#chatbot-form .form-label,
.enhanced-form .form-label {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

#chatbot-form .form-field,
.enhanced-form .form-field {
    margin-bottom: 0.7rem !important;
}

.chatbot-tab-intro {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    margin: 0 0 0.85rem !important;
    padding: 0.85rem 0.95rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, var(--sage-legacy-color-eff6ff) 0%, var(--sage-legacy-color-ffffff) 100%) !important;
}

.chatbot-tab-intro h4 {
    margin: 0 0 0.25rem !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}

.chatbot-tab-intro p {
    margin: 0 !important;
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
}

.chatbot-config-card {
    padding: 0.95rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.chatbot-field-note,
.chatbot-reporting-summary {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbeafe) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
}

.chatbot-field-note {
    display: grid !important;
    gap: 0.2rem !important;
    padding: 0.8rem 0.9rem !important;
    color: var(--sage-legacy-color-334155) !important;
}

.chatbot-field-note strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.82rem !important;
}

.chatbot-field-note span {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
}

.sage-toggle-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 0.8rem !important;
    align-items: center !important;
    min-height: var(--sage-legacy-u-68) !important;
    padding: 0.85rem 0.95rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}

.sage-toggle-card:hover {
    border-color: var(--sage-legacy-color-93c5fd) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-4) !important;
}

.sage-toggle-card input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.sage-toggle-visual {
    position: relative !important;
    width: var(--sage-legacy-u-44) !important;
    height: var(--sage-legacy-u-24) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-cbd5e1) !important;
    box-shadow: var(--sage-app-shadow-inset-3) !important;
    transition: background 0.15s ease !important;
}

.sage-toggle-visual span {
    position: absolute !important;
    left: var(--sage-legacy-u-3) !important;
    top: var(--sage-legacy-u-3) !important;
    width: var(--sage-legacy-u-18) !important;
    height: var(--sage-legacy-u-18) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    box-shadow: var(--sage-app-shadow-elevation-1-3) !important;
    transition: transform 0.15s ease !important;
}

.sage-toggle-card input:checked + .sage-toggle-visual {
    background: var(--sage-primary) !important;
}

.sage-toggle-card input:checked + .sage-toggle-visual span {
    transform: translateX(var(--sage-legacy-u-20)) !important;
}

.sage-toggle-card input:focus-visible + .sage-toggle-visual {
    outline: var(--sage-legacy-u-3) solid var(--sage-legacy-alpha-37-99-235-0280) !important;
    outline-offset: var(--sage-legacy-u-3) !important;
}

.sage-toggle-copy {
    display: grid !important;
    gap: 0.15rem !important;
}

.sage-toggle-copy strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.84rem !important;
}

.sage-toggle-copy small {
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
}

.chatbot-reporting-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
}

.chatbot-reporting-summary div {
    display: grid !important;
    gap: 0.2rem !important;
    padding: 0.8rem !important;
    border-right: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
}

.chatbot-reporting-summary div:last-child {
    border-right: 0 !important;
}

.chatbot-reporting-summary strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.78rem !important;
}

.chatbot-reporting-summary span {
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.74rem !important;
    line-height: 1.35 !important;
}

.widget-theme-panel {
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
}

.widget-color-toolbar {
    display: grid !important;
    grid-template-columns: minmax(var(--sage-legacy-u-220), var(--sage-legacy-u-320)) auto !important;
    gap: 0.75rem !important;
    align-items: end !important;
    margin: 0.85rem 0 !important;
}

.widget-color-preview {
    --preview-primary: var(--primary);
    --preview-secondary: var(--sage-legacy-color-7c3aed);
    --preview-accent: var(--sage-legacy-color-db2777);
    --preview-surface: var(--sage-legacy-color-ffffff);
    --preview-messagesBg: var(--sage-legacy-color-f8fafc);
    --preview-text: var(--sage-legacy-color-333333);
    --preview-headerText: var(--sage-legacy-color-ffffff);
    --preview-userText: var(--sage-legacy-color-ffffff);
    --preview-sourceBg: var(--sage-legacy-alpha-37-99-235-0160);
    --preview-sourceText: var(--sage-legacy-color-475569);
    width: min(var(--sage-legacy-u-360), 100%) !important;
    margin: 0.4rem 0 0.9rem !important;
    overflow: hidden !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--preview-surface) !important;
    box-shadow: var(--sage-app-shadow-elevation-5-5) !important;
}

.widget-color-preview-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.7rem 0.85rem !important;
    background: linear-gradient(135deg, var(--preview-primary), var(--preview-secondary)) !important;
    color: var(--preview-headerText) !important;
    font-weight: 600 !important;
}

.widget-color-preview-body {
    display: grid !important;
    gap: 0.55rem !important;
    padding: 0.9rem !important;
    min-height: var(--sage-legacy-u-130) !important;
    background: var(--preview-messagesBg) !important;
}

.widget-color-preview-bubble {
    max-width: 82% !important;
    padding: 0.55rem 0.7rem !important;
    border-radius: var(--sage-legacy-u-8) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
}

.widget-color-preview-bubble.user {
    justify-self: end !important;
    background: linear-gradient(135deg, var(--preview-primary), var(--preview-secondary)) !important;
    color: var(--preview-userText) !important;
}

.widget-color-preview-bubble.bot {
    justify-self: start !important;
    background: var(--preview-surface) !important;
    color: var(--preview-text) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
}

.widget-color-preview-source {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--preview-sourceBg) !important;
    color: var(--preview-sourceText) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
}

.widget-contrast-panel {
    margin: 0.75rem 0 0.9rem !important;
    padding: 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
}

.widget-contrast-header {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-bottom: 0.65rem !important;
}

.widget-contrast-header strong {
    display: block !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.85rem !important;
}

.widget-contrast-header span {
    display: block !important;
    margin-top: 0.15rem !important;
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.74rem !important;
    line-height: 1.35 !important;
}

.widget-contrast-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
}

.widget-contrast-row {
    display: grid !important;
    gap: 0.18rem !important;
    padding: 0.58rem 0.62rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbe3ef) !important;
    border-left-width: var(--sage-legacy-u-4) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.widget-contrast-row span {
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
}

.widget-contrast-row strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.82rem !important;
}

.widget-contrast-row small {
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
}

.widget-contrast-row.is-pass {
    border-left-color: var(--sage-legacy-color-10b981) !important;
}

.widget-contrast-row.is-warn {
    border-left-color: var(--sage-legacy-color-f59e0b) !important;
}

.widget-contrast-row.is-fail {
    border-left-color: var(--sage-legacy-color-ef4444) !important;
}

.widget-theme-suggestion {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.75rem !important;
    align-items: end !important;
    margin: 0.75rem 0 !important;
}

.widget-theme-suggestion-result {
    margin-bottom: 0.75rem !important;
}

.widget-theme-suggestion-card {
    display: grid !important;
    gap: 0.45rem !important;
    padding: 0.75rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-left: var(--sage-legacy-u-3) solid var(--primary) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--sage-legacy-color-1e3a8a) !important;
}

.widget-theme-suggestion-card > strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.9rem !important;
}

.widget-theme-suggestion-card > span {
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.78rem !important;
}

.widget-theme-swatches {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

.widget-theme-swatch {
    display: inline-grid !important;
    grid-template-columns: 1.35rem auto !important;
    gap: 0.35rem 0.45rem !important;
    align-items: center !important;
    min-width: 8rem !important;
    padding: 0.45rem 0.55rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.widget-theme-swatch span {
    grid-row: span 2 !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-alpha-15-23-42-0160) !important;
}

.widget-theme-swatch b {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
}

.widget-theme-swatch small {
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
}

html.dark-mode .widget-theme-panel {
    border-top-color: var(--sage-legacy-color-334155) !important;
}

html.dark-mode .widget-contrast-panel {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
}

html.dark-mode .widget-contrast-header strong {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .widget-contrast-header span {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .widget-contrast-row {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-0f172a) !important;
}

html.dark-mode .widget-contrast-row span {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .widget-contrast-row strong {
    color: var(--sage-legacy-color-ffffff) !important;
}

html.dark-mode .widget-contrast-row small {
    color: var(--sage-legacy-color-94a3b8) !important;
}

html.dark-mode .widget-theme-suggestion-card {
    border-color: var(--sage-legacy-color-334155) !important;
    border-left-color: var(--sage-legacy-color-60a5fa) !important;
    background: var(--sage-legacy-color-0f172a) !important;
    color: var(--sage-legacy-color-dbeafe) !important;
}

html.dark-mode .widget-theme-suggestion-card > strong {
    color: var(--sage-legacy-color-ffffff) !important;
}

html.dark-mode .widget-theme-suggestion-card > span {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .widget-theme-swatch {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
}

html.dark-mode .widget-theme-swatch b {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .widget-theme-swatch small {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

.widget-color-details {
    margin-top: 0.7rem !important;
}

.widget-color-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.widget-color-field .form-input {
    font-family: var(--font-mono) !important;
}

@media (max-width: 45rem) {
    .chatbot-tab-intro {
        display: block !important;
    }

    .widget-color-toolbar,
    .widget-theme-suggestion,
    .widget-color-grid,
    .widget-contrast-grid {
        grid-template-columns: 1fr !important;
    }

    .chatbot-reporting-summary {
        grid-template-columns: 1fr !important;
    }

    .chatbot-reporting-summary div {
        border-right: 0 !important;
        border-bottom: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
    }

    .chatbot-reporting-summary div:last-child {
        border-bottom: 0 !important;
    }
}

.answer-quality-grid {
    gap: 0.75rem 0.9rem !important;
}

.answer-quality-advanced {
    margin: 0.75rem 0 !important;
    border-color: var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
}

.answer-quality-advanced summary {
    min-height: var(--sage-legacy-u-42) !important;
    padding: 0.7rem 0.85rem !important;
    color: var(--sage-legacy-color-0f172a) !important;
}

.answer-quality-advanced[open] {
    padding-bottom: 0.85rem !important;
}

.answer-quality-advanced[open] .answer-quality-grid {
    padding: 0 0.85rem !important;
}

.answer-quality-preview {
    min-height: var(--sage-legacy-u-170) !important;
    background: var(--sage-legacy-color-0f172a) !important;
    color: var(--sage-legacy-color-e2e8f0) !important;
    border-color: var(--sage-legacy-color-1e293b) !important;
    font-size: 0.76rem !important;
}

#chatbot-form .form-actions,
.enhanced-form .form-actions {
    position: sticky !important;
    bottom: -1rem !important;
    z-index: var(--sage-app-layer-control) !important;
    margin: 0 -1rem -1rem !important;
    padding: 0.85rem 1rem !important;
    background: var(--sage-legacy-color-ffffff) !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-top-left-radius: var(--sage-app-radius-square) !important;
    border-top-right-radius: var(--sage-app-radius-square) !important;
    border-bottom-right-radius: var(--sage-radius) !important;
    border-bottom-left-radius: var(--sage-radius) !important;
}

@media (max-width: 40rem) {
    .main-content-wrapper {
        padding: 0.65rem !important;
    }

    .main-content-header {
        min-height: var(--sage-legacy-u-68) !important;
    }

    .stats-bar {
        gap: 0.55rem !important;
    }

    .stat-card,
    button.stat-card {
        min-height: var(--sage-legacy-u-66) !important;
    }

    .documents-table-container,
    #chatbots-table-container,
    #scopes-table-container,
    .scope-content-table-wrapper,
    .user-table-container,
    .model-config-table-wrapper {
        max-height: 58vh !important;
    }
}

@media (min-width: 73.75rem) {
    #content-list-controls-content .standard-controls-row,
    #chatbots-list-controls-content .standard-controls-row,
    #scopes-list-controls-content .standard-controls-row,
    #user-list-controls-content .user-controls-row,
    #model-management-list-controls-content .user-controls-row,
    #settings-list-controls-content .standard-controls-row {
        flex-wrap: nowrap !important;
        gap: 0.45rem !important;
    }

    #content-list-controls-content .search-container,
    #chatbots-list-controls-content .search-container,
    #scopes-list-controls-content .search-container,
    #user-list-controls-content .search-container,
    #model-management-list-controls-content .search-container {
        flex: 1 1 var(--sage-legacy-u-240) !important;
        min-width: var(--sage-legacy-u-220) !important;
        max-width: var(--sage-legacy-u-360) !important;
    }

    #content-list-controls-content .btn,
    #chatbots-list-controls-content .btn,
    #scopes-list-controls-content .btn,
    #user-list-controls-content .btn,
    #model-management-list-controls-content .btn,
    #settings-list-controls-content .btn,
    #content-list-controls-content .view-toggle-btn,
    #chatbots-list-controls-content .view-toggle-btn,
    #scopes-list-controls-content .view-toggle-btn {
        min-height: var(--sage-legacy-u-36) !important;
        padding: 0.5rem 0.62rem !important;
        gap: 0.3rem !important;
        font-size: 0.8rem !important;
    }

    #content-list-controls-content .sort-select,
    #chatbots-list-controls-content .sort-select,
    #scopes-list-controls-content .sort-select,
    #user-list-controls-content .sort-select,
    #model-management-list-controls-content .sort-select {
        max-width: var(--sage-legacy-u-140) !important;
    }

    #content-list-controls-content .sort-container,
    #chatbots-list-controls-content .sort-container,
    #scopes-list-controls-content .sort-container,
    #user-list-controls-content .sort-container,
    #model-management-list-controls-content .sort-container {
        flex: 0 0 auto !important;
    }
}

/* Content Management reference workbench: real row redesign, not a skin. */
#content-page #content-list-content {
    gap: 0.75rem !important;
}

#content-page .content-list-header {
    padding: 0.15rem 0 !important;
}

#content-page #content-list-controls-content {
    display: block !important;
    padding: 0.72rem !important;
}

#content-page #content-list-controls-content .user-controls-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
}

#content-page #content-list-controls-content [id="add-content-btn"] {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

#content-page #content-list-controls-content #remove-duplicates-btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

#content-page #content-table-container {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

#content-page #content-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 0.55rem !important;
    background: transparent !important;
}

#content-page #content-table thead th {
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-color-eef2f7) !important;
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.71rem !important;
}

#content-page #content-table thead th:first-child {
    border-left: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) 0 0 var(--sage-legacy-u-8) !important;
}

#content-page #content-table thead th:last-child {
    border-right: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-top-left-radius: var(--sage-app-radius-square) !important;
    border-top-right-radius: var(--sage-legacy-u-8) !important;
    border-bottom-right-radius: var(--sage-legacy-u-8) !important;
    border-bottom-left-radius: var(--sage-app-radius-square) !important;
}

#content-page #content-table tbody tr {
    border-radius: var(--sage-legacy-u-8) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-5) !important;
}

#content-page #content-table tbody td {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    vertical-align: middle !important;
}

#content-page #content-table tbody td:first-child {
    border-left: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) 0 0 var(--sage-legacy-u-8) !important;
}

#content-page #content-table tbody td:last-child {
    border-right: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-top-left-radius: var(--sage-app-radius-square) !important;
    border-top-right-radius: var(--sage-legacy-u-8) !important;
    border-bottom-right-radius: var(--sage-legacy-u-8) !important;
    border-bottom-left-radius: var(--sage-app-radius-square) !important;
}

#content-page #content-table tbody tr:hover td {
    background: var(--sage-legacy-color-f8fbff) !important;
    border-color: var(--sage-legacy-color-93c5fd) !important;
}

#content-page .content-id-cell {
    white-space: nowrap !important;
    width: 6rem !important;
}

.content-id-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 3.6rem !important;
    min-height: 1.75rem !important;
    padding: 0.15rem 0.5rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--primary) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
}

#content-page .content-primary-cell {
    min-width: 28rem !important;
    max-width: none !important;
}

.content-title-stack {
    display: grid !important;
    gap: 0.36rem !important;
    min-width: 0 !important;
}

.content-title-line {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.91rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.content-path-line {
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.78rem !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.content-path-line a {
    color: var(--primary) !important;
    text-decoration: none !important;
}

.content-path-line a:hover {
    text-decoration: underline !important;
}

.content-row-meta {
    display: flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    flex-wrap: wrap !important;
}

.content-row-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 1.35rem !important;
    padding: 0.12rem 0.45rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-f1f5f9) !important;
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
}

#content-page .content-actions-cell {
    width: 9rem !important;
    text-align: right !important;
}

#content-page .sage-action-menu-toggle {
    min-width: 6.4rem !important;
    justify-content: center !important;
}

#content-page .user-pagination-info {
    background: var(--sage-legacy-color-ffffff) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-6) !important;
}

@media (max-width: 56.25rem) {
    #content-page #content-table-container {
        overflow-x: auto !important;
    }

    #content-page #content-table {
        min-width: var(--sage-legacy-u-760) !important;
    }

    #content-page .content-primary-cell {
        min-width: 22rem !important;
    }
}

/* ============================================================================
   Strict Sage Commercial Product Standard
   Final enforcement layer: tables remain semantic tables. Card-style summaries
   belong in card view only, not in default list/table view.
   ============================================================================ */
.admin-main,
.page-title-section {
    max-width: none !important;
}

.page-title-section {
    min-width: 0 !important;
}

#content-page #content-table-container,
.documents-table-container,
#chatbots-table-container,
#scopes-table-container,
#reports-table-container,
#user-table-container,
#model-management-table-container,
#code-table-container {
    width: 100% !important;
    max-width: 100% !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-2) !important;
    overflow: auto !important;
}

#content-page #content-table,
.documents-table {
    width: 100% !important;
    min-width: var(--sage-legacy-u-1540) !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

#chatbots-table,
#scopes-table,
#reports-table,
#user-table,
#model-management-table,
#code-table {
    width: 100% !important;
    min-width: var(--sage-legacy-u-900) !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

#chatbots-table,
#scopes-table {
    min-width: var(--sage-legacy-u-1080) !important;
}

#reports-table {
    min-width: var(--sage-legacy-u-1180) !important;
}

#model-management-table {
    min-width: var(--sage-legacy-u-1580) !important;
    table-layout: fixed !important;
}

#model-management-table thead th {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.18 !important;
}

#model-management-table th[data-column="name"],
#model-management-table td[data-column="name"] {
    width: var(--sage-legacy-u-220) !important;
}

#model-management-table th[data-column="llm-endpoint"],
#model-management-table td[data-column="llm-endpoint"] {
    width: var(--sage-legacy-u-230) !important;
}

#model-management-table th[data-column="embedding-endpoint"],
#model-management-table td[data-column="embedding-endpoint"] {
    width: var(--sage-legacy-u-230) !important;
}

#model-management-table th[data-column="llm-provider"],
#model-management-table td[data-column="llm-provider"] {
    width: var(--sage-legacy-u-110) !important;
}

#model-management-table th[data-column="embedding-provider"],
#model-management-table td[data-column="embedding-provider"] {
    width: var(--sage-legacy-u-140) !important;
}

#model-management-table th[data-column="llm-model"],
#model-management-table td[data-column="llm-model"] {
    width: var(--sage-legacy-u-130) !important;
}

#model-management-table th[data-column="embedding-model"],
#model-management-table td[data-column="embedding-model"] {
    width: var(--sage-legacy-u-180) !important;
}

#model-management-table th[data-column="credentials"],
#model-management-table td[data-column="credentials"] {
    width: var(--sage-legacy-u-110) !important;
}

#model-management-table th[data-column="active"],
#model-management-table td[data-column="active"] {
    width: var(--sage-legacy-u-76) !important;
}

#model-management-table th[data-column="actions"],
#model-management-table td[data-column="actions"] {
    width: var(--sage-legacy-u-120) !important;
}

#content-page #content-table thead th,
.documents-table thead th {
    position: sticky !important;
    top: 0 !important;
    height: var(--sage-legacy-u-36) !important;
    padding: 0.55rem 0.7rem !important;
    border: 0 !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-app-radius-square) !important;
    background: var(--sage-legacy-color-f1f5f9) !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.69rem !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#content-page #content-table tbody tr,
.documents-table tbody tr {
    box-shadow: none !important;
    border-radius: var(--sage-app-radius-square) !important;
}

#content-page #content-table tbody td,
.documents-table tbody td {
    height: var(--sage-legacy-u-44) !important;
    padding: 0.48rem 0.7rem !important;
    border: 0 !important;
    border-bottom: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
    border-radius: var(--sage-app-radius-square) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#content-page #content-table tbody tr:hover td,
.documents-table tbody tr:hover td {
    background: var(--sage-legacy-color-f8fbff) !important;
    border-color: var(--sage-legacy-color-dbeafe) !important;
}

#content-table th:nth-child(1),
#content-table td:nth-child(1) {
    width: var(--sage-legacy-u-36) !important;
    min-width: var(--sage-legacy-u-36) !important;
    max-width: var(--sage-legacy-u-36) !important;
}

#content-table th:nth-child(2),
#content-table td:nth-child(2) {
    width: var(--sage-legacy-u-96) !important;
    min-width: var(--sage-legacy-u-96) !important;
}

#content-table th:nth-child(3),
#content-table td:nth-child(3) {
    width: var(--sage-legacy-u-320) !important;
    min-width: var(--sage-legacy-u-320) !important;
}

#content-table th:nth-child(4),
#content-table td:nth-child(4),
#content-table th:nth-child(5),
#content-table td:nth-child(5),
#content-table th:nth-child(6),
#content-table td:nth-child(6) {
    width: var(--sage-legacy-u-140) !important;
    min-width: var(--sage-legacy-u-140) !important;
}

#content-table th:nth-child(7),
#content-table td:nth-child(7) {
    width: var(--sage-legacy-u-340) !important;
    min-width: var(--sage-legacy-u-340) !important;
}

#content-table th:nth-child(8),
#content-table td:nth-child(8) {
    width: var(--sage-legacy-u-90) !important;
    min-width: var(--sage-legacy-u-90) !important;
}

#content-table th:nth-child(9),
#content-table td:nth-child(9) {
    width: var(--sage-legacy-u-120) !important;
    min-width: var(--sage-legacy-u-120) !important;
}

#content-table th:nth-child(10),
#content-table td:nth-child(10) {
    width: var(--sage-legacy-u-120) !important;
    min-width: var(--sage-legacy-u-120) !important;
}

#content-table th:nth-child(11),
#content-table td:nth-child(11) {
    width: var(--sage-legacy-u-140) !important;
    min-width: var(--sage-legacy-u-140) !important;
}

.sage-table-primary-text,
.sage-table-link,
.file-path-cell,
.file-path-link,
#content-page .content-primary-cell,
#content-table td[data-column="source"],
#content-table td[data-column="content-type"],
#content-table td[data-column="document-type"] {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.sage-table-primary-text,
.sage-table-link,
.file-path-link {
    display: inline-block !important;
}

.sage-table-link {
    color: var(--sage-primary) !important;
    text-decoration: none !important;
}

.sage-table-link:hover,
.sage-table-link:focus-visible {
    text-decoration: underline !important;
}

#content-page .content-primary-cell {
    width: var(--sage-legacy-u-320) !important;
    min-width: var(--sage-legacy-u-320) !important;
}

#content-page .content-actions-cell,
.content-actions-cell {
    width: var(--sage-legacy-u-140) !important;
    min-width: var(--sage-legacy-u-140) !important;
    text-align: right !important;
    overflow: visible !important;
}

#content-table .source-badge,
#content-table .content-type-badge,
#content-table .document-type-badge,
#content-table .content-readiness-badge,
#content-table .content-signal-badge,
#content-table .status-badge {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#content-table .content-title-stack,
#content-table .content-path-line,
#content-table .content-row-meta {
    display: none !important;
}

@media (max-width: 56.25rem) {
    #content-page #content-table,
    .documents-table {
        min-width: var(--sage-legacy-u-1440) !important;
    }
}

/* Full-screen task surfaces for complex configuration flows. */
.sage-task-surface-modal {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: var(--sage-legacy-u-16) !important;
}

.sage-task-surface-modal .modal-content {
    width: min(var(--sage-legacy-u-1440), calc(100vw - var(--sage-legacy-u-32))) !important;
    max-width: none !important;
    height: calc(100vh - var(--sage-legacy-u-32)) !important;
    max-height: calc(100vh - var(--sage-legacy-u-32)) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.sage-task-surface-modal .modal-header {
    flex: 0 0 auto !important;
}

.sage-task-surface-modal .notification-container {
    flex: 0 0 auto !important;
}

.sage-task-surface-modal .modal-body,
.sage-task-surface-modal .model-config-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
}

.sage-task-surface-modal .modal-footer {
    flex: 0 0 auto !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: var(--sage-app-layer-control) !important;
}

.sage-standard-modal .modal-content {
    width: min(var(--sage-legacy-u-880), calc(100vw - var(--sage-legacy-u-32))) !important;
    max-height: calc(100vh - var(--sage-legacy-u-32)) !important;
    display: flex !important;
    flex-direction: column !important;
}

#content-ingestion-modal.sage-standard-modal .modal-content,
#content-ingestion-modal .modal-content {
    max-height: min(calc(100vh - var(--sage-legacy-u-40)), 95vh) !important;
}

.sage-standard-modal .modal-body {
    min-height: 0 !important;
    overflow: auto !important;
}

/* Scope editor: bounded task modal with visible content filters. */
#form-modal.scope-editor-modal {
    align-items: center !important;
    justify-content: center !important;
    padding: var(--sage-legacy-u-16) !important;
}

#form-modal.scope-editor-modal .modal-content {
    width: min(var(--sage-legacy-u-1240), calc(100vw - var(--sage-legacy-u-32))) !important;
    max-width: none !important;
    height: 80vh !important;
    max-height: 80vh !important;
    min-height: min(var(--sage-legacy-u-640), 80vh) !important;
    overflow: hidden !important;
}

#form-modal.scope-editor-modal .modal-body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#form-modal.scope-editor-modal .scope-form-tabbed {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

#form-modal.scope-editor-modal .scope-tab-panel {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
}

#form-modal.scope-editor-modal #scope-panel-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
}

#form-modal.scope-editor-modal #scope-panel-content[hidden] {
    display: none !important;
}

#form-modal.scope-editor-modal .scope-content-command-row {
    position: sticky !important;
    top: 0 !important;
    z-index: var(--sage-app-layer-control) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.55rem !important;
    margin-bottom: 0 !important;
    padding: 0.55rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: color-mix(in srgb, var(--sage-surface) 88%, var(--sage-legacy-color-f8fafc)) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-7) !important;
}

#form-modal.scope-editor-modal .scope-content-command-row .search-container {
    flex: 1 1 var(--sage-legacy-u-320) !important;
    max-width: none !important;
}

/* ============================================================================
   2026-05-25 QA pass: compact commercial workbench + consistent list semantics.
   Keep default management screens dense enough for 10-row desktop review while
   preserving one field per column.
   ============================================================================ */
:root {
    --header-height: var(--sage-legacy-u-72);
}

.main-content-header {
    min-height: var(--header-height) !important;
    padding: 0.75rem 1.25rem !important;
    margin-bottom: 0.45rem !important;
}

.main-content-wrapper {
    padding: 0.5rem 0.7rem 0.8rem !important;
}

.page-title {
    margin-bottom: 0.15rem !important;
    line-height: 1.2 !important;
}

.admin-main {
    padding: 0.65rem 0.9rem 0.9rem !important;
}

.stats-bar {
    gap: 0.55rem !important;
    margin: 0 0 0.55rem !important;
}

button.stat-card,
.stat-card {
    min-height: var(--sage-legacy-u-56) !important;
    padding: 0.58rem 0.75rem !important;
}

.stat-card .stat-icon {
    width: var(--sage-legacy-u-34) !important;
    height: var(--sage-legacy-u-34) !important;
}

.stat-card .stat-value {
    font-size: 1rem !important;
    line-height: 1.05 !important;
}

.stat-card .stat-label {
    font-size: 0.76rem !important;
    line-height: 1.15 !important;
}

#content-list-controls-content,
#chatbots-list-controls-content,
#scopes-list-controls-content,
#reports-list-controls-content,
#user-list-controls-content,
#model-management-list-controls-content,
#connectors-list-controls-content,
#webhooks-list-controls-content {
    margin-bottom: 0.5rem !important;
    padding: 0.5rem !important;
}

.user-controls-row,
.standard-controls-row,
.controls-row-bottom {
    margin-bottom: 0 !important;
}

.notification-container {
    margin: 0 0 0.35rem !important;
}

.search-input,
.sort-select,
.per-page-select,
.form-select {
    min-height: var(--sage-legacy-u-34) !important;
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
}

.btn,
.view-toggle .view-toggle-btn {
    min-height: var(--sage-legacy-u-34) !important;
}

.user-pagination-info,
.pagination-container,
.pagination-info {
    min-height: var(--sage-legacy-u-42) !important;
    padding: 0.45rem 0.65rem !important;
    margin: 0 0 0.5rem !important;
}

.pagination-left {
    gap: 0.45rem !important;
}

.documents-table-container,
#chatbots-table-container,
#scopes-table-container,
#content-page #content-table-container,
#reports-table-container,
#user-table-container,
#model-management-table-container,
#code-table-container {
    max-height: min(var(--sage-legacy-u-560), calc(100vh - var(--sage-legacy-u-270))) !important;
}

#content-page #content-table thead th,
.documents-table thead th,
#chatbots-table thead th,
#scopes-table thead th {
    height: var(--sage-legacy-u-30) !important;
    padding: 0.42rem 0.55rem !important;
}

#content-page #content-table tbody td,
.documents-table tbody td,
#chatbots-table tbody td,
#scopes-table tbody td {
    height: var(--sage-legacy-u-38) !important;
    padding: 0.32rem 0.55rem !important;
    line-height: 1.2 !important;
}

.content-id-pill,
.scope-id-pill,
.chatbot-id-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 3.4rem !important;
    min-height: 1.55rem !important;
    padding: 0.1rem 0.48rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--primary) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
}

.scope-metric-link {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 0.28rem !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--sage-app-radius-square) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sage-legacy-color-0f172a) !important;
}

.scope-metric-link:hover,
.scope-metric-link:focus-visible {
    border-color: transparent !important;
    box-shadow: none !important;
    color: var(--sage-primary) !important;
    text-decoration: underline !important;
    text-underline-offset: var(--sage-legacy-u-2) !important;
}

.scope-metric-link strong {
    font-size: 0.86rem !important;
    line-height: 1 !important;
}

.scope-metric-link span {
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.72rem !important;
    text-transform: lowercase !important;
}

#chatbots-table {
    min-width: var(--sage-legacy-u-1280) !important;
}

#chatbots-table th:nth-child(1),
#chatbots-table td:nth-child(1) {
    width: var(--sage-legacy-u-36) !important;
    min-width: var(--sage-legacy-u-36) !important;
    max-width: var(--sage-legacy-u-36) !important;
}

#chatbots-table th:nth-child(2),
#chatbots-table td:nth-child(2) {
    width: var(--sage-legacy-u-92) !important;
    min-width: var(--sage-legacy-u-92) !important;
}

#chatbots-table th:nth-child(3),
#chatbots-table td:nth-child(3) {
    width: var(--sage-legacy-u-260) !important;
    min-width: var(--sage-legacy-u-220) !important;
}

#chatbots-table th:nth-child(4),
#chatbots-table td:nth-child(4) {
    width: var(--sage-legacy-u-110) !important;
    min-width: var(--sage-legacy-u-110) !important;
}

#chatbots-table th:nth-child(5),
#chatbots-table td:nth-child(5) {
    width: var(--sage-legacy-u-220) !important;
    min-width: var(--sage-legacy-u-180) !important;
}

#chatbots-table th:nth-child(6),
#chatbots-table td:nth-child(6) {
    width: var(--sage-legacy-u-130) !important;
    min-width: var(--sage-legacy-u-130) !important;
}

#chatbots-table th:nth-child(7),
#chatbots-table td:nth-child(7) {
    width: var(--sage-legacy-u-160) !important;
    min-width: var(--sage-legacy-u-150) !important;
}

#chatbots-table th:nth-child(8),
#chatbots-table td:nth-child(8) {
    width: var(--sage-legacy-u-90) !important;
    min-width: var(--sage-legacy-u-90) !important;
}

#chatbots-table th:nth-child(9),
#chatbots-table td:nth-child(9) {
    width: var(--sage-legacy-u-120) !important;
    min-width: var(--sage-legacy-u-120) !important;
}

#chatbots-table th:nth-child(10),
#chatbots-table td:nth-child(10) {
    width: var(--sage-legacy-u-130) !important;
    min-width: var(--sage-legacy-u-130) !important;
}

#chatbots-table th:nth-child(11),
#chatbots-table td:nth-child(11) {
    width: var(--sage-legacy-u-140) !important;
    min-width: var(--sage-legacy-u-140) !important;
    text-align: right !important;
}

#chatbots-table td:nth-child(3),
#scopes-table td:nth-child(3) {
    font-weight: 700 !important;
}

.chatbot-health-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.3rem;
    min-height: 1.45rem;
    padding: 0.18rem 0.52rem;
    border-radius: var(--sage-legacy-u-999);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.chatbot-health-pill.success {
    background: var(--sage-legacy-color-dcfce7);
    color: var(--sage-legacy-color-047857);
}

.chatbot-health-pill.warning {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.chatbot-health-pill.danger {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-b91c1c);
}

.chatbot-channel-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
}

.chatbot-channel-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.16rem 0.42rem;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe);
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-eff6ff);
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.chatbot-cell-help {
    color: var(--sage-legacy-color-64748b);
    font-size: 0.78rem;
}

html.dark-mode .chatbot-health-pill.success,
html.dark .chatbot-health-pill.success,
.dark .chatbot-health-pill.success {
    background: var(--sage-legacy-alpha-16-185-129-0180);
    color: var(--sage-legacy-color-6ee7b7);
}

html.dark-mode .chatbot-health-pill.warning,
html.dark .chatbot-health-pill.warning,
.dark .chatbot-health-pill.warning {
    background: var(--sage-legacy-alpha-245-158-11-0200);
    color: var(--sage-legacy-color-fcd34d);
}

html.dark-mode .chatbot-health-pill.danger,
html.dark .chatbot-health-pill.danger,
.dark .chatbot-health-pill.danger {
    background: var(--sage-legacy-alpha-239-68-68-0200);
    color: var(--sage-legacy-color-fca5a5);
}

html.dark-mode .chatbot-channel-chip,
html.dark .chatbot-channel-chip,
.dark .chatbot-channel-chip {
    border-color: var(--sage-legacy-alpha-96-165-250-0340);
    background: var(--sage-legacy-alpha-37-99-235-0160);
    color: var(--sage-legacy-color-93c5fd);
}

html.dark-mode .chatbot-cell-help,
html.dark .chatbot-cell-help,
.dark .chatbot-cell-help {
    color: var(--sage-legacy-color-94a3b8);
}

.chatbots-state-row td {
    padding: 0.85rem !important;
}

.sage-table-state.chatbot-table-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 4.5rem;
    width: 100%;
    color: var(--sage-legacy-color-334155);
    text-align: left;
}

.sage-table-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-eff6ff);
    color: var(--primary);
    font-size: 0.84rem;
    font-weight: 700;
}

.chatbots-state-row-error .sage-table-state-icon {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-b91c1c);
}

.chatbots-state-row-empty .sage-table-state-icon {
    background: var(--sage-legacy-color-ecfeff);
    color: var(--sage-legacy-color-0e7490);
}

.sage-table-state-copy {
    display: grid;
    gap: 0.16rem;
    max-width: 34rem;
}

.sage-table-state-copy strong {
    color: var(--sage-legacy-color-0f172a);
    font-size: 0.92rem;
    line-height: 1.2;
}

.sage-table-state-copy span {
    color: var(--sage-legacy-color-64748b);
    font-size: 0.8rem;
    line-height: 1.35;
}

.sage-table-state .btn {
    flex: 0 0 auto;
}

html.dark-mode .sage-table-state.chatbot-table-state,
html.dark .sage-table-state.chatbot-table-state,
.dark .sage-table-state.chatbot-table-state {
    color: var(--sage-legacy-color-cbd5e1);
}

html.dark-mode .sage-table-state-icon,
html.dark .sage-table-state-icon,
.dark .sage-table-state-icon {
    background: var(--sage-legacy-alpha-37-99-235-0220);
    color: var(--sage-legacy-color-bfdbfe);
}

html.dark-mode .chatbots-state-row-error .sage-table-state-icon,
html.dark .chatbots-state-row-error .sage-table-state-icon,
.dark .chatbots-state-row-error .sage-table-state-icon {
    background: var(--sage-legacy-alpha-239-68-68-0220);
    color: var(--sage-legacy-color-fca5a5);
}

html.dark-mode .chatbots-state-row-empty .sage-table-state-icon,
html.dark .chatbots-state-row-empty .sage-table-state-icon,
.dark .chatbots-state-row-empty .sage-table-state-icon {
    background: var(--sage-legacy-alpha-14-116-144-0240);
    color: var(--sage-legacy-color-67e8f9);
}

html.dark-mode .sage-table-state-copy strong,
html.dark .sage-table-state-copy strong,
.dark .sage-table-state-copy strong {
    color: var(--sage-legacy-color-f8fafc);
}

html.dark-mode .sage-table-state-copy span,
html.dark .sage-table-state-copy span,
.dark .sage-table-state-copy span {
    color: var(--sage-legacy-color-cbd5e1);
}

#form-modal.scope-editor-modal .scope-content-command-row .sort-container {
    flex: 0 1 auto !important;
}

#form-modal.scope-editor-modal .scope-content-command-row .btn,
#form-modal.scope-editor-modal .scope-content-command-row .sort-select {
    min-height: var(--sage-legacy-u-36) !important;
}

#form-modal.scope-editor-modal .scope-content-single-panel {
    flex: 1 1 var(--sage-legacy-u-260) !important;
    min-height: var(--sage-legacy-u-220) !important;
}

#form-modal.scope-editor-modal #scope-panel-content .scope-content-table-wrapper {
    max-height: none !important;
}

#form-modal.scope-editor-modal .scope-selected-table-wrapper {
    max-height: var(--sage-legacy-u-160) !important;
    min-height: var(--sage-legacy-u-72) !important;
}

/* ============================================================================
   2026-05-25 commercial list standardization pass.
   Every admin workbench uses one compact table rhythm, visible ID columns, and
   aligned actions. This block intentionally sits late in the cascade.
   ============================================================================ */
#content-page.page-content.active,
#scopes-page.page-content.active,
#chatbots-page.page-content.active,
#users-page.page-content.active,
#model-management-page.page-content.active,
#connectors-page.page-content.active,
#webhooks-page.page-content.active,
#audit-log-page.page-content.active,
#reports-page.page-content.active,
#code-management-page.page-content.active {
    gap: 0.45rem !important;
}

.page-content > .notification-container:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#content-list-content,
#scopes-list-content,
#chatbots-list-content,
#user-list-content,
#model-management-list-content,
#reports-list-content,
#code-management-list-content {
    gap: 0.45rem !important;
}

#content-list-controls-content,
#scopes-list-controls-content,
#chatbots-list-controls-content,
#user-list-controls-content,
#model-management-list-controls-content,
#reports-list-controls-content,
#code-management-list-controls-content,
#connectors-list-controls-content,
#webhooks-list-controls-content,
#audit-log-list-controls-content {
    margin: 0 0 0.45rem !important;
    padding: 0.45rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.audit-log-timeline-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 0.45rem;
}

.audit-log-timeline-summary article {
    min-height: var(--sage-legacy-u-68);
    padding: 0.72rem 0.8rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.audit-log-timeline-summary span {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.audit-log-timeline-summary strong {
    display: block;
    margin-top: 0.18rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.92rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.audit-log-timeline-summary small {
    display: block;
    margin-top: 0.15rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.76rem;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.connector-readiness-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 0.45rem;
}

.webhook-delivery-workflow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 0.45rem;
}

.webhook-delivery-workflow article {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-height: var(--sage-legacy-u-64);
    padding: 0.7rem 0.78rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.webhook-delivery-workflow article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-eff6ff);
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 700;
}

.webhook-delivery-workflow strong,
.webhook-proof-grid strong,
.webhook-modal-guidance-card strong,
.webhook-delivery-summary strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.92rem;
    line-height: 1.2;
}

.webhook-delivery-workflow small,
.webhook-proof-grid p,
.webhook-modal-guidance-card p,
.webhook-delivery-summary small {
    display: block;
    margin: 0.14rem 0 0;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.76rem;
    line-height: 1.35;
}

.webhook-proof-panel {
    margin: 0 0 0.45rem !important;
}

.webhook-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.webhook-proof-grid article,
.webhook-modal-guidance-card {
    padding: 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.webhook-proof-grid code,
.webhook-modal-guidance-card code {
    color: inherit;
    white-space: normal;
}

.webhook-delivery-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin: 0 0 0.65rem;
}

.webhook-delivery-summary article {
    min-height: var(--sage-legacy-u-62);
    padding: 0.65rem 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.webhook-delivery-summary span {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.webhook-modal-guidance-card {
    margin: 0 0 0.75rem;
}

.connector-readiness-workflow article {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-height: var(--sage-legacy-u-64);
    padding: 0.7rem 0.78rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.connector-readiness-workflow article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-eff6ff);
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 700;
}

.connector-readiness-workflow strong,
.connector-catalog-card strong,
.connector-modal-guidance-card strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.92rem;
    line-height: 1.2;
}

.connector-readiness-workflow small,
.connector-catalog-card small,
.connector-modal-guidance-card small {
    display: block;
    margin-top: 0.12rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.75rem;
    line-height: 1.35;
}

.connector-catalog-panel {
    margin: 0 0 0.45rem !important;
}

.connector-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.connector-catalog-card,
.connector-modal-guidance-card {
    padding: 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.connector-catalog-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.connector-catalog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.35rem 0 0.55rem;
}

.connector-catalog-meta span {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.16rem 0.42rem;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-f1f5f9);
    color: var(--sage-legacy-color-334155);
    font-size: 0.72rem;
    font-weight: 600;
}

.connector-preflight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.connector-modal-guidance-card .connector-preflight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.connector-catalog-card .connector-preflight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.connector-preflight-grid span {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.connector-preflight-grid ul {
    margin: 0;
    padding-left: 1.05rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.76rem;
    line-height: 1.35;
}

.connector-catalog-card p,
.connector-modal-guidance-card p {
    margin: 0.55rem 0 0;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.77rem;
    line-height: 1.4;
}

.connector-modal-guidance {
    margin: 0 0 0.75rem;
}

.connector-template-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.documents-table-container,
#content-table-container,
#scopes-table-container,
#chatbots-table-container,
#user-table-container,
#model-management-table-container,
#reports-table-container,
#code-table-container {
    margin: 0 !important;
    max-height: min(var(--sage-legacy-u-572), calc(100vh - var(--sage-legacy-u-252))) !important;
    overflow: auto !important;
}

.documents-table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
}

.documents-table thead th,
.documents-table tbody td {
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.documents-table thead th {
    height: var(--sage-legacy-u-30) !important;
    padding: 0.36rem 0.52rem !important;
    white-space: nowrap !important;
}

.documents-table tbody td {
    height: var(--sage-legacy-u-37) !important;
    padding: 0.31rem 0.52rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.content-id-pill,
.scope-id-pill,
.chatbot-id-pill,
.sage-id-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 3.2rem !important;
    min-height: 1.45rem !important;
    padding: 0.08rem 0.46rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--primary) !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.user-access-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.16rem 0.46rem;
    border: var(--sage-legacy-u-1) solid var(--border, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-f8fafc);
    color: var(--sage-legacy-color-334155);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.user-access-label,
.user-access-risk {
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-access-risk {
    color: var(--sage-legacy-color-64748b);
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
}

.user-access-badge-low {
    background: var(--sage-legacy-color-ecfdf5);
    border-color: var(--sage-legacy-color-bbf7d0);
    color: var(--sage-legacy-color-047857);
}

.user-access-badge-standard {
    background: var(--sage-legacy-color-eff6ff);
    border-color: var(--sage-legacy-color-bfdbfe);
    color: var(--primary);
}

.user-access-badge-elevated {
    background: var(--sage-legacy-color-fffbeb);
    border-color: var(--sage-legacy-color-fde68a);
    color: var(--sage-legacy-color-b45309);
}

.user-access-badge-high,
.user-access-badge-critical {
    background: var(--sage-legacy-color-fef2f2);
    border-color: var(--sage-legacy-color-fecaca);
    color: var(--sage-legacy-color-b91c1c);
}

.user-access-badge-inactive {
    background: var(--sage-legacy-color-f1f5f9);
    border-color: var(--sage-legacy-color-cbd5e1);
    color: var(--sage-legacy-color-64748b);
}

.user-rbac-panel {
    border: var(--sage-legacy-u-1) solid var(--border, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 0.95rem;
    margin: 0.85rem 0;
}

.user-rbac-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.user-rbac-eyebrow {
    display: block;
    color: var(--text-muted, var(--sage-legacy-color-64748b));
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.user-rbac-panel h3 {
    margin: 0.12rem 0 0;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 1rem;
    line-height: 1.2;
}

.user-rbac-panel p {
    margin: 0;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.84rem;
    line-height: 1.42;
}

.user-rbac-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.75rem;
}

.user-rbac-grid strong {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.78rem;
}

.user-rbac-grid ul {
    margin: 0;
    padding-left: 1rem;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.78rem;
    line-height: 1.38;
}

.user-rbac-warnings {
    color: var(--sage-legacy-color-b45309) !important;
}

.user-rbac-muted {
    color: var(--text-muted, var(--sage-legacy-color-64748b)) !important;
    font-size: 0.78rem !important;
}

html.dark-mode .user-access-badge,
html.dark .user-access-badge,
:root[data-theme="dark"] .user-access-badge {
    background: var(--sage-legacy-color-1e293b);
    border-color: var(--sage-legacy-color-475569);
    color: var(--sage-legacy-color-e2e8f0);
}

html.dark-mode .user-access-badge-low,
html.dark .user-access-badge-low,
:root[data-theme="dark"] .user-access-badge-low {
    background: var(--sage-legacy-alpha-16-185-129-0140);
    border-color: var(--sage-legacy-alpha-52-211-153-0420);
    color: var(--sage-legacy-color-6ee7b7);
}

html.dark-mode .user-access-badge-standard,
html.dark .user-access-badge-standard,
:root[data-theme="dark"] .user-access-badge-standard {
    background: var(--sage-legacy-alpha-59-130-246-0150);
    border-color: var(--sage-legacy-alpha-96-165-250-0420);
    color: var(--sage-legacy-color-93c5fd);
}

html.dark-mode .user-access-badge-elevated,
html.dark .user-access-badge-elevated,
:root[data-theme="dark"] .user-access-badge-elevated {
    background: var(--sage-legacy-alpha-245-158-11-0160);
    border-color: var(--sage-legacy-alpha-251-191-36-0450);
    color: var(--sage-legacy-color-fcd34d);
}

html.dark-mode .user-access-badge-high,
html.dark .user-access-badge-high,
:root[data-theme="dark"] .user-access-badge-high,
html.dark-mode .user-access-badge-critical,
html.dark .user-access-badge-critical,
:root[data-theme="dark"] .user-access-badge-critical {
    background: var(--sage-legacy-alpha-239-68-68-0150);
    border-color: var(--sage-legacy-alpha-248-113-113-0450);
    color: var(--sage-legacy-color-fca5a5);
}

html.dark-mode .user-rbac-panel,
html.dark .user-rbac-panel,
:root[data-theme="dark"] .user-rbac-panel {
    background: var(--sage-legacy-color-0f172a);
    border-color: var(--sage-legacy-color-334155);
}

@media (max-width: 53.75rem) {
    .user-rbac-grid {
        grid-template-columns: 1fr;
    }
}

.documents-table th[data-column="actions"],
.documents-table td[data-column="actions"],
#user-table th[data-column="actions"],
#user-table td[data-column="actions"],
#connectors-table th[data-column="actions"],
#connectors-table td[data-column="actions"],
#webhooks-table th[data-column="actions"],
#webhooks-table td[data-column="actions"],
#reports-schedule-table th[data-column="actions"],
#reports-schedule-table td[data-column="actions"],
#audit-log-table th[data-column="actions"],
#audit-log-table td[data-column="actions"] {
    width: var(--sage-legacy-u-132) !important;
    min-width: var(--sage-legacy-u-132) !important;
    max-width: var(--sage-legacy-u-132) !important;
    text-align: right !important;
    overflow: visible !important;
}

.documents-table td[data-column="actions"] .action-icons,
#user-table td[data-column="actions"] .action-icons,
#connectors-table td[data-column="actions"] .action-icons,
#webhooks-table td[data-column="actions"] .action-icons,
#reports-schedule-table td[data-column="actions"] .action-icons,
#audit-log-table td[data-column="actions"] .action-icons {
    justify-content: flex-end !important;
    width: 100% !important;
    overflow: visible !important;
}

.sage-force-action-menu .sage-action-menu-toggle,
.sage-action-menu-toggle {
    min-width: 6.25rem !important;
    justify-content: center !important;
}

#chatbots-table {
    min-width: var(--sage-legacy-u-1260) !important;
}

#chatbots-table th:nth-child(1),
#chatbots-table td:nth-child(1) { width: var(--sage-legacy-u-36) !important; }
#chatbots-table th[data-column="id"],
#chatbots-table td[data-column="id"] { width: var(--sage-legacy-u-96) !important; }
#chatbots-table th[data-column="name"],
#chatbots-table td[data-column="name"] { width: var(--sage-legacy-u-300) !important; }
#chatbots-table th[data-column="status"],
#chatbots-table td[data-column="status"] { width: var(--sage-legacy-u-110) !important; }
#chatbots-table th[data-column="scope"],
#chatbots-table td[data-column="scope"] { width: var(--sage-legacy-u-260) !important; }
#chatbots-table th[data-column="theme"],
#chatbots-table td[data-column="theme"],
#chatbots-table th[data-column="position"],
#chatbots-table td[data-column="position"],
#chatbots-table th[data-column="created"],
#chatbots-table td[data-column="created"] { width: var(--sage-legacy-u-125) !important; }

#user-table {
    min-width: var(--sage-legacy-u-1338) !important;
}

#user-table th[data-column="id"],
#user-table td[data-column="id"] { width: var(--sage-legacy-u-96) !important; }
#user-table th[data-column="user"],
#user-table td[data-column="user"] { width: var(--sage-legacy-u-260) !important; }
#user-table th[data-column="email"],
#user-table td[data-column="email"] { width: var(--sage-legacy-u-260) !important; }
#user-table th[data-column="role"],
#user-table td[data-column="role"] { width: var(--sage-legacy-u-150) !important; }
#user-table th[data-column="access"],
#user-table td[data-column="access"] { width: var(--sage-legacy-u-170) !important; }
#user-table th[data-column="status"],
#user-table td[data-column="status"] { width: var(--sage-legacy-u-120) !important; }
#user-table th[data-column="last_login"],
#user-table td[data-column="last_login"] { width: var(--sage-legacy-u-150) !important; }

#model-management-table {
    min-width: var(--sage-legacy-u-1460) !important;
}

#model-management-table th[data-column="id"],
#model-management-table td[data-column="id"] {
    width: var(--sage-legacy-u-130) !important;
}
#model-management-table th[data-column="name"],
#model-management-table td[data-column="name"] { width: var(--sage-legacy-u-180) !important; }
#model-management-table th[data-column="llm-provider"],
#model-management-table td[data-column="llm-provider"] { width: var(--sage-legacy-u-96) !important; }
#model-management-table th[data-column="llm-model"],
#model-management-table td[data-column="llm-model"] { width: var(--sage-legacy-u-112) !important; }
#model-management-table th[data-column="llm-endpoint"],
#model-management-table td[data-column="llm-endpoint"] { width: var(--sage-legacy-u-176) !important; }
#model-management-table th[data-column="embedding-provider"],
#model-management-table td[data-column="embedding-provider"] { width: var(--sage-legacy-u-116) !important; }
#model-management-table th[data-column="embedding-model"],
#model-management-table td[data-column="embedding-model"] { width: var(--sage-legacy-u-160) !important; }
#model-management-table th[data-column="embedding-endpoint"],
#model-management-table td[data-column="embedding-endpoint"] { width: var(--sage-legacy-u-176) !important; }
#model-management-table th[data-column="credentials"],
#model-management-table td[data-column="credentials"] { width: var(--sage-legacy-u-110) !important; }
#model-management-table th[data-column="readiness"],
#model-management-table td[data-column="readiness"] { width: var(--sage-legacy-u-132) !important; }
#model-management-table th[data-column="active"],
#model-management-table td[data-column="active"] { width: var(--sage-legacy-u-76) !important; }

#persona-templates-table th[data-column="id"],
#persona-templates-table td[data-column="id"] { width: var(--sage-legacy-u-120) !important; }
#persona-templates-table th[data-column="name"],
#persona-templates-table td[data-column="name"] { width: var(--sage-legacy-u-260) !important; }
#persona-templates-table th[data-column="source"],
#persona-templates-table td[data-column="source"] { width: var(--sage-legacy-u-100) !important; }
#persona-templates-table th[data-column="updated"],
#persona-templates-table td[data-column="updated"] { width: var(--sage-legacy-u-110) !important; }
#persona-templates-table th[data-column="updated-by"],
#persona-templates-table td[data-column="updated-by"] { width: var(--sage-legacy-u-150) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#persona-templates-table td[data-column="description"] {
    max-width: var(--sage-legacy-u-420);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#connectors-table {
    min-width: var(--sage-legacy-u-1320) !important;
}

#connectors-table th:nth-child(1),
#connectors-table td:nth-child(1) { width: var(--sage-legacy-u-110) !important; }
#connectors-table th:nth-child(2),
#connectors-table td:nth-child(2) { width: var(--sage-legacy-u-220) !important; }
#connectors-table th:nth-child(3),
#connectors-table td:nth-child(3) { width: var(--sage-legacy-u-190) !important; }
#connectors-table th:nth-child(4),
#connectors-table td:nth-child(4),
#connectors-table th:nth-child(5),
#connectors-table td:nth-child(5),
#connectors-table th:nth-child(6),
#connectors-table td:nth-child(6),
#connectors-table th:nth-child(8),
#connectors-table td:nth-child(8) { width: var(--sage-legacy-u-120) !important; }
#connectors-table th:nth-child(7),
#connectors-table td:nth-child(7) { width: var(--sage-legacy-u-190) !important; }
#connectors-table th:nth-child(9),
#connectors-table td:nth-child(9) { width: var(--sage-legacy-u-140) !important; }

#webhooks-table {
    min-width: var(--sage-legacy-u-1280) !important;
}

#webhooks-table th:nth-child(1),
#webhooks-table td:nth-child(1) { width: var(--sage-legacy-u-104) !important; }
#webhooks-table th:nth-child(2),
#webhooks-table td:nth-child(2) { width: var(--sage-legacy-u-210) !important; }
#webhooks-table th:nth-child(3),
#webhooks-table td:nth-child(3) { width: var(--sage-legacy-u-330) !important; }
#webhooks-table th:nth-child(4),
#webhooks-table td:nth-child(4) { width: var(--sage-legacy-u-220) !important; }
#webhooks-table th:nth-child(5),
#webhooks-table td:nth-child(5),
#webhooks-table th:nth-child(6),
#webhooks-table td:nth-child(6),
#webhooks-table th:nth-child(7),
#webhooks-table td:nth-child(7) { width: var(--sage-legacy-u-120) !important; }
#webhooks-table th:nth-child(8),
#webhooks-table td:nth-child(8) { width: var(--sage-legacy-u-140) !important; }

#webhook-deliveries-table {
    min-width: var(--sage-legacy-u-1120) !important;
}

#webhook-deliveries-table th:nth-child(1),
#webhook-deliveries-table td:nth-child(1) { width: var(--sage-legacy-u-104) !important; }
#webhook-deliveries-table th:nth-child(2),
#webhook-deliveries-table td:nth-child(2) { width: var(--sage-legacy-u-170) !important; }
#webhook-deliveries-table th:nth-child(3),
#webhook-deliveries-table td:nth-child(3),
#webhook-deliveries-table th:nth-child(5),
#webhook-deliveries-table td:nth-child(5),
#webhook-deliveries-table th:nth-child(6),
#webhook-deliveries-table td:nth-child(6),
#webhook-deliveries-table th:nth-child(7),
#webhook-deliveries-table td:nth-child(7) { width: var(--sage-legacy-u-120) !important; }
#webhook-deliveries-table th:nth-child(4),
#webhook-deliveries-table td:nth-child(4) { width: var(--sage-legacy-u-250) !important; }
#webhook-deliveries-table th:nth-child(8),
#webhook-deliveries-table td:nth-child(8) { width: var(--sage-legacy-u-240) !important; }

#audit-log-table {
    min-width: var(--sage-legacy-u-1360) !important;
}

#audit-log-table th:nth-child(1),
#audit-log-table td:nth-child(1) { width: var(--sage-legacy-u-110) !important; }
#audit-log-table th:nth-child(2),
#audit-log-table td:nth-child(2) { width: var(--sage-legacy-u-180) !important; }
#audit-log-table th:nth-child(3),
#audit-log-table td:nth-child(3) { width: var(--sage-legacy-u-160) !important; }
#audit-log-table th:nth-child(4),
#audit-log-table td:nth-child(4) { width: var(--sage-legacy-u-300) !important; }
#audit-log-table th:nth-child(5),
#audit-log-table td:nth-child(5) { width: var(--sage-legacy-u-180) !important; }
#audit-log-table th:nth-child(6),
#audit-log-table td:nth-child(6) { width: var(--sage-legacy-u-110) !important; }
#audit-log-table th:nth-child(7),
#audit-log-table td:nth-child(7) { width: var(--sage-legacy-u-300) !important; }
#audit-log-table th:nth-child(8),
#audit-log-table td:nth-child(8) { width: var(--sage-legacy-u-132) !important; }
#audit-log-table .audit-metadata-cell code {
    display: inline-block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
}

#reports-schedule-table {
    min-width: var(--sage-legacy-u-1320) !important;
}

#reports-schedule-table th:nth-child(1),
#reports-schedule-table td:nth-child(1) { width: var(--sage-legacy-u-108) !important; }
#reports-schedule-table th:nth-child(2),
#reports-schedule-table td:nth-child(2) { width: var(--sage-legacy-u-230) !important; }
#reports-schedule-table th:nth-child(3),
#reports-schedule-table td:nth-child(3) { width: var(--sage-legacy-u-190) !important; }
#reports-schedule-table th:nth-child(4),
#reports-schedule-table td:nth-child(4) { width: var(--sage-legacy-u-110) !important; }
#reports-schedule-table th:nth-child(5),
#reports-schedule-table td:nth-child(5),
#reports-schedule-table th:nth-child(6),
#reports-schedule-table td:nth-child(6),
#reports-schedule-table th:nth-child(7),
#reports-schedule-table td:nth-child(7),
#reports-schedule-table th:nth-child(8),
#reports-schedule-table td:nth-child(8),
#reports-schedule-table th:nth-child(9),
#reports-schedule-table td:nth-child(9) { width: var(--sage-legacy-u-120) !important; }

#code-table {
    min-width: var(--sage-legacy-u-980) !important;
}

#code-table th:nth-child(1),
#code-table td:nth-child(1) { width: var(--sage-legacy-u-40) !important; }
#code-table th[data-column="id"],
#code-table td[data-column="id"] { width: var(--sage-legacy-u-96) !important; }
#code-table th[data-column="name"],
#code-table td[data-column="name"] { width: var(--sage-legacy-u-220) !important; }
#code-table th[data-column="type"],
#code-table td[data-column="type"] { width: var(--sage-legacy-u-140) !important; }
#code-table th[data-column="description"],
#code-table td[data-column="description"] { width: var(--sage-legacy-u-260) !important; }
#code-table th[data-column="status"],
#code-table td[data-column="status"],
#code-table th[data-column="created"],
#code-table td[data-column="created"] { width: var(--sage-legacy-u-120) !important; }

#confirm-modal .modal-content {
    border-top: var(--sage-legacy-u-4) solid var(--sage-legacy-color-dc2626) !important;
}

#confirm-modal-confirm {
    min-width: var(--sage-legacy-u-130) !important;
}

#reports-list-content,
#code-management-list-content,
#model-management-list-content {
    display: grid !important;
    gap: 0.75rem !important;
}

#reports-cards-grid,
#code-cards-grid {
    grid-template-columns: repeat(auto-fill, minmax(var(--sage-legacy-u-280), 1fr)) !important;
    gap: 0.75rem !important;
}

#reports-table td,
#model-management-table td,
#code-table td,
#chatbots-table td,
#scopes-table td {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Action columns must align with their controls, and action menus must escape
   scrollable table containers instead of being clipped. */
.documents-table th[data-column="actions"],
.documents-table td[data-column="actions"],
#content-table th[data-column="actions"],
#content-table td[data-column="actions"],
#model-management-table th[data-column="actions"],
#model-management-table td[data-column="actions"],
#reports-table th[data-column="actions"],
#reports-table td[data-column="actions"],
#code-table th[data-column="actions"],
#code-table td[data-column="actions"],
#chatbots-table th[data-column="actions"],
#chatbots-table td[data-column="actions"],
#scopes-table th[data-column="actions"],
#scopes-table td[data-column="actions"] {
    text-align: right !important;
    overflow: visible !important;
}

.documents-table td[data-column="actions"] .action-icons,
#content-table td[data-column="actions"] .action-icons,
#model-management-table td[data-column="actions"] .action-icons,
#reports-table td[data-column="actions"] .action-icons,
#code-table td[data-column="actions"] .action-icons,
#chatbots-table td[data-column="actions"] .action-icons,
#scopes-table td[data-column="actions"] .action-icons {
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
    overflow: visible !important;
}

.sage-action-menu.open {
    z-index: var(--sage-app-layer-overlay-menu-top) !important;
}

.sage-action-menu.open .sage-action-menu-panel {
    display: grid !important;
    gap: 0.15rem !important;
}

.sage-action-menu-panel.open {
    display: grid !important;
    gap: 0.15rem !important;
}

/* 2026-05-25 final QA override: the core management workbenches must fit a
   10-row review comfortably at 1920x900 and share identical table semantics. */
#content-page.page-content.active,
#scopes-page.page-content.active,
#chatbots-page.page-content.active {
    gap: 0.4rem !important;
}

#content-page > .notification-container:empty,
#scopes-page > .notification-container:empty,
#chatbots-page > .notification-container:empty {
    display: none !important;
    margin: 0 !important;
}

#content-list-content,
#scopes-list-content,
#chatbots-list-content {
    gap: 0.42rem !important;
}

#content-page #content-list-controls-content,
#scopes-page #scopes-list-controls-content,
#chatbots-page #chatbots-list-controls-content {
    padding: 0.42rem !important;
    margin-bottom: 0 !important;
}

#content-page #content-list-controls-content .user-controls-row,
#scopes-page #scopes-list-controls-content .user-controls-row,
#chatbots-page #chatbots-list-controls-content .user-controls-row {
    flex-wrap: nowrap !important;
    gap: 0.45rem !important;
}

#content-page #content-list-controls-content .search-input,
#scopes-page #scopes-list-controls-content .search-input,
#chatbots-page #chatbots-list-controls-content .search-input,
#content-page #content-list-controls-content .sort-select,
#scopes-page #scopes-list-controls-content .sort-select,
#chatbots-page #chatbots-list-controls-content .sort-select,
#content-page #content-list-controls-content .btn,
#scopes-page #scopes-list-controls-content .btn,
#chatbots-page #chatbots-list-controls-content .btn,
#content-page #content-list-controls-content .view-toggle-btn,
#scopes-page #scopes-list-controls-content .view-toggle-btn,
#chatbots-page #chatbots-list-controls-content .view-toggle-btn {
    min-height: var(--sage-legacy-u-32) !important;
}

#content-page .user-pagination-info,
#scopes-page .user-pagination-info,
#chatbots-page .user-pagination-info {
    min-height: var(--sage-legacy-u-40) !important;
    padding: 0.42rem 0.6rem !important;
    margin: 0 !important;
}

#content-page #content-table thead th,
#scopes-page #scopes-table thead th,
#chatbots-page #chatbots-table thead th {
    height: var(--sage-legacy-u-28) !important;
    padding: 0.34rem 0.5rem !important;
}

#content-page #content-table tbody td,
#scopes-page #scopes-table tbody td,
#chatbots-page #chatbots-table tbody td {
    height: var(--sage-legacy-u-36) !important;
    padding: 0.3rem 0.5rem !important;
}

#content-page #content-table-container,
#scopes-page #scopes-table-container,
#chatbots-page #chatbots-table-container {
    max-height: min(var(--sage-legacy-u-570), calc(100vh - var(--sage-legacy-u-252))) !important;
}

#scopes-page .scope-metric-link {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.28rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--sage-app-radius-square) !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Final cross-screen alignment guardrail. Keep this as the last table rule. */
#users-page.page-content.active,
#model-management-page.page-content.active,
#connectors-page.page-content.active,
#webhooks-page.page-content.active,
#audit-log-page.page-content.active,
#reports-page.page-content.active {
    gap: 0.4rem !important;
}

#users-page .user-pagination-info,
#model-management-page .user-pagination-info,
#connectors-page .user-pagination-info,
#webhooks-page .user-pagination-info,
#audit-log-page .user-pagination-info,
#reports-page .user-pagination-info {
    min-height: var(--sage-legacy-u-40) !important;
    padding: 0.42rem 0.6rem !important;
    margin: 0 0 0.45rem !important;
}

#chatbots-table th[data-column="actions"],
#chatbots-table td[data-column="actions"],
#user-table th[data-column="actions"],
#user-table td[data-column="actions"],
#model-management-table th[data-column="actions"],
#model-management-table td[data-column="actions"],
#connectors-table th[data-column="actions"],
#connectors-table td[data-column="actions"],
#webhooks-table th[data-column="actions"],
#webhooks-table td[data-column="actions"],
#reports-schedule-table th[data-column="actions"],
#reports-schedule-table td[data-column="actions"] {
    width: var(--sage-legacy-u-132) !important;
    min-width: var(--sage-legacy-u-132) !important;
    max-width: var(--sage-legacy-u-132) !important;
    text-align: right !important;
    overflow: visible !important;
}

#audit-log-table th,
#audit-log-table td,
#connectors-table th,
#connectors-table td,
#webhooks-table th,
#webhooks-table td,
#webhook-deliveries-table th,
#webhook-deliveries-table td,
#reports-schedule-table th,
#reports-schedule-table td,
#user-table th,
#user-table td {
    vertical-align: middle !important;
}

/* 2026-05-25 dark-mode recovery guardrail.
   Late list-standardization rules above intentionally use strong selectors for
   commercial density; this block restores theme-token colors so those density
   overrides do not pin the app to light-mode surfaces. */
html.dark-mode,
html.dark,
:root[data-theme="dark"] {
    --sage-id-bg: color-mix(in srgb, var(--sage-primary) 18%, var(--sage-surface)) !important;
    --sage-id-border: color-mix(in srgb, var(--sage-primary) 48%, var(--sage-border)) !important;
    --sage-id-text: var(--sage-legacy-color-bfdbfe) !important;
    --sage-row-hover: color-mix(in srgb, var(--sage-surface-muted) 82%, var(--sage-primary)) !important;
    --sage-row-even: color-mix(in srgb, var(--sage-surface) 92%, var(--sage-surface-muted)) !important;
}

html.dark-mode body,
html.dark body,
:root[data-theme="dark"] body,
html.dark-mode .main-content-wrapper,
html.dark .main-content-wrapper,
:root[data-theme="dark"] .main-content-wrapper,
html.dark-mode .admin-main,
html.dark .admin-main,
:root[data-theme="dark"] .admin-main,
html.dark-mode .page-content,
html.dark .page-content,
:root[data-theme="dark"] .page-content {
    background: var(--sage-bg) !important;
    color: var(--sage-text) !important;
}

html.dark-mode .main-content-header,
html.dark .main-content-header,
:root[data-theme="dark"] .main-content-header,
html.dark-mode .stat-card,
html.dark .stat-card,
:root[data-theme="dark"] .stat-card,
html.dark-mode button.stat-card,
html.dark button.stat-card,
:root[data-theme="dark"] button.stat-card,
html.dark-mode #content-list-controls-content,
html.dark-mode #scopes-list-controls-content,
html.dark-mode #chatbots-list-controls-content,
html.dark-mode #user-list-controls-content,
html.dark-mode #model-management-list-controls-content,
html.dark-mode #reports-list-controls-content,
html.dark-mode #code-management-list-content,
html.dark-mode #connectors-list-controls-content,
html.dark-mode #webhooks-list-controls-content,
html.dark-mode #audit-log-list-controls-content,
html.dark #content-list-controls-content,
html.dark #scopes-list-controls-content,
html.dark #chatbots-list-controls-content,
html.dark #user-list-controls-content,
html.dark #model-management-list-controls-content,
html.dark #reports-list-controls-content,
html.dark #code-management-list-content,
html.dark #connectors-list-controls-content,
html.dark #webhooks-list-controls-content,
html.dark #audit-log-list-controls-content,
:root[data-theme="dark"] #content-list-controls-content,
:root[data-theme="dark"] #scopes-list-controls-content,
:root[data-theme="dark"] #chatbots-list-controls-content,
:root[data-theme="dark"] #user-list-controls-content,
:root[data-theme="dark"] #model-management-list-controls-content,
:root[data-theme="dark"] #reports-list-controls-content,
:root[data-theme="dark"] #code-management-list-content,
:root[data-theme="dark"] #connectors-list-controls-content,
:root[data-theme="dark"] #webhooks-list-controls-content,
:root[data-theme="dark"] #audit-log-list-controls-content,
html.dark-mode .user-pagination-info,
html.dark .user-pagination-info,
:root[data-theme="dark"] .user-pagination-info,
html.dark-mode .pagination-container,
html.dark .pagination-container,
:root[data-theme="dark"] .pagination-container,
html.dark-mode .pagination-info,
html.dark .pagination-info,
:root[data-theme="dark"] .pagination-info {
    background: var(--sage-surface) !important;
    border-color: var(--sage-border) !important;
    color: var(--sage-text) !important;
}

html.dark-mode .documents-table-container,
html.dark-mode #content-table-container,
html.dark-mode #scopes-table-container,
html.dark-mode #chatbots-table-container,
html.dark-mode #user-table-container,
html.dark-mode #model-management-table-container,
html.dark-mode #reports-table-container,
html.dark-mode #code-table-container,
html.dark .documents-table-container,
html.dark #content-table-container,
html.dark #scopes-table-container,
html.dark #chatbots-table-container,
html.dark #user-table-container,
html.dark #model-management-table-container,
html.dark #reports-table-container,
html.dark #code-table-container,
:root[data-theme="dark"] .documents-table-container,
:root[data-theme="dark"] #content-table-container,
:root[data-theme="dark"] #scopes-table-container,
:root[data-theme="dark"] #chatbots-table-container,
:root[data-theme="dark"] #user-table-container,
:root[data-theme="dark"] #model-management-table-container,
:root[data-theme="dark"] #reports-table-container,
:root[data-theme="dark"] #code-table-container {
    background: var(--sage-surface) !important;
    border-color: var(--sage-border) !important;
}

html.dark-mode .documents-table thead th,
html.dark-mode #content-page #content-table thead th,
html.dark-mode #scopes-page #scopes-table thead th,
html.dark-mode #chatbots-page #chatbots-table thead th,
html.dark-mode #user-table thead th,
html.dark-mode #model-management-table thead th,
html.dark-mode #audit-log-table thead th,
html.dark-mode #connectors-table thead th,
html.dark-mode #webhooks-table thead th,
html.dark-mode #webhook-deliveries-table thead th,
html.dark-mode #reports-schedule-table thead th,
html.dark .documents-table thead th,
html.dark #content-page #content-table thead th,
html.dark #scopes-page #scopes-table thead th,
html.dark #chatbots-page #chatbots-table thead th,
html.dark #user-table thead th,
html.dark #model-management-table thead th,
html.dark #audit-log-table thead th,
html.dark #connectors-table thead th,
html.dark #webhooks-table thead th,
html.dark #webhook-deliveries-table thead th,
html.dark #reports-schedule-table thead th,
:root[data-theme="dark"] .documents-table thead th,
:root[data-theme="dark"] #content-page #content-table thead th,
:root[data-theme="dark"] #scopes-page #scopes-table thead th,
:root[data-theme="dark"] #chatbots-page #chatbots-table thead th,
:root[data-theme="dark"] #user-table thead th,
:root[data-theme="dark"] #model-management-table thead th,
:root[data-theme="dark"] #audit-log-table thead th,
:root[data-theme="dark"] #connectors-table thead th,
:root[data-theme="dark"] #webhooks-table thead th,
:root[data-theme="dark"] #webhook-deliveries-table thead th,
:root[data-theme="dark"] #reports-schedule-table thead th {
    background: var(--table-header-bg) !important;
    color: var(--table-header-text) !important;
    border-color: var(--sage-border) !important;
}

html.dark-mode .documents-table tbody td,
html.dark-mode #content-page #content-table tbody td,
html.dark-mode #scopes-page #scopes-table tbody td,
html.dark-mode #chatbots-page #chatbots-table tbody td,
html.dark-mode #user-table tbody td,
html.dark-mode #model-management-table tbody td,
html.dark-mode #audit-log-table tbody td,
html.dark-mode #connectors-table tbody td,
html.dark-mode #webhooks-table tbody td,
html.dark-mode #webhook-deliveries-table tbody td,
html.dark-mode #reports-schedule-table tbody td,
html.dark .documents-table tbody td,
html.dark #content-page #content-table tbody td,
html.dark #scopes-page #scopes-table tbody td,
html.dark #chatbots-page #chatbots-table tbody td,
html.dark #user-table tbody td,
html.dark #model-management-table tbody td,
html.dark #audit-log-table tbody td,
html.dark #connectors-table tbody td,
html.dark #webhooks-table tbody td,
html.dark #webhook-deliveries-table tbody td,
html.dark #reports-schedule-table tbody td,
:root[data-theme="dark"] .documents-table tbody td,
:root[data-theme="dark"] #content-page #content-table tbody td,
:root[data-theme="dark"] #scopes-page #scopes-table tbody td,
:root[data-theme="dark"] #chatbots-page #chatbots-table tbody td,
:root[data-theme="dark"] #user-table tbody td,
:root[data-theme="dark"] #model-management-table tbody td,
:root[data-theme="dark"] #audit-log-table tbody td,
:root[data-theme="dark"] #connectors-table tbody td,
:root[data-theme="dark"] #webhooks-table tbody td,
:root[data-theme="dark"] #webhook-deliveries-table tbody td,
:root[data-theme="dark"] #reports-schedule-table tbody td {
    background: var(--sage-surface) !important;
    color: var(--sage-text) !important;
    border-color: var(--sage-border-soft) !important;
}

html.dark-mode .documents-table tbody tr:nth-child(even) td,
html.dark-mode #content-page #content-table tbody tr:nth-child(even) td,
html.dark-mode #scopes-page #scopes-table tbody tr:nth-child(even) td,
html.dark-mode #chatbots-page #chatbots-table tbody tr:nth-child(even) td,
html.dark #content-page #content-table tbody tr:nth-child(even) td,
html.dark #scopes-page #scopes-table tbody tr:nth-child(even) td,
html.dark #chatbots-page #chatbots-table tbody tr:nth-child(even) td,
:root[data-theme="dark"] #content-page #content-table tbody tr:nth-child(even) td,
:root[data-theme="dark"] #scopes-page #scopes-table tbody tr:nth-child(even) td,
:root[data-theme="dark"] #chatbots-page #chatbots-table tbody tr:nth-child(even) td {
    background: var(--sage-row-even) !important;
}

html.dark-mode .documents-table tbody tr:hover td,
html.dark-mode #content-page #content-table tbody tr:hover td,
html.dark-mode #scopes-page #scopes-table tbody tr:hover td,
html.dark-mode #chatbots-page #chatbots-table tbody tr:hover td,
html.dark-mode #user-table tbody tr:hover td,
html.dark-mode #model-management-table tbody tr:hover td,
html.dark-mode #audit-log-table tbody tr:hover td,
html.dark .documents-table tbody tr:hover td,
html.dark #content-page #content-table tbody tr:hover td,
html.dark #scopes-page #scopes-table tbody tr:hover td,
html.dark #chatbots-page #chatbots-table tbody tr:hover td,
html.dark #user-table tbody tr:hover td,
html.dark #model-management-table tbody tr:hover td,
html.dark #audit-log-table tbody tr:hover td,
:root[data-theme="dark"] .documents-table tbody tr:hover td,
:root[data-theme="dark"] #content-page #content-table tbody tr:hover td,
:root[data-theme="dark"] #scopes-page #scopes-table tbody tr:hover td,
:root[data-theme="dark"] #chatbots-page #chatbots-table tbody tr:hover td,
:root[data-theme="dark"] #user-table tbody tr:hover td,
:root[data-theme="dark"] #model-management-table tbody tr:hover td,
:root[data-theme="dark"] #audit-log-table tbody tr:hover td {
    background: var(--sage-row-hover) !important;
    border-color: var(--sage-border) !important;
}

html.dark-mode .content-id-pill,
html.dark-mode .scope-id-pill,
html.dark-mode .chatbot-id-pill,
html.dark-mode .sage-id-pill,
html.dark .content-id-pill,
html.dark .scope-id-pill,
html.dark .chatbot-id-pill,
html.dark .sage-id-pill,
:root[data-theme="dark"] .content-id-pill,
:root[data-theme="dark"] .scope-id-pill,
:root[data-theme="dark"] .chatbot-id-pill,
:root[data-theme="dark"] .sage-id-pill {
    background: var(--sage-id-bg) !important;
    border-color: var(--sage-id-border) !important;
    color: var(--sage-id-text) !important;
}

html.dark-mode .scope-metric-link,
html.dark .scope-metric-link,
:root[data-theme="dark"] .scope-metric-link {
    color: var(--sage-text) !important;
}

html.dark-mode .scope-metric-link span,
html.dark .scope-metric-link span,
:root[data-theme="dark"] .scope-metric-link span,
html.dark-mode .table-link,
html.dark .table-link,
:root[data-theme="dark"] .table-link {
    color: var(--sage-muted) !important;
}

/* Dark-mode specificity repair for compact workbench overrides with page IDs. */
html.dark-mode #content-page .user-pagination-info,
html.dark-mode #scopes-page .user-pagination-info,
html.dark-mode #chatbots-page .user-pagination-info,
html.dark-mode #users-page .user-pagination-info,
html.dark-mode #model-management-page .user-pagination-info,
html.dark-mode #connectors-page .user-pagination-info,
html.dark-mode #webhooks-page .user-pagination-info,
html.dark-mode #audit-log-page .user-pagination-info,
html.dark-mode #reports-page .user-pagination-info,
html.dark #content-page .user-pagination-info,
html.dark #scopes-page .user-pagination-info,
html.dark #chatbots-page .user-pagination-info,
html.dark #users-page .user-pagination-info,
html.dark #model-management-page .user-pagination-info,
html.dark #connectors-page .user-pagination-info,
html.dark #webhooks-page .user-pagination-info,
html.dark #audit-log-page .user-pagination-info,
html.dark #reports-page .user-pagination-info,
:root[data-theme="dark"] #content-page .user-pagination-info,
:root[data-theme="dark"] #scopes-page .user-pagination-info,
:root[data-theme="dark"] #chatbots-page .user-pagination-info,
:root[data-theme="dark"] #users-page .user-pagination-info,
:root[data-theme="dark"] #model-management-page .user-pagination-info,
:root[data-theme="dark"] #connectors-page .user-pagination-info,
:root[data-theme="dark"] #webhooks-page .user-pagination-info,
:root[data-theme="dark"] #audit-log-page .user-pagination-info,
:root[data-theme="dark"] #reports-page .user-pagination-info,
html.dark-mode #content-page #content-table-container,
html.dark-mode #scopes-page #scopes-table-container,
html.dark-mode #chatbots-page #chatbots-table-container,
html.dark-mode #users-page #user-table-container,
html.dark-mode #model-management-page #model-management-table-container,
html.dark-mode #reports-page #reports-table-container,
html.dark-mode #code-management-page #code-table-container,
html.dark #content-page #content-table-container,
html.dark #scopes-page #scopes-table-container,
html.dark #chatbots-page #chatbots-table-container,
html.dark #users-page #user-table-container,
html.dark #model-management-page #model-management-table-container,
html.dark #reports-page #reports-table-container,
html.dark #code-management-page #code-table-container,
:root[data-theme="dark"] #content-page #content-table-container,
:root[data-theme="dark"] #scopes-page #scopes-table-container,
:root[data-theme="dark"] #chatbots-page #chatbots-table-container,
:root[data-theme="dark"] #users-page #user-table-container,
:root[data-theme="dark"] #model-management-page #model-management-table-container,
:root[data-theme="dark"] #reports-page #reports-table-container,
:root[data-theme="dark"] #code-management-page #code-table-container {
    background: var(--panel) !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
}

html.dark-mode .view-toggle,
html.dark .view-toggle,
:root[data-theme="dark"] .view-toggle {
    background: var(--panel) !important;
    border-color: var(--line) !important;
    box-shadow: var(--sage-app-shadow-inset-4) !important;
}

html.dark-mode .view-toggle .view-toggle-btn,
html.dark .view-toggle .view-toggle-btn,
:root[data-theme="dark"] .view-toggle .view-toggle-btn {
    background: transparent !important;
    color: var(--muted) !important;
    opacity: 1 !important;
}

html.dark-mode .view-toggle .view-toggle-btn svg,
html.dark .view-toggle .view-toggle-btn svg,
:root[data-theme="dark"] .view-toggle .view-toggle-btn svg {
    color: inherit !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html.dark-mode .view-toggle .view-toggle-btn:not(.active):hover,
html.dark-mode .view-toggle .view-toggle-btn:not(.active):focus-visible,
html.dark .view-toggle .view-toggle-btn:not(.active):hover,
html.dark .view-toggle .view-toggle-btn:not(.active):focus-visible,
:root[data-theme="dark"] .view-toggle .view-toggle-btn:not(.active):hover,
:root[data-theme="dark"] .view-toggle .view-toggle-btn:not(.active):focus-visible {
    background: var(--subtle-alt) !important;
    color: var(--ink) !important;
}

html.dark-mode .view-toggle .view-toggle-btn.active,
html.dark .view-toggle .view-toggle-btn.active,
:root[data-theme="dark"] .view-toggle .view-toggle-btn.active {
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    border-color: var(--primary) !important;
    box-shadow: var(--sage-app-shadow-ring-7) !important;
}


/* Dark-mode view-toggle legibility guard: inactive and active choices must remain readable even if token resolution fails. */
html.dark-mode .view-toggle .view-toggle-btn:not(.active),
html.dark .view-toggle .view-toggle-btn:not(.active),
:root[data-theme="dark"] .view-toggle .view-toggle-btn:not(.active),
html.dark-mode #content-list-controls-content .view-toggle-btn:not(.active),
html.dark-mode #scopes-list-controls-content .view-toggle-btn:not(.active),
html.dark-mode #chatbots-list-controls-content .view-toggle-btn:not(.active),
html.dark-mode #users-list-controls-content .view-toggle-btn:not(.active),
html.dark #content-list-controls-content .view-toggle-btn:not(.active),
html.dark #scopes-list-controls-content .view-toggle-btn:not(.active),
html.dark #chatbots-list-controls-content .view-toggle-btn:not(.active),
html.dark #users-list-controls-content .view-toggle-btn:not(.active),
:root[data-theme="dark"] #content-list-controls-content .view-toggle-btn:not(.active),
:root[data-theme="dark"] #scopes-list-controls-content .view-toggle-btn:not(.active),
:root[data-theme="dark"] #chatbots-list-controls-content .view-toggle-btn:not(.active),
:root[data-theme="dark"] #users-list-controls-content .view-toggle-btn:not(.active) {
    background: var(--sage-legacy-color-111827) !important;
    color: var(--sage-legacy-color-cbd5e1) !important;
    -webkit-text-fill-color: var(--sage-legacy-color-cbd5e1) !important;
    border-color: var(--sage-legacy-color-334155) !important;
    opacity: 1 !important;
}

html.dark-mode .view-toggle .view-toggle-btn:not(.active) svg,
html.dark .view-toggle .view-toggle-btn:not(.active) svg,
:root[data-theme="dark"] .view-toggle .view-toggle-btn:not(.active) svg {
    color: var(--sage-legacy-color-cbd5e1) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html.dark-mode .view-toggle .view-toggle-btn.active,
html.dark .view-toggle .view-toggle-btn.active,
:root[data-theme="dark"] .view-toggle .view-toggle-btn.active,
html.dark-mode #content-list-controls-content .view-toggle-btn.active,
html.dark-mode #scopes-list-controls-content .view-toggle-btn.active,
html.dark-mode #chatbots-list-controls-content .view-toggle-btn.active,
html.dark-mode #users-list-controls-content .view-toggle-btn.active,
html.dark #content-list-controls-content .view-toggle-btn.active,
html.dark #scopes-list-controls-content .view-toggle-btn.active,
html.dark #chatbots-list-controls-content .view-toggle-btn.active,
html.dark #users-list-controls-content .view-toggle-btn.active,
:root[data-theme="dark"] #content-list-controls-content .view-toggle-btn.active,
:root[data-theme="dark"] #scopes-list-controls-content .view-toggle-btn.active,
:root[data-theme="dark"] #chatbots-list-controls-content .view-toggle-btn.active,
:root[data-theme="dark"] #users-list-controls-content .view-toggle-btn.active {
    background: var(--primary) !important;
    /* White on the dark-theme primary is 3.67:1; --primary-ink is 4.84:1 on the same fill. */
    color: var(--primary-ink, var(--sage-legacy-color-0f172a)) !important;
    -webkit-text-fill-color: var(--primary-ink, var(--sage-legacy-color-0f172a)) !important;
    border-color: var(--primary) !important;
}

html.dark-mode .view-toggle .view-toggle-btn.active svg,
html.dark .view-toggle .view-toggle-btn.active svg,
:root[data-theme="dark"] .view-toggle .view-toggle-btn.active svg {
    color: var(--sage-legacy-color-ffffff) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}
/* Dark-mode completion pass for generated admin pages, modals, action menus, and controls. */
.sidebar-user-expandable-item.active,
.sidebar-user-expandable-content .sidebar-user-expandable-item.active {
    background: var(--primary, var(--primary)) !important;
    border-color: var(--primary, var(--primary)) !important;
    color: var(--primary-ink, var(--sage-legacy-color-ffffff)) !important;
}

.sidebar-user-expandable-item.active *,
.sidebar-user-expandable-content .sidebar-user-expandable-item.active * {
    color: var(--primary-ink, var(--sage-legacy-color-ffffff)) !important;
}

html.dark-mode .sidebar-user-expandable-item.active,
html.dark .sidebar-user-expandable-item.active,
:root[data-theme="dark"] .sidebar-user-expandable-item.active {
    background: var(--primary, var(--primary)) !important;
    border-color: var(--primary, var(--primary)) !important;
    color: var(--primary-ink, var(--sage-legacy-color-ffffff)) !important;
}

html.dark-mode .sidebar-user-expandable-item.active *,
html.dark .sidebar-user-expandable-item.active *,
:root[data-theme="dark"] .sidebar-user-expandable-item.active * {
    color: var(--primary-ink, var(--sage-legacy-color-ffffff)) !important;
}

html.dark-mode .sage-action-menu-panel,
html.dark-mode .action-menu-dropdown,
html.dark .sage-action-menu-panel,
html.dark .action-menu-dropdown,
:root[data-theme="dark"] .sage-action-menu-panel,
:root[data-theme="dark"] .action-menu-dropdown {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border: var(--sage-legacy-u-1) solid var(--line, var(--sage-legacy-color-334155)) !important;
    box-shadow: var(--sage-app-shadow-elevation-6-3) !important;
}

html.dark-mode .sage-action-menu-item,
html.dark-mode .sage-action-menu-item span,
html.dark-mode .action-menu-item,
html.dark-mode .action-menu-dropdown *,
html.dark .sage-action-menu-item,
html.dark .sage-action-menu-item span,
html.dark .action-menu-item,
html.dark .action-menu-dropdown *,
:root[data-theme="dark"] .sage-action-menu-item,
:root[data-theme="dark"] .sage-action-menu-item span,
:root[data-theme="dark"] .action-menu-item,
:root[data-theme="dark"] .action-menu-dropdown * {
    background: transparent !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
    opacity: 1 !important;
}

html.dark-mode .sage-action-menu-item svg,
html.dark .sage-action-menu-item svg,
:root[data-theme="dark"] .sage-action-menu-item svg {
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html.dark-mode .sage-action-menu-item:hover,
html.dark-mode .sage-action-menu-item:focus-visible,
html.dark-mode .action-menu-item:hover,
html.dark-mode .action-menu-item:focus-visible,
html.dark .sage-action-menu-item:hover,
html.dark .sage-action-menu-item:focus-visible,
html.dark .action-menu-item:hover,
html.dark .action-menu-item:focus-visible,
:root[data-theme="dark"] .sage-action-menu-item:hover,
:root[data-theme="dark"] .sage-action-menu-item:focus-visible,
:root[data-theme="dark"] .action-menu-item:hover,
:root[data-theme="dark"] .action-menu-item:focus-visible {
    background: var(--subtle-alt, var(--sage-legacy-color-1e293b)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .sage-action-menu-item[disabled],
html.dark-mode .sage-action-menu-item:disabled,
html.dark .sage-action-menu-item[disabled],
html.dark .sage-action-menu-item:disabled,
:root[data-theme="dark"] .sage-action-menu-item[disabled],
:root[data-theme="dark"] .sage-action-menu-item:disabled {
    color: var(--muted, var(--sage-legacy-color-94a3b8)) !important;
    opacity: 0.72 !important;
}

html.dark-mode .stat-icon,
html.dark .stat-icon,
:root[data-theme="dark"] .stat-icon {
    background: color-mix(in srgb, hsl(var(--info)) 15%, hsl(var(--card))) !important;
    color: var(--sage-text-info) !important;
    opacity: 1 !important;
}

html.dark-mode .stat-icon.primary,
html.dark .stat-icon.primary,
:root[data-theme="dark"] .stat-icon.primary {
    background: var(--sage-legacy-color-dbeafe) !important;
    color: var(--primary) !important;
}

html.dark-mode .stat-icon.success,
html.dark .stat-icon.success,
:root[data-theme="dark"] .stat-icon.success {
    background: var(--sage-legacy-color-dcfce7) !important;
    color: var(--sage-legacy-color-047857) !important;
}

html.dark-mode .stat-icon.warning,
html.dark .stat-icon.warning,
:root[data-theme="dark"] .stat-icon.warning {
    background: var(--sage-legacy-color-fef3c7) !important;
    color: var(--sage-legacy-color-b45309) !important;
}

html.dark-mode .stat-icon.error,
html.dark .stat-icon.error,
:root[data-theme="dark"] .stat-icon.error {
    background: var(--sage-legacy-color-fee2e2) !important;
    color: var(--sage-legacy-color-dc2626) !important;
}

html.dark-mode .chatbot-license-panel,
html.dark .chatbot-license-panel,
:root[data-theme="dark"] .chatbot-license-panel {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .chatbot-license-header h4,
html.dark-mode .chatbot-license-table td,
html.dark-mode .chatbot-license-policy-grid strong,
html.dark .chatbot-license-header h4,
html.dark .chatbot-license-table td,
html.dark .chatbot-license-policy-grid strong,
:root[data-theme="dark"] .chatbot-license-header h4,
:root[data-theme="dark"] .chatbot-license-table td,
:root[data-theme="dark"] .chatbot-license-policy-grid strong {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .chatbot-license-header p,
html.dark-mode .chatbot-license-policy-grid span,
html.dark .chatbot-license-header p,
html.dark .chatbot-license-policy-grid span,
:root[data-theme="dark"] .chatbot-license-header p,
:root[data-theme="dark"] .chatbot-license-policy-grid span {
    color: var(--muted, var(--sage-legacy-color-cbd5e1)) !important;
}

html.dark-mode .chatbot-license-policy-grid > div,
html.dark-mode .chatbot-license-table-wrap,
html.dark .chatbot-license-policy-grid > div,
html.dark .chatbot-license-table-wrap,
:root[data-theme="dark"] .chatbot-license-policy-grid > div,
:root[data-theme="dark"] .chatbot-license-table-wrap {
    background: var(--subtle, var(--sage-legacy-color-0f172a)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
}

html.dark-mode .chatbot-license-table th,
html.dark .chatbot-license-table th,
:root[data-theme="dark"] .chatbot-license-table th {
    background: var(--sage-legacy-color-374151) !important;
    color: var(--sage-legacy-color-ffffff) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
}

html.dark-mode .chatbot-license-table td,
html.dark .chatbot-license-table td,
:root[data-theme="dark"] .chatbot-license-table td {
    background: var(--sage-surface, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
}

html.dark-mode .license-domain-list span,
html.dark .license-domain-list span,
:root[data-theme="dark"] .license-domain-list span {
    background: var(--sage-legacy-alpha-37-99-235-0180) !important;
    color: var(--sage-legacy-color-bfdbfe) !important;
}

html.dark-mode .license-domain-warning,
html.dark .license-domain-warning,
:root[data-theme="dark"] .license-domain-warning {
    background: var(--sage-legacy-alpha-245-158-11-0160) !important;
    color: var(--sage-legacy-color-fde68a) !important;
}

html.dark-mode .chatbot-license-onetime,
html.dark .chatbot-license-onetime,
:root[data-theme="dark"] .chatbot-license-onetime {
    background: var(--sage-legacy-alpha-245-158-11-0120) !important;
    border-color: var(--sage-legacy-alpha-245-158-11-0620) !important;
    color: var(--sage-legacy-color-fde68a) !important;
}

html.dark-mode .chatbot-license-onetime strong,
html.dark-mode .chatbot-license-onetime p,
html.dark .chatbot-license-onetime strong,
html.dark .chatbot-license-onetime p,
:root[data-theme="dark"] .chatbot-license-onetime strong,
:root[data-theme="dark"] .chatbot-license-onetime p {
    color: var(--sage-legacy-color-fde68a) !important;
}

html.dark-mode .chatbot-license-onetime code,
html.dark .chatbot-license-onetime code,
:root[data-theme="dark"] .chatbot-license-onetime code {
    background: var(--sage-legacy-color-0f172a) !important;
    border-color: var(--sage-legacy-alpha-245-158-11-0460) !important;
    color: var(--sage-legacy-color-fef3c7) !important;
}

html.dark-mode .stat-icon.info,
html.dark .stat-icon.info,
:root[data-theme="dark"] .stat-icon.info {
    background: var(--sage-legacy-color-e0f2fe) !important;
    color: var(--sage-legacy-color-0284c7) !important;
}

html.dark-mode .stat-icon svg,
html.dark .stat-icon svg,
:root[data-theme="dark"] .stat-icon svg {
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

html.dark-mode #connectors-page,
html.dark-mode #webhooks-page,
html.dark-mode #audit-log-page,
html.dark-mode #model-management-page,
html.dark-mode #users-page,
html.dark #connectors-page,
html.dark #webhooks-page,
html.dark #audit-log-page,
html.dark #model-management-page,
html.dark #users-page,
:root[data-theme="dark"] #connectors-page,
:root[data-theme="dark"] #webhooks-page,
:root[data-theme="dark"] #audit-log-page,
:root[data-theme="dark"] #model-management-page,
:root[data-theme="dark"] #users-page {
    background: var(--bg, var(--sage-legacy-color-0f172a)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .sage-panel,
html.dark-mode .sage-panel-header,
html.dark-mode .sage-grid > *,
html.dark-mode .settings-section,
html.dark-mode .form-section,
html.dark-mode .reports-schedule-workflow-card,
html.dark-mode .scheduled-report-builder-step,
html.dark-mode .scheduled-report-history-grid div,
html.dark-mode .audit-log-timeline-summary article,
html.dark-mode .connector-readiness-workflow article,
html.dark-mode .connector-catalog-card,
html.dark-mode .connector-modal-guidance-card,
html.dark-mode .connector-card,
html.dark-mode .webhook-card,
html.dark-mode .channel-setup-card,
html.dark-mode fieldset,
html.dark .sage-panel,
html.dark .sage-panel-header,
html.dark .sage-grid > *,
html.dark .settings-section,
html.dark .form-section,
html.dark .reports-schedule-workflow-card,
html.dark .scheduled-report-builder-step,
html.dark .scheduled-report-history-grid div,
html.dark .audit-log-timeline-summary article,
html.dark .connector-readiness-workflow article,
html.dark .connector-catalog-card,
html.dark .connector-modal-guidance-card,
html.dark .connector-card,
html.dark .webhook-card,
html.dark .channel-setup-card,
html.dark fieldset,
:root[data-theme="dark"] .sage-panel,
:root[data-theme="dark"] .sage-panel-header,
:root[data-theme="dark"] .sage-grid > *,
:root[data-theme="dark"] .settings-section,
:root[data-theme="dark"] .form-section,
:root[data-theme="dark"] .reports-schedule-workflow-card,
:root[data-theme="dark"] .scheduled-report-builder-step,
:root[data-theme="dark"] .scheduled-report-history-grid div,
:root[data-theme="dark"] .audit-log-timeline-summary article,
:root[data-theme="dark"] .connector-readiness-workflow article,
:root[data-theme="dark"] .connector-catalog-card,
:root[data-theme="dark"] .connector-modal-guidance-card,
:root[data-theme="dark"] .connector-card,
:root[data-theme="dark"] .webhook-card,
:root[data-theme="dark"] .channel-setup-card,
:root[data-theme="dark"] fieldset {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .sage-panel h1,
html.dark-mode .sage-panel h2,
html.dark-mode .sage-panel h3,
html.dark-mode .sage-panel h4,
html.dark-mode .settings-section h1,
html.dark-mode .settings-section h2,
html.dark-mode .settings-section h3,
html.dark-mode .reports-schedule-workflow-card strong,
html.dark-mode .scheduled-report-step-heading strong,
html.dark-mode .scheduled-report-history-grid strong,
html.dark-mode .audit-log-timeline-summary strong,
html.dark-mode .connector-readiness-workflow strong,
html.dark-mode .connector-catalog-card strong,
html.dark-mode .connector-modal-guidance-card strong,
html.dark-mode .connector-preflight-grid ul,
html.dark-mode label,
html.dark-mode legend,
html.dark .sage-panel h1,
html.dark .sage-panel h2,
html.dark .sage-panel h3,
html.dark .sage-panel h4,
html.dark .settings-section h1,
html.dark .settings-section h2,
html.dark .settings-section h3,
html.dark .reports-schedule-workflow-card strong,
html.dark .scheduled-report-step-heading strong,
html.dark .scheduled-report-history-grid strong,
html.dark .audit-log-timeline-summary strong,
html.dark .connector-readiness-workflow strong,
html.dark .connector-catalog-card strong,
html.dark .connector-modal-guidance-card strong,
html.dark .connector-preflight-grid ul,
html.dark label,
html.dark legend,
:root[data-theme="dark"] .sage-panel h1,
:root[data-theme="dark"] .sage-panel h2,
:root[data-theme="dark"] .sage-panel h3,
:root[data-theme="dark"] .sage-panel h4,
:root[data-theme="dark"] .settings-section h1,
:root[data-theme="dark"] .settings-section h2,
:root[data-theme="dark"] .settings-section h3,
:root[data-theme="dark"] .reports-schedule-workflow-card strong,
:root[data-theme="dark"] .scheduled-report-step-heading strong,
:root[data-theme="dark"] .scheduled-report-history-grid strong,
:root[data-theme="dark"] .audit-log-timeline-summary strong,
:root[data-theme="dark"] .connector-readiness-workflow strong,
:root[data-theme="dark"] .connector-catalog-card strong,
:root[data-theme="dark"] .connector-modal-guidance-card strong,
:root[data-theme="dark"] .connector-preflight-grid ul,
:root[data-theme="dark"] label,
:root[data-theme="dark"] legend {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .sage-panel p,
html.dark-mode .sage-panel small,
html.dark-mode .reports-schedule-workflow-card small,
html.dark-mode .scheduled-report-step-heading small,
html.dark-mode .scheduled-report-history-grid span,
html.dark-mode .audit-log-timeline-summary span,
html.dark-mode .audit-log-timeline-summary small,
html.dark-mode .connector-readiness-workflow small,
html.dark-mode .connector-catalog-card small,
html.dark-mode .connector-modal-guidance-card small,
html.dark-mode .connector-preflight-grid span,
html.dark-mode .connector-catalog-card p,
html.dark-mode .connector-modal-guidance-card p,
html.dark-mode .form-hint,
html.dark-mode .help-text,
html.dark .sage-panel p,
html.dark .sage-panel small,
html.dark .reports-schedule-workflow-card small,
html.dark .scheduled-report-step-heading small,
html.dark .scheduled-report-history-grid span,
html.dark .audit-log-timeline-summary span,
html.dark .audit-log-timeline-summary small,
html.dark .connector-readiness-workflow small,
html.dark .connector-catalog-card small,
html.dark .connector-modal-guidance-card small,
html.dark .connector-preflight-grid span,
html.dark .connector-catalog-card p,
html.dark .connector-modal-guidance-card p,
html.dark .form-hint,
html.dark .help-text,
:root[data-theme="dark"] .sage-panel p,
:root[data-theme="dark"] .sage-panel small,
:root[data-theme="dark"] .reports-schedule-workflow-card small,
:root[data-theme="dark"] .scheduled-report-step-heading small,
:root[data-theme="dark"] .scheduled-report-history-grid span,
:root[data-theme="dark"] .audit-log-timeline-summary span,
:root[data-theme="dark"] .audit-log-timeline-summary small,
:root[data-theme="dark"] .connector-readiness-workflow small,
:root[data-theme="dark"] .connector-catalog-card small,
:root[data-theme="dark"] .connector-modal-guidance-card small,
:root[data-theme="dark"] .connector-preflight-grid span,
:root[data-theme="dark"] .connector-catalog-card p,
:root[data-theme="dark"] .connector-modal-guidance-card p,
:root[data-theme="dark"] .form-hint,
:root[data-theme="dark"] .help-text {
    color: var(--muted, var(--sage-legacy-color-94a3b8)) !important;
}

html.dark-mode .modal .modal-content,
html.dark-mode .modal-content,
html.dark-mode .modal-header,
html.dark-mode .modal-body,
html.dark-mode .column-management-modal .modal-content,
html.dark-mode .column-management-modal .modal-header,
html.dark-mode .column-management-modal .modal-body,
html.dark .modal .modal-content,
html.dark .modal-content,
html.dark .modal-header,
html.dark .modal-body,
html.dark .column-management-modal .modal-content,
html.dark .column-management-modal .modal-header,
html.dark .column-management-modal .modal-body,
:root[data-theme="dark"] .modal .modal-content,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .modal-header,
:root[data-theme="dark"] .modal-body,
:root[data-theme="dark"] .column-management-modal .modal-content,
:root[data-theme="dark"] .column-management-modal .modal-header,
:root[data-theme="dark"] .column-management-modal .modal-body {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .modal-footer,
html.dark-mode .column-management-modal .modal-footer,
html.dark .modal-footer,
html.dark .column-management-modal .modal-footer,
:root[data-theme="dark"] .modal-footer,
:root[data-theme="dark"] .column-management-modal .modal-footer {
    background: var(--subtle, var(--sage-legacy-color-0f172a)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

/* Dark mode for the shared modal tab idiom: the workbench-refinement layer pins the
   strip/buttons to light colors with !important and has no dark counterpart, leaving a
   light band inside dark dialogs (embed surface tabs, scope modal, chatbot form tabs). */
html.dark-mode #chatbot-form .admin-tabs,
html.dark-mode .scope-modal-tabs,
html.dark #chatbot-form .admin-tabs,
html.dark .scope-modal-tabs,
:root[data-theme="dark"] #chatbot-form .admin-tabs,
:root[data-theme="dark"] .scope-modal-tabs {
    background: var(--subtle, var(--sage-legacy-color-0f172a)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
}
html.dark-mode #chatbot-form .admin-tab-btn,
html.dark-mode .scope-tab-btn,
html.dark #chatbot-form .admin-tab-btn,
html.dark .scope-tab-btn,
:root[data-theme="dark"] #chatbot-form .admin-tab-btn,
:root[data-theme="dark"] .scope-tab-btn {
    color: var(--muted, var(--sage-legacy-color-94a3b8)) !important; /* 6.92:1 on var(--sage-legacy-color-111827) */
}
html.dark-mode #chatbot-form .admin-tab-btn.active,
html.dark-mode .scope-tab-btn.active,
html.dark #chatbot-form .admin-tab-btn.active,
html.dark .scope-tab-btn.active,
:root[data-theme="dark"] #chatbot-form .admin-tab-btn.active,
:root[data-theme="dark"] .scope-tab-btn.active {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    color: var(--sage-legacy-color-60a5fa) !important; /* 6.98:1 on var(--sage-legacy-color-111827) (WCAG AA) */
    border: var(--sage-legacy-u-1) solid var(--line, var(--sage-legacy-color-334155)) !important;
    box-shadow: none !important;
}
/* Same class as DEF-0013: the light row stripe (§9855) has no dark counterpart, so
   striped rows render near-white under light ink in dark mode across these tables. */
html.dark-mode #chatbots-table tbody tr:nth-child(even),
html.dark-mode #scopes-table tbody tr:nth-child(even),
html.dark-mode .scope-content-table tbody tr:nth-child(even),
html.dark-mode .users-table tbody tr:nth-child(even),
html.dark-mode .model-config-table tbody tr:nth-child(even),
html.dark #chatbots-table tbody tr:nth-child(even),
html.dark #scopes-table tbody tr:nth-child(even),
html.dark .scope-content-table tbody tr:nth-child(even),
html.dark .users-table tbody tr:nth-child(even),
html.dark .model-config-table tbody tr:nth-child(even),
:root[data-theme="dark"] #chatbots-table tbody tr:nth-child(even),
:root[data-theme="dark"] #scopes-table tbody tr:nth-child(even),
:root[data-theme="dark"] .scope-content-table tbody tr:nth-child(even),
:root[data-theme="dark"] .users-table tbody tr:nth-child(even),
:root[data-theme="dark"] .model-config-table tbody tr:nth-child(even) {
    background: var(--sage-legacy-alpha-30-41-59-0550) !important;
}

/* DEF-0013: the refinement layer also pins the tab PANEL backgrounds to white —
   dark counterparts so panel content (light ink, translucent status tints) sits on
   a dark surface in dark mode. */
html.dark-mode #chatbot-form .admin-tab-content.active,
html.dark-mode .scope-tab-panel.active,
html.dark-mode #scope-panel-details,
html.dark-mode #scope-panel-content,
html.dark #chatbot-form .admin-tab-content.active,
html.dark .scope-tab-panel.active,
html.dark #scope-panel-details,
html.dark #scope-panel-content,
:root[data-theme="dark"] #chatbot-form .admin-tab-content.active,
:root[data-theme="dark"] .scope-tab-panel.active,
:root[data-theme="dark"] #scope-panel-details,
:root[data-theme="dark"] #scope-panel-content {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
}

html.dark-mode .modal h1,
html.dark-mode .modal h2,
html.dark-mode .modal h3,
html.dark-mode .modal h4,
html.dark-mode .modal label,
html.dark-mode .modal legend,
html.dark-mode .sage-modal-heading h1,
html.dark-mode .sage-modal-heading h2,
html.dark-mode .sage-modal-heading h3,
html.dark .modal h1,
html.dark .modal h2,
html.dark .modal h3,
html.dark .modal h4,
html.dark .modal label,
html.dark .modal legend,
html.dark .sage-modal-heading h1,
html.dark .sage-modal-heading h2,
html.dark .sage-modal-heading h3,
:root[data-theme="dark"] .modal h1,
:root[data-theme="dark"] .modal h2,
:root[data-theme="dark"] .modal h3,
:root[data-theme="dark"] .modal h4,
:root[data-theme="dark"] .modal label,
:root[data-theme="dark"] .modal legend,
:root[data-theme="dark"] .sage-modal-heading h1,
:root[data-theme="dark"] .sage-modal-heading h2,
:root[data-theme="dark"] .sage-modal-heading h3 {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .modal p,
html.dark-mode .modal small,
html.dark-mode .modal .help-text,
html.dark-mode .sage-modal-heading p,
html.dark .modal p,
html.dark .modal small,
html.dark .modal .help-text,
html.dark .sage-modal-heading p,
:root[data-theme="dark"] .modal p,
:root[data-theme="dark"] .modal small,
:root[data-theme="dark"] .modal .help-text,
:root[data-theme="dark"] .sage-modal-heading p {
    color: var(--muted, var(--sage-legacy-color-94a3b8)) !important;
}

html.dark-mode .modal input,
html.dark-mode .modal select,
html.dark-mode .modal textarea,
html.dark-mode .modal .form-input,
html.dark-mode .modal .form-control,
html.dark-mode .column-management-modal input,
html.dark-mode .column-management-modal select,
html.dark-mode .column-management-modal textarea,
html.dark .modal input,
html.dark .modal select,
html.dark .modal textarea,
html.dark .modal .form-input,
html.dark .modal .form-control,
html.dark .column-management-modal input,
html.dark .column-management-modal select,
html.dark .column-management-modal textarea,
:root[data-theme="dark"] .modal input,
:root[data-theme="dark"] .modal select,
:root[data-theme="dark"] .modal textarea,
:root[data-theme="dark"] .modal .form-input,
:root[data-theme="dark"] .modal .form-control,
:root[data-theme="dark"] .column-management-modal input,
:root[data-theme="dark"] .column-management-modal select,
:root[data-theme="dark"] .column-management-modal textarea {
    background: var(--field, var(--sage-legacy-color-0f172a)) !important;
    border-color: var(--line-strong, var(--sage-legacy-color-475569)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .modal input::placeholder,
html.dark-mode .modal textarea::placeholder,
html.dark .modal input::placeholder,
html.dark .modal textarea::placeholder,
:root[data-theme="dark"] .modal input::placeholder,
:root[data-theme="dark"] .modal textarea::placeholder {
    color: var(--muted, var(--sage-legacy-color-94a3b8)) !important;
    opacity: 1 !important;
}

html.dark-mode input:-webkit-autofill,
html.dark-mode textarea:-webkit-autofill,
html.dark-mode select:-webkit-autofill,
html.dark input:-webkit-autofill,
html.dark textarea:-webkit-autofill,
html.dark select:-webkit-autofill,
:root[data-theme="dark"] input:-webkit-autofill,
:root[data-theme="dark"] textarea:-webkit-autofill,
:root[data-theme="dark"] select:-webkit-autofill {
    -webkit-box-shadow: var(--sage-app-shadow-inset-5) !important;
    -webkit-text-fill-color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
    caret-color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .modal-close,
html.dark-mode .close-btn,
html.dark .modal-close,
html.dark .close-btn,
:root[data-theme="dark"] .modal-close,
:root[data-theme="dark"] .close-btn {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
    opacity: 1 !important;
}

html.dark-mode .modal-close svg,
html.dark-mode .close-btn svg,
html.dark .modal-close svg,
html.dark .close-btn svg,
:root[data-theme="dark"] .modal-close svg,
:root[data-theme="dark"] .close-btn svg {
    stroke: currentColor !important;
    color: currentColor !important;
}

html.dark-mode .sage-column-section,
html.dark-mode .column-item,
html.dark .sage-column-section,
html.dark .column-item,
:root[data-theme="dark"] .sage-column-section,
:root[data-theme="dark"] .column-item {
    background: var(--panel, var(--sage-legacy-color-111827)) !important;
    border-color: var(--line, var(--sage-legacy-color-334155)) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .sage-column-section h4,
html.dark-mode .column-item,
html.dark-mode .column-item span,
html.dark .sage-column-section h4,
html.dark .column-item,
html.dark .column-item span,
:root[data-theme="dark"] .sage-column-section h4,
:root[data-theme="dark"] .column-item,
:root[data-theme="dark"] .column-item span {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode #confirm-modal .sage-confirm-panel,
html.dark-mode #confirm-modal .warning-panel,
html.dark-mode .error-panel,
html.dark .warning-panel,
html.dark .error-panel,
:root[data-theme="dark"] #confirm-modal .sage-confirm-panel,
:root[data-theme="dark"] #confirm-modal .warning-panel,
:root[data-theme="dark"] .error-panel {
    background: var(--sage-legacy-alpha-127-29-29-0280) !important;
    border-color: var(--sage-legacy-alpha-248-113-113-0720) !important;
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode #confirm-modal-message,
html.dark-mode .error-message-text,
html.dark-mode .notification-message,
html.dark-mode .sage-message-bar,
html.dark #confirm-modal-message,
html.dark .error-message-text,
html.dark .notification-message,
html.dark .sage-message-bar,
:root[data-theme="dark"] #confirm-modal-message,
:root[data-theme="dark"] .error-message-text,
:root[data-theme="dark"] .notification-message,
:root[data-theme="dark"] .sage-message-bar {
    color: var(--ink, var(--sage-legacy-color-f8fafc)) !important;
}

html.dark-mode .reports-schedule-step,
html.dark-mode .scheduled-report-step-heading span,
html.dark .reports-schedule-step,
html.dark .scheduled-report-step-heading span,
:root[data-theme="dark"] .reports-schedule-step,
:root[data-theme="dark"] .scheduled-report-step-heading span {
    background: var(--sage-legacy-alpha-37-99-235-0180) !important;
    border-color: var(--sage-legacy-alpha-96-165-250-0720) !important;
    color: var(--sage-legacy-color-bfdbfe) !important;
}

html.dark-mode .status-error-text,
html.dark .status-error-text,
:root[data-theme="dark"] .status-error-text {
    color: var(--sage-legacy-color-fca5a5) !important;
}

/* Wave 1 Chatbot Builder cockpit: compact workflow summary, live preview, and sticky actions. */
#chatbot-form .chatbot-builder-cockpit {
    /* Hub only — the live preview moved to the persistent workspace rail */
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.85rem !important;
    align-items: stretch !important;
    margin: 0 0 0.85rem !important;
}

/* Chatbot builder workspace: tabs + ONLY the active panel on the left (the panel
   region is the single scrolling area — Sage modal standard: a stable frame where
   activating a tab changes what the user actually sees), live preview right rail. */
.sage-task-surface-modal .modal-body:has(.chatbot-builder-workspace) {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}
#chatbot-form.chatbot-builder-layout {
    flex: 1 1 auto;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
}
.chatbot-builder-workspace {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(var(--sage-legacy-u-300), var(--sage-legacy-u-360));
    gap: var(--spacing-lg);
    align-items: stretch;
}
.chatbot-builder-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
}
.chatbot-builder-main .chatbot-modal-tabs {
    flex: 0 0 auto;
    margin-bottom: 0 !important;
}
.chatbot-builder-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: var(--spacing-md) var(--sage-legacy-u-2) 0 0;
}
.chatbot-builder-workspace > .chatbot-builder-preview {
    min-height: 0;
    overflow-y: auto;
    align-self: stretch;
    position: relative;
}

/* Collapsible preview rail: collapsed = a slim strip with a vertical Expand control */
.chatbot-builder-preview-collapse {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-6);
    border-radius: var(--sage-legacy-u-6);
}
.chatbot-builder-preview-collapse:hover,
.chatbot-builder-preview-collapse:focus-visible {
    background: var(--sage-legacy-alpha-255-255-255-0180);
    outline: var(--sage-legacy-u-2) solid currentColor;
    outline-offset: var(--sage-legacy-u-1);
}
.chatbot-builder-preview-expand {
    display: none;
}
.chatbot-builder-workspace.preview-collapsed {
    grid-template-columns: minmax(0, 1fr) var(--sage-legacy-u-44);
}
.chatbot-builder-workspace.preview-collapsed > .chatbot-builder-preview {
    overflow: hidden;
    padding: 0;
}
.chatbot-builder-workspace.preview-collapsed > .chatbot-builder-preview > :not(.chatbot-builder-preview-expand) {
    display: none !important;
}
.chatbot-builder-workspace.preview-collapsed .chatbot-builder-preview-expand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    writing-mode: vertical-rl;
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-10);
    background: var(--bg-secondary, var(--sage-legacy-color-f1f5f9));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    cursor: pointer;
}
.chatbot-builder-preview-expand:hover,
.chatbot-builder-preview-expand:focus-visible {
    border-color: var(--primary);
    outline: none;
}
@media (max-width: 68.75rem) {
    .sage-task-surface-modal .modal-body:has(.chatbot-builder-workspace) {
        overflow: auto !important;
    }
    .chatbot-builder-workspace {
        grid-template-columns: minmax(0, 1fr);
    }
    .chatbot-builder-panels {
        overflow-y: visible;
    }
    .chatbot-builder-workspace > .chatbot-builder-preview {
        order: 2;
        max-height: var(--sage-legacy-u-420);
    }
}

.chatbot-builder-status-panel,
.chatbot-builder-preview {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-8) !important;
}

.chatbot-builder-status-panel {
    padding: 0.9rem !important;
}

.chatbot-builder-panel-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    margin-bottom: 0.8rem !important;
}

.chatbot-builder-panel-heading h3 {
    margin: 0 0 0.2rem !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.chatbot-builder-panel-heading p {
    margin: 0 !important;
    max-width: 66ch !important;
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
}

.chatbot-builder-state-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: var(--sage-legacy-u-88) !important;
    padding: 0.28rem 0.55rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--primary) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.chatbot-builder-state-chip.is-ready,
.chatbot-builder-status-card strong.is-ready {
    border-color: var(--sage-legacy-color-bbf7d0) !important;
    background: var(--sage-legacy-color-dcfce7) !important;
    color: var(--sage-legacy-color-166534) !important;
}

.chatbot-builder-state-chip.is-warning,
.chatbot-builder-status-card strong.is-warning {
    border-color: var(--sage-legacy-color-fed7aa) !important;
    background: var(--sage-legacy-color-fff7ed) !important;
    color: var(--sage-legacy-color-9a3412) !important;
}

.chatbot-builder-state-chip.is-muted,
.chatbot-builder-status-card strong.is-muted {
    border-color: var(--sage-legacy-color-e2e8f0) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
    color: var(--sage-legacy-color-475569) !important;
}

.chatbot-builder-next-action {
    margin: 0 0 0.7rem !important;
    padding: 0.55rem 0.7rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--sage-legacy-color-1e3a8a) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}

.chatbot-builder-readiness {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
    margin-top: 0.7rem !important;
}

.chatbot-builder-readiness-item {
    display: grid !important;
    gap: 0.14rem !important;
    padding: 0.55rem 0.65rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-fed7aa) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-fff7ed) !important;
}

.chatbot-builder-readiness-item strong {
    color: var(--sage-legacy-color-9a3412) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
}

.chatbot-builder-readiness-item span {
    color: var(--sage-legacy-color-7c2d12) !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
}

.chatbot-builder-readiness-item.is-ready {
    border-color: var(--sage-legacy-color-bbf7d0) !important;
    background: var(--sage-legacy-color-f0fdf4) !important;
}

.chatbot-builder-readiness-item.is-ready strong {
    color: var(--sage-legacy-color-166534) !important;
}

.chatbot-builder-readiness-item.is-ready span {
    color: var(--sage-legacy-color-14532d) !important;
}
.chatbot-builder-status-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
}

.chatbot-builder-status-card {
    display: grid !important;
    gap: 0.25rem !important;
    min-height: var(--sage-legacy-u-58) !important;
    padding: 0.6rem 0.7rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbeafe) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
    color: var(--sage-legacy-color-0f172a) !important;
    text-align: left !important;
    cursor: pointer !important;
}

.chatbot-builder-status-card:hover,
.chatbot-builder-status-card:focus-visible {
    border-color: var(--sage-legacy-color-93c5fd) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    outline: none !important;
    box-shadow: var(--sage-app-shadow-ring-8) !important;
}

.chatbot-builder-status-card span {
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

.chatbot-builder-status-card strong {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 0.18rem 0.45rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.chatbot-builder-preview {
    display: flex !important;
    flex-direction: column !important;
    min-height: var(--sage-legacy-u-220) !important;
    overflow: hidden !important;
}

.chatbot-builder-preview-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.75rem 0.9rem !important;
    background: linear-gradient(135deg, var(--primary), var(--sage-legacy-color-7c3aed)) !important;
    color: var(--sage-legacy-color-ffffff) !important;
    font-weight: 700 !important;
}

.chatbot-builder-preview-header span:first-child,
.chatbot-builder-preview-header span:last-child {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.chatbot-builder-preview-header span:last-child {
    padding: 0.18rem 0.45rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-alpha-255-255-255-0180) !important;
    font-size: 0.72rem !important;
}

.chatbot-builder-preview-body {
    display: grid !important;
    gap: 0.55rem !important;
    flex: 1 !important;
    align-content: start !important;
    padding: 0.85rem !important;
    background: var(--sage-legacy-color-f8fafc) !important;
}

.chatbot-builder-preview-user,
.chatbot-builder-preview-bot {
    max-width: 86% !important;
    padding: 0.55rem 0.7rem !important;
    border-radius: var(--sage-legacy-u-10) !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
}

.chatbot-builder-preview-user {
    justify-self: end !important;
    background: linear-gradient(135deg, var(--primary), var(--sage-legacy-color-7c3aed)) !important;
    color: var(--sage-legacy-color-ffffff) !important;
}

.chatbot-builder-preview-bot {
    justify-self: start !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
    background: var(--sage-legacy-color-ffffff) !important;
    color: var(--sage-legacy-color-0f172a) !important;
}

.chatbot-builder-preview-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    padding: 0.65rem 0.85rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-e2e8f0) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.chatbot-builder-preview-meta span {
    display: inline-flex !important;
    max-width: 100% !important;
    padding: 0.18rem 0.45rem !important;
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    color: var(--primary) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#chatbot-form .chatbot-builder-footer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: var(--sage-app-layer-sticky) !important;
    margin-top: 0.9rem !important;
    padding: 0.75rem 0.9rem !important;
    border-top: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    background: var(--sage-legacy-alpha-255-255-255-0960) !important;
    backdrop-filter: blur(var(--sage-legacy-u-8)) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-9) !important;
}

html.dark-mode #chatbot-form .chatbot-builder-cockpit,
html.dark #chatbot-form .chatbot-builder-cockpit,
:root[data-theme="dark"] #chatbot-form .chatbot-builder-cockpit {
    color: var(--sage-legacy-color-e5e7eb) !important;
}

html.dark-mode .chatbot-builder-status-panel,
html.dark-mode .chatbot-builder-preview,
html.dark .chatbot-builder-status-panel,
html.dark .chatbot-builder-preview,
:root[data-theme="dark"] .chatbot-builder-status-panel,
:root[data-theme="dark"] .chatbot-builder-preview {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
    box-shadow: var(--sage-app-shadow-elevation-5-6) !important;
}

html.dark-mode .chatbot-builder-panel-heading h3,
html.dark-mode .chatbot-builder-status-card,
html.dark .chatbot-builder-panel-heading h3,
html.dark .chatbot-builder-status-card,
:root[data-theme="dark"] .chatbot-builder-panel-heading h3,
:root[data-theme="dark"] .chatbot-builder-status-card {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .chatbot-builder-panel-heading p,
html.dark-mode .chatbot-builder-status-card span,
html.dark .chatbot-builder-panel-heading p,
html.dark .chatbot-builder-status-card span,
:root[data-theme="dark"] .chatbot-builder-panel-heading p,
:root[data-theme="dark"] .chatbot-builder-status-card span {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .chatbot-builder-next-action,
html.dark .chatbot-builder-next-action,
:root[data-theme="dark"] .chatbot-builder-next-action {
    border-color: var(--primary) !important;
    background: var(--sage-legacy-alpha-37-99-235-0160) !important;
    color: var(--sage-legacy-color-bfdbfe) !important;
}

html.dark-mode .chatbot-builder-readiness-item,
html.dark .chatbot-builder-readiness-item,
:root[data-theme="dark"] .chatbot-builder-readiness-item {
    border-color: var(--sage-legacy-color-fb923c) !important;
    background: var(--sage-legacy-alpha-251-146-60-0120) !important;
}

html.dark-mode .chatbot-builder-readiness-item strong,
html.dark .chatbot-builder-readiness-item strong,
:root[data-theme="dark"] .chatbot-builder-readiness-item strong {
    color: var(--sage-legacy-color-fed7aa) !important;
}

html.dark-mode .chatbot-builder-readiness-item span,
html.dark .chatbot-builder-readiness-item span,
:root[data-theme="dark"] .chatbot-builder-readiness-item span {
    color: var(--sage-legacy-color-ffedd5) !important;
}

html.dark-mode .chatbot-builder-readiness-item.is-ready,
html.dark .chatbot-builder-readiness-item.is-ready,
:root[data-theme="dark"] .chatbot-builder-readiness-item.is-ready {
    border-color: var(--sage-legacy-color-22c55e) !important;
    background: var(--sage-legacy-alpha-22-163-74-0140) !important;
}

html.dark-mode .chatbot-builder-readiness-item.is-ready strong,
html.dark .chatbot-builder-readiness-item.is-ready strong,
:root[data-theme="dark"] .chatbot-builder-readiness-item.is-ready strong {
    color: var(--sage-legacy-color-bbf7d0) !important;
}

html.dark-mode .chatbot-builder-readiness-item.is-ready span,
html.dark .chatbot-builder-readiness-item.is-ready span,
:root[data-theme="dark"] .chatbot-builder-readiness-item.is-ready span {
    color: var(--sage-legacy-color-dcfce7) !important;
}
html.dark-mode .chatbot-builder-status-card,
html.dark .chatbot-builder-status-card,
:root[data-theme="dark"] .chatbot-builder-status-card {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-0f172a) !important;
}

html.dark-mode .chatbot-builder-status-card:hover,
html.dark-mode .chatbot-builder-status-card:focus-visible,
html.dark .chatbot-builder-status-card:hover,
html.dark .chatbot-builder-status-card:focus-visible,
:root[data-theme="dark"] .chatbot-builder-status-card:hover,
:root[data-theme="dark"] .chatbot-builder-status-card:focus-visible {
    border-color: var(--sage-legacy-color-60a5fa) !important;
    background: var(--sage-legacy-color-172033) !important;
    box-shadow: var(--sage-app-shadow-ring-9) !important;
}

html.dark-mode .chatbot-builder-status-card strong,
html.dark .chatbot-builder-status-card strong,
:root[data-theme="dark"] .chatbot-builder-status-card strong {
    border-color: var(--sage-legacy-color-475569) !important;
    background: var(--sage-legacy-color-1e293b) !important;
    color: var(--sage-legacy-color-e5e7eb) !important;
}

html.dark-mode .chatbot-builder-status-card strong.is-ready,
html.dark-mode .chatbot-builder-state-chip.is-ready,
html.dark .chatbot-builder-status-card strong.is-ready,
html.dark .chatbot-builder-state-chip.is-ready,
:root[data-theme="dark"] .chatbot-builder-status-card strong.is-ready,
:root[data-theme="dark"] .chatbot-builder-state-chip.is-ready {
    border-color: var(--sage-legacy-color-16a34a) !important;
    background: var(--sage-legacy-alpha-22-163-74-0180) !important;
    color: var(--sage-legacy-color-bbf7d0) !important;
}

html.dark-mode .chatbot-builder-status-card strong.is-warning,
html.dark-mode .chatbot-builder-state-chip.is-warning,
html.dark .chatbot-builder-status-card strong.is-warning,
html.dark .chatbot-builder-state-chip.is-warning,
:root[data-theme="dark"] .chatbot-builder-status-card strong.is-warning,
:root[data-theme="dark"] .chatbot-builder-state-chip.is-warning {
    border-color: var(--sage-legacy-color-fb923c) !important;
    background: var(--sage-legacy-alpha-251-146-60-0170) !important;
    color: var(--sage-legacy-color-fed7aa) !important;
}

html.dark-mode .chatbot-builder-preview-body,
html.dark .chatbot-builder-preview-body,
:root[data-theme="dark"] .chatbot-builder-preview-body {
    background: var(--sage-legacy-color-0f172a) !important;
}

html.dark-mode .chatbot-builder-preview-bot,
html.dark .chatbot-builder-preview-bot,
:root[data-theme="dark"] .chatbot-builder-preview-bot {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .chatbot-builder-preview-meta,
html.dark .chatbot-builder-preview-meta,
:root[data-theme="dark"] .chatbot-builder-preview-meta {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
}

html.dark-mode .chatbot-builder-preview-meta span,
html.dark .chatbot-builder-preview-meta span,
:root[data-theme="dark"] .chatbot-builder-preview-meta span {
    background: var(--sage-legacy-alpha-37-99-235-0240) !important;
    color: var(--sage-legacy-color-bfdbfe) !important;
}

html.dark-mode #chatbot-form .chatbot-builder-footer,
html.dark #chatbot-form .chatbot-builder-footer,
:root[data-theme="dark"] #chatbot-form .chatbot-builder-footer {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-alpha-15-23-42-0960) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-10) !important;
}

@media (max-width: 61.25rem) {
    #chatbot-form .chatbot-builder-cockpit {
        grid-template-columns: 1fr !important;
    }

    .chatbot-builder-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 35rem) {
    .chatbot-builder-panel-heading {
        display: grid !important;
    }

    .chatbot-builder-readiness {
        grid-template-columns: 1fr !important;
    }

    .chatbot-builder-status-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Persona Studio */
.persona-studio {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-radius: var(--sage-legacy-u-12) !important;
    background: linear-gradient(135deg, var(--sage-legacy-color-eff6ff) 0%, var(--sage-legacy-color-ffffff) 60%, var(--sage-legacy-color-f8fafc) 100%) !important;
    padding: var(--sage-legacy-u-16) !important;
    margin: var(--sage-legacy-u-14) 0 !important;
    display: grid !important;
    gap: var(--sage-legacy-u-14) !important;
}

/* AI-02 persona generation (review-only). Uses theme variables so it stays
   legible in light and dark mode. */
.persona-generate {
    padding: 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-10);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}
.persona-generate-head { display: flex; flex-direction: column; gap: 0.15rem; margin-bottom: 0.5rem; }
.persona-generate-head strong { color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.persona-generate-head span { font-size: 0.8rem; color: var(--text-secondary, var(--sage-legacy-color-64748b)); }
.persona-generate-brief { width: 100%; margin-bottom: 0.5rem; }
.persona-generate-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.persona-generate-review { margin-top: 0.75rem; border-top: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-e2e8f0)); padding-top: 0.75rem; }
.persona-generate-preview { background: var(--bg-tertiary, var(--sage-legacy-color-eef2f7)); border-radius: var(--sage-legacy-u-8); padding: 0.5rem 0.75rem; }
.persona-generate-tone-q { font-weight: 600; margin: 0 0 0.25rem; color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.persona-generate-tone-after { margin: 0; color: var(--text-secondary, var(--sage-legacy-color-475569)); }
.persona-generate-fields { list-style: none; margin: 0.5rem 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 0.75rem; }
.persona-generate-fields li { display: flex; flex-direction: column; font-size: 0.85rem; }
.persona-generate-fields span { color: var(--text-secondary, var(--sage-legacy-color-64748b)); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.03em; }
.persona-generate-fields strong { color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.persona-generate-note { font-size: 0.75rem; color: var(--text-secondary, var(--sage-legacy-color-64748b)); margin: 0.5rem 0 0; }

.persona-studio-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: var(--sage-legacy-u-12) !important;
}

.persona-studio-header h4 {
    margin: 0 0 var(--sage-legacy-u-4) !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 1rem !important;
}

.persona-studio-header p,
.persona-studio-card p,
.persona-studio-sample p {
    margin: 0 !important;
    color: var(--sage-legacy-color-475569) !important;
    line-height: 1.45 !important;
}

.persona-studio-pill {
    border-radius: var(--sage-legacy-u-999) !important;
    background: var(--sage-legacy-color-dbeafe) !important;
    color: var(--primary) !important;
    font-weight: 700 !important;
    font-size: 0.78rem !important;
    padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10) !important;
    white-space: nowrap !important;
}

.persona-studio-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--sage-legacy-u-12) !important;
}

.persona-studio-card,
.persona-studio-sample {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-10) !important;
    background: var(--sage-legacy-alpha-255-255-255-0900) !important;
    padding: var(--sage-legacy-u-12) !important;
}

.persona-studio-card span,
.persona-studio-sample-heading span {
    display: block !important;
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin-bottom: var(--sage-legacy-u-6) !important;
}

.persona-studio-card strong,
.persona-studio-sample-heading strong {
    display: block !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.96rem !important;
    margin-bottom: var(--sage-legacy-u-6) !important;
}

.persona-studio-card-warning {
    border-color: var(--sage-legacy-color-fde68a) !important;
    background: var(--sage-legacy-color-fffbeb) !important;
}

.persona-studio-sample-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--sage-legacy-u-12) !important;
    margin-bottom: var(--sage-legacy-u-8) !important;
}

html.dark-mode .persona-studio,
html.dark .persona-studio,
:root[data-theme="dark"] .persona-studio {
    border-color: var(--primary) !important;
    background: linear-gradient(135deg, var(--sage-legacy-color-0f172a) 0%, var(--sage-legacy-color-111827) 70%, var(--sage-legacy-color-172554) 100%) !important;
}

html.dark-mode .persona-studio-header h4,
html.dark-mode .persona-studio-card strong,
html.dark-mode .persona-studio-sample-heading strong,
html.dark .persona-studio-header h4,
html.dark .persona-studio-card strong,
html.dark .persona-studio-sample-heading strong,
:root[data-theme="dark"] .persona-studio-header h4,
:root[data-theme="dark"] .persona-studio-card strong,
:root[data-theme="dark"] .persona-studio-sample-heading strong {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .persona-studio-header p,
html.dark-mode .persona-studio-card p,
html.dark-mode .persona-studio-sample p,
html.dark .persona-studio-header p,
html.dark .persona-studio-card p,
html.dark .persona-studio-sample p,
:root[data-theme="dark"] .persona-studio-header p,
:root[data-theme="dark"] .persona-studio-card p,
:root[data-theme="dark"] .persona-studio-sample p {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .persona-studio-card,
html.dark-mode .persona-studio-sample,
html.dark .persona-studio-card,
html.dark .persona-studio-sample,
:root[data-theme="dark"] .persona-studio-card,
:root[data-theme="dark"] .persona-studio-sample {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-alpha-15-23-42-0900) !important;
}

html.dark-mode .persona-studio-card-warning,
html.dark .persona-studio-card-warning,
:root[data-theme="dark"] .persona-studio-card-warning {
    border-color: var(--sage-legacy-color-92400e) !important;
    background: var(--sage-legacy-alpha-120-53-15-0260) !important;
}

html.dark-mode .persona-studio-card span,
html.dark-mode .persona-studio-sample-heading span,
html.dark .persona-studio-card span,
html.dark .persona-studio-sample-heading span,
:root[data-theme="dark"] .persona-studio-card span,
:root[data-theme="dark"] .persona-studio-sample-heading span {
    color: var(--sage-legacy-color-93c5fd) !important;
}

html.dark-mode .persona-studio-pill,
html.dark .persona-studio-pill,
:root[data-theme="dark"] .persona-studio-pill {
    background: var(--sage-legacy-alpha-37-99-235-0240) !important;
    color: var(--sage-legacy-color-bfdbfe) !important;
}

@media (max-width: 56.25rem) {
    .persona-studio-grid {
        grid-template-columns: 1fr !important;
    }

    .persona-studio-header,
    .persona-studio-sample-heading {
        display: grid !important;
    }
}
.persona-studio-comparison {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--sage-legacy-u-12) !important;
}

.persona-studio-comparison article {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbeafe) !important;
    border-radius: var(--sage-legacy-u-10) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
    padding: var(--sage-legacy-u-12) !important;
}

.persona-studio-comparison article strong {
    color: var(--sage-legacy-color-0f172a) !important;
    display: block !important;
    margin-bottom: var(--sage-legacy-u-6) !important;
}

html.dark-mode .persona-studio-comparison article,
html.dark .persona-studio-comparison article,
:root[data-theme="dark"] .persona-studio-comparison article {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-alpha-2-6-23-0520) !important;
}

html.dark-mode .persona-studio-comparison article strong,
html.dark .persona-studio-comparison article strong,
:root[data-theme="dark"] .persona-studio-comparison article strong {
    color: var(--sage-legacy-color-f8fafc) !important;
}

@media (max-width: 56.25rem) {
    .persona-studio-comparison {
        grid-template-columns: 1fr !important;
    }
}
/* Chatbot builder knowledge diagnostics */
.chatbot-knowledge-diagnostics {
    display: grid !important;
    /* Single column: the metric cards flow as a full-width ROW below the status text
       (in the old 1fr/auto grid the dl collapsed to one stacked card per row) */
    grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--sage-legacy-u-10) !important;
    align-items: center !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-bfdbfe) !important;
    border-left: var(--sage-legacy-u-4) solid var(--primary) !important;
    border-radius: var(--sage-legacy-u-10) !important;
    background: var(--sage-legacy-color-eff6ff) !important;
    padding: var(--sage-legacy-u-14) var(--sage-legacy-u-16) !important;
    margin: var(--sage-legacy-u-10) 0 var(--sage-legacy-u-14) !important;
}

.chatbot-knowledge-diagnostics.is-warning {
    border-color: var(--sage-legacy-color-fde68a) !important;
    border-left-color: var(--sage-legacy-color-f59e0b) !important;
    background: var(--sage-legacy-color-fffbeb) !important;
}

.chatbot-knowledge-diagnostics.is-ready {
    border-color: var(--sage-legacy-color-bbf7d0) !important;
    border-left-color: var(--sage-legacy-color-10b981) !important;
    background: var(--sage-legacy-color-ecfdf5) !important;
}

.chatbot-knowledge-diagnostics strong {
    display: block !important;
    color: var(--sage-legacy-color-0f172a) !important;
    margin: var(--sage-legacy-u-2) 0 var(--sage-legacy-u-4) !important;
}

.chatbot-knowledge-diagnostics p {
    margin: 0 !important;
    color: var(--sage-legacy-color-475569) !important;
}

.knowledge-diagnostics-eyebrow {
    color: var(--primary) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.chatbot-knowledge-diagnostics dl {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-110), 1fr)) !important;
    gap: var(--sage-legacy-u-8) !important;
    margin: 0 !important;
}

.chatbot-knowledge-diagnostics dl div {
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-alpha-255-255-255-0800) !important;
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10) !important;
}

.chatbot-knowledge-diagnostics dt {
    color: var(--sage-legacy-color-64748b) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    margin: 0 0 var(--sage-legacy-u-3) !important;
}

.chatbot-knowledge-diagnostics dd {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* Standard list-row height for the embedded scope tables (Sage data-table standard:
   embedded tables follow the same row recipe as primary lists — a var(--sage-legacy-u-44) action
   button was inflating rows to var(--sage-legacy-u-58)). */
.scope-content-table td {
    padding-top: var(--sage-legacy-u-5) !important;
    padding-bottom: var(--sage-legacy-u-5) !important;
}
.scope-content-table td .btn,
.scope-content-table td .btn-sm,
.scope-content-table td .btn-icon {
    min-height: var(--sage-legacy-u-26) !important;
    height: var(--sage-legacy-u-26) !important;
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-10) !important;
    font-size: 0.74rem !important;
    line-height: 1.2 !important;
}

html.dark-mode .chatbot-knowledge-diagnostics,
html.dark .chatbot-knowledge-diagnostics,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics {
    border-color: var(--primary) !important;
    border-left-color: var(--sage-legacy-color-60a5fa) !important;
    background: var(--sage-legacy-alpha-30-64-175-0160) !important;
}

html.dark-mode .chatbot-knowledge-diagnostics.is-warning,
html.dark .chatbot-knowledge-diagnostics.is-warning,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics.is-warning {
    border-color: var(--sage-legacy-color-92400e) !important;
    border-left-color: var(--sage-legacy-color-f59e0b) !important;
    background: var(--sage-legacy-alpha-69-26-3-0380) !important;
}

html.dark-mode .chatbot-knowledge-diagnostics.is-ready,
html.dark .chatbot-knowledge-diagnostics.is-ready,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics.is-ready {
    border-color: var(--sage-legacy-color-166534) !important;
    border-left-color: var(--sage-legacy-color-34d399) !important;
    background: var(--sage-legacy-alpha-5-46-22-0380) !important;
}

html.dark-mode .chatbot-knowledge-diagnostics strong,
html.dark-mode .chatbot-knowledge-diagnostics dd,
html.dark .chatbot-knowledge-diagnostics strong,
html.dark .chatbot-knowledge-diagnostics dd,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics strong,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics dd {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .chatbot-knowledge-diagnostics p,
html.dark-mode .chatbot-knowledge-diagnostics dt,
html.dark .chatbot-knowledge-diagnostics p,
html.dark .chatbot-knowledge-diagnostics dt,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics p,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics dt {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .chatbot-knowledge-diagnostics dl div,
html.dark .chatbot-knowledge-diagnostics dl div,
:root[data-theme="dark"] .chatbot-knowledge-diagnostics dl div {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-alpha-15-23-42-0760) !important;
}

@media (max-width: 47.5rem) {
    .chatbot-knowledge-diagnostics {
        grid-template-columns: 1fr !important;
    }

    .chatbot-knowledge-diagnostics dl {
        grid-template-columns: repeat(auto-fit, minmax(var(--sage-legacy-u-84), 1fr)) !important;
    }
}
.chatbot-builder-copilot {
    margin-top: 0.7rem !important;
    padding: 0.65rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-cbd5e1) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-f8fafc) !important;
}

.chatbot-builder-copilot-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 0.55rem !important;
}

.chatbot-builder-copilot-heading div {
    display: grid !important;
    gap: 0.1rem !important;
}

.chatbot-builder-copilot-heading strong {
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

.chatbot-builder-copilot-heading span,
.chatbot-builder-copilot-item span,
.chatbot-builder-copilot-empty span {
    color: var(--sage-legacy-color-475569) !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
}

.chatbot-builder-copilot-list {
    display: grid !important;
    gap: 0.45rem !important;
}

.chatbot-builder-copilot-item,
.chatbot-builder-copilot-empty {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.6rem !important;
    align-items: center !important;
    padding: 0.58rem 0.62rem !important;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-color-dbeafe) !important;
    border-left: var(--sage-legacy-u-3) solid var(--primary) !important;
    border-radius: var(--sage-legacy-u-8) !important;
    background: var(--sage-legacy-color-ffffff) !important;
}

.chatbot-builder-copilot-empty {
    grid-template-columns: minmax(0, 1fr) !important;
    border-left-color: var(--sage-legacy-color-22c55e) !important;
}

.chatbot-builder-copilot-item.is-high {
    border-left-color: var(--sage-legacy-color-f97316) !important;
    background: var(--sage-legacy-color-fff7ed) !important;
}

.chatbot-builder-copilot-item.is-low {
    border-left-color: var(--sage-legacy-color-94a3b8) !important;
}

.chatbot-builder-copilot-item strong,
.chatbot-builder-copilot-empty strong {
    display: block !important;
    color: var(--sage-legacy-color-0f172a) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
}

.chatbot-builder-copilot-item p {
    margin: 0.18rem 0 0.1rem !important;
    color: var(--sage-legacy-color-334155) !important;
    font-size: 0.74rem !important;
    line-height: 1.35 !important;
}

html.dark-mode .chatbot-builder-copilot,
html.dark .chatbot-builder-copilot,
:root[data-theme="dark"] .chatbot-builder-copilot {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-111827) !important;
}

html.dark-mode .chatbot-builder-copilot-heading strong,
html.dark-mode .chatbot-builder-copilot-item strong,
html.dark-mode .chatbot-builder-copilot-empty strong,
html.dark .chatbot-builder-copilot-heading strong,
html.dark .chatbot-builder-copilot-item strong,
html.dark .chatbot-builder-copilot-empty strong,
:root[data-theme="dark"] .chatbot-builder-copilot-heading strong,
:root[data-theme="dark"] .chatbot-builder-copilot-item strong,
:root[data-theme="dark"] .chatbot-builder-copilot-empty strong {
    color: var(--sage-legacy-color-f8fafc) !important;
}

html.dark-mode .chatbot-builder-copilot-heading span,
html.dark-mode .chatbot-builder-copilot-item span,
html.dark-mode .chatbot-builder-copilot-empty span,
html.dark-mode .chatbot-builder-copilot-item p,
html.dark .chatbot-builder-copilot-heading span,
html.dark .chatbot-builder-copilot-item span,
html.dark .chatbot-builder-copilot-empty span,
html.dark .chatbot-builder-copilot-item p,
:root[data-theme="dark"] .chatbot-builder-copilot-heading span,
:root[data-theme="dark"] .chatbot-builder-copilot-item span,
:root[data-theme="dark"] .chatbot-builder-copilot-empty span,
:root[data-theme="dark"] .chatbot-builder-copilot-item p {
    color: var(--sage-legacy-color-cbd5e1) !important;
}

html.dark-mode .chatbot-builder-copilot-item,
html.dark-mode .chatbot-builder-copilot-empty,
html.dark .chatbot-builder-copilot-item,
html.dark .chatbot-builder-copilot-empty,
:root[data-theme="dark"] .chatbot-builder-copilot-item,
:root[data-theme="dark"] .chatbot-builder-copilot-empty {
    border-color: var(--sage-legacy-color-334155) !important;
    background: var(--sage-legacy-color-0f172a) !important;
}

html.dark-mode .chatbot-builder-copilot-item.is-high,
html.dark .chatbot-builder-copilot-item.is-high,
:root[data-theme="dark"] .chatbot-builder-copilot-item.is-high {
    background: var(--sage-legacy-color-1f2937) !important;
}
/* Wave 2 content ingestion source launcher */
#content-ingestion-modal .modal-content {
    width: min(var(--sage-legacy-u-980), calc(100vw - var(--sage-legacy-u-32))) !important;
    max-width: var(--sage-legacy-u-980) !important;
}

.content-source-launcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0.45rem 0 0.65rem;
}

.content-source-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-height: var(--sage-legacy-u-78);
    padding: 0.65rem 0.75rem;
    border: var(--sage-legacy-u-1) solid var(--border);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.content-source-card:hover,
.content-source-card:focus-visible {
    border-color: var(--primary);
    box-shadow: var(--sage-app-shadow-ring-10);
    outline: none;
}

.content-source-card.active {
    border-color: var(--primary);
    background: color-mix(in srgb, var(--primary) 9%, var(--bg-primary));
}

.content-source-card strong {
    font-size: 0.86rem;
    line-height: 1.2;
}

.content-source-card > span:not(.content-source-card-badge) {
    font-size: 0.75rem;
    line-height: 1.25;
    color: var(--text-secondary);
}

.content-source-card-badge {
    display: inline-flex;
    align-items: center;
    min-height: var(--sage-legacy-u-18);
    padding: 0 0.45rem;
    border-radius: var(--sage-legacy-u-999);
    background: color-mix(in srgb, var(--primary) 12%, var(--bg-secondary));
    color: var(--primary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0;
}

[data-theme="dark"] .content-source-card,
html.dark-mode .content-source-card {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .content-source-card.active,
html.dark-mode .content-source-card.active {
    background: color-mix(in srgb, var(--primary) 18%, var(--bg-secondary));
    border-color: var(--primary);
}

[data-theme="dark"] .content-source-card-badge,
html.dark-mode .content-source-card-badge {
    background: color-mix(in srgb, var(--primary) 22%, var(--bg-primary));
    color: var(--sage-legacy-color-93c5fd);
}

@media (max-width: 53.75rem) {
    .content-source-launcher {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 35rem) {
    .content-source-launcher {
        grid-template-columns: 1fr;
    }
}
/* Directory preview task surface */
.directory-preview-container {
    background: var(--bg-primary);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-10);
    padding: var(--sage-legacy-u-16);
    margin-top: var(--sage-legacy-u-16);
    display: grid;
    gap: var(--sage-legacy-u-14);
}

.directory-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sage-legacy-u-12);
    border-bottom: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    padding-bottom: var(--sage-legacy-u-12);
}

.directory-preview-header h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-16);
}

.directory-preview-header p {
    margin: var(--sage-legacy-u-4) 0 0;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-13);
}

.directory-preview-path {
    max-width: 45%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 10%, transparent);
    border: var(--sage-legacy-u-1) solid color-mix(in srgb, var(--primary) 25%, transparent);
    border-radius: var(--sage-legacy-u-999);
    padding: var(--sage-legacy-u-4) var(--sage-legacy-u-10);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
}

.directory-preview-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
}

.directory-preview-stats .preview-stat {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    padding: var(--sage-legacy-u-10);
    background: var(--bg-secondary);
}

.directory-preview-stats .preview-stat strong {
    display: block;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-18);
    line-height: 1.1;
}

.directory-preview-stats .preview-stat span {
    display: block;
    margin-top: var(--sage-legacy-u-3);
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
}

.directory-preview-types h4,
.directory-preview-browser h4 {
    margin: 0 0 var(--sage-legacy-u-8);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-13);
}

.directory-preview-types ul {
    margin: 0;
    padding-left: var(--sage-legacy-u-18);
    columns: 2;
    color: var(--text-primary);
}

.directory-preview-toolbar {
    display: grid;
    grid-template-columns: minmax(var(--sage-legacy-u-240), 1fr) minmax(var(--sage-legacy-u-160), var(--sage-legacy-u-220));
    gap: var(--sage-legacy-u-10);
    margin-bottom: var(--sage-legacy-u-10);
}

.directory-preview-table-wrap {
    max-height: var(--sage-legacy-u-220);
    overflow: auto;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
}

.directory-preview-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.directory-preview-table th,
.directory-preview-table td {
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10);
    border-bottom: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-13);
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.directory-preview-table th {
    background: var(--table-header-bg, var(--bg-secondary));
    font-size: var(--sage-legacy-u-11);
    text-transform: uppercase;
    letter-spacing: 0;
}

.directory-preview-table th:nth-child(1),
.directory-preview-table td:nth-child(1) { width: 30%; }
.directory-preview-table th:nth-child(2),
.directory-preview-table td:nth-child(2) { width: var(--sage-legacy-u-110); }
.directory-preview-table th:nth-child(3),
.directory-preview-table td:nth-child(3) { width: auto; }

.directory-preview-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--sage-legacy-u-10);
    border-top: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    padding-top: var(--sage-legacy-u-12);
}

@media (max-width: 56.25rem) {
    .directory-preview-header,
    .directory-preview-toolbar {
        grid-template-columns: 1fr;
        display: grid;
    }

    .directory-preview-path {
        max-width: 100%;
    }

    .directory-preview-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Scope editor coverage summary */
.scope-coverage-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
    margin: 0 0 var(--sage-legacy-u-12);
}

.scope-coverage-card {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    min-width: 0;
}

.scope-coverage-card span,
.scope-coverage-card small {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.2;
}

.scope-coverage-card strong {
    display: block;
    margin: var(--sage-legacy-u-2) 0;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-20);
    line-height: 1.1;
}

html.dark-mode .scope-coverage-card,
html.dark .scope-coverage-card,
:root[data-theme="dark"] .scope-coverage-card {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

@media (max-width: 56.25rem) {
    .scope-coverage-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.content-readiness-badge {
    display: inline-block;
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-7);
    border-radius: var(--sage-legacy-u-999);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.content-signal-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--sage-legacy-u-4);
    align-items: center;
    max-width: 100%;
}

.content-signal-badge {
    display: inline-block;
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-7);
    border-radius: var(--sage-legacy-u-999);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.readiness-ready {
    background: var(--sage-legacy-color-dcfce7);
    color: var(--sage-legacy-color-166534);
}

.readiness-processing {
    background: var(--sage-legacy-color-dbeafe);
    color: var(--sage-legacy-color-1e40af);
}

.readiness-review {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.readiness-blocked {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-991b1b);
}

.signal-clean {
    background: var(--sage-legacy-color-eef2ff);
    color: var(--sage-legacy-color-3730a3);
}

.signal-duplicate,
.signal-aging,
.signal-stale-index,
.signal-thin,
.signal-review {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.signal-sensitive {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-991b1b);
}

.signal-multimodal {
    background: var(--sage-legacy-color-e0f2fe);
    color: var(--sage-legacy-color-075985);
}

[data-theme="dark"] .readiness-ready,
.dark-mode .readiness-ready {
    background: var(--sage-legacy-color-064e3b);
    color: var(--sage-legacy-color-bbf7d0);
}

[data-theme="dark"] .readiness-processing,
.dark-mode .readiness-processing {
    background: var(--sage-legacy-color-1e3a8a);
    color: var(--sage-legacy-color-bfdbfe);
}

[data-theme="dark"] .readiness-review,
.dark-mode .readiness-review {
    background: var(--sage-legacy-color-78350f);
    color: var(--sage-legacy-color-fde68a);
}

[data-theme="dark"] .readiness-blocked,
.dark-mode .readiness-blocked {
    background: var(--sage-legacy-color-7f1d1d);
    color: var(--sage-legacy-color-fecaca);
}

[data-theme="dark"] .signal-clean,
.dark-mode .signal-clean {
    background: var(--sage-legacy-color-312e81);
    color: var(--sage-legacy-color-c7d2fe);
}

[data-theme="dark"] .signal-duplicate,
[data-theme="dark"] .signal-aging,
[data-theme="dark"] .signal-stale-index,
[data-theme="dark"] .signal-thin,
[data-theme="dark"] .signal-review,
.dark-mode .signal-duplicate,
.dark-mode .signal-aging,
.dark-mode .signal-stale-index,
.dark-mode .signal-thin,
.dark-mode .signal-review {
    background: var(--sage-legacy-color-78350f);
    color: var(--sage-legacy-color-fde68a);
}

[data-theme="dark"] .signal-sensitive,
.dark-mode .signal-sensitive {
    background: var(--sage-legacy-color-7f1d1d);
    color: var(--sage-legacy-color-fecaca);
}

[data-theme="dark"] .signal-multimodal,
.dark-mode .signal-multimodal {
    background: var(--sage-legacy-color-0c4a6e);
    color: var(--sage-legacy-color-bae6fd);
}

.content-remediation-panel {
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-14);
}

.content-remediation-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(var(--sage-legacy-u-120), 1fr)) minmax(var(--sage-legacy-u-220), 1.2fr);
    gap: var(--sage-legacy-u-10);
    align-items: stretch;
}

.content-remediation-summary > div {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-d7e1ef));
    border-radius: var(--sage-legacy-u-8);
    background: var(--surface-secondary, var(--sage-legacy-color-f8fafc));
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
}

.content-remediation-summary strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: var(--sage-legacy-u-20);
    line-height: 1.1;
}

.content-remediation-summary span {
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: var(--sage-legacy-u-12);
}

.content-remediation-priority-summary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sage-legacy-u-6);
    align-content: center;
}

.content-remediation-chip,
.content-remediation-priority {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sage-legacy-u-999);
    padding: var(--sage-legacy-u-3) var(--sage-legacy-u-8);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    letter-spacing: 0.01em;
    background: var(--sage-legacy-color-e0f2fe);
    color: var(--sage-legacy-color-075985);
    white-space: nowrap;
}

.content-remediation-priority.priority-p0 {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-991b1b);
}

.content-remediation-priority.priority-p1 {
    background: var(--sage-legacy-color-ffedd5);
    color: var(--sage-legacy-color-9a3412);
}

.content-remediation-priority.priority-p2 {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.content-remediation-priority.priority-p3 {
    background: var(--sage-legacy-color-e0f2fe);
    color: var(--sage-legacy-color-075985);
}

.content-remediation-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(var(--sage-legacy-u-160), 1fr));
    gap: var(--sage-legacy-u-12);
}

.content-remediation-controls label {
    display: flex;
    flex-direction: column;
    gap: var(--sage-legacy-u-6);
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-weight: 700;
}

.content-remediation-note {
    grid-column: 1 / -1;
}

.content-remediation-table-wrap {
    overflow: auto;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-d7e1ef));
    border-radius: var(--sage-legacy-u-8);
    max-height: min(44vh, var(--sage-legacy-u-420));
}

.content-remediation-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.content-remediation-table th,
.content-remediation-table td {
    border-bottom: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-e2e8f0));
    padding: var(--sage-legacy-u-9) var(--sage-legacy-u-10);
    text-align: left;
    vertical-align: top;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}

.content-remediation-table th {
    position: sticky;
    top: 0;
    z-index: var(--sage-app-layer-sticky);
    background: var(--surface-secondary, var(--sage-legacy-color-f1f5f9));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: var(--sage-legacy-u-11);
    text-transform: uppercase;
}

.content-remediation-table td small {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    margin-top: var(--sage-legacy-u-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content-remediation-disclaimer {
    margin: 0;
    border-left: var(--sage-legacy-u-4) solid var(--primary-color, var(--primary));
    border-radius: var(--sage-legacy-u-8);
    background: var(--sage-legacy-alpha-37-99-235-0080);
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    font-size: var(--sage-legacy-u-13);
}

[data-theme="dark"] .content-remediation-summary > div,
.dark-mode .content-remediation-summary > div,
[data-theme="dark"] .content-remediation-table-wrap,
.dark-mode .content-remediation-table-wrap {
    border-color: var(--sage-legacy-color-334155);
    background: var(--sage-legacy-color-111827);
}

[data-theme="dark"] .content-remediation-summary strong,
[data-theme="dark"] .content-remediation-controls label,
[data-theme="dark"] .content-remediation-table th,
[data-theme="dark"] .content-remediation-table td,
.dark-mode .content-remediation-summary strong,
.dark-mode .content-remediation-controls label,
.dark-mode .content-remediation-table th,
.dark-mode .content-remediation-table td {
    color: var(--sage-legacy-color-f8fafc);
}

[data-theme="dark"] .content-remediation-summary span,
[data-theme="dark"] .content-remediation-table td small,
[data-theme="dark"] .content-remediation-disclaimer,
.dark-mode .content-remediation-summary span,
.dark-mode .content-remediation-table td small,
.dark-mode .content-remediation-disclaimer {
    color: var(--sage-legacy-color-cbd5e1);
}

[data-theme="dark"] .content-remediation-table th,
.dark-mode .content-remediation-table th {
    background: var(--sage-legacy-color-1e293b);
}

[data-theme="dark"] .content-remediation-table th,
[data-theme="dark"] .content-remediation-table td,
.dark-mode .content-remediation-table th,
.dark-mode .content-remediation-table td {
    border-bottom-color: var(--sage-legacy-color-334155);
}

[data-theme="dark"] .content-remediation-disclaimer,
.dark-mode .content-remediation-disclaimer {
    background: var(--sage-legacy-alpha-59-130-246-0140);
}

@media (max-width: 56.25rem) {
    .content-remediation-summary,
    .content-remediation-controls {
        grid-template-columns: 1fr;
    }
}

.scope-answerability-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(var(--sage-legacy-u-260), 0.8fr);
    gap: var(--sage-legacy-u-12);
    align-items: start;
    border: var(--sage-legacy-u-1) solid var(--sage-legacy-alpha-245-158-11-0420);
    border-left: var(--sage-legacy-u-4) solid var(--sage-legacy-color-f59e0b);
    border-radius: var(--sage-legacy-u-8);
    background: var(--sage-legacy-alpha-245-158-11-0080);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    margin: 0 0 var(--sage-legacy-u-12);
}

.scope-answerability-preview.is-ready {
    border-color: var(--sage-legacy-alpha-16-185-129-0420);
    border-left-color: var(--sage-legacy-color-10b981);
    background: var(--sage-legacy-alpha-16-185-129-0080);
}

.scope-answerability-preview.is-warning {
    border-color: var(--sage-legacy-alpha-245-158-11-0420);
    border-left-color: var(--sage-legacy-color-f59e0b);
}

.scope-answerability-preview span {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.scope-answerability-preview strong {
    display: block;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-15);
    line-height: 1.25;
    margin: var(--sage-legacy-u-2) 0 var(--sage-legacy-u-4);
}

.scope-answerability-preview p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-13);
    line-height: 1.35;
}

.scope-answerability-preview ul {
    margin: 0;
    padding-left: var(--sage-legacy-u-18);
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.35;
}

.scope-coverage-reasoning {
    display: grid;
    gap: var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    margin: 0 0 var(--sage-legacy-u-12);
}

.scope-coverage-reasoning.is-ready {
    border-color: var(--sage-legacy-alpha-16-185-129-0420);
}

.scope-coverage-reasoning.is-warning {
    border-color: var(--sage-legacy-alpha-245-158-11-0500);
}

.scope-coverage-reasoning-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sage-legacy-u-12);
    padding-bottom: var(--sage-legacy-u-8);
    border-bottom: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
}

.scope-coverage-reasoning-header span {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
    text-transform: uppercase;
}

.scope-coverage-reasoning-header strong {
    display: block;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-15);
    line-height: 1.25;
}

.scope-coverage-reasoning-header small {
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    text-align: right;
}

.scope-coverage-reasoning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
}

.scope-coverage-reasoning-grid section,
.scope-coverage-selected-reasons {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10);
    min-width: 0;
}

.scope-coverage-reasoning h4 {
    margin: 0 0 var(--sage-legacy-u-6);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
}

.scope-coverage-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sage-legacy-u-5);
}

/* AI-03 knowledge coverage map + gaps. Theme variables keep it legible in dark mode. */
.scope-coverage-map {
    margin-top: var(--sage-legacy-u-10);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-10);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}
.scope-coverage-map-header { display: flex; flex-direction: column; gap: var(--sage-legacy-u-2); margin-bottom: var(--sage-legacy-u-8); }
.scope-coverage-map-header h4 { margin: 0; font-size: var(--sage-legacy-u-13); color: var(--text-primary, var(--sage-legacy-color-0f172a)); }
.scope-coverage-map-header small { color: var(--text-secondary, var(--sage-legacy-color-64748b)); }
.scope-coverage-topic-list { display: flex; flex-wrap: wrap; gap: var(--sage-legacy-u-6); margin-bottom: var(--sage-legacy-u-8); }
.scope-coverage-topic {
    display: inline-flex; align-items: center; gap: var(--sage-legacy-u-4);
    border-radius: var(--sage-legacy-u-8); padding: var(--sage-legacy-u-3) var(--sage-legacy-u-8);
    background: var(--bg-tertiary, var(--sage-legacy-color-eef2f7));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: var(--sage-legacy-u-12);
}
.scope-coverage-topic strong { color: var(--accent, var(--primary)); }
.scope-coverage-gap-list { display: flex; flex-direction: column; gap: var(--sage-legacy-u-6); }
.scope-coverage-gap { border-left: var(--sage-legacy-u-4) solid var(--border-color, var(--sage-legacy-color-cbd5e1)); border-radius: var(--sage-legacy-u-8); padding: var(--sage-legacy-u-6) var(--sage-legacy-u-10); background: var(--bg-primary, var(--sage-legacy-color-ffffff)); }
.scope-coverage-gap strong { display: block; color: var(--text-primary, var(--sage-legacy-color-0f172a)); font-size: var(--sage-legacy-u-12); }
.scope-coverage-gap p { margin: var(--sage-legacy-u-2) 0; color: var(--text-secondary, var(--sage-legacy-color-475569)); font-size: var(--sage-legacy-u-12); }
.scope-coverage-gap small { color: var(--text-secondary, var(--sage-legacy-color-64748b)); font-size: var(--sage-legacy-u-11); }
.scope-coverage-gap-critical { border-left-color: var(--sage-legacy-color-ef4444); }
.scope-coverage-gap-warning { border-left-color: var(--sage-legacy-color-f59e0b); }
.scope-coverage-gap-ok { border-left-color: var(--sage-legacy-color-22c55e); }

.scope-coverage-pill {
    display: inline-flex;
    align-items: center;
    border-radius: var(--sage-legacy-u-999);
    background: var(--sage-legacy-color-dbeafe);
    color: var(--sage-legacy-color-1e40af);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    line-height: 1.2;
    padding: var(--sage-legacy-u-3) var(--sage-legacy-u-8);
    max-width: 100%;
}

.scope-coverage-pill.is-muted {
    background: var(--sage-legacy-color-f1f5f9);
    color: var(--sage-legacy-color-64748b);
}

.scope-coverage-selected-reasons ul {
    display: grid;
    gap: var(--sage-legacy-u-6);
    margin: 0;
    padding: 0;
    list-style: none;
}

.scope-coverage-selected-reasons li {
    display: grid;
    gap: var(--sage-legacy-u-2);
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.35;
}

.scope-coverage-selected-reasons strong {
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-12);
}

.scope-coverage-selected-reasons span {
    color: var(--text-secondary);
}

html.dark-mode .scope-answerability-preview,
html.dark .scope-answerability-preview,
:root[data-theme="dark"] .scope-answerability-preview {
    border-color: var(--sage-legacy-alpha-251-191-36-0500);
    border-left-color: var(--sage-legacy-color-fbbf24);
    background: var(--sage-legacy-alpha-120-53-15-0340);
}

html.dark-mode .scope-answerability-preview.is-ready,
html.dark .scope-answerability-preview.is-ready,
:root[data-theme="dark"] .scope-answerability-preview.is-ready {
    border-color: var(--sage-legacy-alpha-52-211-153-0500);
    border-left-color: var(--sage-legacy-color-34d399);
    background: var(--sage-legacy-alpha-6-78-59-0380);
}

html.dark-mode .scope-coverage-reasoning,
html.dark .scope-coverage-reasoning,
:root[data-theme="dark"] .scope-coverage-reasoning {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .scope-coverage-reasoning-grid section,
html.dark .scope-coverage-reasoning-grid section,
:root[data-theme="dark"] .scope-coverage-reasoning-grid section,
html.dark-mode .scope-coverage-selected-reasons,
html.dark .scope-coverage-selected-reasons,
:root[data-theme="dark"] .scope-coverage-selected-reasons {
    background: var(--bg-primary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .scope-coverage-pill,
html.dark .scope-coverage-pill,
:root[data-theme="dark"] .scope-coverage-pill {
    background: var(--sage-legacy-color-1e3a8a);
    color: var(--sage-legacy-color-bfdbfe);
}

html.dark-mode .scope-coverage-pill.is-muted,
html.dark .scope-coverage-pill.is-muted,
:root[data-theme="dark"] .scope-coverage-pill.is-muted {
    background: var(--sage-legacy-color-334155);
    color: var(--sage-legacy-color-cbd5e1);
}

@media (max-width: 56.25rem) {
    .scope-answerability-preview,
    .scope-coverage-reasoning-grid,
    .scope-coverage-reasoning-header {
        grid-template-columns: 1fr;
    }

    .scope-coverage-reasoning-header {
        display: grid;
    }

    .scope-coverage-reasoning-header small {
        text-align: left;
    }
}

.scope-default-guidance {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-left: var(--sage-legacy-u-4) solid var(--sage-legacy-color-94a3b8);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    margin-top: var(--sage-legacy-u-10);
}

.scope-default-guidance.is-default {
    border-left-color: var(--primary);
    background: var(--sage-legacy-alpha-37-99-235-0080);
}

.scope-default-guidance span {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.scope-default-guidance strong {
    display: block;
    margin: var(--sage-legacy-u-2) 0 var(--sage-legacy-u-4);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-14);
    line-height: 1.25;
}

.scope-default-guidance p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-13);
    line-height: 1.35;
}

html.dark-mode .scope-default-guidance,
html.dark .scope-default-guidance,
:root[data-theme="dark"] .scope-default-guidance {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .scope-default-guidance.is-default,
html.dark .scope-default-guidance.is-default,
:root[data-theme="dark"] .scope-default-guidance.is-default {
    border-left-color: var(--sage-legacy-color-60a5fa);
    background: var(--sage-legacy-alpha-30-64-175-0320);
}

/* Model configuration guidance */
.model-config-guidance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
    margin: 0 0 var(--sage-legacy-u-12);
}

.model-config-guidance-card {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    min-width: 0;
}

.model-config-guidance-card span,
.model-config-guidance-card small {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.25;
}

.model-config-guidance-card strong {
    display: block;
    margin: var(--sage-legacy-u-2) 0;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-14);
    line-height: 1.25;
}

html.dark-mode .model-config-guidance-card,
html.dark .model-config-guidance-card,
:root[data-theme="dark"] .model-config-guidance-card {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

@media (max-width: 56.25rem) {
    .model-config-guidance {
        grid-template-columns: 1fr;
    }
}

.model-config-secret-state {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
    margin: 0 0 var(--sage-legacy-u-12);
}

.model-config-secret-card {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-left: var(--sage-legacy-u-4) solid var(--sage-legacy-color-94a3b8);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    min-width: 0;
}

.model-config-secret-card.is-ready,
.model-config-secret-card.is-saved,
.model-config-secret-card.is-local {
    border-left-color: var(--sage-legacy-color-10b981);
}

.model-config-secret-card.is-required {
    border-left-color: var(--sage-legacy-color-f59e0b);
}

.model-config-secret-card span,
.model-config-secret-card small {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.25;
}

.model-config-secret-card strong {
    display: block;
    margin: var(--sage-legacy-u-2) 0;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-14);
    line-height: 1.25;
}

html.dark-mode .model-config-secret-card,
html.dark .model-config-secret-card,
:root[data-theme="dark"] .model-config-secret-card {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .model-config-secret-card.is-ready,
html.dark-mode .model-config-secret-card.is-saved,
html.dark-mode .model-config-secret-card.is-local,
html.dark .model-config-secret-card.is-ready,
html.dark .model-config-secret-card.is-saved,
html.dark .model-config-secret-card.is-local,
:root[data-theme="dark"] .model-config-secret-card.is-ready,
:root[data-theme="dark"] .model-config-secret-card.is-saved,
:root[data-theme="dark"] .model-config-secret-card.is-local {
    border-left-color: var(--sage-legacy-color-34d399);
}

html.dark-mode .model-config-secret-card.is-required,
html.dark .model-config-secret-card.is-required,
:root[data-theme="dark"] .model-config-secret-card.is-required {
    border-left-color: var(--sage-legacy-color-fbbf24);
}

@media (max-width: 56.25rem) {
    .model-config-secret-state {
        grid-template-columns: 1fr;
    }
}

.model-config-readiness {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary);
    margin: 0 0 var(--sage-legacy-u-12);
    padding: var(--sage-legacy-u-10);
}

.model-config-readiness-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sage-legacy-u-10);
}

.model-config-readiness-card {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-left: var(--sage-legacy-u-4) solid var(--sage-legacy-color-94a3b8);
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    min-width: 0;
}

.model-config-readiness-card.is-ready {
    border-left-color: var(--sage-legacy-color-10b981);
}

.model-config-readiness-card.is-warning {
    border-left-color: var(--sage-legacy-color-f59e0b);
}

.model-config-readiness-card.is-blocked {
    border-left-color: var(--sage-legacy-color-ef4444);
}

.model-config-readiness-card.is-active {
    border-left-color: var(--primary);
}

.model-config-readiness-card span,
.model-config-readiness-card small {
    display: block;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.25;
}

.model-config-readiness-card strong {
    display: block;
    margin: var(--sage-legacy-u-2) 0;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-14);
    line-height: 1.25;
}

.model-config-readiness-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sage-legacy-u-8);
    list-style: none;
    margin: var(--sage-legacy-u-10) 0 0;
    padding: 0;
}

.model-config-readiness-checks li {
    display: flex;
    gap: var(--sage-legacy-u-8);
    align-items: flex-start;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary);
    padding: var(--sage-legacy-u-8) var(--sage-legacy-u-10);
    min-width: 0;
}

.model-config-readiness-checks li > span {
    flex: 0 0 auto;
    min-width: var(--sage-legacy-u-58);
    border-radius: var(--sage-legacy-u-999);
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-7);
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

.model-config-readiness-checks li.is-pass > span {
    background: var(--sage-legacy-color-dcfce7);
    color: var(--sage-legacy-color-047857);
}

.model-config-readiness-checks li.is-warning > span {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.model-config-readiness-checks li.is-fail > span {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-b91c1c);
}

.model-config-readiness-checks strong,
.model-config-readiness-checks small {
    display: block;
}

.model-config-readiness-checks strong {
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.25;
}

.model-config-readiness-checks small {
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.3;
}

.model-readiness-badge {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: var(--sage-legacy-u-22);
    border-radius: var(--sage-legacy-u-999);
    padding: var(--sage-legacy-u-3) var(--sage-legacy-u-9);
    font-size: var(--sage-legacy-u-12);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.model-readiness-badge.is-ready {
    background: var(--sage-legacy-color-dcfce7);
    color: var(--sage-legacy-color-047857);
}

.model-readiness-badge.is-warning {
    background: var(--sage-legacy-color-fef3c7);
    color: var(--sage-legacy-color-92400e);
}

.model-readiness-badge.is-blocked {
    background: var(--sage-legacy-color-fee2e2);
    color: var(--sage-legacy-color-b91c1c);
}

.model-readiness-badge.is-active {
    background: var(--sage-legacy-color-dbeafe);
    color: var(--primary);
}

html.dark-mode .model-config-readiness,
html.dark .model-config-readiness,
:root[data-theme="dark"] .model-config-readiness {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .model-config-readiness-card,
html.dark .model-config-readiness-card,
:root[data-theme="dark"] .model-config-readiness-card,
html.dark-mode .model-config-readiness-checks li,
html.dark .model-config-readiness-checks li,
:root[data-theme="dark"] .model-config-readiness-checks li {
    background: var(--bg-primary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .model-config-readiness-card.is-ready,
html.dark .model-config-readiness-card.is-ready,
:root[data-theme="dark"] .model-config-readiness-card.is-ready {
    border-left-color: var(--sage-legacy-color-34d399);
}

html.dark-mode .model-config-readiness-card.is-warning,
html.dark .model-config-readiness-card.is-warning,
:root[data-theme="dark"] .model-config-readiness-card.is-warning {
    border-left-color: var(--sage-legacy-color-fbbf24);
}

html.dark-mode .model-config-readiness-card.is-blocked,
html.dark .model-config-readiness-card.is-blocked,
:root[data-theme="dark"] .model-config-readiness-card.is-blocked {
    border-left-color: var(--sage-legacy-color-f87171);
}

html.dark-mode .model-config-readiness-card.is-active,
html.dark .model-config-readiness-card.is-active,
:root[data-theme="dark"] .model-config-readiness-card.is-active {
    border-left-color: var(--sage-legacy-color-60a5fa);
}

html.dark-mode .model-readiness-badge.is-ready,
html.dark .model-readiness-badge.is-ready,
:root[data-theme="dark"] .model-readiness-badge.is-ready {
    background: var(--sage-legacy-alpha-6-95-70-0780);
    color: var(--sage-legacy-color-bbf7d0);
}

html.dark-mode .model-readiness-badge.is-warning,
html.dark .model-readiness-badge.is-warning,
:root[data-theme="dark"] .model-readiness-badge.is-warning {
    background: var(--sage-legacy-alpha-146-64-14-0780);
    color: var(--sage-legacy-color-fde68a);
}

html.dark-mode .model-readiness-badge.is-blocked,
html.dark .model-readiness-badge.is-blocked,
:root[data-theme="dark"] .model-readiness-badge.is-blocked {
    background: var(--sage-legacy-alpha-127-29-29-0820);
    color: var(--sage-legacy-color-fecaca);
}

html.dark-mode .model-readiness-badge.is-active,
html.dark .model-readiness-badge.is-active,
:root[data-theme="dark"] .model-readiness-badge.is-active {
    background: var(--sage-legacy-alpha-30-64-175-0820);
    color: var(--sage-legacy-color-bfdbfe);
}

html.dark-mode .model-config-readiness-checks li.is-pass > span,
html.dark .model-config-readiness-checks li.is-pass > span,
:root[data-theme="dark"] .model-config-readiness-checks li.is-pass > span {
    background: var(--sage-legacy-alpha-6-95-70-0820);
    color: var(--sage-legacy-color-bbf7d0);
}

html.dark-mode .model-config-readiness-checks li.is-warning > span,
html.dark .model-config-readiness-checks li.is-warning > span,
:root[data-theme="dark"] .model-config-readiness-checks li.is-warning > span {
    background: var(--sage-legacy-alpha-146-64-14-0820);
    color: var(--sage-legacy-color-fde68a);
}

html.dark-mode .model-config-readiness-checks li.is-fail > span,
html.dark .model-config-readiness-checks li.is-fail > span,
:root[data-theme="dark"] .model-config-readiness-checks li.is-fail > span {
    background: var(--sage-legacy-alpha-127-29-29-0820);
    color: var(--sage-legacy-color-fecaca);
}

@media (max-width: 56.25rem) {
    .model-config-readiness-summary,
    .model-config-readiness-checks {
        grid-template-columns: 1fr;
    }
}

.model-config-test-result {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--border));
    border-radius: var(--sage-legacy-u-8);
    margin: 0 0 var(--sage-legacy-u-12);
    padding: var(--sage-legacy-u-10) var(--sage-legacy-u-12);
    background: var(--bg-primary);
    color: var(--text-primary);
}

.model-config-test-result.is-passed {
    border-color: var(--sage-legacy-alpha-16-185-129-0450);
    background: var(--sage-legacy-alpha-16-185-129-0080);
}

.model-config-test-result.is-warning,
.model-config-test-result.is-loading {
    border-color: var(--sage-legacy-alpha-245-158-11-0450);
    background: var(--sage-legacy-alpha-245-158-11-0080);
}

.model-config-test-result.is-failed {
    border-color: var(--sage-legacy-alpha-239-68-68-0450);
    background: var(--sage-legacy-alpha-239-68-68-0080);
}

.model-config-test-heading strong {
    display: block;
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-14);
    line-height: 1.3;
}

.model-config-test-checks {
    margin: var(--sage-legacy-u-8) 0 0;
    padding: 0;
    display: grid;
    gap: var(--sage-legacy-u-6);
    list-style: none;
}

.model-config-test-checks li {
    display: flex;
    gap: var(--sage-legacy-u-8);
    align-items: flex-start;
    color: var(--text-secondary);
    font-size: var(--sage-legacy-u-12);
    line-height: 1.35;
}

.model-config-test-status {
    flex: 0 0 auto;
    min-width: var(--sage-legacy-u-58);
    border-radius: var(--sage-legacy-u-999);
    padding: var(--sage-legacy-u-2) var(--sage-legacy-u-7);
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: var(--sage-legacy-u-11);
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

html.dark-mode .model-config-test-result,
html.dark .model-config-test-result,
:root[data-theme="dark"] .model-config-test-result {
    background: var(--bg-secondary);
    border-color: var(--border-color, var(--border));
}

html.dark-mode .model-config-test-result.is-passed,
html.dark .model-config-test-result.is-passed,
:root[data-theme="dark"] .model-config-test-result.is-passed {
    border-color: var(--sage-legacy-alpha-52-211-153-0500);
    background: var(--sage-legacy-alpha-6-78-59-0450);
}

html.dark-mode .model-config-test-result.is-warning,
html.dark-mode .model-config-test-result.is-loading,
html.dark .model-config-test-result.is-warning,
html.dark .model-config-test-result.is-loading,
:root[data-theme="dark"] .model-config-test-result.is-warning,
:root[data-theme="dark"] .model-config-test-result.is-loading {
    border-color: var(--sage-legacy-alpha-251-191-36-0500);
    background: var(--sage-legacy-alpha-120-53-15-0380);
}

html.dark-mode .model-config-test-result.is-failed,
html.dark .model-config-test-result.is-failed,
:root[data-theme="dark"] .model-config-test-result.is-failed {
    border-color: var(--sage-legacy-alpha-248-113-113-0550);
    background: var(--sage-legacy-alpha-127-29-29-0360);
}

/* Reports content-improvement insights */
.reports-insights-panel { margin: 0.75rem 0 1rem; }
.reports-insight-query-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    margin-bottom: 0.65rem;
}
.reports-insight-query-input-wrap { max-width: none !important; }
.reports-insight-answer { margin: 0 0 0.75rem; }
.reports-action-insights-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.reports-action-card,
.reports-insight-list-panel {
    min-height: var(--sage-legacy-u-154);
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    padding: 0.85rem;
    box-shadow: var(--sage-app-shadow-elevation-4-8);
}
.reports-action-card-header {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.45rem;
}
.reports-action-card-header strong,
.reports-insight-list-panel h4 {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.9rem;
    margin: 0;
}
.reports-action-severity {
    border-radius: var(--sage-legacy-u-999);
    padding: 0.15rem 0.45rem;
    background: var(--bg-secondary, var(--sage-legacy-color-f1f5f9));
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}
.reports-action-critical .reports-action-severity { background: var(--sage-legacy-color-fee2e2); color: var(--sage-legacy-color-991b1b); }
.reports-action-warning .reports-action-severity { background: var(--sage-legacy-color-fef3c7); color: var(--sage-legacy-color-92400e); }
.reports-action-success .reports-action-severity { background: var(--sage-legacy-color-dcfce7); color: var(--sage-legacy-color-166534); }
.reports-action-info .reports-action-severity { background: color-mix(in srgb, hsl(var(--info)) 15%, hsl(var(--card))); color: hsl(var(--foreground)); }
.reports-action-metric {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}
.reports-action-card p {
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.78rem;
    line-height: 1.45;
    margin: 0 0 0.75rem;
}
.reports-insight-list-panel ol {
    display: grid;
    gap: 0.5rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}
.reports-insight-list-panel li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    padding: 0.5rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
}
.reports-insight-list-panel li span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.78rem;
    font-weight: 600;
}
.reports-insight-list-panel li strong {
    color: var(--primary, var(--primary));
    font-size: 0.8rem;
}
.reports-insight-list-panel li small {
    grid-column: 1 / -1;
    color: var(--text-secondary, var(--sage-legacy-color-475569));
    font-size: 0.72rem;
    line-height: 1.35;
}
.reports-insight-empty {
    display: block !important;
    color: var(--text-secondary, var(--sage-legacy-color-475569)) !important;
}
html.dark-mode .reports-action-card,
html.dark-mode .reports-insight-list-panel,
html.dark .reports-action-card,
html.dark .reports-insight-list-panel,
:root[data-theme="dark"] .reports-action-card,
:root[data-theme="dark"] .reports-insight-list-panel {
    background: var(--surface-color, var(--sage-legacy-color-111827));
    border-color: var(--border-color, var(--sage-legacy-color-334155));
    color: var(--text-primary, var(--sage-legacy-color-f8fafc));
    box-shadow: none;
}
html.dark-mode .reports-insight-list-panel li,
html.dark .reports-insight-list-panel li,
:root[data-theme="dark"] .reports-insight-list-panel li {
    background: var(--bg-secondary, var(--sage-legacy-color-0f172a));
    border-color: var(--border-color, var(--sage-legacy-color-334155));
}
@media (max-width: 75rem) {
    .reports-action-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 45rem) {
    .reports-insight-query-row,
    .reports-action-insights-grid { grid-template-columns: 1fr; }
}

/* Channel setup commercial readiness workflow */
.channel-setup-panel { margin-bottom: var(--sage-legacy-u-14) !important; }
.channel-setup-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.65rem 0 0.85rem;
}
.channel-summary-card {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    padding: 0.75rem 0.85rem;
    min-height: var(--sage-legacy-u-74);
}
.channel-summary-card strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 1.15rem;
    line-height: 1.1;
}
.channel-summary-card span {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 0.2rem;
}
.channel-summary-card small {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.7rem;
    margin-top: 0.2rem;
}
.channel-setup-workflow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 0.9rem;
}
.channel-setup-workflow article {
    display: grid;
    grid-template-columns: var(--sage-legacy-u-30) minmax(0, 1fr);
    gap: 0.6rem;
    align-items: start;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 0.72rem;
}
.channel-setup-workflow article > span {
    display: inline-grid;
    place-items: center;
    width: var(--sage-legacy-u-28);
    height: var(--sage-legacy-u-28);
    border-radius: var(--sage-legacy-u-999);
    background: var(--primary, var(--primary));
    color: var(--sage-legacy-color-ffffff);
    font-weight: 700;
    font-size: 0.78rem;
}
.channel-setup-workflow strong,
.channel-card-topline h4 {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.9rem;
    margin: 0;
}
.channel-setup-workflow small,
.channel-card-topline p,
.channel-card-facts p,
.channel-setting-row small {
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.74rem;
    line-height: 1.35;
}
.channel-setup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}
.channel-setup-card {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-height: 0;
    border-left: var(--sage-legacy-u-4) solid var(--primary, var(--primary));
}
.channel-setup-card-ready { border-left-color: var(--sage-legacy-color-10b981); }
.channel-setup-card-blocked { border-left-color: var(--sage-legacy-color-f59e0b); }
.channel-setup-card-pending { border-left-color: var(--sage-legacy-color-f59e0b); }
.channel-card-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.channel-readiness-meter {
    width: 100%;
    height: var(--sage-legacy-u-7);
    border-radius: var(--sage-legacy-u-999);
    overflow: hidden;
    background: var(--bg-secondary, var(--sage-legacy-color-e2e8f0));
}
.channel-readiness-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary), var(--sage-legacy-color-10b981));
}
.channel-card-facts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.55rem;
}
.channel-card-facts > div {
    min-width: 0;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 0.55rem;
}
.channel-card-facts span {
    display: block;
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
}
.channel-card-facts code {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    background: transparent;
    font-size: 0.78rem;
}
.channel-card-facts strong {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.82rem;
}
.channel-settings-list {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.5rem;
}
.channel-setting-row {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    align-items: flex-start;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-primary, var(--sage-legacy-color-ffffff));
    padding: 0.5rem;
}
.channel-setting-row strong {
    display: block;
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
    font-size: 0.78rem;
}
.channel-setting-row.is-empty {
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.78rem;
}
.channel-card-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
}
html.dark-mode .channel-summary-card,
html.dark-mode .channel-setup-workflow article,
html.dark-mode .channel-card-facts > div,
html.dark-mode .channel-setting-row,
html.dark .channel-summary-card,
html.dark .channel-setup-workflow article,
html.dark .channel-card-facts > div,
html.dark .channel-setting-row,
:root[data-theme="dark"] .channel-summary-card,
:root[data-theme="dark"] .channel-setup-workflow article,
:root[data-theme="dark"] .channel-card-facts > div,
:root[data-theme="dark"] .channel-setting-row {
    background: var(--surface-color, var(--sage-legacy-color-111827)) !important;
    border-color: var(--border-color, var(--sage-legacy-color-334155)) !important;
    color: var(--text-primary, var(--sage-legacy-color-f8fafc)) !important;
}
html.dark-mode .channel-setup-workflow article,
html.dark-mode .channel-card-facts > div,
html.dark .channel-setup-workflow article,
html.dark .channel-card-facts > div,
:root[data-theme="dark"] .channel-setup-workflow article,
:root[data-theme="dark"] .channel-card-facts > div {
    background: var(--bg-secondary, var(--sage-legacy-color-0f172a)) !important;
}
html.dark-mode .channel-summary-card strong,
html.dark-mode .channel-summary-card span,
html.dark-mode .channel-setup-workflow strong,
html.dark-mode .channel-card-topline h4,
html.dark-mode .channel-card-facts code,
html.dark-mode .channel-card-facts strong,
html.dark-mode .channel-setting-row strong,
html.dark .channel-summary-card strong,
html.dark .channel-summary-card span,
html.dark .channel-setup-workflow strong,
html.dark .channel-card-topline h4,
html.dark .channel-card-facts code,
html.dark .channel-card-facts strong,
html.dark .channel-setting-row strong,
:root[data-theme="dark"] .channel-summary-card strong,
:root[data-theme="dark"] .channel-summary-card span,
:root[data-theme="dark"] .channel-setup-workflow strong,
:root[data-theme="dark"] .channel-card-topline h4,
:root[data-theme="dark"] .channel-card-facts code,
:root[data-theme="dark"] .channel-card-facts strong,
:root[data-theme="dark"] .channel-setting-row strong {
    color: var(--text-primary, var(--sage-legacy-color-f8fafc)) !important;
}
html.dark-mode .channel-summary-card small,
html.dark-mode .channel-setup-workflow small,
html.dark-mode .channel-card-topline p,
html.dark-mode .channel-card-facts p,
html.dark-mode .channel-card-facts span,
html.dark-mode .channel-setting-row small,
html.dark .channel-summary-card small,
html.dark .channel-setup-workflow small,
html.dark .channel-card-topline p,
html.dark .channel-card-facts p,
html.dark .channel-card-facts span,
html.dark .channel-setting-row small,
:root[data-theme="dark"] .channel-summary-card small,
:root[data-theme="dark"] .channel-setup-workflow small,
:root[data-theme="dark"] .channel-card-topline p,
:root[data-theme="dark"] .channel-card-facts p,
:root[data-theme="dark"] .channel-card-facts span,
:root[data-theme="dark"] .channel-setting-row small {
    color: var(--text-secondary, var(--sage-legacy-color-cbd5e1)) !important;
}
html.dark-mode .channel-readiness-meter,
html.dark .channel-readiness-meter,
:root[data-theme="dark"] .channel-readiness-meter {
    background: var(--sage-legacy-color-1f2937) !important;
}
@media (max-width: 75rem) {
    .channel-setup-summary,
    .channel-setup-workflow,
    .channel-setup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 45rem) {
    .channel-setup-summary,
    .channel-setup-workflow,
    .channel-setup-grid,
    .channel-card-facts { grid-template-columns: 1fr; }
    .channel-card-topline { flex-direction: column; }
}

/* Scope context selector and first-run onboarding */
.sidebar-context-panel {
    display: grid;
    gap: 0.45rem;
    padding: 0.6rem 0.75rem 0.7rem;
    border-top: var(--sage-legacy-u-1) solid var(--sidebar-border, var(--sage-legacy-color-d8e0eb));
    border-bottom: var(--sage-legacy-u-1) solid var(--sidebar-border, var(--sage-legacy-color-d8e0eb));
}
.sidebar-context-button,
.sidebar-context-secondary {
    width: 100%;
    border: var(--sage-legacy-u-1) solid var(--sidebar-border, var(--sage-legacy-color-d8e0eb));
    border-radius: var(--sage-legacy-u-8);
    background: var(--sidebar-hover, var(--sage-legacy-color-f4f7fb));
    color: var(--sidebar-ink, var(--sage-legacy-color-172033));
    text-align: left;
    cursor: pointer;
}
.sidebar-context-button {
    display: grid;
    gap: 0.18rem;
    padding: 0.58rem 0.65rem;
}
.sidebar-context-kicker {
    color: var(--sidebar-muted, var(--sage-legacy-color-64748b));
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.sidebar-context-button strong {
    color: var(--sidebar-ink, var(--sage-legacy-color-172033));
    font-size: 0.82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-context-button small {
    color: var(--sidebar-muted, var(--sage-legacy-color-64748b));
    font-size: 0.72rem;
    line-height: 1.25;
}
.sidebar-context-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--sage-legacy-u-30);
    padding: 0.35rem 0.5rem;
    font-size: 0.76rem;
    font-weight: 700;
}
.sidebar-context-button:hover,
.sidebar-context-secondary:hover,
.sidebar-context-button:focus-visible,
.sidebar-context-secondary:focus-visible {
    border-color: var(--primary, var(--primary));
    box-shadow: var(--sage-app-shadow-ring-11);
    outline: none;
}

.scope-context-picker-content,
.first-run-onboarding-content {
    width: min(var(--sage-legacy-u-980), 92vw);
    max-height: 86vh;
}
.scope-context-picker-body,
.first-run-onboarding-body {
    display: grid;
    gap: 0.9rem;
}
.scope-context-toolbar {
    display: grid;
    grid-template-columns: minmax(var(--sage-legacy-u-240), 1fr) auto auto;
    gap: 0.6rem;
    align-items: center;
}
.scope-context-card-grid,
.first-run-steps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
.scope-context-card {
    display: grid;
    gap: 0.62rem;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--surface-color, var(--sage-legacy-color-ffffff));
    padding: 0.78rem;
}
.scope-context-card.is-selected {
    border-color: var(--primary, var(--primary));
    box-shadow: var(--sage-app-shadow-ring-12);
}
.scope-context-card strong,
.first-run-step-card strong,
.first-run-guidance strong,
.context-empty-state strong {
    color: var(--text-primary, var(--sage-legacy-color-0f172a));
}
.scope-context-card p,
.first-run-step-card p,
.first-run-guidance p,
.context-empty-state p {
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.82rem;
    line-height: 1.42;
    margin: 0.22rem 0 0;
}
.scope-context-card-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.scope-context-card-metrics span,
.first-run-template-gallery button {
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-999);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    color: var(--text-secondary, var(--sage-legacy-color-64748b));
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.22rem 0.48rem;
}
.scope-context-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
}
.context-empty-state {
    grid-column: 1 / -1;
    border: var(--sage-legacy-u-1) dashed var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 1rem;
    text-align: center;
}
.first-run-template-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.first-run-template-gallery button {
    cursor: pointer;
}
.first-run-template-gallery button:hover,
.first-run-template-gallery button:focus-visible {
    border-color: var(--primary, var(--primary));
    color: var(--primary, var(--primary));
    outline: none;
}
.first-run-step-card {
    display: grid;
    grid-template-columns: var(--sage-legacy-u-34) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    border: var(--sage-legacy-u-1) solid var(--border-color, var(--sage-legacy-color-cbd5e1));
    border-radius: var(--sage-legacy-u-8);
    background: var(--surface-color, var(--sage-legacy-color-ffffff));
    padding: 0.82rem;
}
.first-run-step-card > span {
    display: inline-grid;
    place-items: center;
    width: var(--sage-legacy-u-30);
    height: var(--sage-legacy-u-30);
    border-radius: var(--sage-legacy-u-999);
    background: var(--primary, var(--primary));
    color: var(--sage-legacy-color-ffffff);
    font-weight: 700;
}
.first-run-step-card .btn {
    margin-top: 0.55rem;
}
.first-run-guidance {
    border-left: var(--sage-legacy-u-4) solid var(--primary, var(--primary));
    border-radius: var(--sage-legacy-u-8);
    background: var(--bg-secondary, var(--sage-legacy-color-f8fafc));
    padding: 0.78rem 0.9rem;
}

html.dark-mode .sidebar-context-panel,
html.dark .sidebar-context-panel,
:root[data-theme="dark"] .sidebar-context-panel {
    border-color: var(--sidebar-border, var(--sage-legacy-color-334155));
}
html.dark-mode .sidebar-context-button,
html.dark-mode .sidebar-context-secondary,
html.dark .sidebar-context-button,
html.dark .sidebar-context-secondary,
:root[data-theme="dark"] .sidebar-context-button,
:root[data-theme="dark"] .sidebar-context-secondary {
    background: var(--sidebar-hover, var(--sage-legacy-color-1f2937));
    border-color: var(--sidebar-border, var(--sage-legacy-color-334155));
    color: var(--sidebar-ink, var(--sage-legacy-color-f8fafc));
}
html.dark-mode .sidebar-context-button strong,
html.dark .sidebar-context-button strong,
:root[data-theme="dark"] .sidebar-context-button strong {
    color: var(--sidebar-ink, var(--sage-legacy-color-f8fafc));
}
html.dark-mode .sidebar-context-button small,
html.dark-mode .sidebar-context-kicker,
html.dark .sidebar-context-button small,
html.dark .sidebar-context-kicker,
:root[data-theme="dark"] .sidebar-context-button small,
:root[data-theme="dark"] .sidebar-context-kicker {
    color: var(--sidebar-muted, var(--sage-legacy-color-94a3b8));
}
html.dark-mode .scope-context-card,
html.dark-mode .first-run-step-card,
html.dark-mode .context-empty-state,
html.dark-mode .first-run-guidance,
html.dark-mode .scope-context-card-metrics span,
html.dark-mode .first-run-template-gallery button,
html.dark .scope-context-card,
html.dark .first-run-step-card,
html.dark .context-empty-state,
html.dark .first-run-guidance,
html.dark .scope-context-card-metrics span,
html.dark .first-run-template-gallery button,
:root[data-theme="dark"] .scope-context-card,
:root[data-theme="dark"] .first-run-step-card,
:root[data-theme="dark"] .context-empty-state,
:root[data-theme="dark"] .first-run-guidance,
:root[data-theme="dark"] .scope-context-card-metrics span,
:root[data-theme="dark"] .first-run-template-gallery button {
    background: var(--surface-color, var(--sage-legacy-color-111827)) !important;
    border-color: var(--border-color, var(--sage-legacy-color-334155)) !important;
    color: var(--text-primary, var(--sage-legacy-color-f8fafc)) !important;
}
html.dark-mode .scope-context-card p,
html.dark-mode .first-run-step-card p,
html.dark-mode .first-run-guidance p,
html.dark-mode .context-empty-state p,
html.dark .scope-context-card p,
html.dark .first-run-step-card p,
html.dark .first-run-guidance p,
html.dark .context-empty-state p,
:root[data-theme="dark"] .scope-context-card p,
:root[data-theme="dark"] .first-run-step-card p,
:root[data-theme="dark"] .first-run-guidance p,
:root[data-theme="dark"] .context-empty-state p {
    color: var(--text-secondary, var(--sage-legacy-color-cbd5e1)) !important;
}

@media (max-width: 51.25rem) {
    .scope-context-toolbar,
    .scope-context-card-grid,
    .first-run-steps-grid {
        grid-template-columns: 1fr;
    }
    .scope-context-card-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* 2026-06-02 QA pass: default workbench tables must keep core fields and
   row actions visible within the viewport. Extra columns can be enabled from
   the Columns modal and may scroll, but the default view must not hide Actions. */
#content-page #content-table {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
}

#content-page #content-table-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
    overflow-x: hidden !important;
}

#content-page #content-list-content {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

#content-page #content-table col[data-column="document-id"] {
    width: var(--sage-legacy-u-82) !important;
}

#content-page #content-table col[data-column="title"] {
    width: var(--sage-legacy-u-260) !important;
}

#content-page #content-table col[data-column="source"] {
    width: var(--sage-legacy-u-84) !important;
}

#content-page #content-table col[data-column="content-type"] {
    width: var(--sage-legacy-u-118) !important;
}

#content-page #content-table col[data-column="size"] {
    width: var(--sage-legacy-u-74) !important;
}

#content-page #content-table col[data-column="status"] {
    width: var(--sage-legacy-u-92) !important;
}

#content-page #content-table col[data-column="created"] {
    width: var(--sage-legacy-u-132) !important;
}

#content-page #content-table col[data-column="actions"] {
    width: var(--sage-legacy-u-116) !important;
}

#content-page #content-table th[data-column="actions"],
#content-page #content-table td[data-column="actions"],
#content-page #content-table .content-actions-cell {
    width: var(--sage-legacy-u-116) !important;
    min-width: var(--sage-legacy-u-116) !important;
    max-width: var(--sage-legacy-u-116) !important;
    text-align: right !important;
    overflow: visible !important;
}

#content-page #content-table th,
#content-page #content-table td {
    min-width: 0 !important;
}

#content-page #content-table .sage-action-menu-toggle {
    min-width: var(--sage-legacy-u-92) !important;
    max-width: var(--sage-legacy-u-104) !important;
}

@media (max-width: 73.75rem) {
    #content-page #content-table col[data-column="created"],
    #content-page #content-table th[data-column="created"],
    #content-page #content-table td[data-column="created"] {
        display: none !important;
        width: 0 !important;
    }
}

/* 2026-06-02 compact default table contract:
   list pages default to fit-to-screen core columns plus a reachable Actions
   control. Users can opt into additional columns from Columns, which marks the
   table as expanded and allows intentional horizontal scroll. */
.documents-table-container[data-sage-column-density="compact"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

.documents-table[data-sage-column-density="compact"] {
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
}

.documents-table[data-sage-column-density="compact"] th,
.documents-table[data-sage-column-density="compact"] td {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.documents-table[data-sage-column-density="compact"] th:first-child:not([data-column]),
.documents-table[data-sage-column-density="compact"] td:first-child:not([data-column]) {
    width: var(--sage-legacy-u-36) !important;
    min-width: var(--sage-legacy-u-36) !important;
    max-width: var(--sage-legacy-u-36) !important;
}

.documents-table[data-sage-column-density="compact"] th[data-column="actions"],
.documents-table[data-sage-column-density="compact"] td[data-column="actions"] {
    width: var(--sage-legacy-u-116) !important;
    min-width: var(--sage-legacy-u-116) !important;
    max-width: var(--sage-legacy-u-116) !important;
    text-align: right !important;
    overflow: visible !important;
}

.documents-table[data-sage-column-density="compact"] td[data-column="actions"] .action-icons,
.documents-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu,
.documents-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle {
    width: 100% !important;
    max-width: var(--sage-legacy-u-104) !important;
    margin-left: auto !important;
}

#content-table[data-sage-column-density="compact"] [data-column="document-id"],
#content-table[data-sage-column-density="compact"] col[data-column="document-id"] {
    width: var(--sage-legacy-u-92) !important;
}

#content-table[data-sage-column-density="compact"] [data-column="title"],
#content-table[data-sage-column-density="compact"] col[data-column="title"] {
    width: 52% !important;
}

#content-table[data-sage-column-density="compact"] [data-column="source"],
#content-table[data-sage-column-density="compact"] col[data-column="source"] {
    width: var(--sage-legacy-u-110) !important;
}

#content-table[data-sage-column-density="compact"] [data-column="status"],
#content-table[data-sage-column-density="compact"] col[data-column="status"] {
    width: var(--sage-legacy-u-100) !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-90) !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="name"] {
    width: 38% !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="content"],
#scopes-table[data-sage-column-density="compact"] [data-column="chatbots"] {
    width: var(--sage-legacy-u-110) !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="default"] {
    width: var(--sage-legacy-u-90) !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-96) !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="name"] {
    width: 38% !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="status"] {
    width: var(--sage-legacy-u-96) !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="scope"] {
    width: 28% !important;
}

#user-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-82) !important;
}

#user-table[data-sage-column-density="compact"] [data-column="user"] {
    width: 24% !important;
}

#user-table[data-sage-column-density="compact"] [data-column="email"] {
    width: 32% !important;
}

#user-table[data-sage-column-density="compact"] [data-column="role"] {
    width: var(--sage-legacy-u-140) !important;
}

#user-table[data-sage-column-density="compact"] [data-column="status"] {
    width: var(--sage-legacy-u-96) !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="id"],
#model-management-table[data-sage-column-density="compact"] col[data-column="id"] {
    width: var(--sage-legacy-u-120) !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="name"],
#model-management-table[data-sage-column-density="compact"] col[data-column="name"] {
    width: 24% !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="llm-provider"],
#model-management-table[data-sage-column-density="compact"] col[data-column="llm-provider"] {
    width: var(--sage-legacy-u-110) !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="llm-model"],
#model-management-table[data-sage-column-density="compact"] col[data-column="llm-model"],
#model-management-table[data-sage-column-density="compact"] [data-column="embedding-model"],
#model-management-table[data-sage-column-density="compact"] col[data-column="embedding-model"] {
    width: 18% !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="active"],
#model-management-table[data-sage-column-density="compact"] col[data-column="active"] {
    width: var(--sage-legacy-u-80) !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-92) !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="name"] {
    width: 52% !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="category"] {
    width: var(--sage-legacy-u-132) !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="status"] {
    width: var(--sage-legacy-u-96) !important;
}

#code-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-90) !important;
}

#code-table[data-sage-column-density="compact"] [data-column="name"] {
    width: 52% !important;
}

#code-table[data-sage-column-density="compact"] [data-column="type"] {
    width: var(--sage-legacy-u-132) !important;
}

#code-table[data-sage-column-density="compact"] [data-column="status"] {
    width: var(--sage-legacy-u-96) !important;
}

/* Final compact-fit enforcement. These ID-specific rules intentionally come
   after older per-table min-width rules so the default list view fits the
   viewport with core columns plus Actions. Expanded column selections still
   use horizontal scroll through data-sage-column-density="expanded". */
#content-table-container[data-sage-column-density="compact"],
#scopes-table-container[data-sage-column-density="compact"],
#chatbots-table-container[data-sage-column-density="compact"],
#user-table-container[data-sage-column-density="compact"],
#model-management-table-container[data-sage-column-density="compact"],
#reports-table-container[data-sage-column-density="compact"],
#code-table-container[data-sage-column-density="compact"],
#ingestion-logs-table-container[data-sage-column-density="compact"],
#connectors-table-container[data-sage-column-density="compact"],
#webhooks-table-container[data-sage-column-density="compact"],
#audit-log-table-container[data-sage-column-density="compact"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

#content-table[data-sage-column-density="compact"],
#scopes-table[data-sage-column-density="compact"],
#chatbots-table[data-sage-column-density="compact"],
#user-table[data-sage-column-density="compact"],
#model-management-table[data-sage-column-density="compact"],
#reports-table[data-sage-column-density="compact"],
#code-table[data-sage-column-density="compact"],
#ingestion-logs-table[data-sage-column-density="compact"],
#connectors-table[data-sage-column-density="compact"],
#webhooks-table[data-sage-column-density="compact"],
#audit-log-table[data-sage-column-density="compact"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
}

#content-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#content-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#scopes-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#scopes-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#chatbots-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#chatbots-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#user-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#user-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#model-management-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#model-management-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#reports-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#reports-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#code-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#code-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#ingestion-logs-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#ingestion-logs-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#connectors-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#connectors-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#webhooks-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#webhooks-table[data-sage-column-density="compact"] td:not([style*="display: none"]),
#audit-log-table[data-sage-column-density="compact"] th:not([style*="display: none"]),
#audit-log-table[data-sage-column-density="compact"] td:not([style*="display: none"]) {
    min-width: 0 !important;
    max-width: none !important;
}

#content-table[data-sage-column-density="compact"] th[data-column="actions"],
#content-table[data-sage-column-density="compact"] td[data-column="actions"],
#scopes-table[data-sage-column-density="compact"] th[data-column="actions"],
#scopes-table[data-sage-column-density="compact"] td[data-column="actions"],
#chatbots-table[data-sage-column-density="compact"] th[data-column="actions"],
#chatbots-table[data-sage-column-density="compact"] td[data-column="actions"],
#user-table[data-sage-column-density="compact"] th[data-column="actions"],
#user-table[data-sage-column-density="compact"] td[data-column="actions"],
#model-management-table[data-sage-column-density="compact"] th[data-column="actions"],
#model-management-table[data-sage-column-density="compact"] td[data-column="actions"],
#reports-table[data-sage-column-density="compact"] th[data-column="actions"],
#reports-table[data-sage-column-density="compact"] td[data-column="actions"],
#code-table[data-sage-column-density="compact"] th[data-column="actions"],
#code-table[data-sage-column-density="compact"] td[data-column="actions"],
#ingestion-logs-table[data-sage-column-density="compact"] th[data-column="actions"],
#ingestion-logs-table[data-sage-column-density="compact"] td[data-column="actions"],
#connectors-table[data-sage-column-density="compact"] th[data-column="actions"],
#connectors-table[data-sage-column-density="compact"] td[data-column="actions"],
#webhooks-table[data-sage-column-density="compact"] th[data-column="actions"],
#webhooks-table[data-sage-column-density="compact"] td[data-column="actions"],
#audit-log-table[data-sage-column-density="compact"] th[data-column="actions"],
#audit-log-table[data-sage-column-density="compact"] td[data-column="actions"] {
    width: var(--sage-legacy-u-104) !important;
    min-width: var(--sage-legacy-u-104) !important;
    max-width: var(--sage-legacy-u-104) !important;
    overflow: visible !important;
    text-align: right !important;
}

#content-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#scopes-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#chatbots-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#user-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#model-management-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#reports-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#code-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#ingestion-logs-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#connectors-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#webhooks-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle,
#audit-log-table[data-sage-column-density="compact"] td[data-column="actions"] .sage-action-menu-toggle {
    width: var(--sage-legacy-u-92) !important;
    min-width: 0 !important;
    max-width: var(--sage-legacy-u-92) !important;
}

#chatbots-table[data-sage-column-density="compact"] th:first-child:not([data-column]),
#chatbots-table[data-sage-column-density="compact"] td:first-child:not([data-column]),
#scopes-table[data-sage-column-density="compact"] th:first-child:not([data-column]),
#scopes-table[data-sage-column-density="compact"] td:first-child:not([data-column]),
#user-table[data-sage-column-density="compact"] th:first-child:not([data-column]),
#user-table[data-sage-column-density="compact"] td:first-child:not([data-column]),
#reports-table[data-sage-column-density="compact"] th:first-child:not([data-column]),
#reports-table[data-sage-column-density="compact"] td:first-child:not([data-column]) {
    width: var(--sage-legacy-u-32) !important;
    min-width: var(--sage-legacy-u-32) !important;
    max-width: var(--sage-legacy-u-32) !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="id"],
#user-table[data-sage-column-density="compact"] [data-column="id"],
#scopes-table[data-sage-column-density="compact"] [data-column="id"],
#reports-table[data-sage-column-density="compact"] [data-column="id"],
#code-table[data-sage-column-density="compact"] [data-column="id"],
#ingestion-logs-table[data-sage-column-density="compact"] [data-column="id"],
#connectors-table[data-sage-column-density="compact"] [data-column="id"],
#webhooks-table[data-sage-column-density="compact"] [data-column="id"],
#audit-log-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-82) !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="id"] {
    width: var(--sage-legacy-u-108) !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="name"],
#user-table[data-sage-column-density="compact"] [data-column="user"],
#reports-table[data-sage-column-density="compact"] [data-column="name"],
#code-table[data-sage-column-density="compact"] [data-column="name"],
#connectors-table[data-sage-column-density="compact"] [data-column="name"],
#webhooks-table[data-sage-column-density="compact"] [data-column="name"] {
    width: auto !important;
}

/* Default list fit contract: the workbench grid itself may not expand wider
   than the viewport when the default compact column set is active. Detail
   columns remain available through the Columns dialog and can use the
   explicit expanded scroll path. */
#content-page.page-content.active,
#scopes-page.page-content.active,
#chatbots-page.page-content.active,
#users-page.page-content.active,
#model-management-page.page-content.active,
#reports-page.page-content.active,
#code-management-page.page-content.active,
#ingestion-logs-page.page-content.active,
#connectors-page.page-content.active,
#webhooks-page.page-content.active,
#audit-log-page.page-content.active {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

#content-list-content,
#scopes-list-content,
#chatbots-list-content,
#user-list-content,
#model-management-list-content,
#reports-list-content,
#code-management-list-content,
#ingestion-logs-list-content,
#connectors-list-controls-content,
#webhooks-list-controls-content,
#audit-log-list-controls-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-x: hidden !important;
}

#reports-table-container:not([data-sage-column-density="expanded"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

#reports-table:not([data-sage-column-density="expanded"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
}

/* Initial-render defaults before JavaScript column configuration finishes.
   These selectors intentionally turn off once the table is marked expanded
   by the Columns workflow. */
#content-table:not([data-sage-column-density="expanded"]) [data-column="content-type"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="document-type"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="file-path"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="size"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="readiness"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="signals"],
#content-table:not([data-sage-column-density="expanded"]) [data-column="created"],
#chatbots-table:not([data-sage-column-density="expanded"]) [data-column="health"],
#chatbots-table:not([data-sage-column-density="expanded"]) [data-column="channels"],
#chatbots-table:not([data-sage-column-density="expanded"]) [data-column="theme"],
#chatbots-table:not([data-sage-column-density="expanded"]) [data-column="position"],
#chatbots-table:not([data-sage-column-density="expanded"]) [data-column="created"],
#reports-table:not([data-sage-column-density="expanded"]) [data-column="description"],
#reports-table:not([data-sage-column-density="expanded"]) [data-column="source"],
#reports-table:not([data-sage-column-density="expanded"]) [data-column="updated"] {
    display: none !important;
}

/* Keep row actions reachable even when a user intentionally expands optional
   columns. The default compact view should not scroll; expanded custom views
   may scroll, but Actions stay anchored at the right edge. */
#content-table[data-sage-column-density="expanded"] th[data-column="actions"],
#content-table[data-sage-column-density="expanded"] td[data-column="actions"],
#scopes-table[data-sage-column-density="expanded"] th[data-column="actions"],
#scopes-table[data-sage-column-density="expanded"] td[data-column="actions"],
#chatbots-table[data-sage-column-density="expanded"] th[data-column="actions"],
#chatbots-table[data-sage-column-density="expanded"] td[data-column="actions"],
#user-table[data-sage-column-density="expanded"] th[data-column="actions"],
#user-table[data-sage-column-density="expanded"] td[data-column="actions"],
#model-management-table[data-sage-column-density="expanded"] th[data-column="actions"],
#model-management-table[data-sage-column-density="expanded"] td[data-column="actions"],
#reports-table[data-sage-column-density="expanded"] th[data-column="actions"],
#reports-table[data-sage-column-density="expanded"] td[data-column="actions"],
#code-table[data-sage-column-density="expanded"] th[data-column="actions"],
#code-table[data-sage-column-density="expanded"] td[data-column="actions"],
#ingestion-logs-table[data-sage-column-density="expanded"] th[data-column="actions"],
#ingestion-logs-table[data-sage-column-density="expanded"] td[data-column="actions"],
#connectors-table[data-sage-column-density="expanded"] th[data-column="actions"],
#connectors-table[data-sage-column-density="expanded"] td[data-column="actions"],
#webhooks-table[data-sage-column-density="expanded"] th[data-column="actions"],
#webhooks-table[data-sage-column-density="expanded"] td[data-column="actions"],
#audit-log-table[data-sage-column-density="expanded"] th[data-column="actions"],
#audit-log-table[data-sage-column-density="expanded"] td[data-column="actions"] {
    position: sticky !important;
    right: 0 !important;
    z-index: var(--sage-app-layer-raised) !important;
    background: var(--bg-primary) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-11) !important;
}

html.dark-mode #content-table[data-sage-column-density="expanded"] th[data-column="actions"],
html.dark-mode #content-table[data-sage-column-density="expanded"] td[data-column="actions"],
html.dark #content-table[data-sage-column-density="expanded"] th[data-column="actions"],
html.dark #content-table[data-sage-column-density="expanded"] td[data-column="actions"],
[data-theme="dark"] #content-table[data-sage-column-density="expanded"] th[data-column="actions"],
[data-theme="dark"] #content-table[data-sage-column-density="expanded"] td[data-column="actions"],
html.dark-mode [data-sage-column-density="expanded"] th[data-column="actions"],
html.dark-mode [data-sage-column-density="expanded"] td[data-column="actions"],
html.dark [data-sage-column-density="expanded"] th[data-column="actions"],
html.dark [data-sage-column-density="expanded"] td[data-column="actions"],
[data-theme="dark"] [data-sage-column-density="expanded"] th[data-column="actions"],
[data-theme="dark"] [data-sage-column-density="expanded"] td[data-column="actions"] {
    background: var(--sage-legacy-color-111827) !important;
    box-shadow: var(--sage-app-shadow-elevation-4-12) !important;
}

/* Final cascade guard for active Administration links after late sidebar resets. */
html.dark-mode .sidebar-user-expandable-item.active,
html.dark .sidebar-user-expandable-item.active,
[data-theme="dark"] .sidebar-user-expandable-item.active,
html.dark-mode .sidebar-user-expandable-content .sidebar-user-expandable-item.active,
html.dark .sidebar-user-expandable-content .sidebar-user-expandable-item.active,
[data-theme="dark"] .sidebar-user-expandable-content .sidebar-user-expandable-item.active {
    color: var(--sidebar-active-ink) !important;
}

html.dark-mode .sidebar-user-expandable-item.active *,
html.dark .sidebar-user-expandable-item.active *,
[data-theme="dark"] .sidebar-user-expandable-item.active *,
html.dark-mode .sidebar-user-expandable-content .sidebar-user-expandable-item.active *,
html.dark .sidebar-user-expandable-content .sidebar-user-expandable-item.active *,
[data-theme="dark"] .sidebar-user-expandable-content .sidebar-user-expandable-item.active * {
    color: var(--sidebar-active-ink) !important;
}

html.dark-mode #persona-templates-table-container,
html.dark #persona-templates-table-container,
:root[data-theme="dark"] #persona-templates-table-container {
    background: var(--list-card-bg, var(--bg-primary)) !important;
    border-color: var(--border) !important;
    color: var(--text-primary) !important;
}

/* ---------------------------------------------------------------------------
   WCAG 2.2 §2.5.8 Target Size (Minimum) — 24 by 24 CSS pixels.
   The dense workbench rows shrank three control classes below the floor:
   row-selection checkboxes rendered at 13 units, the row action-menu toggle at 21 units
   tall, and the sidebar logout button at 15 units tall. Rather than enlarging the
   visual control (which would break the dense list rhythm the archetype needs),
   each control keeps its painted size and gains hit area — the spacing exception
   in 2.5.8 is not relied on, the target itself now meets the minimum.
   --------------------------------------------------------------------------- */
.sage-table input[type="checkbox"],
.documents-table input[type="checkbox"],
.users-table input[type="checkbox"],
.model-config-table input[type="checkbox"],
.scope-content-table input[type="checkbox"],
input[type="checkbox"].content-select,
input[type="checkbox"].chatbot-select,
input[type="checkbox"].code-select,
input[type="checkbox"].scope-select,
input[type="checkbox"].document-select,
input[type="checkbox"][id$="-select-all"] {
    position: relative;
    min-width: var(--sage-legacy-u-24);
    min-height: var(--sage-legacy-u-24);
}

.sage-table input[type="checkbox"]::after,
.documents-table input[type="checkbox"]::after,
.users-table input[type="checkbox"]::after,
.model-config-table input[type="checkbox"]::after,
.scope-content-table input[type="checkbox"]::after,
input[type="checkbox"].content-select::after,
input[type="checkbox"].chatbot-select::after,
input[type="checkbox"].code-select::after,
input[type="checkbox"].scope-select::after,
input[type="checkbox"].document-select::after,
input[type="checkbox"][id$="-select-all"]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--sage-legacy-u-24);
    height: var(--sage-legacy-u-24);
    transform: translate(-50%, -50%);
}

.user-action-btn,
.user-action-btn-logout {
    min-height: var(--sage-legacy-u-28) !important;
}


/* ---------------------------------------------------------------------------
   Dark-theme filled-control foreground, last so it wins over the earlier
   generated dark-mode passes. White on the dark primary is 3.67:1; --primary-ink
   is the dark-on-fill pairing this app already uses for filled primaries
   (DEF-0012), and it clears AA on the same fill.
   --------------------------------------------------------------------------- */
/* Fill = --primary (the dark-theme link blue): white is 3.67:1, dark ink is 4.84:1.
   The expandable sidebar items sit in this group: their dark-mode rule paints them with
   --primary, unlike the top-level nav links which keep the suite violet. */
:root[data-theme="dark"] .sage-density-switcher button.active,
:root.dark .sage-density-switcher button.active,
:root.dark-mode .sage-density-switcher button.active,
:root[data-theme="dark"] .view-toggle-btn.active,
:root.dark .view-toggle-btn.active,
:root.dark-mode .view-toggle-btn.active,
:root[data-theme="dark"] .sidebar-user-expandable-content .sidebar-user-expandable-item.active,
:root[data-theme="dark"] .sidebar-user-expandable-content .sidebar-user-expandable-item.active *,
:root.dark .sidebar-user-expandable-content .sidebar-user-expandable-item.active,
:root.dark .sidebar-user-expandable-content .sidebar-user-expandable-item.active *,
:root.dark-mode .sidebar-user-expandable-content .sidebar-user-expandable-item.active,
:root.dark-mode .sidebar-user-expandable-content .sidebar-user-expandable-item.active * {
    color: var(--primary-ink, var(--sage-legacy-color-0f172a)) !important;
    -webkit-text-fill-color: var(--primary-ink, var(--sage-legacy-color-0f172a)) !important;
}

/* Fill = the suite violet: white is 5.6:1, dark ink is only 3.15:1. */
:root[data-theme="dark"] .nav-menu-link.active,
:root[data-theme="dark"] .nav-menu-link.active *,
:root.dark .nav-menu-link.active,
:root.dark .nav-menu-link.active *,
:root.dark-mode .nav-menu-link.active,
:root.dark-mode .nav-menu-link.active *,
[data-theme-mode].active,
:root[data-theme="dark"] [data-theme-mode].active {
    color: var(--sage-legacy-color-ffffff) !important;
}

/* ---------------------------------------------------------------------------
   WCAG 2.2 §2.5.8 Target Size (Minimum), second pass.
   The surface walk measured four control families still under the 24-unit floor
   at their painted size: the row action-menu toggle, the row "Details" button,
   metric drill-in buttons, the password reveal, and the "Why?" explainers. Each
   keeps its visual weight and gains height, so the dense list rhythm is intact.
   --------------------------------------------------------------------------- */
.sage-action-menu-toggle,
.btn-sm,
.sage-password-toggle,
.sage-why-btn,
.scope-metric-link,
[data-why],
[data-sage-ai-why],
.sage-ai-card__link,
.metric-drill-btn,
button.link-button {
    min-height: var(--sage-legacy-u-28) !important;
    min-width: var(--sage-legacy-u-28) !important;
}

/* Form-level failure beside the builder's submit button. The builder has seven tabs, so a
   message rendered only on the field that caused it is off-screen whenever the user is on
   another tab — this repeats it where they are looking. */
.chatbot-form-error {
    flex: 1 1 100%;
    order: -1;
    margin-bottom: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--sage-legacy-u-8);
    border: var(--sage-legacy-u-1) solid color-mix(in srgb, hsl(var(--destructive)) 35%, hsl(var(--border)));
    background: color-mix(in srgb, hsl(var(--destructive)) 10%, hsl(var(--card)));
    color: hsl(var(--foreground));
    font-size: var(--font-size-sm);
}
