.form-field-valid input,.form-field-valid textarea,.form-field-valid select{border-color:#28a745 !important;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2328a745" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>');background-repeat:no-repeat;background-position:right 0.75rem center;background-size:1.25rem;padding-right:2.5rem;}.form-field-valid input:focus,.form-field-valid textarea:focus,.form-field-valid select:focus{border-color:#20c997 !important;box-shadow:0 0 0 3px rgba(40,167,69,0.1) !important;}.form-field-invalid input,.form-field-invalid textarea,.form-field-invalid select{border-color:#dc3545 !important;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23dc3545" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>');background-repeat:no-repeat;background-position:right 0.75rem center;background-size:1.25rem;padding-right:2.5rem;animation:shake 0.3s ease-in-out;}.form-field-invalid input:focus,.form-field-invalid textarea:focus,.form-field-invalid select:focus{border-color:#e74c3c !important;box-shadow:0 0 0 3px rgba(220,53,69,0.1) !important;}.field-error-message{display:block;font-size:0.875rem;font-weight:500;color:#dc3545;margin-top:0.35rem;animation:slideInDown 0.25s ease-out;}.form-validating{opacity:0.6;pointer-events:none;}.form-validating input,.form-validating textarea,.form-validating select,.form-validating button{cursor:wait;}.form-toast{position:relative;display:block;padding:0.875rem 1rem;margin-bottom:1rem;border-radius:0.375rem;font-size:0.9375rem;animation:slideInDown 0.3s ease-out;}.form-toast.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;}.form-toast.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;}.form-toast.warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404;}.form-toast.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460;}@keyframes shake{0%,100%{transform:translateX(0);}10%,30%,50%,70%,90%{transform:translateX(-2px);}20%,40%,60%,80%{transform:translateX(2px);}}@keyframes slideInDown{from{opacity:0;transform:translateY(-0.5rem);}to{opacity:1;transform:translateY(0);}}.form-group{margin-bottom:1.25rem;position:relative;}.form-group label{display:block;margin-bottom:0.375rem;font-weight:500;color:#2c3e50;font-size:0.9375rem;}.form-group label.required::after{content:'*';color:#dc3545;margin-left:0.25rem;}.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.75rem;font-size:1rem;border:1px solid #bcc3cc;border-radius:0.375rem;transition:border-color 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease;}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,0.1);}.form-text{display:block;margin-top:0.35rem;font-size:0.875rem;color:#6c757d;}.form-group.has-success .form-text{color:#28a745;}.form-group.has-error .form-text{color:#dc3545;}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:0.65;}.form-group input[readonly],.form-group textarea[readonly],.form-group select[readonly]{background-color:#f8f9fa;cursor:default;}@media (max-width:576px){.form-group{margin-bottom:1rem;}.form-group label{font-size:0.875rem;}.form-group input,.form-group textarea,.form-group select{font-size:16px;padding:0.875rem 0.75rem;}.field-error-message{font-size:0.8125rem;}}.form-group input::placeholder,.form-group textarea::placeholder{color:#adb5bd;opacity:1;}.form-progress-validation{position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,#007bff,#0056b3);border-radius:2px;animation:progress 1s ease-in-out infinite;}@keyframes progress{0%{width:0%;}50%{width:70%;}100%{width:100%;}}.form-with-modal .form-group input,.form-with-modal .form-group textarea,.form-with-modal .form-group select{transition:border-color 0.15s ease,box-shadow 0.15s ease;}.validation-tooltip{display:none;position:absolute;z-index:10;width:100%;padding:0.5rem 0.75rem;margin-top:0.25rem;font-size:0.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:0.375rem;bottom:-2.5rem;left:0;}.form-field-invalid .validation-tooltip{display:block;}.form-group.is-loading::after{content:'';position:absolute;right:0.75rem;top:50%;width:1rem;height:1rem;margin-top:-0.5rem;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:spin 0.8s linear infinite;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.is-invalid{border-color:#dc3545 !important;}.is-valid{border-color:#28a745 !important;}.invalid-feedback,.valid-feedback{display:block;margin-top:0.25rem;font-size:0.875rem;}.invalid-feedback{color:#dc3545;}.valid-feedback{color:#28a745;}