:root{--bg-black: #000000;--bg-dark: #121212;--bg-card: #181818;--bg-card-hover: #282828;--bg-elevated: #242424;--text-primary: #FFFFFF;--text-secondary: #B3B3B3;--text-subdued: #A7A7A7;--primary-green: #1DB954;--primary-green-hover: #1ED760;--color-salary: #4CAF50;--color-take-home: #66BB6A;--color-rent: #F44336;--color-scholarship: #E91E63;--color-loan: #9C27B0;--color-electricity: #FF9800;--color-gas: #FF6F00;--color-water: #2196F3;--color-food: #8BC34A;--color-communication: #00BCD4;--color-subscription: #00ACC1;--color-misc: #9E9E9E;--color-study: #3F51B5;--color-savings: #FFD54F;--color-securities: #FFC107;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Circular Std,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-black);color:var(--text-primary);height:100vh;overflow:hidden}#root{height:100%}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}a{text-decoration:none;color:inherit}button{border:none;background:none;font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--text-primary)}.app-layout{display:grid;grid-template-columns:240px 1fr;grid-template-rows:64px 1fr;height:100vh;width:100vw;background-color:var(--bg-black)}.sidebar{grid-row:1 / -1;grid-column:1;background-color:var(--bg-black);padding:var(--spacing-lg) var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.logo-container{padding:0 var(--spacing-md) var(--spacing-lg);color:var(--text-primary);font-size:24px;font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm)}.nav-menu{display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:0 var(--spacing-md);height:40px;color:var(--text-secondary);font-weight:700;font-size:14px;border-radius:var(--radius-sm);transition:color .2s,background-color .2s}.nav-item:hover{color:var(--text-primary)}.nav-item.active{color:var(--text-primary);background-color:var(--bg-card-hover)}.nav-icon{font-size:24px}.header{grid-column:2;grid-row:1;background-color:#121212f2;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl);z-index:10}.page-title{font-size:24px;font-weight:700}.user-profile{display:flex;align-items:center;gap:var(--spacing-sm);background-color:#000000b3;padding:2px;padding-right:var(--spacing-sm);border-radius:var(--radius-full);cursor:pointer}.user-avatar{width:28px;height:28px;background-color:var(--bg-elevated);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.user-name{font-size:14px;font-weight:700}.logout-button{background-color:transparent;color:var(--text-secondary);border:1px solid var(--text-secondary);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:12px;font-weight:700;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}.logout-button:hover{color:var(--text-primary);border-color:var(--text-primary);background-color:#ffffff1a}.logout-button:active{background-color:#fff3}.main-content{grid-column:2;grid-row:2;background:linear-gradient(180deg,#202020 0%,var(--bg-dark) 100%);border-radius:var(--radius-md) var(--radius-md) 0 0;margin-right:var(--spacing-sm);margin-bottom:var(--spacing-sm);overflow-y:auto;padding:var(--spacing-xl);position:relative}.main-content::-webkit-scrollbar{width:12px}.main-content::-webkit-scrollbar-thumb{background-color:#ffffff4d}.dashboard-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dashboard-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.summary-card{position:relative;border-radius:20px;padding:2rem;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000005e,inset 0 1px #ffffff1a;transition:all .4s cubic-bezier(.165,.84,.44,1);cursor:pointer;will-change:transform,box-shadow}.summary-card.total-income{background:linear-gradient(135deg,#fbbf2433,#f59e0b4d,#d9770640 70%,#b4530926);border-color:#fbbf2466}.summary-card.total-income:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(251,191,36,.25) 0%,transparent 70%);animation:pulse-summary 4s ease-in-out infinite;pointer-events:none}.summary-card.income{background:linear-gradient(135deg,#10b98126,#05966940,#04785726);border-color:#10b9814d}.summary-card.income:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(16,185,129,.2) 0%,transparent 70%);animation:pulse-summary 4s ease-in-out infinite 1s;pointer-events:none}.summary-card.expense{background:linear-gradient(135deg,#ef444426,#dc262640,#b91c1c26);border-color:#ef44444d}.summary-card.expense:before{content:"";position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200%;height:200%;background:radial-gradient(circle,rgba(239,68,68,.2) 0%,transparent 70%);animation:pulse-summary 4s ease-in-out infinite 2s;pointer-events:none}.summary-card:hover{transform:translateY(-8px) scale(1.02)}.summary-card.total-income:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 40px #fbbf2499;border-color:#fbbf2499}.summary-card.income:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 40px #10b98199;border-color:#10b98199}.summary-card.expense:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 40px #ef444499;border-color:#ef444499}.summary-card h3{position:relative;z-index:2;font-size:.95rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:1.2rem;opacity:.9;transition:all .3s ease}.summary-card.total-income h3{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(251,191,36,.3)}.summary-card.income h3{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(16,185,129,.3)}.summary-card.expense h3{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(239,68,68,.3)}.summary-card .amount{position:relative;z-index:2;font-size:2rem;font-weight:800;line-height:1.2;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.4);letter-spacing:-.5px;transition:all .3s ease}.summary-card.total-income .amount{font-size:2.3rem;background:linear-gradient(135deg,#fbbf24,#f59e0b,#fbbf24);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shimmer-summary 3s linear infinite}.summary-card:hover .amount{transform:scale(1.05);text-shadow:0 6px 20px rgba(0,0,0,.6)}.card-label{color:var(--text-secondary);font-size:14px;margin-bottom:var(--spacing-sm)}.card-value{font-size:24px;font-weight:700}.card-value.income{color:var(--color-take-home)}.card-value.expense{color:var(--color-rent)}.card-value.savings{color:var(--color-savings)}.card-value.holiday{color:var(--primary-green)}@keyframes pulse-summary{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes shimmer-summary{0%{background-position:0% center}to{background-position:200% center}}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.dashboard-left{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dashboard-right{display:flex;flex-direction:column}.chart-section,.balance-section{background-color:var(--bg-card);padding:var(--spacing-lg);border-radius:var(--radius-md)}.section-title{font-size:18px;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.balance-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.balance-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--bg-elevated)}.balance-item:last-child{border-bottom:none}.account-info{display:flex;flex-direction:column}.account-name{font-size:14px;color:var(--text-primary)}.account-type{font-size:12px;color:var(--text-secondary)}.account-balance{font-weight:700;font-size:16px}.credit-card-section{background-color:var(--bg-card);padding:var(--spacing-lg);border-radius:var(--radius-md);height:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.month-select{background-color:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--bg-elevated);padding:4px 8px;border-radius:4px;outline:none}.card-total-box{background-color:var(--bg-elevated);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.total-label{color:var(--text-secondary);font-size:14px}.total-amount{font-size:20px;font-weight:700;color:var(--text-primary)}.transaction-list-container{flex:1;overflow-y:auto;min-height:200px}.transaction-table{width:100%;border-collapse:collapse}.transaction-table th{text-align:left;color:var(--text-secondary);font-size:12px;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--bg-elevated)}.transaction-table td{padding:var(--spacing-sm) 0;font-size:14px;border-bottom:1px solid var(--bg-elevated);color:var(--text-primary)}.text-right{text-align:right!important}.text-center{text-align:center!important}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;padding:2rem;border-radius:1rem;width:90%;max-width:400px;box-shadow:0 10px 25px #0003}.modal-content h3{margin-top:0;margin-bottom:1.5rem;color:#1e293b;font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#64748b;font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem}.modal-actions button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions button[type=button]{background:transparent;border:1px solid #e2e8f0;color:#64748b}.modal-actions button[type=button]:hover{background:#f1f5f9}.modal-actions button[type=submit]{background:#3b82f6;border:none;color:#fff}.modal-actions button[type=submit]:hover{background:#2563eb}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.balance-section-premium{display:flex;flex-direction:column;gap:2rem;font-family:Inter,sans-serif}.asset-cards-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:1.5rem;margin-bottom:2rem}.asset-card{position:relative;border-radius:20px;padding:2rem;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000005e,inset 0 1px #ffffff1a;transition:all .4s cubic-bezier(.165,.84,.44,1);cursor:pointer;will-change:transform,box-shadow}.savings-card{background:linear-gradient(135deg,#10b98126,#05966940,#04785726);border-color:#10b9814d}.savings-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(16,185,129,.2) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite;pointer-events:none}.securities-card{background:linear-gradient(135deg,#8b5cf626,#6366f140,#4f46e526);border-color:#8b5cf64d}.securities-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(139,92,246,.2) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite 2s;pointer-events:none}.total-assets-card{background:linear-gradient(135deg,#fbbf2433,#f59e0b4d,#d9770640 70%,#b4530926);border-color:#fbbf2466;position:relative}.total-assets-card:before{content:"";position:absolute;top:-50%;left:50%;transform:translate(-50%);width:250%;height:250%;background:radial-gradient(ellipse,rgba(251,191,36,.25) 0%,transparent 60%);animation:pulse 5s ease-in-out infinite 1s;pointer-events:none}.asset-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 30px 0 currentColor}.savings-card:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 40px #10b98199;border-color:#10b98199}.securities-card:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3,0 0 40px #8b5cf699;border-color:#8b5cf699}.total-assets-card:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 25px 70px #0009,inset 0 1px #ffffff40,0 0 50px #fbbf24cc;border-color:#fbbf24b3}.asset-card-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:1rem;height:100%}.asset-card-label{font-size:.95rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.9;transition:all .3s ease}.savings-card .asset-card-label{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(16,185,129,.3)}.securities-card .asset-card-label{background:linear-gradient(135deg,#8b5cf6,#6366f1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(139,92,246,.3)}.total-assets-card .asset-card-label{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(251,191,36,.3);font-size:1.1rem}.asset-card-amount{font-size:2rem;font-weight:800;line-height:1.2;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.4);letter-spacing:-.5px;transition:all .3s ease}.total-assets-card .asset-card-amount{font-size:2.5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b,#fbbf24);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% auto;animation:shimmer 3s linear infinite}.asset-card:hover .asset-card-amount{transform:scale(1.05);text-shadow:0 6px 20px rgba(0,0,0,.6)}.hero-decoration{position:absolute;bottom:-30%;right:-15%;width:200px;height:200px;background:radial-gradient(circle,#fbbf2433,#0000 70%);border-radius:50%;z-index:1;animation:float 6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.savings-timeline-container{background:#1a202c;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0000001a;color:#e2e8f0}.timeline-title{font-size:1.2rem;font-weight:700;color:#f7fafc;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #2d3748}.timeline-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.timeline-list::-webkit-scrollbar{width:6px}.timeline-list::-webkit-scrollbar-track{background:#2d3748;border-radius:3px}.timeline-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.timeline-list::-webkit-scrollbar-thumb:hover{background:#718096}.timeline-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#2d3748;border-radius:12px;transition:all .2s ease;border:1px solid transparent}.timeline-item:hover{background:#364256}.timeline-month{display:flex;flex-direction:column;align-items:center;min-width:50px}.month-number{font-size:1.2rem;font-weight:700;line-height:1}.month-label{font-size:.7rem;opacity:.9;color:#a0aec0}.timeline-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.timeline-bars{width:100%}.bar-track{display:flex;height:8px;background:#4a5568;border-radius:4px;overflow:hidden}.bar-fill{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.savings-fill{background:#4fd1c5;box-shadow:0 0 10px #4fd1c54d}.securities-fill{background:#667eea;box-shadow:0 0 10px #667eea4d}.timeline-details{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.detail-item{display:flex;align-items:center;gap:.5rem}.detail-label{color:#a0aec0;font-size:.8rem}.detail-value{font-weight:600;color:#e2e8f0}.detail-total{font-weight:700;color:#f7fafc;font-size:1rem}.timeline-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #2d3748;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.footer-summary{display:flex;align-items:baseline;gap:1rem}.footer-label{font-size:1rem;color:#a0aec0;font-weight:600}.footer-amount{font-size:1.5rem;font-weight:800;color:#f7fafc}.footer-breakdown{display:flex;gap:1rem;font-size:.9rem;color:#a0aec0}.breakdown-item{display:flex;align-items:center;gap:.5rem}.breakdown-item:before{content:"";display:block;width:8px;height:8px;border-radius:50%}.breakdown-item.savings:before{background:#4fd1c5}.breakdown-item.securities:before{background:#667eea}.card-header-row{display:flex;justify-content:space-between;align-items:center;width:100%}.edit-balance-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.3rem;opacity:.5;transition:all .3s ease;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.edit-balance-btn:hover{opacity:1;transform:scale(1.2) rotate(5deg);filter:drop-shadow(0 4px 8px rgba(255,255,255,.4))}.timeline-item.inactive{opacity:.5}.savings-transfer-container{background-color:#181818;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.transfer-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.5rem}.transfer-form-card{background-color:#282828;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.direction-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.direction-tab{flex:1;padding:.75rem 1rem;background-color:#3e3e3e;border:none;border-radius:8px;color:#b3b3b3;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.direction-tab:hover{background-color:#535353;color:#fff}.direction-tab.active{background-color:#1db954;color:#000}.transfer-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-direction:column;gap:.5rem}.transfer-label{color:#b3b3b3;font-weight:600;font-size:.875rem}.transfer-input{width:100%;padding:.75rem;background-color:#3e3e3e;border:1px solid transparent;border-radius:4px;font-size:1rem;color:#fff;transition:background-color .2s}.transfer-input:focus{outline:none;background-color:#535353;border-color:#727272}.transfer-submit-btn{background-color:#1db954;color:#000;border:none;padding:.75rem 2rem;border-radius:500px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:transform .1s,background-color .1s;margin-top:.5rem}.transfer-submit-btn:hover:not(:disabled){background-color:#1ed760;transform:scale(1.04)}.transfer-submit-btn:disabled{background-color:#535353;cursor:not-allowed}.transfer-history{margin-top:2rem}.history-title{font-size:1rem;font-weight:700;color:#fff;margin-bottom:1rem}.no-history{color:#b3b3b3;text-align:center;padding:2rem;font-size:.9rem}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{background-color:#282828;padding:1rem;border-radius:8px;transition:background-color .2s}.history-item:hover{background-color:#3e3e3e}.history-info{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.history-date{color:#b3b3b3;font-size:.85rem}.history-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.history-badge.withdraw{background-color:#ff6b6b;color:#fff}.history-badge.deposit{background-color:#51cf66;color:#fff}.history-details{display:flex;justify-content:space-between;align-items:center}.history-amount{font-size:1.1rem;font-weight:700;color:#fff}.history-delete-btn{background-color:transparent;border:none;color:#b3b3b3;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}.history-delete-btn:hover{color:#ff1744}.history-description{color:#b3b3b3;font-size:.85rem;margin-top:.5rem;margin-bottom:0}.annual-container{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;overflow:hidden}.annual-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.year-selector{display:flex;align-items:center;gap:var(--spacing-md);background-color:var(--bg-card);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-full)}.year-nav-btn{color:var(--text-secondary);font-size:18px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:background-color .2s,color .2s;background:transparent;border:none;cursor:pointer}.year-nav-btn:hover:not(:disabled){background-color:var(--bg-elevated);color:var(--text-primary)}.current-year{font-size:16px;font-weight:700;min-width:80px;text-align:center}.table-container{flex:1;overflow:auto;background-color:var(--bg-card);border-radius:var(--radius-md);position:relative}.budget-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1200px}.budget-table th,.budget-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bg-elevated);border-right:1px solid var(--bg-elevated);font-size:13px}.budget-table thead th{position:sticky;top:0;background-color:var(--bg-card);z-index:2;font-weight:700;color:var(--text-secondary);text-align:center;height:40px}.budget-table thead th:first-child{position:sticky;left:0;z-index:3;background-color:var(--bg-card);text-align:left;min-width:150px}.budget-table tbody td:first-child{position:sticky;left:0;background-color:var(--bg-card);z-index:1;font-weight:700;color:var(--text-primary)}.budget-table td{text-align:right;color:var(--text-primary);cursor:pointer;transition:background-color .2s}.budget-table td:not(:first-child):hover{background-color:var(--bg-card-hover)}.budget-table td input{width:100%;background:transparent;border:none;color:var(--text-primary);text-align:right;font-family:inherit;font-size:inherit;outline:none;padding:0;margin:0}.budget-table td input:focus{background-color:var(--bg-elevated)}.row-income td:first-child{border-left:4px solid var(--color-take-home)}.row-expense td:first-child{border-left:4px solid var(--color-rent)}.row-savings td:first-child{border-left:4px solid var(--color-savings)}.row-calculated td:first-child{border-left:4px solid var(--text-secondary)}.cell-holiday{color:var(--primary-green)!important;font-weight:700}.cell-negative{color:var(--color-rent)!important}.transactions-container{padding:2rem;width:100%;max-width:100%;margin:0;background-color:#000;min-height:100vh;color:#fff;font-family:Circular Std,Helvetica Neue,Helvetica,Arial,sans-serif;box-sizing:border-box}.transactions-content-wrapper{max-width:1200px;margin:0 auto}.transactions-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.month-selector-container{display:flex;align-items:center;justify-content:center;gap:2rem;background-color:#181818;padding:1rem 2rem;border-radius:8px;width:100%;max-width:600px;margin:0 auto;transition:background-color .3s ease}.month-selector-container:hover{background-color:#282828}.month-nav-btn{background:transparent;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#b3b3b3;transition:all .2s}.month-nav-btn:hover{color:#fff;transform:scale(1.1)}.current-month-display{text-align:center}.month-label{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}.payment-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.payment-card{padding:1.5rem;border-radius:8px;color:#fff;box-shadow:0 4px 60px #00000080;transition:background-color .3s ease;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;position:relative;overflow:hidden}.payment-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000,#0006);z-index:1}.payment-card-header,.payment-card-body{position:relative;z-index:2}.payment-card:hover{filter:brightness(1.1)}.payment-card-header{margin-bottom:.5rem}.payment-name{font-size:.9rem;font-weight:700;opacity:.9;letter-spacing:.05em}.payment-card-body{display:flex;justify-content:flex-end;align-items:flex-end}.payment-total{font-size:1.8rem;font-weight:700;letter-spacing:-.04em}.transaction-list-container{background-color:#181818;border-radius:8px;padding:1.5rem;margin-bottom:2rem;color:#fff}.transaction-list-table{width:100%;border-collapse:separate;border-spacing:0}.transaction-list-table th{text-align:left;padding:.75rem 1rem;color:#b3b3b3;font-weight:400;border-bottom:1px solid #282828;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.transaction-list-table td{padding:.75rem 1rem;border-bottom:1px solid #282828;color:#fff;font-size:.95rem}.transaction-list-table tr:last-child td{border-bottom:none}.transaction-list-table tr:hover td{background-color:#282828}.budget-progress-container{background-color:#181818;padding:1.5rem;border-radius:8px;margin-top:2rem}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.budget-title{font-weight:700;color:#fff;font-size:1.2rem}.budget-values{font-family:Circular Std,sans-serif;font-size:1rem;color:#b3b3b3}.current-spending{font-weight:700;color:#fff}.separator{margin:0 .5rem;color:#535353}.total-budget{color:#b3b3b3}.progress-bar-bg{height:4px;background-color:#535353;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#1db954;border-radius:2px;transition:width .5s ease}.progress-bar-fill.over-budget{background-color:#e91429}.budget-footer-main{display:flex;justify-content:flex-end;align-items:center;margin-top:.5rem;font-size:.8rem}.remaining-label{color:#b3b3b3;margin-right:.5rem}.remaining-value{font-weight:700;color:#1db954}.remaining-value.negative{color:#e91429}.category-breakdown{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #282828}.breakdown-title{font-size:1rem;color:#fff;margin-bottom:1.5rem;font-weight:700}.category-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem}.category-progress-item{display:flex;flex-direction:column;gap:.5rem}.cat-header{display:flex;justify-content:space-between;font-size:.85rem}.cat-name{font-weight:600;color:#fff}.cat-values{color:#b3b3b3;font-size:.8rem}.cat-progress-bg{height:4px;background-color:#535353;border-radius:2px;overflow:hidden}.cat-progress-fill{height:100%;background-color:#1db954;border-radius:2px;transition:width .5s ease}.cat-progress-fill.over{background-color:#e91429}.modal-title{margin-bottom:1.5rem;color:#fff;font-weight:700}.form-input{width:100%;padding:.75rem;background-color:#3e3e3e;border:1px solid transparent;border-radius:4px;font-size:1rem;color:#fff;transition:background-color .2s}.form-input:focus{outline:none;background-color:#535353;border-color:#727272}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#b3b3b3}.btn-cancel{background:transparent;color:#b3b3b3;border:none;padding:.75rem 1.5rem;border-radius:500px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.1em}.btn-save{background-color:#1db954;color:#000;border:none;padding:.75rem 2rem;border-radius:500px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:transform .1s}.no-data-message{color:#b3b3b3;text-align:center;grid-column:1 / -1;padding:2rem}.category-badge{display:inline-block;font-size:.85rem;font-weight:600;color:#fff}.action-buttons{display:flex;gap:.75rem;align-items:center}.btn-edit{background-color:#1db954!important;color:#fff!important;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-edit:hover{background-color:#1ed760;transform:scale(1.05)}.btn-delete{background-color:#ff1744!important;color:#fff!important;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-delete:hover{background-color:#ff4569;transform:scale(1.05)}.btn-save-edit{background-color:#1db954;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s;margin-right:.5rem}.btn-save-edit:hover{background-color:#1ed760;transform:scale(1.05)}.btn-cancel-edit{background-color:#535353;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-cancel-edit:hover{background-color:#727272;transform:scale(1.05)}.header-buttons{display:flex;gap:1rem;align-items:center}.transfer-btn{background-color:#2196f3!important}.transfer-btn:hover{background-color:#42a5f5!important}.transfer-badge{display:inline-block;padding:.35rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;background-color:#2196f3;color:#fff}.transfer-row{background-color:#2196f30d}.transfer-row:hover td{background-color:#2196f31a!important}.account-name{color:#2196f3;font-weight:600}.split-amount{color:#ff9800;font-weight:600}.split-label{font-size:.75rem;margin-left:.5rem;color:#b3b3b3}.recurring-page{padding:2rem;max-width:1200px;margin:0 auto;color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;margin:0}.monthly-total{background:var(--bg-card);padding:1rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.monthly-total span{color:var(--primary-green);font-size:1.5rem;font-weight:700;margin-left:.5rem}.recurring-actions{margin-bottom:1.5rem}.btn-primary{background-color:var(--primary-green);color:#000;border:none;padding:.75rem 1.5rem;border-radius:500px;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .2s,background-color .2s}.btn-primary:hover{transform:scale(1.04);background-color:#1ed760}.recurring-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.recurring-item{background:var(--bg-card);padding:1.5rem;border-radius:8px;display:flex;align-items:center;transition:background-color .3s ease;border:1px solid transparent}.recurring-item:hover{background-color:#ffffff1a}.recurring-item.inactive{opacity:.5}.recurring-indicator{width:4px;height:40px;border-radius:2px;margin-right:1.5rem}.recurring-info{flex:1}.recurring-header{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.recurring-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.inactive-badge{font-size:.75rem;padding:.2rem .5rem;background:#333;color:#aaa;border-radius:4px}.recurring-details{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.recurring-category{font-weight:500}.recurring-separator{color:#444}.recurring-right{display:flex;align-items:center;gap:2rem}.recurring-amount{font-size:1.2rem;font-weight:700;color:var(--text-primary);min-width:100px;text-align:right}.recurring-actions-buttons{display:flex;gap:.5rem}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:.5rem;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:#ffffff1a}.bonus-page{padding:2rem;width:100%;max-width:1200px;margin:0 auto;color:var(--text-primary)}.bonus-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;width:100%}.page-title{font-size:2rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.04em}.add-btn{background-color:#1db954;color:#000;border:none;padding:.75rem 2rem;border-radius:500px;font-weight:700;cursor:pointer;transition:transform .1s,background-color .1s;text-transform:uppercase;font-size:.875rem;letter-spacing:.1em}.add-btn:hover{background-color:#1ed760;transform:scale(1.04)}.add-btn:active{background-color:#1aa34a;transform:scale(1)}.year-selector{display:flex;align-items:center;justify-content:center;gap:2rem;background-color:#181818;padding:1rem 2rem;border-radius:8px;width:100%;max-width:600px;margin:0 auto;transition:background-color .3s ease}.year-selector:hover{background-color:#282828}.year-nav-btn{background:transparent;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#b3b3b3;transition:all .2s;font-size:18px}.year-nav-btn:hover:not(:disabled){color:#fff;transform:scale(1.1)}.year-nav-btn:disabled{opacity:.3;cursor:not-allowed}.current-year{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em;text-align:center;min-width:100px}.bonus-table-container{background-color:#181818;border-radius:8px;padding:1.5rem;box-shadow:0 4px 60px #00000080;overflow-x:auto}.bonus-table{width:100%;border-collapse:separate;border-spacing:0;min-width:800px}.bonus-table th{text-align:left;padding:.75rem 1rem;color:#b3b3b3;font-weight:400;border-bottom:1px solid #282828;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.bonus-table td{padding:.75rem 1rem;border-bottom:1px solid #282828;color:#fff;font-size:.95rem;vertical-align:middle}.bonus-table tr:last-child td{border-bottom:none}.bonus-table tr:hover td{background-color:#282828}.season-badge{display:inline-block;padding:.25rem .75rem;border-radius:16px;background:#ffffff1a;font-size:.9rem;font-weight:600}.amount-cell{font-family:Roboto Mono,monospace;font-weight:600}.remarks-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b3b3b3}.actions-cell{white-space:nowrap}.no-data-cell{text-align:center;padding:3rem!important;color:#b3b3b3}.btn-edit,.btn-delete{background:transparent;border:none;cursor:pointer;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;margin-right:.5rem;font-weight:600;transition:all .2s}.btn-edit{background-color:#1db954!important;color:#fff!important}.btn-edit:hover{background-color:#1ed760!important;transform:scale(1.05)}.btn-delete{background-color:#ff1744!important;color:#fff!important}.btn-delete:hover{background-color:#ff4569!important;transform:scale(1.05)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background-color:#282828;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000080;color:#fff}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-weight:700;color:#fff}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#b3b3b3;font-weight:700;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background-color:#3e3e3e;border:1px solid transparent;border-radius:4px;font-size:1rem;color:#fff;transition:background-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;background-color:#535353;border-color:#727272}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancel{background:transparent;color:#b3b3b3;border:none;padding:.75rem 1.5rem;border-radius:500px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:transform .1s}.btn-cancel:hover{color:#fff;transform:scale(1.04)}.btn-save{background-color:#1db954;color:#000;border:none;padding:.75rem 2rem;border-radius:500px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:transform .1s,background-color .1s}.btn-save:hover{background-color:#1ed760;transform:scale(1.04)}.app{min-height:100vh;background-color:#f5f7fa}.main-content{min-height:calc(100vh - 160px)}
