:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg2: var(--tg-theme-secondary-bg-color, #f1f1f4);--section: var(--tg-theme-section-bg-color, #ffffff);--text: var(--tg-theme-text-color, #000000);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #2481cc);--accent: var(--tg-theme-button-color, #2481cc);--accent-text: var(--tg-theme-button-text-color, #ffffff);--sep: var(--tg-theme-section-separator-color, #e3e3e6);--danger: var(--tg-theme-destructive-text-color, #e53935);--plus: #2e9b4f;--safe-top: var(--safe-top-lock, var(--tg-viewport-content-safe-area-inset-top, 0px));--safe-bottom: var(--safe-bottom-lock, var(--tg-viewport-safe-area-inset-bottom, 0px));color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: var(--tg-theme-bg-color, #1c1c1e);--bg2: var(--tg-theme-secondary-bg-color, #000000);--section: var(--tg-theme-section-bg-color, #2c2c2e);--text: var(--tg-theme-text-color, #ffffff);--sep: var(--tg-theme-section-separator-color, #3a3a3c);--plus: #4cc26f}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg2);color:var(--text);font:16px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums}button{font:inherit;color:inherit}.screen{min-height:100vh;padding:calc(12px + var(--safe-top)) 16px calc(88px + var(--safe-bottom));display:flex;flex-direction:column;gap:12px}.center{justify-content:center;align-items:center;text-align:center}.center-text{text-align:center}h1{margin:0;font-size:22px}h2{margin:0;font-size:13px;text-transform:uppercase;color:var(--hint);font-weight:600;letter-spacing:.02em}.hint{color:var(--hint)}.small-text{font-size:13px}.plus{color:var(--plus)}.minus{color:var(--danger)}.topbar{display:flex;align-items:center;gap:10px}.topbar h1{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{border:0;background:none;font-size:22px;padding:4px 8px;cursor:pointer}.link{border:0;background:none;color:var(--link);font-size:15px;padding:4px;cursor:pointer}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--hint)}.sync-dot.ok{background:var(--plus)}.sync-dot.syncing{background:var(--accent)}.sync-dot.offline{background:var(--hint)}.sync-dot.error{background:var(--danger)}.card{background:var(--section);border-radius:14px;padding:12px 16px}.card.list{padding:6px 0}.card.list>.section-head,.card.list>.hint{padding:6px 16px}.section-head{display:flex;justify-content:space-between;align-items:center}.big-number{font-size:30px;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mid-number{font-size:19px;font-weight:600}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 16px;border:0;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--sep);min-height:44px;user-select:none;-webkit-user-select:none}.list-item:last-child{border-bottom:0}.list-item.sub{padding-left:36px}.list-item>span:last-child{white-space:nowrap}.tx-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;width:100%;padding:9px 16px;border:0;background:none;text-align:left;cursor:pointer}.tx-icon{font-size:20px;text-align:center}.tx-main{display:flex;flex-direction:column;min-width:0}.tx-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-sub{display:block;color:var(--hint);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-amount{text-align:right;font-weight:600}.badge{margin-left:6px;padding:1px 6px;border-radius:6px;font-size:11px;background:var(--accent);color:var(--accent-text);vertical-align:middle}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--sep);background:var(--section);border-radius:16px;padding:6px 12px;font-size:14px;cursor:pointer}.chip.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.chip.small{padding:2px 8px;font-size:13px}.button{width:100%;padding:13px;border:0;border-radius:12px;font-weight:600;font-size:16px;background:var(--accent);color:var(--accent-text);cursor:pointer}.button.small{width:auto;padding:10px 16px}.button.secondary{background:var(--section);color:var(--text)}.button.danger{background:none;color:var(--danger);border:1px solid var(--danger)}.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--sep);background:var(--section);color:var(--text);font:inherit}.input.inline{width:auto;min-width:90px}.inline-fields{display:flex;gap:8px;align-items:center}.inline-fields>*{flex:1}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--hint)}.form label .input{color:var(--text)}.toggle{flex-direction:row!important;align-items:center;gap:10px!important}.segmented{display:flex;background:var(--section);border-radius:10px;padding:3px}.segmented button{flex:1;border:0;background:none;padding:8px;border-radius:8px;cursor:pointer}.segmented button.on{background:var(--accent);color:var(--accent-text)}.month-switch{display:flex;align-items:center;justify-content:space-between;font-weight:600}.entry{display:flex;flex-direction:column;gap:8px;overflow:hidden;height:var(--app-h, var(--tg-viewport-stable-height, 100dvh));padding:calc(10px + var(--safe-top)) 16px calc(64px + var(--safe-bottom));--row-h: 44px;--row-fs: 16px;--amount-h: 56px;--amount-fs: 44px;--name-h: 42px;--name-fs: 18px;--sub-h: 20px;--cat-h: 44px;--cat-fs: 16px}.entry.kind-flow{--amount-h: 80px;--amount-fs: 54px;--name-h: 54px;--name-fs: 20px;--sub-h: 28px;--cat-h: 64px;--cat-fs: 18px}.entry.no-tabbar{padding-bottom:calc(10px + var(--safe-bottom))}.entry>*{flex-shrink:0}.entry .row-button{height:var(--row-h);padding:0 14px;font-size:var(--row-fs)}.entry .row-button.cat-row{height:var(--cat-h);font-size:var(--cat-fs);border-radius:14px}.entry .amount{width:100%;min-width:0;height:var(--amount-h);padding:0 4px;line-height:1.2;letter-spacing:-.03em;font-size:var(--amount-fs);white-space:nowrap;overflow:hidden}.amount-value{display:inline-block;vertical-align:baseline}.name-field{position:relative;display:flex;justify-content:center}.entry .name-input{width:300px;max-width:100%;height:var(--name-h);padding:0 12px;text-align:center;font-size:var(--name-fs);letter-spacing:-.01em;border-radius:12px}.name-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:15;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--section);border:1px solid var(--sep);border-radius:14px;box-shadow:0 8px 24px #0000002e}.name-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 14px;flex-shrink:0;border:0;border-bottom:1px solid var(--sep);background:none;text-align:left;cursor:pointer;touch-action:manipulation}.name-option:last-child{border-bottom:0}.name-option:active{background:var(--sep)}.name-option-text{flex:1;min-width:0;display:flex;flex-direction:column}.name-option-title{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-option-sub{font-size:13px;color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-option-sub:empty{display:none}.name-option-amount{font-weight:600;white-space:nowrap}.entry .name-input::placeholder{font-size:16px}.entry .amount .cur{letter-spacing:0}.sub-line{height:var(--sub-h, auto);line-height:var(--sub-h, 1.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry.kind-flow .sub-line{font-size:15px}.entry-row{display:flex;gap:8px;align-items:center;min-width:0}.entry-row>.row-button,.entry-row>.input{flex:1;min-width:0}.entry .row-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-row>.date-field{position:relative;justify-content:center;display:flex;align-items:center;gap:6px;height:var(--row-h);padding:0 10px;font-size:var(--row-fs);white-space:nowrap;overflow:hidden;cursor:pointer}.entry-row>.input.date-field{flex:0 0 auto;width:auto;min-width:6.5em;max-width:9.5em}.date-field>span{overflow:hidden;text-overflow:ellipsis}.date-field>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.entry .keypad{flex:1 1 0;min-height:120px;max-height:340px;margin-top:auto;grid-auto-rows:1fr}.entry .key{padding:0;min-height:0}.entry .button{padding:12px}.h-sm .entry{gap:6px;--row-h: 38px;--row-fs: 15px;--amount-h: 46px;--amount-fs: 34px;--name-h: 36px;--name-fs: 17px;--sub-h: 18px;--cat-h: 38px;--cat-fs: 15px}.h-sm .entry.kind-flow{--amount-h: 66px;--amount-fs: 46px;--name-h: 46px;--name-fs: 19px;--sub-h: 24px;--cat-h: 54px;--cat-fs: 17px}.h-sm .entry .segmented button{padding:6px}.h-xs .entry{--row-h: 34px;--row-fs: 15px;--amount-h: 40px;--amount-fs: 30px;--name-h: 32px;--name-fs: 16px;--sub-h: 16px;--cat-h: 34px}.h-xs .entry.kind-flow{--amount-h: 58px;--amount-fs: 40px;--name-h: 40px;--name-fs: 18px;--sub-h: 20px;--cat-h: 50px;--cat-fs: 16px}.h-xs .entry .segmented button{padding:4px}.row-button{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;width:100%;padding:10px 14px;border:0;border-radius:12px;background:var(--section);text-align:center;cursor:pointer}.row-button.focus{outline:2px solid var(--accent)}.amount-line{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.swap-button{width:40px;height:40px;justify-self:end;border:0;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:20px;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}.swap-button:active{opacity:.7}.swap-button:disabled{background:var(--section);color:var(--hint);cursor:default}.amount{border:0;background:none;font-size:40px;font-weight:700;text-align:center;padding:4px;cursor:pointer;border-bottom:2px solid transparent}.amount.focus{border-bottom-color:var(--accent)}.amount .cur{font-size:.5em;color:var(--hint);font-weight:500}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto}.key{padding:13px 0;font-size:22px;border:0;border-radius:10px;background:var(--section);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.key:active{background:var(--sep)}.entry-actions{display:flex;gap:8px}.kb-open .tabbar{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--bg);border-top:1px solid var(--sep);padding-bottom:var(--safe-bottom);z-index:10}.tab{border:0;background:none;padding:6px 0 8px;display:flex;flex-direction:column;align-items:center;color:var(--hint);cursor:pointer}.tab.on{color:var(--accent)}.tab-icon{font-size:20px;line-height:24px}.tab-label{font-size:11px}.tab.add .tab-icon{width:40px;height:32px;border-radius:12px;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:22px}.sheet-backdrop{position:fixed;inset:0;background:#00000059;z-index:20;display:flex;align-items:flex-end}.sheet{width:100%;max-height:75vh;background:var(--bg);border-radius:16px 16px 0 0;padding:12px 0 calc(12px + var(--safe-bottom));display:flex;flex-direction:column}.sheet-title{font-weight:600;text-align:center;padding:4px 16px 10px}.sheet-body{overflow-y:auto}.sheet-body>.chips{padding:0 16px 10px}.toast{position:fixed;left:16px;right:16px;bottom:calc(76px + var(--safe-bottom));z-index:30;background:#2c2c2e;color:#fff;border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.toast-action{border:0;background:none;color:#64b5f6;font-weight:600;cursor:pointer}.onboarding{justify-content:center}.sheet-search{padding:0 16px 10px}.list-item.column{flex-direction:column;align-items:stretch;cursor:default}.chip:disabled{opacity:.5}
