/* 
   CUSTOM UI PREMIUM OPTIMIZATIONS
   Dynamic Identity, Contrast Safeguards, and Glowing Glassmorphism
*/

/* Base (Dark Mode Always) */
html {
    overflow-y: scroll;
    scrollbar-gutter: stable;
}

body {
    width: 100%;
    position: relative;
    background-color: var(--brand-bg-deep);
    color: var(--brand-text-main, #f8fafc);
}

[x-cloak] {
    display: none !important;
}

/* Define Dynamic Variables & Fallbacks */
:root {
    --brand-border-computed: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.15);
    --brand-border-final: var(--brand-border, var(--brand-border-computed));
}

/* Glassmorphism Utilities with Dynamic Glowing Borders & Shadows */
.glass {
    background: rgba(var(--brand-surface-rgb), 0.7) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.2) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
    backface-visibility: hidden;
}

.glass-card {
    background: rgba(var(--brand-surface-rgb, 2, 44, 34), 0.45) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(var(--brand-primary-rgb, 16, 185, 129), 0.2) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2),
        0 0 15px 0 rgba(var(--brand-primary-rgb, 16, 185, 129), 0.02) !important;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.glass-card:hover {
    border-color: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.25) !important;
    box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.4),
        0 0 25px 0 rgba(var(--brand-primary-rgb, 16, 185, 129), 0.08) !important;
    transform: translateY(-2px);
}

.stat-card {
    background: rgba(var(--brand-surface-rgb, 2, 44, 34), 0.55) !important;
    border: 1px solid rgba(var(--brand-primary-rgb, 16, 185, 129), 0.15) !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.2) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.stat-card:hover {
    background: rgba(var(--brand-surface-rgb, 2, 44, 34), 0.75) !important;
    border-color: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.25) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.4),
        0 0 30px 0 rgba(var(--brand-primary-rgb, 16, 185, 129), 0.15) !important;
}

.rounded-none {
    box-shadow: none !important;
    border-radius: 0 !important;
    transform: none !important;
}

/* --- Global Gray-to-White Transform (Contrast Guard Hierarchy bound to custom Text Settings) --- */
.text-white,
.text-gray-50,
.text-slate-50,
.text-zinc-50 {
    color: var(--brand-text-main, #ffffff) !important;
}

.text-gray-100,
.text-slate-100,
.text-zinc-100 {
    color: var(--brand-text-main, #ffffff) !important;
    opacity: 0.98 !important;
}

.text-gray-200,
.text-slate-200,
.text-zinc-200 {
    color: var(--brand-text-main, #ffffff) !important;
    opacity: 0.90 !important;
}

.text-gray-300,
.text-slate-300,
.text-zinc-300 {
    color: var(--brand-text-main, #ffffff) !important;
    opacity: 0.82 !important;
}

.text-gray-400,
.text-slate-400,
.text-zinc-400 {
    color: var(--brand-text-sub, rgba(255, 255, 255, 0.7)) !important;
    opacity: 1 !important;
}

.text-gray-500,
.text-slate-500,
.text-zinc-500 {
    color: var(--brand-text-muted, rgba(255, 255, 255, 0.45)) !important;
    opacity: 1 !important;
}

.text-gray-600,
.text-slate-600,
.text-zinc-600 {
    color: var(--brand-text-muted, rgba(255, 255, 255, 0.45)) !important;
    opacity: 0.65 !important;
}

.text-gray-700,
.text-slate-700,
.text-zinc-700,
.text-gray-800,
.text-slate-800,
.text-zinc-800,
.text-gray-900,
.text-slate-900,
.text-zinc-900 {
    color: var(--brand-text-muted, rgba(255, 255, 255, 0.45)) !important;
    opacity: 0.50 !important;
}

.text-brand-primary {
    color: var(--brand-primary) !important;
}

.text-glow-primary {
    text-shadow: 0 0 15px rgba(var(--brand-primary-rgb), 0.45);
}

.text-glow-accent {
    text-shadow: 0 0 15px rgba(var(--brand-accent-rgb), 0.45);
}

/* --- Global Emerald/Green/Teal Text Hijacking to support dynamic themes & contrast --- */
[class*="text-emerald-50"],
[class*="text-green-50"],
[class*="text-teal-50"],
[class*="text-emerald-100"],
[class*="text-green-100"],
[class*="text-teal-100"],
[class*="text-emerald-200"],
[class*="text-green-200"],
[class*="text-teal-200"] {
    color: var(--brand-text-main, #ffffff) !important;
    opacity: 0.95 !important;
}

[class*="text-emerald-300"],
[class*="text-green-300"],
[class*="text-teal-300"],
[class*="text-emerald-400"],
[class*="text-green-400"],
[class*="text-teal-400"],
[class*="text-emerald-500"],
[class*="text-green-500"],
[class*="text-teal-500"],
[class*="text-emerald-600"],
[class*="text-green-600"],
[class*="text-teal-600"],
[class*="text-emerald-700"],
[class*="text-green-700"],
[class*="text-teal-700"],
[class*="text-emerald-800"],
[class*="text-green-800"],
[class*="text-teal-800"],
[class*="text-emerald-900"],
[class*="text-green-900"],
[class*="text-teal-900"] {
    color: var(--brand-primary) !important;
}

/* Accent texts */
.text-amber-500,
.text-amber-600,
.text-yellow-500,
.text-yellow-600 {
    color: var(--brand-accent) !important;
}

/* Dynamic Background Blobs (Static Mesh Gradient - Highly Optimized for 0% CPU/GPU overhead) */
.gradient-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -10;
    overflow: hidden;
}

.g-blob {
    position: absolute;
    border-radius: 50%;
    opacity: 1;
    pointer-events: none;
}

.g-blob:nth-child(1) {
    width: 1000px;
    height: 1000px;
    top: -300px;
    left: -200px;
    background: radial-gradient(circle, rgba(var(--brand-primary-rgb, 16, 185, 129), 0.35) 0%, rgba(0, 0, 0, 0) 75%) !important;
}

.g-blob:nth-child(2) {
    width: 800px;
    height: 800px;
    bottom: -200px;
    right: -100px;
    background: radial-gradient(circle, rgba(var(--brand-accent-rgb, 217, 119, 6), 0.28) 0%, rgba(0, 0, 0, 0) 75%) !important;
}

.g-blob:nth-child(3) {
    width: 700px;
    height: 700px;
    top: 25%;
    right: 15%;
    background: radial-gradient(circle, rgba(var(--brand-primary-rgb, 16, 185, 129), 0.20) 0%, rgba(0, 0, 0, 0) 75%) !important;
}

.g-blob:nth-child(4) {
    width: 600px;
    height: 600px;
    bottom: 20%;
    left: 20%;
    background: radial-gradient(circle, rgba(var(--brand-accent-rgb, 217, 119, 6), 0.15) 0%, rgba(0, 0, 0, 0) 75%) !important;
}

/* Premium Form Controls with Color Glowing Borders */
.setting-input {
    width: 100%;
    background-color: rgba(var(--brand-surface-rgb), 0.3) !important;
    border: 1px solid var(--brand-border-final) !important;
    border-radius: 1rem !important;
    padding: 0.85rem 1.25rem !important;
    color: white !important;
    font-size: 0.95rem !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.1) !important;
}

.setting-input:focus {
    outline: none !important;
    border-color: var(--brand-primary) !important;
    background-color: rgba(var(--brand-surface-rgb), 0.6) !important;
    box-shadow: 0 0 0 4px rgba(var(--brand-primary-rgb), 0.15), inset 0 2px 4px 0 rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px);
}

.setting-input::placeholder {
    color: rgba(255, 255, 255, 0.2) !important;
}

.setting-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 0.5rem;
}

/* Glowing Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: rgba(var(--brand-bg-deep-rgb, 1, 13, 10), 0.2);
}

::-webkit-scrollbar-thumb {
    background: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.25) !important;
    border-radius: 20px;
    box-shadow: 0 0 8px rgba(var(--brand-primary-rgb, 16, 185, 129), 0.3) !important;
    transition: all 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--brand-primary, #10b981) !important;
    box-shadow: 0 0 15px rgba(var(--brand-primary-rgb, 16, 185, 129), 0.6) !important;
}

/* Explicit scroll behaviors and custom styles for sidebars and drawers */
.sidebar-scroll {
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.25) transparent;
    -webkit-overflow-scrolling: touch;
}

.sidebar-scroll::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.sidebar-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.2) !important;
    border-radius: 20px;
}

.sidebar-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.5) !important;
}

.custom-scrollbar {
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.2) transparent;
    -webkit-overflow-scrolling: touch;
}

.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.15) !important;
    border-radius: 20px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.4) !important;
}

/* GLOBAL CONTRAST & CLARITY SYSTEM */
table td {
    color: var(--brand-text-main, #f1f5f9) !important;
}

table th {
    color: var(--brand-text-muted, rgba(255, 255, 255, 0.45)) !important;
    font-weight: 700;
}

.stat-card .text-2xl,
.stat-card .text-3xl,
.stat-card .text-4xl,
.stat-card [class*="font-bold"],
.stat-card [class*="font-semibold"] {
    color: var(--brand-text-main, #ffffff) !important;
}

.glass-card h2,
.glass-card h3,
.glass-card .font-bold,
.glass-card .font-semibold {
    color: var(--brand-text-main, #ffffff) !important;
}


.glass-card p,
.stat-card p {
    color: var(--brand-text-sub, rgba(255, 255, 255, 0.75)) !important;
}

p.text-sm,
p.text-xs,
span.text-sm,
span.text-xs,
td span {
    color: var(--brand-text-sub, rgba(255, 255, 255, 0.75));
}

/* ==========================================================================
   DYNAMIC IDENTITY & WHITE-LABEL OVERRIDES (GLOBAL CONTRAST PRESERVATION)
   ========================================================================== */

/* 1. Global Background Hijacking - Redirects hardcoded emeralds and dark colors */
.bg-\[\#022c22\],
.bg-\[\#011c15\],
.bg-\[\#033c2e\],
.bg-\[\#01241d\],
.bg-\[\#012b23\] {
    background-color: var(--brand-bg-surface) !important;
}

.hover\:bg-\[\#022c22\]:hover,
.hover\:bg-\[\#011c15\]:hover,
.hover\:bg-\[\#033c2e\]:hover,
.hover\:bg-\[\#01241d\]:hover,
.hover\:bg-\[\#012b23\]:hover {
    background-color: var(--brand-bg-surface) !important;
}

/* Hijack transparent backgrounds */
.bg-\[\#022c22\]\/90,
.bg-\[\#022c22\]\/80,
.bg-\[\#022c22\]\/50,
.bg-\[\#011c15\]\/90,
.bg-\[\#033c2e\]\/10,
.bg-\[\#01241d\]\/10,
.bg-\[\#012b23\]\/10 {
    background-color: rgba(var(--brand-surface-rgb), 0.8) !important;
}

.bg-\[\#010705\],
.bg-\[\#010907\],
.bg-\[\#010c08\],
.bg-\[\#010d0a\],
.bg-\[\#010f0b\],
.bg-\[\#011410\],
.bg-\[\#011c15\],
.bg-\[\#021a14\],
.bg-\[\#021b16\],
.bg-\[\#061812\],
.bg-\[\#0d0101\] {
    background-color: var(--brand-bg-deep) !important;
}

.hover\:bg-\[\#010705\]:hover,
.hover\:bg-\[\#010907\]:hover,
.hover\:bg-\[\#010c08\]:hover,
.hover\:bg-\[\#010d0a\]:hover,
.hover\:bg-\[\#010f0b\]:hover,
.hover\:bg-\[\#011410\]:hover,
.hover\:bg-\[\#011c15\]:hover,
.hover\:bg-\[\#021a14\]:hover,
.hover\:bg-\[\#021b16\]:hover,
.hover\:bg-\[\#061812\]:hover {
    background-color: var(--brand-bg-deep) !important;
}

.bg-\[\#010705\]\/50,
.bg-\[\#010907\]\/50,
.bg-\[\#010c08\]\/50,
.bg-\[\#010d0a\]\/10,
.bg-\[\#010d0a\]\/20,
.bg-\[\#010d0a\]\/30,
.bg-\[\#010d0a\]\/50,
.bg-\[\#011c15\]\/90 {
    background-color: rgba(var(--brand-bg-deep-rgb), 0.45) !important;
}

/* 2. Sidebars, Headers and Footers (Dynamic Surface Integration) */
#sidebar {
    background-color: rgba(var(--brand-surface-rgb, 2, 44, 34), 0.95) !important;
    border-color: var(--brand-border-final) !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--brand-primary-rgb, 16, 185, 129), 0.25) transparent;
}

#sidebar .text-gray-400,
#sidebar .text-slate-400,
#sidebar .text-zinc-400 {
    color: #94a3b8 !important;
    opacity: 0.7 !important;
}

#sidebar .nav-item:hover .text-gray-400,
#sidebar .nav-item.bg-emerald-600\/15 .text-gray-400 {
    color: #ffffff !important;
    opacity: 1 !important;
}

header nav,
footer {
    background-color: var(--brand-bg-surface) !important;
    border-color: var(--brand-border-final) !important;
}

/* 3. Navigation Active States with Glowing borders */
.nav-item.bg-emerald-600\/15 {
    background-color: rgba(var(--brand-primary-rgb), 0.12) !important;
    color: var(--brand-primary) !important;
    border-left: 3px solid var(--brand-primary) !important;
    box-shadow: 0 0 15px rgba(var(--brand-primary-rgb), 0.1) !important;
}

/* 4. Glass Cards, Modals and Stat Blocks */

.modal-content,
[class*="bg-[#022c22]"].border-emerald-500\/20 {
    background-color: var(--brand-bg-surface) !important;
    border: 1px solid var(--brand-border-final) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5),
        0 0 30px rgba(var(--brand-primary-rgb), 0.15) !important;
}

/* 5. Interactive Buttons & Hover states with Glowing shine effects */
.bg-emerald-600 {
    background: linear-gradient(135deg, var(--brand-primary) 0%, rgba(var(--brand-primary-rgb), 0.8) 100%) !important;
    color: var(--brand-btn-text, #ffffff) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.2) !important;
    box-shadow: 0 4px 14px 0 rgba(var(--brand-primary-rgb), 0.3) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

.bg-emerald-600::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    transition: all 0.6s ease;
}

.bg-emerald-600:hover {
    background-color: rgba(var(--brand-primary-rgb), 0.85) !important;
    box-shadow: 0 6px 20px 0 rgba(var(--brand-primary-rgb), 0.45),
        0 0 15px rgba(var(--brand-primary-rgb), 0.2) !important;
    transform: translateY(-1px);
}

.bg-emerald-600:hover::after {
    left: 100%;
}

.border-emerald-500\/10,
.border-emerald-500\/20 {
    border-color: rgba(var(--brand-primary-rgb), 0.15) !important;
}



/* Global Emerald/Green/Teal border overrides */
[class*="border-emerald-"],
[class*="border-green-"],
[class*="border-teal-"] {
    border-color: var(--brand-border-final) !important;
}

[class*="border-emerald-"]:hover,
[class*="border-green-"]:hover,
[class*="border-teal-"]:hover {
    border-color: rgba(var(--brand-primary-rgb), 0.35) !important;
}

/* 6. Dynamic Tables and Scrollbars */
table tr[class*="bg-[#010d0a]/10"],
table tr[class*="bg-[#010d0a]/20"],
table tr.bg-\[\#010d0a\]\/10,
table tr.bg-\[\#010d0a\]\/20 {
    background-color: rgba(var(--brand-primary-rgb), 0.08) !important;
}

table tr:hover {
    background-color: rgba(var(--brand-surface-rgb), 0.3) !important;
}

/* 7. Dropdowns & Tom Select Dynamic Integration */
.ts-control,
.ts-control input {
    color: var(--brand-text-main) !important;
}

.ts-dropdown {
    background: var(--brand-bg-surface) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.2) !important;
    color: var(--brand-text-main) !important;
}

.ts-dropdown .active {
    background: var(--brand-primary) !important;
    color: var(--brand-btn-text, #ffffff) !important;
}

.ts-wrapper.focus .ts-control {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--brand-primary-rgb), 0.1) !important;
}

/* ==========================================================================
   ADVANCED GRADIENT & SPECIFIC WIDGET OVERRIDES (LANDING & SPECIAL WIDGETS)
   ========================================================================== */

/* Hijack Landing Honor Hall / Honor Roll gradient backgrounds */
[class*="from-[#010907]"][class*="to-[#010d0a]"] {
    background-image: linear-gradient(to bottom, var(--brand-bg-deep), var(--brand-bg-surface)) !important;
}

/* Hijack footer and banner gradients */
[class*="from-[#022c22]"][class*="via-[#010d0a]"][class*="to-[#022c22]"] {
    background-image: linear-gradient(to bottom right, var(--brand-bg-surface), var(--brand-bg-deep), var(--brand-bg-surface)) !important;
}

[class*="from-[#022c22]/80"][class*="to-[#011c15]/90"] {
    background-image: linear-gradient(to bottom right, rgba(var(--brand-surface-rgb), 0.8), rgba(var(--brand-bg-deep-rgb), 0.9)) !important;
}

[class*="to-[#010705]/50"] {
    background-image: linear-gradient(to bottom, transparent, rgba(var(--brand-bg-deep-rgb), 0.5)) !important;
}

/* Fix Scroll to Top button completely (independent position, sizes and visibility) */
#scrollToTop {
    position: fixed !important;
    bottom: 2rem !important;
    right: 2rem !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    border-radius: 1rem !important;
    background: linear-gradient(135deg, var(--brand-primary) 0%, rgba(var(--brand-primary-rgb), 0.85) 100%) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.25) !important;
    box-shadow: 0 10px 25px -5px rgba(var(--brand-primary-rgb), 0.45) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

#scrollToTop.show {
    opacity: 1 !important;
    visibility: visible !important;
}

#scrollToTop:hover {
    background: linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.9) 0%, var(--brand-primary) 100%) !important;
    box-shadow: 0 15px 30px -5px rgba(var(--brand-primary-rgb), 0.6) !important;
    transform: translateY(-3px) scale(1.1) !important;
}

/* Global Select Options Hijacking */
select option {
    background-color: var(--brand-bg-surface) !important;
    color: var(--brand-text-main, #ffffff) !important;
}

/* Global Override for Glass Modal to adhere to Brand Identity */
.glass-modal {
    background: rgba(var(--brand-surface-rgb), 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.3) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7) !important;
    color: var(--brand-text-main, #ffffff) !important;
}

/* Force headings and main layout inputs to follow custom typography */
body,
h1,
h2,
h3,
h4,
h5,
h6,
input,
select,
textarea,
button,
table,
th,
td,
span,
a {
    font-family: var(--brand-font, inherit) !important;
}

/* Global Contrast Safeguard for buttons with brand backgrounds */
.bg-emerald-500,
.bg-emerald-600,
.bg-emerald-700,
.bg-primary,
.bg-accent {
    color: var(--brand-btn-text, #ffffff) !important;
}

/* Input placeholders contrast optimization */
::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--brand-text-muted, rgba(255, 255, 255, 0.4)) !important;
    opacity: 0.7 !important;
}

/* Global Style Attribute Hijacking (for inline styles) */
[style*="#022c22"],
[style*="#012b23"],
[style*="#033c2e"] {
    background-color: var(--brand-bg-surface) !important;
}

[style*="#010d0a"],
[style*="#010705"],
[style*="#010907"] {
    background-color: var(--brand-bg-deep) !important;
}

[style*="border-emerald-"],
[style*="border-green-"] {
    border-color: rgba(var(--brand-primary-rgb), 0.15) !important;
}

/* --- FULLCALENDAR & CALENDAR WIDGETS DYNAMIC THEMING --- */
.fc {
    background: rgba(var(--brand-surface-rgb), 0.4) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.15) !important;
}

.fc-col-header {
    background: rgba(var(--brand-surface-rgb), 0.65) !important;
}

.fc-button-active {
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: var(--brand-btn-text, #ffffff) !important;
    box-shadow: 0 8px 20px rgba(var(--brand-primary-rgb), 0.3) !important;
}

.fc-today-button {
    background: rgba(var(--brand-primary-rgb), 0.1) !important;
    border-color: var(--brand-primary) !important;
    color: var(--brand-primary) !important;
}

.fc-today-button:disabled {
    background: var(--brand-primary) !important;
    color: var(--brand-btn-text, #ffffff) !important;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.2) !important;
}

.filter-select {
    background: rgba(var(--brand-surface-rgb), 0.5) !important;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.15) !important;
    color: var(--brand-text-main, #f8fafc) !important;
}

.filter-select option {
    background-color: var(--brand-bg-surface) !important;
    color: var(--brand-text-main, #ffffff) !important;
}

/* FullCalendar event colors and text colors */
.fc-event {
    background-color: rgba(var(--brand-primary-rgb), 0.15) !important;
    border-left: 3px solid var(--brand-accent) !important;
}

.fc-event-title {
    color: var(--brand-text-main) !important;
}

/* FullCalendar Table border and header overrides */
.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
    border-color: rgba(var(--brand-primary-rgb), 0.15) !important;
}

.fc-col-header-cell {
    background-color: rgba(var(--brand-surface-rgb), 0.3) !important;
}

.fc-day-today {
    background-color: rgba(var(--brand-primary-rgb), 0.05) !important;
}

/* Custom calendar loader */
#calendar-loader {
    background-color: rgba(var(--brand-bg-deep-rgb), 0.4) !important;
}

#calendar-loader .animate-spin {
    border-color: rgba(var(--brand-primary-rgb), 0.2) !important;
    border-top-color: var(--brand-primary) !important;
}

/* Global text and background overrides for green/emerald classes */
[class*="bg-emerald-500/10"],
[class*="bg-emerald-500/20"],
[class*="bg-emerald-600/20"] {
    background-color: rgba(var(--brand-primary-rgb), 0.15) !important;
}

[class*="bg-emerald-600/15"] {
    background-color: rgba(var(--brand-primary-rgb), 0.12) !important;
}

[class*="bg-emerald-500/5"] {
    background-color: rgba(var(--brand-primary-rgb), 0.05) !important;
}

[class*="shadow-emerald-"] {
    box-shadow: 0 10px 25px -5px rgba(var(--brand-primary-rgb), 0.3) !important;
}

[class*="ring-emerald-"] {
    --tw-ring-color: rgba(var(--brand-primary-rgb), 0.2) !important;
}

/* --- Deeper Pass: Global Blue/Indigo/Purple/Fuchsia Overrides to support Accent dynamic theme --- */
[class*="text-blue-50"],
[class*="text-indigo-50"],
[class*="text-purple-50"],
[class*="text-fuchsia-50"],
[class*="text-blue-100"],
[class*="text-indigo-100"],
[class*="text-purple-100"],
[class*="text-fuchsia-100"],
[class*="text-blue-200"],
[class*="text-indigo-200"],
[class*="text-purple-200"],
[class*="text-fuchsia-200"] {
    color: var(--brand-text-main, #ffffff) !important;
    opacity: 0.95 !important;
}

[class*="text-blue-300"],
[class*="text-indigo-300"],
[class*="text-purple-300"],
[class*="text-fuchsia-300"],
[class*="text-blue-400"],
[class*="text-indigo-400"],
[class*="text-purple-400"],
[class*="text-fuchsia-400"],
[class*="text-blue-500"],
[class*="text-indigo-500"],
[class*="text-purple-500"],
[class*="text-fuchsia-500"],
[class*="text-blue-600"],
[class*="text-indigo-600"],
[class*="text-purple-600"],
[class*="text-fuchsia-600"],
[class*="text-blue-700"],
[class*="text-indigo-700"],
[class*="text-purple-700"],
[class*="text-fuchsia-700"],
[class*="text-blue-800"],
[class*="text-indigo-800"],
[class*="text-purple-800"],
[class*="text-fuchsia-800"],
[class*="text-blue-900"],
[class*="text-indigo-900"],
[class*="text-purple-900"],
[class*="text-fuchsia-900"] {
    color: var(--brand-accent) !important;
}

[class*="bg-blue-500/10"],
[class*="bg-blue-500/20"],
[class*="bg-blue-600/20"],
[class*="bg-indigo-500/10"],
[class*="bg-indigo-500/20"],
[class*="bg-indigo-600/20"],
[class*="bg-purple-500/10"],
[class*="bg-purple-500/20"],
[class*="bg-purple-600/20"],
[class*="bg-fuchsia-500/10"],
[class*="bg-fuchsia-500/20"],
[class*="bg-fuchsia-600/20"] {
    background-color: rgba(var(--brand-accent-rgb), 0.15) !important;
}

[class*="bg-blue-600/15"],
[class*="bg-indigo-600/15"],
[class*="bg-purple-600/15"],
[class*="bg-fuchsia-600/15"] {
    background-color: rgba(var(--brand-accent-rgb), 0.12) !important;
}

[class*="bg-blue-500/5"],
[class*="bg-indigo-500/5"],
[class*="bg-purple-500/5"],
[class*="bg-fuchsia-500/5"] {
    background-color: rgba(var(--brand-accent-rgb), 0.05) !important;
}

[class*="shadow-blue-"],
[class*="shadow-indigo-"],
[class*="shadow-purple-"],
[class*="shadow-fuchsia-"] {
    box-shadow: 0 10px 25px -5px rgba(var(--brand-accent-rgb), 0.3) !important;
}

[class*="ring-blue-"],
[class*="ring-indigo-"],
[class*="ring-purple-"],
[class*="ring-fuchsia-"] {
    --tw-ring-color: rgba(var(--brand-accent-rgb), 0.2) !important;
}