*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{min-height:100vh;display:flex}.sidebar{z-index:10;background:#1a1a2e;flex-direction:column;width:240px;min-height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{color:#fff;border-bottom:1px solid #ffffff14;padding:1.75rem 1.5rem;font-size:1.1rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.sidebar-link{color:#fff9;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.93rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{color:#fff;background:#667eea}.sidebar-icon{font-size:1.1rem}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding:1rem .75rem;display:flex}.sidebar-user{align-items:center;gap:.75rem;padding:.5rem;display:flex}.sidebar-avatar{color:#fff;background:#667eea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.sidebar-user-info{overflow:hidden}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar-user-email{color:#fff6;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sidebar-logout{color:#fff9;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;width:100%;padding:.6rem;font-size:.85rem;transition:all .2s}.sidebar-logout:hover{color:#e74c3c;background:#e74c3c4d}.main-content{flex:1;margin-left:240px;padding:2rem}.page{flex-direction:column;gap:1.5rem;display:flex}.page-header{justify-content:space-between;align-items:center;display:flex}.page h1{font-size:1.6rem;font-weight:700}.auth-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 20px 60px #0003}.auth-card h1{text-align:center;margin-bottom:.5rem;font-size:1.5rem}.auth-card h2{text-align:center;color:#666;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.auth-card p{text-align:center;color:#666;margin-top:1.2rem;font-size:.9rem}.auth-card p a{color:#667eea;font-weight:600;text-decoration:none}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-group label{color:#444;font-size:.85rem;font-weight:600}.form-group input,.form-group select{border:1.5px solid #ddd;border-radius:8px;outline:none;padding:.6rem .9rem;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea}.form-actions{gap:.75rem;margin-top:.5rem;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;transition:background .2s}.btn-primary:hover:not(:disabled){background:#5a6fd6}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#555;cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:8px;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-secondary:hover{color:#667eea;border-color:#667eea}.btn-icon{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:6px;margin-right:.4rem;padding:.3rem .7rem;font-size:.8rem;transition:all .2s}.btn-icon:hover{color:#667eea;border-color:#667eea}.btn-icon.danger:hover{color:#e74c3c;border-color:#e74c3c}.error-msg{color:#e74c3c;background:#ffeaea;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.card-label{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:600}.card-value{color:#1a1a2e;margin-top:.4rem;font-size:1.6rem;font-weight:700}.quick-links{gap:1rem;display:flex}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}table{border-collapse:collapse;width:100%}th{text-align:left;color:#888;text-transform:uppercase;letter-spacing:.05em;background:#f8f9ff;padding:.85rem 1.2rem;font-size:.82rem;font-weight:700}td{border-top:1px solid #f0f0f0;padding:.9rem 1.2rem;font-size:.93rem}tr:hover td{background:#fafbff}.empty{text-align:center;color:#aaa;padding:2rem!important}.negative{color:#e74c3c;font-weight:600}.badge{color:#667eea;background:#f0f0ff;border-radius:20px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:2rem;box-shadow:0 20px 60px #0003}.modal h2{margin-bottom:1.5rem;font-size:1.2rem}.group-title{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:700}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.category-card{text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000f}.category-card.default{border:1px solid #f0f0ff}.category-icon{font-size:1.6rem}.category-name{font-size:.85rem;font-weight:600}.category-actions{gap:.3rem;margin-top:.2rem;display:flex}.loading{color:#888;justify-content:center;align-items:center;height:100vh;display:flex}.filter-bar{background:#fff;border-radius:12px;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #0000000f}.filter-bar select,.filter-bar input{color:#333;background:#fff;border:1.5px solid #ddd;border-radius:8px;outline:none;padding:.5rem .75rem;font-size:.88rem}.filter-bar select:focus,.filter-bar input:focus{border-color:#667eea}.pagination{color:#666;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.positive{color:#27ae60;font-weight:600}.transfer-account{border-radius:20px;padding:.2rem .6rem;font-size:.83rem;font-weight:600;display:inline-block}.transfer-account.from{color:#e74c3c;background:#ffeaea}.transfer-account.to{color:#27ae60;background:#eafaf1}.transfer-amount{color:#667eea;font-weight:700}
