/* Rotter'Dev — Espace client NOIR ET BLANC premium (DA d'origine) : textures alu/noir, rappels DORÉS (filets fins), aucun rose : rappels dorés. 2026-11-08
   Tokens réutilisables (aussi pour le panneau RotterBot) : --nb-fond, --nb-surface, --nb-trait, --nb-texte, --nb-gris, --or, --or-clair, --or-filet, --rose-rappel ; classes .nb-texture, .nb-filet-or */
body.ea-app, body.ea-portail-page {
  --a-rose: #FFFFFF; --a-blush: #D6D6DB; --a-or: #C9A86A; --a-or-clair: #E9D3A6;
  --nb-fond: #0A0A0B; --nb-surface: rgba(255,255,255,.045); --nb-trait: rgba(255,255,255,.1); --nb-texte: #F5F5F7; --nb-gris: #A8A8AE;
  --or: #C9A86A; --or-clair: #E9D3A6; --or-filet: linear-gradient(90deg, transparent, rgba(201,168,106,.0) 5%, #E9D3A6 50%, rgba(201,168,106,.0) 95%, transparent);
  --a-prune: #161618; --a-prune-2: #111113;
  --a-degrade: linear-gradient(100deg, #FFFFFF 0%, #E6E6E9 45%, #8E8E95 100%);
  --rose-rappel: #C9A86A; /* rappels passés en DORÉ (Matys 2026-11-08) */
  background: #0A0A0B url("../img/matiere-alu.webp") center top / cover fixed;
}
/* Textures : alu brossé en fond de page, voile noir pour garder le contraste */
body.ea-app::before, body.ea-portail-page::before { content: ""; position: fixed; inset: 0; z-index: -5; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,10,11,.55), rgba(10,10,11,.82) 60%, rgba(10,10,11,.92)); }
body.ea-app .ec, body.ea-app .ec .a-grain { background-color: transparent; }
body.ea-app { background-color: #0A0A0B; }
.nb-texture { background: linear-gradient(180deg, rgba(10,10,11,.35), rgba(10,10,11,.75)), url("../img/matiere-noir.webp") center / cover; }
.nb-filet-or { height: 1px; background: var(--or-filet); }
/* Filet doré qui traverse le haut de l'espace (texture filet-or) */
body.ea-app .ec-fond::after { content: ""; position: absolute; right: 0; top: 0; width: min(900px, 70vw); height: 520px; opacity: .55; mix-blend-mode: screen;
  background: url("../img/matiere-filet-or.webp") right top / cover no-repeat;
  -webkit-mask: radial-gradient(70% 80% at 80% 30%, #000 30%, transparent 75%); mask: radial-gradient(70% 80% at 80% 30%, #000 30%, transparent 75%); }
/* Fonds : noir profond + lueurs roses discrètes */
body.ea-app .ec-fond { height: 900px; background:
  radial-gradient(45% 55% at 92% -5%, rgba(255,255,255,.07), transparent 70%),
  radial-gradient(35% 45% at -5% 35%, rgba(201,168,106,.06), transparent 70%),
  linear-gradient(180deg, #121214 0%, transparent 70%); }
body.ea-app .ec::after { content: ""; position: absolute; z-index: -2; pointer-events: none; right: -10%; bottom: -10%; width: 60vw; height: 60vw; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,255,255,.05), transparent); filter: blur(20px); }
body.ea-portail-page .cx-fond { background: radial-gradient(55% 60% at 15% 20%, rgba(255,255,255,.08), transparent 70%), radial-gradient(60% 70% at 85% 90%, rgba(201,168,106,.07), transparent 70%), #0A0A0B; }
body.ea-portail-page .cx-fond canvas { opacity: .32; filter: grayscale(.65) contrast(1.05); }

/* Barre, dock, pied */
body.ea-app .ea-barre, body.ea-app .ea-dock { background: rgba(10,10,11,.78); }
body.ea-app .ea-barre::after { background: var(--or-filet); opacity: .6; }
.ea-app .ea-logo, .ea-portail-page .ea-logo { background: linear-gradient(160deg, #1A1A1D, #0D0D0F); border-color: rgba(255,255,255,.14); box-shadow: 0 10px 30px -14px rgba(201,168,106,.55); }
.ea-app .ea-logo::after, .ea-portail-page .ea-logo::after { background: conic-gradient(from var(--ea-a, 0deg), transparent 0 70%, #E9D3A6 85%, transparent 92%); }
.ea-app .ea-marque-txt small, .ea-portail-page .ea-marque-txt small { color: #8E8E95; }
.ea-app .ea-pilule { background: #FFFFFF; box-shadow: 0 8px 24px -10px rgba(255,255,255,.35); }
.ea-app .ea-onglets a[aria-current="page"] { color: #0A0A0B; }
.ea-app .ea-onglets a[aria-current="page"] svg { stroke: #0A0A0B; }
.ea-app .ea-onglets b, .ea-app .ea-dock b { background: var(--rose-rappel); }
.ea-app .ea-btn-nouveau, .ea-app .ea-dock-plus { background: #FFFFFF; color: #0A0A0B !important; box-shadow: 0 10px 26px -12px rgba(255,255,255,.5); }
.ea-app .ea-btn-nouveau:hover { box-shadow: 0 14px 30px -10px rgba(201,168,106,.55); }
.ea-app .ea-avatar { color: #0A0A0B; background: linear-gradient(140deg, #FFFFFF, #BDBDC2); box-shadow: 0 0 0 2px #0A0A0B, 0 0 0 3px rgba(255,255,255,.35); }
.ea-app .ea-icone:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); }
.ea-app .ea-dock a[aria-current="page"]::before { background: var(--rose-rappel); box-shadow: 0 0 12px var(--rose-rappel); }
.ea-app .ea-pied { border-top: 0; background: none; position: relative; }
.ea-app .ea-pied::before { content: ""; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; background: var(--or-filet); opacity: .5; }
.ea-app .ea-pied-sur { color: #E9D3A6; }

/* Titres et boutons */
.ea-app .a-sur::before, .ea-portail-page .a-sur::before { background: var(--or); }
.ea-app .a-sur, .ea-portail-page .a-sur { color: #A8A8AE; }
.ea-app .a-btn-plein, .ea-portail-page .a-btn-plein { background: #FFFFFF !important; color: #0A0A0B !important; box-shadow: 0 14px 34px -14px rgba(255,255,255,.45) !important; }
.ea-app .a-btn-plein svg, .ea-portail-page .a-btn-plein svg { stroke: #0A0A0B !important; }
.ea-app .ec-avatar { color: #0A0A0B; background: linear-gradient(140deg, #FFFFFF, #B5B5BA); box-shadow: 0 0 0 3px #0A0A0B, 0 0 0 4px rgba(255,255,255,.4), 0 18px 40px -14px rgba(201,168,106,.55); }

/* Tuiles */
.ea-app .ec-tuile-ico, .ea-app .ec-moyen-ico { background: linear-gradient(180deg, #1D1D20, #111113); border-color: rgba(255,255,255,.12); }
.ea-app .ec-tuile-ico svg, .ea-app .ec-moyen-ico svg { stroke: #FFFFFF; }
.ea-app .ec-crypto svg { stroke: #FFFFFF; }
.ea-app .ec-tuile-or { border-color: rgba(201,168,106,.45); background: radial-gradient(90% 90% at 100% 0%, rgba(201,168,106,.12), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); }
.ea-app .ec-tuile-or b { background: linear-gradient(90deg, #FFFFFF, #E9D3A6); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ea-app .ec-tuile, .ea-app .ec-projet, .ea-app .ec-aide, .ea-app .ec-bloc { position: relative; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)), rgba(12,12,13,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ea-app .ec-tuile::after, .ea-app .ec-projet::after { content: ""; position: absolute; left: 18%; right: 18%; top: 0; height: 1px; background: var(--or-filet); opacity: .45; }

/* Projets */
.ea-app .ec-projet:hover { border-color: rgba(255,255,255,.25); box-shadow: 0 30px 60px -30px rgba(201,168,106,.35); }
.ea-app .ec-statut { color: #D6D6DB; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.04); }
.ea-app .ec-statut.en-cours { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); }
.ea-app .ec-statut.en-cours i { background: var(--rose-rappel); box-shadow: 0 0 10px var(--rose-rappel); }
.ea-app .ec-statut.devis-envoye { color: #E9D3A6; background: rgba(201,168,106,.08); border-color: rgba(201,168,106,.45); }
.ea-app .ec-statut.accepte { color: #0A0A0B; background: #FFFFFF; }
.ea-app .ec-etapes::after { background: linear-gradient(90deg, #8E8E95, #FFFFFF); box-shadow: 0 0 14px rgba(255,255,255,.25); }
.ea-app .ec-msg img, .ea-portail-page .cx-av { background: #111113; border-color: rgba(255,255,255,.14); }

/* Paiement */
.ea-app .ec-payer { background: linear-gradient(180deg, rgba(10,10,11,.4), rgba(10,10,11,.85)), url("../img/matiere-noir.webp") center / cover; border-color: rgba(255,255,255,.14); box-shadow: 0 40px 80px -40px rgba(201,168,106,.35); }
.ea-app .ec-payer::before { background: var(--or-filet); }
.ea-app .ec-facture { border-color: rgba(201,168,106,.45); }
.ea-app .ec-moyen:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.07); }
.ea-app .ec-moyen:focus-visible { outline-color: #fff; }
.ea-app .ec-lien, .ea-portail-page .ec-lien, .ea-portail-page .cx-lien-rose { color: #FFFFFF; text-decoration: underline; text-decoration-color: rgba(201,168,106,.6); text-underline-offset: 4px; }

/* Frise (détail d'une demande) */
.ea-app .ec-frise li.fait::before { background: linear-gradient(180deg, #8E8E95, #FFFFFF); }
.ea-app .ec-frise li.fait .ec-puce { background: #FFFFFF; }
.ea-app .ec-frise li.actuel .ec-puce { border-color: #FFFFFF; background: #0A0A0B; box-shadow: 0 0 0 5px rgba(201,168,106,.16), 0 0 16px rgba(201,168,106,.6); }
.ea-app .ec-frise em { color: #fff; }
.ea-app .ec-tag { color: #0A0A0B; background: #FFFFFF; }

/* Compte / champs */
.ea-app .cx-champ input:focus, .ea-portail-page .cx-champ input:focus { border-color: rgba(255,255,255,.55); box-shadow: 0 0 0 4px rgba(255,255,255,.08); }

/* Portail : panneau de connexion */
.ea-portail-page .cx-panneau { background: linear-gradient(180deg, rgba(20,20,22,.82), rgba(10,10,11,.86)); border-color: rgba(255,255,255,.12);
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset, 0 50px 100px -40px rgba(201,168,106,.3), 0 30px 60px -30px rgba(0,0,0,.9); }
.ea-portail-page .cx-panneau::after { background: var(--or-filet); }
.ea-portail-page .cx-panneau::before { opacity: .35; }
.ea-portail-page .cx-r img { filter: drop-shadow(0 10px 30px rgba(201,168,106,.45)); }
.ea-portail-page .cx-onglets-pilule { background: #FFFFFF !important; box-shadow: none !important; }
.ea-portail-page .cx-onglets [aria-selected="true"], .ea-portail-page .cx-onglets .actif { color: #0A0A0B !important; }
.ea-portail-page .cx-etapes::after { background: linear-gradient(90deg, #8E8E95, #FFFFFF) !important; }
.ea-portail-page .cx-etapes li.actif span { background: #FFFFFF; border-color: #FFFFFF; box-shadow: 0 0 0 5px rgba(201,168,106,.18), 0 0 16px rgba(201,168,106,.6); }
.ea-portail-page .cx-statut { color: #fff !important; background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.25) !important; }
.ea-portail-page .cx-option-n { color: #0A0A0B; background: #FFFFFF; }
.ea-portail-page .cx-case input:checked + span { background: #FFFFFF !important; border-color: #FFFFFF !important; }
.ea-portail-page .a-degrade { background: var(--a-degrade); -webkit-background-clip: text; background-clip: text; }
.ea-portail-page .cx-case input:checked + span svg, .ea-portail-page .cx-case input:checked + span::after { stroke: #0A0A0B; border-color: #0A0A0B; color: #0A0A0B; }

/* Portail : texture et filet doré */
.ea-portail-page .cx-panneau { background: linear-gradient(180deg, rgba(20,20,22,.7), rgba(10,10,11,.88)), url("../img/matiere-noir.webp") center / cover; }
.ea-portail-page .cx-fond::after { content: ""; position: absolute; inset: auto 0 0 auto; width: 70vw; height: 70vh; opacity: .45; mix-blend-mode: screen;
  background: url("../img/matiere-filet-or.webp") right bottom / cover no-repeat; -webkit-mask: radial-gradient(70% 70% at 70% 70%, #000 30%, transparent 75%); mask: radial-gradient(70% 70% at 70% 70%, #000 30%, transparent 75%); }
.ea-portail-page .cx-r::after { border-color: rgba(201,168,106,.5) !important; }

/* 2026-11-08 : rappels dorés (ex-rose) */
.ea-app .ea-onglets b, .ea-app .ea-dock b, .ea-app .ec-onglets b { background: linear-gradient(135deg, #E9D3A6, #C9A86A); color: #0A0A0B; }
.cx-exemple { color: #E9D3A6; background: rgba(14,14,16,.92); border-color: rgba(201,168,106,.55); }
.cx-statut i, .ec-statut.en-cours i, .ea-app .ec-statut.en-cours i { background: #C9A86A; box-shadow: 0 0 10px rgba(201,168,106,.8); }
.ec-statut.en-cours { color: #F2E6CC; }
.cx-etapes li.actif span, .ea-portail-page .cx-etapes li.actif span { background: #E9D3A6; border-color: #E9D3A6; }
.cx-etapes::after, .ec-etapes::after { background: linear-gradient(90deg, #C9A86A, #E9D3A6); }
.ec-frise li.fait::before, .ec-frise li.fait .ec-puce { background: linear-gradient(140deg, #C9A86A, #E9D3A6); }
.cx-case input:checked + span { background: #E9D3A6; border-color: #E9D3A6; }
.cx-force[data-n="3"] i:nth-child(-n+3) { background: #E9D3A6; }
.cx-force[data-n="4"] i { background: linear-gradient(90deg, #E9D3A6, #C9A86A); }
.ec-tuile-or b { background: linear-gradient(90deg, #FFFFFF, #E9D3A6); -webkit-background-clip: text; background-clip: text; }
