/* =====================================================================
   PEERYX PORTAL — Dark Cyber Premium polish layer (loaded LAST)
   Filament panels (client/admin/reseller) + auth pages, on top of the
   unified dark peeryx-portal.css / *-refine.css.
   ===================================================================== */
:root {
  --corp-page:#f6f8fc;
  --corp-page-2:#ffffff;
  --corp-surface:#ffffff;
  --corp-surface-2:#ffffff;
  --corp-ink:#0b1f3a;
  --corp-text:#0b1f3a;
  --corp-muted:#0b1f3a;
  --corp-line:rgba(130,160,230,0.14);
  --corp-line-strong:rgba(130,163,240,0.28);
  --corp-accent:#225fee;
  --corp-accent-strong:#6793f9;
  --corp-accent-soft:rgba(34,95,238,0.12);
  --corp-on-accent:#ffffff;
}

/* ---------------- Auth pages ---------------------------------------- */
html body.peeryx-auth-body:not(#_):not(#_) { background:var(--corp-page) !important; color:var(--corp-text); }
body.peeryx-auth-body .peeryx-bg-ambient { background:radial-gradient(1100px 640px at 80% -10%, rgba(34,95,238,0.14), transparent 60%),
  radial-gradient(820px 540px at 6% 6%, rgba(56,114,248,0.1), transparent 55%) !important; }
body.peeryx-auth-body .peeryx-bg-orb-primary { opacity:.28 !important; }
body.peeryx-auth-body .peeryx-bg-orb-lime { opacity:.14 !important; }
body.peeryx-auth-body .peeryx-bg-noise, body.peeryx-auth-body .peeryx-bg-lines { opacity:.06 !important; }

/* ---------------- Filament: base surfaces --------------------------- */
.fi-body, .fi-main-ctn, .fi-main { background:var(--corp-page) !important; color:var(--corp-text); }

/* Sidebar */
.fi-sidebar, .fi-sidebar-nav { background:#ffffff !important; border-right:1px solid var(--corp-line) !important; }
.fi-sidebar-item-label { color:#0b1f3a !important; font-weight: 500; }
.fi-sidebar-group-label { color:var(--corp-muted) !important; letter-spacing:.08em; text-transform:uppercase; font-size:.68rem; }
.fi-sidebar-item > a:hover { background:var(--corp-accent-soft) !important; }
.fi-sidebar-item-active > a, .fi-sidebar-item.fi-active > a {
  background:var(--corp-accent-soft) !important;
  color:var(--corp-accent-strong) !important;
  box-shadow:inset 3px 0 0 var(--corp-accent);
}
.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon { color:var(--corp-accent-strong) !important; }

/* Topbar */
.fi-topbar > nav, .fi-topbar {
  background:rgba(246,248,252,0.72) !important;
  -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
  border-bottom:1px solid var(--corp-line) !important;
}

/* Cards / sections */
.fi-section, .fi-wi, .fi-ta-ctn, .fi-fo-component-ctn, .fi-modal-window {
  background:var(--corp-surface) !important;
  border:1px solid var(--corp-line) !important;
  box-shadow:0 10px 30px rgba(15,40,80,0.18) !important;
  border-radius: 16px !important;
}
.fi-section-header-heading, .fi-header-heading { color:var(--corp-ink) !important; }

/* Tables */
.fi-ta-header-cell { color:var(--corp-muted) !important; background:#ffffff !important; }
.fi-ta-row:hover { background:var(--corp-accent-soft) !important; }
.fi-ta-cell, .fi-ta-text { color:var(--corp-text) !important; }

/* Primary buttons -> cyan with glow */
.fi-btn-color-primary {
  background:linear-gradient(180deg, var(--corp-accent-strong), var(--corp-accent)) !important;
  color:var(--corp-on-accent) !important;
  border:1px solid rgba(103,147,249,0.5) !important;
  box-shadow:0 12px 30px rgba(34,95,238,0.3) !important;
  font-weight: 700;
}
.fi-btn-color-primary:hover { box-shadow:0 16px 40px rgba(34,95,238,0.42) !important; }

/* Headings never invisible */
.fi-main :is(h1,h2,h3,h4):not(#_):not(#_) { color:var(--corp-ink) !important; -webkit-text-fill-color:var(--corp-ink) !important; }

/* ---- Premium finishing touches ------------------------------------ */
.fi-body ::-webkit-scrollbar { width: 12px; height: 12px; }
.fi-body ::-webkit-scrollbar-track { background:#f6f8fc; }
.fi-body ::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#f7fafe,#f7fafe); border:3px solid rgba(15,40,80,0.12); border-radius:999px; }
.fi-body ::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#225fee,#0e3796); }
.fi-body :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid rgba(34,95,238,0.7) !important; outline-offset:2px; }
/* Metric/stat values pop in cyan */
.fi-wi-stats-overview-stat-value { color:#0b1f3a !important; }
/* Badges keep readable contrast on dark */
.fi-badge { border:1px solid rgba(130,160,230,0.18); }

/* ---- Dashboard hero header + KPI tiles (premium accents) ---------- */
.peeryx-dashboard-header {
  background:linear-gradient(135deg, rgba(34,95,238,0.14), rgba(56,114,248,0.05) 55%, transparent), #ffffff !important;
  border:1px solid rgba(34,95,238,0.22) !important;
  box-shadow:0 0 0 1px rgba(34,95,238,0.08), 0 20px 50px rgba(15,40,80,0.18) !important;
}
.admin-command-metric {
  background:#ffffff !important;
  border:1px solid var(--corp-line) !important;
  border-top:2px solid rgba(34,95,238,0.55) !important;
  transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
}
.admin-command-metric:hover {
  transform: translateY(-2px);
  box-shadow:0 12px 30px rgba(15,40,80,0.18), 0 0 0 1px rgba(34,95,238,0.22);
}

/* =====================================================================
   CLARTE / LISIBILITE — aeration + hierarchie (portail)
   ===================================================================== */
/* Respiration verticale entre les blocs de page */
.fi-page section, .fi-page .fi-section, .fi-page > div { scroll-margin-top: 5rem; }
.fi-main-ctn .fi-page { row-gap: 1.9rem !important; }
.fi-section + .fi-section, .fi-page > * + * { margin-top: 0 !important; }

/* En-tetes de section plus lisibles et hierarchises */
.fi-section-header-heading, .fi-header-heading {
  font-size: 1.18rem !important; font-weight: 700 !important; letter-spacing: -.01em;
  color:var(--corp-ink) !important;
}
.fi-header-heading { font-size: 1.6rem !important; }
.fi-section-header-description, .fi-header-subheading { color:var(--corp-muted) !important; }

/* Padding interne de section un peu plus genereux (aere) */
.fi-section-content { padding: 1.35rem 1.4rem !important; }

/* Topbar plus calme : items espaces, focus sur l'essentiel */
.fi-topbar { min-height: 4rem; }
.fi-topbar .fi-icon-btn { opacity: .9; }
.fi-topbar .fi-icon-btn:hover { opacity: 1; }

/* Sidebar : groupes plus lisibles, items plus aeres */
.fi-sidebar-group + .fi-sidebar-group { margin-top: .35rem; }
.fi-sidebar-item { margin-block: 1px; }
.fi-sidebar-group-button, .fi-sidebar-group-label { padding-block: .5rem; }

/* ---- Dashboard client : hierarchie des statuts (clarte) ----------- */
/* Statuts rassurants (tout va bien / info) = compacts et discrets */
.px-client-alert-success, .px-client-alert-info {
  padding: .75rem 1.05rem !important;
  border-radius: 12px !important;
  box-shadow:none !important;
}
.px-client-alert-success { background:rgba(52,211,153,.07) !important; border:1px solid rgba(52,211,153,.20) !important; }
.px-client-alert-info    { background:rgba(34,95,238,0.06) !important; border:1px solid rgba(34,95,238,0.18) !important; }
.px-client-alert-success .px-client-alert-main strong,
.px-client-alert-info .px-client-alert-main strong { font-size: .95rem !important; }
.px-client-alert-success .px-client-alert-main p,
.px-client-alert-info .px-client-alert-main p { font-size: .82rem !important; color:var(--corp-muted) !important; margin-top: 2px; }
/* Vrais avertissements = bien visibles */
.px-client-alert-warning { border-left:3px solid #fbbf24 !important; }
.px-client-alert-danger  { border-left:3px solid #f87171 !important; box-shadow:0 0 0 1px rgba(248,113,113,.15) !important; }

/* L'action queue reste le point focal : titre net */
.px-client-action-head strong, .px-client-action-head { color:var(--corp-ink) !important; }

/* ---- KPI stats widget (vue d'ensemble services) — accent cyan ----- */
.fi-wi-stats-overview-stat {
  background:#ffffff !important;
  border:1px solid var(--corp-line) !important;
  border-top:2px solid rgba(34,95,238,0.5) !important;
  border-radius: 14px !important;
  transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
}
.fi-wi-stats-overview-stat:hover { transform: translateY(-2px); box-shadow:0 12px 30px rgba(15,40,80,0.18), 0 0 0 1px rgba(34,95,238,0.22); }
.fi-wi-stats-overview-stat-value { color:#0b1f3a !important; font-weight: 800 !important; }
.fi-wi-stats-overview-stat-label { color:var(--corp-muted) !important; }

/* =====================================================================
   PREMIUM v2 — "waaah" : aurora, bordures dégradées, glow, KPI lumineux
   ===================================================================== */

/* Aurora ambiante en profondeur (derrière tout le portail) */
.fi-body { position: relative; }
.fi-body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:radial-gradient(1000px 560px at 86% -10%, rgba(34,95,238,0.16), transparent 60%),
    radial-gradient(820px 520px at 4% 2%, rgba(56,114,248,0.11), transparent 55%),
    radial-gradient(760px 560px at 62% 112%, rgba(99,142,241,0.1), transparent 60%);
}
.fi-main-ctn, .fi-sidebar, .fi-topbar { position: relative; z-index: 1; }

/* Cartes : surface + fine bordure dégradée cyan + profondeur */
.fi-section, .fi-wi, .fi-ta-ctn, .fi-fo-component-ctn, .fi-modal-window,
.peeryx-panel-utility, .admin-command-metric, .admin-command-grid > * {
  background:linear-gradient(180deg, #ffffff 0%, #ffffff 100%) padding-box,
    linear-gradient(155deg, rgba(34,95,238,0.38), rgba(56,114,248,0.1) 42%, rgba(130,160,230,0.1)) border-box !important;
  border:1px solid transparent !important;
  border-radius: 18px !important;
  box-shadow:0 18px 44px rgba(15,40,80,0.18), inset 0 1px 0 rgba(15,40,80,0.05) !important;
  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease;
}
.fi-section:hover, .fi-wi:hover, .admin-command-metric:hover {
  box-shadow:0 22px 52px rgba(15,40,80,0.18), 0 0 0 1px rgba(34,95,238,0.35), inset 0 1px 0 rgba(15,40,80,0.06) !important;
}

/* Dashboard héro : panneau aurora somptueux + titre dégradé */
.peeryx-dashboard-header {
  position: relative; overflow: hidden;
  background:radial-gradient(640px 320px at 90% -60%, rgba(34,95,238,0.28), transparent 62%),
    linear-gradient(120deg, #f7fafe 0%, #ffffff 58%) !important;
  border:1px solid rgba(34,95,238,0.26) !important;
  border-radius: 22px !important;
  box-shadow:0 26px 64px rgba(15,40,80,0.18), inset 0 1px 0 rgba(15,40,80,0.07) !important;
}
.peeryx-dashboard-header::after {
  content: ""; position: absolute; right: -60px; top: -80px; width: 320px; height: 320px;
  background:radial-gradient(circle, rgba(34,95,238,0.18), transparent 70%); filter: blur(8px); pointer-events: none;
}
.peeryx-dashboard-header :is(h1,h2):not(#_):not(#_) {
  background:linear-gradient(120deg,#0b1f3a 0%,#4338ca 100%);
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
  letter-spacing: -.02em;
}

/* Cartes KPI (stats widget) : chiffre lumineux + halo */
.fi-wi-stats-overview-stat {
  border-top:2px solid rgba(34,95,238,0.6) !important;
  border-radius: 16px !important;
}
.fi-wi-stats-overview-stat-value:not(#_) {
  font-weight: 800 !important; font-size: 1.9rem !important; letter-spacing: -.02em;
  background:linear-gradient(120deg,#0b1f3a 0%,#4338ca 100%);
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
.fi-wi-stats-overview-stat-description-icon { color:#183e95 !important; }

/* Boutons primaires : dégradé cyan + glow net */
.fi-btn-color-primary:not(#_) {
  background:linear-gradient(180deg, #6793f9, #225fee) !important;
  color:#04121a !important; font-weight: 700 !important;
  border:1px solid rgba(103,147,249,0.55) !important;
  box-shadow:0 12px 30px rgba(34,95,238,0.34), inset 0 1px 0 rgba(15,40,80,0.18) !important;
}
.fi-btn-color-primary:hover { box-shadow:0 18px 44px rgba(34,95,238,0.48), inset 0 1px 0 rgba(15,40,80,0.18) !important; transform: translateY(-1px); }

/* Sidebar : item actif avec halo cyan */
.fi-sidebar-item-active > a, .fi-sidebar-item.fi-active > a {
  background:linear-gradient(90deg, rgba(34,95,238,0.18), rgba(34,95,238,0.04)) !important;
  box-shadow:inset 3px 0 0 #225fee, 0 0 24px rgba(34,95,238,0.12) !important;
  border-radius: 10px !important;
}
.fi-sidebar { background:linear-gradient(180deg, #ffffff, #ffffff) !important; }

/* Badges : pastilles raffinées avec léger glow */
.fi-badge { border-radius: 999px !important; font-weight: 600 !important; }

/* Titres de section : liseré accent */
.fi-section-header-heading, .fi-header-heading { letter-spacing: -.01em; }

/* =====================================================================
   v3 REFINED — "operator console" : precision > glow (anti-"AI look")
   Override du v2 : on supprime aurora/gradient-text/glow uniformes,
   on passe a des hairlines froides, chiffres monospace, accent reserve.
   ===================================================================== */

/* 1. Fond : grille blueprint discrete + fine lueur haute, pas de blobs */
.fi-body::before {
  background:linear-gradient(180deg, rgba(34,95,238,0.05), transparent 240px),
    linear-gradient(rgba(140,165,205,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,165,205,.05) 1px, transparent 1px) !important;
  background-size: 100% 100%, 46px 46px, 46px 46px !important;
  opacity: 1 !important;
}

/* 2. Cartes : plates, hairline froide, filet superieur subtil, zero glow */
.fi-section, .fi-wi, .fi-ta-ctn, .fi-fo-component-ctn, .fi-modal-window,
.peeryx-panel-utility, .admin-command-metric, .admin-command-grid > * {
  background:#ffffff !important;
  border:1px solid rgba(15,40,80,0.14) !important;
  border-radius: 14px !important;
  box-shadow:inset 0 1px 0 rgba(15,40,80,0.03), 0 1px 2px rgba(15,40,80,0.18) !important;
}
.fi-section:hover, .fi-wi:hover, .admin-command-metric:hover {
  border-color:rgba(15,40,80,0.16) !important;
  box-shadow:inset 0 1px 0 rgba(15,40,80,0.04), 0 6px 22px rgba(15,40,80,0.18) !important;
}

/* 3. Hero : structure, titre blanc net, liseré accent signature, pas de glow */
.peeryx-dashboard-header {
  background:linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
  border:1px solid rgba(15,40,80,0.14) !important;
  border-left:2px solid #225fee !important;
  border-radius: 14px !important;
  box-shadow:inset 0 1px 0 rgba(15,40,80,0.03) !important;
}
.peeryx-dashboard-header::after { display: none !important; }
.peeryx-dashboard-header :is(h1,h2):not(#_):not(#_) {
  -webkit-text-fill-color:#0b1f3a !important; color:#0b1f3a !important;
  background:none !important; -webkit-background-clip: border-box !important;
  font-weight: 680 !important; letter-spacing: -.02em !important;
}

/* 4. KPI : lecture "instrument" — chiffre monospace tabulaire clair, label capitales */
.fi-wi-stats-overview-stat {
  border-top:none !important;
  border-left:2px solid rgba(34,95,238,0.55) !important;
  border-radius: 12px !important;
}
.fi-wi-stats-overview-stat-value:not(#_) {
  font-family: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace !important;
  -webkit-text-fill-color:#0b1f3a !important; color:#0b1f3a !important; background:none !important;
  font-weight: 600 !important; font-size: 1.75rem !important; letter-spacing: -.01em;
  font-variant-numeric: tabular-nums !important;
}
.fi-wi-stats-overview-stat-label { text-transform: uppercase; letter-spacing: .09em; font-size: .66rem !important; color:#0b1f3a !important; font-weight: 600; }
.fi-wi-stats-overview-stat-description { color:#5c6f88 !important; }

/* 5. Eyebrows / micro-labels : capitales espacees + pastille accent */
html body .px-client-action-eyebrow,
.px-client-action-head > span:first-child,
[class*="eyebrow"] {
  text-transform: uppercase !important; letter-spacing: .16em !important; font-size: .68rem !important;
  color:#0b1f3a !important; font-weight: 700 !important;
}

/* 6. Boutons : nets, glow discret */
.fi-btn-color-primary:not(#_) {
  background:linear-gradient(180deg,#2e6af5,#1f59e0) !important;
  box-shadow:0 2px 10px rgba(34,95,238,0.22) !important;
}

/* 7. Sidebar : hairline froide, item actif sobre (barre accent, pas de halo) */
.fi-sidebar { background:#ffffff !important; border-right:1px solid rgba(15,40,80,0.12) !important; }
.fi-sidebar-item-active > a, .fi-sidebar-item.fi-active > a {
  background:rgba(34,95,238,0.09) !important;
  box-shadow:inset 2px 0 0 #225fee !important;
}

/* 8. Tables : filet froid, entete sobre */
.fi-ta-header-cell { text-transform: uppercase; letter-spacing: .07em; font-size: .68rem !important; color:#0b1f3a !important; background:#ffffff !important; }
.fi-ta-row:hover { background:rgba(34,95,238,0.05) !important; }

/* =====================================================================
   v4 CRAFT — signatures distinctives (en-tetes, motif radar, typo data)
   ===================================================================== */

/* Tick accent signature devant chaque titre de section */
.fi-section-header-heading:not(#_)::before,
.peeryx-panel-utility .fi-section-header-heading::before {
  content: ""; display: inline-block; width: 3px; height: .82em;
  background:linear-gradient(180deg, #5e8cf7, #225fee);
  margin-right: .6em; vertical-align: -1px; border-radius: 2px;
  box-shadow:0 0 8px rgba(34,95,238,0.4);
}

/* Motif "radar/signal" discret en haut-droite du hero (reseau, pas de blob IA) */
.peeryx-dashboard-header { position: relative; overflow: hidden; }
.peeryx-dashboard-header::before {
  content: ""; position: absolute; top: -40px; right: -40px; width: 320px; height: 200px;
  background:repeating-radial-gradient(circle at 100% 0%, transparent 0 46px, rgba(34,95,238,0.07) 46px 47px);
  -webkit-mask-image: radial-gradient(circle at 100% 0%, #000, transparent 72%);
          mask-image: radial-gradient(circle at 100% 0%, #000, transparent 72%);
  pointer-events: none;
}
.peeryx-dashboard-header > * { position: relative; z-index: 1; }

/* Typo data : chiffres tabulaires partout dans le portail */
.fi-body { font-feature-settings: "tnum" 1, "ss01" 1; }
.fi-ta-cell, .fi-ta-text, [class*="metric"], [class*="kpi"], [class*="value"] { font-variant-numeric: tabular-nums; }

/* Headings : plus d'assise typographique */
.fi-header-heading:not(#_) { font-weight: 680 !important; letter-spacing: -.022em !important; font-size: 1.7rem !important; }

/* Badges : capitales fines, sobres */
.fi-badge { text-transform: uppercase; letter-spacing: .06em; font-size: .64rem !important; font-weight: 700 !important; }

/* Liens/actions secondaires : souligné accent subtil au survol */
.fi-link:hover { text-decoration-color: rgba(34,211,238,.5); }

/* =====================================================================
   LOGIN / AUTH — alignement "operator console" (net, lisible, sobre)
   ===================================================================== */
/* Fond : grille blueprint discrete au lieu de halos */
body.peeryx-auth-body:not(#_):not(#_) {
  background:linear-gradient(180deg, rgba(34,95,238,0.05), transparent 300px),
    linear-gradient(rgba(140,165,205,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,165,205,.045) 1px, transparent 1px),
    #f6f8fc !important;
  background-size: 100% 100%, 46px 46px, 46px 46px, auto !important;
}
body.peeryx-auth-body .peeryx-bg-orb-primary,
body.peeryx-auth-body .peeryx-bg-orb-lime,
body.peeryx-auth-body .peeryx-bg-noise { display: none !important; }

/* Carte : hairline froide, panneau marque avec liseré accent signature */
.auth-panel, .auth-brand {
  background:#ffffff !important;
  border:1px solid rgba(15,40,80,0.14) !important;
}
.auth-brand { border-left:2px solid #225fee !important; }
.auth-kicker {
  text-transform: uppercase !important; letter-spacing: .16em !important;
  color:#183e95 !important; border:1px solid rgba(34,95,238,0.3) !important; background:rgba(34,95,238,0.06) !important;
}
.auth-brand h1 { color:#0b1f3a !important; font-weight: 680 !important; letter-spacing: -.02em !important; }
.auth-label { text-transform: uppercase; letter-spacing: .09em; font-size: .68rem !important; color:#0b1f3a !important; }
.auth-input { background:#ffffff !important; border:1px solid rgba(15,40,80,0.16) !important; }
.auth-input:focus { border-color:#225fee !important; box-shadow:0 0 0 3px rgba(34,95,238,0.15) !important; }

/* Bouton : net, texte foncé lisible, glow discret */
.auth-btn:not(#_) {
  background:linear-gradient(180deg, #2e6af5, #1f59e0) !important;
  color:#04121a !important; font-weight: 700 !important; letter-spacing: .01em;
  border:1px solid rgba(103,147,249,0.55) !important;
  box-shadow:0 2px 10px rgba(34,95,238,0.24) !important;
}
.auth-btn:hover { box-shadow:0 6px 20px rgba(34,95,238,0.34) !important; }

/* =====================================================================
   v5 — champs, etats vides, tableaux : finition "console" partout
   ===================================================================== */

/* Champs de saisie : sombre net, hairline froide, focus cyan discret */
.fi-input, .fi-select-input, .fi-textarea, .fi-fo-field-wrp input, .fi-fo-field-wrp select, .fi-fo-field-wrp textarea {
  background:#ffffff !important;
  border:1px solid rgba(15,40,80,0.16) !important;
  border-radius: 10px !important;
  color:#0b1f3a !important;
}
.fi-input:focus, .fi-select-input:focus, .fi-textarea:focus,
.fi-fo-field-wrp input:focus, .fi-fo-field-wrp select:focus, .fi-fo-field-wrp textarea:focus {
  border-color:#225fee !important;
  box-shadow:0 0 0 3px rgba(34,95,238,0.14) !important;
  outline:none !important;
}
.fi-fo-field-wrp-label, .fi-fo-field-wrp label {
  text-transform: uppercase; letter-spacing: .07em; font-size: .7rem !important; color:#0b1f3a !important; font-weight: 600;
}
::placeholder { color:#5c6f88 !important; }

/* Etats vides : sobres et designes (pas de gros vide generique) */
.fi-ta-empty-state, .px-client-empty-section, [class*="empty-state"] {
  border:1px dashed rgba(15,40,80,0.16) !important;
  border-radius: 12px !important;
  background:rgba(150,172,208,.02) !important;
}
.fi-ta-empty-state-icon, [class*="empty-state"] [class*="icon"] { color:#3f5675 !important; }
.fi-ta-empty-state-heading, [class*="empty-state"] [class*="title"] { color:#0b1f3a !important; font-weight: 600; }

/* Tableaux : lignes fines, entete monospace-ish, chiffres tabulaires */
.fi-ta-table { border-collapse: separate !important; }
.fi-ta-row { border-bottom:1px solid rgba(15,40,80,0.09) !important; }
.fi-ta-cell { font-variant-numeric: tabular-nums; }
.fi-ta-header-cell { border-bottom:1px solid rgba(15,40,80,0.14) !important; }

/* Toggles / switches actifs en cyan */
.fi-toggle[aria-checked="true"], [role="switch"][aria-checked="true"] { background-color:#225fee !important; }

/* Chips de sélection / onglets actifs : liseré accent */
.fi-tabs-item-active, [role="tab"][aria-selected="true"] { box-shadow:inset 0 -2px 0 #225fee !important; color:#0b1f3a !important; }

/* =====================================================================
   ENTERPRISE LIGHT 2026-07-16 — bloc final, écrase tout ce qui précède.
   Pivot "clair entreprise" : le rendu doit inspirer confiance par la
   retenue. Zéro aurora, zéro glow, zéro dégradé décoratif.
   ===================================================================== */
.fi-body::before:not(#_) { content: none !important; }
html body .fi-body::before, html body.peeryx-auth-body .peeryx-bg-ambient {
  background: none !important; content: none;
}
html .fi-body { background: #f7f9fc !important; }

/* Titres : encre nette, jamais de dégradé-texte */
html .fi-body :is(h1,h2,h3):not(#_):not(#_) {
  -webkit-text-fill-color: #0e1b2c !important;
  color: #0e1b2c !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  text-shadow: none !important;
  letter-spacing: -.015em;
}

/* Cartes/sections : blanc, hairline, ombre neutre discrète */
html .fi-body :is(.fi-section, .fi-wi-widget, .fi-ta-ctn):not(#_) {
  background: #ffffff !important;
  border: 1px solid rgba(13,35,64,.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(14,27,44,.05) !important;
}

/* Boutons primaires : aplat bleu institutionnel */
html .fi-body .fi-btn.fi-color-primary:not(#_) {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(14,27,44,.08) !important;
  text-shadow: none !important;
}
html .fi-body .fi-btn.fi-color-primary:hover:not(#_) { background: #1e40af !important; border-color:#1e40af !important; }

/* Sidebar/topbar : blanc, hairline */
html .fi-body :is(.fi-sidebar, .fi-topbar):not(#_) {
  background: #ffffff !important;
  border-color: rgba(13,35,64,.12) !important;
  box-shadow: none !important;
}
html .fi-body .fi-sidebar-item-active .fi-sidebar-item-btn:not(#_) {
  background: #eef3fd !important;
  color: #1e40af !important;
  box-shadow: none !important;
}

/* Décor radar/tick/glow des couches précédentes : éteints */
html .fi-body [class*="px-radar"], html .fi-body [class*="px-glow"] { display: none !important; }

/* Auth (login/register) : fond clair sobre, carte blanche */
html body.peeryx-auth-body { background: #f7f9fc !important; }
html body.peeryx-auth-body .peeryx-auth-card {
  background: #ffffff !important;
  border: 1px solid rgba(13,35,64,.12) !important;
  box-shadow: 0 18px 44px rgba(14,27,44,.08) !important;
}

/* En-tête de page : plat (pas de cadre autour du H1) */
html .fi-body .fi-header:not(#_):not(#_) {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-left: 0; padding-right: 0;
}
html .fi-body .fi-header-heading:not(#_):not(#_) {
  background: none !important; border: 0 !important; box-shadow: none !important;
}

/* Tables : en-tête clair (le thead restait navy sombre → labels illisibles) */
html .fi-body .fi-ta-header-ctn:not(#_):not(#_),
html .fi-body table thead:not(#_):not(#_),
html .fi-body table thead tr:not(#_):not(#_),
html .fi-body .fi-ta-header-cell:not(#_):not(#_) {
  background: #f3f6fb !important;
}
html .fi-body table thead :is(th, .fi-ta-header-cell-label, span, button):not(#_):not(#_) {
  color: #1b2b42 !important;
  text-shadow: none !important;
}
html .fi-body table thead svg:not(#_):not(#_) { color: #5a6b81 !important; }

/* Chip "État réseau : Opérationnel" : vert lisible (était délavé) */
html body .peeryx-topbar-status:not(#_):not(#_) {
  border: 1px solid rgba(13,35,64,.14) !important;
  background: #ffffff !important;
  color: #1b2b42 !important;
}
html body .peeryx-topbar-status-operational:not(#_):not(#_) {
  border-color: rgba(21,128,61,.30) !important;
  background: #eaf7f0 !important;
  color: #15803d !important;
}
html body .peeryx-topbar-status-degraded:not(#_):not(#_) {
  border-color: rgba(180,83,9,.30) !important; background: #fdf3e7 !important; color: #b45309 !important;
}
html body .peeryx-topbar-status-incident:not(#_):not(#_) {
  border-color: rgba(185,28,28,.30) !important; background: #fdeeee !important; color: #b91c1c !important;
}

/* =====================================================================
   PORTAL v2 "élévation" 2026-07-17 — le moment waouh de l'espace client
   ===================================================================== */
/* Bande d'en-tête de page : panneau navy assorti à la vitrine */
html .fi-body .peeryx-page-header:not(#_):not(#_) {
  background:
    radial-gradient(700px 300px at 88% -20%, rgba(59,110,238,.20), transparent 60%),
    #0e1c31 !important;
  border: 1px solid rgba(150,180,220,.14) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 44px rgba(14,27,44,.14) !important;
  padding: 26px 30px !important;
}
html .fi-body .peeryx-page-header .peeryx-page-title:not(#_):not(#_):not(#_) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  letter-spacing: -.02em;
}
html .fi-body .peeryx-page-header .peeryx-page-subtitle:not(#_):not(#_) {
  color: #b6c6dd !important;
  -webkit-text-fill-color: #b6c6dd !important;
}
html .fi-body .peeryx-page-header .fi-btn:not(#_):not(#_) {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
}
html .fi-body .peeryx-page-header .fi-btn:hover:not(#_):not(#_) {
  background: #1d4ed8 !important; border-color: #1d4ed8 !important;
}
html .fi-body .peeryx-page-header a:not(.fi-btn):not(#_):not(#_) {
  color: #c6d4e6 !important; -webkit-text-fill-color: #c6d4e6 !important;
}
/* Chips/segments à l'intérieur de la bande : verre navy lisible */
html .fi-body .peeryx-page-header :is(.peeryx-page-header-extra, .peeryx-page-actions) :is(span, small, p, div):not(#_) {
  color: #b6c6dd;
  -webkit-text-fill-color: #b6c6dd;
}
/* Tuiles KPI dans la bande navy : fond verre sombre + texte clair, sinon le
   texte forcé en #b6c6dd devient illisible sur la tuile claire de base. */
html .fi-body .peeryx-page-header .peeryx-kpi:not(#_):not(#_) {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(150,180,220,.18) !important;
  box-shadow: none !important;
}
html .fi-body .peeryx-page-header .peeryx-kpi .peeryx-kpi-label:not(#_):not(#_):not(#_) {
  color: #a9bcd8 !important;
  -webkit-text-fill-color: #a9bcd8 !important;
}
html .fi-body .peeryx-page-header .peeryx-kpi .peeryx-kpi-value:not(#_):not(#_):not(#_) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html .fi-body .peeryx-page-header .peeryx-kpi .peeryx-kpi-trend:not(#_):not(#_):not(#_) {
  color: #b6c6dd !important;
  -webkit-text-fill-color: #b6c6dd !important;
}

/* Sidebar : rail actif accentué */
html .fi-body .fi-sidebar-item-active .fi-sidebar-item-btn:not(#_):not(#_) {
  position: relative;
  background: #eef3fd !important;
}
html .fi-body .fi-sidebar-item-active .fi-sidebar-item-btn::before {
  content: "";
  position: absolute; left: -8px; top: 8px; bottom: 8px; width: 3px;
  border-radius: 3px;
  background: #1d4ed8;
}
html .fi-body .fi-sidebar-item-active .fi-sidebar-item-label:not(#_):not(#_) {
  color: #1e40af !important;
  -webkit-text-fill-color: #1e40af !important;
  font-weight: 650;
}

/* Cartes KPI : les chiffres respirent */
html .fi-body .fi-wi-stats-overview-stat-value:not(#_):not(#_) {
  font-size: 1.9rem !important;
  letter-spacing: -.02em !important;
  color: #0e1b2c !important;
  -webkit-text-fill-color: #0e1b2c !important;
}
