/* TAL-VISUAL-004 — logo oficial + corrección de overflow mobile */
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
.auth-layout, .auth-form-panel, .auth-card, .auth-card form, .auth-field { min-width: 0; max-width: 100%; }
.auth-form-panel { width: 100%; }
.auth-card { box-sizing: border-box; }
.auth-field input, .auth-submit { box-sizing: border-box; max-width: 100%; }

.auth-logo-image {
    width: 104px;
    height: 104px;
    border-radius: 0;
    object-fit: contain;
    background: transparent;
}
.auth-brand.has-official-logo { gap: 0; }
.auth-brand.has-official-logo .auth-brand-name { display: none; }

@media (max-width: 860px) {
    .auth-form-panel { padding: 14px; }
    .auth-card { width: 100%; max-width: 520px; }
    .auth-card-head .auth-mobile-brand { margin-bottom: 1.25rem; }
    .auth-logo-image { width: 96px; height: 96px; }
}

@media (max-width: 520px) {
    .auth-form-panel { padding: 10px; }
    .auth-card {
        width: 100%;
        max-width: calc(100vw - 20px);
        margin: 0 auto;
        padding: 1.15rem 1rem 1.25rem;
        border-radius: 18px;
    }
    .auth-card h1 { font-size: clamp(1.7rem, 8vw, 2rem); }
    .auth-card-subtitle { max-width: 100%; }
    .auth-field input {
        width: 100%;
        min-width: 0;
        padding-left: .9rem;
        padding-right: .9rem;
    }
    .auth-secondary { padding-left: .25rem; padding-right: .25rem; }
}
