:root{--ink:#1b1f24;--muted:#5c6773;--line:#e3e7ec;--brand:#0f6fff;--bg:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,"Noto Sans",sans-serif;color:var(--ink);background:var(--bg)}
header.top{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--line)}
header nav a,header nav button{margin-inline-start:1rem;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.brand{font-weight:700;color:var(--brand)}main{max-width:900px;margin:2rem auto;padding:0 1.25rem}
.card{border:1px solid var(--line);border-radius:10px;padding:1.25rem;margin-block:1rem}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.5rem 1rem;border-radius:8px;border:0;font:inherit;cursor:pointer;text-decoration:none}
.btn.secondary{background:#eef2f7;color:var(--ink)}form label{display:block;margin-block:.75rem .25rem}
input,select{width:100%;padding:.5rem;border:1px solid var(--line);border-radius:8px;font:inherit}
.messages{list-style:none;padding:0}.messages li{padding:.5rem 1rem;border-radius:8px;background:#eef6ff;margin-block:.5rem}
.messages li.error{background:#ffecec}table{width:100%;border-collapse:collapse}td,th{text-align:start;padding:.5rem;border-bottom:1px solid var(--line)}
.muted{color:var(--muted)}footer{text-align:center;color:var(--muted);padding:2rem}
