body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--border);flex-wrap:wrap}
a{color:var(--accent)}.brand{text-decoration:none}
.registration-card{width:calc(100% - 32px);max-width:640px;margin:40px auto;padding:24px;background:white;border:1px solid var(--border);box-shadow:var(--shadow)}
h1{font-size:24px;margin-top:0}p{color:var(--muted)}
.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
input,select,button{font:inherit;border:1px solid var(--border);border-radius:8px;padding:10px}
input{width:100%;min-width:0}button{background:var(--accent);color:white;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #629afa;outline-offset:2px}
#registration-status{min-height:24px;overflow-wrap:anywhere;color:#a32929}
@media(max-width:520px){.registration-fields{grid-template-columns:1fr}.registration-card{padding:18px;margin:20px auto}.topbar{padding:16px}button[type=submit]{width:100%}}
