:root{--bg: #0b0f14;--surface: #121922;--surface2: #1a2430;--border: #223042;--text: #e8eef5;--muted: #8a9bb0;--accent: #34d399;--danger: #f87171;--warn: #fbbf24;--radius: 16px;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1{font-size:24px;letter-spacing:-.02em}h2{font-size:16px}h3{font-size:14px;margin:18px 0 8px;display:flex;gap:8px;align-items:baseline}button{font:inherit;color:inherit;cursor:pointer}code{background:var(--surface2);padding:1px 6px;border-radius:6px;font-size:13px;word-break:break-all}.muted{color:var(--muted)}.small{font-size:13px}.pos{color:var(--accent)}.neg{color:var(--danger)}.dim{opacity:.55}.pad{padding:32px 16px}.wrap{max-width:60%;text-align:right;overflow-wrap:anywhere}.mono{font-family:ui-monospace,monospace;font-size:13px}.layout{min-height:100dvh}aside{position:fixed;z-index:10;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}aside .brand,aside .foot{display:none}nav{display:flex}nav button{flex:1;background:none;border:0;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);min-height:54px}nav button i{font-style:normal;font-size:18px;line-height:1}nav button.on{color:var(--accent)}main{min-width:0;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(88px + env(safe-area-inset-bottom));max-width:1100px;margin:0 auto}@media (min-width: 900px){aside{top:0;right:auto;bottom:0;width:232px;border-top:0;border-right:1px solid var(--border);padding:24px 14px;display:flex;flex-direction:column;background:var(--surface)}aside .brand{display:block;padding:0 10px 22px}aside .foot{display:block;margin-top:auto;padding:0 10px}nav{flex-direction:column;gap:4px}nav button{flex-direction:row;justify-content:flex-start;gap:12px;font-size:15px;padding:11px 12px;border-radius:12px;min-height:0}nav button:hover{background:var(--surface2)}nav button.on{background:var(--surface2)}main{margin-left:232px;max-width:none;padding:32px 36px 48px}main>*{max-width:1040px}}.brand span{color:var(--accent)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px 12px;margin-bottom:16px}.page-head>div{min-width:0}.month-nav{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--muted)}.month-nav span:first-letter{text-transform:uppercase}.month-nav button{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:36px;height:36px;font-size:18px}.month-nav button:disabled{opacity:.35;cursor:default}.month-nav span{padding:0 8px;min-width:130px;text-align:center}.month-nav .link{width:auto;border:0;background:none;font-size:13px}.pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:12.5px}.pill i{flex:none}.pill i{width:8px;height:8px;border-radius:50%;background:var(--warn)}.pill.ok i{background:var(--accent)}.notice{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:14px}.notice.danger{border-left-color:var(--danger)}.notice .link{display:block;margin-top:6px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.kpis.two{grid-template-columns:1fr 1fr}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-width:0}.kpi span{color:var(--muted);font-size:13px}.kpi b{display:block;font-size:21px;letter-spacing:-.02em;margin:2px 0;font-variant-numeric:tabular-nums}.kpi small{color:var(--muted);font-size:12px}.kpi small.pos{color:var(--accent)}.kpi small.neg{color:var(--danger)}@media (min-width: 900px){.kpis:not(.two){grid-template-columns:repeat(4,1fr)}.kpi b{font-size:24px}}.grid2{display:grid;gap:14px;margin-bottom:14px}@media (min-width: 900px){.grid2{grid-template-columns:1fr 1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}.grid2 .panel{margin-bottom:0}.panel.flush{padding:4px 0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.panel-head p{font-size:13px}.empty{color:var(--muted);padding:14px 4px;text-align:center;font-size:14px}.cat-wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}.donut{width:150px;height:150px;flex:none}.donut-label{fill:var(--muted);font-size:9px}.donut-value{fill:var(--text);font-size:15px;font-weight:650}.legend,.plain,.ranked{list-style:none;margin:0;padding:0}.legend{flex:1;min-width:220px}.legend li{display:grid;grid-template-columns:10px 1fr auto 38px;gap:8px;align-items:center;padding:6px 0;font-size:14px}.legend i{width:10px;height:10px;border-radius:3px}.legend em{color:var(--muted);font-style:normal;font-size:12.5px;text-align:right}.legend b,.plain b,.ranked b{font-variant-numeric:tabular-nums;font-weight:600}.bars{width:100%;height:auto}.axis{fill:var(--muted);font-size:10px;text-transform:capitalize}.axis.active{fill:var(--text);font-weight:650}.key{display:flex;gap:16px;justify-content:center;font-size:12.5px;color:var(--muted);margin-top:6px}.key i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.plain li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.plain li:last-child{border-bottom:0}.ranked li{padding:8px 0}.ranked li>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:14px}.ranked small{color:var(--muted);font-size:12px}.bar,.meter{height:6px;background:var(--surface2);border-radius:99px;margin:6px 0 3px;overflow:hidden}.bar i,.meter i{display:block;height:100%;background:var(--accent);border-radius:99px}.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.duo>div{display:flex;flex-direction:column;font-size:13px}.duo b{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.tx-list{display:flex;flex-direction:column}.tx{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:56px}.panel:not(.flush)>.tx-list .tx{padding-left:0;padding-right:0}.tx+.tx{border-top:1px solid var(--border)}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;flex:none}.tx-main{flex:1;min-width:0;display:flex;flex-direction:column}.tx-main b{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-main small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.day{padding:12px 16px 4px;font-size:12.5px;color:var(--muted);text-transform:capitalize;letter-spacing:.02em}.summary{margin:4px 2px 12px;font-size:13.5px}.filters{display:grid;gap:8px;margin-bottom:8px}@media (min-width: 700px){.filters{grid-template-columns:1fr 220px auto}.filters .check{grid-column:1 / -1}}input,select,textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:11px 12px;font:inherit;font-size:16px;min-height:44px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]{width:18px;min-height:0;height:18px;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.seg{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:3px}.seg button{flex:1;border:0;background:none;border-radius:9px;padding:8px 12px;min-height:36px;color:var(--muted)}.seg button.on{background:var(--surface2);color:var(--text)}.btn{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 16px;min-height:44px;font-weight:550}.btn.primary{background:var(--accent);border-color:var(--accent);color:#04130c}.btn.block{display:block;width:100%;margin:14px 0}.btn:disabled{opacity:.5;cursor:default}.link{background:none;border:0;color:var(--accent);padding:6px 8px;font-size:13.5px}.link.danger{color:var(--danger)}.credit-card{background:linear-gradient(135deg,#1f2c3d,#131b26 60%,#0f2a22);border:1px solid var(--border);border-radius:18px;padding:16px;margin-bottom:14px}.cc-top{display:flex;justify-content:space-between;margin-bottom:22px}.cc-top span{color:var(--muted);letter-spacing:.1em}.cc-nums{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.tag{font-size:11px;padding:2px 7px;border-radius:99px;background:var(--surface2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.tag.atual{background:#34d39922;color:var(--accent)}.debt{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.debt+.debt{border-top:1px solid var(--border)}.debt-top,.debt-bottom{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.debt-top>div{display:flex;flex-direction:column;min-width:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000a;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:92dvh;overflow:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{display:flex;gap:10px;justify-content:flex-end}@media (min-width: 700px){.modal{align-items:center}.sheet{border-radius:20px}}details{margin-top:12px}summary{cursor:pointer;color:var(--muted);font-size:13.5px;padding:6px 0}.login{min-height:100dvh;display:grid;place-items:center;padding:16px}.login form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px 22px}.login h1 span{color:var(--accent)}.login label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}@media (prefers-reduced-motion: no-preference){.bar i,.meter i{transition:width .4s ease}}
