.input-error {
    border: 2px solid #ff4d4f;
    /* rojo más luminoso */
    box-shadow: 0 0 5px 1px rgba(255, 77, 79, 0.8);
    /* agregamos resplandor */
    background-color: rgba(255, 77, 79, 0.05);
    /* fondo apenas teñido */
    transition: all 0.3s ease;
}

.error-message {
    color: #ff4d4f;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    padding-left: 2px;
    transition: all 0.3s ease;
}
/* ── Fondo Hero: lavanda suave en modo claro (Opción A) ── */
body:not(.eh) .mf-bg-full {
    background-color: #f5f3ff;
}
/* Efecto de halo del mouse: adaptar al nuevo fondo */
body:not(.eh) .halo-mouse {
    background: radial-gradient(circle, rgba(139, 92, 246, 0.12) 0%, transparent 70%);
}

/* ── Stack tecnológico: logos normalizados ── */
.mf-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 52px;
}

.mf-logo-img {
    width: auto;
    max-width: 130px;
    height: auto;
    max-height: 44px;
    object-fit: contain;
}

/* docassemble tiene logo blanco: invertir en modo claro para que se vea */
body:not(.eh) .mf-logo-invert {
    filter: invert(1) brightness(0.3);
}

/* En modo oscuro todos los logos se aclaran un poco si es necesario */
body.eh .mf-logo-img {
    filter: brightness(1.1);
}

/* Excepción: docassemble (blanco) no necesita ajuste en modo oscuro */
body.eh .mf-logo-invert {
    filter: brightness(1);
}
