/* ═══════════════════════════════════════════════════════════════════
   Africomed — login.css
   Styles SPÉCIFIQUES à index.html :
   - Écran de connexion (login)
   - Page publique auto-inscription QR (?qr=X)
   - Page confirmation QR (view-qr-confirm)
   
   PRÉREQUIS : common.css doit être chargé AVANT ce fichier.
   ═══════════════════════════════════════════════════════════════════ */

/* ═══ LOGIN ═════════════════════════════════════════════════════════ */
#view-login{
  background:linear-gradient(145deg,#0a1628 0%,#1e3a5f 50%,#0a1628 100%);
  align-items:center;justify-content:center;padding:2rem;
  position:relative;overflow:hidden
}
#view-login::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 20%,rgba(37,99,235,.15),transparent 50%),
             radial-gradient(ellipse at 80% 80%,rgba(37,99,235,.1),transparent 50%);
}
.login-box{width:100%;max-width:360px;position:relative}
.login-brand{margin-bottom:2rem;text-align:center}
.login-brand .mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;
  background:var(--accent);
  margin-bottom:14px;
  box-shadow:0 4px 16px rgba(37,99,235,.5)
}
.login-brand .mark svg{width:22px;height:22px;stroke:white}
.login-brand h1{font-size:24px;color:white;font-weight:800;letter-spacing:-.03em;margin-bottom:3px}
.login-brand p{font-size:12.5px;color:rgba(255,255,255,.45)}
.login-panel{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);padding:1.75rem;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 20px 60px rgba(0,0,0,.3)
}
.lf{margin-bottom:.85rem}
.lf label{display:block;font-size:10.5px;font-weight:600;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.lf input{
  width:100%;height:40px;padding:0 12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-sm);color:white;font-size:14px;transition:.18s
}
.lf input:focus{outline:none;border-color:rgba(37,99,235,.7);background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.lf input::placeholder{color:rgba(255,255,255,.28)}
.login-err{font-size:12px;color:#fca5a5;margin-top:8px;text-align:center;display:none}
.btn-login{
  width:100%;height:42px;
  background:var(--accent);
  color:white;border:none;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;margin-top:1.1rem;
  transition:.18s;letter-spacing:.01em;
  box-shadow:0 2px 8px rgba(37,99,235,.4)
}
.btn-login:hover{background:#1d4ed8;box-shadow:0 4px 16px rgba(37,99,235,.5)}
.btn-login:active{transform:scale(.99)}
.btn-login:disabled{opacity:.5;transform:none}

/* ═══ PAGE PUBLIQUE QR — VIEW PUBLIC SIGNUP ═════════════════════════ */
/* Note : la structure de cette page utilise beaucoup les classes de common.css
   (.step-card, .field, .kol-check, .tel-wrap, .adm-ex-btn, .adm-exercice-btns)
   Aucune règle supplémentaire nécessaire ici — tout est déjà dans common.css */

/* ═══ VIEW QR CONFIRM (page publique après scan) ════════════════════ */
#view-qr-confirm{background:var(--bg);align-items:center;justify-content:center;padding:2rem 1rem;flex-direction:column}
.qrc-card{
  width:100%;max-width:440px;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-lg);background:white
}
.qrc-top{
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  padding:1.5rem;text-align:center;color:white
}
.qrc-top h2{font-size:20px;font-weight:800;margin-bottom:4px;letter-spacing:-.02em}
.qrc-top p{font-size:12.5px;color:rgba(255,255,255,.65)}
.qrc-body{padding:1.5rem}
.cfr{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.cfr:last-child{border:none}
.cfk{color:var(--ink-3);font-weight:500}
.cfv{font-weight:600;color:var(--ink);text-align:right}

/* Sections groupées page QR */
.qrc-section{
  margin-bottom:.75rem;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  overflow:hidden;
  padding:0 .85rem;
}
.qrc-section-lbl{
  font-size:10px;font-weight:700;
  color:var(--ink-3);text-transform:uppercase;
  letter-spacing:.07em;
  padding:.5rem 0 .25rem;
  border-bottom:1px solid var(--line);
  margin-bottom:0
}
.confirm-check{
  display:flex;gap:10px;align-items:flex-start;
  padding:14px;background:var(--green-soft);
  border:1.5px solid rgba(14,140,70,.2);
  border-radius:var(--r);margin:1.25rem 0;cursor:pointer
}
.confirm-check input{
  width:18px;height:18px;accent-color:var(--green);
  flex-shrink:0;margin-top:1px;cursor:pointer
}
.confirm-check label{font-size:13px;color:var(--green);line-height:1.5;cursor:pointer;font-weight:500}

/* ═══ BLOC RGPD (page publique + page confirm) ══════════════════════ */
.rgpd-block{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:1rem 1.1rem;
  margin:1rem 0;
}
.rgpd-title{
  display:flex;align-items:center;gap:7px;
  font-size:12px;font-weight:700;color:var(--ink);
  text-transform:uppercase;letter-spacing:.05em;
  margin-bottom:.65rem
}
.rgpd-title svg{color:var(--accent);flex-shrink:0}
.rgpd-intro{
  font-size:11.5px;color:var(--ink-3);line-height:1.6;
  margin-bottom:.85rem;border-bottom:1px solid var(--line);padding-bottom:.85rem
}
.rgpd-checks{display:flex;flex-direction:column;gap:8px;margin-bottom:.75rem}
.rgpd-check-row{
  display:flex;align-items:flex-start;gap:10px;cursor:pointer
}
.rgpd-check-row input[type=checkbox]{
  width:17px;height:17px;flex-shrink:0;margin-top:2px;
  accent-color:var(--accent);cursor:pointer
}
.rgpd-check-box{display:none} /* kept for compatibility */
.rgpd-check-txt{font-size:12.5px;color:var(--ink-2);line-height:1.55}
.rgpd-check-txt strong{color:var(--ink);font-weight:600}
.rgpd-version{
  font-size:10.5px;color:var(--ink-4);margin-top:.5rem;
  border-top:1px solid var(--line);padding-top:.6rem
}
.rgpd-consent-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;
  background:var(--green-soft);color:var(--green);
  margin-left:5px
}

/* ═══ BOUTON WHATSAPP / VALIDATION (page publique QR) ══════════════ */
.wa-btn{
  width:100%;height:46px;background:#25D366;color:white;
  border:none;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;
  cursor:pointer;transition:.18s
}
.wa-btn:hover{background:#1db954}
