/* Страницы входа, регистрации и согласия (lib/pages.js). Палитра и радиусы — как в index.html хаба (books.mgbot.ru). */
:root {
  --bg:#f1f2f1; --surface:#ffffff; --surface-2:#f2f3f2;
  --border:rgba(44,44,44,.12); --border-strong:rgba(44,44,44,.24);
  --text:#2c2c2c; --muted:rgba(44,44,44,.62); --faint:rgba(44,44,44,.45);
  --accent:#008736; --accent-hover:#13a650; --accent-dim:rgba(0,135,54,.10);
  --accent-line:rgba(0,135,54,.32); --on-accent:#ffffff;
  --danger:#d92c2c; --danger-dim:rgba(217,44,44,.10);
  --r:22px; --r-md:15px; --r-sm:9px;
  --shadow:0 1px 2px rgba(44,44,44,.07);
  --font:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#1a1a1a; --surface:#232323; --surface-2:#2c2c2c;
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.18);
  --text:#f0efeb; --muted:rgba(240,239,235,.62); --faint:rgba(240,239,235,.45);
  --accent:#13a650; --accent-hover:#3fd17b; --accent-dim:rgba(63,209,123,.14);
  --accent-line:rgba(63,209,123,.32); --on-accent:#0f1a12;
  --danger:#ff5c5c; --danger-dim:rgba(255,92,92,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4);
  color-scheme:dark;
}
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text);
       font:15px/1.5 var(--font); -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-hover); }
.auth-wrap { max-width:440px; margin:0 auto; padding:28px 20px 40px; }
.auth-wrap header { margin-bottom:18px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; color:var(--text); }
.brand:hover { color:var(--text); }
.mark { display:block; width:32px; height:32px; flex:none; }
.auth-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
             box-shadow:var(--shadow); padding:28px; }
h1 { font-size:24px; margin:0 0 16px; font-weight:700; }
.muted, .hint { color:var(--muted); }
.hint { display:block; font-size:12px; margin-top:4px; }
.form { margin:0 0 12px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:13px; color:var(--muted); margin-bottom:4px; }
.field input, .field select {
  width:100%; padding:11px 14px; border:1px solid var(--border); border-radius:var(--r-sm);
  background:var(--surface-2); color:var(--text); font:15px var(--font);
}
.field input:focus, .field select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim); }
.check { display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--muted); margin:0 0 12px; cursor:pointer; }
.check input { margin-top:3px; flex-shrink:0; }
.guardian { border:1px solid var(--border); border-radius:var(--r-md); padding:14px; margin:0 0 14px; }
.guardian legend { font-size:13px; font-weight:700; padding:0 6px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px;
       background:var(--surface-2); color:var(--text); border:1px solid var(--border-strong); border-radius:999px;
       font:700 15px var(--font); cursor:pointer; }
.btn-primary { background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
.btn-primary:hover { background:var(--accent-hover); color:var(--on-accent); }
.block { display:flex; width:100%; }
.links { font-size:13px; text-align:center; margin:12px 0 0; }
.divider { display:flex; align-items:center; gap:10px; color:var(--faint); font-size:12px; margin:18px 0; }
.divider::before, .divider::after { content:''; flex:1; height:1px; background:var(--border); }
.yandex { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; border-radius:999px;
          background:#000; color:#fff; font-weight:700; }
.yandex:hover { color:#fff; opacity:.9; }
.yid { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%;
       background:#fc3f1d; color:#fff; font-size:14px; }
.alert { padding:12px 16px; border-radius:var(--r-md); margin:0 0 14px; font-size:14px; }
.alert-info { background:var(--accent-dim); border:1px solid var(--accent-line); }
.alert-error { background:var(--danger-dim); border:1px solid var(--danger); }
.codes { columns:2; list-style:none; padding:0; margin:12px 0 18px; }
.codes li { margin-bottom:6px; }
code { font-family:ui-monospace,Menlo,monospace; font-size:13px; }
.totp-qr { display:flex; justify-content:center; margin:12px 0; }
.totp-qr img { background:#fff; border-radius:var(--r-sm); padding:8px; }
.secret { text-align:center; word-break:break-all; }
footer { text-align:center; font-size:12px; color:var(--faint); margin-top:18px; }
footer a { color:var(--muted); }
