:root { --ink:#18212f; --muted:#6c7788; --line:#dbe2ea; --accent:#2166d1; --danger:#c7383c; --surface:#fff; --canvas:#f3f6fa; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--canvas); color:var(--ink); font:16px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.shell { width:min(100% - 32px, 620px); margin:64px auto; }
.brand { color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:8px 0 6px; font-size:32px; letter-spacing:-.035em; }
.lead { margin:0 0 28px; color:var(--muted); }
.card { padding:30px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 10px 30px #18212f0a; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { margin-bottom:18px; }
.grid .field { margin-bottom:0; }
label { display:block; margin-bottom:7px; font-size:14px; font-weight:700; }
input, select { display:block; width:100%; border:1px solid #bcc8d6; border-radius:8px; padding:11px 12px; color:var(--ink); background:#fff; font:inherit; outline:none; }
input:focus, select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #2166d11c; }
button { width:100%; margin-top:8px; padding:12px 16px; border:0; border-radius:8px; background:var(--accent); color:white; cursor:pointer; font:700 16px inherit; }
button:hover { background:#1756b6; }
.message { min-height:24px; margin:14px 0 0; font-weight:650; }
.field-message { min-height:20px; margin:6px 0 0; font-size:14px; font-weight:650; }
.error { color:var(--danger); }
.success { color:#227246; }
.button-link { display:inline-block; min-width:180px; margin-top:18px; padding:12px 16px; border-radius:8px; background:var(--accent); color:#fff; font-weight:700; text-decoration:none; }
.button-link:hover { background:#1756b6; }
.choice-section { margin:0 0 22px; padding:0; border:0; }
.choice-section legend { margin-bottom:10px; font-size:16px; font-weight:750; }
.choice-note { margin:-4px 0 12px; color:var(--muted); font-size:14px; }
.choice-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.choice-option { display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 10px; border:1px solid var(--line); border-radius:8px; cursor:pointer; font-size:14px; font-weight:650; }
.choice-option:has(input:checked) { border-color:var(--accent); background:#2166d10d; }
.choice-option input { width:auto; margin:0; accent-color:var(--accent); }
.center { display:grid; min-height:100vh; place-items:center; padding:24px; text-align:center; }
.center h1 { max-width:520px; font-size:40px; }
.admin { width:min(100% - 48px, 960px); margin:54px auto; }
.admin-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.admin button { width:auto; margin:0; font-size:14px; padding:9px 14px; }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:12px; }
table { width:100%; border-collapse:collapse; text-align:left; }
th, td { padding:15px 18px; border-bottom:1px solid var(--line); white-space:nowrap; }
th { color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
tr:last-child td { border-bottom:0; }
.badge { display:inline-block; padding:3px 9px; border-radius:99px; background:#edf1f6; font-size:13px; font-weight:700; }
.badge.yes { background:#fee9ea; color:#a3262b; }.badge.no { background:#e7f6ed; color:#146238; }
@media (max-width:600px) { .shell { margin:30px auto; }.card { padding:22px; }.grid { grid-template-columns:1fr; gap:0; }.choice-grid { grid-template-columns:repeat(2, 1fr); }.admin { width:min(100% - 24px, 960px); margin:26px auto; } }
