/* =====================================================================
   FAUNA — écran de connexion / inscription (css/auth.css)
   Tout est préfixé « au- » pour ne jamais entrer en conflit avec css/base.css.
   Palette : vert forêt profond + vert lime (--ac), titres en serif (--disp).
   ===================================================================== */

.au{
  --au-ac:var(--ac,#c6ff3d);
  --au-ln:#ffffff1f;
  --au-ln2:#ffffff2e;
  --au-field:#030d07;
  --au-panel:#05150d;
  --au-tx:#eafff1;
  --au-mu:#eafff1a8;
  --au-bad:#ff8a8a;
  --au-hd:60px;
  min-height:100vh;min-height:100dvh;
  display:flex;flex-direction:column;
  color:var(--au-tx);
  text-align:left;
}
.au *{box-sizing:border-box}

/* ---------- barre du haut ---------- */
.au-top{
  position:sticky;top:0;z-index:20;
  height:calc(var(--au-hd) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) clamp(14px,2vw,24px) 0;
  display:flex;align-items:center;gap:14px;
  background:#04140ac7;backdrop-filter:blur(16px);
  border-bottom:1px solid var(--au-ln);
}
.au-br{
  font:800 1.05rem system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.32em;color:var(--au-ac);
  background:none;border:0;padding:0;cursor:pointer;margin-right:6px;
}
.au-nav{display:flex;gap:4px;align-items:center}
.au-nv{
  padding:7px 15px;border-radius:99px;border:0;background:none;
  color:var(--au-tx);font-weight:700;font-size:.92rem;cursor:pointer;transition:background .15s,color .15s;
}
.au-nv:hover{background:#ffffff14}
.au-nv.on{background:var(--au-ac);color:#06180d}
.au-r{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative}
.au-pill{
  padding:8px 18px;border-radius:99px;border:1px solid var(--au-ln2);
  background:#0a1f13;color:var(--au-tx);font-weight:700;font-size:.9rem;cursor:pointer;transition:background .15s;
}
.au-pill:hover{background:#12301e}
.au-burger{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--au-ln2);background:#0a1f13;
  display:grid;place-items:center;cursor:pointer;color:var(--au-tx);padding:0;transition:background .15s;
}
.au-burger:hover{background:#12301e}
.au-burger svg{width:20px;height:20px}
.au-menu{
  position:absolute;right:0;top:calc(100% + 14px);min-width:210px;padding:8px;
  border-radius:16px;border:1px solid var(--au-ln2);background:#06180ef2;backdrop-filter:blur(16px);
  box-shadow:0 18px 50px -12px #000;display:none;flex-direction:column;gap:2px;
}
.au-menu.open{display:flex}
.au-menu button{
  text-align:left;padding:11px 14px;border-radius:10px;border:0;background:none;
  color:var(--au-tx);font-weight:600;cursor:pointer;
}
.au-menu button:hover{background:#ffffff14}

/* ---------- corps : deux colonnes ---------- */
.au-main{
  flex:1;display:grid;grid-template-columns:1fr 1fr;
  min-height:calc(100dvh - var(--au-hd));
}
.au-hero{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,6vw,80px) clamp(24px,6vw,84px);
  background:linear-gradient(160deg,#0a3d2088,#04140a00 70%);
  border-right:1px solid var(--au-ln);
}
.au-tag{
  align-self:flex-start;padding:5px 15px;border-radius:99px;
  border:1px solid #c6ff3d55;background:#c6ff3d1f;color:var(--au-ac);
  font-size:.74rem;font-weight:700;letter-spacing:.14em;margin-bottom:28px;
}
.au-hero h1{
  margin:0 0 36px;font:500 clamp(2.3rem,4.6vw,3.7rem)/1.08 var(--disp);letter-spacing:-.01em;
}
.au-hero h1 em{display:block;color:var(--au-ac);font-style:italic}
.au-feat{list-style:none;margin:0 0 40px;padding:0;display:grid;gap:18px;max-width:520px}
.au-feat li{display:flex;gap:16px;align-items:flex-start}
.au-ic{
  flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:#0d2318;border:1px solid var(--au-ln);color:var(--au-ac);
}
.au-ic svg{width:19px;height:19px}
.au-feat b{display:block;font-size:1.02rem;margin-top:1px}
.au-feat div>span{display:block;color:var(--au-mu);font-size:.9rem;line-height:1.45;margin-top:2px}
.au-fine{margin:0;max-width:430px;color:#eafff180;font-size:.8rem;line-height:1.6}

.au-side{display:grid;place-items:center;padding:clamp(20px,4vw,48px) 20px}

/* ---------- carte du formulaire ---------- */
.au-card{
  width:min(440px,100%);padding:30px 32px 26px;border-radius:28px;
  background:linear-gradient(180deg,#071b11f2,#04120af2);
  border:1px solid var(--au-ln2);
  box-shadow:0 30px 80px -30px #000,0 0 60px -30px var(--gl,#7dff6a);
}
.au-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:26px;
  border-radius:14px;background:#030d07;border:1px solid var(--au-ln);
}
.au-tabs button{
  padding:10px 8px;border-radius:10px;border:0;background:none;
  color:var(--au-mu);font-weight:700;font-size:.92rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;
}
.au-tabs button:hover{color:var(--au-tx)}
.au-tabs button[aria-selected=true]{background:#26362d;color:#fff;box-shadow:0 0 0 1px var(--au-ln2)}
.au-card h2{margin:0 0 6px;font:800 1.7rem/1.15 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-.01em}
.au-sub{margin:0 0 22px;color:var(--au-mu);font-size:.95rem;line-height:1.5}

.au-lb{display:block;margin:16px 0 7px;font-size:.85rem;font-weight:700}
.au-in{position:relative}
.au-in>svg.au-l{
  position:absolute;left:15px;top:50%;width:17px;height:17px;transform:translateY(-50%);
  color:#eafff1b0;pointer-events:none;
}
.au .au-in input{
  display:block;width:100%;margin:0;height:48px;padding:0 46px 0 44px;
  border-radius:14px;border:1px solid var(--au-ln2);background:var(--au-field);
  color:#fff;font:inherit;font-size:.98rem;transition:border-color .15s,box-shadow .15s;
}
.au .au-in input::placeholder{color:#eafff160}
.au .au-in input:focus{outline:0;border-color:var(--au-ac);box-shadow:0 0 0 3px #c6ff3d33}
.au .au-in input[aria-invalid=true]{border-color:var(--au-bad)}
.au-eye{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:10px;border:0;background:none;
  display:grid;place-items:center;color:#eafff1b0;cursor:pointer;padding:0;
}
.au-eye:hover{color:#fff}
.au-eye svg{width:18px;height:18px}
.au-hint{margin:7px 0 0;color:var(--au-mu);font-size:.76rem}

/* jauge de sécurité : 4 segments */
.au-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.au-meter i{height:3px;border-radius:99px;background:#ffffff1f;transition:background .2s}
.au-meter[data-s="1"] i:nth-child(-n+1){background:#ff6b6b}
.au-meter[data-s="2"] i:nth-child(-n+2){background:#ffd86b}
.au-meter[data-s="3"] i:nth-child(-n+3){background:#c6ff3d}
.au-meter[data-s="4"] i:nth-child(-n+4){background:#4ade80}
.au-meter-l{min-height:1.2em;margin:6px 0 0;color:var(--au-mu);font-size:.76rem}

.au-err{min-height:1.3em;margin:14px 0 0;color:var(--au-bad);font-size:.88rem;font-weight:600}
.au-go{
  display:block;width:100%;height:50px;margin-top:6px;border-radius:14px;border:0;
  background:var(--au-ac);color:#06180d;font:800 1.02rem system-ui,sans-serif;cursor:pointer;
  box-shadow:0 0 30px -4px #c6ff3dbb;transition:filter .15s,transform .1s;
}
.au-go:hover{filter:brightness(1.07)}
.au-go:active{transform:scale(.98)}
.au-go:disabled{opacity:.55;cursor:progress;filter:none}
.au-sw{margin:18px 0 0;text-align:center;font-size:.92rem}
.au-lk{
  background:none;border:0;padding:0;color:var(--au-ac);font:inherit;font-weight:700;cursor:pointer;
}
.au-lk:hover{text-decoration:underline}

/* focus clavier visible partout */
.au button:focus-visible{outline:2px solid var(--au-ac);outline-offset:2px}

/* ---------- mobile ---------- */
@media(max-width:860px){
  .au{--au-hd:56px}
  .au-main{grid-template-columns:1fr}
  .au-hero{padding:26px 22px 0;background:none;border-right:0}
  .au-hero h1{font-size:2rem;margin-bottom:0}
  .au-hero .au-feat,.au-hero .au-fine{display:none}
  .au-tag{margin-bottom:14px}
  .au-nav{display:none}
  .au-side{padding:20px 14px 40px}
  .au-card{padding:24px 18px 20px;border-radius:24px}
  .au-tabs button{font-size:.85rem}
}
@media(prefers-reduced-motion:reduce){
  .au *{transition:none!important}
}
