html, body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Rappen-Apotheke Design-System Tokens */
:root, [data-theme='light'] {
    --border-radius-soft: 12px;
    
    /* Default theme variables: Rappen Classic (Light) */
    --navy-dark: #102640;
    --navy-primary: #1a3a5f;
    --navy-light: #2b5585;
    --navy-bg-soft: #f0f4f8;
    --gold-primary: #c9a054;
    --gold-accent: #dfb772;
    --gold-light: #f9f5eb;
    
    --bg-color: #f4f7f6;
    --text-color: #212529;
    --card-bg: rgba(255, 255, 255, 0.85);
    --card-border: rgba(255, 255, 255, 0.4);
    --card-shadow: 0 8px 32px 0 rgba(16, 38, 64, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #6c757d;
    --table-bg: white;
    --table-border: rgba(0, 0, 0, 0.05);
    --table-text: #212529;
    --table-hover-bg: var(--navy-bg-soft);

    --icon-color-primary: #B8860B; /* Dark Gold for WCAG-compliant contrast in light mode */
    --input-bg: #ffffff;
    --input-border: #7f8c8d; /* Solid visible border */
    --input-text: #1a202c;
    --input-placeholder: #718096;
    --input-focus-border: #1a3a5f;
    --input-focus-shadow: rgba(26, 58, 95, 0.25);

    /* System-wide layout theme compliance variables */
    --color-surface: var(--card-bg);
    --color-text: var(--text-color);
    --color-border: var(--card-border);
    --color-background: var(--bg-color);
}

.dark-theme, [data-theme='dark'] {
    --navy-dark: #0b1118;
    --navy-primary: #4b8cd5;
    --navy-light: #2b5585;
    --navy-bg-soft: rgba(255, 255, 255, 0.03);
    --gold-primary: #4b8cd5;
    --gold-accent: #2b5585;
    --gold-light: #102c4c;
    
    --bg-color: #0b1118;
    --text-color: #f1f3f5;
    --card-bg: rgba(16, 28, 41, 0.9);
    --card-border: rgba(255, 255, 255, 0.08);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    --card-text-primary: #cbd5e1;
    --muted-color: #94a3b8;
    --table-bg: #0f1822;
    --table-border: rgba(255, 255, 255, 0.08);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.03);

    --icon-color-primary: #FFD700; /* Gold Accent in dark mode */
    --input-bg: #0f172a;
    --input-border: #4a5568; /* Visible border in dark mode */
    --input-text: #f7fafc;
    --input-placeholder: #a0aec0;
    --input-focus-border: #4b8cd5;
    --input-focus-shadow: rgba(75, 140, 213, 0.35);

    /* System-wide layout theme compliance variables */
    --color-surface: var(--card-bg);
    --color-text: var(--text-color);
    --color-border: var(--card-border);
    --color-background: var(--bg-color);
    --glass-bg: rgba(16, 28, 41, 0.9) !important;
    --glass-border: rgba(255, 255, 255, 0.08) !important;
}

/* Secured global gold color utility */
.text-gold {
    color: var(--icon-color-primary);
}

.bg-navy-dark {
    background-color: var(--navy-dark) !important;
}

/* Premium Gold Button Styling for Help Center and Guided Tour */
.btn-gold {
    background-color: var(--gold-primary, #dfb772);
    color: #102640;
    border: 1px solid var(--gold-primary, #dfb772);
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-gold:hover {
    background-color: #ffd700;
    border-color: #ffd700;
    color: #102640;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(223, 183, 114, 0.3);
}

.btn-gold:active {
    transform: translateY(0);
}

/* Global WCAG-Hardened Input & Control Styles */
.form-control,
.form-select,
input,
select,
textarea {
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    color: var(--input-text);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--input-placeholder);
    opacity: 1;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
    background-color: var(--input-bg);
    border-color: var(--input-focus-border);
    box-shadow: 0 0 0 0.25rem var(--input-focus-shadow);
    color: var(--input-text);
}

/* Dark theme select option styling */
[data-theme='dark'] select option,
.dark-theme select option {
    background-color: #0f172a !important;
    color: #f7fafc !important;
}

/* Theme Concept Overrides */

/* --- 1. Rappen Classic --- */
.theme-rappen-classic {
    --navy-dark: #102640;
    --navy-primary: #1a3a5f;
    --navy-light: #2b5585;
    --navy-bg-soft: #f0f4f8;
    --gold-primary: #c9a054;
    --gold-accent: #dfb772;
    --gold-light: #f9f5eb;
    --bg-color: #f4f7f6;
    --text-color: #212529;
    --card-bg: rgba(255, 255, 255, 0.85);
    --card-border: rgba(255, 255, 255, 0.4);
    --card-shadow: 0 8px 32px 0 rgba(16, 38, 64, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #6c757d;
    --table-bg: white;
    --table-border: rgba(0, 0, 0, 0.05);
    --table-text: #212529;
    --table-hover-bg: var(--navy-bg-soft);
}
.theme-rappen-classic.dark-theme {
    --navy-dark: #0b1118;
    --navy-primary: #4b8cd5;
    --navy-light: #2b5585;
    --navy-bg-soft: rgba(255, 255, 255, 0.03);
    --gold-primary: #4b8cd5;
    --gold-accent: #2b5585;
    --gold-light: #102c4c;
    --bg-color: #0b1118;
    --text-color: #f1f3f5;
    --card-bg: rgba(16, 28, 41, 0.9);
    --card-border: rgba(255, 255, 255, 0.08);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    --card-text-primary: #cbd5e1;
    --muted-color: #94a3b8;
    --table-bg: #0f1822;
    --table-border: rgba(255, 255, 255, 0.08);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.03);
}

/* --- 1b. Classic Modern --- */
.theme-classic-modern {
    --border-radius-soft: 16px;
    --navy-dark: #102640;
    --navy-primary: #1a3a5f;
    --navy-light: #2b5585;
    --navy-bg-soft: rgba(26, 58, 95, 0.04);
    --gold-primary: #c9a054;
    --gold-accent: #dfb772;
    --gold-light: #f9f5eb;
    
    --bg-color: #f4f7f6;
    --text-color: #1a202c;
    --card-bg: rgba(255, 255, 255, 0.7);
    --card-border: rgba(255, 255, 255, 0.5);
    --card-shadow: 0 15px 35px 0 rgba(16, 38, 64, 0.06);
    --card-text-primary: var(--navy-primary);
    --muted-color: #5c6a79;
    --table-bg: rgba(255, 255, 255, 0.8);
    --table-border: rgba(16, 38, 64, 0.06);
    --table-text: #1a202c;
    --table-hover-bg: rgba(26, 58, 95, 0.04);

    --icon-color-primary: #c9a054;
    --input-bg: rgba(255, 255, 255, 0.85);
    --input-border: rgba(16, 38, 64, 0.2);
    --input-text: #1a202c;
    --input-placeholder: #5c6a79;
    --input-focus-border: #1a3a5f;
    --input-focus-shadow: rgba(26, 58, 95, 0.25);
}
.theme-classic-modern.dark-theme {
    --border-radius-soft: 16px;
    --navy-dark: #0b1118;
    --navy-primary: #4b8cd5;
    --navy-light: #2b5585;
    --navy-bg-soft: rgba(255, 255, 255, 0.03);
    --gold-primary: #dfb772;
    --gold-accent: #2b5585;
    --gold-light: #102c4c;
    
    --bg-color: #0b1118;
    --text-color: #f1f3f5;
    --card-bg: rgba(16, 28, 41, 0.6);
    --card-border: rgba(255, 255, 255, 0.08);
    --card-shadow: 0 15px 35px 0 rgba(0, 0, 0, 0.35);
    --card-text-primary: #cbd5e1;
    --muted-color: #94a3b8;
    --table-bg: rgba(15, 24, 34, 0.7);
    --table-border: rgba(255, 255, 255, 0.08);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.03);

    --icon-color-primary: #dfb772;
    --input-bg: rgba(15, 23, 42, 0.6);
    --input-border: rgba(255, 255, 255, 0.15);
    --input-text: #f7fafc;
    --input-placeholder: #a0aec0;
    --input-focus-border: #4b8cd5;
    --input-focus-shadow: rgba(75, 140, 213, 0.25);
}


/* --- 5. Erdtöne Gedeckt (Muted Slate / Taupe / Sage) --- */
.theme-erdtoene-gedeckt {
    --navy-dark: #2c3539;
    --navy-primary: #506f86;
    --navy-light: #8ca3a6;
    --navy-bg-soft: #f2f5f6;
    --gold-primary: #7d8486;
    --gold-accent: #8e9596;
    --gold-light: #fafafb;
    --bg-color: #f4f6f7;
    --text-color: #2b2e30;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-border: rgba(80, 111, 134, 0.15);
    --card-shadow: 0 8px 32px 0 rgba(80, 111, 134, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #7b8489;
    --table-bg: white;
    --table-border: rgba(80, 111, 134, 0.08);
    --table-text: #2f3e46;
    --table-hover-bg: #f2f5f6;
}
.theme-erdtoene-gedeckt.dark-theme {
    --navy-dark: #1e2528;
    --navy-primary: #7492a7;
    --navy-light: #526d7d;
    --navy-bg-soft: rgba(255, 255, 255, 0.02);
    --gold-primary: #7492a7;
    --gold-accent: #526d7d;
    --gold-light: #182023;
    --bg-color: #161c1e;
    --text-color: #e2e8f0;
    --card-bg: rgba(30, 37, 40, 0.9);
    --card-border: rgba(255, 255, 255, 0.06);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.25);
    --card-text-primary: #cbd5e1;
    --muted-color: #8a9ba8;
    --table-bg: #1c2326;
    --table-border: rgba(255, 255, 255, 0.06);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.02);
}

/* --- 2. Warm Gold --- */
.theme-warm-gold {
    --navy-dark: #3a2e1d;
    --navy-primary: #6c5434;
    --navy-light: #9a7d56;
    --navy-bg-soft: #fcf9f2;
    --gold-primary: #b89047;
    --gold-accent: #dcae5b;
    --gold-light: #faf7f0;
    --bg-color: #f8f5ed;
    --text-color: #332717;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-border: rgba(184, 144, 71, 0.2);
    --card-shadow: 0 8px 32px 0 rgba(108, 84, 52, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #8c7f6e;
    --table-bg: white;
    --table-border: rgba(184, 144, 71, 0.15);
    --table-text: #332717;
    --table-hover-bg: var(--navy-bg-soft);
}
.theme-warm-gold.dark-theme {
    --navy-dark: #1a140d;
    --navy-primary: #dcae5b;
    --navy-light: #e5c384;
    --navy-bg-soft: rgba(220, 174, 91, 0.05);
    --gold-primary: #dcae5b;
    --gold-accent: #e5c384;
    --gold-light: #2c2214;
    --bg-color: #151009;
    --text-color: #f7ede2;
    --card-bg: rgba(34, 26, 17, 0.9);
    --card-border: rgba(220, 174, 91, 0.1);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    --card-text-primary: #dcae5b;
    --muted-color: #a69888;
    --table-bg: #1c150e;
    --table-border: rgba(220, 174, 91, 0.08);
    --table-text: #f7ede2;
    --table-hover-bg: rgba(255, 255, 255, 0.03);
}

/* --- 3. Ocean Blue --- */
.theme-ocean-blue {
    --navy-dark: #072635;
    --navy-primary: #0a4d68;
    --navy-light: #088395;
    --navy-bg-soft: #f0f8fa;
    --gold-primary: #05bfdb;
    --gold-accent: #00f5ff;
    --gold-light: #e6f6f8;
    --bg-color: #f3f9fb;
    --text-color: #072635;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-border: rgba(8, 131, 149, 0.2);
    --card-shadow: 0 8px 32px 0 rgba(10, 77, 104, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #5c7f8f;
    --table-bg: white;
    --table-border: rgba(8, 131, 149, 0.15);
    --table-text: #072635;
    --table-hover-bg: var(--navy-bg-soft);
}
.theme-ocean-blue.dark-theme {
    --navy-dark: #020d14;
    --navy-primary: #088395;
    --navy-light: #05bfdb;
    --navy-bg-soft: rgba(5, 191, 219, 0.05);
    --gold-primary: #05bfdb;
    --gold-accent: #00f5ff;
    --gold-light: #052a38;
    --bg-color: #03131c;
    --text-color: #e6f6f8;
    --card-bg: rgba(5, 26, 38, 0.9);
    --card-border: rgba(5, 191, 219, 0.1);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    --card-text-primary: #05bfdb;
    --muted-color: #7aa5b8;
    --table-bg: #041b26;
    --table-border: rgba(5, 191, 219, 0.08);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.03);
}

/* --- 4. Forest Green --- */
.theme-forest-green {
    --navy-dark: #142a1b;
    --navy-primary: #214f31;
    --navy-light: #3e8153;
    --navy-bg-soft: #f1f7f3;
    --gold-primary: #5ca473;
    --gold-accent: #7dc495;
    --gold-light: #edf6f0;
    --bg-color: #f4faf6;
    --text-color: #142a1b;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-border: rgba(62, 129, 83, 0.2);
    --card-shadow: 0 8px 32px 0 rgba(33, 79, 49, 0.05);
    --card-text-primary: var(--navy-primary);
    --muted-color: #63856e;
    --table-bg: white;
    --table-border: rgba(62, 129, 83, 0.15);
    --table-text: #142a1b;
    --table-hover-bg: var(--navy-bg-soft);
}
.theme-forest-green.dark-theme {
    --navy-dark: #07120b;
    --navy-primary: #3e8153;
    --navy-light: #5ca473;
    --navy-bg-soft: rgba(92, 164, 115, 0.05);
    --gold-primary: #5ca473;
    --gold-accent: #7dc495;
    --gold-light: #0d2a19;
    --bg-color: #0b1a11;
    --text-color: #edf6f0;
    --card-bg: rgba(13, 38, 24, 0.9);
    --card-border: rgba(92, 164, 115, 0.1);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    --card-text-primary: #5ca473;
    --muted-color: #8dae97;
    --table-bg: #0e2b1b;
    --table-border: rgba(92, 164, 115, 0.08);
    --table-text: #cbd5e1;
    --table-hover-bg: rgba(255, 255, 255, 0.03);
}

/* --- 5. Polka Dot Petal --- */
.theme-polka-dot-petal {
    --navy-dark: #470a1a;
    --navy-primary: #8a2440;
    --navy-light: #c24b6e;
    --navy-bg-soft: #fff0f3;
    --gold-primary: #4299e1;
    --gold-accent: #63b3ed;
    --gold-light: #ebf8ff;
    --bg-color: #fff0f3;
    --text-color: #3b0613;
    --card-bg: rgba(255, 255, 255, 0.93);
    --card-border: rgba(194, 75, 110, 0.25);
    --card-shadow: 0 8px 32px 0 rgba(138, 36, 64, 0.08);
    --card-text-primary: var(--navy-primary);
    --muted-color: #9b6171;
    --table-bg: white;
    --table-border: rgba(194, 75, 110, 0.15);
    --table-text: #3b0613;
    --table-hover-bg: var(--navy-bg-soft);
    
    background-color: #fff0f3 !important;
    background-image: radial-gradient(#63b3ed 10%, transparent 11%), radial-gradient(#63b3ed 10%, transparent 11%) !important;
    background-size: 32px 32px !important;
    background-position: 0 0, 16px 16px !important;
}
.theme-polka-dot-petal.dark-theme {
    --navy-dark: #1f030a;
    --navy-primary: #c24b6e;
    --navy-light: #e57c9c;
    --navy-bg-soft: rgba(245, 101, 101, 0.05);
    --gold-primary: #3182ce;
    --gold-accent: #63b3ed;
    --gold-light: #3b0613;
    --bg-color: #1a0208;
    --text-color: #fff0f3;
    --card-bg: rgba(43, 8, 18, 0.92);
    --card-border: rgba(229, 124, 156, 0.12);
    --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    --card-text-primary: #e57c9c;
    --muted-color: #b07e8c;
    --table-bg: #28050e;
    --table-border: rgba(229, 124, 156, 0.08);
    --table-text: #fff0f3;
    --table-hover-bg: rgba(255, 255, 255, 0.03);
    
    background-color: #1a0208 !important;
    background-image: radial-gradient(#3182ce 10%, transparent 11%), radial-gradient(#3182ce 10%, transparent 11%) !important;
    background-size: 32px 32px !important;
    background-position: 0 0, 16px 16px !important;
}

/* --- 6. Modern Aura (Glassmorphism & Neon) --- */
.theme-modern-aura {
    --border-radius-soft: 16px;
    --navy-dark: #070714;
    --navy-primary: #00f3ff;
    --navy-light: #9d00ff;
    --navy-bg-soft: rgba(255, 255, 255, 0.04);
    --gold-primary: #00f3ff;
    --gold-accent: #9d00ff;
    --gold-light: rgba(157, 0, 255, 0.1);
    
    --bg-color: #0d0d21;
    --text-color: #ffffff;
    --card-bg: rgba(255, 255, 255, 0.05);
    --card-border: rgba(255, 255, 255, 0.1);
    --card-shadow: 0 8px 32px 0 rgba(0, 243, 255, 0.08);
    --card-text-primary: #ffffff;
    --muted-color: #a0aec0;
    --table-bg: rgba(10, 10, 26, 0.7);
    --table-border: rgba(255, 255, 255, 0.08);
    --table-text: #ffffff;
    --table-hover-bg: rgba(255, 255, 255, 0.05);

    --icon-color-primary: #00f3ff;
    --input-bg: rgba(255, 255, 255, 0.03);
    --input-border: rgba(255, 255, 255, 0.15);
    --input-text: #ffffff;
    --input-placeholder: rgba(255, 255, 255, 0.5);
    --input-focus-border: #00f3ff;
    --input-focus-shadow: rgba(0, 243, 255, 0.25);
}

.theme-modern-aura.dark-theme {
    --border-radius-soft: 16px;
    --navy-dark: #030308;
    --navy-primary: #00f3ff;
    --navy-light: #9d00ff;
    --navy-bg-soft: rgba(255, 255, 255, 0.02);
    --gold-primary: #00f3ff;
    --gold-accent: #9d00ff;
    --gold-light: rgba(157, 0, 255, 0.05);
    
    --bg-color: #030308;
    --text-color: #ffffff;
    --card-bg: rgba(255, 255, 255, 0.04);
    --card-border: rgba(255, 255, 255, 0.08);
    --card-shadow: 0 8px 32px 0 rgba(157, 0, 255, 0.15);
    --card-text-primary: #ffffff;
    --muted-color: #a0aec0;
    --table-bg: rgba(5, 5, 11, 0.8);
    --table-border: rgba(255, 255, 255, 0.05);
    --table-text: #ffffff;
    --table-hover-bg: rgba(255, 255, 255, 0.04);

    --icon-color-primary: #00f3ff;
    --input-bg: rgba(0, 0, 0, 0.25);
    --input-border: rgba(255, 255, 255, 0.12);
    --input-text: #ffffff;
    --input-placeholder: rgba(255, 255, 255, 0.4);
    --input-focus-border: #9d00ff;
    --input-focus-shadow: rgba(157, 0, 255, 0.25);
}

/* Custom button gradients for Modern Aura concept */
.theme-modern-aura .btn-navy,
.theme-modern-aura .btn-gold {
    background: linear-gradient(135deg, #00f3ff 0%, #9d00ff 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.theme-modern-aura .btn-navy:hover,
.theme-modern-aura .btn-gold:hover {
    background: linear-gradient(135deg, #00f3ff 20%, #9d00ff 100%) !important;
    box-shadow: 0 0 12px rgba(0, 243, 255, 0.4) !important;
}

.theme-modern-aura .btn-outline-navy,
.theme-modern-aura .btn-outline-gold {
    border: 1px solid #00f3ff !important;
    color: #00f3ff !important;
    background: transparent !important;
}

.theme-modern-aura .btn-outline-navy:hover,
.theme-modern-aura .btn-outline-gold:hover {
    background: linear-gradient(135deg, #00f3ff 0%, #9d00ff 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

.theme-modern-aura .badge-gamp {
    background: linear-gradient(135deg, #00f3ff 0%, #9d00ff 100%) !important;
    color: #ffffff !important;
}

.theme-modern-aura .glass-card {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3), 0 0 15px rgba(0, 243, 255, 0.05) !important;
}


/* Custom Navy Theme Buttons */
.btn-navy {
    background-color: var(--navy-primary);
    border-color: var(--navy-primary);
    color: white !important;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-navy:hover {
    background-color: var(--navy-dark);
    border-color: var(--navy-dark);
    box-shadow: 0 4px 10px rgba(16, 38, 64, 0.2);
}

.btn-outline-navy {
    color: var(--navy-primary);
    border-color: var(--navy-primary);
    background-color: transparent;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-outline-navy:hover {
    color: white !important;
    background-color: var(--navy-primary);
    box-shadow: 0 4px 10px rgba(26, 58, 95, 0.15);
}

/* Glassmorphism Cards */
.glass-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 8px 32px 0 rgba(16, 38, 64, 0.05);
    border-radius: var(--border-radius-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.status-tile {
    background: var(--card-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--card-border);
    box-shadow: var(--card-shadow);
    border-radius: var(--border-radius-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.status-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px 0 rgba(16, 38, 64, 0.08);
}

/* Hover effects for premium feeling */
.glass-card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px 0 rgba(16, 38, 64, 0.08);
}

/* Welcome Banner Styling */
.welcome-banner {
    background: linear-gradient(135deg, #ffffff 0%, var(--navy-bg-soft) 100%);
    border-left: 5px solid var(--gold-primary);
}

/* Status Tile Icons */
.tile-icon {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.bg-primary-light {
    background-color: rgba(13, 110, 253, 0.1);
}
.bg-warning-light {
    background-color: rgba(255, 193, 7, 0.1);
}
.bg-success-light {
    background-color: rgba(25, 135, 84, 0.1);
}
.bg-danger-light {
    background-color: rgba(220, 53, 69, 0.1);
}
.bg-navy-light {
    background-color: rgba(26, 58, 95, 0.08);
}

.text-navy-dark {
    color: var(--navy-dark);
}

/* Custom Table Design */
.table-premium {
    background-color: white;
    border-radius: var(--border-radius-soft);
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.table-premium th {
    background-color: var(--navy-dark);
    color: white;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.85rem 1rem;
}

.table-premium td {
    padding: 0.85rem 1rem;
    vertical-align: middle;
    font-size: 0.9rem;
}

.table-premium tr:hover td {
    background-color: var(--navy-bg-soft);
}

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

::-webkit-scrollbar-track {
    background: #f1f3f5;
}

::-webkit-scrollbar-thumb {
    background: #c1c9d2;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a8b2bd;
}

/* GAMP-5 Mobile Touch-Optimierungen (min. 44x44px Targets) */
.btn-touch {
    min-height: 44px;
    min-width: 44px;
    padding: 0.7rem 1.5rem;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 8px;
    font-weight: 600;
}

/* Touch-freundliche Formularelemente */
.form-control-touch, .form-select-touch {
    min-height: 44px;
    font-size: 1rem;
    border-radius: 8px;
}

@media (max-width: 767px) {
    .glass-card {
        padding: 1.25rem !important;
    }
}

/* Premium Dark Mode overrides (variable-driven for GAMP-5 Theme Engine) */
.dark-theme {
    background-color: var(--bg-color) !important;
    color: var(--text-color) !important;
}
.dark-theme .glass-card {
    background: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    color: var(--text-color) !important;
}
.dark-theme .glass-card h1,
.dark-theme .glass-card h2,
.dark-theme .glass-card h3,
.dark-theme .glass-card h4,
.dark-theme .glass-card h5,
.dark-theme .glass-card h6,
.dark-theme .glass-card .text-navy {
    color: var(--card-text-primary) !important;
}
.dark-theme .table-premium {
    background-color: var(--table-bg) !important;
    border: 1px solid var(--table-border) !important;
}
.dark-theme .table-premium td {
    color: var(--table-text) !important;
    border-bottom: 1px solid var(--table-border) !important;
}
.dark-theme .table-premium tr:hover td {
    background-color: var(--table-hover-bg) !important;
}
.dark-theme .text-muted {
    color: var(--muted-color) !important;
}

/* Color overrides for dark-theme and high-contrast compliance */
.dark-theme .text-navy-dark {
    color: var(--card-text-primary) !important;
}
.dark-theme .text-primary {
    color: #4ba3ff !important;
}
.dark-theme .text-warning {
    color: #ffd04b !important;
}
.dark-theme .text-success {
    color: #4bff7d !important;
}
.dark-theme .text-danger {
    color: #ff6868 !important;
}
.dark-theme .text-info {
    color: #4be5ff !important;
}
.dark-theme .bg-primary-light {
    background-color: rgba(75, 163, 255, 0.15) !important;
}
.dark-theme .bg-warning-light {
    background-color: rgba(255, 208, 75, 0.15) !important;
}
.dark-theme .bg-success-light {
    background-color: rgba(75, 255, 125, 0.15) !important;
}
.dark-theme .bg-danger-light {
    background-color: rgba(255, 104, 104, 0.15) !important;
}
.dark-theme .bg-info-light {
    background-color: rgba(75, 229, 255, 0.15) !important;
}

@media (prefers-contrast: high) {
    .dark-theme .text-primary,
    .dark-theme .text-warning,
    .dark-theme .text-success,
    .dark-theme .text-danger,
    .dark-theme .text-info {
        color: #ffffff !important;
        text-shadow: 0 0 2px #000;
    }
}

/* Theme-safe protocol builder elements */
.protocol-card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    box-shadow: var(--card-shadow) !important;
    color: var(--text-color) !important;
    border-radius: var(--border-radius-soft) !important;
    padding: 1.25rem !important;
    margin-bottom: 1.25rem !important;
    transition: all 0.2s ease-in-out !important;
}
.protocol-step-card {
    background-color: rgba(128, 128, 128, 0.05) !important;
    border: 1px dashed var(--card-border) !important;
    border-radius: 8px !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    color: var(--text-color) !important;
}
.protocol-input {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--input-text) !important;
    border-radius: 6px !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
}
.protocol-input:focus {
    border-color: var(--input-focus-border) !important;
    box-shadow: 0 0 0 0.2rem var(--input-focus-shadow) !important;
    outline: 0 !important;
}
.text-primary-theme {
    color: var(--card-text-primary) !important;
}
.text-muted-theme {
    color: var(--muted-color) !important;
}

/* ===== DRUCKVORLAGEN: A4 Seitenstruktur ===== */

/* Protokoll-Footer: immer am unteren Seitenrand fixiert (innerhalb position:relative Wrapper) */
.protocol-page-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8mm 15mm;
    border-top: 1px dashed #ccc;
    font-size: 10px;
    color: #888;
    text-align: center;
}

/* Soft badge helpers */
.bg-primary-soft  { background-color: rgba(13, 110, 253, 0.10) !important; }
.bg-success-soft  { background-color: rgba(25, 135,  84, 0.10) !important; }
.bg-secondary-soft{ background-color: rgba(108,117, 125, 0.10) !important; }

/* btn-xs for tiny action buttons */
.btn-xs {
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    border-radius: 6px;
}

/* Animate pulse for USB-bridge badge */
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.55; }
}

/* Sidebar footer spacing fix on desktop */
.version-sidebar-footer {
    position: sticky;
    bottom: 0;
}

/* text-navy for nav tabs */
.text-navy { color: var(--navy-primary) !important; }

/* Global Modal Layer (Z-Index Fix) */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
}

.system-info-modal-portal {
    z-index: 10000 !important;
}

/* ==========================================================================
   GAMP-5 INTERACTIVE HELP CENTER & GUIDED TOUR STYLES
   ========================================================================== */

/* Glassmorphic overlay backdrop */
.tour-backdrop-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: transparent;
    z-index: 10040;
    pointer-events: auto;
}

/* Smart outline cutout highlight box (uses 9999px box-shadow to mask rest of screen) */
.tour-highlight-mask {
    pointer-events: none;
    z-index: 10045;
    border-radius: 8px;
    box-shadow: 0 0 0 9999px rgba(10, 25, 47, 0.65), 
                0 0 0 3px #dfb772, 
                0 8px 32px rgba(223, 183, 114, 0.25);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Premium dark-navy floating popover tooltip card */
.tour-tooltip-box {
    z-index: 10050;
    width: 320px;
    background: rgba(16, 38, 64, 0.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(223, 183, 114, 0.35) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
    color: #ffffff !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.tour-tooltip-box h6 {
    color: #dfb772 !important;
}
.tour-tooltip-box .btn-gold {
    background-color: #dfb772 !important;
    color: #102640 !important;
    border: none;
}
.tour-tooltip-box .btn-gold:hover {
    background-color: #ffd700 !important;
}

/* Help Center Wiki layouts */
.help-center-container {
    color: var(--text-color);
}

.help-center-container .glass-card {
    background: var(--card-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--card-border);
    border-radius: 12px;
}

.theme-classic-modern .help-center-container .header-banner.glass-card,
.theme-modern-aura .help-center-container .header-banner.glass-card,
.help-center-container .header-banner.glass-card {
    background: linear-gradient(135deg, #102640 0%, #1a365d 100%) !important;
    color: #ffffff !important;
    border-left: 4px solid var(--gold-primary, #dfb772) !important;
}

.theme-classic-modern.dark-theme .help-center-container .header-banner.glass-card,
.theme-modern-aura.dark-theme .help-center-container .header-banner.glass-card {
    background: linear-gradient(135deg, #091320 0%, #102136 100%) !important;
    color: #ffffff !important;
}

.help-center-container .header-banner.glass-card h1,
.help-center-container .header-banner.glass-card h2,
.help-center-container .header-banner.glass-card h3,
.help-center-container .header-banner.glass-card h4,
.help-center-container .header-banner.glass-card h5,
.help-center-container .header-banner.glass-card h6,
.help-center-container .header-banner.glass-card p,
.help-center-container .header-banner.glass-card span {
    color: #ffffff !important;
}

.help-center-container .header-banner.glass-card p {
    color: rgba(255, 255, 255, 0.8) !important;
}

.help-center-container .filter-bar-bg {
    background-color: var(--navy-bg-soft) !important;
    border: 1px solid var(--card-border);
    backdrop-filter: blur(4px);
}

.help-center-container .tab-btn {
    transition: all 0.25s;
    border-radius: 8px;
    background: transparent;
    color: var(--text-color) !important;
}

.help-center-container .tab-btn.active {
    background: var(--gold-primary) !important;
    color: #000000 !important;
    font-weight: bold;
}

.theme-classic-modern.dark-theme .help-center-container .tab-btn:not(.active),
.theme-modern-aura.dark-theme .help-center-container .tab-btn:not(.active) {
    color: rgba(255, 255, 255, 0.7) !important;
}

.theme-classic-modern:not(.dark-theme) .help-center-container .tab-btn:not(.active),
.theme-modern-aura:not(.dark-theme) .help-center-container .tab-btn:not(.active) {
    color: #102640 !important;
}

.theme-classic-modern.dark-theme .help-center-container .filter-btn:not(.active),
.theme-modern-aura.dark-theme .help-center-container .filter-btn:not(.active) {
    color: rgba(255, 255, 255, 0.7) !important;
}

.theme-classic-modern:not(.dark-theme) .help-center-container .filter-btn:not(.active),
.theme-modern-aura:not(.dark-theme) .help-center-container .filter-btn:not(.active) {
    color: #102640 !important;
}


.help-center-container .filter-btn {
    color: var(--text-color);
    background-color: transparent;
    border: none;
    transition: all 0.2s ease-in-out;
}
.help-center-container .filter-btn:hover {
    background-color: rgba(201, 160, 84, 0.1);
    color: var(--text-color);
}
.help-center-container .filter-btn.active {
    background-color: var(--gold-primary) !important;
    color: #102640 !important;
    font-weight: 600;
}

.help-center-container .search-icon-bg {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border);
    border-right: none;
}
.help-center-container .search-input {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border);
    border-left: none;
    color: var(--input-text) !important;
}
.help-center-container .search-input:focus {
    border-color: var(--input-focus-border);
    box-shadow: none;
}
.help-center-container .search-input::placeholder {
    color: var(--muted-color) !important;
    opacity: 0.7;
}

.help-center-container .help-card {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    backdrop-filter: blur(8px);
    border: 1px solid var(--card-border) !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
}

.help-center-container .help-card-header {
    background-color: var(--navy-bg-soft) !important;
    border-bottom: 1px solid var(--card-border) !important;
}

.help-center-container .help-card-footer {
    background-color: var(--navy-bg-soft) !important;
    border-top: 1px solid var(--card-border) !important;
}

.help-center-container .help-header-text {
    color: var(--card-text-primary, var(--text-color)) !important;
}

.help-center-container .topic-item {
    border: 1px solid var(--card-border);
    background-color: var(--input-bg) !important;
    transition: all 0.2s ease-in-out;
}
.help-center-container .topic-item:hover {
    background-color: var(--navy-bg-soft) !important;
    transform: translateY(-2px);
    border-color: var(--gold-primary);
}

.help-center-container .topic-active {
    background-color: var(--gold-light) !important;
    border-color: var(--gold-primary) !important;
}
.help-center-container .topic-active .topic-item-title {
    color: var(--gold-primary) !important;
    font-weight: bold !important;
}

.help-center-container .topic-item-title {
    color: var(--text-color) !important;
    transition: color 0.2s;
}

.help-center-container .topic-item-summary {
    color: var(--muted-color) !important;
    opacity: 0.85;
}

.help-center-container .text-xxs {
    font-size: 0.65rem;
    padding: 0.15rem 0.4rem;
}

.help-center-container .logo-watermark {
    opacity: 0.15;
}
.dark-theme .help-center-container .logo-watermark {
    opacity: 0.05;
}

.help-center-container .scroll-topics::-webkit-scrollbar {
    width: 6px;
}
.help-center-container .scroll-topics::-webkit-scrollbar-track {
    background: transparent;
}
.help-center-container .scroll-topics::-webkit-scrollbar-thumb {
    background: var(--card-border);
    border-radius: 4px;
}
.help-center-container .scroll-topics::-webkit-scrollbar-thumb:hover {
    background: var(--muted-color);
}

.help-center-container .btn-outline-help {
    color: var(--text-color) !important;
    border: 1px solid var(--card-border) !important;
    background-color: transparent !important;
    transition: all 0.2s;
}
.help-center-container .btn-outline-help:hover {
    background-color: var(--navy-bg-soft) !important;
    border-color: var(--gold-primary) !important;
}

/* Markdown parsing output layout styling */
.markdown-content h4 {
    margin-top: 0;
    font-size: 1.25rem;
    border-color: var(--card-border) !important;
}
.markdown-content h5 {
    font-size: 1rem;
    color: var(--gold-primary) !important;
}
.markdown-content ul, .markdown-content ol {
    margin-bottom: 1.2rem;
}
.markdown-content li {
    font-size: 0.85rem;
    color: var(--text-color);
}
.markdown-content p {
    font-size: 0.85rem;
    color: var(--text-color);
}
.markdown-content .alert-custom {
    border-left: 4px solid !important;
}
.markdown-content .help-inline-code {
    background-color: var(--navy-bg-soft) !important;
    color: var(--gold-primary) !important;
    font-family: monospace;
    font-size: 0.9em;
    border: 1px solid var(--card-border);
}

/* Dark theme inputs and selects styling */
.dark-theme .form-control,
.dark-theme .form-select {
    background-color: rgba(16, 28, 41, 0.8) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #f1f3f5 !important;
}
.dark-theme .form-control:focus,
.dark-theme .form-select:focus {
    background-color: rgba(16, 28, 41, 0.9) !important;
    border-color: var(--navy-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(75, 140, 213, 0.25) !important;
    color: #ffffff !important;
}
.dark-theme .form-control::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}
.dark-theme select option {
    background-color: #0b1118 !important;
    color: #f1f3f5 !important;
}

/* Mobile Touch-Target & Zoom Prevention Optimizations (WCAG 44x44px Targets) */
@media (max-width: 767px) {
    .btn,
    .form-control,
    .form-select,
    input[type="text"],
    input[type="password"],
    input[type="number"],
    input[type="search"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea {
        min-height: 44px !important;
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
        font-size: 16px !important; /* Prevents auto-zoom on iOS when focusing inputs */
    }
}

/* ==========================================================================
   AMG-COMPLIANCE-MONITOR DASHBOARD STYLES (§ 38 AMG)
   ========================================================================== */

.compliance-container {
    padding: 1.5rem;
    min-height: 100vh;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--text-color, #333);
}

.compliance-container.dark-theme {
    --bg-color: #0b1118;
    --text-color: #f1f3f5;
    --glass-bg: rgba(16, 28, 41, 0.65);
    --glass-border: rgba(255, 255, 255, 0.08);
    --muted-color: rgba(255, 255, 255, 0.55);
}

.compliance-container.light-theme {
    --bg-color: #f8f9fa;
    --text-color: #212529;
    --glass-bg: rgba(255, 255, 255, 0.85);
    --glass-border: rgba(0, 0, 0, 0.08);
    --muted-color: rgba(0, 0, 0, 0.55);
}

.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--glass-border);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
}

.header-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    margin-bottom: 1.5rem;
    border-left: 5px solid #dfb772;
}

.header-content h1 {
    font-size: 2.2rem;
    font-weight: 800;
    margin: 0.2rem 0;
    letter-spacing: -0.5px;
}

.compliance-badge {
    background: rgba(223, 183, 114, 0.15);
    color: #dfb772;
    padding: 0.25rem 0.75rem;
    border-radius: 30px;
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.header-status {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

.status-indicator {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.status-circle {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.pulse-green {
    background-color: #2ec4b6;
    box-shadow: 0 0 0 0 rgba(46, 196, 182, 0.7);
    animation: pulse-green-anim 1.8s infinite;
}

@keyframes pulse-green-anim {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(46, 196, 182, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(46, 196, 182, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(46, 196, 182, 0); }
}

.user-pill {
    background: rgba(255, 255, 255, 0.05);
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.8rem;
    border: 1px solid var(--glass-border);
}

.warning-banner {
    display: flex;
    gap: 1rem;
    padding: 1.5rem;
    background: rgba(220, 53, 69, 0.08);
    border-left: 5px solid #dc3545;
    margin-bottom: 1.5rem;
}

.warning-icon {
    font-size: 2rem;
}

.warning-text-container h3 {
    margin: 0 0 0.25rem 0;
    color: #dc3545;
}

.warning-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

/* Compact Warning Banner for Nested Views */
.warning-banner-compact {
    border-left: 4px solid #dc3545;
    background: rgba(220, 53, 69, 0.05);
    font-family: 'Outfit', 'Inter', sans-serif;
}

.warning-banner-compact .badge {
    padding: 0.35rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 6px;
    letter-spacing: 0.3px;
}

.dark-theme .warning-banner-compact {
    background: rgba(220, 53, 69, 0.15);
    border-color: #e63946;
}

.status-indicator-compact {
    transition: all 0.3s ease;
}

.user-pill-compact {
    color: var(--muted-color);
    font-family: 'Inter', sans-serif;
}


/* Tabs Navigation */
.tab-navigation {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.35rem;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin-bottom: 1.5rem;
    width: fit-content;
    max-width: 100%;
}

.dark-theme .tab-navigation {
    background: rgba(16, 28, 41, 0.75);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.tab-btn {
    background: transparent !important;
    border: none !important;
    color: #6c757d !important;
    opacity: 0.85;
    padding: 0.6rem 1.25rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: none !important;
    font-size: 0.9rem;
}

.tab-btn:hover {
    background: rgba(0, 0, 0, 0.04) !important;
    color: #212529 !important;
    opacity: 1;
}

.dark-theme .tab-btn {
    color: #94a3b8 !important;
}

.dark-theme .tab-btn:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #f1f3f5 !important;
    opacity: 1;
}

.tab-btn.active {
    background: var(--navy-primary, #1a3a5f) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: bold !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.dark-theme .tab-btn.active,
.theme-warm-gold .tab-btn.active,
.theme-modern-aura .tab-btn.active {
    background: var(--gold-primary, #dfb772) !important;
    color: #102640 !important;
    box-shadow: 0 4px 12px rgba(223, 183, 114, 0.2) !important;
}

.tab-btn i {
    color: inherit !important;
}


/* Dashboard styles */
.search-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    gap: 1.5rem;
}

.search-input {
    flex-grow: 1;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    color: var(--text-color);
    padding: 0.65rem 1.25rem;
    border-radius: 10px;
    outline: none;
}

.select-year {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    color: var(--text-color);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    outline: none;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 1.5rem;
}

.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.5rem;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
}

.card-blocked {
    border: 1px solid rgba(220, 53, 69, 0.35) !important;
    background: linear-gradient(180deg, var(--glass-bg) 0%, rgba(220, 53, 69, 0.03) 100%) !important;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.card-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
}

.item-number {
    font-size: 0.75rem;
    color: var(--muted-color);
}

.status-badge {
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.65rem;
    font-weight: bold;
}

.badge-red { background: rgba(220, 53, 69, 0.15); color: #dc3545; }
.badge-amber { background: rgba(255, 193, 7, 0.15); color: #ffc107; }
.badge-green { background: rgba(46, 196, 182, 0.15); color: #2ec4b6; }
.badge-blue { background: rgba(13, 110, 253, 0.15); color: #0d6efd; }

.gauge-container {
    margin-bottom: 1rem;
}

.gauge-numbers {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
}

.gauge-bar-outer {
    height: 8px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    overflow: hidden;
}

.gauge-bar-inner {
    height: 100%;
    border-radius: 10px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.bg-green { background: #2ec4b6; }
.bg-amber { background: #ffc107; }
.bg-red { background: #dc3545; }

.counts-breakdown {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--muted-color);
}

.card-footer {
    border-top: 1px solid var(--glass-border);
    padding-top: 1rem;
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.btn-unlock {
    background: rgba(13, 110, 253, 0.15);
    color: #0d6efd;
    border-color: rgba(13, 110, 253, 0.3);
}

.btn-unlock:hover {
    background: #0d6efd;
    color: white;
}

.btn-primary {
    background: #dfb772;
    color: #102640;
}

.btn-primary:hover {
    background: #ffd700;
}

.btn-secondary {
    background: rgba(255,255,255,0.05);
    border-color: var(--glass-border);
    color: var(--text-color);
}

.btn-secondary:hover {
    background: rgba(255,255,255,0.1);
}

.btn-disabled {
    background: rgba(255,255,255,0.02);
    color: var(--muted-color);
    border-color: var(--glass-border);
    cursor: not-allowed;
}

.no-action-needed {
    font-size: 0.75rem;
    color: var(--muted-color);
    font-style: italic;
}

/* Two-column layout for Simulator */
.grid-two-column {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 1.5rem;
}

.form-panel, .logs-panel {
    padding: 2rem;
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
    color: var(--muted-color);
}

.form-control {
    width: 100%;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    color: var(--text-color);
    padding: 0.6rem 1rem;
    border-radius: 8px;
    outline: none;
}

.text-area-reason {
    resize: none;
}

.alert {
    padding: 1rem;
    border-radius: 8px;
    margin-top: 1rem;
    border: 1px solid transparent;
}

.alert-success {
    background: rgba(46, 196, 182, 0.1);
    color: #2ec4b6;
    border-color: rgba(46, 196, 182, 0.2);
}

.alert-danger {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border-color: rgba(220, 53, 69, 0.2);
}

/* Table styles */
.table-container {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid var(--glass-border);
    margin-top: 1rem;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.data-table th, .data-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--glass-border);
}

.data-table th {
    background: rgba(255,255,255,0.02);
    color: var(--muted-color);
    font-weight: 600;
}

.data-table tr:hover {
    background: rgba(255,255,255,0.01);
}

.badge-outline {
    border: 1px solid var(--glass-border);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    font-size: 0.7rem;
    color: var(--muted-color);
}

/* CSV Import and Reporting */
.csv-import-panel, .reporting-panel {
    padding: 2rem;
}

.csv-import-box {
    background: rgba(255,255,255,0.01);
    border: 1px solid var(--glass-border);
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.csv-info code {
    display: block;
    background: rgba(0,0,0,0.2);
    padding: 0.5rem;
    border-radius: 6px;
    margin-top: 0.5rem;
    color: #dfb772;
}

.historical-grid-view {
    margin-top: 1.5rem;
}

.report-filters {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.filter-group {
    flex-grow: 1;
}

.row-danger {
    background: rgba(220, 53, 69, 0.03);
}
.row-warning {
    background: rgba(255, 193, 7, 0.02);
}

/* Modals */
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.65);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10100;
    backdrop-filter: blur(4px);
}

.modal-dialog {
    width: 600px;
    max-width: 90%;
}

.modal-content {
    padding: 2rem;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    background: var(--glass-bg, rgba(255, 255, 255, 0.95));
    border: 1px solid var(--glass-border, rgba(0,0,0,0.1));
    backdrop-filter: blur(20px);
}

.modal-dialog.glass-panel {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}


.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 1rem;
}

.modal-header h2 {
    margin: 0;
    font-size: 1.4rem;
}

.btn-close {
    background: none;
    border: none;
    color: var(--muted-color);
    font-size: 1.8rem;
    cursor: pointer;
}

.warning-box {
    background: rgba(255, 193, 7, 0.08);
    border-left: 4px solid #ffc107;
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.8rem;
    line-height: 1.4;
    color: #ffc107;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    border-top: 1px solid var(--glass-border);
    padding-top: 1rem;
}

.btn-outline {
    background: transparent;
    border-color: var(--glass-border);
    color: var(--text-color);
}

.btn-outline:hover {
    background: rgba(255,255,255,0.05);
}

/* Spinner animations */
.loading-spinner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 1rem;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255,255,255,0.1);
    border-top-color: #dfb772;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

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

.animate-slide-down {
    animation: slideDown 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@keyframes slideDown {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.animate-fade-in {
    animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* GAMP-5 Sticky Footer Styles */
.reporting-sticky-footer {
    position: sticky;
    bottom: 0;
    z-index: 10;
    background-color: #f8fafc !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
}

.dark-theme .reporting-sticky-footer {
    background-color: #111a24 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.2);
}

.bg-white-opacity {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

/* ===== MODERN AURA FULL LAYOUT ADAPTATION ===== */

/* Page background - deep glowing space cosmic dark gradient */
.theme-modern-aura.page {
    background: radial-gradient(circle at 50% 50%, #0d0d21 0%, #040409 100%) !important;
}

.theme-modern-aura main {
    background: transparent !important;
}

/* Glassmorphic FLOATING sidebar navigation menu */
@media (min-width: 768px) {
    .theme-modern-aura .sidebar {
        width: 270px !important;
        height: calc(100vh - 40px) !important;
        margin: 20px 0 20px 20px !important;
        border-radius: 20px !important;
        background: rgba(255, 255, 255, 0.02) !important;
        backdrop-filter: blur(30px) !important;
        -webkit-backdrop-filter: blur(30px) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 243, 255, 0.05) !important;
        position: relative !important;
        flex-shrink: 0 !important;
        align-self: center !important;
        overflow: hidden !important;
    }
    .theme-modern-aura .nav-sidebar-container {
        height: 100% !important;
    }
}

/* Sidebar brand header block */
.theme-modern-aura .brand-header {
    background: rgba(0, 0, 0, 0.25) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
}

/* Translucent FLOATING Top Header */
.theme-modern-aura .header-navy {
    position: sticky !important;
    top: 0 !important;
    background: rgba(13, 13, 33, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 2px solid rgba(0, 243, 255, 0.3) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    height: 4.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
}
.theme-modern-aura .header-navy .brand-text {
    color: #ffffff !important;
}
.theme-modern-aura .header-navy .btn-link,
.theme-modern-aura .header-navy .dropdown-toggle {
    color: #ffffff !important;
}
.theme-modern-aura .favorite-icon-btn {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(0, 243, 255, 0.25) !important;
    color: #00f3ff !important;
    transition: all 0.25s ease !important;
}
.theme-modern-aura .favorite-icon-btn:hover {
    background: rgba(0, 243, 255, 0.25) !important;
    border-color: #00f3ff !important;
    color: #ffffff !important;
}
.theme-modern-aura .favorite-icon-btn svg,
.theme-modern-aura .favorite-icon-btn i {
    color: #00f3ff !important;
}
.theme-modern-aura .favorite-icon-btn:hover svg,
.theme-modern-aura .favorite-icon-btn:hover i {
    color: #ffffff !important;
}

/* Floating Content Area */
.theme-modern-aura .content {
    margin: 20px !important;
    padding: 0 !important;
    overflow-y: auto !important;
}

/* Sticky sidebar footers */
.theme-modern-aura .sidebar-help-footer,
.theme-modern-aura .version-sidebar-footer {
    background-color: transparent !important;
    border-top: none !important;
}

.theme-modern-aura .version-sidebar-footer {
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

/* Glassmorphism Floating Blur-Containers for Dashboard and Cards */
.theme-modern-aura .glass-card,
.theme-modern-aura .card {
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45), 0 0 15px rgba(0, 243, 255, 0.03) !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.theme-modern-aura .glass-card:hover,
.theme-modern-aura .card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 25px rgba(0, 243, 255, 0.12) !important;
    border-color: rgba(0, 243, 255, 0.25) !important;
}

/* Floating Status Tiles */
.theme-modern-aura .status-tile {
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4) !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.theme-modern-aura .status-tile:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 25px 45px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 243, 255, 0.1) !important;
}

/* Neon Glow Accents for Status Borders */
.theme-modern-aura .border-primary { border-color: #00f3ff !important; }
.theme-modern-aura .border-warning { border-color: #ffd700 !important; }
.theme-modern-aura .border-success { border-color: #39ff14 !important; }
.theme-modern-aura .border-danger { border-color: #ff007f !important; }

/* Glowing neon colors for text elements */
.theme-modern-aura .text-primary { color: #00f3ff !important; text-shadow: 0 0 8px rgba(0, 243, 255, 0.4); }
.theme-modern-aura .text-warning { color: #ffd700 !important; text-shadow: 0 0 8px rgba(255, 215, 0, 0.4); }
.theme-modern-aura .text-success { color: #39ff14 !important; text-shadow: 0 0 8px rgba(57, 255, 20, 0.4); }
.theme-modern-aura .text-danger { color: #ff007f !important; text-shadow: 0 0 8px rgba(255, 0, 127, 0.4); }
.theme-modern-aura .text-muted { color: rgba(255, 255, 255, 0.6) !important; }

/* Modern Aura Sidebar Navigation Links */
.theme-modern-aura .nav-sidebar-container .nav-link {
    color: rgba(255, 255, 255, 0.65) !important;
    border-radius: 8px;
    margin: 4px 10px;
    padding: 10px 14px;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    font-weight: 500;
}

/* Sidebar Nav Link Hover */
.theme-modern-aura .nav-sidebar-container .nav-link:hover {
    color: #00f3ff !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
    text-shadow: 0 0 10px rgba(0, 243, 255, 0.4);
    box-shadow: 0 0 12px rgba(0, 243, 255, 0.08) !important;
    transform: translateX(4px);
}

/* Sidebar Nav Link Active */
.theme-modern-aura .nav-sidebar-container .nav-link.active {
    background: linear-gradient(135deg, rgba(0, 243, 255, 0.2) 0%, rgba(157, 0, 255, 0.2) 100%) !important;
    border: 1px solid rgba(0, 243, 255, 0.35) !important;
    color: #ffffff !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.2) !important;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
    font-weight: 600;
}

/* Sub-headers/Labels in sidebar menu */
.theme-modern-aura .nav-sidebar-container .menu-label {
    color: #9d00ff !important;
    text-shadow: 0 0 8px rgba(157, 0, 255, 0.4);
    font-weight: 700 !important;
    margin-top: 15px !important;
    margin-bottom: 5px !important;
    font-size: 0.72rem !important;
}

/* User Status Badges */
.theme-modern-aura .user-name {
    color: #00f3ff !important;
    text-shadow: 0 0 8px rgba(0, 243, 255, 0.3);
}

.theme-modern-aura .user-role {
    background: rgba(157, 0, 255, 0.15) !important;
    border: 1px solid rgba(157, 0, 255, 0.3) !important;
    color: #ffffff !important;
}

/* Glassmorphic Dropdown Menu */
.theme-modern-aura .dropdown-menu-navy {
    background: rgba(13, 13, 33, 0.98) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(0, 243, 255, 0.3) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6) !important;
}

.theme-modern-aura .dropdown-menu-navy .dropdown-item {
    color: rgba(255, 255, 255, 0.9) !important;
    transition: all 0.2s ease;
}

.theme-modern-aura .dropdown-menu-navy .dropdown-item:hover {
    background: linear-gradient(135deg, rgba(0, 243, 255, 0.18) 0%, rgba(157, 0, 255, 0.18) 100%) !important;
    color: #ffffff !important;
}

.theme-modern-aura .dropdown-menu-navy .dropdown-item.text-danger {
    color: #ff007f !important;
}

.theme-modern-aura .dropdown-menu-navy .dropdown-item.text-danger:hover {
    background: rgba(255, 0, 127, 0.15) !important;
    color: #ff007f !important;
}

.theme-modern-aura .dropdown-menu-navy .text-navy {
    color: #00f3ff !important;
}

.theme-modern-aura .dropdown-menu-navy .text-navy-dark {
    color: #ffffff !important;
}

.theme-modern-aura .dropdown-menu-navy .text-muted {
    color: rgba(255, 255, 255, 0.65) !important;
}

/* ===== CLASSIC MODERN FULL LAYOUT ADAPTATION ===== */

/* Page background - deep glowing space cosmic dark gradient */
.theme-classic-modern.page {
    background: radial-gradient(circle at 50% 50%, #f4f7f6 0%, #eef2f1 100%) !important;
}

.theme-classic-modern.page.dark-theme {
    background: radial-gradient(circle at 50% 50%, #102640 0%, #081320 100%) !important;
}

.theme-classic-modern main {
    background: transparent !important;
}

/* Glassmorphic FLOATING sidebar navigation menu */
@media (min-width: 768px) {
    .theme-classic-modern .sidebar {
        width: 270px !important;
        height: calc(100vh - 40px) !important;
        margin: 20px 0 20px 20px !important;
        border-radius: 20px !important;
        background: rgba(255, 255, 255, 0.6) !important;
        backdrop-filter: blur(30px) !important;
        -webkit-backdrop-filter: blur(30px) !important;
        border: 1px solid rgba(255, 255, 255, 0.4) !important;
        box-shadow: 0 20px 50px rgba(16, 38, 64, 0.08), 0 0 20px rgba(201, 160, 84, 0.05) !important;
        position: relative !important;
        flex-shrink: 0 !important;
        align-self: center !important;
        overflow: hidden !important;
    }
    
    .theme-classic-modern.dark-theme .sidebar {
        background: rgba(16, 38, 64, 0.4) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), 0 0 20px rgba(75, 140, 213, 0.05) !important;
    }
    .theme-classic-modern .nav-sidebar-container {
        height: 100% !important;
    }
}

/* Sidebar brand header block */
.theme-classic-modern .brand-header {
    background: rgba(16, 38, 64, 0.05) !important;
    border-bottom: 1px solid rgba(16, 38, 64, 0.08) !important;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
}

.theme-classic-modern.dark-theme .brand-header {
    background: rgba(0, 0, 0, 0.25) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Translucent FLOATING Top Header */
.theme-classic-modern .header-navy {
    background: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 10px 30px rgba(16, 38, 64, 0.05) !important;
    margin: 20px 20px 0 20px !important;
    border-radius: 16px !important;
    height: 4.5rem !important;
    transition: all 0.3s ease !important;
    color: #1a3a5f !important;
}

.theme-classic-modern.dark-theme .header-navy {
    background: rgba(11, 17, 24, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

/* Floating Content Area */
.theme-classic-modern .content {
    margin: 20px !important;
    padding: 0 !important;
}

/* Sticky sidebar footers */
.theme-classic-modern .sidebar-help-footer,
.theme-classic-modern .version-sidebar-footer {
    background-color: transparent !important;
    border-top: none !important;
}

.theme-classic-modern.dark-theme .sidebar-help-footer,
.theme-classic-modern.dark-theme .version-sidebar-footer {
    border-top: none !important;
}

.theme-classic-modern .version-sidebar-footer {
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

/* Glassmorphism Floating Blur-Containers for Dashboard and Cards */
.theme-classic-modern .glass-card,
.theme-classic-modern .card {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 20px 40px rgba(16, 38, 64, 0.06), 0 0 15px rgba(201, 160, 84, 0.03) !important;
    color: #1a202c !important;
    border-radius: 16px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.theme-classic-modern.dark-theme .glass-card,
.theme-classic-modern.dark-theme .card {
    background: rgba(16, 28, 41, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45), 0 0 15px rgba(75, 140, 213, 0.03) !important;
    color: #ffffff !important;
}

.theme-classic-modern .glass-card:hover,
.theme-classic-modern .card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 30px 60px rgba(16, 38, 64, 0.12), 0 0 25px rgba(201, 160, 84, 0.15) !important;
    border-color: rgba(201, 160, 84, 0.35) !important;
}

.theme-classic-modern.dark-theme .glass-card:hover,
.theme-classic-modern.dark-theme .card:hover {
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 25px rgba(75, 140, 213, 0.12) !important;
    border-color: rgba(75, 140, 213, 0.25) !important;
}

/* Floating Status Tiles */
.theme-classic-modern .status-tile {
    background: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 15px 30px rgba(16, 38, 64, 0.05) !important;
    color: #1a202c !important;
    border-radius: 16px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.theme-classic-modern.dark-theme .status-tile {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4) !important;
    color: #ffffff !important;
}

.theme-classic-modern .status-tile:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 25px 45px rgba(16, 38, 64, 0.1), 0 0 20px rgba(201, 160, 84, 0.1) !important;
}

.theme-classic-modern.dark-theme .status-tile:hover {
    box-shadow: 0 25px 45px rgba(0, 0, 0, 0.5), 0 0 20px rgba(75, 140, 213, 0.1) !important;
}

/* Status Borders styling matching GAMP-5 approval */
.theme-classic-modern .border-primary { border-color: #1a3a5f !important; }
.theme-classic-modern .border-warning { border-color: #c9a054 !important; }
.theme-classic-modern .border-success { border-color: #2e7d32 !important; }
.theme-classic-modern .border-danger { border-color: #c62828 !important; }

.theme-classic-modern.dark-theme .border-primary { border-color: #4b8cd5 !important; }
.theme-classic-modern.dark-theme .border-warning { border-color: #dfb772 !important; }
.theme-classic-modern.dark-theme .border-success { border-color: #4caf50 !important; }
.theme-classic-modern.dark-theme .border-danger { border-color: #ef5350 !important; }

/* Colors for text elements */
.theme-classic-modern .text-primary { color: #1a3a5f !important; }
.theme-classic-modern .text-warning { color: #b8860b !important; }
.theme-classic-modern .text-success { color: #2e7d32 !important; }
.theme-classic-modern .text-danger { color: #c62828 !important; }
.theme-classic-modern .text-muted { color: #5c6a79 !important; }

.theme-classic-modern.dark-theme .text-primary { color: #4b8cd5 !important; text-shadow: 0 0 8px rgba(75, 140, 213, 0.4); }
.theme-classic-modern.dark-theme .text-warning { color: #dfb772 !important; text-shadow: 0 0 8px rgba(223, 183, 114, 0.4); }
.theme-classic-modern.dark-theme .text-success { color: #4caf50 !important; text-shadow: 0 0 8px rgba(76, 175, 80, 0.4); }
.theme-classic-modern.dark-theme .text-danger { color: #ef5350 !important; text-shadow: 0 0 8px rgba(239, 83, 80, 0.4); }
.theme-classic-modern.dark-theme .text-muted { color: rgba(255, 255, 255, 0.6) !important; }

/* Classic Modern Sidebar Navigation Links */
.theme-classic-modern .nav-sidebar-container .nav-link {
    color: #1a3a5f !important;
    border-radius: 8px;
    margin: 4px 10px;
    padding: 10px 14px;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    font-weight: 600;
}

.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link {
    color: rgba(255, 255, 255, 0.65) !important;
}

/* Sidebar Nav Link Hover */
.theme-classic-modern .nav-sidebar-container .nav-link:hover {
    color: #c9a054 !important;
    background-color: rgba(26, 58, 95, 0.05) !important;
    box-shadow: 0 0 12px rgba(201, 160, 84, 0.08) !important;
    transform: translateX(4px);
}
.theme-classic-modern .nav-sidebar-container .nav-link:hover i,
.theme-classic-modern .nav-sidebar-container .nav-link:hover svg {
    color: #c9a054 !important;
}

.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link:hover {
    color: #dfb772 !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
    text-shadow: 0 0 10px rgba(223, 183, 114, 0.4);
    box-shadow: 0 0 12px rgba(223, 183, 114, 0.08) !important;
}
.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link:hover i,
.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link:hover svg {
    color: #dfb772 !important;
}

/* Sidebar Nav Link Active */
.theme-classic-modern .nav-sidebar-container .nav-link.active {
    background: linear-gradient(135deg, rgba(26, 58, 95, 0.1) 0%, rgba(201, 160, 84, 0.1) 100%) !important;
    border: 1px solid rgba(26, 58, 95, 0.2) !important;
    border-left: 4px solid #c9a054 !important;
    color: #c9a054 !important;
    box-shadow: 0 4px 12px rgba(16, 38, 64, 0.04) !important;
    font-weight: 700;
}
.theme-classic-modern .nav-sidebar-container .nav-link.active i,
.theme-classic-modern .nav-sidebar-container .nav-link.active svg {
    color: #c9a054 !important;
}

.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link.active {
    background: linear-gradient(135deg, rgba(75, 140, 213, 0.2) 0%, rgba(223, 183, 114, 0.2) 100%) !important;
    border: 1px solid rgba(75, 140, 213, 0.35) !important;
    border-left: 4px solid #dfb772 !important;
    color: #dfb772 !important;
    box-shadow: 0 0 15px rgba(75, 140, 213, 0.2) !important;
    text-shadow: 0 0 5px rgba(223, 183, 114, 0.3);
}
.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link.active i,
.theme-classic-modern.dark-theme .nav-sidebar-container .nav-link.active svg {
    color: #dfb772 !important;
}

/* Sidebar Help Footer active links styling */
.nav-sidebar-container .sidebar-help-footer .nav-link.active {
    background-color: var(--navy-primary) !important;
    color: #ffffff !important;
    font-weight: 600;
}
.nav-sidebar-container .sidebar-help-footer .nav-link.active i,
.nav-sidebar-container .sidebar-help-footer .nav-link.active svg {
    color: #ffffff !important;
}

.theme-classic-modern .nav-sidebar-container .sidebar-help-footer .nav-link.active {
    background: linear-gradient(135deg, rgba(26, 58, 95, 0.1) 0%, rgba(201, 160, 84, 0.1) 100%) !important;
    border: 1px solid rgba(26, 58, 95, 0.2) !important;
    border-left: 4px solid #c9a054 !important;
    color: #c9a054 !important;
    box-shadow: 0 4px 12px rgba(16, 38, 64, 0.04) !important;
    font-weight: 700;
}
.theme-classic-modern .nav-sidebar-container .sidebar-help-footer .nav-link.active i,
.theme-classic-modern .nav-sidebar-container .sidebar-help-footer .nav-link.active svg {
    color: #c9a054 !important;
}

.theme-classic-modern.dark-theme .nav-sidebar-container .sidebar-help-footer .nav-link.active {
    background: linear-gradient(135deg, rgba(75, 140, 213, 0.2) 0%, rgba(223, 183, 114, 0.2) 100%) !important;
    border: 1px solid rgba(75, 140, 213, 0.35) !important;
    border-left: 4px solid #dfb772 !important;
    color: #dfb772 !important;
    box-shadow: 0 0 15px rgba(75, 140, 213, 0.2) !important;
    text-shadow: 0 0 5px rgba(223, 183, 114, 0.3);
}
.theme-classic-modern.dark-theme .nav-sidebar-container .sidebar-help-footer .nav-link.active i,
.theme-classic-modern.dark-theme .nav-sidebar-container .sidebar-help-footer .nav-link.active svg {
    color: #dfb772 !important;
}

.theme-modern-aura .nav-sidebar-container .sidebar-help-footer .nav-link.active {
    background: linear-gradient(135deg, rgba(0, 243, 255, 0.2) 0%, rgba(157, 0, 255, 0.2) 100%) !important;
    border: 1px solid rgba(0, 243, 255, 0.35) !important;
    color: #ffffff !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.2) !important;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
    font-weight: 600;
}
.theme-modern-aura .nav-sidebar-container .sidebar-help-footer .nav-link.active i,
.theme-modern-aura .nav-sidebar-container .sidebar-help-footer .nav-link.active svg {
    color: #00f3ff !important;
}

/* Sub-headers/Labels in sidebar menu */
.theme-classic-modern .nav-sidebar-container .menu-label {
    color: #c9a054 !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
    margin-bottom: 5px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.5px;
}

.theme-classic-modern.dark-theme .nav-sidebar-container .menu-label {
    color: #dfb772 !important;
    text-shadow: 0 0 8px rgba(223, 183, 114, 0.3);
}

/* User Status Badges */
.theme-classic-modern .user-name {
    color: #1a3a5f !important;
}

.theme-classic-modern.dark-theme .user-name {
    color: #dfb772 !important;
    text-shadow: 0 0 8px rgba(223, 183, 114, 0.3);
}

.theme-classic-modern .user-role {
    background: rgba(26, 58, 95, 0.08) !important;
    border: 1px solid rgba(26, 58, 95, 0.15) !important;
    color: #1a3a5f !important;
}

.theme-classic-modern.dark-theme .user-role {
    background: rgba(223, 183, 114, 0.15) !important;
    border: 1px solid rgba(223, 183, 114, 0.3) !important;
    color: #ffffff !important;
}

/* Glassmorphic Dropdown Menu */
.theme-classic-modern .dropdown-menu-navy {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(26, 58, 95, 0.15) !important;
    box-shadow: 0 10px 40px rgba(16, 38, 64, 0.1) !important;
}

.theme-classic-modern.dark-theme .dropdown-menu-navy {
    background: rgba(13, 21, 33, 0.95) !important;
    border: 1px solid rgba(223, 183, 114, 0.2) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}

.theme-classic-modern .dropdown-menu-navy .dropdown-item {
    color: #1a3a5f !important;
    transition: all 0.2s ease;
}

.theme-classic-modern.dark-theme .dropdown-menu-navy .dropdown-item {
    color: rgba(255, 255, 255, 0.8) !important;
}

.theme-classic-modern .dropdown-menu-navy .dropdown-item:hover {
    background: linear-gradient(135deg, rgba(26, 58, 95, 0.08) 0%, rgba(201, 160, 84, 0.08) 100%) !important;
    color: #1a3a5f !important;
}

.theme-classic-modern.dark-theme .dropdown-menu-navy .dropdown-item:hover {
    background: linear-gradient(135deg, rgba(75, 140, 213, 0.15) 0%, rgba(223, 183, 114, 0.15) 100%) !important;
    color: #ffffff !important;
}

/* Custom button gradients for Classic Modern concept */
.theme-classic-modern .btn-navy {
    background: linear-gradient(135deg, #1a3a5f 0%, #102640 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.theme-classic-modern .btn-navy:hover {
    background: linear-gradient(135deg, #2b5585 0%, #1a3a5f 100%) !important;
    box-shadow: 0 0 12px rgba(26, 58, 95, 0.25) !important;
}

.theme-classic-modern .btn-gold {
    background: linear-gradient(135deg, #c9a054 0%, #dfb772 100%) !important;
    border: none !important;
    color: #102640 !important;
}

.theme-classic-modern .btn-gold:hover {
    background: linear-gradient(135deg, #dfb772 0%, #ffd700 100%) !important;
    box-shadow: 0 0 12px rgba(201, 160, 84, 0.25) !important;
}

.theme-classic-modern .btn-outline-navy {
    border: 1px solid #1a3a5f !important;
    color: #1a3a5f !important;
    background: transparent !important;
}

.theme-classic-modern.dark-theme .btn-outline-navy {
    border: 1px solid #4b8cd5 !important;
    color: #4b8cd5 !important;
}

.theme-classic-modern .btn-outline-navy:hover {
    background: linear-gradient(135deg, #1a3a5f 0%, #102640 100%) !important;
    color: #ffffff !important;
}

.theme-classic-modern.dark-theme .btn-outline-navy:hover {
    background: linear-gradient(135deg, #4b8cd5 0%, #2b5585 100%) !important;
    color: #ffffff !important;
}

.theme-classic-modern .btn-outline-gold {
    border: 1px solid #c9a054 !important;
    color: #c9a054 !important;
    background: transparent !important;
}

.theme-classic-modern.dark-theme .btn-outline-gold {
    border: 1px solid #dfb772 !important;
    color: #dfb772 !important;
}

.theme-classic-modern .btn-outline-gold:hover {
    background: linear-gradient(135deg, #c9a054 0%, #dfb772 100%) !important;
    color: #102640 !important;
}

.theme-classic-modern.dark-theme .btn-outline-gold:hover {
    background: linear-gradient(135deg, #dfb772 0%, #ffd700 100%) !important;
    color: #102640 !important;
}

.theme-classic-modern .badge-gamp {
    background: linear-gradient(135deg, #1a3a5f 0%, #2b5585 100%) !important;
    color: #ffffff !important;
}

.theme-classic-modern.dark-theme .badge-gamp {
    background: linear-gradient(135deg, #c9a054 0%, #dfb772 100%) !important;
    color: #102640 !important;
}

/* ===== CLASSIC MODERN REFINE OVERRIDES ===== */

/* Header profile, brand text & visibility improvements */
.theme-classic-modern .header-navy .brand-text {
    color: #ffffff !important;
}
.theme-classic-modern.dark-theme .header-navy .brand-text {
    color: #ffffff !important;
}
.theme-classic-modern .header-navy .btn-link,
.theme-classic-modern .header-navy .dropdown-toggle {
    color: #ffffff !important;
}
.theme-classic-modern .header-navy .user-name {
    color: #ffffff !important;
}
.theme-classic-modern.dark-theme .header-navy .btn-link,
.theme-classic-modern.dark-theme .header-navy .dropdown-toggle {
    color: #dfb772 !important;
}
.theme-classic-modern.dark-theme .header-navy .user-name {
    color: #dfb772 !important;
    text-shadow: 0 0 10px rgba(223, 183, 114, 0.3) !important;
}
.theme-classic-modern .header-navy .user-role {
    font-weight: 700 !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
    text-shadow: none !important;
}
.theme-classic-modern .header-navy .user-role.bg-warning {
    background-color: #c9a054 !important;
    color: #102640 !important;
}
.theme-classic-modern.dark-theme .header-navy .user-role.bg-warning {
    background-color: #dfb772 !important;
    color: #102640 !important;
}
.theme-classic-modern .header-navy .user-role.bg-danger {
    background-color: #dc3545 !important;
    color: #ffffff !important;
}
.theme-classic-modern .header-navy .user-role.bg-success {
    background-color: #198754 !important;
    color: #ffffff !important;
}
.theme-classic-modern .header-navy .user-role.bg-info {
    background-color: #0dcaf0 !important;
    color: #102640 !important;
}
.theme-classic-modern .header-navy .user-role.bg-primary {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}
.theme-classic-modern .header-navy .user-role.bg-secondary {
    background-color: #6c757d !important;
    color: #ffffff !important;
}

/* White / Gold / Navy Favorite Buttons overrides */
/* White / Gold / Navy Favorite Buttons overrides for Classic Modern (Rappen Modern) */
.theme-classic-modern .favorite-icon-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: #dfb772 !important;
    width: auto !important;
    height: auto !important;
    padding: 6px !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease-in-out !important;
}
.theme-classic-modern .favorite-svg-icon {
    fill: #dfb772 !important;
    stroke: #dfb772 !important;
    width: 20px !important;
    height: 20px !important;
}
.theme-classic-modern .favorite-svg-icon[fill="none"] {
    fill: none !important;
    stroke: #dfb772 !important;
}
.theme-classic-modern .favorite-icon-btn:hover {
    background: none !important;
    border-color: transparent !important;
    color: #1a3a5f !important;
    transform: scale(1.15) !important;
}
.theme-classic-modern .favorite-icon-btn:hover .favorite-svg-icon {
    fill: #1a3a5f !important;
    stroke: #1a3a5f !important;
}
.theme-classic-modern .favorite-icon-btn:hover .favorite-svg-icon[fill="none"] {
    fill: none !important;
    stroke: #1a3a5f !important;
}

/* Dark mode favorite buttons overrides for Classic Modern */
.theme-classic-modern.dark-theme .favorite-icon-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: #dfb772 !important;
    width: auto !important;
    height: auto !important;
    padding: 6px !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease-in-out !important;
}
.theme-classic-modern.dark-theme .favorite-svg-icon {
    fill: #dfb772 !important;
    stroke: #dfb772 !important;
    width: 20px !important;
    height: 20px !important;
}
.theme-classic-modern.dark-theme .favorite-svg-icon[fill="none"] {
    fill: none !important;
    stroke: #dfb772 !important;
}
.theme-classic-modern.dark-theme .favorite-icon-btn:hover {
    background: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    transform: scale(1.15) !important;
}
.theme-classic-modern.dark-theme .favorite-icon-btn:hover .favorite-svg-icon {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}
.theme-classic-modern.dark-theme .favorite-icon-btn:hover .favorite-svg-icon[fill="none"] {
    fill: none !important;
    stroke: #ffffff !important;
}

/* Global Bootstrap Background Class Overrides for All Dark Themes */
.dark-theme .bg-white,
.dark-theme .bg-light,
.dark-theme .glass-card.bg-white,
.dark-theme .card.bg-white,
.dark-theme .modal-body.bg-light,
.dark-theme .modal-footer.bg-white {
    background: var(--card-bg) !important;
    background-color: var(--card-bg) !important;
    border-color: var(--card-border) !important;
    color: var(--text-color) !important;
}

/* In Light Mode, glass cards and white containers get a premium glassmorphic treatment */
.theme-classic-modern .glass-card.bg-white,
.theme-classic-modern .card.bg-white {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    color: #1a202c !important;
}

/* High-Contrast Dynamic Colors for Dark Theme Text Elements */
.dark-theme .text-navy,
.dark-theme .text-navy-dark,
.dark-theme .text-navy-primary,
.dark-theme .text-dark,
.dark-theme h4.text-navy-dark,
.dark-theme h5.text-navy,
.dark-theme h6.text-navy,
.dark-theme label.text-navy {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.1) !important;
}

.dark-theme .text-muted {
    color: rgba(255, 255, 255, 0.6) !important;
}

.dark-theme .text-warning-dark,
.dark-theme .text-warning {
    color: #dfb772 !important;
    text-shadow: 0 0 8px rgba(223, 183, 114, 0.3) !important;
}

/* List-Group and List-Group-Item Premium Adaptations */
.theme-classic-modern .list-group-item {
    background-color: rgba(255, 255, 255, 0.4) !important;
    color: #1a202c !important;
    border-color: rgba(16, 38, 64, 0.08) !important;
    transition: all 0.25s ease-in-out !important;
    border-radius: 8px !important;
    margin-bottom: 4px !important;
}

.theme-classic-modern .list-group-item:hover {
    background-color: rgba(26, 58, 95, 0.05) !important;
    color: #1a3a5f !important;
    transform: translateX(3px) !important;
}

.theme-classic-modern.dark-theme .list-group-item {
    background-color: rgba(15, 23, 42, 0.4) !important;
    color: #cbd5e1 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.theme-classic-modern.dark-theme .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Active states for List Items */
.theme-classic-modern .list-group-item.active,
.theme-classic-modern .bg-light-gold,
.theme-classic-modern .bg-success-light {
    background: linear-gradient(135deg, rgba(26, 58, 95, 0.1) 0%, rgba(201, 160, 84, 0.15) 100%) !important;
    border: 1px solid rgba(201, 160, 84, 0.4) !important;
    border-left: 4px solid #c9a054 !important;
    color: #1a3a5f !important;
    font-weight: bold !important;
}

.theme-classic-modern.dark-theme .list-group-item.active,
.theme-classic-modern.dark-theme .bg-light-gold,
.theme-classic-modern.dark-theme .bg-success-light {
    background: linear-gradient(135deg, rgba(75, 140, 213, 0.2) 0%, rgba(223, 183, 114, 0.25) 100%) !important;
    border: 1px solid rgba(223, 183, 114, 0.5) !important;
    border-left: 4px solid #dfb772 !important;
    color: #ffffff !important;
}

/* Hardened Input Elements & Scale Animations */
.theme-classic-modern .form-control,
.theme-classic-modern .form-select,
.theme-classic-modern input,
.theme-classic-modern select,
.theme-classic-modern textarea {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--input-text) !important;
    border-radius: 8px !important;
    padding: 0.5rem 0.75rem !important;
    transition: all 0.2s ease-in-out !important;
}

.theme-classic-modern .form-control:focus,
.theme-classic-modern .form-select:focus,
.theme-classic-modern input:focus,
.theme-classic-modern select:focus,
.theme-classic-modern textarea:focus {
    border-color: var(--input-focus-border) !important;
    box-shadow: 0 0 0 3px var(--input-focus-shadow) !important;
    transform: translateY(-1px) !important;
}

.theme-classic-modern.dark-theme .form-control:disabled,
.theme-classic-modern.dark-theme .form-select:disabled,
.theme-classic-modern.dark-theme input:disabled,
.theme-classic-modern.dark-theme select:disabled {
    background-color: rgba(0, 0, 0, 0.35) !important;
    color: rgba(255, 255, 255, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dynamic Table Adaptations */
.theme-classic-modern .table-premium {
    background-color: var(--table-bg) !important;
    color: var(--table-text) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--table-border) !important;
}

.theme-classic-modern .table-premium th {
    background-color: rgba(26, 58, 95, 0.06) !important;
    color: #1a3a5f !important;
    font-weight: 700 !important;
    border-bottom: 2px solid rgba(26, 58, 95, 0.15) !important;
}

.theme-classic-modern.dark-theme .table-premium th {
    background-color: rgba(0, 0, 0, 0.25) !important;
    color: #dfb772 !important;
    border-bottom: 2px solid rgba(223, 183, 114, 0.2) !important;
}

.theme-classic-modern .table-premium td {
    background-color: transparent !important;
    color: var(--table-text) !important;
    border-bottom: 1px solid var(--table-border) !important;
}

.theme-classic-modern .table-premium tr:hover td {
    background-color: var(--table-hover-bg) !important;
}

/* Generic Premium glassmorphic modal styling utilizing theme variables */
.glass-modal {
    background: var(--card-bg, rgba(255, 255, 255, 0.95)) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid var(--card-border, rgba(255, 255, 255, 0.4)) !important;
    color: var(--text-color, #212529) !important;
    box-shadow: var(--card-shadow) !important;
}

/* Premium GAMP-5 Modal Styling */
.theme-classic-modern .modal-content {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 30px 70px rgba(16, 38, 64, 0.25) !important;
    border-radius: 16px !important;
}

.theme-classic-modern.dark-theme .modal-content {
    background: rgba(13, 21, 33, 0.98) !important;
    border: 1px solid rgba(223, 183, 114, 0.2) !important;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6) !important;
}

.theme-classic-modern .modal-header {
    border-bottom: 1px solid rgba(26, 58, 95, 0.08) !important;
    background: linear-gradient(135deg, #1a3a5f 0%, #102640 100%) !important;
}

.theme-classic-modern.dark-theme .modal-header {
    border-bottom: 1px solid rgba(223, 183, 114, 0.15) !important;
    background: linear-gradient(135deg, #0b1118 0%, #102640 100%) !important;
}

.theme-classic-modern .modal-footer {
    border-top: 1px solid rgba(26, 58, 95, 0.08) !important;
}

.theme-classic-modern.dark-theme .modal-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Soft background block within modals */
.theme-classic-modern .modal-body .glass-card,
.theme-classic-modern .modal-body .p-3.bg-white {
    background: rgba(26, 58, 95, 0.04) !important;
    border: 1px solid rgba(26, 58, 95, 0.08) !important;
}

.theme-classic-modern.dark-theme .modal-body .glass-card,
.theme-classic-modern.dark-theme .modal-body .p-3.bg-white,
.theme-classic-modern.dark-theme .modal-body .p-3.bg-light {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* ===== GLOBAL CORPORATE DESIGN SYSTEM POLISH & WCAG HARDENING ===== */

/* 1. Enforce soft rounded corners on all glass-cards and status-tiles regardless of Bootstrap overrides */
.glass-card,
.status-tile {
    border-radius: var(--border-radius-soft, 12px) !important;
}

/* 2. Disable floating translate hover animations for any card containing form inputs to prevent jumpiness while typing */
.theme-classic-modern .glass-card.no-hover:hover,
.theme-classic-modern .card.no-hover:hover,
.theme-classic-modern .glass-card:has(input):hover,
.theme-classic-modern .glass-card:has(select):hover,
.theme-classic-modern .glass-card:has(textarea):hover,
.theme-classic-modern .card:has(input):hover,
.theme-classic-modern .card:has(select):hover {
    transform: none !important;
}

/* 3. Global Dark Theme color overrides for hardcoded light-theme classes */
.dark-theme .bg-white,
.dark-theme .bg-light,
.dark-theme .card.bg-white,
.dark-theme .card.bg-light,
.dark-theme .glass-card.bg-white,
.dark-theme .glass-card.bg-light {
    background: var(--card-bg, rgba(16, 28, 41, 0.9)) !important;
    background-color: var(--card-bg, rgba(16, 28, 41, 0.9)) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: var(--card-border, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .text-navy-dark,
.dark-theme h4.text-navy-dark,
.dark-theme h5.text-navy-dark,
.dark-theme h6.text-navy-dark,
.dark-theme div.text-navy-dark,
.dark-theme span.text-navy-dark,
.dark-theme strong.text-navy-dark,
.dark-theme select.text-navy-dark,
.dark-theme input.text-navy-dark,
.dark-theme label.text-navy-dark {
    color: var(--text-color, #cbd5e1) !important;
}

.dark-theme .text-navy {
    color: var(--navy-primary, #4b8cd5) !important;
}

.dark-theme .text-dark,
.dark-theme .text-black {
    color: var(--text-color, #ffffff) !important;
}

/* 4. Global Active / Highlighted List Item States for all themes */
.bg-light-gold {
    background: rgba(201, 160, 84, 0.1) !important;
    border-left: 3.5px solid #c9a054 !important;
}

.dark-theme .bg-light-gold {
    background: rgba(223, 183, 114, 0.15) !important;
    border-left: 3.5px solid #dfb772 !important;
}

/* 5. Premium Theme-Responsive Tab Control Styling */
.nav-tabs {
    border-color: rgba(26, 58, 95, 0.08) !important;
}

.dark-theme .nav-tabs {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.nav-tabs .nav-link {
    color: var(--muted-color, #6c757d) !important;
    border: none !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
}

.nav-tabs .nav-link.active {
    background: transparent !important;
    color: var(--navy-primary, #1a3a5f) !important;
    border-bottom: 3px solid var(--navy-primary, #1a3a5f) !important;
    font-weight: 700 !important;
}

.dark-theme .nav-tabs .nav-link.active {
    color: var(--gold-accent, #dfb772) !important;
    border-bottom: 3px solid var(--gold-accent, #dfb772) !important;
}

/* Transparent Idle Status Button */
.btn-status-idle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.btn-status-idle:hover, .btn-status-idle:focus, .btn-status-idle:active {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Disable card lift-up hover transitions globally */
.glass-card:hover,
.glass-card-hover:hover,
.card:hover,
.status-tile:hover,
.theme-modern-aura .glass-card:hover,
.theme-modern-aura .card:hover,
.theme-modern-aura .status-tile:hover,
.theme-classic-modern .glass-card:hover,
.theme-classic-modern .card:hover,
.theme-classic-modern .status-tile:hover {
    transform: none !important;
}

/* Static cards hover override to prevent shadowing and highlight effects */
.card-static:hover,
.theme-modern-aura .card-static:hover,
.theme-classic-modern .card-static:hover,
.theme-classic-modern.dark-theme .card-static:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: inherit !important;
}

/* Global Border-Radius Harmonization for Mixed Utilities */
.rounded-3, .rounded-lg {
    border-radius: var(--border-radius-soft, 12px) !important;
}

/* General Bootstrap table overrides for Dark Theme */
.dark-theme table,
.dark-theme .table {
    --bs-table-bg: var(--table-bg, #0f1822) !important;
    --bs-table-color: var(--text-color, #cbd5e1) !important;
    --bs-table-hover-bg: rgba(255, 255, 255, 0.03) !important;
    --bs-table-hover-color: var(--text-color, #cbd5e1) !important;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02) !important;
    --bs-table-striped-color: var(--text-color, #cbd5e1) !important;
    --bs-table-border-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--text-color, #cbd5e1) !important;
    background-color: var(--table-bg, #0f1822) !important;
}

.dark-theme .table th,
.dark-theme .table td {
    background-color: var(--table-bg, #0f1822) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme thead.table-light,
.dark-theme thead.bg-light,
.dark-theme thead,
.dark-theme .table-light,
.dark-theme .bg-light,
[data-theme='dark'] thead.table-light,
[data-theme='dark'] thead.bg-light,
[data-theme='dark'] thead,
[data-theme='dark'] .table-light,
[data-theme='dark'] .bg-light {
    background-color: rgba(255, 255, 255, 0.04) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--text-color, #cbd5e1) !important;
}

.dark-theme thead.table-light th,
.dark-theme thead.bg-light th,
.dark-theme thead th,
.dark-theme .table-light th {
    background-color: rgba(255, 255, 255, 0.04) !important;
    color: var(--navy-primary, #4b8cd5) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme .table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.02) !important;
    color: var(--text-color, #cbd5e1) !important;
}

/* List group overrides in dark theme for all theme concepts */
.dark-theme .list-group-item {
    background-color: rgba(15, 23, 42, 0.4) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    transition: all 0.25s ease-in-out !important;
}

.dark-theme .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.dark-theme .list-group-item.active,
.dark-theme .bg-light-gold,
.dark-theme .bg-success-light {
    background: linear-gradient(135deg, rgba(75, 140, 213, 0.2) 0%, rgba(223, 183, 114, 0.25) 100%) !important;
    border: 1px solid rgba(223, 183, 114, 0.5) !important;
    border-left: 4px solid #dfb772 !important;
    color: #ffffff !important;
}

.dark-theme .list-group-item.active .text-navy-dark,
.dark-theme .list-group-item.active .text-muted,
.dark-theme .bg-light-gold .text-navy-dark,
.dark-theme .bg-light-gold .text-muted {
    color: #ffffff !important;
}

/* Inactive/Default light button overrides for Dark Theme */
.dark-theme .btn-light,
[data-theme='dark'] .btn-light {
    background: rgba(255, 255, 255, 0.05) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--text-color, #cbd5e1) !important;
    --bs-btn-bg: rgba(255, 255, 255, 0.05) !important;
    --bs-btn-color: var(--text-color, #cbd5e1) !important;
    --bs-btn-border-color: rgba(255, 255, 255, 0.08) !important;
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.1) !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-hover-border-color: rgba(255, 255, 255, 0.15) !important;
}

.dark-theme .btn-light:hover,
[data-theme='dark'] .btn-light:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
}

/* Custom Soft badge overrides for Dark Theme to ensure great contrast and readability */
.dark-theme .bg-primary-soft,
[data-theme='dark'] .bg-primary-soft {
    background-color: rgba(75, 140, 213, 0.15) !important;
    color: #4b8cd5 !important;
    border: 1px solid rgba(75, 140, 213, 0.3) !important;
}
.dark-theme .bg-success-soft,
[data-theme='dark'] .bg-success-soft {
    background-color: rgba(72, 187, 120, 0.15) !important;
    color: #48bb78 !important;
    border: 1px solid rgba(72, 187, 120, 0.3) !important;
}
.dark-theme .bg-warning-soft,
[data-theme='dark'] .bg-warning-soft {
    background-color: rgba(237, 137, 54, 0.15) !important;
    color: #ed8936 !important;
    border: 1px solid rgba(237, 137, 54, 0.3) !important;
}
.dark-theme .bg-danger-soft,
[data-theme='dark'] .bg-danger-soft {
    background-color: rgba(245, 101, 101, 0.15) !important;
    color: #f56565 !important;
    border: 1px solid rgba(245, 101, 101, 0.3) !important;
}
.dark-theme .bg-secondary-soft,
[data-theme='dark'] .bg-secondary-soft {
    background-color: rgba(160, 174, 192, 0.15) !important;
    color: #a0aec0 !important;
    border: 1px solid rgba(160, 174, 192, 0.3) !important;
}
.dark-theme .text-secondary,
[data-theme='dark'] .text-secondary {
    color: #a0aec0 !important;
}

/* --- Bootstrap Alert overrides for Dark Theme --- */
.dark-theme .alert-warning {
    background-color: rgba(223, 183, 114, 0.12) !important;
    background: rgba(223, 183, 114, 0.12) !important;
    border: 1px solid rgba(223, 183, 114, 0.3) !important;
    color: #dfb772 !important;
}
.dark-theme .alert-warning .text-muted,
.dark-theme .alert-warning .text-navy,
.dark-theme .alert-warning .text-dark,
.dark-theme .alert-warning span,
.dark-theme .alert-warning div {
    color: rgba(255, 255, 255, 0.9) !important;
}
.dark-theme .alert-warning strong.text-warning-dark {
    color: #dfb772 !important;
}

.dark-theme .alert-info {
    background-color: rgba(75, 140, 213, 0.12) !important;
    background: rgba(75, 140, 213, 0.12) !important;
    border: 1px solid rgba(75, 140, 213, 0.3) !important;
    border-left: 4px solid #4b8cd5 !important;
    color: #cbd5e1 !important;
}
.dark-theme .alert-info .text-muted,
.dark-theme .alert-info .text-navy,
.dark-theme .alert-info .text-dark,
.dark-theme .alert-info span,
.dark-theme .alert-info div {
    color: rgba(255, 255, 255, 0.9) !important;
}

.dark-theme .alert-danger {
    background-color: rgba(239, 83, 80, 0.12) !important;
    background: rgba(239, 83, 80, 0.12) !important;
    border: 1px solid rgba(239, 83, 80, 0.3) !important;
    color: #ef5350 !important;
}
.dark-theme .alert-danger .text-muted,
.dark-theme .alert-danger .text-navy,
.dark-theme .alert-danger .text-dark,
.dark-theme .alert-danger span,
.dark-theme .alert-danger div {
    color: rgba(255, 255, 255, 0.9) !important;
}
.dark-theme .alert-danger i {
    color: #ef5350 !important;
}

.dark-theme .alert-success {
    background-color: rgba(46, 196, 182, 0.12) !important;
    background: rgba(46, 196, 182, 0.12) !important;
    border: 1px solid rgba(46, 196, 182, 0.3) !important;
    color: #2ec4b6 !important;
}
.dark-theme .alert-success .text-muted,
.dark-theme .alert-success .text-navy,
.dark-theme .alert-success .text-dark,
.dark-theme .alert-success span,
.dark-theme .alert-success div {
    color: rgba(255, 255, 255, 0.9) !important;
}
.dark-theme .alert-success i {
    color: #2ec4b6 !important;
}

.dark-theme .alert-secondary {
    background-color: rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #cbd5e1 !important;
}
.dark-theme .alert-secondary .text-muted,
.dark-theme .alert-secondary .text-navy,
.dark-theme .alert-secondary .text-dark,
.dark-theme .alert-secondary span,
.dark-theme .alert-secondary div {
    color: rgba(255, 255, 255, 0.9) !important;
}
.dark-theme .alert-secondary i {
    color: #cbd5e1 !important;
}

/* --- Bootstrap Table overrides for Dark Theme --- */
.dark-theme .table,
.dark-theme table {
    --bs-table-bg: transparent !important;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02) !important;
    --bs-table-color: var(--text-color, #cbd5e1) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme .table td,
.dark-theme .table th,
.dark-theme table td,
.dark-theme table th {
    background-color: transparent !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme .table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.02) !important;
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: var(--text-color, #cbd5e1) !important;
}

.dark-theme .table-striped>tbody>tr:nth-of-type(even)>* {
    background-color: transparent !important;
}

.sidebar .brand-collapsed {
    display: none !important;
}

@media (min-width: 768px) {
    /* Transitions for smooth width changes */
    .sidebar {
        transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    /* Width definitions based on mode */
    .sidebar-always-open .sidebar {
        width: 260px !important;
    }

    .sidebar-always-closed .sidebar {
        width: 70px !important;
    }

    .sidebar-hover-expand .sidebar {
        width: 70px !important;
    }

    .sidebar-hover-expand .sidebar:hover {
        width: 260px !important;
        box-shadow: 4px 0 15px rgba(0, 0, 0, 0.15) !important;
    }

    /* Collapsed state styling (always-closed, or hover-expand when not hovered) */
    .sidebar-always-closed .sidebar .nav-text,
    .sidebar-always-closed .sidebar .menu-label,
    .sidebar-always-closed .sidebar .version-sidebar-footer,
    .sidebar-always-closed .sidebar .brand-full,
    .sidebar-hover-expand .sidebar:not(:hover) .nav-text,
    .sidebar-hover-expand .sidebar:not(:hover) .menu-label,
    .sidebar-hover-expand .sidebar:not(:hover) .version-sidebar-footer,
    .sidebar-hover-expand .sidebar:not(:hover) .brand-full {
        opacity: 0 !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        display: none !important;
    }

    /* Collapsed state brand monogram */
    .sidebar-always-closed .sidebar .brand-collapsed,
    .sidebar-hover-expand .sidebar:not(:hover) .brand-collapsed {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    /* Center icons when collapsed */
    .sidebar-always-closed .sidebar .nav-link,
    .sidebar-hover-expand .sidebar:not(:hover) .nav-link {
        justify-content: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .sidebar-always-closed .sidebar .nav-link i,
    .sidebar-hover-expand .sidebar:not(:hover) .nav-link i {
        margin-right: 0 !important;
        font-size: 1.25rem !important;
    }
    
    /* Help footer when collapsed */
    .sidebar-always-closed .sidebar .sidebar-help-footer,
    .sidebar-hover-expand .sidebar:not(:hover) .sidebar-help-footer {
        padding: 0.5rem 0 !important;
    }
}

/* Custom contrast utility overrides for badges and text */
.bg-gold {
    background-color: var(--gold-primary, #c9a054) !important;
    color: #102640 !important; /* Dark navy for contrast */
}
.dark-theme .bg-gold,
[data-theme='dark'] .bg-gold {
    color: #ffffff !important;
}
.bg-gold-light {
    background-color: rgba(201, 160, 84, 0.1) !important;
    color: #1a3a5f !important;
}
.bg-gold-soft {
    background-color: rgba(201, 160, 84, 0.15) !important;
    color: #1a3a5f !important;
    border: 1px solid rgba(201, 160, 84, 0.3) !important;
}
.dark-theme .bg-gold-soft,
[data-theme='dark'] .bg-gold-soft {
    background-color: rgba(75, 140, 213, 0.15) !important;
    color: #4b8cd5 !important;
    border: 1px solid rgba(75, 140, 213, 0.3) !important;
}
.text-gold {
    color: var(--icon-color-primary, #dfb772) !important;
}
.bg-navy {
    background-color: var(--navy-dark, #102640) !important;
    color: #ffffff !important;
}

/* Perfect alignment for all sidebar menu icons across all themes */
.nav-sidebar-container .nav-link i,
.nav-sidebar-container .nav-link svg {
    width: 1.25rem !important;
    text-align: center !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* High-contrast warning text color for light mode */
.text-warning-dark {
    color: #856404 !important;
}

/* Disabled input styling inside dark-theme globally */
.dark-theme input:disabled,
.dark-theme select:disabled,
.dark-theme textarea:disabled,
.dark-theme .form-control:disabled,
.dark-theme .form-select:disabled {
    background-color: rgba(0, 0, 0, 0.35) !important;
    color: rgba(255, 255, 255, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Force dark modals globally under dark-theme to prevent contrast/background issues */
.dark-theme .modal-content {
    background: var(--card-bg, rgba(16, 28, 41, 0.98)) !important;
    color: var(--text-color, #cbd5e1) !important;
    border: 1px solid var(--card-border, rgba(255, 255, 255, 0.12)) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
}

/* Active filter tag text color override for dark-theme to avoid blue-on-blue invisibility */
.dark-theme .active-filter {
    color: #0b1118 !important;
}

/* Fix Bootstrap Form Check Inputs and Switches globally to override WCAG-Hardened inputs */
input[type="checkbox"].form-check-input,
input[type="radio"].form-check-input {
    padding: 0 !important;
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    position: relative;
    cursor: pointer;
}

input[type="checkbox"].form-check-input:checked,
input[type="radio"].form-check-input:checked {
    background-color: var(--navy-primary, #1a3a5f) !important;
    border-color: var(--navy-primary, #1a3a5f) !important;
}

.form-switch input[type="checkbox"].form-check-input {
    width: 2.5em;
    height: 1.25em;
    border-radius: 2em !important;
    background-position: left center !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%237f8c8d'/%3e%3c/svg%3e") !important;
    transition: background-position 0.15s ease-in-out, background-color 0.2s ease, border-color 0.2s ease !important;
}

.form-switch input[type="checkbox"].form-check-input:checked {
    background-position: right center !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
    background-color: var(--gold-primary, #c9a054) !important;
    border-color: var(--gold-primary, #c9a054) !important;
}

/* Card dark theme global override to cover card containers lacking explicit background classes */
.dark-theme .card {
    background: var(--card-bg, rgba(16, 28, 41, 0.9)) !important;
    background-color: var(--card-bg, rgba(16, 28, 41, 0.9)) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: var(--card-border, rgba(255, 255, 255, 0.08)) !important;
}

/* Custom pagination contrast fixes in dark mode */
.dark-theme .pagination-buttons .btn-outline-primary {
    color: var(--gold-primary, #dfb772) !important;
    border-color: rgba(223, 179, 114, 0.4) !important;
    background-color: transparent !important;
}

.dark-theme .pagination-buttons .btn-outline-primary:hover:not(:disabled) {
    color: #101c29 !important;
    background-color: var(--gold-primary, #dfb772) !important;
    border-color: var(--gold-primary, #dfb772) !important;
}

.dark-theme .pagination-buttons .btn-outline-primary:disabled {
    color: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    background-color: transparent !important;
}

.dark-theme .pagination-buttons .btn-outline-secondary {
    color: rgba(255, 255, 255, 0.8) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
}

.dark-theme .pagination-buttons .btn-outline-secondary:hover {
    color: #101c29 !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
}

.dark-theme .pagination-buttons .btn-primary {
    background-color: var(--gold-primary, #dfb772) !important;
    border-color: var(--gold-primary, #dfb772) !important;
    color: #101c29 !important;
}

/* ==========================================================================
   Theme Classic Modern: Input Group & Search Input Polishing
   ========================================================================== */

/* Force Bootstrap's native border-radius zeroing logic inside input groups */
.theme-classic-modern .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.theme-classic-modern .input-group > :not(:first-child):not(.dropdown-menu):not(.form-floating) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* Respect border utility overrides */
.theme-classic-modern .border-0,
.theme-classic-modern input.border-0,
.theme-classic-modern .form-control.border-0 {
    border: 0 !important;
}
.theme-classic-modern .border-start-0,
.theme-classic-modern input.border-start-0,
.theme-classic-modern .form-control.border-start-0 {
    border-left: 0 !important;
}
.theme-classic-modern .border-end-0,
.theme-classic-modern input.border-end-0,
.theme-classic-modern .form-control.border-end-0 {
    border-right: 0 !important;
}
.theme-classic-modern .border-top-0,
.theme-classic-modern input.border-top-0,
.theme-classic-modern .form-control.border-top-0 {
    border-top: 0 !important;
}
.theme-classic-modern .border-bottom-0,
.theme-classic-modern input.border-bottom-0,
.theme-classic-modern .form-control.border-bottom-0 {
    border-bottom: 0 !important;
}

/* Consistent Solid Background for Input Groups in Light Mode */
.theme-classic-modern .input-group .form-control,
.theme-classic-modern .input-group input {
    background-color: #ffffff !important;
}
.theme-classic-modern .input-group .input-group-text {
    background-color: #ffffff !important;
    border-color: var(--input-border) !important;
}

/* Specific styling for borderless inputs (like search bars) to inherit parent container background */
.theme-classic-modern .input-group input.border-0,
.theme-classic-modern .input-group .form-control.border-0 {
    background-color: transparent !important;
}

/* Consistent Dark Mode adaptations for Input Groups */
.dark-theme .input-group {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}
.dark-theme .input-group .form-control,
.dark-theme .input-group input,
.dark-theme .input-group .input-group-text,
.dark-theme .input-group button.bg-white,
.dark-theme .input-group button {
    background-color: transparent !important;
    color: var(--text-color) !important;
    border-color: var(--input-border) !important;
}
/* Ensure borderless elements inside dark mode input groups remain borderless */
.dark-theme .input-group .border-0,
.dark-theme .input-group input.border-0,
.dark-theme .input-group .form-control.border-0,
.dark-theme .input-group .input-group-text.border-0,
.dark-theme .input-group button.border-0 {
    border: 0 !important;
}

/* Autocomplete Dropdown adaptive styling for Dark Mode compatibility */
.autocomplete-dropdown {
    background-color: var(--bg-color, #ffffff) !important;
    color: var(--text-color, #333333) !important;
    border: 1px solid var(--card-border, #cccccc) !important;
}

.dark-theme .autocomplete-dropdown,
[data-theme='dark'] .autocomplete-dropdown {
    background-color: var(--bg-color, #101c29) !important;
    color: var(--text-color, #cbd5e1) !important;
    border-color: var(--card-border, rgba(255, 255, 255, 0.12)) !important;
}

.autocomplete-item {
    background: transparent !important;
    color: var(--text-color, #333333) !important;
    border: none !important;
    transition: background-color 0.2s ease;
}

.autocomplete-item:hover, .autocomplete-item:focus {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

.dark-theme .autocomplete-item,
[data-theme='dark'] .autocomplete-item {
    color: var(--text-color, #cbd5e1) !important;
}

.dark-theme .autocomplete-item:hover, .dark-theme .autocomplete-item:focus,
[data-theme='dark'] .autocomplete-item:hover, [data-theme='dark'] .autocomplete-item:focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Eigene Herstellung - Article Search Dropdown Style Rules */
.article-search-dropdown {
    background: #ffffff !important;
    border: 1px solid var(--input-border, rgba(0, 0, 0, 0.15)) !important;
    box-shadow: var(--card-shadow) !important;
}

.dark-theme .article-search-dropdown {
    background: #0f172a !important; /* Fully opaque dark background to prevent text bleed-through */
    border: 1px solid var(--input-border, #4a5568) !important;
}

.article-search-item {
    background-color: transparent !important;
    color: var(--text-color, #212529) !important;
    border-bottom: 1px solid var(--table-border, rgba(0, 0, 0, 0.05)) !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.article-search-title {
    color: var(--navy-dark, #102640);
}
.dark-theme .article-search-title {
    color: var(--text-color, #f1f3f5) !important;
}

.article-search-sub {
    color: var(--muted-color, #6c757d);
}
.dark-theme .article-search-sub {
    color: var(--muted-color, #94a3b8) !important;
}

/* Hover and Focus States */
.article-search-item:hover,
.article-search-item:focus {
    background: var(--navy-primary, #1a3a5f) !important;
}

.dark-theme .article-search-item:hover,
.dark-theme .article-search-item:focus {
    background: var(--navy-primary, #4b8cd5) !important;
}

.article-search-item:hover .article-search-title,
.article-search-item:focus .article-search-title {
    color: #ffffff !important;
}

.article-search-item:hover .article-search-sub,
.article-search-item:focus .article-search-sub {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Badge states */
.article-search-badge {
    background-color: var(--navy-light, rgba(26, 58, 95, 0.08)) !important;
    color: var(--navy-dark, #102640) !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.dark-theme .article-search-badge {
    background-color: var(--gold-light, #102c4c) !important;
    color: var(--text-color, #cbd5e1) !important;
}

.article-search-item:hover .article-search-badge,
.article-search-item:focus .article-search-badge {
    background-color: #ffffff !important;
    color: var(--navy-dark, #102640) !important;
}

/* --- 23. Filter- und Tab-Buttons (HelpCenter & Dokumenten-Portal) --- */
.btn-filter,
.help-center-container .btn-filter,
.document-panel-card .btn-filter {
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 6px 16px;
    transition: all 0.2s ease;
    border: 1px solid var(--card-border, rgba(0, 0, 0, 0.12)) !important;
    color: var(--text-color, #1a202c) !important;
    background-color: transparent !important;
}

.btn-filter:hover,
.help-center-container .btn-filter:hover,
.document-panel-card .btn-filter:hover {
    background-color: var(--gold-primary) !important;
    color: #121d33 !important;
    border-color: var(--gold-primary) !important;
}

.active-filter,
.help-center-container .active-filter,
.document-panel-card .active-filter {
    background-color: var(--gold-primary) !important;
    color: #121d33 !important;
    border-color: var(--gold-primary) !important;
    box-shadow: 0 4px 6px rgba(197, 160, 84, 0.15) !important;
}

.active-ticket-item {
    border-left: 4px solid var(--gold-primary) !important;
    background: rgba(197, 160, 84, 0.08) !important;
}



