:root{--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--mut:#6e6e73;--line:#e5e5ea;--teal:#0e5a6b;--coral:#e0794a;--pos:#1f7a4d;--neg:#b3412a;--r:18px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{width:min(1080px,100% - 32px);margin-inline:auto}main{padding:28px 0 60px}
h1,h2{letter-spacing:-.02em;line-height:1.15;margin:0 0 .4em}h1{font-size:clamp(1.6rem,3.6vw,2.4rem)}h2{font-size:1.25rem}
.bar{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(0,0,0,.06)}
.bar-in{display:flex;align-items:center;justify-content:space-between;height:52px}.brand{font-weight:600;color:var(--ink);text-decoration:none}.brand span{color:var(--mut);font-weight:400;margin-left:6px;font-size:.9em}
nav{display:flex;gap:18px;align-items:center;font-size:.93rem}nav a{color:var(--mut);text-decoration:none}nav a[aria-current]{color:var(--ink);font-weight:600}nav form{margin:0}
.card{background:var(--card);border-radius:var(--r);padding:24px;margin:0 0 20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.05)}
.narrow{max-width:620px;margin-inline:auto}.login{max-width:400px;margin:10vh auto}
.muted{color:var(--mut)}.small{font-size:.86rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--coral);margin:0 0 .5em}
.hero-saldo{background:var(--card);border-radius:24px;padding:28px;margin:0 0 20px;box-shadow:0 10px 30px rgba(0,0,0,.05);border-top:5px solid var(--teal)}
.hero-saldo.pos{border-top-color:var(--pos)}.hero-saldo.neg{border-top-color:var(--neg)}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 12px}.kpi div{background:var(--bg);border-radius:14px;padding:12px 14px}.kpi span{display:block;font-size:.78rem;color:var(--mut)}.kpi b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.plus{color:var(--pos)}.minus{color:var(--neg)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:999px;border:0;background:var(--teal);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.link{background:none;border:0;padding:0;font:inherit;color:var(--teal);cursor:pointer}.danger{color:var(--neg)}
label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:var(--mut);font-weight:500}
input{width:100%;min-width:0;font:inherit;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:42px}input:focus{outline:3px solid rgba(14,90,107,.25);border-color:var(--teal)}
.voce{display:grid;grid-template-columns:150px 1fr 130px 130px auto auto;gap:12px;align-items:end}
.stack{display:grid;gap:14px}.seg{border:0;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}.seg legend{font-size:.82rem;color:var(--mut);margin-bottom:6px}
.seg label{flex-direction:row;align-items:center;gap:8px;background:var(--bg);padding:10px 14px;border-radius:12px;color:var(--ink);font-size:.95rem}
.flash{background:#e8f3ee;color:#174d33;padding:10px 14px;border-radius:12px}.flash.err{background:#fbeae6;color:#8a2c18}
.count{font-size:.8rem;background:var(--bg);color:var(--mut);border-radius:999px;padding:2px 9px;vertical-align:middle;font-weight:500}
.tbl{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}.r{text-align:right;white-space:nowrap}.nota{display:block;color:var(--mut)}
.row-act{white-space:nowrap;text-align:right}.row-act a{color:var(--teal);text-decoration:none;margin-right:12px}.row-act form{display:inline}
tr.editing td{background:#f3f8f9}
.ric{border-top:1px solid var(--line);padding:12px 0}.ric summary{cursor:pointer;display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}.ric .d{font-weight:600;min-width:96px}
.arch td{color:#555}
@media (max-width:760px){.kpi{grid-template-columns:1fr 1fr}.voce{grid-template-columns:1fr 1fr}.f-desc,.f-data{grid-column:1/-1}
 thead{display:none}table,tbody,tr,td{display:block}tr{border-bottom:1px solid var(--line);padding:8px 0}td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}td::before{content:attr(data-l);color:var(--mut);font-size:.82rem;text-align:left}
 td.r:empty{display:none}td.row-act{justify-content:flex-end}td.row-act::before{content:none}.brand span{display:none}.card,.hero-saldo{padding:18px}}
input[type=radio],input[type=checkbox]{width:auto;min-height:0;padding:0}.seg small{font-weight:400}
.kpi.sec{grid-template-columns:1fr 1fr;margin-top:0}.kpi small{display:block;color:var(--mut);font-size:.78rem;margin-top:2px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}input[readonly]{background:var(--bg);color:#444}
table.xl{font-size:.9rem}table.xl th,table.xl td{padding:8px 8px}.xl .grp th{text-align:center;font-size:.72rem;border-bottom:0}
.xl th.ge{background:#eef6f0}.xl th.gu{background:#fbf0ec}.xl td.x{background:#fafafa}
.xl tfoot th,.xl tfoot td{font-weight:600;border-top:2px solid var(--line);border-bottom:0;background:#fafafc}
.badge{display:none}
@media (max-width:760px){.kpi.sec{grid-template-columns:1fr}.two{grid-template-columns:1fr 1fr}.xl td.x{display:none}.xl tfoot{display:none}
 .badge{display:inline-block;margin-left:8px;font-size:.7rem;padding:1px 8px;border-radius:999px;background:var(--bg);color:var(--mut)}.te .badge{background:#e6f2ea;color:#1f7a4d}.tu .badge{background:#fbeae6;color:#b3412a}}
