:root{--page-bg:#f3f4f6;--card-bg:#fff;--card-border:#0f172a14;--text-main:#334155;--text-strong:#0f172a;--text-soft:#64748b;--input-bg:#fff;--input-border:#dbe3ee;--input-focus:#2563eb;--button-bg:#111827;--button-hover:#1f2937;--toggle-bg:#eef2f7;--toggle-active-bg:#fff;--toggle-border:#dbe3ee;--success-bg:#ecfdf5;--success-text:#166534;--success-border:#bbf7d0;--error-bg:#fef2f2;--error-text:#b91c1c;--error-border:#fecaca;--shadow:0 20px 50px #0f172a14}[data-theme=dark]{--page-bg:#0f172a;--card-bg:#111827;--card-border:#ffffff0f;--text-main:#d1d5db;--text-strong:#f8fafc;--text-soft:#94a3b8;--input-bg:#0f172a;--input-border:#334155;--input-focus:#60a5fa;--button-bg:#2563eb;--button-hover:#1d4ed8;--toggle-bg:#0f172a;--toggle-active-bg:#1e293b;--toggle-border:#334155;--success-bg:#22c55e1f;--success-text:#86efac;--success-border:#86efac40;--error-bg:#ef44441f;--error-text:#fca5a5;--error-border:#fca5a540;--shadow:0 20px 50px #00000059}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text-main);margin:0;font-family:Arial,Helvetica,sans-serif;transition:background .2s,color .2s}.page{justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.form-shell{width:100%;max-width:760px}.form-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:22px;padding:32px;transition:background .2s,border-color .2s}.form-topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.eyebrow{color:var(--input-focus);letter-spacing:.03em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.form-heading{color:var(--text-strong);margin:0 0 8px;font-size:30px;line-height:1.2}.form-description{color:var(--text-soft);margin:0;font-size:15px;line-height:1.6}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--toggle-border);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px;transition:all .2s;display:inline-flex}.toggle-label{color:var(--text-soft);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.toggle-label.active{background:var(--toggle-active-bg);color:var(--text-strong)}.registration-form{flex-direction:column;gap:20px;display:flex}.grid.two-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{flex-direction:column;display:flex}.field-label{color:var(--text-main);margin-bottom:8px;font-size:14px;font-weight:600}.required{color:#dc2626}.form-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:12px;outline:none;padding:14px 15px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.form-input::placeholder{color:var(--text-soft)}.form-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 4px #2563eb1f}.input-error{border-color:#dc2626}.field-error{color:#dc2626;margin:8px 0 0;font-size:13px}.feedback-message{border-radius:12px;margin-bottom:20px;padding:14px 16px;font-size:14px;font-weight:500}.feedback-message.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.feedback-message.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.form-actions{padding-top:6px}.submit-button{background:var(--button-bg);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 18px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.submit-button:hover{background:var(--button-hover);transform:translateY(-1px)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (width<=960px){.page{padding:28px 18px}.form-shell{max-width:820px}.form-card{border-radius:20px;padding:28px 24px}.form-topbar{gap:14px}.form-heading{font-size:28px}.form-description{font-size:14px}.grid.two-columns{gap:16px}}@media (width<=768px){.page{padding:18px}.form-card{border-radius:18px;padding:22px 18px}.form-topbar{flex-direction:column;align-items:stretch}.form-heading{font-size:24px}.grid.two-columns{grid-template-columns:1fr;gap:20px}.theme-toggle{align-self:flex-start}}@media (width<=480px){.page{padding:16px 12px}.form-shell{max-width:100%}.form-card{border-radius:16px;padding:20px 16px}.eyebrow{font-size:12px}.form-heading{font-size:22px}.form-description{font-size:14px}.toggle-label{padding:7px 10px;font-size:12px}.form-input{padding:13px 14px;font-size:14px}.submit-button{padding:13px 16px;font-size:14px}}
