*,: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:Manrope,Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.flex{display:flex}.table{display:table}.grid{display:grid}.h-12{height:3rem}.h-9{height:2.25rem}.h-\[280px\]{height:280px}.h-\[46px\]{height:46px}.min-h-screen{min-height:100vh}.w-3\/4{width:75%}.w-full{width:100%}.max-w-\[1400px\]{max-width:1400px}.max-w-xs{max-width:20rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .6s ease-out both}.animate-fade-in-down{animation:fadeInDown .6s ease-out both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.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))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-5{padding:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.font-sans{font-family:Manrope,Inter,system-ui,sans-serif}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.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)}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--color-light-bg:#edf2f7;--color-light-surface:hsla(0,0%,100%,.54);--color-light-card:linear-gradient(160deg,hsla(0,0%,100%,.74),hsla(0,0%,100%,.5));--color-light-border:hsla(0,0%,100%,.66);--color-light-text:#152235;--color-light-muted:#61748f;--color-dark-bg:#162134;--color-dark-surface:rgba(30,41,59,.5);--color-dark-card:linear-gradient(165deg,rgba(47,64,92,.44),rgba(27,40,62,.3));--color-dark-border:rgba(176,196,222,.24);--color-dark-text:#d7e1ef;--color-dark-muted:#9db0c8;--accent:#3f6ae8;--accent-secondary:#2fb7a2;--accent-gradient:linear-gradient(135deg,#3f6ae8,#2fb7a2);--success:#16a34a;--danger:#dc2626;--warning:#d97706;--input-light-bg:hsla(0,0%,100%,.64);--input-dark-bg:rgba(24,36,58,.52);--input-light-border:hsla(0,0%,100%,.76);--input-dark-border:rgba(176,196,222,.24);--ring-light:rgba(63,106,232,.2);--ring-dark:rgba(63,106,232,.28);--modal-light-bg:linear-gradient(160deg,hsla(0,0%,100%,.84),hsla(0,0%,100%,.66));--modal-dark-bg:linear-gradient(165deg,rgba(31,46,70,.72),rgba(19,31,50,.58));color-scheme:light}[data-theme=dark]{color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-light-bg);background-image:radial-gradient(at 10% 14%,rgba(63,106,232,.18) 0,transparent 44%),radial-gradient(at 88% 8%,rgba(47,183,162,.16) 0,transparent 42%),radial-gradient(at 50% 100%,hsla(0,0%,100%,.65) 0,transparent 48%),linear-gradient(180deg,hsla(0,0%,100%,.36),rgba(237,242,247,.75));color:var(--color-light-text);min-height:100vh;padding:0;overflow-x:hidden;transition:background .4s ease,color .4s ease}[data-theme=dark] body{background:var(--color-dark-bg);background-image:radial-gradient(at 18% 20%,rgba(63,106,232,.16) 0,transparent 46%),radial-gradient(at 82% 70%,rgba(47,183,162,.12) 0,transparent 44%),radial-gradient(at 50% 46%,rgba(200,220,245,.05) 0,transparent 54%),linear-gradient(180deg,hsla(0,0%,100%,.02),rgba(18,26,42,.86));color:var(--color-dark-text)}.glass-card{background:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:20px;padding:24px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72),0 10px 30px rgba(17,30,52,.1);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);transition:all .35s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .glass-card{background:var(--color-dark-card);border-color:var(--color-dark-border);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 10px 24px rgba(7,11,20,.26)}.glass-card:hover{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.76),0 16px 34px rgba(17,30,52,.14);transform:translateY(-1px)}[data-theme=dark] .glass-card:hover{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 14px 30px rgba(4,8,16,.32)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-light-border);border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15)}::-webkit-scrollbar-thumb:hover{background:var(--color-light-muted)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}.glass-input{background:var(--input-light-bg);border:1px solid var(--input-light-border);border-radius:10px;padding:12px 15px;color:var(--color-light-text);font-family:Inter,sans-serif;font-size:.95rem;transition:all .3s ease;outline:none;width:100%}[data-theme=dark] .glass-input{color:var(--color-dark-text)}.glass-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring-light)}[data-theme=dark] .glass-input:focus{background:rgba(24,36,58,.68);box-shadow:0 0 0 3px var(--ring-dark)}.glass-input::-moz-placeholder{color:var(--color-light-muted)}.glass-input::placeholder{color:var(--color-light-muted)}[data-theme=dark] .glass-input::-moz-placeholder{color:hsla(0,0%,100%,.35)}[data-theme=dark] .glass-input::placeholder{color:hsla(0,0%,100%,.35)}.btn-primary{background:var(--accent-gradient);color:#fff;font-weight:600;border:none;border-radius:12px;padding:12px 28px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(63,106,232,.32);white-space:nowrap;display:flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(63,106,232,.4)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-light-card);color:var(--color-light-text);border:1px solid var(--color-light-border);border-radius:12px;padding:12px 28px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px}[data-theme=dark] .btn-secondary{background:var(--color-dark-card);color:var(--color-dark-text);border-color:var(--color-dark-border)}.btn-secondary:hover{background:hsla(0,0%,100%,.76);transform:translateY(-2px)}[data-theme=dark] .btn-secondary:hover{background:rgba(44,59,83,.46);transform:translateY(-2px)}.btn-small{padding:8px 14px;font-size:.82rem;border-radius:10px;gap:6px}.btn-small.active{background:var(--accent-gradient);color:#fff;border-color:transparent}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;font-weight:600;border:none;border-radius:10px;padding:10px 20px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.35)}.toast{position:fixed;bottom:20px;right:20px;padding:14px 24px;border-radius:8px;font-weight:500;z-index:1000;animation:fadeInUp .3s ease-out}.toast-success{background:rgba(52,199,89,.92)}.toast-error,.toast-success{color:#fff;backdrop-filter:blur(12px)}.toast-error{background:rgba(255,59,48,.92)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center}.skeleton{background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.06) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}[data-theme=dark] .skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.06) 25%,hsla(0,0%,100%,.12) 50%,hsla(0,0%,100%,.06) 75%)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .3s ease-out}.animate-fade-in-down{animation:fadeInDown .3s ease-out}.animate-fade-in-up{animation:fadeInUp .3s ease-out}.recharts-tooltip-wrapper{outline:none!important}.custom-tooltip{background:rgba(23,34,54,.7)!important;border:1px solid rgba(176,196,222,.3)!important;border-radius:8px!important;padding:12px 16px!important;box-shadow:0 10px 24px rgba(0,0,0,.24)!important;backdrop-filter:blur(18px) saturate(140%);color:#d7e1ef!important}.header{text-align:left;margin-bottom:28px;animation:fadeInDown .6s ease-out}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-right{display:flex;align-items:center;gap:1rem}.header-title{font-size:clamp(2rem,4vw,2.8rem);font-weight:700;margin-bottom:6px;color:var(--color-light-text)}[data-theme=dark] .header-title{background:linear-gradient(135deg,#5b86ff,#2de1b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:saturate(1.2) brightness(1.08)}.header-subtitle{color:var(--color-light-muted);font-size:1rem;max-width:620px}[data-theme=dark] .header-subtitle{color:var(--color-dark-muted)}.theme-toggle{padding:10px 16px;border-radius:999px;border:1px solid var(--color-light-border);background:var(--color-light-card);color:var(--color-light-text);font-weight:600;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:all .25s ease}[data-theme=dark] .theme-toggle{border-color:var(--color-dark-border);background:var(--color-dark-card);color:var(--color-dark-text)}.theme-toggle:hover{transform:translateY(-1px);background:var(--color-light-surface)}[data-theme=dark] .theme-toggle:hover{background:rgba(18,28,45,.92)}.filters{margin-bottom:2rem}.filter-title{font-size:1.3rem;font-weight:600;margin-bottom:14px;color:var(--color-light-text)}[data-theme=dark] .filter-title{color:var(--color-dark-text)}.filter-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end;gap:12px;margin-bottom:0;min-width:0}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:0}.filter-group .glass-input,.filter-group input,.filter-group select{width:100%;max-width:100%;min-width:0}.filter-group select{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;height:46px;cursor:pointer}.filter-label{font-size:.9rem;font-weight:500;color:var(--color-light-muted)}[data-theme=dark] .filter-label{color:var(--color-dark-muted)}.filter-buttons{display:flex;align-items:stretch;gap:8px;flex-wrap:nowrap;margin:0;width:auto}.filters .filter-buttons .btn-primary,.filters .filter-buttons .btn-secondary{height:48px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;line-height:1}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{padding:25px;position:relative;overflow:hidden;transition:all .3s ease;animation:fadeInUp .6s ease-out both}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity .3s ease}.summary-card:hover{transform:translateY(-3px)}.summary-card:hover:before{opacity:1}.summary-card:first-child:before{background:linear-gradient(135deg,#16a34a,#22c55e)}.summary-card:nth-child(2):before{background:linear-gradient(135deg,#3f6ae8,#5b7df0)}.summary-card:nth-child(3):before{background:linear-gradient(135deg,#2fb7a2,#38c8b0)}.summary-card:nth-child(4):before{background:linear-gradient(135deg,#dc2626,#d97706)}.summary-card:first-child{animation-delay:.1s}.summary-card:nth-child(2){animation-delay:.2s}.summary-card:nth-child(3){animation-delay:.3s}.summary-card:nth-child(4){animation-delay:.4s}.card-label{color:var(--color-light-muted);font-size:.9rem;font-weight:500;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .card-label{color:var(--color-dark-muted)}.card-value{font-size:2.2rem;font-weight:700;margin-bottom:5px}.card-value.positive{color:#00db86}.card-value.negative{color:#ff5252}[data-theme=dark] .card-value.negative{color:#ff7a7a}[data-theme=dark] .card-value.positive{color:#4af4ae}.card-subtitle{font-size:.85rem;color:var(--color-light-muted)}[data-theme=dark] .card-subtitle{color:var(--color-dark-muted)}.charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px}.table-card{overflow-x:auto;border:1px solid var(--color-light-border);border-radius:16px;background:linear-gradient(165deg,hsla(0,0%,100%,.78),hsla(0,0%,100%,.52));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 10px 24px rgba(22,38,62,.08)}[data-theme=dark] .table-card{border-color:var(--color-dark-border);background:linear-gradient(165deg,rgba(60,76,102,.32),rgba(29,42,64,.22));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.transactions-toolbar{margin-bottom:1.5rem;flex-wrap:wrap}.instant-filters,.transactions-toolbar{display:flex;gap:.5rem}.transactions-table{width:100%;font-size:.875rem;border-collapse:collapse}.transactions-table thead{border-bottom:1px solid hsla(0,0%,100%,.7);background:linear-gradient(180deg,hsla(0,0%,100%,.84),hsla(0,0%,100%,.58))}[data-theme=dark] .transactions-table thead{border-bottom-color:var(--color-dark-border);background:linear-gradient(180deg,rgba(184,205,232,.12),rgba(184,205,232,.06))}.transactions-table th{padding:15px;text-align:left;font-weight:600;font-size:.9rem;color:var(--color-light-muted);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;white-space:nowrap;transition:all .25s ease}.sort-icon{margin-left:6px;font-size:.82rem}.sort-icon-idle{color:rgba(97,116,143,.62)}.sort-icon-active{color:var(--accent)}[data-theme=dark] .sort-icon-idle{color:rgba(157,176,200,.68)}[data-theme=dark] .sort-icon-active{color:#9db6ff}[data-theme=dark] .transactions-table th{color:var(--color-dark-muted)}.transactions-table th:hover{color:var(--color-light-text);background:rgba(15,23,42,.06)}[data-theme=dark] .transactions-table th:hover{color:var(--color-dark-text);background:hsla(0,0%,100%,.08)}.transactions-table td{padding:15px;font-size:.95rem;color:var(--color-light-text);border-bottom:1px solid hsla(0,0%,100%,.56)}.transactions-table tbody tr:nth-child(2n){background:hsla(0,0%,100%,.34)}[data-theme=dark] .transactions-table tbody tr:nth-child(2n){background:rgba(176,196,222,.04)}[data-theme=dark] .transactions-table td{color:var(--color-dark-text)}.transactions-table tbody tr:hover{background:hsla(0,0%,100%,.58)}[data-theme=dark] .transactions-table tbody tr:hover{background:hsla(0,0%,100%,.05)}.transaction-type{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.transaction-type.income{background:rgba(47,200,132,.24);color:#169663}.transaction-type.expense{background:rgba(255,93,93,.24);color:#df4a4a}.amount-positive{color:#169663;font-weight:600}.amount-negative{color:#e84b4b;font-weight:600}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-light-border);color:var(--color-light-muted);font-size:.875rem}[data-theme=dark] .pagination{border-top-color:var(--color-dark-border);color:var(--color-dark-muted)}.pagination-controls{display:flex;gap:.5rem}.pagination-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--color-light-border);background:var(--color-light-card);color:var(--color-light-text);cursor:pointer;font-weight:500;transition:all .3s ease}[data-theme=dark] .pagination-btn{border-color:var(--color-dark-border);background:var(--color-dark-card);color:var(--color-dark-text)}.pagination-btn:hover:not(:disabled){background:var(--color-light-muted);color:#fff}[data-theme=dark] .pagination-btn:hover:not(:disabled){background:hsla(0,0%,100%,.12)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.budget-card{display:flex;flex-direction:column}.budget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.budget-title{font-size:.95rem;font-weight:600}.budget-list-compact{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:8px;scrollbar-gutter:stable}.budget-list-compact::-webkit-scrollbar{width:8px}.budget-list-compact::-webkit-scrollbar-thumb{background:rgba(128,149,176,.34);border-radius:999px}[data-theme=dark] .budget-list-compact::-webkit-scrollbar-thumb{background:rgba(176,196,222,.28)}.budget-item{padding:10px 12px;border-radius:12px;background:linear-gradient(165deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.42));border:1px solid hsla(0,0%,100%,.68);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.65)}[data-theme=dark] .budget-item{background:linear-gradient(165deg,rgba(65,84,113,.32),rgba(35,49,74,.24));border-color:rgba(176,196,222,.28);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.budget-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.budget-item-category{font-size:.85rem;font-weight:600}.budget-item-percentage{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;border:1px solid transparent;line-height:1.2}.budget-item-percentage.safe{background:rgba(109,193,154,.2);color:#225d43;border-color:rgba(109,193,154,.44)}.budget-item-percentage.warning{background:rgba(219,171,96,.22);color:#75511f;border-color:rgba(219,171,96,.4)}.budget-item-percentage.exceeded{background:hsla(0,39%,65%,.22);color:#7b3f3f;border-color:hsla(0,39%,65%,.4)}[data-theme=dark] .budget-item-percentage.safe{background:rgba(109,193,154,.2);color:#9de3c2;border-color:rgba(109,193,154,.42)}[data-theme=dark] .budget-item-percentage.warning{background:rgba(219,171,96,.22);color:#f3cf99;border-color:rgba(219,171,96,.4)}[data-theme=dark] .budget-item-percentage.exceeded{background:hsla(0,39%,65%,.22);color:#efb0b0;border-color:hsla(0,39%,65%,.38)}.budget-progress-bar{width:100%;height:10px;border-radius:999px;background:rgba(40,56,84,.14);overflow:hidden;margin-bottom:6px}[data-theme=dark] .budget-progress-bar{background:rgba(176,196,222,.16)}.budget-progress-fill{height:100%;border-radius:999px;transition:width .25s ease}.budget-progress-fill.safe{background:linear-gradient(90deg,#49b583,#61ce9d)}.budget-progress-fill.warning{background:linear-gradient(90deg,#c68b38,#e0ab55)}.budget-progress-fill.exceeded{background:linear-gradient(90deg,#c86a6a,#de7f7f)}.budget-item-values{display:flex;justify-content:space-between;font-size:.78rem;color:var(--color-light-muted)}[data-theme=dark] .budget-item-values{color:var(--color-dark-muted)}.gate-card{width:100%;max-width:420px;padding:2rem;border-radius:16px;display:flex;flex-direction:column;gap:1.5rem}.gate-card h1{font-size:1.5rem;font-weight:700;color:var(--color-light-text);margin-bottom:.5rem}[data-theme=dark] .gate-card h1{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.gate-card p{font-size:.9rem;color:var(--color-light-muted)}[data-theme=dark] .gate-card p{color:var(--color-dark-muted)}[data-theme=dark] .glass-input{background:var(--input-dark-bg);border-color:var(--input-dark-border)}[data-theme=dark] .filter-group select option{background:var(--color-dark-surface);color:var(--color-dark-text)}[data-theme=dark] .transaction-type.income{background:rgba(83,238,166,.24);color:#7cf3bb}[data-theme=dark] .transaction-type.expense{background:rgba(255,93,93,.28);color:#ff8a8a}[data-theme=dark] .transactions-table thead{background:rgba(176,196,222,.08)}[data-theme=dark] .transactions-table td{border-bottom-color:hsla(0,0%,100%,.05)}[data-theme=dark] .transactions-table tbody tr:hover{background:rgba(176,196,222,.08)}[data-theme=dark] .modal-backdrop{background:rgba(10,15,26,.42)}.filter-group select option{background:#fff;color:var(--color-light-text)}.chart-title{font-size:1.05rem;font-weight:600;margin-bottom:16px;display:flex;justify-content:flex-start;align-items:center;gap:10px}.chart-title-icon{width:18px;height:18px;display:inline-flex;color:var(--color-light-muted)}.chart-title-icon svg{width:100%;height:100%}[data-theme=dark] .chart-title-icon{color:var(--color-dark-muted)}.active-filters-bar{display:flex;align-items:center;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap}.active-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,rgba(63,106,232,.18),rgba(47,183,162,.18));color:var(--accent);border:1px solid rgba(63,106,232,.32)}[data-theme=dark] .active-filter-chip{background:linear-gradient(135deg,rgba(89,124,232,.26),rgba(67,191,172,.22));color:#b3c7f7;border-color:rgba(136,165,234,.44)}.active-filter-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;transition:opacity .2s}.active-filter-chip button:hover{opacity:1}.active-filter-clear{background:none;border:none;color:var(--color-light-muted);cursor:pointer;font-size:.8rem;font-weight:500;text-decoration:underline;transition:color .2s}.active-filter-clear:hover{color:#f87171}.modal-card{width:min(820px,100%);max-height:86vh;overflow:auto;background:var(--modal-light-bg);border:1px solid var(--color-light-border);border-radius:18px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.74),0 24px 56px rgba(17,30,52,.18);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);padding:20px}[data-theme=dark] .modal-card{background:var(--modal-dark-bg);border-color:var(--color-dark-border);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 24px 56px rgba(4,8,16,.45)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.modal-header h3{font-size:1.15rem;font-weight:700}.budget-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:14px}.budget-form-group{display:flex;flex-direction:column;gap:6px}.budget-form-group label{font-size:.8rem;color:var(--color-light-muted);font-weight:600}[data-theme=dark] .budget-form-group label{color:var(--color-dark-muted)}.budget-form-group input,.budget-form-group select{height:42px;border-radius:10px;border:1px solid var(--input-light-border);background:var(--input-light-bg);color:var(--color-light-text);padding:0 12px;font-size:.88rem;font-family:Inter,sans-serif;outline:none;transition:all .2s;width:100%;max-width:100%;min-width:0}[data-theme=dark] .budget-form-group input,[data-theme=dark] .budget-form-group select{background:var(--input-dark-bg);border-color:var(--input-dark-border);color:var(--color-dark-text)}.budget-form-group input:focus,.budget-form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring-light)}.budget-form-actions{display:flex;gap:8px;align-items:stretch}.budget-form-actions .btn-primary,.budget-form-actions .btn-secondary{height:42px;padding:0 14px;font-size:.84rem}.budget-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.budget-item-head-left{display:flex;align-items:center;gap:8px;min-width:0}.budget-item-title{font-weight:700;font-size:.88rem}.budget-item-actions{display:flex;gap:6px}.budget-item-actions .btn-small{height:26px;padding:0 8px;font-size:.72rem;min-width:0}.budget-list{display:grid;gap:8px;padding-right:8px}.budget-empty{color:var(--color-light-muted);padding:8px 2px;font-size:.82rem}[data-theme=dark] .budget-empty{color:var(--color-dark-muted)}.tx-type-toggle{display:flex;gap:0;margin-bottom:16px;background:hsla(0,0%,100%,.34);border-radius:12px;padding:4px}[data-theme=dark] .tx-type-toggle{background:rgba(176,196,222,.12)}.tx-type-btn{flex:1;padding:10px;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;background:transparent;color:var(--color-light-muted);transition:all .2s;font-family:Inter,sans-serif}[data-theme=dark] .tx-type-btn{color:var(--color-dark-muted)}.tx-type-btn.active.expense{background:hsla(0,91%,71%,.15);color:#f87171}.tx-type-btn.active.income{background:rgba(68,212,146,.15);color:#4ade80}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.modal-actions{display:flex;gap:10px}.modal-actions .btn-primary,.modal-actions .btn-secondary{height:44px;padding:0 20px}.theme-toggle{width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center}@media (max-width:992px){.filter-row{grid-template-columns:1fr 1fr}.filter-buttons{margin-left:0;width:100%}}@media (max-width:768px){.header-top{flex-direction:column;align-items:flex-start;gap:1rem}.filter-row{grid-template-columns:1fr}.filters{overflow:hidden}.charts-grid,.summary-cards{grid-template-columns:1fr}.transactions-table{font-size:.85rem}.transactions-table td,.transactions-table th{padding:10px}.modal-card{width:calc(100vw - 24px);max-height:88vh;padding:14px;box-sizing:border-box}.budget-form{grid-template-columns:1fr;gap:8px}.budget-form-actions{width:100%}.budget-form-actions .btn-primary,.budget-form-actions .btn-secondary{flex:1;justify-content:center}.modal-form-grid{grid-template-columns:1fr}}@media (max-width:480px){.pagination{flex-direction:column;gap:.75rem;align-items:flex-start}}:root{--glass-specular-light:hsla(0,0%,100%,.78);--glass-specular-dark:rgba(232,242,255,.14);--glass-shadow-light:0 20px 44px rgba(22,39,66,.12);--glass-shadow-dark:0 20px 44px rgba(4,9,18,.34)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,hsla(0,0%,100%,.32),transparent 42%),radial-gradient(80% 56% at 18% 8%,hsla(0,0%,100%,.34) 0,transparent 64%);z-index:-1}[data-theme=dark] body:before{background:linear-gradient(120deg,rgba(198,218,245,.08),transparent 46%),radial-gradient(80% 56% at 18% 8%,rgba(188,214,245,.08) 0,transparent 64%)}.btn-secondary,.budget-item,.glass-card,.glass-input,.modal-card,.table-card,.theme-toggle{backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%)}.glass-card{position:relative;isolation:isolate;border:1px solid hsla(0,0%,100%,.74);box-shadow:inset 0 1px 0 var(--glass-specular-light),inset 0 -1px 0 hsla(0,0%,100%,.38),var(--glass-shadow-light)}.glass-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(165deg,hsla(0,0%,100%,.18),transparent 42%);mix-blend-mode:screen}[data-theme=dark] .glass-card{border-color:rgba(177,201,230,.28);box-shadow:inset 0 1px 0 var(--glass-specular-dark),inset 0 -1px 0 rgba(177,201,230,.06),var(--glass-shadow-dark)}[data-theme=dark] .glass-card:after{background:linear-gradient(165deg,rgba(205,222,246,.08),transparent 46%)}.btn-secondary,.glass-input,.theme-toggle{border-color:hsla(0,0%,100%,.72);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.64)}[data-theme=dark] .btn-secondary,[data-theme=dark] .glass-input,[data-theme=dark] .theme-toggle{border-color:rgba(177,201,230,.26);box-shadow:inset 0 1px 0 rgba(205,222,246,.12)}.btn-primary{position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.42)}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,0) 45%);pointer-events:none}.table-card{position:relative;border:1px solid hsla(0,0%,100%,.76);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),var(--glass-shadow-light)}[data-theme=dark] .table-card{border-color:rgba(177,201,230,.3);box-shadow:inset 0 1px 0 rgba(205,222,246,.12),var(--glass-shadow-dark)}.transactions-table thead{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.transactions-table tbody tr{transition:background .22s ease,transform .22s ease}.transactions-table tbody tr:hover{transform:translateY(-.5px)}.modal-card{position:relative;border:1px solid hsla(0,0%,100%,.78);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.74),0 30px 70px rgba(18,30,52,.22)}[data-theme=dark] .modal-card{border-color:rgba(177,201,230,.28);box-shadow:inset 0 1px 0 rgba(205,222,246,.12),0 30px 70px rgba(4,9,18,.48)}.active-filter-chip,.budget-item{border:1px solid hsla(0,0%,100%,.74);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.66)}[data-theme=dark] .active-filter-chip,[data-theme=dark] .budget-item{border-color:rgba(177,201,230,.28);box-shadow:inset 0 1px 0 rgba(205,222,246,.1)}.dashboard-footer{margin-top:34px;padding:22px 16px;text-align:center;border-radius:16px;border:1px solid hsla(0,0%,100%,.7);background:linear-gradient(160deg,hsla(0,0%,100%,.62),hsla(0,0%,100%,.42));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 10px 28px rgba(22,39,66,.08);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.dashboard-footer-main{font-size:.92rem;font-weight:600;letter-spacing:.2px;color:var(--color-light-text)}.dashboard-footer-sub{margin-top:4px;font-size:.82rem;color:var(--color-light-muted)}[data-theme=dark] .dashboard-footer{border-color:rgba(177,201,230,.26);background:linear-gradient(165deg,rgba(60,77,106,.34),rgba(34,48,73,.24));box-shadow:inset 0 1px 0 rgba(205,222,246,.12),0 10px 28px rgba(4,9,18,.24)}[data-theme=dark] .dashboard-footer-main{color:var(--color-dark-text)}[data-theme=dark] .dashboard-footer-sub{color:var(--color-dark-muted)}