:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0}input[type=date],input[type=number],input[type=text],input[type=email],input[type=password],select{font-family:Inter,system-ui,sans-serif;direction:ltr;text-align:left}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.header{background:linear-gradient(135deg,#0f172a,#1e293b);padding:1rem 2rem;position:sticky;top:0;z-index:100;border-bottom:1px solid #334155}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.6rem}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-link{color:#94a3b8;font-weight:500;padding:.6rem 1rem;border-radius:8px;transition:all .3s ease}.nav-link:hover{color:#10b981;background:#10b9811a}.nav-link.active{color:#10b981;background:#10b98126}.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:#10b981;font-weight:500}.btn-logout{background:transparent;border:1px solid #EF4444;color:#ef4444;padding:.5rem 1rem;border-radius:8px;font-weight:500;transition:all .3s ease}.btn-logout:hover{background:#ef4444;color:#fff}@media(max-width:768px){.header{padding:1rem}.nav-links{gap:.75rem}.nav-link{padding:.5rem .75rem;font-size:.9rem}}.expense-chart{padding:1rem}.expense-chart h3{color:#fff;font-size:1.3rem;margin-bottom:1.5rem;text-align:center;font-weight:600}.chart-empty{text-align:center;padding:3rem 2rem;color:#64748b}.chart-empty p:first-child{font-size:1.1rem;margin-bottom:.5rem;color:#94a3b8}.custom-tooltip{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:.8rem 1rem;box-shadow:0 4px 20px #0006}.tooltip-label{color:#94a3b8;font-size:.85rem;margin-bottom:.3rem}.tooltip-value{color:#fff;font-size:1.1rem;font-weight:600}.recharts-legend-item-text{color:#e2e8f0!important}.recharts-pie-label-text{fill:#e2e8f0;font-size:.8rem}.recharts-text{fill:#94a3b8}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-title{color:#fff;font-size:2rem;margin-bottom:2rem;font-weight:700}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:400px;color:#888;font-size:1.2rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.2rem;border:1px solid #334155;transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.card-icon{font-size:2.5rem;width:65px;height:65px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#ffffff0d}.card-content{display:flex;flex-direction:column;gap:.3rem}.card-label{color:#64748b;font-size:.9rem;font-weight:500}.card-value{font-size:1.8rem;font-weight:700;color:#fff}.summary-card.income .card-value{color:#10b981}.summary-card.expenses .card-value{color:#ef4444}.summary-card.balance.positive .card-value{color:#10b981}.summary-card.balance.negative .card-value{color:#ef4444}.chart-section{background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:16px;padding:2rem;border:1px solid #334155}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.transaction-form{background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:16px;padding:2rem;width:100%;max-width:450px;border:1px solid #334155;max-height:90vh;overflow-y:auto}.transaction-form h2{color:#fff;margin-bottom:1.5rem;text-align:center;font-size:1.3rem}.type-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#0f172a;border-radius:10px;padding:.3rem;border:1px solid #334155}.type-btn{flex:1;padding:.8rem;border:none;background:transparent;color:#64748b;border-radius:8px;font-weight:500;transition:all .3s ease}.type-btn.active{color:#fff}.type-btn.active.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}.type-btn.active.income{background:linear-gradient(135deg,#10b981,#059669)}.transaction-form .form-group{margin-bottom:1.2rem}.transaction-form label{display:block;color:#94a3b8;font-size:.9rem;margin-bottom:.5rem;font-weight:500}.transaction-form input,.transaction-form select{width:100%;padding:.8rem 1rem;background:#0f172a;border:2px solid #334155;border-radius:10px;color:#fff;font-size:1rem;-webkit-appearance:menulist;appearance:menulist}.transaction-form input:focus,.transaction-form select:focus{outline:none;border-color:#10b981}.transaction-form input::placeholder{color:#64748b}.transaction-form select option{background:#1e293b;color:#fff;padding:10px}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-cancel{flex:1;padding:.8rem;background:transparent;border:1px solid #64748b;color:#94a3b8;border-radius:10px;font-weight:500;transition:all .3s ease}.btn-cancel:hover{border-color:#94a3b8;color:#fff}.btn-submit{flex:1;padding:.8rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;transition:transform .3s ease}.btn-submit:hover:not(:disabled){transform:translateY(-2px)}.transactions-page{max-width:1000px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{color:#fff;font-size:2rem;font-weight:700}.btn-add{padding:.8rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1rem;transition:transform .3s ease}.btn-add:hover{transform:translateY(-2px)}.filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end;padding:1.5rem;background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:12px;border:1px solid #334155}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#64748b;font-size:.85rem;font-weight:500}.filter-group input{padding:.6rem 1rem;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#fff;font-size:.9rem}.filter-group input:focus{outline:none;border-color:#10b981}.btn-filter{padding:.6rem 1.2rem;background:#334155;border:none;border-radius:8px;color:#fff;font-weight:500;transition:background .3s ease}.btn-filter:hover{background:#475569}.loading,.no-transactions{text-align:center;padding:3rem;color:#64748b;background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:16px;border:1px solid #334155}.no-transactions p:first-child{font-size:1.1rem;margin-bottom:.5rem}.transactions-list{display:flex;flex-direction:column;gap:.75rem}.transaction-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:12px;border:1px solid #334155;transition:transform .2s ease,border-color .2s ease}.transaction-item:hover{transform:translate(4px);border-color:#475569}.transaction-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.transaction-details{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.transaction-description{color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-category{color:#64748b;font-size:.85rem}.transaction-date{color:#64748b;font-size:.9rem;min-width:100px;text-align:center}.transaction-amount{font-size:1.1rem;font-weight:700;min-width:100px;text-align:right}.transaction-amount.income{color:#10b981}.transaction-amount.expense{color:#ef4444}.btn-delete{background:transparent;border:none;font-size:1.1rem;opacity:.4;transition:opacity .2s ease;padding:.5rem}.btn-delete:hover{opacity:1}@media(max-width:768px){.transactions-page{padding:1rem}.transaction-item{flex-wrap:wrap;padding:1rem}.transaction-date{min-width:auto;order:3;width:100%;text-align:left;margin-top:.5rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:420px;background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px #0006;border:1px solid #334155}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:3rem;display:block;margin-bottom:1rem}.auth-header h1{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.auth-header p{color:#64748b}.error-message{background:#ef44441a;border:1px solid #EF4444;color:#ef4444;padding:.8rem 1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#94a3b8;font-size:.9rem;font-weight:500}.form-group input{padding:.9rem 1rem;border:2px solid #334155;border-radius:10px;background:#0f172a;color:#fff;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#10b981}.form-group input::placeholder{color:#64748b}.btn-submit{padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:transform .3s ease,box-shadow .3s ease}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #10b98166}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;color:#64748b}.auth-footer a{color:#10b981;font-weight:500}.auth-footer a:hover{text-decoration:underline}.demo-credentials{margin-top:1.5rem;padding:1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;text-align:center;font-size:.85rem;color:#94a3b8}.demo-credentials strong{color:#10b981}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-bottom:2rem}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#64748b;font-size:1.2rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#10b981}::selection{background:#10b9814d;color:#fff}*:focus-visible{outline:2px solid #10B981;outline-offset:2px}
