/* Camada pública independente: não altera o shell autenticado nem depende de JavaScript. */
.premium-public { --pp-ink:#29232f; --pp-paper:#f3f1eb; --pp-jade:#a8cabb; --pp-green:#315a50; --pp-copper:#ac755b; --pp-muted:#67616b; color:var(--pp-ink); background:var(--pp-paper); font:400 15px/1.65 Inter,sans-serif; -webkit-font-smoothing:antialiased; }
.premium-public *, .premium-public *::before, .premium-public *::after { box-sizing:border-box; }
.premium-public h1,.premium-public h2,.premium-public h3,.premium-public p { margin:0; }
.premium-public h1,.premium-public h2 { font-family:Fraunces,Georgia,serif; font-weight:500; line-height:1.08; letter-spacing:-.045em; }
.premium-public a { color:inherit; text-underline-offset:5px; }
.premium-public a:focus-visible,.premium-public button:focus-visible,.premium-public input:focus-visible { outline:3px solid var(--pp-copper); outline-offset:4px; }
.premium-public .pp-skip { position:fixed; top:12px; left:12px; z-index:20; padding:12px 20px; background:var(--pp-paper); color:var(--pp-ink); transform:translateY(-180%); }
.premium-public .pp-skip:focus { transform:translateY(0); }
.premium-public .pp-brand { display:inline-flex; align-items:center; gap:10px; width:fit-content; font-size:20px; font-weight:600; letter-spacing:-.05em; text-decoration:none; }
.premium-public .pp-brand-mark { display:grid; place-content:center; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; font:24px Fraunces,Georgia,serif; position:relative; }
.premium-public .pp-brand-mark span { position:absolute; right:6px; bottom:2px; color:var(--pp-copper); }
.premium-public .pp-eyebrow { font-size:10px; font-weight:600; letter-spacing:.15em; line-height:1.7; text-transform:uppercase; }
.premium-public .pp-container { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.premium-public .pp-button,.premium-public .btn { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:14px 23px; border:1px solid transparent; border-radius:8px; background:var(--pp-green); color:var(--pp-paper); font:500 14px/1.5 Inter,sans-serif; text-decoration:none; cursor:pointer; transition:transform .2s ease; }
.premium-public .pp-button:hover,.premium-public .btn:hover { transform:translateY(-2px); }
.premium-public .pp-text-link { display:inline-block; padding-block:12px; font-size:13px; font-weight:500; }
.premium-public .pp-button-dark { background:var(--pp-ink); }
/* Escultura decorativa: profundidade estática, sem canvas, imagens ou bibliotecas. */
.premium-public .pp-sculpture { position:relative; width:330px; height:340px; margin-inline:auto; isolation:isolate; }
.premium-public .pp-orbit { position:absolute; width:280px; height:280px; top:5px; left:25px; border:1px solid #a8cabb40; border-radius:50%; }
.premium-public .pp-column { position:absolute; bottom:75px; width:66px; border-radius:5px 5px 0 0; transform:skewY(-9deg); }
.premium-public .pp-column-back { height:152px; left:111px; background:linear-gradient(90deg,#65897c,#a8cabb 65%,#54786b 66%); }
.premium-public .pp-column-front { height:224px; left:162px; background:linear-gradient(90deg,#d5c8bc,#f3f1eb 65%,#ac755b 66%,#805843); box-shadow:12px 14px 25px #17121c33; }
.premium-public .pp-beam { position:absolute; top:83px; left:52px; width:230px; height:16px; background:linear-gradient(#dfbaa3,#ac755b); transform:rotate(-9deg); border-radius:3px; box-shadow:0 5px 0 #6d493e; }
.premium-public .pp-balance { position:absolute; width:73px; height:37px; top:171px; background:linear-gradient(130deg,#eff5ef,#a8cabb 60%,#638777); border-radius:3px 3px 45px 45px; box-shadow:4px 8px 15px #17121c26; }
.premium-public .pp-balance::before { content:""; position:absolute; bottom:35px; left:35px; width:1px; height:67px; background:#c5b4a2; }
.premium-public .pp-balance-left { left:34px; }
.premium-public .pp-balance-right { right:26px; top:135px; }
.premium-public .pp-plinth { position:absolute; left:66px; bottom:48px; width:206px; height:32px; background:linear-gradient(165deg,#d1c5b9 42%,#ac755b 43%,#694c45); border-radius:50%; z-index:-1; }
.premium-public .pp-sculpture-caption { position:absolute; bottom:0; width:100%; text-align:center; font-size:9px; letter-spacing:.17em; text-transform:uppercase; color:#d0c7d2; }
/* Login e recuperação compartilham apenas apresentação; os formulários continuam nativos. */
.premium-public .pp-auth-layout { display:grid; grid-template-columns:minmax(360px,1fr) minmax(420px,1fr); min-height:100svh; }
.premium-public .pp-editorial { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:30px; padding:42px clamp(36px,6vw,96px); background:radial-gradient(ellipse at 65% 60%,#47364b 0,transparent 65%),var(--pp-ink); color:var(--pp-paper); }
.premium-public .pp-editorial-copy { max-width:430px; margin-top:30px; }
.premium-public .pp-editorial-copy .pp-eyebrow { color:var(--pp-jade); margin-bottom:22px; }
.premium-public .pp-editorial-copy h2 { font-size:clamp(40px,4.6vw,68px); }
.premium-public .pp-editorial-copy > p:last-child { max-width:310px; color:#d0c7d2; font-size:14px; margin-top:22px; }
.premium-public .pp-editorial-note { color:#d0c7d2; font-size:11px; }
.premium-public .pp-form-side { display:flex; align-items:center; justify-content:center; padding:48px 52px; }
.premium-public .pp-form-wrap { width:100%; max-width:390px; }
.premium-public .pp-back { display:inline-block; min-height:44px; font-size:12px; text-decoration:none; color:var(--pp-muted); }
.premium-public .pp-form-heading { margin:24px 0 28px; }
.premium-public .pp-form-heading .pp-eyebrow { color:var(--pp-green); margin-bottom:14px; }
.premium-public .pp-form-heading h1 { font-size:40px; }
.premium-public .pp-form-heading > p:last-child { margin-top:14px; color:var(--pp-muted); font-size:13px; }
.premium-public .painel { margin:0; padding:0; }
.premium-public .campo { margin-bottom:20px; }
.premium-public .campo label { display:block; margin-bottom:7px; font-size:12px; font-weight:600; }
.premium-public .input { display:block; width:100%; min-height:49px; padding:11px 14px; border:1px solid #29232f38; border-radius:7px; background:#ffffff80; color:var(--pp-ink); font:400 16px/1.5 Inter,sans-serif; box-shadow:0 1px 0 #fff inset; }
.premium-public .input::placeholder { color:#79727c; opacity:1; }
.premium-public .input:focus { border-color:var(--pp-green); }
.premium-public #codigo { letter-spacing:.3em; font-size:24px; }
.premium-public .dica { margin-top:7px; color:var(--pp-muted); font-size:11px; line-height:1.6; }
.premium-public .dica a { color:var(--pp-green); }
.premium-public .btn { width:100%; }
.premium-public .erro,.premium-public .mensagem { display:flex; gap:9px; margin-bottom:20px; padding:13px 15px; border:1px solid #a16b674f; border-radius:7px; color:#803e38; background:#f6e7e2; font-size:13px; overflow-wrap:anywhere; }
.premium-public .mensagem { color:var(--pp-green); background:#e2ece5; border-color:#315a5040; }
.premium-public .cadastro-link,.premium-public .voltar-link,.premium-public .rodape { text-align:center; margin-top:23px; font-size:12px; color:var(--pp-muted); }
.premium-public .cadastro-link a,.premium-public .voltar-link a,.premium-public .rodape a { color:var(--pp-green); font-weight:600; }
.premium-public .pp-form-footer { border-top:1px solid #29232f1c; padding-top:20px; margin-top:38px; font-size:10px; color:var(--pp-muted); }
.premium-public .pp-form-footer a { text-decoration:none; }
/* Landing editorial sem painel fictício; a escultura é apenas decorativa. */
.premium-public .pp-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:25px; border-bottom:1px solid #29232f1c; }
.premium-public .pp-nav nav { display:flex; gap:30px; }
.premium-public .pp-nav nav a,.premium-public .pp-nav-login { display:inline-flex; align-items:center; min-height:44px; font-size:12px; text-decoration:none; }
.premium-public .pp-nav-login { gap:24px; border-bottom:1px solid var(--pp-copper); font-weight:600; }
.premium-public .pp-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:45px; padding-block:74px 86px; }
.premium-public .pp-hero h1 { margin-top:24px; font-size:clamp(52px,5.9vw,84px); }
.premium-public .pp-hero h1 em { font-weight:500; color:var(--pp-green); }
.premium-public .pp-dot { display:inline-block; width:6px; height:6px; margin-right:7px; background:var(--pp-copper); border-radius:50%; vertical-align:middle; }
.premium-public .pp-lead { max-width:400px; margin-top:26px; color:var(--pp-muted); font-size:15px; }
.premium-public .pp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:32px; }
.premium-public .pp-hero-note { margin-top:23px; font-size:10px; color:var(--pp-muted); }
.premium-public .pp-hero-art { display:flex; flex-direction:column; justify-content:center; min-height:500px; padding:30px 24px; border-radius:160px 160px 12px 12px; background:radial-gradient(ellipse at 50% 45%,#514256,transparent 70%),var(--pp-ink); }
.premium-public .pp-hero-art .pp-sculpture-caption { display:none; }
.premium-public .pp-glass-label { position:relative; width:100%; max-width:320px; align-self:center; padding:22px; border:1px solid #f3f1eb30; border-radius:10px; background:#ffffff0d; color:var(--pp-paper); backdrop-filter:blur(10px); }
.premium-public .pp-glass-label .pp-eyebrow { font-size:8px; color:var(--pp-jade); }
.premium-public .pp-glass-label p { margin-top:8px; font:23px Fraunces,Georgia,serif; }
.premium-public .pp-art-line { display:block; margin-top:18px; height:1px; background:linear-gradient(90deg,var(--pp-copper),transparent); }
.premium-public .pp-resources { padding-block:48px 82px; border-top:1px solid #29232f1c; }
.premium-public .pp-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; }
.premium-public .pp-section-heading h2,.premium-public .pp-workflow h2,.premium-public .pp-security h2 { font-size:clamp(34px,3.6vw,50px); }
.premium-public .pp-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:48px; }
.premium-public .pp-feature-grid article { padding-top:26px; border-top:1px solid #29232f26; }
.premium-public .pp-feature-grid h3 { font-size:16px; font-weight:500; margin:24px 0 10px; }
.premium-public .pp-feature-grid p { font-size:13px; max-width:280px; color:var(--pp-muted); }
.premium-public .pp-mini-icon { display:block; width:34px; height:37px; background:linear-gradient(130deg,#d9e7df,var(--pp-jade) 65%,#769a8c 66%); border:1px solid #315a5030; border-radius:4px; transform:rotate(-8deg) skewY(5deg); box-shadow:5px 5px 0 #29232f0e; }
.premium-public .pp-icon-stack { box-shadow:4px 4px 0 var(--pp-paper),5px 5px 0 #315a5060,9px 9px 0 #a8cabb66; }
.premium-public .pp-icon-circle { border-radius:50%; background:conic-gradient(from 20deg,#f3f1eb,#ac755b,#d6b4a1,#f3f1eb); }
.premium-public .pp-workflow { background:var(--pp-ink); color:var(--pp-paper); padding-block:72px; }
.premium-public .pp-workflow-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.premium-public .pp-workflow .pp-eyebrow { color:var(--pp-jade); margin-bottom:20px; }
.premium-public .pp-workflow .pp-text-link { color:var(--pp-jade); margin-top:24px; }
.premium-public .pp-steps { margin:0; padding:0; list-style:none; counter-reset:etapa; }
.premium-public .pp-steps li { counter-increment:etapa; position:relative; padding:20px 0 20px 48px; border-bottom:1px solid #f3f1eb26; }
.premium-public .pp-steps li::before { content:"0" counter(etapa); position:absolute; left:0; top:23px; color:var(--pp-jade); font-size:11px; }
.premium-public .pp-steps h3 { font-size:16px; font-weight:500; }
.premium-public .pp-steps p { color:#d0c7d2; font-size:12px; margin-top:5px; }
.premium-public .pp-security { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:86px; }
.premium-public .pp-security .pp-eyebrow { margin-bottom:20px; color:var(--pp-green); }
.premium-public .pp-security > div:last-child { align-self:center; }
.premium-public .pp-security > div:last-child p { color:var(--pp-muted); max-width:390px; margin-bottom:24px; font-size:14px; }
.premium-public .pp-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #29232f26; padding-block:28px; }
.premium-public .pp-footer p,.premium-public .pp-footer > a:last-child { font-size:11px; color:var(--pp-muted); }
/* O movimento não carrega informação e pode ser totalmente desativado. */
@keyframes pp-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.premium-public .pp-hero-copy,.premium-public .pp-form-wrap { animation:pp-enter .55s ease both; }
@media (max-width:1050px) {
 .premium-public .pp-container { width:calc(100% - 56px); }
 .premium-public .pp-auth-layout { grid-template-columns:minmax(320px,1fr) minmax(380px,1fr); }
 .premium-public .pp-editorial { padding:32px; }
 .premium-public .pp-form-side { padding:36px; }
 .premium-public .pp-hero { gap:24px; }
 .premium-public .pp-hero-art { padding-inline:12px; }
}
@media (max-width:800px) {
 .premium-public .pp-auth-layout { display:block; }
 .premium-public .pp-editorial { padding:22px 28px; gap:0; }
 .premium-public .pp-editorial-copy,.premium-public .pp-editorial > .pp-sculpture,.premium-public .pp-editorial-note { display:none; }
 .premium-public .pp-form-side { padding:28px 24px 40px; }
 .premium-public .pp-form-heading { margin-top:12px; }
 .premium-public .pp-nav nav { gap:16px; }
 .premium-public .pp-hero { grid-template-columns:1fr; padding-block:44px; gap:36px; }
 .premium-public .pp-hero h1 { font-size:clamp(48px,9vw,72px); }
 .premium-public .pp-hero-art { min-height:420px; border-radius:120px 120px 12px 12px; }
 .premium-public .pp-hero-art .pp-sculpture { height:300px; }
 .premium-public .pp-section-heading { display:block; }
 .premium-public .pp-section-heading .pp-eyebrow { margin-bottom:18px; }
 .premium-public .pp-feature-grid { gap:24px; }
 .premium-public .pp-workflow-inner,.premium-public .pp-security { gap:36px; }
}
@media (max-width:560px) {
 /* O seletor de tema e o retorno dividem a mesma linha, liberando espaço
    para os campos sem mudar a ordem de leitura nem os formulários nativos. */
 .premium-public .pp-editorial {padding:14px 24px}
 .premium-public .pp-form-side {padding:16px 24px 32px}
 .premium-public .pp-form-wrap {position:relative}
 .premium-public .pp-form-wrap > .theme-control {position:absolute;top:0;right:0}
 .premium-public .pp-form-wrap > .pp-back {margin-top:0;padding-right:56px;display:flex;align-items:center;min-height:44px;width:fit-content}
 .premium-public .pp-form-heading {margin:12px 0 20px}
 .premium-public .pp-form-heading .pp-eyebrow {margin-bottom:8px}
 .premium-public .pp-form-heading > p:last-child {margin-top:8px}
 .premium-public .pp-container { width:calc(100% - 40px); }
 .premium-public .pp-nav { flex-wrap:wrap; gap:10px; padding-block:16px; }
 .premium-public .pp-nav nav { order:3; width:100%; justify-content:space-between; border-top:1px solid #29232f1c; }
 .premium-public .pp-hero h1 { font-size:clamp(40px,10.5vw,58px); }
 .premium-public .pp-hero .pp-eyebrow { font-size:9px; }
 .premium-public .pp-actions { align-items:stretch; flex-direction:column; gap:8px; }
 .premium-public .pp-actions .pp-text-link { width:fit-content; }
 .premium-public .pp-hero-art { padding:24px 12px; }
 .premium-public .pp-sculpture { width:330px; transform:scale(.78); transform-origin:center; margin-block:-20px; margin-left:calc(50% - 165px); }
 .premium-public .pp-feature-grid,.premium-public .pp-workflow-inner,.premium-public .pp-security { grid-template-columns:1fr; }
 .premium-public .pp-feature-grid { margin-top:28px; }
 .premium-public .pp-feature-grid article { padding-top:24px; }
 .premium-public .pp-resources,.premium-public .pp-security { padding-block:48px; }
 .premium-public .pp-workflow { padding-block:48px; }
 .premium-public .pp-form-heading h1 { font-size:35px; }
 .premium-public .pp-footer { flex-wrap:wrap; }
 .premium-public .pp-footer p { width:100%; order:3; }
}
@media (prefers-reduced-motion:reduce) {
 .premium-public *, .premium-public *::before,.premium-public *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 .premium-public .pp-button:hover,.premium-public .btn:hover { transform:none; }
}
