/* ─── S.D.R IA × Generix — couche « radar » ──────────────────────────────────
   Thème sombre futuriste ALIGNÉ SUR LA CARTE (/carte) : même fond, même verre,
   même cyan. Chargé APRÈS style.css : pure surcharge, aucune structure touchée —
   retirer ce <link> dans index.html restaure la charte claire d'origine.
   Choix assumé : thème unique sombre (pas de variante système), tout est peint. */

:root {
  --fond: #070B16;
  --panneau: rgba(13, 20, 38, .82);
  --panneau-plein: #0D1426;
  --bord: rgba(56, 189, 248, .22);
  --bord-fort: rgba(56, 189, 248, .45);
  --cyan: #38BDF8;
  --lueur: rgba(56, 189, 248, .40);
  /* les variables Generix re-pointées : tout style.css bascule d'un coup */
  --gx-grey-bg: #070B16;
  --gx-white: #0D1426;
  --gx-grey-line: rgba(120, 150, 200, .18);
  --ink: #E6EEFB;
  --ink-2: #8DA2C0;
  --gx-navy: #C9DCF5;          /* les titres navy deviennent clairs */
  --gx-navy-mid: #7FB8D8;
  --gx-orange: #F28A48;        /* l'orange Generix reste l'accent chaud */
}

/* ── Fond : nuit + trame radar très discrète ── */
html, body {
  background:
    radial-gradient(1200px 500px at 70% -10%, rgba(56, 189, 248, .07), transparent 60%),
    radial-gradient(900px 400px at 10% 110%, rgba(242, 138, 72, .05), transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(120, 150, 200, .035) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(120, 150, 200, .035) 39px 40px),
    var(--fond);
  color: var(--ink);
  font-family: 'Rajdhani', 'Inter', system-ui, sans-serif;
  font-size: 14.5px;
}

/* ── Topbar : verre sombre, liseré cyan ── */
.topbar {
  background: linear-gradient(180deg, rgba(10, 16, 32, .96), rgba(10, 16, 32, .78));
  border-bottom: 1px solid var(--bord);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .45), 0 1px 0 var(--bord-fort);
  backdrop-filter: blur(10px);
}
.brand h1 { letter-spacing: .04em; text-shadow: 0 0 18px var(--lueur); }
.brand .sub, .meta { color: var(--ink-2); }
.clock { font-family: 'Share Tech Mono', monospace; color: var(--cyan); text-shadow: 0 0 10px var(--lueur); }

/* ── Tuiles de stats : cartes de verre, halo au survol ── */
.target { background: transparent; }
.target-title { color: var(--ink); letter-spacing: .03em; }
.target-stat {
  background: linear-gradient(180deg, rgba(20, 30, 55, .9), rgba(13, 20, 38, .9));
  border: 1px solid var(--bord);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.target-stat:hover {
  border-color: var(--bord-fort);
  box-shadow: 0 0 22px rgba(56, 189, 248, .18), inset 0 1px 0 rgba(255, 255, 255, .05);
}
.target-stat .val {
  font-family: 'Share Tech Mono', monospace;
  color: var(--cyan);
  text-shadow: 0 0 14px var(--lueur);
}
.target-stat .lbl { color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; font-size: 10px; }

/* ── Onglets ── */
.tabs { background: transparent; border-bottom: 1px solid var(--bord); }
.tab { color: var(--ink-2); letter-spacing: .02em; }
.tab:hover { color: var(--ink); background: rgba(56, 189, 248, .08); }
.tab.active {
  color: var(--cyan);
  border-bottom-color: var(--cyan);
  background: linear-gradient(180deg, rgba(56, 189, 248, .10), transparent);
  text-shadow: 0 0 12px var(--lueur);
}

/* ── Filtres + barre Critères ── */
.filters { background: transparent; }
.filter-pill, .search-wrap input, .filter-pill select, #criteres-bar select {
  background: var(--panneau) !important;
  color: var(--ink) !important;
  border-color: var(--bord) !important;
}
.search-wrap input::placeholder { color: var(--ink-2); }
.crit-chip { background: var(--panneau); border-color: var(--bord); color: var(--ink-2); }
.crit-chip:hover { border-color: var(--bord-fort); color: var(--ink); }
.crit-chip:has(input:checked) {
  background: rgba(56, 189, 248, .14);
  border-color: var(--bord-fort);
  color: var(--cyan);
  box-shadow: 0 0 14px rgba(56, 189, 248, .15);
}
.crit-chip input { accent-color: var(--cyan); }
#criteres-bar .crit-lbl { color: var(--cyan); font-family: 'Share Tech Mono', monospace; }

/* ── Tableau : verre, lignes fines, survol lumineux ── */
.view-table { background: var(--panneau); border: 1px solid var(--bord); border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
table.leads thead th {
  background: rgba(10, 16, 32, .92);
  color: var(--ink-2);
  border-bottom: 1px solid var(--bord-fort);
  font-family: 'Share Tech Mono', monospace;
  font-size: 10px;
  letter-spacing: .08em;
}
table.leads tbody td { border-bottom: 1px solid rgba(120, 150, 200, .10); }
table.leads tbody tr:hover { background: rgba(56, 189, 248, .06); }
.ent-name { color: var(--ink); }
.empty { color: var(--ink-2); }
.signal-date { color: var(--ink-2); }
.source-link, .signal-block .src, .signal-block .src a { color: var(--cyan); }

/* ── Boutons ── */
.detail-btn, .enrich-btn {
  background: var(--panneau);
  color: var(--cyan);
  border: 1px solid var(--bord);
}
.detail-btn:hover, .enrich-btn:hover { background: var(--gx-orange); border-color: var(--gx-orange); color: #0A1020; }

/* ── Modale (fiche compte) ── */
.modal { background: rgba(4, 7, 14, .78); backdrop-filter: blur(4px); }
.modal-card {
  background: linear-gradient(180deg, #101a30, var(--panneau-plein));
  border: 1px solid var(--bord-fort);
  box-shadow: 0 0 60px rgba(56, 189, 248, .12), 0 24px 80px rgba(0, 0, 0, .6);
  color: var(--ink);
}
.modal-header h2 { color: var(--ink); text-shadow: 0 0 16px var(--lueur); }
.signal-block {
  background: rgba(20, 30, 55, .55);
  border-left: 3px solid var(--gx-orange);
  border-top: 1px solid rgba(120, 150, 200, .10);
}
.signal-block .desc { color: var(--ink); }

/* ── Bandeaux et compteurs inline (styles en dur -> !important nécessaires) ── */
#top-banner, #gx-compteur-zone .gx-compteur {
  background: var(--panneau) !important;
  border-color: var(--bord) !important;
  color: var(--ink) !important;
}
#gx-compteur-zone .gx-compteur button { background: rgba(56, 189, 248, .12) !important; border-color: var(--bord) !important; color: var(--cyan) !important; }
#contact-compteur { color: #6EE7B7 !important; }
#suivi-compteur { color: var(--ink-2) !important; }
.gx-ecart { color: var(--ink-2); }
.gx-ecart b { color: var(--ink); }
.fresh-old { background: rgba(120, 150, 200, .18); color: var(--ink-2); }

/* ── Sélecteur pays + chip utilisateur ── */
.pays-switch button, .pays-btn { background: var(--panneau); border-color: var(--bord); color: var(--ink); }
.pays-btn.pays-active { border-color: var(--cyan); box-shadow: 0 0 12px rgba(56, 189, 248, .25); }

/* ── Login : même verre que la carte ── */
#login-ov { background: var(--fond) !important; }
#login-ov > div, #login-ov form, .login-card {
  background: var(--panneau-plein) !important;
  border: 1px solid var(--bord-fort) !important;
  color: var(--ink) !important;
  box-shadow: 0 0 60px rgba(56, 189, 248, .12) !important;
}
#login-ov input { background: rgba(10, 16, 32, .9) !important; color: var(--ink) !important; border: 1px solid var(--bord) !important; }
#login-ov h1, #login-ov h2, #login-ov label { color: var(--ink) !important; }

/* ── Détails de finition ── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--fond); }
::-webkit-scrollbar-thumb { background: rgba(56, 189, 248, .25); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: rgba(56, 189, 248, .45); }
::selection { background: rgba(56, 189, 248, .35); }
a { color: var(--cyan); }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
.login-card .sub { color: var(--ink-2) !important; }
.login-card button, #login-ov button { background: var(--cyan) !important; color: #06101f !important; border: none !important; font-weight: 700; }

/* ── Étiquettes : néon sur verre (demande 04/09 : couleurs distinctes qui ressortent) ── */
.signal-pill.s1 { background: rgba(242,138,72,.18) !important; color: #FDBA74 !important; }
.signal-pill.s2 { background: rgba(167,139,250,.18) !important; color: #C4B5FD !important; }
.signal-pill.s3 { background: rgba(45,212,191,.18) !important; color: #5EEAD4 !important; }
.signal-pill.s4 { background: rgba(74,222,128,.18) !important; color: #86EFAC !important; }
.signal-pill.s5 { background: rgba(192,132,252,.18) !important; color: #D8B4FE !important; }
.signal-pill { border: 1px solid rgba(255,255,255,.12); }
.fresh-ok   { background: rgba(74,222,128,.18); color: #4ADE80; }
.fresh-old  { background: rgba(148,163,184,.16); color: #CBD5E1; }
.fresh-todo { background: rgba(252,211,77,.18);  color: #FCD34D; }
.produit-pill { background: rgba(242,138,72,.14) !important; color: #FDBA74 !important; border: 1px solid rgba(242,138,72,.35) !important; }
