/* CUSTOM FILAMENT MODERN PREMIUM THEME */

/* Google Font Import */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

/* Global Body Styles */
body, .fi-layout {
    font-family: 'Poppins', sans-serif !important;
    background-color: #f7f9fa !important;
}

/* Premium Sidebar Customization */
.fi-sidebar {
    background-color: #ffffff !important;
    border-right: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.01) !important;
}

/* Reclaim horizontal space for narrower sidebar */
.fi-sidebar.fi-sidebar-open .fi-sidebar-header {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.fi-sidebar.fi-sidebar-open .fi-sidebar-nav {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Make ALL Sidebar Items Fully Rounded Capsule Shapes (Glessa Style) */
.fi-sidebar-open .fi-sidebar-item-button,
.fi-sidebar-open .fi-sidebar-item > a,
.fi-sidebar-open .fi-sidebar-item > div > a,
.fi-sidebar-open .fi-sidebar-group-item a,
.fi-sidebar-open .fi-sidebar-item.fi-active > a,
.fi-sidebar-open .fi-sidebar-item.fi-active > div > a {
    border-radius: 9999px !important; /* Fully rounded capsule shape! */
    margin: 4px 6px !important; /* Reduced from 4px 12px to reclaim horizontal space */
    padding-left: 14px !important; /* Reduced from 20px to shift text left */
    transition: all 0.3s ease !important;
}

/* Sidebar Active Item Pill (Glessa Gold Gradient Override if active class is applied) */
.fi-sidebar-item.fi-active > a, 
.fi-sidebar-item.fi-active > div > a {
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    color: #000000 !important;
    box-shadow: 0 10px 22px rgba(223, 175, 73, 0.3) !important;
}

.fi-sidebar-item.fi-active > a .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active > div > a .fi-sidebar-item-icon {
    color: #000000 !important;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #000000 !important;
}

/* Sidebar Inactive Hover Effect */
.fi-sidebar-item > a:hover,
.fi-sidebar-item-button:hover {
    background-color: rgba(223, 175, 73, 0.08) !important;
    color: #dfaf49 !important;
}

.fi-sidebar-item > a:hover .fi-sidebar-item-icon,
.fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #dfaf49 !important;
}

/* Modern Header Navbar Styling */
.fi-topbar-ctn {
    z-index: 35 !important; /* Stand above main layout (0) but below fixed sidebar (40) */
}

.fi-topbar {
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

/* Premium Custom Topbar Sidebar Toggle Button Styling */
.fi-topbar-start button,
.fi-topbar-start .fi-icon-btn {
    color: #94a3b8 !important;
    background-color: transparent !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 10px !important;
    width: 36px !important;
    height: 36px !important;
    transition: all 0.2s ease !important;
}

.dark .fi-topbar-start button,
.dark .fi-topbar-start .fi-icon-btn {
    border-color: rgba(30, 41, 59, 0.8) !important;
}

.fi-topbar-start button:hover,
.fi-topbar-start .fi-icon-btn:hover {
    background-color: rgba(223, 175, 73, 0.1) !important;
    border-color: rgba(223, 175, 73, 0.3) !important;
    color: #dfaf49 !important;
    box-shadow: 0 0 10px rgba(223, 175, 73, 0.15) !important;
}

/* ==========================================================================
   🖥️ FULL-HEIGHT SIDEBAR LAYOUT (Sidebar extends to top of viewport)
   ========================================================================== */
@media (min-width: 1024px) {
    /* Sidebar: full height from top of viewport, above topbar */
    .fi-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        z-index: 40 !important;
    }

    /* Expanded Sidebar Width */
    .fi-sidebar.fi-sidebar-open {
        width: 16rem !important;
        transition: width 0.25s ease-in-out !important;
    }

    /* Collapsed Sidebar Width & Layout styling for icon visibility and premium style */
    .fi-sidebar:not(.fi-sidebar-open) {
        width: 5rem !important;
        transition: width 0.25s ease-in-out !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-nav {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-btn {
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 6px auto !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Transition for main content and topbar sizing changes */
    .fi-main,
    .fi-topbar {
        transition: margin-inline-start 0.25s ease-in-out, width 0.25s ease-in-out !important;
    }



    /* DEFAULT STATE: Expanded (when sidebar is open / .sidebar-open-state class is active on body) */
    body.sidebar-open-state .fi-main,
    body.sidebar-open-state .fi-topbar {
        margin-inline-start: 16rem !important; /* Matches expanded sidebar width */
        width: calc(100% - 16rem) !important;
    }

    /* COLLAPSED STATE: Closed (when sidebar is narrow / .sidebar-open-state class is NOT active on body) */
    body:not(.sidebar-open-state) .fi-main,
    body:not(.sidebar-open-state) .fi-topbar {
        margin-inline-start: 5rem !important; /* Matches collapsed sidebar width */
        width: calc(100% - 5rem) !important;
    }

    /* Ensure the sidebar logo stays visible */
    .fi-sidebar-header .fi-logo,
    .fi-sidebar-header .brand-logo-wrapper {
        display: flex !important;
    }

    /* Hide topbar duplicate brand logo/wrapper on desktop */
    .fi-topbar-start a:has(.brand-logo-wrapper),
    .fi-topbar-start .brand-logo-wrapper,
    .fi-topbar-brand {
        display: none !important;
    }
}

/* Hide default topbar actions (user menu, theme toggle, and database notifications) */
.fi-topbar .fi-user-menu,
.fi-topbar .fi-theme-toggle,
.fi-topbar .fi-database-notifications {
    display: none !important;
}

/* Modern Card Customization (Widgets, Forms, Resources) */
.fi-section, 
.fi-wi-stats-overview-stat,
.fi-card,
.fi-ta-ctn,
.fi-modal-window {
    border-radius: 1.75rem !important; /* Highly rounded 28px corners */
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    background-color: #ffffff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s ease !important;
}

.fi-section {
    overflow: visible !important;
}

/* Premium Gold Section Headers */
.fi-section-header {
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    padding: 1.25rem 1.5rem !important;
}

.fi-section-header-heading {
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    letter-spacing: -0.01em !important;
    font-family: 'Poppins', sans-serif !important;
}

.fi-section-header-description {
    color: rgba(15, 23, 42, 0.7) !important;
    font-weight: 500 !important;
    margin-top: 0.25rem !important;
}

/* Collapse or action buttons inside gold header */
.fi-section-header .fi-icon-btn,
.fi-section-header .fi-section-collapse-btn,
.fi-section-header button {
    color: #0f172a !important;
}

.fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(223, 175, 73, 0.2) !important;
}

/* Stat Widgets Styling (Similar to Glessa Dashboard) */
.fi-wi-stats-overview-stat {
    position: relative;
    overflow: hidden;
}

/* Custom rounded corners for inputs, wrappers, dropdowns, and buttons */
input, select, textarea, .fi-input-wrp, .fi-dropdown-panel, .fi-btn {
    border-radius: 1rem !important; /* Soft rounded 16px corners */
}

.fi-btn-color-primary {
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    box-shadow: 0 6px 16px rgba(223, 175, 73, 0.2) !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.fi-btn-color-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(223, 175, 73, 0.3) !important;
}

/* Dashboard Welcoming Text Styling */
h1.fi-header-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #0f172a !important;
}

.fi-main,
.fi-content,
.fi-content-ctn,
.fi-page,
.fi-page-wrapper,
.fi-layout,
main {
    max-width: none !important;
}

/* Consistent Layout Spacing (Reduce top whitespace on all pages) */
.fi-main {
    padding-top: 1.25rem !important; /* Bring content closer to topbar */
    padding-bottom: 2rem !important;
}

.fi-header {
    margin-bottom: 1.25rem !important; /* Reduce space below page title */
}

.fi-content,
.fi-content-ctn,
.fi-page,
.fi-page-wrapper,
.fi-layout {
    width: 100% !important;
}

@media (max-width: 1023px) {
    .fi-main, main {
        width: 100% !important;
        max-width: none !important;
        margin-inline-start: 0 !important;
    }
}

/* Responsive Mobile & Tablet Sidebar Auto-Hide (Bypass persistent local storage & tablet squeezed sidebar) */
@media (max-width: 1023px) {
    /* Sembunyikan sidebar hanya jika TIDAK dalam state terbuka (tidak punya kelas fi-sidebar-open) */
    .fi-sidebar:not(.fi-sidebar-open) {
        transform: translateX(-100%) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        z-index: 40 !important;
    }
    
    /* Tampilkan penuh saat tombol hamburger diklik (punya kelas fi-sidebar-open) */
    .fi-sidebar.fi-sidebar-open {
        width: 16rem !important;
        transform: translateX(0) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        z-index: 40 !important;
        box-shadow: 16px 0 48px rgba(0, 0, 0, 0.15) !important;
    }
}

/* ================= SYSTEM DARK MODE SUPPORT ================= */
.dark body, .dark .fi-layout {
    background-color: #0b0f19 !important;
}

/* Sidebar Customization */
.dark .fi-sidebar {
    background-color: #0f172a !important;
    border-right: 1px solid #1e293b !important;
}

.dark .fi-sidebar-item-button,
.dark .fi-sidebar-item > a,
.dark .fi-sidebar-item > div > a,
.dark .fi-sidebar-group-item a {
    color: #94a3b8 !important;
}

/* Sidebar Active State */
.dark .fi-sidebar-item.fi-active > a, 
.dark .fi-sidebar-item.fi-active > div > a {
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    color: #000000 !important;
    box-shadow: 0 10px 22px rgba(223, 175, 73, 0.25) !important;
}

.dark .fi-sidebar-item.fi-active > a .fi-sidebar-item-icon,
.dark .fi-sidebar-item.fi-active > div > a .fi-sidebar-item-icon {
    color: #000000 !important;
}

.dark .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #000000 !important;
}

/* Sidebar Inactive Hover */
.dark .fi-sidebar-item > a:hover,
.dark .fi-sidebar-item-button:hover {
    background-color: rgba(223, 175, 73, 0.15) !important;
    color: #dfaf49 !important;
}

.dark .fi-sidebar-item > a:hover .fi-sidebar-item-icon,
.dark .fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #dfaf49 !important;
}

/* Sidebar Sections / Labels */
.dark .fi-sidebar-group-label {
    color: #64748b !important;
}

/* Topbar / Header */
.dark .fi-topbar {
    background-color: rgba(15, 23, 42, 0.95) !important;
    border-bottom: 1px solid #1e293b !important;
}

/* Sidebar Promo Footer Widget */
.fi-sidebar-promo-footer {
    background-color: #ffffff !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.dark .fi-sidebar-promo-footer {
    background-color: #0f172a !important;
    border-top: 1px solid #1e293b !important;
}

/* Filament Sections, Tables, Cards, Modals and Widgets in Dark Mode */
.dark .fi-section, 
.dark .fi-wi-stats-overview-stat,
.dark .fi-card,
.dark .fi-ta-ctn,
.dark .fi-modal-window {
    background-color: #0f172a !important; /* Matches dark sidebar theme */
    border: 1px solid #1e293b !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

.dark .fi-wi-stats-overview-stat:hover {
    border-color: rgba(223, 175, 73, 0.4) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3) !important;
}

.dark h1.fi-header-title {
    color: #ffffff !important;
}

/* Show only centered logo image when sidebar is collapsed */
.fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header-logo-ctn {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.fi-sidebar:not(.fi-sidebar-open) .brand-logo-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.fi-sidebar:not(.fi-sidebar-open) .brand-text {
    display: none !important;
}

/* Sidebar collapse/expand toggle button (inside sidebar header) */
.fi-sidebar-collapse-toggle {
    display: none; /* Hidden on mobile */
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    color: #94a3b8;
    background: transparent;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: auto;
}

.fi-sidebar-collapse-toggle:hover {
    background: rgba(223, 175, 73, 0.15);
    color: #dfaf49;
}

@media (min-width: 1024px) {
    .fi-sidebar-collapse-toggle {
        display: flex;
    }

    /* When sidebar is collapsed on desktop, adjust header layout to vertical flow and center elements */
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 16px !important;
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .brand-logo-wrapper {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-collapse-toggle {
        margin: 0 auto !important;
        /* Add a soft outline/background in collapsed state to make it look premium and clearly clickable */
        background: rgba(223, 175, 73, 0.08) !important;
        color: #dfaf49 !important;
        border: 1px solid rgba(223, 175, 73, 0.2) !important;
        display: flex !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-collapse-toggle:hover {
        background: rgba(223, 175, 73, 0.2) !important;
        box-shadow: 0 0 8px rgba(223, 175, 73, 0.3) !important;
    }
}

/* ==========================================================================
   🔑 MODERN CLEAN LOGIN PAGE CUSTOMIZATION (Task 4.4)
   ========================================================================== */

/* 1. Force background on html, body, and all page wrappers */
html:has(.fi-simple-layout),
body:has(.fi-simple-layout),
body.fi-body:has(.fi-simple-layout),
.fi-simple-layout,
.fi-simple-main-ctn {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    transition: background 0.3s ease, background-color 0.3s ease !important;
}

.dark html:has(.fi-simple-layout),
.dark body:has(.fi-simple-layout),
.dark body.fi-body:has(.fi-simple-layout),
.dark .fi-simple-layout,
.dark .fi-simple-main-ctn {
    background: #0b0f19 !important;
    background-color: #0b0f19 !important;
}

/* 2. Login Layout Core */
.fi-simple-layout {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
}

/* No glowing blobs in background */
.fi-simple-layout::before,
.fi-simple-layout::after {
    display: none !important;
}

/* 3. Transparent Outer Main Wrapper */
.fi-simple-layout .fi-simple-main,
.fi-simple-layout .fi-simple-main-ctn,
.fi-simple-layout main.fi-simple-page {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 4. Main Card Container */
.fi-simple-layout .fi-simple-page {
    border-radius: 1.75rem !important; /* Premium 28px corners */
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    background: #ffffff !important; /* Light mode solid background */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04) !important;
    padding: 3.5rem 2.5rem !important;
    transition: all 0.3s ease !important;
    max-width: 28rem !important; /* Perfect luxury centered card width */
    width: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.dark .fi-simple-layout .fi-simple-page {
    border: 1px solid #232d45 !important;
    background: #182033 !important; /* Slightly lighter deep navy-slate in dark mode */
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.fi-simple-layout .fi-simple-page:hover {
    border-color: rgba(223, 175, 73, 0.5) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.08) !important;
}

.dark .fi-simple-layout .fi-simple-page:hover {
    border-color: #dfaf49 !important;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6) !important;
}

.fi-simple-layout .fi-simple-page-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* Disable any other generic section styling */
.fi-simple-layout section,
.fi-simple-layout .fi-simple-page-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 5. Logo / Brand Styling on Login Page - Display Logo and Text Elegant */
.fi-simple-layout .fi-logo img:not(.brand-logo-img),
.fi-simple-layout .fi-simple-header img:not(.brand-logo-img),
.fi-simple-layout div.flex.items-center.gap-3 img:not(.brand-logo-img) {
    display: none !important;
}

.fi-simple-layout .fi-logo,
.fi-simple-layout .fi-simple-header .fi-logo {
    height: auto !important;
    display: block !important;
    margin-bottom: 0.2rem !important; /* Reduced from 0.5rem */
}

.fi-simple-layout div.flex.items-center.gap-3 {
    justify-content: center !important;
    flex-direction: column !important;
    gap: 0.35rem !important; /* Reduced from 0.5rem */
    width: 100% !important;
}

.fi-simple-layout .brand-logo-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important; /* Reduced from 0.75rem */
    width: 100% !important;
}

.fi-simple-layout .brand-logo-img {
    display: block !important;
    height: 4.5rem !important; /* 72px for a perfectly balanced logo */
    width: auto !important;
    object-fit: contain !important;
    border-radius: 0.5rem !important;
    transition: transform 0.2s ease !important;
}

.fi-simple-layout .brand-logo-img:hover {
    transform: scale(1.05) !important;
}

.fi-simple-layout div.flex.items-center.gap-3 span,
.fi-simple-layout .brand-text {
    font-size: 1.125rem !important; /* Made smaller as requested */
    font-weight: 600 !important;
    background: linear-gradient(135deg, #0f172a 0%, #334155 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

.dark .fi-simple-layout div.flex.items-center.gap-3 span,
.dark .fi-simple-layout .brand-text {
    background: linear-gradient(135deg, #ffffff 0%, #cbd5e1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.fi-simple-layout .fi-simple-header {
    gap: 0.65rem !important; /* Reduced layout vertical gap between logo and page title */
}

/* 6. Header Texts (Login Title & Subtitle) */
.fi-simple-layout h1,
.fi-simple-layout .fi-simple-header-heading {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.875rem !important;
    letter-spacing: -0.03em !important;
    background: linear-gradient(135deg, #dfaf49 0%, #c18d32 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    margin-top: 0.2rem !important; /* Reduced from 0.75rem */
    text-align: center !important;
}

.fi-simple-layout p,
.fi-simple-layout .fi-simple-header-sub {
    color: #64748b !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
}

.dark .fi-simple-layout p,
.dark .fi-simple-layout .fi-simple-header-sub {
    color: #94a3b8 !important;
}

/* 7. Form Fields & Floating Labels styling */
.fi-simple-layout form {
    margin-top: 1.5rem !important;
}

.fi-simple-layout label,
.fi-simple-layout .fi-fo-field-label,
.fi-simple-layout .fi-fo-field-label span,
.fi-simple-layout .fi-simple-page label {
    color: #475569 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.03em !important;
}

.dark .fi-simple-layout label,
.dark .fi-simple-layout .fi-fo-field-label,
.dark .fi-simple-layout .fi-fo-field-label span,
.dark .fi-simple-layout .fi-simple-page label {
    color: #cbd5e1 !important;
}

/* 8. Translucent Premium Inputs */
.fi-simple-layout .fi-input-wrp {
    background-color: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 1) !important;
    border-radius: 0.875rem !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.3s ease !important;
    padding: 0.25rem 0.5rem !important;
}

.dark .fi-simple-layout .fi-input-wrp {
    background-color: rgba(15, 23, 42, 0.65) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

.fi-simple-layout .fi-input-wrp:focus-within {
    border-color: #dfaf49 !important;
    box-shadow: none !important;
    outline: none !important;
    background-color: #ffffff !important;
}

.dark .fi-simple-layout .fi-input-wrp:focus-within {
    border-color: #dfaf49 !important;
    box-shadow: none !important;
    outline: none !important;
    background-color: rgba(15, 23, 42, 0.85) !important;
}

/* Force standard input to be completely transparent inside the wrapper */
.fi-simple-layout input,
.fi-simple-layout .fi-input,
.fi-simple-layout .fi-input-wrp input {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #0f172a !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    outline: none !important;
    border-radius: 0 !important; /* Reset rounded corners on inner input */
}

.dark .fi-simple-layout input,
.dark .fi-simple-layout .fi-input,
.dark .fi-simple-layout .fi-input-wrp input {
    color: #ffffff !important;
}

/* Handle Chrome/Edge/Safari Autofill styles */
.fi-simple-layout input:-webkit-autofill,
.fi-simple-layout input:-webkit-autofill:hover, 
.fi-simple-layout input:-webkit-autofill:focus, 
.fi-simple-layout input:-webkit-autofill:active,
.fi-simple-layout .fi-input:-webkit-autofill,
.fi-simple-layout .fi-input-wrp input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #0f172a !important;
    caret-color: #0f172a !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

.dark .fi-simple-layout input:-webkit-autofill,
.dark .fi-simple-layout input:-webkit-autofill:hover, 
.dark .fi-simple-layout input:-webkit-autofill:focus, 
.dark .fi-simple-layout input:-webkit-autofill:active,
.dark .fi-simple-layout .fi-input:-webkit-autofill,
.dark .fi-simple-layout .fi-input-wrp input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px rgba(15, 23, 42, 0.9) inset !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
}

/* Eye / Hide password toggle button inside input wrapper */
.fi-simple-layout .fi-input-wrp button,
.fi-simple-layout .fi-input-wrp-action,
.fi-simple-layout .fi-input-wrp button[type="button"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #64748b !important;
    width: auto !important;
    height: auto !important;
    padding: 0 0.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: color 0.2s ease !important;
    cursor: pointer !important;
}

.dark .fi-simple-layout .fi-input-wrp button,
.dark .fi-simple-layout .fi-input-wrp-action,
.dark .fi-simple-layout .fi-input-wrp button[type="button"] {
    color: #94a3b8 !important;
}

.fi-simple-layout .fi-input-wrp button:hover,
.fi-simple-layout .fi-input-wrp-action:hover,
.fi-simple-layout .fi-input-wrp button[type="button"]:hover {
    color: #dfaf49 !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Checkbox Style */
.fi-simple-layout input[type="checkbox"] {
    background-color: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, 1) !important;
    border-radius: 0.375rem !important;
    color: #dfaf49 !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    margin-right: 0.5rem !important;
}

.dark .fi-simple-layout input[type="checkbox"] {
    background-color: rgba(15, 23, 42, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.fi-simple-layout input[type="checkbox"]:checked {
    background-color: #dfaf49 !important;
    border-color: #dfaf49 !important;
}

/* Remember Me container label */
.fi-simple-layout label:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center !important;
    color: #64748b !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}

.dark .fi-simple-layout label:has(input[type="checkbox"]) {
    color: #94a3b8 !important;
}

/* 9. Premium Gold Action Button */
.fi-simple-layout button[type="submit"],
.fi-simple-layout .fi-btn-color-primary {
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    color: #0f172a !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    letter-spacing: normal !important;
    border-radius: 0.875rem !important;
    padding: 0.875rem 1.5rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    width: 100% !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    text-transform: none !important;
}

.fi-simple-layout button[type="submit"]:hover,
.fi-simple-layout .fi-btn-color-primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
    color: #0f172a !important;
}

.fi-simple-layout button[type="submit"]:active,
.fi-simple-layout .fi-btn-color-primary:active {
    transform: translateY(0) !important;
}

/* 10. Text Links & Footers Style */
.fi-simple-layout a:not(.fi-btn) {
    color: #dfaf49 !important;
    font-weight: 700 !important;
    transition: color 0.2s ease !important;
    text-decoration: none !important;
}

.fi-simple-layout a:not(.fi-btn):hover {
    color: #e8ab32 !important;
    text-decoration: underline !important;
}

/* 11. Floating Theme Toggle Button styles */
.login-theme-toggle-btn {
    position: fixed !important;
    top: 1.5rem !important;
    right: 1.5rem !important;
    z-index: 50 !important;
    display: flex !important;
    height: 44px !important;
    width: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
}

.dark .login-theme-toggle-btn {
    background-color: #1e293b !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.login-theme-toggle-btn:hover {
    transform: scale(1.05) !important;
    border-color: rgba(223, 175, 73, 0.4) !important;
    background-color: #f8fafc !important;
}

.dark .login-theme-toggle-btn:hover {
    background-color: #0f172a !important;
    border-color: rgba(223, 175, 73, 0.4) !important;
}

/* ==========================================================================
   🌐 CUSTOM TOPBAR ACTIONS STYLING (For pages without Tailwind Play CDN)
   ========================================================================== */

.custom-topbar-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-left: auto !important;
}

.custom-topbar-btn {
    position: relative !important;
    display: flex !important;
    height: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background-color: #f3f4f6 !important; /* light mode fallback */
    border: 1px solid #e5e7eb !important;
    color: #374151 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.dark .custom-topbar-btn {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #cbd5e1 !important;
}

.custom-topbar-btn:hover {
    background-color: #e5e7eb !important;
    transform: scale(1.05) !important;
}

.dark .custom-topbar-btn:hover {
    background-color: #334155 !important;
}

/* Avatar button styling */
.custom-topbar-avatar-btn {
    position: relative !important;
    display: flex !important;
    height: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
    border: 1px solid #e5e7eb !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f3f4f6 !important;
}

.dark .custom-topbar-avatar-btn {
    border-color: #334155 !important;
    background-color: #1e293b !important;
}

.custom-topbar-avatar-btn:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 0 12px rgba(223, 175, 73, 0.3) !important;
}

.custom-topbar-avatar-img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Notification badge */
.custom-topbar-badge {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    display: block !important;
    height: 8px !important;
    width: 8px !important;
    border-radius: 9999px !important;
    background-color: #f97316 !important; /* orange-500 */
    box-shadow: 0 0 8px #f97316 !important;
}

/* Dropdown styling */
.custom-topbar-dropdown {
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    margin-top: 8px !important;
    width: 256px !important;
    border-radius: 16px !important;
    background-color: #ffffff !important;
    border: 1px solid #f3f4f6 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    z-index: 9999 !important;
}

.dark .custom-topbar-dropdown {
    background-color: #0f172a !important;
    border-color: #1e293b !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

.custom-topbar-dropdown-header {
    padding: 12px 16px !important;
    border-b: 1px solid #f3f4f6 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.dark .custom-topbar-dropdown-header {
    border-bottom: 1px solid #1e293b !important;
}

.custom-topbar-dropdown-avatar {
    height: 36px !important;
    width: 36px !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.custom-topbar-dropdown-info {
    min-width: 0 !important;
    flex: 1 !important;
    text-align: left !important;
}

.custom-topbar-dropdown-name {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.dark .custom-topbar-dropdown-name {
    color: #f9fafb !important;
}

.custom-topbar-dropdown-email {
    display: block !important;
    font-size: 10px !important;
    color: #9ca3af !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 2px !important;
}

.custom-topbar-dropdown-list {
    padding: 4px !important;
}

.custom-topbar-dropdown-item {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #e11d48 !important; /* rose-600 */
    border-radius: 12px !important;
    transition: background-color 0.15s ease !important;
    text-align: left !important;
    cursor: pointer !important;
}

.custom-topbar-dropdown-item:hover {
    background-color: #fff1f2 !important; /* rose-50 */
}

.dark .custom-topbar-dropdown-item:hover {
    background-color: rgba(225, 29, 72, 0.1) !important;
}

/* ==========================================================================
   🏢 BRAND LOGO SIDEBAR STYLING (For pages without Tailwind Play CDN)
   ========================================================================== */

.brand-logo-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important; /* Reduced from 12px */
    flex-direction: row !important;
}

.brand-logo-img {
    height: 26px !important; /* Reduced from 32px to save horizontal space */
    width: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
}

.brand-text {
    font-weight: 800 !important;
    font-size: 13.5px !important; /* Reduced from 15px to fit narrower layout without overlapping */
    letter-spacing: -0.035em !important; /* Tighter letter-spacing */
    color: #0f172a !important; /* light mode text */
    white-space: nowrap !important;
}

.dark .brand-text {
    color: #ffffff !important; /* dark mode text */
}

/* Force flex layout on sidebar header (even without Tailwind Play CDN) */
.fi-sidebar-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.fi-sidebar-header a.fi-logo {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Separate Stats Overview Cards & Remove Background Containers */
.fi-wi-stats-overview,
.fi-wi-stats-overview .fi-section,
.fi-wi-stats-overview .fi-sc-section {
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.dark .fi-wi-stats-overview,
.dark .fi-wi-stats-overview .fi-section,
.dark .fi-wi-stats-overview .fi-sc-section {
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.fi-wi-stats-overview-stats {
    gap: 20px !important;
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.fi-wi-stats-overview-stat {
    border-radius: 1.25rem !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    box-shadow: 0 10px 30px rgba(223, 175, 73, 0.15) !important;
    transition: all 0.25s ease !important;
    padding: 1.5rem !important; /* Spacious internal padding */
}

.dark .fi-wi-stats-overview-stat {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: linear-gradient(135deg, #dfaf49 0%, #e8ab32 100%) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    padding: 1.5rem !important;
}

.fi-wi-stats-overview-stat:hover,
.dark .fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(223, 175, 73, 0.25) !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

/* Stat card texts inside the gold background */
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label {
    color: #0f172a !important;
    font-weight: 700 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.95rem !important;
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 2.25rem !important; /* Larger font size */
    letter-spacing: 0.05em !important; /* Space out characters to prevent squishing */
    line-height: 1.1 !important;
    margin-top: 10px !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description span,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description span {
    color: rgba(15, 23, 42, 0.75) !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
    display: inline-block !important;
}

/* Icons inside the stats card */
.fi-wi-stats-overview-stat svg,
.dark .fi-wi-stats-overview-stat svg {
    color: #0f172a !important;
    opacity: 0.95 !important;
}

/* Custom Circular Avatar Upload with Gold Border */
.custom-avatar-upload {
    max-width: 150px !important;
    margin: 0 auto !important;
}
/* Completely hide the Filament default outer rectangular input wrapper for the avatar field */
.custom-avatar-upload .fi-input-wrp {
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
/* Completely hide the FilePond default background panel (which draws the rounded-square panels) */
.custom-avatar-upload .filepond--panel-root,
.custom-avatar-upload .filepond--panel {
    display: none !important;
}
.custom-avatar-upload .filepond--root {
    width: 150px !important;
    height: 150px !important;
    margin: 0 auto !important;
    border-radius: 50% !important;
    border: 5px solid #dfaf49 !important; /* Premium gold border always visible */
    background-image: var(--current-avatar) !important; /* Dynamically bound avatar URL or initials dynamic background */
    background-size: cover !important;
    background-position: center !important;
    background-color: #dfaf49 !important; /* Fallback gold color */
    box-shadow: 0 4px 16px rgba(223, 175, 73, 0.25) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    cursor: pointer !important;
}
/* When a valid file is successfully uploaded: hide the background dynamic image, background color, box shadow, and border of the root so they don't double up with the preview */
.custom-avatar-upload .filepond--root:has(.filepond--item:not([data-filepond-item-state*="error"]):not([data-filepond-item-state*="invalid"])) {
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important; /* Completely remove the border of root to allow children to use full 150px space without clipping */
}
.custom-avatar-upload .filepond--item-panel {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
/* The circular photo itself has a solid gold border */
.custom-avatar-upload .filepond--file-poster,
.custom-avatar-upload .filepond--image-preview {
    border-radius: 50% !important;
    border: 5px solid #dfaf49 !important;
    width: 150px !important;
    height: 150px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(223, 175, 73, 0.15) !important;
    box-sizing: border-box !important;
}
.custom-avatar-upload .filepond--file-poster-wrapper,
.custom-avatar-upload .filepond--image-preview-wrapper {
    border-radius: 50% !important;
    width: 150px !important;
    height: 150px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
/* Ensure the preview canvas and images scale cleanly inside the circular container */
.custom-avatar-upload .filepond--file-poster img,
.custom-avatar-upload .filepond--image-preview img,
.custom-avatar-upload .filepond--image-preview canvas,
.custom-avatar-upload .filepond--file-poster canvas,
.custom-avatar-upload .filepond--image-bitmap,
.custom-avatar-upload .filepond--image-clip,
.custom-avatar-upload .filepond--image-canvas {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
}
/* Force FilePond list-wrapper, list, item, and file elements to be a perfect 150x150 circle, bypassing dynamic JS height calculations */
.custom-avatar-upload .filepond--list-wrapper {
    width: 150px !important;
    height: 150px !important;
    overflow: visible !important;
}
.custom-avatar-upload .filepond--list {
    margin: 0 !important;
    padding: 0 !important;
    width: 150px !important;
    height: 150px !important;
    overflow: visible !important;
}
.custom-avatar-upload .filepond--item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    overflow: visible !important;
}
.custom-avatar-upload .filepond--file {
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    overflow: visible !important;
}
/* Premium and fully visible Remove Button ("x") */
.custom-avatar-upload .filepond--action-remove-item {
    background-color: #ef4444 !important; /* Elegant rose-red */
    color: #ffffff !important;
    border: 2px solid #ffffff !important; /* Sharp white border */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35) !important; /* Deep luxury shadow */
    opacity: 1 !important;
    z-index: 100 !important;
    top: 6px !important; /* Float beautifully inside the circle top-left */
    left: 6px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.custom-avatar-upload .filepond--action-remove-item:hover {
    background-color: #dc2626 !important;
    transform: scale(1.1) !important;
    box-shadow: 0 6px 14px rgba(220, 38, 38, 0.4) !important;
}
/* Hide file info and status by default for successful previews to keep them clean */
.custom-avatar-upload .filepond--file-info,
.custom-avatar-upload .filepond--file-status,
.custom-avatar-upload .filepond--action-revert-item-processing {
    display: none !important;
}
/* Completely hide the FilePond item and error overlays when in an error or invalid state, letting the dashed circular uploader remain clean */
.custom-avatar-upload .filepond--item[data-filepond-item-state*="error"],
.custom-avatar-upload .filepond--item[data-filepond-item-state*="invalid"] {
    display: none !important;
}
/* Empty Drop Label: hidden by default, slides/fades in on hover as a premium overlay */
.custom-avatar-upload .filepond--drop-label {
    min-height: 140px !important;
    height: 140px !important;
    width: 140px !important;
    position: absolute !important;
    top: 5px !important;
    left: 5px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: rgba(15, 23, 42, 0.6) !important; /* Dark premium overlay */
    opacity: 0 !important;
    visibility: hidden !important; /* Prevent interaction when not hovered */
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out !important;
    z-index: 20 !important; /* Raised to stack cleanly on top of loaded avatar preview pictures! */
    box-sizing: border-box !important;
}
/* Force FilePond's hidden native browser file input to stack in front of the hover overlay so it remains 100% clickable */
.custom-avatar-upload .filepond--browser {
    z-index: 30 !important; /* Higher than the drop-label to guarantee click-through clickability */
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
}
/* Show the Ubah Foto label only on hover */
.custom-avatar-upload .filepond--root:hover .filepond--drop-label {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* Force the drop label container to remain in the DOM structure (display: flex) when there are only errored/invalid items */
.custom-avatar-upload .filepond--root:has(.filepond--item[data-filepond-item-state*="error"]) .filepond--drop-label,
.custom-avatar-upload .filepond--root:has(.filepond--item[data-filepond-item-state*="invalid"]) .filepond--drop-label {
    display: flex !important;
}
.custom-avatar-upload .filepond--drop-label label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* Clean white text */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
    line-height: 1.3 !important;
    padding: 0 10px !important;
    cursor: pointer !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

/* Profile Edit View Centered Dynamic Text Colors (For Light & Dark Modes) */
.profile-info-name {
    font-weight: 800;
    font-size: 1.125rem;
    color: #1f2937 !important;
    margin: 0;
    line-height: 1.2;
    text-align: center !important;
    transition: color 0.3s ease !important;
}
.dark .profile-info-name {
    color: #ffffff !important;
}

.profile-info-email {
    font-size: 0.875rem;
    color: #6b7280 !important;
    margin-top: 4px;
    margin-bottom: 0;
    text-align: center !important;
    transition: color 0.3s ease !important;
}
.dark .profile-info-email {
    color: #9ca3af !important;
}

/* Mobile Sidebar Close Button Wrapper (Robust Absolute Positioning) */
.custom-mobile-close-wrapper {
    position: absolute !important;
    top: 16px !important;
    right: 12px !important;
    z-index: 50 !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

@media (min-width: 1024px) {
    .custom-mobile-close-wrapper {
        display: none !important;
    }
}






