*,: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{color:inherit;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}textarea{resize:vertical}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}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-14{height:3.5rem}.h-8{height:2rem}.min-h-\[calc\(100vh-2rem\)\]{min-height:calc(100vh - 2rem)}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1060px\]{min-width:1060px}.min-w-\[1180px\]{min-width:1180px}.min-w-\[760px\]{min-width:760px}.min-w-\[860px\]{min-width:860px}.min-w-\[900px\]{min-width:900px}.min-w-\[960px\]{min-width:960px}.max-w-sm{max-width:24rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-\[180px_minmax\(0\2c 1fr\)\]{grid-template-columns:180px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-2{row-gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-coral{--tw-border-opacity:1;border-color:rgb(183 92 69/var(--tw-border-opacity,1))}.border-line{--tw-border-opacity:1;border-color:rgb(219 229 220/var(--tw-border-opacity,1))}.bg-coral\/10{background-color:rgb(183 92 69/.1)}.bg-mist{--tw-bg-opacity:1;background-color:rgb(244 247 244/var(--tw-bg-opacity,1))}.bg-moss{--tw-bg-opacity:1;background-color:rgb(49 92 74/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-right{text-align:right}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-coral{--tw-text-opacity:1;color:rgb(183 92 69/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(23 32 38/var(--tw-text-opacity,1))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.opacity-40{opacity:.4}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root,:root[data-theme=dark]{color-scheme:dark;background:#0a0f16;--bg:#0a0f16;--bg-elevated:#0f1622;--bg-wash-top:rgba(37,99,235,0.1);--bg-wash-side:rgba(16,185,129,0.055);--grid-line:rgba(148,163,184,0.06);--surface:rgba(15,23,34,0.76);--surface-strong:rgba(17,24,39,0.94);--surface-soft:rgba(148,163,184,0.09);--surface-hover:rgba(96,165,250,0.12);--surface-active:rgba(37,99,235,0.18);--control-bg:rgba(15,23,42,0.74);--panel-bg:linear-gradient(180deg,rgba(17,24,39,0.96),rgba(11,18,28,0.92));--nav-bg:rgba(10,15,22,0.82);--modal-bg:linear-gradient(180deg,rgba(30,41,59,0.92),rgba(15,23,42,0.96));--line:rgba(148,163,184,0.22);--line-strong:rgba(96,165,250,0.48);--text:#f8fafc;--muted:#a8b3c3;--faint:#718096;--primary:#3b82f6;--primary-strong:#2563eb;--primary-soft:rgba(59,130,246,0.14);--primary-contrast:#ffffff;--cyan:var(--primary);--green:#34d399;--violet:#8b5cf6;--amber:#fbbf24;--danger:#f87171;--danger-strong:#ef4444;--danger-soft:rgba(248,113,113,0.14);--success-soft:rgba(52,211,153,0.14);--amount-income:#34d399;--amount-expense:#f87171;--amount-savings:#fbbf24;--amount-transfer:#60a5fa;--active-gradient:linear-gradient(135deg,var(--primary),var(--primary-strong));--shadow-card:0 18px 54px rgba(0,0,0,0.28),0 0 0 1px rgba(255,255,255,0.03) inset;--shadow-popover:0 22px 60px rgba(0,0,0,0.42);--focus-ring:rgba(59,130,246,0.26);--scrim:rgba(0,0,0,0.52);--tooltip-bg:rgba(15,23,42,0.97);--tooltip-border:rgba(96,165,250,0.34);--chart-grid:rgba(148,163,184,0.18);--chart-1:#60a5fa;--chart-2:#34d399;--chart-3:#fbbf24;--chart-4:#a78bfa;--chart-5:#f87171;--chart-6:#2dd4bf;--chart-7:#fb7185;--chart-8:#94a3b8;--font-body:14px;--font-label:13px;--font-small:12px;--line-body:1.45;--control-height:36px;--control-height-sm:32px;--row-height:40px}:root[data-theme=light]{color-scheme:light;background:#f8fbff;--bg:#f8fbff;--bg-elevated:#ffffff;--bg-wash-top:rgba(96,165,250,0.105);--bg-wash-side:rgba(14,165,233,0.04);--grid-line:rgba(96,165,250,0.055);--surface:rgba(255,255,255,0.88);--surface-strong:rgba(255,255,255,0.98);--surface-soft:rgba(96,165,250,0.06);--surface-hover:rgba(37,99,235,0.075);--surface-active:rgba(37,99,235,0.12);--control-bg:rgba(255,255,255,0.94);--panel-bg:linear-gradient(180deg,rgba(255,255,255,0.99),rgba(248,251,255,0.96));--nav-bg:rgba(255,255,255,0.86);--modal-bg:linear-gradient(180deg,rgba(255,255,255,0.99),rgba(248,251,255,0.98));--line:rgba(37,99,235,0.14);--line-strong:rgba(37,99,235,0.3);--text:#0f172a;--muted:#475569;--faint:#64748b;--primary:#2563eb;--primary-strong:#0ea5e9;--primary-soft:rgba(37,99,235,0.1);--primary-contrast:#ffffff;--cyan:var(--primary);--green:#15803d;--violet:#6d5dfc;--amber:#b45309;--danger:#dc2626;--danger-strong:#b91c1c;--danger-soft:rgba(220,38,38,0.1);--success-soft:rgba(21,128,61,0.1);--amount-income:#15803d;--amount-expense:#dc2626;--amount-savings:#a16207;--amount-transfer:#2563eb;--active-gradient:linear-gradient(135deg,var(--primary),var(--primary-strong));--shadow-card:0 12px 34px rgba(37,99,235,0.08),0 0 0 1px rgba(255,255,255,0.82) inset;--shadow-popover:0 22px 50px rgba(30,64,175,0.14);--focus-ring:rgba(37,99,235,0.22);--scrim:rgba(15,23,42,0.36);--tooltip-bg:rgba(255,255,255,0.98);--tooltip-border:rgba(37,99,235,0.18);--chart-grid:rgba(37,99,235,0.12);--chart-1:#2563eb;--chart-2:#15803d;--chart-3:#b45309;--chart-4:#6d5dfc;--chart-5:#dc2626;--chart-6:#0f766e;--chart-7:#be123c;--chart-8:#64748b}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,var(--bg-wash-top),transparent 34%),linear-gradient(120deg,var(--bg-wash-side),transparent 32%),var(--bg);color:var(--text);min-height:100dvh;min-width:960px;overflow-x:auto;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:var(--font-body);line-height:var(--line-body)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.62),transparent 76%);mask-image:linear-gradient(180deg,rgba(0,0,0,.62),transparent 76%)}button,input,select,textarea{font:inherit}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--font-label);font-weight:700;letter-spacing:0;color:var(--muted)}.control{min-height:var(--control-height);width:100%;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);padding:7px 10px;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);outline:none}.control:focus{border-color:var(--primary);outline:3px solid var(--focus-ring);box-shadow:0 0 0 1px var(--primary-soft)}.control::-moz-placeholder{color:var(--faint)}.control::placeholder{color:var(--faint)}.amount-calculator{position:relative;min-width:0}.btn{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:7px 12px;font-size:var(--font-body);font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn-primary{background:var(--active-gradient);color:var(--primary-contrast);box-shadow:0 10px 24px rgba(37,99,235,.18),inset 0 0 0 1px rgba(255,255,255,.12)}.btn-secondary{background:var(--surface-soft);border-color:var(--line);color:var(--text)}.card{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-card);backdrop-filter:blur(18px) saturate(140%)}:where(.ant-btn){min-height:var(--control-height);font-size:var(--font-body);font-weight:600}:where(.ant-btn-sm){min-height:var(--control-height-sm);font-size:var(--font-label)}:where(.ant-input,.ant-input-affix-wrapper,.ant-select,.ant-cascader,.ant-tree-select){font-size:var(--font-body)}.card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;border-top:1px solid rgba(255,255,255,.12)}.amount-income,.tx-amount-income{color:var(--amount-income)!important}.amount-expense,.tx-amount-expense{color:var(--amount-expense)!important}.amount-asset,.amount-savings,.tx-amount-savings{color:var(--amount-savings)!important}.amount-transfer,.tx-amount-transfer{color:var(--amount-transfer)!important}.amount-neutral{color:var(--text)}.bg-white{background-color:var(--nav-bg)!important;backdrop-filter:blur(18px) saturate(140%)}.bg-mist{background-color:var(--surface-soft)!important}.bg-moss{background:var(--active-gradient)!important}.bg-moss.text-slate-950,.bg-moss.text-white{color:var(--primary-contrast)!important}.bg-coral{background-color:var(--danger)!important}.border-line{border-color:var(--line)!important}.text-ink{color:var(--text)!important}.text-slate-500,.text-slate-600,.text-slate-700{color:var(--muted)!important}.hover\:bg-mist:hover{background-color:var(--surface-hover)!important}.bg-amber-100,.bg-slate-100{background-color:var(--surface-soft)!important}.hover\:bg-amber-200:hover,.hover\:bg-slate-200:hover{background-color:var(--surface-hover)!important}.text-emerald-300,.text-emerald-400{color:var(--amount-income)!important}.text-coral,.text-red-600,.text-rose-300,.text-rose-400{color:var(--amount-expense)!important}.text-cyan-300,.text-cyan-400{color:var(--primary)!important}.text-amber-400,.text-amber-800{color:var(--amber)!important}.text-slate-300,.text-slate-400{color:var(--muted)!important}.border-coral{border-color:var(--danger)!important}.bg-coral\/10{background-color:var(--danger-soft)!important}.bg-red-600{background-color:var(--danger-strong)!important}.hover\:bg-red-700:hover{background-color:var(--danger)!important}table thead{color:var(--muted)}table{border-collapse:separate;border-spacing:0}a{text-underline-offset:3px}.app-nav-link{display:inline-flex;min-height:34px;flex-shrink:0;align-items:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:6px 10px;color:var(--muted);font-size:13px;font-weight:800;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.app-nav-link-active,.app-nav-link:hover{border-color:var(--line-strong);background:var(--primary-soft);color:var(--text)}.app-nav-link-active{box-shadow:inset 0 -2px 0 var(--primary)}.theme-toggle{display:inline-flex;width:34px;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--muted);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.theme-toggle:focus-visible,.theme-toggle:hover{border-color:var(--line-strong);background:var(--primary-soft);color:var(--text);outline:none}.theme-toggle:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.theme-toggle-float{position:absolute;top:12px;right:12px}input[type=checkbox]{accent-color:var(--cyan)}input[type=color]{min-width:54px;padding:4px}.dense-surface{font-size:var(--font-body)}.dense-surface .control{min-height:var(--control-height-sm);padding:5px 9px;font-size:var(--font-label)}.dense-surface textarea.control{min-height:50px}.dense-surface .btn{padding:5px 10px}.dense-surface .btn,.text-button{min-height:var(--control-height-sm);font-size:var(--font-label)}.text-button{display:inline-flex;min-width:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;padding:4px 8px;color:var(--cyan);font-weight:700;cursor:pointer}.text-button:hover{background:var(--surface-hover);text-decoration:none}.text-button-danger{color:var(--danger)}.text-button-primary{color:var(--green)}.login-switch-row,.tx-reimbursable-switch{display:inline-flex;min-height:var(--control-height-sm);align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:4px 8px 4px 10px;color:var(--muted);font-size:var(--font-label);font-weight:700}.login-switch-row{width:100%}.tx-reimbursable-switch{min-width:132px}.tx-reimbursable-switch>span{white-space:nowrap}.compact-field{display:flex;min-width:0;flex-direction:column;gap:4px}.compact-field>span{color:var(--muted);font-size:var(--font-small);font-weight:700}.settings-create{display:grid;align-items:end;gap:6px;border-bottom:1px solid var(--line);padding-bottom:8px}.settings-create .compact-field{gap:2px}.settings-create .compact-chip{min-height:22px;padding:2px 6px;font-size:11px}.settings-table{min-width:860px;overflow:hidden;border:1px solid var(--line);border-radius:8px}.template-settings-table{min-width:1180px}.settings-head,.settings-row{display:grid;align-items:center;gap:8px;border-top:1px solid var(--line);padding:6px 10px}.settings-head{border-top:0;background:var(--surface-soft);color:var(--muted);font-size:var(--font-small);font-weight:800}.settings-row{min-height:var(--row-height);background:color-mix(in srgb,var(--surface-soft) 48%,transparent)}.settings-grid-members{grid-template-columns:32px 64px minmax(220px,1fr) 128px 120px 96px}.settings-grid-accounts{grid-template-columns:28px minmax(190px,1.1fr) 130px minmax(150px,1fr) 100px 120px 140px 100px 80px}.settings-grid-payment-tools{grid-template-columns:28px 58px 180px minmax(220px,1fr) 90px 90px}.settings-grid-directions{grid-template-columns:28px minmax(160px,1fr) 150px minmax(240px,1fr) 90px 90px}.settings-grid-categories{grid-template-columns:28px 54px minmax(140px,1fr) 150px 130px 96px 78px 82px}.settings-grid-projects{grid-template-columns:28px minmax(180px,1fr) minmax(260px,1fr) 90px 90px}.settings-grid-defaults{grid-template-columns:minmax(180px,1fr) 170px 170px 80px 80px 120px 90px 50px 90px}.settings-head>span,.settings-row>div,.settings-row>form,.settings-row>span{min-width:0}.settings-row:hover{background:var(--surface-hover)}.settings-account-group{display:grid}.settings-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);background:var(--primary-soft);padding:7px 10px;color:var(--text);font-size:var(--font-label);font-weight:900}.settings-group-title>span{color:var(--muted);font-size:var(--font-small)}.account-amount-input{font-weight:900;text-align:right}.account-amount-positive{color:var(--danger)}.account-amount-negative{color:var(--green)}.account-amount-zero{color:var(--muted)}.account-hidden-group,.project-archived-group{margin-top:6px;border-top:1px dashed var(--line);padding-top:8px}.account-hidden-group>summary,.project-archived-group>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:4px 2px;font-size:12px;font-weight:800;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.account-hidden-group>summary::-webkit-details-marker,.project-archived-group>summary::-webkit-details-marker{display:none}.account-hidden-group>summary:before,.project-archived-group>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.account-hidden-group[open]>summary:before,.project-archived-group[open]>summary:before{transform:rotate(90deg)}.account-hidden-group .settings-table,.project-archived-group .settings-table{margin-top:6px}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.settings-page{display:grid;gap:12px}.settings-section-toolbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:var(--surface-strong);padding:10px 12px}.settings-section-toolbar h2{color:var(--text);font-size:16px;font-weight:900}.settings-switch-form{display:inline-flex;min-width:0;align-items:center}.settings-row-note{color:var(--muted);font-size:var(--font-small);font-weight:800}.category-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;min-width:0;padding:12px}.category-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-soft) 52%,transparent)}.category-panel-head{border-bottom:1px solid var(--line);padding:9px 12px;color:var(--muted);font-size:var(--font-label);font-weight:900}.category-add-primary{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;border-bottom:1px solid var(--line);padding:8px}.category-tabs{display:grid;gap:4px;padding:8px}.category-tab-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px}.category-tab{display:grid;min-width:0;min-height:var(--control-height-sm);grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:4px 7px;color:var(--muted);font-size:var(--font-label);font-weight:800}.category-tab-active,.category-tab:hover{border-color:var(--line-strong);background:var(--primary-soft);color:var(--text)}.category-tab-count{justify-self:end;color:var(--faint);font-size:11px}.selected-category-editor{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;align-items:end;border-bottom:1px solid var(--line);padding:10px}.selected-category-form{display:grid;grid-template-columns:62px minmax(180px,1fr);gap:8px;align-items:end}.selected-category-delete{align-self:end}.selected-category-delete .btn{width:100%}.compact-chip{display:inline-flex;min-height:var(--control-height-sm);align-items:center;border:1px solid var(--line);border-radius:8px;padding:4px 10px;color:var(--muted);font-size:var(--font-label);font-weight:700}.compact-chip-active{border-color:var(--line-strong);background:var(--active-gradient);color:var(--primary-contrast)}.template-tile{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;min-height:var(--control-height-sm);border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:4px 7px;color:var(--muted);font-size:var(--font-label);font-weight:800}.template-tile-inline{min-width:116px}.template-tile-active,.template-tile:hover{border-color:var(--line-strong);background:var(--primary-soft);color:var(--text)}.tx-page{display:flex;flex-direction:column;gap:8px}.tx-type-tabs{display:flex;gap:4px;padding-bottom:0;border-bottom:0;margin-bottom:0}.tx-type-tab{display:flex;align-items:center;justify-content:center;min-height:var(--control-height-sm);border-radius:7px;padding:4px 14px;color:var(--muted);font-size:var(--font-body);font-weight:800;text-align:center;white-space:nowrap;transition:all .15s}.tx-type-tab-active,.tx-type-tab:hover{background:var(--active-gradient);color:var(--primary-contrast)}.tx-top-panel{display:grid;gap:7px;padding:8px 10px 10px}.tx-entry-shell>summary{display:flex;align-items:center;gap:6px;min-height:38px;border-bottom:1px solid var(--line);padding:6px 12px;cursor:pointer;list-style:none;font-size:14px;font-weight:900;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tx-entry-shell>summary::-webkit-details-marker{display:none}.tx-entry-shell>summary:before{content:"▾";color:var(--cyan);font-size:12px;transition:transform .15s}.tx-entry-shell:not([open])>summary:before{transform:rotate(-90deg)}.tx-entry-toggle-hint{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted)}.tx-entry-command-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:7px}.tx-template-strip{display:grid;grid-template-columns:minmax(0,1fr) 154px;gap:6px;align-items:center}.tx-template-row{display:flex;min-width:0;gap:6px;overflow:hidden}.tx-template-more{position:relative}.tx-template-more>summary{min-height:var(--control-height-sm);border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:5px 9px;color:var(--primary);font-size:var(--font-label);font-weight:900;cursor:pointer;list-style:none}.tx-template-more>summary::-webkit-details-marker{display:none}.tx-template-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:80;display:grid;width:360px;max-height:320px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-strong);padding:8px;box-shadow:var(--shadow-popover)}.tx-entry-form-wide{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.tx-entry-core,.tx-entry-form-wide .transaction-field-set{display:contents}.tx-entry-form-wide .field,.tx-entry-form-wide .tx-field-members,.tx-entry-form-wide .tx-field-reimbursable{flex:0 1 180px}.tx-entry-form-wide .tx-field-date{flex-basis:142px}.tx-entry-form-wide .tx-field-amount{flex-basis:150px}.tx-entry-form-wide .tx-field-account{flex-basis:218px}.tx-entry-form-wide .tx-field-payment{flex-basis:190px}.tx-entry-form-wide .tx-field-category{flex-basis:250px}.tx-entry-form-wide .tx-field-project{flex-basis:172px}.tx-entry-form-wide .tx-field-attribute{flex-basis:180px}.tx-entry-form-wide .tx-field-note{flex:0 1 260px;max-width:260px}.tx-entry-form-wide .tx-field-owners{flex:1 1 380px;max-width:460px}.tx-entry-form-wide .tx-field-reimbursable{flex:0 0 132px;min-height:var(--control-height-sm)}.tx-entry-form-wide>.ant-btn-primary,.tx-entry-form-wide>.btn-primary{flex:0 0 112px;min-height:var(--control-height)}.tx-entry-form-wide .tx-field-note textarea{height:var(--control-height);min-height:var(--control-height);resize:vertical}.template-edit-grid>.tx-field-amount{flex-basis:150px}.template-edit-grid>.tx-field-account{flex-basis:218px}.template-edit-grid>.tx-field-payment{flex-basis:190px}.template-edit-grid>.tx-field-category{flex-basis:250px}.template-edit-grid>.tx-field-project{flex-basis:172px}.template-edit-grid>.tx-field-attribute{flex-basis:180px}.template-edit-grid>.tx-field-note{flex:0 1 260px;max-width:260px}.template-edit-grid>.tx-field-owners{flex:1 1 380px;max-width:460px}.template-edit-grid>.tx-field-reimbursable{flex:0 0 132px;min-height:var(--control-height-sm)}.tx-entry-form-wide .tx-field-members{padding:5px 7px}.tx-entry-form-wide .tx-field-members legend{line-height:1}.tx-entry-form-wide .tx-member-grid{display:flex;flex-wrap:wrap;gap:4px}.tx-entry-form-wide .tx-member-grid .compact-check{min-height:var(--control-height-sm);padding:4px 8px}.compact-check{display:inline-flex;min-height:var(--control-height-sm);align-items:center;gap:5px;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:5px 9px;color:var(--muted);font-size:var(--font-label);font-weight:700;line-height:1.25;white-space:nowrap}.account-cascade,.category-cascade,.hierarchy-cascade{position:relative;min-width:0}.hierarchy-cascade-popup .ant-cascader-menu{height:auto!important;max-height:min(480px,calc(100vh - 140px));min-width:210px}.hierarchy-cascade-popup .ant-cascader-menu-item{min-height:var(--control-height-sm);align-items:center;font-size:var(--font-label)}.hierarchy-cascade-popup .ant-cascader-menu-item-content{white-space:nowrap}.category-cascade-trigger{display:grid;width:100%;min-height:var(--control-height);grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--control-bg);padding:4px 7px;color:var(--muted);font-size:var(--font-body);font-weight:800;text-align:left}.category-cascade-trigger-selected{color:var(--text)}.category-cascade-chevron{color:var(--primary);font-size:18px;line-height:1;transform:rotate(90deg)}.category-cascade-menu{position:fixed;z-index:240;display:grid;width:min(600px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-strong);box-shadow:var(--shadow-popover)}.category-cascade-search{border-bottom:1px solid var(--line);padding:8px}.category-cascade-columns{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:260px;max-height:min(360px,calc(100vh - 120px));overflow:hidden}.category-cascade-children,.category-cascade-parents{display:grid;align-content:start;overflow-y:auto;padding:6px}.category-cascade-parents{border-right:1px solid var(--line);background:var(--surface-soft)}.category-cascade-item{display:grid;min-width:0;min-height:var(--control-height-sm);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;border:0;border-radius:7px;background:transparent;padding:4px 7px;color:var(--muted);font-size:var(--font-label);font-weight:800;text-align:left}.category-cascade-item-active,.category-cascade-item:hover{background:var(--primary-soft);color:var(--text)}.tx-entry-form .control{min-width:0}.tx-category-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.transaction-field-set{display:grid;gap:8px;min-width:0}.transaction-field-set .field{min-width:0}.tx-member-grid{display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:6px}.tx-member-grid .compact-check{justify-content:flex-start;min-height:34px;padding:6px 10px}.tx-field-members{min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px}.tx-field-members legend{padding:0 4px;color:var(--muted);font-size:11px;font-weight:900}.emoji-picker{display:inline-flex;min-width:0}.emoji-picker-trigger{display:inline-flex;min-height:var(--control-height-sm);min-width:42px;cursor:pointer;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:3px 8px}.emoji-picker-trigger:hover{border-color:var(--line-strong);background:var(--primary-soft)}.emoji-picker-current{font-size:18px;line-height:1}.emoji-picker-panel{position:fixed;z-index:260;width:344px;max-height:min(360px,calc(100vh - 32px));overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-strong);padding:10px;box-shadow:var(--shadow-popover)}.emoji-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);font-size:12px}.emoji-picker-head button{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--muted);cursor:pointer}.emoji-picker-groups{max-height:276px;overflow-y:auto;padding-top:8px}.emoji-picker-group{display:grid;gap:5px;padding-bottom:8px}.emoji-picker-group-title{color:var(--faint);font-size:11px;font-weight:900}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.emoji-picker-option{display:inline-flex;width:34px;height:30px;cursor:pointer;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:var(--surface-soft);font-size:18px}.emoji-picker-option-active,.emoji-picker-option:hover{border-color:var(--line-strong);background:var(--primary-soft)}.ledger-table{width:100%;min-width:1460px;font-size:var(--font-label)}.ledger-grid{display:flex;align-items:stretch;gap:6px}.ledger-grid>span{display:flex;min-width:0;align-items:center;overflow-wrap:anywhere;line-height:1.35}.ledger-grid>span:first-child{flex:0 0 100px}.ledger-grid>span:nth-child(2){flex:0 0 48px}.ledger-grid>span:nth-child(3){flex:1.05 1 128px}.ledger-grid>span:nth-child(4){flex:0 0 110px;justify-content:flex-end;text-align:right;margin-right:10px}.ledger-grid>span:nth-child(5){flex:1.25 1 150px;margin-left:10px}.ledger-grid>span:nth-child(6){flex:0.9 1 106px}.ledger-grid>span:nth-child(7){flex:0.95 1 116px}.ledger-grid>span:nth-child(8){flex:0.9 1 110px}.ledger-grid>span:nth-child(9){flex:0.95 1 118px}.ledger-grid>span:nth-child(10){flex:0 0 72px}.ledger-grid>span:nth-child(11){flex:1.3 1 160px}.ledger-grid>span:nth-child(12){flex:0 0 50px}.ledger-cell{white-space:normal}.ledger-cell-date{color:var(--muted);font-weight:800}.ledger-money{color:var(--text);font-weight:900}.ledger-money.tx-amount-income{color:var(--amount-income)}.ledger-money.tx-amount-transfer{color:var(--amount-transfer)}.ledger-money.tx-amount-expense{color:var(--amount-expense)}.ledger-scroll{overflow:auto;max-height:calc(100vh - 292px)}.tx-page:has(.tx-entry-shell:not([open])) .ledger-scroll{max-height:calc(100vh - 152px)}.ledger-keyword-filter{display:grid;grid-template-columns:minmax(180px,1fr) 72px 72px;gap:6px;align-items:end;min-width:0}.search-input-wrapper{position:relative;min-width:0}.search-input-field{padding-right:28px!important}.search-input-clear{position:absolute;top:50%;right:6px;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--faint);cursor:pointer;transform:translateY(-50%);transition:color .16s ease,background-color .16s ease}.search-input-clear:hover{background:var(--primary-soft);color:var(--primary)}.ledger-panel-head{display:grid;gap:6px}.ledger-title-bar{display:flex;align-items:center;gap:10px}.ledger-title-bar h2{font-size:16px;font-weight:900;white-space:nowrap}.ledger-title-bar .ledger-stats{color:var(--muted);font-size:var(--font-small);white-space:nowrap}.ledger-title-bar .ledger-pager{display:flex;align-items:center;gap:3px;margin-left:auto}.ledger-month-toolbar{display:grid;grid-template-columns:80px minmax(0,1fr) 220px;align-items:end;gap:8px}.ledger-year-select{width:80px}.ledger-month-grid{display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:4px}.ledger-head{position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line);background:var(--surface-strong);padding:7px 10px;color:var(--muted);font-weight:900}.ledger-sort-links{margin-left:5px;display:inline-flex;gap:4px}.ledger-sort-links a{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;color:var(--faint);font-weight:900}.ledger-sort-active,.ledger-sort-links a:hover{border-color:var(--line-strong)!important;background:var(--primary-soft);color:var(--primary)!important}.ledger-header-cell{display:inline-flex;min-width:0;align-items:center;gap:5px}.ledger-filter-popover{display:inline-flex}.ledger-filter-popover .ant-btn{width:28px;min-width:28px;height:28px;padding:0}.ledger-filter-icon{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--faint);cursor:pointer}.ledger-filter-icon-active,.ledger-filter-icon:hover{border-color:var(--line-strong);background:var(--primary-soft);color:var(--primary)}.ledger-filter-bubble{position:fixed;z-index:220;width:270px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-strong);padding:10px;box-shadow:var(--shadow-popover)}.ledger-filter-bubble-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--muted);font-size:12px;font-weight:900}.ledger-filter-bubble-head button{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--muted);cursor:pointer}.ledger-popover-form{display:grid;gap:8px;padding-top:8px}.ledger-popover-form label{display:grid;gap:4px;color:var(--muted);font-size:var(--font-small);font-weight:800}.ledger-popover-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ledger-popover-actions a{color:var(--muted);font-size:12px;font-weight:800}.ledger-popover-actions .btn{min-height:28px;padding:4px 10px;font-size:12px}.ledger-date-group,.tx-detail{border-bottom:1px solid var(--line)}.ledger-date-group{position:sticky;top:38px;z-index:1;background:var(--surface-strong);padding:5px 10px;color:var(--primary);font-size:var(--font-small);font-weight:900}.ledger-summary{min-height:var(--row-height);padding:7px 10px;cursor:pointer;list-style:none}.month-pill{display:inline-flex;min-height:var(--control-height-sm);min-width:0;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.035);color:var(--muted);font-size:var(--font-label);font-weight:900}.month-pill-active,.month-pill:hover{border-color:var(--line-strong);background:var(--active-gradient);color:var(--primary-contrast)}.ledger-summary::-webkit-details-marker{display:none}.ledger-summary:hover,.tx-detail[open]>.ledger-summary{background:var(--surface-hover)}.tx-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px;padding:10px}.tx-delete-row,.tx-edit-grid{border-top:1px solid var(--line);background:var(--surface-soft)}.tx-delete-row{display:flex;justify-content:flex-end;padding:0 10px 10px}.page-button{display:inline-flex;min-width:var(--control-height-sm);min-height:var(--control-height-sm);align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:var(--font-label);font-weight:900}.page-button-active,.page-button:hover{border-color:var(--line-strong);background:var(--active-gradient);color:var(--primary-contrast)}.status-pill{display:inline-flex;min-height:var(--control-height-sm);align-items:center;justify-content:center;border-radius:999px;background:var(--danger-soft);padding:4px 10px;color:var(--danger);font-size:var(--font-label);font-weight:900}.status-pill-on{background:var(--success-soft);color:var(--green)}.drag-handle{cursor:grab;color:var(--faint);font-weight:900;letter-spacing:-2px}.settings-row-active{border-color:var(--line-strong);background:var(--primary-soft)}.settings-detail-row{border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 46%,transparent)}.settings-detail-row:first-of-type{border-top:0}.settings-detail-row>summary{list-style:none}.settings-detail-row>summary::-webkit-details-marker{display:none}.settings-detail-row[open]>summary{background:var(--surface-hover)}.template-summary-grid{grid-template-columns:32px 52px 150px 84px 92px minmax(190px,1.1fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(140px,.8fr) 92px 64px}.template-edit-panel{display:grid;gap:8px;border-top:1px solid var(--line);background:var(--surface-soft);padding:10px}.template-edit-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.template-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.template-edit-grid>.field{flex:0 1 180px}.template-field-set{grid-column:1/-1;display:contents}.drawer-template-field-set{grid-template-columns:minmax(0,1fr);display:grid}.source-checks{gap:4px;padding:4px}.source-checks,.template-member-checks{display:flex;min-width:0;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px}.template-member-checks{gap:6px;grid-column:span 5;padding:7px}.template-member-checks legend{padding:0 4px;color:var(--muted);font-size:11px;font-weight:900}.icon-button{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);cursor:pointer}.icon-button:hover{border-color:var(--line-strong);color:var(--text)}.admin-check-fab{position:fixed;right:22px;bottom:22px;z-index:220;display:inline-flex;min-height:36px;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:999px;background:var(--active-gradient);padding:7px 12px;color:var(--primary-contrast);font-size:12px;font-weight:900;box-shadow:0 14px 34px rgba(37,99,235,.24);cursor:pointer}.admin-check-panel{position:fixed;right:22px;bottom:70px;z-index:230;display:grid;width:min(520px,calc(100vw - 44px));max-height:min(720px,calc(100vh - 96px));grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line-strong);border-radius:14px;background:var(--modal-bg);box-shadow:var(--shadow-popover);backdrop-filter:blur(16px)}.admin-check-head{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px}.admin-check-head h2{margin:0;color:var(--text);font-size:16px;font-weight:950}.admin-check-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.admin-check-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-bottom:1px solid var(--line);padding:8px 12px;font-size:12px;font-weight:900}.admin-check-summary span{border:1px solid var(--line);border-radius:8px;padding:5px 8px;text-align:center}.status-ok{color:var(--green)}.status-warning{color:var(--amber)}.status-error{color:var(--danger)}.admin-check-body{display:grid;gap:8px;overflow-y:auto;padding:10px 12px 12px}.admin-check-empty{border:1px dashed var(--line);border-radius:10px;padding:18px;color:var(--muted);font-size:12px;text-align:center}.admin-check-item{display:grid;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:9px}.admin-check-item-warning{border-color:color-mix(in srgb,var(--amber) 38%,transparent)}.admin-check-item-error{border-color:color-mix(in srgb,var(--danger) 42%,transparent)}.admin-check-item-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:13px;font-weight:950}.admin-check-item-title strong{color:var(--primary);font-size:11px}.admin-check-item-warning .admin-check-item-title strong{color:var(--amber)}.admin-check-item-error .admin-check-item-title strong{color:var(--danger)}.admin-check-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.admin-check-item p b{margin-right:6px;color:var(--faint)}.admin-check-copy{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.drawer-backdrop{position:fixed;inset:0;z-index:200;display:flex;justify-content:flex-end;background:var(--scrim);backdrop-filter:blur(8px)}.drawer-panel{width:420px;max-width:100vw;height:100dvh;overflow-y:auto;border-left:1px solid var(--line);background:var(--modal-bg);padding:16px;box-shadow:var(--shadow-popover)}.drawer-form{display:grid;gap:10px}.drawer-button-group{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.drawer-button-group .text-button{margin-left:auto}.tx-form:has(#type option[value=EXPENSE]:checked) .tx-income-only,.tx-form:has(#type option[value=EXPENSE]:checked) .tx-transfer-only,.tx-form:has(#type option[value=INCOME]:checked) .tx-expense-only,.tx-form:has(#type option[value=INCOME]:checked) .tx-transfer-only,.tx-form:has(#type option[value=LIABILITY_CHANGE]:checked) .tx-expense-only,.tx-form:has(#type option[value=LIABILITY_CHANGE]:checked) .tx-income-only,.tx-form:has(#type option[value=LIABILITY_CHANGE]:checked) .tx-payment-tool,.tx-form:has(#type option[value=LIABILITY_CHANGE]:checked) .tx-transfer-only,.tx-form:has(#type option[value=RECEIVABLE_CHANGE]:checked) .tx-expense-only,.tx-form:has(#type option[value=RECEIVABLE_CHANGE]:checked) .tx-income-only,.tx-form:has(#type option[value=RECEIVABLE_CHANGE]:checked) .tx-payment-tool,.tx-form:has(#type option[value=RECEIVABLE_CHANGE]:checked) .tx-transfer-only,.tx-form:has(#type option[value=TRANSFER]:checked) .tx-expense-only,.tx-form:has(#type option[value=TRANSFER]:checked) .tx-income-only,.tx-form:has(#type option[value=TRANSFER]:checked) .tx-payment-tool{display:none}::-moz-selection{background:var(--primary);color:var(--primary-contrast)}::selection{background:var(--primary);color:var(--primary-contrast)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.toast-container{position:fixed;right:16px;bottom:16px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item{min-width:150px;max-width:320px;padding:10px 14px;border-radius:10px;background:var(--active-gradient);color:var(--primary-contrast);font-size:13px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.28);animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.text-button:disabled{opacity:.55;cursor:progress}.confirm-delete-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--scrim);backdrop-filter:blur(8px);animation:fade-in .12s ease}.confirm-delete-modal{width:400px;max-width:90vw;border-radius:14px;border:1px solid var(--line);background:var(--modal-bg);padding:20px;box-shadow:var(--shadow-popover);display:flex;flex-direction:column;gap:12px;animation:modal-in .15s ease}.confirm-delete-refs{display:flex;flex-wrap:wrap;gap:6px}.confirm-delete-refs>span{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700;background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent)}.confirm-delete-actions{display:flex;align-items:center;gap:8px;margin-top:4px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.dashboard-fullscreen{position:relative;min-width:960px}.dashboard-panel-fullscreen{padding-top:0}.dashboard-panel-fullscreen>.card,.dashboard-panel-fullscreen>section{min-height:100%}.dashboard-fullscreen:fullscreen{overflow:auto;padding:14px;background:linear-gradient(180deg,var(--bg-wash-top),transparent 34%),linear-gradient(120deg,var(--bg-wash-side),transparent 32%),var(--bg)}.dashboard-fullscreen.is-fullscreen:not(:fullscreen){position:fixed;inset:0;z-index:200;overflow:auto;padding:14px;background:linear-gradient(180deg,var(--bg-wash-top),transparent 34%),linear-gradient(120deg,var(--bg-wash-side),transparent 32%),var(--bg)}.dashboard-fullscreen-toggle{position:absolute;top:10px;right:10px;z-index:25;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:0 9px;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.dashboard-fullscreen-toggle:focus-visible,.dashboard-fullscreen-toggle:hover{border-color:var(--line-strong);color:var(--text);background:var(--primary-soft);outline:none}.dashboard-fullscreen.is-fullscreen .dashboard-fullscreen-toggle,.dashboard-fullscreen:fullscreen .dashboard-fullscreen-toggle{position:sticky;top:0;margin-left:auto;margin-bottom:8px}.overview-panel{padding:12px}.overview-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 18px;margin-bottom:10px;padding-right:88px}.overview-note{margin-top:4px;color:var(--faint);font-size:12px}.overview-legend{display:flex;flex-wrap:wrap;gap:7px}.overview-legend-item{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);padding:0 9px;font-size:12px;font-weight:800}.overview-legend-item i{width:24px;border-top:2px solid}.overview-lines{display:grid;gap:8px}.overview-line-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:12px;align-items:center;min-height:62px;border:1px solid rgba(164,235,255,.1);border-radius:8px;background:rgba(255,255,255,.035);padding:8px 10px}.overview-line-meta{min-width:0}.overview-line-caption,.overview-line-label,.overview-line-value{display:block}.overview-line-label{color:var(--muted);font-size:12px;font-weight:800}.overview-line-value{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.overview-line-caption{margin-top:1px;color:var(--faint);font-size:11px}.overview-line-chart{min-width:0}.overview-line-chart svg{display:block;width:100%;height:42px;color:currentColor;overflow:visible}.overview-line-chart path{filter:drop-shadow(0 0 8px color-mix(in srgb,currentColor 38%,transparent))}.overview-line-grid{stroke:rgba(164,235,255,.18);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.overview-line-chart circle{fill:var(--surface-strong);stroke:currentColor;stroke-width:1.8}.overview-month-axis{display:grid;grid-template-columns:repeat(12,1fr);margin-top:1px;color:var(--faint);font-size:10px;font-weight:700;text-align:center}.report-subtitle{margin-top:2px;font-size:var(--font-label);color:var(--muted)}.report-context{display:inline-flex;align-items:center;gap:8px;padding-top:2px}.report-context-inline{margin-left:auto}.report-context span{display:inline-flex;min-height:var(--control-height-sm);align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:0 10px;color:var(--muted);font-size:var(--font-label);font-weight:800}.report-control-board{position:sticky;top:calc(var(--app-nav-offset, 0px) + 6px);z-index:40;display:flex;flex-direction:column;padding:8px;background:var(--panel-bg);transition:top .16s ease}.report-control-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.report-control-group{display:flex;min-width:0;align-items:center;gap:6px}.report-control-label{flex:0 0 auto;color:var(--faint);font-size:var(--font-label);font-weight:800}.report-analysis-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;padding:0}.report-analysis-link{display:flex;min-height:48px;flex-direction:column;justify-content:center;gap:3px;background:rgba(255,255,255,.025);padding:6px 10px;color:var(--muted);transition:background .15s,color .15s}.report-analysis-link:hover{background:var(--surface-soft);color:var(--text)}.report-analysis-link span{color:var(--text);font-size:var(--font-body);font-weight:900}.report-analysis-link small{color:var(--faint);font-size:var(--font-small);font-weight:700}.report-anchor-panel,.report-section-block{scroll-margin-top:170px}.report-section-block{display:flex;flex-direction:column;gap:6px}.report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-height:24px}.report-section-heading>div{display:flex;align-items:baseline;gap:8px}.report-section-heading h2{color:var(--text);font-size:16px;font-weight:900}.report-section-heading p{color:var(--faint);font-size:var(--font-label);font-weight:700}.report-section-kicker{color:var(--cyan);font-size:var(--font-small);font-weight:900;letter-spacing:0}.report-analysis-controls{display:flex;align-items:center;justify-content:flex-start;padding:6px}.report-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px}.report-seg{display:inline-flex;min-height:var(--control-height);border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface-soft)}.report-seg a{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);min-width:48px;padding:0 12px;font-size:var(--font-label);font-weight:800;color:var(--muted);transition:background .15s,color .15s}.report-seg a:hover{color:var(--text)}.report-seg a.is-active{background:var(--active-gradient);color:var(--primary-contrast)}.report-period-input{box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);width:150px;border-radius:7px;padding:0 10px;font-size:var(--font-label);font-weight:800}.report-period-input.is-year{width:92px}.report-toolbar-end{margin-left:auto}.report-projectfilter{position:relative}.report-filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:0 10px;color:var(--muted);font-size:var(--font-label);font-weight:800;cursor:pointer;white-space:nowrap}.report-filter-btn.ant-btn{box-shadow:none}.report-filter-btn-active,.report-filter-btn:hover{color:var(--text);border-color:var(--line-strong)}.report-filter-btn-active{background:var(--primary-soft)}.report-projectfilter-panel{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:320px;max-width:86vw;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-strong);box-shadow:0 28px 70px rgba(0,0,0,.55);backdrop-filter:blur(22px) saturate(150%);padding:10px}.report-filter-panel{display:grid;width:320px;max-width:86vw;gap:8px;padding:2px}.report-treefilter-panel{width:360px}.report-treefilter-actions{display:flex;justify-content:flex-end;gap:8px}.report-projectfilter-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:800;color:var(--muted)}.report-projectfilter-head>span:first-child{margin-right:auto}.report-projectfilter-clear{color:var(--cyan);font-weight:800}.report-projectfilter-head button{display:inline-flex;border:none;background:transparent;color:var(--muted);cursor:pointer}.report-projectfilter-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow:auto}.report-projectfilter-item{display:flex;align-items:center;gap:8px;border-radius:8px;padding:7px 9px;font-size:13px;color:var(--muted)}.report-projectfilter-item:hover{background:var(--surface-soft);color:var(--text)}.report-projectfilter-item.is-excluded{color:var(--text)}.report-checkbox{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border:1px solid var(--line-strong);border-radius:5px;font-size:12px;color:var(--primary-contrast)}.report-projectfilter-item.is-excluded .report-checkbox{background:var(--active-gradient);border-color:transparent}.report-projectfilter-empty{padding:8px;font-size:12px;color:var(--faint)}.report-dims{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.report-dims-label{font-size:12px;font-weight:700;color:var(--faint)}.report-table-wrap{max-height:62vh;overflow:auto;border-radius:10px;border:1px solid var(--line)}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table td,.report-table th{padding:6px 10px;text-align:right;white-space:nowrap}.report-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-strong);color:var(--muted);font-weight:700}.report-table td:first-child,.report-table th:first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--surface-strong);color:var(--text);font-weight:600}.report-table thead th:first-child{z-index:3;color:var(--faint)}.report-table tbody td{border-top:1px solid var(--line);color:var(--muted)}.report-table tbody tr:hover td{background:var(--surface-soft)}.report-table .col-total,.report-table tfoot td{color:var(--text);font-weight:800}.report-table tfoot td{border-top:2px solid var(--line-strong);background:var(--surface-strong)}.report-cell{position:relative}.report-cell-bar{position:absolute;right:6px;top:5px;bottom:5px;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 8%,transparent),var(--primary-soft));z-index:0}.report-cell-val{position:relative;z-index:1}.report-trend-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 18px;margin-bottom:12px;padding-right:88px}.report-trend-note{margin-top:4px;font-size:12px;color:var(--faint)}.report-trend-matrix-wrap{max-height:58vh}.report-trend-matrix{min-width:1240px}.report-trend-matrix td:not(:first-child),.report-trend-matrix th:not(:first-child){min-width:88px;padding:7px 9px}.report-trend-matrix td:first-child,.report-trend-matrix th:first-child{min-width:190px;max-width:260px}.report-trend-row-name,.report-trend-row-share{display:block}.report-trend-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-trend-row-share{margin-top:2px;font-size:11px;font-weight:700;color:var(--faint)}.report-trend-cell{vertical-align:top}.report-trend-cell .report-cell-val{display:block;font-weight:800;font-variant-numeric:tabular-nums}.report-change{position:relative;z-index:1;display:block;margin-top:2px;font-size:10px;font-weight:800;color:var(--faint)}.report-change.is-up{color:var(--amount-expense)}.report-change.is-down{color:var(--amount-income)}.report-trend-matrix .is-other-row td:first-child{color:var(--muted)}.report-bars{display:flex;flex-direction:column;gap:12px}.report-panel-head{padding-right:88px}.report-bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.report-bar-name{color:var(--text);font-weight:700}.report-bar-meta{color:var(--muted);font-variant-numeric:tabular-nums}.report-bar-track{margin-top:6px;height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.report-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-strong))}.report-bar-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:13px;font-weight:800;color:var(--text)}.report-trend{display:flex;align-items:flex-end;gap:6px;height:132px}.report-trend-bar{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--primary),var(--primary-strong));min-height:3px;transition:opacity .15s}.report-trend-bar:hover{opacity:.82}.report-trend-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--faint)}.kpi-label{font-size:11px;font-weight:700;color:var(--muted)}.kpi-card{min-height:76px;padding:9px 11px}.kpi-value{margin-top:3px;font-size:20px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.15}.kpi-caption{margin-top:4px;font-size:11px;color:var(--faint)}.report-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px}.report-filter-clear-all{display:inline-flex;align-items:center;min-height:26px;border:1px solid color-mix(in srgb,var(--danger) 42%,transparent);border-radius:8px;padding:3px 10px;color:var(--danger);font-size:12px;font-weight:700;margin-left:auto;transition:background .15s}.report-filter-clear-all:hover{background:var(--danger-soft)}.recharts-tooltip-cursor{fill:var(--primary-soft)!important}.recharts-legend-item-text{color:var(--muted)!important;font-size:12px!important}.hover\:bg-mist:hover{--tw-bg-opacity:1;background-color:rgb(244 247 244/var(--tw-bg-opacity,1))}.hover\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}