/* ============================================================
   0DATA — glass premium (verre dépoli)
   Additif : surcharge douce des cartes, panels, tableaux, footer.
   Autonome (valeurs littérales) — aucun prérequis de variables.
   ============================================================ */

/* halos de fond colorés (cyan · violet · or · vert) */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(58% 40% at 50% -10%, rgba(126,184,218,.12), transparent 62%),
    radial-gradient(46% 34% at 94% 16%, rgba(160,160,212,.10), transparent 60%),
    radial-gradient(52% 38% at 6% 70%, rgba(212,184,150,.09), transparent 62%),
    radial-gradient(44% 34% at 90% 94%, rgba(140,201,184,.07), transparent 60%)}

/* cartes / cartouches en verre */
.card,.family,.step,.stat,.diag,.widget,.box-band,.ctrl-src{position:relative}
.card,.family,.step,.stat,.diag,.widget{
  background:
    radial-gradient(140% 90% at 0% 0%, rgba(126,184,218,.10), transparent 52%),
    linear-gradient(155deg, rgba(26,44,70,.58), rgba(9,14,24,.62));
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  border:1px solid rgba(126,184,218,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 14px 44px -22px rgba(0,0,0,.65)}
.ctrl-src{
  background:
    radial-gradient(140% 90% at 0% 0%, rgba(126,184,218,.10), transparent 52%),
    linear-gradient(155deg, rgba(26,44,70,.58), rgba(9,14,24,.62));
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 14px 44px -22px rgba(0,0,0,.65)}
.box-band{
  background:
    radial-gradient(140% 90% at 0% 0%, rgba(126,184,218,.10), transparent 52%),
    linear-gradient(155deg, rgba(26,44,70,.58), rgba(9,14,24,.62));
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%)}

/* ligne lumineuse en haut (dégradé cyan → or) */
.card::before,.family::before,.step::before,.stat::before,.diag::before,.widget::before,.box-band::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;border-radius:inherit;
  background:linear-gradient(90deg,transparent,rgba(126,184,218,.55),rgba(212,184,150,.55),transparent);
  pointer-events:none;opacity:.75}

/* hover : élévation + halo */
.card:hover,.family:hover,.step:hover,.stat:hover,.diag:hover,.widget:hover,.ctrl-src:hover{
  transform:translateY(-4px);
  border-color:rgba(126,184,218,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 18px 54px -22px rgba(0,0,0,.75), 0 0 38px -12px rgba(126,184,218,.32)}

/* menu déroulant */
.mega{
  background:linear-gradient(155deg, rgba(24,38,62,.9), rgba(9,14,24,.94));
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  border-color:rgba(126,184,218,.24);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.06)}

/* console / tableaux */
.ctrl-cons{
  background:
    radial-gradient(140% 90% at 0% 0%, rgba(126,184,218,.08), transparent 50%),
    linear-gradient(155deg, rgba(24,38,62,.72), rgba(9,14,24,.82));
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  border-color:rgba(126,184,218,.22)}
.ctrl-sum{
  background:linear-gradient(155deg, rgba(20,32,54,.55), rgba(9,14,24,.68));
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-color:rgba(126,184,218,.16)}
.ctrl-add{
  background:rgba(11,19,34,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px)}
table{
  background:linear-gradient(155deg, rgba(22,36,58,.62), rgba(9,14,24,.72));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-color:rgba(126,184,218,.2)}
th{background:rgba(18,29,45,.5)}
th.odata{background:rgba(126,184,218,.16)}
td.odata{background:rgba(126,184,218,.07)}

/* footer */
footer{
  background:linear-gradient(180deg, rgba(11,19,34,.5), rgba(9,14,24,.78));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px)}

/* thème clair : verre clair */
[data-theme="light"] .card,[data-theme="light"] .family,[data-theme="light"] .step,[data-theme="light"] .stat,[data-theme="light"] .diag,[data-theme="light"] .widget,[data-theme="light"] .box-band{
  background:linear-gradient(155deg,rgba(255,255,255,.86),rgba(238,243,250,.72));
  border:1px solid rgba(31,106,156,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 30px -18px rgba(20,50,80,.25)}
