/* Acesso ao Replizo — login, cadastro, recuperação e redefinição de senha.
   Visual aprovado na prévia de Auth; fontes, logo e ícones reaproveitados de /creator-assets. */
@font-face{font-family:DM;src:url('/creator-assets/DMSans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
@font-face{font-family:Fraunces;src:url('/creator-assets/Fraunces.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#183226;--muted:#526559;--green:#00c853;--forest:#126b37;--line:#d4dfd0;--paper:#fafbf6;--danger:#9a302a}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit}
button:disabled{cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #167b41;outline-offset:4px}
[hidden]{display:none!important}
.skip{position:absolute;top:-80px;left:20px;z-index:10;background:#fff;padding:15px}
.skip:focus{top:10px}

.shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:100svh}
.editorial{background:#eef2e5;padding:42px 64px 30px;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:18px;min-height:48px}
.brand a{display:block;line-height:0}
.brand img{width:175px;height:auto;display:block}
.brand>span{font-size:13px;border-left:1px solid #b5c7b5;padding-left:18px;max-width:160px;line-height:1.4}
.story{margin:auto 0;padding:62px 0 44px;max-width:535px}
.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;margin:0 0 23px;color:#326044}
h1{font-size:clamp(45px,4.6vw,70px);font-weight:620;line-height:1.045;letter-spacing:-.055em;margin:0 0 24px}
h1 em{font-family:Fraunces,Georgia,serif;font-style:normal;font-weight:450;color:#16753e;letter-spacing:-.06em}
.story-copy{max-width:400px;font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.conversation{margin-top:40px;max-width:435px}
.thread-label{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:650;letter-spacing:.12em;padding-bottom:17px;border-bottom:1px solid #c7d7bf}
.thread-label>span:last-child{margin-left:auto;font-size:20px}
.pulse{width:6px;height:6px;border-radius:50%;background:#168849}
.question{display:flex;gap:13px;margin:22px 0 16px;align-items:flex-start}
.avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #c3d4bd;border-radius:50%;font-size:23px;background:#f9fcf3}
.mini{font-size:8px;letter-spacing:.13em;font-weight:650;color:#44664d}
.question p{font-size:15px;line-height:1.5;margin:6px 0}
.answer{margin-left:49px;padding:20px 22px;background:#fff;border:1px solid #d0dfc7;border-radius:3px 17px 17px 17px;box-shadow:0 8px 24px #24432306}
.answer p{font-size:15px;line-height:1.65;margin:10px 0 17px}
.answer-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#437250;border-top:1px solid #e1eadb;padding-top:12px}
.editorial-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #cddcc5;padding-top:22px;font-size:11px;color:#426149}
.editorial-footer>div{display:flex;align-items:center;gap:14px}
.editorial-footer img{object-fit:contain;width:auto;height:19px}
.editorial-footer img:last-child{height:17px}

.access{display:flex;align-items:center;justify-content:center;padding:50px 54px;background:#fffefb}
.access-inner{width:100%;max-width:400px}
.access-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}
.access-top .eyebrow,.access .eyebrow{font-size:9px;margin:0}
.tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;margin-bottom:32px}
.tabs a{min-height:44px;padding:8px 0 15px;text-decoration:none;font-size:14px;color:#667367;border-bottom:2px solid transparent}
.tabs a[aria-current=page]{border-color:#198a43;color:var(--ink);font-weight:650}
.form-heading{margin-bottom:28px}
.form-heading h2{font-size:34px;letter-spacing:-.045em;font-weight:620;line-height:1.17;margin:0 0 12px;outline:none}
.form-heading p{font-size:14px;color:var(--muted);line-height:1.55;margin:0}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}
.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.label-row a{font-size:11px;color:#256d3e;text-underline-offset:3px;padding:3px 0 8px}
.field input{display:block;width:100%;height:52px;border:1px solid #bfcfbc;border-radius:8px;padding:0 15px;background:#fff;color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}
.field input::placeholder{color:#718072;font-size:13px}
.field input:focus{border-color:#19864a;box-shadow:0 0 0 3px #218a4110;outline-offset:2px}
.field input[aria-invalid=true]{border-color:#a73831}
.password-wrap{position:relative}
.password-wrap input{padding-right:84px}
.password-wrap button{position:absolute;right:6px;top:4px;min-height:44px;min-width:68px;border:0;background:transparent;font-size:11px;font-weight:600;color:#326442;border-radius:5px}
.error{font-size:11px;line-height:1.4;color:var(--danger);margin:6px 0 0}
.error:empty{display:none}
.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:52px;padding:14px 19px;background:var(--green);color:#103321;border:1px solid #00b94c;border-radius:8px;font-size:14px;font-weight:700;transition:background .15s,transform .15s}
.primary:hover{background:#14d564}
.primary:active{transform:translateY(1px)}
.primary:disabled{background:#d8eedc;border-color:#bfd9c1}
.primary>span:last-child{font-size:20px}
.divider{display:flex;align-items:center;gap:15px;margin:23px 0;font-size:11px;color:#667565}
.divider:before,.divider:after{content:'';height:1px;background:#dce4d7;flex:1}
.google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;background:#fff;border:1px solid #cbd7c5;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none}
.google img{width:20px;height:20px;object-fit:contain}
.google:hover{background:#f4f8ef}
.google[aria-disabled=true]{opacity:.6;pointer-events:none;cursor:wait}
.switch-copy{text-align:center;font-size:12px;line-height:1.6;color:var(--muted);margin:24px 0 30px}
.switch-copy a{display:inline-block;padding:8px 3px;color:#176c35;font-weight:650;text-underline-offset:4px}
.access-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#526b55;border-top:1px solid #e0e7da;padding-top:21px}
.small-lock{font-size:20px}
.legal{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:5px;color:#60715e}
.legal a{display:inline-flex;align-items:center;min-height:44px;padding:0 5px;font-size:10px;text-decoration:none}
.legal a:hover{text-decoration:underline}
.status{padding:15px;background:#ecf6e7;border:1px solid #c5dcbc;border-radius:8px;font-size:12px;line-height:1.65;margin:20px 0 0;color:#275635}
.alert{padding:13px 15px;background:#fbeeec;border:1px solid #e8c3be;border-radius:8px;font-size:12.5px;line-height:1.6;color:#8a2a24;margin:0 0 20px;outline:none}
.alert a{color:inherit;font-weight:650}

/* seletor de idioma do motor global (/i18n.js): o motor injeta uma pílula fixa; a página move para .rz-lang-slot */
body > .replizo-lang-selector{visibility:hidden}
.rz-lang-slot{display:flex;align-items:center}
.rz-lang-slot .replizo-lang-selector{position:static;left:auto;top:auto;z-index:auto;transform:none;opacity:1;display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:none;backdrop-filter:none}
.rz-lang-slot .replizo-lang-selector:hover,.rz-lang-slot .replizo-lang-selector:focus-within{transform:none;opacity:1}
.rz-lang-slot .replizo-lang-selector button{min-width:34px;min-height:32px;padding:6px 8px;border-radius:999px;color:var(--muted);font:700 11px/1 DM,system-ui,sans-serif;letter-spacing:.04em}
.rz-lang-slot .replizo-lang-selector button:hover{color:var(--ink)}
.rz-lang-slot .replizo-lang-selector button.active{background:var(--forest);color:#fff}
.rz-lang-slot .replizo-lang-selector button:focus-visible{outline:2px solid var(--green);outline-offset:1px}

/* página de redefinição: uma coluna, mesmo formulário */
.single{min-height:100svh;display:flex}
.single .access{flex:1;align-items:flex-start;padding-top:56px}
.access-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:34px}
.access-brand a{display:block;line-height:0}
.access-brand img{width:150px;height:auto;display:block}
.single .eyebrow{margin-bottom:21px}

@media(min-width:1700px){.shell{border-inline:1px solid var(--line)}}
@media(max-width:1180px){.editorial{padding:34px 36px 28px}.access{padding:42px 40px}.brand img{width:148px}.brand>span{font-size:12px;padding-left:13px}.brand{gap:13px}.story{padding-block:44px 35px}h1{font-size:clamp(40px,4.5vw,55px)}.answer{padding:18px}.editorial-footer{font-size:10px}}
@media(max-width:900px){.shell{grid-template-columns:.9fr 1fr}.editorial{padding:30px 25px}.access{padding:38px 26px}.brand{flex-wrap:wrap;gap:8px}.brand>span{font-size:10px}.brand img{width:133px}h1{font-size:41px}.story-copy{font-size:14px}.conversation{margin-top:30px}.question p,.answer p{font-size:13px}.answer{margin-left:20px}.editorial-footer{flex-wrap:wrap}.form-heading h2{font-size:30px}}
@media(max-width:700px){.shell{display:block;min-height:0}.editorial{padding:23px 24px 21px;border-right:0;border-bottom:1px solid var(--line)}.brand{flex-wrap:nowrap}.brand img{width:143px}.brand>span{font-size:11px;max-width:135px}.story,.editorial-footer{display:none}.access{padding:30px 24px 15px;align-items:flex-start}.access-inner{max-width:440px}.access-top{margin-bottom:16px}.access .eyebrow{font-size:8px}.tabs{margin-bottom:26px}.form-heading h2{font-size:30px}.form-heading{margin-bottom:25px}.field{margin-bottom:17px}.switch-copy{margin:18px 0}.access-foot{padding-top:16px}.divider{margin:21px 0}.single .access{padding-top:28px}.access-brand{margin-bottom:26px}.access-brand img{width:136px}}
@media(max-width:370px){.access{padding-inline:20px}.editorial{padding-inline:20px}.brand img{width:132px}.brand>span{font-size:10px}.form-heading h2{font-size:28px}.label-row a{font-size:10px}.rz-lang-slot .replizo-lang-selector button{min-width:30px;padding:6px 6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
