*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f8fafc;color:#0f172a;line-height:1.6;-webkit-font-smoothing:antialiased}.fd-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:48px 16px 80px}.fd-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0f172a0f,0 8px 24px #0f172a14;padding:48px;width:100%;max-width:640px}.fd-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.fd-logo-mark{width:40px;height:40px;background:linear-gradient(135deg,#6366f1,#1e1b4b);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fd-logo-mark svg{width:22px;height:22px;fill:#fff}.fd-brand-name{font-size:20px;font-weight:700;color:#1e1b4b;letter-spacing:-.3px}.fd-title-section{border-bottom:1px solid #E2E8F0;padding-bottom:28px;margin-bottom:32px}.fd-title{font-size:26px;font-weight:700;color:#0f172a;letter-spacing:-.5px;line-height:1.2;margin-bottom:8px}.fd-subtitle{font-size:15px;color:#64748b;line-height:1.55}.fd-form{display:flex;flex-direction:column;gap:20px}.fd-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fd-field{display:flex;flex-direction:column;gap:6px}.fd-label{font-size:13px;font-weight:600;color:#374151;letter-spacing:.01em}.fd-required{color:#6366f1;margin-left:2px}.fd-hint{font-size:12px;color:#94a3b8;margin-top:4px}.fd-input,.fd-select,.fd-textarea{width:100%;font-family:inherit;font-size:14px;color:#0f172a;background:#fff;border:1.5px solid #E2E8F0;border-radius:8px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;outline:none;-webkit-appearance:none}.fd-input::placeholder,.fd-textarea::placeholder{color:#cbd5e1}.fd-input:hover,.fd-select:hover,.fd-textarea:hover{border-color:#cbd5e1}.fd-input:focus,.fd-select:focus,.fd-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.fd-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.fd-textarea{resize:vertical;min-height:100px;line-height:1.6}.fd-section-divider{display:flex;align-items:center;gap:12px;margin:8px 0 4px}.fd-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;white-space:nowrap}.fd-section-line{flex:1;height:1px;background:#f1f5f9}.fd-alert{display:flex;align-items:flex-start;gap:10px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:12px 14px;font-size:13.5px;color:#dc2626;line-height:1.4}.fd-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 24px;margin-top:8px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-family:inherit;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;letter-spacing:.01em;transition:opacity .15s ease,transform .1s ease,box-shadow .15s ease;box-shadow:0 2px 8px #6366f14d}.fd-submit:hover{opacity:.92;box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.fd-submit:active{opacity:1;transform:translateY(0);box-shadow:0 1px 4px #6366f133}.fd-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.fd-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0}.fd-success-icon{width:64px;height:64px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 4px 16px #10b9814d}.fd-success-icon svg{width:30px;height:30px;stroke:#fff;stroke-width:2.5;fill:none}.fd-success-title{font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.4px;margin-bottom:10px}.fd-success-text{font-size:15px;color:#64748b;line-height:1.6;max-width:340px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.fd-card{padding:28px 20px;border-radius:12px}.fd-row{grid-template-columns:1fr}.fd-title{font-size:22px}}
