/* Login Astra. Composição editorial + vidro, sem alterar a autenticação. */
.login-astra{--sans:'DM Sans',system-ui,sans-serif;--display:'DM Sans',system-ui,sans-serif;--azul:#005bff;--azul-claro:#0045c6;--azul-link:#bad2ff;--cinza:#bac6db;--cinza-2:#9eafca;--r-campo:7px;--glass-login:rgba(12,23,44,.82);background:#005bff url('../img/astra/quadriculado-20261004.webp') center/cover fixed;color:#f5f7ff}
.login-astra button{font-family:var(--sans)}
.tela{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);min-height:100svh}
.pular-login{position:fixed;top:12px;left:12px;transform:translateY(-180%);background:#fff;color:#151515;padding:12px 20px;z-index:10}.pular-login:focus{transform:none}
/* A foto, o texto e o papel mudam juntos; não há texto de slides sobreposto. */
.lado-azul{position:relative;padding:36px 96px 24px 48px;background:linear-gradient(125deg,#005bff70,#003fb433),#005bff url('../img/astra/azul-papel-hero-20261004.webp') center/cover;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.brand-login{display:block;width:190px;margin-bottom:34px;align-self:flex-start}.brand-login img{width:100%;height:auto;display:block}
.slide-stack{flex:1;display:grid;align-items:center;min-height:590px}
.login-slide{grid-area:1/1;min-width:0;display:flex;flex-direction:column;gap:28px}
.slide-copy{position:relative;z-index:1}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;margin:0 0 18px;color:#e2ebff}
.slide-copy h2{font:700 clamp(48px,4.7vw,82px)/.98 'Barlow Condensed',sans-serif;letter-spacing:-1.1px;max-width:650px;text-transform:uppercase}
.slide-copy h2 em{font-style:normal;color:#c7dcff}
.slide-description{max-width:440px;font-size:14px;line-height:1.7;color:#e2ebff;margin:19px 0 0}
.slide-photo{height:clamp(245px,29vh,350px);margin:0 16px 26px 0;position:relative;border:1px solid #ffffff80;isolation:isolate}
.slide-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;filter:saturate(.82)}
.slide-photo::after{content:'';position:absolute;inset:0;box-shadow:inset 0 -80px 60px -55px #071329b0;pointer-events:none}
.slide-photo figcaption{position:absolute;right:-18px;bottom:-24px;z-index:1;display:flex;gap:17px;align-items:center;background:#fff;color:#17202c;padding:18px 24px;box-shadow:7px 7px 0 #111a2e;transform:rotate(-2deg)}
.slide-photo figcaption>span{font-size:40px;font-weight:400;line-height:1;color:#005bff}
.slide-photo figcaption strong{font:600 25px/1.02 'Barlow Condensed',sans-serif;letter-spacing:-.2px}
.photo-label{position:absolute;top:16px;left:16px;background:#15243bd9;backdrop-filter:blur(8px);color:#f5f7ff;padding:8px 11px;font-size:8px;font-weight:700;letter-spacing:1.1px}
.slide-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px;min-height:44px}
.slide-count{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px}.slide-count>span:last-child{color:#c2d4f5}.count-line{height:1px;width:33px;background:#adc8ff80}
.slide-dots{display:flex;gap:2px}.slide-dots button{position:relative;width:28px;height:44px;background:none;border:0;cursor:pointer}.slide-dots button::after{content:'';position:absolute;height:3px;left:5px;right:5px;top:21px;background:#b7ceff60}.slide-dots button[aria-current=true]::after{background:#fff}
.slide-arrows{display:flex;gap:5px}.slide-arrows button{width:40px;min-height:44px;display:grid;place-items:center;border:1px solid #ffffff30;color:#fff;background:#123c8024;font-size:22px;cursor:pointer}.slide-arrows button:hover{background:#ffffff21}.slide-arrows #pausarSlides{font-size:16px;border-color:transparent}
.brand-rail{position:absolute;right:0;top:0;bottom:0;width:47px;border-left:1px solid #ffffff3b;background:linear-gradient(#0919329e,#0919329e),url('../img/astra/quadriculado-20261004.webp') center/auto 750px;display:flex;align-items:center;justify-content:space-between;padding:44px 0 27px;flex-direction:column}.brand-rail>span{writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:2px}.brand-rail>b{font:700 31px 'DM Sans',sans-serif;letter-spacing:-3px;margin-left:-3px}
/* Leitura estável sobre a textura desfocada. */
.lado-forma{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 52px 68px;background:var(--glass-login);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:inset 1px 0 0 #ffffff12;min-width:0}
.voltar-site{position:absolute;top:36px;right:40px;display:flex;align-items:center;gap:9px;font-size:12px;color:#c3cfe4;font-weight:400;min-height:36px}
.forma{width:100%;max-width:375px}.marca-topo{display:none}.marca-topo img{display:block;width:168px;height:auto}
.acesso-label{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:600;letter-spacing:1.8px;color:#b9cbea;margin:0 0 24px}.acesso-label>span{width:7px;height:7px;background:#70a3ff;border-radius:2px}
.titulo{font-size:40px;line-height:1.08;letter-spacing:-1.7px;font-weight:500}.sub{font-size:13px;line-height:1.7;margin:18px 0 34px;color:#bac6db}
.campo{margin-bottom:22px}.rotulo{font-size:11px;letter-spacing:0;text-transform:none;font-weight:500;color:#e1e8f5;margin-bottom:10px}.campo-topo .rotulo{margin-bottom:10px}.campo-topo a{font-size:11px;font-weight:400;color:#bbd2ff}
.campo input{height:54px;background:rgba(9,19,36,.51);border:1px solid #b0c5e12e;color:#f5f7ff;font-size:13px;border-radius:7px}.campo input:focus{border-color:#8eb8ff;box-shadow:0 0 0 3px #4d8bff20}.campo input::placeholder{color:#95a6c0}.campo input[aria-invalid=true]{border-color:#ff9b9b}
.olho{top:5px;color:#b0bdd1}.olho:hover{background:#ffffff0a}.olho:focus-visible{outline-color:#bad2ff}
.botao{min-height:54px;justify-content:space-between;padding:0 20px;background:#005bff;color:#fff;font-size:13px;letter-spacing:0;text-transform:none;font-weight:600;border-radius:7px;box-shadow:0 5px 20px #00184e35}.botao>span:last-child{font-size:22px;font-weight:400}.botao:hover:not(:disabled){background:#0045c6;transform:none}.botao:disabled{cursor:wait}
.divisor{font-size:11px;color:#a4b4cd;margin:25px 0 20px}.divisor::before,.divisor::after{background:#d1dcf51a}.sociais{display:grid;grid-template-columns:1fr}.sociais .botao-fora{height:49px;border:1px solid #b0c5e12e;background:#ffffff05;color:#e8eefb;font-size:12px;font-weight:500;border-radius:7px}.sociais .botao-fora:hover{background:#ffffff0c;border-color:#b0c5e166}
.rodape-forma{margin-top:28px;text-align:center;font-size:12px;color:#bac6db}.cadastro{margin:0}.cadastro a{font-weight:600}.legal{font-size:10px;line-height:1.8;color:#9eafca;margin:22px auto 0;max-width:315px}.legal a{color:#b8cae6;font-weight:400}
.aviso.ver{margin:0 0 20px;padding:12px 14px;background:#5a223a55;border:1px solid #ffabb34a;color:#ffd5d9;font-size:12px;border-radius:6px}
.login-astra :focus-visible{outline:2px solid #c5dcff;outline-offset:4px}
@media(min-width:1500px){.lado-azul{padding-left:clamp(64px,6vw,130px);padding-right:clamp(106px,8vw,170px)}.slide-copy h2{font-size:82px}.brand-login{width:210px}.slide-photo{height:34vh;max-height:385px}.forma{max-width:395px}.titulo{font-size:44px}.slide-stack{min-height:660px}}
@media(min-width:901px) and (max-height:800px){.lado-azul{padding-top:25px;padding-bottom:18px}.brand-login{width:157px;margin-bottom:22px}.slide-stack{min-height:0}.login-slide{gap:20px}.slide-copy h2{font-size:clamp(43px,4.5vw,64px)}.eyebrow{margin-bottom:12px}.slide-description{font-size:12px;margin-top:14px}.slide-photo{height:220px}.slide-controls{margin-top:16px}.lado-forma{padding-top:82px;padding-bottom:42px}.titulo{font-size:36px}.acesso-label{margin-bottom:17px}.sub{margin-bottom:24px}.campo{margin-bottom:17px}.rodape-forma{margin-top:22px}}
@media(max-width:1100px) and (min-width:901px){.lado-azul{padding-left:30px;padding-right:70px}.lado-forma{padding-left:34px;padding-right:34px}.slide-dots{display:none}.slide-photo figcaption{padding:15px}.slide-photo figcaption strong{font-size:22px}}
@media(max-width:900px){.tela{display:flex;flex-direction:column}.lado-forma{order:0;min-height:100svh;padding:85px 26px 44px;background:rgba(12,23,44,.87);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.marca-topo{display:block;margin-bottom:38px}.voltar-site{right:25px;top:23px}.acesso-label{margin-bottom:19px}.titulo{font-size:36px}.lado-azul{order:1;padding:36px 78px 26px 28px}.brand-login{display:none}.slide-stack{min-height:620px;align-items:start}.slide-copy h2{font-size:62px}.slide-photo{height:270px}.slide-description{font-size:13px}.slide-controls{margin-top:12px}.slide-dots{display:none}.brand-rail{width:38px}.login-astra{background-attachment:scroll}}
@media(max-width:400px){.lado-forma{padding-left:23px;padding-right:23px}.slide-copy h2{font-size:49px}.lado-azul{padding-right:61px;padding-left:23px}.slide-stack{min-height:585px}.slide-photo{height:230px}.slide-photo figcaption{padding:14px 15px;gap:10px}.slide-photo figcaption strong{font-size:21px}.slide-photo figcaption>span{font-size:29px}.photo-label{font-size:7px;left:9px;top:9px}.slide-count{gap:7px}.count-line{width:19px}.slide-arrows{gap:1px}.slide-arrows button{width:36px}}
@media(prefers-reduced-motion:no-preference){.login-slide:not([hidden]) .slide-copy{animation:login-reveal .45s cubic-bezier(.16,1,.3,1) both}.login-slide:not([hidden]) .slide-photo{animation:login-reveal .65s cubic-bezier(.16,1,.3,1) both}@keyframes login-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.login-astra *{animation:none!important;transition:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.lado-forma{background:#13233b}}
@media(prefers-reduced-transparency:reduce){.lado-forma{background:#13233b;backdrop-filter:none;-webkit-backdrop-filter:none}.photo-label{background:#15243b}}

/* Login completo: altura fluida, inclusive em janelas baixas e com zoom. */
.tela { min-height: 100svh; height: auto; align-items: stretch; }
.slide-stack { min-height: 0; }
.login-slide[hidden] { display: none; }
.lado-forma { padding-block: clamp(48px, 7svh, 100px) clamp(24px, 4svh, 68px); }
.lado-azul { padding-block: clamp(20px, 3svh, 36px); }
.slide-photo { height: clamp(160px, 29svh, 350px); }
.slide-copy h2 { font-size: clamp(40px, min(4.7vw, 8svh), 82px); }
.brand-login { margin-bottom: clamp(16px, 3svh, 34px); }
.slide-controls { margin-top: clamp(12px, 2svh, 25px); }
@media (min-width: 901px) and (max-height: 900px) {
  .lado-forma { padding: 48px 34px 20px; }
  .voltar-site { top: 8px; right: 28px; font-size: 11px; min-height: 28px; }
  .forma { max-width: 420px; }
  .acesso-label { margin-bottom: 10px; font-size: 8px; }
  .titulo { font-size: clamp(26px, 4.5svh, 34px); line-height: 1.1; letter-spacing: -1px; }
  .titulo br { display: none; }
  .sub { font-size: 12px; line-height: 1.5; margin: 10px 0 16px; }
  .campo { margin-bottom: 12px; }
  .rotulo, .campo-topo .rotulo { margin-bottom: 6px; }
  .campo input { height: 44px; }
  .olho { top: 0; }
  .botao { min-height: 44px; }
  .divisor { margin: 14px 0 12px; font-size: 10px; }
  .sociais .botao-fora { height: 40px; }
  .rodape-forma { margin-top: 14px; font-size: 11px; }
  .legal { margin-top: 10px; font-size: 9px; line-height: 1.5; }
  .aviso.ver { padding: 8px 12px; margin-bottom: 12px; }
  .lado-azul { padding-top: 20px; padding-bottom: 16px; }
  .brand-login { width: 150px; margin-bottom: 16px; }
  .slide-stack { min-height: 0; }
  .login-slide { gap: 16px; }
  .slide-copy h2 { font-size: clamp(36px, min(4.5vw, 7.5svh), 60px); }
  .eyebrow { font-size: 9px; margin-bottom: 10px; }
  .slide-description { font-size: 12px; line-height: 1.5; margin-top: 12px; }
  .slide-photo { height: clamp(140px, 28svh, 250px); margin-bottom: 16px; }
  .slide-photo figcaption { bottom: -12px; padding: 12px 16px; gap: 10px; }
  .slide-photo figcaption strong { font-size: 22px; }
  .slide-photo figcaption > span { font-size: 28px; }
  .slide-controls { margin-top: 12px; }
  .brand-rail { padding-block: 24px; }
}
@media (max-width: 900px) {
  .lado-forma { height: auto; min-height: 100svh; padding-top: 60px; padding-bottom: 24px; }
  .marca-topo { margin-bottom: 22px; }
  .slide-stack { min-height: 0; }
  .slide-copy h2 { font-size: clamp(36px, 9vw, 62px); }
}
@media (max-width: 900px) and (max-height: 750px) {
  .marca-topo { margin-bottom: 16px; }
  .marca-topo img { width: 130px; }
  .acesso-label { margin-bottom: 12px; }
  .titulo { font-size: 30px; }
  .sub { margin-block: 10px 18px; }
  .campo { margin-bottom: 14px; }
  .campo input { height: 46px; }
  .botao { min-height: 46px; }
  .divisor { margin-block: 16px 12px; }
  .rodape-forma { margin-top: 16px; }
  .legal { margin-top: 12px; }
}

/* Dois provedores sem aumentar a altura do formulário. */
.sociais { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sociais .botao-fora { min-width: 0; }
.sociais button:disabled { opacity: .6; cursor: wait; }

.sociais{grid-template-columns:minmax(0,1fr)}
