:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4f4f1;--surface:#fcfcfb;--surface-2:#f4f3ef;--sidebar:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--muted:#6b6964;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b17;--accent:#2a78d6;--accent-wash:#2a78d61a;--series-1:#2a78d6;--series-2:#eb6834;--good:#0ca30c;--good-text:#006300;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--critical-text:#b42f2f;--shadow:0 1px 2px #0b0b0b0a, 0 1px 1px #0b0b0b05;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--cat-0:#2a78d6;--cat-1:#eb6834;--cat-2:#1baf7a;--cat-3:#eda100;--cat-4:#e87ba4;--cat-5:#008300;--cat-6:#4a3aa7;--cat-7:#e34948}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--sidebar:#141413;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff17;--accent:#3987e5;--accent-wash:#3987e524;--series-1:#3987e5;--series-2:#d95926;--good-text:#0ca30c;--critical-text:#e66767;--shadow:none;--cat-0:#3987e5;--cat-1:#d95926;--cat-2:#199e70;--cat-3:#c98500;--cat-4:#d55181;--cat-5:#008300;--cat-6:#9085e9;--cat-7:#e66767}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--sidebar:#141413;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff17;--accent:#3987e5;--accent-wash:#3987e524;--series-1:#3987e5;--series-2:#d95926;--good-text:#0ca30c;--critical-text:#e66767;--shadow:none;--cat-0:#3987e5;--cat-1:#d95926;--cat-2:#199e70;--cat-3:#c98500;--cat-4:#d55181;--cat-5:#008300;--cat-6:#9085e9;--cat-7:#e66767}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--page);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .16s;display:grid}.shell.collapsed{grid-template-columns:68px minmax(0,1fr)}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:20px;min-width:0;height:100vh;padding:20px 14px 12px;display:flex;position:sticky;top:0}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-body{flex-direction:column;flex:1;gap:20px;min-height:0;display:flex;overflow:hidden auto}.brand{white-space:nowrap;align-items:center;gap:10px;padding:0 8px;font-size:15px;font-weight:650;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:grid}.nav{flex-direction:column;flex:1 0 auto;gap:18px;display:flex}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section.bottom{margin-top:auto}.nav-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;padding:0 10px 6px;font-size:11px}.nav a{color:var(--ink-2);white-space:nowrap;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-wash);color:var(--accent)}.nav svg,.collapse-toggle svg{flex:none;width:17px;height:17px}.sidebar-foot{border-top:1px solid var(--border);color:var(--muted);margin-top:auto;padding:12px 10px 0;font-size:12px}.sidebar-foot strong{color:var(--ink-2);overflow-wrap:anywhere;font-weight:500;display:block}.collapse-toggle{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.collapse-toggle:hover{background:var(--surface-2);color:var(--ink)}.collapse-toggle svg{transition:transform .16s}.mobile-menu-button{display:none}.shell.collapsed .sidebar{padding-left:10px;padding-right:10px}.shell.collapsed .brand{padding:0 10px}.shell.collapsed .brand-name,.shell.collapsed .nav-text,.shell.collapsed .sidebar-foot{display:none}.shell.collapsed .nav-label{visibility:hidden;border-top:1px solid var(--border);height:1px;margin-bottom:4px;padding:0}.shell.collapsed .nav-section:first-child .nav-label{border-top:0}.shell.collapsed .nav a,.shell.collapsed .collapse-toggle{justify-content:center;padding:9px 0}.shell.collapsed .collapse-toggle svg{transform:rotate(180deg)}.main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--page) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex;position:sticky;top:0}.topbar h1{font-size:20px}.appbar{border-bottom:1px solid var(--border);background:var(--sidebar);z-index:6;justify-content:flex-end;align-items:center;gap:8px;padding:10px 32px;display:flex;position:sticky;top:0}.appbar-title{white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;min-width:0;margin-right:auto;font-size:15px;font-weight:650;transition:opacity .15s,transform .15s;overflow:hidden;transform:translateY(4px)}.appbar-title.shown{opacity:1;transform:none}.has-appbar .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;background:0 0;border-bottom:0;align-items:flex-start;padding-bottom:0;position:static}.has-appbar .topbar-actions{margin-top:-5px}.topbar .sub{color:var(--muted);margin-top:2px;font-size:13px}.content{flex-direction:column;gap:20px;max-width:1400px;padding:24px 32px 48px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);color:#fff;border-color:#0000}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, black)}.btn svg{width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-head{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px 0;display:flex}.card-head h2{font-size:15px}.card-head .hint{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.card-head>div:first-child{min-width:0}.card-body{padding:16px 20px 20px}.card-link{color:var(--accent);font-size:13px;font-weight:500}.grid{gap:20px;display:grid}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.kpi{flex-direction:column;gap:6px;padding:18px 20px;display:flex}.kpi-label{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.kpi-label svg{width:16px;height:16px;color:var(--muted)}.kpi-value{letter-spacing:-.02em;font-size:28px;font-weight:650;line-height:1.15}.kpi-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.delta{align-items:center;gap:3px;font-weight:600;display:inline-flex}.delta.up{color:var(--good-text)}.delta.down{color:var(--critical-text)}.delta.info{color:var(--ink-2)}.pill{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.pill.good .dot{background:var(--good)}.pill.warning .dot{background:var(--warning)}.pill.serious .dot{background:var(--serious)}.pill.critical .dot{background:var(--critical)}.pill.info .dot{background:var(--accent)}.meter{background:var(--surface-2);border-radius:4px;height:8px;position:relative;overflow:hidden}.meter>span{background:var(--series-1);border-radius:4px;position:absolute;inset:0 auto 0 0}.meter>span.over{background:var(--critical)}.meter>span.goal{background:var(--good)}.meter>span.warn{background:var(--warning)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:10px 12px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.ink-2{color:var(--ink-2)}.neg{color:var(--critical-text)}.pos{color:var(--good-text)}tr.section-row td{background:var(--surface-2);color:var(--ink-2);font-size:12.5px;font-weight:600}tr.total-row td{border-top:1px solid var(--axis);font-weight:650}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.input,.select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:32px}.select:disabled{cursor:default;opacity:.6}.input{flex:1;min-width:220px;max-width:340px}.segmented{background:var(--surface-2);border-radius:8px;padding:3px;display:inline-flex}.segmented button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart text{font:11.5px var(--font);fill:var(--muted);font-variant-numeric:tabular-nums}.chart .label-strong{fill:var(--ink-2);font-weight:500}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.legend i.tick{background:var(--ink);border-radius:1px;width:2px;height:12px}.legend i.line{border-top:1.5px solid var(--ink-2);border-radius:0;width:14px;height:0}.tooltip{pointer-events:none;z-index:3;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:150px;padding:8px 10px;font-size:12.5px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 24px #0000001f}.tooltip .t-title{margin-bottom:4px;font-weight:600}.tooltip .t-row{color:var(--ink-2);justify-content:space-between;gap:16px;display:flex}.tooltip .t-row b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.list li:last-child{border-bottom:0}.list .primary{font-weight:500}.list .secondary{color:var(--muted);font-size:12.5px}.callout{background:var(--accent-wash);color:var(--ink);border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.callout svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}.empty{text-align:center;color:var(--muted);padding:32px 20px}.dropzone{border:1.5px dashed var(--axis);text-align:center;background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.dropzone input[type=file]{font:inherit;color:var(--ink-2)}.error-box{background:color-mix(in srgb, var(--critical) 12%, transparent);color:var(--critical-text);border-radius:8px;padding:12px 14px}.ok-box{background:color-mix(in srgb, var(--good) 12%, transparent);color:var(--good-text);border-radius:8px;padding:12px 14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span,.field>label,.field>div>label{color:var(--ink-2);font-size:12.5px;font-weight:500}.field .input,.field .select{width:100%;min-width:0;max-width:none}.input:focus-visible,.select:focus-visible,.btn:focus-visible,.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input-cell{width:100%;min-width:80px;text-align:inherit;padding:6px 8px}.input-cell.num{text-align:right}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .span-2{grid-column:1/-1}.check{color:var(--ink-2);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.btn-ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{color:var(--critical-text)}.btn-icon{padding:6px}.btn:disabled{opacity:.55;cursor:not-allowed}.actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}dialog.dialog{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:14px;width:min(520px,100vw - 32px);padding:0;box-shadow:0 24px 64px #00000040}dialog.dialog::backdrop{background:#00000073}dialog.dialog.dialog-wide{width:min(980px,100vw - 32px)}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dialog-head h2{font-size:16px}.dialog-body{flex-direction:column;gap:16px;padding:20px;display:flex}.setting-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row .title{font-weight:500}.setting-row .desc{color:var(--muted);font-size:12.5px}.toasts{z-index:50;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--ink);min-width:260px;max-width:min(440px,100vw - 32px);color:var(--page);border-radius:10px;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:13.5px;animation:.16s ease-out toast-in;display:flex;box-shadow:0 10px 30px #00000040}.toast>svg{width:17px;height:17px;color:var(--good);flex:none}.toast.error>svg{color:var(--critical)}.toast-msg{flex:1}.toast-action{font:inherit;color:var(--page);border:1px solid color-mix(in srgb, var(--page) 35%, transparent);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-weight:600}.toast-action:hover{background:color-mix(in srgb, var(--page) 14%, transparent)}.toast-close{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:0;padding:4px;display:grid}.toast-close svg{width:15px;height:15px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.inline-edit{font:inherit;color:inherit;cursor:text;text-align:inherit;font-variant-numeric:tabular-nums;background:0 0;border:1px dashed #0000;border-radius:6px;margin:-4px -7px;padding:3px 6px}.inline-edit:hover{border-color:var(--axis);background:var(--surface-2)}.inline-edit-input{text-align:right;width:110px;padding:4px 6px}.popover{position:relative}.popover>summary{list-style:none}.popover>summary::-webkit-details-marker{display:none}.popover-panel{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(380px,100vw - 32px);max-height:70vh;padding:6px 16px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 16px 40px #0000002e}.badge{background:var(--critical);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}a.row-link:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.kbd{font:11px var(--font);border:1px solid color-mix(in srgb, currentColor 35%, transparent);opacity:.8;border-radius:4px;margin-left:2px;padding:1px 5px}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;font-size:13px;display:flex}.pagination-size{color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.pagination-size .select{background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;padding:4px 28px 4px 8px}.pagination-pages{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.pagination-pages .btn{padding:5px 10px;font-size:13px}.pagination-num{justify-content:center;min-width:34px}th .sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}th .sort:hover,th[aria-sort] .sort{color:var(--ink)}th .sort .arrow{opacity:.35;width:8px;font-size:10px}th[aria-sort] .sort .arrow{opacity:1;color:var(--accent)}th.num .sort{flex-direction:row-reverse}.filter-panel{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 20px;display:flex}.filter-panel .field{width:150px}.filter-panel .field.wide{width:220px}.count-chip{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.combo{position:relative}.combo .input{width:100%;max-width:none}.combo-list{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:300px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000029}.combo-list li{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;font-size:13.5px;display:flex}.combo-list li.active{background:var(--accent-wash)}.combo-value{font-weight:500}.combo-hint{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.combo-list li.combo-new{cursor:default;color:var(--muted);border-top:1px solid var(--border);border-radius:0;margin-top:2px;font-size:12.5px}.chip-button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:12px}.chip-button:hover{color:var(--ink);border-color:var(--axis)}.sidebar-search{border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sidebar-search:hover{color:var(--ink);border-color:var(--axis)}.sidebar-search svg{flex:none;width:16px;height:16px}.sidebar-search .kbd{margin-left:auto}.shell.collapsed .sidebar-search{background:0 0;border-color:#0000;justify-content:center;padding:9px 0}dialog.command{width:min(620px,100vw - 32px);margin-top:12vh}.command-input{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.command-input svg{width:18px;height:18px;color:var(--muted)}.command-input input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.command-list{max-height:60vh;margin:0;padding:6px;list-style:none;overflow:auto}.command-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 10px 4px;font-size:11px}.command-list button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.command-list button.active{background:var(--accent-wash)}.command-list button svg{width:16px;height:16px;color:var(--muted);flex:none}.command-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.command-hint{color:var(--muted);white-space:nowrap;font-size:12px}.split-box{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:flex}.split-box legend{color:var(--ink-2);padding:0 4px;font-size:12.5px;font-weight:500}.split-row{grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:8px;display:grid}.fab{cursor:pointer;background:var(--accent);color:#fff;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 8px 24px #00000040}.fab svg{width:26px;height:26px}.tabbar,.fab-slot{display:none}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 60%, var(--surface)) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:8px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media print{.sidebar,.appbar,.topbar>div:last-child,.tabbar,.fab-slot,.toasts,.no-print{display:none!important}.shell,.shell.collapsed{display:block}body{background:#fff}.card{box-shadow:none;break-inside:avoid}.content{max-width:none;padding:0}}@media (max-width:1100px){.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.grid-2{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.shell,.shell.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;border-right:0;border-bottom:1px solid var(--border);gap:0;height:auto;padding:10px 16px;position:sticky;top:0}.shell.collapsed .sidebar{padding:10px 16px}.shell.collapsed .brand-name{display:inline}.collapse-toggle{display:none}.mobile-menu-button{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-weight:500;display:inline-flex}.mobile-menu-button svg{width:17px;height:17px}.mobile-menu-button svg:last-child{color:var(--muted)}.sidebar-body{background:var(--sidebar);border-bottom:1px solid var(--border);max-height:calc(100vh - 60px);padding:12px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #0000002e}.sidebar-body.open{display:flex}.shell.collapsed .nav-text,.shell.collapsed .sidebar-foot{display:revert}.shell.collapsed .nav-label{visibility:visible;border-top:0;height:auto;padding:0 10px 6px}.shell.collapsed .nav a{justify-content:flex-start;padding:10px}.nav a{padding:10px;font-size:15px}.sidebar-foot{display:block}.topbar{flex-wrap:wrap;padding:16px;position:static}.has-appbar .topbar{padding-bottom:0}.content{padding:16px 16px 40px}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{gap:4px;padding:12px 14px}.kpi-value{font-size:21px}.kpi-label{font-size:12px}.kpi-foot{font-size:11.5px}.topbar{flex-wrap:nowrap;align-items:flex-start;gap:10px}.topbar h1{font-size:18px}.topbar .sub{font-size:12px}.topbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.topbar .add-expense-btn,.appbar .add-expense-btn{display:none}.main{position:relative}.appbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding:0;position:absolute;top:16px;right:16px}.has-appbar .topbar{padding-right:62px}.appbar-title{display:none}.input{min-width:0;max-width:none}.toolbar>.input[type=search]{flex:100%}.form-grid{grid-template-columns:minmax(0,1fr)}.pagination-pages{margin-left:0}.filter-panel .field,.filter-panel .field.wide{width:calc(50% - 6px)}.toasts{align-items:stretch;bottom:16px;left:16px;right:16px}.kbd{display:none}.shell.has-tabs .main{padding-bottom:72px}.tabbar{z-index:35;background:var(--sidebar);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr) 72px;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex}.tabbar a svg{width:20px;height:20px}.tabbar a[aria-current=page]{color:var(--accent)}.fab-slot{right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:36;display:block;position:fixed}.shell.has-tabs .toasts{bottom:84px}}.inline-edit-input.compact{width:64px;font-size:inherit;line-height:inherit;margin:-3px -7px;padding:2px 6px}.fixed-cell{text-align:right;vertical-align:middle;width:64px;display:inline-block}.fixed-cell .inline-edit{text-align:right;width:100%;margin:0;padding:3px 6px}.fixed-cell .inline-edit-input.compact{width:100%;margin:0;padding:3px 6px}.inline-edit-input{flex:none;min-width:0;max-width:none}.inline-edit-input.compact{box-sizing:border-box}.tip{cursor:default;position:relative}.tip:after{content:attr(data-tip);z-index:10;background:var(--ink);color:var(--page);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;transition:opacity .1s,transform .1s;position:absolute;bottom:calc(100% + 6px);right:0;transform:translateY(2px);box-shadow:0 6px 16px #0003}.tip:hover:after,.tip:focus-visible:after{opacity:1;transform:none}.tip:not(:hover):not(:focus-visible):after{display:none}.tip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.tip.tip-left:after{left:0;right:auto}.time-ago{white-space:nowrap}.delta-chip{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:500;display:inline-flex}.delta-chip svg{flex:none;width:14px;height:14px}.delta-chip.up{color:var(--ink-2)}.delta-chip.down{color:var(--good-text)}.delta-chip.same{color:var(--muted)}:root{--topbar-h:86px}thead th{top:var(--topbar-h);z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border);position:sticky}@media (min-width:1100px){.table-wrap:not(.scroll-box){overflow:visible}}@media (max-width:1099px){thead th{top:0}}.scroll-box thead th,dialog thead th{top:0}.paged-foot td{border-bottom:0;padding:0}.paged-foot .pagination{border-top:1px solid var(--border)}.nav a{position:relative}.nav-badge{background:var(--critical);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11.5px;font-weight:700;display:grid}.nav-badge.neutral,.tab-badge.neutral{background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--border)}.shell.collapsed .nav-badge{width:9px;min-width:9px;height:9px;padding:0;font-size:0;position:absolute;top:3px;right:8px}.fixed-cell.money-cell{width:104px}.title-row{align-items:center;gap:6px;display:flex}.info-button{display:inline-flex;position:relative}.info-button>button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:4px;display:grid}.info-button>button:hover,.info-button>button[aria-expanded=true]{color:var(--accent);background:var(--accent-wash)}.info-button svg{width:18px;height:18px}.info-panel{z-index:30;background:var(--surface);width:min(420px,100vw - 32px);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 8px);left:-8px;box-shadow:0 12px 32px #00000029}.switch{flex:none;width:40px;height:24px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:color-mix(in srgb, var(--muted) 45%, transparent);pointer-events:none;border-radius:999px;width:100%;height:100%;transition:background .14s}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled{cursor:default}.feature-row{cursor:pointer;flex-wrap:nowrap}@media (prefers-reduced-motion:reduce){.switch span,.switch span:after{transition:none}}.btn.btn-sm{min-height:0;padding:4px 10px;font-size:12.5px}.warn-box{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--ink);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.warn-box .check{font-weight:500;display:flex}.link-button{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default}.tab-icon{display:inline-flex;position:relative}.tab-badge{background:var(--critical);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-10px}.mobile-menu-button .nav-badge{margin-left:2px}.on-touch{display:none}@media (hover:none) and (pointer:coarse){.on-touch{display:inline}.on-pointer{display:none}}
.fund-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px;display:grid}.fund{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.fund-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.fund-name{font-weight:600}.fund-value{letter-spacing:-.02em;font-size:22px;font-weight:650}.fund-rows{color:var(--ink-2);grid-template-columns:1fr auto;gap:4px 12px;font-size:12.5px;display:grid}.fund-rows span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.account-flow{background:var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.account-flow>div{background:var(--surface);padding:12px 14px}.account-flow .k{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-flow .v{white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:600}.account-card{container-type:inline-size}.account-card .card-head{flex-wrap:wrap;row-gap:6px}.account-card .delta{white-space:nowrap}@container (max-width:600px){.account-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.overview-grid>.span-all{grid-column:1/-1}@media (max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}}.drag-handle{width:20px;height:24px;color:var(--muted);cursor:grab;opacity:.45;border-radius:4px;place-items:center;display:inline-grid}.drag-handle svg{width:16px;height:16px}tr:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}tr.dragging{opacity:.4}tr.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}tbody.drop-active{outline:2px dashed color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:-2px}.fund-card[draggable=true]{cursor:grab}.fund-card.drop-target{outline:2px solid var(--accent)}.dot-lg{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}@media (max-width:760px){.drag-handle{display:none}}.color-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.swatch{border:2px solid var(--surface);width:24px;height:24px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border-radius:50%;padding:0}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--ink)}.swatch.auto{width:auto;font:inherit;background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 4px;font-size:12px;display:inline-flex}.swatch.auto span{border-radius:50%;width:14px;height:14px}.calx{grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.calx-grid{grid-template-rows:auto;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:96px;align-content:start;gap:6px;padding:16px 20px 20px;display:grid}.calx-grid>.calx-head{height:auto}.calx-day{height:96px;overflow:hidden}.calx-panel{align-self:stretch;min-height:100%}.calx-head{color:var(--ink-2);text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:0 4px 6px;font-size:12px;font-weight:600}.calx-head.weekend{color:var(--muted)}.calx-day{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);min-width:0;min-height:96px;color:var(--ink);font:inherit;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px 14px;display:flex;position:relative}.calx-day.weekend{background:var(--surface-2)}.calx-day:hover{border-color:var(--axis)}.calx-day.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.calx-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.calx-num{color:var(--ink-2);border-radius:50%;place-items:center;width:24px;height:24px;margin:-2px 0 0 -4px;font-size:13px;font-weight:600;display:grid}.calx-day.today .calx-num{background:var(--accent);color:#fff}.calx-amt{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:650}.calx-none{color:var(--axis);font-size:14px}.calx-bill{white-space:nowrap;border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:11px;font-weight:600}.calx-bill.due{background:color-mix(in srgb, var(--warning) 22%, transparent);color:var(--ink)}.calx-bill.paid{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good-text)}.calx-bar{background:var(--surface-2);border-radius:2px;height:4px;position:absolute;bottom:7px;left:10px;right:10px;overflow:hidden}.calx-day.weekend .calx-bar{background:var(--surface)}.calx-bar span{background:var(--series-1);border-radius:2px;height:100%;display:block}.calx-panel{border-left:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius) 0;flex-direction:column;gap:16px;padding:18px 20px;display:flex}.calx-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calx-panel-date{font-size:15px;font-weight:650}.calx-panel-total{font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.calx-panel-section{flex-direction:column;gap:2px;display:flex}.calx-panel-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11.5px;font-weight:600}.calx-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;display:flex}.calx-row:last-child{border-bottom:0}.calx-what{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}@media (max-width:1100px){.calx{grid-template-columns:minmax(0,1fr)}.calx-panel{border-left:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}}@media (max-width:760px){.calx-grid{gap:3px;padding:12px}.calx-head{text-align:center;padding:0 0 4px;font-size:10.5px}.calx-grid{grid-auto-rows:58px}.calx-day{border-radius:8px;align-items:center;height:58px;min-height:58px;padding:4px 4px 10px}.calx-num{width:20px;height:20px;margin:0;font-size:11.5px}.calx-amt{font-size:11px}.calx-bill{width:7px;height:7px;padding:0;font-size:0}.calx-bar{height:3px;bottom:4px;left:4px;right:4px}}.print-page{background:var(--surface);max-width:820px;min-height:100vh;margin:0 auto;padding:32px 24px 48px}.print-page h2{margin:28px 0 8px;font-size:16px}.print-page table{font-size:12.5px}.print-page td,.print-page th{padding:5px 8px}.print-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.print-kpis div{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.print-kpis span{color:var(--muted);font-size:12px}.print-kpis strong{font-size:18px}@media print{.print-page{padding:0}@page{margin:14mm}}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:14px 20px 0;font-size:12px;font-weight:600}.fund-top .fund-name{flex:1;min-width:0}.account-menu{position:relative}.account-who{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-width:0;margin:0 -6px;padding:6px;list-style:none;display:flex}.account-who::-webkit-details-marker{display:none}.account-who:hover,.account-menu[open]>.account-who{background:var(--surface-2)}.account-who>svg{width:14px;height:14px;color:var(--muted);flex:none;margin-left:auto;transition:transform .15s}.account-menu:not([open])>.account-who>svg{transform:rotate(180deg)}.account-avatar{background:var(--accent-wash);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:650;display:grid}.account-name{flex-direction:column;min-width:0;line-height:1.3;display:flex}.account-name span{font-size:11.5px}.account-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.account-panel{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;bottom:calc(100% + 6px);left:-6px;right:-6px;box-shadow:0 12px 32px #0000002e}.account-row{justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.account-row strong{color:var(--ink);font-weight:500;display:inline}.account-signout{border:1px solid var(--border);font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:7px;padding:6px 10px;font-size:12.5px}.account-signout:hover{background:var(--surface-2);color:var(--ink)}.account-panel form{flex-direction:column;display:flex}.shell.collapsed .sidebar-foot:has(.account-menu){padding:10px 0 0;display:block}.shell.collapsed .account-who{justify-content:center;margin:0}.shell.collapsed .account-who .account-name,.shell.collapsed .account-who>svg{display:none}.shell.collapsed .account-panel{width:240px;position:fixed;bottom:16px;left:76px;right:auto}@media (max-width:760px){.shell.collapsed .account-who{justify-content:flex-start;margin:0 -6px}.shell.collapsed .account-who .account-name{display:flex}.shell.collapsed .account-who>svg{display:inline}.shell.collapsed .account-panel{width:auto;position:absolute;bottom:calc(100% + 6px);left:-6px;right:-6px}}.alerts-head{justify-content:space-between;align-items:center;padding:8px 0 4px;display:flex}.alerts-empty{align-items:center;gap:10px;padding:10px 0 14px;display:flex}.alerts-empty-icon{background:var(--surface-2);width:30px;height:30px;color:var(--good-text);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.alerts-empty-icon svg{width:16px;height:16px}.alerts-empty strong{font-size:13.5px;display:block}.alerts-empty span{color:var(--muted);font-size:12.5px}.alerts-read{border-top:1px solid var(--border);margin-top:4px}.alerts-read>summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:12px 0;font-size:12px;font-weight:600;list-style:none;display:flex}.alerts-read>summary::-webkit-details-marker{display:none}.alerts-read>summary:hover{color:var(--ink)}.alerts-read>summary svg{width:14px;height:14px;transition:transform .15s}.alerts-read[open]>summary svg{transform:rotate(180deg)}.alerts-read .list li:first-child{padding-top:0}.bulk-bar{background:var(--accent-wash);border-bottom:1px solid var(--border);z-index:3;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;display:flex;position:sticky;top:72px}.bulk-bar .select,.bulk-bar .input{padding:5px 8px}.bulk-bar .select{padding-right:28px}.bulk-bar .btn{padding:5px 10px}tr.selected td{background:color-mix(in srgb, var(--accent-wash) 70%, transparent)}.pill-button{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.pill-button:hover .pill{box-shadow:0 0 0 1px var(--axis)}.tag{color:var(--accent);background:var(--accent-wash);border-radius:4px;padding:0 5px;font-size:11.5px}.tx-list{margin:0;padding:0;list-style:none;display:none}.swipe{border-bottom:1px solid var(--border);position:relative;overflow:hidden}.swipe-actions{display:flex;position:absolute;inset:0 0 0 auto}.swipe-actions button{color:#fff;width:68px;font:inherit;border:0;font-size:13px;font-weight:600}.swipe-edit{background:var(--accent)}.swipe-delete{background:var(--critical)}.swipe-content{background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.tx-item{align-items:center;gap:10px;padding:12px 16px;display:flex}.tx-what{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tx-sub{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.tx-amt{white-space:nowrap;font-weight:600}@media (max-width:760px){.tx-table{display:none}.tx-list{display:block}.bulk-bar{top:56px}}.buffer-card{border-top:3px solid var(--accent)}.special-card{padding:14px 16px 12px}.special-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.special-text{flex-direction:column;gap:2px;min-width:0;display:flex}.special-title{align-items:center;gap:8px;min-width:0;display:flex}.special-title h2{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.special-card .fund-value{white-space:nowrap;font-size:22px}.special-card .more-info{margin:4px 0 0 48px}@media (max-width:760px){.special-row{gap:10px}.special-title{flex-wrap:wrap;row-gap:2px}.special-title h2{overflow:visible}.special-title .pill{padding:0 6px;font-size:11px}.special-card .fund-value{font-size:18px}.special-card .more-info{margin-left:46px}}.special-summary{color:var(--muted);font-size:13px}.special-summary strong{color:var(--ink);font-weight:600}.more-info>summary{cursor:pointer;color:var(--accent);align-items:center;gap:4px;font-size:12.5px;font-weight:500;list-style:none;display:inline-flex}.more-info>summary::-webkit-details-marker{display:none}.more-info>summary:after{content:"▾";font-size:10px;transition:transform .15s}.more-info[open]>summary:after{transform:rotate(180deg)}.more-info-body{flex-direction:column;gap:12px;padding-top:12px;display:flex}.more-info p{margin:0;font-size:12.5px}.buffer-math{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:6px 16px;font-size:13.5px;display:grid}.buffer-math strong{text-align:right;font-weight:600}.buffer-math .eq{border-top:1px solid var(--axis);color:var(--ink);padding-top:6px;font-weight:650}.buffer-math.muted-math{color:var(--ink-2);font-size:12.5px}.buffer-math.muted-math>span:nth-child(2n){text-align:right}.buffer-math .sub{color:var(--muted);margin-top:-4px;font-size:11.5px}tr.buffer-row td{background:color-mix(in srgb, var(--accent-wash) 60%, transparent)}dialog.dialog:has(.payout-table){width:min(700px,100vw - 32px)}.payout-table .input-cell{width:76px;min-width:0}.fund-rows .after-payout{border-top:1px solid var(--border);color:var(--ink);margin-top:2px;padding-top:4px;font-weight:600}dialog.dialog:has(.payout-table){max-height:calc(100vh - 32px)}.payout-table thead th{z-index:1;position:sticky;top:0}.special-funds{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.special-funds>.buffer-card:only-child{grid-column:1/-1}.reimburse-card{border-top:3px solid var(--cat-2)}@media (max-width:1100px){.special-funds{grid-template-columns:minmax(0,1fr)}}.fund-card{border-top:4px solid var(--fund-color)}.fund-head{align-items:center;gap:12px;padding:14px 14px 0 20px;display:flex}.fund-head .fund-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15.5px;font-weight:650;overflow:hidden}.fund-dot{background:var(--fund-color);border-radius:50%;flex:none;width:10px;height:10px}.fund-notes{padding:2px 20px 0 38px;font-size:12.5px}.fund-now{padding:14px 20px 4px}.fund-now .fund-value{font-size:32px;line-height:1.1}.fund-now .muted{font-size:12.5px}.fund-progress{padding:10px 20px 4px}.fund-bar{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.fund-bar span{background:var(--fund-color);border-radius:5px;height:100%;display:block}.fund-bar-labels{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.fund-pace{color:var(--ink-2);margin-top:6px;font-size:12.5px}.fund-stats{background:var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:14px;display:grid}.fund-stats>div{background:var(--surface);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.fund-stats span{color:var(--muted);white-space:nowrap;font-size:11.5px}.fund-stats strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:600}.fund-stats .inline-edit{margin:-3px -6px}.fund-after{background:var(--surface-2);border-top:1px solid var(--border);color:var(--ink-2);justify-content:space-between;align-items:baseline;padding:10px 20px;font-size:13px;display:flex}.fund-after strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.fund-avatar{object-fit:cover;border-radius:12px;flex:none;display:block}.fund-avatar.placeholder{letter-spacing:.02em;color:var(--fund-color);background:linear-gradient(135deg, color-mix(in srgb, var(--fund-color) 22%, var(--surface)), color-mix(in srgb, var(--fund-color) 8%, var(--surface)));border:1px dashed color-mix(in srgb, var(--fund-color) 45%, transparent);place-items:center;font-weight:700;display:grid}.fund-head-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.fund-head-text .fund-name{flex:none}.fund-image-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.payout-col{white-space:nowrap;width:92px}.fund-card{position:relative}.drag-handle.drag-top{opacity:0;border-radius:0 0 6px 6px;width:40px;height:14px;transition:opacity .12s;position:absolute;top:0;left:50%;transform:translate(-50%)}.drag-handle.drag-top svg{width:22px;height:14px}.fund-card:hover .drag-handle.drag-top,.drag-handle.drag-top:focus-visible{opacity:.8;background:var(--surface-2)}@media (hover:none){.drag-handle.drag-top{display:none}}.back-button{color:var(--accent);font-weight:500}.notices{background:color-mix(in srgb, var(--warning) 14%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 35%, transparent);--notice-rule:color-mix(in srgb, var(--warning) 30%, transparent);border-radius:10px;flex-direction:column;font-size:13.5px;display:flex}.notices:not(:has(.notice)){display:none}.notices:not(:has(.notice.warning)){background:var(--accent-wash);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent);--notice-rule:color-mix(in srgb, var(--accent) 18%, transparent)}.notice{align-items:center;gap:12px;padding:12px 16px;display:flex}.notice+.notice{border-top:1px solid var(--notice-rule)}.notice>svg{width:18px;height:18px;color:var(--warning);flex:none}.notice.info>svg{color:var(--accent)}.notice-text{flex:1;min-width:0}.notice-text .sub{color:var(--ink-2);margin-top:1px;font-size:12.5px;display:block}.notice-actions{flex:none;align-items:center;gap:14px;display:flex}@media (max-width:760px){.notice{flex-wrap:wrap;row-gap:6px}.notice-text{flex-basis:calc(100% - 40px)}.notice-actions{flex-wrap:wrap;margin-left:30px}}.callout-link{font:inherit;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.callout-link:hover{text-underline-offset:2px;text-decoration:underline}.appbar-start{order:-1;align-items:center;display:flex}.appbar-start .back-button{margin-left:-10px}@media (max-width:760px){.appbar-start{display:none}}.checklist ul{margin:0;padding:0;list-style:none}.check-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:flex}.check-item:last-child{border-bottom:0}.check-box{cursor:pointer;border:2px solid var(--axis);background:var(--surface);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;padding:0;display:grid}.check-box:hover{border-color:var(--accent)}.check-box[aria-checked=true]{background:var(--good);border-color:var(--good)}.check-box svg{stroke-width:3px;width:18px;height:18px}.check-text{flex:1;min-width:0}.check-name{font-size:15px;font-weight:600}.check-sub{color:var(--muted);font-size:12.5px}.check-amt{font-variant-numeric:tabular-nums;font-size:15px;font-weight:650}.check-item.paid .check-name,.check-item.paid .check-amt{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.check-item.overdue .check-box{border-color:var(--critical)}.check-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 2px;font-size:11.5px;font-weight:600}.check-done{background:color-mix(in srgb, var(--good) 12%, transparent);color:var(--good-text);border-radius:10px;align-items:center;gap:10px;padding:14px;font-weight:600;display:flex}.check-done svg{width:20px;height:20px}.warn-text{color:color-mix(in srgb, var(--warning) 70%, var(--ink));font-weight:600}.calx-toolbar{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 20px 0;display:flex}.calx-kpis{gap:12px;padding:14px 20px 0}.calx-kpis .kpi{box-shadow:none;padding:12px 14px}.calx-kpis .kpi-value{font-size:22px}.fund-row-item{--grip-col:20px;--pic-col:40px}.no-drag .fund-row-item{--grip-col: }.no-pictures .fund-row-item{--pic-col: }.no-drag .drag-handle,.no-pictures .fund-avatar{display:none}.funds-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.fund-rows-list{flex-direction:column;gap:8px;display:flex}.fund-row-item{grid-template-columns:var(--grip-col) var(--pic-col) minmax(140px, 1.2fr) minmax(170px, 1.4fr) repeat(4, minmax(92px, .8fr)) auto;border-left:4px solid var(--fund-color);align-items:center;gap:14px;padding:10px 14px 10px 8px;display:grid}.fund-row-item .drag-handle{opacity:.45}.fund-row-item>:last-child{justify-self:end;margin:-4px -8px -4px 0}.fund-row-item:hover .drag-handle{opacity:1}.fund-row-item.drop-target{outline:2px solid var(--accent)}.fr-name{flex-direction:column;gap:3px;min-width:0;display:flex}.fr-name .fund-name{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.fr-now{flex-direction:column;gap:4px;min-width:0;display:flex}.fr-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650;line-height:1.1}.fr-now .fund-bar{height:6px}.fr-goal{color:var(--muted);white-space:nowrap;font-size:11.5px}.fr-stat{text-align:right;flex-direction:column;gap:2px;min-width:0;display:flex}.fr-stat span{color:var(--muted);white-space:nowrap;font-size:11.5px}.fr-stat strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:600}.fr-stat .fixed-cell{text-align:right}.fr-after strong{font-size:14.5px}@media (max-width:1100px){.fund-row-item{grid-template-columns:var(--grip-col) var(--pic-col) minmax(0, 1fr) minmax(130px, 1fr) auto auto}.fund-row-item .fr-stat:not(.fr-after){display:none}}@media (max-width:760px){.fund-row-item{grid-template-columns:var(--pic-col) minmax(0, 1fr) auto auto auto}.fund-row-item .drag-handle,.fund-row-item .fr-now .fund-bar,.fund-row-item .fr-goal{display:none}.fund-row-item{--pic-col:30px;gap:10px;padding:7px 10px 7px 8px}.fund-row-item .fund-avatar{border-radius:8px;width:30px!important;height:30px!important;font-size:11px!important}.fund-row-item .fr-name{gap:1px}.fund-row-item .fr-name .pill{gap:4px;padding:0 6px;font-size:11px}.fund-row-item .fr-value{font-size:15px}.fund-row-item .fr-stat span{font-size:10.5px}.fund-row-item .fr-after strong{font-size:13px}.fund-row-item>:last-child{margin:0 -6px 0 -4px}.fund-row-item>:last-child .btn-icon{padding:4px}.fund-row-item>:last-child .btn-icon svg{width:15px;height:15px}}.fund-stats .fixed-cell,.fr-stat .fixed-cell{width:auto;min-width:84px}.fund-stats .fixed-cell{text-align:left}.fund-stats .fixed-cell .inline-edit,.fr-stat .fixed-cell .inline-edit{width:auto;color:var(--ink);margin:0 -4px;padding:0 4px;font-size:13.5px;font-weight:600}.fund-stats .fixed-cell .inline-edit{text-align:left}.special-line{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;display:flex}.special-chip{background:var(--surface-2);border-radius:8px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.special-chip:hover{background:var(--accent-wash)}.calx-bill.rental{background:color-mix(in srgb, var(--cat-6) 16%, transparent);color:var(--ink)}.calx-bill.rental.paid{color:var(--good-text)}tr.unpaid-row td:first-child{box-shadow:inset 3px 0 0 var(--warning)}.payout-split{flex-direction:column;gap:8px;display:flex}.payout-split-row{grid-template-columns:minmax(110px,180px) minmax(0,1fr) 52px 96px;align-items:center;gap:12px;font-size:13.5px;display:grid}.ps-bar{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.ps-bar span{border-radius:5px;height:100%;display:block}.ps-pct,.ps-amt{text-align:right;font-variant-numeric:tabular-nums}.settings-tabs,.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-bottom:0;display:flex}.settings-tabs a,.tabs button{color:var(--ink-2);border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:8px 12px;font-size:13.5px;font-weight:500}.tabs button{cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;font-family:inherit}.settings-tabs a:hover,.tabs button:hover{color:var(--ink);background:var(--surface-2)}.settings-tabs a[aria-current=page],.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.budget-table-wrap{container-type:inline-size}@container (max-width:980px){.budget-table .col-trend{display:none}}@container (max-width:860px){.budget-table .col-forecast{display:none}}@container (max-width:720px){.budget-table .col-used{display:none}}.bulk-form{flex-direction:column;gap:14px;display:flex}.with-badge{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.account-badge{border-radius:4px;flex:none}.card-split{border:1px solid var(--border);color:var(--ink-2);border-radius:8px;flex-direction:column;font-size:12.5px;display:flex}.card-split>div{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));align-items:baseline;gap:8px;padding:8px 14px;display:grid}.card-split>div+div{border-top:1px solid var(--border)}.card-split strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.card-split-name{color:var(--ink);font-weight:600}@container (max-width:420px){.card-split>div{grid-template-columns:1fr 1fr}.card-split-name{grid-column:1/-1}}.register-table{width:100%}.register-table td.num,.register-table th.num{white-space:nowrap}.register-table .reg-actions{width:76px;padding-top:4px;padding-bottom:4px}@media (max-width:760px){.register-table .reg-edit{display:none}.register-table .reg-actions{width:40px;padding-left:0}.register-table th,.register-table td{padding-left:6px;padding-right:6px}.register-table th:first-child,.register-table td:first-child{padding-left:12px}}.bank-check{flex-wrap:wrap;align-items:center;gap:12px;font-size:12.5px;display:flex}.bank-check label{color:var(--ink-2);align-items:center;gap:8px;display:flex}.bank-check .input{width:130px;padding:5px 8px;font-size:13px}.paste-input{resize:vertical;width:100%;max-width:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.paste-grid{flex-direction:column;gap:6px;max-height:55vh;display:flex;overflow:auto}.paste-row{grid-template-columns:138px minmax(0,1.2fr) minmax(0,1fr) 172px minmax(0,1.1fr) 96px 32px;align-items:center;gap:6px;display:grid}.paste-row .input,.paste-row .select{width:100%;min-width:0;max-width:none}.paste-row .input.num{text-align:right}.paste-note{color:var(--ink-2);align-items:center;gap:6px;padding:2px 0 4px 4px;font-size:12px;display:flex}.paste-note svg{width:14px;height:14px;color:var(--warning);flex:none}@media (max-width:760px){.paste-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;padding:10px}.paste-row.bulk-head{display:none}.paste-row>:nth-child(2){grid-area:1/1/auto/3}.paste-row>:nth-child(7){grid-area:1/3}}.bulk-grid{flex-direction:column;gap:6px;display:flex}.bulk-row{grid-template-columns:138px minmax(0,1.3fr) minmax(0,1.1fr) 104px minmax(0,1.2fr) 32px;align-items:center;gap:6px;display:grid}.bulk-row .input,.bulk-row .select{width:100%;min-width:0;max-width:none}.bulk-row .input.num{text-align:right}.bulk-head{color:var(--muted);padding:0 2px;font-size:12px;font-weight:500}.bulk-row.blank:not(:focus-within){opacity:.6}@media (max-width:760px){.bulk-head{display:none}.bulk-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;padding:10px}.bulk-row>:nth-child(2){grid-area:1/1/auto/3}.bulk-row>:nth-child(6){grid-area:1/3}.bulk-row>:first-child{grid-area:2/1}.bulk-row>:nth-child(3){grid-area:2/2/auto/4}.bulk-row>:nth-child(4){grid-area:3/1}.bulk-row>:nth-child(5){grid-area:3/2/auto/4}}.welcome-card{border-left:4px solid var(--accent);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;display:flex}.welcome-card h2{margin:0 0 10px;font-size:16px}.welcome-card ol{color:var(--ink-2);gap:6px;margin:0 0 10px;padding-left:20px;font-size:14px;display:grid}.welcome-card strong{color:var(--ink)}.welcome-card p{margin:0;font-size:13px}@media (max-width:760px){.welcome-card{flex-direction:column}}.past-note{margin:0;padding:4px 20px 14px;font-size:13px;line-height:1.55}.past-note strong{color:var(--ink)}.past-table th:first-child,.past-table td:first-child{z-index:1;background:var(--surface);white-space:nowrap;position:sticky;left:0}.past-table thead th:first-child{z-index:3}.past-table td.num,.past-table th.num{min-width:72px}tr.summary-row td{font-weight:600}tr.group-row td{color:var(--muted);background:var(--surface-2);padding-top:8px;padding-bottom:8px;font-size:12px;font-weight:600}.year-chips{flex-wrap:wrap;gap:6px;padding:0 20px 14px;display:flex}.year-chips [aria-current=page]{background:var(--accent-wash);color:var(--accent);border-color:var(--accent)}.topbar .year-chips{align-items:center;padding:0}:root{--hm-n4:#a82c2c;--hm-n3:#d03b3b;--hm-n2:#e57b7b;--hm-n1:#f4c4c4;--hm-0:#e4e2dd;--hm-p1:#cde2fb;--hm-p2:#86b6ef;--hm-p3:#3987e5;--hm-p4:#1c5cab}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hm-n4:#f08a8a;--hm-n3:#d03b3b;--hm-n2:#9c3a3a;--hm-n1:#5e3030;--hm-0:#383835;--hm-p1:#233f60;--hm-p2:#255f9f;--hm-p3:#3987e5;--hm-p4:#86b6ef}}:root[data-theme=dark]{--hm-n4:#f08a8a;--hm-n3:#d03b3b;--hm-n2:#9c3a3a;--hm-n1:#5e3030;--hm-0:#383835;--hm-p1:#233f60;--hm-p2:#255f9f;--hm-p3:#3987e5;--hm-p4:#86b6ef}.hm-s-4{background:var(--hm-n4)}.hm-s-3{background:var(--hm-n3)}.hm-s-2{background:var(--hm-n2)}.hm-s-1{background:var(--hm-n1)}.hm-s0{background:var(--hm-0)}.hm-s1{background:var(--hm-p1)}.hm-s2{background:var(--hm-p2)}.hm-s3{background:var(--hm-p3)}.hm-s4{background:var(--hm-p4)}.past-intro{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.past-intro strong{color:var(--ink)}.past-toolbar{top:var(--topbar-h,0);z-index:4;background:var(--page);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex;position:sticky}.past-toolbar .select{width:auto}.past-toolbar .select.active{border-color:var(--accent);color:var(--accent);font-weight:500}.kpi-of{color:var(--muted);font-size:16px;font-weight:500}.kpi-name{font-size:20px}.month-dots{flex-wrap:wrap;gap:3px;display:flex}.month-dots i{border-radius:2px;width:9px;height:9px}.heatmap-wrap{overflow:visible}@media (max-width:900px){.heatmap-wrap{padding-top:4px;overflow-x:auto}}.heatmap{gap:4px;min-width:760px;display:grid}.hm-row{border-radius:8px;grid-template-columns:52px repeat(12,minmax(46px,1fr)) 128px;align-items:center;gap:4px;display:grid}.hm-row.active{background:var(--accent-wash);box-shadow:0 0 0 4px var(--accent-wash)}.hm-head span{color:var(--muted);text-align:center;font-size:11.5px}.hm-head .hm-sum{text-align:right}.hm-year{font:inherit;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:4px;font-size:12.5px}.hm-year:hover{background:var(--surface-2);color:var(--ink);text-decoration:underline}.hm-row.active .hm-year{color:var(--accent);font-weight:600}.hm-cell{font-variant-numeric:tabular-nums;height:30px;color:var(--ink);cursor:default;border-radius:5px;justify-content:center;align-items:center;font-size:11.5px;font-weight:500;display:flex}.hm-cell.hm-s3,.hm-cell.hm-s4,.hm-cell.hm-s-3,.hm-cell.hm-s-4{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hm-cell.hm-s4,:root:not([data-theme=light]) .hm-cell.hm-s-4{color:#1a1a19}}:root[data-theme=dark] .hm-cell.hm-s4,:root[data-theme=dark] .hm-cell.hm-s-4{color:#1a1a19}.hm-cell.hm-none{background:repeating-linear-gradient(135deg, transparent 0 4px, var(--grid) 4px 5px);border:1px solid var(--grid)}.hm-cell:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.hm-sum{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;font-size:12.5px;line-height:1.25;display:flex}.hm-sum .muted{font-size:11px}.hm-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;font-size:12.5px;display:flex}.hm-key{align-items:center;gap:6px;display:inline-flex}.hm-key i{border-radius:3px;width:18px;height:12px;display:inline-block}.hm-key .hm-cell{height:12px}.bars-summary{color:var(--ink-2);margin:0 0 10px;font-size:13.5px}.bars-summary strong{color:var(--ink)}.bill-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 20px 14px;display:flex}.sort-pick{align-items:center;gap:8px;font-size:13px;display:inline-flex}.sort-pick .select{width:auto}.bill-group-head{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin:0;padding:12px 20px 8px;font-size:13px;font-weight:600;display:flex}.bill-group-head .muted{font-weight:400}.status-dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.status-dot.critical{background:var(--critical)}.status-dot.good{background:var(--good)}.status-dot.warning{background:var(--warning)}.bill-rows{margin:0;padding:0;list-style:none}.bill-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,1.1fr) minmax(200px,1.6fr) 120px 110px 130px;align-items:center;gap:16px;padding:12px 20px;display:grid}.bill-row:last-child{border-bottom:0}.br-name{flex-direction:column;gap:4px;min-width:0;font-weight:500;display:flex}.br-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:400;display:flex}.status-pill svg{width:12px;height:12px}.status-pill.critical{color:var(--critical-text)}.status-pill.good{color:var(--good-text)}.vs-bar{background:var(--surface-2);border-radius:5px;height:10px;position:relative}.vs-fill{border-radius:5px;position:absolute;top:0;bottom:0;left:0}.vs-fill.over{border-radius:0 5px 5px 0}.vs-fill.joined{border-radius:5px 0 0 5px}.vs-fill.ok{background:var(--series-1)}.vs-fill.over{background:var(--critical)}.vs-tick{background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.br-caption{font-variant-numeric:tabular-nums;margin-top:6px;font-size:13px}.br-change{text-align:right}.br-action{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.br-why{font-size:12.5px}@media (max-width:1100px){.bill-row{grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) 110px 120px}.br-trend{display:none}}@media (max-width:760px){.bill-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.br-bar{grid-area:2/1/auto/-1}.br-change{display:none}.br-action{grid-area:1/2}}.fund-trends{margin:0;padding:0;list-style:none}.fund-trends li{border-top:1px solid var(--border);grid-template-columns:minmax(110px,1fr) 130px 100px 100px;align-items:center;gap:16px;padding:10px 20px;display:grid}.fund-trends li:first-child{border-top:0}.ft-name{font-weight:500}.ft-end{text-align:right;font-variant-numeric:tabular-nums}.ft-change{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}.receipt-scan{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.past-toolbar .jump-to{margin-left:auto}.past-page section[id],.past-page details[id]{scroll-margin-top:calc(var(--topbar-h,0px) + 64px)}.br-why{white-space:nowrap}.recap-lead{max-width:760px;font-size:15.5px}.recap-compare{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.recap-compare li{grid-template-columns:1fr auto;column-gap:12px;display:grid}.recap-compare li strong{font-variant-numeric:tabular-nums;text-align:right;grid-row:span 2;align-self:center;font-size:20px}.recap-compare li .muted{font-size:12.5px}.recap-movers{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;padding-top:12px;display:grid}.recap-mover{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;padding:2px 0;font-size:13.5px;display:flex}.recap-list li{grid-template-columns:minmax(0,1.4fr) auto 56px auto}.recap-list li>*{white-space:nowrap}.recap-list .ft-name{text-overflow:ellipsis;overflow:hidden}.recap-more{border-top:1px solid var(--border)}.recap-more>summary{color:var(--accent);cursor:pointer;padding:10px 20px;font-size:13px}.recap-more[open]>summary{border-bottom:1px solid var(--border)}@media (max-width:760px){.recap-movers{grid-template-columns:1fr}.recap-list li{grid-template-columns:minmax(0,1fr) auto}.recap-list li>:nth-child(2),.recap-list li>:nth-child(3){display:none}}@media print{.recap-lead{font-size:13px}}.drift-list li{grid-template-columns:minmax(0,1fr) 96px auto 88px;gap:12px}.drift-list .ft-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:760px){.drift-list li{grid-template-columns:minmax(0,1fr) auto auto}}.kept-bars{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:6px;display:grid}.kept-bar{text-align:center;font-variant-numeric:tabular-nums;grid-template-rows:auto 120px auto;gap:4px;display:grid}.kept-value{color:var(--ink-2);font-size:11px}.kept-track{border-bottom:1px solid var(--border);position:relative}.kept-track i{background:var(--series-1);border-radius:4px 4px 0 0;width:min(28px,70%);min-height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.kept-track i.neg-fill{background:var(--critical)}.kept-bars.both .kept-track{background:linear-gradient(var(--border), var(--border)) 0 50% / 100% 1px no-repeat;border-bottom:0}.kept-bars.both .kept-track i{bottom:50%}.kept-bars.both .kept-track i.neg-fill,.kept-bars.down .kept-track i.neg-fill{border-radius:0 0 4px 4px;top:50%;bottom:auto}.kept-bars.down .kept-track{border-bottom:0;border-top:1px solid var(--border)}.kept-bars.down .kept-track i.neg-fill{top:0}.kept-year{color:var(--muted);font-size:11.5px}@media (max-width:760px){.kept-value{display:none}.kept-bars{gap:3px}.fund-trends li{grid-template-columns:minmax(0,1fr) auto auto}.fund-trends .sparkline,.fund-trends svg{display:none}}.all-numbers{padding:0}.all-numbers>summary{cursor:pointer;padding:16px 20px;font-size:14px;font-weight:600}.all-numbers[open]>summary{border-bottom:1px solid var(--border)}.all-numbers-body{flex-direction:column;gap:16px;padding:16px;display:flex}.bill-row.bill-cols{color:var(--muted);border-bottom:1px solid var(--border);padding-top:8px;padding-bottom:8px;font-size:11.5px}.bill-cols .br-action{align-items:flex-end}.vs-tick-key{vertical-align:-1px;background:var(--ink);border-radius:1px;width:2px;height:10px;margin-left:4px;display:inline-block}@media (max-width:760px){.bill-row.bill-cols{display:none}}.gh{grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:20px;display:grid}.gh-headline{margin:0 0 10px;font-size:14px}.gh-graph-box{border:1px solid var(--border);border-radius:8px;padding:14px 16px 10px}.gh-graph-row{flex-wrap:wrap;align-items:flex-start;gap:32px;display:flex}.gh-graph{grid-auto-rows:22px;gap:3px;display:grid}.gh-col-label{color:var(--muted);align-self:end;font-size:11px}.gh-row-label{color:var(--muted);align-self:center;font-size:11px}.gh-sq{outline-offset:-1px;border-radius:4px;outline:1px solid #0000000a;width:22px;height:22px;display:block}.gh-sq.in{box-shadow:0 0 0 1.5px var(--ink)}.gh-sq:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.gh-stats{gap:14px;min-width:180px;margin:0;display:grid}.gh-stats div{gap:2px;display:grid}.gh-stats dt{color:var(--muted);font-size:12px}.gh-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.gh-stats dd .muted{font-size:12.5px;font-weight:400}.gh-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.gh-legend{color:var(--muted);align-items:center;gap:3px;display:inline-flex}.gh-legend i{border-radius:2px;width:11px;height:11px}.gh-legend i:first-child{margin-left:4px}.gh-legend i:last-child{margin-right:4px}.gh-years{grid-template-columns:1fr 1fr;gap:2px;padding-top:30px;display:grid}.gh-years button:first-child{grid-column:1/-1}.gh-years button{font:inherit;text-align:left;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:12.5px}.gh-years button:hover{background:var(--surface-2);color:var(--ink)}.gh-years button.active{background:var(--accent);color:#fff;font-weight:600}@media (max-width:900px){.gh{grid-template-columns:minmax(0,1fr)}.gh-graph-box{overflow-x:auto}.gh-years{flex-wrap:nowrap;order:-1;padding-top:0;display:flex;overflow-x:auto}.gh-years button{white-space:nowrap}}.gh-activity{margin:0;padding:0;list-style:none;position:relative}.gh-activity:before{content:"";background:var(--border);width:2px;position:absolute;top:6px;bottom:6px;left:13px}.gh-year-head{align-items:center;gap:10px;margin:6px 0 10px;font-size:13px;font-weight:600;display:flex;position:relative}.gh-year-head span{background:var(--surface);margin-left:32px;padding:2px 10px 2px 0;position:relative}.gh-year-head:after{content:"";background:var(--border);flex:1;height:1px}.gh-item{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:4px 0 16px;display:grid;position:relative}.gh-dot{z-index:1;border:2px solid var(--surface);border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:relative}.gh-dot svg{width:14px;height:14px}.gh-dot.ahead{background:var(--hm-p1);color:var(--hm-p4)}.gh-dot.behind{background:var(--hm-n1);color:var(--hm-n4)}.gh-title{padding-top:4px;font-size:14px}.gh-sub{margin-top:2px;font-size:12.5px}.gh-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.gh-chip{border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.gh-chip svg{width:12px;height:12px}.gh-chip.over{color:var(--critical-text);border-color:color-mix(in srgb, var(--critical) 35%, transparent)}.gh-chip.ok{color:var(--good-text);border-color:color-mix(in srgb, var(--good) 35%, transparent)}.gh-more{justify-content:center;width:100%;margin-top:4px}.due-form{flex-direction:column;gap:14px;display:flex}.due-rows{border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:55vh;display:flex;overflow-y:auto}.due-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 96px 64px;align-items:center;gap:10px;padding:6px 12px;font-size:13.5px;display:grid}.due-row:last-child{border-bottom:0}.due-row .input{text-align:center;width:100%;min-width:0;max-width:none;padding:5px 8px}.due-row .check{justify-content:center}.due-head{z-index:1;background:var(--surface-2);color:var(--muted);font-size:12px;position:sticky;top:0}.due-section{font-size:12px}.callout-link.muted-link{color:var(--ink-2);font-weight:500}a.callout-link{text-decoration:none}.br-kept{color:var(--ink-2);font-size:12.5px;font-weight:500}
