.finance-stack,.goals-stack{max-width:none;margin:0;width:100%}.goals-stack{gap:24px;padding-bottom:6.5rem}.goals-scroll-area{padding-bottom:max(7rem,calc(5.5rem + env(safe-area-inset-bottom, 0px)));scroll-padding-bottom:max(7rem,calc(5.5rem + env(safe-area-inset-bottom, 0px)))}.dark .finance-scroll-area,.dark .goals-scroll-area{background-color:#151d2e!important}body:has(.finance-page) [data-slot=dialog-overlay],body:has(.goals-page) [data-slot=dialog-overlay]{z-index:110!important}body:has(.finance-page) [data-slot=dialog-content],body:has(.goals-page) [data-slot=dialog-content]{z-index:111!important}.goals-dialog,.goals-goal-modal{--goals-card:#ffffff;--goals-surface:#f2f3f2;--goals-border:rgba(24,23,37,0.08);--goals-border-strong:rgba(24,23,37,0.14);--goals-muted:#7c7c7c;border-radius:20px!important;border:1px solid var(--goals-border)!important;background:var(--goals-card)!important}.dark .goals-dialog,.dark .goals-goal-modal{--goals-card:#192235;--goals-surface:#222d46;--goals-border:rgba(255,255,255,0.08);--goals-border-strong:rgba(255,255,255,0.12);--goals-muted:#94a3b8}.goals-field-label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;color:var(--goals-muted)}.goals-field-input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--goals-border);background:var(--goals-card);font-size:14px;font-weight:600;color:#181725;outline:none;font-family:inherit;box-sizing:border-box}.dark .goals-field-input{color:#f8fafc;background:var(--goals-surface)}.goals-field-input:focus{border-color:#53b175;box-shadow:0 0 0 2px rgba(83,177,117,.2)}.goals-field-input::placeholder{color:var(--goals-muted);font-weight:500}.goals-field-select{width:100%!important;border-radius:12px!important;border:1px solid var(--goals-border)!important;background:var(--goals-card)!important;font-weight:600!important;height:42px!important}.goals-btn-primary{padding:12px 18px;border-radius:14px;border:0;background:#53b175;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px rgba(83,177,117,.35)}.goals-btn-primary:disabled{opacity:.55;cursor:not-allowed}.goals-btn-secondary{padding:11px 16px;border-radius:14px;border:1px dashed var(--goals-border-strong);background:transparent;color:#181725;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.dark .goals-btn-secondary{color:#e2e8f0}.goals-btn-danger{padding:11px 16px;border-radius:14px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#b91c1c;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.dark .goals-btn-danger{color:#fca5a5}.goals-field-panel{padding:12px 14px;border-radius:14px;border:1px solid var(--goals-border);background:var(--goals-card);min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.dark .goals-field-panel{background:var(--goals-surface)}.goals-sphere-modal{overflow-x:hidden!important;box-sizing:border-box}.goals-sphere-form-fields,.goals-sphere-form-fields label,.goals-sphere-form-fields>div{min-width:0;max-width:100%}.goals-field-select-trigger{width:100%!important;height:auto!important;min-height:44px;padding:10px 12px!important;border-radius:12px!important;border:1px solid var(--goals-border)!important;background:var(--goals-card)!important;box-shadow:none!important;font-family:inherit}.dark .goals-field-select-trigger{background:var(--goals-surface)!important}.goals-goal-modal .goals-goal-modal-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;color:var(--goals-muted);margin-bottom:10px}.goals-goal-modal-card{padding:14px;border-radius:16px;border:1px solid var(--goals-border);background:var(--goals-card)}.dark .goals-goal-modal-card,.goals-subgoal-card{background:var(--goals-surface)}.goals-subgoal-card{padding:12px;border-radius:14px;border:1px solid var(--goals-border);list-style:none}.goals-subgoal-card--done .goals-field-input{text-decoration:line-through;color:var(--goals-muted)}.goals-subgoal-card--done .goals-field-input:disabled{opacity:.72;cursor:default}.goals-goal-card--month{border-left:4px solid #53b175;padding-left:13px}.goals-goal-card--sub{margin-left:22px;width:calc(100% - 22px);padding:11px 14px;border-style:dashed;background:color-mix(in srgb,var(--goals-surface) 88%,transparent)}.dark .goals-goal-card--sub{background:color-mix(in srgb,var(--goals-surface) 72%,transparent)}.goals-goal-card--sub-done{opacity:.92}.goals-goal-card--sub-toggling{opacity:.65;pointer-events:none;cursor:wait}.goals-goal-group{display:flex;flex-direction:column;gap:8px}.goals-subgoals-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px 4px 6px;border:1px solid rgba(83,177,117,.28);border-radius:999px;background:rgba(83,177,117,.08);color:#2d8f56;font-size:11px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease}.goals-subgoals-toggle:hover{background:rgba(83,177,117,.14);border-color:rgba(83,177,117,.45)}.dark .goals-subgoals-toggle{color:#9be3b4;background:rgba(83,177,117,.12);border-color:rgba(83,177,117,.32)}.dark .goals-subgoals-toggle:hover{background:rgba(83,177,117,.18)}.goals-goal-icon--sub{width:34px;height:34px;border-radius:11px;font-size:15px}.goals-goal-sub-mark{color:#7c7c7c;font-size:16px;font-weight:700;line-height:1}.dark .goals-goal-sub-mark{color:#94a3b8}.goals-goal-name--sub{font-size:13px;font-weight:600}.goals-goal-name--done{text-decoration:line-through;color:#7c7c7c}.dark .goals-goal-name--done{color:#94a3b8}.goals-goal-icon--month-pick{border:none;cursor:pointer;color:#9ca3af;background:#eef0ee;transition:color .2s,background .2s,transform .2s}.dark .goals-goal-icon--month-pick{background:rgba(148,163,184,.12);color:#94a3b8}.goals-goal-icon--month-pick.goals-goal-icon--pulse{animation:goals-target-pulse 2.2s ease-in-out infinite}.goals-goal-icon--month-pick.goals-goal-icon--picked{color:#53b175;background:rgba(83,177,117,.16);animation:none}.goals-goal-icon--month-pick.goals-goal-icon--picking{opacity:.55;animation:none;cursor:wait}.dark .goals-goal-icon--month-pick.goals-goal-icon--picked{color:#9be3b4;background:rgba(83,177,117,.22)}@keyframes goals-target-pulse{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.05);opacity:1}}.goals-subgoal-row{display:flex;align-items:flex-start;gap:10px}.goals-subgoal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.goals-subgoal-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.goals-subgoal-check{width:22px;height:22px;margin-top:8px;border-radius:8px;border:2px solid var(--goals-border-strong);background:var(--goals-card);cursor:pointer;flex-shrink:0;padding:0;display:grid;place-items:center;font:inherit;line-height:1;transition:background .15s,border-color .15s}.dark .goals-subgoal-check{background:#192235;border-color:rgba(255,255,255,.22)}.goals-subgoal-check.checked{border-color:#53b175;background:#53b175}.goals-subgoal-check:disabled{opacity:.55;cursor:wait}.goals-subgoal-check.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:800;line-height:1}.goals-subgoal-check--disabled{opacity:.35;cursor:default;pointer-events:none}.goals-subgoal-delete{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:6px;flex-shrink:0;border-radius:10px;border:0;background:transparent;color:#7c7c7c;cursor:pointer;transition:background .15s,color .15s}.goals-subgoal-delete:hover{background:rgba(239,68,68,.1);color:#b91c1c}.goals-subgoal-month-chip,.goals-subgoal-save-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:99px;border:1px solid var(--goals-border);background:var(--goals-card);font-size:11px;font-weight:700;color:#181725;cursor:pointer;font-family:inherit}.dark .goals-subgoal-month-chip,.dark .goals-subgoal-save-chip{color:#f8fafc;background:#192235}.goals-subgoal-save-chip{border-color:#53b175;background:rgba(83,177,117,.12);color:#2d8f56}.goals-subgoal-month-chip.active{border-color:#53b175;background:rgba(83,177,117,.15);color:#2d8f56}.dark .goals-subgoal-month-chip.active{color:#9be3b4}.goals-goal-footer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}@media (max-width:420px){.goals-goal-footer-actions{grid-template-columns:1fr}}.goals-goal-footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:8px 6px;border-radius:12px;border:1px solid var(--goals-border);background:var(--goals-surface);color:#181725;font-size:11px;font-weight:700;line-height:1.2;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s,transform .12s}.dark .goals-goal-footer-btn{color:#f8fafc;background:#222d46}.goals-goal-footer-btn:hover{border-color:var(--goals-border-strong);transform:translateY(-1px)}.goals-goal-footer-btn.active{border-color:#53b175;background:rgba(83,177,117,.14);color:#2d8f56}.dark .goals-goal-footer-btn.active{color:#9be3b4}.goals-goal-footer-btn--ai{border-color:rgba(83,177,117,.35);background:rgba(83,177,117,.1);color:#2d8f56}.dark .goals-goal-footer-btn--ai{color:#9be3b4;background:rgba(83,177,117,.16)}.goals-goal-footer-btn--danger{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#b91c1c}.dark .goals-goal-footer-btn--danger{color:#fca5a5;background:rgba(239,68,68,.12)}.goals-btn-ghost{padding:10px 16px;border-radius:14px;border:0;background:transparent;color:#7c7c7c;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.dark .goals-btn-ghost{color:#94a3b8}.goals-score-slider-wrap{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:0 11px}.goals-score-slider-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;min-width:0}.goals-score-slider-label{font-size:11px;font-weight:700;color:var(--goals-muted);flex-shrink:0}.goals-score-slider-value{font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;flex-shrink:0}.goals-score-slider-max{font-size:14px;font-weight:600;color:var(--goals-muted)}.goals-score-slider{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;height:8px;margin:0;border-radius:99px;background:linear-gradient(to right,var(--goals-slider-color,#53b175) 0,var(--goals-slider-color,#53b175) var(--goals-slider-pct,50%),var(--goals-border) var(--goals-slider-pct,50%),var(--goals-border) 100%);outline:none;cursor:pointer;box-sizing:border-box}.goals-score-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--goals-slider-color,#53b175);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:grab}.goals-score-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--goals-slider-color,#53b175);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:grab}.goals-score-slider::-moz-range-track{height:8px;border-radius:99px;background:transparent}.goals-color-palette{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;width:100%;max-width:100%;min-width:0}@media (max-width:420px){.goals-color-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}}@media (max-width:340px){.goals-color-palette{grid-template-columns:repeat(5,minmax(0,1fr))}}.goals-color-swatch{aspect-ratio:1;width:100%;min-width:0;min-height:28px;max-width:100%;border-radius:10px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,box-shadow .12s}.goals-color-swatch:hover{transform:scale(1.04)}.goals-color-swatch.active{border-color:#181725;box-shadow:0 0 0 2px #fff,0 0 0 3px currentColor;transform:scale(1.04)}.dark .goals-color-swatch.active{border-color:#f8fafc;box-shadow:0 0 0 2px var(--goals-card),0 0 0 3px #f8fafc}.goals-color-custom{position:relative;aspect-ratio:1;min-width:0;min-height:28px;max-width:100%;border-radius:10px;border:2px dashed var(--goals-border-strong);background:var(--goals-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.goals-color-custom-icon{font-size:16px;font-weight:700;color:var(--goals-muted);pointer-events:none}.goals-color-custom-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.finance-b-sub{font-size:11px;font-weight:600;opacity:.55;margin-top:2px;margin-bottom:4px;position:relative;z-index:1}.finance-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.finance-stats-grid>*{min-width:0}@media (max-width:640px){.finance-stats-grid{grid-template-columns:1fr}}.finance-b-action--income{background:#53b175!important;border-color:rgba(255,255,255,.2)!important}.finance-b-action--income:hover{background:#45a366!important}.finance-b-action--expense{background:#e5484d!important;border-color:rgba(255,255,255,.2)!important}.finance-b-action--expense:hover{background:#cf3f44!important}.finance-s-amount--remain.finance-s-amount--negative{color:#e5484d!important}.dark .finance-s-amount--remain.finance-s-amount--negative{color:#f87171!important}.finance-b-amount--negative,.finance-b-amount--negative .finance-b-cur{color:#fca5a5!important}.finance-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.finance-grid-2>*{min-width:0}@media (max-width:760px){.finance-grid-2{grid-template-columns:1fr}}.finance-card-hover{position:relative;z-index:0;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out}.finance-card-hover:hover{z-index:10;transform:translateY(-3px);box-shadow:0 6px 24px rgba(24,23,37,.07);border-color:rgba(15,23,42,.14)}.dark .finance-card-hover:hover{box-shadow:0 8px 28px rgba(0,0,0,.4);border-color:rgba(255,255,255,.2)}.dark .finance-planning{background:#182133;border-color:rgba(255,255,255,.12)}.finance-planning-table{font-size:14px;line-height:1.35}.finance-planning-table .finance-planning-balance{height:1.625rem;min-height:1.625rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px;font-weight:400}.finance-planning-table .finance-planning-head{box-sizing:border-box}.finance-planning-table .finance-planning-day-btn,.finance-planning-table .finance-planning-head-day{height:1.375rem;min-height:1.375rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.finance-planning-table .finance-planning-day-btn{font-size:11px;font-weight:500}.finance-planning-table .finance-planning-category-row,.finance-planning-table .finance-planning-label-row{height:2.25rem;min-height:2.25rem;box-sizing:border-box;display:flex;align-items:center;font-size:14px;font-weight:400}.finance-planning-table .finance-planning-sum-cell{height:2.25rem;min-height:2.25rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:13px}.finance-planning-table .finance-planning-sum-cell-inner{width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px}.finance-planning-table .finance-planning-chip{font-size:12px;line-height:1.25}.finance-planning-table .finance-planning-expense-row,.finance-planning-table .finance-planning-income-row{height:2.25rem;min-height:2.25rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:400}.finance-planning-table .finance-planning-fixed-col{align-self:flex-start}.finance-planning-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.finance-operation-modal{font-size:15px;box-sizing:border-box}.finance-operation-modal [data-slot=dialog-title]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%}.finance-operation-modal [data-slot=dialog-title] span{font-size:18px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-operation-form{min-width:0!important;max-width:100%}@media (max-width:359px){.finance-operation-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;padding-inline:12px!important;padding-block:14px!important}.finance-operation-modal [data-slot=dialog-title] span{font-size:16px}}.finance-operation-form [data-slot=select-trigger],.finance-operation-form input:not(.fin-amount-input){font-size:16px!important}.finance-operation-form .finance-op-list .finance-op-price{font-size:14px}.finance-operation-form .finance-op-list .finance-op-date{font-size:12px;color:rgb(107 114 128)}.dark .finance-operation-form .finance-op-list .finance-op-date{color:rgb(156 163 175)}.finance-operation-form .finance-op-list .finance-op-name{font-size:16px}.finance-operation-form .finance-op-list .finance-op-category{font-size:13px}.finance-operation-form .finance-op-list>div{padding:12px}.finance-operation-form .finance-op-list .text-center.py-2{font-size:15px}.dark .finance-page{--finance-surface:#151d2e}@media (min-width:721px){.goals-balance-mini-wheel{width:240px!important;height:240px!important}.goals-balance-legend-row{font-size:14px;line-height:1.35;gap:10px}.goals-balance-legend-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.95)}.dark .goals-balance-legend-dot{box-shadow:0 0 0 1.5px rgba(15,23,42,.85)}}@media (max-width:720px){.goals-balance-legend-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.9)}.dark .goals-balance-legend-dot{box-shadow:0 0 0 1px rgba(15,23,42,.8)}}.goals-balance-legend-label{width:175px;min-width:175px;max-width:175px}.sphere-skill-bar-track{position:relative;height:.7rem!important;min-height:.7rem}.sphere-skill-bar-hint{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:10px;font-weight:600;line-height:1;letter-spacing:.01em;color:#A16207;text-shadow:0 0 4px rgba(255,255,255,.95),0 1px 2px rgba(255,255,255,.8)}.dark .sphere-skill-bar-hint{color:#FDE047;text-shadow:0 0 5px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.45)}.sphere-skill-bar--pulse .sphere-skill-bar-track{animation:sphere-bar-glow 1.8s ease-in-out infinite}@keyframes sphere-bar-glow{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 2px color-mix(in srgb,#FACC15 55%,transparent)}}.sphere-invest-pulse-btn{display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;padding:0;border-radius:9999px;border:1.5px solid #eab308;background:color-mix(in srgb,#FACC15 38%,white);color:#A16207;cursor:pointer;transform-origin:center center;animation:sphere-invest-pulse 1.4s ease-in-out infinite}.sphere-invest-pulse-icon{display:block;width:.72rem;height:.72rem;flex-shrink:0}.dark .sphere-invest-pulse-btn{background:color-mix(in srgb,#FACC15 28%,#192235);border-color:#FACC15;color:#FDE047}@keyframes sphere-invest-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,#FACC15 50%,transparent)}50%{transform:scale(1.12);box-shadow:0 0 0 5px transparent}}@keyframes sphere-invest-pop{0%{transform:scale(.92);opacity:.5}60%{transform:scale(1.03);opacity:1}to{transform:scale(1)}}@media (max-width:399px){.goals-balance-legend-label{width:130px;min-width:130px;max-width:130px}}@media (max-width:819px){.goals-wheel-flower-side{display:none!important}.goals-wheel-flower{justify-content:center}.goals-wheel-flower-legend.goals-sphere-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;justify-content:center;margin-top:6px;gap:4px 6px}.goals-wheel-flower-legend .goals-sphere-legend-btn{justify-content:flex-start;min-width:0;font-size:10px;font-weight:600;padding:2px 4px;gap:3px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent!important;border:none}.goals-wheel-flower-legend .goals-sphere-legend-btn i{width:6px;height:6px}}.finance-cat-row--link{width:100%;margin:0;padding:4px 6px;border:none;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s,transform .15s}.finance-cat-row--highlight,.finance-cat-row--link:hover{background:rgba(83,177,117,.08);transform:scale(1.02)}.finance-cat-row--highlight i{width:14px;height:14px;transition:width .15s ease,height .15s ease}.finance-cat-row--highlight .finance-cat-name{font-weight:800}.dark .finance-cat-row--highlight,.dark .finance-cat-row--link:hover{background:rgba(83,177,117,.12)}.finance-donut-popup{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.finance-donut-popup-inner{display:flex;max-width:92%;flex-direction:column;align-items:center;gap:2px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff;padding:6px 10px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.1)}.dark .finance-donut-popup-inner{border-color:#2a385a;background:#192235}.finance-donut-popup-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.finance-donut-popup-name{font-size:11px;font-weight:700;line-height:1.25;color:#181725;word-break:break-word}.dark .finance-donut-popup-name{color:#fff}.finance-donut-popup-amount{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:#181725}.dark .finance-donut-popup-amount{color:#fff}.finance-donut-segment{transition:stroke-width .15s ease}@media (min-width:1200px){.goals-wf-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:stretch}.goals-wf-row{min-width:0}}@keyframes home-month-goal-pick-pulse{0%,to{border-color:rgba(83,177,117,.28);background-color:rgba(83,177,117,.07);box-shadow:0 0 0 0 rgba(83,177,117,0);color:#2d8f56}50%{border-color:rgba(83,177,117,.62);background-color:rgba(83,177,117,.16);box-shadow:0 0 0 3px rgba(83,177,117,.14);color:#53b175}}.home-month-goal-pick-pulse{animation:home-month-goal-pick-pulse 2.6s ease-in-out infinite}.home-month-goal-pick-pulse:hover{animation-play-state:paused}.dark .home-month-goal-pick-pulse{animation-name:home-month-goal-pick-pulse-dark}@keyframes home-month-goal-pick-pulse-dark{0%,to{border-color:rgba(83,177,117,.32);background-color:rgba(83,177,117,.1);box-shadow:0 0 0 0 rgba(83,177,117,0);color:#9be3b4}50%{border-color:rgba(155,227,180,.55);background-color:rgba(83,177,117,.2);box-shadow:0 0 0 3px rgba(83,177,117,.18);color:#b8f0cc}}@media (prefers-reduced-motion:reduce){.home-month-goal-pick-pulse{animation:none;border-color:rgba(83,177,117,.45);background-color:rgba(83,177,117,.12);color:#2d8f56}.dark .home-month-goal-pick-pulse{color:#9be3b4}}@media (min-width:768px){.habits-today-col-md{position:relative;background-color:transparent!important}.habits-today-col-md:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-2px);background-color:rgb(83 177 117/.1);pointer-events:none;z-index:0}.habits-today-col-md>*{position:relative;z-index:1}}:root{--lw-fab-pad:calc(72px + max(0.75rem, env(safe-area-inset-bottom, 0px)) + 5.75rem + 4.5rem + 1.5rem)}.lw-fab-pad{padding-bottom:var(--lw-fab-pad)!important;scroll-padding-bottom:var(--lw-fab-pad)}:root{--fin-text:#181725;--fin-muted:#64748b;--fin-card:#ffffff;--fin-sheet-bg:#ffffff;--fin-surface:#f1f4f2;--fin-input:#f4f6f5;--fin-border:rgba(15,23,42,0.09);--fin-green:#53b175;--fin-green-ink:#2b8a50;--fin-green-soft:rgba(83,177,117,0.14);--fin-red:#e5484d;--fin-red-ink:#cf3f44;--fin-red-soft:rgba(229,72,77,0.12);--fin-amber-soft:rgba(245,158,11,0.16);--fin-amber-ink:#a16207}.dark{--fin-text:#f8fafc;--fin-muted:#94a3b8;--fin-card:oklch(0.32 0.04 263.67);--fin-sheet-bg:#1b2538;--fin-surface:rgba(255,255,255,0.06);--fin-input:rgba(255,255,255,0.06);--fin-border:rgba(255,255,255,0.1);--fin-green-ink:#86dca6;--fin-green-soft:rgba(83,177,117,0.2);--fin-red-ink:#f59393;--fin-red-soft:rgba(229,72,77,0.2);--fin-amber-soft:rgba(245,158,11,0.2);--fin-amber-ink:#fbbf24}.fin-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px 10px;min-width:0}.fin-stack{gap:14px}.fin-stack,.fin-stack>*{min-width:0}.fin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:999px;color:inherit;transition:background-color .15s}.fin-icon-btn:hover{background:var(--fin-surface)}.fin-period{display:flex;margin-left:-12px}.fin-period,.fin-period-label{align-items:center;min-width:0}.fin-period-label{display:inline-flex;gap:4px;min-height:44px;padding:0 4px;font-size:16px;font-weight:600;max-width:min(62vw,320px);border-radius:10px}.fin-period-label:hover{background:var(--fin-surface)}.fin-popover{max-height:var(--radix-popover-content-available-height,80vh);overflow-y:auto;overscroll-behavior:contain;background:var(--fin-card)!important;color:var(--fin-text)!important;border:1px solid var(--fin-border)!important;border-radius:16px!important;box-shadow:0 12px 40px rgba(15,23,42,.18)!important}.fin-menu-item{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-size:15px;text-align:left;color:inherit}.fin-menu-item:hover{background:var(--fin-surface)}.fin-menu-sep{height:1px;background:var(--fin-border);margin:6px 0 10px}.fin-date-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fin-muted);min-width:0}.fin-date-field input{min-height:44px;width:100%;min-width:0;padding:0 8px;border-radius:12px;background:var(--fin-input);border:1px solid var(--fin-border);font-size:16px;color:var(--fin-text)}.finance-b-action{min-height:48px;font-size:15px!important}.fin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px;padding:14px 16px 12px}.fin-stat{min-width:0}.fin-stat+.fin-stat{border-left:1px solid var(--fin-border);padding-left:10px}.fin-stat-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--fin-muted)}.fin-stat-value{margin-top:4px;font-size:17px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.2px}.fin-stat-sub{margin-top:2px;line-height:1.2}.fin-stat-sub,.fin-stats-hint{font-size:11.5px;color:var(--fin-muted)}.fin-stats-hint{grid-column:1/-1;margin-top:6px}@media (max-width:360px){.fin-stat-value{font-size:15px}}.fin-text-income{color:var(--fin-green-ink)}.fin-text-expense,.fin-text-expense-soft{color:var(--fin-red-ink)}.fin-dot{display:inline-block;width:10px;height:10px;border-radius:999px;flex-shrink:0}.fin-dot--income{background:var(--fin-green)}.fin-dot--expense{background:var(--fin-red)}.fin-section{min-width:0}.fin-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-height:32px}.fin-section-title{font-size:16px;font-weight:700;color:var(--fin-text)}.fin-section-meta{font-size:13px;font-weight:600;color:var(--fin-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.fin-section-sub{font-size:12.5px;color:var(--fin-muted);line-height:1.35}.fin-grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}@media (min-width:960px){.fin-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fin-link-btn{display:inline-flex;align-items:center;gap:2px;min-height:40px;padding:0 6px;margin-right:-6px;font-size:14px;font-weight:600;color:var(--fin-green-ink);border-radius:10px}.fin-link-btn:hover{background:var(--fin-green-soft)}.fin-bars{gap:2px;margin:0 -8px}.fin-bar-row,.fin-bars{display:flex;flex-direction:column}.fin-bar-row{gap:7px;width:100%;min-height:48px;padding:8px;border-radius:12px;text-align:left;color:inherit;transition:background-color .15s}.fin-bar-row:hover{background:var(--fin-surface)}.fin-bar-top{justify-content:space-between;gap:10px}.fin-bar-name,.fin-bar-top{display:flex;align-items:center;min-width:0}.fin-bar-name{gap:8px;font-size:14.5px;font-weight:600}.fin-bar-amount{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-bar-pct{display:inline-block;min-width:38px;text-align:right;margin-left:6px;font-size:12px;color:var(--fin-muted)}.fin-bar-track{height:6px;background:var(--fin-surface);overflow:hidden}.fin-bar-fill,.fin-bar-track{display:block;border-radius:99px}.fin-bar-fill{height:100%}.fin-ops-day+.fin-ops-day{margin-top:10px}.fin-ops-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:12.5px;font-weight:700;color:var(--fin-muted);text-transform:none}.fin-ops-day-total{display:inline-flex;gap:8px;font-variant-numeric:tabular-nums;font-weight:600}.fin-ops-items{display:flex;flex-direction:column;margin:0 -8px}.fin-op{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px;border-radius:14px;text-align:left;color:inherit;transition:background-color .15s}.fin-op:hover{background:var(--fin-surface)}.fin-op--pending{opacity:.7}.fin-op-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;font-size:18px;font-weight:700}.fin-op-body{display:flex;flex-direction:column;flex:1;min-width:0}.fin-op-name{font-size:15px;font-weight:600}.fin-op-meta,.fin-op-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-op-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fin-muted)}.fin-op-amount{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.fin-op-meta-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.fin-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:1px 7px;border-radius:99px;font-size:11px;font-weight:600;background:var(--fin-amber-soft);color:var(--fin-amber-ink)}.fin-empty{padding:26px 18px;text-align:center}.fin-empty--flat{padding:18px 8px}.fin-empty-emoji{font-size:40px;line-height:1;margin-bottom:10px}.fin-empty-title{font-size:17px;font-weight:700;color:var(--fin-text)}.fin-empty-text{margin-top:6px;font-size:14px;color:var(--fin-muted)}.fin-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}.fin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:14px;font-size:15px;font-weight:600;white-space:nowrap;transition:transform .12s,filter .15s,background-color .15s}.fin-btn:active:not(:disabled){transform:scale(.98)}.fin-btn:disabled{opacity:.55;cursor:not-allowed}.fin-btn--income,.fin-btn--primary{background:var(--fin-green);color:#fff}.fin-btn--danger,.fin-btn--expense{background:var(--fin-red);color:#fff}.fin-btn--danger:hover:not(:disabled),.fin-btn--expense:hover:not(:disabled),.fin-btn--income:hover:not(:disabled),.fin-btn--primary:hover:not(:disabled){filter:brightness(.95)}.fin-btn--ghost{background:var(--fin-surface);color:var(--fin-text)}.fin-btn--lg{min-height:52px;font-size:16px;padding:0 20px}.fin-btn--submit{width:100%;min-height:54px;border-radius:16px;font-size:17px;white-space:normal;text-align:center}.fin-plan{overflow:visible}.fin-plan-head{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;color:inherit}.fin-plan-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--fin-green-soft);color:var(--fin-green-ink)}.fin-plan-body{border-top:1px solid var(--fin-border);padding:6px 12px 12px;min-width:0}.fin-plan-table{min-width:0;max-width:100%;margin-top:4px;--fp-bg:var(--fin-card);--fp-line:rgba(15,23,42,0.08);--fp-line-strong:rgba(15,23,42,0.16);--fp-today:rgba(83,177,117,0.13);--fp-today-line:#53b175;--fp-head-w:196px;--fp-day-w:84px;--fp-total-w:100px;--fp-pad-x:12px;--fp-row-h:40px;--fp-fs:14px;--fp-fs-bal:14.5px;--fp-fs-dn:15px;--fp-fs-wd:11.5px;--fp-head-h:32px}.dark .fin-plan-table{--fp-line:rgba(255,255,255,0.08);--fp-line-strong:rgba(255,255,255,0.18);--fp-today:rgba(83,177,117,0.2);--fp-today-line:#6fd296}.fp-toolbar{display:flex;flex-wrap:wrap;margin-bottom:8px}.fp-tool,.fp-toolbar{align-items:center;gap:6px}.fp-tool{display:inline-flex;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--fin-border);background:var(--fin-surface);color:var(--fin-text);font-size:13.5px;font-weight:600;white-space:nowrap;transition:background-color .15s,border-color .15s}.fp-tool:hover{border-color:var(--fp-line-strong)}.fp-tool[aria-pressed=true]{background:var(--fin-green-soft);color:var(--fin-green-ink);border-color:transparent}.fp-pop-title{padding:6px 8px 2px;font-size:13px;font-weight:700;color:var(--fin-muted)}.fp-pop-hint{padding:0 8px 6px;font-size:12.5px;color:var(--fin-muted)}.fp-pop-list{max-height:min(46vh,340px);overflow-y:auto;overscroll-behavior:contain}.fp-check{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 8px;border-radius:10px;font-size:15px;cursor:pointer}.fp-check:hover{background:var(--fin-surface)}.fp-check input{width:18px;height:18px;flex-shrink:0;accent-color:#53b175}.fp-scroll{position:relative;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--fp-line);border-radius:0;scrollbar-width:thin;scroll-snap-type:x proximity;scroll-padding-left:var(--fp-head-w)}.fp-day-head{scroll-snap-align:start}@media (min-width:768px){.fp-scroll{scroll-padding-left:calc(var(--fp-head-w) + var(--fp-total-w))}}.fp-table{border-collapse:separate;border-spacing:0;font-size:var(--fp-fs);line-height:1.25;font-variant-numeric:tabular-nums;color:var(--fin-text);min-width:100%}.fp-table td,.fp-table th{height:var(--fp-row-h);padding:0 var(--fp-pad-x);border-bottom:1px solid var(--fp-line);white-space:nowrap;text-align:right;vertical-align:middle}.fp-table tbody tr:last-child>*{border-bottom:0}.fp-table td{min-width:var(--fp-day-w)}.fp-sticky{position:sticky;left:0;z-index:2;background:var(--fp-bg);text-align:left!important;width:var(--fp-head-w);min-width:var(--fp-head-w);max-width:var(--fp-head-w);box-shadow:1px 0 0 var(--fp-line-strong)}.fp-rowhead{font-weight:600;font-size:var(--fp-fs)}.fp-corner{z-index:4}.fp-resize{position:absolute;top:0;right:-11px;bottom:0;z-index:4;width:22px;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}.fp-resize>i{display:block;width:4px;height:22px;border-radius:2px;background:var(--fp-line-strong);transition:background-color .15s,height .15s}.fp-resize:active>i,.fp-resize:focus-visible>i,.fp-resize:hover>i{height:30px;background:var(--fin-green-ink,#53b175)}.fp-corner-label{font-size:11.5px;font-weight:600;color:var(--fin-muted)}.fp-table thead th{height:var(--fp-head-h);border-bottom:1px solid var(--fp-line-strong)}.fp-day-head{padding:0!important;text-align:center!important}.fp-day-btn{display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:.3em;width:100%;min-height:var(--fp-head-h);padding:0 2px;color:inherit;font-size:var(--fp-fs-wd);line-height:var(--fp-head-h);white-space:nowrap}.fp-day-btn:hover .fp-dn{color:var(--fin-green-ink);text-decoration:underline}.fp-wd{text-transform:lowercase}.fp-dn,.fp-wd{font-size:var(--fp-fs-wd)}.fp-dn,.fp-mon,.fp-wd{font-weight:600;color:var(--fin-muted)}.fp-mon{font-size:11.5px}.fp-weekend .fp-wd{color:var(--fin-red-ink)}.fp-today{background:var(--fp-today)}thead .fp-today{box-shadow:inset 0 3px 0 var(--fp-today-line)}.fp-today .fp-dn,.fp-today .fp-wd{color:var(--fin-green-ink);font-weight:700}.fp-total{min-width:var(--fp-total-w)!important;font-weight:700;border-right:1px solid var(--fp-line-strong);background:var(--fin-surface)}.fp-total-head{text-align:right!important;font-size:12.5px;font-weight:700;color:var(--fin-muted)}.fp-row-balance>*{font-weight:700;font-size:var(--fp-fs-bal)}.fp-row-balance>.fp-sticky,.fp-row-expense>.fp-sticky,.fp-row-income>.fp-sticky{font-weight:700}.fp-row-balance>*{border-bottom:1px solid var(--fp-line-strong)!important}.fp-row-income>*{border-top:1px solid var(--fp-line-strong)}.fp-neg{color:var(--fin-red-ink)!important}.fp-pos{color:var(--fin-green-ink)}.fp-unconfirmed{opacity:.55}.fp-row-sep>*{height:28px!important;background-image:linear-gradient(var(--fin-surface),var(--fin-surface))}.fp-row-sep>.fp-sticky{background:var(--fp-bg);background-image:linear-gradient(var(--fin-surface),var(--fin-surface))}.fp-sep-label{font-size:11.5px!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fin-muted)}.fp-cat-head{padding-right:2px!important;font-weight:500!important}.fp-cat-cell{position:relative;display:flex;align-items:center;gap:2px;min-width:0}.fp-cat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;color:inherit;font:inherit;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.fp-cat-link{padding:2px 0}.fp-cat-link:hover{color:var(--fin-green-ink);text-decoration:underline}.fp-eye{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--fp-bg);display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;flex-shrink:0;border-radius:8px;color:var(--fin-muted);opacity:0;transition:opacity .15s,background-color .15s}.fp-eye:focus-visible,.fp-row-cat:hover .fp-eye,.fp-row-hidden .fp-eye{opacity:1}.fp-eye:hover{background:var(--fin-surface);color:var(--fin-text)}@media (hover:none){.fp-eye{display:none}.fp-row-hidden .fp-eye{display:inline-flex;width:28px}}.fp-row-hidden>*{color:var(--fin-muted)}.fp-row-hidden .fp-cat-name{padding-right:30px;text-decoration:line-through;text-decoration-color:var(--fp-line-strong)}.fp-row-system>*{color:var(--fin-muted)}.fp-cell{padding:0!important}.fp-drop{display:flex;align-items:center;justify-content:flex-end;width:100%;height:var(--fp-row-h);padding:0 var(--fp-pad-x)}.fp-plus{opacity:0;color:var(--fin-muted);font-weight:600}.fp-drop:focus-visible .fp-plus,.fp-drop:hover .fp-plus{opacity:.8}.fp-count{margin-left:2px;font-size:10px;color:var(--fin-muted)}.fp-table .finance-planning-chip{font-size:var(--fp-fs);line-height:1.25;font-variant-numeric:tabular-nums}.fp-muted{color:var(--fin-muted);font-weight:500}.fp-empty{display:flex;justify-content:center;padding:16px 0}.fp-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--fin-muted)}.fp-legend>span{display:inline-flex;align-items:center;gap:5px}.fp-legend-sw{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--fp-line)}.fp-legend-today{background:var(--fp-today);border-color:var(--fp-today-line)}.fp-legend-wd{font-weight:700;color:var(--fin-red-ink)}@media (min-width:768px){.fp-total{position:sticky;left:var(--fp-head-w);z-index:1;background:var(--fp-bg);background-image:linear-gradient(var(--fin-surface),var(--fin-surface))}.fp-total-head{z-index:3}}@media (max-width:600px){.fin-plan-body{padding:4px 8px 10px}.fin-plan-table{--fp-head-w:118px;--fp-day-w:64px;--fp-total-w:74px;--fp-pad-x:7px;--fp-row-h:42px;--fp-fs:13px;--fp-fs-bal:13px;--fp-fs-dn:14px;--fp-fs-wd:11px}.fp-sticky{padding-left:8px!important}.fp-mon{font-size:11px;display:block;line-height:1}.fp-tool{min-height:36px;padding:0 10px;font-size:13px}.fp-legend{font-size:11.5px}}@media (max-width:359px){.fin-plan-table{--fp-head-w:100px;--fp-day-w:60px;--fp-pad-x:6px}.fp-row-balance>.fp-sticky,.fp-rowhead{font-size:12.5px}.fp-tool-label{display:none}}.fin-daily{display:flex;align-items:center;gap:12px;padding:8px 4px;cursor:text}.fin-daily-input{display:inline-flex;align-items:center;gap:6px;font-weight:600;flex-shrink:0}.fin-import-teaser{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 16px;color:inherit;font-size:15px}.fin-import-teaser:hover{background:var(--fin-surface)}.fin-fab{position:fixed;z-index:101;right:max(16px,calc(env(safe-area-inset-right, 0px) + 12px));bottom:calc(72px + max(.75rem, env(safe-area-inset-bottom, 0px)) + 12px);width:58px;height:58px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--fin-green);color:#fff;box-shadow:0 10px 28px rgba(83,177,117,.45),0 2px 6px rgba(15,23,42,.15);transition:transform .15s,opacity .2s}.fin-fab:active{transform:scale(.94)}@media (min-width:768px){.fin-fab{right:max(1.25rem,calc((100% - 80%) / 2 * .48 + 10px))}}@media (min-width:1280px){.fin-fab{right:max(1.5rem,calc((100% - 80%) / 2 * .38 + 10px))}}@media (max-width:767px){body:has(.octo-fab-anchor):not(:has([data-octo-header-trigger])) .fin-fab{right:calc(max(.75rem, env(safe-area-inset-right, 0px)) + 68px);bottom:calc(72px + max(.75rem, env(safe-area-inset-bottom, 0px)) + .25rem)}}@media (max-width:767px){body:has(.octo-fab-anchor .octo-status-bubble) .fin-fab,body:has(.octo-fab-anchor [role=status]) .fin-fab{bottom:calc(72px + max(.75rem, env(safe-area-inset-bottom, 0px)) + 96px)}}body:has(.fin-sheet) .fin-fab,body:has([role=dialog][data-state=open]) .fin-fab{opacity:0;pointer-events:none}@keyframes fin-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fin-fade-out{0%{opacity:1}to{opacity:0}}@keyframes fin-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fin-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fin-pop-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fin-pop-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.97)}}.fin-sheet-overlay{position:fixed;inset:0;z-index:120;background:rgba(10,15,25,.48)}.fin-sheet-overlay[data-state=open]{animation:fin-fade-in .2s ease-out}.fin-sheet-overlay[data-state=closed]{animation:fin-fade-out .18s ease-in forwards}.fin-sheet{position:fixed;z-index:121;left:0;right:0;bottom:var(--fin-kb,0);display:flex;flex-direction:column;max-height:calc(100dvh - var(--fin-kb, 0px) - env(safe-area-inset-top, 0px) - 12px);background:var(--fin-sheet-bg);color:var(--fin-text);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(15,23,42,.2);outline:none;transition:bottom .12s ease-out}.fin-sheet[data-state=open]{animation:fin-sheet-up .3s cubic-bezier(.22,1,.36,1)}.fin-sheet[data-state=closed]{animation:fin-sheet-down .2s ease-in forwards}.fin-sheet-handle{width:40px;height:5px;border-radius:99px;background:var(--fin-border);margin:8px auto 0;flex-shrink:0}.fin-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 10px 0 20px;flex-shrink:0}.fin-sheet-title{font-size:18px;font-weight:700}.fin-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px 20px 0}@media (min-width:640px){.fin-sheet{left:50%;top:50%;right:auto;bottom:auto;width:min(460px,calc(100vw - 32px));max-height:min(88vh,860px);border-radius:24px;transform:translate(-50%,-50%);box-shadow:0 24px 64px rgba(15,23,42,.3)}.fin-sheet[data-state=open]{animation:fin-pop-in .2s ease-out}.fin-sheet[data-state=closed]{animation:fin-pop-out .15s ease-in forwards}.fin-sheet-handle{display:none}.fin-sheet-head{padding-top:12px}}@media (prefers-reduced-motion:reduce){.fin-sheet-overlay[data-state],.fin-sheet[data-state]{animation-duration:.01ms!important}}.fin-form{display:flex;flex-direction:column;gap:16px;color:var(--fin-text)}.fin-form-card{max-width:560px;margin:0 auto;padding:18px 16px 8px}.fin-field{display:flex;flex-direction:column;min-width:0}.fin-label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--fin-muted)}.fin-label-opt{font-weight:400;opacity:.8;margin-left:4px}.fin-hint{font-size:14px;color:var(--fin-muted)}.fin-error{margin-top:6px;font-size:13px;font-weight:500;color:var(--fin-red-ink)}.fin-seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--fin-surface)}.fin-seg-btn{flex:1 1 0;min-width:0;min-height:44px;padding:0 8px;border-radius:11px;font-size:15px;font-weight:600;color:var(--fin-muted);transition:background-color .15s,color .15s,box-shadow .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-seg-btn--active{background:var(--fin-card);color:var(--fin-text);box-shadow:0 1px 3px rgba(15,23,42,.12)}.dark .fin-seg-btn--active{background:rgba(255,255,255,.12)}.fin-seg-btn--income{color:var(--fin-green-ink)}.fin-seg-btn--expense{color:var(--fin-red-ink)}.fin-amount{display:flex;align-items:center;gap:6px;padding:4px 2px 8px;border-bottom:2px solid var(--fin-border);transition:border-color .15s}.fin-amount:focus-within{border-color:var(--fin-green)}.fin-amount--expense:focus-within{border-color:var(--fin-red)}.fin-amount-sign{font-size:34px;font-weight:800;line-height:1}.fin-amount--income .fin-amount-sign{color:var(--fin-green-ink)}.fin-amount--expense .fin-amount-sign{color:var(--fin-red-ink)}.fin-amount-input{flex:1 1 auto;min-width:0;width:100%;background:transparent;border:0;outline:none;font-size:40px;font-weight:800;line-height:1.15;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--fin-text)}.fin-amount-input::placeholder{color:var(--fin-muted);opacity:.45}.fin-amount-cur{font-size:28px;font-weight:700;color:var(--fin-muted)}.fin-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.fin-chip{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;padding:0 14px;border-radius:999px;border:1px solid transparent;background:var(--fin-surface);color:var(--fin-text);font-size:15px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;cursor:pointer}.fin-chip:hover{border-color:var(--fin-border)}.fin-chip--active{background:var(--fin-green-soft);border-color:var(--fin-green);color:var(--fin-green-ink);font-weight:600}.fin-chip--dashed{background:transparent;border:1px dashed var(--fin-muted);color:var(--fin-muted)}.fin-chips--scroll{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:max-content;justify-content:start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px;flex-wrap:nowrap}.fin-sheet .fin-chips--scroll{margin:0 -20px;padding:0 20px 2px;scroll-padding:0 20px}.fin-chips--scroll::-webkit-scrollbar{display:none}.fin-chip--input input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer;-webkit-appearance:none;appearance:none}.fin-input{width:100%;min-width:0;min-height:48px;padding:0 14px;border-radius:14px;background:var(--fin-input);border:1px solid var(--fin-border);font-size:16px;color:var(--fin-text);outline:none;transition:border-color .15s,box-shadow .15s}.fin-input:focus{border-color:var(--fin-green);box-shadow:0 0 0 3px var(--fin-green-soft)}.fin-input::placeholder{color:var(--fin-muted);opacity:.8}.fin-input--sm{width:112px;min-height:44px}.fin-inline-add{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.fin-inline-add .fin-input{flex:1 1 160px}.fin-more{border:1px solid var(--fin-border);border-radius:16px}.fin-more-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 14px;font-size:15px;font-weight:600;color:var(--fin-text)}.fin-more-summary{font-size:13px;font-weight:400;color:var(--fin-muted)}.fin-more-body{gap:14px;padding:2px 14px 14px}.fin-more-body,.fin-recur{display:flex;flex-direction:column}.fin-recur{gap:12px}.fin-switch-row{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer}.fin-switch-label{display:block;font-size:15px;font-weight:600;color:var(--fin-text)}.fin-switch-hint{display:block;margin-top:2px;font-size:12.5px;line-height:1.35;color:var(--fin-muted)}.fin-switch{position:relative;flex-shrink:0;width:52px;height:32px;border-radius:999px;background:rgba(120,120,128,.32);transition:background-color .2s}.fin-switch--on{background:var(--fin-green)}.fin-switch-thumb{position:absolute;top:2px;left:2px;width:28px;height:28px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s cubic-bezier(.22,1,.36,1)}.fin-switch--on .fin-switch-thumb{transform:translateX(20px)}.fin-form-footer{display:flex;flex-direction:column;gap:6px;padding:4px 0 12px}.fin-sheet .fin-form-footer{position:sticky;bottom:0;z-index:2;margin:0 -20px;padding:12px 20px max(14px,env(safe-area-inset-bottom,0px));background:var(--fin-sheet-bg);box-shadow:0 -10px 16px -12px rgba(15,23,42,.25)}.fin-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:15px;font-weight:600;color:var(--fin-red-ink);border-radius:12px}.fin-delete:hover{background:var(--fin-red-soft)}.fin-delete-confirm{display:flex;align-items:center;gap:8px;min-height:48px;font-size:15px;font-weight:600}.fin-delete-confirm>span{flex:1}.fin-toolbar{display:flex;flex-direction:column;gap:10px}.fin-search{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:14px;background:var(--fin-card);border:1px solid var(--fin-border)}.fin-search input{flex:1;min-width:0;background:transparent;border:0;outline:none;font-size:16px;color:var(--fin-text)}.fin-toolbar .fin-chip{background:var(--fin-card);border-color:var(--fin-border)}.fin-toolbar .fin-seg{background:var(--fin-card);border:1px solid var(--fin-border)}.fin-toolbar .fin-seg-btn--active{background:var(--fin-surface);box-shadow:none}.fin-totals{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 16px;font-size:14px;color:var(--fin-muted)}.fin-totals b{color:var(--fin-text);font-variant-numeric:tabular-nums;margin-left:4px}.fin-totals b.fin-text-income{color:var(--fin-green-ink)}.fin-totals-count{margin-left:auto}.fin-note{display:flex;gap:10px;padding:12px 14px;border-radius:14px;background:var(--fin-green-soft);color:var(--fin-text);font-size:14px;line-height:1.45}.fin-note svg{color:var(--fin-green-ink);margin-top:1px}.fin-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:12px;padding:28px 16px;border-radius:18px;border:2px dashed var(--fin-border);text-align:center;color:var(--fin-text);cursor:pointer;transition:border-color .15s,background-color .15s}.fin-drop:hover{border-color:var(--fin-green);background:var(--fin-green-soft)}.fin-drop svg{color:var(--fin-green-ink)}.fin-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.fin-details{margin-top:12px;font-size:14px;line-height:1.5;color:var(--fin-text)}.fin-details summary{display:flex;align-items:center;min-height:44px;font-weight:600;color:var(--fin-green-ink);cursor:pointer}.fin-details ul{display:flex;flex-direction:column;gap:6px;padding-left:18px;list-style:disc}.fin-details p{margin-top:8px;color:var(--fin-muted)}.fin-file{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-width:0}.fin-map-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}@media (min-width:640px){.fin-map-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fin-map-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;color:var(--fin-muted)}.fin-select{width:100%;min-width:0;min-height:46px;padding:0 10px;border-radius:12px;background:var(--fin-input);border:1px solid var(--fin-border);font-size:16px;font-weight:500;color:var(--fin-text);text-overflow:ellipsis}.dark .fin-select option{background:#1b2538}.fin-catmap{display:flex;flex-direction:column;gap:8px}.fin-catmap li{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;color:var(--fin-text)}.fin-catmap .fin-select{width:46%;max-width:240px;flex-shrink:0}.fin-import-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}@media (max-width:479px){.fin-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-import-stats>:first-child{grid-column:1/-1}}.fin-import-stats>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border-radius:14px;background:var(--fin-surface)}.fin-import-stats b{font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--fin-text)}.fin-import-stats b.fin-text-income{color:var(--fin-green-ink)}.fin-import-stats b.fin-text-expense{color:var(--fin-red-ink)}.fin-import-stats span{font-size:12px;color:var(--fin-muted)}.fin-preview{display:flex;flex-direction:column;margin-top:12px}.fin-preview-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 0;border-bottom:1px solid var(--fin-border);font-size:14px;color:var(--fin-text);min-width:0}.fin-preview-row--skip{opacity:.5}.fin-preview-row--skip .fin-preview-amount{text-decoration:line-through}.fin-preview-date{width:76px;flex-shrink:0;font-size:12.5px;color:var(--fin-muted);font-variant-numeric:tabular-nums}.fin-preview-amount{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.fin-import-actions{padding-bottom:8px}.fin-import-actions .fin-btn{box-shadow:0 10px 24px rgba(83,177,117,.35)}.toaster__pointer [data-sonner-toast] [data-button],.toaster__pointer [data-sonner-toast]:has([data-button]){pointer-events:auto}.fp-table td:not(.fp-total):not(.fp-sticky){text-align:center}.fp-table .fp-drop{justify-content:center}.fp-table .fp-row-balance td:not(.fp-total){font-variant-numeric:tabular-nums}.fin-hints{min-width:0}.fin-hints-title{margin:0 4px 6px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--fin-muted)}.fin-hints-list{display:flex;flex-direction:column;gap:8px}.fin-hint-card{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 6px 10px 12px;border-radius:16px;background:var(--fin-card);border:1px solid var(--fin-border);border-left:4px solid var(--fin-green);color:var(--fin-text);min-width:0}.fin-hint-card--danger{border-left-color:var(--fin-red);background:linear-gradient(90deg,var(--fin-red-soft),transparent 70%),var(--fin-card)}.fin-hint-card--warn{border-left-color:#f59e0b;background:linear-gradient(90deg,var(--fin-amber-soft),transparent 70%),var(--fin-card)}.fin-hint-card--info{border-left-color:#60a5fa}.fin-hint-ic{font-size:20px;line-height:1;flex-shrink:0}.fin-hint-text{flex:1 1 200px;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.fin-hint-act{min-height:36px;padding:0 12px;border-radius:12px;font-size:14px;font-weight:700;background:var(--fin-green-soft);color:var(--fin-green-ink);flex-shrink:0}.fin-hint-card--danger .fin-hint-act{background:var(--fin-red-soft);color:var(--fin-red-ink)}.fin-hint-card--warn .fin-hint-act{background:var(--fin-amber-soft);color:var(--fin-amber-ink)}.fin-hint-x{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:var(--fin-muted);flex-shrink:0}.fin-hint-x:hover,.fin-tag{background:var(--fin-surface)}.fin-tag{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 8px;margin-right:4px;border-radius:99px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap;color:var(--fin-muted)}.fin-tag--green{background:var(--fin-green-soft);color:var(--fin-green-ink)}.fin-tag--amber{background:var(--fin-amber-soft);color:var(--fin-amber-ink)}.fin-tag--red{background:var(--fin-red-soft);color:var(--fin-red-ink)}.fin-badge--jar{background:var(--fin-green-soft);color:var(--fin-green-ink);margin-left:4px}.fin-onboard .fin-empty-text{max-width:440px;margin-left:auto;margin-right:auto;line-height:1.45}.fin-jars-list{display:flex;flex-direction:column;gap:10px}.fin-jar{border-radius:16px;background:var(--fin-surface);padding:4px 4px 10px;min-width:0}.fin-jar-main{display:flex;gap:12px;width:100%;padding:8px 8px 4px;text-align:left;color:inherit;border-radius:12px;min-width:0}.fin-jar-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:14px;font-size:24px;background:var(--fin-card)}.fin-jar-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.fin-jar-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.fin-jar-name{font-size:15.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-jar-saved{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-jar-meta{display:flex;gap:6px;font-size:12.5px;color:var(--fin-muted)}.fin-jar-pct{margin-left:auto;font-weight:700;color:var(--fin-green-ink);font-variant-numeric:tabular-nums}.fin-jar-track{position:relative;height:10px;border-radius:99px;background:var(--fin-border);overflow:hidden}.fin-jar-fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,#53b175,#7ccf97);transition:width .45s cubic-bezier(.2,.8,.2,1)}.fin-jar-plan{font-size:13px;line-height:1.35;color:var(--fin-text);opacity:.85}.fin-jar-tags{display:flex;flex-wrap:wrap;gap:4px 0}.fin-jar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 8px 0}.fin-jar-btn{min-height:42px;background:var(--fin-card)}.fin-jar--done{background:linear-gradient(135deg,var(--fin-green-soft),var(--fin-surface))}.fin-jar--done .fin-jar-ic:after{content:"🎉";position:absolute;transform:translate(16px,-16px);font-size:16px}.fin-jar--done .fin-jar-ic{position:relative}.fin-jar--celebrate{animation:fin-jar-pop .9s cubic-bezier(.2,.8,.2,1) 2}@keyframes fin-jar-pop{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(83,177,117,.45)}40%{transform:scale(1.02);box-shadow:0 0 0 10px rgba(83,177,117,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(83,177,117,0)}}@media (prefers-reduced-motion:reduce){.fin-jar--celebrate{animation:none}.fin-jar-fill{transition:none}}.fin-jar-icons{margin-top:8px}.fin-icon-chip{min-width:44px;justify-content:center;font-size:20px;padding:0 8px}.fin-jar-goal{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fin-jar-goal-amount{position:relative;display:flex;align-items:center;flex:1 1 110px;min-width:0}.fin-jar-goal-amount .fin-input{padding-right:32px}.fin-jar-goal-amount>span{position:absolute;right:12px;color:var(--fin-muted);pointer-events:none}.fin-jar-close{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:var(--fin-red-soft)}.fin-jar-move-head{display:flex;align-items:center;gap:12px}.fin-jar-history{display:flex;flex-direction:column;max-height:320px;overflow-y:auto}.fin-jar-hrow{display:flex;align-items:center;gap:8px;min-height:48px;padding:4px 0;border-bottom:1px solid var(--fin-border);font-size:14px}.fin-jar-hrow:last-child{border-bottom:0}.fin-jar-hamount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-autosave{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--fin-green-soft);color:var(--fin-text);font-size:14px}.fin-autosave-row{display:flex;align-items:center;gap:8px;min-width:0}.fin-limits-list{gap:4px}.fin-limit{display:flex;flex-direction:column;gap:7px;width:100%;padding:10px 8px;border-radius:12px;text-align:left;color:inherit}.fin-limit-track,.fin-limit:hover{background:var(--fin-surface)}.fin-limit-track{position:relative;display:flex;height:10px;border-radius:99px;overflow:hidden}.fin-limit-fact{background:var(--fin-green)}.fin-limit-fact,.fin-limit-plan{height:100%;transition:width .35s ease}.fin-limit-plan{background:repeating-linear-gradient(135deg,var(--fin-green) 0 4px,transparent 4px 8px);opacity:.55}.fin-limit--warn .fin-limit-fact{background:#f59e0b}.fin-limit--warn .fin-limit-plan{background:repeating-linear-gradient(135deg,#f59e0b 0 4px,transparent 4px 8px)}.fin-limit--over .fin-limit-fact{background:var(--fin-red)}.fin-limit--over .fin-limit-plan{background:repeating-linear-gradient(135deg,var(--fin-red) 0 4px,transparent 4px 8px)}.fin-limit-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--fin-text);opacity:.7}.fin-limit-line{font-size:12.5px;color:var(--fin-muted);line-height:1.35}.fin-limit--over .fin-limit-line{color:var(--fin-red-ink);font-weight:600}.fin-limit--warn .fin-limit-line{color:var(--fin-amber-ink);font-weight:600}.fin-limit-planned{font-weight:400;color:var(--fin-muted)}.fin-limits .fin-section-sub .fin-tag{margin-top:2px}.fin-jar .fin-tag:not(.fin-tag--green){background:var(--fin-card)}.fin-jar-manage{display:flex;flex-direction:column;align-items:stretch;gap:10px}.fin-jar-manage>.fin-delete,.fin-jar-manage>.fin-link-btn{align-self:flex-start}.fp-scroll[data-fp-size=compact]{--fp-day-w:70px;--fp-total-w:88px;--fp-pad-x:9px;--fp-row-h:32px;--fp-fs:12.5px;--fp-fs-bal:13px;--fp-fs-dn:13.5px;--fp-fs-wd:10.5px}.fp-scroll[data-fp-size=large]{--fp-day-w:104px;--fp-total-w:118px;--fp-pad-x:14px;--fp-row-h:50px;--fp-fs:16px;--fp-fs-bal:16.5px;--fp-fs-dn:17px;--fp-fs-wd:12.5px}.fp-scroll[data-fp-size=compact]{--fp-head-h:28px}.fp-scroll[data-fp-size=large]{--fp-head-h:36px}@media (max-width:600px){.fp-scroll[data-fp-size=compact]{--fp-day-w:54px;--fp-total-w:64px;--fp-pad-x:5px;--fp-row-h:34px;--fp-fs:11.5px;--fp-fs-bal:11.5px;--fp-fs-dn:12.5px;--fp-fs-wd:10px}.fp-scroll[data-fp-size=large]{--fp-day-w:82px;--fp-total-w:90px;--fp-pad-x:9px;--fp-row-h:50px;--fp-fs:15px;--fp-fs-bal:15px;--fp-fs-dn:16px;--fp-fs-wd:12px}}.fp-size-seg{margin:2px 8px 6px}.fp-size-seg .fin-seg-btn{min-width:0;padding:0 4px;font-size:13.5px;white-space:nowrap}