:root { --bg:#f6f7f9; --card:#fff; --text:#1c1e21; --muted:#6b7280; --line:#e2e5ea; --accent:#2563eb; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#14161a; --card:#1d2025; --text:#e8eaed; --muted:#9aa1ab; --line:#2f343b; --accent:#5b8def; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif; }
main { max-width:720px; margin:6vh auto; padding:0 16px; }
main.wide { max-width:1000px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:24px; }
h1 { font-size:1.4rem; margin:0 0 16px; }
label { display:block; font-size:.9rem; color:var(--muted); margin:14px 0 4px; }
input[type=text], input[type=email], input[type=password], textarea {
  width:100%; padding:10px; border:1px solid var(--line); border-radius:8px;
  background:transparent; color:var(--text); font:inherit; }
input[type=file] { width:100%; padding:64px 12px; border:2px dashed var(--line); border-radius:10px; background:transparent; color:var(--text); }
button { margin-top:18px; padding:10px 18px; border:0; border-radius:8px; background:var(--accent); color:#fff; font:inherit; cursor:pointer; }
button:disabled { opacity:.6; cursor:default; }
button.link { margin:0; padding:0; background:none; color:var(--accent); }
button.danger { background:none; color:#dc2626; padding:0; margin:0; }
progress { width:100%; margin-top:14px; }
.cf-turnstile { margin-top:16px; }
.msg { padding:10px 14px; border-radius:8px; margin-bottom:14px; }
.ok  { background:#16a34a22; color:#16a34a; }
.err { background:#dc262622; color:#dc2626; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th, td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:500; }
a { color:var(--accent); }
.muted { color:var(--muted); }
.top { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.top h1 { margin:0; }
[hidden] { display:none !important; }
