:root{
  color-scheme: light;
  --surface-1:#fcfcfb; --plane:#f2f2ef; --surface-2:#ffffff;
  --ink:#0b0b0b; --ink-2:#52514e; --ink-3:#898781;
  --line:#e1e0d9; --line-2:#c3c2b7; --ring:rgba(11,11,11,0.10);
  --brand:#2a78d6; --brand-soft:#cde2fb;
  --good:#0ca30c; --warning:#fab219; --critical:#d03b3b;
  --good-text:#006300; --warn-text:#7d5200;
  --auto-bg:#f4f4f1; --head-bg:#eeede8; --radius:10px;
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --surface-1:#1a1a19; --plane:#0d0d0d; --surface-2:#232322;
  --ink:#ffffff; --ink-2:#c3c2b7; --ink-3:#898781;
  --line:#2c2c2a; --line-2:#383835; --ring:rgba(255,255,255,0.10);
  --brand:#3987e5; --brand-soft:#184f95;
  --good-text:#0ca30c; --warn-text:#fab219;
  --auto-bg:#212120; --head-bg:#262625;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--plane);color:var(--ink);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3{margin:0;font-weight:650;letter-spacing:-0.01em}
h1{font-size:19px} h2{font-size:15.5px}
a{color:var(--brand)}
.num{font-variant-numeric:tabular-nums}
.hide{display:none !important}
.spacer{flex:1}

.demobar{position:sticky;top:0;z-index:60;background:var(--surface-1);border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;padding:8px 14px}
.tag{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;white-space:nowrap}
.segmented{display:flex;background:var(--auto-bg);border-radius:8px;padding:2px;gap:2px;overflow-x:auto;scrollbar-width:none}
.segmented::-webkit-scrollbar{display:none}
.segmented button{border:0;background:transparent;padding:5px 12px;border-radius:6px;font-size:13px;font-weight:550;color:var(--ink-2);white-space:nowrap}
.segmented button[aria-pressed="true"]{background:var(--surface-2);color:var(--ink);box-shadow:0 1px 2px var(--ring)}
.iconbtn{border:1px solid var(--line-2);background:var(--surface-1);border-radius:8px;padding:5px 10px;font-size:13px;white-space:nowrap}
.subnav{display:flex;gap:2px;padding:0 14px;background:var(--surface-1);border-bottom:1px solid var(--line);position:sticky;top:45px;z-index:55;overflow-x:auto;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav button{border:0;background:transparent;padding:9px 11px;font-size:13.5px;color:var(--ink-3);border-bottom:2px solid transparent;white-space:nowrap}
.subnav button[aria-pressed="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}

.app{max-width:1160px;margin:0 auto;padding:16px 14px 130px}
.pagehead{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pagehead p{margin:3px 0 0;color:var(--ink-2);font-size:13.5px;max-width:64ch}
.crumb{font-size:12px;color:var(--ink-3)}
.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);margin-top:14px;overflow:hidden}
.card > header{padding:11px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card > header .sub{font-size:12.5px;color:var(--ink-3);font-weight:400}
.card .body{padding:12px 14px}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap}
.pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.pill.good{color:var(--good-text);border-color:color-mix(in srgb,var(--good) 40%,transparent)}
.pill.warn{color:var(--warn-text);border-color:color-mix(in srgb,var(--warning) 60%,transparent)}
.pill.crit{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 45%,transparent)}
.pill.info{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}

.btn{border:1px solid var(--line-2);background:var(--surface-2);border-radius:9px;padding:8px 15px;font-size:14px;font-weight:600}
.btn.main{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.main:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent}
.btn.danger{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 45%,transparent)}
.btn.sm{padding:5px 11px;font-size:12.5px;font-weight:550}

/* livro caixa */
.livro{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--surface-1);margin-top:14px}
.col{min-width:0;display:flex;flex-direction:column}
.col .lrow.tot{margin-top:auto}
.col + .col{border-left:1px solid var(--line-2)}
.colhead{background:var(--head-bg);padding:9px 12px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:8px}
.colhead b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.colhead .t{margin-left:auto;font-weight:650;font-variant-numeric:tabular-nums;font-size:14px}
.lrow{display:flex;align-items:center;gap:8px;padding:5px 12px;border-bottom:1px solid var(--line);min-height:38px}
.lrow .nm{flex:1;min-width:0;font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lrow .nm small{color:var(--ink-3);font-size:11px;width:100%;margin-top:-2px}
.lrow input.money{width:112px;text-align:right;font:inherit;font-size:13.5px;font-variant-numeric:tabular-nums;padding:5px 8px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface-2);color:var(--ink)}
.lrow input.money:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}
.lrow .auto{width:112px;text-align:right;font-size:13.5px;font-variant-numeric:tabular-nums;padding:5px 8px;border:1px solid transparent;background:var(--auto-bg);border-radius:7px;color:var(--ink-2)}
.lrow.sub{background:color-mix(in srgb,var(--auto-bg) 45%,transparent)}
.lrow.tot{background:var(--head-bg);border-top:1px solid var(--line-2);font-weight:650;min-height:42px;border-bottom:0}
.lrow.tot .nm{font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.lrow.tot .auto{background:transparent;color:var(--ink);font-weight:650;font-size:15px}
.mini{border:0;background:transparent;color:var(--brand);font-size:11.5px;font-weight:600;padding:1px 5px;border-radius:5px;text-decoration:underline;text-underline-offset:2px}
.mini:hover{background:var(--brand-soft)}
.secttl{padding:6px 12px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
.freerow{display:flex;gap:6px;padding:5px 12px;border-bottom:1px solid var(--line);align-items:center}
.freerow select{flex:1;min-width:0;font:inherit;font-size:13px;padding:5px 7px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface-2);color:var(--ink)}
.freerow input{width:112px;text-align:right;font:inherit;font-size:13.5px;font-variant-numeric:tabular-nums;padding:5px 8px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface-2);color:var(--ink)}
.freerow .del{border:0;background:transparent;color:var(--ink-3);padding:2px 5px;font-size:13px}
.addrow{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink-3);padding:7px 12px;font-size:12.5px;text-align:left}
.addrow:hover{color:var(--brand);background:var(--auto-bg)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);margin-top:10px;align-items:center}
.legend i{display:inline-block;width:22px;height:13px;border-radius:4px;vertical-align:-2px;margin-right:5px}
.legend .w{background:var(--surface-2);border:1px solid var(--line-2)}
.legend .g{background:var(--auto-bg);border:1px solid var(--line-2)}

/* venda do dia */
/* fechamento — o número mais importante da tela */
.fecha{margin-top:14px;border:1px solid var(--line-2);border-left:5px solid var(--ink-3);border-radius:var(--radius);background:var(--surface-1);overflow:hidden;transition:border-color .18s}
.fecha.ok{border-left-color:var(--good)} .fecha.warn{border-left-color:var(--warning)} .fecha.crit{border-left-color:var(--critical)}
.fecha .fh{display:flex;align-items:center;gap:18px;padding:16px 18px;flex-wrap:wrap}
.fecha .fl{min-width:0}
.fecha .fk{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}
.fecha .fs{font-size:13px;color:var(--ink-2);margin-top:3px}
.fecha .fr{margin-left:auto;display:flex;align-items:center;gap:12px}
.fecha .fv{font-size:44px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.fecha.ok .fv{color:var(--good-text)} .fecha.warn .fv{color:var(--warn-text)} .fecha.crit .fv{color:var(--critical)}
.fecha .fbars{display:flex;border-top:1px solid var(--line)}
.fecha .fbar{flex:1;padding:9px 18px;display:flex;align-items:baseline;gap:8px}
.fecha .fbar+.fbar{border-left:1px solid var(--line)}
.fecha .fbar .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}
.fecha .fbar b{margin-left:auto;font-size:15px;font-variant-numeric:tabular-nums}
@media(max-width:720px){.fecha .fv{font-size:34px}.fecha .fbars{flex-direction:column}.fecha .fbar+.fbar{border-left:0;border-top:1px solid var(--line)}}
.venda{margin-top:14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-1);overflow:hidden}
.venda .vh{display:flex;align-items:baseline;gap:12px;padding:13px 15px;background:color-mix(in srgb,var(--brand) 6%,var(--surface-1));border-bottom:1px solid var(--line)}
.venda .vh .k{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:700}
.venda .vh .v{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-left:auto}
.calcline{display:flex;flex-wrap:wrap;gap:4px 10px;padding:10px 15px;font-size:12.5px;color:var(--ink-2);align-items:center}
.calcline span{white-space:nowrap}
.calcline b{font-variant-numeric:tabular-nums;color:var(--ink)}
.calcline .op{color:var(--ink-3);font-weight:700}

.balance{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface-1);border-top:1px solid var(--line-2);box-shadow:0 -4px 18px rgba(0,0,0,.07)}
.balance .inner{max-width:1160px;margin:0 auto;padding:9px 14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.balance .cell{display:flex;flex-direction:column}
.balance .k{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:650}
.balance .v{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.balance .diff .v{display:flex;align-items:center;gap:7px}
.balance .cell.hero .k{font-size:11px;color:var(--ink-2)}
.balance .cell.hero .v .num{font-size:26px;font-weight:700;letter-spacing:-.02em}
.balance .cell.small .k{font-size:10px}
.balance .cell.small .v{font-size:14px;font-weight:600;color:var(--ink-2)}
.balance .cell.hero{padding-right:16px;border-right:1px solid var(--line)}
@media(max-width:720px){.balance .cell.hero .v .num{font-size:22px}}
.balance .primary{margin-left:auto;display:flex;gap:8px}

.alert{display:flex;gap:9px;align-items:flex-start;border-radius:9px;padding:10px 12px;font-size:13.5px;margin-top:12px;border:1px solid var(--line-2);background:var(--surface-1)}
.alert .ic{flex:none;font-size:14px}
.alert.warn{border-color:color-mix(in srgb,var(--warning) 60%,transparent);background:color-mix(in srgb,var(--warning) 9%,var(--surface-1))}
.alert.crit{border-color:color-mix(in srgb,var(--critical) 45%,transparent);background:color-mix(in srgb,var(--critical) 7%,var(--surface-1))}
.alert.good{border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 8%,var(--surface-1))}

.mask{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:100;display:grid;place-items:center;padding:14px}
.modal{background:var(--surface-1);border-radius:14px;width:min(500px,100%);max-height:88vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.28);border:1px solid var(--line-2)}
.modal header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;position:sticky;top:0;background:var(--surface-1);z-index:2}
.modal .mb{padding:14px 16px}
.modal footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:var(--surface-1)}
.fld{margin-bottom:12px}
.fld label{display:block;font-size:12px;font-weight:650;color:var(--ink-2);margin-bottom:4px}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface-2);color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}
.fld .hint{font-size:11.5px;color:var(--ink-3);margin-top:4px}
.calcbox{background:var(--auto-bg);border-radius:9px;padding:11px 13px;font-size:13px;margin-bottom:12px}
.calcbox .l{display:flex;justify-content:space-between;padding:2px 0;gap:10px}
.calcbox .l b{font-variant-numeric:tabular-nums;white-space:nowrap}
.calcbox .l.big{border-top:1px solid var(--line-2);margin-top:5px;padding-top:6px;font-weight:650;font-size:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.payrow{display:grid;grid-template-columns:1.1fr 1fr 1.15fr auto;gap:6px;margin-bottom:7px;align-items:center}
.payrow select,.payrow input{width:100%;font:inherit;font-size:13px;padding:7px 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2);color:var(--ink)}
.payrow .del{border:0;background:transparent;color:var(--ink-3);padding:2px 4px}
.paysum{display:flex;justify-content:space-between;font-size:12.5px;padding:7px 2px 0;border-top:1px solid var(--line);margin-top:2px}

.caixacard{border:1px solid var(--line);border-radius:var(--radius);margin-top:12px;background:var(--surface-1);overflow:hidden}
.caixacard > .hd{display:flex;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;flex-wrap:wrap}
.caixacard .bd{border-top:1px solid var(--line);padding:0 13px 12px;display:none}
.resumocx{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);cursor:pointer}
.resumocx > div{background:var(--surface-1);padding:8px 13px;display:flex;flex-direction:column}
.resumocx .k{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}
.resumocx .v{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}
@media(max-width:640px){.resumocx{grid-template-columns:repeat(2,1fr)}}
.caixacard.open .bd{display:block}
.chkrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.chkrow:last-child{border-bottom:0}
.chkrow .nm{flex:1;font-size:13.5px}
.chkrow .vl{font-variant-numeric:tabular-nums;font-weight:550;width:104px;text-align:right;font-size:13.5px}
.chk{width:22px;height:22px;border:1.5px solid var(--line-2);border-radius:6px;background:var(--surface-2);display:grid;place-items:center;font-size:12px;color:transparent;flex:none;padding:0}
.chk[aria-pressed="true"]{background:var(--good);border-color:var(--good);color:#fff}
.chkrow.fixed{background:color-mix(in srgb,var(--brand) 7%,transparent)}
.chkrow .was{font-size:11px;color:var(--ink-3);text-decoration:line-through;margin-right:6px}
.toolbar{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650;white-space:nowrap}
th:first-child,td:first-child{text-align:left;font-variant-numeric:normal}
th.l{text-align:left}
tfoot td{font-weight:650;border-top:1px solid var(--line-2);border-bottom:0;background:var(--head-bg)}
td.pos{color:var(--good-text)} td.neg{color:var(--critical)}
td.zero{color:var(--ink-3)}
.tblwrap{overflow-x:auto}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line)}
.tile{background:var(--surface-1);padding:12px 14px}
.tile .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}
.tile .v{font-size:22px;font-weight:650;margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tile .s{font-size:12px;margin-top:1px;color:var(--ink-2)}
.note{font-size:12.5px;color:var(--ink-3);margin-top:10px;padding-left:11px;border-left:2px solid var(--line-2)}

.holerite{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--surface-1);margin-top:14px}
.holerite .hh{padding:16px 18px;background:var(--head-bg);border-bottom:1px solid var(--line-2)}
.holerite .hh .who{font-size:20px;font-weight:650}
.holerite .hh .per{font-size:12.5px;color:var(--ink-2)}
.hl{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid var(--line)}
.hl .nm{flex:1;font-size:14px}
.hl .nm small{display:block;color:var(--ink-3);font-size:11.5px}
.hl .vl{font-variant-numeric:tabular-nums;font-weight:600;font-size:15px}
.hl.final{background:var(--head-bg);border-bottom:0;border-top:1px solid var(--line-2)}
.hl.final .nm{font-weight:650;font-size:15px}
.hl.final .vl{font-size:21px;font-weight:700}
body.present .demobar,body.present .subnav,body.present .presenthide{display:none !important}
body.present .app{padding-top:26px;max-width:640px}

/* importação */
.drop{border:2px dashed var(--line-2);border-radius:12px;background:var(--auto-bg);text-align:center;padding:26px 16px;transition:.15s}
.drop.over{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--auto-bg))}
.drop .dz b{display:block;font-size:15px;margin-bottom:3px}
.drop .dz span{font-size:12.5px;color:var(--ink-3);display:block;max-width:52ch;margin:0 auto}
.impsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:14px}
.impsum div{background:var(--surface-1);padding:11px 13px}
.impsum .k{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}
.impsum .v{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:1px}
.impsum .s{font-size:11.5px;color:var(--ink-3)}
.prev{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin-top:12px}
.prev table{font-size:12.5px}
.prev th{position:sticky;top:0;background:var(--head-bg);z-index:1}
tr.dup td{color:var(--ink-3)}
tr.held td{background:color-mix(in srgb,var(--warning) 10%,transparent)}
.pixgrid{display:grid;grid-template-columns:1fr 240px;gap:0}
.pixgrid > .tblwrap{border-right:1px solid var(--line)}
.pixside{padding:12px 14px}
.pixside h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:700;margin-bottom:8px}
.sideline{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.sideline b{font-variant-numeric:tabular-nums}
.sideline.tt{border-bottom:0;border-top:1px solid var(--line-2);font-weight:650;margin-top:3px;padding-top:8px}
.cxsel{font:inherit;font-size:12.5px;padding:3px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface-2);color:var(--ink);min-width:64px}
.cxsel.none{color:var(--ink-3);border-style:dashed}
.cxsel.fora{color:var(--ink-3);border-style:dashed;background:var(--auto-bg)}
tr.fora td{color:var(--ink-3)}
.depli{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-end;font-size:10px;color:var(--ink-3);padding:2px 0}
.depli em{width:100%;font-style:normal;font-weight:650;color:var(--ink-2);font-size:10.5px}
.depli label{display:flex;flex-direction:column;gap:1px;letter-spacing:.02em}
.depli .depfix{width:64px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;padding:3px 5px;
  border:1px dashed var(--line-2);border-radius:5px;background:var(--auto-bg);color:var(--ink-2)}
.depli input{width:64px;text-align:right;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;padding:2px 5px;
  border:1px solid var(--line-2);border-radius:5px;background:var(--surface-2);color:var(--ink)}
.depli input:focus{outline:2px solid var(--brand);outline-offset:-1px}
.lancli{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-3);padding:2px 0}
.lancli b{color:var(--ink-2)}
.cxsel.manual{border-color:var(--brand);color:var(--brand)}
tr.fora td:nth-child(2),tr.fora td:nth-child(3){text-decoration:line-through}
table.fedtab th.g1,table.fedtab td.g1{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
table.fedtab{font-size:12.5px}
table.fedtab input{width:52px;text-align:right;font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;
  padding:3px 5px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface-2);color:var(--ink)}
table.fedtab input[type=date]{width:106px;font-size:11px;padding:2px 4px}
table.fedtab select{font-size:12px;padding:3px 4px}
table.fedtab th{font-size:9.5px}
.depfed{margin-top:5px;display:flex;flex-direction:column;gap:2px;padding-top:5px;border-top:1px dashed var(--line-2)}
.depfed span{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:650}
.depfed em{font-style:normal;font-size:10.5px;font-weight:600}
table.fedtab input:focus{outline:2px solid var(--brand);outline-offset:-1px}
table.fedtab td{padding:5px 6px}
table.fedtab th{padding:6px 6px}
table.fedtab .calc{color:var(--ink-2)}
.catgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:820px){.catgrid{grid-template-columns:1fr}}
.catrow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.catrow:last-child{border-bottom:0}
.catrow .nm{flex:1;font-size:14px}
.catrow .nm small{display:block;color:var(--ink-3);font-size:11.5px}
.catrow.off .nm{color:var(--ink-3);text-decoration:line-through}
.fedgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px;margin-top:14px}
.fed{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1);overflow:hidden}
.fed .fh{padding:10px 13px;background:var(--head-bg);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.fed .fh b{font-size:14px}
.fed .fr{display:flex;justify-content:space-between;gap:8px;padding:5px 13px;font-size:12.5px;border-bottom:1px solid var(--line)}
.fed .fr:last-child{border-bottom:0}
.fed .fr span{color:var(--ink-2)}
.fed .fr b{font-variant-numeric:tabular-nums}
.fed .fr.tot{background:var(--auto-bg);font-weight:650;font-size:13.5px;padding:8px 13px}
.fed .fr.hd{background:color-mix(in srgb,var(--auto-bg) 50%,transparent);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:700}

@media(max-width:820px){
  .livro{grid-template-columns:1fr}
  .pixgrid{grid-template-columns:1fr}
  .pixgrid > .tblwrap{border-right:0;border-bottom:1px solid var(--line)}
  .col + .col{border-left:0;border-top:2px solid var(--line-2)}
  .two,.payrow{grid-template-columns:1fr}
  .payrow{border:1px solid var(--line);border-radius:9px;padding:8px;gap:7px}
  .balance .primary{width:100%;margin-left:0}
  .balance .primary .btn{flex:1;padding:9px 8px;font-size:13.5px}
  .balance .inner{gap:12px;padding:8px 12px}
  .balance .v{font-size:15px}
  .app{padding:14px 10px 138px}
  .demobar > .tag:last-of-type{display:none}
  .demobar{gap:8px;padding:7px 10px}
}
