:root{--bg:#f7f8f6;--card:#fff;--ink:#17231d;--muted:#5b6a62;--line:#e2e7e3;--brand:#0f6b4f;--brand2:#e8f3ee;--warn:#8a5a00;--warnbg:#fff6e0}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px}
a{color:var(--brand)}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-wrap:wrap}
.logo{font-weight:800;text-decoration:none;color:var(--ink);font-size:1.1rem}
.logo span{color:var(--brand)}
nav a{margin-left:14px;text-decoration:none;font-weight:600;font-size:.95rem}
.hero{padding:28px 0 8px}
h1{font-size:1.7rem;line-height:1.2;margin:.3em 0}
h2{font-size:1.3rem;margin-top:1.6em}
.lead{color:var(--muted);font-size:1.05rem;max-width:720px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}
.controls{display:flex;gap:10px;flex-wrap:wrap}
.controls input,.controls select,.calc input,.calc select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}
.controls input{flex:1 1 240px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}
th.sortable{cursor:pointer;user-select:none}
th.sortable:after{content:" ↕";opacity:.4}
th.asc:after{content:" ↑";opacity:1}th.desc:after{content:" ↓";opacity:1}
td a{font-weight:600;text-decoration:none}
.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:.8rem;font-weight:700}
.d1{background:#e4f5ea;color:#17663a}.d2{background:#fff2d6;color:#8a5a00}.d3{background:#fde4e1;color:#9b2c1f}
.pend{color:var(--warn);background:var(--warnbg);padding:1px 6px;border-radius:6px;font-size:.85em;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.kpi{background:var(--brand2);border-radius:10px;padding:12px}
.kpi b{display:block;font-size:1.15rem}.kpi small{color:var(--muted)}
.src{font-size:.85rem;color:var(--muted)}
.sources li{margin-bottom:6px;font-size:.92rem;word-break:break-word}
.note{background:var(--warnbg);border:1px solid #f1dfb0;border-radius:10px;padding:10px 12px;font-size:.92rem}
.ph{border:2px dashed #b9c6bf;background:#fbfcfb;border-radius:12px;padding:14px;color:var(--muted)}
.ph strong{color:var(--ink)}
.ph .tag{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a5a00}
.grid2{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:760px){.grid2{grid-template-columns:1fr 1fr}h1{font-size:2.1rem}}
.news{background:#0f6b4f;color:#fff;border-radius:12px;padding:18px}
.news h3{margin:.1em 0 .3em}.news p{margin:.2em 0 .8em;opacity:.92}
.news form{display:flex;gap:8px;flex-wrap:wrap}.news input{flex:1 1 200px;padding:10px;border-radius:8px;border:0;font:inherit}
.btn{font:inherit;font-weight:700;padding:10px 16px;border-radius:8px;border:0;background:var(--brand);color:#fff;cursor:pointer}
.news .btn{background:#fff;color:var(--brand)}
.btn.sec{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.calc label{display:block;font-weight:600;font-size:.92rem;margin-bottom:10px}
.calc label input,.calc label select{display:block;width:100%;margin-top:4px}
.hint{font-weight:400;color:var(--muted);font-size:.85rem}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}
summary{font-weight:700;cursor:pointer}
footer{margin-top:40px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;background:#fff}
.crumbs{font-size:.85rem;color:var(--muted);margin-top:14px}
@media print{header.top,footer,.noprint,.news,.ph{display:none!important}body{background:#fff}.card{border:0;padding:0}#plano{display:block!important}}
