*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #21253a;--accent: #4f8ef7;--accent-hover: #3a7ae0;--text-primary: #ffffff;--text-secondary: #9099b0;--border: #2e3347;--error: #e05c5c;--success: #4caf7d}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,Segoe UI,sans-serif;height:100vh;width:100vw;overflow:hidden}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary);font-size:1rem}.auth-container{display:flex;align-items:center;justify-content:center;height:100vh;background-color:var(--bg-primary)}.auth-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:420px}.auth-title{font-size:1.8rem;font-weight:700;color:var(--accent);margin:0;line-height:1}.auth-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-button{background-color:var(--accent);color:#fff;border:none;border-radius:8px;padding:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-button:hover{background-color:var(--accent-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background-color:#e05c5c1a;border:1px solid var(--error);color:var(--error);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.auth-message{background-color:#4caf7d1a;border:1px solid var(--success);color:var(--success);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.auth-switch{margin-top:1.5rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.auth-switch span{color:var(--accent);cursor:pointer;font-weight:600}.auth-switch span:hover{text-decoration:underline}.dashboard-container{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:240px;min-width:240px;background-color:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem}.sidebar-title{color:var(--accent);font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;flex:1}.signout-button{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:.65rem;font-size:.9rem;cursor:pointer;transition:all .2s;margin-top:1rem;text-align:left;display:flex;align-items:center;gap:.6rem;white-space:nowrap}.signout-button:hover{border-color:var(--error);color:var(--error)}.auth-logo{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-bottom:1.5rem}.auth-logo .auth-title{margin:0}.sidebar.collapsed{width:64px;min-width:64px}.sidebar-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding:0 .25rem}.collapse-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;margin-left:auto;font-size:1rem;padding:.25rem}.collapse-btn:hover{color:var(--text-primary)}.overview{padding:0}.page-title{font-size:1.6rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.card-label{color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem}.card-value{color:var(--text-primary);font-size:1.6rem;font-weight:700}.sidebar-nav a{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary);text-decoration:none;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;transition:all .2s;white-space:nowrap;overflow:hidden}.sidebar-nav a:hover{background-color:var(--bg-card);color:var(--text-primary)}.sidebar-nav a.active{background-color:var(--bg-card);color:var(--accent);font-weight:600}.dashboard-main{flex:1;overflow-y:auto;padding:2rem;background-color:var(--bg-primary);min-width:0}.page{padding:0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.btn-primary{background-color:var(--accent);color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-danger:hover{border-color:var(--error);color:var(--error)}.form-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.form-title{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.loans-list{display:flex;flex-direction:column;gap:1rem}.loan-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.loan-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.loan-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.loan-lender{font-size:.85rem;color:var(--text-secondary);margin-top:.2rem}.loan-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.25rem}.loan-stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.78rem;color:var(--text-secondary)}.stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.stat-value.red{color:var(--error)}.progress-bar-container{background-color:var(--bg-card);border-radius:999px;height:6px;margin-bottom:.4rem;overflow:hidden}.progress-bar{background-color:var(--accent);height:100%;border-radius:999px;transition:width .4s ease}.progress-label{font-size:.78rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.95rem;line-height:2}.utilization-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:.75rem}.accent-card{border-color:var(--accent)}.mortgage-payment-breakdown{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.pmi-alert{background-color:#4caf7d1a;border:1px solid var(--success);color:var(--success);border-radius:8px;padding:.75rem 1rem;font-size:.85rem;margin-top:1rem}.btn-edit{background:none;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-edit:hover{background-color:var(--accent);color:#fff}.btn-success{background-color:var(--success);color:#fff;border:none;border-radius:8px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-success:hover{background-color:#3d9e68}.btn-success:disabled{opacity:.6;cursor:not-allowed}.payment-log-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.payment-preview{background-color:var(--bg-primary);border-radius:8px;padding:.75rem 1rem;margin-top:.75rem;display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-secondary)}.payment-preview span{font-weight:600}.history-toggle{background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;transition:all .2s;text-decoration:none}.history-toggle:hover{border-color:var(--accent);color:var(--accent)}.payment-history{margin-top:1rem;overflow-x:auto}.payment-table{width:100%;border-collapse:collapse;font-size:.85rem}.payment-table th{text-align:left;color:var(--text-secondary);font-weight:500;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.payment-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.payment-table tr:last-child td{border-bottom:none}.chart-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:.4rem}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:.7rem;font-weight:700;cursor:help;transition:all .2s}.tooltip-icon:hover{border-color:var(--accent);color:var(--accent)}.tooltip-box{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:.8rem;padding:.5rem .75rem;border-radius:8px;white-space:normal;width:220px;line-height:1.5;z-index:100;box-shadow:0 4px 12px #0000004d}.info-banner{background-color:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:.85rem 1rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.info-banner strong{color:var(--text-primary)}.legal-text{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.85rem;line-height:1.8}.legal-text h3{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.legal-text h4{color:var(--text-primary);font-size:.875rem;margin-top:1rem;margin-bottom:.25rem}.legal-text p{margin-bottom:.5rem}
