/* FoxBot Pro — Auth wizard (design ZIP, scopé .auth-wiz pour ne pas polluer l'app) */
.auth-wiz {
  --aw-bg:      #06060C;
  --aw-bg-1:    #0D0D17;
  --aw-line:    rgba(255,255,255,0.06);
  --aw-line-2:  rgba(255,255,255,0.12);
  --aw-ink:     #F5F3FF;
  --aw-ink-2:   #B2AECF;
  --aw-ink-3:   #65628A;
  --aw-ink-4:   #36345A;
  --aw-accent:    #9B5DF0;
  --aw-accent-2:  #B583F8;
  --aw-accent-mag:#DD55A8;
  --aw-green:   #0BCF82;
  --aw-red:     #F4516E;
  position: fixed; inset: 0; z-index: 50;
  background: var(--aw-bg);
  color: var(--aw-ink);
  font-family: 'Geist', system-ui, sans-serif;
  overflow-y: auto;
  display: flex; flex-direction: column;
}
.auth-wiz * , .auth-wiz *::before, .auth-wiz *::after { box-sizing: border-box; }

/* drifting orbs */
.auth-wiz .aw-orb { position: fixed; border-radius: 50%; pointer-events: none; filter: blur(80px); z-index: 0; will-change: transform; }
.auth-wiz .aw-orb-1 { width: 640px; height: 640px; left: -200px; top: -180px;
  background: radial-gradient(circle, rgba(155,93,240,0.32), transparent 70%);
  animation: aw-drift-1 28s ease-in-out infinite alternate; }
.auth-wiz .aw-orb-2 { width: 560px; height: 560px; right: -180px; bottom: -180px;
  background: radial-gradient(circle, rgba(221,85,168,0.28), transparent 70%);
  animation: aw-drift-2 34s ease-in-out infinite alternate; }
@keyframes aw-drift-1 { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(160px,120px) scale(1.15);} }
@keyframes aw-drift-2 { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(-200px,-160px) scale(1.1);} }

/* layout */
.auth-wiz .aw-main { position: relative; z-index: 2; flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 20px; }
.auth-wiz .aw-card {
  position: relative; width: 100%; max-width: 440px;
  border-radius: 24px; padding: 36px 36px 28px;
  background: linear-gradient(160deg, rgba(255,255,255,0.04) 0%, rgba(13,13,23,0.88) 100%);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(155,93,240,0.18);
  box-shadow: 0 30px 80px -30px rgba(0,0,0,0.7);
}

/* brand */
.auth-wiz .aw-brand { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 24px; text-align: center; }
.auth-wiz .aw-brand img { display: block; width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 0 14px rgba(155,93,240,0.55)); }
.auth-wiz .aw-title { margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -0.6px; }
.auth-wiz .aw-sub { margin: 6px 0 0; color: var(--aw-ink-2); font-size: 13.5px; line-height: 1.5; max-width: 320px; }

/* tab toggle */
.auth-wiz .aw-tabs { display: grid; grid-template-columns: 1fr 1fr; background: rgba(255,255,255,0.025);
  border: 1px solid var(--aw-line); border-radius: 14px; padding: 4px; margin-bottom: 24px; position: relative; }
.auth-wiz .aw-tab-ind { position: absolute; top: 4px; bottom: 4px; width: calc(50% - 4px);
  background: linear-gradient(180deg, rgba(181,131,248,0.20), rgba(155,93,240,0.10));
  border: 1px solid rgba(155,93,240,0.32); border-radius: 10px;
  transition: transform .35s cubic-bezier(0.5,1.4,0.5,1); }
.auth-wiz .aw-tab-ind.right { transform: translateX(100%); }
.auth-wiz .aw-tab { position: relative; z-index: 1; padding: 10px 8px; background: transparent; border: none;
  color: var(--aw-ink-3); font-family: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; transition: color .2s; }
.auth-wiz .aw-tab.active { color: var(--aw-ink); }

/* fields */
.auth-wiz .aw-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.auth-wiz .aw-label { font-size: 13px; font-weight: 500; color: var(--aw-ink-2); }
.auth-wiz .aw-input-wrap { position: relative; }
.auth-wiz .aw-input { width: 100%; height: 46px; padding: 0 14px 0 42px;
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px;
  color: var(--aw-ink); font-family: inherit; font-size: 14px; outline: none;
  transition: border-color .2s, background .2s, box-shadow .2s; }
.auth-wiz .aw-input::placeholder { color: var(--aw-ink-4); }
.auth-wiz .aw-input:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.14); }
.auth-wiz .aw-input:focus { border-color: rgba(155,93,240,0.50); box-shadow: 0 0 0 3px rgba(155,93,240,0.12); background: rgba(255,255,255,0.045); }
.auth-wiz .aw-ficon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--aw-ink-3); pointer-events: none; display: flex; }
.auth-wiz .aw-ftoggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px;
  background: transparent; border: none; color: var(--aw-ink-3); border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.auth-wiz .aw-ftoggle:hover { color: var(--aw-ink); background: rgba(255,255,255,0.04); }

/* buttons */
.auth-wiz .aw-btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; height: 50px; padding: 0 24px; border-radius: 999px;
  background: linear-gradient(180deg, #B583F8 0%, #9B5DF0 100%);
  border: 1px solid rgba(255,255,255,0.12); color: #fff; font-family: inherit; font-size: 15px; font-weight: 600;
  cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,0.32), 0 14px 36px -10px rgba(155,93,240,0.55);
  transition: transform .2s, box-shadow .25s; }
.auth-wiz .aw-btn-primary:hover:not(:disabled) { transform: translateY(-1px); }
.auth-wiz .aw-btn-primary:disabled { opacity: 0.55; cursor: not-allowed; background: rgba(255,255,255,0.06); color: var(--aw-ink-3); box-shadow: none; }
.auth-wiz .aw-btn-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; height: 46px; padding: 0 18px; border-radius: 999px;
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.10); color: var(--aw-ink);
  font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.auth-wiz .aw-btn-secondary:hover { background: rgba(255,255,255,0.06); border-color: rgba(155,93,240,0.32); transform: translateY(-1px); }

/* checkbox + misc */
.auth-wiz .aw-check { display: flex; align-items: flex-start; gap: 10px; font-size: 12.5px; color: var(--aw-ink-2); cursor: pointer; line-height: 1.5; }
.auth-wiz .aw-check input { margin-top: 2px; accent-color: var(--aw-accent); }
.auth-wiz .aw-link { color: var(--aw-accent-2); cursor: pointer; text-decoration: none; }
.auth-wiz .aw-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; }
.auth-wiz .aw-divider .ln { flex: 1; height: 1px; background: rgba(255,255,255,0.08); }
.auth-wiz .aw-divider .tx { font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: 0.3px; color: var(--aw-ink-4); }
.auth-wiz .aw-err { padding: 11px 13px; background: rgba(244,81,110,0.08); border: 1px solid rgba(244,81,110,0.28);
  border-radius: 10px; color: var(--aw-red); font-size: 12.5px; line-height: 1.45; margin-bottom: 14px; }
.auth-wiz .aw-foot { text-align: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.06); font-size: 13px; color: var(--aw-ink-3); }
.auth-wiz .aw-pagefoot { position: relative; z-index: 2; display: flex; justify-content: center; gap: 26px; flex-wrap: wrap;
  font-family: 'Geist Mono', monospace; font-size: 11px; color: var(--aw-ink-4); letter-spacing: 0.4px; padding: 0 20px 28px; }

/* ─── steps (Temps 2) ─── */
.auth-wiz .aw-skip { background: none; border: none; color: var(--aw-ink-3); cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 500; padding: 10px; margin-top: 4px; }
.auth-wiz .aw-skip:hover { color: var(--aw-ink-2); }

.auth-wiz .aw-stepper { display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 22px; }
.auth-wiz .aw-step-dot { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
  background: rgba(255,255,255,0.03); border: 1px solid var(--aw-line); color: var(--aw-ink-4); }
.auth-wiz .aw-step-dot.active { background: rgba(155,93,240,0.18); border: 1.5px solid var(--aw-accent-2); color: var(--aw-accent-2); }
.auth-wiz .aw-step-dot.done { background: linear-gradient(180deg, #B583F8, #9B5DF0); border: none; color: #fff; box-shadow: 0 0 12px rgba(155,93,240,0.5); }
.auth-wiz .aw-step-line { width: 40px; height: 1.5px; border-radius: 1px; background: var(--aw-line); }
.auth-wiz .aw-step-line.done { background: linear-gradient(90deg, #B583F8, #9B5DF0); }

.auth-wiz .aw-step-head { text-align: center; margin-bottom: 24px; }
.auth-wiz .aw-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; margin-bottom: 14px;
  background: rgba(155,93,240,0.10); border: 1px solid rgba(155,93,240,0.28); font-family: 'Geist Mono', monospace; font-size: 10px; font-weight: 600; color: var(--aw-accent-2); letter-spacing: 0.6px; }
.auth-wiz .aw-step-title { margin: 0; font-size: 23px; font-weight: 600; letter-spacing: -0.5px; line-height: 1.15; }

.auth-wiz .aw-mode-toggle { display: grid; grid-template-columns: 1fr 1fr; background: rgba(255,255,255,0.025); border: 1px solid var(--aw-line); border-radius: 12px; padding: 4px; margin-bottom: 18px; position: relative; }
.auth-wiz .aw-mode-ind { position: absolute; top: 4px; bottom: 4px; width: calc(50% - 4px); border-radius: 9px;
  background: linear-gradient(180deg, rgba(242,169,59,0.20), rgba(242,169,59,0.10)); border: 1px solid rgba(242,169,59,0.32); transition: transform .3s cubic-bezier(0.5,1.4,0.5,1); }
.auth-wiz .aw-mode-ind.right { transform: translateX(100%); background: linear-gradient(180deg, rgba(11,207,130,0.20), rgba(11,207,130,0.10)); border-color: rgba(11,207,130,0.32); }
.auth-wiz .aw-mode-tab { position: relative; z-index: 1; padding: 9px 6px; background: transparent; border: none; cursor: pointer; color: var(--aw-ink-3);
  font-family: 'Geist Mono', monospace; font-size: 10.5px; font-weight: 700; letter-spacing: 0.5px; transition: color .2s; }
.auth-wiz .aw-mode-tab.active { color: var(--aw-ink); }

.auth-wiz .aw-note { display: flex; align-items: center; gap: 10px; padding: 11px 12px; margin-top: 10px; background: rgba(11,207,130,0.05);
  border: 1px solid rgba(11,207,130,0.20); border-radius: 10px; font-size: 11.5px; color: var(--aw-ink-2); line-height: 1.45; }
.auth-wiz .aw-note b { color: var(--aw-ink); }

.auth-wiz .aw-code-box { position: relative; text-align: center; padding: 22px 18px; border-radius: 14px;
  background: linear-gradient(180deg, rgba(155,93,240,0.10), rgba(13,13,23,0.5)); border: 1px solid rgba(155,93,240,0.32); }
.auth-wiz .aw-code-cap { font-family: 'Geist Mono', monospace; font-size: 11px; color: var(--aw-ink-3); letter-spacing: 0.3px; }
.auth-wiz .aw-code { font-family: 'Geist Mono', monospace; font-size: 34px; font-weight: 700; letter-spacing: 6px; margin-top: 6px;
  background: linear-gradient(135deg, #B583F8, #DD55A8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.auth-wiz .aw-code-copy { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 8px;
  background: rgba(255,255,255,0.04); border: 1px solid var(--aw-line); color: var(--aw-ink-2); font-family: 'Geist Mono', monospace; font-size: 10.5px; font-weight: 600; cursor: pointer; }
.auth-wiz .aw-code-copy.ok { background: rgba(11,207,130,0.16); border-color: rgba(11,207,130,0.32); color: var(--aw-green); }
.auth-wiz .aw-tg-steps { margin: 0; padding: 14px 18px 14px 36px; background: rgba(255,255,255,0.02); border: 1px solid var(--aw-line); border-radius: 12px;
  display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--aw-ink-2); line-height: 1.5; }
.auth-wiz .aw-tg-steps b { color: var(--aw-ink); }
.auth-wiz .aw-tg-status { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 14px; border-radius: 12px; font-size: 13px; font-weight: 500;
  background: rgba(155,93,240,0.06); border: 1px solid rgba(155,93,240,0.20); color: var(--aw-ink-2); }
.auth-wiz .aw-tg-status.ok { background: rgba(11,207,130,0.08); border-color: rgba(11,207,130,0.28); color: var(--aw-green); }

.auth-wiz .aw-bio-wrap { display: flex; justify-content: center; margin: 4px 0 20px; }
.auth-wiz .aw-bio { width: 80px; height: 80px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--aw-accent-2);
  background: linear-gradient(135deg, rgba(155,93,240,0.20), rgba(221,85,168,0.10)); border: 1px solid rgba(155,93,240,0.32); transition: all .4s; }
.auth-wiz .aw-bio.ok { color: var(--aw-green); background: linear-gradient(135deg, rgba(11,207,130,0.20), rgba(11,207,130,0.05)); border-color: rgba(11,207,130,0.32); }

.auth-wiz .aw-recap { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,0.02); border: 1px solid var(--aw-line); }
.auth-wiz .aw-recap.done { background: rgba(11,207,130,0.05); border-color: rgba(11,207,130,0.20); }
.auth-wiz .aw-recap-ic { width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.04); border: 1px solid var(--aw-line); color: var(--aw-ink-4); font-weight: 700; font-size: 12px; }
.auth-wiz .aw-recap.done .aw-recap-ic { background: var(--aw-green); border: none; color: #fff; box-shadow: 0 0 10px rgba(11,207,130,0.4); }
.auth-wiz .aw-recap-l { font-size: 13.5px; font-weight: 600; color: var(--aw-ink-2); }
.auth-wiz .aw-recap.done .aw-recap-l { color: var(--aw-ink); }
.auth-wiz .aw-recap-s { font-size: 11.5px; color: var(--aw-ink-3); margin-top: 2px; font-family: 'Geist Mono', monospace; }

@media (max-width: 560px) {
  .auth-wiz .aw-card { padding: 28px 20px; }
  .auth-wiz .aw-orb-1, .auth-wiz .aw-orb-2 { width: 420px !important; height: 420px !important; filter: blur(60px) !important; }
  .auth-wiz .aw-code { font-size: 28px; letter-spacing: 4px; }
}
