*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-error:#dc2626;--color-error-bg:#fee2e2;--color-text:#1e293b;--color-text-light:#64748b;--color-bg:#f1f5f9;--color-card:#ffffff;--color-border:#e2e8f0;--color-input-focus:#2563eb;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px rgba(0,0,0,0.08);--shadow-lg:0 8px 40px rgba(37,99,235,0.12);--transition:0.2s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-card);border-bottom:1px solid var(--color-border);padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(255,255,255,.92)}.header-inner{max-width:960px;margin:0 auto;gap:12px}.header-inner,.logo-icon{display:flex;align-items:center}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),#7c3aed);border-radius:10px;justify-content:center;color:#fff;font-weight:800;font-size:18px;flex-shrink:0}.logo-text{font-size:20px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.logo-text span{color:var(--color-primary)}.hero{text-align:center;padding:24px;max-width:640px;margin:0 auto}.hero h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px;background:linear-gradient(135deg,var(--color-text) 0,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:14px;max-width:480px;margin:0 auto;text-align:left}.form-section{padding:0 24px 64px;max-width:560px;margin:0 auto;width:100%}.form-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;border:1px solid var(--color-border)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:6px}.form-label .required{color:var(--color-error);margin-left:2px}.form-label .optional{color:var(--color-text-light);font-weight:400;font-size:.8rem;margin-left:4px}.form-input,.form-textarea{width:100%;padding:12px 14px;font-size:.95rem;font-family:inherit;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-input.input-error,.form-textarea.input-error{border-color:var(--color-error)}.form-input.input-error:focus,.form-textarea.input-error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.1)}.form-textarea{min-height:100px;resize:vertical}.field-error{font-size:.8rem;color:var(--color-error);margin-top:4px;display:flex;align-items:center;gap:4px}.radio-group{display:flex;flex-direction:column;gap:8px;margin-top:6px}.radio-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition);font-size:.925rem;color:var(--color-text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-option.selected,.radio-option:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.radio-option input[type=radio]{accent-color:var(--color-primary);width:16px;height:16px;cursor:pointer;flex-shrink:0}.radio-other-input{width:100%;padding:10px 14px;font-size:.9rem;font-family:inherit;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition);outline:none;margin-top:8px}.radio-other-input:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.radio-other-input.input-error{border-color:var(--color-error)}.radio-other-input.input-error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.1)}.input-suffix{position:relative}.input-suffix .form-input{padding-right:100px}.input-suffix .suffix-label{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--color-text-light);pointer-events:none}.btn-submit{width:100%;padding:14px 24px;font-size:1rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--color-primary),#4f46e5);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition);margin-top:8px;position:relative}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.alert{padding:14px 16px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px;animation:slideDown .3s ease;justify-content:center;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #bbf7d0}.alert-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #fecaca}.alert-icon{font-size:1.2rem;flex-shrink:0;line-height:1}.footer{margin-top:auto;text-align:center;padding:24px;color:var(--color-text-light);font-size:.8rem;border-top:1px solid var(--color-border)}@media (max-width:640px){.hero{padding:24px 20px}.hero h1{font-size:24px}.form-section{padding:0 16px 48px}.form-card{padding:24px 20px}}