/* Telas públicas: acesso e nova senha (docs/05 §1). */
.acceso { display: grid; place-items: center; min-height: 100dvh; padding: var(--s4); background: var(--navy); }
.acceso__box {
  width: 100%; max-width: 420px; padding: var(--s6) var(--s5) var(--s5); border-radius: var(--r-lg);
  background: var(--paper); box-shadow: 0 20px 60px rgb(0 0 0 / .45); overflow: hidden;
}
.acceso__box.hazard-top::before { height: 6px; }
.acceso__kicker { font-family: var(--f-cond); font-weight: 700; color: var(--link); }
.acceso__brand { font-family: var(--f-display); font-weight: 400; font-size: 3.25rem; line-height: .95; margin-top: 2px; }
.acceso__brand span { color: var(--orange); -webkit-text-stroke: 0; }
.acceso__lead { margin: var(--s4) 0 var(--s2); color: #374151; }
.acceso form { display: grid; gap: var(--s3); }
.acceso [hidden] { display: none !important; }
.acceso .field { display: grid; gap: 6px; }
.acceso label { font-weight: 600; }
.acceso input[type="email"], .acceso input[type="password"], .acceso input[type="text"], .acceso input[inputmode="numeric"] {
  width: 100%; min-height: 52px; padding: 0 var(--s3); border-radius: var(--r); border: 2px solid var(--ink); background: var(--white); font-size: 1.0625rem;
}
.acceso input[inputmode="numeric"] { font-family: var(--f-cond); font-size: 1.5rem; letter-spacing: .3em; }
.pw { position: relative; }
.pw input { padding-right: 84px !important; }
.pw__toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); min-height: 40px; padding: 0 12px;
  border-radius: var(--r-sm); font-weight: 600; color: var(--link); }
.acceso .btn--primary { margin-top: var(--s2); min-height: 52px; }
.acceso__links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s2); }
.acceso__help { margin-top: var(--s5); font-size: .875rem; color: var(--muted); }
.notice { margin-top: var(--s4); padding: var(--s3) var(--s4); border-radius: var(--r); font-weight: 600; }
.notice--error { background: var(--danger-bg); color: var(--danger-ink); }
.notice--ok { background: var(--ok-bg); color: var(--ok-ink); }
