:root,[data-theme=light]{--bg: #F2F4F7;--bg-grad: linear-gradient(180deg, #F2F4F7 0%, #E4E8EB 100%);--card: #FFFFFF;--card-hover: #F2F4F7;--solid: #FFFFFF;--sidebar-bg: #FFFFFF;--input-bg: #F2F4F7;--stroke: #D0D7DD;--divider: #E4E8EB;--hover: rgba(0,0,0,.04);--ink: #1F1F22;--ink-2: #2D2D30;--ink-3: #7D838A;--ink-4: #B2B8BF;--ink-5: #D0D7DD;--accent: #107F8C;--accent-s: rgba(16,127,140,.1);--accent-s2: rgba(16,127,140,.18);--green: #21A19A;--green-s: rgba(33,161,154,.1);--red: #DB1237;--red-s: rgba(219,18,55,.08);--orange: #FF9900;--orange-s: rgba(255,153,0,.1);--gold: #FFDD64;--gold-s: rgba(255,221,100,.1);--info: #198CFE;--info-s: rgba(25,140,254,.1);--purple: #8E44AD;--purple-s: rgba(142,68,173,.08);--focus: #FFDD64;--shadow: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.03);--shadow-h: 0 2px 8px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);--overlay: rgba(0,0,0,.3);--scrollbar: rgba(0,0,0,.08);color-scheme:light}[data-theme=dark]{--bg: #050505;--bg-grad: linear-gradient(180deg, #0A0A0A 0%, #050505 100%);--card: #1D1E20;--card-hover: #252628;--solid: #1D1E20;--sidebar-bg: #111112;--input-bg: #141415;--stroke: #2A2B2E;--divider: rgba(255,255,255,.06);--hover: rgba(255,255,255,.06);--ink: #EAEAEB;--ink-2: #B5B6BA;--ink-3: #8A8B8F;--ink-4: #5A5B5F;--ink-5: #3B3C40;--accent: #2A5BFE;--accent-s: rgba(42,91,254,.14);--accent-s2: rgba(42,91,254,.22);--green: #00B836;--green-s: rgba(0,184,54,.14);--red: #FF3B30;--red-s: rgba(255,59,48,.12);--orange: #FF9500;--orange-s: rgba(255,149,0,.12);--gold: #FFC803;--gold-s: rgba(255,200,3,.12);--purple: #BF5AF2;--purple-s: rgba(191,90,242,.12);--shadow: 0 2px 8px rgba(0,0,0,.3), 0 8px 32px rgba(0,0,0,.24);--shadow-h: 0 4px 16px rgba(0,0,0,.4), 0 12px 40px rgba(0,0,0,.3);--overlay: rgba(0,0,0,.6);--scrollbar: rgba(255,255,255,.08);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink)}::selection{background:var(--accent-s2)}::placeholder{color:var(--ink-4)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.app-layout{display:flex;flex-direction:column;height:100vh;background:var(--bg-grad)}.app-main{display:flex;flex:1;overflow:hidden}.app-content__body{flex:1;padding:36px 52px;overflow-y:auto}.card{background:var(--card);border-radius:16px;border:1px solid var(--stroke);box-shadow:var(--shadow);transition:all .2s}.card--clickable{cursor:pointer}.card--clickable:hover{box-shadow:var(--shadow-h)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:100px;border:none;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;background:var(--hover);color:var(--ink-2)}.btn:disabled{background:var(--ink-5);color:var(--ink-4);cursor:default;box-shadow:none}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px #107f8c40}.btn--primary:disabled{background:var(--ink-5);box-shadow:none}.btn--sm{padding:8px 16px;font-size:13px}.btn--danger{color:var(--red)}.btn--block{width:100%}.btn--icon{padding:0;width:32px;height:32px;border-radius:10px;background:none;color:var(--ink-3)}.btn--icon:hover{background:var(--hover)}.input{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:12px;border:1.5px solid var(--ink-5);background:var(--input-bg);font-size:14px;font-weight:400;font-family:inherit;color:var(--ink);outline:none;transition:border-color .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus)}.input--big{padding:14px 16px;font-size:18px;font-weight:700}.select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--ink-5);background:var(--input-bg);font-size:14px;font-weight:500;font-family:inherit;color:var(--ink);cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%237A7A7A' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.select--active{border-color:var(--accent);background-color:var(--accent-s)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:var(--solid);border-radius:20px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-h);border:1px solid var(--stroke);animation:modal-in .25s cubic-bezier(.32,.72,0,1)}.modal__header{padding:20px 26px 0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal__title{font-size:20px;font-weight:700;color:var(--ink)}.modal__close{width:32px;height:32px;border-radius:16px;border:none;background:var(--hover);color:var(--ink-3);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal__subheader{padding:12px 26px 0;flex-shrink:0}.modal__body{padding:16px 26px;overflow-y:auto;flex:1;min-height:0}.modal__footer{padding:4px 26px 26px;flex-shrink:0}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{background:var(--solid);border-radius:20px;padding:28px 26px 22px;width:340px;max-width:90vw;box-shadow:var(--shadow-h);border:1px solid var(--stroke);text-align:center;animation:modal-in .2s cubic-bezier(.32,.72,0,1)}.confirm-dialog__icon{color:var(--red);margin-bottom:12px}.confirm-dialog__msg{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:20px}.confirm-dialog__actions{display:flex;gap:10px}.acc-picker-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--ink-5);background:var(--input-bg);font-size:14px;font-weight:500;font-family:inherit;color:var(--ink);cursor:pointer;text-align:left}.acc-picker-trigger--active{border-color:var(--accent)}.acc-picker-trigger__icon{width:28px;height:28px;border-radius:8px;background:var(--hover);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.acc-picker-trigger__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-picker-trigger__bal{font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;color:var(--ink-2);font-size:13px}.acc-picker-trigger__placeholder{flex:1;color:var(--ink-4)}.acc-picker-trigger__chevron{color:var(--ink-4);flex-shrink:0;transition:transform .15s}.acc-picker-panel{background:var(--solid);border-radius:16px;width:380px;max-width:90vw;max-height:60vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-h);border:1px solid var(--stroke);animation:modal-in .2s cubic-bezier(.32,.72,0,1)}.acc-picker-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;font-size:14px;font-weight:700;color:var(--ink);flex-shrink:0}.acc-picker-panel__body{overflow-y:auto;padding:0 8px 8px;flex:1;min-height:0}.acc-picker-empty{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-3);transition:background .15s;margin-bottom:4px}.acc-picker-empty:hover{background:var(--hover)}.acc-picker-empty--active{background:var(--accent-s);color:var(--accent)}.acc-row--selected{background:var(--accent-s)!important;outline:1.5px solid var(--accent);outline-offset:-1.5px}.jar-row--selected{background:var(--accent-s)!important;outline:1.5px solid var(--accent);outline-offset:-1.5px;border-radius:8px}.acc-row--disabled{opacity:.35;pointer-events:none}.sidebar{width:68px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--stroke);display:flex;flex-direction:column;align-items:center;padding:12px 0}.sidebar__nav{display:flex;flex-direction:column;gap:6px;flex:1}.sidebar__link{width:42px;height:42px;border-radius:12px;border:none;background:transparent;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;text-decoration:none}.sidebar__link--active{background:var(--accent-s);color:var(--accent)}.sidebar__tooltip{position:absolute;left:54px;top:50%;transform:translateY(-50%);background:var(--ink);color:var(--bg);padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;z-index:50}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:24px;height:64px;padding:0 15px;background:var(--card);border-bottom:1px solid var(--divider);flex-shrink:0}.app-header__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.app-header__logo-img{height:50px;width:auto;object-fit:contain}.app-header__search{flex:1;max-width:400px;position:relative;margin:0 auto}.app-header__search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-4);pointer-events:none}.app-header__search-input{width:100%;padding:8px 14px 8px 38px;border-radius:100px;border:1px solid var(--stroke);background:var(--input-bg);font-size:13px;font-weight:400;font-family:inherit;color:var(--ink);outline:none;transition:border-color .2s}.app-header__search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus)}.app-header__search-input::placeholder{color:var(--ink-4)}.app-header__right{display:flex;align-items:center;gap:20px;flex-shrink:0;margin-left:auto}.app-header__balance{text-align:right}.app-header__balance-value{display:block;font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}.app-header__balance-label{display:block;font-size:11px;color:var(--ink-3);font-weight:500}.app-header__user{display:flex;align-items:center;gap:8px}.app-header__avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-s);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-header__username{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}.app-header__add-btn{display:flex;align-items:center;gap:6px;padding:7px 14px 7px 10px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;flex-shrink:0}.app-header__add-btn:hover{opacity:.88}.app-header__add-btn:active{transform:scale(.97)}.app-header__icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:var(--ink-3);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.app-header__icon-btn:hover{background:var(--hover);color:var(--ink)}.app-header__desktop-actions{display:flex;align-items:center;gap:20px}.tx-detail-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--stroke);background:transparent;color:var(--ink-4);cursor:pointer;flex-shrink:0;transition:all .15s}.tx-detail-btn:hover{border-color:var(--accent);color:var(--accent)}.tx-detail-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-s)}.tx-date-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:16px}.tx-receipt-btn{position:relative;display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border-radius:8px;border:1px dashed var(--stroke);background:transparent;color:var(--ink-4);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden}.tx-receipt-btn:hover{border-color:var(--accent);color:var(--accent)}.tx-receipt-btn--has{border-color:var(--green);color:var(--green);border-style:solid}.tx-receipt-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tx-receipt-x{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:var(--ink-4);color:#fff;cursor:pointer;margin-left:4px;flex-shrink:0;opacity:.6;transition:opacity .15s}.tx-receipt-x:hover{opacity:1;background:var(--red)}.tx-receipt-scan{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 12px;border:1.5px solid var(--accent);border-radius:8px;background:var(--accent-s);color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.tx-receipt-scan:hover:not(:disabled){background:var(--accent);color:#fff}.tx-receipt-scan:disabled{opacity:.35;cursor:default}.tx-receipt-scan--loading{border-style:dashed;opacity:1!important;cursor:wait}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.ops-header{display:flex;align-items:center;justify-content:space-between}.ops-header__title{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.2px}.ops-header__right{display:flex;align-items:center;gap:10px}.ops-tabs{display:flex;border:1px solid var(--stroke);border-radius:8px;overflow:hidden}.ops-tabs__tab{padding:6px 14px;border:none;border-right:1px solid var(--stroke);background:transparent;color:var(--ink-3);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.ops-tabs__tab:last-child{border-right:none}.ops-tabs__tab--active{background:var(--accent);color:#fff;font-weight:600}.ops-date-label{padding:10px 20px 6px;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--divider)}.bar{border-radius:6px;background:var(--hover);overflow:hidden;flex:1}.bar__fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.32,.72,0,1)}.pill{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;margin-left:4px}.pill--need{color:var(--accent);background:var(--accent-s)}.pill--want{color:var(--orange);background:var(--orange-s)}.pill--excess{color:var(--red);background:var(--red-s)}.pill--inc{color:var(--green);background:var(--green-s)}.section{margin-bottom:28px}.section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section__title{font-size:16px;font-weight:700;color:var(--ink)}.tabs{display:flex;gap:4px;background:var(--hover);border-radius:12px;padding:3px}.tabs__tab{flex:1;padding:10px 0;border-radius:10px;border:none;background:transparent;color:var(--ink-3);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.tabs__tab--active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #0000000f}.hint-wrap{position:relative;display:inline-flex;align-items:center}.hint-icon{color:var(--ink-4);cursor:help;transition:color .15s}.hint-wrap:hover .hint-icon{color:var(--accent)}.hint-tooltip{display:none;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);min-width:260px;padding:10px 14px;border-radius:10px;background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);font-size:12px;font-weight:400;line-height:1.6;color:var(--ink-2);z-index:200;white-space:normal}.hint-wrap:hover .hint-tooltip{display:block}.chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:10px;border:1.5px solid var(--stroke);background:transparent;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit;color:var(--ink-3);transition:all .15s}.chip--active{border-color:var(--accent);background:var(--accent-s);font-weight:700;color:var(--accent)}.swipe-row{position:relative;overflow:hidden}.swipe-row__content{position:relative;z-index:1;background:var(--solid)}.swipe-row__action{position:absolute;right:0;top:0;bottom:0;width:72px;display:flex;align-items:center;justify-content:center;background:var(--red-s);color:var(--red);cursor:pointer;user-select:none;-webkit-user-select:none}.cat-btn{padding:10px 4px;border-radius:12px;border:2px solid transparent;background:var(--hover);cursor:pointer;text-align:center;transition:all .15s}.cat-btn--active{border-color:var(--accent);background:var(--accent-s)}.cat-btn__icon{font-size:18px}.cat-btn__label{font-size:10px;font-weight:600;color:var(--ink-3);margin-top:2px}.cat-btn--active .cat-btn__label{color:var(--accent)}.type-btn{flex:1;padding:10px 0;border-radius:12px;font-size:13px;font-weight:600;font-family:inherit;border:2px solid transparent;background:var(--hover);color:var(--ink-3);cursor:pointer;transition:all .15s}.list-item{display:flex;align-items:center;gap:14px;padding:12px 20px;transition:background .15s}.list-item:hover{background:var(--hover)}.list-item__edit{display:none;background:none;border:none;cursor:pointer;color:var(--ink-4);padding:0;flex-shrink:0;transition:color .15s}.list-item:hover .list-item__edit{display:inline-flex}.list-item__edit:hover{color:var(--ink-3)}.list-item--clickable{cursor:pointer}.list-item--clickable:hover{background:var(--hover)}.list-item__icon{width:38px;height:38px;border-radius:12px;background:var(--hover);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.list-item__type-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-item__body{flex:1;min-width:0}.list-item__title{font-size:14px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px;min-width:0}.list-item__title>:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__sub{font-size:12px;color:var(--ink-3);margin-top:1px}.list-item__meta{display:flex;align-items:center;gap:4px;margin-top:2px}.list-item__notes{font-size:11px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.list-item__clip{color:var(--ink-4);flex-shrink:0}.list-item__amount{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.stat{padding:16px}.stat__label{font-size:12px;color:var(--ink-3);font-weight:500}.stat__value{font-size:20px;font-weight:700;margin-top:6px}.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:28px;align-items:stretch}.dash-grid>div{display:flex;flex-direction:column;gap:16px;max-height:520px}.dash-card{display:flex;flex-direction:column;flex:1;min-height:0}.dash-scroll{flex:1;overflow-y:auto;min-height:0}.dash-scroll::-webkit-scrollbar{width:4px}.dash-scroll::-webkit-scrollbar-track{background:transparent}.dash-scroll::-webkit-scrollbar-thumb{background:#80808040;border-radius:4px}.dash-scroll::-webkit-scrollbar-thumb:hover{background:#80808066}.dash-scroll{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.25) transparent}.block-title{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.2px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 13px;border-bottom:1px solid var(--hover)}.card-row{display:flex;align-items:center;padding:11px 20px;border-bottom:1px solid var(--hover);gap:10px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--hover)}.card-footer__label{font-size:12px;font-weight:600;color:var(--ink-4)}.card-footer__value{font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.card-empty{padding:28px 20px;text-align:center;font-size:13px;color:var(--ink-4);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.balance{margin-bottom:28px}.balance__label{font-size:14px;color:var(--ink-3);font-weight:500;margin-bottom:8px}.balance__value{font-size:48px;font-weight:700;letter-spacing:-2px;line-height:1}.balance__currency{font-size:20px;font-weight:400;color:var(--ink-3)}.acc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s}.acc-row:hover{background:var(--hover)}.acc-row__icon{width:36px;height:36px;border-radius:10px;background:var(--hover);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.acc-row__name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-row__type{font-size:11px;color:var(--ink-4)}.acc-row__balance{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.acc-detail__balance{text-align:center;padding:4px 0 16px}.acc-detail__balance-label{font-size:12px;color:var(--ink-4);margin-bottom:2px}.acc-detail__balance-value{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.acc-detail__month-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.acc-detail__month-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--stroke);background:transparent;color:var(--ink-3);cursor:pointer;transition:all .15s}.acc-detail__month-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-s)}.acc-detail__month-label{font-size:14px;font-weight:700;color:var(--ink);min-width:140px;text-align:center}.acc-detail__summary{display:flex;gap:8px;margin-bottom:16px}.acc-detail__summary-item{flex:1;padding:10px 12px;border-radius:10px;background:var(--hover);text-align:center}.acc-detail__summary-label{display:block;font-size:11px;font-weight:600;color:var(--ink-4);margin-bottom:2px}.acc-detail__summary-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.acc-detail__empty{text-align:center;color:var(--ink-4);font-size:13px;padding:24px 0}.acc-detail__list{border:1px solid var(--stroke);border-radius:10px;overflow:hidden;max-height:340px;overflow-y:auto}.acc-detail__list::-webkit-scrollbar{width:4px}.acc-detail__list::-webkit-scrollbar-thumb{background:#80808040;border-radius:4px}.acc-detail__list-head{display:flex;justify-content:space-between;padding:8px 12px;background:var(--hover);font-size:11px;font-weight:600;color:var(--ink-4)}.acc-detail__row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--divider);gap:8px}.acc-detail__row:hover{background:var(--hover)}.acc-detail__row-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.acc-detail__row-date{font-size:11px;color:var(--ink-4);white-space:nowrap;flex-shrink:0;min-width:44px}.acc-detail__row-desc{font-size:12px;font-weight:500;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-detail__row-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.acc-detail__row-effect{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--red)}.acc-detail__row-effect--plus{color:var(--green)}.acc-detail__row-balance{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);min-width:60px;text-align:right}.total-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;margin-top:8px;border-top:1px solid var(--divider)}.total-row__label{font-size:13px;font-weight:600;color:var(--ink-3)}.total-row__value{font-size:18px;font-weight:700}.jar-list{margin-left:44px;padding:2px 0 6px}.jar-row{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s}.jar-row:hover{background:var(--hover)}.jar-row--free{cursor:default}.jar-row--free:hover{background:transparent}.jar-row__icon{font-size:14px;line-height:20px;flex-shrink:0}.jar-row__body{flex:1;min-width:0}.jar-row__top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.jar-row__name{font-size:12px;font-weight:500;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jar-row__balance{font-size:12px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0}.jar-row__progress{display:flex;align-items:center;gap:6px;margin-top:3px}.jar-row__bar{flex:1;height:4px;border-radius:2px;background:var(--divider);overflow:hidden}.jar-row__bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s}.jar-row__pct{font-size:10px;font-weight:600;color:var(--accent);min-width:28px;text-align:right}.jar-row__target{font-weight:500;color:var(--ink-4)}.jar-row__date,.jar-row__hint{font-size:10px;color:var(--ink-4);margin-top:2px}.jar-add-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--ink-4);padding:4px 10px;border-radius:6px;transition:color .15s,background .15s}.jar-add-btn:hover{color:var(--accent);background:var(--accent-s)}.jar-add-btn--empty{margin-left:48px;margin-top:-4px;margin-bottom:4px}.nwe-row{display:grid;grid-template-columns:4fr 8fr;gap:24px;margin-top:24px}.nwe-pie-layout{display:flex;align-items:center;gap:28px;padding:20px 28px}.nwe-pie{flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.1))}.nwe-slice{cursor:pointer;transform-origin:64px 64px;transition:transform .2s ease,opacity .2s ease}.nwe-slice:hover{transform:scale(1.06);opacity:.88}.nwe-legend{display:flex;flex-direction:column;gap:8px;flex:1}.nwe-legend__row{display:flex;align-items:center;justify-content:space-between}.nwe-legend__dot{width:8px;height:8px;border-radius:4px}.nwe-legend__label{font-size:13px;color:var(--ink-3)}.nwe-legend__value{font-size:13px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.page-title{font-size:38px;font-weight:750;color:var(--ink);letter-spacing:-1.5px;margin-bottom:6px}.page-subtitle{font-size:13px;color:var(--ink-3);margin-bottom:24px}.label{font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:6px}.c-accent{color:var(--accent)}.c-green{color:var(--green)}.c-red{color:var(--red)}.c-orange{color:var(--orange)}.c-ink{color:var(--ink)}.c-ink-3{color:var(--ink-3)}.c-ink-4{color:var(--ink-4)}.bg-accent-s{background:var(--accent-s)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-grad)}.login-page__logo-img{max-width:280px;width:100%;height:auto;margin-bottom:16px}.login-page__sub{font-size:14px;color:var(--ink-3);margin-top:4px}.login-page__error{margin-top:12px;padding:10px 14px;border-radius:10px;background:var(--red-s);color:var(--red);font-size:13px;font-weight:600}.hoverable-row:hover{background:var(--hover)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:16px}.burger-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:none;background:transparent;color:var(--ink-2);cursor:pointer;flex-shrink:0}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-nav-panel{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:80vw;background:var(--card);border-left:1px solid var(--stroke);padding:20px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;animation:slide-in-right .2s ease-out;z-index:151}.mobile-nav-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;font-size:15px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:background .15s;border:none;background:transparent;cursor:pointer;font-family:inherit;width:100%;text-align:left}.mobile-nav-item:hover{background:var(--hover)}.mobile-nav-item--active{background:var(--accent-s);color:var(--accent)}.mobile-nav-divider{height:1px;background:var(--divider);margin:8px 0}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.debts-layout{display:flex;gap:24px;align-items:flex-start}.debts-main{flex:1;min-width:0;overflow:hidden}.debts-sidebar{width:400px;flex-shrink:0;position:sticky;top:16px}.budget-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.budget-page--mobile{display:flex;flex-direction:column;height:calc(100dvh - 88px);overflow:hidden}.budget-mobile-card{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--card);border-radius:12px;border:1px solid var(--stroke);box-shadow:var(--shadow);overflow:hidden}.budget-mobile-card__header{display:flex;align-items:center;gap:8px;padding:12px 16px 0;flex-shrink:0}.budget-mobile-card__header .tabs{flex:1;margin:0}.budget-mobile-card__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.budget-mobile-card .card{background:transparent;border:none;box-shadow:none;border-radius:0}.budget-mobile-card__total{flex-shrink:0;border-top:2px solid var(--divider);padding:12px 16px;background:var(--hover)}.lfo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.goal-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}@media(min-width:768px)and (max-width:1023px){.burger-btn{display:flex}.sidebar,.app-header__desktop-actions{display:none}.app-content__body{padding:24px 20px}.app-header{gap:14px}.app-header__search{max-width:240px}.dash-grid{grid-template-columns:1fr 1fr}.dash-grid>div{max-height:none}.nwe-row{grid-template-columns:1fr}.debts-layout{flex-direction:column}.debts-sidebar{width:100%;position:static}.budget-layout,.lfo-grid,.goal-split{grid-template-columns:1fr}.modal{max-width:560px}.modal__header{padding:18px 22px 0}.modal__body{padding:14px 22px}.modal__footer{padding:4px 22px 22px}}@media(max-width:767px){.burger-btn{display:flex}.sidebar,.app-header__desktop-actions{display:none}.app-header{height:56px;gap:10px;padding:0 12px}.app-header__search,.app-header__balance{display:none}.app-header__logo-img{height:38px}.app-header__add-btn span{display:none}.app-header__add-btn{padding:8px;border-radius:10px}.app-header__right{gap:10px}.app-content__body{padding:16px}.dash-grid{grid-template-columns:1fr}.dash-grid>div{max-height:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.stat{padding:10px 12px}.stat__label{font-size:11px}.stat__value{font-size:15px;margin-top:4px}.ops-header{flex-wrap:wrap;gap:8px}.ops-header__right{width:100%}.ops-tabs{flex:1}.ops-tabs__tab{padding:5px 10px;font-size:12px;flex:1;text-align:center}.card-header{padding:12px 14px}.card-row{padding:9px 14px;gap:8px}.card-footer{padding:10px 14px}.card-empty{padding:20px 14px}.list-item{padding:10px 14px;gap:10px}.list-item__amount{font-size:14px}.list-item__title{font-size:13px}.ops-date-label{padding:8px 14px 5px;font-size:11px}.dash-grid{margin-bottom:16px;gap:12px}.nwe-row{grid-template-columns:1fr;gap:16px}.nwe-pie-layout{flex-direction:column;gap:16px;padding:16px}.balance__value{font-size:32px!important;letter-spacing:-1.5px}.debts-layout{flex-direction:column}.debts-sidebar{width:100%;position:static}.budget-layout,.lfo-grid{grid-template-columns:1fr}.goal-split{grid-template-columns:1fr;gap:10px}.jar-list{margin-left:24px}.jar-add-btn--empty{margin-left:28px}.modal{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px);max-height:90vh;border-radius:16px}.card{border-radius:12px}.block-title{font-size:14px}.acc-row{gap:10px;padding:8px 10px}.acc-row__icon{width:32px;height:32px;border-radius:8px;font-size:16px}.acc-row__name{font-size:12px}.acc-row__balance{font-size:14px}.jar-row{gap:8px;padding:6px 10px}.jar-row__icon{width:22px;height:22px;font-size:13px}.jar-row__name,.jar-row__balance{font-size:11px}.nwe-row{margin-top:16px}.nwe-pie-layout{padding:14px;gap:12px;align-items:center}.nwe-pie{width:100px;height:100px}.nwe-legend__label,.nwe-legend__value{font-size:12px}.nwe-legend{gap:6px}.modal__header{padding:16px 18px 0}.modal__title{font-size:18px}.modal__subheader{padding:10px 18px 0}.modal__body{padding:14px 18px}.modal__footer{padding:4px 18px 20px}.card-row button[title]{padding:4px}.page-title{font-size:26px;letter-spacing:-1px}.page-subtitle{font-size:12px;margin-bottom:18px}.glass{border-radius:12px}.login-page{padding:16px}}
