@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-primary:#080810;--bg-secondary:#0e0e1a;--bg-card:#12121f;--bg-card-hover:#1a1a2e;--border:#ffffff0f;--border-bright:#ffffff1f;--text-primary:#f0f0ff;--text-secondary:#88a;--text-muted:#557;--violet:#7c3aed;--violet-light:#8b5cf6;--violet-glow:#7c3aed4d;--emerald:#10b981;--emerald-glow:#10b98140;--rose:#f43f5e;--rose-glow:#f43f5e40;--amber:#f59e0b;--amber-glow:#f59e0b40;--blue:#3b82f6;--cyan:#06b6d4}:root[data-theme=light]{--bg-primary:#faf7f4;--bg-secondary:#f2ede8;--bg-card:#fff;--bg-card-hover:#fdf9f6;--border:#7850281a;--border-bright:#78502833;--text-primary:#1a1128;--text-secondary:#4a3f5c;--text-muted:#8e82a2;--violet:#6d28d9;--violet-light:#7c3aed;--violet-glow:#6d28d92e;--emerald:#047857;--emerald-glow:#04785726;--rose:#be123c;--rose-glow:#be123c26;--amber:#b45309;--amber-glow:#b4530926;--blue:#1d4ed8;--cyan:#0e7490}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#7c3aed66;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--violet)}.glass-card{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;transition:border-color .2s,transform .2s,box-shadow .2s}.glass-card:hover{border-color:var(--border-bright)}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#8b5cf6 0%,#06b6d4 100%);-webkit-background-clip:text;background-clip:text}.glow-violet{box-shadow:0 0 30px var(--violet-glow)}.glow-emerald{box-shadow:0 0 30px var(--emerald-glow)}.glow-rose{box-shadow:0 0 30px var(--rose-glow)}.gradient-border{border-radius:16px;position:relative}.gradient-border:before{content:"";background:linear-gradient(135deg, var(--violet), var(--cyan), var(--emerald));z-index:-1;opacity:0;border-radius:17px;transition:opacity .3s;position:absolute;inset:-1px}.gradient-border:hover:before{opacity:.6}.recharts-tooltip-wrapper .custom-tooltip{border-radius:12px;padding:10px 14px;font-family:Inter,sans-serif;background:var(--bg-card)!important;border:1px solid var(--border-bright)!important}.input-dark{border:1px solid var(--border);color:var(--text-primary);background:#ffffff0a;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.input-dark:focus{border-color:var(--violet-light);box-shadow:0 0 0 3px var(--violet-glow)}.input-dark::placeholder{color:var(--text-muted)}.input-dark option{background-color:var(--bg-card);color:var(--text-primary)}.category-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--violet) 0%, #5b21b6 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{opacity:.9;box-shadow:0 8px 25px var(--violet-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--border-bright);color:var(--text-primary);background:#ffffff0d}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid #ffffff08;padding:14px 16px;font-size:14px;transition:background .15s}.data-table tr:hover td{background:#ffffff05}.nav-link{color:var(--text-secondary);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{color:var(--text-primary);background:#ffffff0d}.nav-link.active{color:#a78bfa;background:#7c3aed26;border:1px solid #7c3aed33}.stat-card{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0000001a}.stat-card:hover{border-color:var(--border-bright);transform:translateY(-4px);box-shadow:0 12px 30px -5px #00000026}.stat-card:after{content:"";filter:blur(40px);opacity:.35;pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-20px;right:-20px}.stat-card.income:after{background:var(--emerald)}.stat-card.expense:after{background:var(--rose)}.stat-card.savings:after{background:var(--violet)}.stat-card.neutral:after{background:var(--cyan)}.stat-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}.progress-bar{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width 1s ease-out}.heatmap-cell{cursor:pointer;border-radius:3px;width:14px;height:14px;transition:transform .15s}.heatmap-cell:hover{transform:scale(1.3)}.fab{background:linear-gradient(135deg, var(--violet) 0%, var(--cyan) 100%);cursor:pointer;width:56px;height:56px;box-shadow:0 8px 30px var(--violet-glow);z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:28px;right:28px}.fab:hover{box-shadow:0 12px 40px var(--violet-glow);transform:scale(1.1)rotate(45deg)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:8px;animation:1.5s infinite shimmer}@keyframes ring-fill{0%{stroke-dashoffset:440px}}.health-ring{animation:1.5s cubic-bezier(.34,1.56,.64,1) forwards ring-fill}.page-enter{animation:.3s ease-out pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notification-dot{background:var(--rose);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;position:absolute;top:-2px;right:-2px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}.insight-card{background:linear-gradient(135deg,#7c3aed1a 0%,#06b6d40d 100%);border:1px solid #7c3aed33;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6}.chat-bubble{border-radius:16px;max-width:75%;padding:12px 16px;font-size:14px;line-height:1.6}.chat-bubble.user{background:linear-gradient(135deg, var(--violet) 0%, #5b21b6 100%);color:#fff;border-radius:16px 16px 4px;margin-left:auto}.chat-bubble.ai{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:16px 16px 16px 4px}.mobile-overlay,.mobile-menu-btn{display:none}@media (max-width:1024px){.grid-cols-4-responsive,.grid-cols-3-responsive{grid-template-columns:repeat(2,1fr)!important}.grid-cols-2-responsive{grid-template-columns:1fr!important}.flex-col-tablet{flex-direction:column!important;align-items:stretch!important}}@media (max-width:768px){.mobile-overlay{display:block}.mobile-menu-btn{display:flex!important}.sidebar{z-index:50;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(-100%);position:fixed!important}.sidebar.open{transform:translate(0)}.grid-cols-4-responsive,.grid-cols-3-responsive,.grid-cols-2-responsive{grid-template-columns:1fr!important}.flex-col-mobile{flex-direction:column!important;align-items:stretch!important}.overflow-x-auto-mobile{-webkit-overflow-scrolling:touch;padding-bottom:8px;overflow-x:auto}.fab{bottom:20px;right:20px}.pagination-bar{flex-wrap:wrap;gap:6px!important;padding:12px!important;left:0!important}.hidden-mobile{display:none!important}main{padding:16px!important}}.upload-zone{border:2px dashed var(--border-bright);text-align:center;cursor:pointer;border-radius:16px;padding:40px;transition:all .2s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--violet-light);background:#7c3aed0d}.score-excellent{color:#22c55e}.score-good{color:#84cc16}.score-average{color:#f59e0b}.score-poor{color:#ef4444}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}:root[data-theme=light] .glass-card{background:#fff;border:1px solid #7850281a;box-shadow:0 2px 16px #1a11280f,0 1px 4px #1a11280a}:root[data-theme=light] .glass-card:hover{border-color:#6d28d940;box-shadow:0 6px 24px #6d28d91a,0 2px 8px #1a11280f}:root[data-theme=light] .input-dark{color:#1a1128;background:#faf7f4;border:1px solid #78502826}:root[data-theme=light] .input-dark:focus{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #6d28d91f}:root[data-theme=light] .input-dark::placeholder{color:#8e82a2}:root[data-theme=light] .input-dark option{color:#1a1128;background:#fff}:root[data-theme=light] .btn-ghost{color:#4a3f5c;background:#6d28d90a;border:1px solid #7850281f}:root[data-theme=light] .btn-ghost:hover{color:#6d28d9;background:#6d28d914;border-color:#6d28d94d}:root[data-theme=light] .nav-link{color:#4a3f5c}:root[data-theme=light] .nav-link:hover{color:#1a1128;background:#6d28d912}:root[data-theme=light] .nav-link.active{color:#6d28d9;background:#6d28d91f;border:1px solid #6d28d933}:root[data-theme=light] .skeleton{background:linear-gradient(90deg,#f2ede8 25%,#ede6df 50%,#f2ede8 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}:root[data-theme=light] .progress-bar{background:#78502814}:root[data-theme=light] .stat-card{background:#fff;border:1px solid #7850281a;box-shadow:0 4px 20px #1a112812}:root[data-theme=light] .stat-card:hover{border-color:#6d28d933;box-shadow:0 8px 30px #6d28d91f}:root[data-theme=light] .data-table td{border-bottom-color:#7850280f}:root[data-theme=light] .data-table tr:hover td{background:#6d28d908}:root[data-theme=light] .data-table th{border-bottom-color:#7850281a}:root[data-theme=light] .insight-card{background:linear-gradient(135deg,#6d28d90f,#0e74900a);border:1px solid #6d28d926}:root[data-theme=light] .chat-bubble.ai{background:#f2ede8;border:1px solid #7850281a}:root[data-theme=light] .upload-zone{background:#faf7f4cc;border-color:#78502833}:root[data-theme=light] .upload-zone:hover,:root[data-theme=light] .upload-zone.drag-over{background:#6d28d90a;border-color:#7c3aed}:root[data-theme=light] ::-webkit-scrollbar-track{background:#f2ede8}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#6d28d94d}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#6d28d9}:root[data-theme=light] main [style*="rgba(255,255,255,0.02)"]{background:#fff!important;border-color:#7850281a!important;box-shadow:0 2px 12px #1a11280f!important}:root[data-theme=light] main [style*="rgba(124,58,237,0.15)"],:root[data-theme=light] main [style*="rgba(124,58,237,0.2)"],:root[data-theme=light] main [style*="rgba(124,58,237,0.25)"]{background:linear-gradient(135deg,#6d28d914 0%,#0e74900d 100%)!important;border-color:#6d28d92e!important}:root[data-theme=light] table tr{border-bottom-color:#7850280f!important}:root[data-theme=light] table tr:hover{background:#6d28d908!important}:root[data-theme=light] main{color:var(--text-primary)}:root[data-theme=light] main [style*="rgba(255,255,255,0.04)"]{background:#f2ede8!important;border-color:#78502826!important}:root[data-theme=light] main [style*="rgba(255,255,255,0.06)"]{background:#ede6df!important;border-color:#78502826!important}:root[data-theme=light] main [style*="rgba(34,197,94,0.15)"]{background:linear-gradient(135deg,#04785714,#04785708)!important;border-color:#04785733!important}:root[data-theme=light] main [style*="rgba(239,68,68,0.15)"]{background:linear-gradient(135deg,#be123c14,#be123c08)!important;border-color:#be123c33!important}:root[data-theme=light] main [style*="rgba(124,58,237,0.15)"]{background:linear-gradient(135deg,#6d28d914,#6d28d908)!important;border-color:#6d28d933!important}:root[data-theme=light] main [style*="rgba(6,182,212,0.15)"]{background:linear-gradient(135deg,#0e749014,#0e749008)!important;border-color:#0e749033!important}:root[data-theme=light] main [style*="rgba(34,197,94,0.15)"] *,:root[data-theme=light] main [style*="rgba(239,68,68,0.15)"] *,:root[data-theme=light] main [style*="rgba(124,58,237,0.15)"] *,:root[data-theme=light] main [style*="rgba(6,182,212,0.15)"] *{color:var(--text-primary)!important}:root[data-theme=light] main [style*="rgba(255,255,255,0.02)"][style*="border-radius: 16px"],:root[data-theme=light] main [style*="rgba(255,255,255,0.02)"][style*="borderRadius: '16px'"]{background:#fdfaf7!important}:root[data-theme=light] main [style*="rgba(124,58,237,0.12)"]{background:linear-gradient(160deg,#6d28d90f,#0e749008)!important;border-color:#6d28d926!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
