body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background-color:#f9f9f9;color:#333}.container{margin:1rem;padding:2rem}nav{background-color:#4caf50;padding:1rem;border-radius:8px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}nav a{color:#fff;margin-left:1rem;text-decoration:none}nav a:hover{text-decoration:underline}.card{padding:1rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;width:30%;text-align:center}.card-container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}form input,form select{width:100%;margin-bottom:1rem;padding:.6rem;border-radius:6px;border:1px solid #ccc}form button{width:100%;padding:.7rem;background-color:#4caf50;border:none;color:#fff;font-weight:700;border-radius:6px;cursor:pointer}form button:hover{background-color:#45a049}.transaction-list{list-style:none;padding:0}.transaction-list li{background-color:#fff;border:1px solid #eee;border-left:6px solid #4caf50;padding:1rem;margin-bottom:1rem;border-radius:6px;display:flex;justify-content:space-between;align-items:center}:root{--primary: #4361ee;--primary-light: #4895ef;--dark: #212529;--gray: #6c757d;--light-gray: #e9ecef;--white: #ffffff;--success: #4cc9f0;--danger: #f72585}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f7fa;padding:2rem}.auth-card{background:var(--white);border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:2.5rem;width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:2.5rem;color:var(--primary);margin-bottom:1rem}.auth-header h2{color:var(--dark);margin-bottom:.5rem;font-size:1.75rem}.auth-header p{color:var(--gray);font-size:.95rem}.input-group{position:relative;margin-bottom:1.5rem}.input-icon{position:absolute;left:1rem;top:36%;transform:translateY(-50%);color:var(--gray);font-size:1.1rem}.auth-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:all .3s ease}.auth-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4361ee33}.auth-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.9rem}.remember-me{display:flex;align-items:center;color:var(--gray);cursor:pointer}.remember-me input{margin-right:.5rem;width:auto}.forgot-password{color:var(--primary);text-decoration:none;transition:color .3s ease}.forgot-password:hover{color:var(--primary-light);text-decoration:underline}.auth-button{width:100%;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease}.auth-button:hover{background-color:var(--primary-light)}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--gray);font-size:.95rem}.auth-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color .3s ease}.auth-link:hover{color:var(--primary-light);text-decoration:underline}.password-strength{height:4px;background:var(--light-gray);margin-top:.5rem;border-radius:2px}.strength-meter{height:100%;border-radius:2px;transition:width .3s ease}.auth-error{color:var(--danger);background:#ef44441a;padding:.75rem;border-radius:8px;margin:1rem 0;font-size:.9rem}.auth-button:disabled{opacity:.7;cursor:not-allowed}:root{--primary: #4361ee;--primary-light: #4895ef;--primary-dark: #3f37c9;--secondary: #3a0ca3;--success: #4cc9f0;--success-dark: #38b6db;--danger: #f72585;--danger-dark: #e5177b;--warning: #f8961e;--warning-dark: #e68a17;--info: #43aa8b;--info-dark: #37987b;--light: #f8f9fa;--light-gray: #e9ecef;--medium-gray: #ced4da;--dark-gray: #6c757d;--dark: #212529;--white: #ffffff;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--transition: all .3s ease;--income-color: #10b981;--income-light: #d1fae5;--expense-color: #ef4444;--expense-light: #fee2e2}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f5f7fa;color:var(--dark);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard-container{display:flex;flex-direction:column;min-height:100vh}.dashboard-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.logo-container{display:flex;align-items:center;gap:.75rem}.logo-icon{font-size:1.5rem;color:var(--primary)}.logo{font-size:1.5rem;font-weight:700;color:var(--primary);margin:0}.nav-links{display:flex;gap:1.5rem}.nav-link{text-decoration:none;color:var(--dark-gray);font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:.5rem;padding:.5rem 0;position:relative}.nav-link-text{position:relative}.nav-link-text:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--primary);transition:var(--transition)}.nav-link:hover .nav-link-text:after,.nav-link.active .nav-link-text:after{width:100%}.nav-link:hover{color:var(--dark)}.nav-link.active{color:var(--dark);font-weight:600}.dashboard-content{padding:2rem;max-width:1200px;margin:0 auto;width:100%;flex:1}.dashboard-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-content{flex:1;min-width:300px}.dashboard-header h1{font-size:2rem;color:var(--dark);margin-bottom:.5rem;font-weight:700}.welcome-message{color:var(--dark-gray);font-size:.95rem}.month-selector{display:flex;align-items:center;gap:1rem;background-color:var(--white);padding:.75rem 1.25rem;border-radius:50px;box-shadow:var(--shadow-sm)}.month-arrow{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--dark-gray);transition:var(--transition);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.month-arrow:hover{background-color:var(--light-gray);color:var(--dark)}.current-month{font-size:1.1rem;font-weight:600;color:var(--dark);margin:0;min-width:150px;text-align:center}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.overview-card{background-color:var(--white);border-radius:12px;padding:1.5rem;display:flex;align-items:flex-start;box-shadow:var(--shadow-sm);transition:var(--transition);position:relative;overflow:hidden}.overview-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.overview-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.income-card:before{background-color:var(--income-color)}.expense-card:before{background-color:var(--expense-color)}.income-card h3{color:var(--income-color)}.expense-card h3{color:var(--expense-color)}.balance-card h3{color:var(--dark)}.card-icon{font-size:1.5rem;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:1.25rem;flex-shrink:0;color:var(--white)}.card-icon.rupee{font-size:1.5rem;font-weight:700}.income-card .card-icon{background-color:var(--income-color)}.expense-card .card-icon{background-color:var(--expense-color)}.balance-card .card-icon{background-color:var(--income-color)}.card-content{flex:1}.card-content h3{font-size:.95rem;color:var(--dark-gray);margin-bottom:.5rem;font-weight:500}.card-amount{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.balance-card{border-left:4px solid var(--income-color)}.balance-card .card-icon.rupee{color:var(--white)}.balance-card.negative .card-icon{background-color:var(--expense-color)}.card-budget-status{font-size:.85rem;color:var(--dark-gray);margin-top:.25rem}.income .amount,.income-card .card-amount{color:var(--income-color)}.expense .amount,.expense-card .card-amount{color:var(--expense-color)}.balance-card .card-amount{color:var(--income-color)}.balance-card.negative{border-left-color:var(--expense-color)}.balance-card.negative .card-amount{color:var(--expense-color)}.transaction-form-section{background-color:var(--white);border-radius:12px;padding:2rem;margin-bottom:3rem;box-shadow:var(--shadow-sm)}.transaction-form-section h2{margin-bottom:1.5rem;font-size:1.5rem;color:var(--dark)}.transaction-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:flex;gap:1.25rem;flex-wrap:wrap}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--dark);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid var(--light-gray);border-radius:8px;font-size:1rem;transition:var(--transition);background-color:var(--white)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4361ee33}.form-group input::placeholder{color:var(--medium-gray)}.submit-group{display:flex;align-items:flex-end;gap:1rem}.submit-btn{background-color:var(--primary);color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);flex:1}.submit-btn:hover{background-color:var(--primary-dark)}.cancel-btn{background-color:var(--light-gray);color:var(--dark);border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.cancel-btn:hover{background-color:var(--medium-gray)}.transaction-history{background-color:var(--white);border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h2{font-size:1.5rem;color:var(--dark)}.transaction-controls{display:flex;gap:1rem;flex-wrap:wrap}.search-box{position:relative;min-width:250px}.search-box input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--light-gray);border-radius:8px;font-size:.95rem;transition:var(--transition)}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4361ee33}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--dark-gray)}.filter-group{display:flex;gap:.75rem}.filter-select{position:relative}.filter-select select{padding:.75rem 1rem .75rem 2rem;border:1px solid var(--light-gray);border-radius:8px;font-size:.95rem;background-color:var(--white);cursor:pointer;transition:var(--transition)}.filter-select select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4361ee33}.filter-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--dark-gray);pointer-events:none}.empty-state{text-align:center;padding:3rem 0;color:var(--dark-gray)}.empty-icon{width:100px;height:100px;margin:0 auto 1.5rem;background-color:var(--light-gray);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--dark-gray)}.reset-filters-btn{background-color:var(--light-gray);color:var(--dark);border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:var(--transition);margin-top:1rem}.reset-filters-btn:hover{background-color:var(--medium-gray)}.transaction-summary{margin-bottom:1rem;font-size:.9rem;color:var(--dark-gray)}.transaction-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-radius:8px;background-color:var(--light);flex-wrap:wrap;gap:1rem;border-left:4px solid transparent;transition:all .3s ease}.transaction-item:hover{transform:translate(5px);box-shadow:var(--shadow-sm)}.transaction-item.income{border-left-color:var(--income-color);background-color:var(--income-light)}.transaction-item.expense{border-left-color:var(--expense-color);background-color:var(--expense-light)}.transaction-main{display:flex;align-items:center;gap:1rem;flex:1;min-width:250px}.transaction-icon{font-size:1.25rem;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.income .transaction-icon{color:var(--income-color);background-color:#10b9811a}.expense .transaction-icon{color:var(--expense-color);background-color:#ef44441a}.transaction-info{flex:1}.transaction-title{font-weight:600;margin-bottom:.25rem;color:var(--dark)}.transaction-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--dark-gray);flex-wrap:wrap}.transaction-category{background-color:#6c757d1a;padding:.25rem .5rem;border-radius:4px}.transaction-date{display:flex;align-items:center;gap:.25rem}.transaction-amount{margin-left:auto;font-weight:600;min-width:100px;text-align:right}.amount{font-size:1.1rem}.transaction-actions{display:flex;gap:.5rem}.action-btn{padding:.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.edit-btn{background-color:#f8961e1a;color:var(--warning)}.edit-btn:hover{background-color:var(--warning);color:var(--white)}.delete-btn{background-color:#f725851a;color:var(--danger)}.delete-btn:hover{background-color:var(--danger);color:var(--white)}@media (max-width: 768px){.dashboard-nav{padding:1rem}.form-row{flex-direction:column;gap:1rem}.form-group{min-width:100%}.submit-group,.submit-btn,.cancel-btn,.transaction-controls,.search-box,.filter-group{width:100%}.transaction-item{flex-direction:column;align-items:stretch;gap:1rem}.transaction-amount{text-align:left;margin-left:56px}.transaction-actions{align-self:flex-end}}.error-message{background-color:#fee2e2;color:#b91c1c;padding:1rem;border-radius:8px;margin:1rem;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#b91c1c;font-size:1.2rem;cursor:pointer}.loading-state{text-align:center;padding:2rem}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #4361ee;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-links a{text-decoration:none;color:inherit}@media (max-width: 480px){.overview-cards{grid-template-columns:1fr}.month-selector{width:100%;justify-content:space-between}}
