/*
 * shadcn/ui "new-york" skin for the Filament admin panel.
 * Reference: https://ui.shadcn.com/view/new-york-v4/dashboard-01
 *
 * Token-for-token port of the shadcn v4 zinc theme (light + dark), applied
 * over Filament's compiled Tailwind utilities — hence the !important weight.
 */

:root {
    --scn-radius: 0.625rem; /* 10px — shadcn --radius */
    --scn-bg: #ffffff;
    --scn-fg: #09090b;
    --scn-card: #ffffff;
    --scn-border: #e4e4e7;
    --scn-input: #e4e4e7;
    --scn-muted: #f4f4f5;
    --scn-muted-fg: #71717a;
    --scn-primary: #18181b;
    --scn-primary-fg: #fafafa;
    --scn-sidebar: #fafafa;
    --scn-ring: rgba(9, 9, 11, 0.1);
    --scn-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --scn-destructive: #dc2626;
    --scn-success: #16a34a;
}

.dark {
    --scn-bg: #0a0a0a;
    --scn-fg: #fafafa;
    --scn-card: #18181b;
    --scn-border: rgba(255, 255, 255, 0.1);
    --scn-input: rgba(255, 255, 255, 0.15);
    --scn-muted: #27272a;
    --scn-muted-fg: #a1a1aa;
    --scn-primary: #e4e4e7;
    --scn-primary-fg: #18181b;
    --scn-sidebar: #18181b;
    --scn-ring: rgba(255, 255, 255, 0.18);
    --scn-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.35);
    --scn-destructive: #ef4444;
    --scn-success: #22c55e;
}

/* ---------- Base ---------- */

.fi-body {
    background-color: var(--scn-bg) !important;
    color: var(--scn-fg) !important;
    font-feature-settings: 'rlig' 1, 'calt' 1;
}

.fi-main-ctn,
.fi-page {
    background-color: var(--scn-bg) !important;
}

/* ---------- Sidebar (dashboard-01: flat, hairline divider, quiet items) */

.fi-sidebar {
    background-color: var(--scn-sidebar) !important;
    border-right: 1px solid var(--scn-border);
}

.fi-sidebar-header {
    background-color: var(--scn-sidebar) !important;
    box-shadow: none !important;
    border-bottom: 1px solid transparent;
}

.fi-sidebar-item-button {
    border-radius: calc(var(--scn-radius) - 2px) !important;
}

.fi-sidebar-item-button:hover {
    background-color: var(--scn-muted) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-button {
    background-color: var(--scn-muted) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--scn-fg) !important;
}

.fi-sidebar-item-label {
    color: var(--scn-fg) !important;
    font-weight: 500;
    font-size: 0.875rem;
}

.fi-sidebar-item-icon {
    color: var(--scn-muted-fg) !important;
}

.fi-sidebar-group-label {
    color: var(--scn-muted-fg) !important;
    font-size: 0.75rem;
    font-weight: 500;
}

/* ---------- Topbar ---------- */

.fi-topbar nav {
    background-color: var(--scn-bg) !important;
    border-bottom: 1px solid var(--scn-border) !important;
    box-shadow: none !important;
}

/* ---------- Cards: sections, widgets, tables, modals, dropdowns ---------- */

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-fo-tabs,
.fi-modal-window,
.fi-dropdown-panel,
.fi-simple-main {
    background-color: var(--scn-card) !important;
    border-radius: var(--scn-radius) !important;
    box-shadow: 0 0 0 1px var(--scn-border), var(--scn-shadow) !important;
}

/* Stat cards (dashboard-01 metric cards): label small+muted, value large. */

.fi-wi-stats-overview-stat-label {
    color: var(--scn-muted-fg) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
}

.fi-wi-stats-overview-stat-value {
    font-size: 1.875rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em;
    color: var(--scn-fg) !important;
}

.fi-wi-stats-overview-stat-description {
    color: var(--scn-muted-fg) !important;
}

/* ---------- Tables ---------- */

.fi-ta-header-ctn {
    border-bottom: 1px solid var(--scn-border);
}

.fi-ta-header-cell {
    color: var(--scn-muted-fg) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

.fi-ta-table {
    --tw-divide-opacity: 0 !important;
}

.fi-ta-row {
    border-bottom: 1px solid var(--scn-border);
}

.fi-ta-row:hover {
    background-color: var(--scn-muted) !important;
}

.fi-ta-cell {
    color: var(--scn-fg);
}

.fi-ta-text-item-label {
    font-size: 0.875rem;
}

/* ---------- Buttons ---------- */

.fi-btn {
    border-radius: calc(var(--scn-radius) - 2px) !important;
    box-shadow: var(--scn-shadow) !important;
    font-weight: 500 !important;
}

/* Primary: near-black in light, near-white in dark (shadcn primary). */
.fi-btn.fi-color-primary {
    background: var(--scn-primary) !important;
    color: var(--scn-primary-fg) !important;
}

.fi-btn.fi-color-primary:hover {
    opacity: 0.9;
}

.fi-btn.fi-color-primary .fi-btn-icon,
.fi-btn.fi-color-primary .fi-btn-label {
    color: var(--scn-primary-fg) !important;
}

/* Gray / secondary buttons: outline style. */
.fi-btn.fi-color-gray {
    background: var(--scn-card) !important;
    color: var(--scn-fg) !important;
    box-shadow: 0 0 0 1px var(--scn-input), var(--scn-shadow) !important;
}

.fi-btn.fi-color-gray:hover {
    background: var(--scn-muted) !important;
}

/* ---------- Inputs ---------- */

.fi-input-wrp {
    border-radius: calc(var(--scn-radius) - 2px) !important;
    background-color: transparent !important;
    box-shadow: 0 0 0 1px var(--scn-input) !important;
}

.fi-input-wrp:focus-within {
    box-shadow: 0 0 0 1px var(--scn-input), 0 0 0 4px var(--scn-ring) !important;
}

.fi-input,
.fi-select-input {
    color: var(--scn-fg) !important;
    font-size: 0.875rem !important;
}

.fi-input::placeholder {
    color: var(--scn-muted-fg) !important;
}

.fi-fo-field-wrp-label .fi-fo-field-wrp-label-text,
.fi-fo-field-wrp label {
    color: var(--scn-fg) !important;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Checkboxes / toggles keep their state colors; just square them off less. */
.fi-checkbox-input {
    border-radius: 4px !important;
}

/* ---------- Badges (shadcn: rounded-md, quiet) ---------- */

.fi-badge {
    border-radius: calc(var(--scn-radius) - 4px) !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

/* ---------- Dropdowns / modals chrome ---------- */

.fi-dropdown-list-item {
    border-radius: calc(var(--scn-radius) - 4px) !important;
}

.fi-dropdown-list-item:hover {
    background-color: var(--scn-muted) !important;
}

.fi-modal-header,
.fi-modal-footer {
    background-color: var(--scn-card) !important;
}

/* ---------- Pagination / misc muted text ---------- */

.fi-pagination-overview,
.fi-ta-search-field .fi-input::placeholder,
.fi-breadcrumbs-item {
    color: var(--scn-muted-fg) !important;
}

/* ---------- Auth card (login) ---------- */

.fi-simple-layout {
    background-color: var(--scn-bg) !important;
}

.fi-simple-header-heading {
    letter-spacing: -0.025em;
}
