:root{
  --verde:#0E5A3A;--verde-esc:#093D27;--folha:#E4EFE7;--ouro:#F2BE2E;--marca:#FFE58A;
  --azul:#1D4E9E;--papel:#F6F7F2;--card:#FFFFFF;--tinta:#16211B;--suave:#55635A;--linha:#D6DDD3;--erro:#B3261E;
  --f-tit:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --f-txt:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --max:1180px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font:18px/1.6 var(--f-txt)}
a{color:var(--azul);text-underline-offset:3px}
a:hover{color:var(--verde)}
:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--f-tit);line-height:1.15;letter-spacing:-.01em;margin:1.4em 0 .5em}
h1{font-size:clamp(1.9rem,4.2vw,2.8rem);margin-top:.4em}
h2{font-size:clamp(1.35rem,2.6vw,1.75rem)}
h3{font-size:1.15rem}
p,li{max-width:72ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}

/* Cabeçalho */
.topo{background:var(--card);border-top:5px solid var(--verde);border-bottom:1px solid var(--linha)}
.topo .wrap{display:flex;align-items:center;gap:18px;min-height:68px;flex-wrap:wrap}
.logo{font-family:var(--f-tit);font-weight:800;font-size:1.3rem;color:var(--tinta);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo .sinal{display:inline-grid;place-items:center;width:32px;height:32px;background:var(--verde);color:var(--ouro);border-radius:7px;font-size:1.2rem}
.logo small{font-weight:500;color:var(--suave);font-size:.8rem;display:block;line-height:1}
#menu{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
#menu a{color:var(--tinta);text-decoration:none;padding:8px 8px;border-radius:6px;font-weight:600;font-size:.95rem}
#menu a:hover{background:var(--folha)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--linha);border-radius:6px;padding:6px 12px;font:600 .95rem var(--f-txt);color:var(--tinta)}
@media(max-width:820px){.menu-btn{display:block}#menu{display:none;width:100%;flex-direction:column;padding-bottom:12px}#menu.open{display:flex}}

/* Busca */
.busca{position:relative;flex:1 1 200px;max-width:320px}
.busca input{width:100%;padding:11px 14px;border:2px solid var(--linha);border-radius:10px;font:inherit;font-size:1rem;background:var(--papel);color:var(--tinta)}
.busca input:focus{border-color:var(--verde);outline:none}
.sugestoes{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--linha);border-radius:10px;box-shadow:0 12px 30px rgba(9,61,39,.14);max-height:420px;overflow:auto}
.sugestoes a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--tinta)}
.sugestoes a:hover{background:var(--folha)}
.sugestoes small{color:var(--suave)}
.sugestoes .vazio{padding:10px;color:var(--suave);font-size:.95rem}

/* Migalhas */
.migalhas{font-size:.9rem;color:var(--suave);margin:18px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.migalhas li+li::before{content:"/";margin-right:6px;color:var(--linha)}
.migalhas a{color:var(--suave)}

/* Página de calculadora */
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media(max-width:960px){.calc-grid{grid-template-columns:minmax(0,1fr)}}
.lead{font-size:1.12rem;color:var(--suave);max-width:65ch}
.painel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;margin:22px 0 10px}
#calc{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:20px}
#calc label{display:block;font-weight:600;font-size:.95rem;margin:0 0 4px}
#calc .campo{margin-bottom:14px}
#calc input,#calc select,#calc textarea{width:100%;padding:11px 12px;border:2px solid var(--linha);border-radius:8px;font:inherit;font-size:1.05rem;background:var(--papel);color:var(--tinta)}
#calc textarea{min-height:130px;resize:vertical}
#calc input:focus,#calc select:focus,#calc textarea:focus{border-color:var(--verde);outline:none;background:var(--card)}
.botoes{display:flex;gap:10px;margin-top:6px}
.btn{appearance:none;border:0;border-radius:8px;padding:12px 18px;font:700 1rem var(--f-txt);cursor:pointer;background:var(--verde);color:#fff}
.btn:hover{background:var(--verde-esc)}
.btn.sec{background:transparent;color:var(--tinta);border:2px solid var(--linha)}
#resultado{outline:none}
#resultado .aviso{background:#FDECEA;color:var(--erro);padding:14px;border-radius:8px}

/* Resultado estilo holerite */
.holerite{margin:0;background:var(--card);border:1px solid var(--linha);border-top:6px solid var(--verde);border-radius:4px 4px 0 0;padding:16px 20px 4px;font-variant-numeric:tabular-nums;position:relative}
.holerite::after{content:"";display:block;height:12px;margin:14px -20px -1px;background:radial-gradient(circle at 7px 12px,var(--papel) 6.5px,transparent 7px) repeat-x;background-size:14px 12px}
.holerite .ln{display:flex;align-items:baseline;gap:8px;padding:5px 0}
.holerite dt{flex:0 1 auto;color:var(--suave)}
.holerite .fill{flex:1 1 20px;border-bottom:2px dotted var(--linha);min-width:16px;transform:translateY(-5px)}
.holerite dd{margin:0;font-weight:700;text-align:right;white-space:nowrap}
.holerite .long{flex-wrap:wrap}.holerite .long .fill{display:none}.holerite .long dd{white-space:normal;text-align:left;width:100%;overflow-wrap:anywhere}
.holerite .big dt{color:var(--tinta);font-weight:700}
.holerite .big dd{font-family:var(--f-tit);font-size:1.55rem;background:var(--marca);padding:0 6px;border-radius:3px}
.holerite .neg dd{color:var(--erro)}
.holerite .pos dd{color:var(--verde)}
.holerite .sec{font-family:var(--f-tit);font-weight:700;margin-top:10px;padding-top:10px;border-top:1px dashed var(--linha)}
.extra{margin-top:16px;overflow-x:auto}
.nota{font-size:.9rem;color:var(--suave);margin-top:10px}

/* Tabelas */
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.97rem;background:var(--card)}
th,td{padding:9px 12px;border-bottom:1px solid var(--linha);text-align:left}
th{background:var(--folha);font-weight:700}
td.n,th.n{text-align:right}
.tab-scroll{overflow-x:auto;margin:14px 0;border:1px solid var(--linha);border-radius:8px}

/* Conteúdo */
.conteudo{margin-top:34px}
.conteudo .formula{background:var(--folha);border-left:5px solid var(--verde);padding:14px 18px;border-radius:0 8px 8px 0;font-size:1.02rem;max-width:72ch}
.faq details{border-bottom:1px solid var(--linha);padding:12px 0;max-width:72ch}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin:.5em 0 0}

/* Barra lateral */
.lateral{position:sticky;top:16px}
.lateral h2{font-size:1.05rem;margin-top:0}
.lista-links{list-style:none;margin:0 0 26px;padding:0}
.lista-links li{border-bottom:1px solid var(--linha)}
.lista-links a{display:block;padding:9px 2px;text-decoration:none;color:var(--tinta)}
.lista-links a:hover{color:var(--verde);padding-left:6px}

/* Home */
.hero>*{min-width:0}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;padding:40px 0 20px;align-items:start}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr);padding-top:24px}}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:0 0 .3em}
.hero .lead{font-size:1.2rem}
.hero .data{display:inline-block;background:var(--verde);color:#fff;padding:3px 10px;border-radius:4px;font-weight:600;font-size:.9rem}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0;border-top:2px solid var(--tinta);margin:10px 0 40px}
.cat{padding:18px 18px 18px 0;border-bottom:1px solid var(--linha)}
.cat h3{margin:0 0 4px;font-size:1.15rem}
.cat h3 a{color:var(--tinta);text-decoration:none}
.cat h3 a:hover{color:var(--verde)}
.cat p{margin:0;color:var(--suave);font-size:.95rem}
.cat .qt{font-variant-numeric:tabular-nums;color:var(--verde);font-weight:700}
.colunas{columns:3 260px;column-gap:30px;list-style:none;padding:0;margin:0}
.colunas li{break-inside:avoid;padding:5px 0}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px 30px;list-style:none;padding:0;margin:20px 0}
.posts li{border-top:3px solid var(--verde);padding-top:10px}
.posts h2,.posts h3{font-size:1.15rem;margin:.2em 0}
.posts h2 a,.posts h3 a{color:var(--tinta);text-decoration:none}
.posts p{margin:.3em 0;color:var(--suave);font-size:.97rem}
.meta{color:var(--suave);font-size:.9rem}
.artigo{max-width:760px}
.artigo .cta{background:var(--card);border:2px solid var(--verde);border-radius:12px;padding:16px 20px;margin:24px 0}
.artigo .cta a{font-weight:700}
.paginacao{display:flex;gap:6px;flex-wrap:wrap;margin:30px 0}
.paginacao a,.paginacao span{padding:6px 12px;border:1px solid var(--linha);border-radius:6px;text-decoration:none}
.paginacao span{background:var(--verde);color:#fff;border-color:var(--verde)}

/* Rodapé */
.rodape{margin-top:60px;background:var(--verde-esc);color:#DDE8E0;padding:40px 0 30px;font-size:.95rem}
.rodape a{color:#fff}
.rodape .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.rodape h2{font-size:1rem;color:var(--ouro);margin:0 0 8px}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{padding:3px 0}
.rodape .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:26px;padding-top:16px;color:#B8C8BD}

@media(prefers-color-scheme:dark){
  :root{--papel:#0F1813;--card:#16221B;--tinta:#E6EEE8;--suave:#A3B5A9;--linha:#2B3C32;--folha:#1C2E23;--azul:#93B6FF;--marca:#6B5711;--verde:#2E9A66}
  #resultado .aviso{background:#3a1715;color:#ffb4ab}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topo,.rodape,.lateral,#calc .botoes{display:none}}
