*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1d2433;background:#f4f6f9}
main{max-width:980px;margin:0 auto;padding:16px}
h1{font-size:1.6rem;line-height:1.25;margin:.2em 0 .4em}
h2{font-size:1.15rem;margin:.2em 0 .6em}
.kicker{margin:0;color:#0b6b3a;font-weight:600;font-size:.9rem}
.lead{margin:.2em 0 1em;color:#3a4458}
.card{background:#fff;border:1px solid #dde3ec;border-radius:10px;padding:16px;margin:0 0 14px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
label{display:flex;flex-direction:column;font-size:.88rem;color:#3a4458;gap:3px}
label.chk{flex-direction:row;align-items:center;gap:8px;font-size:.95rem}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #c5cedb;border-radius:7px;background:#fff;width:100%}
input[type=checkbox]{width:auto}
table{border-collapse:collapse;width:100%}
th,td{padding:5px 6px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:middle}
.meses{margin-top:12px}.meses td input{padding:5px 7px}
.meses th{font-size:.82rem;color:#5a6478}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.6em 0}
button,.btn,.filebtn{font:inherit;cursor:pointer;border:0;border-radius:8px;padding:8px 14px;background:#0b6b3a;color:#fff;text-decoration:none;display:inline-block}
.ghost{background:#eef3f0;color:#0b6b3a;border:1px solid #c9dccf}
.filebtn{flex-direction:row}
.small{font-size:.88rem;color:#4a5468}
.result .big{font-size:2rem;font-weight:700;margin:.1em 0}
.result table td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.tag{display:inline-block;border-radius:6px;padding:2px 8px;font-size:.85rem;font-weight:600}
.ok{background:#e3f4ea;color:#0b6b3a}.warn{background:#fff4d6;color:#7a5200}.bad{background:#fde4e2;color:#a3221a}
.alert{border-left:4px solid #d08a00;background:#fffaf0;padding:8px 10px;margin:8px 0}
.alert.red{border-color:#c0392b;background:#fff4f3}
.upsell{border:2px solid #0b6b3a}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.stats div{background:#f4f6f9;border-radius:8px;padding:6px 10px;font-size:.9rem}
.stats b{font-size:1.15rem;display:block}
.tablewrap{overflow-x:auto}
.board td input,.board td select{padding:4px 6px;font-size:.88rem;min-width:90px}
.board td button{padding:4px 8px;font-size:.82rem;margin:1px}
.msg{white-space:pre-wrap;background:#f4f6f9;border-radius:8px;padding:10px}
@media print{body{background:#fff}#form,#opsCard,#upsell,#fontes,header .lead,#pro .row,#pro .small,#pro .grid2{display:none}.card{border:0}}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.grid3 .wide{grid-column:1/-1}
.ops td,.demo td{font-size:.88rem;white-space:nowrap}
.demo td{text-align:right;font-variant-numeric:tabular-nums}.demo td:first-child{text-align:left}
.ops td.pos{color:#0b6b3a;font-weight:600}.ops td.neg{color:#a3221a;font-weight:600}
td.late{color:#a3221a;font-weight:700}
.del{padding:3px 8px;font-size:.8rem}
input:disabled{background:#f0f2f5;color:#7a8396}
code{background:#f4f6f9;padding:1px 4px;border-radius:4px}
