body {
    font-family: 'Inter', sans-serif;
}

.validation-summary-errors {
    /* Example: Customize border, background, and text color */
    border: 1px solid #dc3545;
    background-color: #f8d7da;
    color: #721c24;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: .25rem;
}

    .validation-summary-errors ul {
        list-style: none; /* Remove default list bullets */
        padding: 0;
        margin: 0;
    }

    .validation-summary-errors li {
        margin-bottom: 5px;
    }

/* Alternative approach without Tailwind classes */
.field-validation-error {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: var(--bs-form-invalid-color, #dc3545);
    display: block !important;
}

.field-validation-valid {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: var(--bs-form-valid-color, #198754);
    display: block !important;
}

/* Input validation states */
.input-validation-error {
    border-color: var(--bs-form-invalid-border-color, #dc3545) !important;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath d='m5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.input-validation-valid {
    border-color: var(--bs-form-valid-border-color, #198754) !important;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='m2.3 6.73.94-.94 1.93 1.93L8.23 4.65l-.94-.94L4.23 6.77z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/* Password requirements styling - works for both #password-requirements and .password-requirements */
#password-requirements,
.password-requirements {
    margin-bottom: 0;
}

#password-requirements li,
.password-requirements li {
    margin-bottom: 0.25rem;
    transition: color 0.2s ease-in-out;
}

#password-requirements .requirement-icon,
.password-requirements .requirement-icon {
    transition: all 0.2s ease-in-out;
    font-size: 0.875em;
}

#password-requirements .text-success .requirement-icon,
.password-requirements .text-success .requirement-icon {
    color: var(--bs-success) !important;
}

/* Improve password visibility toggle button */
.input-group .btn[title*="Toggle"] {
    border-left: 0;
}

.input-group .form-control + .btn {
    margin-left: -1px;
}
