.login-page {min-height:100svh;display:grid;place-items:center;padding:clamp(16px,4vw,40px);box-sizing:border-box;}
.login-container {width:min(100%,440px);}
.login-brand {display:block;text-align:center;margin:0 auto 24px;color:var(--tinta-forte);text-decoration:none;}
.login-brand img {display:block;width:220px;max-width:85%;height:auto;margin:0 auto 10px;}
.login-brand span {font-size:.95rem;color:var(--tinta-suave);}
.login-container .cartao-form {margin:0;padding:clamp(22px,5vw,32px);}
.login-container .titulo-form {font-size:1.65rem;margin:0 0 8px;}
.login-intro {margin:0 0 24px;color:var(--tinta-suave);line-height:1.5;}
.login-container form > button[type=submit] {width:100%;min-height:46px;}
.login-password {position:relative;display:block;}
.login-password input {padding-right:85px;}
.login-password button {position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;color:var(--verde-brand);border:0;padding:8px;font:inherit;font-size:.82rem;cursor:pointer;}
.login-password button:focus-visible,.login-ajuda summary:focus-visible {outline:2px solid var(--verde-brand);outline-offset:3px;}
.login-ajuda {margin-top:20px;border-top:1px solid var(--borda-suave);padding-top:18px;line-height:1.5;}
.login-ajuda summary {cursor:pointer;color:var(--verde-brand);font-weight:600;}
.login-ajuda p,.login-ajuda li {font-size:.88rem;color:var(--tinta-suave);}
.login-ajuda ul {padding-left:20px;}
.login-suporte {display:inline-flex;padding:10px 14px;border:1px solid var(--verde-brand);border-radius:var(--raio-sm);color:var(--verde-brand);font-weight:600;text-decoration:none;}
.login-container [hidden] {display:none !important;}
.login-container label {display:block;font-weight:600;margin-bottom:16px;}
.login-container input {display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid var(--borda-suave);border-radius:var(--raio-sm);background:#fff;color:var(--tinta-forte);font:inherit;font-weight:400;}
.login-container .login-password input {padding-right:85px;}
.login-container input:focus {outline:2px solid var(--verde-brand);outline-offset:1px;}
.login-container form > button[type=submit] {background:var(--verde-brand);color:#fff;border:0;border-radius:var(--raio-sm);font:inherit;font-weight:700;cursor:pointer;}
.login-container form > button[type=submit]:disabled {opacity:.65;cursor:wait;}
