:root {
    --fn-primary-50: #FAFAFA;
    --fn-primary-100: #F4F4F5;
    --fn-primary-200: #E4E4E7;
    --fn-primary-300: #D4D4D8;
    --fn-primary-400: #A1A1AA;
    --fn-primary-500: #3F3F46;
    --fn-primary-600: #18181B;
    --fn-primary-700: #111113;
    --fn-primary-800: #0C0C0E;
    --fn-primary-900: #0B0B0C;
    --fn-primary-950: #050506;

    --fn-brand-50: #FEF2F3;
    --fn-brand-100: #FDE3E5;
    --fn-brand-200: #FBCBD0;
    --fn-brand-300: #F7A2AB;
    --fn-brand-400: #F16A79;
    --fn-brand-500: #E63A4E;
    --fn-brand-600: #E51A31;
    --fn-brand-700: #C01128;
    --fn-brand-800: #A01226;
    --fn-brand-900: #891526;
    --fn-brand-950: #4C0510;

    --fn-surface-rgb: 255 255 255;
    --fn-inverse-rgb: 255 255 255;
    --fn-ink-rgb: 0 0 0;

    --fn-radius-badge: 0.25rem;
    --fn-radius-control: 0.375rem;
    --fn-radius-surface: 0.5rem;

    --fn-hairline: 1px solid rgb(var(--fn-ink-rgb) / 0.08);
    --fn-hairline-inverse: 1px solid rgb(var(--fn-inverse-rgb) / 0.08);
    --fn-cell-padding-y: 0.625rem;

    --fn-sidebar-bg: var(--fn-primary-900);
    --fn-blade: var(--fn-brand-600);
    --fn-text-muted: var(--gray-500);

    --fn-topbar-bg: rgb(var(--fn-surface-rgb) / 0.9);
}

.fi-ta-cell,
.fi-ta-text {
    font-variant-numeric: tabular-nums;
}

.fi-fo-field-label {
    font-weight: 500;
}

.fi-ta-header-cell,
.fi-ta-header-cell-sort-btn {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fn-text-muted);
}

.fi-btn {
    border-radius: var(--fn-radius-control);
    font-weight: 600;
}

.fi-input-wrp,
.fi-select-input,
.fi-fo-file-upload-dropzone {
    border-radius: var(--fn-radius-control);
}

.fi-section:not(.fi-section-not-contained),
.fi-fieldset:not(.fi-fieldset-not-contained),
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    border-radius: var(--fn-radius-surface);
    border: var(--fn-hairline);
    box-shadow: none;
}

.fi-modal-window {
    border-radius: var(--fn-radius-surface);
}

.fi-badge {
    border-radius: var(--fn-radius-badge);
}

.fi-ta-cell {
    padding-top: var(--fn-cell-padding-y);
    padding-bottom: var(--fn-cell-padding-y);
}

.fi-sidebar {
    background-color: var(--fn-sidebar-bg);
    --gray-100: rgb(var(--fn-inverse-rgb) / 0.06);
    --gray-400: rgb(var(--fn-inverse-rgb) / 0.64);
    --gray-500: rgb(var(--fn-inverse-rgb) / 0.64);
    --gray-700: rgb(var(--fn-inverse-rgb) / 0.64);
    --primary-700: rgb(var(--fn-inverse-rgb) / 1);
}

.fi-sidebar .fi-sidebar-item-btn:hover {
    --gray-400: rgb(var(--fn-inverse-rgb) / 0.92);
    --gray-700: rgb(var(--fn-inverse-rgb) / 0.92);
}

.fi-body-has-topbar .fi-sidebar-header {
    display: flex;
    background-color: transparent;
    box-shadow: none;
    border-bottom: var(--fn-hairline-inverse);
}

.fi-sidebar-brand-logo {
    height: 2rem;
    width: auto;
}

.fi-sidebar-brand-logo ~ .fi-sidebar-header-logo-ctn {
    display: none;
}

.fi-sidebar-group-label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgb(var(--fn-inverse-rgb) / 0.48);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background-color: rgb(var(--fn-inverse-rgb) / 0.08);
}

.fi-sidebar-item.fi-active .fi-sidebar-item-btn::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background-color: var(--fn-blade);
}

.fi-sidebar-item-badge-ctn .fi-badge {
    background-color: var(--fn-brand-600);
    color: rgb(var(--fn-inverse-rgb) / 1);
}

.fi-topbar {
    background-color: var(--fn-topbar-bg);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-bottom: var(--fn-hairline);
    box-shadow: none;
}

.fi-loading-indicator {
    color: var(--fn-brand-600);
}

.fi-btn .fi-loading-indicator {
    color: currentColor;
}

.fi-tabs-item.fi-active {
    background-color: transparent;
    border-radius: 0;
    box-shadow: inset 0 -2px 0 0 var(--fn-brand-600);
}

.fi-tabs-item.fi-active .fi-tabs-item-label {
    color: var(--fn-primary-600);
}

.fi-input:disabled,
.fi-input[readonly],
.fi-select-input:disabled {
    color: var(--fn-primary-700);
    -webkit-text-fill-color: var(--fn-primary-700);
    opacity: 1;
}

@media (min-width: 64rem) {
    .fi-body-has-topbar .fi-sidebar {
        /* !important overrides Filament's high-specificity desktop sticky rule so the signature dark sidebar spans the full viewport height instead of hanging below the topbar */
        position: fixed !important;
        inset-block-start: 0;
        block-size: 100dvh;
        inline-size: var(--sidebar-width, 20rem);
        z-index: 40;
    }

    .fi-body-has-topbar .fi-layout {
        padding-inline-start: var(--sidebar-width, 20rem);
    }

    .fi-topbar .fi-logo {
        display: none;
    }
}

.fi-wi-stats-overview-stat,
.fi-wi-chart {
    background-color: rgb(var(--fn-surface-rgb));
    border: var(--fn-hairline);
    border-radius: var(--fn-radius-surface);
    box-shadow: none;
}

.fi-wi-stats-overview-stat-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fn-text-muted);
}

.fi-wi-stats-overview-stat-value {
    font-size: 30px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--fn-primary-600);
}

.fi-wi-stats-overview-stat-description {
    font-size: 11px;
    color: var(--fn-primary-400);
}
