:root{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-card:#fff;--bg-input:#fff;--border:#e5e7eb;--text-primary:#002970;--text-secondary:#4b5563;--text-muted:#6b7280;--accent:#00baf2;--accent-hover:#009ad1;--accent-light:#e6f7fd;--accent-border:#b6e7f8;--success:#00baf2;--warning:#ffb020;--shadow:0 1px 3px #0000000a;--shadow-md:0 2px 6px #0000000f;--radius:12px;--radius-sm:8px}[data-theme=dark]{--bg-primary:#051c45;--bg-secondary:#0a2f6b;--bg-card:#0a2f6b;--bg-input:#082556;--border:#184b97;--text-primary:#fff;--text-secondary:#c7d2fe;--text-muted:#93c5fd;--accent:#00baf2;--accent-hover:#29c8f7;--accent-light:#103c7a;--accent-border:#1d4e89;--success:#00baf2;--warning:#ffb020;--shadow:0 1px 3px #0000004d;--shadow-md:0 4px 6px #00000059}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background .2s,color .2s}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;height:64px;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#002970,#004ba0,#00baf2);justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:10px;display:flex}.header-brand h1{color:#fff;letter-spacing:-.3px;font-size:1.4rem;font-weight:700}.header-brand p{color:#ffffffbf;font-size:.8rem;display:none}.header-right{align-items:center;gap:12px;display:flex}.dark-toggle{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s;display:flex}.dark-toggle:hover{background:#ffffff4d}.currency-selector{align-items:center;gap:8px;display:flex}.currency-selector label{color:#fffc;font-size:.75rem}.currency-selector select{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#fff3;border:none;padding:6px 10px;font-size:.82rem}.currency-selector select option{color:#fff;background:#1e293b}.app-main{width:100%;max-width:1400px;margin:0 auto;padding:24px 32px}.stats-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);align-items:center;gap:16px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.stat-icon.red{background:var(--accent-light)}.stat-icon.green{background:#ecfdf5}.stat-icon.blue{background:#eff6ff}.stat-icon.amber{background:#fffbeb}[data-theme=dark] .stat-icon.green{background:#052e16}[data-theme=dark] .stat-icon.blue{background:#0c1a2e}[data-theme=dark] .stat-icon.amber{background:#1c1206}.stat-info{flex:1;min-width:0}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem}.stat-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:1.3rem;font-weight:700;overflow:hidden}.two-col{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.full-width{margin-bottom:20px}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.card-title-icon{background:var(--accent-light);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.card-body{padding:20px}.form-grid{grid-template-columns:1fr 1fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-input);width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .15s,background .15s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);background:var(--bg-card);outline:none}.form-group input::placeholder{color:var(--text-muted)}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-size:.9rem;font-weight:500;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:10px 20px;font-size:.9rem;transition:background .15s}.btn-secondary:hover{background:var(--border)}.btn-sm{border-radius:6px;padding:5px 12px;font-size:.8rem}.btn-edit{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-border);cursor:pointer;border-radius:6px;margin-right:6px;padding:5px 12px;font-size:.8rem;transition:background .15s}.btn-edit:hover{background:var(--accent-border)}.btn-delete{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:.8rem;transition:all .15s}.btn-delete:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca}.btn-export{background:var(--success);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:7px 16px;font-size:.82rem;font-weight:500;transition:background .15s}.btn-export:hover{background:#059669}.month-buttons{flex-wrap:wrap;gap:8px;display:flex}.month-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 14px;font-size:.82rem;transition:all .15s}.month-btn:hover{border-color:var(--accent);color:var(--accent)}.month-btn-active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:500}.category-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:.88rem;display:flex}.category-row:last-child{border-bottom:none}.category-name{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.category-dot{background:#00baf2;border-radius:50%;flex-shrink:0;width:8px;height:8px}.category-amount{color:var(--text-primary);font-weight:600}.budget-row{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.budget-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.budget-row-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.budget-category{color:var(--text-primary);font-size:.88rem;font-weight:500}.budget-input-group{align-items:center;gap:6px;display:flex}.budget-input-label{color:var(--text-muted);font-size:.75rem}.budget-input{border:1px solid var(--border);text-align:right;background:var(--bg-input);width:90px;color:var(--text-primary);border-radius:6px;padding:4px 8px;font-size:.82rem}.budget-bar-track{background:var(--border);border-radius:999px;width:100%;height:6px;margin-bottom:4px;overflow:hidden}.budget-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.budget-bar-fill.over-budget{background:#ef4444}.budget-row-footer{justify-content:space-between;font-size:.75rem;display:flex}.budget-spent{color:var(--text-muted)}.text-danger{color:#ef4444;font-weight:500}.text-success{color:var(--success);font-weight:500}.table-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.expense-table{border-collapse:collapse;width:100%;font-size:.88rem}.expense-table th{text-align:left;background:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.75rem;font-weight:600}.expense-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px}.expense-table tr:last-child td{border-bottom:none}.expense-table tbody tr:hover{background:var(--bg-secondary)}.amount-cell{color:#00baf2;font-weight:600}.category-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.badge-food{color:#92400e;background:#fef3c7}.badge-transport{color:#1e40af;background:#dbeafe}.badge-bills{color:#9d174d;background:#fce7f3}.badge-entertainment{color:#5b21b6;background:#ede9fe}.badge-shopping{color:#065f46;background:#d1fae5}.badge-health{color:#991b1b;background:#fee2e2}.badge-other{color:#475569;background:#f1f5f9}[data-theme=dark] .badge-food{color:#fcd34d;background:#292000}[data-theme=dark] .badge-transport{color:#93c5fd;background:#0c1a2e}[data-theme=dark] .badge-bills{color:#f9a8d4;background:#2d0a1e}[data-theme=dark] .badge-entertainment{color:#c4b5fd;background:#1e1040}[data-theme=dark] .badge-shopping{color:#6ee7b7;background:#022c22}[data-theme=dark] .badge-health{color:#fca5a5;background:#2d0000}[data-theme=dark] .badge-other{color:#94a3b8;background:#1e293b}.filters-grid{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0}.empty-state-icon{margin-bottom:12px;font-size:2.5rem}.empty-state p{font-size:.9rem}.health-content{align-items:flex-start;gap:32px;display:flex}.health-circle-wrapper{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.health-label{font-size:.9rem;font-weight:600}.health-breakdown{flex-direction:column;flex:1;gap:14px;display:flex}.health-factor{flex-direction:column;gap:5px;display:flex}.health-factor-header{color:var(--text-primary);justify-content:space-between;font-size:.85rem;font-weight:500;display:flex}.health-factor-desc{color:var(--text-muted);font-size:.75rem}.health-warning{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fca5a5;margin-bottom:16px;padding:10px 14px;font-size:.83rem;line-height:1.6}[data-theme=dark] .health-warning{color:#fca5a5;background:#2d0000;border-color:#7f1d1d}.health-empty{color:var(--text-muted);padding:20px 0;font-size:.9rem}.error-banner{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fca5a5;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;font-size:.88rem;display:flex}.error-banner button{color:#dc2626;cursor:pointer;background:0 0;border:none;font-size:1.2rem}.error-message{color:#dc2626;background:#fef2f2;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.loading{text-align:center;color:var(--text-muted);padding:40px}.budget-subtitle{color:var(--text-muted);margin-bottom:16px;font-size:.82rem}@media (width<=1024px){.stats-row{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.form-grid,.filters-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.app-main{padding:16px}.stats-row{grid-template-columns:1fr 1fr}.form-grid,.filters-grid{grid-template-columns:1fr}.app-header{padding:0 16px}.health-content{flex-direction:column;align-items:center}}
