.welcome-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f4f7fc,#e8edf5);padding:1rem}.welcome-card{background:#fff;border-radius:30px;padding:3rem 2.5rem;max-width:450px;width:100%;box-shadow:0 20px 60px #2a7de126;text-align:center;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{font-size:4rem;margin-bottom:.5rem}.welcome-card h1{font-size:2rem;color:#1e2a3a;margin-bottom:.3rem}.welcome-subtitle{color:#6b7a8f;font-size:1rem;margin-bottom:2rem}.welcome-form{display:flex;flex-direction:column;gap:1.5rem}.welcome-form .form-group{text-align:left}.welcome-form label{display:block;font-weight:500;color:#1e2a3a;margin-bottom:.3rem;font-size:.9rem}.welcome-form input{width:100%;padding:.8rem 1rem;border:2px solid #dfe5ef;border-radius:12px;font-size:1.1rem;transition:all .3s ease;outline:none}.welcome-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2a7de11a}.welcome-form input.input-error{border-color:var(--expense)}.error-message{color:var(--expense);font-size:.85rem;margin-top:.3rem}.btn-welcome{width:100%;padding:.9rem;font-size:1.1rem;background:linear-gradient(135deg,#2a7de1,#1a5fb0);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2a7de14d}.btn-welcome:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2a7de166}.btn-welcome:active{transform:translateY(0)}.welcome-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eef2f7}.welcome-footer p{color:#6b7a8f;font-size:.85rem}@media (max-width: 480px){.welcome-card{padding:2rem 1.5rem}.welcome-card h1{font-size:1.6rem}.welcome-icon{font-size:3rem}}.app-container{display:flex;flex-direction:column;gap:2rem}.navbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#fff;padding:.8rem 2rem;border-radius:40px;box-shadow:var(--shadow)}.nav-brand{font-weight:700;font-size:1.3rem;color:var(--primary)}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.nav-links a{text-decoration:none;padding:.5rem 1rem;border-radius:40px;color:#1e2a3a;font-weight:500;transition:var(--transition)}.nav-links a:hover{background:var(--primary-light)}.nav-links a.active{background:var(--primary);color:#fff}main{background:transparent}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 2rem;transition:var(--transition)}.card:hover{box-shadow:0 12px 28px #0000000f}.page-title{font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;letter-spacing:-.01em}.flex-row{display:flex;flex-wrap:wrap;gap:1.5rem}.flex-col{display:flex;flex-direction:column;gap:.8rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-card{background:#fff;border-radius:var(--radius);padding:1.2rem 1.5rem;box-shadow:var(--shadow)}.stat-label{font-size:.85rem;color:#6b7a8f;text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:1.9rem;font-weight:700;margin-top:.2rem}.stat-value.green{color:var(--income)}.stat-value.red{color:var(--expense)}.stat-value.blue{color:var(--primary)}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.7rem 1rem;border:1px solid #dfe5ef;border-radius:16px;background:#fff;transition:var(--transition);font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--primary);border-color:transparent}.btn{padding:.7rem 1.8rem;background:var(--primary);color:#fff;border:none;border-radius:40px;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #2a7de133}.btn:hover{background:#1d5fb0;transform:scale(.98)}.btn-outline{background:transparent;border:1.5px solid #dfe5ef;color:#1e2a3a;box-shadow:none}.btn-outline:hover{background:#f0f4fe;border-color:var(--primary)}.btn-danger{background:var(--expense);box-shadow:0 2px 8px #e15c5c33}.btn-danger:hover{background:#c24a4a}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th{text-align:left;padding:.8rem .5rem;border-bottom:2px solid #eef2f7;color:#4a5a6e}td{padding:.7rem .5rem;border-bottom:1px solid #eef2f7}.badge{display:inline-block;padding:.2rem .8rem;border-radius:40px;font-size:.8rem;font-weight:500}.badge-income{background:#dbf4ec;color:#0f7b5a}.badge-expense{background:#fce8e8;color:#b34040}.search-filter{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.search-filter input,.search-filter select{padding:.6rem 1rem;border-radius:40px;border:1px solid #dfe5ef;min-width:180px}@media (max-width: 640px){.navbar{flex-direction:column;align-items:stretch;gap:.7rem}.nav-links{justify-content:center}.card{padding:1.2rem}.stat-grid{grid-template-columns:1fr 1fr}}.user-badge{background:var(--primary-light);color:var(--primary);padding:.2rem .8rem;border-radius:40px;font-size:.8rem;font-weight:500;margin-left:.8rem}.nav-brand{display:flex;align-items:center;gap:.5rem}@media (max-width: 640px){.user-badge{font-size:.7rem;padding:.1rem .6rem}.nav-brand{flex-wrap:wrap;justify-content:center}}:root{--primary: #2a7de1;--primary-light: #eaf1fd;--income: #22a67e;--expense: #e25c5c;--card-bg: #ffffff;--shadow: 0 8px 20px rgba(0,0,0,.04), 0 2px 6px rgba(0,0,0,.02);--radius: 20px;--transition: .2s ease}body{background:#f4f7fc;color:#1e2a3a}a,button,input,select,textarea{font:inherit}
