/* ── 认证页:浅色默认 + 跟随看板主题(读 csc_theme,与新前端同款变量) ── */
body {
  --bg:#eef2f8; --card:#ffffff; --text:#1f2733; --muted:#8b95a5; --faint:#aab2bf;
  --line:#e6eaf0; --blue:#2f7bf5;
  background: var(--bg); color: var(--text); min-height: 100vh; margin: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* 深色系共用底(data-dark) */
body[data-dark]{--bg:#0e1420;--card:#19212e;--line:rgba(255,255,255,.14);--text:#e7eaef;--muted:#b3bccb;--faint:#8b94a4;--blue:#4a90ff}
/* 深色主题强调色 */
body[data-theme="blackgold"]{--bg:#0d0d0d;--card:#1a1814;--text:#ece6d8;--blue:#d4af37}
body[data-theme="esports"]{--bg:#0e0e16;--card:#181420;--blue:#e11d48}
body[data-theme="galaxy"]{--bg:#0a0a1a;--card:#15152b;--blue:#8b7cff}
/* 浅色主题 */
body[data-theme="spring"]{--bg:#fdf2f8;--blue:#e8709f}
body[data-theme="summer"]{--bg:#ecf9fb;--blue:#0e9bb5}
body[data-theme="autumn"]{--bg:#fcf4e9;--blue:#c2521c}
body[data-theme="winter"]{--bg:#eef3f8;--blue:#3a6fa0;--text:#27313f}
body[data-theme="dopamine"]{--bg:#fff0f6;--blue:#f43f8e}
body[data-theme="industrial"]{--bg:#e9eaec;--card:#f5f6f7;--line:#d2d5d9;--blue:#b04a2f;--text:#2a2e33}
body[data-theme="ocean"]{--bg:#edf6f9;--blue:#1576a8}
body[data-theme="glass"]{--bg:#eef2fb;--blue:#6c8bd6}
body[data-theme="business"]{--bg:#f2f4f7;--blue:#1e466e}
body[data-theme="tropical"]{--bg:#edf7ee;--blue:#0f9d58}

.auth-card {
  position: relative; background: var(--card);
  border: 1px solid var(--line); border-radius: 14px;
  padding: 2rem 2rem 1.6rem; width: 100%; max-width: 400px;
  box-shadow: 0 10px 30px rgba(20,35,70,.12);
}
.auth-card.wide { max-width: 480px; }
/* 旧霓虹装饰全隐藏 */
.auth-card::before, .auth-card::after, .corner { display: none !important; }

.auth-head { margin: 0 0 1.3rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); text-align: center; }
.auth-head h2 { font-weight: 700; color: var(--text); font-size: 1.35rem; margin: 0; }
.auth-head p { font-size: .85rem; color: var(--muted); margin: .45rem 0 0; }

.form-label { color: var(--text); opacity: .82; font-size: .88rem; font-weight: 600; }
.form-control {
  background: var(--bg); border: 1px solid var(--line); color: var(--text);
  border-radius: 9px; padding: .55rem .8rem;
}
.form-control:focus { background: var(--card); border-color: var(--blue); color: var(--text); box-shadow: 0 0 0 3px rgba(120,140,180,.18); }
.form-control::placeholder { color: var(--faint); }
.form-check-input:checked { background-color: var(--blue); border-color: var(--blue); }
.form-check-label { color: var(--text); opacity: .85; }

.btn-primary { background: var(--blue); border: none; color: #fff; font-weight: 600; border-radius: 9px; padding: .55rem; }
.btn-primary:hover { background: var(--blue); filter: brightness(.92); }
.btn-secondary { background: var(--bg); border: 1px solid var(--line); color: var(--text); font-weight: 500; border-radius: 9px; padding: .55rem; }
.btn-secondary:hover { filter: brightness(.96); }
.btn-outline-primary { border-radius: 9px; border-color: var(--blue); color: var(--blue); }
.btn-outline-primary:hover { background: var(--blue); color: #fff; }
.btn-outline-secondary { border-radius: 9px; }
.alert { font-size: .9rem; border-radius: 9px; }
a { color: var(--blue); }

.qr-container { text-align: center; margin: 1.1rem 0; }
.qr-container img { border-radius: 8px; border: 1px solid var(--line); }
.secret-text {
  font-family: monospace; background: var(--bg); padding: 6px 12px; border-radius: 8px;
  display: inline-block; color: var(--blue); letter-spacing: 2px; border: 1px solid var(--line);
}
