/* 登入 / 註冊 / 忘記密碼 / 重設密碼 / 2FA / 信箱驗證 等驗證類頁面共用樣式
   這些頁面原本各自複製一份幾乎完全相同的 <style>，統一收到這支檔案。
   頁面專屬樣式（.tf-box / .field-error / .code-input / .mail-chip …）仍留在各自頁面的 <style>。 */

.auth-wrap{ min-height: calc(100vh - 120px); display:flex; align-items:center; justify-content:center; padding: 40px 20px; }
.auth-card{
  width:100%; max-width:400px; background: var(--glass-strong); border:1px solid var(--glass-border);
  border-radius:20px; padding:36px; box-shadow: 0 24px 60px -24px rgba(0,0,0,0.6);
}
.auth-logo{ display:flex; justify-content:center; margin-bottom:24px; }
.auth-title{ text-align:center; font-size:22px; font-weight:800; color:var(--text); margin-bottom:6px; }
.auth-sub{ text-align:center; font-size:13px; color:var(--text-mute); margin-bottom:28px; }
.tabs{ display:flex; background: rgba(255,255,255,0.04); border:1px solid var(--glass-border); border-radius:999px; padding:4px; margin-bottom:26px; }
.tab{ flex:1; text-align:center; padding:9px 0; font-size:13px; font-weight:700; border-radius:999px; cursor:pointer; color: var(--text-mute); }
.tab.active{ background: var(--glow); color:#062430; }
.btn-google{
  width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; color:#1F2937; border-radius:999px; padding:12px 20px; font-weight:700; font-size:14px;
  border:1px solid rgba(255,255,255,0.2); cursor:pointer;
}
.btn-google:hover{ background:#F3F4F6; }
.divider{ display:flex; align-items:center; gap:12px; margin:22px 0; color: var(--text-mute); font-size:12px; }
.divider::before, .divider::after{ content:""; flex:1; height:1px; background: var(--glass-border); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; font-weight:700; color: var(--text); margin-bottom:6px; }
.field input{
  width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--glass-border);
  background: rgba(255,255,255,0.04); color: var(--text); font-size:14px; font-family:inherit;
}
.field input:focus{ outline:none; border-color: var(--glow); box-shadow: 0 0 0 3px rgba(34,211,238,0.18); }
.row-between{ display:flex; justify-content:space-between; align-items:center; font-size:12px; margin-bottom:20px; }
.row-between a{ color: var(--glow); }
.checkbox-row{ display:flex; align-items:flex-start; gap:8px; font-size:12px; color: var(--text-mute); margin-bottom:20px; }
.checkbox-row a{ color: var(--glow); }
.checkbox-row input[type="checkbox"]{ margin-top:2px; }
.auth-card .btn{ width:100%; }
.switch-hint{ text-align:center; font-size:13px; color: var(--text-mute); margin-top:22px; }
.switch-hint a{ color: var(--glow); font-weight:700; }
[data-mode="register"]{ display:none; }

/* 重設密碼頁：後端回傳的失敗訊息（原本寫 inline color:red） */
.rp-error{ color: red; }
