/* Premium Theme & Glassmorphism */

:root {
    --fi-sidebar-width: 280px;
    --fi-border-radius: 16px;
    --primary-color: #4f46e5; /* Indigo 600 */
}

body {
    background-color: #f8fafc;
    background-image: 
        radial-gradient(at 0% 0%, rgba(79, 70, 229, 0.05) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.05) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(79, 70, 229, 0.05) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(59, 130, 246, 0.05) 0px, transparent 50%);
    background-attachment: fixed;
}

.dark body {
    background-color: #020617; /* Deep Slate */
    background-image: 
        radial-gradient(at 0% 0%, rgba(79, 70, 229, 0.08) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.08) 0px, transparent 50%);
}

/* Glassmorphism sidebar */
.fi-sidebar {
    background: rgba(255, 255, 255, 0.4) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.dark .fi-sidebar {
    background: rgba(15, 23, 42, 0.6) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.04) !important;
}

/* Glassmorphism topbar */
.fi-topbar {
    background: rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.02) !important;
}

.dark .fi-topbar {
    background: rgba(15, 23, 42, 0.5) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.02) !important;
}

/* Unified Premium Card & Section aesthetic */
.fi-section, .fi-ta-content, .fi-ta-ctn, .fi-card {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(12px) !important;
    border-radius: var(--fi-border-radius) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.02), 0 2px 10px -2px rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    margin-bottom: 1.5rem !important;
}

.dark .fi-section, .dark .fi-ta-content, .dark .fi-ta-ctn, .dark .fi-card {
    background: rgba(30, 41, 59, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    box-shadow: none !important;
}

/* Table Refinements */
.fi-ta-header-cell {
    background: rgba(0, 0, 0, 0.01) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
}

.dark .fi-ta-header-cell {
    background: rgba(255, 255, 255, 0.01) !important;
}

/* Sidebar Item Animation */
.fi-sidebar-item-button {
    border-radius: 10px !important;
    margin: 4px 12px !important;
    padding: 8px 12px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fi-sidebar-item-button:hover {
    background: rgba(79, 70, 229, 0.08) !important;
    transform: translateX(6px);
}

.fi-sidebar-item-active .fi-sidebar-item-button {
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.15), rgba(79, 70, 229, 0.05)) !important;
    color: var(--primary-color) !important;
    font-weight: 600 !important;
    box-shadow: inset 2px 0 0 var(--primary-color);
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.1); border-radius: 10px; }
.dark ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.05); }

/* Premium Shimmer Badge */
.fi-badge-color-warning {
    animation: goldShimmer 3s infinite linear;
    background: linear-gradient(90deg, #ca8a04 0%, #fef08a 50%, #ca8a04 100%);
    background-size: 200% 100%;
    border: none !important;
    box-shadow: 0 2px 8px rgba(202, 138, 4, 0.3);
}

@keyframes goldShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}