/* ==========================================================================
   GERMAN RESOURCES COMPANY — ENTERPRISE ADMIN DESIGN SYSTEM 3.0
   DEEP DARK NAVY / MIDNIGHT BLUE ARCHITECTURE
   ========================================================================== */

:root,
[data-theme="dark"] {
    /* ======================================================================
       1. CORE MIDNIGHT NAVY CANVAS & SURFACE FOUNDATION (DARK THEME)
       ====================================================================== */
    --admin-bg: #0D1B2A;                     /* Lighter Midnight Navy canvas */
    --admin-bg-secondary: #0A1728;           /* Secondary dark navy canvas */
    --admin-surface: #12243A;                /* Primary dark navy surface for cards & panels */
    --admin-surface-elevated: #172B44;       /* Elevated dark navy surface */
    --admin-surface-subtle: #142840;         /* Subtle recessed surface */
    --admin-surface-overlay: rgba(3, 7, 18, 0.75);

    /* Hairline Structural Borders (Subtle Cool Slate/Navy 1px architecture) */
    --admin-border: rgba(148, 163, 184, 0.14);         /* Micro hairline border */
    --admin-border-subtle: rgba(148, 163, 184, 0.09);  /* Micro divider */
    --admin-border-hover: rgba(96, 165, 250, 0.35);    /* Interactive hover border */
    --admin-border-active: #3B82F6;                    /* Active electric blue border */

    /* Typography & Hierarchy Tokens */
    --admin-text-primary: #F8FAFC;           /* Near-white headings & dominant text */
    --admin-text-secondary: #B6C2D2;         /* Softer, higher-contrast secondary labels & metadata */
    --admin-text-muted: #8190A5;             /* Softer slate captions, hints & quiet text */
    --admin-text-inverse: #0D1B2A;

    /* Primary Interactive Accent (Electric / Cobalt Blue) */
    --admin-primary: #3B82F6;                /* Electric / Cobalt Blue Primary */
    --admin-primary-dark: #1D4ED8;           /* Primary Dark */
    --admin-primary-hover: #60A5FA;          /* Primary Hover */
    --admin-primary-soft: rgba(59, 130, 246, 0.12); /* Dark translucent blue surface */
    --admin-primary-border: rgba(59, 130, 246, 0.30);

    /* Secondary Accent (Teal / Emerald) */
    --admin-secondary: #14B8A6;              /* Teal / Emerald Secondary */
    --admin-secondary-dark: #0D9488;
    --admin-secondary-soft: rgba(20, 184, 166, 0.12);
    --admin-secondary-border: rgba(20, 184, 166, 0.30);

    /* Warm Accent (Amber) */
    --admin-accent-warm: #F59E0B;            /* Amber Accent */
    --admin-accent-warm-soft: rgba(245, 158, 11, 0.12);
    --admin-accent-warm-border: rgba(245, 158, 11, 0.30);

    /* Status Scale */
    --admin-success: #10B981;
    --admin-success-soft: rgba(16, 185, 129, 0.12);
    --admin-success-border: rgba(16, 185, 129, 0.30);

    --admin-warning: #F59E0B;
    --admin-warning-soft: rgba(245, 158, 11, 0.12);
    --admin-warning-border: rgba(245, 158, 11, 0.30);

    --admin-danger: #EF4444;
    --admin-danger-soft: rgba(239, 68, 68, 0.12);
    --admin-danger-border: rgba(239, 68, 68, 0.30);

    --admin-info: #0EA5E9;
    --admin-info-soft: rgba(14, 165, 233, 0.12);
    --admin-info-border: rgba(14, 165, 233, 0.30);

    /* Enterprise Dark Sidebar Tokens */
    --admin-sidebar-bg: #0A1728;             /* Dark Navy Sidebar */
    --admin-sidebar-border: rgba(148, 163, 184, 0.14);
    --admin-sidebar-header-bg: #0A1728;
    --admin-sidebar-text: #B6C2D2;           /* Navigation text */
    --admin-sidebar-text-hover: #F8FAFC;     /* Near-white hover */
    --admin-sidebar-text-active: #FFFFFF;    /* Pure white active */
    --admin-sidebar-item-hover: rgba(255, 255, 255, 0.05);
    --admin-sidebar-item-active: rgba(59, 130, 246, 0.16);
    --admin-sidebar-active-pip: #3B82F6;     /* Electric blue indicator */

    /* Top Navigation Header Tokens */
    --admin-header-bg: rgba(10, 23, 40, 0.92);
    --admin-header-border: rgba(148, 163, 184, 0.14);

    /* Radius & Elevation */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 14px;
    --radius-full: 9999px;

    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.30);
    --shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, 0.35);
    --shadow-md: 0 4px 14px 0 rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 10px 25px 0 rgba(0, 0, 0, 0.55);
    --shadow-focus: 0 0 0 3px rgba(59, 130, 246, 0.30);

    /* Backwards-compatibility mapping */
    --color-primary: var(--admin-primary);
    --color-primary-hover: var(--admin-primary-hover);
    --color-primary-light: var(--admin-primary-soft);
    --color-secondary: var(--admin-secondary);
    --color-secondary-hover: var(--admin-secondary-dark);
    --color-background: var(--admin-bg);
    --color-surface: var(--admin-surface);
    --color-card: var(--admin-surface);
    --color-border: var(--admin-border);
    --color-text: var(--admin-text-primary);
    --color-text-secondary: var(--admin-text-secondary);
    --color-text-muted: var(--admin-text-muted);
    --color-success: var(--admin-success);
    --color-warning: var(--admin-warning);
    --color-danger: var(--admin-danger);
    --color-info: var(--admin-info);
    --bs-primary: var(--admin-primary);
    --admin-card-bg: var(--admin-surface);
    --admin-input-bg: var(--admin-surface-elevated);
    --admin-input-border: var(--admin-border);

    color-scheme: dark;
}

/* ======================================================================
   LIGHT THEME ([data-theme="light"])
   ====================================================================== */
[data-theme="light"] {
    /* 1. Core Light Canvas & Clean Surface Foundation */
    --admin-bg: #F4F7FB;                     /* Soft neutral light canvas */
    --admin-bg-secondary: #EDF2F7;
    --admin-surface: #FFFFFF;                /* Crisp white surface for cards & panels */
    --admin-surface-elevated: #F8FAFC;       /* Slightly elevated light surface */
    --admin-surface-subtle: #F1F5F9;         /* Recessed light surface */
    --admin-surface-overlay: rgba(15, 23, 42, 0.45);

    /* Hairline Structural Borders */
    --admin-border: #E2E8F0;                 /* Crisp light border */
    --admin-border-subtle: #EDF2F7;          /* Sub-divider */
    --admin-border-hover: #CBD5E1;           /* Interactive hover border */
    --admin-border-active: #3B82F6;          /* Active electric blue border */

    /* Typography & Hierarchy Tokens */
    --admin-text-primary: #172033;           /* Dark slate headings & dominant text */
    --admin-text-secondary: #526174;         /* Balanced medium slate for labels & metadata */
    --admin-text-muted: #7A8798;             /* Subtle captions, hints & quiet text */
    --admin-text-inverse: #FFFFFF;

    /* Primary Interactive Accent */
    --admin-primary: #3B82F6;                /* Electric Blue */
    --admin-primary-dark: #1D4ED8;
    --admin-primary-hover: #2563EB;
    --admin-primary-soft: rgba(59, 130, 246, 0.08);
    --admin-primary-border: rgba(59, 130, 246, 0.20);

    /* Secondary Accent (Teal / Emerald) */
    --admin-secondary: #14B8A6;
    --admin-secondary-dark: #0D9488;
    --admin-secondary-soft: rgba(20, 184, 166, 0.08);
    --admin-secondary-border: rgba(20, 184, 166, 0.20);

    /* Warm Accent (Amber) */
    --admin-accent-warm: #F59E0B;
    --admin-accent-warm-soft: rgba(245, 158, 11, 0.08);
    --admin-accent-warm-border: rgba(245, 158, 11, 0.20);

    /* Status Scale */
    --admin-success: #10B981;
    --admin-success-soft: rgba(16, 185, 129, 0.08);
    --admin-success-border: rgba(16, 185, 129, 0.20);

    --admin-warning: #F59E0B;
    --admin-warning-soft: rgba(245, 158, 11, 0.08);
    --admin-warning-border: rgba(245, 158, 11, 0.20);

    --admin-danger: #EF4444;
    --admin-danger-soft: rgba(239, 68, 68, 0.08);
    --admin-danger-border: rgba(239, 68, 68, 0.20);

    --admin-info: #0EA5E9;
    --admin-info-soft: rgba(14, 165, 233, 0.08);
    --admin-info-border: rgba(14, 165, 233, 0.20);

    /* Enterprise Light Sidebar Tokens */
    --admin-sidebar-bg: #FFFFFF;             /* Crisp white sidebar */
    --admin-sidebar-border: #E2E8F0;
    --admin-sidebar-header-bg: #FFFFFF;
    --admin-sidebar-text: #526174;
    --admin-sidebar-text-hover: #172033;
    --admin-sidebar-text-active: #1D4ED8;
    --admin-sidebar-item-hover: #F1F5F9;
    --admin-sidebar-item-active: rgba(59, 130, 246, 0.08);
    --admin-sidebar-active-pip: #3B82F6;

    /* Top Navigation Header Tokens */
    --admin-header-bg: rgba(255, 255, 255, 0.95);
    --admin-header-border: #E2E8F0;

    /* Radius & Elevation */
    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -4px rgba(0, 0, 0, 0.07);
    --shadow-focus: 0 0 0 3px rgba(59, 130, 246, 0.25);

    /* Backwards-compatibility mapping */
    --color-primary: var(--admin-primary);
    --color-primary-hover: var(--admin-primary-hover);
    --color-primary-light: var(--admin-primary-soft);
    --color-secondary: var(--admin-secondary);
    --color-secondary-hover: var(--admin-secondary-dark);
    --color-background: var(--admin-bg);
    --color-surface: var(--admin-surface);
    --color-card: var(--admin-surface);
    --color-border: var(--admin-border);
    --color-text: var(--admin-text-primary);
    --color-text-secondary: var(--admin-text-secondary);
    --color-text-muted: var(--admin-text-muted);
    --color-success: var(--admin-success);
    --color-warning: var(--admin-warning);
    --color-danger: var(--admin-danger);
    --color-info: var(--admin-info);
    --bs-primary: var(--admin-primary);
    --admin-card-bg: var(--admin-surface);
    --admin-input-bg: #FFFFFF;
    --admin-input-border: var(--admin-border);

    color-scheme: light;
}

/* ==========================================================================
   GLOBAL BASE & TYPOGRAPHY
   ========================================================================== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    height: auto !important;
    overflow-y: auto !important;
    background-color: var(--admin-bg);
}

body {
    background-color: var(--admin-bg) !important;
    color: var(--admin-text-primary) !important;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   ENTERPRISE DARK SIDEBAR NAVIGATION
   ========================================================================== */
.admin-sidebar-shell {
    background-color: var(--admin-sidebar-bg) !important;
    border-color: var(--admin-sidebar-border) !important;
    box-shadow: 4px 0 24px 0 rgba(0, 0, 0, 0.40);
}

.admin-sidebar-brand {
    border-bottom: 1px solid var(--admin-sidebar-border);
    background-color: var(--admin-sidebar-header-bg);
}

.admin-sidebar-logo-plaque {
    min-width: 2.5rem;
    height: 2.35rem;
    padding: 0.25rem 0.4rem;
    border-radius: var(--radius-lg);
    background: #FFFFFF !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
    box-sizing: border-box;
}

.admin-sidebar-logo-img {
    height: 1.5rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

/* Domain Section Headings */
.sidebar-domain-divider {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--admin-text-muted) !important;
    padding: 0.95rem 0.65rem 0.35rem !important;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sidebar-domain-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: var(--admin-border);
}

.sidebar-domain-divider.hidden,
#adminSidebar.collapsed .sidebar-domain-divider,
.collapsed .sidebar-domain-divider {
    display: none !important;
}

/* Navigation Links */
.sidebar-nav-item {
    color: var(--admin-sidebar-text) !important;
    border: 1px solid transparent;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.sidebar-nav-item i {
    color: var(--admin-text-muted);
    transition: color 0.15s ease, transform 0.15s ease;
}

.sidebar-nav-item:hover {
    background-color: var(--admin-sidebar-item-hover) !important;
    color: var(--admin-sidebar-text-hover) !important;
    border-color: rgba(148, 163, 184, 0.15);
}

.sidebar-nav-item:hover i {
    color: var(--admin-primary);
}

/* Active Nav State: Dark blue surface + Electric blue indicator + Bright text */
.sidebar-nav-item.active {
    background-color: var(--admin-sidebar-item-active) !important;
    color: var(--admin-sidebar-text-active) !important;
    font-weight: 700 !important;
    border-color: var(--admin-primary-border) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.sidebar-nav-item.active i {
    color: var(--admin-primary) !important;
}

html[dir="ltr"] .sidebar-nav-item.active {
    border-left: 3.5px solid var(--admin-sidebar-active-pip) !important;
}

html[dir="rtl"] .sidebar-nav-item.active {
    border-right: 3.5px solid var(--admin-sidebar-active-pip) !important;
}

/* Collapsed Desktop Sidebar Mode */
#adminSidebar.collapsed {
    width: 4.75rem !important;
}

#adminSidebar.collapsed .sidebar-domain-divider,
#adminSidebar.collapsed .sidebar-text,
#adminSidebar.collapsed .sidebar-badge,
#adminSidebar.collapsed .sidebar-chevron,
#adminSidebar.collapsed .sidebar-brand-text,
#adminSidebar.collapsed .sidebar-unread-pill {
    display: none !important;
}

#adminSidebar.collapsed .sidebar-nav-item {
    justify-content: center !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

#adminSidebar.collapsed .sidebar-nav-item > div {
    justify-content: center !important;
    gap: 0 !important;
}

#adminSidebar.collapsed .sidebar-nav-item i {
    font-size: 1.15rem !important;
    margin: 0 !important;
}

#adminSidebar.collapsed .admin-sidebar-brand {
    justify-content: center !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

#adminSidebar.collapsed .sidebar-user-card {
    justify-content: center !important;
    padding: 0.5rem !important;
}

/* Micro Unread / Role Pills */
.sidebar-unread-pill {
    font-size: 0.65rem;
    font-weight: 800;
    padding: 0.15rem 0.45rem;
    border-radius: var(--radius-full);
    background-color: var(--admin-primary-soft);
    color: #93C5FD;
    border: 1px solid var(--admin-primary-border);
    line-height: 1;
}

.sidebar-unread-pill.pill-teal {
    background-color: var(--admin-secondary-soft) !important;
    color: #2DD4BF !important;
    border-color: var(--admin-secondary-border) !important;
}

.sidebar-unread-pill.pill-amber {
    background-color: var(--admin-accent-warm-soft) !important;
    color: #FBBF24 !important;
    border-color: var(--admin-accent-warm-border) !important;
}

/* ==========================================================================
   TOP HEADER ARCHITECTURE
   ========================================================================== */
.admin-topbar-glass {
    background-color: var(--admin-header-bg) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--admin-header-border) !important;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.35);
}

.admin-context-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-md);
    background-color: var(--admin-primary-soft);
    border: 1px solid var(--admin-primary-border);
    font-size: 0.75rem;
    font-weight: 700;
    color: #93C5FD;
    max-width: 15rem;
}

/* ==========================================================================
   ENTERPRISE DARK COMPONENT CARDS & PANELS
   ========================================================================== */
.admin-card-glass,
.admin-card {
    background-color: var(--admin-surface) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-card-glass:hover,
.admin-card:hover {
    border-color: var(--admin-border-hover) !important;
    box-shadow: var(--shadow-md) !important;
}

.stat-card-glass {
    background-color: var(--admin-surface) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Refined Dark Hero Banner */
.admin-hero-banner {
    background: linear-gradient(135deg, #12243A 0%, #172B44 50%, #0A1728 100%) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-md) !important;
    position: relative;
    overflow: hidden;
}

/* ==========================================================================
   TACTILE ACTION BUTTONS
   ========================================================================== */
.admin-btn-primary {
    background-color: var(--admin-primary) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--admin-primary) !important;
    border-radius: var(--radius-md);
    padding: 0.55rem 1.15rem;
    font-size: 0.75rem;
    font-weight: 700;
    transition: all 0.15s ease;
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.35);
}

.admin-btn-primary:hover {
    background-color: var(--admin-primary-hover) !important;
    border-color: var(--admin-primary-hover) !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.45);
    transform: translateY(-1px);
}

.admin-btn-secondary {
    background-color: var(--admin-surface-subtle) !important;
    color: var(--admin-text-primary) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-md);
    padding: 0.55rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 0.15s ease;
    box-shadow: var(--shadow-xs);
}

.admin-btn-secondary:hover {
    background-color: var(--admin-surface-elevated) !important;
    border-color: var(--admin-border-hover) !important;
}

.admin-btn-teal {
    background-color: var(--admin-secondary) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--admin-secondary) !important;
    border-radius: var(--radius-md);
    padding: 0.55rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    transition: all 0.15s ease;
    box-shadow: 0 2px 6px rgba(20, 184, 166, 0.35);
}

.admin-btn-teal:hover {
    background-color: var(--admin-secondary-dark) !important;
    border-color: var(--admin-secondary-dark) !important;
    transform: translateY(-1px);
}

/* ==========================================================================
   SEMANTIC BADGES & STATUS PILLS (DARK THEME)
   ========================================================================== */
.admin-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    padding: 0.22rem 0.6rem !important;
    border-radius: var(--radius-full) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    letter-spacing: 0.02em !important;
}

.admin-badge-primary, .badge.bg-primary {
    background-color: var(--admin-primary-soft, rgba(59, 130, 246, 0.16)) !important;
    color: #93C5FD !important;
    border: 1px solid var(--admin-primary-border, rgba(59, 130, 246, 0.32)) !important;
}

.admin-badge-secondary, .badge.bg-secondary {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.18)) !important;
}

.admin-badge-success, .badge.bg-success {
    background-color: var(--admin-success-soft, rgba(16, 185, 129, 0.16)) !important;
    color: #34D399 !important;
    border: 1px solid var(--admin-success-border, rgba(16, 185, 129, 0.32)) !important;
}

.admin-badge-warning, .badge.bg-warning {
    background-color: var(--admin-warning-soft, rgba(245, 158, 11, 0.16)) !important;
    color: #FBBF24 !important;
    border: 1px solid var(--admin-warning-border, rgba(245, 158, 11, 0.32)) !important;
}

.admin-badge-danger, .badge.bg-danger {
    background-color: var(--admin-danger-soft, rgba(239, 68, 68, 0.16)) !important;
    color: #F87171 !important;
    border: 1px solid var(--admin-danger-border, rgba(239, 68, 68, 0.32)) !important;
}

.admin-badge-info, .badge.bg-info {
    background-color: var(--admin-info-soft, rgba(14, 165, 233, 0.16)) !important;
    color: #38BDF8 !important;
    border: 1px solid var(--admin-info-border, rgba(14, 165, 233, 0.32)) !important;
}

.admin-badge-purple, .badge.bg-purple {
    background-color: rgba(147, 51, 234, 0.16) !important;
    color: #C4B5FD !important;
    border: 1px solid rgba(147, 51, 234, 0.32) !important;
}

.admin-badge-teal, .badge.bg-teal {
    background-color: var(--admin-secondary-soft, rgba(20, 184, 166, 0.16)) !important;
    color: #2DD4BF !important;
    border: 1px solid var(--admin-secondary-border, rgba(20, 184, 166, 0.32)) !important;
}

.admin-badge-amber, .badge.bg-amber {
    background-color: var(--admin-accent-warm-soft, rgba(245, 158, 11, 0.16)) !important;
    color: #FCD34D !important;
    border: 1px solid var(--admin-accent-warm-border, rgba(245, 158, 11, 0.32)) !important;
}

.admin-badge-sky, .badge.bg-sky {
    background-color: rgba(14, 165, 233, 0.16) !important;
    color: #7DD3FC !important;
    border: 1px solid rgba(14, 165, 233, 0.32) !important;
}

.admin-badge-indigo, .badge.bg-indigo {
    background-color: rgba(99, 102, 241, 0.16) !important;
    color: #A5B4FC !important;
    border: 1px solid rgba(99, 102, 241, 0.32) !important;
}

.admin-badge-neutral, .badge.bg-light, .badge.bg-dark {
    background-color: rgba(148, 163, 184, 0.12) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.20)) !important;
}

/* ==========================================================================
   DATA TABLES FOUNDATION (DARK THEME)
   ========================================================================== */
.admin-table-container {
    background-color: var(--admin-surface) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm) !important;
    overflow-x: auto !important;
    width: 100% !important;
}

.admin-empty-state {
    color: var(--admin-text-muted) !important;
    background-color: var(--admin-surface) !important;
    padding: 3rem 1.5rem !important;
    text-align: center !important;
}

.admin-empty-state i {
    font-size: 2.25rem !important;
    color: var(--admin-text-muted) !important;
    opacity: 0.65;
    margin-bottom: 0.75rem !important;
    display: inline-block !important;
}

.admin-empty-state h4 {
    color: var(--admin-text-secondary) !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.25rem !important;
}

.admin-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 0.75rem !important;
    background-color: var(--admin-surface) !important;
}

.admin-table thead th {
    background-color: var(--admin-sidebar-bg) !important;
    color: var(--admin-text-secondary) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.65rem !important;
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid var(--admin-border) !important;
    white-space: nowrap !important;
}

.admin-table tbody td {
    padding: 0.85rem 1rem !important;
    border-bottom: 1px solid var(--admin-border-subtle) !important;
    color: var(--admin-text-primary) !important;
    vertical-align: middle !important;
}

.admin-table tbody tr {
    transition: background-color 0.12s ease !important;
}

.admin-table tbody tr:hover {
    background-color: var(--admin-surface-elevated) !important;
}

.admin-table tbody tr:last-child td {
    border-bottom: none !important;
}

/* ==========================================================================
   INPUTS & FORM CONTROLS FOUNDATION (DARK THEME)
   ========================================================================== */
.admin-input,
.admin-select {
    width: 100%;
    background-color: var(--admin-bg);
    border: 1px solid var(--admin-border);
    border-radius: var(--radius-md);
    padding: 0.55rem 0.85rem;
    font-size: 0.75rem;
    color: var(--admin-text-primary);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.admin-input:hover,
.admin-select:hover {
    border-color: var(--admin-border-hover);
}

.admin-input:focus,
.admin-select:focus {
    outline: none;
    border-color: var(--admin-primary);
    box-shadow: var(--shadow-focus);
    background-color: var(--admin-surface-elevated);
}

.admin-select option {
    background-color: var(--admin-surface);
    color: var(--admin-text-primary);
}

.admin-input::placeholder {
    color: var(--admin-text-muted);
}

/* ==========================================================================
   SEMANTIC KPI CARD ACCENTS (DARK THEME)
   ========================================================================== */
.kpi-card {
    background-color: var(--admin-surface) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 1.15rem !important;
    box-shadow: var(--shadow-sm) !important;
    position: relative;
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md) !important;
    border-color: var(--admin-border-hover) !important;
}

.kpi-card-indigo::before,
.kpi-card-blue::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #3B82F6 0%, #60A5FA 100%);
}

.kpi-card-teal::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #14B8A6 0%, #2DD4BF 100%);
}

.kpi-card-purple::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #8B5CF6 0%, #A78BFA 100%);
}

.kpi-card-emerald::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #10B981 0%, #34D399 100%);
}

.kpi-card-amber::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%);
}

/* Pulse dots for live indicators */
.pulse-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    display: inline-block;
    flex-shrink: 0;
}
.pulse-dot-green {
    background-color: #10B981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.7);
}
.pulse-dot-blue {
    background-color: #3B82F6;
    box-shadow: 0 0 8px rgba(59, 130, 246, 0.7);
}
.pulse-dot-amber {
    background-color: #F59E0B;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.7);
}

/* ==========================================================================
   MULTI-ACCENT DESIGN SYSTEM UTILITY HARMONIZATION
   ========================================================================== */
.bg-admin-bg { background-color: var(--admin-bg) !important; }
.bg-admin-surface { background-color: var(--admin-surface) !important; }
.bg-admin-sidebar { background-color: var(--admin-sidebar-bg) !important; }

/* Surface & Canvas Utility Tokens (Phase B.3) */
.bg-\[\#0D1B2A\], .bg-\[\#07111F\] { background-color: #0D1B2A !important; }
.bg-\[\#0A1728\], .bg-\[\#081426\], .bg-\[\#0A1628\] { background-color: #0A1728 !important; }
.bg-\[\#12243A\], .bg-\[\#0C192D\] { background-color: #12243A !important; }
.bg-\[\#172B44\], .bg-\[\#101E34\], .bg-\[\#0E1B30\] { background-color: #172B44 !important; }
.bg-\[\#1B324F\], .bg-\[\#162744\] { background-color: #1B324F !important; }

.bg-\[\#3B82F6\] { background-color: #3B82F6 !important; }
.bg-\[\#3B82F6\]\/10 { background-color: rgba(59, 130, 246, 0.10) !important; }
.bg-\[\#3B82F6\]\/15 { background-color: rgba(59, 130, 246, 0.15) !important; }
.bg-\[\#3B82F6\]\/5 { background-color: rgba(59, 130, 246, 0.05) !important; }
.hover\:bg-\[\#2563EB\]:hover { background-color: #2563EB !important; }
.hover\:bg-\[\#1D4ED8\]:hover { background-color: #1D4ED8 !important; }

.bg-\[\#14B8A6\] { background-color: #14B8A6 !important; }
.bg-\[\#14B8A6\]\/15 { background-color: rgba(20, 184, 166, 0.15) !important; }
.bg-\[\#10B981\] { background-color: #10B981 !important; }
.bg-\[\#10B981\]\/15 { background-color: rgba(16, 185, 129, 0.15) !important; }
.bg-\[\#8B5CF6\] { background-color: #8B5CF6 !important; }
.bg-\[\#8B5CF6\]\/15 { background-color: rgba(139, 92, 246, 0.15) !important; }
.bg-\[\#F59E0B\] { background-color: #F59E0B !important; }
.bg-\[\#F59E0B\]\/15 { background-color: rgba(245, 158, 11, 0.15) !important; }
.bg-\[\#EF4444\] { background-color: #EF4444 !important; }
.bg-\[\#EF4444\]\/15 { background-color: rgba(239, 68, 68, 0.15) !important; }

.text-\[\#F8FAFC\] { color: #F8FAFC !important; }
.text-\[\#E2E8F0\] { color: #E2E8F0 !important; }
.text-\[\#B6C2D2\], .text-\[\#94A3B8\] { color: #B6C2D2 !important; }
.text-\[\#8190A5\], .text-\[\#64748B\] { color: #8190A5 !important; }
.text-\[\#3B82F6\] { color: #3B82F6 !important; }
.text-\[\#60A5FA\] { color: #60A5FA !important; }
.text-\[\#93C5FD\] { color: #93C5FD !important; }
.text-\[\#14B8A6\] { color: #14B8A6 !important; }
.text-\[\#2DD4BF\] { color: #2DD4BF !important; }
.text-\[\#10B981\] { color: #10B981 !important; }
.text-\[\#34D399\] { color: #34D399 !important; }
.text-\[\#A78BFA\] { color: #A78BFA !important; }
.text-\[\#F59E0B\] { color: #F59E0B !important; }
.text-\[\#FBBF24\] { color: #FBBF24 !important; }
.text-\[\#EF4444\] { color: #EF4444 !important; }
.text-\[\#F87171\] { color: #F87171 !important; }

.border-\[rgba\(148\,163\,184\,0\.14\)\], .border-\[rgba\(148\,163\,184\,0\.12\)\] { border-color: rgba(148, 163, 184, 0.14) !important; }
.border-\[rgba\(148\,163\,184\,0\.09\)\], .border-\[rgba\(148\,163\,184\,0\.08\)\] { border-color: rgba(148, 163, 184, 0.09) !important; }
.border-\[rgba\(148\,163\,184\,0\.15\)\] { border-color: rgba(148, 163, 184, 0.15) !important; }
.border-\[rgba\(59\,130\,246\,0\.25\)\] { border-color: rgba(59, 130, 246, 0.25) !important; }
.border-\[rgba\(59\,130\,246\,0\.30\)\] { border-color: rgba(59, 130, 246, 0.30) !important; }
.border-\[rgba\(20\,184\,166\,0\.30\)\] { border-color: rgba(20, 184, 166, 0.30) !important; }
.border-\[rgba\(139\,92\,246\,0\.30\)\] { border-color: rgba(139, 92, 246, 0.30) !important; }
.border-\[rgba\(16\,185\,129\,0\.30\)\] { border-color: rgba(16, 185, 129, 0.30) !important; }
.border-\[rgba\(245\,158\,11\,0\.30\)\] { border-color: rgba(245, 158, 11, 0.30) !important; }

.hover\:bg-\[\#172B44\]:hover, .hover\:bg-\[\#101E34\]:hover { background-color: #172B44 !important; }
.hover\:bg-\[\#1B324F\]:hover, .hover\:bg-\[\#162744\]:hover, .hover\:bg-\[\#0E1B30\]:hover { background-color: #1B324F !important; }
.hover\:text-\[\#F8FAFC\]:hover { color: #F8FAFC !important; }
.hover\:text-\[\#60A5FA\]:hover { color: #60A5FA !important; }

/* ==========================================================================
   THEME SWITCHER SEGMENTED CONTROL STYLES
   ========================================================================== */
.admin-theme-switch-wrapper {
    background-color: var(--admin-surface);
    border: 1px solid var(--admin-border);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.admin-theme-btn {
    color: var(--admin-text-muted);
    transition: all 0.15s ease;
    cursor: pointer;
    user-select: none;
}

.admin-theme-btn:hover {
    color: var(--admin-text-primary);
}

[data-theme="dark"] .admin-theme-btn-active,
:root:not([data-theme="light"]) .admin-theme-btn-active {
    background-color: var(--admin-surface-elevated) !important;
    color: #F8FAFC !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="light"] .admin-theme-btn-active {
    background-color: #FFFFFF !important;
    color: #172033 !important;
    border: 1px solid #CBD5E1 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* ==========================================================================
   LIGHT THEME ADAPTIVE UTILITY OVERRIDES ([data-theme="light"])
   ========================================================================== */
[data-theme="light"] body,
[data-theme="light"] .bg-\[\#0D1B2A\] {
    background-color: var(--admin-bg) !important;
}

[data-theme="light"] .bg-\[\#0A1728\] {
    background-color: var(--admin-sidebar-bg) !important;
}

[data-theme="light"] .bg-\[\#0A1728\]\/60,
[data-theme="light"] .bg-\[\#0A1728\]\/80,
[data-theme="light"] .bg-\[\#0A1728\]\/90 {
    background-color: var(--admin-header-bg) !important;
}

[data-theme="light"] .bg-\[\#12243A\] {
    background-color: var(--admin-surface) !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px -1px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .bg-\[\#172B44\] {
    background-color: var(--admin-surface-elevated) !important;
}

[data-theme="light"] .bg-\[\#172B44\]\/50 {
    background-color: var(--admin-surface-elevated) !important;
}

[data-theme="light"] .bg-\[\#1B324F\] {
    background-color: var(--admin-surface-subtle) !important;
}

[data-theme="light"] .hover\:bg-\[\#12243A\]:hover {
    background-color: var(--admin-surface-elevated) !important;
}

[data-theme="light"] .hover\:bg-\[\#172B44\]:hover {
    background-color: var(--admin-surface-subtle) !important;
}

[data-theme="light"] .hover\:bg-\[\#172B44\]\/50:hover {
    background-color: var(--admin-surface-elevated) !important;
}

[data-theme="light"] .hover\:bg-\[\#1B324F\]:hover {
    background-color: #E2E8F0 !important;
}

[data-theme="light"] .hover\:bg-white\/5:hover {
    background-color: var(--admin-surface-subtle) !important;
}

[data-theme="light"] .focus\:bg-\[\#12243A\]:focus {
    background-color: var(--admin-surface) !important;
}

/* Typography Overrides */
[data-theme="light"] .text-\[\#F8FAFC\] {
    color: var(--admin-text-primary) !important;
}

[data-theme="light"] .text-\[\#E2E8F0\] {
    color: var(--admin-text-secondary) !important;
}

[data-theme="light"] .text-\[\#B6C2D2\],
[data-theme="light"] .text-\[\#94A3B8\] {
    color: var(--admin-text-secondary) !important;
}

[data-theme="light"] .text-\[\#8190A5\],
[data-theme="light"] .text-\[\#64748B\] {
    color: var(--admin-text-muted) !important;
}

[data-theme="light"] .hover\:text-\[\#F8FAFC\]:hover {
    color: var(--admin-text-primary) !important;
}

/* Structural Borders & Dividers */
[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.14\)\],
[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.12\)\],
[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.15\)\] {
    border-color: var(--admin-border) !important;
}

[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.09\)\],
[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.08\)\],
[data-theme="light"] .border-\[rgba\(148\,163\,184\,0\.10\)\] {
    border-color: var(--admin-border-subtle) !important;
}

[data-theme="light"] .divide-\[rgba\(148\,163\,184\,0\.08\)\] > * + *,
[data-theme="light"] .divide-\[rgba\(148\,163\,184\,0\.10\)\] > * + * {
    border-color: var(--admin-border-subtle) !important;
}

[data-theme="light"] .divide-\[rgba\(148\,163\,184\,0\.14\)\] > * + * {
    border-color: var(--admin-border) !important;
}

/* Light Mode Component Refinements */
[data-theme="light"] .admin-hero-banner {
    background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 50%, #EDF2F7 100%) !important;
    border-color: var(--admin-border) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .admin-sidebar-shell {
    box-shadow: 2px 0 16px 0 rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .admin-topbar-glass {
    background-color: var(--admin-header-bg) !important;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .admin-context-breadcrumb {
    background-color: rgba(59, 130, 246, 0.08) !important;
    border-color: rgba(59, 130, 246, 0.20) !important;
    color: #1D4ED8 !important;
}

[data-theme="light"] .admin-context-breadcrumb span {
    color: #1D4ED8 !important;
}

[data-theme="light"] .admin-table-container {
    background-color: #FFFFFF !important;
    border-color: var(--admin-border) !important;
}

[data-theme="light"] .admin-empty-state {
    background-color: #FFFFFF !important;
}

[data-theme="light"] .admin-table thead th {
    background-color: #F8FAFC !important;
    color: var(--admin-text-secondary) !important;
    border-bottom-color: var(--admin-border) !important;
}

[data-theme="light"] .admin-table tbody tr:hover {
    background-color: #F8FAFC !important;
}

[data-theme="light"] .admin-table tbody td {
    color: var(--admin-text-primary) !important;
    border-bottom-color: var(--admin-border-subtle) !important;
}

[data-theme="light"] .admin-input {
    background-color: #FFFFFF !important;
    color: var(--admin-text-primary) !important;
    border-color: var(--admin-border) !important;
}

[data-theme="light"] .admin-input:focus {
    background-color: #FFFFFF !important;
    border-color: var(--admin-primary) !important;
}

[data-theme="light"] .sidebar-nav-item {
    color: var(--admin-sidebar-text) !important;
}

[data-theme="light"] .sidebar-nav-item:hover {
    background-color: var(--admin-sidebar-item-hover) !important;
    color: var(--admin-sidebar-text-hover) !important;
}

[data-theme="light"] .sidebar-nav-item.active {
    background-color: var(--admin-sidebar-item-active) !important;
    color: var(--admin-sidebar-text-active) !important;
    border-color: rgba(59, 130, 246, 0.25) !important;
    box-shadow: 0 1px 3px rgba(59, 130, 246, 0.12) !important;
}

[data-theme="light"] .sidebar-scroll {
    scrollbar-color: rgba(148, 163, 184, 0.35) #FFFFFF !important;
}

[data-theme="light"] .sidebar-scroll::-webkit-scrollbar-track {
    background: #FFFFFF !important;
}

[data-theme="light"] .sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.35) !important;
}

/* Light Mode Accent Text Adaptations for High Contrast */
[data-theme="light"] .text-\[\#93C5FD\],
[data-theme="light"] .text-\[\#60A5FA\] {
    color: #1D4ED8 !important;
}

[data-theme="light"] .text-\[\#34D399\],
[data-theme="light"] .text-\[\#2DD4BF\] {
    color: #0D9488 !important;
}

[data-theme="light"] .text-\[\#FBBF24\],
[data-theme="light"] .text-\[\#FCD34D\] {
    color: #B45309 !important;
}

[data-theme="light"] .text-\[\#A78BFA\],
[data-theme="light"] .text-\[\#C4B5FD\] {
    color: #6D28D9 !important;
}

[data-theme="light"] .text-\[\#F87171\] {
    color: #DC2626 !important;
}

/* Light Mode Tables & Pills */
[data-theme="light"] .admin-table thead th {
    background-color: #F8FAFC !important;
    color: #526174 !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

[data-theme="light"] .admin-table tbody tr:hover {
    background-color: #F1F5F9 !important;
}

/* Light Mode Semantic Badges & Status Pills */
[data-theme="light"] .admin-badge-primary, [data-theme="light"] .badge.bg-primary {
    background-color: #EEF2FF !important;
    color: #1E40AF !important;
    border: 1px solid #C7D2FE !important;
}

[data-theme="light"] .admin-badge-secondary, [data-theme="light"] .badge.bg-secondary {
    background-color: #F1F5F9 !important;
    color: #475569 !important;
    border: 1px solid #CBD5E1 !important;
}

[data-theme="light"] .admin-badge-success, [data-theme="light"] .badge.bg-success {
    background-color: #ECFDF5 !important;
    color: #065F46 !important;
    border: 1px solid #A7F3D0 !important;
}

[data-theme="light"] .admin-badge-warning, [data-theme="light"] .badge.bg-warning {
    background-color: #FFFBEB !important;
    color: #92400E !important;
    border: 1px solid #FDE68A !important;
}

[data-theme="light"] .admin-badge-danger, [data-theme="light"] .badge.bg-danger {
    background-color: #FEF2F2 !important;
    color: #991B1B !important;
    border: 1px solid #FECACA !important;
}

[data-theme="light"] .admin-badge-info, [data-theme="light"] .badge.bg-info {
    background-color: #F0F9FF !important;
    color: #0369A1 !important;
    border: 1px solid #BAE6FD !important;
}

[data-theme="light"] .admin-badge-purple, [data-theme="light"] .badge.bg-purple {
    background-color: #FAF5FF !important;
    color: #6B21A8 !important;
    border: 1px solid #E9D5FF !important;
}

[data-theme="light"] .admin-badge-teal, [data-theme="light"] .badge.bg-teal {
    background-color: #F0FDFA !important;
    color: #0F766E !important;
    border: 1px solid #99F6E4 !important;
}

[data-theme="light"] .admin-badge-amber, [data-theme="light"] .badge.bg-amber {
    background-color: #FFFBEB !important;
    color: #B45309 !important;
    border: 1px solid #FDE68A !important;
}

[data-theme="light"] .admin-badge-sky, [data-theme="light"] .badge.bg-sky {
    background-color: #F0F9FF !important;
    color: #0284C7 !important;
    border: 1px solid #BAE6FD !important;
}

[data-theme="light"] .admin-badge-indigo, [data-theme="light"] .badge.bg-indigo {
    background-color: #EEF2FF !important;
    color: #3730A3 !important;
    border: 1px solid #C7D2FE !important;
}

[data-theme="light"] .admin-badge-neutral, [data-theme="light"] .badge.bg-light, [data-theme="light"] .badge.bg-dark {
    background-color: #F8FAFC !important;
    color: #334155 !important;
    border: 1px solid #E2E8F0 !important;
}

.service-track-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-md);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    background-color: var(--admin-surface-subtle);
    border: 1px solid var(--admin-border);
    color: var(--admin-text-primary);
    max-width: 175px;
    box-sizing: border-box;
}

.service-track-pill span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

.applicant-company {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}

.applicant-email {
    max-width: 165px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}

.attachment-doc-name {
    max-width: 85px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}

.admin-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.45rem 0.85rem;
    border-radius: var(--radius-md);
    font-size: 0.75rem;
    font-weight: 600;
    background-color: var(--admin-surface-subtle);
    border: 1px solid var(--admin-border);
    color: var(--admin-text-secondary);
    transition: all 0.15s ease;
    white-space: nowrap;
}

.admin-filter-pill:hover {
    background-color: var(--admin-surface-elevated);
    border-color: var(--admin-border-hover);
    color: var(--admin-text-primary);
}

.admin-filter-pill.active {
    background-color: var(--admin-primary-soft);
    border-color: var(--admin-primary-border);
    color: var(--admin-primary);
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Light Mode Dropdowns */
[data-theme="light"] #notifDropdown,
[data-theme="light"] #langDropdown,
[data-theme="light"] #profileDropdown {
    background-color: #FFFFFF !important;
    border-color: #E2E8F0 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.10), 0 8px 10px -6px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] #notifDropdown .bg-\[\#0A1728\] {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
}

/* ==========================================================================
   APEXCHARTS HARMONIZATION (DUAL THEME)
   ========================================================================== */
/* Dark Theme Charts */
:root:not([data-theme="light"]) .apexcharts-canvas text,
[data-theme="dark"] .apexcharts-canvas text {
    fill: #B6C2D2 !important;
}
:root:not([data-theme="light"]) .apexcharts-canvas .apexcharts-yaxis text,
:root:not([data-theme="light"]) .apexcharts-canvas .apexcharts-xaxis text,
[data-theme="dark"] .apexcharts-canvas .apexcharts-yaxis text,
[data-theme="dark"] .apexcharts-canvas .apexcharts-xaxis text {
    fill: #B6C2D2 !important;
}
:root:not([data-theme="light"]) .apexcharts-grid line,
[data-theme="dark"] .apexcharts-grid line {
    stroke: rgba(148, 163, 184, 0.10) !important;
}
:root:not([data-theme="light"]) .apexcharts-tooltip,
[data-theme="dark"] .apexcharts-tooltip {
    background-color: #12243A !important;
    border: 1px solid rgba(148, 163, 184, 0.20) !important;
    color: #F8FAFC !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}
:root:not([data-theme="light"]) .apexcharts-tooltip-title,
[data-theme="dark"] .apexcharts-tooltip-title {
    background-color: #0A1728 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
    color: #F8FAFC !important;
}

/* Light Theme Charts */
[data-theme="light"] .apexcharts-canvas text {
    fill: #526174 !important;
}
[data-theme="light"] .apexcharts-canvas .apexcharts-yaxis text,
[data-theme="light"] .apexcharts-canvas .apexcharts-xaxis text {
    fill: #526174 !important;
}
[data-theme="light"] .apexcharts-grid line {
    stroke: #E2E8F0 !important;
}
[data-theme="light"] .apexcharts-tooltip {
    background-color: #FFFFFF !important;
    border: 1px solid #CBD5E1 !important;
    color: #172033 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .apexcharts-tooltip-title {
    background-color: #F8FAFC !important;
    border-bottom: 1px solid #E2E8F0 !important;
    color: #172033 !important;
}

/* ==========================================================================
   DOSSIER & WORKSPACE WIDE CANVAS THEME HELPERS
   ========================================================================== */
.admin-dossier-container {
    width: 100% !important;
    max-width: 1720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.admin-tile {
    background-color: var(--admin-surface-elevated) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--radius-lg);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.admin-tile:hover {
    background-color: var(--admin-surface-hover) !important;
    border-color: var(--admin-border-hover) !important;
}
.admin-field-label {
    color: var(--admin-text-muted) !important;
    font-size: 0.75rem;
    font-weight: 600;
}
.admin-field-value {
    color: var(--admin-text-primary) !important;
    font-weight: 700;
}

/* ==========================================================================
   SCOPED DARK MODE AUTOMATIC PALETTE HARMONIZATION FOR CARDS & PANELS
   ========================================================================== */
[data-theme="dark"] .admin-card,
[data-theme="dark"] .admin-card-glass,
:root:not([data-theme="light"]) .admin-card,
:root:not([data-theme="light"]) .admin-card-glass {
    background-color: var(--admin-surface) !important;
    border-color: var(--admin-border) !important;
}

[data-theme="dark"] .admin-card .bg-slate-50,
[data-theme="dark"] .admin-card .bg-slate-50\/40,
[data-theme="dark"] .admin-card .bg-slate-50\/50,
[data-theme="dark"] .admin-card .bg-slate-50\/60,
[data-theme="dark"] .admin-card .bg-slate-50\/70,
[data-theme="dark"] .admin-card .bg-slate-50\/80,
[data-theme="dark"] .admin-card .bg-slate-50\/90,
[data-theme="dark"] .admin-card .bg-slate-100,
[data-theme="dark"] .admin-card-glass .bg-slate-50,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/40,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/50,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/60,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/70,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/80,
[data-theme="dark"] .admin-card-glass .bg-slate-50\/90,
[data-theme="dark"] .admin-card-glass .bg-slate-100,
[data-theme="dark"] .admin-card .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]),
[data-theme="dark"] .admin-card-glass .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]),
:root:not([data-theme="light"]) .admin-card .bg-slate-50,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/40,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/50,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/60,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/70,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/80,
:root:not([data-theme="light"]) .admin-card .bg-slate-50\/90,
:root:not([data-theme="light"]) .admin-card .bg-slate-100,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/40,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/50,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/60,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/70,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/80,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-50\/90,
:root:not([data-theme="light"]) .admin-card-glass .bg-slate-100,
:root:not([data-theme="light"]) .admin-card .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]),
:root:not([data-theme="light"]) .admin-card-glass .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]) {
    background-color: var(--admin-surface-elevated) !important;
    border-color: var(--admin-border) !important;
}

[data-theme="dark"] .admin-card .text-slate-900,
[data-theme="dark"] .admin-card .text-slate-800,
[data-theme="dark"] .admin-card-glass .text-slate-900,
[data-theme="dark"] .admin-card-glass .text-slate-800,
:root:not([data-theme="light"]) .admin-card .text-slate-900,
:root:not([data-theme="light"]) .admin-card .text-slate-800,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-900,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-800 {
    color: var(--admin-text-primary) !important;
}

[data-theme="dark"] .admin-card .text-slate-700,
[data-theme="dark"] .admin-card .text-slate-600,
[data-theme="dark"] .admin-card-glass .text-slate-700,
[data-theme="dark"] .admin-card-glass .text-slate-600,
:root:not([data-theme="light"]) .admin-card .text-slate-700,
:root:not([data-theme="light"]) .admin-card .text-slate-600,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-700,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-600 {
    color: var(--admin-text-secondary) !important;
}

[data-theme="dark"] .admin-card .text-slate-500,
[data-theme="dark"] .admin-card .text-slate-400,
[data-theme="dark"] .admin-card-glass .text-slate-500,
[data-theme="dark"] .admin-card-glass .text-slate-400,
:root:not([data-theme="light"]) .admin-card .text-slate-500,
:root:not([data-theme="light"]) .admin-card .text-slate-400,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-500,
:root:not([data-theme="light"]) .admin-card-glass .text-slate-400 {
    color: var(--admin-text-muted) !important;
}

[data-theme="dark"] .admin-card .border-slate-100,
[data-theme="dark"] .admin-card .border-slate-200,
[data-theme="dark"] .admin-card .border-slate-200\/60,
[data-theme="dark"] .admin-card .border-slate-200\/70,
[data-theme="dark"] .admin-card .border-slate-200\/80,
[data-theme="dark"] .admin-card .border-slate-200\/90,
[data-theme="dark"] .admin-card .border-slate-300,
[data-theme="dark"] .admin-card-glass .border-slate-100,
[data-theme="dark"] .admin-card-glass .border-slate-200,
[data-theme="dark"] .admin-card-glass .border-slate-200\/60,
[data-theme="dark"] .admin-card-glass .border-slate-200\/70,
[data-theme="dark"] .admin-card-glass .border-slate-200\/80,
[data-theme="dark"] .admin-card-glass .border-slate-200\/90,
[data-theme="dark"] .admin-card-glass .border-slate-300,
:root:not([data-theme="light"]) .admin-card .border-slate-100,
:root:not([data-theme="light"]) .admin-card .border-slate-200,
:root:not([data-theme="light"]) .admin-card .border-slate-200\/60,
:root:not([data-theme="light"]) .admin-card .border-slate-200\/70,
:root:not([data-theme="light"]) .admin-card .border-slate-200\/80,
:root:not([data-theme="light"]) .admin-card .border-slate-200\/90,
:root:not([data-theme="light"]) .admin-card .border-slate-300,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-100,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-200,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-200\/60,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-200\/70,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-200\/80,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-200\/90,
:root:not([data-theme="light"]) .admin-card-glass .border-slate-300 {
    border-color: var(--admin-border) !important;
}

/* Scoped Semantic Badges, Chips & Form Elements Harmonization in Dark Mode */
[data-theme="dark"] .admin-card select,
[data-theme="dark"] .admin-card textarea,
[data-theme="dark"] .admin-card input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] .admin-card-glass select,
[data-theme="dark"] .admin-card-glass textarea,
[data-theme="dark"] .admin-card-glass input:not([type="checkbox"]):not([type="radio"]),
:root:not([data-theme="light"]) .admin-card select,
:root:not([data-theme="light"]) .admin-card textarea,
:root:not([data-theme="light"]) .admin-card input:not([type="checkbox"]):not([type="radio"]),
:root:not([data-theme="light"]) .admin-card-glass select,
:root:not([data-theme="light"]) .admin-card-glass textarea,
:root:not([data-theme="light"]) .admin-card-glass input:not([type="checkbox"]):not([type="radio"]) {
    background-color: var(--admin-surface-elevated) !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-text-primary) !important;
}

[data-theme="dark"] .bg-blue-50,
[data-theme="dark"] .bg-blue-50\/60,
[data-theme="dark"] .bg-blue-50\/80,
[data-theme="dark"] .bg-blue-100,
[data-theme="dark"] .bg-blue-200,
[data-theme="dark"] .bg-blue-500\/10,
[data-theme="dark"] .bg-blue-500\/20,
[data-theme="dark"] .bg-blue-900\/40,
[data-theme="dark"] .dark\:bg-blue-900\/40,
:root:not([data-theme="light"]) .bg-blue-50,
:root:not([data-theme="light"]) .bg-blue-50\/60,
:root:not([data-theme="light"]) .bg-blue-50\/80,
:root:not([data-theme="light"]) .bg-blue-100,
:root:not([data-theme="light"]) .bg-blue-200,
:root:not([data-theme="light"]) .bg-blue-500\/10,
:root:not([data-theme="light"]) .bg-blue-500\/20,
:root:not([data-theme="light"]) .bg-blue-900\/40,
:root:not([data-theme="light"]) .dark\:bg-blue-900\/40 {
    background-color: rgba(37, 99, 235, 0.16) !important;
}
[data-theme="dark"] .text-blue-900,
[data-theme="dark"] .text-blue-800,
[data-theme="dark"] .text-blue-700,
[data-theme="dark"] .text-blue-600,
[data-theme="dark"] .text-blue-500,
[data-theme="dark"] .dark\:text-blue-300,
[data-theme="dark"] .dark\:text-blue-400,
:root:not([data-theme="light"]) .text-blue-900,
:root:not([data-theme="light"]) .text-blue-800,
:root:not([data-theme="light"]) .text-blue-700,
:root:not([data-theme="light"]) .text-blue-600,
:root:not([data-theme="light"]) .text-blue-500,
:root:not([data-theme="light"]) .dark\:text-blue-300,
:root:not([data-theme="light"]) .dark\:text-blue-400 {
    color: #93C5FD !important;
}
[data-theme="dark"] .border-blue-100,
[data-theme="dark"] .border-blue-200,
[data-theme="dark"] .border-blue-200\/60,
[data-theme="dark"] .border-blue-300,
[data-theme="dark"] .dark\:border-blue-800,
:root:not([data-theme="light"]) .border-blue-100,
:root:not([data-theme="light"]) .border-blue-200,
:root:not([data-theme="light"]) .border-blue-200\/60,
:root:not([data-theme="light"]) .border-blue-300,
:root:not([data-theme="light"]) .dark\:border-blue-800 {
    border-color: rgba(59, 130, 246, 0.32) !important;
}

[data-theme="dark"] .bg-emerald-50,
[data-theme="dark"] .bg-emerald-100,
[data-theme="dark"] .bg-emerald-200,
[data-theme="dark"] .bg-emerald-500\/10,
[data-theme="dark"] .bg-emerald-500\/20,
[data-theme="dark"] .bg-emerald-900\/40,
[data-theme="dark"] .dark\:bg-emerald-900\/40,
:root:not([data-theme="light"]) .bg-emerald-50,
:root:not([data-theme="light"]) .bg-emerald-100,
:root:not([data-theme="light"]) .bg-emerald-200,
:root:not([data-theme="light"]) .bg-emerald-500\/10,
:root:not([data-theme="light"]) .bg-emerald-500\/20,
:root:not([data-theme="light"]) .bg-emerald-900\/40,
:root:not([data-theme="light"]) .dark\:bg-emerald-900\/40 {
    background-color: rgba(16, 185, 129, 0.16) !important;
}
[data-theme="dark"] .text-emerald-900,
[data-theme="dark"] .text-emerald-800,
[data-theme="dark"] .text-emerald-700,
[data-theme="dark"] .text-emerald-600,
[data-theme="dark"] .dark\:text-emerald-300,
[data-theme="dark"] .dark\:text-emerald-400,
:root:not([data-theme="light"]) .text-emerald-900,
:root:not([data-theme="light"]) .text-emerald-800,
:root:not([data-theme="light"]) .text-emerald-700,
:root:not([data-theme="light"]) .text-emerald-600,
:root:not([data-theme="light"]) .dark\:text-emerald-300,
:root:not([data-theme="light"]) .dark\:text-emerald-400 {
    color: #6EE7B7 !important;
}
[data-theme="dark"] .border-emerald-100,
[data-theme="dark"] .border-emerald-200,
[data-theme="dark"] .border-emerald-300,
[data-theme="dark"] .dark\:border-emerald-800,
:root:not([data-theme="light"]) .border-emerald-100,
:root:not([data-theme="light"]) .border-emerald-200,
:root:not([data-theme="light"]) .border-emerald-300,
:root:not([data-theme="light"]) .dark\:border-emerald-800 {
    border-color: rgba(16, 185, 129, 0.32) !important;
}

[data-theme="dark"] .bg-amber-50,
[data-theme="dark"] .bg-amber-50\/30,
[data-theme="dark"] .bg-amber-100,
[data-theme="dark"] .bg-amber-200,
[data-theme="dark"] .bg-amber-500\/10,
[data-theme="dark"] .bg-amber-500\/20,
[data-theme="dark"] .bg-amber-900\/40,
[data-theme="dark"] .dark\:bg-amber-900\/40,
:root:not([data-theme="light"]) .bg-amber-50,
:root:not([data-theme="light"]) .bg-amber-50\/30,
:root:not([data-theme="light"]) .bg-amber-100,
:root:not([data-theme="light"]) .bg-amber-200,
:root:not([data-theme="light"]) .bg-amber-500\/10,
:root:not([data-theme="light"]) .bg-amber-500\/20,
:root:not([data-theme="light"]) .bg-amber-900\/40,
:root:not([data-theme="light"]) .dark\:bg-amber-900\/40 {
    background-color: rgba(245, 158, 11, 0.16) !important;
}
[data-theme="dark"] .text-amber-900,
[data-theme="dark"] .text-amber-800,
[data-theme="dark"] .text-amber-700,
[data-theme="dark"] .text-amber-600,
[data-theme="dark"] .dark\:text-amber-300,
[data-theme="dark"] .dark\:text-amber-400,
:root:not([data-theme="light"]) .text-amber-900,
:root:not([data-theme="light"]) .text-amber-800,
:root:not([data-theme="light"]) .text-amber-700,
:root:not([data-theme="light"]) .text-amber-600,
:root:not([data-theme="light"]) .dark\:text-amber-300,
:root:not([data-theme="light"]) .dark\:text-amber-400 {
    color: #FCD34D !important;
}
[data-theme="dark"] .border-amber-100,
[data-theme="dark"] .border-amber-200,
[data-theme="dark"] .border-amber-200\/70,
[data-theme="dark"] .border-amber-200\/90,
[data-theme="dark"] .border-amber-300,
[data-theme="dark"] .dark\:border-amber-800,
:root:not([data-theme="light"]) .border-amber-100,
:root:not([data-theme="light"]) .border-amber-200,
:root:not([data-theme="light"]) .border-amber-200\/70,
:root:not([data-theme="light"]) .border-amber-200\/90,
:root:not([data-theme="light"]) .border-amber-300,
:root:not([data-theme="light"]) .dark\:border-amber-800 {
    border-color: rgba(245, 158, 11, 0.32) !important;
}

[data-theme="dark"] .bg-rose-50,
[data-theme="dark"] .bg-rose-100,
[data-theme="dark"] .bg-rose-200,
[data-theme="dark"] .bg-rose-500\/10,
[data-theme="dark"] .bg-rose-500\/20,
[data-theme="dark"] .bg-rose-900\/40,
[data-theme="dark"] .dark\:bg-rose-900\/40,
:root:not([data-theme="light"]) .bg-rose-50,
:root:not([data-theme="light"]) .bg-rose-100,
:root:not([data-theme="light"]) .bg-rose-200,
:root:not([data-theme="light"]) .bg-rose-500\/10,
:root:not([data-theme="light"]) .bg-rose-500\/20,
:root:not([data-theme="light"]) .bg-rose-900\/40,
:root:not([data-theme="light"]) .dark\:bg-rose-900\/40 {
    background-color: rgba(239, 68, 68, 0.16) !important;
}
[data-theme="dark"] .text-rose-900,
[data-theme="dark"] .text-rose-800,
[data-theme="dark"] .text-rose-700,
[data-theme="dark"] .text-rose-600,
[data-theme="dark"] .dark\:text-rose-300,
[data-theme="dark"] .dark\:text-rose-400,
:root:not([data-theme="light"]) .text-rose-900,
:root:not([data-theme="light"]) .text-rose-800,
:root:not([data-theme="light"]) .text-rose-700,
:root:not([data-theme="light"]) .text-rose-600,
:root:not([data-theme="light"]) .dark\:text-rose-300,
:root:not([data-theme="light"]) .dark\:text-rose-400 {
    color: #FCA5A5 !important;
}
[data-theme="dark"] .border-rose-100,
[data-theme="dark"] .border-rose-200,
[data-theme="dark"] .border-rose-300,
[data-theme="dark"] .dark\:border-rose-800,
:root:not([data-theme="light"]) .border-rose-100,
:root:not([data-theme="light"]) .border-rose-200,
:root:not([data-theme="light"]) .border-rose-300,
:root:not([data-theme="light"]) .dark\:border-rose-800 {
    border-color: rgba(239, 68, 68, 0.32) !important;
}

[data-theme="dark"] .bg-purple-50,
[data-theme="dark"] .bg-purple-50\/70,
[data-theme="dark"] .bg-purple-100,
[data-theme="dark"] .bg-purple-200,
[data-theme="dark"] .bg-purple-900\/40,
[data-theme="dark"] .dark\:bg-purple-900\/40,
:root:not([data-theme="light"]) .bg-purple-50,
:root:not([data-theme="light"]) .bg-purple-50\/70,
:root:not([data-theme="light"]) .bg-purple-100,
:root:not([data-theme="light"]) .bg-purple-200,
:root:not([data-theme="light"]) .bg-purple-900\/40,
:root:not([data-theme="light"]) .dark\:bg-purple-900\/40 {
    background-color: rgba(147, 51, 234, 0.16) !important;
}
[data-theme="dark"] .text-purple-900,
[data-theme="dark"] .text-purple-800,
[data-theme="dark"] .text-purple-700,
[data-theme="dark"] .text-purple-600,
[data-theme="dark"] .dark\:text-purple-300,
:root:not([data-theme="light"]) .text-purple-900,
:root:not([data-theme="light"]) .text-purple-800,
:root:not([data-theme="light"]) .text-purple-700,
:root:not([data-theme="light"]) .text-purple-600,
:root:not([data-theme="light"]) .dark\:text-purple-300 {
    color: #D8B4FE !important;
}
[data-theme="dark"] .border-purple-100,
[data-theme="dark"] .border-purple-200,
[data-theme="dark"] .border-purple-300,
:root:not([data-theme="light"]) .border-purple-100,
:root:not([data-theme="light"]) .border-purple-200,
:root:not([data-theme="light"]) .border-purple-300 {
    border-color: rgba(147, 51, 234, 0.32) !important;
}

[data-theme="dark"] .bg-indigo-50,
[data-theme="dark"] .bg-indigo-50\/40,
[data-theme="dark"] .bg-indigo-100,
[data-theme="dark"] .bg-indigo-200,
[data-theme="dark"] .bg-indigo-900\/40,
[data-theme="dark"] .dark\:bg-indigo-900\/40,
:root:not([data-theme="light"]) .bg-indigo-50,
:root:not([data-theme="light"]) .bg-indigo-50\/40,
:root:not([data-theme="light"]) .bg-indigo-100,
:root:not([data-theme="light"]) .bg-indigo-200,
:root:not([data-theme="light"]) .bg-indigo-900\/40,
:root:not([data-theme="light"]) .dark\:bg-indigo-900\/40 {
    background-color: rgba(99, 102, 241, 0.16) !important;
}
[data-theme="dark"] .text-indigo-900,
[data-theme="dark"] .text-indigo-800,
[data-theme="dark"] .text-indigo-700,
[data-theme="dark"] .text-indigo-600,
[data-theme="dark"] .dark\:text-indigo-300,
:root:not([data-theme="light"]) .text-indigo-900,
:root:not([data-theme="light"]) .text-indigo-800,
:root:not([data-theme="light"]) .text-indigo-700,
:root:not([data-theme="light"]) .text-indigo-600,
:root:not([data-theme="light"]) .dark\:text-indigo-300 {
    color: #A5B4FC !important;
}
[data-theme="dark"] .border-indigo-100,
[data-theme="dark"] .border-indigo-200,
[data-theme="dark"] .border-indigo-300,
:root:not([data-theme="light"]) .border-indigo-100,
:root:not([data-theme="light"]) .border-indigo-200,
:root:not([data-theme="light"]) .border-indigo-300 {
    border-color: rgba(99, 102, 241, 0.32) !important;
}

[data-theme="dark"] .bg-violet-50,
[data-theme="dark"] .bg-violet-100,
[data-theme="dark"] .bg-violet-200,
:root:not([data-theme="light"]) .bg-violet-50,
:root:not([data-theme="light"]) .bg-violet-100,
:root:not([data-theme="light"]) .bg-violet-200 {
    background-color: rgba(139, 92, 246, 0.16) !important;
}
[data-theme="dark"] .text-violet-900,
[data-theme="dark"] .text-violet-800,
[data-theme="dark"] .text-violet-700,
[data-theme="dark"] .text-violet-600,
:root:not([data-theme="light"]) .text-violet-900,
:root:not([data-theme="light"]) .text-violet-800,
:root:not([data-theme="light"]) .text-violet-700,
:root:not([data-theme="light"]) .text-violet-600 {
    color: #C4B5FD !important;
}
[data-theme="dark"] .border-violet-100,
[data-theme="dark"] .border-violet-200,
:root:not([data-theme="light"]) .border-violet-100,
:root:not([data-theme="light"]) .border-violet-200 {
    border-color: rgba(139, 92, 246, 0.32) !important;
}

[data-theme="dark"] .bg-teal-50,
[data-theme="dark"] .bg-teal-50\/40,
[data-theme="dark"] .bg-teal-100,
[data-theme="dark"] .bg-teal-200,
[data-theme="dark"] .bg-teal-500\/10,
[data-theme="dark"] .bg-teal-500\/20,
[data-theme="dark"] .bg-teal-900\/40,
[data-theme="dark"] .bg-teal-950\/20,
[data-theme="dark"] .bg-teal-950\/40,
[data-theme="dark"] .dark\:bg-teal-900\/40,
[data-theme="dark"] .dark\:bg-teal-950\/20,
[data-theme="dark"] .dark\:bg-teal-950\/40,
:root:not([data-theme="light"]) .bg-teal-50,
:root:not([data-theme="light"]) .bg-teal-50\/40,
:root:not([data-theme="light"]) .bg-teal-100,
:root:not([data-theme="light"]) .bg-teal-200,
:root:not([data-theme="light"]) .bg-teal-500\/10,
:root:not([data-theme="light"]) .bg-teal-500\/20,
:root:not([data-theme="light"]) .bg-teal-900\/40,
:root:not([data-theme="light"]) .bg-teal-950\/20,
:root:not([data-theme="light"]) .bg-teal-950\/40,
:root:not([data-theme="light"]) .dark\:bg-teal-900\/40,
:root:not([data-theme="light"]) .dark\:bg-teal-950\/20,
:root:not([data-theme="light"]) .dark\:bg-teal-950\/40 {
    background-color: rgba(20, 184, 166, 0.16) !important;
}
[data-theme="dark"] .text-teal-900,
[data-theme="dark"] .text-teal-800,
[data-theme="dark"] .text-teal-700,
[data-theme="dark"] .text-teal-600,
[data-theme="dark"] .dark\:text-teal-300,
[data-theme="dark"] .dark\:text-teal-400,
:root:not([data-theme="light"]) .text-teal-900,
:root:not([data-theme="light"]) .text-teal-800,
:root:not([data-theme="light"]) .text-teal-700,
:root:not([data-theme="light"]) .text-teal-600,
:root:not([data-theme="light"]) .dark\:text-teal-300,
:root:not([data-theme="light"]) .dark\:text-teal-400 {
    color: #5EEAD4 !important;
}
[data-theme="dark"] .border-teal-100,
[data-theme="dark"] .border-teal-200,
[data-theme="dark"] .border-teal-200\/50,
[data-theme="dark"] .border-teal-300,
[data-theme="dark"] .dark\:border-teal-800,
:root:not([data-theme="light"]) .border-teal-100,
:root:not([data-theme="light"]) .border-teal-200,
:root:not([data-theme="light"]) .border-teal-200\/50,
:root:not([data-theme="light"]) .border-teal-300,
:root:not([data-theme="light"]) .dark\:border-teal-800 {
    border-color: rgba(20, 184, 166, 0.32) !important;
}

[data-theme="dark"] .bg-sky-50,
[data-theme="dark"] .bg-sky-100,
[data-theme="dark"] .bg-sky-200,
[data-theme="dark"] .bg-sky-500\/10,
[data-theme="dark"] .bg-sky-500\/20,
[data-theme="dark"] .bg-sky-900\/40,
[data-theme="dark"] .dark\:bg-sky-900\/40,
:root:not([data-theme="light"]) .bg-sky-50,
:root:not([data-theme="light"]) .bg-sky-100,
:root:not([data-theme="light"]) .bg-sky-200,
:root:not([data-theme="light"]) .bg-sky-500\/10,
:root:not([data-theme="light"]) .bg-sky-500\/20,
:root:not([data-theme="light"]) .bg-sky-900\/40,
:root:not([data-theme="light"]) .dark\:bg-sky-900\/40 {
    background-color: rgba(14, 165, 233, 0.16) !important;
}
[data-theme="dark"] .text-sky-900,
[data-theme="dark"] .text-sky-800,
[data-theme="dark"] .text-sky-700,
[data-theme="dark"] .text-sky-600,
[data-theme="dark"] .dark\:text-sky-300,
[data-theme="dark"] .dark\:text-sky-400,
:root:not([data-theme="light"]) .text-sky-900,
:root:not([data-theme="light"]) .text-sky-800,
:root:not([data-theme="light"]) .text-sky-700,
:root:not([data-theme="light"]) .text-sky-600,
:root:not([data-theme="light"]) .dark\:text-sky-300,
:root:not([data-theme="light"]) .dark\:text-sky-400 {
    color: #7DD3FC !important;
}
[data-theme="dark"] .border-sky-100,
[data-theme="dark"] .border-sky-200,
[data-theme="dark"] .border-sky-300,
:root:not([data-theme="light"]) .border-sky-100,
:root:not([data-theme="light"]) .border-sky-200,
:root:not([data-theme="light"]) .border-sky-300 {
    border-color: rgba(14, 165, 233, 0.32) !important;
}

/* Dark Theme Slate & Neutral Backgrounds / Borders / Text */
[data-theme="dark"] .dark\:bg-slate-800,
[data-theme="dark"] .dark\:bg-slate-800\/50,
[data-theme="dark"] .dark\:bg-slate-900,
:root:not([data-theme="light"]) .dark\:bg-slate-800,
:root:not([data-theme="light"]) .dark\:bg-slate-800\/50,
:root:not([data-theme="light"]) .dark\:bg-slate-900 {
    background-color: rgba(148, 163, 184, 0.12) !important;
}
[data-theme="dark"] .dark\:border-slate-800,
[data-theme="dark"] .dark\:border-slate-700,
[data-theme="dark"] .dark\:border-slate-600,
:root:not([data-theme="light"]) .dark\:border-slate-800,
:root:not([data-theme="light"]) .dark\:border-slate-700,
:root:not([data-theme="light"]) .dark\:border-slate-600 {
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}
[data-theme="dark"] .dark\:text-slate-300,
[data-theme="dark"] .dark\:text-slate-200,
[data-theme="dark"] .dark\:text-white,
:root:not([data-theme="light"]) .dark\:text-slate-300,
:root:not([data-theme="light"]) .dark\:text-slate-200,
:root:not([data-theme="light"]) .dark\:text-white {
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .dark\:text-slate-400,
:root:not([data-theme="light"]) .dark\:text-slate-400 {
    color: var(--admin-text-muted, #8190A5) !important;
}

/* Dark Theme Hover Background Harmonization (Fixes Blinding White Rows/Cards) */
[data-theme="dark"] .hover\:bg-slate-50:hover,
[data-theme="dark"] .hover\:bg-slate-100:hover,
[data-theme="dark"] .hover\:bg-slate-200:hover,
[data-theme="dark"] .hover\:bg-white:hover,
:root:not([data-theme="light"]) .hover\:bg-slate-50:hover,
:root:not([data-theme="light"]) .hover\:bg-slate-100:hover,
:root:not([data-theme="light"]) .hover\:bg-slate-200:hover,
:root:not([data-theme="light"]) .hover\:bg-white:hover {
    background-color: var(--admin-hover-surface, rgba(255, 255, 255, 0.05)) !important;
}

/* Standalone White Backgrounds in Dark Mode (Excluding Logos and Doc Viewers) */
[data-theme="dark"] #mainWrapper .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]):not(canvas):not(img):not(.docx-wrapper):not(iframe),
:root:not([data-theme="light"]) #mainWrapper .bg-white:not(.admin-logo-container):not(.grc-logo-box):not([data-preserve-white]):not(canvas):not(img):not(.docx-wrapper):not(iframe) {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

/* Dark Theme Bootstrap Modals Foundation */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-content.bg-white,
:root:not([data-theme="light"]) .modal-content,
:root:not([data-theme="light"]) .modal-content.bg-white {
    background-color: var(--admin-surface, #12243A) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .modal-header,
:root:not([data-theme="light"]) .modal-header {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-bottom: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .modal-header .modal-title,
:root:not([data-theme="light"]) .modal-header .modal-title {
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .modal-header .btn-close,
:root:not([data-theme="light"]) .modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}
[data-theme="dark"] .modal-body,
:root:not([data-theme="light"]) .modal-body {
    background-color: var(--admin-surface, #12243A) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .modal-body label,
[data-theme="dark"] .modal-body .form-label,
:root:not([data-theme="light"]) .modal-body label,
:root:not([data-theme="light"]) .modal-body .form-label {
    color: var(--admin-text-secondary, #B6C2D2) !important;
}
[data-theme="dark"] .modal-body .bg-slate-50,
[data-theme="dark"] .modal-body .bg-slate-100,
:root:not([data-theme="light"]) .modal-body .bg-slate-50,
:root:not([data-theme="light"]) .modal-body .bg-slate-100 {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
}
[data-theme="dark"] .modal-footer,
:root:not([data-theme="light"]) .modal-footer {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-top: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

/* Dark Theme Bootstrap Dropdown Menus */
[data-theme="dark"] .dropdown-menu,
:root:not([data-theme="light"]) .dropdown-menu {
    background-color: var(--admin-surface, #12243A) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .dropdown-item,
:root:not([data-theme="light"]) .dropdown-item {
    color: var(--admin-text-secondary, #B6C2D2) !important;
}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
:root:not([data-theme="light"]) .dropdown-item:hover,
:root:not([data-theme="light"]) .dropdown-item:focus {
    background-color: var(--admin-hover-surface, rgba(255, 255, 255, 0.05)) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .dropdown-divider,
:root:not([data-theme="light"]) .dropdown-divider {
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

/* Dark Theme Standard Alerts */
[data-theme="dark"] .alert-primary,
:root:not([data-theme="light"]) .alert-primary {
    background-color: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(59, 130, 246, 0.3) !important;
    color: #93C5FD !important;
}
[data-theme="dark"] .alert-secondary,
:root:not([data-theme="light"]) .alert-secondary {
    background-color: rgba(148, 163, 184, 0.1) !important;
    border-color: rgba(148, 163, 184, 0.25) !important;
    color: #CBD5E1 !important;
}
[data-theme="dark"] .alert-success,
:root:not([data-theme="light"]) .alert-success {
    background-color: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: #6EE7B7 !important;
}
[data-theme="dark"] .alert-danger,
:root:not([data-theme="light"]) .alert-danger {
    background-color: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: #FCA5A5 !important;
}
[data-theme="dark"] .alert-warning,
:root:not([data-theme="light"]) .alert-warning {
    background-color: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    color: #FCD34D !important;
}
[data-theme="dark"] .alert-info,
:root:not([data-theme="light"]) .alert-info {
    background-color: rgba(14, 165, 233, 0.12) !important;
    border-color: rgba(14, 165, 233, 0.3) !important;
    color: #7DD3FC !important;
}

/* Dark Theme Buttons & Action Controls */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-outline-secondary,
[data-theme="dark"] .admin-btn-secondary,
:root:not([data-theme="light"]) .btn-secondary,
:root:not([data-theme="light"]) .btn-outline-secondary,
:root:not([data-theme="light"]) .admin-btn-secondary {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.18)) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}
[data-theme="dark"] .btn-light,
:root:not([data-theme="light"]) .btn-light {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.18)) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
}
[data-theme="dark"] .btn-outline-primary,
:root:not([data-theme="light"]) .btn-outline-primary {
    border-color: var(--admin-primary, #3B82F6) !important;
    color: #60A5FA !important;
}

/* Dark Theme Bootstrap Pagination */
[data-theme="dark"] .pagination .page-link,
:root:not([data-theme="light"]) .pagination .page-link {
    background-color: var(--admin-surface, #12243A) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
}
[data-theme="dark"] .pagination .page-item.active .page-link,
:root:not([data-theme="light"]) .pagination .page-item.active .page-link {
    background-color: var(--admin-primary, #3B82F6) !important;
    border-color: var(--admin-primary, #3B82F6) !important;
    color: #FFFFFF !important;
}
[data-theme="dark"] .pagination .page-item.disabled .page-link,
:root:not([data-theme="light"]) .pagination .page-item.disabled .page-link {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-muted, #8190A5) !important;
}


/* ==========================================================================
   ADMIN EMAIL REPLY MODAL & TRIGGER BUTTON DESIGN SYSTEM
   ========================================================================== */
.grc-admin-reply-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #FFFFFF !important;
    background: linear-gradient(135deg, var(--admin-primary) 0%, #1d4ed8 100%);
    border: 1px solid var(--admin-primary);
    border-radius: var(--radius-sm, 8px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    text-decoration: none !important;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.grc-admin-reply-btn:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.25);
    transform: translateY(-1px);
    color: #FFFFFF !important;
}

.grc-admin-reply-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ==========================================================================
   ENTERPRISE ADMIN REPLY MODAL (DUAL-THEME: DARK & LIGHT)
   ========================================================================== */

.grc-reply-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background-color: var(--admin-surface-overlay, rgba(3, 7, 18, 0.75));
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow-y: auto;
}

[data-theme="light"] .grc-reply-modal-backdrop {
    background-color: var(--admin-surface-overlay, rgba(15, 23, 42, 0.50));
}

.grc-reply-modal-backdrop.is-open {
    display: flex;
}

.grc-reply-modal-dialog {
    background-color: var(--admin-surface, #12243A);
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14));
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.45), 0 10px 10px -5px rgba(0, 0, 0, 0.35);
    width: 100%;
    max-width: 640px;
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: grcReplyModalIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-theme="light"] .grc-reply-modal-dialog {
    background-color: var(--admin-surface, #FFFFFF);
    border: 1px solid var(--admin-border, #E2E8F0);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.12), 0 10px 10px -5px rgba(0, 0, 0, 0.05);
}

@keyframes grcReplyModalIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.grc-reply-modal-header {
    padding: 1.15rem 1.5rem;
    background: linear-gradient(135deg, #0D1B2A 0%, #172B44 100%);
    color: var(--admin-text-primary, #F8FAFC);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14));
}

[data-theme="light"] .grc-reply-modal-header {
    background: linear-gradient(135deg, #F8FAFC 0%, #EDF2F7 100%);
    color: var(--admin-text-primary, #172033);
    border-bottom: 1px solid var(--admin-border, #E2E8F0);
}

.grc-reply-modal-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background-color: rgba(59, 130, 246, 0.16);
    border: 1px solid rgba(59, 130, 246, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #60A5FA;
    font-size: 1.125rem;
    flex-shrink: 0;
}

[data-theme="light"] .grc-reply-modal-icon {
    background-color: rgba(59, 130, 246, 0.10);
    border: 1px solid rgba(59, 130, 246, 0.25);
    color: #2563EB;
}

.grc-reply-modal-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--admin-text-primary, #F8FAFC);
    margin: 0;
    line-height: 1.35;
}

[data-theme="light"] .grc-reply-modal-title {
    color: var(--admin-text-primary, #172033);
}

.grc-reply-modal-subtitle {
    font-size: 0.75rem;
    color: var(--admin-text-muted, #8190A5);
    margin: 0.15rem 0 0 0;
    line-height: 1.4;
}

[data-theme="light"] .grc-reply-modal-subtitle {
    color: var(--admin-text-secondary, #526174);
}

.grc-reply-modal-close {
    padding: 0.5rem;
    border-radius: 0.5rem;
    background: transparent;
    border: none;
    color: var(--admin-text-muted, #8190A5);
    font-size: 0.875rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.grc-reply-modal-close:hover {
    color: var(--admin-text-primary, #FFFFFF);
    background-color: rgba(255, 255, 255, 0.08);
}

[data-theme="light"] .grc-reply-modal-close {
    color: var(--admin-text-secondary, #64748B);
}

[data-theme="light"] .grc-reply-modal-close:hover {
    color: var(--admin-text-primary, #0F172A);
    background-color: rgba(15, 23, 42, 0.06);
}

.grc-reply-modal-body {
    padding: 1.5rem;
    background-color: var(--admin-surface, #12243A);
    color: var(--admin-text-primary, #F8FAFC);
    overflow-y: auto;
    flex: 1 1 auto;
}

[data-theme="light"] .grc-reply-modal-body {
    background-color: var(--admin-surface, #FFFFFF);
    color: var(--admin-text-primary, #172033);
}

.grc-reply-field-group {
    margin-bottom: 1.1rem;
}

.grc-reply-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--admin-text-secondary, #B6C2D2);
    margin-bottom: 0.4rem;
}

[data-theme="light"] .grc-reply-label {
    color: var(--admin-text-secondary, #526174);
}

.grc-reply-icon-accent {
    color: #60A5FA;
}

[data-theme="light"] .grc-reply-icon-accent {
    color: #2563EB;
}

.grc-reply-required {
    color: var(--admin-danger, #EF4444);
    font-weight: 700;
}

[data-theme="light"] .grc-reply-required {
    color: #DC2626;
}

.grc-reply-hint {
    color: var(--admin-text-muted, #8190A5);
}

[data-theme="light"] .grc-reply-hint {
    color: var(--admin-text-muted, #7A8798);
}

.grc-reply-input,
.grc-reply-textarea {
    width: 100%;
    padding: 0.65rem 0.9rem;
    font-size: 0.875rem;
    color: var(--admin-text-primary, #F8FAFC) !important;
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.20)) !important;
    border-radius: var(--radius-sm, 8px);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.grc-reply-input::placeholder,
.grc-reply-textarea::placeholder {
    color: var(--admin-text-muted, #8190A5) !important;
    opacity: 1;
}

.grc-reply-input:focus:not([readonly]),
.grc-reply-textarea:focus {
    outline: none !important;
    border-color: var(--admin-primary, #3B82F6) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.28) !important;
    background-color: #1A314E !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}

.grc-reply-input[readonly] {
    background-color: var(--admin-bg-secondary, #0A1728) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
    font-weight: 600;
    cursor: not-allowed;
}

[data-theme="light"] .grc-reply-input,
[data-theme="light"] .grc-reply-textarea {
    background-color: #FFFFFF !important;
    border: 1px solid var(--admin-border, #CBD5E1) !important;
    color: var(--admin-text-primary, #172033) !important;
}

[data-theme="light"] .grc-reply-input::placeholder,
[data-theme="light"] .grc-reply-textarea::placeholder {
    color: var(--admin-text-muted, #7A8798) !important;
}

[data-theme="light"] .grc-reply-input:focus:not([readonly]),
[data-theme="light"] .grc-reply-textarea:focus {
    background-color: #FFFFFF !important;
    border-color: var(--admin-primary, #3B82F6) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
    color: var(--admin-text-primary, #172033) !important;
}

[data-theme="light"] .grc-reply-input[readonly] {
    background-color: var(--admin-bg-secondary, #EDF2F7) !important;
    border-color: var(--admin-border, #E2E8F0) !important;
    color: var(--admin-text-secondary, #526174) !important;
}

.grc-reply-textarea {
    min-height: 140px;
    resize: vertical;
    line-height: 1.6;
}

/* File input button styling */
.grc-reply-file-input::file-selector-button {
    background-color: #1E385B;
    color: #F8FAFC;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 6px;
    padding: 0.35rem 0.75rem;
    margin-inline-end: 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.grc-reply-file-input::file-selector-button:hover {
    background-color: #254672;
}

[data-theme="light"] .grc-reply-file-input::file-selector-button {
    background-color: #F1F5F9;
    color: #172033;
    border: 1px solid #CBD5E1;
}

[data-theme="light"] .grc-reply-file-input::file-selector-button:hover {
    background-color: #E2E8F0;
}

.grc-reply-modal-footer {
    padding: 1rem 1.5rem;
    background-color: var(--admin-surface-subtle, #142840);
    border-top: 1px solid var(--admin-border, rgba(148, 163, 184, 0.14));
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

[data-theme="light"] .grc-reply-modal-footer {
    background-color: var(--admin-surface-subtle, #F8FAFC);
    border-top: 1px solid var(--admin-border, #E2E8F0);
}

.grc-reply-cancel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border-radius: var(--radius-sm, 8px);
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.20));
    background-color: var(--admin-surface-elevated, #172B44);
    color: var(--admin-text-secondary, #B6C2D2);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
}

.grc-reply-cancel-btn:hover {
    background-color: #1E385B;
    border-color: rgba(148, 163, 184, 0.35);
    color: var(--admin-text-primary, #F8FAFC);
}

[data-theme="light"] .grc-reply-cancel-btn {
    background-color: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: #475569;
}

[data-theme="light"] .grc-reply-cancel-btn:hover {
    background-color: #F8FAFC;
    border-color: #94A3B8;
    color: #0F172A;
}

/* Modal Feedback Alerts */
.grc-reply-alert {
    padding: 0.85rem 1rem;
    border-radius: var(--radius-md, 10px);
    font-size: 0.75rem;
    font-weight: 700;
    border-width: 1px;
    border-style: solid;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.grc-reply-alert.hidden {
    display: none !important;
}

.grc-reply-alert-success {
    background-color: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.35) !important;
    color: #34D399 !important;
}

[data-theme="light"] .grc-reply-alert-success {
    background-color: #ECFDF5 !important;
    border-color: #A7F3D0 !important;
    color: #065F46 !important;
}

.grc-reply-alert-danger {
    background-color: rgba(239, 68, 68, 0.15) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
    color: #F87171 !important;
}

[data-theme="light"] .grc-reply-alert-danger {
    background-color: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}

@media (max-width: 575.98px) {
    .grc-reply-modal-backdrop {
        padding: 0.5rem;
    }
    .grc-reply-modal-header,
    .grc-reply-modal-body,
    .grc-reply-modal-footer {
        padding: 1rem;
    }
    .grc-reply-modal-footer button {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   UNIFIED THEME-AWARE SELECT & FORM CONTROLS (LIGHT & DARK ADAPTATION)
   ========================================================================== */

/* 1. Base Select Normalization: Applies to ALL single-selects across the application */
select:not([multiple]),
select:not([multiple]):not([size]),
select:not([multiple])[size="1"],
.admin-select,
.form-select {
    width: 100%;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    border-radius: var(--radius-md, 10px) !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

/* LTR Alignment (English, German, French, Romanian, Russian) */
[dir="ltr"] select:not([multiple]),
[dir="ltr"] select:not([multiple]):not([size]),
[dir="ltr"] select:not([multiple])[size="1"],
[dir="ltr"] .admin-select,
[dir="ltr"] .form-select,
html[dir="ltr"] select:not([multiple]),
html[dir="ltr"] select:not([multiple]):not([size]),
html[dir="ltr"] select:not([multiple])[size="1"],
html[dir="ltr"] .admin-select,
html[dir="ltr"] .form-select,
html:not([dir="rtl"]) select:not([multiple]),
html:not([dir="rtl"]) select:not([multiple]):not([size]),
html:not([dir="rtl"]) select:not([multiple])[size="1"],
html:not([dir="rtl"]) .admin-select,
html:not([dir="rtl"]) .form-select {
    background-position: right 0.75rem center !important;
    padding-left: 0.875rem !important;
    padding-right: 2.5rem !important;
    text-align: left !important;
}

/* RTL Alignment (Arabic) */
[dir="rtl"] select:not([multiple]),
[dir="rtl"] select:not([multiple]):not([size]),
[dir="rtl"] select:not([multiple])[size="1"],
[dir="rtl"] .admin-select,
[dir="rtl"] .form-select,
html[dir="rtl"] select:not([multiple]),
html[dir="rtl"] select:not([multiple]):not([size]),
html[dir="rtl"] select:not([multiple])[size="1"],
html[dir="rtl"] .admin-select,
html[dir="rtl"] .form-select {
    background-position: left 0.75rem center !important;
    padding-right: 0.875rem !important;
    padding-left: 2.5rem !important;
    text-align: right !important;
}

/* 2. DARK THEME SELECT STYLING */
[data-theme="dark"] select:not([multiple]),
[data-theme="dark"] select:not([multiple]):not([size]),
[data-theme="dark"] select:not([multiple])[size="1"],
[data-theme="dark"] .admin-select,
[data-theme="dark"] .form-select,
:root:not([data-theme="light"]) select:not([multiple]),
:root:not([data-theme="light"]) select:not([multiple]):not([size]),
:root:not([data-theme="light"]) select:not([multiple])[size="1"],
:root:not([data-theme="light"]) .admin-select,
:root:not([data-theme="light"]) .form-select {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2394A3B8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3e%3cpath d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.20)) !important;
    color: #F8FAFC !important;
    -webkit-text-fill-color: #F8FAFC !important;
}

/* Dark Mode Hover */
[data-theme="dark"] select:not([multiple]):hover,
[data-theme="dark"] select:not([multiple]):not([size]):hover,
[data-theme="dark"] select:not([multiple])[size="1"]:hover,
[data-theme="dark"] .admin-select:hover,
[data-theme="dark"] .form-select:hover,
:root:not([data-theme="light"]) select:not([multiple]):hover,
:root:not([data-theme="light"]) select:not([multiple]):not([size]):hover,
:root:not([data-theme="light"]) select:not([multiple])[size="1"]:hover,
:root:not([data-theme="light"]) .admin-select:hover,
:root:not([data-theme="light"]) .form-select:hover {
    border-color: var(--admin-border-hover, rgba(96, 165, 250, 0.40)) !important;
    background-color: #1A314E !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
}

/* Dark Mode Focus */
[data-theme="dark"] select:not([multiple]):focus,
[data-theme="dark"] select:not([multiple]):not([size]):focus,
[data-theme="dark"] select:not([multiple])[size="1"]:focus,
[data-theme="dark"] .admin-select:focus,
[data-theme="dark"] .form-select:focus,
:root:not([data-theme="light"]) select:not([multiple]):focus,
:root:not([data-theme="light"]) select:not([multiple]):not([size]):focus,
:root:not([data-theme="light"]) select:not([multiple])[size="1"]:focus,
:root:not([data-theme="light"]) .admin-select:focus,
:root:not([data-theme="light"]) .form-select:focus {
    outline: none !important;
    border-color: var(--admin-primary, #3B82F6) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.28) !important;
    background-color: #1A314E !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    color: #F8FAFC !important;
    -webkit-text-fill-color: #F8FAFC !important;
}

/* 3. LIGHT THEME SELECT STYLING */
[data-theme="light"] select:not([multiple]),
[data-theme="light"] select:not([multiple]):not([size]),
[data-theme="light"] select:not([multiple])[size="1"],
[data-theme="light"] .admin-select,
[data-theme="light"] .form-select {
    background-color: #FFFFFF !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2364748B' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3e%3cpath d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    border: 1px solid #CBD5E1 !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
}

[data-theme="light"] select:not([multiple]):hover,
[data-theme="light"] select:not([multiple]):not([size]):hover,
[data-theme="light"] select:not([multiple])[size="1"]:hover,
[data-theme="light"] .admin-select:hover,
[data-theme="light"] .form-select:hover {
    border-color: #94A3B8 !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
}

[data-theme="light"] select:not([multiple]):focus,
[data-theme="light"] select:not([multiple]):not([size]):focus,
[data-theme="light"] select:not([multiple])[size="1"]:focus,
[data-theme="light"] .admin-select:focus,
[data-theme="light"] .form-select:focus {
    outline: none !important;
    border-color: #3B82F6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.20) !important;
    background-color: #FFFFFF !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
}

/* 4. DROPDOWN OPTIONS STYLING ACROSS BROWSERS */
/* Dark Mode Options */
[data-theme="dark"] select option,
[data-theme="dark"] .admin-select option,
[data-theme="dark"] .form-select option,
:root:not([data-theme="light"]) select option,
:root:not([data-theme="light"]) .admin-select option,
:root:not([data-theme="light"]) .form-select option {
    background-color: #12243A !important;
    color: #F8FAFC !important;
    -webkit-text-fill-color: #F8FAFC !important;
}

[data-theme="dark"] select option:checked,
[data-theme="dark"] .admin-select option:checked,
[data-theme="dark"] .form-select option:checked,
:root:not([data-theme="light"]) select option:checked,
:root:not([data-theme="light"]) .admin-select option:checked,
:root:not([data-theme="light"]) .form-select option:checked {
    background-color: #1D4ED8 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

[data-theme="dark"] select option:disabled,
[data-theme="dark"] .admin-select option:disabled,
[data-theme="dark"] .form-select option:disabled,
:root:not([data-theme="light"]) select option:disabled,
:root:not([data-theme="light"]) .admin-select option:disabled,
:root:not([data-theme="light"]) .form-select option:disabled {
    color: #94A3B8 !important;
    -webkit-text-fill-color: #94A3B8 !important;
}

/* Light Mode Options */
[data-theme="light"] select option,
[data-theme="light"] .admin-select option,
[data-theme="light"] .form-select option {
    background-color: #FFFFFF !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
}

[data-theme="light"] select option:disabled,
[data-theme="light"] .admin-select option:disabled,
[data-theme="light"] .form-select option:disabled {
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
}

/* 3. THEME-AWARE INPUT CONTROLS */
[data-theme="dark"] .admin-input,
[data-theme="dark"] .form-control,
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
[data-theme="dark"] textarea,
:root:not([data-theme="light"]) .admin-input,
:root:not([data-theme="light"]) .form-control,
:root:not([data-theme="light"]) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
:root:not([data-theme="light"]) textarea {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border: 1px solid var(--admin-border, rgba(148, 163, 184, 0.20)) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}

[data-theme="dark"] .admin-input:hover,
[data-theme="dark"] .form-control:hover,
:root:not([data-theme="light"]) .admin-input:hover,
:root:not([data-theme="light"]) .form-control:hover {
    border-color: var(--admin-border-hover, rgba(96, 165, 250, 0.40)) !important;
}

[data-theme="dark"] .admin-input:focus,
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
:root:not([data-theme="light"]) .admin-input:focus,
:root:not([data-theme="light"]) .form-control:focus,
:root:not([data-theme="light"]) input:focus,
:root:not([data-theme="light"]) textarea:focus {
    outline: none !important;
    border-color: var(--admin-primary, #3B82F6) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.28) !important;
    background-color: #1A314E !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
}

[data-theme="dark"] .admin-input::placeholder,
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
:root:not([data-theme="light"]) .admin-input::placeholder,
:root:not([data-theme="light"]) .form-control::placeholder,
:root:not([data-theme="light"]) input::placeholder,
:root:not([data-theme="light"]) textarea::placeholder {
    color: var(--admin-text-muted, #8190A5) !important;
}

/* 4. STANDARDIZED ATTACHMENT CARD DARK THEME */
[data-theme="dark"] .admin-attachment-card,
:root:not([data-theme="light"]) .admin-attachment-card {
    background-color: var(--admin-surface-elevated, #172B44) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] .admin-attachment-card:hover,
:root:not([data-theme="light"]) .admin-attachment-card:hover {
    border-color: var(--admin-border-hover, rgba(96, 165, 250, 0.35)) !important;
}

[data-theme="dark"] .admin-attachment-preview,
:root:not([data-theme="light"]) .admin-attachment-preview {
    background-color: rgba(10, 23, 40, 0.50) !important;
    border-bottom-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

[data-theme="dark"] .admin-attachment-doc-banner,
:root:not([data-theme="light"]) .admin-attachment-doc-banner {
    background: linear-gradient(180deg, #12243A 0%, #0D1B2A 100%) !important;
}

[data-theme="dark"] .admin-attachment-filename,
:root:not([data-theme="light"]) .admin-attachment-filename {
    color: var(--admin-text-primary, #F8FAFC) !important;
}

[data-theme="dark"] .admin-attachment-meta-row,
:root:not([data-theme="light"]) .admin-attachment-meta-row {
    color: var(--admin-text-muted, #8190A5) !important;
}

[data-theme="dark"] .admin-attachment-badge,
:root:not([data-theme="light"]) .admin-attachment-badge {
    background-color: var(--admin-surface, #12243A) !important;
    color: var(--admin-text-secondary, #B6C2D2) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

[data-theme="dark"] .admin-attachment-size,
:root:not([data-theme="light"]) .admin-attachment-size {
    color: var(--admin-text-secondary, #B6C2D2) !important;
}

[data-theme="dark"] .admin-attachment-label,
:root:not([data-theme="light"]) .admin-attachment-label {
    color: var(--admin-text-muted, #8190A5) !important;
}

[data-theme="dark"] .admin-attachment-actions,
:root:not([data-theme="light"]) .admin-attachment-actions {
    border-top-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

[data-theme="dark"] .admin-attachment-btn-secondary,
:root:not([data-theme="light"]) .admin-attachment-btn-secondary {
    background-color: var(--admin-surface, #12243A) !important;
    color: var(--admin-text-primary, #F8FAFC) !important;
    border-color: var(--admin-border, rgba(148, 163, 184, 0.14)) !important;
}

[data-theme="dark"] .admin-attachment-btn-secondary:hover,
:root:not([data-theme="light"]) .admin-attachment-btn-secondary:hover {
    background-color: var(--admin-surface-subtle, #142840) !important;
    border-color: var(--admin-border-hover, rgba(96, 165, 250, 0.35)) !important;
}

/* 5. GLOBAL DARK MODE TEXT CONTRAST GUARANTEE */
[data-theme="dark"] .text-slate-900,
[data-theme="dark"] .text-slate-800,
:root:not([data-theme="light"]) .text-slate-900,
:root:not([data-theme="light"]) .text-slate-800 {
    color: var(--admin-text-primary, #F8FAFC) !important;
}

[data-theme="dark"] .text-slate-700,
[data-theme="dark"] .text-slate-600,
:root:not([data-theme="light"]) .text-slate-700,
:root:not([data-theme="light"]) .text-slate-600 {
    color: var(--admin-text-secondary, #B6C2D2) !important;
}

[data-theme="dark"] .text-slate-500,
[data-theme="dark"] .text-slate-400,
:root:not([data-theme="light"]) .text-slate-500,
:root:not([data-theme="light"]) .text-slate-400 {
    color: var(--admin-text-muted, #8190A5) !important;
}

[data-theme="dark"] #mainWrapper span.text-slate-400:not(.admin-sidebar-logo-plaque *):not(.sidebar-text),
[data-theme="dark"] #mainWrapper p.text-slate-400,
[data-theme="dark"] #mainWrapper div.text-slate-400:not(.pulse-dot),
[data-theme="dark"] #mainWrapper label.text-slate-400,
[data-theme="dark"] #mainWrapper td.text-slate-400,
[data-theme="dark"] #mainWrapper th.text-slate-400,
:root:not([data-theme="light"]) #mainWrapper span.text-slate-400:not(.admin-sidebar-logo-plaque *):not(.sidebar-text),
:root:not([data-theme="light"]) #mainWrapper p.text-slate-400,
:root:not([data-theme="light"]) #mainWrapper div.text-slate-400:not(.pulse-dot),
:root:not([data-theme="light"]) #mainWrapper label.text-slate-400,
:root:not([data-theme="light"]) #mainWrapper td.text-slate-400,
:root:not([data-theme="light"]) #mainWrapper th.text-slate-400 {
    color: var(--admin-text-muted, #8190A5) !important;
}
