@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
    --ebm-ink: #16181d;
    --ebm-muted: #5f6774;
    --ebm-paper: #f7f6f2;
    --ebm-surface: #ffffff;
    --ebm-border: #e3e6ec;
    --ebm-accent: #e4572e;
    --ebm-accent-strong: #cb3d14;
    --ebm-accent-soft: #fff2ea;
    --ebm-teal-soft: #edf8f5;
}

.fi-body,
.fi-main,
.fi-layout,
.fi-sidebar,
.fi-topbar,
.fi-section,
.fi-ta,
.fi-fo-field-wrp {
    font-family: 'Space Grotesk', sans-serif;
}

.fi-topbar {
    background:
        radial-gradient(circle at 8% 25%, rgba(228, 87, 46, 0.14) 0, rgba(228, 87, 46, 0) 35%),
        radial-gradient(circle at 95% 15%, rgba(42, 157, 143, 0.12) 0, rgba(42, 157, 143, 0) 30%),
        var(--ebm-paper);
    border-bottom: 1px solid var(--ebm-border);
}

.fi-sidebar {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fc 100%);
    border-right: 1px solid var(--ebm-border);
}

.fi-sidebar-nav-item-btn,
.fi-sidebar-group-label {
    color: var(--ebm-ink);
}

.fi-sidebar-item-active > .fi-sidebar-nav-item-btn,
.fi-sidebar-nav-item-btn:hover {
    background: var(--ebm-accent-soft);
    color: var(--ebm-accent-strong);
}

.fi-header-heading {
    font-weight: 700;
    letter-spacing: 0.01em;
}

.fi-header-subheading {
    color: var(--ebm-muted);
}

.fi-section,
.fi-ta,
.fi-fo,
.fi-wi-stats-overview-stat {
    border: 1px solid var(--ebm-border);
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(22, 24, 29, 0.05);
    background: var(--ebm-surface);
}

.fi-wi-stats-overview-stat {
    padding: 18px;
}

.fi-wi-stats-overview-stat-label {
    color: var(--ebm-muted);
    font-size: 0.84rem;
    font-family: 'IBM Plex Mono', monospace;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fi-wi-stats-overview-stat-value {
    color: var(--ebm-ink);
    font-size: 1.75rem;
}

.fi-btn,
.fi-ac-btn-action {
    border-radius: 999px;
    font-weight: 700;
}

.fi-btn-color-primary {
    background: linear-gradient(180deg, var(--ebm-accent), var(--ebm-accent-strong));
}

.fi-btn-color-primary:hover {
    filter: brightness(0.97);
}

.fi-input,
.fi-select-input,
.fi-ta-text-input {
    border-radius: 12px;
}

.fi-ta-table thead th {
    background: #fafbfe;
    color: var(--ebm-muted);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.fi-ta-table tbody tr:hover {
    background: rgba(228, 87, 46, 0.05);
}

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

@media (max-width: 1024px) {
    .fi-wi-stats-overview-stat-value {
        font-size: 1.45rem;
    }
}
