:root {
    --efs-navy: #070d1a;
    --efs-blue: #1e4ed8;
}

.fi-sidebar,
.fi-sidebar.fi-sidebar-open,
.fi-sidebar-nav {
    background: linear-gradient(180deg, #0b1530 0%, #101b36 55%, #0d162c 100%) !important;
}

.fi-sidebar-header {
    background: #0b1530 !important;
    box-shadow: none !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}

.efs-brand-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    height: 100%;
}

.efs-brand-logo__mark {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    display: block;
}

.efs-brand-logo__text {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #0b1530;
    line-height: 1;
}

.fi-sidebar .efs-brand-logo__text {
    color: #ffffff;
}

.fi-sidebar .fi-sidebar-group-label {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.68rem !important;
    color: #93c5fd !important;
}

/* Kill Filament's light gray hover/active (bg-gray-100) on the dark sidebar */
.fi-sidebar .fi-sidebar-item-button {
    background: transparent !important;
}

.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-item-button:focus-visible {
    background: rgba(59, 130, 246, 0.18) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button {
    background: rgba(59, 130, 246, 0.28) !important;
}

.fi-sidebar .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-icon {
    color: #d7e3ff !important;
}

.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-item-button:focus-visible .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-button:focus-visible .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: #ffffff !important;
}

.fi-main,
.fi-main-ctn {
    background: #eef2f8 !important;
}

.dark .fi-main,
.dark .fi-main-ctn {
    background: #070d1a !important;
}

.dark .fi-header-heading,
.dark .fi-simple-header-heading {
    color: #e8eefc !important;
}

/* Auth card is light — keep labels/headings dark and readable. */
.dark .efs-form .fi-simple-header-heading,
.efs-form .fi-simple-header-heading {
    color: #0b1530 !important;
}

.dark .efs-form .fi-simple-header-subheading,
.efs-form .fi-simple-header-subheading {
    color: #64748b !important;
}

.dark .efs-form .fi-fo-field-wrp-label,
.dark .efs-form .fi-fo-field-wrp-label span,
.efs-form .fi-fo-field-wrp-label,
.efs-form .fi-fo-field-wrp-label span {
    color: #0f172a !important;
}

.dark .efs-form .fi-fo-checkbox label,
.dark .efs-form label:has(input[type="checkbox"]),
.efs-form .fi-fo-checkbox label,
.efs-form label:has(input[type="checkbox"]) {
    color: #334155 !important;
}

.dark .fi-wi-stats-overview-stat,
.dark .fi-ta-ctn,
.dark .fi-section,
.dark .fi-wi-chart {
    background: #101b36 !important;
    border-color: rgba(148, 163, 184, 0.12) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25) !important;
}

.efs-brand-logo__text--light,
.dark .efs-brand-logo__text {
    color: #ffffff !important;
}

.fi-header-heading {
    letter-spacing: -0.03em;
}

.fi-wi-stats-overview-stat {
    border-radius: 1rem !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid rgba(15, 23, 42, 0.05) !important;
}

.efs-quick {
    padding: 1.1rem 1.25rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.dark .efs-quick {
    background: #101b36;
    border-color: rgba(148, 163, 184, 0.12);
}

.efs-quick__kicker {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #1e4ed8;
}

.efs-quick__title {
    margin: 0.2rem 0 0.9rem;
    font-size: 1.05rem;
    font-weight: 750;
}

.dark .efs-quick__title {
    color: #e8eefc;
}

.efs-quick__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}

.efs-quick__card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: 0.9rem;
    text-decoration: none;
    background: linear-gradient(160deg, #eff6ff, #f8fafc);
    border: 1px solid rgba(30, 78, 216, 0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dark .efs-quick__card {
    background: linear-gradient(160deg, #16306b, #0f1a33);
    border-color: rgba(59, 130, 246, 0.25);
}

.efs-quick__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(30, 78, 216, 0.15);
}

.efs-quick__icon {
    font-size: 1.2rem;
}

.efs-quick__label {
    font-weight: 700;
    color: #0b1530;
    font-size: 0.95rem;
}

.dark .efs-quick__label {
    color: #fff;
}

.efs-quick__hint {
    font-size: 0.75rem;
    color: #64748b;
}

.dark .efs-quick__hint {
    color: #94a3b8;
}

.efs-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.35rem 1.5rem;
    border-radius: 1.15rem;
    color: #e8eefc;
    background:
        radial-gradient(circle at 90% 10%, rgba(59, 130, 246, 0.38), transparent 34%),
        linear-gradient(135deg, #0b1530 0%, #16306b 58%, #1e4ed8 140%);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
}

.efs-hero__kicker {
    margin: 0 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #93c5fd;
}

.efs-hero__title {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 750;
    letter-spacing: -0.03em;
}

.efs-hero__text {
    margin: 0.45rem 0 0;
    max-width: 46rem;
    color: #c7d5f3;
    font-size: 0.92rem;
    line-height: 1.5;
}

.efs-hero__aside {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 0.95rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.efs-hero__mark {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
}

.efs-hero__metric {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.efs-hero__metric-label {
    font-size: 0.72rem;
    color: #bfdbfe;
}

.fi-ta-ctn {
    border-radius: 1rem !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05) !important;
}