:root{color-scheme:light;--bg: #f6f6f3;--surface: #fcfcfb;--surface-2: #f0efec;--ink: #0b0b0b;--ink-2: #52514e;--muted: #6e6d68;--border: rgba(11, 11, 11, .1);--grid: #e1e0d9;--axis: #c3c2b7;--accent: #1d5fb3;--accent-ink: #ffffff;--accent-soft: #e3eefc;--s-in: #2a78d6;--s-out: #eb6834;--s-3: #1baf7a;--s-pos: #2a78d6;--s-neg: #e34948;--good: #0ca30c;--good-ink: #006300;--good-soft: #e3f4e3;--warning: #fab219;--warning-soft: #fdf1d6;--critical: #d03b3b;--critical-ink: #b42323;--critical-soft: #fbe5e5;--in-ink: #1c5cab;--out-ink: #b34515;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--radius: 16px;--tabbar-h: 64px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #242422;--ink: #f0efec;--ink-2: #c3c2b7;--muted: #9a998f;--border: rgba(255, 255, 255, .1);--grid: #2c2c2a;--axis: #383835;--accent: #3987e5;--accent-ink: #ffffff;--accent-soft: #1b2b40;--s-in: #3987e5;--s-out: #d95926;--s-3: #199e70;--s-pos: #3987e5;--s-neg: #e66767;--good-ink: #0ca30c;--good-soft: #15291a;--warning-soft: #33280f;--critical-ink: #e66767;--critical-soft: #361a1a;--in-ink: #86b6ef;--out-ink: #f0905f;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #242422;--ink: #f0efec;--ink-2: #c3c2b7;--muted: #9a998f;--border: rgba(255, 255, 255, .1);--grid: #2c2c2a;--axis: #383835;--accent: #3987e5;--accent-ink: #ffffff;--accent-soft: #1b2b40;--s-in: #3987e5;--s-out: #d95926;--s-3: #199e70;--s-pos: #3987e5;--s-neg: #e66767;--good-ink: #0ca30c;--good-soft: #15291a;--warning-soft: #33280f;--critical-ink: #e66767;--critical-soft: #361a1a;--in-ink: #86b6ef;--out-ink: #f0905f;--shadow: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@supports (overflow: clip){html,body{overflow-x:clip}}img,svg,video{max-width:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);overflow-x:hidden;-webkit-tap-highlight-color:transparent}body.locked{overflow:hidden}h1,h2,h3{margin:0;line-height:1.2}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:6px}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}svg{flex-shrink:0}code{font-size:.9em;background:var(--surface-2);padding:1px 5px;border-radius:6px;overflow-wrap:anywhere}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boot{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.shell{min-height:100vh}.sidebar{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px}.brand img{border-radius:7px}.content{width:100%;max-width:1240px;margin:0 auto;padding:8px 16px calc(var(--tabbar-h) + 150px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;min-width:0}.tabbar{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;font-size:11px;color:var(--muted);text-decoration:none}.tabbar a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar a.on{color:var(--accent);font-weight:600}.fab{position:fixed;right:16px;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));z-index:31;width:60px;height:60px;border-radius:20px;border:0;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 20px #1d5fb359;cursor:pointer;transition:transform .15s}.fab:active{transform:scale(.94)}.fab-mini{position:fixed;right:22px;bottom:calc(var(--tabbar-h) + 16px + 60px + 12px + env(safe-area-inset-bottom));z-index:31;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--surface);color:var(--accent);border:1px solid var(--border);box-shadow:0 4px 16px #0000002e;transition:transform .15s}.fab-mini.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.fab-mini:active{transform:scale(.94)}@media(min-width:960px){.shell{display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:20px 14px;border-right:1px solid var(--border);background:var(--surface)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-weight:500}.sidebar nav a:hover{background:var(--surface-2)}.sidebar nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.add-side kbd{margin-left:auto;font:600 11px var(--font);padding:1px 6px;border-radius:5px;background:#fff3}.topbar,.tabbar,.fab,.fab-mini{display:none}.content{padding:24px 28px 48px;gap:20px}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.page-title{font-size:22px;font-weight:700;margin-right:auto}.month-nav{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2px}.month-label{border:0;background:none;font-weight:600;font-size:15px;padding:6px 8px;min-width:132px;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.1}.month-label small{font-size:10px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.toolbar>.segmented:last-child{margin-left:auto}@media(max-width:520px){.toolbar .month-nav{flex:1 1 auto;justify-content:space-between}.toolbar>.segmented:last-child{flex:1 1 100%}}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);cursor:pointer;text-decoration:none}.icon-btn:hover,.icon-btn.on{background:var(--surface-2);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 16px;border-radius:12px;border:1px solid transparent;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:filter .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.primary.in{background:var(--in-ink)}.btn.primary.out{background:var(--accent)}.btn.soft{background:var(--accent-soft);color:var(--accent)}.btn.ghost{background:transparent;border-color:var(--border);color:var(--ink)}.btn.danger{color:var(--critical-ink)}.btn.block{width:100%}.btn.tiny{min-height:32px;padding:4px 10px;font-size:13px;border-radius:9px}.btn.tiny svg{width:16px;height:16px}.btn.whats{background:#e7f6ec;color:#11733a}:root[data-theme=dark] .btn.whats{background:#133220;color:#5fd38d}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.whats{background:#133220;color:#5fd38d}}.link{border:0;background:none;padding:4px 0;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2);max-width:100%}.segmented button{flex:1 1 auto;border:0;background:transparent;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001a}.row-wrap{display:flex;flex-wrap:wrap;gap:10px}.grid{display:grid;gap:12px;min-width:0}.grid>*{min-width:0}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid.kpis{display:flex;flex-wrap:wrap}.kpis>*{flex:1 1 calc(50% - 12px)}@media(min-width:760px){.kpis>*{flex-basis:calc(25% - 12px)}}.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid.cards{display:flex;flex-wrap:wrap}.cards>*{flex:1 1 280px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px}.label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);font-weight:500}.label svg{width:16px;height:16px}.sub{display:block;font-size:13px;color:var(--ink-2);margin-top:6px}.muted{color:var(--muted);font-size:13px;margin:0}.empty{color:var(--muted);font-size:14px;margin:4px 0;text-align:center;padding:12px 0}.error-box{background:var(--critical-soft);color:var(--critical-ink);padding:12px 16px;border-radius:12px;margin:0}.skeleton{min-height:170px;background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.pos{color:var(--good-ink)}.neg{color:var(--critical-ink)}.in-text{color:var(--in-ink)}.out-text{color:var(--out-ink)}.hero{display:flex;flex-direction:column}.hero-value{font-size:clamp(34px,7vw,48px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:4px;overflow-wrap:anywhere}.hero-split{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:auto;padding-top:14px}.hero-split>div{display:flex;flex-direction:column}.hero-split b{font-size:18px}.hero-split small{color:var(--muted);font-size:12px}.highlight{display:flex;flex-direction:column;gap:8px}.highlight .card-head{margin-bottom:0}.highlight.spend{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:linear-gradient(160deg,var(--accent-soft),var(--surface) 70%)}.highlight.spend.over{border-color:color-mix(in srgb,var(--critical) 45%,var(--border));background:linear-gradient(160deg,var(--critical-soft),var(--surface) 70%)}.highlight.invest{border-color:color-mix(in srgb,var(--good) 35%,var(--border));background:linear-gradient(160deg,var(--good-soft),var(--surface) 70%)}.highlight .btn{align-self:flex-start;white-space:normal}.big-value{display:flex;align-items:center;gap:8px;font-size:clamp(28px,6vw,36px);font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px}.kpi strong{font-size:clamp(17px,1.2vw + 10px,24px);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .sub{margin-top:2px}.kpi.warn{border-color:color-mix(in srgb,var(--warning) 60%,var(--border));background:var(--warning-soft)}.kpi.warn .label svg{color:#a86f00}.meter{height:10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 16%,var(--surface-2));overflow:hidden}.meter>div{height:100%;border-radius:99px;background:var(--accent);transition:width .4s ease}.meter.good{background:color-mix(in srgb,var(--good) 18%,var(--surface-2))}.meter.good>div{background:var(--good)}.meter.warning{background:color-mix(in srgb,var(--warning) 22%,var(--surface-2))}.meter.warning>div{background:var(--warning)}.meter.critical{background:color-mix(in srgb,var(--critical) 18%,var(--surface-2))}.meter.critical>div{background:var(--critical)}.invest .meter.accent{background:color-mix(in srgb,var(--good) 18%,var(--surface-2))}.invest .meter.accent>div{background:var(--good)}.tx-group+.tx-group{margin-top:14px}.tx-group-head{display:flex;justify-content:space-between;gap:8px;margin:0 0 2px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.tx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tx{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 0;border-top:1px solid var(--border)}.tx:first-child{border-top:0}.check{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:2px solid var(--axis);background:transparent;color:transparent;cursor:pointer;transition:all .15s}.check svg{width:16px;height:16px}.check:hover:not(:disabled){border-color:var(--good);color:var(--good)}.tx.paid .check{background:var(--good);border-color:var(--good);color:#fff}.tx.overdue .check{border-color:var(--critical)}.tx.virtual .check{border-style:dashed;cursor:default}.tx-main{flex:1 1 140px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:none;padding:2px 0;text-align:left;cursor:pointer}.tx-main:disabled{cursor:default}.tx-desc{font-weight:500;overflow-wrap:anywhere}.tx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12px;color:var(--muted)}.tx-meta .late{padding:0 6px;border-radius:999px;background:var(--critical-soft);color:var(--critical-ink);font-weight:600}.late-card{border-color:color-mix(in srgb,var(--critical) 45%,var(--border));background:linear-gradient(160deg,var(--critical-soft),var(--surface) 70%)}.late-card h2{display:flex;align-items:center;gap:6px;color:var(--critical-ink)}.tx-amount{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.tx.in .tx-amount{color:var(--in-ink)}.tx.paid:not(.in) .tx-amount{color:var(--ink-2)}.tx.in:not(.paid) .tx-amount{color:var(--good-ink)}.tx.out:not(.paid) .tx-amount{color:var(--critical-ink)}.tx-action{flex:0 0 auto}.badge{display:inline-block;padding:0 6px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.03em;line-height:18px}.badge.PJ{background:var(--accent-soft);color:var(--accent)}.badge.PF{background:color-mix(in srgb,var(--s-3) 18%,var(--surface));color:color-mix(in srgb,var(--s-3) 70%,var(--ink))}.badge.pageia{background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:color-mix(in srgb,var(--warning) 75%,var(--ink))}.pageia-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:8px 10px;margin-bottom:10px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--ink-2)}.pageia-bar .pageia-info{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:1 1 220px;min-width:0}.pageia-bar b{color:var(--ink)}.pageia-bar .err{color:var(--critical)}.filters{display:flex;flex-direction:column;gap:12px}.filters>.btn{align-self:flex-start}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 12px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.search input{flex:1 1 160px;min-width:0;border:0;background:transparent;padding:8px 0;outline:none;color:var(--ink)}.totals{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-2)}.day-title{font-size:14px;text-transform:capitalize}.day .card-head{margin-bottom:4px}.client{display:flex;flex-direction:column;gap:10px;border-left:4px solid var(--border)}.client.paid{border-left-color:var(--good)}.client.late{border-left-color:var(--critical)}.client.pending{border-left-color:var(--warning)}.client.inactive{opacity:.6}.client-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;background:none;padding:0;text-align:left;cursor:pointer}div.client-main,div.overdue-main{cursor:default}.client-name{font-weight:600;overflow-wrap:anywhere}.client-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.client-row strong{font-size:20px}.client-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto}.status{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px}.status.paid{background:var(--good-soft);color:var(--good-ink)}.status.late{background:var(--critical-soft);color:var(--critical-ink)}.status.pending{background:var(--warning-soft);color:#8a5a00}:root[data-theme=dark] .status.pending{color:var(--warning)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .status.pending{color:var(--warning)}}.chart{position:relative;width:100%;min-width:0}.chart svg{display:block;overflow:visible}.chart .gridline{stroke:var(--grid);stroke-width:1}.chart .axis{stroke:var(--axis);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .hover-band{fill:var(--ink);opacity:.05}.chart .crosshair{stroke:var(--axis);stroke-dasharray:3 3}.chart .marker{stroke:var(--surface);stroke-width:2}.chart path{stroke:var(--surface);stroke-width:.5}.tooltip{position:absolute;top:0;transform:translate(-50%,-8px);pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 24px #00000024;border-radius:10px;padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:3px;min-width:150px;max-width:240px;z-index:5}.tooltip strong{font-size:12.5px;margin-bottom:2px}.tt-row{display:flex;align-items:center;gap:6px;color:var(--ink-2)}.tt-row i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.tt-row b{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 8px;padding:0;font-size:12px;color:var(--ink-2)}.legend li{display:flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:3px;border:0 solid}.swatch.dashed{height:0;width:16px;border-top-width:2px;border-top-style:dashed;border-radius:0}.cat-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cat-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:13.5px;margin-bottom:4px}.cat-name{font-weight:500}.cat-val{font-variant-numeric:tabular-nums;font-weight:600}.cat-val small{color:var(--muted);font-weight:500;margin-left:4px}.cat-track{height:8px;border-radius:99px;background:var(--surface-2)}.cat-fill{height:100%;border-radius:99px;background:var(--s-in);min-width:4px}.projection .proj-basis{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink-2);margin-bottom:14px}.grid.flat{gap:20px}.card-head.wrap{align-items:center}.month-table{list-style:none;margin:0;padding:0}.month-table li{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:4px 12px;padding:10px 0 10px 10px;border-top:1px solid var(--border);border-left:3px solid transparent;font-variant-numeric:tabular-nums}.month-table li.loss{border-left-color:var(--critical)}.month-table small{color:var(--muted);margin-right:4px}.mt-month{font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;align-items:start}.form-grid .wide{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:600;color:var(--ink-2)}.field-hint{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:16px}.field textarea{resize:vertical}.field .segmented{width:100%}.amount-input{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border-radius:16px;background:var(--surface-2);border:2px solid transparent}.amount-input:focus-within{border-color:var(--accent)}.amount-input span{font-size:22px;font-weight:600;color:var(--muted)}.amount-input input{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;font-size:40px;font-weight:700;letter-spacing:-.02em}.amount-input.in input{color:var(--in-ink)}.amount-input.invest input{color:var(--good-ink)}.amount-input.small{flex:1 1 140px;padding:6px 12px}.amount-input.small input{font-size:22px}.amount-input.small span{font-size:15px}.overlay{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:560px;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 -8px 40px #0003;animation:rise .2s cubic-bezier(.2,.9,.3,1.1);outline:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px 20px}.sheet-head h2{font-size:18px}.sheet-body{padding:8px 20px 16px;overflow-y:auto;overscroll-behavior:contain}.sheet-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.sheet-foot .btn.primary:last-child{margin-left:auto}.sheet-foot .btn.block{flex:1}@media(min-width:640px){.overlay{align-items:center;padding:24px}.sheet{border-radius:22px}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}@keyframes fade{0%{opacity:0}}.quick{display:flex;flex-direction:column;gap:14px}.quick>.segmented{width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:7px 12px;font-size:14px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .1s}.chip:hover{background:var(--surface-2)}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hint{margin:-6px 0 0;font-size:12px;color:var(--muted)}.toast-zone{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));z-index:200;display:flex;justify-content:center;padding:0 92px 0 16px;pointer-events:none}@media(min-width:960px){.toast-zone{bottom:24px;padding-left:240px;padding-right:16px}}.toast{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;max-width:520px;padding:12px 16px;border-radius:14px;background:#1f1f1d;color:#f0efec;font-size:14px;box-shadow:0 8px 30px #00000040;animation:rise .2s ease}.toast .link{color:#86b6ef;font-size:14px}.toast.error{background:var(--critical);color:#fff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.link.more{display:block;margin:8px auto 0}.proj-note{margin:-4px 0 10px}.period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.period-bar .muted{font-size:13px}.saved-line{align-self:flex-start;font-size:13px}.bucket{display:flex;flex-direction:column;gap:8px}.section-title{margin:4px 0 -4px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.fii-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fii-head-actions .muted{font-size:13px}.fii-totals{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 8px;font-size:14px;color:var(--ink-2)}.fii-list{list-style:none;margin:0;padding:0}.fii{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--border)}.fii-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;min-width:0}.fii-ticker{font-weight:700;font-size:16px}.fii-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.fii-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.fii-cols>span{display:flex;flex-direction:column;min-width:0}.fii-cols small{font-size:11.5px;color:var(--muted)}.fii-cols b{font-variant-numeric:tabular-nums}.fii-cols em{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fii-cols em.pos{color:var(--good-ink)}.fii-cols em.neg{color:var(--critical-ink)}.fii-note{margin:10px 0 0;font-size:12px}@media(min-width:900px){.fii{grid-template-columns:minmax(150px,1.1fr) minmax(0,4fr) auto;align-items:center}.fii-cols{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid.buckets{display:flex;flex-wrap:wrap}.buckets>*{flex:1 1 280px}.kpis.duo>*{flex-basis:calc(50% - 12px)}.kpi.accent strong{font-size:clamp(22px,2vw + 12px,32px)}.kpi.accent.in{border-color:color-mix(in srgb,var(--good) 35%,var(--border));background:linear-gradient(160deg,var(--good-soft),var(--surface) 75%)}.kpi.accent.out{border-color:color-mix(in srgb,var(--critical) 35%,var(--border));background:linear-gradient(160deg,var(--critical-soft),var(--surface) 75%)}.kpi .label svg{color:var(--critical-ink)}.content,.card,.sheet-body{overflow-wrap:anywhere}.inline-form>input{flex:1 1 200px;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:16px}.sheet-foot .btn{flex:1 1 0}.sheet-foot .btn.primary:last-child{margin-left:0}@media(min-width:640px){.sheet-foot .btn{flex:0 1 auto}.sheet-foot .btn.primary:last-child{margin-left:auto}}@media(max-width:640px){.content,.topbar{padding-left:18px;padding-right:18px}.card{padding:16px}.page-title{flex:1 1 100%}.segmented{display:flex;width:100%}.segmented button{flex:1 1 0;min-width:max-content;padding:9px 10px}.toolbar .month-nav,.toolbar>.segmented,.filter-row>*,.period-bar>*,.fii-head-actions>*{flex:1 1 100%}.toolbar .month-nav{justify-content:space-between}.toolbar>.segmented:last-child{margin-left:0}.btn{white-space:normal;text-align:center;min-height:46px}.btn.tiny{min-height:40px;font-size:14px}.filters>.btn,.highlight .btn,.card>.btn{align-self:stretch;width:100%}.client-actions>*,.inline-form>*{flex:1 1 0}.client-actions>.icon-btn{flex:0 0 auto}.inline-form>.amount-input.small,.inline-form>input{flex:1 1 100%}.sheet-foot,.sheet-body{padding-left:18px;padding-right:18px}.sheet-head{padding-left:18px}.month-table li{grid-template-columns:1fr 1fr;padding-left:8px}.month-table .mt-month{grid-column:1 / -1}.totals,.fii-totals{gap:4px 14px}.card-head>.totals{flex:1 1 100%}.hero-value{font-size:clamp(30px,9vw,40px)}}@media(max-width:380px){.kpis>*,.kpis.duo>*{flex-basis:100%}.fii-cols{grid-template-columns:1fr}}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 18px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:24px}.login-card .field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:16px}.source-tabs{margin-bottom:12px}.client-phone{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.status.none{background:var(--surface-2);color:var(--muted);font-weight:600}.overdue-list{border-left:4px solid var(--critical)}.overdue-list ul{list-style:none;margin:0;padding:0}.overdue-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0;border-top:1px solid var(--border)}.overdue-list li:first-child{border-top:0}.overdue-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1 1 200px;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}.token-new{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:var(--good-soft)}.token-new code{display:block;padding:8px 10px;border-radius:8px;background:var(--surface);overflow-wrap:anywhere;user-select:all}.token-list{list-style:none;margin:0;padding:0}.token-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 0;border-top:1px solid var(--border)}.token-list li:first-child{border-top:0}.token-list .token-info{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}.token-list li.off{opacity:.6}
