:root{--font-body:clamp(.95rem, .88rem + .3vw, 1.05rem);--font-small:clamp(.8rem, .76rem + .2vw, .9rem);--font-tab:clamp(.68rem, .6rem + .4vw, .95rem);--font-kpi:clamp(1.15rem, .95rem + 1vw, 1.6rem);--font-title:clamp(1.1rem, 1rem + .6vw, 1.4rem);--space-1:clamp(.25rem, .2rem + .25vw, .4rem);--space-2:clamp(.5rem, .4rem + .5vw, .75rem);--space-3:clamp(.75rem, .6rem + .8vw, 1.25rem);--space-4:clamp(1rem, .8rem + 1.2vw, 2rem);--radius:12px;--tabbar-h:3.75rem;--bg:#f5f7fa;--surface:#fff;--surface-2:#eef2f7;--text:#16202b;--muted:#5b6776;--border:#d8dee6;--accent:#1f4e78;--accent-text:#fff;--expense:#b42318;--income:#146c43;--warn:#b26b00;--track:#e3e8ef;--focus:#2f7ad1;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Arial,sans-serif;font-size:100%;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f141a;--surface:#18202a;--surface-2:#212b37;--text:#e6ebf1;--muted:#9aa6b4;--border:#2c3846;--accent:#5b9bd5;--accent-text:#0b1520;--expense:#f2786b;--income:#4cc38a;--warn:#f0b44c;--track:#2a3542;--focus:#7fb4ff;--shadow:none}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-size:var(--font-body);margin:0}h1,h2,h3,p,li,td,th,dd,span{overflow-wrap:break-word}h1,h2,h3,p{margin:0}img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(1rem, var(--font-body))}button,a,input,select,[role=button]{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:var(--font-small)}.expense{color:var(--expense)}.income{color:var(--income)}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5rem)}.topbar{z-index:10;padding:calc(env(safe-area-inset-top) + var(--space-2)) var(--space-3) var(--space-2);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.brand{font-size:var(--font-title);width:min(100%,64rem);margin-inline:auto;font-weight:700}.tabs{z-index:20;min-height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.tab{min-width:0;min-height:44px;padding:var(--space-1);color:var(--muted);font-size:var(--font-tab);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.15rem;font-weight:600;display:flex}.tab-icon{stroke-width:1.8px;width:1.5rem;height:1.5rem}.tab-long{display:none}.tab-short{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tab[aria-current=page]{color:var(--accent)}.tab[aria-current=page] .tab-icon{stroke-width:2.3px}.content{width:min(100% - 2rem,64rem);padding-block:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-danger{color:var(--expense);border-color:currentColor}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;place-items:center;min-width:44px;min-height:44px;font-size:1.4rem;line-height:1;display:inline-grid}.text-btn{min-height:44px;padding-inline:var(--space-2);color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:600}.row{gap:var(--space-2);flex-wrap:wrap;display:flex}.fab{right:calc(env(safe-area-inset-right) + var(--space-3));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-3));z-index:15;align-items:center;gap:var(--space-1);min-height:3.25rem;padding:0 var(--space-4);background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:999px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 6px 16px #10182840}.fab span{font-size:1.4em;line-height:1}.btn-icon{flex:none;width:1.15em;height:1.15em}.chip-icon{flex:none;width:1.1em;height:1.1em}.meta-icon{vertical-align:-.15em;width:1em;height:1em}.key-icon{width:1.1em;height:1.1em}.brand-plate{border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.brand-plate img{width:auto;max-width:100%;height:100%;display:block}.brand-plate-light{background:#fff;box-shadow:inset 0 0 0 1px #00000014}.brand-plate-dark{background:#0d1117;box-shadow:inset 0 0 0 1px #ffffff14}.brand-plate-lime{background:#9fe870}.brand-mark{vertical-align:-.28em;height:1.15em;padding:.12em .3em}.brand-mark.chip-icon{height:1.3em}.chip .chip-brand{padding-inline:var(--space-1);justify-content:center}.brand-logo{max-width:100%;padding:.3rem .45rem}.brand-logo img{height:1rem}.badge-brand{padding:.3rem}.badge-brand img{object-fit:contain;width:100%;height:100%}.switcher{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.switcher-label{font-size:var(--font-title);text-align:center;flex:8rem;min-width:0}.stack{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.panel{gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;display:grid}.panel-title{font-size:var(--font-body);font-weight:700}.kpis{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.kpi{gap:var(--space-1);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;display:grid}.kpi-label{color:var(--muted);font-size:var(--font-small);font-weight:600}.kpi-value{font-size:var(--font-kpi);font-variant-numeric:tabular-nums;font-weight:700}.grid-2{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;display:grid}.budget-line{justify-content:space-between;gap:var(--space-1) var(--space-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.facts{gap:var(--space-2) var(--space-4);margin:var(--space-1) 0 0;flex-wrap:wrap;display:flex}.facts dt{color:var(--muted);font-size:var(--font-small)}.facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.share-list,.txn-list,.budget-list,.steps{margin:0;padding:0;list-style:none}.share-list{gap:var(--space-2);display:grid}.share-row{gap:var(--space-1) var(--space-2);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label amount""bar pct";align-items:center;display:grid}.share-label{align-items:center;gap:var(--space-2);grid-area:label;min-width:0;display:flex}.share-name{overflow-wrap:break-word;min-width:0}.share-label .badge{flex:none;width:1.75rem;height:1.75rem}.share-amount{white-space:nowrap;grid-area:amount}.share-row .bar{grid-area:bar}.share-pct{color:var(--muted);font-size:var(--font-small);text-align:right;grid-area:pct;min-width:3.5em}.bar{width:100%;height:.5rem;display:block}.bar-track{fill:var(--track)}.bar-fill,.bar-expense{fill:var(--accent)}.bar-income{fill:var(--income)}.bar-warn{fill:var(--warn)}.bar-over{fill:var(--expense)}.empty{justify-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center;color:var(--muted);display:grid}.empty-line{text-align:center;padding:var(--space-4) 0}.toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.search{flex:14rem}.summary-strip{gap:var(--space-1) var(--space-4);color:var(--muted);font-size:var(--font-small);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.day{gap:var(--space-1);display:grid}.day-title{justify-content:space-between;gap:var(--space-2);padding-inline:var(--space-1);font-size:var(--font-small);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:600;display:flex}.txn-list.flush{margin-inline:calc(var(--space-3) * -1);background:0 0;border:0;border-radius:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-block:calc(var(--space-2) * -1);flex-wrap:wrap;display:flex}.badge{--cat:var(--accent);background:color-mix(in srgb, var(--cat) 16%, var(--surface));width:2.25rem;height:2.25rem;color:var(--cat);font-size:var(--font-small);border-radius:999px;flex:none;place-items:center;font-weight:800;display:inline-grid}.badge-icon{stroke-width:2.1px;width:55%;height:55%}.badge-method{--cat:var(--muted)}.cat-food{--cat:#d9480f}.cat-groceries{--cat:#5c940d}.cat-transport{--cat:#1971c2}.cat-bills{--cat:#9c36b5}.cat-utilities{--cat:#0c8599}.cat-rent{--cat:#c2255c}.cat-health{--cat:#e03131}.cat-shopping{--cat:#d6336c}.cat-education{--cat:#3b5bdb}.cat-entertainment{--cat:#f08c00}.cat-travel{--cat:#1098ad}.cat-other{--cat:#6c757d}.cat-salary{--cat:#2f9e44}.cat-freelance{--cat:#1c7ed6}.cat-business{--cat:#7048e8}.cat-commission{--cat:#e8590c}.cat-bonus{--cat:#f59f00}.cat-13th-month-pay{--cat:#0ca678}.cat-investment{--cat:#0b7285}.cat-interest{--cat:#d6336c}.cat-refund{--cat:#5f3dc4}.cat-gift{--cat:#e64980}.cat-allowance{--cat:#74b816}@media (prefers-color-scheme:dark){.badge{background:color-mix(in srgb, var(--cat) 22%, var(--surface));color:color-mix(in srgb, var(--cat) 55%, #fff)}}.welcome{max-width:34rem;margin-inline:auto}.welcome h2{color:var(--text);font-size:var(--font-title)}.txn-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.txn-list li+li{border-top:1px solid var(--border)}.txn{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.txn:hover{background:var(--surface-2)}.txn-main{flex:auto;min-width:0;display:grid}.txn-desc{font-weight:600}.txn-meta{color:var(--muted);font-size:var(--font-small)}.txn-amount{font-variant-numeric:tabular-nums;white-space:nowrap;justify-items:end;font-weight:700;display:grid}.txn-php{color:var(--muted);font-size:var(--font-small);font-weight:600}.form{gap:var(--space-3);display:grid}.field{gap:var(--space-1);min-width:0;display:grid}.field>span{font-size:var(--font-small);color:var(--muted);font-weight:600}.field input,.field select,.field textarea,.budget-input{width:100%;min-height:44px;padding:var(--space-2);border:1px solid var(--border);background:var(--surface);border-radius:10px}.field textarea{resize:vertical}[aria-invalid=true]{border-color:var(--expense)!important}.field-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.money-input{min-width:0;display:block;position:relative}.amount-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.amount-row .field{grid-template-rows:auto 1fr}.currency-field select{min-width:6.5rem;height:100%}.convert-note{margin-top:calc(var(--space-2) * -1);font-variant-numeric:tabular-nums}.rates{gap:var(--space-2);display:grid}.rate-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,10rem);align-items:center;display:grid}.rate-label{font-weight:600}.money-prefix{inset:0 auto 0 var(--space-2);color:var(--muted);pointer-events:none;align-items:center;font-weight:600;display:flex;position:absolute}.money-input input{padding-left:calc(var(--space-2) + 1.1em)}.money-input.large .money-prefix{font-size:var(--font-kpi)}.money-input.large input{padding-left:calc(var(--space-2) + 1em)}.money-input.large.prefix-wide input{padding-left:calc(var(--space-2) + 1.7em)}.amount-input{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--font-kpi)!important}.segmented{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;min-width:0;margin:0;padding:.2rem;display:flex}.segment{flex:1 1 0;min-width:0}.segment input{opacity:0;pointer-events:none;position:absolute}.segment span{min-height:44px;padding-inline:var(--space-2);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;font-weight:600;display:flex}.segment input:checked+span{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segment-expense input:checked+span{color:var(--expense)}.segment-income input:checked+span{color:var(--income)}.segment input:focus-visible+span{outline:3px solid var(--focus);outline-offset:1px}.segmented.compact{flex:16rem}.form-error{color:var(--expense);font-weight:600}.dialog{width:min(100% - 1rem,32rem);max-height:92dvh;padding:var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;margin:auto auto .5rem;overflow:auto}.dialog::backdrop{background:#00000073}.dialog-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.dialog-head h2{font-size:var(--font-title)}.dialog-actions{bottom:calc(var(--space-3) * -1);z-index:1;justify-content:flex-end;gap:var(--space-2);margin:0 calc(var(--space-3) * -1) calc(var(--space-3) * -1);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex;position:sticky}.dialog-actions .btn{flex:8rem}.dialog-actions .btn-primary{order:2}.budget-list{gap:var(--space-2);display:grid}.budget-row{gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(0,10rem);align-items:center;display:grid}.budget-name{align-items:center;gap:var(--space-2);min-width:0;font-weight:600;display:flex}.budget-input{text-align:right;font-variant-numeric:tabular-nums}.budget-info{justify-content:space-between;gap:var(--space-1) var(--space-2);color:var(--muted);font-size:var(--font-small);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-column:1/-1;display:flex}.budget-row .bar{grid-column:1/-1}.chart{gap:var(--space-2);margin:0;display:grid}.chart-bars{border-bottom:1px solid var(--border);width:100%;height:clamp(9rem,6rem + 12vw,18rem);display:block}.chart-head{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.chart-income{fill:var(--income)}.chart-expense{fill:var(--expense)}.chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 4}.chart-now{fill:var(--surface-2)}.chart-hit{fill:#0000}.chart-bars g:hover .chart-hit{fill:color-mix(in srgb, var(--accent) 10%, transparent)}.chart-months .is-now{color:var(--accent);font-weight:700}.chart-months{color:var(--muted);font-size:var(--font-small);text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.month-short{display:none}@media (width>=36em){.month-narrow{display:none}.month-short{display:inline}}.legend{gap:var(--space-3);font-size:var(--font-small);color:var(--muted);flex-wrap:wrap;display:flex}.legend-item:before{content:"";vertical-align:-.05em;border-radius:2px;width:.75em;height:.75em;margin-right:.4em;display:inline-block}.income-key:before{background:var(--income)}.expense-key:before{background:var(--expense)}.table-wrap{overflow-x:auto}.year-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:var(--font-small)}.year-table th,.year-table td{padding:var(--space-2);text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}.year-table th:first-child{z-index:1;text-align:left;background:var(--surface);position:sticky;left:0}.year-table thead th{color:var(--muted)}.year-table tfoot th,.year-table tfoot td{background:var(--surface-2);font-weight:700}.year-table .is-empty{color:var(--muted);opacity:.6}.year-table .is-now th{color:var(--accent)}.year-table .is-now th,.year-table .is-now td{background:color-mix(in srgb, var(--accent) 8%, transparent)}.highlights{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));margin:0;display:grid}.highlights dt{color:var(--muted);font-size:var(--font-small)}.highlights dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.steps{gap:var(--space-1);display:grid}.danger-zone{border-color:color-mix(in srgb, var(--expense) 40%, var(--border))}.pos{gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.pos-register,.pos-side{min-height:0}.pos:not([data-pane=register]) .pos-register,.pos[data-pane=register] .pos-side{display:none}.pane-switch,.side-switch{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:.2rem;display:flex}.pane-tab,.side-tab{min-width:0;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1 1 0;font-weight:600}.pane-tab[aria-selected=true],.side-tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.side-switch{display:none}.pos-side{gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);display:grid}.pos-side[data-side=today] .side-month,.pos-side[data-side=month] .side-today{display:none}.side-today{align-content:start;justify-items:center;gap:var(--space-2);min-height:0;display:grid}.side-month{min-height:0}@media (width>=60em){.pos{gap:var(--space-3);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,2.2fr) minmax(0,1fr)}.pane-switch{display:none}.side-switch{display:flex}.pos[data-pane] .pos-register{display:block}.pos[data-pane] .pos-side{display:grid}}@media (height>=40em){.app-pos{height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.app-pos .content{min-height:0;padding-block:var(--space-2);flex:auto;grid-template-rows:minmax(0,1fr)}.app-pos .pos{min-height:0}.app-pos .pos-register,.app-pos .side-today,.app-pos .side-month{overscroll-behavior:contain;overflow-y:auto}.app-pos .register{min-height:100%}}@media (width>=48em) and (height>=40em){.app.app-pos{padding-bottom:0}}@media (width>=60em) and (height>=40em){.app-pos .content{grid-template-rows:minmax(0,min(100%,60rem));align-content:center}}.register{padding:var(--space-2);flex-direction:column;gap:.3rem;display:flex}@media (width>=48em){.register{gap:var(--space-2);padding:var(--space-3)}}.reg-pick,.reg-entry{display:contents}.register .lcd{order:0}.register .reg-group,.register .reg-more{order:1}.register .keypad{order:2}.register .reg-actions{order:3}@media (width>=60em){.register{gap:var(--space-3);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-content:stretch;display:grid}.reg-pick,.reg-entry{gap:var(--space-2);flex-direction:column;min-height:0;display:flex}.reg-pick{gap:.5rem}.reg-pick .tiles,.reg-pick .chips{gap:.35rem}.reg-pick>.reg-group:first-child{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.reg-pick .tiles{flex:1 1 0;grid-auto-rows:minmax(44px,1fr);min-height:0}.reg-pick .tile,.reg-pick .tile-face{height:100%}.reg-pick .tile-face{border-radius:var(--radius)}}.app-pos .topbar{-webkit-backdrop-filter:none;background:0 0;border:0;padding:0;position:static}.app-pos .brand{display:none}.app-pos .content{padding-top:calc(env(safe-area-inset-top) + var(--space-2))}@media (width>=48em){.app-pos .topbar{padding:calc(env(safe-area-inset-top) + var(--space-2)) max(var(--space-3), (100% - 64rem) / 2) var(--space-2);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);position:sticky}.app-pos .brand{display:block}.app-pos .content{padding-top:var(--space-2)}}.reg-group{border:0;min-width:0;margin:0;padding:0}.lcd{padding:.25rem var(--space-3);border-radius:var(--radius);color:#e9f3ff;font-variant-numeric:tabular-nums;background:#0f1b26;grid-template-columns:minmax(0,1fr);gap:.05rem;display:grid;box-shadow:inset 0 2px 6px #00000059;container-type:inline-size}@media (width>=48em){.lcd{padding-block:var(--space-2)}}.lcd-top{align-items:center;gap:.1rem var(--space-2);flex-wrap:wrap;display:flex}.lcd-toggle{background:#ffffff14;border:0;border-radius:999px;margin:0;padding:.15rem;display:inline-flex}.lcd-type{position:relative}.lcd-type input{opacity:0;pointer-events:none;position:absolute;inset:0}.lcd-type span{min-height:44px;padding-inline:var(--space-2);color:#8fb3d4;font-size:var(--font-small);cursor:pointer;border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.lcd-type-expense input:checked+span{color:#3a0d07;background:#ffb4a8}.lcd-type-income input:checked+span{color:#06301b;background:#8ff0bd}.lcd-type input:focus-visible+span{outline:3px solid var(--focus);outline-offset:1px}.lcd-label{color:#8fb3d4;font-size:var(--font-small);font-weight:600}.lcd-currency{display:inline-flex}.lcd-currency select{min-height:44px;padding:0 1.75rem 0 var(--space-2);color:#e9f3ff;font-size:max(1rem, var(--font-small));appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238fb3d4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .75rem center no-repeat,#ffffff14;border:0;border-radius:999px;font-weight:700}.lcd-currency select option{color:#0f1b26}.lcd-bottom{justify-content:space-between;align-items:center;gap:0 var(--space-2);display:flex}.lcd-meta{justify-content:space-between;gap:0 var(--space-2);flex:100%;min-width:0;display:flex}.lcd-meta .lcd-label{white-space:nowrap;flex:none}.lcd-meta .lcd-convert{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1 1 0;min-width:0;overflow:hidden}.lcd-rate{display:none}@container (width>=19rem){.lcd-rate{display:inline}.lcd-meta{text-align:right;flex-basis:0;justify-items:end;display:grid}.lcd-meta .lcd-convert{max-width:100%}}.lcd-convert{color:#c4d6e8;font-size:var(--font-small);font-variant-numeric:tabular-nums}.lcd-amount{text-align:right;white-space:nowrap;flex:auto;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:clamp(1.25rem,8.5cqi,3rem);font-weight:700;line-height:1.1}.lcd-amount.lcd-long{font-size:clamp(1.15rem,6.75cqi,2.4rem)}.lcd-amount.lcd-xlong{font-size:clamp(1rem,4.6cqi,2rem)}.lcd-expense .lcd-amount{color:#ffb4a8}.lcd-income .lcd-amount{color:#8ff0bd}.tile,.chip,.segment{position:relative}.tile input,.chip input{opacity:0;pointer-events:none;position:absolute;inset:0}.tiles{gap:var(--space-1);scrollbar-width:none;padding:2px;display:flex;overflow-x:auto}.tiles::-webkit-scrollbar{display:none}.tile{flex:none}@media (width>=48em){.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,7.75rem),1fr));display:grid;overflow:visible}}.tile-face{align-items:center;gap:var(--space-1);min-height:44px;padding:.2rem var(--space-2) .2rem .25rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;display:flex}.tile-face .badge{width:2rem;height:2rem}.tile-name{min-width:0;font-size:var(--font-small);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:600;line-height:1.15}.tile input:checked+.tile-face{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));box-shadow:0 0 0 1px var(--accent)}.tile input:focus-visible+.tile-face,.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.chips{gap:var(--space-1);scrollbar-width:none;padding:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none}@media (width>=48em){.chips{flex-wrap:wrap;overflow:visible}}@media (width>=60em){.chips{grid-template-columns:repeat(auto-fill,minmax(min(100%,4.25rem),1fr));display:grid}.chip>span{width:100%;padding-inline:var(--space-1);justify-content:center}}.chip>span{white-space:nowrap;min-height:44px;padding-inline:var(--space-3);border:1px solid var(--border);background:var(--surface);font-size:var(--font-small);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.chip input:checked+span{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));box-shadow:0 0 0 1px var(--accent);color:var(--text)}.chip input:checked+span .chip-icon{color:var(--accent)}.chip-icon{color:var(--muted)}.reg-more summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;gap:.25rem;font-weight:600;display:flex}.reg-more{z-index:3;position:relative}.reg-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr);gap:.35rem;padding:.35rem;display:grid;position:absolute;inset:auto 0 calc(100% + .25rem);box-shadow:0 8px 24px #1018282e}.reg-details .field input{min-width:0}.reg-details input[type=date]{width:auto}.keypad{gap:var(--space-1);flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(2.75rem,1fr);max-height:22rem;display:grid}@media (width>=30em){.keypad{max-height:30rem}}@media (width>=60em){.keypad{max-height:34rem}}.key{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;font-size:clamp(1.2rem,1rem + .8vw,1.6rem);font-weight:700}.key:active{background:var(--border);transform:scale(.97)}.key-quick{font-size:var(--font-small);white-space:nowrap;background:var(--surface);color:var(--accent);padding-inline:.2rem}.key-back{color:var(--muted)}.reg-actions{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);display:grid}.btn-record{white-space:nowrap;min-height:3.25rem;font-size:var(--font-title);color:#fff;border:0}.record-expense{background:var(--expense)}.record-income{background:var(--income)}@media (prefers-color-scheme:dark){.btn-record{color:#0b1520}}.month-pane{gap:var(--space-3)}.month-pane-title{font-size:var(--font-body)}.month-kpis{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));margin:0;display:grid}.month-kpis div{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-2);background:var(--surface-2);border-radius:10px;min-width:0;display:flex}.month-kpis dt{color:var(--muted);font-size:var(--font-small)}.month-kpis dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:700}.month-block{gap:var(--space-2);display:grid}.receipt{--paper:#fffdf7;--ink:#2b2b2b;width:100%;padding:var(--space-4) var(--space-3) calc(var(--space-4) + .75rem);background:linear-gradient(-45deg, transparent .5rem, var(--paper) 0) bottom left / 1rem .75rem repeat-x, linear-gradient(45deg, transparent .5rem, var(--paper) 0) bottom left / 1rem .75rem repeat-x, linear-gradient(var(--paper), var(--paper)) top / 100% calc(100% - .7rem) no-repeat;color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-small);filter:drop-shadow(0 2px 4px #10182826)}@media (prefers-color-scheme:dark){.receipt{--paper:#e9e4d6;--ink:#1d1d1d}}.receipt .income{color:#146c43}.receipt .expense{color:#b42318}.receipt-head{text-align:center;padding-bottom:var(--space-2);border-bottom:1px dashed}.receipt-head h2{font-size:var(--font-body);letter-spacing:.2em;text-transform:uppercase}.receipt-empty{padding:var(--space-4) 0;text-align:center;opacity:.7}.receipt-lines{padding:var(--space-2) 0;border-bottom:1px dashed;margin:0;list-style:none}.receipt-line{justify-content:space-between;align-items:baseline;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-1) 0;font:inherit;color:inherit;text-align:left;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;display:flex}.receipt-line:hover{background:#0000000a}.receipt-item{min-width:0;display:grid}.receipt-amt{justify-items:end;display:grid}.receipt-amt-main{white-space:nowrap}.receipt-sub{opacity:.65;font-size:.9em}.receipt-totals{gap:var(--space-1);padding-top:var(--space-2);margin:0;display:grid}.receipt-totals div{justify-content:space-between;gap:var(--space-2);display:flex}.receipt-totals dd{font-variant-numeric:tabular-nums;margin:0}.receipt-net{padding-top:var(--space-1);border-top:1px dashed;font-size:1.1em;font-weight:800}.receipt-extra{padding-top:var(--space-2);opacity:.8}.receipt-foot{padding-top:var(--space-3);text-align:center;opacity:.6}.toast{left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5rem);z-index:30;max-width:min(100% - 2rem,28rem);padding:var(--space-2) var(--space-3);background:var(--text);color:var(--bg);pointer-events:none;border-radius:10px;font-weight:600;position:fixed;translate:-50%}.toast:empty{display:none}@media (width>=48em){.app{padding-bottom:6rem}.topbar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-inline:max(var(--space-3), (100% - 64rem) / 2);flex-wrap:wrap;display:flex}.brand{width:auto;margin:0}.tabs{gap:var(--space-1);background:0 0;border:0;min-height:0;padding:0;position:static}.tab{padding-inline:var(--space-3);font-size:var(--font-small);border-radius:999px;flex-direction:row;flex:none}.tab-icon,.tab-short{display:none}.tab-long{display:inline}.tab[aria-current=page]{background:var(--surface-2)}.fab{bottom:calc(env(safe-area-inset-bottom) + var(--space-4));right:max(var(--space-4), (100% - 64rem) / 2)}.toast{bottom:6rem}.dialog{margin:auto}}@media (prefers-reduced-motion:no-preference){.btn,.tab,.txn,.segment span{transition:background-color .15s,color .15s}}
