@layer reset{html{box-sizing:border-box}*,:before,:after{box-sizing:inherit}body,h1,h2,h3,h4,p,ol,ul,dl,dd,fieldset{margin:0}ol,ul{padding:0}fieldset{border:0;min-inline-size:0;padding:0}}@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;accent-color:var(--color-violet);interpolate-size:allow-keywords;--ink-light:#13262f;--paper-light:#f5f7f6;--surface-light:#fff;--line-light:#dde6e3;--muted-light:#5b6e74;--rule-light:#13262f;--aqua-light:#77d4cb;--violet-light:#6a5acd;--citrus-light:#e4f477;--emphasis-light:#13262f;--emphasis-ink-light:#f3f7f5;--accent-ink-light:#13262f;--danger-light:#a22f35;--danger-ink-light:#8f282e;--danger-ink-strong-light:#7d2227;--success-light:#25735f;--success-ink-light:#164f49;--success-line-light:#acd1c8;--warning-light:#bc742b;--plum-light:#613f85;--field-line-light:#91a7a2;--citrus-line-light:#cbd88a;--page-wash-light:color-mix(in srgb, var(--aqua-light) 14%, transparent);--brand-logo-filter-light:none;--ink-dark:#dde8e5;--paper-dark:#0e1a20;--surface-dark:#16252c;--line-dark:#2b3f48;--muted-dark:#93a7ad;--rule-dark:#5f7a84;--aqua-dark:#77d4cb;--violet-dark:#a99bf0;--citrus-dark:#e4f477;--emphasis-dark:#223740;--emphasis-ink-dark:#eef5f2;--accent-ink-dark:#0b171d;--danger-dark:#ef8e88;--danger-ink-dark:#f5a49e;--danger-ink-strong-dark:#f9b9b4;--success-dark:#4fc2a2;--success-ink-dark:#96e3d5;--success-line-dark:#2f5a55;--warning-dark:#dda05c;--plum-dark:#a98bd0;--field-line-dark:#3f5860;--citrus-line-dark:#5d6b38;--page-wash-dark:color-mix(in srgb, var(--aqua-dark) 7%, transparent);--brand-logo-filter-dark:brightness(0) invert(1) opacity(.9);--color-ink:var(--lightningcss-light,var(--ink-light))var(--lightningcss-dark,var(--ink-dark));--color-paper:var(--lightningcss-light,var(--paper-light))var(--lightningcss-dark,var(--paper-dark));--color-surface:var(--lightningcss-light,var(--surface-light))var(--lightningcss-dark,var(--surface-dark));--color-line:var(--lightningcss-light,var(--line-light))var(--lightningcss-dark,var(--line-dark));--color-muted:var(--lightningcss-light,var(--muted-light))var(--lightningcss-dark,var(--muted-dark));--color-rule:var(--lightningcss-light,var(--rule-light))var(--lightningcss-dark,var(--rule-dark));--color-aqua:var(--lightningcss-light,var(--aqua-light))var(--lightningcss-dark,var(--aqua-dark));--color-violet:var(--lightningcss-light,var(--violet-light))var(--lightningcss-dark,var(--violet-dark));--color-citrus:var(--lightningcss-light,var(--citrus-light))var(--lightningcss-dark,var(--citrus-dark));--color-emphasis:var(--lightningcss-light,var(--emphasis-light))var(--lightningcss-dark,var(--emphasis-dark));--color-emphasis-ink:var(--lightningcss-light,var(--emphasis-ink-light))var(--lightningcss-dark,var(--emphasis-ink-dark));--color-accent-ink:var(--lightningcss-light,var(--accent-ink-light))var(--lightningcss-dark,var(--accent-ink-dark));--color-danger:var(--lightningcss-light,var(--danger-light))var(--lightningcss-dark,var(--danger-dark));--color-danger-ink:var(--lightningcss-light,var(--danger-ink-light))var(--lightningcss-dark,var(--danger-ink-dark));--color-danger-ink-strong:var(--lightningcss-light,var(--danger-ink-strong-light))var(--lightningcss-dark,var(--danger-ink-strong-dark));--color-success:var(--lightningcss-light,var(--success-light))var(--lightningcss-dark,var(--success-dark));--color-success-ink:var(--lightningcss-light,var(--success-ink-light))var(--lightningcss-dark,var(--success-ink-dark));--color-success-line:var(--lightningcss-light,var(--success-line-light))var(--lightningcss-dark,var(--success-line-dark));--color-warning:var(--lightningcss-light,var(--warning-light))var(--lightningcss-dark,var(--warning-dark));--color-plum:var(--lightningcss-light,var(--plum-light))var(--lightningcss-dark,var(--plum-dark));--color-field-line:var(--lightningcss-light,var(--field-line-light))var(--lightningcss-dark,var(--field-line-dark));--color-citrus-line:var(--lightningcss-light,var(--citrus-line-light))var(--lightningcss-dark,var(--citrus-line-dark));--color-page-wash:var(--lightningcss-light,var(--page-wash-light))var(--lightningcss-dark,var(--page-wash-dark));--chart-revenue:var(--lightningcss-light,#2a9d8f)var(--lightningcss-dark,#2fa597);--chart-costs:var(--lightningcss-light,#6a5acd)var(--lightningcss-dark,#8b7cea);--chart-collected:var(--lightningcss-light,#eb6834)var(--lightningcss-dark,#d95926);--chart-profit-line:var(--color-ink);--chart-owed:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--chart-customers:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--chart-regulars:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--chart-classpass:var(--lightningcss-light,#eb6834)var(--lightningcss-dark,#d95926);--chart-heat-1:var(--lightningcss-light,#cde2fb)var(--lightningcss-dark,#0d366b);--chart-heat-2:var(--lightningcss-light,#9ec5f4)var(--lightningcss-dark,#184f95);--chart-heat-3:var(--lightningcss-light,#6da7ec)var(--lightningcss-dark,#256abf);--chart-heat-4:#3987e5;--chart-heat-5:var(--lightningcss-light,#256abf)var(--lightningcss-dark,#6da7ec);--chart-heat-6:var(--lightningcss-light,#184f95)var(--lightningcss-dark,#9ec5f4);--chart-heat-7:var(--lightningcss-light,#0d366b)var(--lightningcss-dark,#cde2fb);--chart-heat-ink-4:var(--lightningcss-light,var(--ink-light))var(--lightningcss-dark,#0b171d);--chart-heat-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0b171d);--chart-investment:var(--color-muted);--chart-profit:var(--color-success);--chart-loss:var(--color-danger);--shadow-soft:0 1.5rem 4rem var(--lightningcss-light,#13262f12)var(--lightningcss-dark,#00000073);--shadow-raised:0 1.5rem 5rem var(--lightningcss-light,#13262f1a)var(--lightningcss-dark,#0000008c);--shadow-pop:0 1rem 2.5rem var(--lightningcss-light,#13262f2e)var(--lightningcss-dark,#0000009e);--brand-logo-filter:var(--brand-logo-filter-light);--font-body:"Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif;--font-display:var(--font-body);--font-utility:var(--font-body);--radius:.625rem;--sidebar-size:13.5rem;--content-max:74rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--brand-logo-filter:var(--brand-logo-filter-dark)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-logo-filter:var(--brand-logo-filter-dark)}body{background:var(--color-paper);min-block-size:100dvh;min-inline-size:20rem;color:var(--color-ink);font-family:var(--font-body);font-size:.9375rem;line-height:1.5}a{color:inherit}a:focus-visible{outline:.2rem solid var(--color-violet);outline-offset:.25rem}button{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:.2rem solid var(--color-violet);outline-offset:.25rem}}@layer components{.num,.data-table td,.data-table th{font-variant-numeric:tabular-nums}.page-header{gap:1rem;margin-block-end:1.5rem;display:grid}.page-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.page-header-title{gap:.15rem;display:grid}.page-header-title p{color:var(--color-muted)}.page-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-tabs{border-block-end:1px solid var(--color-line);scrollbar-width:none;gap:1.5rem;display:flex;overflow-x:auto}.page-header .page-tabs a{color:var(--color-muted);border-block-end:2px solid #0000;flex:none;margin-block-end:-1px;padding-block:.6rem;font-weight:500;text-decoration:none}.page-header .page-tabs a:hover{color:var(--color-ink)}.page-header .page-tabs a[aria-current=page]{border-block-end-color:var(--color-ink);color:var(--color-ink);font-weight:600}.month-switcher{border:1px solid var(--color-line);background:var(--color-surface);border-radius:.5rem;align-items:center;display:inline-flex}.month-switcher button{block-size:2.25rem;inline-size:2.25rem;color:var(--color-ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.month-switcher button:disabled{color:var(--color-line);cursor:default}.month-switcher button svg{block-size:1rem;inline-size:1rem}.month-switcher select{appearance:none;border:0;border-inline:1px solid var(--color-line);block-size:2.25rem;color:var(--color-ink);font:inherit;text-align:center;cursor:pointer;background:0 0;padding-inline:.5rem;font-weight:600}.btn{border:1px solid var(--color-line);background:var(--color-surface);min-block-size:2.25rem;color:var(--color-ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .9rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-field-line)}.btn:disabled{cursor:default;opacity:.55}.btn[aria-busy=true]:disabled{cursor:progress;opacity:1}.btn-primary{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.btn-primary:hover:not(:disabled){border-color:var(--color-violet);background:var(--color-violet)}.btn-quiet{background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:color-mix(in srgb, var(--color-ink) 6%, transparent);border-color:#0000}.icon-button{block-size:2.25rem;inline-size:2.25rem;color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid}.icon-button:hover{background:color-mix(in srgb, var(--color-ink) 6%, transparent)}.icon-button svg{block-size:1rem;inline-size:1rem}.stat-grid{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-line);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--color-surface);align-content:start;gap:.35rem;padding:1rem 1.1rem;display:grid}.stat dt{color:var(--color-muted);font-size:.875rem;font-weight:500}.stat dd{gap:.2rem;margin:0;display:grid}.stat-value{font-size:1.625rem;font-weight:600;line-height:1.15}.stat-change{font-size:.8125rem;font-weight:600}.stat-change span[aria-hidden=true]{font-size:.625rem}.stat-change-good{color:var(--color-success)}.stat-change-bad{color:var(--color-danger)}.stat-change-neutral{color:var(--color-muted)}.stat-note{color:var(--color-muted);font-size:.8125rem}.badge{background:color-mix(in srgb, var(--color-ink) 7%, transparent);color:var(--color-ink);white-space:nowrap;border-radius:999px;align-items:center;padding:.05rem .5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge-good{background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success-ink)}.badge-warning{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:color-mix(in srgb, var(--color-warning) 60%, var(--color-ink))}.badge-bad{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger-ink)}.badge-accent{background:color-mix(in srgb, var(--color-violet) 13%, transparent);color:var(--color-violet)}.section{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);gap:.9rem;padding:1.1rem 1.25rem 1.25rem;display:grid}.section-plain{background:0 0;border:0;padding:0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.section-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-stack{gap:1.25rem;display:grid}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;inline-size:100%;font-size:.875rem}.data-table th{border-block-end:1px solid var(--color-line);color:var(--color-muted);text-align:start;white-space:nowrap;padding:.5rem .75rem;font-size:.8125rem;font-weight:500}.data-table tbody th{color:var(--color-ink);font-size:inherit;white-space:normal;font-weight:400}.data-table td,.data-table tbody th{border-block-end:1px solid var(--color-line);vertical-align:top;padding:.6rem .75rem}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-block-end:0}.data-table .amount{text-align:end;white-space:nowrap}.data-table tr[data-clickable]{cursor:pointer}.data-table tr[data-clickable]:hover td{background:color-mix(in srgb, var(--color-ink) 3%, transparent)}.cell-secondary{color:var(--color-muted);font-size:.8125rem;display:block}.muted{color:var(--color-muted)}.estimate-note{color:var(--color-muted);font-size:.8125rem}.how-calculated summary{color:var(--color-muted);cursor:pointer;font-size:.875rem}.how-calculated[open] summary{margin-block-end:.5rem}.how-calculated ul{color:var(--color-muted);gap:.35rem;padding-inline-start:1.1rem;font-size:.875rem;display:grid}.empty-state{color:var(--color-muted);justify-items:start;gap:.35rem;padding:1.25rem 0;display:grid}.empty-state-title{color:var(--color-ink);font-weight:600}.drawer{border:0;border-inline-start:1px solid var(--color-line);background:var(--color-surface);block-size:100dvh;max-block-size:100dvh;inline-size:min(34rem,100vw);max-inline-size:100vw;color:var(--color-ink);margin:0 0 0 auto;padding:0}.drawer::backdrop{background:#0a141a52}.drawer[open]{animation:.18s ease-out drawer-in}@keyframes drawer-in{0%{opacity:0;transform:translate(2rem)}}@media (prefers-reduced-motion:reduce){.drawer[open]{animation:none}}.drawer-panel{grid-template-rows:auto 1fr auto;block-size:100%;display:grid}.drawer-header{border-block-end:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.drawer-body{padding:1.25rem;overflow-y:auto}.drawer-footer{border-block-start:1px solid var(--color-line);justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;display:flex}.back-link{color:var(--color-muted);align-items:center;gap:.25rem;margin-block-end:.75rem;font-size:.875rem;text-decoration:none;display:inline-flex}.back-link:before{content:"‹";font-size:1.1em}.back-link:hover{color:var(--color-ink)}.link-button{color:inherit;font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration-color:currentColor}.balance-bars{gap:.6rem;display:grid}.balance-row{grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:1rem;display:grid}.balance-label{color:var(--color-muted);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.875rem;display:flex}.balance-label strong{color:var(--color-ink);font-weight:600}.balance-track{gap:2px;block-size:2rem;display:flex}.balance-segment{background:var(--chart-costs);flex-shrink:1;align-items:center;min-inline-size:2px;display:flex;overflow:hidden}.balance-row-revenue .balance-segment{background:var(--chart-revenue)}.balance-segment:first-child{border-start-start-radius:4px;border-end-start-radius:4px}.balance-segment:last-child{border-start-end-radius:4px;border-end-end-radius:4px}.balance-row .balance-profit{background:color-mix(in srgb, var(--chart-profit) 22%, var(--color-surface));box-shadow:inset 0 0 0 1.5px var(--chart-profit)}.balance-row .balance-loss{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--chart-loss) 30%, var(--color-surface)) 0 4px, var(--color-surface) 4px 8px);box-shadow:inset 0 0 0 1.5px var(--chart-loss)}.balance-segment-label{color:#fff;white-space:nowrap;padding-inline:.5rem;font-size:.75rem;font-weight:600;overflow:hidden}.balance-row-revenue .balance-segment-label{color:#0b1d22}.balance-profit .balance-segment-label,.balance-loss .balance-segment-label{color:var(--color-ink)}@media (width<40rem){.balance-row{grid-template-columns:minmax(0,1fr);gap:.3rem}}.trend{gap:.5rem;min-inline-size:0;margin:0;display:grid}.chart{color:var(--color-ink);font-variant-numeric:tabular-nums;--ts-chart-tooltip-background:var(--color-surface);--ts-chart-tooltip-color:var(--color-ink);--ts-chart-tooltip-border:1px solid var(--color-line);--ts-chart-tooltip-border-radius:.5rem;--ts-chart-tooltip-shadow:var(--shadow-pop);--ts-chart-tooltip-font:400 .8125rem/1.4 var(--font-body);font-size:11px}.chart:focus-within{outline:none}.chart svg:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;border-radius:.25rem}.chart-title{font-size:.875rem;font-weight:600}.chart-legend{color:var(--color-muted);flex-wrap:wrap;gap:.25rem 1rem;padding:0;font-size:.8125rem;list-style:none;display:flex}.chart-legend li{align-items:center;gap:.4rem;display:inline-flex}.chart-key{background:var(--key);display:inline-block}.chart-key-bar{border-radius:2px;block-size:.65rem;inline-size:.65rem}.chart-key-partial{opacity:.45}.chart-key-line{border-radius:1px;block-size:2px;inline-size:.9rem}.chart-key-dashed{background:repeating-linear-gradient(90deg, var(--key) 0 4px, transparent 4px 7px);opacity:.7}.ui-field{gap:.35rem;min-inline-size:0;display:grid}.ui-field>span{color:var(--color-muted);font-size:.8125rem}.ui-field input,.ui-field select,.ui-field textarea{box-sizing:border-box;border:1px solid var(--color-field-line);background:var(--color-surface);min-block-size:2.5rem;inline-size:100%;min-inline-size:0;color:var(--color-ink);font:inherit;border-radius:.5rem;padding:.5rem .65rem}.ui-field textarea{resize:vertical}.form-grid,.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.form-stack{gap:.9rem;display:grid}.detail-list{gap:.9rem;padding-inline-start:1.1rem;display:grid}.ui-field-hint{color:var(--color-muted);font-size:.8125rem}.spinner{border:.15em solid;border-inline-end-color:#0000;border-radius:50%;flex:none;block-size:.9em;inline-size:.9em;animation:.7s linear infinite spinner-turn;display:inline-block}@keyframes spinner-turn{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.segmented{border:0;min-inline-size:0;margin:0;padding:0}.segmented legend{color:var(--color-muted);margin-block-end:.35rem;padding:0;font-size:.8125rem}.segmented-options{border:1px solid var(--color-field-line);background:var(--color-surface);border-radius:.5rem;gap:.25rem;padding:.25rem;display:flex}.segmented label{flex:1;min-inline-size:0;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented label span{color:var(--color-muted);text-align:center;border-radius:.35rem;padding:.4rem .75rem;font-weight:500;display:block}.segmented input:checked+span{background:var(--color-ink);color:var(--color-paper)}.segmented input:focus-visible+span{outline:.2rem solid var(--color-violet);outline-offset:.15rem}.segmented input:disabled{cursor:default}.segmented input:disabled+span{opacity:.55}.form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.detail-facts dt{color:var(--color-muted);font-size:.8125rem}.detail-facts dd{overflow-wrap:anywhere;margin:.15rem 0 0}.row-link{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.form-error{color:var(--color-danger-ink)}@media (width<=30rem){.form-grid,.detail-facts{grid-template-columns:1fr}}.drawer-header h2{overflow-wrap:anywhere;min-inline-size:0}.field-control{border:1px solid var(--color-field-line);background:var(--color-surface);inline-size:100%;min-inline-size:0;color:var(--color-ink);font:inherit;border-radius:.5rem;padding:.5rem .75rem}textarea.field-control{resize:vertical;display:block}.notice{border-inline-start:.2rem solid var(--color-success);background:var(--color-paper);margin-block:.75rem;padding:.75rem}.notice-warning{border-color:var(--color-warning)}svg [tabindex]:focus-visible{outline:.2rem solid var(--color-violet);outline-offset:.25rem}.route-progress{z-index:100;background:color-mix(in srgb, var(--color-violet) 18%, transparent);pointer-events:none;block-size:.2rem;position:fixed;inset-block-start:0;inset-inline:0;overflow:hidden}.route-progress span{background:var(--color-violet);block-size:100%;inline-size:42%;box-shadow:0 0 .75rem color-mix(in srgb, var(--color-violet) 55%, transparent);animation:.85s ease-in-out infinite route-progress;display:block}@keyframes route-progress{0%{transform:translate(-110%)}to{transform:translate(340%)}}.route-state{border:1px solid var(--color-line);background:var(--color-surface);border-radius:.75rem;gap:.75rem;max-inline-size:36rem;margin:4rem auto;padding:1.5rem;display:grid}.route-state h1{font-size:1.5rem}.route-state-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.skip-link{z-index:10;background:var(--color-emphasis);color:var(--color-emphasis-ink);padding:.7rem 1rem;font-weight:700;position:fixed;inset-block-start:.75rem;inset-inline-start:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app{grid-template-columns:var(--sidebar-size) minmax(0, 1fr);min-block-size:100dvh;display:grid}.app-bar{box-sizing:border-box;border-inline-end:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;gap:1.5rem;block-size:100dvh;padding:1.25rem .75rem 1rem;display:flex;position:sticky;inset-block-start:0}.app-brand-row{justify-content:space-between;align-items:center;gap:.5rem;padding-inline-end:.25rem;display:flex}.brand{align-items:center;min-block-size:2.25rem;padding-inline:.5rem;text-decoration:none;display:inline-flex}.brand-lockup{gap:.16rem;display:grid}.brand-lockup small{color:var(--color-muted);font-size:.75rem;line-height:1}.brand-logo{block-size:auto;inline-size:5.75rem;filter:var(--brand-logo-filter);display:block}.app-nav ul{gap:.125rem;list-style:none;display:grid}.app-nav-link{min-block-size:2.5rem;color:var(--color-muted);border-radius:.5rem;align-items:center;gap:.65rem;padding-inline:.6rem;font-weight:500;text-decoration:none;display:flex}.app-nav-link:hover{background:color-mix(in srgb, var(--color-ink) 5%, transparent);color:var(--color-ink)}.app-nav-link[aria-current=page]{background:color-mix(in srgb, var(--color-violet) 11%, transparent);color:var(--color-ink);font-weight:600}.app-nav-link[aria-current=page] .app-nav-icon{color:var(--color-violet)}.app-nav-icon{flex:none;block-size:1.25rem;inline-size:1.25rem}.app-account{margin-block-start:auto;position:relative}.app-account summary{cursor:pointer;border-radius:.5rem;align-items:center;gap:.6rem;min-block-size:2.75rem;padding-inline:.5rem;list-style:none;display:flex}.app-account summary::-webkit-details-marker{display:none}.app-account summary:hover{background:color-mix(in srgb, var(--color-ink) 5%, transparent)}.app-account-avatar{background:var(--color-ink);block-size:1.75rem;inline-size:1.75rem;color:var(--color-paper);border-radius:50%;flex:none;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.app-account-email{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.app-mode{background:color-mix(in srgb, var(--color-citrus) 70%, transparent);color:var(--color-accent-ink);white-space:nowrap;border-radius:999px;flex:none;padding:.1rem .45rem;font-size:.6875rem;font-weight:600}.app-account-menu{z-index:20;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);inline-size:max(100%,15rem);box-shadow:var(--shadow-pop);gap:.5rem;padding:.75rem;display:grid;position:absolute;inset-block-end:calc(100% + .5rem);inset-inline-start:0}.app-account-menu-email{overflow-wrap:anywhere;font-weight:600}.app-account-note{color:var(--color-muted);font-size:.8125rem}.app-account-menu button,.login-card .theme-toggle{border:1px solid var(--color-line);min-block-size:2.25rem;color:var(--color-ink);text-align:start;cursor:pointer;background:0 0;border-radius:.5rem;padding-inline:.75rem}.app-account-menu button:hover,.login-card .theme-toggle:hover{background:color-mix(in srgb, var(--color-ink) 5%, transparent)}.app-main{flex-direction:column;min-inline-size:0;padding:1.75rem clamp(1rem,3vw,2.5rem) 3rem;display:flex}.app-main:focus{outline:none}.app-main>*{inline-size:100%;max-inline-size:var(--content-max)}@media (width<68.75rem){.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.app-bar{z-index:15;border-inline-end:0;border-block-end:1px solid var(--color-line);flex-direction:row;align-items:center;gap:1rem;block-size:auto;padding:.5rem clamp(1rem,3vw,2.5rem);position:static}.brand{padding-inline:0}.app-nav ul{display:flex}.app-nav-link{padding-inline:.75rem}.app-account{margin-block-start:0;margin-inline-start:auto}.app-account-email{display:none}.app-account-menu{inset-block:calc(100% + .5rem) auto;inset-inline:auto 0}}@media (width<60rem){.app-nav-link .app-nav-icon{display:none}}@media (width<48rem){.app-nav-link{padding-inline:.45rem}}@media (40rem<=width<44rem){.app-mode{display:none}}@media (width<40rem){.app-main{padding-block-end:5.5rem}.app-nav{z-index:15;padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));border-block-start:1px solid var(--color-line);background:var(--color-surface);position:fixed;inset:auto 0 0}.app-nav ul{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.app-nav-link{flex-direction:column;justify-content:center;gap:.15rem;min-block-size:3.25rem;padding-inline:0;font-size:.6875rem}.app-nav-link .app-nav-icon{display:block}.app-nav-link[aria-current=page]{background:0 0}}.theme-toggle{align-items:center;display:inline-flex}.theme-toggle-face{align-items:center;gap:.5rem;display:inline-flex}.theme-toggle svg{flex:none;block-size:1rem;inline-size:1rem}.theme-toggle-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle-light{display:inline-flex}:root:not([data-theme=light]) .theme-toggle-dark{display:none}}:root[data-theme=dark] .theme-toggle-light{display:inline-flex}:root[data-theme=dark] .theme-toggle-dark{display:none}.dashboard-page-footer{color:var(--color-muted);margin-block-start:auto;padding-block-start:2rem;font-size:.8125rem}.eyebrow{color:var(--color-muted);font-size:.8125rem;font-weight:500}h1{text-wrap:balance;font-size:1.5rem;font-weight:600;line-height:1.2}.section-heading{border-block-end:.0625rem solid var(--color-rule);justify-content:space-between;align-items:end;gap:1.5rem;padding-block-end:.7rem;display:flex}h2{font-size:1.125rem;font-weight:600;line-height:1.3}h3{font-size:1rem;font-weight:600;line-height:1.35}.visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.login-shell{place-items:center;min-block-size:100dvh;inline-size:100%;padding:1.25rem;display:grid}.login-card{border:.0625rem solid var(--color-line);background:var(--color-surface);inline-size:min(100%,34rem);box-shadow:var(--shadow-raised);gap:2rem;padding:clamp(1.5rem,5vw,3.5rem);display:grid}.login-card .brand-logo{inline-size:9rem}.login-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.login-copy{gap:1rem;display:grid}.login-copy h1{font-size:1.75rem}.login-copy>p:last-child,.auth-notice p{color:color-mix(in srgb, var(--color-ink) 72%, transparent)}.button{border:1px solid var(--color-ink);background:var(--color-ink);min-block-size:2.5rem;color:var(--color-paper);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;display:inline-flex}.button:hover:not(:disabled){background:var(--color-violet);border-color:var(--color-violet)}.button:disabled{cursor:wait;opacity:.62}.button-secondary{inline-size:fit-content;color:var(--color-ink);background:0 0;margin-block-start:1rem}.auth-notice,.auth-error{border-inline-start:.3rem solid var(--color-violet);background:color-mix(in srgb, var(--color-violet) 8%, transparent);padding:1rem}.auth-notice p{margin-block-start:.35rem}.auth-inline-error{color:var(--color-danger);font-size:.8rem}.auth-error{border-inline-start-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, transparent)}.import-guide{border:.0625rem solid var(--color-line);background:color-mix(in srgb, var(--color-aqua) 6%, transparent)}.import-guide summary{min-block-size:2.75rem;color:var(--color-ink);cursor:pointer;padding:.75rem 1rem;font-weight:700}.import-guide summary:focus-visible{outline:.2rem solid var(--color-violet);outline-offset:.15rem}.import-guide>div{color:color-mix(in srgb, var(--color-ink) 76%, transparent);gap:.65rem;padding:0 1rem 1rem;font-size:.86rem;line-height:1.55;display:grid}.import-guide ol{gap:.35rem;padding-inline-start:1.2rem;display:grid}.ledger-title{border-inline-end:.0625rem solid var(--color-line);align-content:center;padding:clamp(1rem,2.5vw,1.5rem)}.ledger-title h2{margin-block-start:.5rem;font-size:clamp(1.6rem,3vw,2.3rem)}.table-scroll{overflow-x:auto}.empty-view{color:color-mix(in srgb, var(--color-ink) 68%, transparent);border-block-end:.0625rem solid var(--color-line);background:var(--color-surface);padding:2rem;font-size:.86rem}@media (pointer:coarse){.brand,.nav-link,.theme-toggle{min-block-size:3rem}.nav-link{align-items:center;display:inline-flex}}@media (width<=46rem){.section-heading{display:grid}.ledger-title{border-inline-end:0;border-block-end:.0625rem solid var(--color-line)}}textarea:focus-visible{outline:.2rem solid var(--color-violet);outline-offset:.25rem}@media (pointer:coarse){.pr-text-button{min-block-size:3rem}}@media (prefers-reduced-motion:reduce){.route-progress span{inline-size:100%;animation:none}}}
