:root{--auth-bar:70px;--auth-navy:#082f72;--auth-line:#d5e1e9}.pilot-auth-page{display:block!important;place-items:initial!important}.auth-page,.pilot-auth-page{box-sizing:border-box;height:100dvh;min-height:0!important;margin:0!important;padding:var(--auth-bar) 0 0!important;overflow:hidden!important;background:#edf4f8!important}.auth-unified-topbar{position:fixed;z-index:2000;inset:0 0 auto;height:var(--auth-bar);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,54px);border-bottom:1px solid var(--auth-line);background:rgba(255,255,255,.98);box-shadow:0 3px 16px rgba(16,43,78,.06)}.auth-unified-topbar img{display:block;width:auto;max-width:245px;height:55px;object-fit:contain}.auth-unified-topbar .auth-topbar-action{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:7px 9px 7px 21px;border:1px solid #bfd2e2;border-radius:16px;background:linear-gradient(180deg,#fff,#f0f7fa);box-shadow:0 7px 20px rgba(16,43,78,.09);color:var(--auth-navy);font-size:14px;font-weight:850;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.auth-unified-topbar .auth-topbar-action b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--auth-navy);color:#fff;font-size:18px;line-height:1}.auth-unified-topbar .auth-topbar-action:hover{transform:translateY(-2px);border-color:#0b7896;box-shadow:0 11px 25px rgba(16,43,78,.14)}.auth-unified-topbar .auth-topbar-action:focus-visible{outline:3px solid #b9e5ee;outline-offset:3px}.auth-desktop-layout{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(420px,.65fr);gap:clamp(20px,4vw,64px);align-items:center;width:100%;height:calc(100dvh - var(--auth-bar));padding:clamp(18px,3vh,34px) clamp(22px,4vw,64px)}.auth-desktop-visual{position:relative;align-self:stretch;min-width:0;overflow:hidden;border-radius:24px;background:linear-gradient(90deg,rgba(4,31,72,.9) 0,rgba(4,31,72,.35) 55%,rgba(4,31,72,.08)),url('branding/auth-pilots-hero.png') center/cover no-repeat;box-shadow:0 24px 60px rgba(16,43,78,.16)}.auth-visual-copy{position:absolute;left:clamp(28px,4vw,58px);top:clamp(30px,6vh,75px);max-width:430px;color:#fff}.auth-visual-copy span{display:block;margin-bottom:13px;color:#7ee1eb;font-size:11px;font-weight:900;letter-spacing:.17em}.auth-visual-copy strong{display:block;font-size:clamp(28px,3.2vw,48px);line-height:1.06}.auth-visual-copy p{max-width:380px;font-size:15px;line-height:1.55;color:#dcebf4}.auth-desktop-visual>.supporters-strip{position:absolute;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);bottom:22px;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(4,31,72,.72);backdrop-filter:blur(12px)}.auth-desktop-visual .supporters-label{margin-bottom:7px;color:#dcebf4}.auth-desktop-visual .supporter-item{width:116px;height:50px;border:0}.auth-desktop-visual .supporter-item img{max-height:33px}.auth-page .auth-card,.pilot-auth-page .pilot-auth-card{box-sizing:border-box;width:100%;max-width:500px;max-height:calc(100dvh - var(--auth-bar) - 38px);margin:0 0 0 auto!important;padding:clamp(20px,3vh,30px)!important;overflow:auto;border:1px solid var(--auth-line);border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(16,43,78,.12);scrollbar-width:thin}.auth-brand,.auth-brand-full,.pilot-auth-logo{display:none!important}.auth-heading{margin-bottom:15px}.auth-heading h1,.pilot-auth-card h1{font-size:clamp(25px,3.5vh,34px);line-height:1.08}.auth-page form,.pilot-auth-card form{display:grid;gap:9px}.auth-forgot-link,.pilot-forgot-link,.auth-reset-link,.pilot-back-link,.pilot-auth-switch{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;min-height:40px;margin:0!important;padding:0 13px;border:1px solid #cbdbe5;border-radius:10px;background:#f5f9fb;color:#176b87!important;font-size:11px;font-weight:800;text-align:center!important;text-decoration:none!important}.auth-reset-link,.pilot-auth-switch{margin-top:10px!important;background:#fff}.auth-reset-button{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:10px;background:var(--auth-navy);color:#fff;text-decoration:none;font-weight:800}.auth-page form button,.pilot-auth-card form button{min-height:46px;margin:0}.auth-page .auth-footer,.pilot-privacy{margin-top:8px}.pilot-auth-card>.pilot-back-link{display:none!important}
@media(max-width:850px){:root{--auth-bar:62px}.auth-unified-topbar{padding:0 12px}.auth-unified-topbar img{max-width:180px;height:46px}.auth-unified-topbar .auth-topbar-action{min-height:42px;gap:8px;padding:5px 6px 5px 12px;font-size:10px;border-radius:12px;white-space:nowrap}.auth-unified-topbar .auth-topbar-action b{width:30px;height:30px;border-radius:8px;font-size:15px}.auth-desktop-layout{display:block;height:calc(100dvh - var(--auth-bar));padding:7px}.auth-desktop-visual{display:none}.auth-page .auth-card,.pilot-auth-page .pilot-auth-card{max-width:none;max-height:calc(100dvh - var(--auth-bar) - 14px);height:auto;margin:0!important;padding:14px 13px!important;border-radius:16px}.auth-heading{margin-bottom:9px}.auth-heading h1,.pilot-auth-card h1{margin-top:7px;margin-bottom:8px;font-size:25px}.auth-heading p,.pilot-auth-card>p{margin-top:5px;margin-bottom:9px;line-height:1.4}.auth-page form,.pilot-auth-card form{gap:7px}.auth-page label,.pilot-auth-card label{margin:0}.auth-page input,.pilot-auth-card input{min-height:42px}.auth-page form button,.pilot-auth-card form button{min-height:43px}.pilot-auth-grid{grid-template-columns:1fr 1fr!important;gap:7px}.auth-page .auth-footer,.pilot-privacy{display:none}}
@media(max-width:390px){.auth-unified-topbar img{max-width:155px}.pilot-auth-grid{grid-template-columns:1fr!important}}.pilot-auth-supporters{display:none}@media(max-width:850px){.pilot-auth-page .auth-desktop-layout{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:7px}.pilot-auth-page .pilot-auth-card{max-height:100%;min-height:0}.pilot-auth-supporters{box-sizing:border-box;display:block;width:100%;min-width:0;overflow:hidden;padding:7px 10px 8px;border:1px solid var(--auth-line);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 8px 24px rgba(16,43,78,.09)}.pilot-auth-supporters .supporters-label{margin-bottom:4px;font-size:7px}.pilot-auth-supporters .supporter-item{width:94px;height:39px;padding:4px 7px;border-radius:8px}.pilot-auth-supporters .supporter-item img{max-height:27px}.pilot-auth-supporters .supporters-track{gap:8px}}/* Apoiadores sempre abaixo do formulário da área do piloto */
.pilot-auth-page .auth-desktop-layout{grid-template-rows:minmax(0,1fr) auto}.pilot-auth-page .auth-desktop-visual{grid-column:1;grid-row:1 / span 2}.pilot-auth-page .pilot-auth-card{grid-column:2;grid-row:1;align-self:center}.pilot-auth-supporters{box-sizing:border-box;display:block;grid-column:2;grid-row:2;width:100%;max-width:500px;min-width:0;margin:8px 0 0 auto;padding:8px 11px;overflow:hidden;border:1px solid var(--auth-line);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 8px 24px rgba(16,43,78,.08)}.pilot-auth-supporters .supporters-label{margin-bottom:5px;font-size:8px}.pilot-auth-supporters .supporter-item{width:96px;height:40px;padding:4px 7px;border-radius:8px}.pilot-auth-supporters .supporter-item img{max-height:28px}.pilot-auth-supporters .supporters-track{gap:8px}@media(max-width:850px){.pilot-auth-page .auth-desktop-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:7px}.pilot-auth-page .auth-desktop-visual{display:none}.pilot-auth-page .pilot-auth-card{grid-column:1;grid-row:1;align-self:stretch;width:100%;max-width:none;margin:0!important}.pilot-auth-supporters{grid-column:1;grid-row:2;width:100%;max-width:none;margin:0;padding:7px 10px 8px}}
.pilot-auth-page .auth-desktop-visual>.supporters-strip{display:none!important}
/* PWA: carrossel imediatamente após o formulário */
@media(max-width:850px){.pilot-auth-page{overflow-y:auto!important}.pilot-auth-page .auth-desktop-layout{display:flex!important;height:auto!important;min-height:calc(100dvh - var(--auth-bar));padding:7px!important;flex-direction:column;justify-content:flex-start;gap:7px}.pilot-auth-page .pilot-auth-card{flex:0 0 auto;align-self:auto;max-height:none!important;height:auto!important;overflow:visible!important}.pilot-auth-page .pilot-auth-supporters{flex:0 0 auto;margin:0!important}.pilot-auth-page .pilot-privacy{display:none}}
@media(max-width:850px) and (min-height:760px){.pilot-auth-page .auth-desktop-layout{justify-content:center;min-height:calc(100dvh - var(--auth-bar))}}
/* Apoiadores responsivos: coluna visual no desktop; abaixo do formulario no mobile. */
@media(min-width:851px){
 .pilot-auth-page .auth-desktop-visual>.supporters-strip{display:block!important}
 .pilot-auth-page .pilot-auth-supporters{display:none!important}
}
@media(max-width:850px){
 .pilot-auth-page .auth-desktop-visual>.supporters-strip{display:none!important}
 .pilot-auth-page .pilot-auth-supporters{display:block!important;order:2}
}
/* PWA/mobile: login e apoiadores formam uma unica superficie continua. */
@media(max-width:850px){
 .pilot-auth-page .auth-desktop-layout{box-sizing:border-box!important;display:flex!important;width:100%!important;min-height:0!important;height:auto!important;padding:12px 10px calc(18px + env(safe-area-inset-bottom))!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important}
 .pilot-auth-page .pilot-auth-card{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:18px 16px 16px!important;border:1px solid var(--auth-line)!important;border-bottom-color:#e5edf1!important;border-radius:20px 20px 0 0!important;box-shadow:0 12px 28px rgba(16,43,78,.09)!important}
 .pilot-auth-page .pilot-auth-supporters{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:10px 12px 12px!important;border:1px solid var(--auth-line)!important;border-top:0!important;border-radius:0 0 20px 20px!important;background:#fff!important;box-shadow:0 15px 28px rgba(16,43,78,.09)!important}
 .pilot-auth-page .pilot-auth-supporters .supporters-label{margin:0 0 7px!important;padding:0 4px!important}
 .pilot-auth-page .pilot-auth-supporters .supporters-viewport{padding:0!important}
}
@media(max-width:850px) and (min-height:760px){
 .pilot-auth-page .auth-desktop-layout{justify-content:flex-start!important}
}
/* Cadastro do piloto: campos focados nunca ficam sob a barra fixa. */
@media(max-width:850px){
 .pilot-auth-page .pilot-auth-card input,.pilot-auth-page .pilot-auth-card button,.pilot-auth-page .pilot-auth-card a{scroll-margin-top:calc(var(--unified-mobile-topbar,58px) + env(safe-area-inset-top) + 18px)}
 .pilot-auth-page .auth-desktop-layout{scroll-padding-top:calc(var(--unified-mobile-topbar,58px) + env(safe-area-inset-top) + 18px)}
}
/* Cadastro sempre abre no topo e mantém a primeira seção abaixo do header. */
@media(max-width:850px){
 body.pilot-register-page{scroll-padding-top:calc(var(--unified-mobile-topbar,58px) + env(safe-area-inset-top) + 16px)!important}
 body.pilot-register-page .auth-desktop-layout{position:relative!important;margin-top:0!important;padding-top:14px!important}
 body.pilot-register-page .pilot-auth-card{scroll-margin-top:calc(var(--unified-mobile-topbar,58px) + env(safe-area-inset-top) + 14px)!important}
}
/* Reserva visual para o primeiro campo quando o navegador tenta focalizá-lo. */
@media(max-width:850px){
 body.pilot-register-page .pilot-auth-card form>label:first-of-type input{scroll-margin-top:calc(var(--unified-mobile-topbar,58px) + env(safe-area-inset-top) + 190px)!important}
}/* Cadastro extenso: nunca centralizar um conteúdo maior que o viewport. */
@media(max-width:850px){body.pilot-register-page{display:block!important;place-items:initial!important;align-items:initial!important;justify-items:initial!important}body.pilot-register-page .auth-desktop-layout{display:flex!important;min-height:calc(100dvh - var(--auth-bar))!important;height:auto!important;justify-content:flex-start!important;align-items:stretch!important}body.pilot-register-page .pilot-auth-card{align-self:auto!important;transform:none!important}}/* Carrossel padronizado abaixo dos formulários de autenticação no mobile. */
.auth-flow-supporters{display:none}
@media(max-width:850px){.auth-page{overflow-y:auto!important}.auth-page .auth-desktop-layout{display:flex!important;height:auto!important;min-height:calc(100dvh - var(--auth-bar))!important;padding:10px!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important}.auth-page .auth-card{flex:0 0 auto!important;width:100%!important;max-height:none!important;overflow:visible!important;border-radius:20px 20px 0 0!important}.auth-flow-supporters{box-sizing:border-box;display:block!important;width:100%;padding:10px 12px 12px;border:1px solid var(--auth-line);border-top:0;border-radius:0 0 20px 20px;background:#fff;box-shadow:0 15px 28px rgba(16,43,78,.09)}.auth-flow-supporters .supporters-label{margin:0 0 7px;padding:0 4px;font-size:8px}.auth-flow-supporters .supporter-item{height:48px}}
/* Desktop: o cadastro extenso acompanha exatamente o topo e a altura do banner. */
@media(min-width:851px){body.pilot-auth-page .pilot-auth-card{align-self:start!important}body.pilot-register-page .pilot-auth-card{grid-row:1 / span 2!important;align-self:stretch!important;height:auto!important;min-height:0!important;max-height:none!important}}