  :root {
    --bg:#0f172a; --panel:#1e293b; --line:#334155; --ink:#e2e8f0;
    --muted:#94a3b8; --accent:#38bdf8; --accent-ink:#082f49; --danger:#f87171; --ok:#4ade80;
  }
  * { box-sizing:border-box; }
  body { margin:0; font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; background:var(--bg); color:var(--ink); }
  .wrap { max-width:460px; margin:0 auto; padding:48px 20px 80px; }
  .wide { max-width:820px; }
  h1 { font-size:24px; margin:0 0 4px; }
  .sub { color:var(--muted); margin:0 0 24px; }
  .card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:22px; margin-bottom:16px; }
  label { display:block; font-size:13px; color:var(--muted); margin:12px 0 4px; }
  input[type=email],input[type=password],input[type=text],textarea {
    width:100%; padding:10px; border-radius:8px; border:1px solid var(--line); background:#0b1220; color:var(--ink); font:inherit;
  }
  input:focus,textarea:focus { outline:2px solid var(--accent); border-color:transparent; }
  button, .btn { font:inherit; cursor:pointer; border-radius:8px; border:1px solid var(--line); background:#0b1220; color:var(--ink); padding:10px 16px; text-decoration:none; display:inline-block; }
  button.primary { background:var(--accent); color:var(--accent-ink); border:none; font-weight:700; width:100%; padding:12px; margin-top:16px; }
  .google { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:10px; padding:11px; }
  .muted { color:var(--muted); font-size:13px; }
  a { color:var(--accent); }
  .err { color:var(--danger); background:#3f1d1d; border:1px solid #7f1d1d; border-radius:8px; padding:10px 12px; margin-bottom:12px; font-size:14px; }
  .ok { color:var(--ok); background:#14321f; border:1px solid #166534; border-radius:8px; padding:10px 12px; margin-bottom:12px; font-size:14px; }
  .divider { text-align:center; color:var(--muted); font-size:12px; margin:14px 0; }
  table { border-collapse:collapse; width:100%; font-size:14px; }
  th,td { border:1px solid var(--line); padding:8px 10px; text-align:left; }
  th { background:#0b1220; color:var(--muted); }
  .row { display:flex; gap:8px; align-items:center; }
