/* ===================================================================
   SPECTRE — Styles des pages auth (login / membre / admin)
   =================================================================== */
:root{
  --crimson:#b01030; --crimson-dark:#7a0c20; --red:#ff2a2a;
  --black:#0a0a0c; --black-2:#0e0e11; --anthracite:#1a1a1e; --anthracite-2:#232328;
  --white:#f2f2f2; --grey:#9a9aa2; --line:rgba(176,16,48,.35);
  --font-title:'Orbitron',sans-serif; --font-body:'Rajdhani',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:var(--font-body); color:var(--white); line-height:1.6; min-height:100vh;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(176,16,48,.18),transparent 55%),
    linear-gradient(180deg,#120608,var(--black) 70%);
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* --- Top bar minimale --- */
.authbar{display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.5rem;max-width:1100px;margin:0 auto;}
.authbar__brand{display:flex;align-items:center;gap:.7rem;}
.authbar__brand img{height:40px;}
.authbar__brand span{font-family:var(--font-title);font-weight:900;letter-spacing:.22em;}
.authbar a.back{font-family:var(--font-title);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grey);}
.authbar a.back:hover{color:var(--red);}

/* --- Carte centrale --- */
.auth-wrap{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem 5rem;}
.card{
  width:100%;max-width:440px;background:rgba(16,16,19,.85);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:8px;padding:2.5rem 2.2rem;
  box-shadow:0 0 50px rgba(176,16,48,.12);
}
.card--wide{max-width:920px;}
.card__logo{display:flex;justify-content:center;margin-bottom:1.2rem;}
.card__logo img{width:84px;filter:drop-shadow(0 0 22px rgba(255,42,42,.35));}
.card h1{font-family:var(--font-title);font-weight:900;text-align:center;
  letter-spacing:.12em;font-size:1.5rem;}
.card .motto{text-align:center;color:var(--grey);font-family:var(--font-title);
  font-size:.62rem;letter-spacing:.4em;margin:.4rem 0 1.8rem;}

/* --- Bouton Discord --- */
.btn-discord{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;
  border:none;cursor:pointer;border-radius:3px;
  font-family:var(--font-title);font-weight:700;font-size:.82rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.95rem;color:#fff;background:#5865F2;
  transition:box-shadow .3s var(--ease),transform .3s var(--ease),filter .3s var(--ease);}
.btn-discord:hover{box-shadow:0 0 26px rgba(88,101,242,.5);transform:translateY(-2px);filter:brightness(1.08);}
.btn-discord:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none;}

.divider{display:flex;align-items:center;gap:.8rem;margin:1.4rem 0;color:var(--grey);
  font-family:var(--font-title);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1);}

/* --- Onglets connexion / inscription --- */
.tabs{display:flex;margin-bottom:1.6rem;border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.tabs button{flex:1;background:transparent;color:var(--grey);border:none;cursor:pointer;
  font-family:var(--font-title);font-weight:700;font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.75rem;transition:all .3s var(--ease);}
.tabs button.active{background:linear-gradient(135deg,var(--crimson),var(--crimson-dark));color:#fff;}

/* --- Formulaire --- */
.field{margin-bottom:1.1rem;}
.field label{display:block;font-family:var(--font-title);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grey);margin-bottom:.4rem;}
.field input{width:100%;background:var(--anthracite);border:1px solid rgba(255,255,255,.08);
  border-radius:3px;color:var(--white);font-family:var(--font-body);font-size:1rem;
  padding:.8rem .9rem;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);}
.field input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(255,42,42,.15);}

.btn-full{width:100%;border:none;cursor:pointer;border-radius:3px;
  font-family:var(--font-title);font-weight:700;font-size:.82rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.95rem;color:#fff;
  background:linear-gradient(135deg,var(--crimson),var(--crimson-dark));
  transition:box-shadow .3s var(--ease),transform .3s var(--ease);}
.btn-full:hover{box-shadow:0 0 26px rgba(255,42,42,.4);transform:translateY(-2px);}
.btn-full:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none;}

.msg{margin-top:1.1rem;padding:.8rem 1rem;border-radius:3px;font-size:.9rem;display:none;}
.msg.show{display:block;}
.msg.error{background:rgba(176,16,48,.15);border:1px solid var(--line);color:#ffb3c0;}
.msg.ok{background:rgba(40,140,80,.15);border:1px solid rgba(40,140,80,.4);color:#a7e6c1;}
.msg.info{background:rgba(176,16,48,.10);border:1px solid var(--line);color:#e7c2cb;}

.hint{text-align:center;color:var(--grey);font-size:.82rem;margin-top:1.4rem;}

/* --- Bandeau "en attente de validation" --- */
.banner{max-width:920px;margin:0 auto 1.6rem;border-radius:6px;padding:1.1rem 1.4rem;
  border:1px solid var(--line);background:rgba(176,16,48,.10);}
.banner h3{font-family:var(--font-title);font-size:.95rem;letter-spacing:.08em;margin-bottom:.3rem;}
.banner p{color:var(--grey);font-size:.92rem;}

/* --- Espace membre / outils --- */
.member-head{max-width:920px;margin:0 auto 2rem;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.member-head h1{font-family:var(--font-title);font-weight:900;letter-spacing:.1em;font-size:1.6rem;}
.member-head .who{color:var(--grey);font-size:.9rem;}
.btn-ghost{font-family:var(--font-title);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:3px;padding:.55rem 1rem;cursor:pointer;background:transparent;color:var(--white);}
.btn-ghost:hover{border-color:var(--red);color:var(--red);}

.tools-grid{max-width:920px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;}
.tool{background:var(--anthracite);border:1px solid rgba(255,255,255,.06);border-radius:6px;
  padding:1.6rem;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.tool:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:0 16px 36px rgba(0,0,0,.5),0 0 22px rgba(176,16,48,.15);}
.tool h3{font-family:var(--font-title);font-size:1rem;letter-spacing:.05em;margin-bottom:.6rem;}
.tool p{color:var(--grey);font-size:.92rem;margin-bottom:1rem;}
.tool a{font-family:var(--font-title);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}

/* --- Table admin --- */
.admin-table{max-width:1000px;margin:0 auto;width:100%;border-collapse:collapse;
  background:var(--anthracite);border:1px solid rgba(255,255,255,.06);border-radius:6px;overflow:hidden;}
.admin-table th,.admin-table td{padding:.85rem 1rem;text-align:left;font-size:.9rem;
  border-bottom:1px solid rgba(255,255,255,.05);}
.admin-table th{font-family:var(--font-title);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grey);background:rgba(176,16,48,.08);}
.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:20px;}
.pill.pending{background:rgba(186,117,23,.18);color:#f0c474;}
.pill.approved{background:rgba(40,140,80,.18);color:#a7e6c1;}
.pill.blocked{background:rgba(176,16,48,.18);color:#ffb3c0;}
.row-actions{display:flex;gap:.4rem;flex-wrap:wrap;}
.mini{font-family:var(--font-body);font-size:.78rem;border:1px solid var(--line);border-radius:3px;
  padding:.35rem .7rem;cursor:pointer;background:transparent;color:var(--white);transition:all .25s var(--ease);}
.mini:hover{border-color:var(--red);color:var(--red);}
.mini.ok:hover{border-color:#3fae6e;color:#a7e6c1;}

.center-load{text-align:center;color:var(--grey);padding:3rem;font-family:var(--font-title);letter-spacing:.1em;}

@media(max-width:560px){
  .card{padding:2rem 1.4rem;}
  .admin-table{font-size:.82rem;}
}

/* --- Ajouts : connexion 100% Discord --- */
.card .lead{color:var(--grey);font-size:.92rem;text-align:center;margin-bottom:1.6rem;}
.card .lead strong{color:var(--white);}
.msg a{color:var(--red);font-weight:600;text-decoration:underline;}
.msg code{font-family:monospace;font-size:.85em;color:#ffb3c0;}

/* Cartes-outils cliquables (l'ensemble de la carte est un lien) */
a.tool{display:flex;flex-direction:column;height:100%;}
.tool__go{margin-top:auto;font-family:var(--font-title);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--red);}
.tool--soon{opacity:.65;}
.tool--soon .tool__go{color:var(--grey);}
