/* Acesso, convite e proteção da conta: uma composição, sem alterar contratos. */
.has-auth-shell .auth-main{align-content:center;gap:var(--ds-space-4);padding:var(--ds-space-6) var(--ds-space-4)}
.has-auth-shell .auth-main>.flash{width:min(100%,520px);margin:0;overflow-wrap:anywhere}
.has-app-shell.ds-access-shell .app-main>.ds-access-card{margin-right:auto;margin-left:auto}
:root[data-theme] .ds-access-card.login-card{width:min(100%,520px);max-width:100%;margin:0;padding:var(--ds-space-6);border:1px solid var(--ds-color-border)!important;border-radius:var(--ds-radius-panel);background:var(--ds-color-surface-raised)!important;box-shadow:var(--ds-shadow-card)!important;text-align:center;overflow-wrap:anywhere}
.ds-access-card.login-card::before{content:none!important;display:none!important}
.ds-access-card .ds-brand-mark{display:block;width:88px;height:88px;margin:0 auto var(--ds-space-5)}
.ds-access-card .auth-brand{display:block;text-align:center}
.ds-access-card.login-card h1{font:750 clamp(28px,3.5vw,36px)/1.12 var(--ds-font-display);letter-spacing:-.045em;color:var(--ds-color-text-strong)}
.ds-access-card .eyebrow{font:800 var(--ds-font-size-label)/1.5 var(--ds-font-sans);letter-spacing:.14em;color:var(--ds-color-action-strong);margin:0 0 var(--ds-space-3)}
.ds-access-card :is(.muted,.auth-brand-subtitle){max-width:none;margin:var(--ds-space-3) 0 0;font:400 var(--ds-font-size-body)/var(--ds-line-height-body) var(--ds-font-sans);color:var(--ds-color-text-muted)}
.ds-access-card form,.ds-access-card :is(.login-fields,.recovery-fields){margin-top:var(--ds-space-5);text-align:left}
.ds-access-card :is(label,.auth-field>label){display:block;margin:var(--ds-space-4) 0;font:700 13px/1.5 var(--ds-font-sans);color:var(--ds-color-text-strong)}
.ds-access-card .auth-field>label{margin:0}
.ds-access-card input:not([type="hidden"]):not([type="checkbox"]){min-height:var(--ds-form-control-height);font-size:15px;line-height:1.5;border-radius:var(--ds-radius-control);width:100%;min-width:0}
.ds-access-card input:focus-visible,.ds-access-card textarea:focus-visible{outline:2px solid var(--ds-color-action);outline-offset:2px;box-shadow:var(--ds-focus-ring)}
.ds-access-card :is(button,.button,.google-auth-button){min-height:var(--ds-form-control-height);border-radius:var(--ds-radius-control);font-size:14px;line-height:1.5;white-space:normal;text-align:center}
.ds-access-card form>button,.ds-access-card :is(.login-fields,.recovery-fields)>button{width:100%;margin-top:var(--ds-space-3)}
.ds-access-card :is(button,.button):hover{transform:none}
.ds-access-card :is(button,a,summary):focus-visible{outline:2px solid var(--ds-color-action);outline-offset:3px}
.ds-access-card :is(.password-toggle,.login-password-toggle){width:36px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;transform:translateY(-50%)!important}
.ds-access-card .password-control{margin-top:7px}
.ds-access-card .password-control input{margin-top:0}
.ds-access-card .google-auth-button{margin-top:var(--ds-space-5)}
.ds-access-card .login-fields .google-auth-button{margin-top:0}
.ds-access-card .recovery-fields>.muted{text-align:center;margin-top:var(--ds-space-4)}
.ds-access-card :is(.login-help,.recovery-fields) a{color:var(--ds-color-action-strong);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.login-form,.recovery-form{width:min(100%,520px);min-width:0}
.login-remember-wrap{display:grid;justify-items:center;gap:5px;margin:18px 0 16px;padding:3px 8px;background:transparent}
.ds-access-card label.login-remember{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:14px;cursor:pointer}
.login-remember input{width:16px;height:16px;margin:0;accent-color:var(--ds-color-action)}
.login-remember-wrap p{margin:0;color:var(--ds-color-text-muted);font-size:11px;line-height:1.4;text-align:center}
.login-turnstile,.recovery-turnstile{display:grid;place-items:center;min-height:65px;margin-top:14px;max-width:100%}
.login-turnstile:empty,.recovery-turnstile:empty{display:none}
.login-help{margin-top:14px;padding-top:13px;border-top:1px solid var(--ds-color-border);color:var(--ds-color-text-muted);font-size:13px}
.login-help summary{color:var(--ds-color-text-strong);cursor:pointer;font-weight:700;list-style-position:inside}
.login-help p{margin:9px 0 0}
.ds-access-card .recovery-codes-actions form{margin:0}
.ds-access-card .totp-qr-panel{margin-top:var(--ds-space-5)}
.ds-access-card :is(.totp-manual-panel,.totp-qr-panel){text-align:left}
.ds-access-card .totp-secret-output label{margin:0}
/* Compactação leve só do login principal; demais telas e controles preservados. */
:root[data-theme] .login-form>.ds-access-card.login-card{padding:var(--ds-space-5) var(--ds-space-6)}
.login-form .ds-access-card .ds-brand-mark{width:72px;height:72px;margin-bottom:var(--ds-space-4)}
.login-form .ds-access-card .eyebrow{margin-bottom:var(--ds-space-2)}
.login-form .ds-access-card .auth-brand-subtitle{margin-top:var(--ds-space-2)}
.login-form .ds-access-card .login-fields{margin-top:var(--ds-space-4)}
.login-form .ds-access-card .google-auth-divider{margin:var(--ds-space-3) 0}
.login-form .ds-access-card .login-fields>label{margin:var(--ds-space-3) 0}
.login-form .login-remember-wrap{margin:var(--ds-space-3) 0;gap:var(--ds-space-1)}
.login-form .login-help{margin-top:var(--ds-space-3);padding-top:var(--ds-space-2)}
@media(max-width:520px){:root[data-theme] .login-form>.ds-access-card.login-card{padding:var(--ds-space-5) var(--ds-space-4)}}
@media(max-width:520px){:root[data-theme] .ds-access-card.login-card{padding:var(--ds-space-5) var(--ds-space-4)}.has-auth-shell .auth-main{align-content:start;padding:var(--ds-space-5) var(--ds-space-3)}.ds-access-card .ds-brand-mark{width:76px;height:76px;margin-bottom:var(--ds-space-4)}.ds-access-card.login-card h1{font-size:28px}.ds-access-card :is(.muted,.auth-brand-subtitle){font-size:15px}}
