/* Páginas legais e 404: complementa assets/site.css (tokens, menu e rodapé da home) */
html{scroll-padding-top:96px}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>footer{flex:none}
.icon-btn{width:44px;height:44px}
.signin{display:inline-flex;align-items:center;min-height:44px}
.sheet a{min-height:44px;display:flex;align-items:center}

/* leitura */
.leg{padding-block:40px 96px}
.voltar{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--glass);font-size:14px;font-weight:500;color:var(--fg-2);transition:color .2s,border-color .2s}
.voltar .ic{font-size:16px;color:var(--cyan-text);transform:scaleX(-1)}
.voltar:hover{color:var(--fg);border-color:var(--cyan)}
.leg-head{margin-top:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.leg-head h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:18ch}
.leg-head .atualiza{margin-top:16px;font-family:var(--f-mono);font-size:13px;letter-spacing:.04em;color:var(--fg-3)}
.leg-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;margin-top:48px;align-items:start}
.leg-toc{position:sticky;top:104px}
.leg-toc h2{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px}
.leg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line)}
.leg-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;line-height:1.35;color:var(--fg-2);transition:color .2s,border-color .2s}
.leg-toc a:hover,.leg-toc a.on{color:var(--fg);border-left-color:var(--cyan)}
.leg-body{max-width:70ch;font-size:17px;line-height:1.7;color:var(--fg-2)}
.leg-body h2{font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.025em;font-weight:700;color:var(--fg);margin:56px 0 16px}
.leg-body h2:first-child{margin-top:0}
.leg-body p{margin:0 0 16px}
.leg-body ul,.leg-body ol{margin:0 0 20px;padding-left:22px}
.leg-body ol li::marker{font-weight:600}
.leg-body li{margin-bottom:8px;padding-left:4px}
.leg-body li::marker{color:var(--cyan-text)}
.leg-body strong{color:var(--fg);font-weight:600}
.leg-body a{color:var(--cyan-text);text-decoration:underline;text-underline-offset:3px}
.leg-body code{font-family:var(--f-mono);font-size:.86em;padding:2px 6px;border-radius:6px;background:var(--glass);border:1px solid var(--line);color:var(--fg);overflow-wrap:anywhere}
.tabela{margin:8px 0 28px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tabela table{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px;line-height:1.5}
.tabela th{text-align:left;font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);background:var(--bg-2)}
.tabela th,.tabela td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tabela tr:last-child td{border-bottom:0}
.tabela td:first-child{color:var(--fg)}

@media (max-width:1000px){
  .leg-grid{grid-template-columns:minmax(0,1fr)}
  .leg-toc{display:none}
  .leg{padding-block:24px 64px}
  .leg-body{font-size:16.5px}
}

/* 404 */
.erro{display:grid;place-items:center;padding-block:48px}
.erro-in{display:grid;justify-items:center;gap:20px;text-align:center;max-width:560px}
.erro-in .selo{width:64px;height:auto}
.erro-in h1{font-size:clamp(36px,5vw,60px);line-height:1.04;letter-spacing:-.035em;font-weight:700}
.erro-in p{color:var(--fg-2);font-size:18px}
.erro-in .btn{justify-content:center;min-height:48px}

.links a{white-space:nowrap}
