:root {
  --bg:#f5f6f8; --card:#ffffff; --text:#1c1f24; --muted:#6b7280; --line:#e3e6ea;
  --brand:#1d4ed8; --brand-text:#ffffff; --ok:#15803d; --no:#b91c1c;
  --flash:#e8f1ff; --error-bg:#fdecec; --trial:#fff7e0;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#101318; --card:#181c22; --text:#e8eaed; --muted:#9aa0a6; --line:#2a3038;
    --brand:#3b82f6; --flash:#16243a; --error-bg:#3a1a1a; --trial:#332a12;
  }
}
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); }
a { color:var(--brand); }
h1 { font-size:24px; margin:0 0 8px; } h2 { font-size:18px; margin:0 0 12px; }

header.top { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center; padding:10px 16px; background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:17px; text-decoration:none; color:var(--text); }
header nav { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
header nav a { padding:6px 10px; border-radius:6px; text-decoration:none; color:var(--text); }
header nav a.on { background:var(--bg); font-weight:600; }
.trial { background:var(--trial); text-align:center; padding:6px 16px; font-size:14px; }

main { max-width:1280px; margin:0 auto; padding:20px 16px 40px; }
footer { text-align:center; color:var(--muted); font-size:13px; padding:20px 16px 30px; }
.muted { color:var(--muted); } small { color:var(--muted); } .center { text-align:center; } .bad { color:var(--no); }

.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px; margin-bottom:16px; }
.narrow { max-width:420px; margin:30px auto; } .narrow-left { max-width:520px; }
.flash { background:var(--flash); padding:10px 14px; border-radius:8px; margin-bottom:14px; }
.error { background:var(--error-bg); padding:10px 14px; border-radius:8px; margin-bottom:14px; }

label { display:block; margin-bottom:12px; font-weight:500; font-size:14px; }
input, select, textarea { display:block; width:100%; margin-top:4px; padding:8px 10px; font:inherit; color:var(--text); background:var(--bg); border:1px solid var(--line); border-radius:6px; }
input[type=checkbox] { width:auto; display:inline; }
td input, td select { margin:0; padding:5px 6px; width:auto; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:0 16px; align-items:end; }
.grid .wide { grid-column:1 / -1; }
.grid button { margin-bottom:12px; }
.row { display:flex; gap:8px; flex-wrap:wrap; }

button, .btn { display:inline-block; border:0; border-radius:6px; padding:8px 14px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; text-align:center; }
button:disabled { opacity:.5; cursor:not-allowed; }
.primary { background:var(--brand); color:var(--brand-text); }
.secondary { background:var(--bg); color:var(--text); border:1px solid var(--line); }
.big { padding:12px 22px; font-size:17px; }
.inline { width:auto; }
td button { display:block; width:100%; margin:2px 0; padding:5px 10px; font-size:13px; color:#fff; }
button.ok { background:var(--ok); color:#fff; } button.no { background:var(--no); color:#fff; }

.table-wrap { overflow-x:auto; background:var(--card); border:1px solid var(--line); border-radius:10px; margin-bottom:16px; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th, td { padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; white-space:nowrap; }
th { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; }
td.why { white-space:normal; min-width:240px; color:var(--muted); }
.empty { text-align:center; color:var(--muted); padding:40px; white-space:normal; }

.toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; }
.tabs a { padding:6px 12px; border-radius:6px; text-decoration:none; color:var(--text); }
.tabs a.on { background:var(--card); border:1px solid var(--line); font-weight:600; }
.checklist ol { margin:0; padding-left:20px; } .checklist li { margin:4px 0; }
.checklist li.done a { text-decoration:line-through; color:var(--muted); }

.hero { text-align:center; padding:40px 0 30px; max-width:720px; margin:0 auto; }
.hero h1 { font-size:36px; line-height:1.2; } .hero p { font-size:18px; }
.hero.small { padding:20px 0; } .hero.small h1 { font-size:30px; }
.steps { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; }
.plans { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:16px; }
.plan.current { border-color:var(--brand); }
.plan .price { font-size:30px; font-weight:700; margin:0 0 6px; }
.plan ul { padding-left:18px; } .plan .btn, .plan button { width:100%; }
.legal { max-width:760px; margin:0 auto; } .legal h2 { margin-top:20px; }

@media (max-width:600px) { .hero h1 { font-size:28px; } }
