:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:#2f6fed;--danger:#c62828;--success:#2e7d32;--chart-series:#2f6fed;--chart-grid:color-mix(in srgb, currentColor 12%, transparent);--chart-text:color-mix(in srgb, currentColor 65%, transparent);--chart-surface:Canvas;--border:color-mix(in srgb, currentColor 25%, transparent);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#7aa7ff;--danger:#ff8a80;--success:#81c784;--chart-series:#4d86f7}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}.auth{max-width:22rem;margin:0 auto;padding:4rem 1rem}.auth h1{margin:0 0 1.5rem;font-size:1.75rem}.auth-form{gap:1rem;display:grid}.auth-form label{gap:.25rem;font-size:.875rem;display:grid}.auth-form input{border:1px solid var(--border);font:inherit;border-radius:.5rem;padding:.625rem .75rem;font-size:1rem}.auth-form input:focus-visible,.auth-form button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-form button{background:var(--accent);color:canvas;font:inherit;cursor:pointer;border:none;border-radius:.5rem;padding:.625rem .75rem;font-weight:600}.auth-form button:disabled{opacity:.6;cursor:progress}.auth-actions{gap:.5rem;display:grid}.auth-form button.secondary{color:inherit;border:1px solid var(--border);background:0 0;font-weight:500}.form-error{color:var(--danger);margin:0;font-size:.875rem}.field-hint{opacity:.7;font-size:.8125rem}.auth-switch{margin:1.5rem 0 0;font-size:.875rem}a{color:var(--accent)}.demo-notice{border:1px solid var(--border);border-left:3px solid var(--accent);background:color-mix(in srgb, currentColor 4%, transparent);border-radius:.5rem;margin:0 0 1.5rem;padding:.75rem 1rem;font-size:.875rem}.page{max-width:64rem;margin:0 auto;padding:2rem 1rem 3rem}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;max-width:64rem;margin:0 auto;padding:1rem;display:flex}.app-header nav{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.app-header nav a{color:inherit;opacity:.7;text-decoration:none}.app-header nav a.active{opacity:1;text-underline-offset:.4em;font-weight:600;text-decoration:underline}.menu-toggle{border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.875rem;display:none}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=48rem){.app-header{grid-template-columns:auto 1fr;align-items:center;gap:.5rem .75rem;display:grid}.menu-toggle{grid-area:1/1;display:inline-flex}.app-header .logout{grid-area:1/2;justify-self:end}.app-header nav{border-top:1px solid var(--border);flex-direction:column;grid-area:2/1/3/-1;gap:0;padding-top:.5rem;display:none}.app-header.menu-open nav{display:flex}.app-header nav a{padding:.6rem 0}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page h1{margin:0 0 1.5rem;font-size:1.75rem}.page-header h1{margin:0}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{opacity:.7}.account-list{border:1px solid var(--border);border-radius:.5rem;margin:0;padding:0;list-style:none}.account-list li{padding:.75rem 1rem}.account-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.account-list li+li{border-top:1px solid var(--border)}.inline-form{flex-wrap:wrap;align-items:end;gap:.5rem .75rem;display:flex}.page>.inline-form{margin-bottom:1.5rem}.inline-form-field{flex:1;gap:.25rem;font-size:.875rem;display:grid}.inline-form input{border:1px solid var(--border);min-width:10rem;font:inherit;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-size:1rem}.inline-form button[type=submit]{background:var(--accent);color:canvas;font:inherit;cursor:pointer;border:none;border-radius:.5rem;padding:.5rem .75rem;font-weight:600}.inline-form button:disabled{opacity:.6;cursor:progress}.inline-form input:focus-visible,.inline-form button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inline-form .form-error{flex-basis:100%}.account-actions{gap:1rem;display:flex}.link-button.danger{color:var(--danger)}.confirm-text{flex:1}.danger-button{background:var(--danger);color:canvas;font:inherit;cursor:pointer;border:none;border-radius:.5rem;padding:.5rem .75rem;font-weight:600}.button{background:var(--accent);color:canvas;border-radius:.5rem;padding:.625rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing{max-width:44rem;margin:0 auto;padding:5rem 1rem 3rem}.landing-hero h1{margin:0;font-size:clamp(2.5rem,8vw,4rem);line-height:1.1}.landing-lead{opacity:.8;max-width:32rem;margin:1rem 0 0;font-size:1.25rem}.landing-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;margin:2rem 0 0;display:flex}.landing-features{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:4rem 0 0;padding:0;list-style:none;display:grid}.landing-features li{border:1px solid var(--border);border-radius:.75rem;padding:1.25rem}.landing-features h2{margin:0 0 .5rem;font-size:1.125rem}.landing-features p{opacity:.8;margin:0}.account-list,.page>.inline-form{max-width:40rem}.badge{border:1px solid var(--border);opacity:.8;border-radius:999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem}.inline-form select,.field select,.field input{border:1px solid var(--border);font:inherit;border-radius:.5rem;padding:.5rem .75rem;font-size:1rem}.inline-form select:focus-visible,.field select:focus-visible,.field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kind-field{flex:0 auto}.field{gap:.25rem;font-size:.875rem;display:grid}.snapshot-form{border:1px solid var(--border);border-radius:.75rem;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:grid}.snapshot-form>.field{max-width:12rem}.snapshot-form-date{margin:0;font-weight:600}.snapshot-form .muted,.snapshot-form .form-error{margin:0}.snapshot-form-fields{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;display:grid}.snapshot-form-fields input{text-align:right;font-variant-numeric:tabular-nums;width:100%}.form-actions{align-items:center;gap:1.25rem;display:flex}button.button{font:inherit;cursor:pointer;border:none;font-weight:600}button.button:disabled{opacity:.6;cursor:progress}.table-scroll{border:1px solid var(--border);border-radius:.75rem;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;padding:.625rem .875rem}.data-table thead th{border-bottom:1px solid var(--border);font-weight:600}.data-table tbody th{font-weight:400}.data-table tbody tr+tr>*{border-top:1px solid var(--border)}.data-table .number{text-align:right;font-variant-numeric:tabular-nums}.data-table .total{font-weight:600}.positive{color:var(--success)}.negative{color:var(--danger)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.operation-form{border:1px solid var(--border);border-radius:.75rem;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:grid}.operation-form .muted,.operation-form .form-error{margin:0}.operation-form-fields{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;display:grid}.operation-form-fields input,.operation-form-fields select{width:100%}.field-wide{grid-column:1/-1}.segmented{border:1px solid var(--border);border-radius:.5rem;width:fit-content;margin:0;padding:0;display:inline-flex;overflow:hidden}.segmented label{cursor:pointer}.segmented label+label{border-left:1px solid var(--border)}.segmented input{opacity:0;position:absolute}.segmented span{padding:.5rem 1rem;display:block}.segmented input:checked+span{background:var(--accent);color:canvas;font-weight:600}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-4px}.operation-description{white-space:normal;flex-wrap:wrap;gap:.25rem .75rem;display:flex}.row-confirm{flex-wrap:wrap;gap:.5rem 1rem;display:inline-flex}.page-note{max-width:44rem;margin:0 0 1.5rem}.detail-row>td{background:color-mix(in srgb, currentColor 4%, transparent);padding:.5rem .875rem 1rem}.nested-table{width:auto}.nested-table .muted{white-space:normal}.tabs{border-bottom:1px solid var(--border);gap:1.5rem;margin-bottom:1.5rem;display:flex}.tabs a{color:inherit;opacity:.7;padding-bottom:.5rem;text-decoration:none}.tabs a.active{border-bottom:2px solid var(--accent);opacity:1;margin-bottom:-1px;font-weight:600}.year-range{font-size:.75rem;display:block}.push-right{margin-left:auto}.period-filter{flex-wrap:wrap;align-items:end;gap:.75rem 1rem;margin-bottom:1.5rem;display:flex}.period-filter .field{flex:0 auto}.checkbox-field{cursor:pointer;align-items:center;gap:.4rem;padding-bottom:.6rem;font-size:.875rem;display:flex}.checkbox-field input{accent-color:var(--accent);margin:0}.chart{margin:0 0 3rem}.chart h2{margin:0;font-size:1.25rem}.chart figcaption p{margin:.25rem 0 1rem}.chart figcaption strong{color:canvastext;font-variant-numeric:tabular-nums}.chart-plot{height:18rem}.chart-tooltip{border:1px solid var(--border);font-variant-numeric:tabular-nums;background:canvas;border-radius:.5rem;gap:.125rem;padding:.5rem .75rem;font-size:.875rem;display:grid;box-shadow:0 2px 8px #00000026}.chart-tooltip span{opacity:.7;font-size:.8125rem}.chart details{margin-top:.75rem}.chart summary{width:fit-content;color:var(--accent);cursor:pointer}.chart details .table-scroll{max-width:28rem;margin-top:.75rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.stat{border:1px solid var(--border);border-radius:.75rem;padding:1.25rem}.stat-title{opacity:.7;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;margin:0;font-size:1.75rem;font-weight:600;line-height:1.2}.stat-note{opacity:.75;margin:.375rem 0 0;font-size:.8125rem}.stat progress{width:100%;accent-color:var(--accent);margin-top:.5rem}.breakdown{margin-bottom:3rem}.breakdown h2{margin:0 0 1rem;font-size:1.25rem}.account-bars{gap:.875rem;margin:0;padding:0;list-style:none;display:grid}.account-bar-head{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.875rem;display:flex}.account-bar-share{font-variant-numeric:tabular-nums;white-space:nowrap}.account-bar-track{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:999px;height:.5rem;margin-top:.25rem;overflow:hidden}.account-bar-fill{border-radius:inherit;background:var(--chart-series);height:100%}.account-bar-fill.negative-bar{background:var(--danger)}.dialog{border:1px solid var(--border);color:canvastext;background:canvas;border-radius:.75rem;width:min(32rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:0;overflow:auto}.dialog::backdrop{background:#00000073}.dialog-body{padding:1.25rem}.dialog-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.dialog-header h2{margin:0;font-size:1.25rem}.dialog .operation-form{border:none;margin-bottom:0;padding:0}.difference-list{gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.difference-row{border:1px solid var(--border);border-radius:.5rem;padding:.75rem}.difference-head{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;display:flex}.difference-row .muted{margin:.25rem 0 0;font-size:.875rem}.difference-choices{border:none;flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0 0;padding:0;display:flex}.difference-choices label{align-items:center;gap:.35rem;font-size:.875rem;display:flex}.difference-chosen{gap:.5rem;margin-top:.5rem;display:grid}.difference-chosen p{margin:0}.difference-chosen .link-button{justify-self:start}.dialog .form-actions{margin-top:1rem}.dialog-status{color:var(--success);margin:1rem 0 0;font-size:.875rem}
