/* Design NolX — même identité visuelle qu'izutils (utils.automotivapi.com).
   Surcouche des composants Filament 4 (classes fi-*). */
:root {
  --nx-bg-primary: #0a0a0a;
  --nx-bg-secondary: #0d0d0d;
  --nx-bg-card: #111111;
  --nx-bg-tertiary: #1a1a1a;
  --nx-bg-input: #0f0f0f;
  --nx-bg-hover: #181818;
  --nx-bg-elevated: #161616;
  --nx-text-primary: #ececec;
  --nx-text-secondary: #a3a3a3;
  --nx-text-muted: #6f6f6f;
  --nx-accent: #8b7cff;
  --nx-accent-hover: #a094ff;
  --nx-accent-soft: rgba(139, 124, 255, 0.14);
  --nx-border: #232323;
  --nx-border-strong: #303030;
  --nx-radius: 8px;
  --nx-radius-lg: 12px;
  --nx-ring: 0 0 0 3px rgba(139, 124, 255, 0.22);
}

/* ─── Base ─── */
html, body.fi-body, .fi-body { background: var(--nx-bg-primary) !important; color: var(--nx-text-primary); font-size: 14px; -webkit-font-smoothing: antialiased; }
.fi-main-ctn, .fi-main { background: transparent !important; }
.fi-header-heading { font-size: 22px !important; font-weight: 600 !important; letter-spacing: -0.01em; }
.fi-header-subheading { color: var(--nx-text-secondary) !important; }

/* ─── Barre latérale ─── */
.fi-sidebar, .fi-sidebar-header, .fi-topbar, .fi-topbar nav {
  background: var(--nx-bg-secondary) !important;
  box-shadow: none !important;
}
.fi-sidebar { border-right: 1px solid var(--nx-border); }
.fi-sidebar-header, .fi-topbar nav { border-bottom: 1px solid var(--nx-border) !important; }
.fi-sidebar-group-label { font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: .06em; color: var(--nx-text-muted) !important; }
.fi-sidebar-item-btn { height: 36px; border-radius: var(--nx-radius) !important; color: var(--nx-text-secondary); }
.fi-sidebar-item-btn:hover { background: var(--nx-bg-hover) !important; }
.fi-sidebar-item-label { font-weight: 500 !important; color: var(--nx-text-secondary) !important; }
.fi-sidebar-item-btn:hover .fi-sidebar-item-label { color: var(--nx-text-primary) !important; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: var(--nx-accent-soft) !important; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon { color: var(--nx-accent) !important; }
.fi-sidebar-item-btn > .fi-icon { color: var(--nx-text-muted); }
.fi-tenant-menu-trigger, .fi-sidebar .fi-dropdown-trigger { border-radius: var(--nx-radius) !important; }

/* ─── Cartes / sections / widgets ─── */
.fi-section, .fi-wi-stats-overview-stat, .fi-ta-ctn, .fi-wi-chart .fi-section, .fi-fo-builder-item, .fi-fo-repeater-item,
.fi-in-repeatable-item, .fi-tabs, .fi-simple-main, .fi-modal-window, .fi-dropdown-panel {
  background: var(--nx-bg-card) !important;
  border: 1px solid var(--nx-border) !important;
  box-shadow: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
}
.fi-section, .fi-wi-stats-overview-stat, .fi-ta-ctn, .fi-simple-main, .fi-modal-window { border-radius: var(--nx-radius-lg) !important; }
.fi-dropdown-panel, .fi-tabs, .fi-fo-builder-item, .fi-fo-repeater-item { border-radius: var(--nx-radius) !important; }
.fi-section-header-heading, .fi-wi-chart .fi-section-header-heading { font-size: 15px !important; font-weight: 600 !important; }
.fi-section-header-description { color: var(--nx-text-secondary) !important; }
.fi-section-content-ctn, .fi-section-header { border-color: var(--nx-border) !important; }
.fi-wi-stats-overview-stat-label { color: var(--nx-text-secondary) !important; font-size: 12px !important; font-weight: 500 !important; }
.fi-wi-stats-overview-stat-value { font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }

/* ─── Formulaires ─── */
.fi-input-wrp {
  background: var(--nx-bg-input) !important;
  border-radius: var(--nx-radius) !important;
  --tw-ring-color: var(--nx-border) !important;
  box-shadow: 0 0 0 1px var(--nx-border) !important;
}
.fi-input-wrp:focus-within { box-shadow: 0 0 0 1px var(--nx-accent), var(--nx-ring) !important; }
.fi-input, .fi-select-input, .fi-fo-textarea textarea { color: var(--nx-text-primary) !important; font-size: 13px !important; }
.fi-input::placeholder, textarea::placeholder { color: var(--nx-text-muted) !important; }
.fi-fo-field-label-content, .fi-fo-field-label { font-size: 12px !important; font-weight: 500 !important; color: var(--nx-text-secondary) !important; }
.fi-fo-field-wrp-helper-text, .fi-sc-text { color: var(--nx-text-muted) !important; }

/* ─── Boutons ─── */
.fi-btn { border-radius: var(--nx-radius) !important; font-weight: 500 !important; font-size: 13px !important; box-shadow: none !important; }
.fi-btn.fi-color-primary, .fi-btn.fi-color-primary:where(.fi-btn-color-primary) { color: #0a0a0a !important; }
.fi-btn.fi-color-primary .fi-icon { color: #0a0a0a !important; }
.fi-btn.fi-color-gray { background: var(--nx-bg-tertiary) !important; border: 1px solid var(--nx-border-strong) !important; color: var(--nx-text-primary) !important; }
.fi-btn.fi-color-gray:hover { background: var(--nx-bg-hover) !important; }
.fi-btn:focus-visible { box-shadow: var(--nx-ring) !important; }

/* ─── Badges ─── */
.fi-badge { border-radius: 999px !important; font-size: 11.5px !important; font-weight: 500 !important; --tw-ring-shadow: 0 0 #0000 !important; box-shadow: none !important; }
.fi-sidebar-item .fi-badge { background: var(--nx-accent-soft) !important; color: var(--nx-accent) !important; }

/* ─── Tableaux ─── */
.fi-ta-header-cell { font-size: 11.5px !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: .04em; color: var(--nx-text-muted) !important; background: transparent !important; }
.fi-ta-header-cell-label { color: var(--nx-text-muted) !important; }
.fi-ta-row { border-color: var(--nx-border) !important; }
.fi-ta-row:hover, .fi-ta-row:hover > td { background: var(--nx-bg-hover) !important; }
.fi-ta-header-toolbar, .fi-ta-header, .fi-ta-filter-indicators, .fi-pagination, .fi-ta-content { border-color: var(--nx-border) !important; background: transparent !important; }
.fi-ta-table > thead, .fi-ta-table > tbody { border-color: var(--nx-border) !important; }
.fi-ta-table :where(tr, td, th) { border-color: var(--nx-border) !important; }

/* ─── Onglets ─── */
.fi-tabs-item { border-radius: var(--nx-radius) !important; }
.fi-tabs-item.fi-active { background: var(--nx-accent-soft) !important; }
.fi-tabs-item.fi-active .fi-tabs-item-label, .fi-tabs-item.fi-active .fi-icon { color: var(--nx-accent) !important; }

/* ─── Connexion ─── */
.fi-simple-layout { background: radial-gradient(1200px 600px at 50% -10%, rgba(139,124,255,.10), transparent 60%), var(--nx-bg-primary) !important; }
.fi-simple-main { padding: 32px !important; }
.fi-logo { font-weight: 600 !important; letter-spacing: -0.01em; }

/* ─── Divers ─── */
.fi-no-notification, .fi-notification { background: var(--nx-bg-elevated) !important; border: 1px solid var(--nx-border) !important; border-radius: var(--nx-radius-lg) !important; }
::selection { background: rgba(139,124,255,.35); }
* { scrollbar-color: #2a2a2a transparent; }
