*,: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:rgba(59,130,246,.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:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}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}.static{position:static}.table{display:table}.hidden{display:none}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.chart-area{height:250px;max-height:320px;padding:0 18px 18px}.brand-logo{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center;border-radius:inherit}.dark .chart-area{filter:saturate(.9)}.recovery-link{text-align:right;margin:12px 0;font-size:10px}.recovery-link a{color:#6c4dff;font-weight:650}.admin-user{padding:17px 19px;border-top:1px solid #f0eff5}.admin-user-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#454359}.admin-user-heading small{display:block;color:#9998aa;margin-top:4px;font-size:9px}.admin-user-meta{gap:7px;margin:13px 0;color:#9291a5;font-size:9px}.admin-edit,.admin-user-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-edit{gap:4px 10px;align-items:end}.admin-edit label{margin:5px 0}.admin-user-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.dark .admin-user{border-color:#343244}.dark .admin-user-heading{color:#eeeefa}@media(max-width:520px){.admin-edit,.admin-user-meta{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#202036;background:#f7f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f7f7fb;color:#202036;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:256px;background:#fff;border-right:1px solid #eeedf5;padding:27px 17px 14px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:#25223d;font-size:17px;font-weight:800;letter-spacing:.4px;padding:0 10px}.brand small{display:block;font-size:8px;letter-spacing:1.3px;color:#9291a5;font-weight:650;margin-top:3px}.brand-mark{height:35px;width:35px;border-radius:12px;background:#6c4dff;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:750;box-shadow:0 6px 16px #6c4dff35}.nav-label{margin:43px 11px 12px;color:#9c9aaf;font-size:9px;font-weight:750;letter-spacing:1.2px}.nav{display:grid;gap:5px;flex:1;min-height:0;overflow-y:auto;align-content:start}.nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:9px;color:#6d6c80;font-size:13px;font-weight:560;transition:.15s}.nav a:hover{background:#f7f5ff;color:#6c4dff}.nav a.active{background:#f0edff;color:#684aff;font-weight:700}.nav-icon{width:17px;text-align:center;font-size:17px}.nav-spacer{margin-top:32px}.sidebar-bottom{margin-top:auto}.security-note{display:flex;align-items:flex-start;gap:9px;padding:12px 10px;margin-bottom:17px;border-radius:9px;background:#f8f7fc;color:#6d6c80;font-size:10px}.secure-dot{width:8px;height:8px;border-radius:50%;background:#45bf8b;margin-top:2px;box-shadow:0 0 0 3px #45bf8b20}.security-note small{display:block;color:#9998a9;margin-top:4px;font-size:9px}.user-profile{border-top:1px solid #eeeef4;padding:15px 3px 2px;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eeeaff;color:#684aff;font-size:13px;font-weight:750}.user-info{flex:1;min-width:0}.user-info b,.user-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info b{font-size:11px}.user-info small{font-size:9px;color:#9998a9;margin-top:4px}.user-profile form{margin:0}.main-area{margin-left:256px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:69px;padding:0 42px;background:#fff;border-bottom:1px solid #eeedf5;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{font-size:11px;color:#aaa9b8}.breadcrumbs span{margin:0 10px;color:#d2d0dc}.breadcrumbs b{color:#48465d;font-weight:650}.top-actions{display:flex;align-items:center;gap:18px}.date-label{font-size:11px;color:#77768b}.icon-button{border:0;background:transparent;color:#77768b;font-size:18px;cursor:pointer;border-radius:7px;padding:6px}.icon-button:hover{background:#f3f1fb;color:#6c4dff}.menu-toggle{display:none}.page-wrap{width:min(1250px,100%);margin:0 auto;padding:37px 42px 30px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{display:block;font-size:9px;color:#9997ad;font-weight:750;letter-spacing:1.15px;text-transform:uppercase}.auth-form h2,.install-card h1,.page-heading h1{font-size:27px;letter-spacing:-.7px;margin:7px 0 5px;color:#26243b}.muted,.page-heading p{color:#9291a5;font-size:12px;margin:0}.button{border:0;border-radius:8px;padding:11px 15px;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s}.button.primary{background:#6c4dff;color:#fff;box-shadow:0 5px 12px #6c4dff25}.button.primary:hover{background:#593ce5;transform:translateY(-1px)}.button.secondary{background:#f0edff;color:#6345ee}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.full{width:100%;margin-top:8px;padding:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:28px 0 33px}.metric-card{background:#fff;border:1px solid #eeedf5;border-radius:11px;padding:17px 17px 15px;min-height:126px;box-shadow:0 3px 13px #28234b05}.metric-card.featured{background:linear-gradient(130deg,#6c4dff,#795fff);border-color:transparent;color:#fff}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#88879a;font-size:10px;font-weight:600}.featured .metric-top{color:#e4ddff}.metric-icon{font-style:normal;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#f1eeff;color:#704fff;font-size:16px}.income-icon{background:#eaf9f2;color:#36a77b}.expense-icon{background:#fff1ef;color:#ec796c}.account-icon{background:#eff5ff;color:#5c83d7}.featured .metric-icon{background:#ffffff27;color:#fff}.metric-card>strong{display:block;margin:15px 0 5px;font-size:21px;letter-spacing:-.5px}.metric-card>small{font-size:9px;color:#a09fb0}.featured>small{color:#e2dcff}.section-row{background:#fff;border:1px solid #eeedf5;border-radius:11px;overflow:hidden}.panel-title,.section-heading{padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-title h2,.section-heading h2{margin:0;color:#2c2a40;font-size:13px;letter-spacing:-.1px}.panel-title p,.section-heading p{margin:5px 0 0;color:#aaa9b8;font-size:10px}.text-link{font-size:10px;color:#6c4dff;font-weight:700}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:11px 18px;color:#a4a2b3;background:#fbfbfd;border-block:1px solid #f0eff5;font-size:9px;font-weight:650}td{padding:13px 18px;border-bottom:1px solid #f3f2f7;color:#77768a;font-size:10px}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.transaction-name{color:#4b495e}.transaction-name b{font-weight:650}.transaction-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px}.dot-income{background:#41bd8c}.dot-expense{background:#f0786d}.amount{font-size:10px;font-weight:700}.positive{color:#35a97b}.negative{color:#e2746b}.empty-state{text-align:center;padding:42px 15px 38px;white-space:normal}.empty-symbol{margin:0 auto 12px;width:44px;height:44px;border-radius:14px;background:#f1eeff;color:#6c4dff;display:grid;place-items:center;font-size:22px}.empty-state>b{font-size:12px;color:#454359}.empty-state p{max-width:390px;margin:8px auto 16px;font-size:10px;color:#9998aa;line-height:1.7}.empty-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.empty-mini{padding:27px 14px;text-align:center;white-space:normal;color:#a19fb0;font-size:10px}.content-grid{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:17px;align-items:start}.panel{background:#fff;border:1px solid #eeedf5;border-radius:11px;overflow:hidden}.panel-title{padding:18px 18px 14px}.form-panel form{padding:0 18px 19px}.auth-form label,.form-panel label,.install-card label{display:block;margin:13px 0;color:#5f5d72;font-size:10px;font-weight:650}.auth-form input,.form-panel input,.form-panel select,.form-panel textarea,.install-card input{display:block;width:100%;margin-top:7px;padding:10px 11px;border:1px solid #e8e7ef;border-radius:7px;background:#fff;color:#333149;font-size:11px;outline:none}.auth-form input:focus,.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus,.install-card input:focus{border-color:#947fff;box-shadow:0 0 0 3px #6c4dff15}.form-panel textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-help{margin:0 0 12px;color:#908caa;font-size:9px}.field-help a{color:#6c4dff;font-weight:700}.recent-panel .panel-title{align-items:flex-start}.recent-panel .table-wrap{max-height:580px}.table-sub{display:block;margin-top:4px;color:#aaa9b8;font-size:9px}.inline-form{display:inline}.danger-link{border:0;background:none;color:#df7169;cursor:pointer;padding:3px}.account-list,.category-list{padding:0 18px 12px}.account-card,.category-item{display:flex;align-items:center;gap:11px;padding:12px 1px;border-bottom:1px solid #f1f0f5;color:#48465d;font-size:10px}.category-color{width:9px;height:9px;border-radius:50%;background:#6c4dff}.category-item>span:nth-child(2){flex:1}.account-card small,.category-item small{display:block;color:#aaa9b8;margin-top:4px;font-size:9px}.status-pill{padding:4px 7px;background:#eef9f3;color:#37a77b;border-radius:20px;font-size:8px}.account-card{padding:14px 1px}.account-icon-large{width:31px;height:31px;border-radius:9px;background:#f1eeff;color:#6c4dff;display:grid;place-items:center}.account-card>span:nth-child(2){flex:1}.account-card strong{font-size:10px;color:#454359}.alert{padding:11px 13px;margin:15px 0;border-radius:8px;font-size:10px;line-height:1.5}.alert.error{background:#fff0ef;color:#b4423c;border:1px solid #faddd9}.alert.success{background:#edfaf4;color:#268b61;border:1px solid #d4f3e4}.app-footer{padding:15px 42px 19px;color:#aaa9b8;font-size:9px}.app-footer span{float:right}.auth-page{min-height:100vh;background:#fff;display:grid;place-items:center}.auth-shell{width:min(1100px,100%);min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;box-shadow:0 18px 75px #30256814}.auth-art{position:relative;overflow:hidden;padding:36px 42px;background:linear-gradient(145deg,#6143f1,#795dff);color:#fff;display:flex;flex-direction:column}.auth-art .brand{color:#fff;padding:0}.auth-art .brand small{color:#d5ccff}.auth-art .brand-mark{background:#ffffff24;box-shadow:none}.art-copy{position:relative;z-index:1;margin:auto 0}.art-copy .eyebrow{color:#d5cdff}.art-copy h1{font-size:44px;line-height:1.13;letter-spacing:-1.8px;margin:14px 0}.art-copy h1 em{font-style:normal;color:#dcd4ff}.art-copy p{max-width:330px;color:#e5dfff;font-size:12px;line-height:1.8}.art-orb{position:absolute;border:1px solid #ffffff1c;border-radius:50%;width:430px;height:430px;right:-190px;top:80px}.orb-two{width:300px;height:300px;right:-120px;top:145px}.art-card{margin-left:auto;width:260px;position:relative;padding:16px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff18;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.art-card span,.art-card strong{display:block}.art-card span{font-size:9px;color:#ddd5ff}.art-card strong{font-size:12px;margin-top:8px}.mini-bars{height:47px;display:flex;gap:8px;align-items:end;margin-top:11px}.mini-bars i{width:13px;border-radius:4px 4px 1px 1px;background:#ffffffa8;height:30%}.mini-bars i:nth-child(2n){height:60%}.mini-bars i:nth-child(3n){height:86%}.mini-bars i:nth-child(4n){height:48%}.auth-foot{margin-top:auto;color:#ded8ff;font-size:9px}.auth-form-side{display:grid;place-items:center;padding:40px}.auth-form{width:min(340px,100%)}.auth-form .eyebrow{color:#6c4dff}.auth-form h2{font-size:25px;margin:10px 0 5px}.auth-form form{margin-top:27px}.auth-form label{margin:16px 0}.auth-form input{padding:12px}.auth-form .button{margin-top:9px}.tiny{font-size:9px;line-height:1.7;color:#aaa9b8}.center{text-align:center;margin-top:20px}.mobile-brand{display:none}.install{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f7f7fb}.install-card{width:min(480px,100%);background:#fff;border:1px solid #eeedf5;border-radius:15px;padding:30px;box-shadow:0 15px 55px #30256812}.install-card .brand-mark{margin-bottom:16px}.install-card h1{font-size:24px}.install-card h2{font-size:12px;margin:24px 0 7px}.install-card form{margin-top:20px}.install-card label{margin:11px 0}.install-card .tiny{margin-top:17px}.install-card .button{margin-top:12px}.dark,.dark body{background:#171622;color:#f0eff9}.dark .metric-card,.dark .panel,.dark .section-row,.dark .sidebar,.dark .topbar{background:#222130;border-color:#343244}.dark .account-card strong,.dark .brand,.dark .category-item,.dark .metric-card>strong,.dark .panel-title h2,.dark .section-heading h2,.dark .user-info b,.dark td{color:#eeeefa}.dark .topbar{border-color:#343244}.dark .nav a{color:#aaa8bf}.dark .nav a.active{background:#332c50;color:#b5a4ff}.dark .security-note,.dark th{background:#2a2939;color:#b8b6c8}.dark .account-card,.dark .category-item,.dark td{border-color:#353345}.dark .form-panel input,.dark .form-panel select,.dark .form-panel textarea{background:#292837;color:#f1effa;border-color:#414052}.dark .metric-card>small,.dark .metric-top,.dark .page-heading p{color:#aaa8bf}.dark .breadcrumbs b{color:#e2e0ee}.dark .featured{background:linear-gradient(130deg,#6045e0,#775dff)}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-wrap,.topbar{padding-inline:27px}.content-grid{grid-template-columns:minmax(230px,290px) minmax(0,1fr)}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 24px #17142a12}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-toggle{display:block;margin-right:8px}.topbar{justify-content:flex-start;height:58px;padding-inline:15px}.breadcrumbs{flex:1}.top-actions{gap:8px}.page-wrap{padding:27px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.content-grid{grid-template-columns:1fr}.form-panel{max-width:none}.app-footer{padding-inline:16px}.auth-shell{min-height:100vh;grid-template-columns:1fr;box-shadow:none}.auth-art{display:none}.auth-form-side{padding:26px;min-height:100vh}.mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:36px;color:#29263f;font-size:15px}.mobile-brand .brand-mark{width:31px;height:31px;font-size:18px}.auth-form{max-width:390px}.app-footer span{float:none;display:block;margin-top:5px}}@media(max-width:480px){.metric-grid{gap:9px;margin:19px 0 22px}.metric-card{padding:13px;min-height:112px}.metric-card>strong{font-size:17px}.metric-top{font-size:9px}.page-heading>.button{padding:10px;font-size:9px}.page-heading{gap:8px}.field-row{grid-template-columns:1fr}.panel-title,.section-heading{padding:15px}.table-wrap{margin:0}.top-actions .date-label{display:none}.install-card{padding:22px}.empty-actions{display:grid}.empty-actions .button{width:100%}}