@font-face{font-family:Heebo;src:url(../../../fonts/heebo-variable.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--bg:#f3f4f2;--surface:#fff;--text:#3a3a3a;--muted:#6f6f6f;--border:#e4e4e2;--shadow:0 2px 6px #0000000f;--accent:#4f8a6d;--accent-hover:#427659;--danger:#cf6b5e;--danger-hover:#bd5a4d;--link:#3f6fa3;--tile:#eaf0ee;--tile-total:#d9e7dd;--on-accent:#fff;--space:12px;--font-size:16px;--font-family:"Segoe UI", Tahoma, sans-serif}*{box-sizing:border-box;font-family:var(--font-family,"Segoe UI", Tahoma, sans-serif)}body{background:var(--bg);max-width:800px;color:var(--text);font-size:var(--font-size,16px);margin:0 auto;padding:20px}h1{color:var(--text);text-align:center}h2{margin-top:0}.card{background:var(--surface);padding:calc(var(--space,12px) + 8px);box-shadow:var(--shadow);border-radius:10px;margin-bottom:20px}header{background:var(--surface);box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 20px;display:flex}header .brand{font-size:18px;font-weight:700}header nav{align-items:center;gap:16px;display:flex}header nav a{color:var(--link);font-size:15px;text-decoration:none}header nav a:hover{text-decoration:underline}.form-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px;display:flex}input,select{border:1px solid var(--border);border-radius:5px;padding:10px;font-size:16px}.form-row input[type=text]{flex:1;min-width:150px}.form-row select{min-width:140px}button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:5px;padding:10px 20px;font-size:16px}button:hover{background:var(--accent-hover)}button.danger,button.delete{background:var(--danger);padding:5px 10px;font-size:14px}button.danger:hover,button.delete:hover{background:var(--danger-hover)}button.link{color:var(--link);background:0 0;padding:4px;font-size:16px}button.link:hover{background:0 0;text-decoration:underline}button.link,button.delete{min-width:40px;min-height:40px}.summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.summary-item{background:var(--tile);text-align:center;border-radius:8px;min-width:0;padding:15px}.summary-item.total{background:var(--tile-total)}.summary-item h3{color:var(--muted);margin:0 0 5px;font-size:14px}.summary-item p{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.chart-container{justify-content:center;align-items:flex-end;gap:10px;height:200px;margin-top:20px;padding-top:25px;display:flex;overflow-x:auto}.bar{text-align:center;border-radius:5px 5px 0 0;flex-shrink:0;min-width:60px;position:relative}.bar span{white-space:nowrap;width:100%;font-size:12px;position:absolute;top:-25px}.bar-label{color:#fff;padding:5px;font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--space,12px);text-align:right;border-bottom:1px solid var(--border)}th,tbody tr:hover{background:var(--tile)}.category-tag{white-space:nowrap;border-radius:12px;padding:3px 8px;font-size:12px;display:inline-block}.pager{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.pager a{border:1px solid var(--border);color:var(--link);background:var(--surface);border-radius:5px;padding:6px 12px;text-decoration:none}.pager a.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pager a[aria-disabled=true]{opacity:.4;pointer-events:none}th a{color:var(--text);text-decoration:none}th a:hover{text-decoration:underline}.filters-bar{flex-direction:column;gap:10px;margin-bottom:15px;display:flex}.filters-bar .chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:14px}.chip:hover{background:var(--border)}.chip.active{background:var(--tile);border-width:2px;font-weight:700}input[type=color]{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:5px;flex:none;width:44px;height:38px;padding:2px}@media (width<=480px){body{padding:12px}}
