/* Patrimo Invest 7.7 — Telas de acesso (entrar, criar conta, recuperar senha) com vitrine animada.
   Somente tokens (var(--…)), prefixo pt-auth / pt-stage. Sem !important. Cores só via tokens.
   Seletores por ID (#login-screen) porque o contêiner é gerado pelo index.html.
   A vitrine usa data-theme="dark" para ficar sempre escura, qualquer que seja o tema do app.
   Todos os números da vitrine são fictícios. */
#login-screen.pt-auth{position:fixed;inset:0;z-index:9000;display:flex;overflow:auto;background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:22px;-webkit-font-smoothing:antialiased}
#login-screen.pt-auth *{box-sizing:border-box}
#login-screen.pt-auth .pt-auth__shell{display:grid;grid-template-columns:minmax(380px,540px) minmax(0,1fr);width:100%;min-height:100%}
#login-screen.pt-auth .pt-auth__card{position:relative;display:flex;flex-direction:column;justify-content:center;padding:max(var(--space-8),env(safe-area-inset-top)) var(--space-8) max(var(--space-8),env(safe-area-inset-bottom));background:var(--surface-1);border-right:1px solid var(--border-subtle)}
#login-screen.pt-auth .pt-auth__card>*{width:100%;max-width:404px;margin-left:auto;margin-right:auto}
#login-screen.pt-auth .pt-auth__brand{display:flex;align-items:center;gap:var(--space-3);margin-top:0;margin-bottom:var(--space-6)}
#login-screen.pt-auth .pt-auth__logo{width:40px;height:40px;border-radius:var(--radius-md);display:block}
#login-screen.pt-auth .pt-auth__brand b{display:block;font-size:20px;line-height:22px;font-weight:700;letter-spacing:0;color:var(--text-primary)}
#login-screen.pt-auth .pt-auth__brand span{display:block;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text)}
/* Abas */
#login-screen.pt-auth .pt-auth__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;margin:0 0 var(--space-6);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
#login-screen.pt-auth .auth-tab-btn{min-height:var(--target-min,44px);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
#login-screen.pt-auth .auth-tab-btn:hover{color:var(--text-primary)}
#login-screen.pt-auth .auth-tab-btn.on{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-1)}
#login-screen.pt-auth .auth-tab-btn:focus-visible, #login-screen.pt-auth .pt-auth__link:focus-visible, #login-screen.pt-auth .pt-auth__links button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
/* Cabeçalho do modo */
#login-screen.pt-auth .pt-auth__head h2{margin:0 0 var(--space-1);font-size:22px;line-height:28px;font-weight:700;letter-spacing:0;color:var(--text-primary)}
#login-screen.pt-auth .pt-auth__head p{margin:0 0 var(--space-5);color:var(--text-secondary)}
/* Seções (a classe é regravada por setAuthMode: auth-section / auth-section show) */
#login-screen.pt-auth .auth-section{display:none}
#login-screen.pt-auth .auth-section.show{display:block}
/* Campos */
#login-screen.pt-auth .pt-auth__field{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--space-4)}
#login-screen.pt-auth .pt-auth__field label, #login-screen.pt-auth .pt-auth__field>label{font-size:13px;line-height:18px;font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0}
#login-screen.pt-auth .pt-auth__field .field-hint{font-weight:400;color:var(--text-muted);margin-left:var(--space-1)}
#login-screen.pt-auth .pt-auth__labelrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
#login-screen.pt-auth .pt-auth__input{width:100%;height:var(--target-min,44px);min-height:var(--target-min,44px);padding:0 var(--space-3);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;box-shadow:none}
#login-screen.pt-auth .pt-auth__input::placeholder{color:var(--text-muted)}
#login-screen.pt-auth .pt-auth__input:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--border-strong)}
/* Manter conectado */
#login-screen.pt-auth .pt-auth__remember{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-5);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);font-weight:600}
#login-screen.pt-auth .pt-auth__remember input{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--action)}
#login-screen.pt-auth .pt-auth__remember small{display:block;margin-top:2px;font-size:12px;line-height:18px;font-weight:400;color:var(--text-secondary)}
/* Ações */
#login-screen.pt-auth .pt-auth__actions, #login-screen.pt-auth .pt-auth__entry{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-4)}
#login-screen.pt-auth .pt-auth__actions .pt-btn, #login-screen.pt-auth .pt-auth__entry .pt-btn{width:100%;height:var(--target-min,44px)}
#login-screen.pt-auth .pt-auth__secondary{margin:0 0 var(--space-3);text-align:center;color:var(--text-secondary)}
#login-screen.pt-auth .pt-auth__link{display:inline;padding:0;border:0;background:transparent;color:var(--brand-text);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:0}
#login-screen.pt-auth .pt-auth__links{text-align:center}
#login-screen.pt-auth .pt-auth__links button{padding:var(--space-2);border:0;background:transparent;color:var(--text-secondary);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:var(--target-min,44px)}
/* Valores padrão das variáveis que o script define por elemento (style="--x:…") */
#login-screen.pt-auth{--i:0}
#login-screen.pt-auth .ps-call{--x:50%;--y:50%;--k:0}
#login-screen.pt-auth .ps-view{--ox:50%;--oy:50%}
/* Ícones */
.pt-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Senha com botão de mostrar/ocultar (também usado no cadastro em etapas) */
#login-screen.pt-auth .pt-auth__pw{position:relative}
#login-screen.pt-auth .pt-auth__pw .pt-auth__input{padding-right:84px}
.pt-auth__eye,.signup-pw__eye{position:absolute;top:0;right:0;bottom:0;min-width:76px;padding:0 var(--space-3);border:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:transparent;color:var(--brand-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pt-auth__eye:hover,.signup-pw__eye:hover{color:var(--text-primary)}
.pt-auth__eye:focus-visible,.signup-pw__eye:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
/* Entrar com Google / Apple */
#login-screen.pt-auth .pt-auth__social{display:grid;gap:var(--space-3);margin-bottom:var(--space-5)}
#login-screen.pt-auth .pt-auth__social[hidden]{display:none}
#login-screen.pt-auth .pt-social{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:0 var(--space-4);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
#login-screen.pt-auth .pt-social:hover{background:var(--surface-2)}
#login-screen.pt-auth .pt-social:active{transform:translateY(1px)}
#login-screen.pt-auth .pt-social:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
#login-screen.pt-auth .pt-social svg{flex:none}
#login-screen.pt-auth .pt-social__soon{display:none;position:absolute;right:var(--space-3);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-secondary);font-size:11px;line-height:18px;font-weight:600;letter-spacing:.02em}
#login-screen.pt-auth .pt-social[data-state="soon"] .pt-social__soon{display:inline-block}
#login-screen.pt-auth .pt-auth__divider{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-1);color:var(--text-muted);font-size:12px;line-height:16px}
#login-screen.pt-auth .pt-auth__divider::before,#login-screen.pt-auth .pt-auth__divider::after{content:"";flex:1;height:1px;background:var(--border-subtle)}
/* Segurança */
#login-screen.pt-auth .pt-auth__sec{margin-top:var(--space-5);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
#login-screen.pt-auth .pt-auth__sec summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-4);font-weight:600;color:var(--text-primary);cursor:pointer;list-style:none}
#login-screen.pt-auth .pt-auth__sec summary::-webkit-details-marker{display:none}
#login-screen.pt-auth .pt-auth__sec summary::after{content:"+";margin-left:auto;font-size:18px;color:var(--text-muted)}
#login-screen.pt-auth .pt-auth__sec[open] summary::after{content:"\2212"}
#login-screen.pt-auth .pt-auth__sec summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-md)}
#login-screen.pt-auth .pt-auth__sec-ico{position:relative;flex:none;width:16px;height:18px;border:2px solid var(--brand-ui);border-radius:var(--radius-xs) var(--radius-xs) 10px 10px}
#login-screen.pt-auth .pt-auth__sec-ico::after{content:"";position:absolute;left:3px;top:2px;width:4px;height:7px;border:solid var(--brand-ui);border-width:0 2px 2px 0;transform:rotate(40deg)}
#login-screen.pt-auth .pt-auth__sec ul{margin:0;padding:0 var(--space-4) var(--space-4);list-style:none;display:grid;gap:var(--space-2)}
#login-screen.pt-auth .pt-auth__sec li{position:relative;padding-left:var(--space-5);font-size:13px;line-height:20px;color:var(--text-secondary)}
#login-screen.pt-auth .pt-auth__sec li::before{content:"";position:absolute;left:2px;top:6px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--positive-bg);border:2px solid var(--positive)}
#login-screen.pt-auth .pt-auth__sec li b{color:var(--text-primary);font-weight:600}
#login-screen.pt-auth .pt-auth__trustline{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-4);color:var(--text-muted);font-size:12px;line-height:16px}
#login-screen.pt-auth .pt-auth__trustline span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:var(--radius-pill);background:var(--positive);vertical-align:1px}
#login-screen.pt-auth .pt-auth__foot{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-4);margin-top:var(--space-4);margin-bottom:0;font-size:12px;line-height:16px}
#login-screen.pt-auth .pt-auth__foot a,#login-screen.pt-auth .pt-auth__legal a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}
#login-screen.pt-auth .pt-auth__foot a{padding:var(--space-2) 0}
#login-screen.pt-auth .pt-auth__foot a:hover,#login-screen.pt-auth .pt-auth__legal a:hover{color:var(--text-primary)}
#login-screen.pt-auth .pt-auth__legal{margin-top:0;margin-bottom:var(--space-4);font-size:12px;line-height:18px;color:var(--text-muted);text-align:center}
#login-screen.pt-auth .pt-auth__legal--social{display:none}
#login-screen.pt-auth[data-auth-mode="create"] .pt-auth__legal--social{display:block}
/* Criar conta */
#login-screen.pt-auth .pt-auth__benefits{display:grid;gap:var(--space-2);margin:0 0 var(--space-2);padding:0;list-style:none;color:var(--text-secondary)}
#login-screen.pt-auth .pt-auth__benefits li{position:relative;padding-left:var(--space-8)}
#login-screen.pt-auth .pt-auth__benefits li::before{content:"";position:absolute;left:3px;top:4px;width:14px;height:14px;border-radius:var(--radius-pill);background:var(--positive-bg);border:2px solid var(--positive)}
#login-screen.pt-auth .pt-auth__benefits li::after{content:"";position:absolute;left:8px;top:7px;width:3px;height:6px;border:solid var(--positive);border-width:0 2px 2px 0;transform:rotate(40deg)}
#login-screen.pt-auth .pt-auth__note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--info-bg);border:1px solid var(--border-subtle);border-left:3px solid var(--info);border-radius:var(--radius-sm);color:var(--text-primary)}
#login-screen.pt-auth .pt-auth__note b{display:block;font-weight:600}
#login-screen.pt-auth .pt-auth__note small,#login-screen.pt-auth .pt-auth__note p{display:block;margin:2px 0 0;font-size:13px;line-height:20px;color:var(--text-secondary)}
#login-screen.pt-auth .pt-auth__hidden{display:none}
/* Mensagem de estado (classe regravada: '', 'ok', 'err') */
#login-screen.pt-auth #login-status{margin:0 auto}
#login-screen.pt-auth .patrimo-resend-slot-v772{margin-top:var(--space-2);margin-bottom:var(--space-2)}
#login-screen.pt-auth .patrimo-resend-slot-v772[hidden]{display:none}
#login-screen.pt-auth #login-status.ok, #login-screen.pt-auth #login-status.err{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);font-weight:500}
#login-screen.pt-auth #login-status.ok{background:var(--positive-bg);color:var(--text-primary);border-left:3px solid var(--positive)}
#login-screen.pt-auth #login-status.err{background:var(--negative-bg);color:var(--text-primary);border-left:3px solid var(--negative)}

#login-screen.pt-auth .pt-auth__card>*{margin-left:auto;margin-right:auto}

/* ================= Vitrine (capturas das telas reais, conta de demonstração) ================= */
#login-screen.pt-auth .pt-auth__stage{position:sticky;top:var(--space-4);align-self:start;display:flex;flex-direction:column;gap:var(--space-4);height:calc(100dvh - var(--space-8));min-height:620px;margin:var(--space-4);padding:0 0 var(--space-4);overflow:hidden;isolation:isolate;background:var(--canvas);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}
#login-screen.pt-auth .pt-stage__bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
#login-screen.pt-auth .pt-stage__bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:44px 44px;opacity:.35;mask-image:radial-gradient(ellipse at 60% 40%,var(--canvas),transparent 75%)}
#login-screen.pt-auth .pt-stage__bg i{position:absolute;width:520px;height:520px;border-radius:var(--radius-pill);filter:blur(30px);opacity:.55}
#login-screen.pt-auth .pt-stage__bg i:nth-child(1){top:-180px;right:-120px;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand-gold) 30%,transparent),transparent)}
#login-screen.pt-auth .pt-stage__bg i:nth-child(2){bottom:-220px;left:-140px;background:radial-gradient(closest-side,color-mix(in srgb,var(--chart-2) 32%,transparent),transparent)}
#login-screen.pt-auth .pt-stage__bg i:nth-child(3){top:38%;left:42%;width:340px;height:340px;background:radial-gradient(closest-side,color-mix(in srgb,var(--chart-3) 22%,transparent),transparent)}
@keyframes ps-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-40px,30px,0) scale(1.12)}}
/* Texto de abertura */
#login-screen.pt-auth .pt-stage__intro{padding:var(--space-6) var(--space-10) 0;max-width:640px}
#login-screen.pt-auth .pt-stage__kicker{margin:0 0 var(--space-2);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-text)}
#login-screen.pt-auth .pt-stage__title{text-wrap:balance;margin:0 0 var(--space-3);font-size:34px;line-height:40px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}
#login-screen.pt-auth .pt-stage__title em{font-style:normal;color:var(--brand-text)}
#login-screen.pt-auth .pt-stage__lead{margin:0;font-size:15px;line-height:24px;color:var(--text-secondary)}
/* Palco: a captura ocupa a largura toda e o que sobrar de altura corta a parte de baixo da tela */
#login-screen.pt-auth .pt-stage__deck{position:relative;flex:1 1 auto;min-height:300px;margin:0 var(--space-10);perspective:1400px}
#login-screen.pt-auth .pt-stage__slides{position:absolute;inset:0;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform var(--duration-slow) var(--ease-standard);transform-style:preserve-3d}
#login-screen.pt-auth .ps-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(28px) scale(.985);transition:opacity .45s var(--ease-standard),transform .45s var(--ease-standard),visibility 0s linear .45s}
#login-screen.pt-auth .ps-slide.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
#login-screen.pt-auth .ps-win{display:flex;flex-direction:column;height:100%;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);overflow:hidden}
#login-screen.pt-auth .ps-win__bar{display:flex;align-items:center;gap:6px;padding:0 var(--space-3);height:34px;flex:none;background:var(--surface-2);border-bottom:1px solid var(--border-subtle);font-size:12px;line-height:16px;color:var(--text-secondary)}
#login-screen.pt-auth .ps-win__bar i{width:9px;height:9px;border-radius:var(--radius-pill);background:var(--border-strong);opacity:.6}
#login-screen.pt-auth .ps-win__bar span{margin-left:var(--space-2);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#login-screen.pt-auth .ps-win__bar em{margin-left:auto;flex:none;font-style:normal;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--info-bg);color:var(--info);font-size:11px;font-weight:600}
#login-screen.pt-auth .ps-win__body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;container-type:size;background:var(--canvas)}
/* a caixa da imagem mantém a proporção 1400x902; o que passar da altura é cortado embaixo e as legendas (em % da imagem) continuam no lugar certo */
#login-screen.pt-auth .ps-view{position:absolute;left:0;top:0;width:max(100cqw,calc(100cqh * 1.5521));aspect-ratio:1400/902;transform-origin:var(--ox) var(--oy)}
#login-screen.pt-auth .ps-live{position:absolute;left:0;top:0;width:1400px;height:902px;transform:scale(var(--ps-k,.5));transform-origin:0 0;overflow:hidden;pointer-events:none;user-select:none;background:var(--canvas);color:var(--text-primary)}
#login-screen.pt-auth .ps-live__off{margin:0;padding:var(--space-8);font-size:28px;line-height:40px;color:var(--text-secondary)}
#login-screen.pt-auth .ps-call:not([data-placed]){visibility:hidden}
#login-screen.pt-auth .ps-modal-layer{position:absolute;left:0;top:0;width:100%;height:100%}
/* Legendas sobre elementos reais da tela */
#login-screen.pt-auth .ps-call{position:absolute;left:var(--x);top:var(--y);z-index:2;width:0;height:0;pointer-events:none}
#login-screen.pt-auth .ps-call__ring{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand-gold) 35%,transparent);border:2px solid var(--brand-gold)}
#login-screen.pt-auth .ps-call__ring::after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-pill);border:2px solid var(--brand-gold);opacity:0}
#login-screen.pt-auth .ps-call__tip{position:absolute;top:0;display:block;width:max-content;max-width:230px;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--brand-ui);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:12px;line-height:16px;font-weight:600;color:var(--text-primary)}
#login-screen.pt-auth .ps-call--r .ps-call__tip{left:20px;transform:translateY(-50%)}
#login-screen.pt-auth .ps-call--l .ps-call__tip{right:20px;transform:translateY(-50%)}
#login-screen.pt-auth .ps-call--b .ps-call__tip{left:0;top:20px;transform:translateX(-50%)}
#login-screen.pt-auth .ps-call--bl .ps-call__tip{right:-8px;top:20px}
#login-screen.pt-auth .ps-call--br .ps-call__tip{left:-8px;top:20px}
#login-screen.pt-auth .ps-call--t .ps-call__tip{left:0;top:auto;bottom:20px;transform:translateX(-50%)}
#login-screen.pt-auth .ps-call--tl .ps-call__tip{right:-8px;top:auto;bottom:20px}
#login-screen.pt-auth .ps-call--tr .ps-call__tip{left:-8px;top:auto;bottom:20px}
/* Cartões flutuantes (recursos, sem números) */
#login-screen.pt-auth .ps-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:var(--space-3);max-width:250px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);background:color-mix(in srgb,var(--surface-2) 90%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);font-size:12px;line-height:16px}
#login-screen.pt-auth .ps-chip .pt-ico{width:30px;height:30px;padding:6px;border-radius:var(--radius-pill);background:var(--positive-bg);color:var(--positive)}
#login-screen.pt-auth .ps-chip b{display:block;font-weight:600;color:var(--text-primary)}
#login-screen.pt-auth .ps-chip span{display:block;color:var(--text-secondary)}
#login-screen.pt-auth .ps-chip--b{left:var(--space-6);bottom:-20px}
#login-screen.pt-auth .ps-chip--b .pt-ico{background:var(--info-bg);color:var(--info)}
#login-screen.pt-auth .ps-chip--c{right:var(--space-6);bottom:-20px}
@keyframes ps-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* Navegação do carrossel */
#login-screen.pt-auth .pt-stage__nav{display:flex;gap:var(--space-2);margin:var(--space-2) var(--space-10) 0}
#login-screen.pt-auth .pt-stage__tab{position:relative;flex:1 1 0;min-height:var(--target-min);padding:0 var(--space-1);border:0;border-bottom:2px solid var(--border-subtle);background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}
#login-screen.pt-auth .pt-stage__tab:hover,#login-screen.pt-auth .pt-stage__tab.is-active{color:var(--text-primary)}
#login-screen.pt-auth .pt-stage__tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
#login-screen.pt-auth .pt-stage__bar{position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand-gold);transform:scaleX(0);transform-origin:left center}
@keyframes pt-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#login-screen.pt-auth .pt-stage__disclaimer{margin:0 var(--space-10);font-size:11px;line-height:16px;color:var(--text-muted)}
/* Animações de entrada (reiniciam a cada troca de slide) */
@keyframes ps-pop{from{opacity:0;transform:scale(.6)}}
@keyframes ps-rise{from{opacity:0;transform:translateY(14px)}}
@keyframes ps-tip{from{opacity:0;margin-top:8px}}
@keyframes ps-ping{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@keyframes ps-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
/* Telas menores */
@media (max-height:760px){
  #login-screen.pt-auth .pt-stage__lead{display:none}
  #login-screen.pt-auth .pt-stage__title{font-size:28px;line-height:34px;margin-bottom:0}
}
@media (max-height:640px){
  #login-screen.pt-auth .pt-auth__stage{position:relative;top:0;height:auto}
}
@media (max-width:1180px){
  #login-screen.pt-auth .pt-auth__shell{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}
  #login-screen.pt-auth .pt-stage__intro,#login-screen.pt-auth .pt-stage__nav,#login-screen.pt-auth .pt-stage__disclaimer{padding-left:var(--space-6);padding-right:var(--space-6);margin-left:0;margin-right:0}
  #login-screen.pt-auth .pt-stage__nav{padding:0 var(--space-6)}
  #login-screen.pt-auth .pt-stage__deck{margin:0 var(--space-6)}
  #login-screen.pt-auth .ps-chip--b{left:-10px}
  #login-screen.pt-auth .ps-call__tip{max-width:170px}
}
@media (max-width:960px){
  #login-screen.pt-auth{display:block}
  #login-screen.pt-auth .pt-auth__shell{display:block;min-height:0}
  #login-screen.pt-auth .pt-auth__card{padding:max(var(--space-6),env(safe-area-inset-top)) var(--space-4) var(--space-6);border-right:0;border-bottom:1px solid var(--border-subtle)}
  #login-screen.pt-auth .pt-auth__stage{position:relative;top:0;height:auto;min-height:0;margin:var(--space-4) var(--space-3) max(var(--space-4),env(safe-area-inset-bottom));padding-bottom:var(--space-4)}
  #login-screen.pt-auth .pt-stage__deck{flex:none;height:auto;aspect-ratio:1400/936;min-height:0}
  #login-screen.pt-auth .pt-stage__title{font-size:26px;line-height:32px}
  #login-screen.pt-auth .ps-chip--b{display:none}
}
@media (max-width:520px){
  #login-screen.pt-auth .pt-stage__intro{padding:var(--space-4) var(--space-4) 0}
  #login-screen.pt-auth .pt-stage__deck{margin:0 var(--space-3)}
  #login-screen.pt-auth .pt-stage__nav{padding:0 var(--space-3);overflow-x:auto}
  #login-screen.pt-auth .pt-stage__tab{flex:1 0 auto;min-width:78px}
  #login-screen.pt-auth .pt-stage__disclaimer{padding:0 var(--space-4)}
  #login-screen.pt-auth .ps-chip--b{display:none}
  #login-screen.pt-auth .ps-chip--c{right:8px}
  #login-screen.pt-auth .ps-call__tip{max-width:130px;font-size:11px;line-height:14px;padding:var(--space-1) var(--space-2)}
  #login-screen.pt-auth .ps-call:nth-of-type(n+2){display:none}
}
@media (max-width:480px){
  #login-screen.pt-auth .pt-auth__card>*{max-width:none}
}

/* Animações só para quem não pediu movimento reduzido */
@media (prefers-reduced-motion:no-preference){
  #login-screen.pt-auth .pt-stage__bg i{animation:ps-drift 18s ease-in-out infinite alternate}
  #login-screen.pt-auth .pt-stage__bg i:nth-child(2){animation-duration:23s}
  #login-screen.pt-auth .pt-stage__bg i:nth-child(3){animation-duration:27s}
  #login-screen.pt-auth .ps-slide.is-active .ps-view{animation:ps-zoom 8s var(--ease-standard) both}
  #login-screen.pt-auth .ps-slide.is-active .ps-call__ring{animation:ps-pop .5s calc(.9s + var(--k) * .8s) var(--ease-standard) both}
  #login-screen.pt-auth .ps-slide.is-active .ps-call__ring::after{animation:ps-ping 2.2s calc(1.4s + var(--k) * .8s) infinite}
  #login-screen.pt-auth .ps-slide.is-active .ps-call__tip{animation:ps-tip .5s calc(1.1s + var(--k) * .8s) var(--ease-standard) both}
  #login-screen.pt-auth .ps-chip{animation:ps-bob 6.5s ease-in-out infinite}
  #login-screen.pt-auth .ps-chip--b{animation-delay:-2.2s}
  #login-screen.pt-auth .ps-chip--c{animation-delay:-4.1s}
  #login-screen.pt-auth .pt-stage__tab.is-active .pt-stage__bar{animation:pt-progress 7s linear forwards}
  #login-screen.pt-auth .pt-auth__stage.is-paused .pt-stage__bar,#login-screen.pt-auth .pt-auth__stage.is-paused .ps-view{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){
  #login-screen.pt-auth .ps-slide,#login-screen.pt-auth .pt-stage__slides,#login-screen.pt-auth .pt-social,#login-screen.pt-auth .pt-stage__tab,#login-screen.pt-auth .auth-tab-btn{transition:none}
  #login-screen.pt-auth .ps-slide{transform:none}
  #login-screen.pt-auth .pt-stage__tab.is-active .pt-stage__bar{transform:scaleX(1)}
}
