@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#3b82f6;--accent-hover:#2563eb;--accent-focus:#3b82f666;--border-color:#334155;--error-color:#ef4444;--success-color:#10b981;--font-family:"Inter", -apple-system, sans-serif;--radius-md:.5rem;--radius-lg:1rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-primary);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#1e293b,#0f172a);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}#root{width:100%}.app-container{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 0;display:flex}.form-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:var(--shadow-lg);padding:2.5rem;position:relative;overflow:hidden}.form-wrapper:before{content:"";background:linear-gradient(90deg,#3b82f6,#8b5cf6,#3b82f6) 0 0/200% 100%;height:4px;animation:5s infinite gradientFlow;position:absolute;top:0;left:0;right:0}@keyframes gradientFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.form-header{text-align:center;margin-bottom:2.5rem}.form-header h2{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:.5rem;font-size:1.85rem;font-weight:700}.form-header p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.form-row{gap:1.5rem;margin-bottom:1.5rem;display:flex}.form-group{flex-direction:column;flex:1;margin-bottom:1.5rem;display:flex}.input-wrapper{position:relative}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;transition:color .2s;display:block}.form-control{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);padding:.75rem 1rem;font-size:1rem;transition:all .2s}.form-control::placeholder{color:var(--text-muted)}.form-control:hover{border-color:#475569}.form-control:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-focus);outline:none}.form-control:focus+.form-label,.input-wrapper:focus-within .form-label{color:var(--accent-primary)}textarea.form-control{resize:vertical;min-height:120px}.select-wrapper{position:relative}.select-wrapper:after{content:"▼";color:var(--text-secondary);pointer-events:none;font-size:.7rem;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}select.form-control{appearance:none;padding-right:2.5rem}.error-message{color:var(--error-color);margin-top:.5rem;font-size:.8rem;animation:.2s slideDown}.form-control.has-error{border-color:var(--error-color)}.form-control.has-error:focus{box-shadow:0 0 0 3px #ef444433}.submit-btn{background-color:var(--accent-primary);color:#fff;border-radius:var(--radius-md);width:100%;font-size:1.05rem;font-weight:600;font-family:var(--font-family);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.875rem 1.5rem;transition:all .2s;display:flex}.submit-btn:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.submit-btn:active{transform:translateY(0)}.submit-btn:focus{box-shadow:0 0 0 3px var(--accent-focus);outline:none}.submit-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.success-message{border:1px solid var(--success-color);color:var(--success-color);border-radius:var(--radius-md);text-align:center;background-color:#10b9811a;margin-bottom:1.5rem;padding:1rem;font-weight:500;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.form-row{flex-direction:column;gap:0}.form-wrapper{padding:1.5rem}}
