@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}:root{color-scheme:dark;--background:#050507;--foreground:#f8fafc;--muted:#9aa8bd;--line:rgba(63,63,70,0.5);--surface:rgba(24,24,27,0.72);--surface-strong:rgba(24,24,27,0.92);--popover-surface:#111113;--field:rgba(24,24,27,0.5);--accent:#2dd4bf;--accent-strong:#5eead4;--income:#50d890;--expense:#ff1744;--saving:#38bdf8;--investment:#fbbf24;--shadow:0 0 22px rgba(45,212,191,0.06);--glow-positive:0 0 15px rgba(45,212,191,0.1);--glow-negative:0 0 15px rgba(244,63,94,0.1)}:root[data-theme=light]{color-scheme:light;--background:#eef3f8;--foreground:#111827;--muted:#596579;--line:rgba(71,85,105,0.18);--surface:rgba(255,255,255,0.78);--surface-strong:rgba(255,255,255,0.94);--popover-surface:#ffffff;--field:rgba(255,255,255,0.94);--accent:#0369a1;--accent-strong:#075985;--income:#16875a;--expense:#dc143c;--saving:#0369a1;--investment:#b7791f;--shadow:0 24px 70px rgba(15,23,42,0.13)}*{box-sizing:border-box}.w-full{width:100%}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.hidden{display:none}.font-geist{font-family:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html{background:var(--background)}body,html{min-height:100%}body{margin:0;color:var(--foreground);background:linear-gradient(135deg,#030305 0,var(--background) 48%,#111113 100%);font-family:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400}:root[data-theme=light] body{background:linear-gradient(135deg,#edf4fb,#f8fafc 54%,#e9f2f2)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;font-size:clamp(2.5rem,7vw,5.6rem);line-height:.96}h1,h2{font-weight:500;letter-spacing:0}h2{margin:0;font-size:1.02rem}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:32px;gap:32px;align-items:flex-end;padding:56px 0 40px;border-bottom:1px solid var(--line)}.intro,.muted{color:var(--muted);line-height:1.6}.eyebrow{margin:0 0 8px;color:var(--accent-strong);font-size:.74rem;font-weight:500;letter-spacing:0;text-transform:uppercase}.auth-form button,.primary-button,.primary-link,.secondary-button,.secondary-link{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;padding:0 16px;font-weight:500;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.auth-form button,.primary-button,.primary-link{color:#03111f;background:#2dd4bf;box-shadow:var(--glow-positive)}.secondary-button,.secondary-link{color:var(--foreground);background:rgba(148,163,184,.08);border-color:var(--line)}.ui-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;padding:0 16px;font-weight:600;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.ui-button-default{color:#03111f;background:#2dd4bf;box-shadow:var(--glow-positive)}.ui-button-secondary{color:var(--foreground);background:rgba(39,39,42,.72);border-color:rgba(63,63,70,.5)}.ui-button-ghost{color:var(--muted);background:transparent}.ui-button-ghost:hover{color:var(--foreground);background:rgba(39,39,42,.82)}.ui-button-icon{width:36px;height:36px;min-height:36px;padding:0}.ui-badge{display:inline-flex;min-height:28px;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:999px;border:1px solid rgba(63,63,70,.55);padding:5px 10px;font-size:.76rem;font-weight:600;line-height:1.1}.ui-badge-income{color:#ccfbf1;background:#134e4a;border-color:#0f766e}.ui-badge-expense{color:#ffe4e6;background:#7f1d1d;border-color:#be123c}.ui-badge-saving{color:#e0f2fe;background:#0c4a6e;border-color:#0284c7}.ui-badge-investment{color:#fef3c7;background:#854d0e;border-color:#d97706}.ui-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:42px;width:100%;border:1px solid rgba(63,63,70,.5);border-radius:12px;color:var(--foreground);background-color:rgba(24,24,27,.5);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 34px 0 12px;outline:none}.ui-select:focus{border-color:rgba(45,212,191,.64);box-shadow:0 0 0 3px rgba(45,212,191,.12)}.ui-tabs{display:flex;justify-content:flex-end}.ui-tabs-list{display:inline-flex;min-height:40px;align-items:center;gap:4px;border:1px solid #3f3f46;border-radius:999px;background:#111113;padding:4px}.ui-tabs-trigger{min-width:96px;min-height:32px;border:0;border-radius:999px;color:#a1a1aa;background:#18181b;padding:0 14px;font-size:.86rem;font-weight:600}.ui-tabs-trigger.is-active{color:#03111f;background:#2dd4bf;box-shadow:var(--glow-positive)}:root[data-theme=light] .ui-badge-income{color:#064e3b;background:#99f6e4;border-color:#2dd4bf}:root[data-theme=light] .ui-badge-expense{color:#7f1d1d;background:#fecdd3;border-color:#fb7185}:root[data-theme=light] .ui-badge-saving{color:#075985;background:#bae6fd;border-color:#38bdf8}:root[data-theme=light] .ui-badge-investment{color:#713f12;background:#fde68a;border-color:#fbbf24}:root[data-theme=light] .ui-tabs-list{border-color:#9ca3af;background:#e5e7eb}:root[data-theme=light] .ui-tabs-trigger{color:#334155;background:#d1d5db}:root[data-theme=light] .ui-tabs-trigger.is-active{color:#042f2e;background:#2dd4bf}.ui-progress{height:6px;overflow:hidden;border-radius:999px;background:#27272a}.ui-progress-indicator{height:100%;border-radius:inherit;transition:width .18s ease}.auth-form button:disabled,.primary-button:disabled,.secondary-button:disabled,.ui-button:disabled{cursor:wait;opacity:.68}.paywall-shell{position:relative;display:grid;min-height:100vh;align-content:center;grid-gap:34px;gap:34px;overflow:hidden;padding:56px 24px;background:linear-gradient(180deg,rgba(45,212,191,.045),transparent 34%),var(--background)}.paywall-shell:after,.paywall-shell:before{position:absolute;inset:0;pointer-events:none;content:""}.paywall-shell:before{background-image:linear-gradient(rgba(148,163,184,.035) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.035) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 16%,#000 78%,transparent)}.paywall-shell:after{border:1px solid rgba(63,63,70,.28);margin:20px}.paywall-footer,.paywall-grid,.paywall-hero{position:relative;z-index:1;width:min(1040px,100%);margin:0 auto}.paywall-hero{display:grid;justify-items:center;text-align:center}.paywall-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--foreground);font-size:.9rem;font-weight:600}.paywall-brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(45,212,191,.34);border-radius:8px;color:var(--accent-strong);background:rgba(45,212,191,.08);font-size:.78rem}.paywall-badge{margin-bottom:18px;border-radius:8px;color:#ccfbf1;background:rgba(20,83,45,.48);border-color:rgba(45,212,191,.28)}.paywall-hero h1{width:min(780px,100%);margin-bottom:20px;font-size:clamp(2.15rem,5vw,4.5rem);line-height:1}.paywall-hero p{width:min(680px,100%);margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7}.paywall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.paywall-plan{display:grid;min-height:440px;align-content:start;border:1px solid rgba(63,63,70,.68);border-radius:8px;background:rgba(9,9,11,.82);padding:26px}.paywall-plan.is-featured{border-color:rgba(45,212,191,.44);background:rgba(13,22,23,.86)}.paywall-plan-heading{display:flex;min-height:62px;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:34px}.paywall-plan-heading span{display:block;margin-bottom:9px;color:var(--muted);font-size:.74rem;font-weight:600;text-transform:uppercase}.paywall-plan-heading h2{font-size:1.12rem}.paywall-plan-heading strong{flex:0 0 auto;border:1px solid rgba(45,212,191,.3);border-radius:999px;padding:6px 10px;color:var(--accent-strong);background:rgba(45,212,191,.08);font-size:.76rem;font-weight:600}.paywall-price{display:flex;align-items:baseline;gap:8px;margin-bottom:26px}.paywall-price span{font-size:clamp(2.1rem,6vw,3.35rem);font-weight:500;line-height:1}.paywall-price small{color:var(--muted);font-size:.98rem}.paywall-features{display:grid;grid-gap:14px;gap:14px;margin:0 0 30px;padding:0;color:#d4d4d8;list-style:none}.paywall-features li{display:flex;align-items:flex-start;gap:10px;line-height:1.45}.paywall-features svg{flex:0 0 auto;margin-top:2px;color:var(--accent-strong)}.paywall-plan-button{width:100%;margin-top:auto}.paywall-spinner{animation:paywall-spin 1s linear infinite}.paywall-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;color:var(--muted);font-size:.9rem;text-align:center}.paywall-footer span{display:inline-flex;align-items:center;gap:8px}.paywall-footer svg{color:var(--accent-strong)}.paywall-toast{position:fixed;right:24px;bottom:24px;z-index:5;max-width:min(420px,calc(100vw - 48px));border:1px solid rgba(45,212,191,.28);border-radius:8px;padding:14px 16px;color:#ccfbf1;background:rgba(13,22,23,.94);line-height:1.45}.paywall-toast.is-error{color:#fee2e2;background:rgba(69,10,10,.94);border-color:rgba(248,113,113,.36)}@keyframes paywall-spin{to{transform:rotate(1turn)}}.auth-panel,.endpoints,.grid article,.status-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.endpoints,.grid article,.status-panel{padding:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin:24px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.metric{display:block;margin-bottom:24px;color:var(--accent-strong);font-size:2rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.endpoint-list article{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:16px;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-panel{width:min(100%,480px);padding:32px}.brand-link{display:inline-flex;margin-bottom:28px;color:var(--accent-strong);font-weight:500;text-decoration:none}.auth-panel h1{font-size:clamp(2.4rem,8vw,4rem)}.auth-copy,.auth-switch{color:var(--muted)}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-form label,.compact-form label,.compact-select,.filter-grid label,.period-controls label{display:grid;grid-gap:7px;gap:7px;color:var(--foreground);font-size:.82rem;font-weight:500}.auth-form input,.category-edit-row input,.category-edit-row select,.compact-form input,.compact-form select,.compact-form textarea,.compact-select select,.date-field input,.filter-grid input,.filter-grid select,.inline-edit-grid input,.inline-edit-grid select,.inline-edit-grid textarea,.period-controls input,.period-controls select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:42px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--foreground);padding:0 12px;outline:none}.auth-form select,.category-edit-row select,.compact-form select,.compact-select select,.filter-grid select,.inline-edit-grid select,.period-controls select{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--foreground) 50%),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}:root:not([data-theme=light]) select option{color:var(--foreground);background-color:#18181b}textarea{resize:vertical}.compact-form textarea,.inline-edit-grid textarea{min-height:90px;padding:12px}input:focus,select:focus,textarea:focus{border-color:rgba(85,199,246,.8);box-shadow:0 0 0 3px rgba(85,199,246,.16)}.password-rules{display:flex;flex-wrap:wrap;gap:8px}.count-pill,.date-chip,.password-rules span,.type-pill{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:.76rem;font-weight:500}.password-rules .rule-ok{color:var(--income);border-color:rgba(80,216,144,.34)}.form-message{position:relative;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:0 0 18px;border-radius:8px;padding:12px 42px 12px 14px;line-height:1.5}.form-message span{min-width:0}.message-close-button{position:absolute;top:8px;right:8px;display:inline-grid;width:26px;height:26px;place-items:center;border:1px solid;border-radius:8px;color:inherit;background:transparent;opacity:.78}.message-close-button:hover{opacity:1}.form-error{color:#fee2e2;background:rgba(127,29,29,.55)}.form-success{color:#dcfce7;background:rgba(20,83,45,.5)}:root[data-theme=light] .form-error{color:#7f1d1d;background:#fee2e2}:root[data-theme=light] .form-success{color:#14532d;background:#dcfce7}.finance-shell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-gap:24px;gap:24px;min-height:100vh;padding:24px;font-family:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.finance-shell.is-collapsed{grid-template-columns:86px minmax(0,1fr)}.finance-sidebar{position:-webkit-sticky;position:sticky;top:24px;display:grid;grid-template-rows:auto 1fr auto;height:calc(100vh - 48px);border:1px solid rgba(63,63,70,.5);border-radius:20px;background:rgba(9,9,11,.72);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:16px}:root[data-theme=light] .finance-sidebar{background:rgba(255,255,255,.74)}.sidebar-brand,.sidebar-footer,.sidebar-nav{display:grid;grid-gap:8px;gap:8px}.sidebar-nav{align-content:start}.sidebar-footer{align-content:end}.sidebar-brand{grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:24px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#03111f;background:#2dd4bf;box-shadow:var(--glow-positive);font-weight:500}.sidebar-footer button,.sidebar-nav button{display:flex;min-height:44px;align-items:center;gap:12px;border:1px solid transparent;border-radius:14px;color:var(--muted);background:transparent;padding:0 12px;font-weight:500}.sidebar-footer button:hover,.sidebar-nav button.active,.sidebar-nav button:hover{color:var(--foreground);border-color:rgba(45,212,191,.2);background:rgba(45,212,191,.1);box-shadow:var(--glow-positive)}.finance-shell.is-collapsed .sidebar-label{display:none}.finance-shell.is-collapsed .sidebar-brand,.finance-shell.is-collapsed .sidebar-footer button,.finance-shell.is-collapsed .sidebar-nav button{justify-content:center}.icon-button,.mobile-menu-button,.sidebar-close{display:none}.finance-content{min-width:0;max-width:100%}.dashboard-topbar{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.topbar-month-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.available-money,.month-state{display:grid;min-width:0;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:14px 16px}.available-money span,.month-state span{color:var(--text);font-weight:500}.available-money strong,.month-state strong{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.available-money.positive strong,.income strong,.month-state.positive strong{color:var(--income)}.available-money.negative strong,.danger,.expense strong,.month-state.negative strong{color:var(--expense)}.saving strong{color:var(--saving)}.investment strong{color:var(--investment)}.row-actions,.toolbar-actions,.topbar-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:flex-end}.date-chip{display:inline-flex;min-height:42px;align-items:center;gap:8px;border-radius:8px;background:var(--surface)}.add-record-button{order:2;white-space:nowrap}.add-record-label-short{display:none}.quick-add-panel{position:relative;z-index:40;margin-bottom:18px;overflow:visible}.quick-add-panel .compact-form{grid-template-columns:170px repeat(2,minmax(120px,1fr)) minmax(180px,1.2fr) auto;align-items:flex-end}.quick-add-panel .form-row{display:contents}.quick-add-panel textarea{min-height:42px;max-height:120px}.quick-add-panel .notes-field{grid-column:1/5}.quick-add-panel .primary-button{grid-column:5;min-width:150px}.category-add-panel .category-form{grid-template-columns:170px minmax(180px,1fr) auto;align-items:flex-end}.category-add-panel .primary-button{grid-column:auto}.date-field{position:relative;z-index:45;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center}.date-field>input:first-child{border-start-end-radius:0;border-end-end-radius:0}.calendar-button{display:grid;min-height:42px;place-items:center;border:1px solid var(--line);-webkit-border-start:0;border-inline-start:0;border-radius:0 8px 8px 0;color:var(--foreground);background:rgba(85,199,246,.12)}.calendar-button:hover{background:rgba(85,199,246,.2)}.date-picker-panel{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 32px));border:1px solid var(--line);border-radius:8px;background:var(--popover-surface);box-shadow:var(--shadow);padding:12px}.date-picker-heading{display:grid;grid-template-columns:36px 1fr 36px;grid-gap:8px;gap:8px;align-items:center;margin-bottom:10px}.date-picker-heading strong{text-align:center;font-size:1rem;font-weight:600}.date-picker-heading .icon-action{display:grid;width:36px;height:36px;place-items:center}.date-picker-grid,.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.date-picker-weekdays{margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:600;text-align:center}.date-picker-grid button{min-height:34px;border:1px solid transparent;border-radius:8px;color:var(--foreground);background:var(--field);font-size:.82rem;font-weight:500}.date-picker-grid button.active,.date-picker-grid button:hover{border-color:rgba(85,199,246,.48);color:var(--accent-strong);background:rgba(85,199,246,.16)}.date-picker-empty{min-height:34px}.native-date-input{position:absolute;right:0;bottom:0;width:1px!important;height:1px;min-height:1px!important;border:0!important;padding:0!important;opacity:0;pointer-events:none}.period-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.period-controls label{min-width:140px}.month-picker{position:relative;z-index:45;min-width:220px}.month-picker-trigger{display:flex;min-height:42px;width:100%;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:var(--field);padding:0 12px;font:inherit;text-align:left}.month-picker-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-picker-panel{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 32px));border:1px solid var(--line);border-radius:8px;background:var(--popover-surface);box-shadow:var(--shadow);padding:12px}.month-picker-heading{display:grid;grid-template-columns:36px 1fr 36px;grid-gap:8px;gap:8px;align-items:center;margin-bottom:10px}.month-picker-heading strong{text-align:center;font-size:1rem;font-weight:600}.month-picker-heading .icon-action{display:grid;width:36px;height:36px;place-items:center}.month-picker-heading .icon-action:disabled{cursor:not-allowed;opacity:.35}.month-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.month-picker-grid button{min-height:38px;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:var(--field);font-size:.82rem;font-weight:500}.month-picker-grid button.active,.month-picker-grid button:not(:disabled):hover{border-color:rgba(85,199,246,.48);color:var(--accent-strong);background:rgba(85,199,246,.16)}.month-picker-grid button:disabled{cursor:not-allowed;color:var(--muted);opacity:.38}.currency-panel .compact-form.horizontal{grid-template-columns:minmax(0,1fr) minmax(240px,320px) auto}.currency-picker{position:relative;z-index:45;min-width:240px}.currency-picker-trigger{display:flex;min-height:42px;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:var(--field);padding:0 12px;text-align:left}.currency-list button span,.currency-picker-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.currency-list button strong,.currency-picker-trigger strong{color:var(--muted);font-size:.76rem;font-weight:600}.currency-picker-panel{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 32px));background:var(--popover-surface);box-shadow:var(--shadow);padding:12px}.currency-picker-panel,.currency-search{border:1px solid var(--line);border-radius:8px}.currency-search{display:grid;grid-template-columns:18px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;background:var(--field);padding:0 10px}.currency-search svg{color:var(--muted)}.currency-search input{min-height:40px;border:0;background:transparent;color:var(--foreground);padding:0;outline:none}.currency-search input:focus{box-shadow:none}.currency-list{display:grid;max-height:260px;grid-gap:6px;gap:6px;margin-top:10px;overflow-y:auto;padding-right:4px}.currency-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:40px;border:1px solid transparent;border-radius:8px;color:var(--foreground);background:transparent;padding:0 10px;text-align:left}.currency-list button.active,.currency-list button:hover{border-color:rgba(85,199,246,.48);color:var(--accent-strong);background:rgba(85,199,246,.16)}.currency-empty{margin:8px 0 0;color:var(--muted);font-size:.82rem}.view-stack{display:grid;grid-gap:18px;gap:18px;min-width:0}.glass-panel,.kpi-card{min-width:0;border:1px solid rgba(63,63,70,.5);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.glass-panel{padding:24px}.panel-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{min-height:118px;padding:18px}.kpi-card span{display:block;color:#a1a1aa;font-size:.75rem;font-weight:600;text-transform:uppercase}.kpi-card strong{display:block;margin-top:12px;font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1;overflow-wrap:anywhere}.available-money.positive,.kpi-card.income,.month-state.positive{box-shadow:var(--glow-positive)}.available-money.negative,.kpi-card.expense,.month-state.negative{box-shadow:var(--glow-negative)}.chart-panel{min-width:0}.chart-panel .eyebrow{color:var(--muted)}.chart-panel-heading{display:flex;gap:16px;align-items:center}.chart-panel-centered .chart-panel-heading{justify-content:center}.chart-panel-centered .chart-panel-heading>div:first-child{display:flex;flex-direction:row-reverse;gap:14px;align-items:center;justify-content:center;text-align:center}.chart-panel-centered h2{font-size:1.05rem}.chart-panel-centered .eyebrow{margin:0;text-transform:none}.inline-chart-legend{display:inline-flex;gap:12px;align-items:center;color:var(--muted);font-size:.88rem;font-weight:500}.inline-chart-legend span{display:inline-flex;gap:5px;align-items:center}.inline-chart-legend span:before{content:"";width:8px;height:8px;border-radius:999px}.legend-income{color:#10b981}.legend-income:before{background:#10b981}.legend-expense{color:#dc143c}.legend-expense:before{background:#dc143c}.legend-balance-purple{color:#a855f7}.legend-balance-purple:before{background:#a855f7}.legend-saving-blue{color:#38bdf8}.legend-saving-blue:before{background:#38bdf8}.legend-investment-gold{color:#fbbf24}.legend-investment-gold:before{background:#fbbf24}.chart-box{min-height:280px;margin-top:12px}.donut-panel .recharts-pie-sector path,.donut-panel .recharts-surface{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.donut-panel .recharts-pie-sector path{transition:filter .18s ease,opacity .18s ease}.donut-panel .recharts-pie-sector path:hover{filter:brightness(1.06)}.donut-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:4px 0 0;padding:0 12px;color:var(--muted);font-size:.82rem;font-weight:500;line-height:1.25;list-style:none}.donut-legend li{display:inline-flex;min-width:0;align-items:center;gap:7px}.donut-legend-marker{width:8px;height:8px;flex:0 0 auto;border-radius:999px;box-shadow:0 0 12px currentColor}.chart-tooltip{display:grid;grid-gap:6px;gap:6px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:rgba(9,14,25,.94);padding:10px 12px;box-shadow:var(--shadow)}.chart-tooltip p{margin:0;font-size:.86rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tooltip-income{color:#10b981}.tooltip-expense{color:#dc143c}.tooltip-balance-purple{color:#a855f7}.tooltip-saving-blue{color:#38bdf8}.tooltip-investment-gold{color:#fbbf24}.account-layout,.category-layout,.dual-chart-grid,.register-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.category-layout,.register-layout{grid-template-columns:1fr;min-width:0}.account-layout{grid-template-columns:minmax(300px,360px) minmax(320px,420px) minmax(320px,440px);align-items:start;justify-content:start}.account-layout .currency-picker,.account-layout>.glass-panel{width:100%}.subscription-panel{max-width:440px}.subscription-days{display:grid;grid-gap:6px;gap:6px;margin:8px 0 18px;border:1px solid rgba(45,212,191,.24);border-radius:8px;background:rgba(45,212,191,.08);padding:18px}.subscription-days span,.subscription-details dt{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase}.subscription-days strong{color:var(--foreground);font-size:clamp(1.8rem,5vw,3rem);font-weight:500;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.subscription-details{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin:0}.subscription-details div{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--field);padding:12px}.subscription-details dd,.subscription-details dt{margin:0}.subscription-details dd{margin-top:6px;color:var(--foreground);font-weight:500;line-height:1.35}.subscription-cancel-button{display:inline-flex;min-height:42px;width:100%;align-items:center;justify-content:center;margin-top:14px;border:1px solid rgba(248,113,113,.36);border-radius:8px;color:#fecdd3;background:rgba(127,29,29,.36);padding:0 14px;font-weight:600}.subscription-cancel-button:hover{color:#fee2e2;background:rgba(127,29,29,.52)}.subscription-cancel-button:disabled{cursor:wait;opacity:.68}.compact-form{display:grid;grid-gap:14px;gap:14px}.compact-form.horizontal{grid-template-columns:minmax(0,1fr) 140px auto;align-items:flex-end}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.category-list,.transaction-list{display:grid;grid-gap:10px;gap:10px}.register-panel-heading{display:grid;grid-template-columns:minmax(320px,480px) minmax(0,1fr) minmax(150px,220px);grid-gap:16px;gap:16px;align-items:flex-end;margin-bottom:22px}.register-filter-control{display:flex;flex-wrap:wrap;gap:10px 14px;justify-self:start;width:min(100%,480px)}.register-filter-control .compact-select{display:flex;align-items:center;gap:10px;white-space:nowrap}.register-filter-control .compact-select select{min-width:150px}.register-dynamic-title{justify-self:center;padding-bottom:9px;text-align:center}.transaction-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.transaction-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0}.category-table{width:max-content;min-width:min(100%,420px)}.category-table td,.category-table th{padding-inline:10px}.category-table td:first-child,.category-table th:first-child{width:1%}.category-table td:nth-child(2),.category-table th:nth-child(2){min-width:180px}.category-table td:nth-child(3),.category-table th:nth-child(3){width:1%;white-space:nowrap}.transaction-table td,.transaction-table th{border-top:1px solid rgba(63,63,70,.5);padding:12px 4px;text-align:left;vertical-align:middle}.transaction-table:not(.category-table) td:first-child,.transaction-table:not(.category-table) th:first-child{padding-left:8px}.transaction-table:not(.category-table) td:last-child,.transaction-table:not(.category-table) th:last-child{padding-right:8px}.transaction-table thead th{border-top:0;color:#a1a1aa;font-size:.75rem;font-weight:600;text-transform:uppercase}.transaction-table strong{font-weight:500;overflow-wrap:anywhere}.transaction-table:not(.category-table) .ui-badge{padding-inline:8px}.table-sort-button{display:inline-flex;min-height:30px;align-items:center;gap:3px;border:0;color:inherit;background:transparent;padding:0;font-weight:500;text-transform:inherit}.table-sort-button.active{color:var(--foreground)}.amount-cell{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.note-cell{max-width:320px;color:var(--muted);line-height:1.45;overflow:hidden;text-overflow:ellipsis}.table-actions{display:flex;gap:2px;justify-content:flex-end}.actions-column{text-align:right!important}.category-list article,.transaction-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.category-list article:first-child,.transaction-item:first-child{border-top:0}.transaction-main{display:grid;grid-gap:4px;gap:4px}.category-list small,.transaction-main p,.transaction-main small{color:var(--muted)}.transaction-main p{margin:4px 0 0}.transaction-actions{display:grid;justify-items:end;grid-gap:8px;gap:8px;text-align:right}.transaction-actions>div{display:flex;gap:6px}.icon-action{display:inline-grid;width:36px;height:36px;place-items:center;border:0;border-radius:12px;color:var(--muted);background:transparent}.icon-action:hover{color:var(--foreground);background:rgba(39,39,42,.82)}.transaction-item.editing{grid-template-columns:1fr}.inline-edit-form{display:grid;grid-gap:12px;gap:12px}.inline-edit-grid{display:grid;grid-template-columns:120px 142px 128px minmax(150px,1fr);grid-gap:10px;gap:10px;align-items:flex-end}.inline-notes{grid-column:1/-1}.inline-edit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.type-pill{display:inline-flex;width:-moz-fit-content;width:fit-content}.category-edit-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;width:100%}.mode-card{display:flex;width:100%;min-height:70px;align-items:center;gap:12px;margin-top:16px;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:rgba(148,163,184,.08);padding:16px;font-weight:500}.horizontal-bars-panel{display:grid;grid-gap:20px;gap:20px}.horizontal-bars-header{display:grid;grid-template-columns:max-content auto minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start;justify-content:start}.horizontal-bars-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:flex-start}.segmented-control{display:inline-flex;min-height:42px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--field)}.segmented-control button{min-width:104px;border:0;color:var(--muted);background:transparent;padding:0 14px;font-weight:500}.segmented-control button.active{color:#03111f;background:linear-gradient(135deg,#55c7f6,#50d890)}.horizontal-bars-list{display:grid;grid-gap:16px;gap:16px;min-width:0}.horizontal-bar-row{display:grid;grid-gap:9px;gap:9px;min-width:0;border-bottom:1px solid rgba(63,63,70,.35);padding-bottom:14px}.horizontal-bar-track{width:100%;min-width:0}.horizontal-bar-row:last-child{border-bottom:0;padding-bottom:0}.horizontal-bar-row-content{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:16px}.horizontal-bar-copy{display:grid;min-width:0;grid-gap:4px;gap:4px}.horizontal-bar-fill{background:#2dd4bf;box-shadow:var(--glow-positive)}.horizontal-bar-fill.expense{background:#fb7185;box-shadow:var(--glow-negative)}.horizontal-bar-fill.income{background:#2dd4bf}.horizontal-bar-copy span,.horizontal-bar-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.horizontal-bar-copy span{color:var(--foreground);font-size:.95rem;font-weight:600}.horizontal-bar-copy strong{color:#a1a1aa;font-size:.82rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.horizontal-bar-percent{color:var(--foreground);font-size:.9rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.horizontal-bars-total{margin:0;color:var(--muted);font-size:.9rem}.horizontal-bars-total span{color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-filters .filter-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 180px 220px;grid-gap:12px;gap:12px;align-items:flex-end}.report-preview{background:var(--surface-strong)}.executive-panel p,.report-diagnosis{margin:12px 0 0;color:var(--muted);line-height:1.65}.executive-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.executive-facts span{border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:8px 10px;font-size:.82rem;font-weight:500}.empty-chart{display:grid;min-height:240px;place-items:center}code{width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:6px;color:var(--accent-strong);background:rgba(85,199,246,.12);font-size:.78rem;font-weight:500}@media (min-width:640px){.sm\:inline{display:inline}}@media (max-width:1180px){.category-layout,.register-layout{grid-template-columns:1fr}.account-layout{grid-template-columns:minmax(300px,360px) minmax(320px,420px);justify-content:start}}@media (max-width:860px){.finance-shell,.finance-shell.is-collapsed{display:block;padding:12px}.mobile-menu-button{position:fixed;z-index:50;top:16px;left:16px;display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:var(--surface-strong);box-shadow:var(--shadow)}.finance-sidebar{position:fixed;z-index:70;inset:12px auto 12px 12px;width:min(292px,calc(100vw - 24px));height:auto;transform:translateX(calc(-100% - 24px));transition:transform .18s ease}.finance-sidebar.is-open{transform:translateX(0)}.finance-shell.is-collapsed .finance-sidebar .sidebar-label,.finance-sidebar .sidebar-label{display:inline}.finance-sidebar .sidebar-brand,.finance-sidebar .sidebar-footer button,.finance-sidebar .sidebar-nav button{justify-content:flex-start}.sidebar-close{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--foreground);background:transparent}.sidebar-scrim{position:fixed;z-index:60;inset:0;border:0;background:rgba(2,6,23,.62)}.finance-content{max-width:100%;overflow-x:hidden;padding-top:54px}.auth-form input,.category-edit-row input,.category-edit-row select,.compact-form input,.compact-form select,.compact-form textarea,.compact-select select,.currency-picker-trigger,.date-field input,.filter-grid input,.filter-grid select,.inline-edit-grid input,.inline-edit-grid select,.inline-edit-grid textarea,.month-picker-trigger,.period-controls input,.period-controls select,.primary-button,.secondary-button,.ui-select{min-height:42px;border-radius:8px;font-size:16px}.auth-form input,.category-edit-row input,.category-edit-row select,.compact-form input,.compact-form select,.compact-select select,.currency-picker-trigger,.date-field input,.filter-grid input,.filter-grid select,.inline-edit-grid input,.inline-edit-grid select,.month-picker-trigger,.period-controls input,.period-controls select,.ui-select{padding-inline:12px}.compact-form textarea,.inline-edit-grid textarea{min-height:92px;padding:12px}.calendar-button{min-height:42px;border-radius:0 8px 8px 0}.dashboard-topbar{gap:12px;margin-bottom:12px}.compact-form,.horizontal-bars-panel,.view-stack{gap:12px}.glass-panel,.kpi-card{padding:12px}.kpi-card{min-height:104px}.kpi-card strong{margin-top:16px;font-size:1.05rem}.panel-heading,.register-panel-heading{gap:12px;margin-bottom:12px}.kpi-grid,.kpi-grid.compact,.topbar-month-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.available-money,.month-state{padding:10px 12px}.category-layout,.category-layout .glass-panel,.compact-form.horizontal,.dashboard-topbar,.dual-chart-grid,.endpoint-list article,.grid,.hero,.horizontal-bars-header,.paywall-grid,.period-controls,.quick-add-panel .compact-form,.register-layout,.register-layout .glass-panel,.register-panel-heading,.report-filters .filter-grid,.subscription-details,.topbar-controls{display:grid;grid-template-columns:1fr;justify-content:stretch}.account-layout{grid-template-columns:minmax(300px,360px) minmax(320px,420px);justify-content:start}.dashboard-topbar .topbar-controls{display:flex;max-width:100%;align-items:flex-end;gap:10px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.dashboard-topbar .topbar-controls:has(.currency-picker-panel),.dashboard-topbar .topbar-controls:has(.date-picker-panel),.dashboard-topbar .topbar-controls:has(.month-picker-panel){overflow:visible}.dashboard-topbar .period-controls{position:relative;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:10px;align-items:flex-end}.dashboard-topbar .add-record-button,.dashboard-topbar .period-controls label{flex:0 0 auto}.add-record-label-full{display:none}.add-record-label-short{display:inline}.dashboard-topbar .period-controls label{width:auto;min-width:132px}.dashboard-topbar .month-picker{position:static;width:150px;min-width:150px}.dashboard-topbar .date-field{width:170px;min-width:170px}.date-chip,.month-picker,.period-controls label,.register-filter-control{width:100%}.dashboard-topbar .month-picker-panel{right:auto;left:0;width:min(292px,calc(100vw - 32px))}.currency-panel .compact-form.horizontal{grid-template-columns:1fr}.currency-picker{width:100%}.currency-picker-panel,.date-picker-panel{right:auto;left:0;width:min(100%,calc(100vw - 32px))}.register-dynamic-title{justify-self:start;padding-bottom:0;text-align:left}.category-edit-row,.category-list article,.form-row,.inline-edit-grid,.quick-add-panel .form-row,.transaction-item{grid-template-columns:1fr}.quick-add-panel .form-row{display:grid}.quick-add-panel .notes-field,.quick-add-panel .primary-button{grid-column:auto}.horizontal-bars-controls,.inline-edit-actions,.toolbar-actions,.topbar-controls,.transaction-actions{justify-content:flex-start;justify-items:flex-start;text-align:left}.horizontal-bars-controls,.segmented-control{width:100%}.segmented-control button{flex:1 1}.transaction-table-wrap{padding-bottom:4px}.horizontal-bars-list{overflow-x:visible;white-space:normal}.horizontal-bar-row{grid-template-columns:1fr;gap:9px;min-width:0}.horizontal-bar-fill{min-height:0;padding:0}.horizontal-bar-percent{min-width:auto;font-size:.86rem}.transaction-table td,.transaction-table th{padding:8px 3px}.transaction-table:not(.category-table) td:first-child,.transaction-table:not(.category-table) th:first-child{padding-left:4px}.transaction-table:not(.category-table) td:last-child,.transaction-table:not(.category-table) th:last-child{padding-right:4px}}@media (max-width:700px){.account-layout{grid-template-columns:minmax(0,min(100%,420px))}}@media (max-width:560px){.paywall-shell{align-content:start;gap:24px;padding:32px 16px}.paywall-shell:after{margin:10px}.paywall-brand{margin-bottom:22px}.paywall-hero h1{font-size:2.18rem}.paywall-plan{min-height:0;padding:20px}.paywall-plan-heading{display:grid;grid-gap:10px;gap:10px;margin-bottom:24px}.paywall-plan-heading strong{width:-moz-fit-content;width:fit-content}.paywall-toast{right:16px;bottom:16px;max-width:calc(100vw - 32px)}.finance-shell,.finance-shell.is-collapsed,.glass-panel,.kpi-card{padding:12px}.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}