/* FormValidation CSS */
.fv-plugins-framework {
    position: relative;
}

.fv-plugins-framework .fv-plugins-icon {
    border-radius: 50%;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.fv-plugins-framework .fv-plugins-icon-check {
    background-color: #28a745;
    color: #fff;
}

.fv-plugins-framework .fv-plugins-icon-close {
    background-color: #dc3545;
    color: #fff;
}

.fv-plugins-framework .fv-invalid-row .form-control,
.fv-plugins-framework .was-validated .form-control:invalid {
    border-color: #dc3545;
}

.fv-plugins-framework .fv-invalid-row .form-control:focus,
.fv-plugins-framework .was-validated .form-control:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.fv-plugins-framework .fv-invalid-feedback {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545;
}

.fv-plugins-framework .fv-valid-row .form-control,
.fv-plugins-framework .was-validated .form-control:valid {
    border-color: #28a745;
}

.fv-plugins-framework .fv-valid-row .form-control:focus,
.fv-plugins-framework .was-validated .form-control:valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.fv-plugins-framework .fv-valid-feedback {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #28a745;
}

/* RTL Support */
[dir="rtl"] .fv-plugins-framework .fv-plugins-icon {
    right: auto;
    left: 10px;
} 