/* Pantallas de acceso (login, registro, recuperación) */
body { background: var(--c-surface); min-height: 100vh; min-height: 100dvh; }
.auth { min-height: 100dvh; display: grid; place-items: center; padding: var(--sp-4); padding-top: calc(var(--sp-4) + var(--safe-t)); }
.auth__card { width: min(440px, 100%); background: var(--c-bg); border-radius: var(--r-lg); box-shadow: var(--shadow-2); padding: var(--sp-6) var(--sp-5); animation: rise var(--t-med) var(--ease); }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } }
.auth__brand { display: flex; align-items: center; gap: var(--sp-2); font-weight: 800; font-size: var(--fs-lg); color: var(--c-brand-text); margin-bottom: var(--sp-5); }
.auth__logo { width: 36px; height: 36px; border-radius: 12px; background: var(--c-brand); color: #fff; display: grid; place-items: center; font-weight: 800; }
.auth__links { display: flex; justify-content: space-between; gap: var(--sp-3); font-size: var(--fs-sm); margin-top: var(--sp-4); }
.auth__links a { font-weight: 600; }
.notice { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); font-size: var(--fs-sm); background: var(--c-brand-50); color: var(--c-brand-text); }
.notice--error { background: #fde6e6; color: var(--c-danger); }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--c-surface); border-radius: var(--r-pill); }
.seg button { border: 0; min-height: 40px; border-radius: var(--r-pill); background: transparent; font: 600 var(--fs-sm) var(--font); color: var(--c-ink-2); cursor: pointer; transition: background var(--t-fast), color var(--t-fast); }
.seg button[aria-pressed="true"] { background: var(--c-bg); color: var(--c-brand-text); box-shadow: var(--shadow-1); }
.linkbtn { background: none; border: 0; padding: 0; color: var(--c-brand-text); font: 600 var(--fs-sm) var(--font); cursor: pointer; text-align: left; }
