body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{display:flex;height:100vh;font-family:Inter,sans-serif;background-color:#f0f4f8}.login-left{flex:1;background:linear-gradient(135deg,#1f2d3d,#31475e);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;text-align:center}.login-left h1{font-size:2.8rem;font-weight:700;margin-bottom:1rem;letter-spacing:.5px}.login-left p{font-size:1.15rem;max-width:320px;opacity:.85}.login-right{flex:1;display:flex;justify-content:center;align-items:center;background-color:#f9fafb}.login-form-card{background-color:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;text-align:left}.login-form-card h2{margin-bottom:2rem;color:#2c3e50;font-size:1.8rem}.login-form-card input{width:100%;padding:.8rem 1rem;margin-bottom:1.25rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fefefe;transition:border .2s ease}.login-form-card input:focus{border-color:#3498db;outline:none}.login-form-card button{width:100%;padding:.9rem;background-color:#3b82f6;color:#fff;font-weight:600;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .25s ease}.login-form-card button:hover{background-color:#2563eb}.login-link{margin-top:1.5rem;font-size:.9rem;text-align:center}.login-link a{color:#3b82f6;text-decoration:none;font-weight:500}.login-link a:hover{text-decoration:underline}@media (max-width: 768px){.login-page{flex-direction:column}.login-left{display:none}.login-right{flex:none;padding:2rem}.login-form-card{padding:2rem;box-shadow:none}}.login-error{color:#dc2626;margin-bottom:1rem;font-size:.95rem;font-weight:500;background-color:#fef2f2;padding:.75rem 1rem;border:1px solid #fca5a5;border-radius:8px}.input-with-icon{position:relative;width:100%;margin-bottom:1.25rem}.input-with-icon input{width:100%;padding-right:2.75rem;padding:.8rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fefefe;transition:border .2s ease}.input-with-icon input:focus{border-color:#3498db;outline:none}.toggle-password{position:absolute;right:0rem;top:35%;transform:translateY(-50%);cursor:pointer;font-size:1.2rem;color:#4b5563;display:flex;align-items:center;justify-content:center;height:100%;line-height:1}.eye-icon{width:1.25rem;height:1.25rem;color:#4b5563}.login-mobile-branding{display:none;text-align:center;margin-bottom:1.5rem}@media (max-width: 768px){.desktop-branding{display:none}}.mobile-branding-banner{display:none;margin:1rem auto 1.5rem;border-radius:16px}@media (max-width: 768px){.mobile-branding-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2d3d,#31475e);color:#fff;text-align:center;padding:2rem 1rem;border-radius:16px;margin-bottom:2rem}.mobile-branding-banner h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.mobile-branding-banner p{font-size:1rem;opacity:.9;max-width:300px}.login-right{flex-direction:column;align-items:center}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-card{animation:fadeSlideUp .6s ease-out;animation-delay:.1s;animation-fill-mode:backwards}.password-strength{font-size:.9rem;margin-top:.25rem;margin-bottom:1rem;font-weight:500}.password-strength.strong{color:#22c55e}.password-strength.medium{color:#facc15}.password-strength.weak{color:#ef4444}.login-logo{width:120px;height:auto;margin-bottom:1rem}.blue-text h1{color:#2cd4c4}.login-success{color:#16a34a;background-color:#ecfdf5;padding:.75rem 1rem;border-radius:6px;margin-top:1rem;text-align:center;font-weight:500}.navbar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#345678,#507a9f);padding:1rem 2rem;color:#fff;box-shadow:0 3px 8px #00000014;position:sticky;top:0;z-index:1000;flex-wrap:wrap}.logo{font-size:1.7rem;font-weight:700;color:#fff}.nav-links{display:flex;align-items:center;gap:1.5rem;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.nav-links a{color:#fff;text-decoration:none;font-weight:500;font-size:1rem;transition:opacity .2s ease}.nav-links a:hover{color:#2cd4c4}.nav-links button{background-color:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s}.nav-links button:hover{background-color:#dc2626;transform:translateY(-2px)}.hamburger{display:none;font-size:2rem;cursor:pointer}@media (max-width: 768px){.hamburger{display:flex;flex-direction:column;gap:5px}.hamburger span{height:3px;width:25px;background:#fff;border-radius:5px;transition:all .4s ease}.nav-links{flex-direction:column;align-items:center;background:#3e5c7bd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-left-radius:12px;border-bottom-right-radius:12px;box-shadow:0 8px 16px #00000026;position:absolute;top:80px;right:0;left:0;padding:2rem 1rem;gap:1.5rem;display:none;animation:slideDown .3s ease forwards}.nav-links.active{display:flex}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}@keyframes slideDown{0%{transform:translateY(-10%);opacity:0}to{transform:translateY(0);opacity:1}}.logo-container{display:flex;align-items:center;gap:.5rem}.navbar-logo{width:32px;height:32px;object-fit:contain}.logo-text{font-size:1.5rem;font-weight:700;color:#2cd4c4}.page-container{max-width:95rem;margin:0 auto;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f9fafb}.section-card{background-color:#f0f4f8;padding:1.5rem;border-radius:10px;margin-bottom:2rem;box-shadow:0 4px 8px #0000000f}.section-card h2,.section-card h3{margin-bottom:1rem;color:#1f2d3d}input,select,textarea{padding:.6rem;border-radius:6px;border:1px solid #ccc;font-size:.95rem;margin-bottom:.75rem;min-width:180px}button{background-color:#3498db;color:#fff;font-weight:700;border:none;padding:.6rem 1rem;border-radius:5px;cursor:pointer}button:hover{background-color:#2980b9}.dashboard-container{max-width:95rem;margin:0 auto;padding:1rem 2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#fff}.section-card,.section-card-white{background-color:#fff;padding:1.5rem;border-radius:10px;margin-bottom:2rem;box-shadow:0 4px 8px #0000000f}.section-card h3{margin-bottom:1rem;color:#1f2d3d}form input,form select{padding:.6rem;margin-right:.6rem;margin-bottom:.8rem;border-radius:6px;border:1px solid #ccc;font-size:.95rem}form.account-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.account-list{list-style-type:none;padding:0;margin:0}.account-list li{background-color:#fff;padding:1rem;margin-bottom:1rem;border-radius:8px;display:flex;flex-direction:column;box-shadow:0 2px 6px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.account-list li:hover{transform:translateY(-3px);box-shadow:0 6px 12px #00000014}.account-list .actions{margin-top:.5rem}.account-list .actions button{margin-right:.5rem;padding:.4rem .8rem;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:all .2s ease-in-out}.account-form .form-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.account-form input,.account-form select,.account-form button{height:2.5rem;padding:0 1rem;font-size:1rem;border-radius:6px;border:1px solid #ccc;box-sizing:border-box}.account-form button{background-color:#3498db;color:#fff;font-weight:700;border:none;cursor:pointer;transition:background-color .2s ease}.account-form button:hover{background-color:#2980b9}button[type=submit]{background-color:#3498db;color:#fff;font-weight:700;border:none;padding:.6rem 1rem;border-radius:5px;cursor:pointer}button[type=submit]:hover{background-color:#2980b9}button{background-color:#e0e0e0;color:#333}button:hover{background-color:#d5d5d5}.actions button:nth-child(2){background-color:#e74c3c;color:#fff}.actions button:nth-child(2):hover{background-color:#c0392b}.chart-section{margin-top:2rem;padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 6px 12px #0000000d}.analytics-section{background-color:#fff;padding:1.5rem;border-radius:10px;margin-top:2rem;box-shadow:0 4px 10px #0000000f}.expense-summary-message{margin-top:1rem;font-size:1rem;font-weight:500;color:#333}.account-type{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.account-type.checking{background:linear-gradient(145deg,#e0f2ff,#c7e0ff);color:#2563eb;box-shadow:inset 0 0 0 1px #93c5fd}.account-type.savings{background:linear-gradient(145deg,#fff7d6,#ffeeb5);color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}.account-type.investment{background-color:#f8d7da;color:#842029}.accounts-grid{display:flex;flex-wrap:wrap;gap:1.25rem}.account-list li{flex:1 1 calc(50% - 1.25rem)}.account-item{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.account-header{display:flex;flex-direction:column;gap:.5rem}.account-info{display:flex;align-items:center;gap:.75rem;font-size:1.1rem}.account-type-badge .account-type{padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:700;background-color:#e5e7eb}.account-type.checking{background-color:#dbeafe;color:#1d4ed8}.account-type.savings{background-color:#fef3c7;color:#b45309}.account-balance{font-size:1rem;font-weight:500;color:#111827}.actions button{margin-right:.5rem}.modal-content form{display:flex;flex-direction:column;gap:.75rem}.modal-content input,.modal-content select{padding:.5rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;width:100%;box-sizing:border-box}.summary-section{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;padding:1rem 0}.summary-box{flex:1;min-width:250px}.summary-pie{flex:1;min-width:300px;height:340px;display:flex;flex-direction:column;align-items:center}.summary-pie h3{margin-bottom:1rem;text-align:center}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.summary-grid{display:flex;gap:3rem;margin-bottom:1rem}.summary-label{font-weight:500;color:#555;margin-bottom:.25rem}.summary-value{font-size:1.25rem;font-weight:700}.summary-note{font-style:italic;color:#888}.section-card-white{display:flex;flex-direction:column;gap:2rem}@media (max-width: 768px){.summary-section{flex-direction:column}}.summary-pie h3{font-weight:700;margin-bottom:1rem;text-align:center}.account-analytics-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-top:1rem}.account-chart-line{flex:1 1 300px;min-width:300px}.account-pie-container{flex:1 1 300px;min-width:300px;display:flex;flex-direction:column;align-items:center}.chart-title{font-size:1rem;font-weight:600;margin-bottom:.75rem;text-align:center}.account-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.account-title{display:flex;align-items:center;gap:.5rem;font-size:1.2rem}.account-balance-display{font-size:1.5rem;font-weight:700;color:#111827}.actions-row{display:flex;gap:.5rem}.account-visuals-grid{display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between}.account-pie,.account-line{flex:1 1 500px;min-width:300px}.account-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.account-info-block{display:flex;flex-direction:column;gap:.25rem}.account-name-row{display:flex;align-items:center;gap:.5rem}.account-type-badge{padding:2px 8px;border-radius:8px;font-size:.75rem;font-weight:700;background-color:#e5e7eb;color:#111827}.account-balance-large{font-size:1.75rem;font-weight:600;margin-top:.5rem}.account-action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.account-visuals{margin-top:2rem;display:flex;flex-direction:column;gap:2rem}.account-chart-pie,.account-chart-line{width:100%}.account-action-buttons button:nth-child(1),button.delete-btn{background:linear-gradient(145deg,#ff4b5c,#ff1f4c);color:#fff;font-weight:600;padding:.6rem 1.2rem;border:none;border-radius:8px;box-shadow:0 3px 6px #ff1f4c33;transition:all .2s ease-in-out}.account-action-buttons button:nth-child(1):hover,button.delete-btn:hover{background:linear-gradient(145deg,#e6003d,#c03);box-shadow:0 5px 10px #e6003d40}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:2rem;width:90%;max-width:400px;box-shadow:0 4px 15px #0003}.modal input,.modal select{width:100%;margin-bottom:1rem;padding:.5rem;border-radius:6px;border:1px solid #ccc}.modal-buttons{display:flex;justify-content:space-between}.overlay{background-color:#00000080;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.modal{background:#fff;padding:2rem;border-radius:12px;max-width:500px;margin:auto;position:relative;top:10vh;display:flex;flex-direction:column;gap:1rem}.modal h2{margin-top:0;font-size:1.5rem}.modal-buttons{display:flex;justify-content:flex-end;gap:1rem}.primary-btn{background-color:#10b981;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer}.primary-btn:hover{background-color:#059669}.cancel-btn{background-color:#e5e7eb;color:#333;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:500;cursor:pointer}.cancel-btn:hover{background-color:#d1d5db}.add-transaction-btn{background-color:#2563eb;color:#fff;font-weight:700;padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:999px;box-shadow:0 4px 10px #2563eb33;cursor:pointer;transition:background-color .3s ease,transform .2s ease;display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5em;margin-bottom:1.5em}.add-transaction-btn:hover{background-color:#1e40af;transform:translateY(-2px)}.transactions-container,.page-container{max-width:95rem;margin:0 auto;padding:1rem 2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f9fafb}.transaction-form-card,.filter-card,.transaction-list-section,.pagination-controls{padding:1.5rem;border-radius:10px;margin-bottom:2rem}.transaction-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.transaction-form input,.transaction-form select{padding:.6rem;border-radius:6px;border:1px solid #ccc;font-size:.95rem;min-width:150px}.transaction-form button{background-color:#3498db;color:#fff;font-weight:700;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.transaction-form button:hover{background-color:#2980b9}.filters{display:flex;flex-wrap:wrap;gap:1rem}.filters select{padding:.5rem;border-radius:6px;border:1px solid #ccc}.monthly-toggle{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 1rem}.month-dropdown{padding:.5rem .75rem;font-size:.95rem;border-radius:6px;border:1px solid #ccc;background-color:#fff}.transaction-list{list-style:none;padding:0}.transaction-item{background-color:#fff;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 2px 6px #0000000d;border-left:6px solid #ccc}.transaction-item.expense{border-left-color:#e74c3c;background-color:#fff5f5}.transaction-item.income{border-left-color:#2ecc71;background-color:#f0fff4}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.transaction-left{flex:1;text-align:left}.transaction-topline{font-size:1.1rem;font-weight:600;margin-bottom:.4rem}.transaction-meta{font-size:.85rem;color:#555;display:flex;flex-direction:column;gap:2px}.transaction-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.transaction-actions button{padding:.5rem 1rem;font-weight:600;border-radius:8px;font-size:.95rem;border:none;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.transaction-actions button:first-child{background-color:#3498db;color:#fff}.transaction-actions button:first-child:hover{background-color:#2980b9;transform:translateY(-2px)}.transaction-actions button:last-child{background-color:#e74c3c;color:#fff}.transaction-actions button:last-child:hover{background-color:#c0392b;transform:translateY(-2px)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0}.pagination-controls button{padding:.6rem 1.2rem;font-weight:700;background-color:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer}.pagination-controls button:disabled{background-color:#ccc;cursor:not-allowed}.rows-per-page{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.group-by-month{display:flex;align-items:center;gap:.5rem}.group-by-month input[type=checkbox]{width:18px;height:18px;accent-color:#3498db;cursor:pointer;margin:0}.group-by-month label{font-weight:600;font-size:.95rem;color:#333;cursor:pointer}.group-by-month .month-dropdown{padding:.45rem .75rem;border-radius:6px;border:1px solid #ccc;background:#fff;font-size:.95rem}.pagination-footer{margin-top:2rem;background-color:#f1f5f9;padding:1rem 2rem;border-radius:12px;box-shadow:0 4px 8px #0000000d;display:flex;justify-content:center}.pagination-footer-inner{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.rows-control{display:flex;align-items:center;gap:.5rem}.rows-label{font-weight:600;color:#374151}.rows-dropdown{padding:.4rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem;background-color:#fff}.pagination-controls{display:flex;align-items:center;gap:1rem}.pagination-btn{background-color:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .2s}.pagination-btn:hover:not(:disabled){background-color:#2980b9}.pagination-btn:disabled{background-color:#cbd5e1;cursor:not-allowed}.pagination-page-text{font-weight:600;color:#374151}.transaction-item{transition:transform .2s ease,box-shadow .2s ease}.transaction-item:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a}.filter-card{background-color:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000000d}.filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filters select{padding:.6rem 1rem;border-radius:8px;border:1px solid #d1d5db;font-size:.95rem;background-color:#fff}.filters select:focus{border-color:#2563eb;outline:none}.reset-btn{background-color:#ef4444;color:#fff;font-weight:700;padding:.6rem 1.2rem;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.filter-card.enhanced{background:#fff;padding:1.5rem 2rem;border-radius:12px;margin:2rem 0;box-shadow:0 8px 20px #00000008;border:1px solid #e5e7eb}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-grid{display:flex;flex-wrap:wrap;gap:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.3rem;min-width:160px;flex:1}.filter-group label{font-size:.85rem;font-weight:600;color:#374151}.filter-group select{padding:.6rem 1rem;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;font-size:.95rem}.filter-group.full-width{flex-basis:100%;margin-top:1rem;align-items:flex-start}.reset-btn{background-color:#ef4444;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:background-color .3s ease}.reset-btn:hover{background-color:#dc2626}.filter-group.full-width{flex-basis:100%;margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.group-by-month select{margin-top:.25rem;max-width:200px}.calculator-visuals-wrapper{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap;align-items:flex-start}.calculator-section{flex:0 0 40%;min-width:300px}.visuals-section{flex:0 0 55%;display:flex;flex-direction:column;gap:1.5rem}.right-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.summary-card,.chart-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;padding:1.5rem;margin:0 auto;width:90%}.summary-card{text-align:center}.summary-card h3{font-size:1.5rem;color:#1e88e5;margin-bottom:1rem}.summary-card p{font-size:1rem;line-height:1.6;color:#374151}.chart-container{padding:1rem}.recharts-responsive-container{width:100%;height:300px}@media (max-width: 900px){.calculator-visuals-wrapper{flex-direction:column;gap:1.5rem}.calculator-section,.visuals-section{flex:0 0 100%}.summary-card,.chart-container{width:100%}}.calculator-card{background-color:#f0f4f8;border-radius:10px;box-shadow:0 4px 8px #0000000d;padding:1.5rem;margin-bottom:2rem}.calculator-toggle{background-color:#3498db;color:#fff;padding:.75rem 1.25rem;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:1rem}.calculator-toggle:hover{background-color:#2980b9}.calculator-form{display:flex;flex-direction:column;gap:1rem;background-color:#fff;padding:1rem}.calculator-form label{display:flex;flex-direction:column;font-weight:600;color:#333}.calculator-form input{padding:.5rem;margin-top:.25rem;border-radius:6px;border:1px solid #ccc;font-size:.95rem}.calculator-form button[type=submit]{align-self:flex-start;background-color:#2ecc71;color:#fff;padding:.6rem 1.2rem;border:none;border-radius:5px;font-weight:700;cursor:pointer;transition:background-color .2s ease}.calculator-form button[type=submit]:hover{background-color:#27ae60}.calculate-results{margin-top:1rem;background-color:#f7f9fc;padding:1rem;border-radius:6px;font-size:1rem;color:#2c3e50}.planning-container{max-width:95rem;margin:0 auto;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f9fafb}.planning-section{background-color:#f0f4f8;border-radius:10px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 8px #0000000d}.planning-section h3{margin-bottom:.5rem}.planning-section button{background-color:#ccc;color:#666;padding:.5rem 1rem;border:none;border-radius:6px}.planning-section button:hover{background-color:#b3b3b3;color:#222;cursor:pointer;transform:translateY(-1px);transition:all .2s ease-in-out}.calculator-card h3{margin-top:.5rem;color:#1f2d3d}.calculator-card p{font-size:.95rem;margin-bottom:1rem;color:#333}.calculator-toggle-box{margin-top:1rem;background-color:#fff;padding:1.25rem;border-radius:10px;box-shadow:0 3px 6px rgba(0,0,0,0,.05)}.calculator-card{background-color:#fff;padding:1.75rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 8px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.calculator-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.chat-box{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 12px #00000014;max-width:1000px;margin:2rem auto;display:flex;flex-direction:column;height:80vh}.chat-log{flex:1;overflow-y:auto;padding-right:8px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.message{max-width:75%;padding:.75rem 1rem;border-radius:10px;position:relative;font-size:.95rem;line-height:1.5;word-break:break-word}.message.user{align-self:flex-end;background:#e9f5ff;color:#0056b3}.message.assistant{align-self:flex-start;background:#f1f1f1;color:#333}.timestamp{position:absolute;bottom:-18px;right:0;font-size:.7rem;color:#999}.chat-input{display:flex;gap:.5rem;align-items:center}.chat-input input{flex:1;padding:.75rem;font-size:1rem;border:1px solid #ccc;border-radius:8px}.chat-input button:not(.clear-btn-inline){background:linear-gradient(135deg,#0056b3,#007bff);color:#fff;padding:.8rem 1.5rem;font-weight:700;font-size:1rem;border:none;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.chat-input button:not(.clear-btn-inline):hover{background:linear-gradient(135deg,#003c82,#0056b3);transform:scale(1.05)}.chat-input button:disabled{background:#d4e4fa;cursor:not-allowed;box-shadow:none}.clear-btn-inline{background:linear-gradient(135deg,#e04141,#ff4d4d);color:#fff;padding:.7rem 1.3rem;font-weight:700;font-size:1rem;border:none;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.clear-btn-inline:hover{background:linear-gradient(135deg,#c12b2b,#e04141);transform:scale(1.05)}.clear-btn-inline:disabled{background:#f8c8c8;cursor:not-allowed;box-shadow:none}.chat-title{text-align:center;margin-bottom:2rem;font-size:1.8rem;color:#333}.suggested-prompts{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.prompt-btn{background:#e8f0fe;border:1px solid #007bff;padding:.5rem 1rem;font-size:.9rem;border-radius:999px;cursor:pointer;transition:background-color .2s,border-color .2s;color:#0056b3;font-weight:500}.prompt-btn:hover{background:#d0e2ff;border-color:#0056b3}.prompt-btn:disabled{opacity:.6;cursor:not-allowed}.date-separator{display:flex;align-items:center;justify-content:center;position:relative;margin:1rem}.page-container{padding:2rem;background-color:#fafafa;min-height:100vh}.card{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 12px #0000000f}h2,h3,h4{color:#333}.portfolio-summary-card p{margin:.5rem 0;font-size:1rem}.gain{color:#28a745;font-weight:700}.loss{color:#dc3545;font-weight:700}button{cursor:pointer;border:none;border-radius:8px;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background-color .2s ease}.add-account-btn{background-color:#007bff;color:#fff;margin:2rem 0 1rem}.add-account-btn:hover{background-color:#0056b3}.chart-filters{display:flex;gap:.5rem;margin-bottom:1rem}.chart-filters button{background-color:#f0f0f0;color:#333}.chart-filters button.active{background-color:#007bff;color:#fff}.chart-filters button:hover{background-color:#cfe6ff}.investment-account-card{display:flex;flex-direction:column;gap:1.5rem}.holding-preview{background:#f9f9f9;padding:1rem;border-radius:8px}.holding-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.5rem}.mini-line-chart{width:100%;height:250px}.delete-account-btn{background-color:#dc3545;color:#fff;padding:.4rem .8rem;font-size:.8rem;margin-left:auto}.delete-account-btn:hover{background-color:#c82333}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:420px;width:90%;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:1rem}.performance-header{display:flex;align-items:center;background:#007bff;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:700;margin-bottom:1rem}.performance-header.gain-bg{background-color:#28a745}.performance-header.loss-bg{background-color:#dc3545}.recharts-tooltip-wrapper{border-radius:8px;overflow:hidden}button:disabled{opacity:.6;cursor:not-allowed}.card{transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.add-account-btn,.add-holding-btn{background-color:#007bff;color:#fff;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;border:none;border-radius:999px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;box-shadow:0 2px 6px #00000014}.add-account-btn:hover,.add-holding-btn:hover{background-color:#0056b3;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:420px;width:90%;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:1rem;z-index:1001;font-family:Segoe UI,sans-serif}.modal-content h3{margin-top:0;font-size:1.5rem;color:#333}.modal-content input{padding:.6rem 1rem;font-size:1rem;border:1px solid #ccc;border-radius:8px;width:100%}.modal-content button{padding:.7rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.modal-content button:first-of-type{background-color:#007bff;color:#fff}.modal-content button:first-of-type:hover{background-color:#0056b3}.modal-content button:last-of-type{background-color:#ccc;color:#000}.modal-content button:last-of-type:hover{background-color:#b3b3b3}.snapshot-buttons{margin-top:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.snapshot-buttons button{background-color:#1e88e5;color:#fff;font-weight:600;font-size:.95rem;padding:.6rem 1.2rem;border:none;border-radius:999px;cursor:pointer;box-shadow:0 2px 8px #1e88e540;transition:background-color .2s,transform .2s;display:flex;align-items:center;gap:.5rem}.snapshot-buttons button:hover{background-color:#1565c0;transform:translateY(-2px)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:1rem;color:#374151;font-size:1.1rem}.spinner{width:48px;height:48px;border:4px solid rgba(44,212,196,.2);border-top-color:#2cd4c4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
