:root{--bg:#f4f5fa;--card:#ffffff;--ink:#12141f;--mute:#6a6f85;--line:#e6e8f1;--field:#f1f2f8;--acc:#4f46e5;--acc2:#7c3aed;--in:#059669;--out:#e11d48;--warn:#e11d48;--ok:#059669;--sob:#a7f3d0;--sh:0 1px 2px rgba(18,20,31,.04),0 8px 24px rgba(18,20,31,.06);
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0c0d14;--card:#161824;--ink:#f3f4fb;--mute:#9a9fb8;--line:#262a3b;--field:#1e2132;--acc:#818cf8;--in:#34d399;--out:#fb7185;--warn:#fb7185;--ok:#34d399;--sh:none;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0c0d14;--card:#161824;--ink:#f3f4fb;--mute:#9a9fb8;--line:#262a3b;--field:#1e2132;--acc:#818cf8;--in:#34d399;--out:#fb7185;--warn:#fb7185;--ok:#34d399;--sh:none;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:500 15px/1.45 Manrope,system-ui,sans-serif}
.wrap{max-width:980px;margin:0 auto;padding:20px 16px 56px}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
h1{font:800 24px/1.1 Manrope,sans-serif;letter-spacing:-.02em;margin:0}
.nav{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:999px;padding:4px;box-shadow:var(--sh);border:1px solid var(--line)}
.nav button{width:34px;height:34px;border-radius:50%;border:0;background:var(--field);color:var(--ink);font-size:18px;cursor:pointer}
.nav button:hover{background:var(--acc);color:#fff}
.nav span{min-width:140px;text-align:center;font-weight:700}
button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.hero{margin:0 0 20px;padding:26px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#312e81 0%,#4f46e5 55%,#7c3aed 100%);box-shadow:0 16px 40px rgba(79,70,229,.28)}
.lbl{color:rgba(255,255,255,.75);font-size:13px;font-weight:600}
.big{font:800 clamp(42px,11vw,68px)/1 Manrope,sans-serif;letter-spacing:-.04em;margin:6px 0 18px;color:#fff}
.big.neg{color:#ffc2cd}
.sub{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sub span{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.14);border-radius:14px;padding:10px 14px;font-size:12px;color:rgba(255,255,255,.78);font-weight:600}
.sub b{font-size:clamp(15px,4vw,20px);font-weight:800;color:#fff;letter-spacing:-.01em}
.bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.18);margin:22px 0 10px;gap:2px}
.bar i{display:block;height:100%;min-width:0}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:rgba(255,255,255,.8);font-weight:600}
.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:5px}
.note{font-size:13px;color:#ffd1d9;margin-top:8px;font-weight:700}
.grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:860px){.grid{grid-template-columns:1fr 1fr;align-items:start}}
section{background:var(--card);border-radius:22px;padding:8px 18px 18px;box-shadow:var(--sh);border:1px solid var(--line)}
h2{font:800 18px Manrope,sans-serif;margin:14px 0 6px;display:flex;justify-content:space-between;align-items:center;letter-spacing:-.01em}
#s-in h2:before,#s-out h2:before{content:"";width:10px;height:10px;border-radius:50%;margin-right:8px}
#s-in h2:before{background:var(--in)}#s-out h2:before{background:var(--out)}
h2 small{font:600 12px Manrope,sans-serif;color:var(--mute);margin-left:auto;background:var(--field);padding:4px 10px;border-radius:999px}
.row{display:grid;grid-template-columns:minmax(0,1fr) 88px 88px 24px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.row.head{border-top:0;color:var(--mute);font-size:12px;font-weight:600;padding-bottom:2px}
.row.head span:nth-child(2),.row.head span:nth-child(3){text-align:right;padding-right:8px}
.name{overflow-wrap:anywhere;font-weight:700}
.diff{display:block;font-size:11px;font-weight:700;text-align:right;min-height:14px;grid-column:3;margin-top:-6px;padding-right:8px}
input{font:inherit;font-weight:600;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:var(--field);color:var(--ink);text-align:right}
input:focus{border-color:var(--acc);background:var(--card)}
input::placeholder{color:var(--mute);opacity:.6}
input.txt{text-align:left}
.x{border:0;background:none;color:var(--mute);font-size:18px;cursor:pointer;padding:0;height:26px;border-radius:50%}
.x:hover{color:var(--warn)}
.tot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:12px 14px;border-radius:14px;background:var(--field);font-weight:800}
#tot-in{color:var(--in)}#tot-out{color:var(--out)}
.add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
.add button,.ghost{font:inherit;font-weight:700;padding:8px 16px;border-radius:10px;border:0;background:var(--acc);color:#fff;cursor:pointer}
.add button:hover{filter:brightness(1.1)}
.ghost{background:var(--field);color:var(--mute)}
.ghost:hover{color:var(--warn)}
.exp{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.exp[hidden]{display:none}.exp button{font:inherit;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:var(--sh)}.exp button:hover{background:var(--acc);color:#fff;border-color:var(--acc)}
.modal{position:fixed;inset:0;z-index:50;background:rgba(10,11,20,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}
.modal[hidden]{display:none}
.mbox{position:relative;background:var(--card);color:var(--ink);border-radius:24px;width:100%;max-width:720px;max-height:100%;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35)}
#chbody{overflow-y:auto;padding:8px 22px 24px}
#chbody h2{padding-right:44px}
.mclose{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:var(--field);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;z-index:1}
#cf{z-index:60}
.cbox{max-width:380px;padding:24px}.cbox p{margin:0 0 18px;font-weight:700;font-size:16px}
.cbtns{display:flex;gap:8px;justify-content:flex-end}
.cbtns button{font:inherit;font-weight:700;padding:9px 18px;border-radius:10px;border:0;cursor:pointer;background:var(--out);color:#fff}
.cbtns .ghost{background:var(--field);color:var(--mute)}.cbtns .ok{background:var(--acc)}.cbtns button[hidden]{display:none}
.srt{font:inherit;font-weight:700;font-size:12px;margin-left:8px;padding:4px 10px;border-radius:999px;border:0;background:var(--field);color:var(--ink);cursor:pointer}
.srt:hover{background:var(--acc);color:#fff}
.err{color:var(--warn);font-size:13px;font-weight:700;margin-top:8px}
.err:empty{display:none}
input.bad,input.bad:focus{border-color:var(--warn)}
.mclose:hover{background:var(--acc);color:#fff}
.ch{display:grid;gap:26px}.ch h3{font:800 15px Manrope,sans-serif;margin:0 0 12px}.ch p{margin:0}
.donut{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.lg2{flex:1;min-width:220px;display:grid;gap:7px;font-size:13px}
.lg2 div{display:flex;align-items:center;gap:8px}.lg2 i{width:10px;height:10px;border-radius:50%;flex:none}.lg2 span{flex:1;overflow-wrap:anywhere;font-weight:600}.lg2 b{font-weight:800}.lg2 small{min-width:32px;text-align:right}
.cr{display:grid;grid-template-columns:minmax(90px,150px) 1fr 84px;gap:12px;align-items:center;font-size:13px;margin-bottom:10px}
.cr span{font-weight:600;overflow-wrap:anywhere}.cr em{font-style:normal;text-align:right;font-weight:800}
.trk{display:grid;gap:3px}.trk i{display:block;height:8px;border-radius:99px;min-width:2px}
.lgd{display:flex;gap:16px;font-size:12px;font-weight:600;color:var(--mute);margin-bottom:12px}.lgd i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
@media print{
html:root:not([data-theme="never"]){--bg:#fff;--card:#fff;--ink:#12141f;--mute:#6a6f85;--line:#e6e8f1;--field:#f1f2f8;--in:#059669;--out:#e11d48;--warn:#e11d48;--ok:#059669;--sh:none;color-scheme:light}
body{background:#fff}
.wrap{max-width:none;padding:0}
.exp,footer,.x,.add,.modal,.nav button{display:none!important}
.nav{border:0;box-shadow:none;padding:0;background:none}
.nav span{font-weight:800}
.hero{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
.hero *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.grid{grid-template-columns:1fr 1fr;gap:14px}
section{box-shadow:none;break-inside:avoid;padding:4px 12px 12px}
input{border:0;background:none;padding:4px 0;-moz-appearance:textfield;appearance:textfield}
input::placeholder{color:transparent}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.row{grid-template-columns:minmax(0,1fr) 70px 70px}
.row .x{display:none}
}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;color:var(--mute);font-size:12px;margin-top:20px}
.over{color:var(--warn)}.under{color:var(--ok)}
@media(max-width:420px){.row{grid-template-columns:minmax(0,1fr) 76px 76px 20px}.hero{padding:20px}}
/* Adições para a versão servidor */
.ubar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ubar a{color:var(--acc);font-weight:700;text-decoration:none}
.ubar a:hover{text-decoration:underline}
form.inline{display:inline;margin:0}
.loading{color:var(--mute);padding:16px 0}
#sync.bad{color:var(--warn);font-weight:700}
body.auth{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:48px 16px}
.abox{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);padding:24px}
.abox h1{margin-bottom:6px}.abox h2{font-size:16px;margin-top:24px}
.abox form{display:grid;gap:12px;margin-top:12px}
.abox label{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--mute)}
.abox a{color:var(--acc);font-weight:700}
.muted{color:var(--mute)}
.primary,.btnlink{font:inherit;font-weight:700;padding:10px 16px;border-radius:10px;border:0;background:var(--acc);color:#fff!important;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.primary:hover{filter:brightness(1.1)}
.okmsg{color:var(--ok);font-weight:700}
.warnbox{background:var(--field);border-left:4px solid var(--warn);padding:10px 12px;border-radius:8px}
.ulist{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.ulist li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--field);border-radius:10px;font-weight:700}
@media print{.ubar{display:none!important}}
.hbtns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ubtn{font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;background:var(--acc);color:#fff;text-decoration:none;box-shadow:var(--sh)}
.ubtn:hover{filter:brightness(1.1)}
.ubtn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media print{.ubtn{display:none!important}}
