.user-menu[data-v-4558071f]{position:relative;margin-left:auto}.menu[data-v-4558071f]{position:absolute;right:0;top:44px;width:260px;padding:var(--space-3) 0;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);z-index:45}.who[data-v-4558071f]{padding:var(--space-3) var(--space-5) var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);word-break:break-all}.groups[data-v-4558071f]{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.item[data-v-4558071f]{display:flex;align-items:center;width:100%;min-height:var(--touch-min);padding:0 var(--space-5);border:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.item[data-v-4558071f]:hover{background:var(--surface-sunken)}.danger[data-v-4558071f]{color:var(--negative)}.menu-toggle[data-v-59782c39],.page-name[data-v-59782c39]{display:none}.phone-menu[data-v-59782c39]{position:absolute;top:var(--nav-height);left:0;right:0;display:flex;flex-direction:column;padding:var(--space-3) var(--space-5) var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--border);box-shadow:var(--shadow-overlay)}.phone-menu a[data-v-59782c39]{display:flex;align-items:center;min-height:var(--touch-min);color:var(--ink-muted);font-weight:600;text-decoration:none}.phone-menu a[aria-current=page][data-v-59782c39]{color:var(--ink)}@media (max-width: 640px){.fx-nav[data-v-59782c39]{gap:var(--space-3)}.menu-toggle[data-v-59782c39]{display:inline-grid}.page-name[data-v-59782c39]{display:inline;color:var(--ink-muted);font-weight:600}.page-name[data-v-59782c39]:before{content:"·";margin-right:var(--space-3)}}@media (min-width: 641px){.phone-menu[data-v-59782c39]{display:none}}.fx-toast__action[data-v-3f250122]{text-decoration:none}:root{color-scheme:light;--brand-ocean: #2389b1;--brand-deep: #1c3b7c;--brand-teal: #38bac7;--brand-gold: #ffd161;--brand-orange: #f08a3c;--ink-on-gold: #14233f;--surface: #f2f4f8;--surface-raised: #ffffff;--surface-sunken: #e8ecf2;--border: #dde3eb;--border-strong: #74849b;--scrim: #14233f66;--ink: #14233f;--ink-muted: #55637a;--primary: #1f68a8;--primary-hover: #185689;--primary-soft: #e3eef8;--on-primary: #ffffff;--focus-ring: var(--primary);--positive: #177245;--positive-soft: #dff3e8;--negative: #c0322b;--negative-soft: #fbe3e1;--on-negative: #ffffff;--oneoff: #a84d0c;--oneoff-soft: #fdebdc;--account-bank: #2f6fd0;--account-card: #8a5cd6;--account-loan: #138f9c;--account-bank-tint: #2f6fd022;--account-card-tint: #8a5cd622;--account-loan-tint: #138f9c22;--chart-1: #2389b1;--chart-2: #138f9c;--chart-3: #c08a12;--chart-4: #5a4fb0;--chart-positive: var(--positive);--chart-negative: var(--negative);--chart-plan: #74849b;--chart-today: var(--ink);--chart-grid: #e3e8ef;--chart-zero: #74849b;--chart-axis: var(--ink-muted);--chart-cursor: var(--ink-muted);--toast-bg: #14233f;--toast-ink: #ffffff;--shadow-card: 0 1px 2px rgba(20,35,63,.06);--shadow-overlay: 0 12px 32px rgba(20,35,63,.18), 0 2px 6px rgba(20,35,63,.08);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--content-max: 1200px;--bp-phone: 640px;--bp-desktop: 1024px;--nav-height: 56px;--touch-min: 44px}:root[data-theme=dark]{color-scheme:dark;--brand-deep: #2f62b0;--surface: #0b1220;--surface-raised: #151e30;--surface-sunken: #1d283d;--border: #273449;--border-strong: #62738f;--scrim: #000000a3;--ink: #edf2f9;--ink-muted: #a0aec4;--primary: #5aa9e6;--primary-hover: #82c0ef;--primary-soft: #18304d;--on-primary: #0b1220;--positive: #4cc98a;--positive-soft: #123526;--negative: #ff7d73;--negative-soft: #3d1916;--on-negative: #0b1220;--oneoff: #ffa25e;--oneoff-soft: #3a2412;--account-bank: #5b9cf0;--account-card: #a688ec;--account-loan: #3cc2cf;--account-bank-tint: #5b9cf02e;--account-card-tint: #a688ec2e;--account-loan-tint: #3cc2cf2e;--chart-1: #4aa8d6;--chart-2: #3cc2cf;--chart-3: #e3b341;--chart-4: #9a8ff0;--chart-plan: #7b8aa1;--chart-grid: #24324a;--chart-zero: #62738f;--toast-bg: #edf2f9;--toast-ink: #14233f;--shadow-card: none;--shadow-overlay: 0 12px 32px rgba(0,0,0,.55)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:20px;-webkit-font-smoothing:antialiased}.num,.fx-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.fx-muted{color:var(--ink-muted)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fx-money{font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.fx-money--pos{color:var(--positive)}.fx-money--neg{color:var(--negative)}.fx-money--muted{color:var(--ink-muted)}.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.fx-btn--primary{background:var(--primary);color:var(--on-primary)}.fx-btn--primary:hover{background:var(--primary-hover)}.fx-btn--secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--border-strong)}.fx-btn--secondary:hover{background:var(--surface-sunken)}.fx-btn--ghost{background:transparent;color:var(--primary);padding:0 var(--space-3)}.fx-btn--ghost:hover{background:var(--primary-soft)}.fx-btn--danger{background:var(--negative);color:var(--on-negative)}.fx-btn--sm{min-height:28px;padding:0 var(--space-4);font-size:13px}.fx-btn[disabled]{opacity:.45;cursor:not-allowed}.fx-iconbtn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);border:0;background:transparent;color:var(--ink-muted);cursor:pointer;font:inherit}.fx-iconbtn:hover{background:var(--surface-sunken);color:var(--ink)}.fx-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6)}.fx-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.fx-card__title{margin:0;font-size:17px;line-height:22px;font-weight:600}.fx-card__sub{margin:0;font-size:13px;line-height:18px;color:var(--ink-muted)}@media (max-width:640px){.fx-card{padding:var(--space-5);border-radius:var(--radius-md)}}.fx-stat{display:flex;flex-direction:column;gap:var(--space-2)}.fx-stat__label{font-size:13px;line-height:18px;font-weight:600;color:var(--ink-muted)}.fx-stat__value{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.fx-stat__value--hero{font-size:34px;line-height:41px;font-weight:700}.fx-stat__meta{font-size:13px;line-height:18px;color:var(--ink-muted)}.fx-stat__delta{font-size:13px;line-height:18px;font-weight:600;font-variant-numeric:tabular-nums}.fx-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.fx-badge--ontrack{background:var(--positive-soft);color:var(--positive)}.fx-badge--over{background:var(--negative-soft);color:var(--negative)}.fx-badge--info{background:var(--primary-soft);color:var(--primary)}.fx-badge--neutral{background:var(--surface-sunken);color:var(--ink-muted)}.fx-badge--danger{background:var(--negative);color:var(--on-negative)}.fx-badge--oneoff{background:var(--oneoff-soft);color:var(--oneoff)}.fx-badge--count{text-transform:none;letter-spacing:0}.fx-progress{position:relative;height:8px;border-radius:var(--radius-full);background:var(--surface-sunken);overflow:visible}.fx-progress__fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-full);background:var(--primary);max-width:100%}.fx-progress--over .fx-progress__fill{background:var(--negative)}.fx-progress--ontrack .fx-progress__fill{background:var(--positive)}.fx-progress__plan{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink)}.fx-pace{display:grid;grid-template-columns:1fr 112px;gap:var(--space-4) var(--space-5);align-items:start}.fx-pace__head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.fx-pace__figs{display:flex;flex-direction:column;gap:var(--space-2)}.fx-pace__spent{font-size:22px;line-height:26px;font-weight:600;font-variant-numeric:tabular-nums}.fx-pace__of{font-size:13px;line-height:18px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.fx-pace__chart{width:112px;height:56px}.fx-pace .fx-progress{grid-column:1/-1}.fx-monthnav{display:inline-flex;align-items:center;gap:var(--space-3);font-size:17px;font-weight:600}.fx-seg{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border)}.fx-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:13px;font-weight:600;line-height:18px;padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap}.fx-seg button:hover{color:var(--ink)}.fx-seg button[aria-pressed=true],.fx-seg button[aria-selected=true]{background:var(--surface-raised);color:var(--ink);box-shadow:0 0 0 1px var(--border-strong)}.fx-seg--full{display:flex}.fx-seg--full button{flex:1}.fx-legend{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);font-size:12px;line-height:16px;color:var(--ink-muted)}.fx-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.fx-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--dot,var(--ink-muted));flex:none}.fx-dot--bank{--dot:var(--account-bank)}.fx-dot--card{--dot:var(--account-card)}.fx-dot--loan{--dot:var(--account-loan)}.fx-legend .fx-dash{width:14px;border-top:2px dashed var(--chart-plan)}.fx-tablewrap{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.fx-table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}.fx-table th{position:sticky;top:0;background:var(--surface-sunken);color:var(--ink-muted);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.fx-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.fx-table th.num,.fx-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fx-table td.fx-check,.fx-table th.fx-check{width:40px;padding-right:0}.fx-table tr:last-child td{border-bottom:0}.fx-table tbody tr:hover td{background-image:linear-gradient(var(--primary-soft),var(--primary-soft))}.fx-table tr.fx-dayhead td{background:var(--surface-sunken);color:var(--ink-muted);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding-top:var(--space-2);padding-bottom:var(--space-2)}.fx-table tr[data-account=bank] td{background-color:var(--account-bank-tint)}.fx-table tr[data-account=card] td{background-color:var(--account-card-tint)}.fx-table tr[data-account=loan] td{background-color:var(--account-loan-tint)}.fx-table tr[data-account] td:first-child{box-shadow:inset 3px 0 0 var(--acc,transparent)}.fx-table tr[data-account=bank]{--acc:var(--account-bank)}.fx-table tr[data-account=card]{--acc:var(--account-card)}.fx-table tr[data-account=loan]{--acc:var(--account-loan)}.fx-table tr.is-selected td{background-color:var(--primary-soft)}.fx-merchant{font-weight:500}.fx-cat{display:block;font-size:13px;line-height:18px;color:var(--ink-muted)}.fx-changed{font-size:13px;color:var(--ink-muted)}.fx-check input,.fx-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-raised);display:inline-grid;place-items:center;cursor:pointer;vertical-align:middle}.fx-check input:checked,.fx-checkbox:checked,.fx-check input:indeterminate{background:var(--primary);border-color:var(--primary)}.fx-check input:checked:after,.fx-checkbox:checked:after{content:"";width:5px;height:9px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.fx-check input:indeterminate:after{content:"";width:9px;height:2px;background:var(--on-primary)}.fx-statusline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:13px;line-height:18px;color:var(--ink-muted);padding:var(--space-3) var(--space-4)}@media (max-width:640px){.fx-table--responsive thead{display:none}.fx-table--responsive tr:not(.fx-dayhead){display:grid;grid-template-columns:1fr auto;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.fx-table--responsive tr:not(.fx-dayhead) td{border:0;padding:0;background:none}.fx-table--responsive tr[data-account=bank]{background:var(--account-bank-tint)}.fx-table--responsive tr[data-account=card]{background:var(--account-card-tint)}.fx-table--responsive tr[data-account=loan]{background:var(--account-loan-tint)}.fx-table--responsive td[data-hide-phone]{display:none}}.fx-bulkbar{position:sticky;bottom:var(--space-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.fx-bulkbar__count{font-weight:600}.fx-bulkbar__effect{font-size:13px;color:var(--ink-muted)}.fx-bulkbar__spacer{flex:1}.fx-bulkbar label{display:inline-flex;align-items:center;gap:var(--space-3);font-size:13px;color:var(--ink-muted)}.fx-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.fx-field__label{font-size:13px;line-height:18px;font-weight:600;color:var(--ink)}.fx-input,.fx-select{height:36px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:14px;min-width:0}.fx-input::placeholder{color:var(--ink-muted)}.fx-input.num{text-align:right}.fx-field__help{font-size:13px;line-height:18px;color:var(--ink-muted)}.fx-field__error{display:flex;gap:var(--space-2);font-size:13px;line-height:18px;color:var(--negative);font-weight:500}.fx-field--invalid .fx-input,.fx-field--invalid .fx-select{border-color:var(--negative);box-shadow:0 0 0 1px var(--negative)}.fx-formrow{display:flex;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}.fx-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5);z-index:50}.fx-modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.fx-modal__panel{position:relative;width:min(480px,100%);max-height:calc(100% - 32px);overflow:auto;background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.fx-modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-3)}.fx-modal__title{margin:0;font-size:17px;line-height:22px;font-weight:600}.fx-modal__body{padding:var(--space-3) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.fx-modal__foot{display:flex;justify-content:flex-end;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-top:1px solid var(--border)}@media (max-width:640px){.fx-modal{place-items:end stretch;padding:0}.fx-modal__panel{width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.fx-toasts{position:fixed;right:var(--space-7);bottom:var(--space-7);display:flex;flex-direction:column;gap:var(--space-4);z-index:60}.fx-toast{display:flex;align-items:center;gap:var(--space-4);min-width:280px;max-width:420px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--toast-bg);color:var(--toast-ink);box-shadow:var(--shadow-overlay);font-size:14px;line-height:20px}.fx-toast__action{margin-left:auto;background:none;border:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.fx-toast__icon{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:var(--radius-full);font-size:12px;font-weight:800}.fx-toast--error{background:var(--negative);color:var(--on-negative)}@media (max-width:640px){.fx-toasts{left:var(--space-5);right:var(--space-5);bottom:var(--space-5)}.fx-toast{min-width:0;max-width:none}}.fx-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-9) var(--space-6);color:var(--ink-muted)}.fx-empty__title{margin:0;font-size:17px;line-height:22px;font-weight:600;color:var(--ink)}.fx-empty__text{margin:0;font-size:14px;max-width:320px}.fx-empty .fx-btn{margin-top:var(--space-3)}.fx-skel{display:block;border-radius:var(--radius-xs);background:var(--surface-sunken);position:relative;overflow:hidden}.fx-skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--surface-raised),transparent);opacity:.6;transform:translate(-100%);animation:fx-shimmer 1.4s infinite}@keyframes fx-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.fx-skel:after{animation:none;display:none}}.fx-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--primary);animation:fx-spin .8s linear infinite;display:inline-block;vertical-align:middle}@keyframes fx-spin{to{transform:rotate(360deg)}}.fx-chart{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-sans)}.fx-chart .grid{stroke:var(--chart-grid);stroke-width:1;shape-rendering:crispEdges}.fx-chart .zero{stroke:var(--chart-zero);stroke-width:1;shape-rendering:crispEdges}.fx-chart .axis{fill:var(--chart-axis);font-size:11px;font-variant-numeric:tabular-nums}.fx-chart .line{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.fx-chart .line--2{stroke:var(--chart-2)}.fx-chart .line--over{stroke:var(--negative)}.fx-chart .line--oneoff{stroke:var(--oneoff)}.fx-chart .line--step{stroke-linejoin:miter;stroke-linecap:butt}.fx-chart .area{fill:var(--chart-1);opacity:.1}.fx-chart .plan{fill:none;stroke:var(--chart-plan);stroke-width:1.5;stroke-dasharray:4 3}.fx-chart .today{stroke:var(--chart-today);stroke-width:1}.fx-chart .today-dot{fill:var(--chart-today);stroke:var(--surface-raised);stroke-width:2}.fx-chart .cursor{stroke:var(--chart-cursor);stroke-width:1;stroke-dasharray:2 2}.fx-chart .bar-pos{fill:var(--chart-positive)}.fx-chart .bar-neg{fill:var(--chart-negative)}.fx-chart .bar-1{fill:var(--chart-1)}.fx-chart .bar-2{fill:var(--chart-2)}.fx-chart .bar-oneoff{fill:var(--oneoff)}.fx-chart .bar-label{fill:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.fx-readout{position:absolute;pointer-events:none;background:var(--surface-raised);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);padding:var(--space-3) var(--space-4);font-size:13px;line-height:18px;white-space:nowrap}.fx-readout b{display:block;font-variant-numeric:tabular-nums;font-size:15px;line-height:20px}.fx-hbar{display:grid;grid-template-columns:120px 1fr 88px;align-items:center;gap:var(--space-4);font-size:14px}.fx-hbar__track{height:12px;border-radius:var(--radius-xs);background:var(--surface-sunken)}.fx-hbar__fill{height:100%;border-radius:var(--radius-xs);background:var(--chart-1)}.fx-hbar__fill--oneoff{background:var(--oneoff)}.fx-nav{position:sticky;top:0;z-index:40;height:var(--nav-height);display:flex;align-items:center;gap:var(--space-7);padding:0 var(--space-7);background:var(--surface-raised);border-bottom:1px solid var(--border)}.fx-nav__brand{display:flex;align-items:center;gap:var(--space-3);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}.fx-nav__brand img{width:24px;height:24px}.fx-nav__links{display:flex;gap:var(--space-2);height:100%}.fx-nav__links a{display:flex;align-items:center;padding:0 var(--space-4);color:var(--ink-muted);font-weight:600;text-decoration:none;border-bottom:2px solid transparent}.fx-nav__links a:hover{color:var(--ink)}.fx-nav__links a[aria-current=page]{color:var(--ink);border-bottom-color:var(--primary)}.fx-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:13px;margin-left:auto;border:0}.fx-page{max-width:var(--content-max);margin:0 auto;padding:var(--space-7)}.fx-page__title{margin:0 0 var(--space-6);font-size:22px;line-height:28px;font-weight:700}.fx-grid{display:grid;gap:var(--space-7)}.fx-grid--stats{grid-template-columns:repeat(4,minmax(0,1fr))}.fx-grid--pace{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1023px){.fx-grid--stats,.fx-grid--pace{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.fx-page{padding:var(--space-5)}.fx-grid{gap:var(--space-5)}.fx-grid--stats,.fx-grid--pace{grid-template-columns:1fr}.fx-nav{padding:0 var(--space-5)}.fx-nav__links{display:none}}.fx-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:24px;margin:0;border-radius:var(--radius-full);background:var(--surface-sunken);border:1.5px solid var(--border-strong);cursor:pointer;flex:none;vertical-align:middle}.fx-switch:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--ink-muted);transition:transform .15s}.fx-switch:checked{background:var(--oneoff);border-color:var(--oneoff)}.fx-switch:checked:after{background:var(--surface-raised);transform:translate(16px)}.fx-switch--primary:checked{background:var(--primary);border-color:var(--primary)}.fx-switchrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.fx-search{position:relative;flex:1;min-width:200px}.fx-search .fx-input{width:100%;padding-left:34px}.fx-search svg{position:absolute;left:11px;top:10px;width:16px;height:16px;stroke:var(--ink-muted);fill:none;stroke-width:2}.fx-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}a{color:var(--primary)}h1{margin:0 0 var(--space-2);font-size:22px;line-height:28px;font-weight:700}h2{margin:0 0 var(--space-4);font-size:17px;line-height:22px;font-weight:600}.subtitle{margin:0 0 var(--space-7);font-size:15px;line-height:20px;color:var(--ink-muted)}.muted{color:var(--ink-muted)}.small{font-size:13px;line-height:18px}.mono{font-family:var(--font-mono);font-size:13px}.container{max-width:var(--content-max);margin:0 auto;padding:var(--space-7) var(--space-7) var(--space-9)}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);min-width:0}.card+.card{margin-top:var(--space-7)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4)}.toolbar .spacer{flex:1}input:not([type=checkbox]):not([type=radio]):not([type=color]):not(.fx-input),select:not(.fx-select),textarea{min-height:36px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:14px;min-width:0}textarea{padding:var(--space-3) var(--space-4)}input::placeholder{color:var(--ink-muted)}input[readonly]{background:var(--surface-sunken);color:var(--ink-muted)}input[type=number]{text-align:right;font-variant-numeric:tabular-nums}label{display:block;margin-bottom:var(--space-2);font-size:13px;line-height:18px;font-weight:600;color:var(--ink)}.field{margin-bottom:var(--space-5)}.field .hint{margin-top:var(--space-2);font-size:13px;line-height:18px;color:var(--ink-muted)}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-raised);display:inline-grid;place-items:center;cursor:pointer;vertical-align:middle}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{content:"";width:5px;height:9px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}input[type=checkbox]:indeterminate:after{content:"";width:9px;height:2px;background:var(--on-primary)}input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}a.btn{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-sunken)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{background:var(--negative);border-color:var(--negative);color:var(--on-negative)}.btn-danger:hover:not(:disabled){background:var(--negative);filter:brightness(.92)}.btn-sm{min-height:28px;padding:0 var(--space-4);font-size:13px}.btn-link{border:0;background:none;padding:0;color:var(--primary);cursor:pointer;font:inherit;font-weight:600;text-align:left}.btn-link:hover{text-decoration:underline}.btn-link:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.table-wrap{overflow-x:auto;margin:0 calc(-1 * var(--space-6))}table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}th{background:var(--surface-sunken);color:var(--ink-muted);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}th:first-child,td:first-child{padding-left:var(--space-6)}th:last-child,td:last-child{padding-right:var(--space-6)}tr:last-child td{border-bottom:0}td.actions{white-space:nowrap;text-align:right}td.actions .btn+.btn{margin-left:var(--space-3)}.empty{text-align:center;color:var(--ink-muted);padding:var(--space-9) var(--space-6)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-success{background:var(--positive-soft);color:var(--positive)}.badge-danger{background:var(--negative-soft);color:var(--negative)}.badge-oneoff{background:var(--oneoff-soft);color:var(--oneoff)}.badge-neutral{background:var(--surface-sunken);color:var(--ink-muted)}.badge-info{background:var(--primary-soft);color:var(--primary)}.badge-failed{background:var(--negative);color:var(--on-negative)}.badge-count{text-transform:none;letter-spacing:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-7);margin-bottom:var(--space-8)}.stats>.card+.card{margin-top:0}.stat{display:flex;flex-direction:column;gap:var(--space-2)}.stat .label{font-size:13px;line-height:18px;font-weight:600;color:var(--ink-muted)}.stat .value{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat .value.hero{font-size:34px;line-height:41px;font-weight:700}.stat .value.small{font-size:17px;line-height:22px}.segmented{display:inline-flex;flex-wrap:wrap;padding:2px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border)}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:13px;font-weight:600;line-height:18px;padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface-raised);color:var(--ink);box-shadow:0 0 0 1px var(--border-strong)}.num{font-variant-numeric:tabular-nums}td.num,th.num{text-align:right;white-space:nowrap}.credit,.up{color:var(--positive)}.debit,.down{color:var(--negative)}.progress{position:relative;height:8px;border-radius:var(--radius-full);background:var(--surface-sunken)}.progress>span{display:block;height:100%;border-radius:var(--radius-full);background:var(--primary);max-width:100%}.progress.over>span{background:var(--negative)}.error-banner{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--negative-soft);color:var(--negative);font-size:13px;line-height:18px;font-weight:500}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--primary);animation:fx-spin .8s linear infinite;display:inline-block;vertical-align:middle}.switch{position:relative;display:inline-block;width:40px;height:24px;margin:0}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);background:var(--surface-sunken);border:1.5px solid var(--border-strong);cursor:pointer}.switch span:before{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--ink-muted);transition:transform .15s}.switch input:checked+span{background:var(--oneoff);border-color:var(--oneoff)}.switch input:checked+span:before{background:var(--surface-raised);transform:translate(16px)}.switch-primary input:checked+span{background:var(--primary);border-color:var(--primary)}.switch input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width: 1023px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.container{padding:var(--space-5) var(--space-5) var(--space-8)}.card{padding:var(--space-5);border-radius:var(--radius-md)}.card+.card{margin-top:var(--space-5)}.stats{grid-template-columns:1fr;gap:var(--space-5)}.table-wrap{margin:0 calc(-1 * var(--space-5))}th,td{padding:var(--space-3)}th:first-child,td:first-child{padding-left:var(--space-5)}th:last-child,td:last-child{padding-right:var(--space-5)}}
