*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.absolute{position:absolute}.block{display:block}.table{display:table}.hidden{display:none}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--green:#159447;--green-dark:#0c7135;--orange:#d77a12;--ink:#162019;--muted:#6f7972;--line:#e7ece8;--surface:#fff;--bg:#f5f7f5;--purple:#7847e8}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;overflow-x:hidden;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-width:0;min-height:100svh;padding-bottom:92px}.page{width:min(100%,1100px);min-width:0;margin:auto;padding:20px 16px 32px;overflow-x:clip}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.page-head,.page-head>div{min-width:0}.eyebrow{margin:0 0 4px;color:var(--green);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:1.62rem;letter-spacing:-.04em}h2{font-size:1.05rem;letter-spacing:-.02em}.muted{color:var(--muted);font-size:.88rem}.card{display:block;width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(21,46,29,.055)}.grid{display:grid;min-width:0;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-card{color:#fff;border:0;background:linear-gradient(140deg,#147c3c,#18a951);overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;pointer-events:none;width:170px;height:170px;right:-55px;top:-80px;border-radius:50%;background:rgba(255,255,255,.1)}.big-value{font-size:1.8rem;line-height:1.05;font-weight:780;letter-spacing:-.045em}.stat-label{margin-bottom:8px;color:var(--muted);font-size:.75rem;font-weight:700}.hero-card .stat-label{color:rgba(255,255,255,.78)}.progress{height:7px;border-radius:99px;overflow:hidden;background:#e8eee9}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.progress.purple>span{background:var(--purple)}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.icon-tile{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:12px;background:#f2f7f3;font-size:1.18rem}.list{display:grid}.list-row{display:flex;min-width:0;align-items:center;gap:12px;min-height:58px;padding:10px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.clickable-card,.clickable-row{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.clickable-row:hover{background:#f6faf7}.clickable-card:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(21,46,29,.1)}.row-link{flex:1;min-width:0}.chevron{color:#96a099;font-size:1.35rem;line-height:1}.list-main{flex:1;min-width:0}.list-main small,.list-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-main small{margin-top:3px;color:var(--muted)}.amount{font-weight:760;white-space:nowrap}.list-row>.amount{flex:0 0 auto;max-width:46%;overflow:hidden;text-overflow:ellipsis}.amount.expense{color:#25302a}.amount.income{color:var(--green)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 10px}.section-title h2{margin:0}.section-title a{color:var(--green);font-size:.82rem;font-weight:700}.btn{border:0;border-radius:12px;padding:11px 16px;min-height:44px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{color:white;background:var(--green);box-shadow:0 6px 18px rgba(21,148,71,.2)}.btn-soft{color:var(--green-dark);background:#ecf8f0}.btn-ghost{color:var(--muted);background:#f4f6f4}.btn-danger{color:#a63232;background:#fff0f0}.btn-warning{color:#8b4d08;background:#fff1dd}.btn-block{width:100%}.form-grid{display:grid;gap:14px}label{display:grid;gap:7px;color:#4b554e;font-size:.8rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #dfe6e0;border-radius:12px;min-height:46px;padding:11px 12px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(21,148,71,.11)}textarea{min-height:88px;resize:vertical}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#eef1ef;padding:4px;border-radius:13px;gap:4px}.segmented label{display:block}.segmented input{display:none}.segmented span{display:block;padding:9px 4px;border-radius:9px;text-align:center;font-size:.8rem}.segmented input:checked+span{color:white;background:var(--green)}.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:76px;padding:7px max(12px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(5,1fr)}.nav-link{color:#7a827c;display:grid;place-items:center;align-content:center;gap:3px;font-size:.62rem;font-weight:650}.nav-icon{font-size:1.05rem;line-height:1}.nav-add{width:48px;height:48px;place-self:center;margin-top:-28px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--green);box-shadow:0 7px 20px rgba(21,148,71,.34);font-size:1.65rem}.desktop-nav{display:none}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;font-size:.68rem;font-weight:750;background:#eef8f1;color:var(--green-dark)}.badge.private{color:#6731c8;background:#f1ebff}.empty{padding:26px 12px;text-align:center;color:var(--muted)}.login-page{min-height:100svh;background:linear-gradient(rgba(9,35,20,.16),rgba(9,35,20,.3)),url(/login-home.png) 50%/cover;display:grid;place-items:center;padding:24px 18px}.login-card{width:min(100%,400px);padding:30px 24px;border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(8,31,17,.22);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px;font-size:1.35rem;font-weight:820;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;color:white;background:var(--green)}.login-subtitle{text-align:center;color:var(--muted);margin-bottom:26px;font-size:.86rem}.alert{border-radius:12px;padding:11px 12px;margin-bottom:14px;font-size:.82rem;color:#9a3030;background:#fff0f0}.notification-unread{background:#f0faf3;border-radius:12px}.success{border-radius:12px;padding:11px 12px;margin-bottom:14px;font-size:.82rem;color:var(--green-dark);background:#ecf8f0}.budget-warning{margin:12px 0 0;color:#8b4d08;font-size:.78rem;font-weight:750}.warning-badge{display:inline-flex;padding:5px 9px;border-radius:99px;color:#8b4d08;background:#fff1dd;font-size:.72rem;font-weight:800}.warning-list{border-color:#f3d8b6}.warning-icon{background:#fff5e8}.check-label{display:flex;grid-template-columns:none;align-items:center;gap:10px}.check-label input{width:20px;min-height:20px;padding:0}.month-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin:-4px 0 16px;padding:9px;border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 8px 28px rgba(21,46,29,.04)}.month-nav>div{display:grid;justify-items:center;gap:2px;text-align:center;text-transform:capitalize}.month-nav>div a{color:var(--green);font-size:.7rem;font-weight:700}.month-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--green-dark);background:#edf7f0;font-size:1.65rem}.filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:14px}.calendar-card{padding:12px;overflow:hidden}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:7px 3px 10px;color:var(--muted);font-size:.68rem;font-weight:750;text-align:center}.calendar-day{min-width:0;min-height:92px;padding:8px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;overflow:hidden}.calendar-day:nth-child(7n){border-right:1px solid var(--line)}.calendar-grid .calendar-day:nth-last-child(-n+7){border-bottom:1px solid var(--line)}.calendar-day.outside{background:#f7f9f7}.calendar-day.has-items{background:#f5fbf7;cursor:pointer;transition:background .15s ease,transform .15s ease}.calendar-day.has-items:hover{background:#eaf7ee;transform:translateY(-1px)}.calendar-day.has-planned{background:#fffaf1}.calendar-icons span.planned{border:1px dashed}.calendar-number{display:block;margin-bottom:5px;color:var(--muted);font-size:.72rem;font-weight:750}.calendar-icons{display:flex;height:24px;align-items:center;gap:3px;overflow:hidden;font-size:.78rem}.calendar-icons span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:7px}.calendar-day small,.calendar-day strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day strong{margin-top:3px;color:#25302a;font-size:.68rem}.calendar-day small{margin-top:2px;color:var(--muted);font-size:.62rem}.planned-row{background:#fffdf7}.planned-badge,.planned-legend{color:#9a5b00;background:#fff0d6;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:750}[id^=day-]{scroll-margin-top:18px}.donut{width:150px;place-items:center;background:conic-gradient(#ff825f 0 22%,#f4bd44 22% 38%,#2c76d3 38% 56%,#5aaf6e 56% 72%,#7654ad 72% 100%)}.donut,.donut-hole{aspect-ratio:1;border-radius:50%;display:grid}.donut-hole{width:92px;place-items:center;text-align:center;font-weight:800;background:white}.chart{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:14px}.bar{flex:1;min-width:18px;border-radius:7px 7px 3px 3px;background:linear-gradient(#20a753,#9bd9b0);position:relative}.bar small{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;font-size:.83rem}.admin-table td,.admin-table th{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{color:var(--muted);font-size:.72rem}.scroll-x{overflow-x:auto}.goal-summary{margin-bottom:14px}.goal-detail-grid{align-items:start}.goal-history{display:grid}.goal-history-row{display:flex;min-width:0;align-items:flex-start;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}.goal-history-row:last-child{border-bottom:0}.movement-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;color:var(--green-dark);background:#eaf7ee;font-size:1.15rem;font-weight:850}.movement-icon.negative{color:#a63232;background:#fff0f0}.movement-note{margin:6px 0 0;color:#4b554e;font-size:.78rem;white-space:normal}.movement-values{flex:0 0 auto;display:grid;justify-items:end;gap:4px;text-align:right}.movement-values strong{white-space:nowrap;font-size:.86rem}.movement-values strong.positive{color:var(--green-dark)}.movement-values strong.negative{color:#a63232}.movement-values small{color:var(--muted);font-size:.68rem;white-space:nowrap}.disclosure{padding:0;overflow:hidden}.disclosure>summary{display:flex;min-width:0;align-items:center;gap:12px;padding:17px 18px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:hover{background:#f7faf8}.disclosure-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;color:var(--green-dark);background:#edf7f0;font-weight:850}.disclosure>summary small{display:block;margin-top:3px;color:var(--muted);font-size:.76rem;font-weight:500}.disclosure-chevron{color:#8b958e;font-size:1.25rem;transition:transform .16s ease}.disclosure[open] .disclosure-chevron{transform:rotate(180deg)}.disclosure-content{padding:18px;border-top:1px solid var(--line)}.disclosure-warning .disclosure-icon{color:#8b4d08;background:#fff1dd}.disclosure-danger .disclosure-icon{color:#a63232;background:#fff0f0}.disclosure-danger>summary strong{color:#9a3030}.read-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.read-field{min-width:0;padding:12px 14px;border-radius:12px;background:#f6f8f6}.read-field small,.read-field strong{display:block;overflow:hidden;text-overflow:ellipsis}.read-field small{margin-bottom:4px;color:var(--muted);font-size:.7rem;font-weight:700}.read-field strong{white-space:nowrap}.backup-status{border-left:4px solid var(--green)}.backup-status .icon-tile{color:var(--green-dark);font-weight:900}.backup-status.backup-failed{border-left-color:#bd3434}.backup-status.backup-failed .icon-tile{color:#a63232;background:#fff0f0}.scope-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--line);border-radius:15px;background:#edf1ee}.scope-tab{display:grid;min-height:44px;place-items:center;padding:8px 10px;border-radius:11px;color:#647068;font-size:.78rem;font-weight:780;text-align:center}.scope-tab.active{color:#fff;background:var(--green);box-shadow:0 5px 14px rgba(21,148,71,.2)}.scope-tab.private.active{background:var(--purple);box-shadow:0 5px 14px rgba(120,71,232,.2)}.scope-tab.income.active{background:#16845a;box-shadow:0 5px 14px rgba(22,132,90,.2)}.category-kind-tabs{margin-bottom:8px}.balance-card,.balance-cards{display:grid;gap:12px}.balance-card{grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;min-height:112px;padding:17px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 8px 28px rgba(21,46,29,.055);overflow:hidden;position:relative}.balance-card:after{content:"";position:absolute;width:110px;height:110px;right:-58px;top:-58px;border-radius:50%;pointer-events:none}.shared-balance{color:#fff;border:0;background:linear-gradient(140deg,#147c3c,#18a951)}.shared-balance:after{background:rgba(255,255,255,.11)}.private-balance{border-color:#e7defc;background:linear-gradient(140deg,#fff,#f6f1ff)}.private-balance:after{background:rgba(120,71,232,.08)}.balance-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:rgba(255,255,255,.18);font-size:1.35rem}.private-balance .balance-icon{background:#eee5ff}.balance-card div{min-width:0}.balance-card small,.balance-card span,.balance-card strong{display:block}.balance-card small{margin-bottom:4px;color:inherit;opacity:.78;font-size:.72rem;font-weight:760}.balance-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.65rem;letter-spacing:-.045em}.balance-card div>span{margin-top:4px;color:inherit;opacity:.7;font-size:.7rem}.balance-card b{position:relative;z-index:1;font-size:1.45rem;font-weight:500;opacity:.72}.budget-gauge-grid{display:grid;gap:12px}.budget-gauge-card{padding:16px}.budget-gauge-card h3{margin:8px 0 0;font-size:1.35rem;letter-spacing:-.04em}.budget-gauge{width:min(100%,230px);margin:4px auto -4px;position:relative}.budget-gauge svg{display:block;width:100%;overflow:visible}.budget-gauge path{fill:none;stroke-width:11;stroke-linecap:round}.gauge-track{stroke:#e8eee9}.gauge-fill{stroke:var(--gauge-color)}.gauge-reading{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:grid;justify-items:center}.gauge-reading strong{font-size:1.55rem;letter-spacing:-.05em;white-space:nowrap}.gauge-reading small{color:var(--muted);font-size:.68rem;font-weight:700}.gauge-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;border-top:1px solid var(--line)}.gauge-values div:last-child{text-align:right}.gauge-values small,.gauge-values strong{display:block}.gauge-values small{margin-bottom:2px;color:var(--muted);font-size:.66rem}.gauge-values strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.projection-note{margin:12px 2px 0;color:var(--muted);font-size:.76rem}.projection-note strong{color:var(--ink)}.dashboard-lower{margin-top:2px}.accounts-total{margin-top:2px;border-left:5px solid var(--green)}.accounts-total.private{border-left-color:var(--purple)}.accounts-total small,.accounts-total span,.accounts-total strong{display:block}.accounts-total small{color:var(--muted);font-size:.72rem;font-weight:750}.accounts-total strong{margin:6px 0 3px;font-size:1.8rem;letter-spacing:-.045em}.accounts-total span{color:var(--muted);font-size:.72rem}.accounts-grid{margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{position:relative;min-height:142px;padding:15px;overflow:hidden}.stat-card-icon{display:grid;width:32px;height:32px;margin-bottom:12px;place-items:center;border-radius:10px;font-size:.9rem;font-weight:850}.stat-card-icon.income{color:var(--green-dark);background:#eaf7ee}.stat-card-icon.expense{color:#ad4d13;background:#fff0e6}.stat-card-icon.available{color:#2868b2;background:#eaf2ff}.stat-card-icon.savings{color:#6731c8;background:#f1ebff}.stat-card .stat-label{margin-bottom:5px}.stat-card>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.22rem;letter-spacing:-.04em}.stat-card>small{display:block;margin-top:7px;color:var(--muted);font-size:.63rem;line-height:1.35}.stat-card>small.positive{color:var(--green-dark)}.stat-card>small.negative{color:#ad3f32}.statistics-layout{margin-top:12px}.yearly-chart-card{overflow:hidden}.chart-title{margin:0 0 16px;align-items:flex-start}.chart-title h2{margin-bottom:3px}.chart-title small{color:var(--muted);font-size:.68rem}.chart-title>strong{font-size:.9rem}.chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:var(--muted);font-size:.62rem}.chart-legend span{display:flex;align-items:center;gap:4px}.chart-legend i{width:7px;height:7px;border-radius:50%}.income-dot{background:var(--green)}.expense-dot{background:var(--orange)}.comparison-chart{display:grid;grid-template-columns:repeat(12,minmax(18px,1fr));align-items:end;gap:3px;height:190px;padding:12px 0 2px;overflow-x:auto}.comparison-column{display:grid;min-width:18px;height:100%;grid-template-rows:1fr 18px;gap:5px;align-items:end;border-radius:8px;transition:background .15s ease}.comparison-column.current,.comparison-column:hover{background:#f2f7f3}.bar-pair{display:flex;height:100%;align-items:flex-end;justify-content:center;gap:2px;padding:0 2px}.bar-pair span{width:min(42%,10px);min-height:3px;border-radius:6px 6px 2px 2px}.income-bar{background:linear-gradient(#1cab54,#71cc91)}.expense-bar{background:linear-gradient(#e8902d,#ffc174)}.comparison-column>small{align-self:center;color:var(--muted);font-size:.6rem;font-weight:750;text-align:center}.comparison-column.current>small{color:var(--green-dark)}.category-stats{padding:16px}.category-stat-row{display:flex;min-width:0;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.category-stat-row:last-child{border-bottom:0}.category-stat-row .progress{margin-top:7px;height:6px}.category-stat-row .list-main small{margin:0;color:var(--muted);font-size:.68rem}.category-value{flex:0 0 auto;max-width:27%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:760}.active-filter{display:flex;min-width:0;align-items:center;gap:9px;margin:-2px 0 12px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:#fff}.active-filter>span{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:9px}.active-filter strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.active-filter a{color:var(--green-dark);font-size:.7rem;font-weight:750;white-space:nowrap}.sortable-list{padding:0 14px;position:relative}.sortable-item{display:flex;min-width:0;align-items:center;border-bottom:1px solid var(--line);transition:transform .15s ease,opacity .15s ease,background .15s ease}.sortable-item:last-of-type{border-bottom:0}.sortable-item.is-dragging{z-index:2;opacity:.62;background:#edf7f0;transform:scale(1.015);border-radius:13px;box-shadow:0 8px 24px rgba(21,46,29,.12)}.sortable-content{flex:1;min-width:0}.sortable-content>.list-row{border-bottom:0}.drag-handle{display:grid;flex:0 0 44px;width:44px;height:48px;place-items:center;border:0;border-radius:12px;color:#7e8981;background:transparent;font-size:1.35rem;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-handle:focus-visible,.drag-handle:hover{color:var(--green-dark);background:#edf7f0;outline:none}.drag-handle:active{cursor:grabbing}.sortable-list.is-saving{pointer-events:none}.sort-saving{position:absolute;z-index:4;right:12px;bottom:10px;padding:6px 9px;border-radius:99px;color:var(--green-dark);background:#eaf7ee;box-shadow:0 4px 12px rgba(21,46,29,.1);font-size:.65rem;font-weight:750}.budget-sort-row{display:flex;justify-content:flex-end;margin:-2px 0 9px}.budget-sort-row label{width:min(100%,260px)}.budget-sort-row select{min-height:42px;padding-top:8px;padding-bottom:8px}.sort-hint{margin:8px 4px 0;color:var(--muted);font-size:.68rem;line-height:1.4}.recurring-mark{color:var(--green);font-size:.74em;font-weight:850}.field-help{color:var(--muted);font-size:.68rem;font-weight:500}.transaction-kind{padding:11px 14px;border-radius:12px;color:#fff;background:var(--green);font-size:.8rem;font-weight:800;text-align:center}.envelope-add-expense{margin-bottom:14px}.monthly-exception-alert{display:grid;gap:3px;margin-top:13px;padding:11px 12px;border-radius:13px;color:#77460a;background:#fff3df}.monthly-exception-alert strong{font-size:.76rem}.monthly-exception-alert small,.monthly-exception-alert span{font-size:.67rem}.monthly-exception-alert b{margin-top:3px;color:#8b4d08;font-size:.68rem}.monthly-exception-panel{margin-top:14px;border-color:#f0d3a8;background:#fffaf1}.monthly-exception-panel>div:first-child p{margin:5px 0 10px;color:#7c6547;font-size:.76rem;line-height:1.45}.exception-row{display:flex;min-width:0;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f1dfc3}.exception-row form{flex:0 0 auto}.exception-row .btn{min-height:38px;padding:8px 10px;font-size:.7rem}@media (min-width:800px){.envelope-add-expense{width:auto;justify-self:start}}.offline-status{position:fixed;z-index:80;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;max-width:calc(100vw - 24px);min-height:36px;padding:7px 12px;border:0;border-radius:99px;color:#175d31;background:#eaf7ee;box-shadow:0 6px 22px rgba(13,39,22,.18);font-size:.72rem;font-weight:800;white-space:nowrap;cursor:pointer}.offline-status.is-offline{color:#854b09;background:#fff0da}.offline-status.has-error{color:#9a3030;background:#fff0f0}.offline-saved{padding:13px;border:1px solid #f2d39d;border-radius:13px;color:#754609;background:#fff7e8;font-size:.8rem;line-height:1.45}.btn:disabled{opacity:.58;cursor:not-allowed}@media (min-width:800px){.app-shell{padding:0 0 0 230px}.page{padding:34px 32px 60px}.desktop-nav{display:flex;position:fixed;inset:0 auto 0 0;width:230px;padding:28px 18px;flex-direction:column;background:white;border-right:1px solid var(--line)}.desktop-nav .brand{justify-content:flex-start;margin-bottom:28px}.desktop-nav .brand>span:last-child{white-space:nowrap}.desktop-links{display:grid;gap:5px}.desktop-links a{padding:11px 12px;border-radius:11px;color:#5b665e;font-size:.86rem;font-weight:650}.desktop-links a:hover{color:var(--green-dark);background:#edf7f0}.desktop-profile{min-width:0;margin-top:auto}.desktop-profile small,.desktop-profile strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-profile small{margin-top:4px}.bottom-nav{display:none}.form-card{max-width:680px}.balance-cards,.budget-gauge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-gauge-grid .inactive-mobile-scope{display:block}.dashboard-scope-tabs{display:none}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{min-height:158px}.stat-card>strong{font-size:1.4rem}}@media (min-width:1180px){.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}}@media (min-width:1050px){.statistics-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start}.goal-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.goal-settings{position:sticky;top:24px}}@media (max-width:799px){.budget-gauge-grid .inactive-mobile-scope{display:none}}@media (max-width:520px){.grid-3{grid-template-columns:1fr 1fr}.budget-summary-card .grid-3>div:last-child{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line)}.budget-summary-card .big-value{font-size:1.38rem}.hide-mobile{display:none}.filter-row{grid-template-columns:1fr 1fr}.filter-row .btn{grid-column:1/-1}.calendar-card{padding:6px;border-radius:15px}.calendar-weekdays span{font-size:.58rem}.calendar-day{min-height:68px;padding:5px 3px}.calendar-icons{height:18px;font-size:.72rem}.calendar-day strong{font-size:.55rem}.calendar-day small{display:none}.goal-history-row{flex-wrap:wrap}.movement-values{width:100%;padding-left:45px;grid-auto-flow:column;justify-content:space-between}.read-grid{grid-template-columns:1fr}}