:root{color:#f5f5f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#171717;--control:#252525;--muted:#929292;--line:#252525;--income:#00bd87;--expense:#ff4e57;--adjustment:#ff9e29;background:#000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #fff}button{border:0}button:disabled{cursor:default;opacity:.4}button,input,textarea,select{-webkit-appearance:none}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.035em;font-size:34px;font-weight:720;line-height:1.15}h2{letter-spacing:-.02em;font-size:21px;line-height:1.25}h3{font-size:17px;line-height:1.3}strong{font-variant-numeric:tabular-nums;font-weight:620}a{color:inherit}.app-frame{min-height:100dvh}.app-shell{max-width:680px;padding:calc(18px + env(safe-area-inset-top)) 20px calc(130px + env(safe-area-inset-bottom));margin:0 auto}.topbar{align-items:center;gap:12px;min-height:48px;margin-bottom:22px;display:flex}.topbar h1{flex:1;order:0}.header-side{color:var(--muted);order:1;display:flex}.topbar>button{order:2}.icon-button,.round-control{background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.month-row{background:var(--surface);border-radius:18px;align-items:center;margin-bottom:26px;display:flex}.month-row .icon-button{background:0 0}.month-switch{text-transform:capitalize;flex:1;justify-content:center;align-items:center;gap:6px;height:48px;margin:0;font-size:15px;display:flex;position:relative}.month-switch input{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.month-switch>svg{display:none}.balance-section{text-align:center;margin-bottom:24px}.balance-section>p{color:var(--muted);margin-bottom:8px;font-size:13px}.total-balance{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(32px,11vw,48px);font-weight:680;line-height:1.15;display:block}.period-summary{grid-template-columns:1fr 1fr;margin-top:22px;display:grid}.period-summary>div{flex-direction:column-reverse;gap:5px;display:flex}.period-summary>div+div{border-left:1px solid var(--line)}.period-summary span{color:var(--muted);font-size:13px}.period-summary strong{font-size:20px}.period-summary>div:first-child strong{color:var(--income)}.period-summary>div:last-child strong{color:var(--expense)}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading>span{font-size:14px}.text-button{color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 0;font-size:14px;display:inline-flex}.account-groups{gap:22px;display:grid}.account-group-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.account-group-heading h3{font-size:16px;font-weight:650}.account-group-heading>span{text-align:right;font-size:15px}.account-group-rows{background:var(--surface);border-radius:18px;overflow:hidden}.account-row{text-align:left;background:0 0;grid-template-columns:1fr auto 16px;align-items:center;gap:10px;width:100%;min-height:56px;padding:16px;display:grid}.account-row+.account-row{border-top:1px solid var(--line)}.account-row strong{overflow-wrap:anywhere;font-size:16px}.account-row>svg{color:var(--muted)}.account-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:16px;display:flex}.account-name small{color:var(--muted);font-size:11px}.asset-balances{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:7px 13px;font-size:12px;display:flex}.add-account-link{margin-top:5px}.recent-section{margin-top:28px}.day-group+.day-group{margin-top:24px}.day-group h3{border-bottom:1px solid var(--line);padding-bottom:9px;font-size:17px}.entry-row{border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:62px;padding:13px 0;display:flex}.entry-copy{flex:1;min-width:0}.entry-copy>strong{overflow-wrap:anywhere;font-size:16px;font-weight:500;display:block}.entry-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:12px;display:block;overflow:hidden}.entry-value{text-align:right;overflow-wrap:anywhere;flex-direction:column;align-items:flex-end;gap:4px;max-width:53%;font-size:16px;display:flex}.entry-value small{color:var(--muted);font-size:11px}.value-income,.positive{color:var(--income)}.value-expense{color:var(--expense)}.value-adjustment{color:var(--adjustment)}.bottom-nav{z-index:10;border-top:1px solid var(--line);width:min(100%,680px);padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:#101010;border-radius:22px 22px 0 0;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#8c8c8c;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:48px;font-size:10px;display:flex}.bottom-nav button[aria-current=page]{color:#fff}.add-button{z-index:11;bottom:calc(84px + env(safe-area-inset-bottom));color:#000;background:#f5f5f5;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:fixed;right:max(18px,50vw - 320px)}.empty{text-align:center;padding:30px 12px}.empty h3{font-size:17px;font-weight:550}.empty p{max-width:290px;color:var(--muted);margin:9px auto 20px;font-size:13px;line-height:1.5}.loading{color:var(--muted);padding-top:30px}.update-banner{background:var(--surface);border:1px solid #333;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:12px;font-size:12px;display:flex}.update-banner button{color:#fff;background:0 0;align-items:center;gap:7px;padding:6px;display:inline-flex}.sheet{color:#f5f5f5;width:min(100%,600px);max-width:100%;max-height:calc(100dvh - 12px - env(safe-area-inset-top));overscroll-behavior:contain;background:#080808;border:1px solid #222;border-radius:28px 28px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow-y:auto}.sheet::backdrop{background:#000a}.sheet>section{padding:22px 20px calc(24px + env(safe-area-inset-bottom))}.sheet-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.sheet-header h2{font-size:23px}label{color:#aaa;margin-bottom:18px;font-size:13px;display:block}input:not([type=checkbox]),select,textarea{background:var(--surface);color:#f5f5f5;border:1px solid #333;border-radius:14px;width:100%;min-height:49px;margin-top:7px;padding:12px 13px;font-size:16px;display:block}textarea{resize:vertical;line-height:1.45}input::placeholder,textarea::placeholder{color:#727272}input[type=checkbox]{appearance:auto;accent-color:#fff;flex-shrink:0;width:21px;height:21px}.checkbox-row{color:#eee;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.checkbox-row small{color:var(--muted);margin-top:4px;display:block}.primary-button,.secondary-button,.operation-save{border-radius:17px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:51px;padding:13px 15px;font-size:16px;font-weight:600;display:flex}.primary-button,.operation-save{color:#101010;background:#eee}.secondary-button{background:var(--control);color:#eee;border:1px solid #333;margin:11px 0;font-size:14px}form>.primary-button{margin-top:16px}form>.text-button{margin:8px auto 0;display:flex}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.danger{color:var(--expense)}.error-message{color:#ff8b91;margin:10px 0;font-size:13px;line-height:1.4}.notice{color:#d8d8d8;margin:14px 0;font-size:13px;line-height:1.5}.hint{color:var(--muted);margin:8px 0 16px;font-size:13px;line-height:1.5}.muted{color:#727272}.settings-group{background:var(--surface);border-radius:18px;margin:12px 0 20px;overflow:hidden}.settings-row{color:#eee;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:58px;padding:16px;font-size:15px;display:flex}.settings-row+.settings-row{border-top:1px solid var(--line)}.settings-row>span:first-child{flex:1}.settings-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.row-detail{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.settings-section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.settings-section h3{font-size:18px}.settings-section>.text-button{width:100%}.recovery{margin:18px 0}.recovery summary{cursor:pointer;padding:12px 0;font-size:14px}.recovery textarea{word-break:break-all;font-size:13px}.app-version{text-align:center;padding-top:15px;font-size:11px}.import-review{border:1px solid #555;border-radius:16px;margin:15px 0;padding:16px}.import-review p{margin-top:9px;font-size:13px}.import-review .primary-button{margin-top:14px}fieldset{border:0;margin:22px 0;padding:0}legend{color:#aaa;margin-bottom:10px;font-size:13px}.color-picker{flex-wrap:wrap;gap:4px;display:flex}.color-picker button{background:0 0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.color-picker button[aria-pressed=true]{outline:1px solid #eee}.segmented{background:var(--surface);border-radius:18px;gap:3px;margin:18px 0;padding:4px;display:flex}.segmented button{color:#999;background:0 0;border-radius:14px;flex:1;min-height:42px;font-size:14px}.segmented button[aria-pressed=true]{color:#fff;background:#353535}.filter-panel{margin-bottom:20px}.filter-panel summary{background:var(--surface);cursor:pointer;border-radius:15px;padding:14px;font-size:14px}.filter-panel>div{padding-top:15px}.history-summary{color:var(--muted);justify-content:space-between;gap:12px;margin:18px 0 22px;font-size:12px;display:flex}.donut-wrap{width:min(100%,280px);margin:25px auto 12px;position:relative}.donut{width:100%;display:block}.donut-label{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-label strong{letter-spacing:-.025em;font-size:25px}.donut-label span{color:var(--muted);margin-top:6px;font-size:12px}.comparison{color:var(--muted);text-align:center;margin:8px 0;font-size:12px;line-height:1.5}.legend{margin:25px 0}.legend-row{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:12px 1fr auto 32px;align-items:center;gap:8px;width:100%;min-height:49px;padding:9px 0;font-size:13px;display:grid}.legend-row>span{overflow-wrap:anywhere}.legend-row small{color:var(--muted);text-align:right;font-size:11px}.trend{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.trend svg{width:100%;display:block}.calendar-heading{justify-content:space-between;align-items:center;gap:8px;margin:12px 0 22px;display:flex}.calendar-heading h2{text-transform:capitalize;font-size:18px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:28px;display:grid}.calendar-grid>button{background:0 0;border-radius:50%;min-height:44px;padding:5px;font-size:15px;position:relative}.calendar-grid .weekday{text-align:center;color:var(--muted);margin-bottom:8px;font-size:12px}.calendar-grid .selected{color:#000;background:#eee}.calendar-grid .today:not(.selected){outline:1px solid #777}.event-dot{background:#888;border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:calc(50% - 2px)}.reminder-row{text-align:left;border-bottom:1px solid var(--line);background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:17px 0;display:flex}.reminder-row span{flex-direction:column;gap:5px;display:flex}.reminder-row small{color:var(--muted);font-size:12px}.reminder-disabled{opacity:.45}.upcoming{margin-top:30px}progress{accent-color:#eee;width:100%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.operation-sheet{background:#000;border:0;border-radius:0;width:min(100%,520px);height:100dvh;max-height:100dvh;inset:0;overflow:hidden}.operation-sheet>section{height:100%;padding:0}.operation-editor{height:100%;padding:calc(14px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));flex-direction:column;min-height:0;display:flex}.operation-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;height:48px;display:flex}.round-control{background:#1f1f1f;border:1px solid #303030;width:44px;height:44px}.operation-kind{background:#1f1f1f;border:1px solid #303030;border-radius:30px;padding:3px;display:flex}.operation-kind button{background:0 0;border-radius:26px;align-items:center;gap:9px;min-height:38px;padding:8px 13px;font-size:16px;display:flex}.kind-income{color:var(--income)}.kind-expense{color:#ff9b16}.kind-income[aria-pressed=true]{background:#123c30}.kind-expense[aria-pressed=true]{background:#493014}.operation-kind-label{align-items:center;gap:8px;font-size:16px;display:flex}.operation-adjustment .operation-kind-label{color:var(--adjustment)}.operation-amount-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:105px;padding:15px 0;display:flex;overflow:auto}.amount-display{justify-content:center;align-items:baseline;gap:10px;width:100%;display:flex}.amount-display input{field-sizing:content;color:#f5f5f5;text-align:right;letter-spacing:-.045em;background:0 0;border:0;border-radius:0;width:auto;min-width:1ch;max-width:79%;min-height:0;margin:0;padding:0;font-size:clamp(46px,16vw,76px);font-weight:650;line-height:1.15}.amount-display input::placeholder{color:#f5f5f5}.amount-display>span{letter-spacing:-.04em;font-size:clamp(46px,16vw,76px);font-weight:600}.amount-display>.crypto-symbol{letter-spacing:-.02em;font-size:25px}.calculation-preview,.exchange-preview{color:#999;font-variant-numeric:tabular-nums;font-size:14px}.dual-spending{color:#9b9b9b;align-items:center;gap:12px;font-size:14px;display:flex}.dual-spending input{text-align:right;font-variant-numeric:tabular-nums;width:125px;min-height:42px;padding:8px 12px;font-size:21px}.expense-fee{justify-content:space-between;align-items:center;gap:12px;min-height:42px;margin-top:6px;display:flex}.expense-fee .checkbox-row{margin:0;font-size:14px}.expense-fee>input{text-align:right;font-variant-numeric:tabular-nums;width:135px;min-height:38px;padding:7px 12px}.transfer-rub{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.transfer-rub input{width:130px}.amount-direction{gap:10px;display:flex}.amount-direction button{color:#888;background:#141414;border-radius:10px;padding:8px 10px;font-size:12px}.amount-direction button[aria-pressed=true]{color:#fff}.operation-bottom{flex-shrink:0;gap:5px;display:grid;position:relative}.operation-meta{align-items:stretch;gap:4px;min-height:44px;display:flex}.operation-meta button{text-align:left;background:#171717;border-radius:28px;min-width:0;min-height:44px;padding:8px 13px;font-size:13px}.account-capsule{flex-direction:row;flex:1;justify-content:flex-start;align-items:center;gap:7px;display:flex}.operation-meta .account-capsule{padding:4px 9px 4px 4px}.account-capsule .account-symbol{width:36px;height:36px;color:var(--income);background:#10382d;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-capsule-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.account-capsule-copy>span{text-overflow:ellipsis;overflow:hidden}.account-capsule>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.operation-meta small{color:#909090;font-size:11px}.date-capsule{flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:flex}.operation-meta .currency-capsule{text-align:center;flex-shrink:0;min-width:44px;padding:8px 12px;font-size:15px}.operation-note{background:#171717;border-radius:20px;align-items:center;min-height:46px;padding:0 15px;display:flex}.operation-note input{background:0 0;border:0;min-height:46px;margin:0;padding:12px 0;font-size:16px}.operation-note button{background:0 0;padding:10px 0 10px 10px}.operation-categories{background:#171717;border-radius:20px;min-height:73px;padding:12px 8px 9px}.category-text-rail{scrollbar-width:none;align-items:center;gap:5px;display:flex;overflow-x:auto}.category-text-rail button{color:#aaa;background:#232323;border-radius:13px;flex-shrink:0;min-height:36px;padding:10px 12px;font-size:13px}.category-text-rail button[aria-pressed=true]{color:#111;background:#e9e9e9}.operation-categories>span{text-align:center;color:#777;margin-top:7px;font-size:11px;display:block}.keypad{grid-template-columns:repeat(3,1fr) 46px;gap:4px;margin-top:8px;display:grid}.keypad button{background:#262626;border-radius:18px;justify-content:center;align-items:center;min-height:clamp(44px,6.3dvh,62px);font-size:25px;font-weight:500;display:flex}.keypad .key-operator,.keypad .key-secondary{background:#111}.keypad .key-operator{border-radius:17px;font-size:27px}.operation-editor .operation-save{border-radius:20px;min-height:clamp(50px,6.5dvh,64px);margin:10px 0 0;font-size:18px}.operation-bottom .error-message,.operation-notice{margin:3px 4px;font-size:12px;line-height:1.3}.operation-notice{color:#aaa}.transfer-target{gap:4px;min-height:42px;display:flex}.transfer-target button{background:#171717;border-radius:15px;padding:9px 12px;font-size:12px}.transfer-target button:first-child{text-align:left;flex:1}.transfer-target .transfer-all{white-space:nowrap;background:#272727}.editor-picker{z-index:5;background:#151515;border:1px solid #3b3b3b;border-radius:24px;max-height:min(70dvh,530px);padding:22px 16px 18px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 60px #000b}.editor-picker h3{padding:0 30px 15px 0;font-size:18px}.picker-close{float:right;background:#303030;border-radius:50%;place-items:center;padding:6px;display:grid;position:sticky;top:0}.picker-list{display:grid}.picker-list button{text-align:left;background:0 0;border-bottom:1px solid #292929;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:14px 3px;font-size:15px;display:flex}.picker-list button>small{color:#888;font-size:12px}.picker-list p{color:#888;padding:12px 0;font-size:13px}.currency-options{gap:8px;margin:12px 0 18px;display:flex}.currency-options button{background:#262626;border-radius:13px;min-height:44px;padding:12px 16px}.currency-options button[aria-pressed=true]{color:#111;background:#eee}.receipt-preview{object-fit:contain;border-radius:8px;max-width:100%;max-height:46dvh;margin:30px auto 12px;display:block}@media (width>=768px){.app-shell{padding-top:30px}.operation-sheet{border:1px solid #222;border-radius:30px;height:calc(100dvh - 32px);max-height:1000px;margin:auto;inset:16px 0}.operation-editor{padding:20px}.operation-amount-area{min-height:150px}.sheet:not(.operation-sheet){border-radius:26px;max-height:calc(100dvh - 60px);margin-top:0;inset:30px 0 auto}}@media (height<=690px){.operation-editor{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}.operation-toolbar,.round-control{height:38px}.round-control{width:38px}.operation-kind button{min-height:30px;padding:5px 11px}.operation-amount-area{min-height:75px;padding:8px 0}.operation-meta button{min-height:38px;padding:5px 10px}.operation-categories{min-height:64px;padding-top:8px}.keypad{margin-top:3px}.keypad button{border-radius:14px;min-height:39px}.operation-editor .operation-save{min-height:44px;margin-top:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.operation-bottom{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.operation-categories,.category-text-rail,.operation-note{min-width:0;max-width:100%}.operation-categories{overflow:hidden}.keypad{grid-template-columns:repeat(3,minmax(0,1fr)) 46px;min-width:0}@media (height<=690px){.operation-amount-area{min-height:40px}.operation-note,.operation-note input{min-height:38px}.operation-note input{padding-block:8px}.operation-categories{min-height:53px}.operation-categories>span{display:none}}
