/* ════════════════════════════════════════════════════════════════════
   DADapps — Socle "Aurora · Sable taupe" (harmonisation visuelle 2026-06)
   Validé par Dan sur le hub. Chaque app GARDE sa couleur d'identité via
   la variable --aur-accent (cf. tableau ci-dessous).

   Intégration dans une page :
     1. <link> Google Fonts (DM Serif Display + Manrope) dans le <head>
     2. <link rel="stylesheet" href="/static/dad-aurora.css"> APRÈS le
        <style> de la page (pour gagner sur les règles qui se recouvrent)
     3. <body class="aurora"> + en premier enfant :
        <div class="blobs" aria-hidden="true"><i class="b1"></i><i class="b2"></i><i class="b3"></i></div>
     4. Dans le <style> de la page : body.aurora{--aur-accent:#...;}

   Couleurs d'identité (palette familles métier, audit UX 23/04/2026) :
     Vendange & Cuverie  #5c1a3a   VitiPulvé        #556b2f
     Cartographie/Suivi  #0e7490   Parcellaire      #1a3a1a
     Planning            #b45309   Personnel        #a67d2f
     Administration      #334155   Référentiel      #475569
   ════════════════════════════════════════════════════════════════════ */

:root{
  --aur-bg:#dcd3c0;            /* sable taupe (niveau N3 validé) */
  --aur-ink:#262015;           /* encre principale */
  --aur-ink-soft:#5c5246;
  --aur-muted:#8b7d63;         /* libellés secondaires */
  --aur-card:rgba(255,255,255,.92);
  --aur-card-border:rgba(255,255,255,.7);
  --aur-radius:20px;
  --aur-shadow:0 12px 38px -18px rgba(70,52,26,.4);
  --aur-shadow-hover:0 22px 48px -18px rgba(70,52,26,.5);
  --aur-accent:#76263a;        /* défaut : bordeaux domaine */
  --aur-accent-2:#b07a2a;      /* or */
  --aur-green:#3c7a4e;
}

body.aurora{
  font-family:'Manrope',system-ui,sans-serif;
  background:var(--aur-bg);
  color:var(--aur-ink);
  -webkit-font-smoothing:antialiased;
}
/* Tout le contenu direct passe au-dessus des halos (z-index 0).
   :where() = spécificité NULLE : la règle ne gagne jamais contre un style de
   page (ex. overlay .ov en position:fixed — bug "récap du jour" du 2026-06-11
   où le position:relative écrasait le fixed et envoyait l'overlay en bas de page). */
:where(body.aurora>*:not(.blobs)){position:relative;z-index:1;}

/* ── Halos pastel animés ─────────────────────────────────────────── */
.blobs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.blobs i{position:absolute;border-radius:50%;filter:blur(95px);display:block;}
.blobs .b1{width:520px;height:520px;background:radial-gradient(circle,#bfe6c8,#f3e2ae 70%);top:-120px;left:-100px;opacity:.62;animation:aurBlob1 16s ease-in-out infinite alternate;}
.blobs .b2{width:560px;height:560px;background:radial-gradient(circle,#f3c5c5,#cfe0f5 70%);bottom:-180px;right:-120px;opacity:.62;animation:aurBlob2 19s ease-in-out infinite alternate-reverse;}
.blobs .b3{width:380px;height:380px;background:radial-gradient(circle,#e6def5,transparent 70%);top:38%;left:58%;opacity:.48;animation:aurBlob3 23s ease-in-out infinite alternate;}
@keyframes aurBlob1{from{transform:translate(0,0) scale(1);}to{transform:translate(70px,45px) scale(1.15);}}
@keyframes aurBlob2{from{transform:translate(0,0) scale(1.1);}to{transform:translate(-60px,-40px) scale(.95);}}
@keyframes aurBlob3{from{transform:translate(0,0);}to{transform:translate(-45px,60px) scale(1.2);}}
@media (prefers-reduced-motion: reduce){.blobs i{animation:none;}}
@media (max-width:640px){
  .blobs i{filter:blur(70px);}
  .blobs .b1{width:340px;height:340px;}
  .blobs .b2{width:360px;height:360px;}
  .blobs .b3{width:240px;height:240px;}
}
/* Impression : fond blanc forcé (certaines pages comme le Planning impriment
   les couleurs de fond via print-color-adjust:exact — sans cette règle, le
   taupe partirait sur le papier) + halos masqués. Ce fichier étant chargé en
   dernier, cette règle gagne sur le fond taupe écran. */
@media print{
  .blobs{display:none;}
  body.aurora{background:#fff;}
}

/* ── Primitives réutilisables ────────────────────────────────────── */
.aur-card{
  background:var(--aur-card);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--aur-card-border);
  border-radius:var(--aur-radius);
  box-shadow:var(--aur-shadow);
}
.aur-title{font-family:'DM Serif Display',serif;font-weight:400;color:var(--aur-ink);}
.aur-grad-text{
  background-image:linear-gradient(90deg,var(--aur-accent),var(--aur-accent-2) 60%,var(--aur-green));
  background-size:200%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:aurGrad 7s linear infinite;
}
@keyframes aurGrad{to{background-position:200%;}}
.aur-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:12px;
  font-size:13px;font-weight:600;font-family:inherit;
  color:var(--aur-ink);background:rgba(255,255,255,.85);
  border:1.5px solid rgba(255,255,255,.9);
  cursor:pointer;text-decoration:none;transition:all .15s;
}
.aur-btn:hover{background:#fff;border-color:var(--aur-accent);color:var(--aur-accent);}
