.feedback-btn{align-items:center;background:#4d49da;border:none;border-radius:50%;bottom:80px;box-shadow:0 4px 16px rgba(0,0,0,.18);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:28px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s;width:56px;z-index:1000}.feedback-btn:hover{background:#4d49da;transform:scale(1.1) rotate(8deg)}.feedback-btn svg{fill:none;height:22px;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:22px}.modal-overlay{align-items:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;opacity:0;padding:1rem;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:1001}.modal-overlay.active{opacity:1;visibility:visible}.modal-card{background:#fff;border-radius:20px;box-shadow:0 24px 48px rgba(0,0,0,.18);max-width:420px;opacity:0;overflow:hidden;transform:translateY(24px) scale(.97);transition:transform .4s cubic-bezier(.34,1.4,.64,1),opacity .3s ease;width:100%}.modal-overlay.active .modal-card{opacity:1;transform:translateY(0) scale(1)}.modal-header{align-items:flex-start;display:flex;justify-content:space-between;padding:24px 24px 0}.modal-header h2{color:#111;font-size:18px;font-weight:600;margin:0}.modal-header p{color:#777;font-size:13px;margin:4px 0 0}.close-btn{align-items:center;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:50%;color:#888;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;line-height:1;transition:background .15s,color .15s;width:32px}.close-btn:hover{background:#eaeaea;color:#333}.form-body{display:flex;flex-direction:column;gap:14px;padding:20px 24px 24px}.field-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.field{position:relative}.field input,.field textarea{background:#fafafa;border:1.5px solid #e0e0e0;border-radius:10px;box-sizing:border-box;color:#111;font-family:inherit;font-size:14px;outline:none;padding:20px 14px 8px;resize:none;transition:border-color .2s,background .2s;width:100%}.field textarea{min-height:96px;padding-top:22px}.field label{color:#aaa;font-size:14px;left:14px;pointer-events:none;position:absolute;top:14px;transition:top .18s,font-size .18s,color .18s}.field input:focus,.field textarea:focus{background:#fff;border-color:#4d49da}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{color:#4d49da;font-size:10px;top:6px}.field.invalid input,.field.invalid textarea{background:#fff8f8;border-color:#e24b4a}.field.invalid label{color:#e24b4a}.field.invalid input:focus+label,.field.invalid input:not(:placeholder-shown)+label,.field.invalid textarea:focus+label,.field.invalid textarea:not(:placeholder-shown)+label{color:#e24b4a}.err{color:#e24b4a;display:none;font-size:11px;margin-top:4px;padding-left:2px}.field.invalid .err{display:block}.char-count{color:#aaa;font-size:11px;margin-top:4px;text-align:right;user-select:none}.submit-btn{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:13px;transition:background .2s,transform .15s;width:100%}.submit-btn,.submit-btn:hover{background:#4d49da}.submit-btn:active{transform:scale(.98)}.submit-btn.loading{opacity:.75;pointer-events:none}.spinner{animation:spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:none;height:16px;width:16px}.submit-btn.loading .spinner{display:block}.submit-btn.loading .btn-label{display:none}.success-view{display:none;padding:36px 24px;text-align:center}.success-icon-wrap{align-items:center;background:#eaf3de;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto 18px;width:60px}.success-icon-wrap svg{fill:none;height:28px;stroke:#4d49da;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;width:28px}.success-view h3{color:#111;font-size:17px;font-weight:600;margin:0 0 6px}.success-view p{color:#777;font-size:13px;line-height:1.6}.close-success-btn{background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;font-family:inherit;font-size:13px;margin-top:20px;padding:9px 24px;transition:background .15s}.close-success-btn:hover{background:#eaeaea}.stagger>*{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.modal-overlay.active .stagger>:first-child{opacity:1;transform:none;transition-delay:.06s}.modal-overlay.active .stagger>:nth-child(2){opacity:1;transform:none;transition-delay:.12s}.modal-overlay.active .stagger>:nth-child(3){opacity:1;transform:none;transition-delay:.18s}.modal-overlay.active .stagger>:nth-child(4){opacity:1;transform:none;transition-delay:.24s}.modal-overlay.active .stagger>:nth-child(5){opacity:1;transform:none;transition-delay:.3s}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.field.shake input,.field.shake textarea{animation:shake .35s ease}