/* Corrección para el autocompletado (autofill) de los navegadores */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 50px white inset !important;
    -webkit-text-fill-color: #1e293b !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Asegurar centrado vertical en inputs de login */
#input-usuario,
#input-password {
    display: flex;
    align-items: center;
}

/* Estilos para dbc.Switch (Override Tailwind Reset) */
.form-switch {
    padding-left: 2.5em;
}

.form-switch .form-check-input {
    width: 2.5em;
    height: 1.25em;
    margin-left: -2.5em;
    background-color: #cbd5e1; /* slate-300 */
    border-radius: 2em;
    transition: background-position .15s ease-in-out;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 1%29'/%3e%3c/svg%3e");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
    cursor: pointer;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.form-switch .form-check-input:checked {
    background-position: right center;
    background-color: #1e293b; /* slate-800 */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 1%29'/%3e%3c/svg%3e");
}

.custom-switch-label .form-check-label {
    margin-left: 0.5rem;
    cursor: pointer;
    user-select: none;
    line-height: 1.25em;
    display: inline-block;
    vertical-align: top;
}