:root{--primary-bg: #181829;--secondary-bg: #23233a;--tertiary-bg: #35355a;--primary-text: #e0e6f7;--accent-text: #a5b4fc;--primary-blue: #4f8cff;--primary-purple: #7f53ac;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:var(--primary-text);background-color:var(--primary-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{margin:0;background:var(--primary-bg);color:var(--primary-text);min-width:320px;min-height:100vh}a{font-weight:500;color:var(--primary-blue);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--primary-purple)}h1,h2,h3,h4,h5,h6{color:var(--accent-text);font-weight:700;line-height:1.2}button{border-radius:8px;border:none;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;background:linear-gradient(90deg,var(--primary-blue) 0%,var(--primary-purple) 100%);color:#fff}button:hover{background:linear-gradient(90deg,var(--primary-purple) 0%,var(--primary-blue) 100%);transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:inherit;border-radius:8px;border:1.5px solid var(--tertiary-bg);padding:.5em .75em;background:#f4f7fa;color:var(--primary-bg);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px #4f8cff33;outline:none}@media (prefers-color-scheme: light){:root{color-scheme:dark;color:var(--primary-text);background-color:var(--primary-bg)}}#root{width:100%;min-height:100vh;margin:0;padding:0;background:#181829;color:#e0e6f7;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;padding:0;background:#181829;color:#e0e6f7;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:#a5b4fc;margin:0;padding:0;font-weight:700}p{margin:0;padding:0}a{color:#4f8cff;text-decoration:none;transition:color .2s}a:hover{color:#7f53ac;text-decoration:underline}button{font-family:inherit;cursor:pointer;outline:none;border:none}input,select,textarea{font-family:inherit;outline:none}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}@media (max-width: 768px){#root{padding:0}}.calculator-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.calculator{background:linear-gradient(135deg,#181829,#23233a);border-radius:16px;border:1px solid #35355a;box-shadow:0 8px 32px #0006;padding:20px;width:280px;max-width:90vw}.calculator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#a5b4fc;font-weight:600}.calculator-close{background:none;border:none;color:#a5b4fc;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.calculator-close:hover{background-color:#a5b4fc1a}.calculator-display{background:#0f0f1a;color:#e0e6f7;font-size:24px;font-weight:600;padding:16px;text-align:right;border-radius:8px;border:1px solid #35355a;margin-bottom:16px;min-height:50px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;word-break:break-all}.calculator-buttons{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);gap:8px}.calc-btn{background:linear-gradient(135deg,#35355a,#23233a);color:#e0e6f7;border:none;border-radius:8px;padding:16px 8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:50px}.calc-btn:hover{background:linear-gradient(135deg,#4a4a6a,#2a2a4a);transform:translateY(-1px)}.calc-btn:active{transform:translateY(0)}.calc-btn.operator{background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff}.calc-btn.operator:hover{background:linear-gradient(135deg,#5f9cff,#8f63bc);box-shadow:0 4px 12px #4f8cff4d}.calc-btn.clear{background:linear-gradient(135deg,#ff6b6b,#d63447);color:#fff}.calc-btn.clear:hover{background:linear-gradient(135deg,#ff7b7b,#e64457);box-shadow:0 4px 12px #ff6b6b4d}.calc-btn.equals{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff;grid-row:span 1}.calc-btn.equals:hover{background:linear-gradient(135deg,#61df76,#47c25d);box-shadow:0 4px 12px #51cf664d}.calc-btn.zero{grid-column:span 2}.calc-btn.use-result{background:linear-gradient(135deg,#ffa726,#f57c00);color:#fff;font-weight:700}.calc-btn.use-result:hover{background:linear-gradient(135deg,#ffb74d,#fb8c00);box-shadow:0 4px 12px #ffa7264d}.calculator-icon{background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff;border:none;border-radius:6px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;margin-left:8px}.calculator-icon:hover{background:linear-gradient(135deg,#5f9cff,#8f63bc);transform:translateY(-2px);box-shadow:0 4px 12px #4f8cff4d}@media (max-width: 500px){.calculator{width:250px;padding:16px}.calculator-display{font-size:20px;padding:12px;min-height:40px}.calc-btn{padding:12px 6px;font-size:14px;min-height:40px}.calculator-buttons{gap:6px}}body{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#181829;color:#e0e6f7;margin:0;padding:0;line-height:1.6}.App{max-width:1100px;margin:48px auto;padding:32px 32px 24px;background:#23233a;border-radius:20px;box-shadow:0 8px 32px #2c2c542e}.App>div:first-child{margin-bottom:32px;border-bottom:1px solid #35355a;padding-bottom:18px;display:flex;justify-content:space-between;align-items:center}h1{font-size:2.3rem;font-weight:800;margin:0;color:#a5b4fc;letter-spacing:1px}.App>div:first-child span{color:#a5b4fc;font-weight:500;font-size:1.08rem}button{background:linear-gradient(90deg,#4f8cff,#7f53ac);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #4f8cff1f;letter-spacing:.5px}button:hover{background:linear-gradient(90deg,#7f53ac,#4f8cff);box-shadow:0 4px 16px #7f53ac2e;transform:translateY(-1px) scale(1.03)}button:active{transform:scale(.97)}button[type=button]{background:#35355a;color:#a5b4fc}button[type=button]:hover{background:#4f8cff;color:#fff}form{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px 18px;background:#23233a;border:1.5px solid #35355a;border-radius:14px;margin-bottom:18px}form label{font-weight:600;color:#a5b4fc;margin-right:6px}input,select{padding:10px 14px;border:1.5px solid #35355a;border-radius:8px;font-size:1rem;background:#f4f7fa;color:#181829;transition:border .2s,box-shadow .2s;min-width:120px}input:focus,select:focus{border-color:#4f8cff;box-shadow:0 0 0 2px #4f8cff33;outline:none}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5)}input::placeholder{color:#7f53ac;opacity:.8}ul{list-style:none;padding-left:0;margin:0}li{background:#23233a;border:1.5px solid #35355a;border-radius:12px;padding:12px 18px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;color:#e0e6f7;font-size:1.05rem;box-shadow:0 2px 8px #23233a22}li button{margin-left:8px;padding:6px 14px;font-size:.95rem;border-radius:8px}strong{color:#a5b4fc;font-weight:700}.App>div{margin-bottom:28px}.budget-summary{background:#23233a;border-radius:14px;border:1.5px solid #35355a;padding:18px 22px;margin-bottom:18px;color:#e0e6f7;font-size:1.08rem;box-shadow:0 2px 8px #23233a22}.budget-summary strong{color:#a5b4fc}.expense-group{background:#23233a;border-radius:14px;border:1.5px solid #35355a;padding:18px 22px;margin-bottom:18px;color:#e0e6f7;box-shadow:0 2px 8px #23233a22}.expense-group h3{color:#a5b4fc;margin-bottom:10px}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;gap:12px}.ml-8{margin-left:8px}.ml-4{margin-left:4px}.mr-4{margin-right:4px}.mb-20{margin-bottom:20px}.mb-16{margin-bottom:16px}.h-32{height:32px}.w-80{width:80px}.dashboard-header{display:flex;justify-content:space-between;align-items:center}.user-info{display:flex;align-items:center;gap:12px}.user-info button{padding:8px 16px;background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;min-width:100px;height:auto;display:flex;align-items:center;justify-content:center}.user-info button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4f8cff4d}.form-section{margin-bottom:20px}.form-actions,.edit-controls{margin-left:8px}.button-group{display:flex;gap:4px;margin-left:4px}.nav-tabs{display:flex;gap:8px;margin:20px 0;border-bottom:2px solid #35355a;padding-bottom:8px}.nav-tab{background:transparent;color:#a5b4fc;border:none;padding:12px 24px;border-radius:8px 8px 0 0;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.nav-tab:hover{background:#35355a;color:#fff;transform:translateY(-2px)}.nav-tab.active{background:linear-gradient(90deg,#4f8cff,#7f53ac);color:#fff;border-bottom:3px solid #4f8cff;transform:translateY(-2px)}.month-year-selector{display:flex;gap:12px;align-items:center;margin:16px 0;padding:16px;background:#23233a;border-radius:12px;border:1.5px solid #35355a}.month-year-selector label{color:#a5b4fc;font-weight:600;margin-right:8px}.month-year-selector select{min-width:120px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.overview-card{background:#23233a;border-radius:16px;padding:24px;border:1.5px solid #35355a;box-shadow:0 4px 16px #2c2c5426;transition:transform .2s,box-shadow .2s}.overview-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2c2c5433}.overview-card h3{color:#a5b4fc;font-size:1.1rem;margin-bottom:12px;font-weight:600}.overview-card .amount{font-size:2.2rem;font-weight:800;color:#4f8cff;margin:8px 0}.overview-card .amount.positive{color:#4caf50}.overview-card .amount.negative{color:#ff6b81}.overview-card .subtitle{color:#e0e6f7;font-size:.95rem;opacity:.8}.tab-content{min-height:400px;padding:20px 0}.tab-content.hidden{display:none}.quick-actions{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.quick-action-btn{background:#35355a;color:#a5b4fc;border:none;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:#4f8cff;color:#fff;transform:translateY(-1px)}@media (max-width: 900px){.App{margin:18px;padding:12px}form{flex-direction:column;align-items:stretch;gap:10px}button{width:100%}.budget-summary,.expense-group{padding:12px 8px}.dashboard-header{flex-direction:column;gap:12px;text-align:center}.user-info{flex-direction:column;gap:8px}.nav-tabs{flex-wrap:wrap;gap:4px}.nav-tab{padding:8px 16px;font-size:1rem}.overview-cards{grid-template-columns:1fr}.month-year-selector{flex-direction:column;gap:8px;align-items:stretch}.quick-actions{justify-content:center}}.goal-alerts-section{margin:32px 0;padding:24px;background:#2d374826;border-radius:16px;border:1px solid rgba(165,180,252,.2)}.goal-alerts-section h3{color:#a5b4fc;font-size:1.4rem;font-weight:700;margin-bottom:20px;text-align:center;letter-spacing:.5px}.goal-alerts{display:flex;flex-direction:column;gap:12px}.goal-alert{display:flex;align-items:center;padding:16px 20px;border-radius:12px;transition:all .2s ease;border:1px solid transparent}.goal-alert.alert-success{background:#22c55e1a;border-color:#22c55e4d}.goal-alert.alert-warning{background:#fbbf241a;border-color:#fbbf244d}.goal-alert:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.alert-icon{font-size:1.5rem;margin-right:16px;flex-shrink:0}.alert-content{flex:1}.alert-title{font-weight:700;color:#a5b4fc;font-size:1rem;margin-bottom:4px}.alert-details{font-size:.9rem;color:#94a3b8;line-height:1.4}.more-goals-info{text-align:center;padding:12px;color:#94a3b8;font-style:italic;font-size:.9rem}.goals-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.goal-item{background:#2d374826;border-radius:16px;padding:20px;border:2px solid transparent;transition:all .2s ease;position:relative}.goal-item.achievable{border-color:#22c55e66;background:#22c55e0d}.goal-item.needs-budget{border-color:#fbbf2466;background:#fbbf240d}.goal-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.goal-header-left{display:flex;align-items:center}.goal-header-right{display:flex;align-items:center;max-width:60%}.goal-priority{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.goal-priority.priority-high{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.goal-priority.priority-medium{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.goal-priority.priority-low{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.goal-status{font-size:.9rem;font-weight:600;padding:4px 8px;border-radius:8px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-status.status-achievable{color:#22c55e}.goal-status.status-blocked{color:#fbbf24}.goal-content{margin:12px 0;color:#a5b4fc;font-size:1rem;line-height:1.5}.goal-content strong{color:#e2e8f0}.goal-amount{font-size:1.3rem;font-weight:700;color:#4f8cff;margin:12px 0}.goal-delete-btn{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:12px;align-self:flex-end;width:fit-content}.goal-delete-btn:hover{background:#ef44444d;transform:scale(1.05)}.no-goals-message{text-align:center;color:#94a3b8;font-style:italic;padding:32px;background:#2d37481a;border-radius:12px;border:2px dashed rgba(165,180,252,.3)}.expense-categories-grid{margin-bottom:32px}.expense-categories-grid h3{color:#a5b4fc;font-size:1.4rem;margin-bottom:20px;text-align:center}.category-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.category-box{background:linear-gradient(135deg,#2a2a4a,#1f1f3a);border:2px solid #35355a;border-radius:16px;padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.category-box:hover{transform:translateY(-4px);border-color:#a5b4fc;box-shadow:0 8px 25px #a5b4fc26}.category-box:active{transform:translateY(-2px)}.category-icon{font-size:2.5rem;margin-bottom:12px;display:block}.category-box h4{color:#e0e6f7;font-size:1.1rem;font-weight:600;margin:0 0 8px}.category-total{color:#a5b4fc;font-size:.9rem;font-weight:500;background:#a5b4fc1a;padding:4px 8px;border-radius:8px;display:inline-block}.expense-form-container{background:#2a2a4a;border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid #35355a}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #35355a}.form-header h3{color:#a5b4fc;font-size:1.3rem;margin:0}.form-month-info{color:#a5b4fc;font-size:.9rem;margin:5px 0 0;opacity:.8}.back-btn{background:#35355a;color:#e0e6f7;border:none;padding:8px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#4a4a6a;transform:translate(-2px)}.enhanced-form-section{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row input,.form-row select{background:#1f1f3a;border:2px solid #35355a;border-radius:12px;padding:12px 16px;color:#e0e6f7;font-size:1rem;transition:all .2s ease}.form-row input:focus,.form-row select:focus{outline:none;border-color:#a5b4fc;box-shadow:0 0 0 3px #a5b4fc1a}.add-expense-btn{background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.add-expense-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4f8cff4d}.expense-summary{margin-bottom:32px}.expense-summary h3{color:#a5b4fc;font-size:1.3rem;margin-bottom:16px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.summary-label{display:block;color:#94a3b8;font-size:.9rem;margin-bottom:8px}.summary-value{display:block;color:#e0e6f7;font-size:1.4rem;font-weight:700}.expense-categories-display{display:flex;flex-direction:column;gap:24px}.expense-category-section{background:#2a2a4a;border-radius:16px;padding:20px;border:1px solid #35355a}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #35355a}.category-header h3{color:#e0e6f7;font-size:1.2rem;margin:0;display:flex;align-items:center;gap:8px}.category-total-display{color:#a5b4fc;font-size:1.1rem;font-weight:600;background:#a5b4fc1a;padding:6px 12px;border-radius:8px}.subcategory-section{margin-bottom:20px}.subcategory-title{color:#94a3b8;font-size:1rem;margin:0 0 12px;font-weight:600}.expense-list{display:flex;flex-direction:column;gap:8px}.expense-item{background:#1f1f3a;border:1px solid #35355a;border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.expense-item:hover{border-color:#4a4a6a;background:#252542}.expense-info{display:flex;flex-direction:column;gap:4px}.expense-name{color:#e0e6f7;font-weight:600;font-size:1rem}.expense-details{color:#94a3b8;font-size:.85rem}.delete-expense-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.delete-expense-btn:hover{background:#ef444433;transform:scale(1.05)}.export-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease}.export-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b9814d}.no-expenses{text-align:center;padding:40px;color:#94a3b8;font-style:italic}.no-expenses p{margin:0;font-size:1.1rem}.budget-categories-grid{margin-bottom:32px}.budget-categories-grid h3{color:#a5b4fc;font-size:1.4rem;margin-bottom:20px;text-align:center}.budget-form-container{background:#2a2a4a;border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid #35355a}.add-budget-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.add-budget-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b9814d}.budget-summary{margin-bottom:32px}.budget-summary h3{color:#a5b4fc;font-size:1.3rem;margin-bottom:16px}.budget-remaining.positive{color:#10b981}.budget-remaining.negative{color:#ef4444}.budget-categories-display{display:flex;flex-direction:column;gap:24px}.budget-category-section{background:#2a2a4a;border-radius:16px;padding:20px;border:1px solid #35355a}.budget-list{display:flex;flex-direction:column;gap:8px}.budget-item{background:#1f1f3a;border:1px solid #35355a;border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.budget-item:hover{border-color:#4a4a6a;background:#252542}.budget-info{display:flex;flex-direction:column;gap:4px}.budget-amount{color:#10b981;font-weight:700;font-size:1.1rem}.budget-details{color:#94a3b8;font-size:.85rem}.budget-actions{display:flex;gap:8px;align-items:center}.edit-budget-btn{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3);padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.edit-budget-btn:hover{background:#3b82f633;transform:scale(1.05)}.delete-budget-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.delete-budget-btn:hover{background:#ef444433;transform:scale(1.05)}.no-budget{text-align:center;padding:40px;color:#94a3b8;font-style:italic}.no-budget p{margin:0;font-size:1.1rem}@media (max-width: 900px){.goal-alert{padding:12px 16px}.alert-icon{font-size:1.3rem;margin-right:12px}.alert-title{font-size:.9rem}.alert-details{font-size:.8rem}.goal-item{padding:16px}.goal-header{flex-direction:column;align-items:flex-start;gap:8px}.goal-delete-btn{position:static;margin-top:12px;align-self:flex-start}.category-boxes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.category-box{padding:20px}.form-row,.summary-cards{grid-template-columns:1fr;gap:12px}}@media (max-width: 500px){.category-boxes{grid-template-columns:1fr}.category-header,.expense-item{flex-direction:column;align-items:flex-start;gap:8px}.delete-expense-btn{align-self:flex-end}}.report-container{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#181829;color:#e0e6f7;margin:0;padding:0;line-height:1.6}.report-app{max-width:1100px;margin:48px auto;padding:32px 32px 24px;background:#23233a;border-radius:20px;box-shadow:0 8px 32px #2c2c542e}.report-header{margin-bottom:32px;border-bottom:1px solid #35355a;padding-bottom:18px;display:flex;justify-content:space-between;align-items:center}.report-header h1{font-size:2.3rem;font-weight:800;margin:0;color:#a5b4fc;letter-spacing:1px}.back-button{background:linear-gradient(90deg,#4f8cff,#7f53ac);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #4f8cff1f;letter-spacing:.5px;height:32px}.back-button:hover{background:linear-gradient(90deg,#7f53ac,#4f8cff);box-shadow:0 4px 16px #7f53ac2e;transform:translateY(-1px) scale(1.03)}.back-button:active{transform:scale(.97)}.charts-container{display:flex;flex-wrap:wrap;gap:40px;margin-top:40px;justify-content:center}.chart-card{width:400px;height:450px;background:#f4f7fa;border-radius:16px;box-shadow:0 4px 24px #2c2c5426;padding:32px 24px 20px;border:1.5px solid #e1e5e9;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;overflow:hidden}.chart-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #2c2c5433}.chart-title-expense{text-align:center;color:#4f8cff;font-size:1.2rem;font-weight:700;margin:0 0 24px;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid rgba(79,140,255,.2)}.chart-title-budget{text-align:center;color:#7f53ac;font-size:1.2rem;font-weight:700;margin:0 0 24px;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid rgba(127,83,172,.2)}.no-data-message{text-align:center;color:#888;font-size:1rem;font-style:italic;margin-top:60px;padding:20px;background:#f9f9f9;border-radius:8px;border:1px solid #e1e5e9}.chart-responsive-container{width:100%;height:320px;flex:1}.recharts-tooltip-wrapper{z-index:1000}.recharts-default-tooltip{background-color:#fff!important;border:1px solid #e1e5e9!important;border-radius:8px!important;box-shadow:0 4px 16px #2c2c5426!important;color:#2d3748!important;font-size:.9rem!important;font-weight:500!important;padding:8px 12px!important}.recharts-tooltip-label{color:#4f8cff!important;font-weight:600!important;margin-bottom:4px!important}.recharts-tooltip-item{color:#2d3748!important;font-weight:500!important}.recharts-tooltip-item-value{font-weight:600!important;color:#7f53ac!important}.recharts-legend-wrapper{margin-top:20px!important;padding:0 15px!important;width:100%!important;display:flex!important;justify-content:center!important}.recharts-default-legend{text-align:center!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin:0!important}.recharts-legend-item{display:inline-flex!important;align-items:center!important;background:#2d3748e6!important;color:#fff!important;padding:6px 12px!important;border-radius:20px!important;font-size:11px!important;font-weight:600!important;margin:3px!important;box-shadow:0 2px 6px #00000026!important;border:1px solid rgba(255,255,255,.1)!important;transition:all .2s ease!important;white-space:nowrap!important}.recharts-legend-item:hover{transform:translateY(-1px)!important;box-shadow:0 4px 8px #0003!important;background:#2d3748!important}.recharts-legend-item-text{color:#fff!important;margin-left:6px!important;font-size:11px!important;font-weight:600!important}.recharts-surface{margin-right:6px!important}@media (max-width: 900px){.report-app{margin:18px;padding:20px 16px}.report-header{flex-direction:column;gap:16px;text-align:center}.report-header h1{font-size:2rem}.charts-container{gap:20px;margin-top:20px}.chart-card{width:100%;max-width:400px;height:420px;padding:24px 16px 16px}.chart-responsive-container{height:290px}}.month-selector{display:flex;gap:12px;align-items:center}.month-selector select{background:#1f1f3a;border:2px solid #35355a;border-radius:8px;padding:8px 12px;color:#e0e6f7;font-size:.9rem;cursor:pointer;transition:all .2s ease}.month-selector select:focus{outline:none;border-color:#a5b4fc;box-shadow:0 0 0 3px #a5b4fc1a}.monthly-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:linear-gradient(135deg,#2a2a4a,#1f1f3a);border:1px solid #35355a;border-radius:12px;padding:20px;text-align:center;transition:transform .2s ease}.summary-card:hover{transform:translateY(-2px)}.summary-card h3{color:#94a3b8;font-size:.9rem;margin:0 0 12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-amount{display:block;font-size:1.8rem;font-weight:700;margin:0}.budget-color{color:#4f8cff}.expense-color{color:#ef4444}.savings-positive{color:#10b981}.savings-negative{color:#ef4444}.full-width{grid-column:1 / -1;height:auto;min-height:400px}.charts-container .full-width{margin-bottom:24px}.chart-title{color:#a5b4fc;font-size:1.2rem;font-weight:600;margin-bottom:16px;text-align:center}@media (max-width: 900px){.report-header{flex-direction:column;gap:16px;align-items:flex-start}.month-selector{order:-1;align-self:flex-end}.monthly-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.summary-amount{font-size:1.5rem}}@media (max-width: 500px){.report-app{margin:12px;padding:16px 12px}.report-header h1{font-size:1.8rem}.chart-card{height:380px;padding:20px 12px 12px}.chart-responsive-container{height:270px}.back-button{padding:8px 16px;font-size:.9rem}.monthly-summary{grid-template-columns:1fr;gap:12px}.month-selector{flex-direction:column;gap:8px;width:100%}.month-selector select{width:100%}.full-width{min-height:350px}}.login-main{display:flex;min-height:100vh;width:100vw;background:#181829;overflow:hidden}.login-info-panel{flex:1.2;background:linear-gradient(135deg,#23233a 60%,#3a1c71);padding:60px;color:#e0e6f7;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-width:0}.login-info-panel h1{font-size:2.7rem;font-weight:800;margin-bottom:20px;color:#a5b4fc;letter-spacing:1px}.login-info-panel p{font-size:1.15rem;line-height:1.6;max-width:500px;margin:0 auto 30px;color:#e0e6f7}.login-info-panel hr{width:80%;border:none;border-top:1px solid #3b3b5c;margin:18px 0}.login-cta{font-size:1.1rem;color:#e0e6f7;margin-top:24px;text-align:center;display:flex;flex-direction:column;align-items:center}.login-getstarted{background:linear-gradient(90deg,#4f8cff,#7f53ac);color:#fff;padding:12px 32px;font-size:1.1rem;border:none;border-radius:8px;margin-top:18px;cursor:pointer;font-weight:600;box-shadow:0 2px 8px #4f8cff26;transition:background .2s}.login-getstarted:hover{background:linear-gradient(90deg,#7f53ac,#4f8cff)}.login-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#181829,#1f1f35);padding:40px;min-width:0;overflow:hidden;position:relative}.login-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(79,140,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(127,83,172,.05) 0%,transparent 50%);pointer-events:none}.login-heading{font-size:2.4rem;font-weight:700;text-align:center;margin-bottom:8px;color:#e0e6f7;letter-spacing:-.5px;position:relative;z-index:1}.login-subtitle{font-size:1rem;color:#a5b4fc;text-align:center;margin-bottom:40px;opacity:.9;position:relative;z-index:1}.login-card{background:#23233acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(165,180,252,.1);border-radius:24px;box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff0d inset;padding:48px 40px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.login-card form{display:flex;flex-direction:column;gap:24px}.login-card input[type=text],.login-card input[type=email],.login-card input[type=password]{padding:16px 20px;border:1px solid rgba(165,180,252,.2);border-radius:12px;font-size:1rem;background:#0f0f1acc;color:#e0e6f7;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;outline:none}.login-card input[type=text]::placeholder,.login-card input[type=email]::placeholder,.login-card input[type=password]::placeholder{color:#8b90a0;opacity:1}.login-card input:focus{border:1px solid #4f8cff;outline:none;box-shadow:0 0 0 3px #4f8cff1a,0 4px 12px #4f8cff26;transform:translateY(-1px)}.login-card input:hover{border:1px solid rgba(165,180,252,.3)}.login-card button[type=submit]{background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff;border:none;border-radius:12px;padding:18px 32px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:16px;transition:all .3s ease;box-shadow:0 8px 24px #4f8cff33,0 0 0 1px #ffffff1a inset;letter-spacing:.3px;width:100%;position:relative;overflow:hidden}.login-card button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.login-card button[type=submit]:hover{background:linear-gradient(135deg,#5f9cff,#8f63bc);box-shadow:0 12px 32px #4f8cff4d,0 0 0 1px #fff3 inset;transform:translateY(-2px)}.login-card button[type=submit]:hover:before{left:100%}.login-card button[type=submit]:active{transform:translateY(0)}.login-card .login-error{color:#ff6b6b;font-size:.9rem;text-align:center;margin-bottom:16px;padding:12px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-footer{text-align:center;margin-top:32px;position:relative;z-index:1}.login-footer-text{color:#8b90a0;font-size:.95rem;margin-bottom:8px}.login-footer-link{color:#4f8cff;text-decoration:none;font-weight:600;transition:color .2s ease}.login-footer-link:hover{color:#7f53ac;text-decoration:underline}@media (max-width: 900px){.login-main{flex-direction:column}.login-info-panel,.login-container{flex:none;width:100vw;min-width:0;border-radius:0;box-shadow:none}.login-info-panel{padding:32px 10vw}.login-card{margin:32px auto}}body,html,#root{height:100%;margin:0;padding:0;font-family:Segoe UI,Arial,sans-serif;background:#181829;color:#e0e6f7}.signup-main{display:flex;min-height:100vh;width:100vw;background:#181829;overflow:hidden}.signup-info-panel{flex:1.2;background:linear-gradient(135deg,#23233a 60%,#3a1c71);padding:60px;color:#e0e6f7;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-width:0}.signup-info-panel h1{font-size:2.7rem;font-weight:800;margin-bottom:20px;color:#a5b4fc;letter-spacing:1px}.signup-info-panel p{font-size:1.15rem;line-height:1.6;max-width:500px;margin:0 auto 30px;color:#e0e6f7}.signup-info-panel hr{width:80%;border:none;border-top:1px solid #3b3b5c;margin:18px 0}.signup-cta{font-size:1.1rem;color:#e0e6f7;margin-top:24px;text-align:center;display:flex;flex-direction:column;align-items:center}.signup-getstarted{background:linear-gradient(90deg,#4f8cff,#7f53ac);color:#fff;padding:12px 32px;font-size:1.1rem;border:none;border-radius:8px;margin-top:18px;cursor:pointer;font-weight:600;box-shadow:0 2px 8px #4f8cff26;transition:background .2s}.signup-getstarted:hover{background:linear-gradient(90deg,#7f53ac,#4f8cff)}.signup-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#181829,#1f1f35);padding:40px;min-width:0;overflow:hidden;position:relative}.signup-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(79,140,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(127,83,172,.05) 0%,transparent 50%);pointer-events:none}.signup-heading{font-size:2.4rem;font-weight:700;text-align:center;margin-bottom:8px;color:#e0e6f7;letter-spacing:-.5px;position:relative;z-index:1}.signup-subtitle{font-size:1rem;color:#a5b4fc;text-align:center;margin-bottom:40px;opacity:.9;position:relative;z-index:1}.signup-card{background:#23233acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(165,180,252,.1);border-radius:24px;box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff0d inset;padding:48px 40px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.signup-card form{display:flex;flex-direction:column;gap:24px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:.9rem;font-weight:600;color:#a5b4fc;margin-bottom:4px}.signup-card input[type=email],.signup-card input[type=password]{padding:16px 20px;border:1px solid rgba(165,180,252,.2);border-radius:12px;font-size:1rem;background:#0f0f1acc;color:#e0e6f7;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;outline:none}.signup-card input[type=email]::placeholder,.signup-card input[type=password]::placeholder{color:#8b90a0;opacity:1}.signup-card input:focus{border:1px solid #4f8cff;outline:none;box-shadow:0 0 0 3px #4f8cff1a,0 4px 12px #4f8cff26;transform:translateY(-1px)}.signup-card input:hover{border:1px solid rgba(165,180,252,.3)}.signup-card button[type=submit]{background:linear-gradient(135deg,#4f8cff,#7f53ac);color:#fff;border:none;border-radius:12px;padding:18px 32px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:16px;transition:all .3s ease;box-shadow:0 8px 24px #4f8cff33,0 0 0 1px #ffffff1a inset;letter-spacing:.3px;width:100%;position:relative;overflow:hidden}.signup-card button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.signup-card button[type=submit]:hover{background:linear-gradient(135deg,#5f9cff,#8f63bc);box-shadow:0 12px 32px #4f8cff4d,0 0 0 1px #fff3 inset;transform:translateY(-2px)}.signup-card button[type=submit]:hover:before{left:100%}.signup-card button[type=submit]:active{transform:translateY(0)}.signup-card .signup-error{color:#ff6b6b;font-size:.9rem;text-align:center;margin-bottom:16px;padding:12px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.signup-card .signup-success{color:#51cf66;font-size:.9rem;text-align:center;margin-bottom:16px;padding:12px;background:#51cf661a;border:1px solid rgba(81,207,102,.2);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.signup-footer{text-align:center;margin-top:32px;position:relative;z-index:1}.signup-footer-text{color:#8b90a0;font-size:.95rem;margin-bottom:8px}.signup-footer-link{color:#4f8cff;text-decoration:none;font-weight:600;transition:color .2s ease}.signup-footer-link:hover{color:#7f53ac;text-decoration:underline;border:1px solid rgba(76,175,80,.3)}.login-link{background:#23233a;border-radius:12px;padding:16px 16px 10px;font-size:1.03rem;color:#a5b4fc;margin-top:28px;border:1px solid #35355a;box-shadow:0 2px 8px #23233a33;text-align:center}.login-link strong{color:#fff;font-size:1.08rem;font-weight:700}.login-link p{margin:8px 0;font-size:.95rem}@media (max-width: 900px){.signup-main{flex-direction:column}.signup-info-panel,.signup-container{flex:none;width:100vw;min-width:0;border-radius:0;box-shadow:none}.signup-info-panel{padding:32px 10vw}.signup-card{margin:32px auto}}
