@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&display=swap');

:root {
    --font-family: 'Public Sans';
    --admin-surface-0: #ffffff;
    --admin-page: #f7f7f8;
    --admin-panel: #ffffff;
    --admin-panel-soft: #f4f4f5;
    --admin-panel-hover: #efeff1;
    --admin-text-primary: #232529;
    --admin-text-secondary: #5c5e63;
    --admin-text-tertiary: #7a7c82;
    --admin-border-subtle: #e9eaec;
    --admin-border-strong: #cfd1d4;
    --admin-accent-strong: #232529;
    --admin-accent-soft: #b4b6bb;
    --admin-shadow-panel: 0 1px 2px rgba(27, 29, 33, 0.06);
}

:root.dark {
    --admin-surface-0: #111214;
    --admin-page: #1b1d21;
    --admin-panel: #232529;
    --admin-panel-soft: #2b2d31;
    --admin-panel-hover: #232529;
    --admin-text-primary: #fbfbfb;
    --admin-text-secondary: #cfd1d4;
    --admin-text-tertiary: #96989c;
    --admin-border-subtle: #232529;
    --admin-border-strong: #3e4044;
    --admin-accent-strong: #fbfbfb;
    --admin-accent-soft: #75777c;
    --admin-shadow-panel: 0 1px 2px rgba(0, 0, 0, 0.35);
}

html,
body {
    font-family: 'Public Sans', ui-sans-serif, system-ui, sans-serif;
    background: var(--admin-page);
}

html {
    font-size: 106%;
    -webkit-text-size-adjust: 100%;
}

body {
    color: var(--admin-text-primary);
}

.fi-layout,
.fi-simple-layout {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 22%),
        var(--admin-page);
}

:root.dark .fi-layout,
:root.dark .fi-simple-layout {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 24%),
        var(--admin-page);
}

.fi-sidebar {
    background: var(--admin-panel);
    border-right: 1px solid var(--admin-border-subtle);
}

.fi-sidebar-header {
    background: var(--admin-panel);
    border-bottom: 1px solid var(--admin-border-subtle);
    box-shadow: none;
    height: 5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.fi-sidebar-nav {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.fi-sidebar-group-label,
.fi-sidebar-item-label {
    color: var(--admin-text-secondary);
}

/* Force larger sidebar typography over Filament utility defaults. */
.fi-sidebar .fi-sidebar-group-label {
    font-size: 0.85rem !important;
}

.fi-sidebar .fi-sidebar-item-button {
    font-size: 1rem;
}

.fi-sidebar .fi-sidebar-item-button .fi-sidebar-item-label {
    font-size: 1rem !important;
}

.fi-sidebar-item-button,
.fi-topbar-item-btn {
    border-radius: 10px;
}

.fi-sidebar-item-button {
    color: var(--admin-text-secondary);
}

.fi-sidebar-item-button:hover,
.fi-topbar-item-btn:hover {
    background: var(--admin-panel-hover);
    color: var(--admin-text-primary);
}

.fi-sidebar-item.fi-active .fi-sidebar-item-button {
    background: var(--admin-accent-strong);
    color: var(--admin-surface-0);
}

:root.dark .fi-sidebar-item.fi-active .fi-sidebar-item-button {
    color: #111214;
}

.fi-topbar nav {
    background: color-mix(in srgb, var(--admin-panel) 88%, transparent);
    border-bottom: 1px solid var(--admin-border-subtle);
    box-shadow: none;
    backdrop-filter: blur(14px);
    height: 5rem;
}

.fi-header-heading {
    color: var(--admin-text-primary);
    font-size: clamp(1.8rem, 2vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.fi-header-subheading,
.fi-wi-stats-overview-header-description,
.fi-wi-stats-overview-stat-label,
.fi-section-description,
.fi-ta-header-description {
    color: var(--admin-text-secondary);
}

.fi-breadcrumbs,
.fi-breadcrumbs-item-label {
    color: var(--admin-text-tertiary);
}

.fi-section,
.fi-ta-ctn,
.fi-modal-window,
.fi-dropdown-panel,
.fi-wi-stats-overview-stat {
    background: var(--admin-panel);
    border: 1px solid var(--admin-border-subtle);
    box-shadow: var(--admin-shadow-panel);
}

.fi-section,
.fi-ta-ctn,
.fi-modal-window {
    border-radius: 16px;
}

.fi-wi-stats-overview-stat {
    border-radius: 18px;
    padding: 1.35rem 1.5rem;
}

.fi-section-header,
.fi-section-content-ctn,
.fi-section-footer,
.fi-ta-header-ctn,
.fi-ta-filters-above-content-ctn,
.fi-ta-pagination,
.fi-modal-header,
.fi-modal-footer {
    border-color: var(--admin-border-subtle);
}

.fi-section-heading,
.fi-ta-header-heading,
.fi-wi-stats-overview-header-heading,
.fi-wi-stats-overview-stat-value {
    color: var(--admin-text-primary);
}

.fi-wi-stats-overview-stat-value {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

.fi-ta-ctn {
    overflow: hidden;
}

.fi-ta-table thead {
    background: var(--admin-panel-soft);
}

.fi-ta-table th {
    color: var(--admin-text-tertiary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fi-ta-table tbody tr {
    transition: background-color 120ms ease;
}

.fi-ta-table tbody tr:hover {
    background: var(--admin-panel-soft);
}

.fi-input-wrp,
.choices__inner,
.ts-control {
    background: var(--admin-panel);
    border-color: var(--admin-border-subtle);
    border-radius: 12px;
    box-shadow: none;
}

.fi-input-wrp:focus-within,
.choices.is-focused .choices__inner,
.ts-wrapper.focus .ts-control {
    border-color: var(--admin-border-strong);
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.08);
}

.fi-btn {
    border-radius: 999px;
}

.fi-btn-color-gray {
    background: var(--admin-panel);
    border-color: var(--admin-border-subtle);
    color: var(--admin-text-secondary);
}

.fi-btn-color-gray:hover {
    background: var(--admin-panel-hover);
    color: var(--admin-text-primary);
}

.fi-btn-color-primary {
    background: var(--admin-accent-strong);
    border-color: var(--admin-accent-strong);
    color: var(--admin-surface-0);
}

:root.dark .fi-btn-color-primary {
    color: #111214;
}

.fi-badge {
    border-radius: 999px;
}
