:root{--ink:#0f1115;--ink-soft:#4b5061;--ink-faint:#8a8f9c;--bg:#fff;--bg-sunken:#f7f8fa;--bg-raised:#fff;--border:#e6e8ec;--border-strong:#d7dae0;--accent:#2451ff;--accent-ink:#fff;--accent-bg:#2451ff14;--accent-border:#2451ff4d;--ok:#1a9c5b;--ok-bg:#1a9c5b1a;--warn:#b8730a;--warn-bg:#b8730a1a;--critical:#d92d3f;--critical-bg:#d92d3f1a;--shadow-sm:0 1px 2px #0f11150a;--shadow-md:0 4px 16px #0f11150f, 0 1px 2px #0f11150a;--shadow-lg:0 12px 32px #0f111514, 0 2px 6px #0f11150a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--sans:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;font:15px/1.5 var(--sans);color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--ink:#f0f1f5;--ink-soft:#b8bcc8;--ink-faint:#7d818f;--bg:#14161b;--bg-sunken:#0d0e12;--bg-raised:#1b1e25;--border:#2a2d36;--border-strong:#383c47;--accent:#5b7fff;--accent-ink:#fff;--accent-bg:#5b7fff24;--accent-border:#5b7fff59;--ok:#3ec37f;--ok-bg:#3ec37f24;--warn:#e0a539;--warn-bg:#e0a53924;--critical:#f2586b;--critical-bg:#f2586b24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg-sunken);margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--sans);color:var(--ink);letter-spacing:-.01em;margin:0}p{margin:0}button{font-family:var(--sans)}::selection{background:var(--accent-bg)}.app-shell{max-width:1240px;margin:0 auto;padding:40px 32px 64px}.app-header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;display:flex}.app-header .brand{align-items:baseline;gap:10px;display:flex}.app-header .brand-mark{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:800}.app-header .brand-sub{color:var(--ink-faint);font-size:13px}.app-header h1{font-size:26px;font-weight:700}.csv-drop{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.csv-drop__source{border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--ink-soft);border-radius:6px;padding:6px 8px;font-size:12px}.csv-drop__zone{color:var(--ink-faint);border:1px dashed var(--border-strong);background:var(--bg-sunken);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:6px 14px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex;position:relative}.csv-drop__zone:hover{border-color:var(--accent-border);color:var(--ink)}.csv-drop--active .csv-drop__zone{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.csv-drop--busy .csv-drop__zone{cursor:wait;opacity:.7}.csv-drop__zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.csv-drop__status{white-space:nowrap;font-size:12px;font-weight:600}.csv-drop__status--ok{color:var(--accent)}.csv-drop__status--error{color:var(--critical)}.app-header__right{align-items:baseline;gap:14px;display:flex}.sheet-link-form{align-items:center;gap:8px;display:flex}.sheet-link-input{border:1px solid var(--border-strong);background:var(--bg-raised);width:260px;color:var(--ink);border-radius:6px;padding:6px 10px;font-size:13px}.sheet-link-form button{border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--ink-soft);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.sheet-link-form button:hover{color:var(--ink)}.sheet-link-form button:disabled{cursor:not-allowed;opacity:.5}.actions-panel{align-items:center;gap:8px;display:flex}.actions-panel__button{border:1px solid var(--border-strong);background:var(--bg-raised);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.actions-panel__button:disabled{cursor:not-allowed;opacity:.5}.actions-panel__dot{border-radius:50%;width:.6em;height:.6em}.theme-toggle{border:1px solid var(--border-strong);background:var(--bg-raised);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:15px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent-border);color:var(--ink)}.insight-line{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-sunken);color:var(--ink-soft);margin-bottom:20px;padding:10px 14px;font-size:13px;font-weight:500}.insight-line--warning{border-color:var(--accent-border);background:var(--warn-bg);color:var(--warn)}.insight-line--critical{border-color:var(--critical);background:var(--critical-bg);color:var(--critical)}.insight-line--ok{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.app-callout{border:1px solid var(--critical);background:var(--critical-bg);color:var(--critical);border-radius:var(--radius-md);margin-bottom:20px;padding:10px 14px;font-size:13px}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.filter-bar{margin-bottom:20px;padding:18px 20px}.filter-bar__slider{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px}.filter-bar__row{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.filter-field{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.filter-field input,.filter-field select{font-family:var(--sans);color:var(--ink);text-transform:none;letter-spacing:normal;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);min-width:130px;padding:7px 10px;font-size:13px;font-weight:500}.filter-field input:focus,.filter-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.unit-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);margin-left:auto;display:inline-flex;overflow:hidden}.unit-toggle button{background:var(--bg);color:var(--ink-soft);cursor:pointer;border:none;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.unit-toggle button:first-child{border-right:1px solid var(--border-strong)}.unit-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.panel-sankey,.panel-flow{margin-bottom:24px;padding:8px 16px 16px}.flow-view__toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 8px 12px;display:flex}.flow-view__chips{flex-wrap:wrap;gap:6px;display:flex}.flow-chip{border:1px solid var(--border-strong);background:var(--bg);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:12px}.flow-chip.is-active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.flow-chip--clear{color:var(--critical)}.band-flow{position:relative}.band-flow__svg{touch-action:none;width:100%;height:560px}.band-flow__probe-readout{background:var(--bg-raised);border:1px solid var(--border);color:var(--ink-soft);pointer-events:none;border-radius:999px;padding:6px 14px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.band-flow__annotations{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;width:260px;padding:10px 12px;font-size:12px;position:absolute;top:12px;right:12px;box-shadow:0 8px 24px #00000014}.band-flow__annotations-header{color:var(--ink);flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.band-flow__annotations-header span{color:var(--ink-faint)}.band-flow__annotations-header button{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-top:4px;padding:0;font-size:12px}.band-flow__annotations ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.band-flow__annotations li{color:var(--ink-soft);border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding-top:4px;display:flex}.band-flow__annotations li:first-child{border-top:none;padding-top:0}.band-flow__sheet-link{border-top:1px solid var(--border);color:var(--accent);margin-top:8px;padding-top:8px;font-size:11px;text-decoration:none;display:block}.band-flow__sheet-link:hover{text-decoration:underline}.band-flow__node-summary{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;width:260px;padding:10px 12px;font-size:12px;position:absolute;top:12px;right:12px;box-shadow:0 8px 24px #00000014}.band-flow__node-summary ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.band-flow__node-summary-row{color:var(--ink-soft);border-top:1px solid var(--border);cursor:pointer;justify-content:space-between;gap:8px;padding-top:4px;display:flex}.band-flow__node-summary-row:first-child{border-top:none;padding-top:0}.band-flow__node-summary-row:hover{color:var(--accent)}.band-flow__sources{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;width:220px;padding:10px 12px;font-size:12px;position:absolute;top:12px;left:12px;box-shadow:0 8px 24px #00000014}.band-flow__sources strong{color:var(--ink);margin-bottom:6px;display:block}.band-flow__sources ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.band-flow__sources li{color:var(--ink-soft);justify-content:space-between;gap:8px;display:flex}.panel-summary{padding:20px 24px 8px}.panel-summary h2{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;font-size:13px;font-weight:600}.summary-table{border-collapse:collapse;width:100%;font-size:14px}.summary-table th{text-align:left;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:0 8px 10px;font-size:12px;font-weight:600}.summary-table td{border-bottom:1px solid var(--border);color:var(--ink);padding:12px 8px}.summary-table tr:last-child td{border-bottom:none}.summary-table td.amount{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.drilldown-panel{margin-top:24px;padding:20px 24px}.drilldown-panel h2{margin-bottom:12px;font-size:15px;font-weight:600}.drilldown-panel ul{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.drilldown-panel li{border-radius:var(--radius-sm);color:var(--ink-soft);justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.drilldown-panel li:hover{background:var(--bg-sunken)}.drilldown-panel .drilldown-amount{font-family:var(--mono);color:var(--ink);white-space:nowrap}.sankey-empty{height:400px;color:var(--ink-faint);justify-content:center;align-items:center;font-size:14px;display:flex}
