:root{color-scheme:only light;--bg:#f5f7fb;--bg-accent:#eef2fb;--surface:#ffffff;--surface-muted:#f8fafc;--ink:#0f172a;--ink-soft:#334155;--muted:#64748b;--line:#e8edf4;--line-strong:#d8e0ec;--brand:#4f46e5;--brand-strong:#4338ca;--brand-soft:#eef0fe;--success:#0f8a5f;--success-soft:#e6f6ee;--danger:#d8453b;--danger-soft:#fdeceb;--warning:#b7791f;--warning-soft:#fbf3e3;--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(15,23,42,0.06);--shadow-md:0 12px 28px rgba(15,23,42,0.07);--topbar-bg:rgba(255,255,255,0.85);--shimmer:#eef2f8;--font-sans:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}[data-theme=dark]{color-scheme:dark;--bg:#0c0f14;--bg-accent:#11161f;--surface:#11161f;--surface-muted:#1a2130;--ink:#e7ecf3;--ink-soft:#c2cad6;--muted:#8a96a8;--line:#1f2733;--line-strong:#2a3340;--brand:#34d399;--brand-strong:#10b981;--brand-soft:rgba(52,211,153,0.14);--success:#34d399;--success-soft:rgba(52,211,153,0.12);--danger:#f87171;--danger-soft:rgba(248,113,113,0.13);--warning:#fbbf24;--warning-soft:rgba(251,191,36,0.12);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 14px 36px rgba(0,0,0,0.4);--topbar-bg:rgba(17,22,31,0.82);--shimmer:#1a2130}[data-theme=dark] .brand-mark{background:linear-gradient(135deg,var(--brand),#22d3ee);color:#06281d}[data-theme=dark] .button-primary{color:#06281d}*{box-sizing:border-box}body,html{margin:0;min-height:100%;padding:0}body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:14px 28px}.brand-block{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand),#6366f1);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.02em}.brand-text{display:grid;line-height:1.15}.brand-kicker{font-size:.95rem;font-weight:700;color:var(--ink)}.brand-name{font-size:.78rem;color:var(--muted)}.app-nav{gap:4px}.app-nav,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:10px}.logout-button{display:inline-grid;place-items:center;height:40px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font-size:.9rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,background .14s ease}.logout-button:focus-visible,.logout-button:hover{border-color:var(--brand);background:var(--surface-muted)}.nav-toggle{display:none;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:1.15rem;line-height:1;cursor:pointer;transition:border-color .14s ease,background .14s ease}.nav-toggle:focus-visible,.nav-toggle:hover{border-color:var(--brand);background:var(--surface-muted)}.nav-link{padding:9px 14px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--muted);transition:color .14s ease,background .14s ease}.nav-link:focus-visible,.nav-link:hover{color:var(--ink);background:var(--surface-muted)}.nav-link.active{color:var(--brand-strong);background:var(--brand-soft)}.app-main{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;align-content:start;max-width:1180px;margin:0 auto;padding:28px}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{display:grid;grid-gap:22px;gap:22px;width:min(100%,380px);padding:28px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.login-panel .brand-mark{width:44px;height:44px}.login-panel h1{margin:0;font-size:1.8rem;line-height:1.1}.login-panel p{margin:0;color:var(--muted)}.login-form{display:grid;grid-gap:14px;gap:14px}.page-intro{display:grid;grid-gap:6px;gap:6px}.page-intro h2{margin:0;font-size:clamp(1.7rem,2.6vw,2.1rem);font-weight:700;letter-spacing:-.02em}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.filter-field{display:grid;grid-gap:6px;gap:6px}.filter-field span{font-size:.78rem;font-weight:600;color:var(--muted)}.button-primary,.filter-field input,.filter-field select{min-height:42px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 12px;background:var(--surface);color:var(--ink)}.filter-field input:focus,.filter-field select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.button-primary{border:none;background:var(--brand);color:#fff;font-weight:600;padding:0 18px;cursor:pointer;transition:background .14s ease,transform 80ms ease}.button-primary:hover{background:var(--brand-strong)}.button-primary:active{transform:translateY(1px)}.button-primary:disabled{opacity:.55;cursor:progress}.inline-error{margin:0;padding:12px 14px;border:1px solid var(--danger-soft);border-left:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:.9rem}.trigger-ingestion{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.inline-note{margin:0;padding:12px 14px;border-radius:var(--radius-sm);font-size:.9rem}.inline-note.success{border:1px solid var(--success-soft);background:var(--success-soft);color:var(--success)}.inline-note.warning{border:1px solid var(--warning-soft);background:var(--warning-soft);color:var(--warning)}.account-grid,.content-grid,.stack-list,.stat-grid{display:grid;grid-gap:16px;gap:16px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{padding:18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.stat-card p{margin:0;font-size:.82rem;font-weight:600;color:var(--muted)}.stat-card strong{display:block;margin-top:10px;font-size:1.7rem;font-weight:700;letter-spacing:-.02em}.stat-card.success strong{color:var(--success)}.stat-card.danger strong{color:var(--danger)}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;margin-top:16px}.insights-grid,.insights-main{display:grid;grid-gap:16px;gap:16px}.insights-main{min-width:0}.insights-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.insights-aside{min-width:0;display:flex;flex-direction:column}.insights-aside>.surface-card{flex:1 1;display:flex;flex-direction:column}.merchant-scroll{flex:1 1;min-height:0;overflow-y:auto;margin:-4px;padding:4px}.surface-card{padding:22px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-md)}.surface-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.surface-header h3{margin:0 0 4px;font-size:1.1rem;font-weight:700}.surface-header p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.55}.subtle-link{color:var(--brand);font-weight:600;font-size:.88rem}.subtle-link:hover{color:var(--brand-strong)}.account-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.account-card{padding:16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-muted)}.account-card p{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.account-card strong{display:block;margin-top:8px;font-size:1.02rem;font-weight:700}.account-card span{display:block;margin-top:2px;font-size:.82rem;color:var(--muted);text-transform:capitalize}.account-card b{display:block;margin-top:12px;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.bar-list,.job-overview,.overview-list{display:grid;grid-gap:14px;gap:14px}.bar-row{display:grid;grid-template-columns:minmax(150px,1.1fr) 1.8fr minmax(110px,.8fr);grid-gap:16px;gap:16px;align-items:center}.bar-copy,.bar-value{display:grid;grid-gap:2px;gap:2px}.bar-copy strong,.bar-value strong{font-size:.92rem}.bar-copy span,.bar-value span{color:var(--muted);font-size:.82rem}.bar-value{text-align:right}.bar-meter{height:10px;border-radius:999px;background:var(--brand-soft);overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,var(--brand))}.chart-frame{display:grid;grid-gap:16px;gap:16px}.chart-skeleton{height:240px;border-radius:var(--radius-md);background:linear-gradient(100deg,var(--surface-muted) 30%,var(--shimmer) 50%,var(--surface-muted) 70%);background-size:200% 100%;animation:chart-shimmer 1.4s ease-in-out infinite}@keyframes chart-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.chart-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem}.chart-legend li:first-child{border-top:none}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-label{color:var(--ink-soft);font-weight:600}.legend-value{display:inline-flex;align-items:baseline;gap:8px;font-weight:700}.legend-value em{font-style:normal;font-weight:600;color:var(--muted);font-size:.8rem}.chart-tooltip{display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-md);font-size:.85rem}.chart-tooltip-label{color:var(--muted)}.chart-tooltip-row{display:inline-flex;align-items:center;gap:6px}.chart-tooltip strong{font-weight:700}.overview-list{margin:0}.overview-list div{display:grid;grid-gap:2px;gap:2px;padding:12px 0;border-top:1px solid var(--line)}.overview-list div:first-child{border-top:none;padding-top:0}.overview-list dd,.overview-list dt{margin:0}.overview-list dt{font-size:.82rem;color:var(--muted)}.overview-list dd{font-weight:700;font-size:1rem}.overview-list span{font-size:.8rem;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;text-transform:capitalize}.status-pill.success{background:var(--success-soft);color:var(--success)}.status-pill.danger{background:var(--danger-soft);color:var(--danger)}.status-pill.warning{background:var(--warning-soft);color:var(--warning)}.status-pill.neutral{background:var(--surface-muted);color:var(--muted)}.table-wrap{overflow-x:auto;margin:0 -6px}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table td,.data-table th{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--surface)}.data-table tbody tr:hover,.empty-state{background:var(--surface-muted)}.empty-state{padding:22px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center}.empty-state strong{display:block;margin-bottom:6px;font-weight:700}.empty-state p{margin:0;color:var(--muted);line-height:1.55}.stack-list{align-content:start}.account-hero{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.account-hero h3{margin:4px 0 0;font-size:1.4rem;font-weight:700}.account-institution{margin:0;color:var(--brand);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.account-metrics{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));grid-gap:12px;gap:12px}.account-metrics div,.job-overview article{padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--line)}.account-metrics span,.job-overview span{display:block;font-size:.78rem;color:var(--muted)}.account-metrics strong,.job-overview strong{display:block;margin-top:6px;font-size:1.15rem;font-weight:700}.job-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-cluster{display:grid;grid-gap:6px;gap:6px;font-size:.85rem;color:var(--muted)}@media (max-width:1000px){.content-grid,.job-overview,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid{grid-template-columns:minmax(0,1fr)}.insights-aside>.surface-card{flex:initial}.merchant-scroll{flex:initial;overflow-y:visible}}@media (max-width:860px){.topbar-inner{flex-wrap:wrap;gap:12px;padding:12px 18px}.nav-toggle{display:inline-grid}.app-nav{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:4px;padding-top:4px;border-top:1px solid var(--line)}.app-nav.open{display:flex}.nav-link{padding:11px 14px;border-radius:var(--radius-sm);font-size:.95rem}.profile-dropdown{right:-8px;min-width:180px}}@media (max-width:720px){.app-main{padding:18px}.account-metrics,.bar-row,.content-grid,.insights-charts,.job-overview,.stat-grid{grid-template-columns:minmax(0,1fr)}.bar-value{text-align:left}}.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:1rem;line-height:1;cursor:pointer;transition:border-color .14s ease,background .14s ease}.theme-toggle:focus-visible,.theme-toggle:hover{border-color:var(--brand);background:var(--surface-muted)}.profile-wrapper{position:relative}.profile-link{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:1rem;line-height:1;cursor:pointer;transition:border-color .14s ease,background .14s ease}.profile-link:focus-visible,.profile-link:hover{border-color:var(--brand);background:var(--surface-muted)}.profile-link.active{border-color:var(--brand);background:var(--surface-muted);color:var(--brand)}.profile-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:6px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);z-index:30}.profile-dropdown.open{display:grid;grid-gap:2px;gap:2px}.profile-dropdown-item{display:block;padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;color:var(--ink-soft);transition:color .14s ease,background .14s ease}.profile-dropdown-item:focus-visible,.profile-dropdown-item:hover{color:var(--ink);background:var(--surface-muted)}.profile-dropdown-item.active{color:var(--brand-strong);background:var(--brand-soft)}[data-density=compact] .data-table td,[data-density=compact] .data-table th{padding:7px 8px}[data-density=compact] .surface-card{padding:18px}.theme-options{display:grid;grid-gap:10px;gap:10px}.theme-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .14s ease,background .14s ease}.theme-option:focus-visible,.theme-option:hover{border-color:var(--brand)}.theme-option.active{border-color:var(--brand);background:var(--brand-soft)}.theme-option-text{display:grid;grid-gap:2px;gap:2px}.theme-option-text strong{font-size:.95rem;font-weight:700}.theme-option-text span{font-size:.82rem;color:var(--muted)}.theme-swatch{width:34px;height:34px;border-radius:9px;border:1px solid var(--line)}.theme-swatch-light{background:linear-gradient(135deg,#f5f7fb 50%,#4f46e5 0)}.theme-swatch-dark{background:linear-gradient(135deg,#0c0f14 50%,#34d399 0)}.theme-swatch-system{background:linear-gradient(135deg,#f5f7fb 50%,#0c0f14 0)}.theme-check{width:20px;font-weight:800;color:var(--brand-strong);text-align:center}.settings-hint{margin:12px 0 0;font-size:.85rem;color:var(--muted)}.settings-hint strong{color:var(--ink);text-transform:capitalize}.segmented{display:inline-flex;padding:4px;gap:4px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted)}.segmented-option{border:none;background:transparent;color:var(--muted);font-weight:600;font-size:.88rem;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease}.segmented-option.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.button-secondary{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-weight:600;min-height:42px;padding:0 18px;cursor:pointer;transition:border-color .14s ease,background .14s ease}.button-secondary:hover{border-color:var(--danger);color:var(--danger)}.category-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.category-row-actions .inline-error{flex-basis:100%}.assign-category{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.assign-category select{min-height:42px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 12px;background:var(--surface);color:var(--ink)}.assign-category select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.assign-category .inline-error{flex-basis:100%}.transfer-tabs{display:inline-flex;gap:6px;margin-bottom:16px;padding:4px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted)}.transfer-tab{border:1px solid transparent;background:transparent;color:var(--muted);font-weight:600;font-size:.9rem;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.transfer-tab:disabled{cursor:progress}.transfer-tab.inflow.active{background:var(--success-soft);color:var(--success);border-color:var(--success)}.transfer-tab.outflow.active{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.transfer-panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);transition:background .14s ease,border-color .14s ease}.transfer-panel.inflow{background:var(--success-soft);border-color:var(--success-soft)}.transfer-panel.outflow{background:var(--danger-soft);border-color:var(--danger-soft)}.modal-dialog{border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:0;max-width:480px;width:calc(100% - 32px);background:var(--surface);color:var(--ink)}.modal-dialog::-webkit-backdrop{background:rgba(15,23,42,.45)}.modal-dialog::backdrop{background:rgba(15,23,42,.45)}[data-theme=dark] .modal-dialog::-webkit-backdrop{background:rgba(0,0,0,.6)}[data-theme=dark] .modal-dialog::backdrop{background:rgba(0,0,0,.6)}.modal-content{display:grid;grid-gap:0;gap:0}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:1rem;font-weight:600}.modal-close{background:none;border:0;cursor:pointer;font-size:1.4rem;line-height:1;padding:4px 8px;color:var(--muted);border-radius:var(--radius-sm);transition:background .12s ease}.modal-close:hover{background:var(--surface-muted);color:var(--ink)}.modal-body{padding:16px 20px 20px}.balance-trigger{font-size:.78rem;padding:4px 10px;white-space:nowrap}.button-ghost{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:background .12s ease,color .12s ease}.button-ghost:hover{background:var(--surface-muted);color:var(--ink)}.account-balance-form{display:grid;grid-gap:14px;gap:14px}.account-balance-form .filter-field{max-width:240px}.balance-mode{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;border:0}.balance-mode legend{padding:0;margin-bottom:4px;font-size:.78rem;font-weight:600;color:var(--muted)}.balance-mode label{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--ink-soft)}.balance-mode input{margin-top:2px}.account-balance-controls{display:flex;flex-wrap:wrap;gap:10px}