/* ══ FABULOR — PRESTIGE ══ habit or/nuit, chargé uniquement par les pages refaites */
:root{
  --fond:#120d07; --carte:#1c160d; --carte2:rgba(246,215,137,.06);
  --bord:#3a2f1c; --or-clair:#f8dd93; --or:#d4a642; --or-fonce:#8f6519;
  --accent:#e8c46a; --texte:#f3e9d2; --doux:#b9a97f;
  --vert:#8fd18f; --vert-fond:rgba(120,200,120,.14);
  --rouge:#f09595; --rouge-fond:rgba(226,75,74,.16);
}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.55}
h1,h2,h3{text-wrap:balance}
a{color:var(--accent)}

/* ── bandeau ── */
.p-bandeau{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:13px 18px;border-bottom:1px solid var(--bord);position:sticky;top:0;z-index:50;
  background:rgba(18,13,7,.92);backdrop-filter:blur(8px)}
.p-marque{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--texte);font-weight:600}
.p-marque .nom-or{color:var(--or-clair)}
.p-marque .nom-doux{color:var(--doux);font-weight:400;font-size:.9em}
.p-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.burger{display:none;background:none;border:1px solid var(--bord);color:var(--texte);
  font-size:20px;border-radius:8px;padding:3px 10px;cursor:pointer}

/* ── boutons ── */
.btn{border-radius:10px;padding:9px 13px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-fantome{border:1px solid var(--bord);color:var(--doux);background:transparent}
.btn-fantome:hover{border-color:var(--accent);color:var(--texte)}
.btn-or{background:linear-gradient(180deg,var(--or-clair),var(--or));color:#3a2810;
  font-weight:600;border:none;padding:11px 16px}
.btn-or:hover{filter:brightness(1.06)}
.btn-or:disabled{opacity:.6;cursor:wait}
.btn-bloc{display:block;width:100%}

/* ── page ── */
.p-page{max-width:640px;margin:0 auto;padding:6px 16px 96px}
.p-salut{display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin:18px 2px 6px;flex-wrap:wrap}
.p-salut h1{font-size:1.15rem;margin:0;font-weight:600}
.p-pastille{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--doux)}
.p-point{width:8px;height:8px;border-radius:50%;background:var(--vert);
  animation:p-pulse 2.4s ease-in-out infinite}
.p-carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;
  padding:20px 22px;margin:14px 0}
.p-sous-carte{background:var(--carte2);border:1px solid var(--bord);border-radius:12px;padding:14px 16px}
h2.p-h2{font-size:1.05rem;margin:0 0 12px}

/* ── héros « Mon or » ── */
.or-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.or-libelle{margin:0;font-size:13px;color:var(--doux)}
.or-valeur{margin:2px 0 0;font-size:30px;font-weight:600;color:var(--or-clair)}
.or-detail{margin:0;font-size:13px;color:var(--doux);text-align:right}
.pile-zone{position:relative;overflow:hidden;padding:20px 0 4px;min-height:60px}
.pile-note{margin:0 0 6px;text-align:center;font-size:12px;color:var(--accent)}
.p-rangee{display:flex;justify-content:center;gap:7px;margin-top:5px}
.lingot{width:70px;height:24px;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,var(--or-clair),var(--or) 55%,var(--or-fonce));
  animation:p-pop .5s both}
.lingot-cuve{background:#4a3a1c;position:relative}
.lingot-cuve .remplir{position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,var(--or-clair),var(--or) 55%,var(--or-fonce));
  animation:p-fill 3s ease-in-out infinite}
.lingot-fantome{background:#2a2113;animation:none}
.p-sheen{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.30) 50%,transparent 58%);
  animation:p-sheen 4.5s ease-in-out infinite}
.pile-legende{margin:6px 0 12px;text-align:center;font-size:12px;color:var(--doux)}
.pv-ligne{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pastille-pv{display:inline-flex;gap:6px;align-items:center;border-radius:999px;
  padding:4px 12px;font-size:13px}
.pv-rouge{background:var(--rouge-fond);color:var(--rouge)}
.pv-verte{background:var(--vert-fond);color:var(--vert)}
.pv-note{font-size:12px;color:var(--doux)}

/* ── calculette ── */
.calc-titre{margin:0;font-size:13px;color:var(--accent)}
.calc-sous{margin:2px 0 12px;font-size:12px;color:var(--doux)}
.calc-ligne{display:flex;align-items:center;justify-content:center;gap:12px}
.calc-bloc{text-align:center}
.calc-bloc label{display:block;font-size:12px;color:var(--doux);margin-bottom:4px}
.calc-champ{width:120px;background:rgba(246,215,137,.08);border:1px solid var(--or-fonce);
  border-radius:8px;color:var(--or-clair);font-size:18px;font-weight:600;text-align:center;padding:8px 6px}
.calc-champ:focus{outline:none;border-color:var(--accent)}
.calc-fleche{font-size:20px;color:var(--doux);padding-top:14px}

/* ── infos, listes, connexion ── */
.ligne-info{display:flex;justify-content:space-between;gap:10px;padding:9px 0;
  border-bottom:1px dashed var(--bord);font-size:14.5px}
.ligne-info:last-child{border-bottom:none}
.etiq{color:var(--doux)}
.val{font-weight:600}
.vert{color:var(--vert)}
.rouge{color:var(--rouge)}
.vide{color:var(--doux);font-size:14.5px}
.sig-ligne{display:flex;gap:12px;align-items:flex-start}
.sig-icone{font-size:20px;margin-top:1px}
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:8px}
.action{display:flex;gap:12px;align-items:center;background:var(--carte);border:1px solid var(--bord);
  border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--texte);transition:border-color .2s}
.action:hover{border-color:var(--accent)}
.a-icone{font-size:22px}
.a-titre{font-weight:600;font-size:14.5px}
.a-desc{font-size:12.5px;color:var(--doux)}
.zone-connexion{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:30px 16px}
.carte-connexion{width:100%;max-width:400px;background:var(--carte);border:1px solid var(--bord);
  border-radius:18px;padding:28px;text-align:center}
.cible-co{font-size:34px}
.carte-connexion h1{margin:6px 0 4px;font-size:1.4rem}
.sous{color:var(--doux);margin:0 0 16px;font-size:14px}
.champ{text-align:left;margin:12px 0}
.champ label{font-size:13px;color:var(--doux);display:block;margin-bottom:5px}
.champ input{width:100%;background:rgba(246,215,137,.07);border:1px solid var(--bord);
  border-radius:10px;color:var(--texte);padding:11px 12px;font-size:15px}
.champ input:focus{outline:none;border-color:var(--accent)}
.message-erreur{display:none;background:var(--rouge-fond);color:var(--rouge);
  border-radius:10px;padding:10px 12px;font-size:13.5px;margin:8px 0}
.message-erreur.visible{display:block}
.chargement{text-align:center;padding:10px}
.cible-tourne{display:inline-block;font-size:22px;animation:p-tourne 1.6s linear infinite}

/* ── animations ── */
@keyframes p-pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes p-sheen{0%{transform:translateX(-110%)}55%,100%{transform:translateX(110%)}}
@keyframes p-fill{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
@keyframes p-pulse{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes p-tourne{to{transform:rotate(360deg)}}

/* ── responsive ── */
@media(max-width:760px){
  .burger{display:block}
  .p-nav{display:none;position:absolute;right:12px;top:54px;flex-direction:column;
    background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:10px}
  .p-nav.ouvert{display:flex}
}
@media(max-width:640px){
  .lingot{width:54px;height:20px}
  .or-valeur{font-size:26px}
  .p-carte{padding:16px}
}

/* ══ SIGNAUX V2 ══ */
.intro-page{margin:18px 2px 8px}
.intro-page h1{font-size:1.5rem;margin:0 0 6px}
.intro-page h1 .or{color:var(--or-clair)}
.intro-page p{color:var(--doux);margin:0;font-size:14.5px}
.recap-inj{align-items:center;gap:10px;background:var(--vert-fond);border:1px solid var(--bord);
  border-radius:12px;padding:12px 14px;margin:12px 0;font-size:14.5px}
.recap-icone{font-size:18px}
.frise{position:relative;padding-left:24px;margin-top:8px}
.frise:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:var(--bord)}
.signal-evt{position:relative;background:var(--carte);border:1px solid var(--bord);
  border-radius:16px;padding:18px 20px;margin:16px 0}
.signal-evt:before{content:"🎯";position:absolute;left:-24px;top:16px;font-size:13px}
.evt-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.evt-date{font-weight:600;color:var(--accent);font-size:1.02rem}
.evt-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.evt-bloc{background:var(--carte2);border:1px solid var(--bord);border-radius:12px;padding:12px 14px}
.b-libelle{font-size:12.5px;color:var(--doux);margin-bottom:4px}
.b-valeur{font-weight:600;font-size:1.15rem}
.b-valeur.or{color:var(--or-clair)}
.preuve-envoi{margin:10px 2px 0;font-size:12.5px;color:var(--doux)}
.encart-injection{margin-top:12px;background:var(--carte2);border:1px solid var(--or-fonce);
  border-radius:12px;padding:14px 16px}
.inj-titre{font-size:13px;color:var(--doux)}
.inj-montant{font-size:26px;font-weight:600;color:var(--or-clair);margin:2px 0}
.inj-detail{font-size:12.5px;color:var(--doux)}
.inj-vide{font-size:13.5px;color:var(--doux)}
.inj-vide a{color:var(--accent)}
.inj-action{margin-top:10px}
.btn-poser{font-size:14px}
.inj-faite{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--bord)}
.faite-badge{background:var(--vert-fond);color:var(--vert);border-radius:999px;padding:4px 12px;font-size:13.5px;font-weight:600}
.faite-date{font-size:12.5px;color:var(--doux)}
.lien-modifier,.lien-supprimer,.lien-utiliser{background:none;border:none;cursor:pointer;font-size:12.5px;text-decoration:underline;padding:0}
.lien-modifier{color:var(--accent)}
.lien-supprimer{color:var(--rouge)}
.lien-utiliser{color:var(--accent);margin:6px 0 2px;display:inline-block}
.inj-saisie{margin-top:10px}
.saisie-ligne{margin:8px 0}
.saisie-ligne label{display:block;font-size:12.5px;color:var(--doux);margin-bottom:4px}
.saisie-ligne input{width:100%;max-width:220px;background:rgba(246,215,137,.08);border:1px solid var(--or-fonce);
  border-radius:8px;color:var(--or-clair);font-size:16px;padding:8px 10px}
.saisie-ligne input:focus{outline:none;border-color:var(--accent)}
.saisie-boutons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pont-titre{font-weight:600;color:var(--vert);margin-top:10px}
.pont-question{font-size:13.5px;margin:6px 0 2px}
.pont-champs{display:flex;gap:12px;flex-wrap:wrap}
.pont-champs .saisie-ligne{flex:1;min-width:160px}
.pont-note{font-size:12px;color:var(--doux);margin:6px 0}
.pont-merci{margin-top:10px;color:var(--vert);font-weight:600}
.aucun-signal{text-align:center;padding:40px 16px;color:var(--doux)}
.aucun-signal h3{color:var(--texte);margin:10px 0 6px}
.gros-emoji{font-size:40px}
@media(max-width:640px){.frise{padding-left:18px}.signal-evt:before{left:-18px}}

/* ══ PORTEFEUILLE V2 ══ */
:root{--texte-doux:var(--doux)}
.confirmation{position:fixed;top:14px;left:50%;transform:translateX(-50%) translateY(-30px);
  opacity:0;pointer-events:none;transition:.25s;display:flex;gap:8px;align-items:center;
  background:var(--vert-fond);color:var(--vert);border:1px solid var(--bord);
  border-radius:999px;padding:10px 18px;font-size:14px;z-index:100}
.confirmation.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.confirmation.erreur{background:var(--rouge-fond);color:var(--rouge)}
.synthese-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.synthese-carte{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:14px 16px}
.s-label{font-size:12.5px;color:var(--doux);margin-bottom:4px}
.s-valeur{font-size:23px;font-weight:600;color:var(--or-clair)}
.s-sous{font-size:12px;color:var(--doux);margin-top:2px}
.encart{background:var(--carte);border:1px solid var(--bord);border-radius:16px;padding:20px 22px;margin:14px 0}
.encart h2{font-size:1.05rem;margin:0 0 10px}
.form-achat{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}
.liste-achats{margin-top:4px}
.achat-ligne{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 2px;border-bottom:1px dashed var(--bord)}
.achat-ligne:last-child{border-bottom:none}
.achat-grammes{font-weight:600;font-size:15.5px}
.achat-detail{font-size:12.5px;color:var(--doux)}
.btn-suppr{background:none;border:1px solid var(--bord);color:var(--rouge);
  border-radius:8px;padding:6px 12px;font-size:12.5px;cursor:pointer}
.btn-suppr:hover{border-color:var(--rouge)}
#zone-courbe svg{width:100%;height:auto;display:block}
.courbe-legende{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12.5px;color:var(--doux)}
.leg-item{display:inline-flex;align-items:center;gap:6px}
.leg-trait{width:22px;height:3px;background:var(--or);border-radius:2px;display:inline-block}
.leg-investi{background:#8a8275}
.leg-point{width:10px;height:10px;border-radius:50%;background:var(--or);display:inline-block}

/* ══ PORTEFEUILLE V2.1 ══ cadre large + couleurs de la différence */
.p-page-large{max-width:980px;margin:0 auto;padding:6px 16px 96px}
.s-valeur.vert{color:var(--vert)}
.s-valeur.rouge{color:var(--rouge)}
@media(min-width:820px){.synthese-grille{grid-template-columns:repeat(4,1fr)}}
.synthese-carte{animation:p-pop .45s both}
.synthese-carte:nth-child(2){animation-delay:.06s}
.synthese-carte:nth-child(3){animation-delay:.12s}
.synthese-carte:nth-child(4){animation-delay:.18s}
.synthese-carte{transition:border-color .2s}
.synthese-carte:hover{border-color:var(--accent)}

/* ══ PAGES V2 ══ profil + onboarding + index public */
:root{--texte-gris:var(--doux)}
.identite-ligne{display:flex;justify-content:space-between;gap:10px;padding:10px 0;
  border-top:1px dashed var(--bord);font-size:14.5px}
.id-etiq{color:var(--doux)}
.id-val{font-weight:600}
.bloc-reglage{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px 0;border-bottom:1px dashed var(--bord)}
.bloc-reglage:last-child{border-bottom:none}
.texte-reglage h3{margin:0 0 4px;font-size:15.5px}
.texte-reglage p{margin:0;font-size:13px;color:var(--doux)}
.interrupteur{position:relative;display:inline-block;width:52px;height:30px;flex-shrink:0}
.interrupteur input{opacity:0;width:0;height:0}
.curseur{position:absolute;inset:0;background:#3a2f1c;border:1px solid var(--bord);
  border-radius:999px;cursor:pointer;transition:.25s}
.curseur:before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;
  border-radius:50%;background:var(--doux);transition:.25s}
.interrupteur input:checked + .curseur{background:var(--or);border-color:var(--or)}
.interrupteur input:checked + .curseur:before{transform:translateX(22px);background:#2a1f0e}
.badge{border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.badge-on{background:var(--vert-fond);color:var(--vert)}
.badge-off{background:rgba(185,169,127,.15);color:var(--doux)}
.choix-style{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.carte-style{text-align:left;background:var(--carte2);border:1px solid var(--bord);
  border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--texte);
  transition:border-color .2s;font-family:inherit}
.carte-style:hover{border-color:var(--accent)}
.carte-style.actif{border-color:var(--or);background:rgba(246,215,137,.1)}
.cs-titre{font-weight:600;margin-bottom:4px;font-size:14.5px}
.cs-desc{font-size:12.5px;color:var(--doux)}
.etapes-onb{display:flex;flex-direction:column;gap:14px}
.etape-onb{display:flex;gap:14px;align-items:flex-start}
.etape-num{width:30px;height:30px;flex-shrink:0;border-radius:50%;
  background:linear-gradient(180deg,var(--or-clair),var(--or));color:#3a2810;
  font-weight:600;display:flex;align-items:center;justify-content:center}
.etape-titre{font-weight:600;font-size:14.5px}
.etape-sous{font-size:13px;color:var(--doux)}
.encart-parrain{border-color:var(--or-fonce)}
.zone-action-onb{text-align:center;margin:22px 0 6px}
.btn-grand-onb{font-size:16.5px;padding:14px 22px}
.note-onb{font-size:12px;color:var(--doux);margin-top:8px}
.hero{max-width:760px;margin:0 auto;padding:64px 18px 40px;text-align:center}
.cible-geante{font-size:52px;display:inline-block}
.hero h1{font-size:2rem;margin:14px 0 10px}
.hero .or,.section-titre .or{color:var(--or-clair)}
.accroche{color:var(--doux);font-size:16px;max-width:560px;margin:0 auto}
.hero-actions{margin-top:24px}
.section{padding:40px 18px}
.contenu{max-width:900px;margin:0 auto}
.section-titre{text-align:center;font-size:1.45rem;margin:0 0 6px}
.section-sous-titre{text-align:center;color:var(--doux);margin:0 0 26px;font-size:14.5px}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;
  padding:20px 22px;transition:border-color .2s}
.carte:hover{border-color:var(--accent)}
.carte .icone{font-size:26px}
.carte h3{margin:10px 0 6px;font-size:15.5px}
.carte p{margin:0;font-size:13.5px;color:var(--doux)}
.etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.etape{background:var(--carte2);border:1px solid var(--bord);border-radius:14px;padding:16px 18px}
.etape h4{margin:0 0 6px;font-size:14.5px;color:var(--or-clair)}
.etape p{margin:0;font-size:13px;color:var(--doux)}
.pied{border-top:1px solid var(--bord);margin-top:30px;padding:26px 18px;
  text-align:center;color:var(--doux);font-size:13px}
.marque-pied{color:var(--or-clair);font-weight:600}
.apparait{opacity:0;animation:p-lever .7s forwards}
.apparait.d1{animation-delay:.15s}
.apparait.d2{animation-delay:.3s}
.apparait.d3{animation-delay:.45s}
@keyframes p-lever{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ══ ADMIN V2 ══ */
.stats-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0}
@media(min-width:820px){.stats-grille{grid-template-columns:repeat(4,1fr)}}
.stat-carte{background:var(--carte);border:1px solid var(--bord);border-radius:14px;
  padding:14px 16px;animation:p-pop .45s both;transition:border-color .2s}
.stat-carte:hover{border-color:var(--accent)}
.stat-carte:nth-child(2){animation-delay:.06s}
.stat-carte:nth-child(3){animation-delay:.12s}
.stat-carte:nth-child(4){animation-delay:.18s}
.stat-icone{font-size:20px}
.stat-valeur{font-size:24px;font-weight:600;color:var(--or-clair);margin-top:4px}
.stat-libelle{font-size:12px;color:var(--doux);margin-top:2px}
.form-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}
.table-wrap{overflow-x:auto}
.table-membres{width:100%;border-collapse:collapse;font-size:13.5px}
.table-membres th{text-align:left;color:var(--doux);font-weight:600;font-size:12px;
  padding:8px 10px;border-bottom:1px solid var(--bord)}
.table-membres td{padding:10px;border-bottom:1px dashed var(--bord)}
.table-membres tr:last-child td{border-bottom:none}
.table-membres tbody tr:hover{background:rgba(246,215,137,.05)}
.role-admin{background:linear-gradient(180deg,var(--or-clair),var(--or));color:#3a2810;
  border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}
.role-membre{background:rgba(185,169,127,.15);color:var(--doux);border-radius:999px;padding:3px 10px;font-size:12px}
