:root{--app-bg:#F7F4EE;--app-bg-elev:#FFFDF9;--app-bg-subtle:#F1ECE1;--app-header-bg:rgba(255,253,249,0.82);--app-border:#E8E1D3;--app-border-strong:#D9D0BE;--app-text:#211C15;--app-text-muted:#766C5C;--app-text-dim:#8F8368;--app-shadow-card:0 1px 2px rgba(58,42,12,0.05);--app-shadow-card-hover:0 6px 18px rgba(58,42,12,0.10);--app-gold:#9C6D3E;--app-gold-soft:rgba(156,109,62,0.13);--app-positive:#3E7A55;--app-negative:#B4463A}[data-mantine-color-scheme=dark]{--app-bg:#100E0A;--app-bg-elev:#1B1712;--app-bg-subtle:#241F17;--app-header-bg:rgba(16,14,10,0.78);--app-border:#342E23;--app-border-strong:#453D2E;--app-text:#EDE7DB;--app-text-muted:#A99C87;--app-text-dim:#8B8069;--app-shadow-card:0 1px 2px rgba(0,0,0,0.4);--app-shadow-card-hover:0 8px 22px rgba(0,0,0,0.55);--app-gold:#CB975F;--app-gold-soft:rgba(203,151,95,0.18);--app-positive:#5BB98A;--app-negative:#E8897C}html:root[data-mantine-color-scheme=dark],html:root[data-mantine-color-scheme=light]{--mantine-color-dimmed:var(--app-text-muted)}body,html{margin:0;min-height:100%;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.section-label{display:inline-block;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-muted)}.mono{font-family:var(--font-jetbrains-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums}.brand-lockup{--brand-tile-bg:linear-gradient(135deg,#C08A4E,#9C6D3E 55%,#6E4A26);--brand-tile-fg:#FBF3E9;--brand-tile-shadow:0 4px 10px rgba(110,74,38,0.22);--brand-tile-inset:inset 0 1px 0 rgba(255,255,255,0.34);display:inline-flex;align-items:center;gap:11px;padding:4px 8px 4px 4px;margin-left:-4px;border-radius:12px;text-decoration:none;color:inherit;transition:background-color .16s ease;min-width:0}[data-mantine-color-scheme=dark] .brand-lockup{--brand-tile-bg:linear-gradient(135deg,#E2B77F,#CB975F 55%,#94663A);--brand-tile-fg:#17120C;--brand-tile-shadow:0 4px 12px rgba(0,0,0,0.45);--brand-tile-inset:inset 0 1px 0 rgba(255,255,255,0.28)}.brand-lockup:hover{background:var(--app-gold-soft)}.brand-lockup:focus-visible{outline:2px solid var(--app-gold);outline-offset:1px}.brand-tile{flex:none;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-tile-bg);color:var(--brand-tile-fg);box-shadow:var(--brand-tile-shadow),var(--brand-tile-inset);transition:transform .16s ease,box-shadow .16s ease}.brand-lockup:hover .brand-tile{transform:translateY(-1px);box-shadow:0 6px 14px rgba(110,74,38,.28),var(--brand-tile-inset)}.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.brand-name{font-size:15px;font-weight:700;line-height:1.15;letter-spacing:.02em;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{display:none;font-size:9px;font-weight:600;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--app-text-dim);white-space:nowrap}@media (min-width:48em){.brand-sub{display:block}}@media (max-width:26em){.brand-lockup{gap:8px;padding-right:4px}}@media (prefers-reduced-motion:reduce){.brand-lockup,.brand-tile{transition:none}.brand-lockup:hover .brand-tile{transform:none}}.page-heading{display:flex;align-items:stretch;gap:14px}.page-heading-bar{flex:none;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--app-gold) 0,color-mix(in srgb,var(--app-gold) 45%,transparent) 100%)}.page-heading-body{min-width:0}.page-heading-title{margin:0;font-size:clamp(26px,2.4vw,32px);font-weight:700;line-height:1.2;letter-spacing:.03em;color:var(--app-text)}.page-heading-desc{margin:7px 0 0;font-size:13.5px;line-height:1.5;color:var(--app-text-muted)}.surface-card{background:var(--app-bg-elev);border:1px solid var(--app-border);box-shadow:var(--app-shadow-card);transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.surface-card-hover:hover{box-shadow:var(--app-shadow-card-hover);border-color:var(--app-border-strong)}.gold-accent{color:var(--app-gold)}.positive{color:var(--app-positive)}.negative{color:var(--app-negative)}.skeleton-line{border-radius:8px;background:linear-gradient(90deg,var(--app-bg-subtle) 25%,var(--app-border) 45%,var(--app-bg-subtle) 65%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.tx-table tbody tr{transition:background-color .12s ease}.tx-table tbody tr .tx-actions{opacity:0;transition:opacity .12s ease}.tx-table tbody tr:focus-within .tx-actions,.tx-table tbody tr:hover .tx-actions{opacity:1}.tx-table tbody tr:hover{background:var(--app-bg-subtle)}.recharts-default-tooltip{background:var(--app-bg-elev)!important;border:1px solid var(--app-border-strong)!important;border-radius:8px!important;box-shadow:var(--app-shadow-card-hover)!important}.recharts-tooltip-label{color:var(--app-text-muted)!important;font-size:12px!important}.recharts-tooltip-item{color:var(--app-text)!important}.cashflow-card{--cf-canvas-bg:linear-gradient(180deg,#FFFDF9,#F7F1E6);--cf-canvas-border:rgba(58,42,12,0.06);--cf-canvas-shadow:0 6px 22px rgba(58,42,12,0.05);--cf-glow:rgba(156,109,62,0.05);--cf-card-bg:#FFFDF9;--cf-card-shadow:0 4px 14px rgba(58,42,12,0.06),0 1px 0 rgba(255,255,255,0.9) inset;--cf-card-border:rgba(58,42,12,0.07);--cf-icon-bg:linear-gradient(135deg,#E2C097,#9C6D3E);--cf-icon-color:#FBF3E9;--cf-icon-shadow:0 4px 10px rgba(110,74,38,0.20);--cf-name-color:#7E5A34;--cf-amount-color:#2A1F12;--cf-chevron-bg:rgba(156,109,62,0.16);--cf-chevron-color:#855A31;--cf-tag-bg:rgba(156,109,62,0.14);--cf-tag-color:#7E5A34;--cf-pool-bg:radial-gradient(circle at 50% 30%,#FFFDF9 0%,#F7EEDF 70%,#EAD8BB 100%);--cf-pool-shadow:0 14px 32px rgba(110,74,38,0.12),inset 0 1px 10px rgba(255,255,255,0.92);--cf-pool-border:rgba(156,109,62,0.18);--cf-pool-label:#7E5A34;--cf-pool-amount:#2A1F12;--cf-balance-bg:linear-gradient(180deg,#EFF6F1,#D3E7DB);--cf-balance-border:rgba(62,122,85,0.34);--cf-balance-accent:#2F5F42;--cf-balance-icon-bg:rgba(62,122,85,0.20);--cf-balance-leaf:rgba(62,122,85,0.55);--cf-balance-shadow:0 8px 22px rgba(62,122,85,0.16);--cf-deficit-bg:linear-gradient(180deg,#FAF0EE,#F0D5CF);--cf-deficit-border:rgba(180,70,58,0.34);--cf-deficit-accent:#8E372E;--cf-deficit-icon-bg:rgba(180,70,58,0.18);--cf-deficit-shadow:0 8px 22px rgba(180,70,58,0.16);--cf-ribbon-glow:#B98A52;--cf-ribbon-shine:#E6C79B;--cf-ribbon-glow-opacity:0.42;--cf-ribbon-shine-opacity:0.92;--cf-ribbon-deficit:#C9695C;--cf-ribbon-balance:rgba(62,122,85,0.55);--cf-empty-border:rgba(156,109,62,0.28)}[data-mantine-color-scheme=dark] .cashflow-card{--cf-canvas-bg:linear-gradient(180deg,#171310,#201812);--cf-canvas-border:rgba(203,151,95,0.20);--cf-canvas-shadow:0 12px 32px rgba(0,0,0,0.55);--cf-glow:rgba(203,151,95,0.12);--cf-card-bg:#1C1610;--cf-card-shadow:0 6px 22px rgba(0,0,0,0.55),0 1px 0 rgba(230,200,150,0.04) inset;--cf-card-border:rgba(203,151,95,0.18);--cf-icon-bg:linear-gradient(135deg,#513A1E,#CB975F);--cf-icon-color:#171310;--cf-icon-shadow:0 6px 14px rgba(0,0,0,0.45);--cf-name-color:#C9A879;--cf-amount-color:#F1E3CB;--cf-chevron-bg:rgba(203,151,95,0.22);--cf-chevron-color:#CB975F;--cf-tag-bg:rgba(203,151,95,0.20);--cf-tag-color:#E2C79F;--cf-pool-bg:radial-gradient(circle at 50% 32%,#2A2013 0%,#3F2F19 55%,#5C441F 100%);--cf-pool-shadow:0 22px 48px rgba(0,0,0,0.60),inset 0 0 30px rgba(203,151,95,0.10);--cf-pool-border:rgba(203,151,95,0.30);--cf-pool-label:#C9A879;--cf-pool-amount:#F1E3CB;--cf-balance-bg:linear-gradient(180deg,#12261B,#163524);--cf-balance-border:rgba(91,185,138,0.38);--cf-balance-accent:#8FD3AE;--cf-balance-icon-bg:rgba(91,185,138,0.20);--cf-balance-leaf:rgba(143,211,174,0.45);--cf-balance-shadow:0 8px 22px rgba(0,0,0,0.55);--cf-deficit-bg:linear-gradient(180deg,#2A1210,#391712);--cf-deficit-border:rgba(232,137,124,0.38);--cf-deficit-accent:#F0A99E;--cf-deficit-icon-bg:rgba(232,137,124,0.20);--cf-deficit-shadow:0 8px 22px rgba(0,0,0,0.55);--cf-ribbon-glow-opacity:0.30;--cf-ribbon-shine-opacity:0.72;--cf-ribbon-deficit:#E8897C;--cf-ribbon-balance:rgba(143,211,174,0.55);--cf-empty-border:rgba(203,151,95,0.22)}.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}@media (max-width:860px){.login-shell{grid-template-columns:1fr}.login-brand{display:none!important}}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(40px,5vw,64px);color:#2a1e08;background:radial-gradient(1100px 560px at 12% 8%,rgba(255,250,242,.55),transparent 55%),radial-gradient(820px 520px at 96% 104%,rgba(90,58,25,.42),transparent 60%),linear-gradient(150deg,#D9AC72,#C08A4E 45%,#9C6D3E)}.login-brand:before{inset:0;background-image:linear-gradient(rgba(44,31,10,.07) 1px,transparent 0),linear-gradient(90deg,rgba(44,31,10,.07) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 28% 26%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 28% 26%,#000 0,transparent 72%)}.login-brand:after,.login-brand:before{content:"";position:absolute;pointer-events:none}.login-brand:after{width:520px;height:520px;right:-160px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.6) 0,transparent 68%)}.login-brand>*{position:relative;z-index:1}.login-logo{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#5B3E20;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.75);box-shadow:0 10px 24px rgba(90,58,25,.22),inset 0 1px 0 rgba(255,255,255,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-headline{margin:0;font-size:clamp(28px,3.2vw,42px);line-height:1.18;font-weight:800;letter-spacing:-.01em;color:#2a1e08}.login-sub{margin:14px 0 0;font-size:15px;line-height:1.65;color:rgba(58,42,12,.78);max-width:32ch}.login-chips{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}.login-chip{font-size:12.5px;font-weight:500;color:#6e520a;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.6)}.login-statcard{align-self:flex-start;margin-top:28px;padding:15px 18px;border-radius:16px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(90,58,25,.16),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-foot{font-size:12.5px;color:rgba(58,42,12,.6)}.login-panel{display:flex;align-items:center;justify-content:center;padding:clamp(28px,5vw,48px) 24px;background:var(--app-bg)}.login-card{width:100%;max-width:384px;animation:login-rise .48s cubic-bezier(.22,1,.36,1) both}.login-mobile-logo{display:none}@media (max-width:860px){.login-mobile-logo{display:flex;justify-content:center;margin-bottom:22px}}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.login-card{animation:none}}@media (max-width:48em){.mantine-ActionIcon-root,.mantine-Button-root,.mantine-NavLink-root,.mantine-Tabs-tab{min-height:44px!important}.mantine-ActionIcon-root{min-width:44px!important}.transaction-item{margin:8px;padding:12px!important;border:1px solid var(--app-border);border-radius:12px;background:var(--app-bg-elev)}.transaction-item-main{align-items:flex-start!important;flex-wrap:wrap!important}.transaction-item-content{flex-basis:calc(100% - 52px)!important}.transaction-item-amount{margin-left:58px;align-items:flex-start!important}.transaction-actions{margin-left:auto;opacity:1!important}.transaction-item-details{margin-left:0!important}}.login-submit{background:linear-gradient(135deg,#C08A4E,#9C6D3E 46%,#6E4A26)!important;color:#FBF3E9!important;border:none!important;box-shadow:0 8px 18px rgba(110,74,38,.32);transition:box-shadow .16s ease,transform .16s ease}.login-submit:hover{box-shadow:0 12px 26px rgba(110,74,38,.44);transform:translateY(-1px)}.login-submit:active{transform:translateY(0)}.cf-ribbon-layer{pointer-events:none}@media (max-width:1199px){.cf-ribbon-layer{display:none}}@keyframes cf-ribbon-shimmer{to{stroke-dashoffset:-28}}.cf-ribbon-shimmer{stroke-dasharray:2 6;stroke-linecap:round;animation:cf-ribbon-shimmer 4s linear infinite}@media (prefers-reduced-motion:reduce){.cf-ribbon-shimmer{animation:none}}