/* Acción Republicana — pantallas de acceso */
.auth-wrap { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }

.auth-aside {
    position: relative; overflow: hidden; padding: var(--space-6) var(--space-5);
    background: linear-gradient(160deg, var(--ar-navy) 0%, var(--ar-azul-deep) 70%, #0c1f3d 100%);
    color: #fff; display: flex; align-items: center;
}
.auth-aside__grid {
    position: absolute; inset: 0; opacity: .5;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 56px 56px; mask-image: radial-gradient(70% 70% at 30% 30%, #000, transparent 75%);
}
.auth-aside__star { position: absolute; bottom: -60px; right: -50px; width: 300px; color: var(--ar-dorado); opacity: .12; }
.auth-aside__content { position: relative; max-width: 420px; }
.auth-aside__content .brand { margin-bottom: var(--space-5); }
.auth-aside h2 { color: #fff; font-size: clamp(1.6rem, 1rem + 1.8vw, 2.3rem); margin-bottom: var(--space-2); }
.auth-aside p { color: rgba(255,255,255,.74); }
.auth-aside__list { margin-top: var(--space-4); display: grid; gap: .9rem; }
.auth-aside__list li { display: flex; align-items: center; gap: .7rem; color: rgba(255,255,255,.88); font-size: .95rem; }
.auth-aside__list svg { width: 18px; height: 18px; color: var(--ar-dorado); flex-shrink: 0; }

.auth-main { display: flex; align-items: center; justify-content: center; padding: var(--space-5); background: var(--ar-crema); }
.auth-card { width: 100%; max-width: 430px; }
.auth-card__back { font-size: .85rem; color: var(--color-ink-soft); display: inline-flex; align-items: center; gap: .4rem; margin-bottom: var(--space-4); }
.auth-card__back:hover { color: var(--color-primary); }
.auth-card h1 { font-size: 1.9rem; margin-bottom: .4rem; }
.auth-card > p { margin-bottom: var(--space-4); }
.auth-card form { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-sm); }
.auth-foot { text-align: center; margin-top: var(--space-3); font-size: .92rem; color: var(--color-ink-soft); }
.auth-foot a { color: var(--color-primary); font-weight: 700; }
.auth-demo { margin-top: var(--space-3); font-size: .8rem; background: rgba(201,169,97,.12); border: 1px dashed var(--ar-dorado); border-radius: var(--radius-sm); padding: .8rem 1rem; color: #8a6d23; }

@media (max-width: 880px) {
    .auth-wrap { grid-template-columns: 1fr; }
    .auth-aside { display: none; }
}
