canvas.svelte-stfwl9{max-width:100%;height:400px;border:1px solid #ddd;border-radius:8px}table.svelte-58y7de{width:100%;border-collapse:collapse;margin:20px 0;background-color:#fff;border-radius:8px;overflow:hidden}th.svelte-58y7de,td.svelte-58y7de{border:1px solid var(--color-border);padding:10px;text-align:right;font-size:16px}th.svelte-58y7de{background-color:var(--color-secondary);color:#000}.currentYear.svelte-58y7de{background-color:#edecda!important}.currentMonth.svelte-58y7de{background-color:#cbe7e1!important;font-weight:700}.previousYear.svelte-58y7de{background-color:#c9c9c9!important}tr.svelte-58y7de:nth-child(2n){background-color:var(--color-bg-0)}tr.svelte-58y7de:hover{background-color:var(--color-bg-2)}td.svelte-58y7de{color:var(--color-text)}.progress.svelte-15u9qzi{background-color:#f3f4f6;height:16px;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.progress.svelte-15u9qzi>.progress-bar:where(.svelte-15u9qzi){height:100%;background-color:#2563eb;transition:width .4s ease}.summary.svelte-15u9qzi{max-width:600px;background-color:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 2px #0000000d;font-family:Inter,sans-serif;margin-bottom:2rem}.summary.svelte-15u9qzi p:where(.svelte-15u9qzi){color:#1f2937;font-size:1rem;margin:.5rem 0}section.svelte-15u9qzi{padding:20px 32px;background-color:#fff;border-radius:8px;margin:20px 0}h1.svelte-15u9qzi{color:var(--color-primary);font-size:2rem;margin-bottom:20px;font-weight:700}
