﻿/* 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: -40px;
    left: 0;
    background: var(--primary);
    color: #fff;
    padding: var(--spacing-sm) var(--spacing-md);
    z-index: 10000;
    font-size: var(--font-size-base);
    text-decoration: none;
    border-radius: 0 0 4px 0;
    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) */
.badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: var(--font-size-sm);
    font-weight: 500;
}
.badge-success {
    background: var(--success);
    color: #fff;
}

.badge-error {
    background: var(--error);
    color: #fff;
}

.sage-panel {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 4px 0 0;
    color: var(--text-secondary);
}

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

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

.sage-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 2px;
}

.sage-details-block {
    border: 1px solid var(--border);
    border-radius: 8px;
    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 44x44px interactive area */
.touch-target {
    min-height: 44px;
    min-width: 44px;
}

/* Statistics Count Blocks / Stats Bar */
.stats-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}
.stat-card {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: box-shadow 0.15s;
}
.stat-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.stat-card .stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.stat-card .stat-icon.primary   { background: #eef2ff; color: var(--primary); }
.stat-card .stat-icon.success   { background: #ecfdf5; color: var(--success); }
.stat-card .stat-icon.warning   { background: #fffbeb; color: var(--warning); }
.stat-card .stat-icon.error     { background: #fef2f2; color: var(--error); }
.stat-card .stat-icon.info      { background: #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: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: var(--spacing-sm) var(--spacing-md);
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-sm);
    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: #1e293b;
    border-color: #334155;
    color: #93c5fd;
}

/* Collapsible list controls */
.list-controls-wrapper {
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 45px;
}

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

.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%)), black 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%)), black 12%);
    
    /* Neutral Colors (light) */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --text-primary: #1a1a1a;
    --text-secondary: #666666;
    --text-tertiary: #999999;
    --border: #e0e0e0;
    --border-hover: #d0d0d0;
    /* List table header - CodeGuide gray-50 / slightly darker */
    --table-header-bg: #f9fafb;
    --table-header-text: #374151;
    /* CodeGuide layout: page gray-50, sidebar & top bar white */
    --app-bg: #f9fafb;
    --header-bg: #ffffff;
    --sidebar-bg: #ffffff;
    /* Sidebar nav - light theme: dark text on light sidebar (CodeGuide parity) */
    --sidebar-nav-text: #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: #f9fafb;
    --sidebar-border: rgba(0, 0, 0, 0.08);
    --sidebar-user-bg: #f9fafb;
    --sidebar-submenu-bg: transparent;
    
    /* Status Colors */
    --success: #10b981;
    --warning: #f59e0b;
    --error: #ef4444;
    --info: #3b82f6;
    
    /* Layout - fixed header (CodeGuide parity); reserves space so Add Content / Show Controls are not hidden */
    --header-height: 80px;

    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    
    /* Typography */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --font-size-sm: 13px;
    --font-size-base: 14px;
    --font-size-lg: 16px;
    --font-size-xl: 18px;
    --font-size-2xl: 24px;

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

    /* 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: #1f2937 !important;
    --bg-secondary: #374151 !important;
    --bg-tertiary: #4b5563 !important;
    --text-primary: #f9fafb !important;
    --text-secondary: #d1d5db !important;
    --text-tertiary: #9ca3af !important;
    --border: #374151 !important;
    --border-hover: #4b5563 !important;
    --primary-light: hsl(var(--suite, 262 83% 58%) / 0.22) !important;
    --table-header-bg: #374151 !important;
    --table-header-text: #ffffff !important;
    /* CodeGuide: page bg gray-900, sidebar & top bar gray-800 */
    --app-bg: #111827 !important;
    --header-bg: #1f2937 !important;
    --sidebar-bg: #1f2937 !important;
    --sidebar-border: rgba(255, 255, 255, 0.08) !important;
    --sidebar-active-bg: hsl(var(--suite, 262 83% 58%) / 0.30) !important;
    --sidebar-user-bg: #1f2937 !important;
    /* Sidebar nav - dark theme (CodeGuide parity) */
    --sidebar-nav-text: #d1d5db !important;
    --sidebar-nav-text-active: hsl(var(--suite, 262 83% 58%)) !important;
    --sidebar-nav-hover-bg: #374151 !important;
    /* List card = CodeGuide DataTable: gray-800 container, gray-700 header */
    --list-card-bg: #1f2937 !important;
    --list-card-header-bg: #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: #1f2937;
        --bg-secondary: #374151;
        --bg-tertiary: #4b5563;
        --text-primary: #f9fafb;
        --text-secondary: #d1d5db;
        --text-tertiary: #9ca3af;
        --border: #374151;
        --border-hover: #4b5563;
        --primary-light: rgba(79, 70, 229, 0.2);
        --table-header-bg: #374151;
        --table-header-text: #ffffff;
        --app-bg: #111827;
        --header-bg: #1f2937;
        --sidebar-bg: #1f2937;
        --sidebar-border: rgba(255, 255, 255, 0.08);
        --sidebar-active-bg: rgba(79, 70, 229, 0.3);
        --sidebar-user-bg: #1f2937;
        --list-card-bg: #1f2937;
        --list-card-header-bg: #374151;
        --sidebar-submenu-bg: rgba(0, 0, 0, 0.25);
    }
}

/* 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: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Reusable loading spinner */
.loading-spinner {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid var(--border);
    border-top-color: var(--primary);
    border-radius: 50%;
    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: 256px;
    width: calc(100% - 256px);
    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: 1023px) {
    .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: 100;
    min-height: var(--header-height);
    background: var(--header-bg, var(--bg-primary));
    border-bottom: 1px 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: 1024px) {
    .main-content-header {
        left: 280px;
        width: calc(100% - 280px);
    }
}

/* Main Content Area - CodeGuide page background */
.admin-main {
    flex: 1;
    width: 100%;
    max-width: 1400px;
    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: 256px;
    min-width: 256px;
    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: 1050;
    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: 1023px) {
    .sidebar-nav {
        transform: translateX(-100%);
    }
    .sidebar-nav.open {
        transform: translateX(0);
    }
}

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

/* Sidebar overlay - mobile only; shown when sidebar open */
.sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(0, 0, 0, 0.5);
    display: none;
}

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

[data-theme="dark"] .sidebar-overlay {
    background: rgba(0, 0, 0, 0.75);
}

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

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

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

.sidebar-toggle svg {
    width: 24px;
    height: 24px;
}

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

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

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

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

/* Main content full width on mobile (sidebar off-screen) */
@media (max-width: 1023px) {
    .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: 64px;
    padding: 0 16px;
    border-bottom: 1px 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: 8px;
    cursor: pointer;
}

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

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

.logo-icon {
    font-size: 32px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    border-radius: 8px;
    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, #374151);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logo-tagline {
    font-size: var(--font-size-sm);
    color: var(--sidebar-nav-text, #374151);
    opacity: 0.85;
    margin-top: 4px;
    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: 8px 8px;
}

.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: 4px 16px;
    margin: 0 0 2px 0;
    color: var(--sidebar-nav-text);
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    user-select: none;
    position: relative;
    min-height: 32px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
}

.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: 16px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    flex-shrink: 0;
}

.nav-text {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.nav-chevron {
    font-size: 12px;
    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, rgba(0, 0, 0, 0.2));
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.nav-menu-item-expandable.expanded .nav-submenu {
    max-height: 500px;
}

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

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

.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: 2px solid var(--primary);
}

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

.nav-submenu-link .nav-icon {
    font-size: 16px;
    width: 20px;
    height: 20px;
    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: 1px solid var(--sidebar-border);
    padding: var(--spacing-md);
    background: var(--sidebar-user-bg, var(--bg-secondary));
}

.sidebar-divider {
    height: 1px;
    background: var(--sidebar-border, rgba(255, 255, 255, 0.1));
    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: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #9333ea 0%, var(--primary) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    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: 2px;
}

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

.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: 1px solid var(--border);
    border-radius: 6px;
    color: var(--sidebar-nav-text);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: all 0.2s;
}

.user-action-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.user-action-btn-logout {
    color: #ff6b6b;
    border-color: rgba(255, 107, 107, 0.3);
}

.user-action-btn-logout:hover {
    background: rgba(255, 107, 107, 0.1);
    color: #ff5252;
}

.user-action-icon {
    font-size: 16px;
}

.user-action-text {
    font-size: var(--font-size-sm);
}

/* 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: 10px;
    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: 200px;
}

.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) + 20px);
    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: 18px;
}

/* Main Content Wrapper - reserve space for fixed header */
.main-content-wrapper {
    flex: 1;
    margin-left: 280px;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh;
    background: var(--bg-secondary);
    transition: background-color 0.3s ease;
    width: calc(100% - 280px) !important;
    min-width: calc(100% - 280px) !important;
    max-width: calc(100% - 280px) !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: 2px solid var(--border) !important;
    padding: var(--spacing-lg) var(--spacing-xl) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !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: 1024px) {
    .main-content-header {
        left: 280px !important;
        width: calc(100% - 280px) !important;
    }
}

.page-title-section {
    max-width: 1400px;
    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 4px 0;
    visibility: visible !important;
}

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

.page-breadcrumbs {
    font-size: 12px;
    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: 10px 12px;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    border-top: 1px solid var(--border);
    border-bottom: 1px 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: 6px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    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: 4px;
}

.pagination-btn {
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: all 0.2s;
    min-width: 32px;
    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: 6px 12px;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    font-weight: 500;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

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

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

[data-theme="dark"] .per-page-select,
html.dark-mode .per-page-select {
    background: var(--list-card-header-bg);
    border-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: #3b82f6;
}

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

.action-link-edit {
    color: #ef4444;
}

.action-link-edit:hover {
    color: #dc2626;
    text-decoration: underline;
}

.action-link-delete {
    color: #ef4444;
}

.action-link-delete:hover {
    color: #dc2626;
    text-decoration: underline;
}

/* Main Content - CodeGuide page background */
.admin-main {
    flex: 1 !important;
    max-width: 1400px;
    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: 200px !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: 1px solid var(--border);
    border-radius: 8px;
    padding: 0;
    margin-bottom: var(--spacing-lg);
    overflow: hidden;
}

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

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

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

.content-scope-body {
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

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

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

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

.content-type-select-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 13px;
    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: 0 0 0 3px var(--primary-light);
}

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

/* Admin Tabs */
.admin-tabs {
    display: flex;
    gap: var(--spacing-sm);
    border-bottom: 2px solid var(--border);
    margin-bottom: var(--spacing-lg);
    background: var(--bg-primary);
    border-radius: 8px 8px 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: 3px solid transparent;
    transition: all 0.2s;
    white-space: nowrap;
    min-height: 44px;
}

.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: 1px solid var(--border);
    border-radius: 8px;
    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: 1px solid var(--border);
    border-radius: 8px;
    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: 8px;
}

.pagination-info {
    color: var(--text-secondary);
    font-size: var(--font-size-base);
    min-width: 120px;
    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: 8px;
    padding: 0;
    margin-top: var(--spacing-lg);
    border: 1px solid var(--border);
    overflow: hidden;
}

.list-section.collapsible-section .section-header {
    margin: 0;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    border-bottom: 1px 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: 200px;
    display: flex;
    gap: var(--spacing-sm);
}

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

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

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

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

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

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

[data-theme="dark"] .btn-primary:hover,
html.dark-mode .btn-primary:hover {
    background: #818cf8;
}

.btn-secondary {
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px 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: 1px 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: #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 44x44px touch target (WCAG 2.2 AAA - MOBILE_RESPONSIVE_STANDARDS) */
.btn-icon {
    padding: 0;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 1.5px solid var(--border);
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    font-size: 14px;
    line-height: 1;
    position: relative;
    z-index: 1001;
    pointer-events: auto;
}

/* Dark mode toggle button - ensure it's always clickable */
#dark-mode-toggle {
    position: relative !important;
    z-index: 1002 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    min-width: 40px !important;
    min-height: 40px !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: rgba(255, 255, 255, 0.3) !important;
}

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

#dark-mode-toggle:focus {
    outline: 2px solid rgba(255, 255, 255, 0.5) !important;
    outline-offset: 2px !important;
}

.btn-icon:hover {
    background: var(--bg-secondary);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

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

.btn-icon.btn-success:hover {
    background: rgba(16, 185, 129, 0.1);
    border-color: #059669;
    color: #059669;
}

[data-theme="dark"] .btn-icon.btn-success:hover,
.dark-mode .btn-icon.btn-success:hover {
    background: rgba(16, 185, 129, 0.2);
}

.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: rgba(245, 158, 11, 0.1);
    border-color: #d97706;
    color: #d97706;
}

[data-theme="dark"] .btn-icon.btn-warning:hover,
.dark-mode .btn-icon.btn-warning:hover {
    background: rgba(245, 158, 11, 0.2);
}

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

.btn-icon.btn-danger:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: #dc2626;
    color: #dc2626;
}

[data-theme="dark"] .btn-icon.btn-danger:hover,
.dark-mode .btn-icon.btn-danger:hover {
    background: rgba(239, 68, 68, 0.2);
}

/* Icon button variants */
.btn-icon-view {
    border-color: #3b82f6;
    color: #3b82f6;
}

.btn-icon-view:hover {
    background: rgba(59, 130, 246, 0.1);
    border-color: var(--primary);
    color: var(--primary);
}

[data-theme="dark"] .btn-icon-view:hover,
.dark-mode .btn-icon-view:hover {
    background: rgba(59, 130, 246, 0.2);
}

.btn-icon-edit {
    border-color: #f59e0b;
    color: #f59e0b;
}

.btn-icon-edit:hover {
    background: rgba(245, 158, 11, 0.1);
    border-color: #d97706;
    color: #d97706;
}

[data-theme="dark"] .btn-icon-edit:hover,
.dark-mode .btn-icon-edit:hover {
    background: rgba(245, 158, 11, 0.2);
}

.btn-icon-delete {
    border-color: #ef4444;
    color: #ef4444;
}

.btn-icon-delete:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: #dc2626;
    color: #dc2626;
}

[data-theme="dark"] .btn-icon-delete:hover,
.dark-mode .btn-icon-delete:hover {
    background: rgba(239, 68, 68, 0.2);
}

.btn-icon-reprocess {
    border-color: #059669;
    color: #059669;
}

.btn-icon-reprocess:hover:not(:disabled) {
    background: rgba(5, 150, 105, 0.1);
    border-color: #047857;
    color: #047857;
}

[data-theme="dark"] .btn-icon-reprocess:hover:not(:disabled),
.dark-mode .btn-icon-reprocess:hover:not(:disabled) {
    background: rgba(5, 150, 105, 0.2);
}

/* Action icons container */
.action-icons {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
}

/* Smaller action button icons on all lists (Content, Scopes, Chatbots, Code, Users, etc.) */
.action-icons .btn-icon {
    min-width: 26px;
    min-height: 26px;
    width: 26px;
    height: 26px;
}
.action-icons .btn-icon svg {
    width: 12px;
    height: 12px;
    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: 8px;
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - 260px);
    min-height: 280px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    transition: background-color 0.2s;
    border: 1px 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: 36px;
    min-width: 36px;
    max-width: 36px;
    padding: 4px 2px 4px 6px;
    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: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    padding: 4px 2px 4px 4px !important;
    box-sizing: border-box !important;
}
#content-table th:nth-child(2),
#content-table td:nth-child(2) {
    padding-left: 4px !important;
    box-sizing: border-box !important;
}
#content-table thead th:nth-child(1) { padding: 4px 2px 4px 4px !important; }
#content-table thead th:nth-child(2) { padding: 4px 8px 4px 4px !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: 2px 6px;
    font-size: 11px;
    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: 52px;
    padding: 4px 8px 4px 4px;
}

/* Title column - large to fill list */
.documents-table th:nth-child(3),
.documents-table td:nth-child(3) {
    width: 24%;
    min-width: 120px;
    padding: 4px 8px;
    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: 48px;
    padding: 4px 8px;
    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: 48px;
    padding: 4px 8px;
    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: 48px;
    padding: 4px 8px;
    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: 100px;
    padding: 4px 8px;
    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: 48px;
    padding: 4px 8px;
    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: 52px;
    padding: 4px 8px;
    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: 64px;
    padding: 4px 8px;
    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: 140px;
    padding: 4px 8px;
    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: 8px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    color: var(--table-header-text, var(--text-primary));
    border-bottom: 1px 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: 4px 6px;
    border-bottom: 1px 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: 8px;
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - 260px);
    min-height: 280px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 1px solid var(--border);
    box-sizing: border-box !important;
    visibility: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

#scopes-table {
    width: 100%;
    min-width: 1120px;
    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: 32px;
    min-width: 32px;
    max-width: 32px;
    padding: 4px 2px !important;
}
#scopes-table th:nth-child(2),
#scopes-table td:nth-child(2) { width: 8%; min-width: 84px; padding: 6px 10px; }
#scopes-table th:nth-child(3),
#scopes-table td:nth-child(3) { width: 18%; min-width: 180px; padding: 6px 10px; }
#scopes-table th:nth-child(4),
#scopes-table td:nth-child(4) { width: 28%; min-width: 260px; padding: 6px 10px; }
#scopes-table th:nth-child(5),
#scopes-table td:nth-child(5) { width: 10%; min-width: 120px; padding: 6px 10px; }
#scopes-table th:nth-child(6),
#scopes-table td:nth-child(6) { width: 10%; min-width: 120px; padding: 6px 10px; }
#scopes-table th:nth-child(7),
#scopes-table td:nth-child(7) { width: 9%; min-width: 100px; padding: 6px 10px; }
#scopes-table th:nth-child(8),
#scopes-table td:nth-child(8) { width: 9%; min-width: 100px; padding: 6px 10px; }
#scopes-table th:nth-child(9),
#scopes-table td:nth-child(9) { width: 14%; min-width: 150px; padding: 6px 10px; }

#scopes-table th {
    padding: 4px 6px;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    color: var(--table-header-text, var(--text-primary));
    border-bottom: 1px 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: 6px 10px;
    border-bottom: 1px 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: 48px;
    height: 26px;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--primary);
    font-weight: 700;
    font-size: 12px;
}

.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: 24px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.scope-type-badge.default {
    color: #065f46;
    background: #d1fae5;
}

.scope-type-badge.custom {
    color: var(--primary);
    background: #dbeafe;
}

.scope-metric-link {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    min-width: 92px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 0 0 0 3px var(--primary-light, rgba(37, 99, 235, 0.14));
}

.scope-metric-link strong {
    font-size: 16px;
    line-height: 1;
}

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

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

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

.scope-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 16px;
    box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.scope-card-header,
.scope-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

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

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

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

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

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

.scope-card-metrics strong {
    font-size: 16px;
    line-height: 1;
}

.scope-card-metrics span span,
.scope-card-metrics button span {
    color: var(--text-tertiary);
    font-size: 11px;
    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: 8px;
    overflow-x: scroll;
    overflow-y: scroll;
    max-height: calc(100vh - 260px);
    min-height: 280px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 1px solid var(--border);
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

#chatbots-table {
    width: 100%;
    min-width: 800px;
    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: 4px 6px;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    color: var(--table-header-text, var(--text-primary));
    border-bottom: 1px 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: 4px 6px;
    border-bottom: 1px 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: 32px;
    min-width: 32px;
    max-width: 32px;
    padding: 6px 0 6px 2px;
}

#chatbots-table th:nth-child(2),
#chatbots-table td:nth-child(2) {
    padding-left: 4px;
}

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

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

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

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

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

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

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

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

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

.status-pending {
    background: #fef3c7;
    color: #92400e;
}

[data-theme="dark"] .status-pending,
.dark-mode .status-pending {
    background: #78350f;
    color: #fbbf24;
}

.status-processing {
    background: #dbeafe;
    color: #1e40af;
}

[data-theme="dark"] .status-processing,
.dark-mode .status-processing {
    background: #1e3a8a;
    color: #93c5fd;
}

.status-completed {
    background: #d1fae5;
    color: #065f46;
}

[data-theme="dark"] .status-completed,
.dark-mode .status-completed {
    background: #064e3b;
    color: #6ee7b7;
}

.status-active {
    background: #d1fae5;
    color: #065f46;
}

[data-theme="dark"] .status-active,
.dark-mode .status-active {
    background: #064e3b;
    color: #6ee7b7;
}

.status-inactive {
    background: #fee2e2;
    color: #991b1b;
}

[data-theme="dark"] .status-inactive,
.dark-mode .status-inactive {
    background: #7f1d1d;
    color: #fca5a5;
}

.status-failed {
    background: #fee2e2;
    color: #991b1b;
}

[data-theme="dark"] .status-failed,
.dark-mode .status-failed {
    background: #7f1d1d;
    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: 8px;
    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: 6px 12px;
    font-size: var(--font-size-sm);
    min-height: 32px;
}

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

.upload-dropzone {
    border: 2px dashed var(--border);
    border-radius: 8px;
    padding: var(--spacing-xl);
    text-align: center;
    transition: all 0.2s;
    min-height: 200px;
    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: 8px;
}

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

.sage-segmented-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 8px;
    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: #fff;
    box-shadow: var(--shadow-sm);
}

.sage-segmented-option:focus-within {
    outline: 2px solid var(--focus-ring, rgba(37, 99, 235, 0.35));
    outline-offset: 2px;
}

.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: 8px;
    margin-bottom: var(--spacing-sm);
    color: var(--text-primary);
    border: 1px solid var(--border);
}

.upload-progress {
    width: 100%;
    height: 8px;
    background: var(--bg-tertiary);
    border-radius: 4px;
    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: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: var(--font-size-base);
    font-family: var(--font-family);
    min-height: 44px;
    background: var(--bg-primary);
    color: var(--text-primary);
}

.form-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}

.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: 10px 14px;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: var(--font-size-base);
    min-height: 44px;
    display: flex;
    align-items: center;
}

textarea.form-input {
    min-height: 120px;
    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: 1px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-md);
    margin: 0;
}
.form-legend {
    padding: 0 8px;
    font-weight: 600;
    color: var(--text-primary);
}

/* Model config modal: two columns, fit one screen without vertical scroll */
.model-config-modal-content {
    max-width: 820px;
    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: 1px 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: 6px;
}
#model-config-modal .form-group {
    margin-bottom: 0;
}
#model-config-modal .form-credentials {
    margin-top: 2px;
}
#model-config-modal .form-credentials .form-group {
    margin-bottom: 0;
}
#model-config-modal .form-credentials .form-group + .form-group {
    margin-top: 6px;
}
#model-config-modal .form-hint {
    margin-top: 2px;
}

.form-hint {
    font-size: var(--font-size-sm);
    /* WCAG AA: --text-tertiary (#999) 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: -4px;
}

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

.field-error-input {
    border-color: var(--error) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.field-error-input:focus {
    border-color: var(--error) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !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: 6px;
}
#form-modal .modal-body {
    padding-top: 6px;
}
.scope-modal-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--border);
    margin-bottom: var(--spacing-sm);
    margin-top: 0;
    flex-shrink: 0;
}
.scope-tab-btn {
    padding: 6px 14px;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px 6px 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: 1px solid var(--border);
    flex-shrink: 0;
}

/* Scope modal: Content tab - filters and two-panel table */
.scope-content-tab-hint {
    margin-bottom: 6px;
    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: 6px;
}
#scope-panel-content .user-pagination-info {
    padding: 4px 8px;
    margin-bottom: 2px;
}
#scope-panel-content .user-pagination-info#scope-content-pagination-info-bottom {
    margin-top: 2px;
}
#scope-panel-content .scope-content-single-panel {
    margin-bottom: 6px;
}
#scope-panel-content .scope-panel-header {
    padding: 4px 8px;
}
#scope-panel-content .scope-content-table-wrapper {
    max-height: 420px;
    min-height: 180px;
}
#scope-panel-content .form-field.scope-selected-summary {
    margin-bottom: 0;
}
#scope-panel-content .scope-selected-summary .form-label {
    margin-bottom: 2px;
}
.scope-selected-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}
.scope-selected-header-row .form-label {
    margin-bottom: 0;
}
.scope-selected-popout-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    font-size: var(--font-size-sm);
}
#scope-panel-content .scope-selected-table-wrapper,
#chatbot-form .scope-selected-table-wrapper {
    max-height: 220px;
    min-height: 80px;
}
.scope-selected-table-wrapper .scope-content-empty {
    padding: 8px;
    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: 180px;
    flex: 1;
    max-width: 280px;
    padding: 8px 12px;
    font-size: var(--font-size-sm);
}
.scope-content-filters-row .scope-content-filter {
    min-width: 110px;
    max-width: 140px;
    padding: 8px 10px;
    font-size: var(--font-size-sm);
}
.scope-content-filters-row #scope-content-filter-filepath {
    min-width: 140px;
    max-width: 180px;
    padding: 8px 10px;
    font-size: var(--font-size-sm);
}
.scope-content-single-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-primary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: var(--spacing-sm);
}
.scope-panel-header {
    padding: 6px 10px;
    border-bottom: 1px 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: 200px;
    max-height: 320px;
}
.scope-content-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.scope-content-table th,
.scope-content-table td {
    padding: 4px 6px;
    text-align: left;
    border-bottom: 1px 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: 11px;
}
.scope-content-table th.hidden,
.scope-content-table td.hidden {
    display: none;
}
.scope-col-check {
    width: 44px;
    text-align: center;
    vertical-align: middle;
}
.scope-content-table tbody tr:hover {
    background: var(--primary-light);
}
.scope-cell-title {
    max-width: 280px;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: var(--text-primary);
}
.scope-cell-id { width: 50px; color: var(--text-tertiary); white-space: normal; word-wrap: break-word; }
.scope-cell-filepath {
    max-width: 200px;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: var(--text-secondary);
    font-size: var(--font-size-xs, 12px);
}
.scope-cell-source { width: 90px; color: var(--text-secondary); }
.scope-cell-dept { width: 100px; color: var(--text-secondary); }
.scope-cell-status { width: 88px; 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: 4px;
}
.scope-selected-textarea {
    font-size: var(--font-size-sm);
    resize: vertical;
    min-height: 80px;
    background: var(--bg-secondary);
    color: var(--text-primary);
}

@media (max-width: 900px) {
    .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: 12px;
    border-radius: 8px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    padding: 16px;
    margin-bottom: var(--spacing-md);
}

[data-theme="dark"] .error-message-block {
    background: rgba(127, 29, 29, 0.3);
    border-color: #991b1b;
}

.error-message-block .error-message-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #f87171;
}

[data-theme="dark"] .error-message-block .error-message-icon {
    color: #fca5a5;
}

.error-message-block .error-message-text {
    font-size: 14px;
    font-weight: 500;
    color: #991b1b;
}

[data-theme="dark"] .error-message-block .error-message-text {
    color: #fecaca;
}

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

[data-theme="dark"] .field-error-block {
    background: rgba(127, 29, 29, 0.3);
    border-color: #991b1b;
}

.field-error-block .field-error-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: #f87171;
}

[data-theme="dark"] .field-error-block .field-error-icon {
    color: #fca5a5;
}

.field-error-block .field-error-text {
    font-size: 14px;
    font-weight: 500;
    color: #991b1b;
}

[data-theme="dark"] .field-error-block .field-error-text {
    color: #fecaca;
}

/* Error message styling */
.error {
    color: var(--error);
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid var(--error);
    border-radius: 8px;
    padding: var(--spacing-md);
}

[data-theme="dark"] .error,
.dark-mode .error {
    background: rgba(239, 68, 68, 0.2);
}

/* 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: 15000 !important;
}

#confirm-modal .modal-content {
    animation: modalSlideIn 0.3s ease-out;
    max-height: calc(100vh - 24px);
    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: 12px;
    justify-content: flex-end;
    padding: 16px 24px;
    border-top: 1px solid var(--border);
    background: var(--bg-secondary);
}

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

#confirm-modal .btn-danger:hover {
    background: #dc2626;
}

#confirm-modal .btn-danger:active {
    background: #b91c1c;
}

/* Filter and Column modals - CodeGuide-style overlay and panel */
.filter-modal .modal-overlay,
.column-management-modal .modal-overlay {
    background: rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .filter-modal .modal-overlay,
[data-theme="dark"] .column-management-modal .modal-overlay {
    background: rgba(0, 0, 0, 0.7);
}

.filter-modal .modal-content,
.column-management-modal .modal-content {
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    max-height: calc(100vh - 24px);
    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: 10px;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    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: 24px;
    height: 24px;
}

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

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) 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(300px, 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: 768px) {
    .chatbots-cards-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

@media (min-width: 1024px) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }
}

@media (min-width: 1440px) {
    .chatbots-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }
}

/* Chatbot Card Styles */
.chatbot-card {
    background: var(--bg-primary);
    border: 2px solid var(--border);
    border-radius: 8px;
    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: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
    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: 1px 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: 1px 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: 1px solid var(--border);
    border-radius: 8px;
    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, Consolas, Monaco, monospace);
    font-size: 12px;
    line-height: 1.5;
    min-height: 180px;
}

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

.persona-builder-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 1px solid var(--border);
    padding-bottom: var(--spacing-sm);
}

.persona-builder-panel-header h4 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    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: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-primary);
}

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

.language-overrides-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
}

.language-overrides-table th,
.language-overrides-table td {
    padding: 10px;
    border-bottom: 1px 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: 8px;
    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: 1px 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: 24px;
}

.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: 3px;
    min-width: 0;
    padding: var(--spacing-md);
    border: 1px solid var(--border);
    border-left: 3px solid var(--primary);
    border-radius: 8px;
    background: var(--bg-secondary);
}

.quality-score-card strong {
    color: var(--text-primary);
    font-size: 22px;
    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: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-primary);
}

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

.quality-regression-panel strong {
    color: var(--text-secondary);
    font-size: 11px;
    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: 1px solid var(--border);
    border-radius: 8px;
    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: 1px solid var(--border);
    font-size: var(--font-size-sm);
}

.quality-run-details {
    margin-bottom: var(--spacing-md);
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 1px solid var(--border);
    border-radius: 0 0 8px 8px;
}

.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: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-secondary);
}

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

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

.quality-review-empty {
    padding: var(--spacing-md);
    border: 1px dashed var(--border);
    border-radius: 8px;
    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: 10px;
    border-top: 1px solid var(--border);
    padding-top: 8px;
    font-size: 12px;
}

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

.answer-trace-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    margin-top: 8px;
}

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

.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: 6px 10px;
    margin: 8px 0 0;
}

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

.admin-test-answer-metadata dt {
    margin: 0 0 2px;
    font-size: 10px;
    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: 768px) {
    .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: 20px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: var(--border);
    z-index: 0;
}

.wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex: 1;
}

.wizard-step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bg-secondary);
    border: 2px 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: white;
}

.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(10px);
    }
    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: 1px 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: 8px;
    padding: var(--spacing-lg);
}

.review-section {
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: 1px 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: 18px;
    height: 18px;
    cursor: pointer;
}

.form-actions {
    display: flex;
    gap: var(--spacing-md);
    justify-content: flex-end;
    padding-top: var(--spacing-md);
    border-top: 1px 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: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 12px;
    overflow: hidden;
}

[data-theme="dark"] .modal {
    background: rgba(0, 0, 0, 0.7);
}

.modal-content {
    background: var(--bg-primary);
    border-radius: 12px;
    max-width: 600px;
    width: 100%;
    max-height: calc(100vh - 24px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    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: 1px 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 44x44px touch target (WCAG 2.2 AAA) */
.modal-close {
    background: none;
    border: none;
    line-height: 1;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 10px;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
}

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

.modal-close svg {
    width: 24px;
    height: 24px;
}

.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: 1200px;
    width: 95vw;
    max-height: calc(100vh - 24px);
}
#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: 1px solid var(--border);
    flex-shrink: 0;
}

/* Content Ingestion Modal - Optimized to fit on screen */
#content-ingestion-modal .modal-content {
    max-height: min(calc(100vh - 40px), 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: 1px 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: 2px;
}

#content-ingestion-modal .form-hint {
    font-size: 11px;
    margin-top: 1px;
    line-height: 1.3;
}

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

/* Keep URLs textarea compact so modal fits without scroll */
#content-ingestion-modal .content-urls-textarea {
    min-height: 56px;
    max-height: 88px;
    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: 2px;
}
#content-ingestion-modal .content-follow-links-row .form-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
}
#content-ingestion-modal .content-max-pages-label {
    margin: 0 4px 0 var(--spacing-sm);
    white-space: nowrap;
}
#content-ingestion-modal .content-max-pages-input {
    width: 72px;
    padding: 4px 8px;
    min-height: 28px;
}
#content-ingestion-modal .content-max-layers-label {
    margin: 0 4px 0 var(--spacing-sm);
    white-space: nowrap;
}
#content-ingestion-modal .content-max-layers-input {
    width: 48px;
    padding: 4px 8px;
    min-height: 28px;
}
#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: 12px;
}
.content-website-links-table thead th {
    text-align: left;
    padding: 6px 8px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
    font-weight: 600;
}
.content-website-links-table tbody td {
    padding: 4px 8px;
    border-bottom: 1px solid var(--border);
}
.content-website-links-table tbody tr:hover {
    background: var(--bg-secondary);
}

#content-ingestion-modal .form-actions {
    margin-top: 2px;
    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: 6px;
}

#content-ingestion-modal .content-follow-checkboxes .form-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

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

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

#content-ingestion-modal .form-field-inline .form-input {
    max-width: 80px;
}

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

#content-ingestion-modal .upload-dropzone {
    padding: 24px 16px !important;
}

#content-ingestion-modal .upload-hint {
    margin-top: 12px !important;
    font-size: 12px !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 - 24px);
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.view-details-modal .modal-header {
    background: linear-gradient(135deg, #3b82f6 0%, var(--primary) 100%);
    color: white;
    border-bottom: none;
    padding: var(--spacing-lg) var(--spacing-xl);
}

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

.view-details-modal .modal-close {
    color: white;
    opacity: 0.9;
}

.view-details-modal .modal-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    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: 200px 1fr;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) 0;
    border-bottom: 1px 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: 8px;
}

.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: 0.5px;
}

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

.view-detail-icon svg {
    width: 18px;
    height: 18px;
    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: 1px 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: 100px;
}

/* View Source Document Modal (Content Management) */
.view-source-document-modal .modal-content {
    max-height: calc(100vh - 24px);
    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: 4px;
    font-size: 0.9em;
}
.view-source-markdown pre { margin: 0.5em 0; padding: var(--spacing-md); background: var(--bg-secondary); border-radius: 6px; 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: 3px 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: 24px;
    cursor: pointer;
    color: var(--text-secondary);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.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: 900px;
    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: 1080px;
    height: min(88vh, 920px);
    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: 560px;
    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(520px, 100%);
    max-width: 100%;
    height: min(620px, calc(100vh - 230px));
    min-height: 420px;
    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: 1px solid var(--border);
    border-radius: 12px;
    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: 1px 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: white;
    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: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-secondary);
}

.embed-test-copy-bar > div {
    display: grid;
    gap: 2px;
    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: 280px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.embed-test-code-input {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.6;
    width: 100%;
    flex: 1;
    min-height: 260px;
    padding: var(--spacing-md);
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    resize: vertical;
}

.embed-test-code-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

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

.embed-test-code-highlight {
    min-height: 160px;
    max-height: 260px;
    overflow: auto;
    margin: 0;
    padding: var(--spacing-md);
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-tertiary);
    color: var(--text-primary);
    font: 12px/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: #047857;
}

.embed-test-code-highlight .syntax-comment {
    /* WCAG AA: --text-tertiary (#999) is 2.66:1 on the light code surface; #5d6c83 is 4.98:1 */
    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 (#4b5563) */
    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 (#4b5563); #93c5fd was 4.19:1 */
    color: #bfdbfe;
}

html.dark-mode .embed-test-code-highlight .syntax-string {
    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: 1px solid var(--border);
    border-radius: 8px;
    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: 4px 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: 2px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 1px solid #f59e0b;
    border-radius: 8px;
    background: #fffbeb;
    color: #78350f;
}

.chatbot-license-onetime strong {
    color: #78350f;
}

.chatbot-license-onetime code {
    display: block;
    max-width: 100%;
    padding: 10px 12px;
    overflow: auto;
    border: 1px solid rgba(245, 158, 11, 0.38);
    border-radius: 6px;
    background: #fff7ed;
    color: #7c2d12;
    font-size: 12px;
    white-space: nowrap;
}

.chatbot-license-onetime-actions,
.chatbot-license-actions,
.license-domain-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

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

.chatbot-license-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

.chatbot-license-table th,
.chatbot-license-table td {
    padding: 9px 10px;
    border-bottom: 1px 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: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.chatbot-license-table th:nth-child(1),
.chatbot-license-table td:nth-child(1) { width: 98px; }
.chatbot-license-table th:nth-child(2),
.chatbot-license-table td:nth-child(2) { width: 190px; }
.chatbot-license-table th:nth-child(3),
.chatbot-license-table td:nth-child(3) { width: 116px; }
.chatbot-license-table th:nth-child(4),
.chatbot-license-table td:nth-child(4) { width: 220px; }
.chatbot-license-table th:nth-child(5),
.chatbot-license-table td:nth-child(5) { width: 100px; }
.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: 118px; }
.chatbot-license-table th:nth-child(9),
.chatbot-license-table td:nth-child(9) {
    width: 152px;
    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: 2px 7px;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
}

.license-domain-warning {
    background: #fff7ed;
    color: #9a3412;
}

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

.embed-test-preview {
    border: 2px solid var(--border);
    border-radius: 12px;
    flex: 1;
    min-height: 0;
    background: var(--bg-primary);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* 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: 64px;
    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: 400px;
    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: 16px;
    right: 16px;
    width: 380px;
    max-width: calc(100% - 32px);
    height: 520px;
    max-height: calc(100% - 32px);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="bottom-left"] {
    position: absolute;
    bottom: 16px;
    left: 16px;
    width: 380px;
    max-width: calc(100% - 32px);
    height: 520px;
    max-height: calc(100% - 32px);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="top-right"] {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 380px;
    max-width: calc(100% - 32px);
    height: 520px;
    max-height: calc(100% - 32px);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}
#embed-test-chat-interface[data-position="top-left"] {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 380px;
    max-width: calc(100% - 32px);
    height: 520px;
    max-height: calc(100% - 32px);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

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

/* Test Chatbot: apply dark theme when config has theme "dark" */
#embed-test-chat-interface[data-theme="dark"] {
    --bg-primary: #1f2937;
    --bg-secondary: #374151;
    --bg-tertiary: #4b5563;
    --text-primary: #f9fafb;
    --text-secondary: #d1d5db;
    --text-tertiary: #9ca3af;
    --border: #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, #667eea 0%, #764ba2 100%);
    color: white;
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.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: white;
    margin: 0;
}

.embed-test-reset-btn {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(10px);
}

.embed-test-reset-btn:hover {
    background: rgba(255, 255, 255, 0.3);
}

.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: 6px;
}

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

.embed-test-messages::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}

.embed-test-messages::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}

/* 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(10px);
    }
    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: 120px;
}

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

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

.chat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    background: var(--bg-primary);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

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

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

.chat-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

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

.chat-bubble-user .chat-content {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

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

.chat-text {
    margin: 0;
}

.chat-timestamp {
    font-size: 11px;
    color: var(--text-tertiary);
    padding: 0 4px;
    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: 4px;
    align-items: center;
    margin-bottom: 8px;
}

.chat-typing-indicator span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    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: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    max-width: 100%;
    min-width: 0;
}

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

.chat-sources-header {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
    opacity: 0.9;
}

.chat-sources-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}

.chat-source-number {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 11px;
    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: 1px 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: 0 -2px 12px rgba(0, 0, 0, 0.08);
}

.embed-test-chat-input {
    flex: 1;
    min-width: 0;
    padding: 12px 18px;
    border: 2px solid var(--border);
    border-radius: 24px;
    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: 120px;
    min-height: 44px;
}

.embed-test-chat-input:focus {
    border-color: var(--primary);
    background: var(--bg-primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}

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

.embed-test-send-btn {
    padding: 12px 24px;
    border-radius: 24px;
    font-weight: 600;
    white-space: nowrap;
    min-width: 80px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    transition: all 0.2s ease;
}

.embed-test-send-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.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: 1px solid var(--border);
}

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

/* 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: 8px;
    margin-bottom: var(--spacing-sm);
    border: 1px solid var(--border);
    background: var(--bg-primary);
    color: var(--text-primary);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.notification-icon {
    font-size: 13px;
    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: 8px;
    margin-left: 8px;
    flex-shrink: 0;
}

.notification-action-btn {
    min-height: 30px;
    padding: 5px 10px;
    white-space: nowrap;
}

.notification-close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    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: rgba(16, 185, 129, 0.1);
    border-color: var(--border);
    color: var(--text-primary);
}

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

.notification-error {
    background: rgba(239, 68, 68, 0.1);
    border-color: var(--border);
    color: var(--text-primary);
}

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

.notification-warning {
    background: rgba(245, 158, 11, 0.1);
    border-color: var(--border);
    color: var(--text-primary);
}

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

.notification-info {
    background: rgba(59, 130, 246, 0.1);
    border-color: var(--border);
    color: var(--text-primary);
}

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

/* Sections */
.ingestion-section {
    background: var(--bg-primary);
    border-radius: 8px;
    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: 1px solid var(--border);
    border-radius: 8px;
    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: 1;
}

.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: 32px;
    min-height: 32px;
    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: 10000px;
    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: 2px 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: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
    transition: box-shadow 0.2s;
}

.job-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.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: rgba(239, 68, 68, 0.1);
    border-left: 3px solid var(--error);
    border-radius: 4px;
    color: var(--error);
}

[data-theme="dark"] .job-error,
.dark-mode .job-error {
    background: rgba(239, 68, 68, 0.2);
}

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

.list-item {
    background: var(--bg-primary);
    border-radius: 8px;
    padding: var(--spacing-lg);
    border: 1px 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: 8px;
}

/* 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, #3b82f6 0%, var(--primary) 100%);
    color: white;
    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, #1e40af 0%, #1e3a8a 100%);
}

.user-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
}

.user-management-header h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 4px 0;
    color: white;
}

.user-header-subtitle {
    font-size: var(--font-size-base);
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

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

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

[data-theme="dark"] .btn-create-user,
.dark-mode .btn-create-user {
    color: #93c5fd;
}

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

.summary-card {
    background: var(--bg-primary);
    border-radius: 8px;
    padding: var(--spacing-lg);
    border: 1px solid var(--border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

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

.summary-card-value {
    font-size: 28px;
    font-weight: 700;
    color: #3b82f6;
}

[data-theme="dark"] .summary-card-value,
.dark-mode .summary-card-value {
    color: #93c5fd;
}

/* User Controls Section */
.user-controls-section {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin: 0 var(--spacing-lg) var(--spacing-lg);
    max-width: 1400px;
    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: 4px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.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: 12px;
    color: var(--text-secondary);
    pointer-events: none;
}

.search-input {
    width: 100%;
    padding: 10px 12px 10px 36px;
    border: 1px solid var(--border);
    border-radius: 6px;
    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: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg-primary);
}

.view-toggle-btn {
    padding: 8px 16px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    border-right: 1px 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 {
    background: #3b82f6;
    color: white;
    font-weight: 600;
}

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

.view-toggle-btn.active:hover {
    background: var(--primary);
    color: white;
}

[data-theme="dark"] .view-toggle-btn.active:hover,
.dark-mode .view-toggle-btn.active:hover {
    background: #1e40af;
}

.sort-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.sort-select {
    padding: 8px 32px 8px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: var(--font-size-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
    min-width: 150px;
    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 10px center;
    background-size: 12px;
}

.sort-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}

/* Content Cards Grid */
.content-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 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: 768px) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

@media (min-width: 1024px) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }
}

@media (min-width: 1440px) {
    .content-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }
}

.content-card {
    background: var(--bg-primary);
    border: 2px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-lg);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    word-wrap: break-word;
    box-sizing: border-box;
}

.content-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
    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: 1px solid var(--border);
    min-width: 0;
    gap: var(--spacing-sm);
}

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

.content-card-title {
    font-size: 13px;
    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: 14px;
    min-width: 0;
}

.content-card-label {
    font-weight: 500;
    color: var(--text-secondary);
    min-width: 100px;
    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: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: var(--spacing-lg);
    overflow: hidden;
}

.standard-list-controls .section-header {
    margin: 0;
    padding: var(--spacing-lg);
    background: var(--bg-secondary);
    border-bottom: 1px 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: 1px 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: 250px;
    max-width: 500px;
    position: relative;
    display: flex;
    align-items: center;
}

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

.search-container .search-input {
    width: 100%;
    padding: 10px 14px 10px 40px;
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 0 0 0 3px var(--primary-light);
}

/* 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: 8px;
    border: 1px 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: 1400px;
    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: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    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: 4px;
}

.pagination-btn {
    padding: 6px 10px;
    border: 1px solid var(--border);
    background: var(--bg-primary);
    color: var(--text-primary);
    border-radius: 4px;
    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: 6px 12px;
    font-weight: 600;
    /* WCAG AA: 4.59:1 on the tinted background; #3b82f6 was 3.27:1 */
    color: #2563eb;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid #3b82f6;
    border-radius: 4px;
    font-size: var(--font-size-sm);
}

[data-theme="dark"] .pagination-page,
.dark-mode .pagination-page {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.2);
    border-color: #3b82f6;
}

/* User Table - scrollbars for overflow */
.user-table-container {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin: 0 var(--spacing-lg) var(--spacing-lg);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
    overflow-y: auto;
    max-height: calc(100vh - 260px);
    min-height: 280px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.user-table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
}

.user-table thead {
    background: var(--bg-secondary);
}

.user-table th {
    padding: 4px 6px;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    color: var(--text-secondary);
    border-bottom: 1px 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: 24px;
}

.user-table th.sortable:hover {
    color: var(--primary);
}

.sort-icon {
    position: absolute;
    right: 8px;
    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: 24px;
    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: 4px 6px;
    border-bottom: 1px 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: 8px;
}

.user-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: var(--font-size-base);
    margin-bottom: 4px;
}

.user-email-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-email-icon-large {
    width: 24px;
    height: 24px;
    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: 8px;
    border-radius: 4px;
    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: 18px;
    height: 18px;
}

/* 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: 1px solid var(--border);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 1000;
    padding: 4px;
    min-width: 150px;
    color: var(--text-primary);
}

.action-menu-dropdown * {
    color: var(--text-primary);
}

.action-menu-item {
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 4px;
    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: rgba(239, 68, 68, 0.1);
}

[data-theme="dark"] .action-menu-item:last-child:hover,
.dark-mode .action-menu-item:last-child:hover {
    background-color: rgba(239, 68, 68, 0.2);
}

/* User Cards View */
.user-cards-container {
    margin-top: var(--spacing-lg);
}

.user-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--spacing-lg);
    padding: var(--spacing-md) 0;
}

.user-card {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-lg);
    transition: all 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.user-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    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: 1px 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: 18px;
    height: 18px;
    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: 1px 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: 1px solid var(--border);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 1000;
    min-width: 200px;
    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: 8px;
    cursor: pointer;
}

.dropdown-menu select {
    width: 100%;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: var(--font-size-sm);
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .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 - 280px);
        min-height: 200px;
    }
    .user-table-container {
        overflow-x: scroll;
        overflow-y: scroll;
        max-height: calc(100vh - 280px);
        min-height: 200px;
    }
    
    .modal-content {
        max-width: 100%;
        max-height: calc(100vh - 24px);
        margin: var(--spacing-md);
    }
    
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 10px;
}

/* 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: 10px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

::-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: 4px;
}

[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"] .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 .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: #ffffff;
    --app-bg: #f8fafc;
    --panel: #ffffff;
    --subtle: #fbfcfe;
    --subtle-alt: #f7f7f8;
    --ink: #020817;
    --muted: #334155;
    --line: #cbd5e1;
    --soft-line: #e2e8f0;
    --primary: hsl(var(--suite, 262 83% 58%));
    --primary-hover: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), black 12%);
    --primary-dark: color-mix(in srgb, hsl(var(--suite, 262 83% 58%)), black 18%);
    --primary-ink: #ffffff;
    --brand-pill: hsl(var(--suite, 262 83% 58%) / 0.08);
    --brand-pill-ink: #0f172a;
    --chip-bg: #eef3f8;
    --chip-ink: #344054;
    --health-bg: #e6f4ee;
    --role-bg: #eaf3ff;
    --role-ink: #175cd3;
    --danger-soft: #fff0ec;
    --good: #15803d;
    --warn: #a15c00;
    --bad: #b42318;
    --sidebar: #ffffff;
    --sidebar-ink: #172033;
    /* DEF-0008: 4.96:1 on --sidebar-hover (#f4f7fb); #64748b was 4.42:1, below WCAG AA */
    --sidebar-muted: #5d6c83;
    --sidebar-border: #d8e0eb;
    --sidebar-hover: #f4f7fb;
    --sidebar-active: hsl(var(--suite, 262 83% 58%));
    --sidebar-active-ink: #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: #172033;
    --suite-topbar-height: 0px;
}

:root[data-theme="dark"],
:root.dark,
:root.dark-mode {
    --bg: #111827;
    --app-bg: #0f172a;
    --panel: #111827;
    --subtle: #0f172a;
    --subtle-alt: #1f2937;
    --ink: #f8fafc;
    --muted: #cbd5e1;
    --line: #334155;
    --soft-line: #1f2937;
    --primary: #3b82f6;
    --primary-hover: var(--primary);
    --primary-dark: var(--primary);
    /* DEF-0012: white-on-#3b82f6 is 3.67:1 (AA fail). #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: #0f172a;
    --chip-bg: #1f2937;
    --chip-ink: #dbeafe;
    --health-bg: #064e3b;
    --role-bg: #1e3a8a;
    --role-ink: #bfdbfe;
    --sidebar: #111827;
    --sidebar-ink: #f8fafc;
    --sidebar-muted: #94a3b8;
    --sidebar-border: #334155;
    --sidebar-hover: #1f2937;
    --sidebar-active: hsl(var(--suite, 262 83% 58%));
    --sidebar-active-ink: #ffffff;
    --table-header-bg: #1f2937;
    --table-header-text: #e2e8f0;
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="system"] {
        --bg: #111827;
        --app-bg: #0f172a;
        --panel: #111827;
        --subtle: #0f172a;
        --subtle-alt: #1f2937;
        --ink: #f8fafc;
        --muted: #cbd5e1;
        --line: #334155;
        --soft-line: #1f2937;
        --primary: #3b82f6;
        --primary-hover: var(--primary);
        --primary-dark: var(--primary);
        /* DEF-0012: dark filled primaries use dark ink (see themed block above) */
        --primary-ink: #0f172a;
        --chip-bg: #1f2937;
        --chip-ink: #dbeafe;
        --health-bg: #064e3b;
        --role-bg: #1e3a8a;
        --role-ink: #bfdbfe;
        --sidebar: #111827;
        --sidebar-ink: #f8fafc;
        --sidebar-muted: #94a3b8;
        --sidebar-border: #334155;
        --sidebar-hover: #1f2937;
        --sidebar-active: hsl(var(--suite, 262 83% 58%));
        --sidebar-active-ink: #ffffff;
        --table-header-bg: #1f2937;
        --table-header-text: #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: 40 !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !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: 1px 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: 92px !important;
    padding: 1rem !important;
    margin: 0 !important;
    border-bottom: 1px 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: 0 !important;
}

.sidebar-branding .sidebar-toggle-close {
    position: relative !important;
    z-index: 2 !important;
}

.logo-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 7px !important;
    display: grid !important;
    place-items: center !important;
    background: #10b981 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.logo-name {
    color: var(--sidebar-ink) !important;
    font-size: 0.9rem !important;
    font-weight: 800 !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: 7px !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: 1px 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: 0 !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: 42px !important;
    height: 42px !important;
    border-radius: 7px !important;
    background: var(--primary) !important;
    color: var(--primary-ink) !important;
    display: grid !important;
    place-items: center !important;
    font-weight: 800 !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: 999px !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: 1px 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: 1px solid var(--sidebar-border) !important;
    border-radius: 7px !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: 5px !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;
    color: var(--primary) !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: 230px !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: 92px !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: 1px solid var(--line) !important;
    border-radius: 8px !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: 800 !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(160px, 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: 1px solid var(--line) !important;
    border-radius: 8px !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: 7px !important;
}

.btn {
    min-height: 36px !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: 1px 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: 1px 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: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

.documents-table td {
    color: var(--ink) !important;
    border-bottom: 1px 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: 999px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

@media (max-width: 1023px) {
    .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: 76px !important;
        margin-bottom: 1rem !important;
    }

    .stats-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .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: rgba(37, 99, 235, 0.28);
    --sage-radius: 8px;
    --sage-radius-sm: 6px;
    --sage-shadow-menu: 0 16px 38px rgba(15, 23, 42, 0.16);
    --sage-shadow-modal: 0 24px 80px rgba(15, 23, 42, 0.24);
}

*:focus-visible {
    outline: 2px solid var(--sage-primary) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px var(--sage-focus-ring) !important;
}

.main-content-header {
    align-items: center !important;
    min-height: 82px !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: 2px;
}

.page-breadcrumb-link:hover {
    text-decoration: underline !important;
}

.stats-bar {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 0.75rem !important;
}

.stat-card,
button.stat-card {
    min-height: 70px !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(-1px) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08) !important;
}

.stat-value {
    color: var(--sage-text) !important;
    font-size: 1.18rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !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: 1px 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(360px, 100%) !important;
    flex: 1 1 300px !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: 36px !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: 0 0 0 4px var(--sage-focus-ring) !important;
}

.documents-table-container,
#chatbots-table-container,
#scopes-table-container,
.scope-content-table-wrapper,
.user-table-container,
.model-config-table-wrapper {
    border: 1px 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(680px, calc(100vh - 320px)) !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: 3 !important;
    height: 34px !important;
    padding: 0.55rem 0.65rem !important;
    border-bottom: 1px 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: 1px 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: 20px !important;
    padding: 0.12rem 0.46rem !important;
    border-radius: 999px !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: 1px 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: 34px !important;
    height: 34px !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: 34px !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: 10050 !important;
    min-width: 190px !important;
    max-width: min(280px, calc(100vw - 16px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0.35rem !important;
    border: 1px 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: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(241, 245, 249, 0.92)) !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: 176px !important;
    max-width: 220px !important;
    gap: 0.15rem 0.55rem !important;
    padding: 0.65rem 0.75rem !important;
    border: 1px solid #bfdbfe !important;
    border-left: 4px solid var(--primary) !important;
    border-radius: var(--sage-radius) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
}

.flow-canvas-node-step {
    grid-area: step !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: #dbeafe !important;
    color: var(--primary) !important;
    font-weight: 800 !important;
}

.flow-canvas-node strong {
    grid-area: title !important;
    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: #64748b !important;
    font-size: 0.75rem !important;
}

.flow-canvas-node[data-flow-node-type="form_capture"] {
    border-left-color: #0f766e !important;
}

.flow-canvas-node[data-flow-node-type="tool"] {
    border-left-color: #7c3aed !important;
}

.flow-canvas-node[data-flow-node-type="handoff"] {
    border-left-color: #ea580c !important;
}

.flow-canvas-arrow {
    align-self: center !important;
    color: #64748b !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
}

.flow-node-list {
    display: grid !important;
    gap: 0.75rem !important;
}

.flow-node-row {
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #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(160px, 0.75fr) minmax(220px, 1fr) minmax(220px, 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: 900px) {
    .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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    margin: 1rem 0 0;
    padding: 1rem;
}

.settings-fieldset legend {
    color: var(--text-primary, #0f172a);
    font-weight: 700;
    padding: 0 0.35rem;
}

.toggle-row {
    display: flex;
    align-items: center;
    color: var(--text-primary, #0f172a);
    line-height: 1.4;
}

.settings-repeatable-list {
    display: grid;
    gap: 0.6rem;
}

.settings-repeatable-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(160px, 220px) 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: 72px;
    padding: 0.75rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #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: 999px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 850;
}

.reports-schedule-workflow-card strong,
.scheduled-report-step-heading strong {
    display: block;
    color: var(--text-primary, #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, #475569);
    font-size: 0.76rem;
    line-height: 1.3;
}

.reports-schedule-table-container {
    max-height: 320px;
    overflow: auto;
}

.scheduled-report-builder-form {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.scheduled-report-builder-step {
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #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: 58px;
    padding: 0.65rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
}

.scheduled-report-history-grid span {
    display: block;
    color: var(--text-secondary, #475569);
    font-size: 0.72rem;
    font-weight: 760;
    text-transform: uppercase;
}

.scheduled-report-history-grid strong {
    display: block;
    margin-top: 0.25rem;
    color: var(--text-primary, #0f172a);
    font-size: 0.82rem;
    line-height: 1.3;
}

.status-error-text {
    color: var(--danger, #dc2626) !important;
    font-weight: 700;
}

@media (max-width: 900px) {
    .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, #fff);
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    padding: 1rem;
    min-height: 150px;
}

/* 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: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    background: var(--bg-secondary, #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, #0f172a); }
.reports-trend-value { margin-left: auto; font-weight: 700; color: var(--text-primary, #0f172a); }
.reports-trend-delta { font-size: 0.75rem; font-weight: 600; }
.reports-trend-delta-success { color: #16a34a; }
.reports-trend-delta-danger { color: #dc2626; }
.reports-trend-delta-muted { color: var(--text-secondary, #64748b); }

.reports-trend-svg { width: 100%; height: 54px; display: block; }
.reports-trend-line { stroke-width: 2; }
.reports-trend-area { stroke: none; opacity: 0.15; }
.reports-trend-warning .reports-trend-line { stroke: #f59e0b; }
.reports-trend-warning .reports-trend-area { fill: #f59e0b; }
.reports-trend-danger .reports-trend-line { stroke: #ef4444; }
.reports-trend-danger .reports-trend-area { fill: #ef4444; }
.reports-trend-primary .reports-trend-line { stroke: #3b82f6; }
.reports-trend-primary .reports-trend-area { fill: #3b82f6; }
.reports-trend-success .reports-trend-line { stroke: #22c55e; }
.reports-trend-success .reports-trend-area { fill: #22c55e; }

/* Drift watch (AI-09) */
.reports-drift-heading { margin: 1rem 0 0.5rem; font-size: 0.9rem; color: var(--text-primary, #0f172a); }
.reports-drift-watch { display: flex; flex-direction: column; gap: 0.5rem; }
.reports-drift-ok {
    border: 1px dashed var(--border-color, #cbd5e1);
    border-radius: 8px;
    padding: 0.75rem;
    color: var(--text-secondary, #64748b);
}
.reports-drift-ok strong { display: block; color: var(--text-primary, #0f172a); }
.reports-drift-item {
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    border-left: 4px solid var(--border-color, #cbd5e1);
    background: var(--bg-secondary, #f8fafc);
}
.reports-drift-item.reports-action-critical { border-left-color: #ef4444; }
.reports-drift-item.reports-action-warning { border-left-color: #f59e0b; }
.reports-drift-item.reports-action-info { border-left-color: #3b82f6; }
.reports-drift-item strong { display: block; color: var(--text-primary, #0f172a); }
.reports-drift-item p { margin: 0.25rem 0 0; color: var(--text-secondary, #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, #475569);
}
.reports-permission-flags li small { color: var(--text-muted, #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, #0f172a);
    font-size: 0.95rem;
    margin: 0;
}

.reports-analytics-header span {
    color: var(--text-secondary, #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, #475569);
    font-size: 0.78rem;
}

.reports-metric-bar-label strong {
    color: var(--text-primary, #0f172a);
}

.reports-bar-track {
    background: var(--bg-secondary, #f1f5f9);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.reports-bar-fill {
    display: block;
    height: 100%;
    min-width: 2px;
}

.reports-bar-primary { background: var(--primary, var(--primary)); }
.reports-bar-success { background: var(--success, #10b981); }
.reports-bar-warning { background: var(--warning, #f59e0b); }
.reports-bar-danger { background: var(--danger, #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, #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, #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, #0f172a);
}

.saml-wizard-header p,
.saml-step-heading p {
    margin: 0;
    color: var(--text-secondary, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 10px;
    background: var(--bg-secondary, #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: 64px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 0.65rem;
    background: transparent;
    color: var(--text-secondary, #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: 999px;
    border: 1px solid var(--border-color, #cbd5e1);
    background: var(--bg-primary, #fff);
    color: var(--primary, var(--primary));
    font-weight: 850;
}

.saml-wizard-step strong {
    color: var(--text-primary, #0f172a);
    font-size: 0.88rem;
}

.saml-wizard-step small {
    overflow: hidden;
    color: var(--text-secondary, #475569);
    font-size: 0.72rem;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.saml-wizard-step.active {
    border-color: rgba(37, 99, 235, 0.45);
    background: rgba(37, 99, 235, 0.08);
    box-shadow: inset 3px 0 0 var(--primary, var(--primary));
}

.saml-wizard-step.active span {
    background: var(--primary, var(--primary));
    border-color: var(--primary, var(--primary));
    color: #fff;
}

.saml-wizard-panel {
    display: none;
    min-height: 300px;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 10px;
    background: var(--bg-primary, #fff);
    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, #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: 76px;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    color: var(--text-primary, #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, #475569);
    line-height: 1.35;
}

.saml-validation-preview {
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    color: var(--text-secondary, #475569);
    padding: 0.8rem;
    line-height: 1.45;
}

.saml-validation-preview.success {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.08);
    color: var(--text-primary, #0f172a);
}

.saml-validation-preview.warning {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.10);
    color: var(--text-primary, #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: 88px;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    padding: 0.8rem;
}

.saml-review-card span {
    display: block;
    color: var(--text-secondary, #475569);
    font-size: 0.72rem;
    font-weight: 760;
    text-transform: uppercase;
}

.saml-review-card strong,
.saml-review-card code {
    display: block;
    margin-top: 0.3rem;
    color: var(--text-primary, #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: 1px solid var(--border-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: 900px) {
    .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: 901px) and (max-width: 1400px) {
    .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: 34px !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: rgba(15, 23, 42, 0.46) !important;
}

.modal-content {
    max-height: min(90vh, 860px) !important;
    border: 1px 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: 58px !important;
    padding: 0.95rem 1.1rem !important;
    border-bottom: 1px 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: 800 !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: 1px solid #bfdbfe !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%) !important;
    color: #1e3a8a !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
}

.sage-modal-section {
    border: 1px 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: 850 !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: 1px 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 1080px regardless of surface mode. */
#form-modal:not(.sage-task-surface-modal) .modal-content {
    width: min(1080px, calc(100vw - 2rem)) !important;
}

#content-ingestion-modal .modal-content,
.filter-modal .modal-content,
.column-management-modal .modal-content {
    width: min(760px, calc(100vw - 2rem)) !important;
}

#embed-test-modal .modal-content {
    width: min(1120px, calc(100vw - 2rem)) !important;
}

#confirm-modal .modal-content {
    width: min(460px, 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: 1px solid #fecaca !important;
    border-radius: var(--sage-radius) !important;
    background: #fff7f7 !important;
}

.sage-confirm-panel p {
    margin: 0 !important;
    color: var(--sage-text) !important;
    line-height: 1.45 !important;
}

.sage-confirm-icon {
    width: 30px !important;
    height: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
    font-weight: 900 !important;
}

.filter-modal,
.column-management-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10000 !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: 1px solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    background: var(--sage-surface-muted) !important;
    padding: 0.85rem !important;
    min-height: 280px !important;
}

.sage-column-section h4 {
    margin: 0 0 0.65rem !important;
    color: var(--sage-text) !important;
    font-size: 0.84rem !important;
    font-weight: 850 !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: 1px 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: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
}

.notification-success .notification-icon,
.sage-toast-success .sage-toast-icon {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.notification-warning .notification-icon,
.sage-toast-warning .sage-toast-icon {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.notification-error .notification-icon,
.sage-toast-error .sage-toast-icon {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.notification-info .notification-icon,
.sage-toast-info .sage-toast-icon {
    background: #dbeafe !important;
    color: var(--primary) !important;
}

.notification-message {
    color: var(--sage-text) !important;
    line-height: 1.4 !important;
}
.notification-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 8px;
    flex-shrink: 0;
}

.notification-action-btn {
    min-height: 30px;
    padding: 5px 10px;
    white-space: nowrap;
}

.sage-toast-region {
    position: fixed !important;
    right: 1rem !important;
    bottom: 1rem !important;
    z-index: 12000 !important;
    display: grid !important;
    gap: 0.5rem !important;
    width: min(420px, 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: 1px 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: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
}

.sage-toast-message {
    line-height: 1.35 !important;
}

.sage-toast-close {
    width: 26px !important;
    height: 26px !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: 1px 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: 1023px) {
    .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: 640px) {
    .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(620px, calc(100vh - 190px)) !important;
    padding: 0.75rem !important;
    overflow: hidden !important;
}

.embed-test-modal-content.embed-test-chat-only #embed-test-chat-interface[data-position] {
    width: min(520px, calc(100vw - 4rem)) !important;
    height: min(620px, calc(100vh - 220px)) !important;
    min-height: min(420px, calc(100vh - 220px)) !important;
    border: 1px solid var(--sage-border) !important;
    border-radius: var(--sage-radius) !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16) !important;
}

.embed-test-chat-header,
.chat-bubble-user .chat-content,
.chat-avatar-user {
    background: linear-gradient(135deg, var(--sage-primary) 0%, #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: 22px !important;
    height: 22px !important;
    background: #e0e7ff !important;
    color: var(--sage-primary) !important;
    font-weight: 800 !important;
}

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

@media (max-width: 640px) {
    .embed-test-modal-content.embed-test-chat-only #embed-test-chat-interface[data-position] {
        width: calc(100vw - 2rem) !important;
        height: calc(100vh - 160px) !important;
        min-height: 360px !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, rgba(241, 245, 249, 0.96) 0%, rgba(248, 250, 252, 1) 260px),
        var(--sage-bg) !important;
}

.main-content-header {
    position: relative !important;
    min-height: 74px !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: 4px !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: 72px !important;
    padding: 0.85rem 0.95rem !important;
    border-color: #cbd5e1 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 0.98) 100%) !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
    overflow: hidden !important;
}

.stat-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 3px !important;
    background: var(--sage-primary) !important;
    opacity: 0.75 !important;
}

.stat-card .stat-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 10px !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5) !important;
}

.stat-info {
    display: grid !important;
    gap: 0.12rem !important;
}

.stat-action-hint {
    color: var(--sage-primary) !important;
    font-size: 0.68rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    opacity: 0.9 !important;
}

.sage-clickable-stat:hover .stat-action-hint,
.sage-clickable-stat:focus-visible .stat-action-hint {
    text-decoration: underline !important;
}

.content-list-header,
.section-header {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 38px !important;
}

.content-list-header .btn-primary {
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.16) !important;
}

.content-list-header .btn-primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(29, 78, 216, 0.2) !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%, #f1f5f9) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !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 300px !important;
    max-width: 440px !important;
}

.sort-select {
    max-width: 170px !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: #475569 !important;
    font-size: 0.74rem !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

.search-input,
.form-input,
.sort-select,
.per-page-select,
.form-select {
    border-color: #cbd5e1 !important;
}

.view-toggle {
    display: inline-flex !important;
    gap: 0.18rem !important;
    padding: 0.18rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #ffffff !important;
}

.view-toggle .view-toggle-btn {
    border: 0 !important;
    min-height: 32px !important;
    background: transparent !important;
}

.view-toggle .view-toggle-btn.active {
    background: var(--sage-primary) !important;
    color: #ffffff !important;
}

.user-pagination-info,
.pagination-container,
.pagination-info {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: 52px !important;
    border-color: #cbd5e1 !important;
    background: #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(600px, calc(100vh - 330px)) !important;
    min-height: 0 !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !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: 32px !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-bottom-color: #cbd5e1 !important;
}

.documents-table td,
#chatbots-table td,
#scopes-table td,
.scope-content-table td,
.users-table td,
.model-config-table td {
    height: 46px !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: rgba(248, 250, 252, 0.72) !important;
}

.action-icons .btn-icon {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
}

.action-icons .btn-icon:hover {
    border-color: var(--sage-primary) !important;
    background: #eff6ff !important;
}

.modal {
    backdrop-filter: blur(3px) !important;
}

.modal-content {
    border-color: #cbd5e1 !important;
}

.modal-header {
    min-height: 64px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

.modal-body {
    background: #f8fafc !important;
}

.modal-footer,
.content-ingestion-modal-footer {
    background: #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: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #eef2f7 !important;
    overflow-x: auto !important;
}

#chatbot-form .admin-tab-btn,
.scope-tab-btn {
    min-height: 36px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: 0.8rem !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

#chatbot-form .admin-tab-btn.active,
.scope-tab-btn.active {
    background: #ffffff !important;
    color: var(--sage-primary) !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.08) !important;
}

#chatbot-form .admin-tab-content.active,
.scope-tab-panel.active,
#scope-panel-details,
#scope-panel-content {
    background: #ffffff !important;
    border: 1px solid #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: 1px solid #dbeafe !important;
    border-left: 3px solid var(--sage-primary) !important;
    border-radius: var(--sage-radius-sm) !important;
    background: #eff6ff !important;
    color: #1e3a8a !important;
    font-size: 0.78rem !important;
}

#chatbot-form .form-label,
.enhanced-form .form-label {
    color: #0f172a !important;
    font-size: 0.76rem !important;
    font-weight: 800 !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: 1px solid #bfdbfe !important;
    border-radius: var(--sage-radius) !important;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%) !important;
}

.chatbot-tab-intro h4 {
    margin: 0 0 0.25rem !important;
    color: #0f172a !important;
    font-size: 0.95rem !important;
    font-weight: 850 !important;
}

.chatbot-tab-intro p {
    margin: 0 !important;
    color: #334155 !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
}

.chatbot-config-card {
    padding: 0.95rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #ffffff !important;
}

.chatbot-field-note,
.chatbot-reporting-summary {
    border: 1px solid #dbeafe !important;
    border-radius: var(--sage-radius) !important;
    background: #f8fafc !important;
}

.chatbot-field-note {
    display: grid !important;
    gap: 0.2rem !important;
    padding: 0.8rem 0.9rem !important;
    color: #334155 !important;
}

.chatbot-field-note strong {
    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: 68px !important;
    padding: 0.85rem 0.95rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #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: #93c5fd !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
}

.sage-toggle-card input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.sage-toggle-visual {
    position: relative !important;
    width: 44px !important;
    height: 24px !important;
    border-radius: 999px !important;
    background: #cbd5e1 !important;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08) !important;
    transition: background 0.15s ease !important;
}

.sage-toggle-visual span {
    position: absolute !important;
    left: 3px !important;
    top: 3px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25) !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(20px) !important;
}

.sage-toggle-card input:focus-visible + .sage-toggle-visual {
    outline: 3px solid rgba(37, 99, 235, 0.28) !important;
    outline-offset: 3px !important;
}

.sage-toggle-copy {
    display: grid !important;
    gap: 0.15rem !important;
}

.sage-toggle-copy strong {
    color: #0f172a !important;
    font-size: 0.84rem !important;
}

.sage-toggle-copy small {
    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: 1px solid #e2e8f0 !important;
}

.chatbot-reporting-summary div:last-child {
    border-right: 0 !important;
}

.chatbot-reporting-summary strong {
    color: #0f172a !important;
    font-size: 0.78rem !important;
}

.chatbot-reporting-summary span {
    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: 1px solid #e2e8f0 !important;
}

.widget-color-toolbar {
    display: grid !important;
    grid-template-columns: minmax(220px, 320px) auto !important;
    gap: 0.75rem !important;
    align-items: end !important;
    margin: 0.85rem 0 !important;
}

.widget-color-preview {
    --preview-primary: var(--primary);
    --preview-secondary: #7c3aed;
    --preview-accent: #db2777;
    --preview-surface: #ffffff;
    --preview-messagesBg: #f8fafc;
    --preview-text: #333333;
    --preview-headerText: #ffffff;
    --preview-userText: #ffffff;
    --preview-sourceBg: rgba(37, 99, 235, 0.16);
    --preview-sourceText: #475569;
    width: min(360px, 100%) !important;
    margin: 0.4rem 0 0.9rem !important;
    overflow: hidden !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: var(--preview-surface) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !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: 760 !important;
}

.widget-color-preview-body {
    display: grid !important;
    gap: 0.55rem !important;
    padding: 0.9rem !important;
    min-height: 130px !important;
    background: var(--preview-messagesBg) !important;
}

.widget-color-preview-bubble {
    max-width: 82% !important;
    padding: 0.55rem 0.7rem !important;
    border-radius: 8px !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: 1px solid #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: 999px !important;
    background: var(--preview-sourceBg) !important;
    color: var(--preview-sourceText) !important;
    font-size: 0.72rem !important;
    font-weight: 760 !important;
}

.widget-contrast-panel {
    margin: 0.75rem 0 0.9rem !important;
    padding: 0.75rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #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: #0f172a !important;
    font-size: 0.85rem !important;
}

.widget-contrast-header span {
    display: block !important;
    margin-top: 0.15rem !important;
    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: 1px solid #dbe3ef !important;
    border-left-width: 4px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.widget-contrast-row span {
    color: #334155 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
}

.widget-contrast-row strong {
    color: #0f172a !important;
    font-size: 0.82rem !important;
}

.widget-contrast-row small {
    color: #64748b !important;
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
}

.widget-contrast-row.is-pass {
    border-left-color: #10b981 !important;
}

.widget-contrast-row.is-warn {
    border-left-color: #f59e0b !important;
}

.widget-contrast-row.is-fail {
    border-left-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: 1px solid #bfdbfe !important;
    border-left: 3px solid var(--primary) !important;
    border-radius: 8px !important;
    background: #eff6ff !important;
    color: #1e3a8a !important;
}

.widget-theme-suggestion-card > strong {
    color: #0f172a !important;
    font-size: 0.9rem !important;
}

.widget-theme-suggestion-card > span {
    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: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
}

.widget-theme-swatch span {
    grid-row: span 2 !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15, 23, 42, 0.16) !important;
}

.widget-theme-swatch b {
    color: #0f172a !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
}

.widget-theme-swatch small {
    color: #475569 !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
}

html.dark-mode .widget-theme-panel {
    border-top-color: #334155 !important;
}

html.dark-mode .widget-contrast-panel {
    border-color: #334155 !important;
    background: #111827 !important;
}

html.dark-mode .widget-contrast-header strong {
    color: #f8fafc !important;
}

html.dark-mode .widget-contrast-header span {
    color: #cbd5e1 !important;
}

html.dark-mode .widget-contrast-row {
    border-color: #334155 !important;
    background: #0f172a !important;
}

html.dark-mode .widget-contrast-row span {
    color: #cbd5e1 !important;
}

html.dark-mode .widget-contrast-row strong {
    color: #ffffff !important;
}

html.dark-mode .widget-contrast-row small {
    color: #94a3b8 !important;
}

html.dark-mode .widget-theme-suggestion-card {
    border-color: #334155 !important;
    border-left-color: #60a5fa !important;
    background: #0f172a !important;
    color: #dbeafe !important;
}

html.dark-mode .widget-theme-suggestion-card > strong {
    color: #ffffff !important;
}

html.dark-mode .widget-theme-suggestion-card > span {
    color: #cbd5e1 !important;
}

html.dark-mode .widget-theme-swatch {
    border-color: #334155 !important;
    background: #111827 !important;
}

html.dark-mode .widget-theme-swatch b {
    color: #f8fafc !important;
}

html.dark-mode .widget-theme-swatch small {
    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: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}

@media (max-width: 720px) {
    .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: 1px solid #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: #cbd5e1 !important;
    background: #f8fafc !important;
}

.answer-quality-advanced summary {
    min-height: 42px !important;
    padding: 0.7rem 0.85rem !important;
    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: 170px !important;
    background: #0f172a !important;
    color: #e2e8f0 !important;
    border-color: #1e293b !important;
    font-size: 0.76rem !important;
}

#chatbot-form .form-actions,
.enhanced-form .form-actions {
    position: sticky !important;
    bottom: -1rem !important;
    z-index: 2 !important;
    margin: 0 -1rem -1rem !important;
    padding: 0.85rem 1rem !important;
    background: #ffffff !important;
    border-top: 1px solid #cbd5e1 !important;
    border-radius: 0 0 var(--sage-radius) var(--sage-radius) !important;
}

@media (max-width: 640px) {
    .main-content-wrapper {
        padding: 0.65rem !important;
    }

    .main-content-header {
        min-height: 68px !important;
    }

    .stats-bar {
        gap: 0.55rem !important;
    }

    .stat-card,
    button.stat-card {
        min-height: 66px !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: 1180px) {
    #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 240px !important;
        min-width: 220px !important;
        max-width: 360px !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: 36px !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: 140px !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 #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: 1px solid #cbd5e1 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    background: #eef2f7 !important;
    color: #334155 !important;
    font-size: 0.71rem !important;
}

#content-page #content-table thead th:first-child {
    border-left: 1px solid #cbd5e1 !important;
    border-radius: 8px 0 0 8px !important;
}

#content-page #content-table thead th:last-child {
    border-right: 1px solid #cbd5e1 !important;
    border-radius: 0 8px 8px 0 !important;
}

#content-page #content-table tbody tr {
    border-radius: 8px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045) !important;
}

#content-page #content-table tbody td {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    border-top: 1px solid #cbd5e1 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    vertical-align: middle !important;
}

#content-page #content-table tbody td:first-child {
    border-left: 1px solid #cbd5e1 !important;
    border-radius: 8px 0 0 8px !important;
}

#content-page #content-table tbody td:last-child {
    border-right: 1px solid #cbd5e1 !important;
    border-radius: 0 8px 8px 0 !important;
}

#content-page #content-table tbody tr:hover td {
    background: #f8fbff !important;
    border-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: 1px solid #bfdbfe !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: var(--primary) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !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: #0f172a !important;
    font-size: 0.91rem !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.content-path-line {
    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: 999px !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
    font-size: 0.68rem !important;
    font-weight: 720 !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: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.035) !important;
}

@media (max-width: 900px) {
    #content-page #content-table-container {
        overflow-x: auto !important;
    }

    #content-page #content-table {
        min-width: 760px !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: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
    overflow: auto !important;
}

#content-page #content-table,
.documents-table {
    width: 100% !important;
    min-width: 1540px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
}

#chatbots-table,
#scopes-table,
#reports-table,
#user-table,
#model-management-table,
#code-table {
    width: 100% !important;
    min-width: 900px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

#chatbots-table,
#scopes-table {
    min-width: 1080px !important;
}

#reports-table {
    min-width: 1180px !important;
}

#model-management-table {
    min-width: 1580px !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: 220px !important;
}

#model-management-table th[data-column="llm-endpoint"],
#model-management-table td[data-column="llm-endpoint"] {
    width: 230px !important;
}

#model-management-table th[data-column="embedding-endpoint"],
#model-management-table td[data-column="embedding-endpoint"] {
    width: 230px !important;
}

#model-management-table th[data-column="llm-provider"],
#model-management-table td[data-column="llm-provider"] {
    width: 110px !important;
}

#model-management-table th[data-column="embedding-provider"],
#model-management-table td[data-column="embedding-provider"] {
    width: 140px !important;
}

#model-management-table th[data-column="llm-model"],
#model-management-table td[data-column="llm-model"] {
    width: 130px !important;
}

#model-management-table th[data-column="embedding-model"],
#model-management-table td[data-column="embedding-model"] {
    width: 180px !important;
}

#model-management-table th[data-column="credentials"],
#model-management-table td[data-column="credentials"] {
    width: 110px !important;
}

#model-management-table th[data-column="active"],
#model-management-table td[data-column="active"] {
    width: 76px !important;
}

#model-management-table th[data-column="actions"],
#model-management-table td[data-column="actions"] {
    width: 120px !important;
}

#content-page #content-table thead th,
.documents-table thead th {
    position: sticky !important;
    top: 0 !important;
    height: 36px !important;
    padding: 0.55rem 0.7rem !important;
    border: 0 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    border-radius: 0 !important;
    background: #f1f5f9 !important;
    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: 0 !important;
}

#content-page #content-table tbody td,
.documents-table tbody td {
    height: 44px !important;
    padding: 0.48rem 0.7rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    background: #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: #f8fbff !important;
    border-color: #dbeafe !important;
}

#content-table th:nth-child(1),
#content-table td:nth-child(1) {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
}

#content-table th:nth-child(2),
#content-table td:nth-child(2) {
    width: 96px !important;
    min-width: 96px !important;
}

#content-table th:nth-child(3),
#content-table td:nth-child(3) {
    width: 320px !important;
    min-width: 320px !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: 140px !important;
    min-width: 140px !important;
}

#content-table th:nth-child(7),
#content-table td:nth-child(7) {
    width: 340px !important;
    min-width: 340px !important;
}

#content-table th:nth-child(8),
#content-table td:nth-child(8) {
    width: 90px !important;
    min-width: 90px !important;
}

#content-table th:nth-child(9),
#content-table td:nth-child(9) {
    width: 120px !important;
    min-width: 120px !important;
}

#content-table th:nth-child(10),
#content-table td:nth-child(10) {
    width: 120px !important;
    min-width: 120px !important;
}

#content-table th:nth-child(11),
#content-table td:nth-child(11) {
    width: 140px !important;
    min-width: 140px !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: 320px !important;
    min-width: 320px !important;
}

#content-page .content-actions-cell,
.content-actions-cell {
    width: 140px !important;
    min-width: 140px !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: 900px) {
    #content-page #content-table,
    .documents-table {
        min-width: 1440px !important;
    }
}

/* Full-screen task surfaces for complex configuration flows. */
.sage-task-surface-modal {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 16px !important;
}

.sage-task-surface-modal .modal-content {
    width: min(1440px, calc(100vw - 32px)) !important;
    max-width: none !important;
    height: calc(100vh - 32px) !important;
    max-height: calc(100vh - 32px) !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: 3 !important;
}

.sage-standard-modal .modal-content {
    width: min(880px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 32px) !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 - 40px), 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: 16px !important;
}

#form-modal.scope-editor-modal .modal-content {
    width: min(1240px, calc(100vw - 32px)) !important;
    max-width: none !important;
    height: 80vh !important;
    max-height: 80vh !important;
    min-height: min(640px, 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: 5 !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: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: color-mix(in srgb, var(--sage-surface) 88%, #f8fafc) !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04) !important;
}

#form-modal.scope-editor-modal .scope-content-command-row .search-container {
    flex: 1 1 320px !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: 72px;
}

.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: 56px !important;
    padding: 0.58rem 0.75rem !important;
}

.stat-card .stat-icon {
    width: 34px !important;
    height: 34px !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: 34px !important;
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
}

.btn,
.view-toggle .view-toggle-btn {
    min-height: 34px !important;
}

.user-pagination-info,
.pagination-container,
.pagination-info {
    min-height: 42px !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(560px, calc(100vh - 270px)) !important;
}

#content-page #content-table thead th,
.documents-table thead th,
#chatbots-table thead th,
#scopes-table thead th {
    height: 30px !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: 38px !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: 1px solid #bfdbfe !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: var(--primary) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !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: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    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: 2px !important;
}

.scope-metric-link strong {
    font-size: 0.86rem !important;
    line-height: 1 !important;
}

.scope-metric-link span {
    color: #475569 !important;
    font-size: 0.72rem !important;
    text-transform: lowercase !important;
}

#chatbots-table {
    min-width: 1280px !important;
}

#chatbots-table th:nth-child(1),
#chatbots-table td:nth-child(1) {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
}

#chatbots-table th:nth-child(2),
#chatbots-table td:nth-child(2) {
    width: 92px !important;
    min-width: 92px !important;
}

#chatbots-table th:nth-child(3),
#chatbots-table td:nth-child(3) {
    width: 260px !important;
    min-width: 220px !important;
}

#chatbots-table th:nth-child(4),
#chatbots-table td:nth-child(4) {
    width: 110px !important;
    min-width: 110px !important;
}

#chatbots-table th:nth-child(5),
#chatbots-table td:nth-child(5) {
    width: 220px !important;
    min-width: 180px !important;
}

#chatbots-table th:nth-child(6),
#chatbots-table td:nth-child(6) {
    width: 130px !important;
    min-width: 130px !important;
}

#chatbots-table th:nth-child(7),
#chatbots-table td:nth-child(7) {
    width: 160px !important;
    min-width: 150px !important;
}

#chatbots-table th:nth-child(8),
#chatbots-table td:nth-child(8) {
    width: 90px !important;
    min-width: 90px !important;
}

#chatbots-table th:nth-child(9),
#chatbots-table td:nth-child(9) {
    width: 120px !important;
    min-width: 120px !important;
}

#chatbots-table th:nth-child(10),
#chatbots-table td:nth-child(10) {
    width: 130px !important;
    min-width: 130px !important;
}

#chatbots-table th:nth-child(11),
#chatbots-table td:nth-child(11) {
    width: 140px !important;
    min-width: 140px !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: 999px;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.chatbot-health-pill.success {
    background: #dcfce7;
    color: #047857;
}

.chatbot-health-pill.warning {
    background: #fef3c7;
    color: #92400e;
}

.chatbot-health-pill.danger {
    background: #fee2e2;
    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: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.chatbot-cell-help {
    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: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}

html.dark-mode .chatbot-health-pill.warning,
html.dark .chatbot-health-pill.warning,
.dark .chatbot-health-pill.warning {
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
}

html.dark-mode .chatbot-health-pill.danger,
html.dark .chatbot-health-pill.danger,
.dark .chatbot-health-pill.danger {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}

html.dark-mode .chatbot-channel-chip,
html.dark .chatbot-channel-chip,
.dark .chatbot-channel-chip {
    border-color: rgba(96, 165, 250, 0.34);
    background: rgba(37, 99, 235, 0.16);
    color: #93c5fd;
}

html.dark-mode .chatbot-cell-help,
html.dark .chatbot-cell-help,
.dark .chatbot-cell-help {
    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: #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: 999px;
    background: #eff6ff;
    color: var(--primary);
    font-size: 0.84rem;
    font-weight: 850;
}

.chatbots-state-row-error .sage-table-state-icon {
    background: #fee2e2;
    color: #b91c1c;
}

.chatbots-state-row-empty .sage-table-state-icon {
    background: #ecfeff;
    color: #0e7490;
}

.sage-table-state-copy {
    display: grid;
    gap: 0.16rem;
    max-width: 34rem;
}

.sage-table-state-copy strong {
    color: #0f172a;
    font-size: 0.92rem;
    line-height: 1.2;
}

.sage-table-state-copy span {
    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: #cbd5e1;
}

html.dark-mode .sage-table-state-icon,
html.dark .sage-table-state-icon,
.dark .sage-table-state-icon {
    background: rgba(37, 99, 235, 0.22);
    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: rgba(239, 68, 68, 0.22);
    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: rgba(14, 116, 144, 0.24);
    color: #67e8f9;
}

html.dark-mode .sage-table-state-copy strong,
html.dark .sage-table-state-copy strong,
.dark .sage-table-state-copy strong {
    color: #f8fafc;
}

html.dark-mode .sage-table-state-copy span,
html.dark .sage-table-state-copy span,
.dark .sage-table-state-copy span {
    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: 36px !important;
}

#form-modal.scope-editor-modal .scope-content-single-panel {
    flex: 1 1 260px !important;
    min-height: 220px !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: 160px !important;
    min-height: 72px !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: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #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: 68px;
    padding: 0.72rem 0.8rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #0f172a);
}

.audit-log-timeline-summary span {
    display: block;
    color: var(--text-secondary, #475569);
    font-size: 0.72rem;
    font-weight: 820;
    line-height: 1.2;
    text-transform: uppercase;
}

.audit-log-timeline-summary strong {
    display: block;
    margin-top: 0.18rem;
    color: var(--text-primary, #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, #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: 64px;
    padding: 0.7rem 0.78rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #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: 999px;
    background: #eff6ff;
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 850;
}

.webhook-delivery-workflow strong,
.webhook-proof-grid strong,
.webhook-modal-guidance-card strong,
.webhook-delivery-summary strong {
    display: block;
    color: var(--text-primary, #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, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #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: 62px;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #0f172a);
}

.webhook-delivery-summary span {
    display: block;
    color: var(--text-secondary, #475569);
    font-size: 0.72rem;
    font-weight: 820;
    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: 64px;
    padding: 0.7rem 0.78rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #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: 999px;
    background: #eff6ff;
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 850;
}

.connector-readiness-workflow strong,
.connector-catalog-card strong,
.connector-modal-guidance-card strong {
    display: block;
    color: var(--text-primary, #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, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #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: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 760;
}

.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, #475569);
    font-size: 0.72rem;
    font-weight: 820;
    text-transform: uppercase;
}

.connector-preflight-grid ul {
    margin: 0;
    padding-left: 1.05rem;
    color: var(--text-primary, #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, #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(572px, calc(100vh - 252px)) !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: 30px !important;
    padding: 0.36rem 0.52rem !important;
    white-space: nowrap !important;
}

.documents-table tbody td {
    height: 37px !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: 1px solid #bfdbfe !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: var(--primary) !important;
    font-size: 0.74rem !important;
    font-weight: 800 !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: 1px solid var(--border, #cbd5e1);
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.user-access-label,
.user-access-risk {
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-access-risk {
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 850;
    text-transform: uppercase;
}

.user-access-badge-low {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #047857;
}

.user-access-badge-standard {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: var(--primary);
}

.user-access-badge-elevated {
    background: #fffbeb;
    border-color: #fde68a;
    color: #b45309;
}

.user-access-badge-high,
.user-access-badge-critical {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.user-access-badge-inactive {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #64748b;
}

.user-rbac-panel {
    border: 1px solid var(--border, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #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, #64748b);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.user-rbac-panel h3 {
    margin: 0.12rem 0 0;
    color: var(--text-primary, #0f172a);
    font-size: 1rem;
    line-height: 1.2;
}

.user-rbac-panel p {
    margin: 0;
    color: var(--text-secondary, #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, #0f172a);
    font-size: 0.78rem;
}

.user-rbac-grid ul {
    margin: 0;
    padding-left: 1rem;
    color: var(--text-secondary, #475569);
    font-size: 0.78rem;
    line-height: 1.38;
}

.user-rbac-warnings {
    color: #b45309 !important;
}

.user-rbac-muted {
    color: var(--text-muted, #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: #1e293b;
    border-color: #475569;
    color: #e2e8f0;
}

html.dark-mode .user-access-badge-low,
html.dark .user-access-badge-low,
:root[data-theme="dark"] .user-access-badge-low {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(52, 211, 153, 0.42);
    color: #6ee7b7;
}

html.dark-mode .user-access-badge-standard,
html.dark .user-access-badge-standard,
:root[data-theme="dark"] .user-access-badge-standard {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(96, 165, 250, 0.42);
    color: #93c5fd;
}

html.dark-mode .user-access-badge-elevated,
html.dark .user-access-badge-elevated,
:root[data-theme="dark"] .user-access-badge-elevated {
    background: rgba(245, 158, 11, 0.16);
    border-color: rgba(251, 191, 36, 0.45);
    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: rgba(239, 68, 68, 0.15);
    border-color: rgba(248, 113, 113, 0.45);
    color: #fca5a5;
}

html.dark-mode .user-rbac-panel,
html.dark .user-rbac-panel,
:root[data-theme="dark"] .user-rbac-panel {
    background: #0f172a;
    border-color: #334155;
}

@media (max-width: 860px) {
    .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: 132px !important;
    min-width: 132px !important;
    max-width: 132px !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: 1260px !important;
}

#chatbots-table th:nth-child(1),
#chatbots-table td:nth-child(1) { width: 36px !important; }
#chatbots-table th[data-column="id"],
#chatbots-table td[data-column="id"] { width: 96px !important; }
#chatbots-table th[data-column="name"],
#chatbots-table td[data-column="name"] { width: 300px !important; }
#chatbots-table th[data-column="status"],
#chatbots-table td[data-column="status"] { width: 110px !important; }
#chatbots-table th[data-column="scope"],
#chatbots-table td[data-column="scope"] { width: 260px !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: 125px !important; }

#user-table {
    min-width: 1338px !important;
}

#user-table th[data-column="id"],
#user-table td[data-column="id"] { width: 96px !important; }
#user-table th[data-column="user"],
#user-table td[data-column="user"] { width: 260px !important; }
#user-table th[data-column="email"],
#user-table td[data-column="email"] { width: 260px !important; }
#user-table th[data-column="role"],
#user-table td[data-column="role"] { width: 150px !important; }
#user-table th[data-column="access"],
#user-table td[data-column="access"] { width: 170px !important; }
#user-table th[data-column="status"],
#user-table td[data-column="status"] { width: 120px !important; }
#user-table th[data-column="last_login"],
#user-table td[data-column="last_login"] { width: 150px !important; }

#model-management-table {
    min-width: 1460px !important;
}

#model-management-table th[data-column="id"],
#model-management-table td[data-column="id"] {
    width: 130px !important;
}
#model-management-table th[data-column="name"],
#model-management-table td[data-column="name"] { width: 180px !important; }
#model-management-table th[data-column="llm-provider"],
#model-management-table td[data-column="llm-provider"] { width: 96px !important; }
#model-management-table th[data-column="llm-model"],
#model-management-table td[data-column="llm-model"] { width: 112px !important; }
#model-management-table th[data-column="llm-endpoint"],
#model-management-table td[data-column="llm-endpoint"] { width: 176px !important; }
#model-management-table th[data-column="embedding-provider"],
#model-management-table td[data-column="embedding-provider"] { width: 116px !important; }
#model-management-table th[data-column="embedding-model"],
#model-management-table td[data-column="embedding-model"] { width: 160px !important; }
#model-management-table th[data-column="embedding-endpoint"],
#model-management-table td[data-column="embedding-endpoint"] { width: 176px !important; }
#model-management-table th[data-column="credentials"],
#model-management-table td[data-column="credentials"] { width: 110px !important; }
#model-management-table th[data-column="readiness"],
#model-management-table td[data-column="readiness"] { width: 132px !important; }
#model-management-table th[data-column="active"],
#model-management-table td[data-column="active"] { width: 76px !important; }

#persona-templates-table th[data-column="id"],
#persona-templates-table td[data-column="id"] { width: 120px !important; }
#persona-templates-table th[data-column="name"],
#persona-templates-table td[data-column="name"] { width: 260px !important; }
#persona-templates-table th[data-column="source"],
#persona-templates-table td[data-column="source"] { width: 100px !important; }
#persona-templates-table th[data-column="updated"],
#persona-templates-table td[data-column="updated"] { width: 110px !important; }
#persona-templates-table th[data-column="updated-by"],
#persona-templates-table td[data-column="updated-by"] { width: 150px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#persona-templates-table td[data-column="description"] {
    max-width: 420px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#connectors-table {
    min-width: 1320px !important;
}

#connectors-table th:nth-child(1),
#connectors-table td:nth-child(1) { width: 110px !important; }
#connectors-table th:nth-child(2),
#connectors-table td:nth-child(2) { width: 220px !important; }
#connectors-table th:nth-child(3),
#connectors-table td:nth-child(3) { width: 190px !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: 120px !important; }
#connectors-table th:nth-child(7),
#connectors-table td:nth-child(7) { width: 190px !important; }
#connectors-table th:nth-child(9),
#connectors-table td:nth-child(9) { width: 140px !important; }

#webhooks-table {
    min-width: 1280px !important;
}

#webhooks-table th:nth-child(1),
#webhooks-table td:nth-child(1) { width: 104px !important; }
#webhooks-table th:nth-child(2),
#webhooks-table td:nth-child(2) { width: 210px !important; }
#webhooks-table th:nth-child(3),
#webhooks-table td:nth-child(3) { width: 330px !important; }
#webhooks-table th:nth-child(4),
#webhooks-table td:nth-child(4) { width: 220px !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: 120px !important; }
#webhooks-table th:nth-child(8),
#webhooks-table td:nth-child(8) { width: 140px !important; }

#webhook-deliveries-table {
    min-width: 1120px !important;
}

#webhook-deliveries-table th:nth-child(1),
#webhook-deliveries-table td:nth-child(1) { width: 104px !important; }
#webhook-deliveries-table th:nth-child(2),
#webhook-deliveries-table td:nth-child(2) { width: 170px !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: 120px !important; }
#webhook-deliveries-table th:nth-child(4),
#webhook-deliveries-table td:nth-child(4) { width: 250px !important; }
#webhook-deliveries-table th:nth-child(8),
#webhook-deliveries-table td:nth-child(8) { width: 240px !important; }

#audit-log-table {
    min-width: 1360px !important;
}

#audit-log-table th:nth-child(1),
#audit-log-table td:nth-child(1) { width: 110px !important; }
#audit-log-table th:nth-child(2),
#audit-log-table td:nth-child(2) { width: 180px !important; }
#audit-log-table th:nth-child(3),
#audit-log-table td:nth-child(3) { width: 160px !important; }
#audit-log-table th:nth-child(4),
#audit-log-table td:nth-child(4) { width: 300px !important; }
#audit-log-table th:nth-child(5),
#audit-log-table td:nth-child(5) { width: 180px !important; }
#audit-log-table th:nth-child(6),
#audit-log-table td:nth-child(6) { width: 110px !important; }
#audit-log-table th:nth-child(7),
#audit-log-table td:nth-child(7) { width: 300px !important; }
#audit-log-table th:nth-child(8),
#audit-log-table td:nth-child(8) { width: 132px !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: 1320px !important;
}

#reports-schedule-table th:nth-child(1),
#reports-schedule-table td:nth-child(1) { width: 108px !important; }
#reports-schedule-table th:nth-child(2),
#reports-schedule-table td:nth-child(2) { width: 230px !important; }
#reports-schedule-table th:nth-child(3),
#reports-schedule-table td:nth-child(3) { width: 190px !important; }
#reports-schedule-table th:nth-child(4),
#reports-schedule-table td:nth-child(4) { width: 110px !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: 120px !important; }

#code-table {
    min-width: 980px !important;
}

#code-table th:nth-child(1),
#code-table td:nth-child(1) { width: 40px !important; }
#code-table th[data-column="id"],
#code-table td[data-column="id"] { width: 96px !important; }
#code-table th[data-column="name"],
#code-table td[data-column="name"] { width: 220px !important; }
#code-table th[data-column="type"],
#code-table td[data-column="type"] { width: 140px !important; }
#code-table th[data-column="description"],
#code-table td[data-column="description"] { width: 260px !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: 120px !important; }

#confirm-modal .modal-content {
    border-top: 4px solid #dc2626 !important;
}

#confirm-modal-confirm {
    min-width: 130px !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(280px, 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: 10051 !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: 32px !important;
}

#content-page .user-pagination-info,
#scopes-page .user-pagination-info,
#chatbots-page .user-pagination-info {
    min-height: 40px !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: 28px !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: 36px !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(570px, calc(100vh - 252px)) !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: 0 !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: 40px !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: 132px !important;
    min-width: 132px !important;
    max-width: 132px !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: #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: inset 0 0 0 1px rgba(148, 163, 184, 0.08) !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: 0 0 0 1px rgba(147, 197, 253, 0.35) !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: #111827 !important;
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
    border-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: #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;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !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: #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, #ffffff) !important;
}

.sidebar-user-expandable-item.active *,
.sidebar-user-expandable-content .sidebar-user-expandable-item.active * {
    color: var(--primary-ink, #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, #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, #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, #111827) !important;
    border: 1px solid var(--line, #334155) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.45) !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, #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, #1e293b) !important;
    color: var(--ink, #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, #94a3b8) !important;
    opacity: 0.72 !important;
}

html.dark-mode .stat-icon,
html.dark .stat-icon,
:root[data-theme="dark"] .stat-icon {
    background: #dbeafe !important;
    color: var(--primary) !important;
    opacity: 1 !important;
}

html.dark-mode .stat-icon.primary,
html.dark .stat-icon.primary,
:root[data-theme="dark"] .stat-icon.primary {
    background: #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: #dcfce7 !important;
    color: #047857 !important;
}

html.dark-mode .stat-icon.warning,
html.dark .stat-icon.warning,
:root[data-theme="dark"] .stat-icon.warning {
    background: #fef3c7 !important;
    color: #b45309 !important;
}

html.dark-mode .stat-icon.error,
html.dark .stat-icon.error,
:root[data-theme="dark"] .stat-icon.error {
    background: #fee2e2 !important;
    color: #dc2626 !important;
}

html.dark-mode .chatbot-license-panel,
html.dark .chatbot-license-panel,
:root[data-theme="dark"] .chatbot-license-panel {
    background: var(--panel, #111827) !important;
    border-color: var(--line, #334155) !important;
    color: var(--ink, #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, #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, #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, #0f172a) !important;
    border-color: var(--line, #334155) !important;
}

html.dark-mode .chatbot-license-table th,
html.dark .chatbot-license-table th,
:root[data-theme="dark"] .chatbot-license-table th {
    background: #374151 !important;
    color: #ffffff !important;
    border-color: var(--line, #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, #111827) !important;
    border-color: var(--line, #334155) !important;
}

html.dark-mode .license-domain-list span,
html.dark .license-domain-list span,
:root[data-theme="dark"] .license-domain-list span {
    background: rgba(37, 99, 235, 0.18) !important;
    color: #bfdbfe !important;
}

html.dark-mode .license-domain-warning,
html.dark .license-domain-warning,
:root[data-theme="dark"] .license-domain-warning {
    background: rgba(245, 158, 11, 0.16) !important;
    color: #fde68a !important;
}

html.dark-mode .chatbot-license-onetime,
html.dark .chatbot-license-onetime,
:root[data-theme="dark"] .chatbot-license-onetime {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.62) !important;
    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: #fde68a !important;
}

html.dark-mode .chatbot-license-onetime code,
html.dark .chatbot-license-onetime code,
:root[data-theme="dark"] .chatbot-license-onetime code {
    background: #0f172a !important;
    border-color: rgba(245, 158, 11, 0.46) !important;
    color: #fef3c7 !important;
}

html.dark-mode .stat-icon.info,
html.dark .stat-icon.info,
:root[data-theme="dark"] .stat-icon.info {
    background: #e0f2fe !important;
    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, #0f172a) !important;
    color: var(--ink, #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, #111827) !important;
    border-color: var(--line, #334155) !important;
    color: var(--ink, #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, #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, #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, #111827) !important;
    border-color: var(--line, #334155) !important;
    color: var(--ink, #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, #0f172a) !important;
    border-color: var(--line, #334155) !important;
    color: var(--ink, #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, #0f172a) !important;
    border-color: var(--line, #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, #94a3b8) !important; /* 6.92:1 on #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, #111827) !important;
    color: #60a5fa !important; /* 6.98:1 on #111827 (WCAG AA) */
    border: 1px solid var(--line, #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: rgba(30, 41, 59, 0.55) !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, #111827) !important;
    border-color: var(--line, #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, #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, #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, #0f172a) !important;
    border-color: var(--line-strong, #475569) !important;
    color: var(--ink, #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, #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: 0 0 0 1000px var(--field, #0f172a) inset !important;
    -webkit-text-fill-color: var(--ink, #f8fafc) !important;
    caret-color: var(--ink, #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, #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, #111827) !important;
    border-color: var(--line, #334155) !important;
    color: var(--ink, #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, #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: rgba(127, 29, 29, 0.28) !important;
    border-color: rgba(248, 113, 113, 0.72) !important;
    color: var(--ink, #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, #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: rgba(37, 99, 235, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.72) !important;
    color: #bfdbfe !important;
}

html.dark-mode .status-error-text,
html.dark .status-error-text,
:root[data-theme="dark"] .status-error-text {
    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(300px, 360px);
    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) 2px 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: 4px 6px;
    border-radius: 6px;
}
.chatbot-builder-preview-collapse:hover,
.chatbot-builder-preview-collapse:focus-visible {
    background: rgba(255, 255, 255, 0.18);
    outline: 2px solid currentColor;
    outline-offset: 1px;
}
.chatbot-builder-preview-expand {
    display: none;
}
.chatbot-builder-workspace.preview-collapsed {
    grid-template-columns: minmax(0, 1fr) 44px;
}
.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: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg-secondary, #f1f5f9);
    color: var(--text-primary, #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: 1100px) {
    .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: 420px;
    }
}

.chatbot-builder-status-panel,
.chatbot-builder-preview {
    border: 1px solid #cbd5e1 !important;
    border-radius: var(--sage-radius) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !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: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.chatbot-builder-panel-heading p {
    margin: 0 !important;
    max-width: 66ch !important;
    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: 88px !important;
    padding: 0.28rem 0.55rem !important;
    border-radius: 999px !important;
    border: 1px solid #bfdbfe !important;
    background: #eff6ff !important;
    color: var(--primary) !important;
    font-size: 0.72rem !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.chatbot-builder-state-chip.is-ready,
.chatbot-builder-status-card strong.is-ready {
    border-color: #bbf7d0 !important;
    background: #dcfce7 !important;
    color: #166534 !important;
}

.chatbot-builder-state-chip.is-warning,
.chatbot-builder-status-card strong.is-warning {
    border-color: #fed7aa !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
}

.chatbot-builder-state-chip.is-muted,
.chatbot-builder-status-card strong.is-muted {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
    color: #475569 !important;
}

.chatbot-builder-next-action {
    margin: 0 0 0.7rem !important;
    padding: 0.55rem 0.7rem !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 8px !important;
    background: #eff6ff !important;
    color: #1e3a8a !important;
    font-size: 0.8rem !important;
    font-weight: 760 !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: 1px solid #fed7aa !important;
    border-radius: 8px !important;
    background: #fff7ed !important;
}

.chatbot-builder-readiness-item strong {
    color: #9a3412 !important;
    font-size: 0.76rem !important;
    font-weight: 860 !important;
}

.chatbot-builder-readiness-item span {
    color: #7c2d12 !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
}

.chatbot-builder-readiness-item.is-ready {
    border-color: #bbf7d0 !important;
    background: #f0fdf4 !important;
}

.chatbot-builder-readiness-item.is-ready strong {
    color: #166534 !important;
}

.chatbot-builder-readiness-item.is-ready span {
    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: 58px !important;
    padding: 0.6rem 0.7rem !important;
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    text-align: left !important;
    cursor: pointer !important;
}

.chatbot-builder-status-card:hover,
.chatbot-builder-status-card:focus-visible {
    border-color: #93c5fd !important;
    background: #eff6ff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16) !important;
}

.chatbot-builder-status-card span {
    color: #64748b !important;
    font-size: 0.7rem !important;
    font-weight: 780 !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: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 0.76rem !important;
    font-weight: 850 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.chatbot-builder-preview {
    display: flex !important;
    flex-direction: column !important;
    min-height: 220px !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), #7c3aed) !important;
    color: #ffffff !important;
    font-weight: 850 !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: 999px !important;
    background: rgba(255, 255, 255, 0.18) !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: #f8fafc !important;
}

.chatbot-builder-preview-user,
.chatbot-builder-preview-bot {
    max-width: 86% !important;
    padding: 0.55rem 0.7rem !important;
    border-radius: 10px !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), #7c3aed) !important;
    color: #ffffff !important;
}

.chatbot-builder-preview-bot {
    justify-self: start !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    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: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
}

.chatbot-builder-preview-meta span {
    display: inline-flex !important;
    max-width: 100% !important;
    padding: 0.18rem 0.45rem !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: var(--primary) !important;
    font-size: 0.72rem !important;
    font-weight: 750 !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: 25 !important;
    margin-top: 0.9rem !important;
    padding: 0.75rem 0.9rem !important;
    border-top: 1px solid #cbd5e1 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 -8px 18px rgba(15, 23, 42, 0.08) !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: #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: #334155 !important;
    background: #111827 !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !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: #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: #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: rgba(37, 99, 235, 0.16) !important;
    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: #fb923c !important;
    background: rgba(251, 146, 60, 0.12) !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: #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: #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: #22c55e !important;
    background: rgba(22, 163, 74, 0.14) !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: #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: #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: #334155 !important;
    background: #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: #60a5fa !important;
    background: #172033 !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.22) !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: #475569 !important;
    background: #1e293b !important;
    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: #16a34a !important;
    background: rgba(22, 163, 74, 0.18) !important;
    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: #fb923c !important;
    background: rgba(251, 146, 60, 0.17) !important;
    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: #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: #334155 !important;
    background: #111827 !important;
    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: #334155 !important;
    background: #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: rgba(37, 99, 235, 0.24) !important;
    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: #334155 !important;
    background: rgba(15, 23, 42, 0.96) !important;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.34) !important;
}

@media (max-width: 980px) {
    #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: 560px) {
    .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: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 60%, #f8fafc 100%) !important;
    padding: 16px !important;
    margin: 14px 0 !important;
    display: grid !important;
    gap: 14px !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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 10px;
    background: var(--bg-secondary, #f8fafc);
}
.persona-generate-head { display: flex; flex-direction: column; gap: 0.15rem; margin-bottom: 0.5rem; }
.persona-generate-head strong { color: var(--text-primary, #0f172a); }
.persona-generate-head span { font-size: 0.8rem; color: var(--text-secondary, #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: 1px solid var(--border-color, #e2e8f0); padding-top: 0.75rem; }
.persona-generate-preview { background: var(--bg-tertiary, #eef2f7); border-radius: 8px; padding: 0.5rem 0.75rem; }
.persona-generate-tone-q { font-weight: 600; margin: 0 0 0.25rem; color: var(--text-primary, #0f172a); }
.persona-generate-tone-after { margin: 0; color: var(--text-secondary, #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, #64748b); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.03em; }
.persona-generate-fields strong { color: var(--text-primary, #0f172a); }
.persona-generate-note { font-size: 0.75rem; color: var(--text-secondary, #64748b); margin: 0.5rem 0 0; }

.persona-studio-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.persona-studio-header h4 {
    margin: 0 0 4px !important;
    color: #0f172a !important;
    font-size: 1rem !important;
}

.persona-studio-header p,
.persona-studio-card p,
.persona-studio-sample p {
    margin: 0 !important;
    color: #475569 !important;
    line-height: 1.45 !important;
}

.persona-studio-pill {
    border-radius: 999px !important;
    background: #dbeafe !important;
    color: var(--primary) !important;
    font-weight: 700 !important;
    font-size: 0.78rem !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
}

.persona-studio-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.persona-studio-card,
.persona-studio-sample {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    padding: 12px !important;
}

.persona-studio-card span,
.persona-studio-sample-heading span {
    display: block !important;
    color: #64748b !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 6px !important;
}

.persona-studio-card strong,
.persona-studio-sample-heading strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 0.96rem !important;
    margin-bottom: 6px !important;
}

.persona-studio-card-warning {
    border-color: #fde68a !important;
    background: #fffbeb !important;
}

.persona-studio-sample-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 8px !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, #0f172a 0%, #111827 70%, #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: #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: #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: #334155 !important;
    background: rgba(15, 23, 42, 0.9) !important;
}

html.dark-mode .persona-studio-card-warning,
html.dark .persona-studio-card-warning,
:root[data-theme="dark"] .persona-studio-card-warning {
    border-color: #92400e !important;
    background: rgba(120, 53, 15, 0.26) !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: #93c5fd !important;
}

html.dark-mode .persona-studio-pill,
html.dark .persona-studio-pill,
:root[data-theme="dark"] .persona-studio-pill {
    background: rgba(37, 99, 235, 0.24) !important;
    color: #bfdbfe !important;
}

@media (max-width: 900px) {
    .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: 12px !important;
}

.persona-studio-comparison article {
    border: 1px solid #dbeafe !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    padding: 12px !important;
}

.persona-studio-comparison article strong {
    color: #0f172a !important;
    display: block !important;
    margin-bottom: 6px !important;
}

html.dark-mode .persona-studio-comparison article,
html.dark .persona-studio-comparison article,
:root[data-theme="dark"] .persona-studio-comparison article {
    border-color: #334155 !important;
    background: rgba(2, 6, 23, 0.52) !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: #f8fafc !important;
}

@media (max-width: 900px) {
    .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: 10px !important;
    align-items: center !important;
    border: 1px solid #bfdbfe !important;
    border-left: 4px solid var(--primary) !important;
    border-radius: 10px !important;
    background: #eff6ff !important;
    padding: 14px 16px !important;
    margin: 10px 0 14px !important;
}

.chatbot-knowledge-diagnostics.is-warning {
    border-color: #fde68a !important;
    border-left-color: #f59e0b !important;
    background: #fffbeb !important;
}

.chatbot-knowledge-diagnostics.is-ready {
    border-color: #bbf7d0 !important;
    border-left-color: #10b981 !important;
    background: #ecfdf5 !important;
}

.chatbot-knowledge-diagnostics strong {
    display: block !important;
    color: #0f172a !important;
    margin: 2px 0 4px !important;
}

.chatbot-knowledge-diagnostics p {
    margin: 0 !important;
    color: #475569 !important;
}

.knowledge-diagnostics-eyebrow {
    color: var(--primary) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.chatbot-knowledge-diagnostics dl {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
}

.chatbot-knowledge-diagnostics dl div {
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    padding: 8px 10px !important;
}

.chatbot-knowledge-diagnostics dt {
    color: #64748b !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    margin: 0 0 3px !important;
}

.chatbot-knowledge-diagnostics dd {
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 800 !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 44px action
   button was inflating rows to 58px). */
.scope-content-table td {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
.scope-content-table td .btn,
.scope-content-table td .btn-sm,
.scope-content-table td .btn-icon {
    min-height: 26px !important;
    height: 26px !important;
    padding: 2px 10px !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: #60a5fa !important;
    background: rgba(30, 64, 175, 0.16) !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: #92400e !important;
    border-left-color: #f59e0b !important;
    background: rgba(69, 26, 3, 0.38) !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: #166534 !important;
    border-left-color: #34d399 !important;
    background: rgba(5, 46, 22, 0.38) !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: #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: #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: #334155 !important;
    background: rgba(15, 23, 42, 0.76) !important;
}

@media (max-width: 760px) {
    .chatbot-knowledge-diagnostics {
        grid-template-columns: 1fr !important;
    }

    .chatbot-knowledge-diagnostics dl {
        grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)) !important;
    }
}
.chatbot-builder-copilot {
    margin-top: 0.7rem !important;
    padding: 0.65rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #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: #0f172a !important;
    font-size: 0.82rem !important;
    font-weight: 860 !important;
}

.chatbot-builder-copilot-heading span,
.chatbot-builder-copilot-item span,
.chatbot-builder-copilot-empty span {
    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: 1px solid #dbeafe !important;
    border-left: 3px solid var(--primary) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.chatbot-builder-copilot-empty {
    grid-template-columns: minmax(0, 1fr) !important;
    border-left-color: #22c55e !important;
}

.chatbot-builder-copilot-item.is-high {
    border-left-color: #f97316 !important;
    background: #fff7ed !important;
}

.chatbot-builder-copilot-item.is-low {
    border-left-color: #94a3b8 !important;
}

.chatbot-builder-copilot-item strong,
.chatbot-builder-copilot-empty strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
}

.chatbot-builder-copilot-item p {
    margin: 0.18rem 0 0.1rem !important;
    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: #334155 !important;
    background: #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: #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: #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: #334155 !important;
    background: #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: #1f2937 !important;
}
/* Wave 2 content ingestion source launcher */
#content-ingestion-modal .modal-content {
    width: min(980px, calc(100vw - 32px)) !important;
    max-width: 980px !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: 78px;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    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: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
    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: 18px;
    padding: 0 0.45rem;
    border-radius: 999px;
    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: #93c5fd;
}

@media (max-width: 860px) {
    .content-source-launcher {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .content-source-launcher {
        grid-template-columns: 1fr;
    }
}
/* Directory preview task surface */
.directory-preview-container {
    background: var(--bg-primary);
    border: 1px solid var(--border-color, var(--border));
    border-radius: 10px;
    padding: 16px;
    margin-top: 16px;
    display: grid;
    gap: 14px;
}

.directory-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--border-color, var(--border));
    padding-bottom: 12px;
}

.directory-preview-header h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 16px;
}

.directory-preview-header p {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 13px;
}

.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: 1px solid color-mix(in srgb, var(--primary) 25%, transparent);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
}

.directory-preview-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.directory-preview-stats .preview-stat {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    padding: 10px;
    background: var(--bg-secondary);
}

.directory-preview-stats .preview-stat strong {
    display: block;
    color: var(--text-primary);
    font-size: 18px;
    line-height: 1.1;
}

.directory-preview-stats .preview-stat span {
    display: block;
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: 12px;
}

.directory-preview-types h4,
.directory-preview-browser h4 {
    margin: 0 0 8px;
    color: var(--text-primary);
    font-size: 13px;
}

.directory-preview-types ul {
    margin: 0;
    padding-left: 18px;
    columns: 2;
    color: var(--text-primary);
}

.directory-preview-toolbar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(160px, 220px);
    gap: 10px;
    margin-bottom: 10px;
}

.directory-preview-table-wrap {
    max-height: 220px;
    overflow: auto;
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-primary);
}

.directory-preview-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.directory-preview-table th,
.directory-preview-table td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border-color, var(--border));
    color: var(--text-primary);
    font-size: 13px;
    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: 11px;
    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: 110px; }
.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: 10px;
    border-top: 1px solid var(--border-color, var(--border));
    padding-top: 12px;
}

@media (max-width: 900px) {
    .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: 10px;
    margin: 0 0 12px;
}

.scope-coverage-card {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 10px 12px;
    min-width: 0;
}

.scope-coverage-card span,
.scope-coverage-card small {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.2;
}

.scope-coverage-card strong {
    display: block;
    margin: 2px 0;
    color: var(--text-primary);
    font-size: 20px;
    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: 900px) {
    .scope-coverage-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.content-readiness-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.content-signal-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    max-width: 100%;
}

.content-signal-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.readiness-ready {
    background: #dcfce7;
    color: #166534;
}

.readiness-processing {
    background: #dbeafe;
    color: #1e40af;
}

.readiness-review {
    background: #fef3c7;
    color: #92400e;
}

.readiness-blocked {
    background: #fee2e2;
    color: #991b1b;
}

.signal-clean {
    background: #eef2ff;
    color: #3730a3;
}

.signal-duplicate,
.signal-aging,
.signal-stale-index,
.signal-thin,
.signal-review {
    background: #fef3c7;
    color: #92400e;
}

.signal-sensitive {
    background: #fee2e2;
    color: #991b1b;
}

.signal-multimodal {
    background: #e0f2fe;
    color: #075985;
}

[data-theme="dark"] .readiness-ready,
.dark-mode .readiness-ready {
    background: #064e3b;
    color: #bbf7d0;
}

[data-theme="dark"] .readiness-processing,
.dark-mode .readiness-processing {
    background: #1e3a8a;
    color: #bfdbfe;
}

[data-theme="dark"] .readiness-review,
.dark-mode .readiness-review {
    background: #78350f;
    color: #fde68a;
}

[data-theme="dark"] .readiness-blocked,
.dark-mode .readiness-blocked {
    background: #7f1d1d;
    color: #fecaca;
}

[data-theme="dark"] .signal-clean,
.dark-mode .signal-clean {
    background: #312e81;
    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: #78350f;
    color: #fde68a;
}

[data-theme="dark"] .signal-sensitive,
.dark-mode .signal-sensitive {
    background: #7f1d1d;
    color: #fecaca;
}

[data-theme="dark"] .signal-multimodal,
.dark-mode .signal-multimodal {
    background: #0c4a6e;
    color: #bae6fd;
}

.content-remediation-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.content-remediation-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) minmax(220px, 1.2fr);
    gap: 10px;
    align-items: stretch;
}

.content-remediation-summary > div {
    border: 1px solid var(--border-color, #d7e1ef);
    border-radius: 8px;
    background: var(--surface-secondary, #f8fafc);
    padding: 10px 12px;
}

.content-remediation-summary strong {
    display: block;
    color: var(--text-primary, #0f172a);
    font-size: 20px;
    line-height: 1.1;
}

.content-remediation-summary span {
    color: var(--text-secondary, #475569);
    font-size: 12px;
}

.content-remediation-priority-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-content: center;
}

.content-remediation-chip,
.content-remediation-priority {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.01em;
    background: #e0f2fe;
    color: #075985;
    white-space: nowrap;
}

.content-remediation-priority.priority-p0 {
    background: #fee2e2;
    color: #991b1b;
}

.content-remediation-priority.priority-p1 {
    background: #ffedd5;
    color: #9a3412;
}

.content-remediation-priority.priority-p2 {
    background: #fef3c7;
    color: #92400e;
}

.content-remediation-priority.priority-p3 {
    background: #e0f2fe;
    color: #075985;
}

.content-remediation-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 12px;
}

.content-remediation-controls label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--text-primary, #0f172a);
    font-weight: 700;
}

.content-remediation-note {
    grid-column: 1 / -1;
}

.content-remediation-table-wrap {
    overflow: auto;
    border: 1px solid var(--border-color, #d7e1ef);
    border-radius: 8px;
    max-height: min(44vh, 420px);
}

.content-remediation-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.content-remediation-table th,
.content-remediation-table td {
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    padding: 9px 10px;
    text-align: left;
    vertical-align: top;
    color: var(--text-primary, #0f172a);
}

.content-remediation-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--surface-secondary, #f1f5f9);
    color: var(--text-primary, #0f172a);
    font-size: 11px;
    text-transform: uppercase;
}

.content-remediation-table td small {
    display: block;
    color: var(--text-secondary, #64748b);
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content-remediation-disclaimer {
    margin: 0;
    border-left: 4px solid var(--primary-color, var(--primary));
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--text-secondary, #475569);
    padding: 10px 12px;
    font-size: 13px;
}

[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: #334155;
    background: #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: #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: #cbd5e1;
}

[data-theme="dark"] .content-remediation-table th,
.dark-mode .content-remediation-table th {
    background: #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: #334155;
}

[data-theme="dark"] .content-remediation-disclaimer,
.dark-mode .content-remediation-disclaimer {
    background: rgba(59, 130, 246, 0.14);
}

@media (max-width: 900px) {
    .content-remediation-summary,
    .content-remediation-controls {
        grid-template-columns: 1fr;
    }
}

.scope-answerability-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
    gap: 12px;
    align-items: start;
    border: 1px solid rgba(245, 158, 11, 0.42);
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.08);
    padding: 10px 12px;
    margin: 0 0 12px;
}

.scope-answerability-preview.is-ready {
    border-color: rgba(16, 185, 129, 0.42);
    border-left-color: #10b981;
    background: rgba(16, 185, 129, 0.08);
}

.scope-answerability-preview.is-warning {
    border-color: rgba(245, 158, 11, 0.42);
    border-left-color: #f59e0b;
}

.scope-answerability-preview span {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.scope-answerability-preview strong {
    display: block;
    color: var(--text-primary);
    font-size: 15px;
    line-height: 1.25;
    margin: 2px 0 4px;
}

.scope-answerability-preview p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.35;
}

.scope-answerability-preview ul {
    margin: 0;
    padding-left: 18px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}

.scope-coverage-reasoning {
    display: grid;
    gap: 10px;
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 10px 12px;
    margin: 0 0 12px;
}

.scope-coverage-reasoning.is-ready {
    border-color: rgba(16, 185, 129, 0.42);
}

.scope-coverage-reasoning.is-warning {
    border-color: rgba(245, 158, 11, 0.5);
}

.scope-coverage-reasoning-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color, var(--border));
}

.scope-coverage-reasoning-header span {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.scope-coverage-reasoning-header strong {
    display: block;
    color: var(--text-primary);
    font-size: 15px;
    line-height: 1.25;
}

.scope-coverage-reasoning-header small {
    color: var(--text-secondary);
    font-size: 12px;
    text-align: right;
}

.scope-coverage-reasoning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.scope-coverage-reasoning-grid section,
.scope-coverage-selected-reasons {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-secondary);
    padding: 8px 10px;
    min-width: 0;
}

.scope-coverage-reasoning h4 {
    margin: 0 0 6px;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 800;
}

.scope-coverage-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

/* AI-03 knowledge coverage map + gaps. Theme variables keep it legible in dark mode. */
.scope-coverage-map {
    margin-top: 10px;
    border: 1px solid var(--border-color, var(--border));
    border-radius: 10px;
    padding: 10px 12px;
    background: var(--bg-secondary, #f8fafc);
}
.scope-coverage-map-header { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.scope-coverage-map-header h4 { margin: 0; font-size: 13px; color: var(--text-primary, #0f172a); }
.scope-coverage-map-header small { color: var(--text-secondary, #64748b); }
.scope-coverage-topic-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.scope-coverage-topic {
    display: inline-flex; align-items: center; gap: 4px;
    border-radius: 8px; padding: 3px 8px;
    background: var(--bg-tertiary, #eef2f7);
    color: var(--text-primary, #0f172a);
    font-size: 12px;
}
.scope-coverage-topic strong { color: var(--accent, var(--primary)); }
.scope-coverage-gap-list { display: flex; flex-direction: column; gap: 6px; }
.scope-coverage-gap { border-left: 4px solid var(--border-color, #cbd5e1); border-radius: 8px; padding: 6px 10px; background: var(--bg-primary, #fff); }
.scope-coverage-gap strong { display: block; color: var(--text-primary, #0f172a); font-size: 12px; }
.scope-coverage-gap p { margin: 2px 0; color: var(--text-secondary, #475569); font-size: 12px; }
.scope-coverage-gap small { color: var(--text-secondary, #64748b); font-size: 11px; }
.scope-coverage-gap-critical { border-left-color: #ef4444; }
.scope-coverage-gap-warning { border-left-color: #f59e0b; }
.scope-coverage-gap-ok { border-left-color: #22c55e; }

.scope-coverage-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #dbeafe;
    color: #1e40af;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    padding: 3px 8px;
    max-width: 100%;
}

.scope-coverage-pill.is-muted {
    background: #f1f5f9;
    color: #64748b;
}

.scope-coverage-selected-reasons ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.scope-coverage-selected-reasons li {
    display: grid;
    gap: 2px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}

.scope-coverage-selected-reasons strong {
    color: var(--text-primary);
    font-size: 12px;
}

.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: rgba(251, 191, 36, 0.5);
    border-left-color: #fbbf24;
    background: rgba(120, 53, 15, 0.34);
}

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: rgba(52, 211, 153, 0.5);
    border-left-color: #34d399;
    background: rgba(6, 78, 59, 0.38);
}

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: #1e3a8a;
    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: #334155;
    color: #cbd5e1;
}

@media (max-width: 900px) {
    .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: 1px solid var(--border-color, var(--border));
    border-left: 4px solid #94a3b8;
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 10px 12px;
    margin-top: 10px;
}

.scope-default-guidance.is-default {
    border-left-color: var(--primary);
    background: rgba(37, 99, 235, 0.08);
}

.scope-default-guidance span {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.scope-default-guidance strong {
    display: block;
    margin: 2px 0 4px;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.25;
}

.scope-default-guidance p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    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: #60a5fa;
    background: rgba(30, 64, 175, 0.32);
}

/* Model configuration guidance */
.model-config-guidance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 12px;
}

.model-config-guidance-card {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 10px 12px;
    min-width: 0;
}

.model-config-guidance-card span,
.model-config-guidance-card small {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.25;
}

.model-config-guidance-card strong {
    display: block;
    margin: 2px 0;
    color: var(--text-primary);
    font-size: 14px;
    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: 900px) {
    .model-config-guidance {
        grid-template-columns: 1fr;
    }
}

.model-config-secret-state {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 12px;
}

.model-config-secret-card {
    border: 1px solid var(--border-color, var(--border));
    border-left: 4px solid #94a3b8;
    border-radius: 8px;
    background: var(--bg-primary);
    padding: 10px 12px;
    min-width: 0;
}

.model-config-secret-card.is-ready,
.model-config-secret-card.is-saved,
.model-config-secret-card.is-local {
    border-left-color: #10b981;
}

.model-config-secret-card.is-required {
    border-left-color: #f59e0b;
}

.model-config-secret-card span,
.model-config-secret-card small {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.25;
}

.model-config-secret-card strong {
    display: block;
    margin: 2px 0;
    color: var(--text-primary);
    font-size: 14px;
    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: #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: #fbbf24;
}

@media (max-width: 900px) {
    .model-config-secret-state {
        grid-template-columns: 1fr;
    }
}

.model-config-readiness {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-primary);
    margin: 0 0 12px;
    padding: 10px;
}

.model-config-readiness-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.model-config-readiness-card {
    border: 1px solid var(--border-color, var(--border));
    border-left: 4px solid #94a3b8;
    border-radius: 8px;
    background: var(--bg-secondary);
    padding: 10px 12px;
    min-width: 0;
}

.model-config-readiness-card.is-ready {
    border-left-color: #10b981;
}

.model-config-readiness-card.is-warning {
    border-left-color: #f59e0b;
}

.model-config-readiness-card.is-blocked {
    border-left-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: 12px;
    line-height: 1.25;
}

.model-config-readiness-card strong {
    display: block;
    margin: 2px 0;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.25;
}

.model-config-readiness-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.model-config-readiness-checks li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    background: var(--bg-secondary);
    padding: 8px 10px;
    min-width: 0;
}

.model-config-readiness-checks li > span {
    flex: 0 0 auto;
    min-width: 58px;
    border-radius: 999px;
    padding: 2px 7px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

.model-config-readiness-checks li.is-pass > span {
    background: #dcfce7;
    color: #047857;
}

.model-config-readiness-checks li.is-warning > span {
    background: #fef3c7;
    color: #92400e;
}

.model-config-readiness-checks li.is-fail > span {
    background: #fee2e2;
    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: 12px;
    line-height: 1.25;
}

.model-config-readiness-checks small {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.3;
}

.model-readiness-badge {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 22px;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.model-readiness-badge.is-ready {
    background: #dcfce7;
    color: #047857;
}

.model-readiness-badge.is-warning {
    background: #fef3c7;
    color: #92400e;
}

.model-readiness-badge.is-blocked {
    background: #fee2e2;
    color: #b91c1c;
}

.model-readiness-badge.is-active {
    background: #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: #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: #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: #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: #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: rgba(6, 95, 70, 0.78);
    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: rgba(146, 64, 14, 0.78);
    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: rgba(127, 29, 29, 0.82);
    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: rgba(30, 64, 175, 0.82);
    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: rgba(6, 95, 70, 0.82);
    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: rgba(146, 64, 14, 0.82);
    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: rgba(127, 29, 29, 0.82);
    color: #fecaca;
}

@media (max-width: 900px) {
    .model-config-readiness-summary,
    .model-config-readiness-checks {
        grid-template-columns: 1fr;
    }
}

.model-config-test-result {
    border: 1px solid var(--border-color, var(--border));
    border-radius: 8px;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--bg-primary);
    color: var(--text-primary);
}

.model-config-test-result.is-passed {
    border-color: rgba(16, 185, 129, 0.45);
    background: rgba(16, 185, 129, 0.08);
}

.model-config-test-result.is-warning,
.model-config-test-result.is-loading {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
}

.model-config-test-result.is-failed {
    border-color: rgba(239, 68, 68, 0.45);
    background: rgba(239, 68, 68, 0.08);
}

.model-config-test-heading strong {
    display: block;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.3;
}

.model-config-test-checks {
    margin: 8px 0 0;
    padding: 0;
    display: grid;
    gap: 6px;
    list-style: none;
}

.model-config-test-checks li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.35;
}

.model-config-test-status {
    flex: 0 0 auto;
    min-width: 58px;
    border-radius: 999px;
    padding: 2px 7px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 11px;
    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: rgba(52, 211, 153, 0.5);
    background: rgba(6, 78, 59, 0.45);
}

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: rgba(251, 191, 36, 0.5);
    background: rgba(120, 53, 15, 0.38);
}

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: rgba(248, 113, 113, 0.55);
    background: rgba(127, 29, 29, 0.36);
}

/* 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: 154px;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    color: var(--text-primary, #0f172a);
    padding: 0.85rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}
.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, #0f172a);
    font-size: 0.9rem;
    margin: 0;
}
.reports-action-severity {
    border-radius: 999px;
    padding: 0.15rem 0.45rem;
    background: var(--bg-secondary, #f1f5f9);
    color: var(--text-secondary, #475569);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}
.reports-action-critical .reports-action-severity { background: #fee2e2; color: #991b1b; }
.reports-action-warning .reports-action-severity { background: #fef3c7; color: #92400e; }
.reports-action-success .reports-action-severity { background: #dcfce7; color: #166534; }
.reports-action-info .reports-action-severity { background: #dbeafe; color: var(--primary); }
.reports-action-metric {
    color: var(--text-primary, #0f172a);
    font-size: 1.05rem;
    font-weight: 850;
    margin-bottom: 0.35rem;
}
.reports-action-card p {
    color: var(--text-secondary, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
}
.reports-insight-list-panel li span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary, #0f172a);
    font-size: 0.78rem;
    font-weight: 760;
}
.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, #475569);
    font-size: 0.72rem;
    line-height: 1.35;
}
.reports-insight-empty {
    display: block !important;
    color: var(--text-secondary, #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, #111827);
    border-color: var(--border-color, #334155);
    color: var(--text-primary, #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, #0f172a);
    border-color: var(--border-color, #334155);
}
@media (max-width: 1200px) {
    .reports-action-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .reports-insight-query-row,
    .reports-action-insights-grid { grid-template-columns: 1fr; }
}

/* Channel setup commercial readiness workflow */
.channel-setup-panel { margin-bottom: 14px !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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    padding: 0.75rem 0.85rem;
    min-height: 74px;
}
.channel-summary-card strong {
    display: block;
    color: var(--text-primary, #0f172a);
    font-size: 1.15rem;
    line-height: 1.1;
}
.channel-summary-card span {
    display: block;
    color: var(--text-primary, #0f172a);
    font-size: 0.78rem;
    font-weight: 800;
    margin-top: 0.2rem;
}
.channel-summary-card small {
    display: block;
    color: var(--text-secondary, #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: 30px minmax(0, 1fr);
    gap: 0.6rem;
    align-items: start;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    padding: 0.72rem;
}
.channel-setup-workflow article > span {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--primary, var(--primary));
    color: #ffffff;
    font-weight: 850;
    font-size: 0.78rem;
}
.channel-setup-workflow strong,
.channel-card-topline h4 {
    color: var(--text-primary, #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, #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: 4px solid var(--primary, var(--primary));
}
.channel-setup-card-ready { border-left-color: #10b981; }
.channel-setup-card-blocked { border-left-color: #f59e0b; }
.channel-setup-card-pending { border-left-color: #f59e0b; }
.channel-card-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.channel-readiness-meter {
    width: 100%;
    height: 7px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--bg-secondary, #e2e8f0);
}
.channel-readiness-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary), #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #f8fafc);
    padding: 0.55rem;
}
.channel-card-facts span {
    display: block;
    color: var(--text-secondary, #64748b);
    font-size: 0.68rem;
    font-weight: 850;
    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, #0f172a);
    background: transparent;
    font-size: 0.78rem;
}
.channel-card-facts strong {
    color: var(--text-primary, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-primary, #ffffff);
    padding: 0.5rem;
}
.channel-setting-row strong {
    display: block;
    color: var(--text-primary, #0f172a);
    font-size: 0.78rem;
}
.channel-setting-row.is-empty {
    color: var(--text-secondary, #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, #111827) !important;
    border-color: var(--border-color, #334155) !important;
    color: var(--text-primary, #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, #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, #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, #cbd5e1) !important;
}
html.dark-mode .channel-readiness-meter,
html.dark .channel-readiness-meter,
:root[data-theme="dark"] .channel-readiness-meter {
    background: #1f2937 !important;
}
@media (max-width: 1200px) {
    .channel-setup-summary,
    .channel-setup-workflow,
    .channel-setup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .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: 1px solid var(--sidebar-border, #d8e0eb);
    border-bottom: 1px solid var(--sidebar-border, #d8e0eb);
}
.sidebar-context-button,
.sidebar-context-secondary {
    width: 100%;
    border: 1px solid var(--sidebar-border, #d8e0eb);
    border-radius: 8px;
    background: var(--sidebar-hover, #f4f7fb);
    color: var(--sidebar-ink, #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, #64748b);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.sidebar-context-button strong {
    color: var(--sidebar-ink, #172033);
    font-size: 0.82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-context-button small {
    color: var(--sidebar-muted, #64748b);
    font-size: 0.72rem;
    line-height: 1.25;
}
.sidebar-context-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0.35rem 0.5rem;
    font-size: 0.76rem;
    font-weight: 800;
}
.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: 0 0 0 3px rgba(37, 99, 235, 0.18);
    outline: none;
}

.scope-context-picker-content,
.first-run-onboarding-content {
    width: min(980px, 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(240px, 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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--surface-color, #ffffff);
    padding: 0.78rem;
}
.scope-context-card.is-selected {
    border-color: var(--primary, var(--primary));
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.scope-context-card strong,
.first-run-step-card strong,
.first-run-guidance strong,
.context-empty-state strong {
    color: var(--text-primary, #0f172a);
}
.scope-context-card p,
.first-run-step-card p,
.first-run-guidance p,
.context-empty-state p {
    color: var(--text-secondary, #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: 1px solid var(--border-color, #cbd5e1);
    border-radius: 999px;
    background: var(--bg-secondary, #f8fafc);
    color: var(--text-secondary, #64748b);
    font-size: 0.72rem;
    font-weight: 750;
    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: 1px dashed var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--bg-secondary, #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: 34px minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: var(--surface-color, #ffffff);
    padding: 0.82rem;
}
.first-run-step-card > span {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--primary, var(--primary));
    color: #ffffff;
    font-weight: 850;
}
.first-run-step-card .btn {
    margin-top: 0.55rem;
}
.first-run-guidance {
    border-left: 4px solid var(--primary, var(--primary));
    border-radius: 8px;
    background: var(--bg-secondary, #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, #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, #1f2937);
    border-color: var(--sidebar-border, #334155);
    color: var(--sidebar-ink, #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, #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, #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, #111827) !important;
    border-color: var(--border-color, #334155) !important;
    color: var(--text-primary, #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, #cbd5e1) !important;
}

@media (max-width: 820px) {
    .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: 82px !important;
}

#content-page #content-table col[data-column="title"] {
    width: 260px !important;
}

#content-page #content-table col[data-column="source"] {
    width: 84px !important;
}

#content-page #content-table col[data-column="content-type"] {
    width: 118px !important;
}

#content-page #content-table col[data-column="size"] {
    width: 74px !important;
}

#content-page #content-table col[data-column="status"] {
    width: 92px !important;
}

#content-page #content-table col[data-column="created"] {
    width: 132px !important;
}

#content-page #content-table col[data-column="actions"] {
    width: 116px !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: 116px !important;
    min-width: 116px !important;
    max-width: 116px !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: 92px !important;
    max-width: 104px !important;
}

@media (max-width: 1180px) {
    #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: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
}

.documents-table[data-sage-column-density="compact"] th[data-column="actions"],
.documents-table[data-sage-column-density="compact"] td[data-column="actions"] {
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !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: 104px !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: 92px !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: 110px !important;
}

#content-table[data-sage-column-density="compact"] [data-column="status"],
#content-table[data-sage-column-density="compact"] col[data-column="status"] {
    width: 100px !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="id"] {
    width: 90px !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: 110px !important;
}

#scopes-table[data-sage-column-density="compact"] [data-column="default"] {
    width: 90px !important;
}

#chatbots-table[data-sage-column-density="compact"] [data-column="id"] {
    width: 96px !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: 96px !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: 82px !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: 140px !important;
}

#user-table[data-sage-column-density="compact"] [data-column="status"] {
    width: 96px !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: 120px !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: 110px !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: 80px !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="id"] {
    width: 92px !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: 132px !important;
}

#reports-table[data-sage-column-density="compact"] [data-column="status"] {
    width: 96px !important;
}

#code-table[data-sage-column-density="compact"] [data-column="id"] {
    width: 90px !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: 132px !important;
}

#code-table[data-sage-column-density="compact"] [data-column="status"] {
    width: 96px !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: 104px !important;
    min-width: 104px !important;
    max-width: 104px !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: 92px !important;
    min-width: 0 !important;
    max-width: 92px !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: 32px !important;
    min-width: 32px !important;
    max-width: 32px !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: 82px !important;
}

#model-management-table[data-sage-column-density="compact"] [data-column="id"] {
    width: 108px !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: 3 !important;
    background: var(--bg-primary) !important;
    box-shadow: -8px 0 12px rgba(15, 23, 42, 0.08) !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: #111827 !important;
    box-shadow: -8px 0 12px rgba(0, 0, 0, 0.28) !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(--sage-surface, var(--bg-primary)) !important;
    border-color: var(--sage-border, var(--border)) !important;
}
