.form-progress-wrap{margin-bottom:36px;padding:20px 24px;background:rgba(15,23,42,.4);border:1px solid rgba(59,130,246,.12);border-radius:16px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards formProgressReveal}@keyframes formProgressReveal{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.9rem;color:#94a3b8}.form-progress-label span:last-child{font-weight:600;color:#93c5fd;font-variant-numeric:tabular-nums;transition:color .3s}.form-progress-bar{height:8px;background:rgba(59,130,246,.1);border-radius:8px;overflow:hidden;position:relative}.form-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4,#6366f1);background-size:200% 100%;border-radius:8px;width:0%;max-width:100%!important;min-width:0;transition:width .6s cubic-bezier(.34, 1.56, .64, 1);position:relative;box-sizing:border-box}.form-progress-fill::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0,transparent 100%);border-radius:8px 8px 0 0}.form-input-wrap{position:relative}.form-input-wrap input,.form-input-wrap select,.form-input-wrap textarea{padding-right:44px!important}.form-input-wrap:has(textarea) textarea{padding-bottom:36px!important}.form-input-wrap .char-count{position:absolute;right:14px;bottom:14px;font-size:.75rem;color:#64748b;font-variant-numeric:tabular-nums;transition:color .3s}.form-input-wrap .char-count.valid{color:#22c55e}.form-input-wrap .char-count.warning{color:#f59e0b}.form-input-wrap .char-count.max{color:#ef4444}.form-input-wrap .field-indicator{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s,transform .3s}.form-input-wrap .field-indicator.valid{opacity:1;color:#22c55e}.form-input-wrap .field-indicator.invalid{opacity:1;color:#ef4444}.form-input-wrap:has(textarea){position:relative}.form-input-wrap:has(textarea) .field-indicator{top:18px;right:14px;transform:none}.form-input-wrap:has(textarea) .char-count{bottom:14px;right:14px}.form-group{position:relative}.form-container-enhanced{background:rgba(15,23,42,.5);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid rgba(59,130,246,.12);box-shadow:0 32px 64px -12px rgba(0,0,0,.5),0 0 0 1px rgba(59,130,246,.05),inset 0 1px 0 rgba(255,255,255,.04)}.form-container-enhanced .form-group input,.form-container-enhanced .form-group select,.form-container-enhanced .form-group textarea{transition:.35s cubic-bezier(.34, 1.56, .64, 1)}.form-container-enhanced .form-group input:focus,.form-container-enhanced .form-group select:focus,.form-container-enhanced .form-group textarea:focus{border-color:rgba(59,130,246,.6);box-shadow:0 0 0 3px rgba(59,130,246,.12),0 4px 16px rgba(59,130,246,.15)}.form-section .btn-primary.form-submit,.form-submit.form-submit-animated{width:100%;padding:18px 36px;font-size:1.1rem;font-weight:600;letter-spacing:.03em;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#3b82f6 0,#2563eb 45%,#1d4ed8 100%);background-size:200% 200%;box-shadow:0 8px 32px rgba(59,130,246,.4),0 0 0 1px rgba(255,255,255,.1) inset;transition:.45s cubic-bezier(.34, 1.56, .64, 1);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.form-section .btn-primary.form-submit::before,.form-submit.form-submit-animated::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25) 0,transparent 50%);opacity:0;transition:opacity .35s}.form-section .btn-primary.form-submit:hover,.form-submit.form-submit-animated:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(59,130,246,.5),0 0 0 1px rgba(255,255,255,.15) inset;background-position:100% 50%}.form-section .btn-primary.form-submit:hover::before,.form-submit.form-submit-animated:hover::before{opacity:1}.form-section .btn-primary.form-submit:active,.form-submit.form-submit-animated:active{transform:translateY(-2px)}.form-submit-animated.sending{pointer-events:none;opacity:.9}.form-submit-animated.sending::after{content:'';position:absolute;width:22px;height:22px;right:24px;top:50%;margin-top:-11px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.8s linear infinite formSubmitSpin}@keyframes formSubmitSpin{to{transform:translateY(-50%) rotate(360deg)}}.form-group label .required-dot{color:#ef4444;margin-left:2px}