*{box-sizing:border-box;margin:0;padding:0}:root{--primary-blue:#3b82f6;--primary-blue-dark:#2563eb;--primary-purple:#8b5cf6;--success-green:#10b981;--error-red:#ef4444;--warning-orange:#f59e0b;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000000f;--shadow-lg:0 12px 24px #0000001f,0 4px 8px #00000014;--chart-red:#dc2626;--chart-blue:#2563eb;--chart-green:#059669;--chart-purple:#7c3aed;--chart-orange:#ea580c;--chart-cyan:#0891b2;--chart-pink:#be185d;--chart-yellow:#ca8a04}[data-theme=dark]{--primary-blue:#4f6ef7;--primary-blue-dark:#3b82f6;--primary-purple:#7c5cfc;--success-green:#22c55e;--error-red:#ef4444;--warning-orange:#f59e0b;--bg-primary:#0f172a;--bg-secondary:#111827;--bg-tertiary:#1f2937;--text-primary:#e5e7eb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--border-color:#1f2937;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006,0 2px 4px #0000004d;--shadow-lg:0 12px 24px #00000080,0 4px 8px #0006}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-primary);color:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{scroll-behavior:smooth}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--text-muted)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}[data-theme-transitioning] *{transition:none!important}.logo-container{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center}.logo-icon{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.logo-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:700;letter-spacing:-.5px}.logo-text-spend{color:#1e3a8a}.logo-text-sense{color:#84cc16}.logo-container.horizontal{flex-direction:row;gap:16px}.logo-container.horizontal .logo-text{margin:0}.login-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.login-container:before{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-card{animation:slideUp .5s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);max-width:440px;padding:48px;position:relative;width:100%;z-index:1}.login-header{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;text-align:center}.login-title{color:var(--text-primary);font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-subtitle{color:var(--text-secondary);font-size:15px;font-weight:500;margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.form-label{color:#2d3748}.form-input::placeholder{color:#a0aec0}.error-message{animation:shake .3s ease-in-out;background-color:#fed7d7;border:1px solid #fc8181;color:#c53030}.submit-button:active{box-shadow:0 2px 8px #667eea66}.submit-button:focus{box-shadow:0 0 0 3px #667eea4d;outline:none}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.submit-button:disabled:hover{box-shadow:0 4px 12px #667eea66;transform:none}.register-link-container{margin-top:16px;text-align:center}.register-text{color:#718096;font-size:14px;margin:0}.register-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline;transition:color .2s ease}.register-link:hover{color:#764ba2}.register-link:focus{color:#764ba2;outline:none}.success-message{animation:slideUp .3s ease-out;background-color:#c6f6d5;border:1px solid #9ae6b4;color:#22543d}.modal-content{max-width:440px}.modal-header{border-bottom:1px solid #e2e8f0}.modal-title{color:#1a202c}.modal-close{color:#718096}.modal-close:focus,.modal-close:hover{background-color:#f7fafc;color:#2d3748}.modal-close:focus{outline:none}.modal-content .login-form{padding:32px}@media (max-width:480px){.login-card{padding:32px 24px}.login-title{font-size:28px}.modal-content{max-width:100%}.modal-header{padding:20px 24px}.modal-content .login-form{padding:24px}.modal-title{font-size:20px}}.menu-toggle{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;justify-content:center;left:20px;padding:12px;position:fixed;top:20px;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1001}.menu-toggle:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:scale(1.05)}body.menu-open .menu-toggle{opacity:0;pointer-events:none;transform:translateX(-100px)}.hamburger{display:flex;flex-direction:column;height:20px;justify-content:space-between;position:relative;width:24px}.hamburger span{background:var(--text-primary);border-radius:3px;display:block;height:3px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.hamburger.open span:first-child{transform:rotate(45deg) translate(8px,8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.menu-overlay{animation:fadeIn .3s cubic-bezier(.4,0,.2,1) forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;z-index:999}[data-theme=dark] .menu-overlay{background:#000000b3}.side-navigation{background:var(--bg-secondary);border-right:1px solid var(--border-color);box-shadow:4px 0 32px #0000001f;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;padding:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:1000}[data-theme=dark] .side-navigation{box-shadow:4px 0 32px #0006}.side-navigation.open{transform:translateX(0)}.nav-header{align-items:flex-start;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:28px 24px}.nav-brand{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.nav-brand h2{word-wrap:break-word;color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1.3;margin:0 0 8px}.nav-brand .logo-container{margin-bottom:4px}.nav-welcome{font-size:13px;font-weight:500;margin:0}.nav-close,.nav-welcome{color:var(--text-secondary)}.nav-close{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);width:32px}.nav-close:hover{background:var(--bg-primary);color:var(--text-primary)}.nav-close span{display:block;margin-top:-4px}.nav-links{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto;padding:20px 16px}.nav-link{align-items:center;background:#0000;border:none;border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:14px;padding:14px 16px;position:relative;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.nav-link:hover{background:var(--bg-primary);color:var(--text-primary);transform:translateX(4px)}.nav-link.active{background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-blue-dark) 100%);box-shadow:0 4px 12px #4f6ef74d;color:#fff;font-weight:600}.nav-link.active:before{background:#fff;border-radius:0 3px 3px 0;box-shadow:0 2px 8px #0003;content:"";height:70%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.nav-link.active .nav-icon{filter:brightness(0) invert(1)}.nav-link.active:hover{box-shadow:0 6px 16px #4f6ef766;transform:translateX(4px)}.nav-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:20px 16px}.nav-divider{background:var(--border-color);height:1px;margin-bottom:8px;opacity:.5}.nav-link.theme-toggle{background:#0000;border:1.5px solid var(--border-color);color:var(--text-secondary);margin-bottom:0}.nav-link.theme-toggle:hover{background:var(--bg-primary);border-color:var(--primary-blue);color:var(--text-primary);transform:translateX(4px)}.nav-link.theme-toggle .nav-icon{filter:none}.nav-link.theme-toggle .nav-icon svg{stroke:currentColor;fill:none;height:20px;transition:transform .3s ease;width:20px}.nav-link.theme-toggle:hover .nav-icon svg{transform:rotate(15deg)}.nav-link.logout{background:#0000;border:1.5px solid var(--border-color);color:var(--error-red);margin-top:0}.nav-link.logout:hover{background:#ef44441a;border-color:#ef444466;color:var(--error-red);transform:translateX(4px)}[data-theme=dark] .nav-link.logout:hover{background:#ef444426;border-color:#ef444480}.nav-link.logout .nav-icon{filter:none}.nav-link.logout .nav-icon svg{stroke:var(--error-red)}.nav-link.logout:hover .nav-icon svg{stroke:var(--error-red);transform:translateX(2px)}.nav-icon{align-items:center;display:flex;flex-shrink:0;font-size:20px;height:24px;justify-content:center;width:24px}.nav-icon svg{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:20px;transition:all .3s ease;width:20px}.content-wrapper{margin-left:0;transition:margin-left .3s ease}@media (min-width:769px){.menu-overlay{display:none}}@media (max-width:768px){.side-navigation{width:280px}.menu-toggle{left:16px;top:16px}.nav-header{padding:24px 20px}.nav-footer,.nav-links{padding:16px 12px}}.dashboard-container{background:var(--bg-primary);min-height:100vh;padding:24px 24px 24px 100px;transition:padding-left .3s ease,background-color .3s ease}@media (max-width:768px){.dashboard-container{padding:16px 16px 16px 20px}}.dashboard-content{margin:0 auto;max-width:1400px}.dashboard-header{align-items:center;animation:fadeInDown .6s ease-out;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:32px}.dashboard-title{animation:fadeIn .8s ease-out;color:var(--text-primary);font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0}.date-range-filter{align-items:center;animation:fadeInRight .6s ease-out .2s both;display:flex;flex-wrap:wrap;gap:12px}.date-range-btn{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:10px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.date-range-btn:before{background:#2563eb1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.date-range-btn:hover:before{height:300px;width:300px}.date-range-btn:hover{background:var(--bg-tertiary);border-color:var(--primary-blue);box-shadow:var(--shadow-sm);color:var(--primary-blue-dark);transform:translateY(-1px)}.date-range-btn.active{background:var(--primary-blue-dark);border-color:var(--primary-blue-dark);box-shadow:var(--shadow-md);color:#fff;transform:scale(1.02)}.date-range-btn.active:before{background:#ffffff1a}.custom-date-inputs{align-items:center;animation:fadeIn .4s ease-out;display:flex;gap:12px;margin-left:8px}.date-input{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;padding:10px 14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.date-input:focus{border-color:var(--primary-blue-dark);box-shadow:0 0 0 3px #2563eb1a;outline:none;transform:scale(1.02)}.date-separator{color:var(--text-muted);font-size:14px;font-weight:500}.kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.kpi-card{align-items:center;animation:fadeInUp .6s ease-out both;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:16px;opacity:0;overflow:hidden;padding:24px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.kpi-card:first-child{animation-delay:.1s}.kpi-card:nth-child(2){animation-delay:.2s}.kpi-card:nth-child(3){animation-delay:.3s}.kpi-card:nth-child(4){animation-delay:.4s}.kpi-card:before{content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.kpi-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-md);transform:translateY(-4px) scale(1.02)}.kpi-card:hover .kpi-icon{transform:scale(1.1) rotate(5deg)}.kpi-card:hover .kpi-value{transform:scale(1.05)}.kpi-card:hover:before{opacity:1}.kpi-balance:before{background:linear-gradient(90deg,var(--primary-blue-dark) 0,var(--primary-blue) 100%)}.kpi-income:before{background:linear-gradient(90deg,var(--success-green) 0,#059669 100%)}.kpi-expense:before{background:linear-gradient(90deg,var(--error-red) 0,#dc2626 100%)}.kpi-savings:before{background:linear-gradient(90deg,var(--primary-purple) 0,#7c3aed 100%)}.kpi-icon{animation:bounceIn .8s ease-out .3s both;flex-shrink:0;font-size:40px;line-height:1;transition:transform .4s cubic-bezier(.4,0,.2,1)}.kpi-content{flex:1 1}.kpi-label{animation:fadeIn .6s ease-out .5s both;color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.kpi-value{animation:fadeInUp .6s ease-out .6s both;color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.2;margin:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.kpi-balance{background:linear-gradient(135deg,var(--bg-secondary) 0,#3b82f61a 100%)}[data-theme=dark] .kpi-balance{background:linear-gradient(135deg,var(--bg-secondary) 0,#3b82f626 100%)}.kpi-balance .kpi-value{color:var(--primary-blue-dark)}.kpi-income{background:linear-gradient(135deg,var(--bg-secondary) 0,#10b9811a 100%)}[data-theme=dark] .kpi-income{background:linear-gradient(135deg,var(--bg-secondary) 0,#22c55e26 100%)}.kpi-income .kpi-value{color:var(--success-green)}.kpi-expense{background:linear-gradient(135deg,var(--bg-secondary) 0,#ef44441a 100%)}[data-theme=dark] .kpi-expense{background:linear-gradient(135deg,var(--bg-secondary) 0,#ef444426 100%)}.kpi-expense .kpi-value{color:var(--error-red)}.kpi-savings{background:linear-gradient(135deg,var(--bg-secondary) 0,#7c5cfc1a 100%)}[data-theme=dark] .kpi-savings{background:linear-gradient(135deg,var(--bg-secondary) 0,#7c5cfc26 100%)}.kpi-savings .kpi-value{color:var(--primary-purple)}.charts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:24px}.chart-card{animation:fadeInUp .6s ease-out both;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);opacity:0;overflow:visible;padding:32px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1}.chart-card:nth-child(odd){animation-delay:.1s}.chart-card:nth-child(2n){animation-delay:.2s}.chart-card .recharts-wrapper{overflow:visible;position:relative;z-index:1}.chart-card .recharts-default-tooltip,.chart-card .recharts-tooltip-wrapper{position:relative;z-index:10000!important}.chart-card:before{background:linear-gradient(90deg,var(--primary-blue) 0,var(--primary-purple) 100%);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.chart-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-lg);transform:translateY(-4px) scale(1.01)}.chart-card:hover .chart-title{color:var(--primary-blue-dark)}.chart-card:hover .chart-icon{transform:scale(1.15) rotate(5deg)}.chart-card:hover:before{opacity:1}.chart-card.full-width{grid-column:1/-1;max-width:100%}.chart-title{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-weight:600;gap:10px;letter-spacing:-.2px;margin:0 0 24px;text-align:left;transition:color .3s ease}.chart-icon{display:inline-block;font-size:22px;line-height:1;transition:transform .4s cubic-bezier(.4,0,.2,1)}.no-data{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.no-data-icon{font-size:48px;margin-bottom:8px;opacity:.6}.no-data p{color:var(--text-secondary);font-size:16px;font-weight:600;margin:0}.no-data-subtitle{color:var(--text-muted)!important;font-size:14px!important;font-weight:400!important}.error-message{background:#ef44441a;border-radius:12px;box-shadow:var(--shadow-sm);font-weight:500;padding:14px 18px}[data-theme=dark] .error-message{background:#ef444426}.loading{box-shadow:var(--shadow-sm);font-size:16px;font-weight:500;padding:80px 20px}.custom-tooltip{animation:tooltipFadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-lg);padding:12px 16px;position:relative;transition:transform .2s ease;z-index:9999!important}.tooltip-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.tooltip-value{color:var(--text-primary);font-size:15px;font-weight:700;margin:0}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column}.date-range-filter{width:100%}.custom-date-inputs{flex-direction:column;margin-left:0;width:100%}.date-input{width:100%}.kpi-grid{gap:16px}.charts-grid,.kpi-grid{grid-template-columns:1fr}.charts-grid{gap:20px}.chart-card{padding:20px}.dashboard-title{font-size:24px;margin-bottom:24px}.kpi-card{padding:20px}.kpi-icon{font-size:32px}.kpi-value{font-size:20px}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{opacity:1;transform:scale(1.05) translateY(0)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.recharts-wrapper{position:relative;transition:opacity .4s ease-out}.recharts-surface{transition:transform .3s ease}.chart-card:hover .recharts-surface{transform:scale(1.01)}.recharts-default-tooltip,.recharts-tooltip-wrapper{pointer-events:none;z-index:10000!important}.recharts-tooltip-cursor{z-index:9999}[data-theme=dark] .recharts-cartesian-axis-tick-value{fill:var(--text-muted)}[data-theme=dark] .recharts-cartesian-axis-line{stroke:var(--border-color)}[data-theme=dark] .recharts-cartesian-grid-horizontal line,[data-theme=dark] .recharts-cartesian-grid-vertical line{stroke:var(--border-color);opacity:.3}[data-theme=dark] .recharts-legend-item-text{fill:var(--text-secondary)}[data-theme=dark] .recharts-label{fill:var(--text-muted)}[data-theme=dark] .recharts-pie{filter:brightness(1.15) contrast(1.1)}[data-theme=dark] .recharts-surface{background:#0000!important}[data-theme=dark] .recharts-pie-sector{stroke:var(--bg-secondary)!important;stroke-width:2!important;opacity:1!important}[data-theme=dark] .recharts-pie-label-text{fill:var(--text-secondary)!important}[data-theme=dark] .recharts-pie-label-line{stroke:var(--border-color)!important}[data-theme=dark] .chart-card .recharts-wrapper,[data-theme=dark] .recharts-wrapper{background:#0000!important}[data-theme=dark] .recharts-pie path,[data-theme=dark] .recharts-pie-sector path{fill-opacity:1!important;opacity:1!important}[data-theme=dark] .recharts-pie{filter:brightness(1.1)}[data-theme=dark] .recharts-surface{background:#0000}[data-theme=dark] .recharts-pie-sector{stroke:var(--bg-secondary);stroke-width:2}[data-theme=dark] .recharts-pie-label-text{fill:var(--text-secondary);font-weight:600}[data-theme=dark] .recharts-pie-label-line{stroke:var(--border-color);stroke-width:1}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-message{animation:shake .5s ease-out,fadeIn .3s ease-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.no-data{animation:fadeIn .6s ease-out}.no-data-icon{animation:bounceIn 1s ease-out .2s both}.transactions-container{background:var(--bg-primary);min-height:100vh;padding:24px 24px 24px 100px;transition:padding-left .3s ease}@media (max-width:768px){.transactions-container{padding:16px 16px 16px 20px}}.transactions-header{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 32px}.transactions-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:28px;gap:12px;margin:0}.header-icon{color:var(--primary-blue);font-size:32px}.welcome-text{color:var(--text-muted);font-size:14px;margin:4px 0 0}.logout-button{align-items:center;background:var(--error-red);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.logout-button:hover{background:#dc2626;transform:translateY(-1px)}.totals-section{animation:fadeInUp .6s ease-out;margin:0 auto 48px;max-width:1400px;width:100%}.section-header{gap:12px;margin-bottom:24px}.section-header,.section-icon{align-items:center;display:flex}.section-icon{font-size:28px;line-height:1}.grand-totals-header{margin-bottom:32px}.grand-totals-header h2{color:var(--text-primary);font-size:26px;font-weight:700;letter-spacing:-.5px;margin:0}.grand-totals-cards{grid-gap:28px;align-items:stretch;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:64px}.grand-totals-cards .total-card{animation:fadeInScale .5s ease-out backwards}.grand-totals-cards .total-card:first-child{animation-delay:.1s}.grand-totals-cards .total-card:nth-child(2){animation-delay:.2s}.grand-totals-cards .total-card:nth-child(3){animation-delay:.3s}.total-card{align-items:flex-start;background:var(--bg-secondary);border:none;border-radius:24px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:28px;min-height:180px;overflow:hidden;padding:36px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.total-card:before{display:none}.total-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px) scale(1.02)}.total-card:hover .total-amount{transform:scale(1.05);transition:transform .3s ease}.total-card.income{background:linear-gradient(135deg,#22c55e,#16a34a)}[data-theme=dark] .total-card.income{background:linear-gradient(135deg,#16a34a,#15803d)}.total-card.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}[data-theme=dark] .total-card.expense{background:linear-gradient(135deg,#dc2626,#b91c1c)}.total-card.balance{background:linear-gradient(135deg,#4f6ef7,#4338ca)}[data-theme=dark] .total-card.balance{background:linear-gradient(135deg,#4338ca,#3730a3)}.total-card-header{align-items:center;display:flex;gap:16px;width:100%}.total-card-icon-wrapper{align-items:center;border-radius:16px;box-shadow:0 4px 12px #00000026;display:flex;flex-shrink:0;height:64px;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);width:64px}.total-card-icon-wrapper.income{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10a34a4d}[data-theme=dark] .total-card-icon-wrapper.income{background:#15803d66}.total-card-icon-wrapper.expense{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#dc26264d}[data-theme=dark] .total-card-icon-wrapper.expense{background:#b91c1c66}.total-card-icon-wrapper.balance{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#4338ca4d}[data-theme=dark] .total-card-icon-wrapper.balance{background:#3730a366}.total-card:hover .total-card-icon-wrapper{animation:pulse 2s ease-in-out infinite;box-shadow:0 6px 20px #00000040;transform:scale(1.15) rotate(5deg)}[data-theme=dark] .total-card:hover .total-card-icon-wrapper{box-shadow:0 6px 24px #0006}.total-card-icon{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:32px}.total-card h3{color:#ffffffe6;flex:1 1;font-size:13px;font-weight:700;letter-spacing:1.2px;line-height:1.4;margin:0;text-transform:uppercase}[data-theme=dark] .total-card h3{color:#fffffff2}.total-amount{animation:numberCount .8s ease-out .3s backwards;color:#fff;font-size:48px;font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin:0;text-shadow:0 2px 8px #00000026;width:100%;word-break:break-word}[data-theme=dark] .total-amount{text-shadow:0 2px 12px #0000004d}.total-amount.balance,.total-amount.balance.negative,.total-amount.balance.positive,.total-amount.expense,.total-amount.income{color:#fff}.account-totals-section{animation:fadeInUp .6s ease-out .4s backwards;border-top:2px solid var(--border-color);margin-top:64px;padding-top:48px}.account-totals-grid .account-totals-card{animation:fadeInScale .5s ease-out backwards}.account-totals-grid .account-totals-card:first-child{animation-delay:.1s}.account-totals-grid .account-totals-card:nth-child(2){animation-delay:.2s}.account-totals-grid .account-totals-card:nth-child(3){animation-delay:.3s}.account-totals-grid .account-totals-card:nth-child(4){animation-delay:.4s}.account-totals-header{color:var(--text-primary);font-size:26px;font-weight:700;letter-spacing:-.5px;margin:0}.account-totals-grid{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.account-totals-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;padding:28px;transition:all .4s cubic-bezier(.4,0,.2,1)}.account-totals-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-4px) scale(1.01)}.account-totals-card-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.account-totals-card-header h3{color:var(--text-primary);flex:1 1;font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0;min-width:0;word-break:break-word}.account-type-badge{background:var(--primary-blue);border-radius:12px;box-shadow:var(--shadow-sm);color:#fff;font-size:11px;font-weight:700;letter-spacing:.8px;padding:6px 14px;text-transform:uppercase}.account-totals-details{display:flex;flex:1 1;flex-direction:column;gap:0}.account-total-item:first-child{border-bottom:2px solid var(--border-color);margin-bottom:8px;margin-top:0;padding-bottom:20px;padding-top:0}.account-total-item:first-child .account-total-label{font-size:12px;min-width:120px}.account-total-item:first-child .account-total-value{color:var(--text-primary);font-size:26px;font-weight:800;letter-spacing:-.5px}.account-total-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;min-height:44px;padding:14px 0}.account-total-item:last-child{border-bottom:none}.account-total-label{color:var(--text-muted);flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.8px;min-width:140px;text-transform:uppercase;white-space:nowrap}.account-total-value{color:var(--text-primary);flex:1 1;font-size:18px;font-weight:700;letter-spacing:-.3px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.account-total-value.income{color:var(--success-green)}.account-total-value.expense{color:var(--error-red)}.account-total-value.balance.positive{color:var(--success-green)}.account-total-value.balance.negative{color:var(--error-red)}.account-total-value.positive{color:var(--success-green)}.account-total-value.negative{color:var(--error-red)}.transactions-content{animation:fadeInUp .6s ease-out .2s backwards;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-sm);margin:0 auto;max-width:1400px;padding:40px}.transactions-header-section{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.transactions-header-section h2{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.add-button{align-items:center;border-radius:12px;box-shadow:var(--shadow-sm);display:flex;font-size:15px;gap:8px;letter-spacing:-.2px;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-button:hover{background:var(--primary-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-2px) scale(1.05)}.add-button:active{transform:translateY(0) scale(1)}.button-icon{font-size:20px;font-weight:700;line-height:1}.add-button:active{transform:translateY(0)}.transactions-list{display:flex;flex-direction:column;gap:0}.transaction-item{align-items:center;animation:slideInRight .4s ease-out both;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:20px;justify-content:space-between;margin-bottom:12px;min-height:80px;padding:20px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.transaction-item:first-child{animation-delay:.05s}.transaction-item:nth-child(2){animation-delay:.1s}.transaction-item:nth-child(3){animation-delay:.15s}.transaction-item:nth-child(4){animation-delay:.2s}.transaction-item:nth-child(5){animation-delay:.25s}.transaction-item:nth-child(6){animation-delay:.3s}.transaction-item:nth-child(7){animation-delay:.35s}.transaction-item:nth-child(8){animation-delay:.4s}.transaction-item:nth-child(9){animation-delay:.45s}.transaction-item:nth-child(10){animation-delay:.5s}.transaction-item:nth-child(n+11){animation-delay:.55s}.transaction-item:hover{background:var(--bg-primary);border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px) scale(1.01)}.transaction-icon-wrapper{flex-shrink:0}.transaction-icon,.transaction-icon-wrapper{align-items:center;display:flex;justify-content:center}.transaction-icon{animation:fadeInScale .4s ease-out backwards;border-radius:14px;font-size:24px;height:52px;transition:transform .3s ease;width:52px}.transaction-item:hover .transaction-icon{animation:pulse 1s ease-in-out infinite;transform:scale(1.1) rotate(5deg)}.transaction-icon.income{background:#22c55e26;color:var(--success-green)}[data-theme=dark] .transaction-icon.income{background:#22c55e33}.transaction-icon.expense{background:#ef444426;color:var(--error-red)}[data-theme=dark] .transaction-icon.expense{background:#ef444433}.transaction-info{display:flex;flex:1 1;flex-direction:column;gap:0;min-width:0}.transaction-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.transaction-name{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.3px;line-height:1.4;margin:0;overflow-wrap:break-word;word-break:break-word}.transaction-type-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.8px;padding:6px 14px;text-transform:uppercase}.transaction-type-badge.income{background:#22c55e26;color:var(--success-green)}[data-theme=dark] .transaction-type-badge.income{background:#22c55e33}.transaction-type-badge.expense{background:#ef444426;color:var(--error-red)}[data-theme=dark] .transaction-type-badge.expense{background:#ef444433}.transaction-details{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-top:12px;row-gap:8px}.transaction-account,.transaction-category,.transaction-date{align-items:center;color:var(--text-muted);display:inline-flex;font-size:13px;font-weight:500;gap:6px}.account-icon,.category-icon,.date-icon{font-size:14px;opacity:.7}.transaction-account{color:var(--primary-blue);font-weight:600}.transaction-amount-section{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:12px;min-width:140px}.transaction-amount{align-items:center;display:flex;font-size:22px;font-weight:800;gap:4px;letter-spacing:-.5px;line-height:1.2;margin:0;text-align:right;white-space:nowrap}.amount-icon{font-size:16px}.transaction-amount.income{color:var(--success-green)}.transaction-amount.expense{color:var(--error-red)}.transaction-actions{display:flex;gap:8px;opacity:0;transform:translateX(10px);transition:opacity .3s ease,transform .3s ease}.transaction-item:hover .transaction-actions{opacity:1;transform:translateX(0)}.action-button{align-items:center;animation:fadeInScale .3s ease-out backwards;background:var(--bg-primary);border:none;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;height:40px;justify-content:center;padding:10px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.action-button:first-child{animation-delay:.1s}.action-button:nth-child(2){animation-delay:.15s}.action-button svg{stroke-width:2.5}.edit-button{color:var(--primary-blue)}.edit-button:hover{background:var(--primary-blue);border-color:var(--primary-blue);box-shadow:var(--shadow-sm);color:#fff;transform:translateY(-2px)}.delete-button{color:var(--error-red)}.delete-button:hover{background:var(--error-red);border-color:var(--error-red);box-shadow:var(--shadow-sm);color:#fff;transform:translateY(-2px)}.empty-state{align-items:center;animation:fadeInUp .6s ease-out;display:flex;flex-direction:column;gap:16px}.load-more-container{display:flex;justify-content:center;margin-top:24px;padding:32px 20px}.load-more-button{background:var(--primary-blue);border:none;border-radius:12px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:200px;padding:14px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.load-more-button:hover{animation:pulse 1s ease-in-out infinite;background:var(--primary-purple);box-shadow:var(--shadow-md);transform:translateY(-2px) scale(1.05)}.load-more-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.empty-icon{color:var(--text-muted);font-size:64px;margin-bottom:8px;opacity:.5}.empty-state p{color:var(--text-secondary);font-size:16px;margin:0}.modal-overlay{animation:fadeIn .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .modal-overlay{background-color:#000000b3}.modal-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1);border-radius:20px;max-width:520px}.modal-header{background:var(--bg-primary);border-radius:20px 20px 0 0;padding:28px 32px}.modal-title{font-size:22px}.modal-close{border-radius:8px;color:var(--text-secondary);font-size:28px;transition:all .2s cubic-bezier(.4,0,.2,1)}.transaction-form{display:flex;flex-direction:column;gap:20px;padding:32px}.form-label{font-size:13px;letter-spacing:.2px}.form-input{border:1px solid var(--border-color);border-radius:10px;font-size:15px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}textarea.form-input{font-family:inherit;min-height:80px;resize:vertical}.submit-button{font-size:15px}.submit-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}@media (max-width:768px){.transactions-header{align-items:flex-start;flex-direction:column;gap:16px}.totals-section{margin-bottom:32px}.grand-totals-cards{gap:16px;grid-template-columns:1fr;margin-bottom:48px}.total-card{gap:24px;min-height:160px;padding:28px}.total-card-icon-wrapper{height:56px;width:56px}.total-card-icon{font-size:28px}.total-amount{font-size:36px;word-break:break-word}.account-totals-section{margin-top:48px;padding-top:32px}.account-totals-grid{gap:16px;grid-template-columns:1fr}.account-total-label{font-size:12px;min-width:120px}.account-total-item:first-child .account-total-label{min-width:100px}.account-total-value{font-size:16px}.account-total-item:first-child .account-total-value{font-size:22px}.transactions-content{padding:24px}.transactions-header-section{align-items:flex-start;flex-direction:column;gap:16px;padding-bottom:20px}.add-button{width:100%}.filter-section{padding:20px}.filter-controls{flex-direction:column}.filter-group{min-width:0;min-width:auto;width:100%}.clear-filter-button{width:100%}.transaction-item{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.transaction-icon-wrapper{align-self:flex-start}.transaction-amount-section{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}.transaction-actions{justify-content:flex-end;opacity:1;width:100%}.action-button{flex:1 1;max-width:80px}}.monthly-summary-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:28px}.summary-title{color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0 0 24px}.monthly-summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.monthly-summary-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.monthly-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.month-header{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:16px}.month-header h4{color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:-.2px;margin:0;text-transform:capitalize}.month-stats{display:flex;flex-direction:column;gap:12px}.month-stat{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.month-stat:hover{border-color:var(--primary-blue)}.income-stat{border-left:3px solid var(--success-green)}.expense-stat{border-left:3px solid var(--error-red)}.balance-stat{background:var(--bg-primary);border-left:3px solid var(--primary-blue);font-weight:600}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:16px;font-weight:700;letter-spacing:-.2px}.stat-value.positive{color:var(--success-green)}.stat-value.negative{color:var(--error-red)}.filter-section{animation:fadeIn .5s ease-out .3s backwards;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:24px 28px}.filter-header{align-items:center;display:flex;gap:10px;margin-bottom:20px}.filter-icon{font-size:20px;line-height:1}.filter-title{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.filter-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:180px}.filter-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.filter-input{background-color:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-input:focus{animation:inputFocus .3s ease;background-color:var(--bg-secondary);border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a;outline:none;transform:translateY(-1px) scale(1.02)}@keyframes inputFocus{0%{box-shadow:0 0 0 0 #3b82f666}to{box-shadow:0 0 0 3px #3b82f61a}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.clear-filter-button{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.clear-filter-button:hover{background:var(--bg-secondary);border-color:var(--error-red);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-1px) scale(1.05)}.clear-filter-button:active{transform:translateY(0) scale(1)}@media (max-width:768px){.monthly-summary-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column}.clear-filter-button,.filter-group{width:100%}}.profile-container{background:var(--bg-primary);min-height:100vh;padding:24px 24px 24px 100px;transition:padding-left .3s ease}@media (max-width:768px){.profile-container{padding:16px 16px 16px 20px;padding-left:20px}}.profile-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin:0 auto;max-width:800px;padding:32px}.profile-title{color:var(--text-primary);font-size:28px;margin:0 0 24px}.profile-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);padding:32px}.profile-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;flex-direction:column;margin-bottom:32px;padding-bottom:24px}.profile-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-purple) 100%);border-radius:50%;box-shadow:var(--shadow-md);color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;margin-bottom:16px;width:80px}.profile-header h2{color:var(--text-primary);font-size:24px;margin:0}.profile-details{display:flex;flex-direction:column;gap:20px}.profile-detail-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:18px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.profile-detail-item:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}.detail-label{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:var(--text-primary);font-size:16px;font-weight:600}@media (max-width:768px){.profile-content{padding:24px}.profile-detail-item{align-items:flex-start;flex-direction:column;gap:8px}}.accounts-container{background:var(--bg-primary);min-height:100vh;padding:24px 24px 24px 100px;transition:padding-left .3s ease}@media (max-width:768px){.accounts-container{padding:16px 16px 16px 20px}}.accounts-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin:0 auto;max-width:1400px;padding:32px}.accounts-header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.accounts-title{color:var(--text-primary);font-size:28px;margin:0}.add-button{background:var(--primary-blue);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.add-button:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.accounts-list{display:flex;flex-direction:column;gap:16px}.account-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:16px;justify-content:space-between;padding:24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.account-item:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}.account-info{flex:1 1}.account-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.account-name{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.default-badge{background:var(--primary-blue);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.account-details{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.account-currency,.account-type,.bank-name{color:var(--text-muted);font-size:14px}.account-balance-section{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.account-balance{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.account-actions{display:flex;gap:8px}.deactivate-button,.edit-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s ease}.edit-button{background:var(--primary-blue);color:#fff}.edit-button:hover{background:var(--primary-blue-dark);transform:scale(1.05)}.deactivate-button{background:var(--error-red);color:#fff}.deactivate-button:hover{background:#dc2626;transform:scale(1.05)}.empty-state{color:var(--text-muted)}.empty-state,.loading{padding:60px 20px;text-align:center}.loading{background:var(--bg-secondary);border-radius:16px;color:var(--text-secondary);font-size:18px}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;padding:0;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 32px}.modal-title{color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background-color:var(--bg-primary);color:var(--text-primary)}.account-form{gap:20px;padding:32px}.account-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{font-size:14px;font-weight:600;text-align:left}.form-input,.form-label{color:var(--text-primary)}.form-input{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.form-input:focus{background-color:var(--bg-secondary);border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:var(--text-muted)}.submit-button{background:var(--primary-blue);border:none;border-radius:10px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:-.2px;margin-top:8px;padding:14px 24px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.submit-button:hover{background:var(--primary-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:768px){.accounts-header-section{align-items:flex-start;flex-direction:column;gap:16px}.add-button{width:100%}.account-item{align-items:flex-start;flex-direction:column;gap:16px}.account-balance-section{align-items:flex-start;width:100%}.account-actions{width:100%}.deactivate-button,.edit-button{flex:1 1}}.csv-upload-container{background:var(--bg-primary);min-height:100vh;padding:24px 24px 24px 100px;transition:padding-left .3s ease}@media (max-width:768px){.csv-upload-container{padding:16px 16px 16px 20px}}.csv-upload-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin:0 auto;max-width:1200px;padding:32px}.csv-upload-title{color:var(--text-primary);font-size:28px;margin:0 0 32px}.csv-upload-instructions{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:20px}.csv-upload-instructions h3{color:var(--text-primary);font-size:18px;margin:0 0 12px}.csv-upload-instructions ul{color:var(--text-secondary);margin:0;padding-left:24px}.csv-upload-instructions li{line-height:1.6;margin-bottom:8px}.file-upload-section{margin-bottom:24px}.file-upload-label{align-items:center;background:var(--primary-blue);border-radius:10px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:12px;letter-spacing:-.2px;padding:16px 24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.file-upload-label:hover{background:var(--primary-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.upload-icon{font-size:24px}.file-input{display:none}.file-info{align-items:center;color:var(--text-secondary);display:flex;gap:8px;margin-top:12px}.file-name{color:var(--text-primary);font-weight:600}.file-size{color:var(--text-muted);font-size:14px}.error-message{background-color:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:var(--error-red);font-size:14px;margin-bottom:24px;padding:12px 16px}[data-theme=dark] .error-message{background-color:#ef444426;border-color:#ef444466}.success-message{background-color:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;color:var(--success-green);font-size:14px;margin-bottom:24px;padding:12px 16px}[data-theme=dark] .success-message{background-color:#22c55e26;border-color:#22c55e66}.preview-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin-top:32px;padding:28px}.preview-section h3{color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0 0 24px}.preview-table-container{margin-bottom:24px;overflow-x:auto}.preview-table{background:var(--bg-primary);border:1px solid var(--border-color);border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.preview-table thead{background:var(--primary-blue);color:#fff}.preview-table th{font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.preview-table td{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:14px;padding:12px 16px}.preview-table tbody tr:hover{background:var(--bg-primary)}.type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.type-badge.income{background:#22c55e26;color:var(--success-green)}[data-theme=dark] .type-badge.income{background:#22c55e33}.type-badge.expense{background:#ef444426;color:var(--error-red)}[data-theme=dark] .type-badge.expense{background:#ef444433}.preview-more{color:var(--text-muted);font-size:14px;font-style:italic;margin-top:12px;text-align:center}.upload-button{background:var(--success-green);border:none;border-radius:10px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:-.2px;padding:16px 24px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.upload-button:hover{background:#059669;box-shadow:var(--shadow-md);transform:translateY(-1px)}.upload-button:disabled{cursor:not-allowed;opacity:.6}.upload-progress{margin-top:24px}.progress-bar{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;height:24px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--primary-blue) 0,var(--primary-purple) 100%);border-radius:12px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.upload-progress p{color:var(--text-secondary);font-weight:600;margin:0;text-align:center}.upload-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);margin-top:32px;padding:28px}.upload-results h3{color:var(--text-primary);font-size:20px;margin:0 0 20px}.results-summary{display:flex;gap:24px;margin-bottom:24px}.result-item{align-items:center;border-radius:8px;display:flex;flex:1 1;justify-content:space-between;padding:16px}.result-item.success{background:#22c55e1a;border:1px solid #22c55e4d}[data-theme=dark] .result-item.success{background:#22c55e26;border-color:#22c55e66}.result-item.failed{background:#ef44441a;border:1px solid #ef44444d}[data-theme=dark] .result-item.failed{background:#ef444426;border-color:#ef444466}.result-label{color:var(--text-secondary);font-weight:600}.result-value{font-size:24px;font-weight:700}.result-item.success .result-value{color:var(--success-green)}.result-item.failed .result-value{color:var(--error-red)}.error-details{background:var(--bg-primary);border:1px solid #ef44444d;border-radius:8px;margin-top:24px;padding:16px}[data-theme=dark] .error-details{background:var(--bg-tertiary);border-color:#ef444466}.error-details h4{color:var(--error-red);font-size:16px;margin:0 0 12px}.error-details ul{color:var(--error-red);margin:0;padding-left:24px}.error-details li{font-size:14px;margin-bottom:8px}@media (max-width:768px){.csv-upload-content{padding:24px}.preview-table{font-size:12px}.preview-table td,.preview-table th{padding:8px}.results-summary{flex-direction:column;gap:12px}}.App{min-height:100vh;width:100%}
/*# sourceMappingURL=main.d4c3655a.css.map*/