/*
 * Shared visual refresh for both Filament panels (admin + dashboard).
 * Targets Filament's own component classes directly so it doesn't depend
 * on Tailwind's JIT scanner picking up new utility classes (this file is
 * loaded as a plain stylesheet, not compiled through Vite).
 *
 * Panel-specific accent color/soft-background come from --pb-accent and
 * --pb-accent-soft, which each PanelProvider defines inline before linking
 * this file (amber for admin, indigo for dashboard) — everything else here
 * is shared.
 */

:root {
    --pb-bg: #f5f6fb;
    --pb-surface: #ffffff;
    --pb-border: #e4e7f2;
    --pb-border-strong: #d3d8e8;
    --pb-text-muted: #667085;
    --pb-success: #059669;
    --pb-success-soft: #e6f6f0;
    --pb-warning: #ea580c;
    --pb-warning-soft: #fdece1;
    --pb-danger: #dc2626;
    --pb-danger-soft: #fbe7e7;
    --pb-sidebar-bg: #0f1424;
    --pb-sidebar-text: #cdd2e6;
    --pb-shadow-sm: 0 1px 2px rgba(16, 23, 42, 0.05);
    --pb-shadow-md: 0 4px 16px rgba(16, 23, 42, 0.07);
    --pb-radius: 14px;

    /* Semantic stat-icon colors, independent of panel accent */
    --pb-primary: var(--pb-accent, #4f46e5);
    --pb-primary-soft: var(--pb-accent-soft, #eef0fd);
    --pb-info: #2563eb;
    --pb-info-soft: #e8f0fe;
}

html.dark {
    --pb-bg: #0a0e1a;
    --pb-surface: #131829;
    --pb-border: #262e48;
    --pb-border-strong: #333c5c;
    --pb-text-muted: #939bb8;
    --pb-success: #34d399;
    --pb-success-soft: #103324;
    --pb-warning: #fb923c;
    --pb-warning-soft: #3a2311;
    --pb-danger: #f87171;
    --pb-danger-soft: #3a1818;
    --pb-sidebar-bg: #060911;
    --pb-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
    --pb-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --pb-info: #60a5fa;
    --pb-info-soft: #142238;
}

/* Page background */
.fi-main,
.fi-main-ctn {
    background: var(--pb-bg) !important;
}

/* ---------- Sidebar: permanent dark chrome regardless of light/dark toggle ---------- */
.fi-sidebar.fi-main-sidebar {
    background: var(--pb-sidebar-bg) !important;
    border-inline-end: none !important;
}
.fi-sidebar-header {
    border-block-end: 1px solid rgba(255, 255, 255, 0.06) !important;
    background: transparent !important;
}
.fi-sidebar-nav-groups {
    padding-block-start: 0.5rem;
}
.fi-sidebar-item-btn,
.fi-sidebar-item-btn * {
    opacity: 1 !important;
}
.fi-sidebar-item-btn {
    color: var(--pb-sidebar-text) !important;
    border-radius: 8px !important;
}
.fi-sidebar-item-btn:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}
.fi-sidebar-item-icon {
    color: var(--pb-sidebar-text) !important;
}
.fi-sidebar-item-label {
    color: inherit !important;
    font-weight: 600;
    font-size: 0.83rem;
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: rgba(255, 255, 255, 0.09) !important;
    color: #ffffff !important;
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-icon {
    color: var(--pb-accent, #4f46e5) !important;
}
.fi-sidebar-group-label {
    color: #ffffff !important;
    opacity: 0.5 !important;
}
.fi-sidebar-item-grouped-border-part,
.fi-sidebar-item-grouped-border-part-not-first,
.fi-sidebar-item-grouped-border-part-not-last {
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.fi-sidebar-footer {
    border-block-start: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ---------- Topbar ---------- */
.fi-topbar-ctn,
.fi-topbar {
    background: var(--pb-surface) !important;
    border-block-end: 1px solid var(--pb-border) !important;
    box-shadow: none !important;
}

/* ---------- Stat cards: icon-chip treatment ---------- */
.fi-wi-stats-overview-stat {
    background: var(--pb-surface) !important;
    border: 1px solid var(--pb-border) !important;
    border-radius: var(--pb-radius) !important;
    box-shadow: var(--pb-shadow-sm) !important;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.fi-wi-stats-overview-stat:hover {
    box-shadow: var(--pb-shadow-md) !important;
    transform: translateY(-1px);
}
.fi-wi-stats-overview-stat-label-ctn {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-block-end: 0.6rem;
}
.fi-wi-stats-overview-stat-label-ctn > svg {
    width: 30px !important;
    height: 30px !important;
    padding: 7px;
    border-radius: 9px;
    background: var(--pb-primary-soft);
    color: var(--pb-primary);
    flex-shrink: 0;
}
.fi-wi-stats-overview-stat.pb-stat-success .fi-wi-stats-overview-stat-label-ctn > svg {
    background: var(--pb-success-soft);
    color: var(--pb-success);
}
.fi-wi-stats-overview-stat.pb-stat-danger .fi-wi-stats-overview-stat-label-ctn > svg {
    background: var(--pb-danger-soft);
    color: var(--pb-danger);
}
.fi-wi-stats-overview-stat.pb-stat-warning .fi-wi-stats-overview-stat-label-ctn > svg {
    background: var(--pb-warning-soft);
    color: var(--pb-warning);
}
.fi-wi-stats-overview-stat.pb-stat-info .fi-wi-stats-overview-stat-label-ctn > svg {
    background: var(--pb-info-soft);
    color: var(--pb-info);
}
.fi-wi-stats-overview-stat-label {
    text-transform: uppercase;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    color: var(--pb-text-muted) !important;
}
.fi-wi-stats-overview-stat-value {
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.fi-wi-stats-overview-stat-description {
    font-size: 0.78rem !important;
}

/* ---------- Grouped stat-widget section headings ---------- */
.fi-wi-stats-overview .fi-section-header-heading {
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    opacity: 0.7;
}
.fi-wi-stats-overview .fi-section-header {
    margin-block-end: 0.75rem;
}

/* ---------- Badges: pill treatment ---------- */
.fi-badge {
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.66rem !important;
    letter-spacing: 0.03em;
}

/* ---------- Tables ---------- */
.fi-ta-row:hover {
    background: var(--pb-accent-soft, #eef0fd) !important;
}
.fi-ta-table {
    font-variant-numeric: tabular-nums;
}

/* ---------- Sections / cards ---------- */
.fi-section {
    border-radius: var(--pb-radius) !important;
    box-shadow: var(--pb-shadow-sm) !important;
}

/* ---------- Buttons: slightly bolder, consistent radius ---------- */
.fi-btn {
    font-weight: 600 !important;
    border-radius: 10px !important;
}
