html,
body,
.fi-body,
.fi-layout,
.fi-main-ctn,
.fi-main,
.fi-page {
    background: var(--ts-bg) !important;
    color: var(--ts-text) !important;
}

.fi-main {
    padding-top: 1.25rem !important;
}

.fi-main-ctn {
    max-width: 1540px !important;
}

.fi-page {
    gap: 1.4rem !important;
}

.fi-header {
    margin-bottom: .3rem !important;
}

.fi-header-heading,
.fi-page-heading {
    color: var(--ts-text) !important;
    font-size: clamp(1.55rem, 2vw, 2rem) !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
}

.fi-header-subheading,
.fi-page-subheading {
    color: var(--ts-muted) !important;
    line-height: 1.65 !important;
}

/* Sidebar */
.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav,
.fi-sidebar-footer {
    background: linear-gradient(
        180deg,
        var(--ts-sidebar) 0%,
        var(--ts-sidebar-2) 100%
    ) !important;
}

.fi-sidebar {
    border-inline-end: 1px solid #e2e8f0 !important;
    box-shadow: 10px 0 30px rgba(15, 23, 42, .06) !important;
}

.fi-sidebar-header {
    min-height: 74px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.fi-sidebar-header a,
.fi-sidebar-header span {
    color: var(--ts-text) !important;
    font-weight: 950 !important;
    letter-spacing: -.015em !important;
}

.fi-sidebar-nav {
    padding: 18px 12px 24px !important;
}

.fi-sidebar-group {
    margin-bottom: 18px !important;
}

.fi-sidebar-group-label {
    color: var(--ts-primary) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    text-transform: none !important;
    padding: 0 12px 8px !important;
    opacity: 1 !important;
}

.fi-sidebar-item {
    margin: 3px 0 !important;
}

.fi-sidebar-item-button {
    min-height: 44px !important;
    border-radius: 13px !important;
    padding: 10px 12px !important;
    color: var(--ts-sidebar-text) !important;
    transition: all var(--ts-transition) !important;
}

.fi-sidebar-item-button:hover {
    background: var(--ts-primary-soft) !important;
    color: var(--ts-primary-strong) !important;
    transform: translateX(2px);
}

.fi-sidebar-item-label {
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    opacity: 1 !important;
}

.fi-sidebar-item-icon,
.fi-sidebar-item-button svg {
    color: var(--ts-sidebar-muted) !important;
    width: 20px !important;
    height: 20px !important;
    opacity: 1 !important;
}

.fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar-item.fi-active .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background: linear-gradient(135deg, #ede9fe, #f5f3ff) !important;
    color: var(--ts-primary-strong) !important;
    border: 1px solid #ddd6fe !important;
    box-shadow: 0 8px 20px rgba(109, 40, 217, .10) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-label,
.fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-icon {
    color: var(--ts-primary-strong) !important;
    font-weight: 900 !important;
}

.fi-sidebar-group-collapse-button {
    color: var(--ts-sidebar-muted) !important;
}

/* Topbar */
.fi-topbar,
.fi-topbar nav {
    min-height: 66px !important;
    background: rgba(255, 255, 255, .92) !important;
    backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid var(--ts-border) !important;
    box-shadow: 0 8px 28px rgba(15, 23, 42, .05) !important;
}

/* Prevent old dark mode classes from changing the shared layout. */
.dark .fi-body,
.dark .fi-layout,
.dark .fi-main-ctn,
.dark .fi-main,
.dark .fi-page {
    background: var(--ts-bg) !important;
    color: var(--ts-text) !important;
}

.dark .fi-sidebar,
.dark .fi-sidebar-header,
.dark .fi-sidebar-nav,
.dark .fi-sidebar-footer,
.dark .fi-topbar,
.dark .fi-topbar nav {
    background: #ffffff !important;
}
