.beneficiario-area { width: min(100% - 2rem, 1100px); margin: 2rem auto 4rem; color: #15357a; }
.beneficiario-area h1 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: .5rem; }
.beneficiario-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.beneficiario-tabs a { color: #15357a; text-decoration: none; border: 1px solid #bfd0e8; background: #fff; border-radius: 999px; padding: .55rem .9rem; font-weight: 600; }
.beneficiario-tabs a:hover, .beneficiario-tabs a:focus { background: #e9f3ff; }
.beneficiario-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.beneficiario-card { padding: 1.5rem; border: 1px solid #d6e1ee; border-radius: 1rem; background: #fff; box-shadow: 0 .4rem 1.2rem rgba(21,53,122,.06); }
.beneficiario-card h2 { font-size: 1.1rem; margin-bottom: 1rem; }
.beneficiario-card strong { font-size: 1.3rem; }
.beneficiario-card a { font-weight: 700; }
.beneficiario-card dl { margin-bottom: 0; }
.beneficiario-card dt { color: #607394; font-size: .8rem; margin-top: .6rem; }
.beneficiario-card dd { margin: 0; }
.beneficiario-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: .75rem; }
.beneficiario-details div { border: 1px solid #d6e1ee; border-radius: .8rem; padding: 1rem; background: #fff; }
.beneficiario-details dt { color: #607394; font-size: .85rem; }
.beneficiario-details dd { margin: .25rem 0 0; font-weight: 600; overflow-wrap: anywhere; }
.beneficiario-digital-card { position: relative; container-type: inline-size; width: min(100%, 660px); aspect-ratio: 660 / 480; overflow: hidden; color: #fff; background: #fff; border: 2px solid #d5dcd8; border-radius: 1.7rem; box-shadow: 0 .8rem 2rem rgba(21,53,122,.1); }
.carteirinha-ondas { position: absolute; inset: 0; width: 100%; height: 100%; }
.carteirinha-logo { position: absolute; top: 12%; left: 8%; width: 63%; height: 42%; object-fit: contain; }
.carteirinha-identificacao { position: absolute; top: 61%; bottom: 3%; left: 3%; width: 50%; display: flex; flex-direction: column; justify-content: space-between; gap: .2rem; text-transform: uppercase; font-size: clamp(.66rem, 2.2cqw, .94rem); font-weight: 800; letter-spacing: .06em; line-height: 1.15; }
.carteirinha-pessoa, .carteirinha-dado { display: grid; gap: .2rem; }
.carteirinha-rotulo { font-weight: 800; }
.carteirinha-nome { padding-left: 3%; font-size: clamp(.8rem, 3.1cqw, 1.32rem); line-height: 1.05; overflow-wrap: anywhere; }
.carteirinha-dado strong { padding-left: 3%; font-size: clamp(.7rem, 2.5cqw, 1rem); }
.carteirinha-referencia { display: flex; flex-wrap: wrap; gap: .25rem .6rem; padding-left: 3%; font-size: clamp(.56rem, 1.55cqw, .7rem); font-weight: 700; letter-spacing: 0; }
.carteirinha-beneficios { position: absolute; top: 68%; right: 2.5%; bottom: 4%; width: 30%; display: flex; flex-direction: column; justify-content: space-between; gap: .5rem; text-align: left; font-size: clamp(.62rem, 2.45cqw, 1.03rem); font-weight: 850; line-height: 1.32; letter-spacing: .05em; }
.carteirinha-beneficios span { text-align: right; font-size: clamp(.55rem, 1.9cqw, .82rem); line-height: 1.15; }
.carteirinha-situacao { margin-top: .75rem; font-size: .9rem; }
@media (max-width: 520px) {
  .beneficiario-digital-card { border-radius: 1rem; }
  .carteirinha-identificacao { top: 59%; width: 52%; gap: .1rem; }
  .carteirinha-beneficios { top: 69%; right: 2%; width: 32%; }
}
.login-password-wrap { position: relative; }
.login-field .login-password-wrap input { padding-right: 3.4rem; }
.login-password-toggle { position: absolute; top: 50%; right: .35rem; transform: translateY(-50%); display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; color: #607394; background: transparent; border: 0; border-radius: .4rem; cursor: pointer; }
.login-password-toggle:hover, .login-password-toggle.is-visible { color: #15357a; background: #edf3fb; }
.login-password-toggle:focus-visible { outline: 2px solid #15357a; outline-offset: 1px; }
.login-password-toggle svg { width: 1.25rem; height: 1.25rem; }
.portal-navbar-beneficiario .portal-navbar-inner { display: flex; flex-wrap: wrap; align-items: center; }
.portal-navbar-beneficiario .navbar-collapse { display: flex !important; flex: 1 1 auto; flex-direction: row; align-items: center; justify-content: flex-end; padding: 0; }
.portal-navbar-beneficiario .portal-nav-actions { align-self: auto; margin: 0 0 0 auto; width: auto; }
@media (max-width: 767.98px) {
  .portal-navbar-beneficiario .navbar-collapse { flex-basis: 100%; }
  .portal-navbar-beneficiario .portal-nav-actions { width: 100%; flex-wrap: wrap; margin-left: 0; }
}
