.lw-acceso {
    --acceso-brand: #142c45;
    --acceso-brand-end: #235e90;
    --acceso-action: #1768b2;
    --acceso-link: #145da0;
    --acceso-soft: #f3f6fa;
    --acceso-ink: #182b40;
    --acceso-muted: #526274;
    --acceso-on-brand: #fff;
    --acceso-on-action: #fff;
    margin: 0;
    color: var(--acceso-ink);
    background: var(--acceso-soft);
}
.lw-acceso-shell { min-height: 100vh; min-height: 100dvh; }
.lw-acceso-wrap { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); min-height: inherit; }
.lw-acceso-brand { display: flex; flex-direction: column; justify-content: space-between; gap: 3rem; padding: 3.5rem clamp(2rem, 6vw, 6rem); color: var(--acceso-on-brand); background: var(--acceso-brand); }
.lw-acceso-logo { display: flex; align-items: center; gap: .65rem; font-size: 1.25rem; font-weight: 700; overflow-wrap: anywhere; }
.lw-acceso-logo .ti { flex: none; font-size: 2rem; }
.lw-acceso-copy { max-width: 30rem; }
.lw-acceso-eyebrow { margin: 0 0 .75rem; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.lw-acceso h1 { margin: 0 0 1rem; color: inherit; font-size: clamp(2.3rem, 3.8vw, 3.4rem); line-height: 1.08; letter-spacing: -.035em; }
.lw-acceso-description { margin: 0; font-size: 1.05rem; line-height: 1.65; }
.lw-acceso-note { display: flex; gap: .4rem; margin: 0; font-size: .85rem; }
.lw-acceso-main { display: grid; place-items: center; min-width: 0; padding: 3rem 2rem; }
.lw-acceso-card { width: 100%; max-width: 28rem; padding: 2.5rem; background: #fff; border-radius: 1rem; box-shadow: 0 1rem 3rem #142c4512; }
.lw-acceso-card .lw-acceso-eyebrow, .lw-acceso-intro, .lw-acceso .form-hint { color: var(--acceso-muted); }
.lw-acceso h2 { margin: 0 0 .65rem; color: var(--acceso-ink); font-size: 1.55rem; line-height: 1.25; letter-spacing: -.02em; }
.lw-acceso-intro { margin: 0 0 1.75rem; line-height: 1.6; }
.lw-acceso .form-label { color: var(--acceso-ink); }
.lw-acceso .form-control { min-height: 44px; border-color: #8090a2; color: var(--acceso-ink); }
.lw-acceso .form-control::placeholder { color: var(--acceso-muted); opacity: 1; }
.lw-acceso .form-control:focus { border-color: var(--acceso-action); }
.lw-acceso .lw-acceso-eye { min-width: 44px; min-height: 44px; padding: .5rem; color: var(--acceso-muted); border: 1px solid #8090a2; background: #fff; }
.lw-acceso-eye .ti { font-size: 1.25rem; }
.lw-acceso .btn-primary { min-height: 44px; color: var(--acceso-on-action); background: var(--acceso-action); border-color: var(--acceso-action); font-weight: 600; }
.lw-acceso .btn-primary:hover { filter: brightness(.94); }
.lw-acceso a { color: var(--acceso-link); text-underline-offset: .2em; }
.lw-acceso a:hover { text-decoration: underline; }
.lw-acceso a:focus-visible, .lw-acceso button:focus-visible, .lw-acceso input:focus-visible { outline: 3px solid var(--acceso-action); outline-offset: 3px; box-shadow: none; }
.lw-acceso-back { margin-top: 1.5rem; text-align: center; }
.lw-acceso-back a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 44px; }
.lw-acceso--tarjeta .lw-acceso-shell { display: grid; align-items: center; padding: 2rem; }
.lw-acceso--tarjeta .lw-acceso-wrap { width: 100%; max-width: 1050px; min-height: 600px; margin: auto; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); overflow: hidden; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 4rem #142c4524; }
.lw-acceso--tarjeta .lw-acceso-brand { padding: 3rem; background: linear-gradient(150deg, var(--acceso-brand), var(--acceso-brand-end)); }
.lw-acceso--tarjeta .lw-acceso-main { padding: 3rem; }
.lw-acceso--tarjeta .lw-acceso-card { padding: 0; border-radius: 0; box-shadow: none; }
@media (max-width: 767.98px) {
    .lw-acceso-wrap { grid-template-columns: minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; grid-template-rows: auto 1fr; }
    .lw-acceso-brand { gap: 1.5rem; padding: 1.5rem; }
    .lw-acceso-logo { font-size: 1.05rem; }
    .lw-acceso-logo .ti { font-size: 1.6rem; }
    .lw-acceso-copy { max-width: none; }
    .lw-acceso h1 { margin: 0; font-size: 1.5rem; }
    .lw-acceso-brand .lw-acceso-eyebrow, .lw-acceso-description, .lw-acceso-note { display: none; }
    .lw-acceso-main { align-items: start; padding: 1.5rem 1rem; }
    .lw-acceso-card { padding: 1.5rem; }
    .lw-acceso h2 { font-size: 1.4rem; }
    .lw-acceso--tarjeta .lw-acceso-shell { padding: 1rem; }
    .lw-acceso--tarjeta .lw-acceso-wrap { min-height: 0; grid-template-columns: minmax(0, 1fr); border-radius: 1rem; }
    .lw-acceso--tarjeta .lw-acceso-brand { padding: 1.5rem; }
    .lw-acceso--tarjeta .lw-acceso-main { padding: 1.5rem; }
}
@media (max-width: 359.98px) {
    .lw-acceso-main { padding: 1rem .75rem; }
    .lw-acceso-card { padding: 1.25rem; }
    .lw-acceso--tarjeta .lw-acceso-shell { padding: .75rem; }
    .lw-acceso--tarjeta .lw-acceso-main, .lw-acceso--tarjeta .lw-acceso-brand { padding: 1.25rem; }
}
