.form .form__wrapper{display:flex;flex-direction:column;gap:1.5rem}.form .form__field{display:flex;flex-direction:column;gap:.5rem;position:relative}.form .form__field-header{align-items:center;display:flex;gap:.25rem}.form .form__field-controls{background:#f9fafb;border-radius:6px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem;padding:1rem}.form .form__label{color:var(--label-color,#1f2937);font-size:var(--label-font-size,14px);font-weight:600;margin:0}.form .form__required{color:#ef4444;font-weight:700}.form .form__input,.form .form__select,.form .form__textarea{background:#fff;border:1px solid var(--input-border,#d1d5db);border-radius:6px;font-size:var(--input-font-size,14px);padding:.75rem 1rem;transition:all .2s ease;width:100%}.form .form__input:focus,.form .form__select:focus,.form .form__textarea:focus{border-color:var(--input-focus-border,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form .form__input::-moz-placeholder,.form .form__select::-moz-placeholder,.form .form__textarea::-moz-placeholder{color:#9ca3af}.form .form__input::placeholder,.form .form__select::placeholder,.form .form__textarea::placeholder{color:#9ca3af}.form .form__textarea{min-height:100px;resize:vertical}.form .form__submit{align-self:flex-start;background-color:var(--btn-bg,#3b82f6);border:none;border-radius:6px;color:var(--btn-color,#fff);cursor:pointer;font-size:var(--btn-font-size,16px);font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.form .form__submit:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);opacity:.9;transform:translateY(-2px)}.form .form__submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.form .form__remove{align-items:center;background:rgba(239,68,68,.1);border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:.5rem;top:.5rem;transition:all .2s;width:24px;z-index:10}.form__field:hover .form .form__remove{opacity:1}.form .form__remove:hover{background:rgba(239,68,68,.2);transform:scale(1.1)}.form .form__message{border-radius:6px;font-size:14px;margin-top:1rem;padding:1rem}.form .form__message--success{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.form .form__message--error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}@media(max-width:767px){.form .form__submit{align-self:stretch;width:100%}}
