/* Admin visual redesign: soft daycare dashboard palette. Loaded last. */
.fi-panel-admin {
    --admin-purple: #7c3aed;
    --admin-purple-soft: #ede9fe;
    --admin-purple-border: #ddd6fe;
    --admin-ink: #20233f;
    --admin-muted: #667093;
    --admin-line: #e6e8f5;
    --admin-blue: #5ab4f0;
    --admin-green: #55c7a3;
    --admin-orange: #f6a645;
    --admin-pink: #ef5f91;
    color: var(--admin-ink);
    background:
        radial-gradient(circle at 78% 12%, rgba(196, 181, 253, 0.24), transparent 26%),
        radial-gradient(circle at 12% 78%, rgba(125, 211, 252, 0.18), transparent 28%),
        linear-gradient(180deg, #fbfbff 0%, #f5f3ff 52%, #f8fbff 100%) !important;
}

.fi-panel-admin .fi-main-ctn {
    background:
        radial-gradient(ellipse 11rem 4.5rem at 78% 8%, rgba(221, 214, 254, 0.72) 0 58%, transparent 60%),
        radial-gradient(ellipse 8rem 2.6rem at 66% 10%, rgba(237, 233, 254, 0.86) 0 62%, transparent 64%),
        radial-gradient(circle at 72% 7%, rgba(251, 191, 36, 0.25) 0 1.2rem, transparent 1.26rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(248, 247, 255, 0.92)) !important;
}

.fi-panel-admin .fi-topbar,
.fi-panel-admin .admin-topbar-shell {
    margin: 0.75rem 0.9rem 0 !important;
}

.fi-panel-admin .fi-topbar {
    overflow: visible !important;
    border: 1px solid var(--admin-line) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 14px 34px rgba(79, 70, 229, 0.08) !important;
}

.fi-panel-admin .fi-topbar::after {
    display: none !important;
}

.fi-panel-admin .fi-topbar * {
    color: var(--admin-ink);
}

.fi-panel-admin .fi-sidebar {
    margin: 0.5rem 0 0.75rem 0.75rem !important;
    border: 1px solid var(--admin-line) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 42px rgba(79, 70, 229, 0.1) !important;
}

.fi-panel-admin .fi-sidebar::before,
.fi-panel-admin .fi-sidebar::after {
    display: none !important;
}

.fi-panel-admin .fi-sidebar-header {
    min-height: 6rem !important;
    border-bottom: 1px solid var(--admin-line) !important;
    background: transparent !important;
}

.fi-panel-admin .fi-sidebar-header-logo-ctn,
.fi-panel-admin .fi-sidebar-header a,
.fi-panel-admin .fi-logo {
    color: var(--admin-ink) !important;
    font-weight: 950 !important;
}

.fi-panel-admin .fi-sidebar-nav {
    padding: 1rem 0.75rem 0.85rem !important;
}

.fi-panel-admin .fi-sidebar-group {
    gap: 0.34rem !important;
}

.fi-panel-admin .fi-sidebar-group-label {
    margin: 1rem 0 0.4rem !important;
    color: #8b82b6 !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.fi-panel-admin .fi-sidebar-item-btn {
    min-height: 3rem !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    padding-inline: 0.65rem !important;
}

.fi-panel-admin .fi-sidebar-item-btn:hover {
    background: #f6f3ff !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: linear-gradient(135deg, #f1eaff, #ffffff 70%) !important;
    box-shadow: 0 10px 24px rgba(124, 58, 237, 0.12) !important;
}

.fi-panel-admin .fi-sidebar-item-label {
    color: #303052 !important;
    font-weight: 850 !important;
    text-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: var(--admin-purple) !important;
}

.fi-panel-admin .fi-sidebar-item-icon {
    width: 2.15rem !important;
    height: 2.15rem !important;
    color: var(--admin-pink) !important;
    background: #fdf2f8 !important;
    box-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 1) .fi-sidebar-item-icon {
    color: #ec4899 !important;
    background: #fdf2f8 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 2) .fi-sidebar-item-icon {
    color: #f472b6 !important;
    background: #fdf2f8 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 3) .fi-sidebar-item-icon {
    color: #f9a8d4 !important;
    background: #fdf2f8 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n) .fi-sidebar-item-icon {
    color: #db2777 !important;
    background: #fdf2f8 !important;
}

.fi-panel-admin .fi-sidebar-footer::after {
    content: "☀️  🏠  🌈";
    display: block;
    margin: 0.75rem;
    min-height: 5.5rem;
    border-radius: 22px;
    background:
        radial-gradient(ellipse 4.6rem 1.25rem at 70% 30%, rgba(255, 255, 255, 0.84) 0 98%, transparent 100%),
        linear-gradient(180deg, #f8f4ff 0%, #ede9fe 55%, #e0f2fe 100%);
    color: #8b5cf6;
    font-size: 1.6rem;
    line-height: 5.5rem;
    text-align: center;
}

.fi-panel-admin .fi-header,
.fi-panel-admin .fi-section,
.fi-panel-admin .fi-wi-stats-overview-stat,
.fi-panel-admin .fi-wi-widget,
.fi-panel-admin .fi-ta-ctn,
.fi-panel-admin .fi-ta,
.fi-panel-admin .finance-card,
.fi-panel-admin .finance-panel,
.fi-panel-admin .dc-chat-card {
    border: 1px solid var(--admin-line) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(ellipse 7rem 2rem at 88% 18%, rgba(237, 233, 254, 0.78) 0 58%, transparent 60%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 255, 0.96)) !important;
    box-shadow: 0 18px 42px rgba(79, 70, 229, 0.08) !important;
}

.fi-panel-admin .fi-header {
    padding: 1.25rem 1.4rem !important;
}

.fi-panel-admin .fi-header-heading,
.fi-panel-admin .fi-section-header-heading,
.fi-panel-admin .fi-wi-stats-overview-stat-value {
    color: var(--admin-ink) !important;
    font-weight: 950 !important;
}

.fi-panel-admin .fi-breadcrumbs-item-label,
.fi-panel-admin .fi-header-subheading,
.fi-panel-admin .fi-section-header-description,
.fi-panel-admin .fi-wi-stats-overview-stat-description,
.fi-panel-admin .fi-wi-stats-overview-stat-label {
    color: var(--admin-muted) !important;
}

.fi-panel-admin .admin-dashboard-hero {
    border: 0 !important;
    border-radius: 28px !important;
    background:
        radial-gradient(ellipse 12rem 4.6rem at 80% 58%, rgba(237, 233, 254, 0.34) 0 58%, transparent 60%),
        linear-gradient(135deg, #8b5cf6 0%, #6d5dfc 45%, #5ab4f0 100%) !important;
    box-shadow: 0 22px 48px rgba(109, 93, 252, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat {
    min-height: 124px !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat::after,
.fi-panel-admin .fi-section::after,
.fi-panel-admin .finance-card::after,
.fi-panel-admin .finance-panel::after {
    display: none !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-icon,
.fi-panel-admin .fi-section-header-icon {
    width: 3.2rem !important;
    height: 3.2rem !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #8b5cf6, #6d40e8) !important;
    box-shadow: 0 12px 26px rgba(124, 58, 237, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(4n + 2) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #7dc8f5, #3b9ee8) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(4n + 3) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #70cfb4, #42a989) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(4n) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #ffc06a, #f59e42) !important;
}

.fi-panel-admin .fi-ta-header-ctn,
.fi-panel-admin .fi-ta-toolbar,
.fi-panel-admin .fi-section-header {
    border-bottom: 1px solid var(--admin-line) !important;
    background: rgba(255, 255, 255, 0.82) !important;
}

.fi-panel-admin .fi-ta-header-ctn::after {
    height: 4px !important;
    background: linear-gradient(90deg, #7c3aed 0 25%, #5ab4f0 25% 50%, #55c7a3 50% 75%, #ef5f91 75% 100%) !important;
}

.fi-panel-admin .fi-ta-table {
    border-spacing: 0 0.45rem !important;
}

.fi-panel-admin .fi-ta-row,
.fi-panel-admin .fi-ta-row:nth-child(even) {
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(79, 70, 229, 0.06) !important;
}

.fi-panel-admin .fi-ta-row:hover {
    background: #faf7ff !important;
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.1) !important;
}

.fi-panel-admin .fi-ta-header-cell,
.fi-panel-admin .fi-ta-text-item-label {
    color: #4b3f85 !important;
}

.fi-panel-admin .fi-btn:not(.fi-color-danger),
.fi-panel-admin .fi-ac-btn-action:not(.fi-color-danger) {
    border-radius: 16px !important;
    background: linear-gradient(135deg, #8b5cf6, #6d40e8) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(124, 58, 237, 0.22) !important;
}

.fi-panel-admin .fi-input-wrp,
.fi-panel-admin .fi-select-input,
.fi-panel-admin .fi-text-input {
    border-color: var(--admin-line) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.92) !important;
}

@media (max-width: 1023px) {
    .fi-panel-admin .fi-sidebar {
        margin: 0 !important;
        border-radius: 0 22px 22px 0 !important;
    }
}

/* Admin reference look: purple sidebar and clean playful workspace. */
.fi-panel-admin {
    --ref-purple: #6f3ff0;
    --ref-purple-deep: #4f2cc9;
    --ref-purple-soft: #f1ecff;
    --ref-ink: #121a44;
    --ref-muted: #657093;
    --ref-line: #e6e8f6;
    --ref-blue: #38a8f5;
    --ref-green: #22c58b;
    --ref-pink: #f64d86;
    --ref-orange: #ffad26;
    background:
        radial-gradient(circle at 74% 8%, rgba(221, 214, 254, 0.32), transparent 20%),
        radial-gradient(circle at 58% 94%, rgba(196, 181, 253, 0.18), transparent 24%),
        linear-gradient(180deg, #fbfbff 0%, #f7f5ff 56%, #ffffff 100%) !important;
}

.fi-panel-admin .fi-sidebar {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        radial-gradient(ellipse 5rem 1.55rem at 78% 78%, rgba(255, 255, 255, 0.22) 0 98%, transparent 100%),
        radial-gradient(ellipse 4rem 1.25rem at 38% 86%, rgba(255, 255, 255, 0.18) 0 98%, transparent 100%),
        linear-gradient(180deg, #7346f2 0%, #623bdc 48%, #4d31ba 100%) !important;
    box-shadow: 18px 0 42px rgba(55, 35, 139, 0.18) !important;
}

.fi-panel-admin .fi-sidebar::before {
    display: block !important;
    content: "🏠\A Arcelio\A Daycare";
    white-space: pre;
    position: absolute;
    top: 1.15rem;
    left: 1.35rem;
    z-index: 1;
    width: calc(100% - 2.7rem);
    height: 5.4rem;
    color: #ffffff;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1.15;
    text-shadow: 0 8px 18px rgba(32, 16, 92, 0.28);
    background: transparent !important;
    opacity: 1 !important;
    transform: none !important;
}

.fi-panel-admin .fi-sidebar-header {
    min-height: 8.3rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.26) !important;
    background: transparent !important;
}

.fi-panel-admin .fi-sidebar-header-logo-ctn,
.fi-panel-admin .fi-sidebar-header a {
    opacity: 0 !important;
    pointer-events: none;
}

.fi-panel-admin .fi-sidebar-nav {
    padding: 1.15rem 0.9rem 0.8rem !important;
}

.fi-panel-admin .fi-sidebar-group-label {
    margin: 1.05rem 0.15rem 0.5rem !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item-btn {
    min-height: 3.35rem !important;
    border-radius: 16px !important;
    background: transparent !important;
    padding-inline: 0.75rem !important;
}

.fi-panel-admin .fi-sidebar-item-btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: rgba(255, 255, 255, 0.22) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 12px 26px rgba(44, 24, 110, 0.2) !important;
}

.fi-panel-admin .fi-sidebar-item-label,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #ffffff !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 1px rgba(35, 18, 96, 0.18) !important;
}

.fi-panel-admin .fi-sidebar-item-icon {
    width: 2.2rem !important;
    height: 2.2rem !important;
    color: #be185d !important;
    border: 1px solid rgba(219, 39, 119, 0.14) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 8px 16px rgba(219, 39, 119, 0.1) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon {
    border-color: rgba(219, 39, 119, 0.22) !important;
    background: #ffffff !important;
    color: #db2777 !important;
    box-shadow: 0 10px 20px rgba(219, 39, 119, 0.16) !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 1) .fi-sidebar-item-icon {
    color: #ec4899 !important;
    background: #ffffff !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 2) .fi-sidebar-item-icon {
    color: #f472b6 !important;
    background: #ffffff !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 3) .fi-sidebar-item-icon {
    color: #f9a8d4 !important;
    background: #ffffff !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n) .fi-sidebar-item-icon {
    color: #db2777 !important;
    background: #ffffff !important;
}

.fi-panel-admin .fi-sidebar-footer {
    position: relative;
    min-height: 12rem;
}

.fi-panel-admin .fi-sidebar-footer::after {
    content: "👧  🧒  👦";
    margin: 0.85rem !important;
    min-height: 10rem !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 20% 35%, rgba(255, 222, 77, 0.78) 0 0.72rem, transparent 0.78rem),
        radial-gradient(ellipse 3.8rem 1rem at 72% 28%, rgba(255, 255, 255, 0.3) 0 98%, transparent 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.17) 0%, rgba(255, 255, 255, 0.1) 54%, rgba(119, 207, 78, 0.78) 55% 100%);
    color: #ffffff;
    font-size: 1.8rem;
    line-height: 8.4rem;
    text-align: center;
}

.fi-panel-admin .fi-topbar,
.fi-panel-admin .admin-topbar-shell {
    margin: 0.95rem 1.1rem 0 !important;
}

.fi-panel-admin .fi-topbar {
    min-height: 5.2rem !important;
    border: 1px solid var(--ref-line) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 42px rgba(36, 27, 94, 0.1) !important;
}

.fi-panel-admin .fi-main {
    padding-inline: 1.2rem !important;
}

.fi-panel-admin .fi-header {
    position: relative;
    overflow: hidden;
    min-height: 12rem;
    border: 0 !important;
    border-radius: 28px 28px 0 0 !important;
    background:
        radial-gradient(ellipse 5.6rem 1.5rem at 62% 32%, rgba(203, 213, 225, 0.32) 0 98%, transparent 100%),
        radial-gradient(ellipse 5.2rem 1.4rem at 79% 34%, rgba(191, 219, 254, 0.45) 0 98%, transparent 100%),
        radial-gradient(circle at 70% 27%, rgba(255, 196, 58, 0.34) 0 1.25rem, transparent 1.3rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 247, 255, 0.92)) !important;
    box-shadow: none !important;
}

.fi-panel-admin .fi-header::after {
    content: "☀️";
    position: absolute;
    right: 24%;
    top: 2.1rem;
    font-size: 2.8rem;
    filter: drop-shadow(0 8px 14px rgba(255, 173, 38, 0.22));
}

.fi-panel-admin .fi-header-heading {
    color: var(--ref-ink) !important;
    font-size: clamp(2.15rem, 3vw, 3rem) !important;
    font-weight: 950 !important;
}

.fi-panel-admin .fi-breadcrumbs-item-label,
.fi-panel-admin .fi-header-subheading {
    color: var(--ref-muted) !important;
    font-size: 1rem !important;
}

.fi-panel-admin .admin-dashboard-hero {
    display: none !important;
}

.fi-panel-admin .fi-wi-stats-overview,
.fi-panel-admin .fi-page-content > .fi-wi-stats-overview {
    margin-top: -3.2rem !important;
    position: relative;
    z-index: 3;
}

.fi-panel-admin .fi-section,
.fi-panel-admin .fi-wi-stats-overview-stat,
.fi-panel-admin .fi-wi-widget,
.fi-panel-admin .fi-ta-ctn,
.fi-panel-admin .fi-ta,
.fi-panel-admin .finance-card,
.fi-panel-admin .finance-panel,
.fi-panel-admin .dc-chat-card {
    border: 1px solid var(--ref-line) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 18px 44px rgba(36, 27, 94, 0.08) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat {
    min-height: 9rem !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 1) {
    border-color: #d7c7ff !important;
    background: linear-gradient(135deg, #fbf8ff, #f2ebff) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) {
    border-color: #cde8ff !important;
    background: linear-gradient(135deg, #fbfdff, #eef8ff) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) {
    border-color: #ffd3e2 !important;
    background: linear-gradient(135deg, #fffafd, #fff0f6) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) {
    border-color: #cdeedf !important;
    background: linear-gradient(135deg, #fbfffd, #edfbf5) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) {
    border-color: #ffe1ad !important;
    background: linear-gradient(135deg, #fffdf8, #fff4df) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-icon,
.fi-panel-admin .fi-section-header-icon {
    width: 3.75rem !important;
    height: 3.75rem !important;
    border-radius: 18px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #8b5cf6, #6737e5) !important;
    box-shadow: 0 14px 28px rgba(111, 63, 240, 0.24) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #45b8ff, #258fe9) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #ff6c9b, #f43f79) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #3bd5a2, #16a976) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) .fi-wi-stats-overview-stat-icon {
    background: linear-gradient(135deg, #ffbd3d, #ff9c12) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-value,
.fi-panel-admin .fi-section-header-heading {
    color: var(--ref-ink) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label {
    color: var(--ref-purple) !important;
    font-weight: 900 !important;
}

.fi-panel-admin .fi-ta-header-ctn::after {
    height: 4px !important;
    background: linear-gradient(90deg, #6f3ff0 0 20%, #f64d86 20% 40%, #38a8f5 40% 60%, #22c58b 60% 80%, #ffad26 80% 100%) !important;
}

.fi-panel-admin .fi-ta-table {
    padding: 0.7rem !important;
    border-spacing: 0 0.55rem !important;
}

.fi-panel-admin .fi-ta-row,
.fi-panel-admin .fi-ta-row:nth-child(even) {
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(36, 27, 94, 0.06) !important;
}

.fi-panel-admin .fi-ta-row:hover {
    background: #fbf8ff !important;
}

.fi-panel-admin .fi-ta-header-cell,
.fi-panel-admin .fi-ta-text-item-label {
    color: var(--ref-purple-deep) !important;
    font-weight: 900 !important;
}

.fi-panel-admin .fi-btn:not(.fi-color-danger),
.fi-panel-admin .fi-ac-btn-action:not(.fi-color-danger) {
    min-height: 3rem;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #8b5cf6, #6f3ff0) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(111, 63, 240, 0.24) !important;
}

.fi-panel-admin .fi-input-wrp {
    min-height: 3.1rem;
    border: 1px solid var(--ref-line) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(36, 27, 94, 0.04) !important;
}

@media (max-width: 1023px) {
    .fi-panel-admin .fi-sidebar {
        border-radius: 0 !important;
    }

    .fi-panel-admin .fi-sidebar::before {
        top: 1rem;
    }

    .fi-panel-admin .fi-header {
        min-height: 9rem;
        border-radius: 22px !important;
    }
}

/* Final requested admin look: yellow sidebar with local daycare illustrations. */
.fi-panel-admin .fi-sidebar {
    background:
        radial-gradient(circle at 83% 78%, rgba(255, 255, 255, 0.52) 0 1.6rem, transparent 1.7rem),
        radial-gradient(circle at 18% 82%, rgba(255, 216, 86, 0.42) 0 2rem, transparent 2.1rem),
        linear-gradient(180deg, #ffe27c 0%, #ffe98f 45%, #ffd55f 100%) !important;
    box-shadow: 16px 0 42px rgba(219, 159, 41, 0.18) !important;
}

.fi-panel-admin .fi-sidebar::before {
    display: none !important;
    content: none !important;
}

.fi-panel-admin .fi-sidebar-header::after {
    display: none !important;
    content: none !important;
}

.fi-panel-admin .fi-sidebar-header {
    min-height: 1.25rem !important;
    border-bottom: 1px solid rgba(120, 91, 18, 0.12) !important;
}

.fi-panel-admin .fi-sidebar-nav {
    padding-top: 0.85rem !important;
}

.fi-panel-admin .fi-sidebar-group-label {
    color: #7d7691 !important;
    text-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item-label,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #11183f !important;
    text-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item-btn:hover {
    background: rgba(255, 255, 255, 0.45) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 14px 26px rgba(167, 116, 22, 0.14) !important;
}

.fi-panel-admin .fi-sidebar::after {
    content: none !important;
    display: none !important;
}

.fi-panel-admin .fi-sidebar-header,
.fi-panel-admin .fi-sidebar-nav {
    position: relative;
    z-index: 2;
}

.fi-panel-admin .fi-sidebar-nav {
    padding-bottom: 1.5rem !important;
}

.fi-panel-admin .fi-header {
    min-height: 14rem;
    background:
        url("/images/admin/hero-scene.svg") right bottom / min(58vw, 48rem) auto no-repeat,
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(249, 247, 255, 0.96)) !important;
}

.fi-panel-admin .fi-header::after {
    display: none !important;
}

.fi-panel-admin .fi-main {
    position: relative;
}

.fi-panel-admin .fi-main::after {
    content: "";
    position: fixed;
    right: 4rem;
    bottom: 0;
    z-index: 0;
    width: min(42vw, 44rem);
    height: 8rem;
    pointer-events: none;
    background: url("/images/admin/bottom-toys.svg") center bottom / contain no-repeat;
}

.fi-panel-admin .fi-page,
.fi-panel-admin .fi-page-content {
    position: relative;
    z-index: 1;
}

.fi-panel-admin .fi-topbar {
    min-height: 5.35rem !important;
}

.fi-panel-admin .fi-btn:not(.fi-color-danger),
.fi-panel-admin .fi-ac-btn-action:not(.fi-color-danger) {
    background: linear-gradient(135deg, #a56bff, #6f3ff0) !important;
}

.fi-panel-admin .fi-wi-stats-overview {
    margin-top: -2.8rem !important;
}

/* Final reference-style stat cards: compact pastel cards with large friendly icon blocks. */
.fi-panel-admin .fi-wi-stats-overview-stat {
    --stat-main: #7c3aed;
    --stat-soft: #fbf7ff;
    --stat-border: #d9c8ff;
    --stat-label: #6f3ff0;
    --stat-grad: linear-gradient(135deg, #a56bff, #6f3ff0);
    display: grid !important;
    grid-template-columns: 4.45rem minmax(0, 1fr) !important;
    column-gap: 1.05rem !important;
    align-items: center !important;
    min-height: 8.3rem !important;
    padding: 1.25rem 1.35rem !important;
    border: 1.5px solid var(--stat-border) !important;
    border-radius: 1.35rem !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 255, 255, 0.8) 0 1.8rem, transparent 1.9rem),
        linear-gradient(135deg, #ffffff, var(--stat-soft)) !important;
    box-shadow: 0 18px 38px rgba(36, 27, 94, 0.08) !important;
    overflow: hidden !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 1) {
    --stat-main: #7c3aed;
    --stat-soft: #f8f2ff;
    --stat-border: #dac7ff;
    --stat-label: #7c3aed;
    --stat-grad: linear-gradient(135deg, #b277ff, #6f3ff0);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) {
    --stat-main: #168be8;
    --stat-soft: #eef8ff;
    --stat-border: #c7e7ff;
    --stat-label: #0b87e8;
    --stat-grad: linear-gradient(135deg, #60c5ff, #168be8);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) {
    --stat-main: #ef3f7e;
    --stat-soft: #fff0f6;
    --stat-border: #ffc6dc;
    --stat-label: #ef3f7e;
    --stat-grad: linear-gradient(135deg, #ff80ad, #ef3f7e);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) {
    --stat-main: #0fb77d;
    --stat-soft: #effbf6;
    --stat-border: #c8eedf;
    --stat-label: #0aa36f;
    --stat-grad: linear-gradient(135deg, #43dca8, #12b77d);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) {
    --stat-main: #f59e0b;
    --stat-soft: #fff6e4;
    --stat-border: #ffdfa8;
    --stat-label: #ee8b00;
    --stat-grad: linear-gradient(135deg, #ffc245, #f59e0b);
}

.fi-panel-admin .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-icon,
.fi-panel-admin .fi-wi-stats-overview-stat > [class*="icon"],
.fi-panel-admin .fi-wi-stats-overview-stat > div > [class*="icon"] {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 4.05rem !important;
    height: 4.05rem !important;
    min-width: 4.05rem !important;
    padding: 0.95rem !important;
    border-radius: 1.05rem !important;
    color: #ffffff !important;
    background: var(--stat-grad) !important;
    box-shadow: 0 14px 24px color-mix(in srgb, var(--stat-main) 28%, transparent) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-icon svg,
.fi-panel-admin .fi-wi-stats-overview-stat [class*="icon"] svg {
    width: 2rem !important;
    height: 2rem !important;
    stroke-width: 2.25 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label {
    grid-column: 2 !important;
    margin: 0 !important;
    color: var(--stat-label) !important;
    font-size: 0.92rem !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-value {
    grid-column: 2 !important;
    margin-top: 0.15rem !important;
    color: #101947 !important;
    font-size: clamp(2rem, 2.4vw, 2.65rem) !important;
    font-weight: 950 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-description {
    grid-column: 2 !important;
    margin-top: 0.35rem !important;
    color: #59668d !important;
    font-size: 0.88rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 44px rgba(36, 27, 94, 0.11) !important;
}

.fi-panel-admin .fi-section,
.fi-panel-admin .fi-fo-component-ctn,
.fi-panel-admin .fi-ta-ctn,
.fi-panel-admin .fi-ta {
    border-radius: 1.45rem !important;
    border-color: rgba(201, 187, 255, 0.72) !important;
    background: rgba(255, 255, 255, 0.84) !important;
    box-shadow: 0 18px 42px rgba(36, 27, 94, 0.08) !important;
}

@media (max-width: 1023px) {
    .fi-panel-admin .fi-sidebar::before {
        left: 5.7rem;
        top: 1.85rem;
    }

    .fi-panel-admin .fi-sidebar-header::after {
        left: 1.2rem;
    }

    .fi-panel-admin .fi-main::after {
        display: none;
    }
}

/* Stat card layout repair: follow Filament's actual markup so text never collapses. */
.fi-panel-admin .fi-wi-stats-overview-stat {
    display: block !important;
    min-height: 7.8rem !important;
    padding: 1.15rem 1.2rem !important;
    border-width: 1.5px !important;
    background:
        radial-gradient(circle at 92% 16%, rgba(255, 255, 255, 0.9) 0 1.55rem, transparent 1.65rem),
        linear-gradient(135deg, #ffffff 0%, var(--stat-soft) 100%) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-content {
    display: grid !important;
    grid-template-columns: 4.4rem minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 1rem !important;
    row-gap: 0.2rem !important;
    align-items: center !important;
    height: 100% !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label-ctn {
    display: contents !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    align-self: center !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 4rem !important;
    height: 4rem !important;
    min-width: 4rem !important;
    padding: 0.95rem !important;
    border-radius: 1.05rem !important;
    color: #ffffff !important;
    background: var(--stat-grad) !important;
    box-shadow: 0 16px 26px rgba(124, 58, 237, 0.18) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(22, 139, 232, 0.18) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(239, 63, 126, 0.18) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(15, 183, 125, 0.18) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(245, 158, 11, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label-ctn > .fi-icon svg {
    width: 2rem !important;
    height: 2rem !important;
    color: #ffffff !important;
    stroke-width: 2.45 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    max-width: 100% !important;
    color: var(--stat-label) !important;
    font-size: 0.92rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-value {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    color: #101947 !important;
    font-size: clamp(2rem, 2.2vw, 2.55rem) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-description {
    grid-column: 2 !important;
    grid-row: 3 !important;
    display: block !important;
    max-width: 100% !important;
    color: #59668d !important;
    font-size: 0.86rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

/* Warm daycare palette: sync cards with the yellow sidebar and playful illustration colors. */
.fi-panel-admin .fi-wi-stats-overview-stat {
    --stat-main: #ff9f1c;
    --stat-soft: #fff7d7;
    --stat-border: #ffd76d;
    --stat-label: #e87900;
    --stat-grad: linear-gradient(135deg, #ffd43b, #ff9f1c);
    border-color: var(--stat-border) !important;
    background:
        radial-gradient(circle at 92% 15%, rgba(255, 255, 255, 0.92) 0 1.6rem, transparent 1.7rem),
        radial-gradient(circle at 8% 86%, rgba(255, 213, 79, 0.22) 0 2.8rem, transparent 2.9rem),
        linear-gradient(135deg, #ffffff 0%, var(--stat-soft) 100%) !important;
    box-shadow: 0 18px 34px rgba(196, 137, 22, 0.12) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 1) {
    --stat-main: #ff9f1c;
    --stat-soft: #fff4c2;
    --stat-border: #ffd45a;
    --stat-label: #d97706;
    --stat-grad: linear-gradient(135deg, #ffe066, #ff9f1c);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) {
    --stat-main: #28c76f;
    --stat-soft: #eaffcf;
    --stat-border: #a8ef80;
    --stat-label: #159854;
    --stat-grad: linear-gradient(135deg, #8ee85b, #28c76f);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) {
    --stat-main: #20b7ff;
    --stat-soft: #e7f7ff;
    --stat-border: #9bdefc;
    --stat-label: #087ec0;
    --stat-grad: linear-gradient(135deg, #60d7ff, #168be8);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) {
    --stat-main: #ff5c93;
    --stat-soft: #fff0f6;
    --stat-border: #ffb8d1;
    --stat-label: #de2f6e;
    --stat-grad: linear-gradient(135deg, #ff91b8, #ff4f8f);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) {
    --stat-main: #8b5cf6;
    --stat-soft: #f4edff;
    --stat-border: #d5c3ff;
    --stat-label: #6f3ff0;
    --stat-grad: linear-gradient(135deg, #b277ff, #7c3aed);
}

.fi-panel-admin .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    background: var(--stat-grad) !important;
    box-shadow: 0 16px 26px rgba(255, 159, 28, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(40, 199, 111, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(32, 183, 255, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(255, 92, 147, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(139, 92, 246, 0.18) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-label {
    color: var(--stat-label) !important;
}

/* Final blue reference palette requested: match the latest dashboard mockup. */
.fi-panel-admin {
    --ref-blue: #2d8cff;
    --ref-blue-deep: #2366e8;
    --ref-ink: #101947;
    --ref-muted: #526082;
    --ref-purple: #7c3aed;
    --ref-pink: #f43f7f;
    --ref-green: #13b978;
    --ref-orange: #f59e0b;
}

.fi-panel-admin .fi-main,
.fi-panel-admin .fi-page {
    background:
        radial-gradient(circle at 80% 12%, rgba(112, 202, 255, 0.18) 0 10rem, transparent 10.2rem),
        linear-gradient(180deg, #f9fbff 0%, #ffffff 42%, #f7fbff 100%) !important;
}

.fi-panel-admin .fi-sidebar {
    background:
        radial-gradient(circle at 88% 73%, rgba(255, 255, 255, 0.32) 0 1.35rem, transparent 1.45rem),
        radial-gradient(circle at 14% 85%, rgba(255, 255, 255, 0.22) 0 1.15rem, transparent 1.25rem),
        radial-gradient(circle at 82% 18%, rgba(255, 233, 92, 0.28) 0 0.55rem, transparent 0.62rem),
        linear-gradient(180deg, #b35cff 0%, #8a6df8 38%, #57a2f5 72%, #4ed6d0 100%) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow: 18px 0 46px rgba(78, 96, 210, 0.24) !important;
}

.fi-panel-admin .fi-sidebar::after {
    content: none !important;
    display: none !important;
}

.fi-panel-admin .fi-sidebar-header {
    border-bottom-color: rgba(255, 255, 255, 0.24) !important;
}

.fi-panel-admin .fi-sidebar-header-logo-ctn,
.fi-panel-admin .fi-sidebar-header a,
.fi-panel-admin .fi-sidebar-header .fi-logo {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(36, 26, 117, 0.2) !important;
}

.fi-panel-admin .fi-topbar .fi-logo,
.fi-panel-admin .fi-topbar a,
.fi-panel-admin .admin-topbar-shell .fi-logo {
    color: #101947 !important;
    text-shadow: none !important;
}

.fi-panel-admin .admin-sidebar-brand {
    align-items: center;
    display: flex;
    gap: 0.85rem;
    padding: 1.45rem 1.2rem 1rem;
    position: relative;
    text-decoration: none;
    z-index: 3;
}

.fi-panel-admin .admin-sidebar-brand__mark {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #6f3ff0;
    display: inline-flex;
    flex: 0 0 auto;
    height: 3.1rem;
    justify-content: center;
    width: 3.1rem;
}

.fi-panel-admin .admin-sidebar-brand__mark svg {
    height: 1.45rem;
    width: 1.45rem;
}

.fi-panel-admin .admin-sidebar-brand__mark img {
    border-radius: 0;
    height: 100%;
    object-fit: contain;
    padding: 0;
    width: 100%;
}

.fi-panel-admin .admin-sidebar-brand__text {
    color: #ffffff;
    display: grid;
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1.05;
    text-shadow: 0 2px 12px rgba(36, 26, 117, 0.22);
}

.fi-panel-admin .admin-sidebar-brand__text span {
    color: #ffe96b;
}

.fi-panel-admin .admin-sidebar-brand__text small {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.15;
    margin-top: 0.28rem;
    max-width: 10.5rem;
    text-shadow: 0 1px 8px rgba(36, 26, 117, 0.18);
}

.fi-panel-admin .fi-sidebar-group-label {
    color: #ffe96b !important;
    font-weight: 900 !important;
}

.fi-panel-admin .fi-sidebar-item-label {
    color: #ffe96b !important;
    font-weight: 850 !important;
}

.fi-panel-admin .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item .fi-icon {
    background: transparent !important;
    color: #ec4899 !important;
    box-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(5n + 2) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 2) .fi-icon {
    color: #f472b6 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(5n + 3) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 3) .fi-icon {
    color: #f9a8d4 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(5n + 4) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 4) .fi-icon {
    color: #fbcfe8 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(5n) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n) .fi-icon {
    color: #db2777 !important;
}

.fi-panel-admin .fi-sidebar-item-btn:hover {
    background: rgba(255, 255, 255, 0.16) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: linear-gradient(135deg, rgba(64, 38, 178, 0.72), rgba(118, 75, 255, 0.5)) !important;
    border: 1px solid rgba(255, 233, 107, 0.42) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 12px 24px rgba(43, 29, 132, 0.22) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #ffe96b !important;
}

.fi-panel-admin .fi-topbar,
.fi-panel-admin .admin-topbar-shell {
    background: #ffffff !important;
}

.fi-panel-admin .fi-header {
    min-height: 12.5rem !important;
    background:
        url("/images/admin/hero-scene.svg") right bottom / min(57vw, 46rem) auto no-repeat,
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

.fi-panel-admin .fi-main::after {
    width: min(50vw, 48rem) !important;
    height: 8.5rem !important;
    background: url("/images/admin/bottom-toys.svg") center bottom / contain no-repeat !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat {
    --stat-main: #7c3aed;
    --stat-soft: #fbf6ff;
    --stat-border: #dbc8ff;
    --stat-label: #6f3ff0;
    --stat-grad: linear-gradient(135deg, #a56bff, #6f3ff0);
    border-color: var(--stat-border) !important;
    background:
        radial-gradient(circle at 92% 14%, rgba(255, 255, 255, 0.95) 0 1.7rem, transparent 1.8rem),
        linear-gradient(135deg, #ffffff 0%, var(--stat-soft) 100%) !important;
    box-shadow: 0 18px 36px rgba(36, 27, 94, 0.08) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 1) {
    --stat-main: #7c3aed;
    --stat-soft: #fbf6ff;
    --stat-border: #dbc8ff;
    --stat-label: #6f3ff0;
    --stat-grad: linear-gradient(135deg, #a56bff, #6f3ff0);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) {
    --stat-main: #2f9bff;
    --stat-soft: #eff8ff;
    --stat-border: #c8e8ff;
    --stat-label: #0b86e9;
    --stat-grad: linear-gradient(135deg, #5ec6ff, #258ff0);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) {
    --stat-main: #f43f7f;
    --stat-soft: #fff2f7;
    --stat-border: #ffc7dc;
    --stat-label: #ed2f72;
    --stat-grad: linear-gradient(135deg, #ff7ead, #f43f7f);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) {
    --stat-main: #13b978;
    --stat-soft: #f0fbf6;
    --stat-border: #beeedd;
    --stat-label: #0ba66c;
    --stat-grad: linear-gradient(135deg, #40d9a3, #13b978);
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) {
    --stat-main: #f59e0b;
    --stat-soft: #fff8e7;
    --stat-border: #ffdfa8;
    --stat-label: #e08000;
    --stat-grad: linear-gradient(135deg, #ffc23d, #f59e0b);
}

.fi-panel-admin .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    background: var(--stat-grad) !important;
    box-shadow: 0 16px 26px rgba(124, 58, 237, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 2) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(47, 155, 255, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 3) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(244, 63, 127, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n + 4) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(19, 185, 120, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat:nth-child(5n) .fi-wi-stats-overview-stat-label-ctn > .fi-icon {
    box-shadow: 0 16px 26px rgba(245, 158, 11, 0.22) !important;
}

.fi-panel-admin .fi-section,
.fi-panel-admin .fi-ta-ctn,
.fi-panel-admin .fi-ta {
    border-color: rgba(214, 224, 248, 0.95) !important;
    background: rgba(255, 255, 255, 0.94) !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n + 1) {
    background: #faf6ff !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n + 2) {
    background: #fff2f7 !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n + 3) {
    background: #eff8ff !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n + 4) {
    background: #f0fbf6 !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n + 5) {
    background: #fff8e7 !important;
}

.fi-panel-admin .fi-ta-header-cell:nth-child(6n) {
    background: #fbf6ff !important;
}

/* Explicit stat color classes from PHP widgets, so icon colors never collapse to one color. */
.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--purple {
    --stat-soft: #fbf6ff !important;
    --stat-border: #dbc8ff !important;
    --stat-label: #6f3ff0 !important;
    --stat-grad: linear-gradient(135deg, #a56bff, #6f3ff0) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--blue {
    --stat-soft: #eff8ff !important;
    --stat-border: #c8e8ff !important;
    --stat-label: #0b86e9 !important;
    --stat-grad: linear-gradient(135deg, #5ec6ff, #258ff0) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--pink {
    --stat-soft: #fff2f7 !important;
    --stat-border: #ffc7dc !important;
    --stat-label: #ed2f72 !important;
    --stat-grad: linear-gradient(135deg, #ff7ead, #f43f7f) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--green {
    --stat-soft: #f0fbf6 !important;
    --stat-border: #beeedd !important;
    --stat-label: #0ba66c !important;
    --stat-grad: linear-gradient(135deg, #40d9a3, #13b978) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--orange {
    --stat-soft: #fff8e7 !important;
    --stat-border: #ffdfa8 !important;
    --stat-label: #e08000 !important;
    --stat-grad: linear-gradient(135deg, #ffc23d, #f59e0b) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--purple,
.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--blue,
.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--pink,
.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--green,
.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--orange {
    border-color: var(--stat-border) !important;
    background:
        radial-gradient(circle at 92% 14%, rgba(255, 255, 255, 0.95) 0 1.7rem, transparent 1.8rem),
        linear-gradient(135deg, #ffffff 0%, var(--stat-soft) 100%) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--purple .fi-icon {
    background: linear-gradient(135deg, #a56bff, #6f3ff0) !important;
    box-shadow: 0 16px 26px rgba(124, 58, 237, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--blue .fi-icon {
    background: linear-gradient(135deg, #5ec6ff, #258ff0) !important;
    box-shadow: 0 16px 26px rgba(47, 155, 255, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--pink .fi-icon {
    background: linear-gradient(135deg, #ff7ead, #f43f7f) !important;
    box-shadow: 0 16px 26px rgba(244, 63, 127, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--green .fi-icon {
    background: linear-gradient(135deg, #40d9a3, #13b978) !important;
    box-shadow: 0 16px 26px rgba(19, 185, 120, 0.2) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--orange .fi-icon {
    background: linear-gradient(135deg, #ffc23d, #f59e0b) !important;
    box-shadow: 0 16px 26px rgba(245, 158, 11, 0.22) !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--purple .fi-wi-stats-overview-stat-label {
    color: #6f3ff0 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--blue .fi-wi-stats-overview-stat-label {
    color: #0b86e9 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--pink .fi-wi-stats-overview-stat-label {
    color: #ed2f72 !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--green .fi-wi-stats-overview-stat-label {
    color: #0ba66c !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat.admin-stat-card--orange .fi-wi-stats-overview-stat-label {
    color: #e08000 !important;
}

/* Keep owner finance totals readable in the narrow 4-column dashboard cards. */
.fi-panel-admin .fi-wi-stats-overview-stat-content {
    min-width: 0 !important;
    width: 100% !important;
}

.fi-panel-admin .fi-wi-stats-overview-stat-value {
    font-size: clamp(1.45rem, 1.6vw, 2rem) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

@media (max-width: 1280px) {
    .fi-panel-admin .fi-wi-stats-overview-stat-value {
        font-size: 1.45rem !important;
    }
}

/* Keep stacked dashboard stat widgets in normal document flow. */
.fi-panel-admin .fi-wi-stats-overview,
.fi-panel-admin .fi-page-content > .fi-wi-stats-overview {
    margin-top: 1.25rem !important;
    position: relative !important;
    z-index: auto !important;
}

.fi-panel-admin .fi-wi-stats-overview + .fi-wi-stats-overview {
    margin-top: 1.75rem !important;
}

/* Finance page card fallback: color manual monthly report cards even before markup refresh. */
.fi-panel-admin .finance-summary .finance-card {
    align-items: center !important;
    display: grid !important;
    gap: 1rem !important;
    grid-template-columns: 4rem minmax(0, 1fr) !important;
    min-height: 7rem !important;
    overflow: hidden !important;
    padding: 1.15rem !important;
    position: relative !important;
}

.fi-panel-admin .finance-summary .finance-card::before {
    align-items: center;
    border-radius: 1rem;
    color: #ffffff;
    display: inline-flex;
    font-size: 1.8rem;
    font-weight: 950;
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 4rem;
    justify-content: center;
    line-height: 1;
    width: 4rem;
}

.fi-panel-admin .finance-summary .finance-card.income {
    background: linear-gradient(135deg, #ffffff, #f0fbf6) !important;
    border-color: #beeedd !important;
}

.fi-panel-admin .finance-summary .finance-card.income::before {
    background: linear-gradient(135deg, #40d9a3, #13b978);
    box-shadow: 0 16px 26px rgba(19, 185, 120, 0.2);
    content: "↗";
}

.fi-panel-admin .finance-summary .finance-card.expense {
    background: linear-gradient(135deg, #ffffff, #fff2f7) !important;
    border-color: #ffc7dc !important;
}

.fi-panel-admin .finance-summary .finance-card.expense::before {
    background: linear-gradient(135deg, #ff7ead, #f43f7f);
    box-shadow: 0 16px 26px rgba(244, 63, 127, 0.2);
    content: "↘";
}

.fi-panel-admin .finance-summary .finance-card.net {
    background: linear-gradient(135deg, #ffffff, #fff8e7) !important;
    border-color: #ffdfa8 !important;
}

.fi-panel-admin .finance-summary .finance-card.net::before {
    background: linear-gradient(135deg, #ffc23d, #f59e0b);
    box-shadow: 0 16px 26px rgba(245, 158, 11, 0.22);
    content: "⚖";
}

.fi-panel-admin .finance-summary .finance-card > .finance-label,
.fi-panel-admin .finance-summary .finance-card > .finance-amount {
    grid-column: 2 !important;
}

.fi-panel-admin .finance-summary .finance-card.income .finance-label {
    color: #0ba66c !important;
}

.fi-panel-admin .finance-summary .finance-card.expense .finance-label {
    color: #ed2f72 !important;
}

.fi-panel-admin .finance-summary .finance-card.net .finance-label {
    color: #e08000 !important;
}

.fi-panel-admin .finance-summary .finance-card:has(.finance-card-icon)::before {
    content: none !important;
    display: none !important;
}

@media (min-width: 1024px) {
    .fi-panel-admin {
        --admin-sidebar-width: 18.5rem;
        --admin-content-gutter: 0.9rem;
    }

    .fi-panel-admin .fi-sidebar {
        bottom: 0 !important;
        height: 100vh !important;
        left: 0 !important;
        margin: 0 !important;
        max-height: 100vh !important;
        min-height: 100vh !important;
        position: fixed !important;
        top: 0 !important;
        width: 18.5rem !important;
        border-radius: 0 1.5rem 1.5rem 0 !important;
        z-index: 60 !important;
    }

    .fi-panel-admin .fi-sidebar-nav {
        max-height: calc(100vh - 6rem) !important;
        overflow-y: auto !important;
    }

    .fi-panel-admin .fi-sidebar-header-ctn {
        display: none !important;
    }

    .fi-panel-admin .fi-topbar-start > a,
    .fi-panel-admin .fi-topbar-start > .fi-logo {
        display: none !important;
    }

    .fi-panel-admin .fi-main-ctn {
        margin-left: var(--admin-sidebar-width) !important;
        width: calc(100% - var(--admin-sidebar-width)) !important;
    }

    .fi-panel-admin .fi-main {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .fi-panel-admin .fi-topbar {
        margin: 0.75rem var(--admin-content-gutter) 0 var(--admin-content-gutter) !important;
        width: calc(100% - (var(--admin-content-gutter) * 2)) !important;
    }
}

.fi-panel-admin .fi-sidebar-footer {
    min-height: 0 !important;
}

.fi-panel-admin .fi-sidebar-footer::after,
.fi-panel-admin .fi-sidebar::after {
    content: none !important;
    display: none !important;
}

.fi-panel-admin .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item .fi-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-icon {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    outline: 0 !important;
}

.fi-panel-admin .fi-sidebar-item:nth-child(4n + 1) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(4n + 2) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(4n + 3) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(4n) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 2) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 3) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 4) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n) .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 2) .fi-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 3) .fi-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n + 4) .fi-icon,
.fi-panel-admin .fi-sidebar-item:nth-child(5n) .fi-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Final sidebar menu color sync: all icons white. */
.fi-panel-admin .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item .fi-icon,
.fi-panel-admin .fi-sidebar-item-icon svg,
.fi-panel-admin .fi-sidebar-item .fi-icon svg,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon svg,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-icon svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
}

/* Keep floating form controls, especially date pickers, above section cards. */
.fi-panel-admin .fi-section,
.fi-panel-admin .fi-section-content,
.fi-panel-admin .fi-fo-component-ctn,
.fi-panel-admin .fi-fo-field-wrp,
.fi-panel-admin .fi-fo-date-time-picker {
    overflow: visible !important;
}

.fi-panel-admin .fi-section:has(.fi-fo-date-time-picker-panel:not([x-cloak])),
.fi-panel-admin .fi-fo-field-wrp:has(.fi-fo-date-time-picker-panel:not([x-cloak])),
.fi-panel-admin .fi-fo-date-time-picker:has(.fi-fo-date-time-picker-panel:not([x-cloak])) {
    position: relative !important;
    z-index: 3000 !important;
}

.fi-panel-admin .fi-fo-date-time-picker-panel {
    z-index: 4000 !important;
    max-height: min(30rem, calc(100vh - 2rem)) !important;
    overflow-y: auto !important;
}

/* ============================================
   TOPBAR USER DROPDOWN STYLES
   ============================================ */

/* Container for topbar cluster - push user to right */
.admin-topbar-user {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.admin-topbar-user__mark svg {
    width: 2.25rem;
    height: 2.25rem;
    color: #7c3aed;
}

.admin-topbar-user__text {
    font-size: 0.875rem;
    font-weight: 600;
    color: #20233f;
}

.admin-topbar-notifications {
    position: relative;
}

.admin-topbar-notifications__trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid #e6e8f5;
    border-radius: 9999px;
    background: #fff;
    color: #7c3aed;
    cursor: pointer;
    transition: all 0.15s ease;
}

.admin-topbar-notifications__trigger:hover {
    border-color: #c4b5fd;
    background: #f6f3ff;
}

.admin-topbar-notifications__badge {
    position: absolute;
    top: -0.35rem;
    right: -0.2rem;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border: 2px solid #fff;
    border-radius: 9999px;
    background: #ef5f91;
    color: #fff;
    font-size: 0.64rem;
    font-weight: 900;
    line-height: 0.92rem;
    text-align: center;
}

.admin-topbar-notifications__menu {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    width: min(22rem, calc(100vw - 2rem));
    max-height: min(28rem, calc(100vh - 7rem));
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e6e8f5;
    border-radius: 18px;
    box-shadow: 0 24px 58px rgba(79, 70, 229, 0.17);
    padding: 0.55rem;
    z-index: 9999;
}

.admin-topbar-notifications__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    color: #20233f;
}

.admin-topbar-notifications__header strong {
    font-size: 0.92rem;
    font-weight: 900;
}

.admin-topbar-notifications__header span {
    color: #667093;
    font-size: 0.74rem;
    font-weight: 800;
}

.admin-topbar-notifications__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.75rem 0.8rem;
    border-radius: 14px;
    color: #20233f;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.15s ease;
}

.admin-topbar-notifications__item:hover {
    background: linear-gradient(135deg, #f6f3ff, #fff8fb);
    transform: translateY(-1px);
}

.admin-topbar-notifications__dot {
    width: 0.62rem;
    height: 0.62rem;
    margin-top: 0.32rem;
    border-radius: 9999px;
    background: #ef5f91;
    box-shadow: 0 0 0 4px rgba(239, 95, 145, 0.12);
}

.admin-topbar-notifications__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.18rem;
}

.admin-topbar-notifications__content strong {
    overflow: hidden;
    color: #20233f;
    font-size: 0.83rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-topbar-notifications__content span {
    color: #667093;
    font-size: 0.76rem;
    line-height: 1.35;
}

.admin-topbar-notifications__content small {
    color: #8b82b6;
    font-size: 0.68rem;
    font-weight: 800;
}

.admin-topbar-notifications__empty {
    padding: 1.25rem 0.85rem;
    color: #667093;
    font-size: 0.82rem;
    text-align: center;
}

/* User dropdown trigger */
.admin-topbar-user__dropdown {
    position: relative;
}

.admin-topbar-user__trigger {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.375rem 0.5rem 0.375rem 0.375rem;
    background: transparent;
    border: 1px solid #e6e8f5;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.admin-topbar-user__trigger:hover {
    background: rgba(124, 58, 237, 0.05);
    border-color: #c4b5fd;
}

/* User avatar */
.admin-topbar-user__avatar {
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 9999px;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-topbar-user__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9999px;
}

.admin-topbar-user__avatar-initials {
    font-size: 0.75rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
}

/* User info */
.admin-topbar-user__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.125rem;
}

.admin-topbar-user__name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #20233f;
    line-height: 1.2;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-topbar-user__role {
    font-size: 0.6875rem;
    color: #667093;
    line-height: 1;
}

/* Chevron icon */
.admin-topbar-user__chevron {
    color: #667093;
    transition: transform 0.15s ease;
    flex-shrink: 0;
}

.admin-topbar-user__chevron.rotate-180 {
    transform: rotate(180deg);
}

/* Dropdown menu */
.admin-topbar-user__menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    min-width: 220px;
    background: white;
    border: 1px solid #e6e8f5;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(79, 70, 229, 0.15);
    padding: 0.5rem;
    z-index: 9999;
}

/* Menu header */
.admin-topbar-user__menu-header {
    padding: 0.75rem 1rem 0.5rem;
}

.admin-topbar-user__menu-name {
    font-weight: 600;
    color: #20233f;
    font-size: 0.875rem;
}

.admin-topbar-user__menu-email {
    font-size: 0.75rem;
    color: #667093;
    margin-top: 0.125rem;
}

/* Menu divider */
.admin-topbar-user__menu-divider {
    height: 1px;
    background: #e6e8f5;
    margin: 0.375rem 0;
}

/* Menu items */
.admin-topbar-user__menu-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.625rem 0.875rem;
    font-size: 0.8125rem;
    color: #20233f;
    background: transparent;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.15s ease;
}

.admin-topbar-user__menu-item:hover {
    background: rgba(124, 58, 237, 0.08);
    color: #7c3aed;
}

.admin-topbar-user__menu-item svg {
    color: #667093;
    flex-shrink: 0;
}

.admin-topbar-user__menu-item:hover svg {
    color: #7c3aed;
}

.admin-topbar-user__menu-item--danger {
    color: #ef4444;
}

.admin-topbar-user__menu-item--danger:hover {
    background: rgba(239, 68, 68, 0.08);
    color: #dc2626;
}

.admin-topbar-user__menu-item--danger svg {
    color: #ef4444;
}

.admin-topbar-user__menu-item--danger:hover svg {
    color: #dc2626;
}

.admin-topbar-user__menu-form {
    display: contents;
}

/* Dark mode support */
.fi-panel-admin.dark .admin-topbar-user__menu {
    background: #1f2937;
    border-color: #374151;
}

.fi-panel-admin.dark .admin-topbar-user__menu-header {
    background: transparent;
}

.fi-panel-admin.dark .admin-topbar-user__menu-name {
    color: #f9fafb;
}

.fi-panel-admin.dark .admin-topbar-user__menu-email {
    color: #9ca3af;
}

.fi-panel-admin.dark .admin-topbar-user__menu-divider {
    background: #374151;
}

.fi-panel-admin.dark .admin-topbar-user__menu-item {
    color: #f9fafb;
}

.fi-panel-admin.dark .admin-topbar-user__menu-item:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #a78bfa;
}

.fi-panel-admin.dark .admin-topbar-user__menu-item svg {
    color: #9ca3af;
}

.fi-panel-admin.dark .admin-topbar-user__menu-item:hover svg {
    color: #a78bfa;
}

.fi-panel-admin.dark .admin-topbar-user__trigger {
    border-color: #374151;
    background: transparent;
}

.fi-panel-admin.dark .admin-topbar-user__trigger:hover {
    background: rgba(139, 92, 246, 0.1);
    border-color: #6366f1;
}

.fi-panel-admin.dark .admin-topbar-user__name {
    color: #f9fafb;
}

.fi-panel-admin.dark .admin-topbar-user__role {
    color: #9ca3af;
}

/* Profile page fallback styles. This page must stay polished even when Vite/Tailwind assets are not built. */
.dc-profile {
    color: #121a44;
}

.dc-profile,
.dc-profile * {
    box-sizing: border-box;
}

.dc-profile-hero,
.dc-profile-card {
    overflow: hidden;
    border: 1px solid #e6e8f6;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 44px rgba(36, 27, 94, 0.08);
}

.dc-profile-hero {
    margin-bottom: 1.5rem;
}

.dc-profile-hero__banner {
    padding: 1.5rem;
    background: linear-gradient(135deg, #7346f2 0%, #6f3ff0 48%, #f64d86 100%);
}

.dc-profile-hero__inner,
.dc-profile-facts,
.dc-profile-facts__group,
.dc-profile-hero__meta,
.dc-profile-status,
.dc-profile-actions,
.dc-profile-actions--split,
.dc-profile-button {
    display: flex;
    align-items: center;
}

.dc-profile-hero__inner {
    gap: 1.25rem;
}

.dc-profile-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 6rem;
    height: 6rem;
    border-radius: 999px;
    object-fit: cover;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 18px 34px rgba(32, 16, 92, 0.18);
    outline: 4px solid rgba(255, 255, 255, 0.34);
    font-size: 1.45rem;
    font-weight: 900;
}

.dc-profile-hero__text h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 900;
    line-height: 1.15;
}

.dc-profile-hero__meta {
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.65rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.9rem;
}

.dc-profile-pill,
.dc-profile-info__role {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
}

.dc-profile-pill {
    padding: 0.45rem 0.8rem;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.22);
}

.dc-profile-hero__details {
    padding: 1rem 1.5rem;
}

.dc-profile-facts {
    justify-content: space-between;
    gap: 1rem;
}

.dc-profile-facts__group {
    flex-wrap: wrap;
    gap: 1.35rem;
}

.dc-profile-fact p,
.dc-profile-card__header p,
.dc-profile-help,
.dc-profile-password-intro p,
.dc-profile-current-photo p,
.dc-profile-info dt {
    margin: 0;
    color: #657093;
}

.dc-profile-fact strong,
.dc-profile-status strong,
.dc-profile-info dd {
    color: #121a44;
    font-weight: 800;
}

.dc-profile-status {
    gap: 0.5rem;
    color: #16a976;
}

.dc-profile-status span {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: #22c58b;
    box-shadow: 0 0 0 0.3rem rgba(34, 197, 139, 0.14);
}

.dc-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
    gap: 1.5rem;
}

.dc-profile-side {
    display: grid;
    align-content: start;
    gap: 1.5rem;
}

.dc-profile-card__header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e6e8f6;
    background: #fbfbff;
}

.dc-profile-card__header h3 {
    margin: 0;
    color: #121a44;
    font-size: 1.05rem;
    font-weight: 900;
}

.dc-profile-card__header p {
    margin-top: 0.25rem;
    font-size: 0.88rem;
}

.dc-profile-card__body,
.dc-profile-form {
    padding: 1.5rem;
}

.dc-profile-form {
    display: grid;
    gap: 1.15rem;
}

.dc-profile-form--compact {
    padding: 0;
}

.dc-profile-field {
    display: grid;
    gap: 0.5rem;
}

.dc-profile-field label {
    color: #374062;
    font-size: 0.9rem;
    font-weight: 800;
}

.dc-profile-field label span,
.dc-profile-error {
    color: #dc2626;
}

.dc-profile-field input {
    width: 100%;
    min-height: 3rem;
    border: 1px solid #d8dced;
    border-radius: 0.85rem;
    padding: 0.75rem 1rem;
    color: #121a44;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(36, 27, 94, 0.04);
    font: inherit;
}

.dc-profile-field input:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.14);
    outline: 0;
}

.dc-profile-upload {
    display: flex;
    justify-content: center;
    border: 2px dashed #cfd5e8;
    border-radius: 1rem;
    padding: 1.25rem;
    background: #fbfbff;
}

.dc-profile-upload__inner {
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    text-align: center;
}

.dc-profile-upload__icon,
.dc-profile-button__icon,
.dc-profile-spinner {
    flex: 0 0 auto;
}

.dc-profile-upload__icon {
    width: 3rem;
    height: 3rem;
    color: #8b92aa;
}

.dc-profile-upload__copy {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    color: #657093;
    font-size: 0.9rem;
}

.dc-profile-upload__copy label {
    color: #6f3ff0;
    cursor: pointer;
}

.dc-profile-upload__copy input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.dc-profile-help {
    font-size: 0.78rem;
}

.dc-profile-current-photo img {
    width: 5rem;
    height: 5rem;
    border-radius: 999px;
    object-fit: cover;
}

.dc-profile-actions {
    justify-content: flex-end;
    gap: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid #e6e8f6;
}

.dc-profile-actions--split {
    justify-content: flex-start;
}

.dc-profile-button {
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.7rem;
    border: 0;
    border-radius: 0.85rem;
    padding: 0.7rem 1.1rem;
    color: #ffffff;
    background: linear-gradient(135deg, #8b5cf6, #6f3ff0);
    box-shadow: 0 14px 28px rgba(111, 63, 240, 0.22);
    cursor: pointer;
    font-weight: 850;
}

.dc-profile-button:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.dc-profile-button--secondary {
    color: #374062;
    background: #eef1f8;
    box-shadow: none;
}

.dc-profile-button__icon,
.dc-profile-spinner {
    width: 1rem;
    height: 1rem;
}

.dc-profile-spinner {
    animation: dc-profile-spin 1s linear infinite;
}

.dc-profile-password-intro {
    display: grid;
    justify-items: center;
    gap: 1rem;
    padding: 0.75rem 0;
    text-align: center;
}

.dc-profile-info {
    margin: 0;
}

.dc-profile-info div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #f0f2f8;
}

.dc-profile-info div:first-child {
    border-top: 0;
}

.dc-profile-info dd {
    margin: 0;
    min-width: 0;
    max-width: 60%;
    overflow-wrap: anywhere;
    text-align: right;
}

.dc-profile-info__role {
    padding: 0.35rem 0.65rem;
    color: #6f3ff0;
    background: #f1ecff;
    font-size: 0.78rem;
}

@keyframes dc-profile-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1100px) {
    .dc-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .dc-profile-hero__inner,
    .dc-profile-facts {
        align-items: flex-start;
        flex-direction: column;
    }

    .dc-profile-card__body,
    .dc-profile-form,
    .dc-profile-card__header,
    .dc-profile-hero__banner,
    .dc-profile-hero__details {
        padding-inline: 1rem;
    }

    .dc-profile-info div,
    .dc-profile-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .dc-profile-info dd {
        max-width: 100%;
        text-align: left;
    }

    .dc-profile-button {
        width: 100%;
    }
}

/* Final sidebar palette refresh: calmer purple brand base with a controlled cyan accent. */
.fi-panel-admin {
    --dc-sidebar-ink: #ffffff;
    --dc-sidebar-muted: rgba(255, 255, 255, 0.76);
    --dc-sidebar-active-bg: rgba(255, 255, 255, 0.18);
    --dc-sidebar-active-line: rgba(255, 229, 122, 0.92);
}

.fi-panel-admin .fi-sidebar {
    background:
        radial-gradient(circle at 82% 13%, rgba(255, 229, 122, 0.26) 0 1.55rem, transparent 1.65rem),
        radial-gradient(circle at 16% 86%, rgba(45, 212, 191, 0.24) 0 4.4rem, transparent 4.7rem),
        radial-gradient(circle at 92% 72%, rgba(96, 165, 250, 0.22) 0 3.2rem, transparent 3.45rem),
        linear-gradient(180deg, #8b5cf6 0%, #6d43e8 45%, #3169d8 100%) !important;
    box-shadow: 18px 0 44px rgba(49, 38, 117, 0.22) !important;
}

.fi-panel-admin .fi-sidebar::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 22%),
        radial-gradient(ellipse 9rem 2.4rem at 50% 101%, rgba(45, 212, 191, 0.22), transparent 70%);
    opacity: 1 !important;
}

.fi-panel-admin .fi-sidebar::after,
.fi-panel-admin .fi-sidebar-footer::after {
    content: none !important;
    display: none !important;
}

.fi-panel-admin .fi-sidebar-header,
.fi-panel-admin .fi-sidebar-nav,
.fi-panel-admin .fi-sidebar-footer {
    position: relative;
    z-index: 2;
}

.fi-panel-admin .fi-sidebar-header {
    border-bottom-color: rgba(255, 255, 255, 0.14) !important;
}

.fi-panel-admin .fi-sidebar-group-label {
    color: var(--dc-sidebar-muted) !important;
    font-size: 0.74rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em !important;
    text-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item-btn {
    border: 1px solid transparent !important;
    border-radius: 1rem !important;
    background: transparent !important;
    box-shadow: none !important;
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease;
}

.fi-panel-admin .fi-sidebar-item-btn:hover {
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.11) !important;
    box-shadow: 0 10px 24px rgba(20, 18, 70, 0.12) !important;
    transform: translateY(-1px);
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    position: relative;
    border-color: rgba(255, 255, 255, 0.22) !important;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.12)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 14px 30px rgba(24, 20, 80, 0.18) !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active > .fi-sidebar-item-btn::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    bottom: 0.7rem;
    left: 0.42rem;
    width: 0.22rem;
    border-radius: 999px;
    background: var(--dc-sidebar-active-line);
    box-shadow: 0 0 18px rgba(255, 229, 122, 0.58);
}

.fi-panel-admin .fi-sidebar-item-label,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: var(--dc-sidebar-ink) !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 2px rgba(23, 18, 82, 0.25) !important;
}

.fi-panel-admin .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item .fi-icon,
.fi-panel-admin .fi-sidebar-item-icon svg,
.fi-panel-admin .fi-sidebar-item .fi-icon svg {
    color: var(--dc-sidebar-ink) !important;
    stroke: var(--dc-sidebar-ink) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-icon,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-icon svg,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-icon svg {
    color: #ffe57a !important;
    stroke: #ffe57a !important;
}

.fi-panel-admin .fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.24);
    border-radius: 999px;
}

.fi-panel-admin.dark .admin-topbar-user__text {
    color: #f9fafb;
}

.fi-panel-admin.dark .admin-topbar-user__chevron {
    color: #9ca3af;
}

/* Keep Filament action modals above the fixed desktop sidebar. */
.fi-panel-admin .fi-modal {
    inset: 0 !important;
    height: 100dvh !important;
    margin: 0 !important;
    max-width: none !important;
    pointer-events: none !important;
    position: fixed !important;
    width: 100vw !important;
    z-index: 99990 !important;
}

.fi-panel-admin .fi-modal > .fi-modal-close-overlay,
.fi-panel-admin .fi-modal > .fi-modal-window-ctn {
    inset: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    right: 0 !important;
    width: 100vw !important;
}

.fi-panel-admin .fi-modal > .fi-modal-close-overlay {
    pointer-events: auto !important;
    z-index: 99991 !important;
}

.fi-panel-admin .fi-modal > .fi-modal-window-ctn {
    pointer-events: none !important;
    z-index: 99992 !important;
    align-items: flex-start !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 100dvh !important;
    overflow-y: auto !important;
    padding: 6.25rem 1.25rem 1.25rem !important;
}

.fi-panel-admin .fi-modal > .fi-modal-window-ctn > .fi-modal-window {
    max-width: min(68rem, calc(100vw - 2rem)) !important;
    margin: 0 auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.fi-panel-admin .fi-modal > .fi-modal-window-ctn > .fi-modal-window.fi-modal-window-has-icon {
    max-width: min(34rem, calc(100vw - 2rem)) !important;
}

@media (min-width: 1024px) {
    .fi-panel-admin .fi-modal {
        left: var(--admin-sidebar-width, 18.5rem) !important;
        width: calc(100vw - var(--admin-sidebar-width, 18.5rem)) !important;
    }

    .fi-panel-admin .fi-modal > .fi-modal-close-overlay,
    .fi-panel-admin .fi-modal > .fi-modal-window-ctn {
        left: var(--admin-sidebar-width, 18.5rem) !important;
        width: calc(100vw - var(--admin-sidebar-width, 18.5rem)) !important;
    }

    .fi-panel-admin .fi-modal > .fi-modal-window-ctn > .fi-modal-window {
        max-width: min(58rem, calc(100vw - var(--admin-sidebar-width, 18.5rem) - 2rem)) !important;
    }

    .fi-panel-admin .fi-modal > .fi-modal-window-ctn > .fi-modal-window.fi-modal-window-has-icon {
        max-width: min(34rem, calc(100vw - var(--admin-sidebar-width, 18.5rem) - 2rem)) !important;
    }
}

body:has(.fi-modal-window:not(.fi-hidden)) .fi-panel-admin .fi-sidebar,
body:has(.fi-modal-window:not(.fi-hidden)) .fi-panel-admin .fi-topbar,
body:has(.fi-modal-window:not(.fi-hidden)) .fi-panel-admin .admin-topbar-shell,
body.admin-modal-open .fi-panel-admin .fi-sidebar,
body.admin-modal-open .fi-panel-admin .fi-topbar,
body.admin-modal-open .fi-panel-admin .admin-topbar-shell {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Dashboard content gutter: keep widget headings and stat cards from hugging the left edge. */
.fi-panel-admin .fi-page.fi-dashboard-page .fi-page-content,
.fi-panel-admin .fi-page:has(.fi-wi-stats-overview) .fi-page-content {
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
}

.fi-panel-admin .fi-page.fi-dashboard-page .fi-wi,
.fi-panel-admin .fi-page:has(.fi-wi-stats-overview) .fi-wi {
    width: 100%;
}

.fi-panel-admin .fi-page.fi-dashboard-page .fi-wi > header,
.fi-panel-admin .fi-page:has(.fi-wi-stats-overview) .fi-wi > header,
.fi-panel-admin .fi-page.fi-dashboard-page .fi-wi-header,
.fi-panel-admin .fi-page:has(.fi-wi-stats-overview) .fi-wi-header {
    padding-inline: 0.15rem !important;
}

@media (max-width: 640px) {
    .fi-panel-admin .fi-page.fi-dashboard-page .fi-page-content,
    .fi-panel-admin .fi-page:has(.fi-wi-stats-overview) .fi-page-content {
        padding-inline: 1rem !important;
    }
}

/* Stats widgets should read like table panels: header text and cards sit inside the card gutter. */
.fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) {
    overflow: hidden !important;
}

.fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) > header,
.fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) .fi-wi-header {
    padding: 1.35rem 1.5rem 1rem !important;
    border-bottom: 1px solid var(--ref-line, #e6e8f6) !important;
}

.fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) .fi-wi-stats-overview {
    margin-top: 0 !important;
    padding: 1rem 1.5rem 1.45rem !important;
}

@media (max-width: 640px) {
    .fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) > header,
    .fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) .fi-wi-header {
        padding: 1.1rem 1rem 0.9rem !important;
    }

    .fi-panel-admin .fi-wi:has(.fi-wi-stats-overview) .fi-wi-stats-overview {
        padding: 0.9rem 1rem 1.1rem !important;
    }
}

/* Filament stats headings are rendered as an inner section header. */
.fi-panel-admin .fi-wi-stats-overview .fi-section-header {
    padding: 1.35rem 1.5rem 1rem !important;
}

.fi-panel-admin .fi-wi-stats-overview .fi-section-content {
    padding: 1rem 1.5rem 1.45rem !important;
}

@media (max-width: 640px) {
    .fi-panel-admin .fi-wi-stats-overview .fi-section-header {
        padding: 1.1rem 1rem 0.9rem !important;
    }

    .fi-panel-admin .fi-wi-stats-overview .fi-section-content {
        padding: 0.9rem 1rem 1.1rem !important;
    }
}

/* Floating form panels must sit above neighboring inputs across edit pages. */
[x-cloak] {
    display: none !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-section,
:is(.fi-panel-admin, .fi-panel-parent) .fi-section-content,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-component-ctn,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-field-wrp,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-date-time-picker {
    overflow: visible !important;
}

:is(.fi-panel-admin, .fi-panel-parent) [data-field-wrapper],
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-field-wrp {
    position: relative !important;
    z-index: 1 !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-component-ctn > *,
:is(.fi-panel-admin, .fi-panel-parent) .fi-grid > * {
    position: relative !important;
    z-index: 1 !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-component-ctn > *:has([data-field-wrapper]:focus-within),
:is(.fi-panel-admin, .fi-panel-parent) .fi-grid > *:has([data-field-wrapper]:focus-within),
:is(.fi-panel-admin, .fi-panel-parent) [data-field-wrapper]:focus-within {
    position: relative !important;
    z-index: 10000 !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-component-ctn:focus-within,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-field-wrp:focus-within,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-date-time-picker:focus-within {
    position: relative !important;
    z-index: 9000 !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-dropdown-panel,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-date-time-picker-panel,
:is(.fi-panel-admin, .fi-panel-parent) .choices__list--dropdown,
:is(.fi-panel-admin, .fi-panel-parent) .ts-dropdown {
    z-index: 9100 !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-date-time-picker-panel {
    max-height: min(30rem, calc(100vh - 2rem)) !important;
    overflow-y: auto !important;
}

/* Repeater cards must not clip floating calendars or selects. */
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater-item,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater-item > div,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater-item-content,
:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater-item-content-ctn {
    overflow: visible !important;
}

:is(.fi-panel-admin, .fi-panel-parent) .fi-fo-repeater-item {
    isolation: isolate;
}
