:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#efe6d6;--bg-2:#e7dcc8;--paper:#fbf7f0;--ink:#1c1915;--muted:#5e574c;--line:#e0d5c3;--line-strong:#cfc3ad;--balance:#1d3d66;--income:#1f7a4d;--expense:#b6402c;--brass:#8a6232;--focus:#1d3d66;--bad-bg:#f8e6df;--good-bg:#e5f3eb;--shadow:0 1px 0 #ffffffb3 inset, 0 10px 24px #4630120d;--sans:"Segoe UI", "Liberation Sans", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--serif:Georgia, "Liberation Serif", "Palatino Linotype", Palatino, serif;font-family:var(--sans);color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(900px 420px at 0% -10%, #fffaf0e6, transparent 60%), var(--bg);margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit;border-radius:8px}button{background:var(--paper);border:1px solid var(--line-strong);cursor:pointer;height:32px;padding:0 10px}button:hover{border-color:var(--balance)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--balance);border-color:var(--balance);color:#f7f3ea}button.danger{color:var(--expense);background:0 0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input,select,textarea{border:1px solid var(--line-strong);background:#fff;height:32px;padding:0 8px}textarea{resize:vertical;height:auto;padding:8px}.app{flex-direction:column;height:100dvh;min-height:0;display:flex}.topbar{align-items:center;gap:10px;min-width:0;padding:10px 12px 4px;display:flex}.brand{flex:none}.wordmark{font-family:var(--serif);letter-spacing:-.03em;color:var(--balance);margin:0;font-size:1.5rem;font-style:italic;font-weight:700;line-height:1}.tag{color:var(--muted);margin:2px 0 0;font-size:12px}.name-field{flex:160px;min-width:120px}.name-field input,.session-chip{width:100%}.session-chip{border:1px solid var(--line);background:#fffcf7b3;border-radius:8px;flex:0 180px;align-items:center;gap:8px;min-width:0;height:32px;padding:0 8px;display:flex}.status{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:650}.status.saved{color:var(--income)}.status.saving{color:var(--brass)}.status.error,.status.missing{color:var(--expense)}.sid{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.privacy{color:var(--muted);margin:0 12px 8px;font-size:12.5px}.banner{background:#f8f1e4;border:1px solid #e4d3b4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 12px 8px;padding:8px 12px;font-size:14px;display:flex}.banner p{margin:0}.banner ul{flex-basis:100%;margin:0;padding-left:18px}.banner.error{background:var(--bad-bg);border-color:#e4c2b6}.workspace{flex:1;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:12px;min-height:0;padding:0 12px 12px;display:grid}.editor,.chart-card,.table-wrap,.kpi{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.editor{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.editor-head,.editor-actions{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.editor-head h2,.editor-actions{margin:0}.editor-head h2{font-size:15px;font-weight:650}.text-buttons,.editor-actions{flex-wrap:wrap;gap:6px;display:flex}.text-buttons button,.text-button{color:var(--balance);background:0 0;border-color:#0000;height:28px;padding:0 6px}.editor-actions{padding-top:0}.stream-list{max-height:168px;margin:0;padding:0 8px;list-style:none;overflow:auto}.stream-list button{text-align:left;background:0 0;border-color:#0000;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;height:32px;padding:0 6px;display:grid}.stream-list button[aria-pressed=true]{background:#efe6d4;border-color:#0000}.stream-list button.is-off{opacity:.55}.stream-list .nm{text-overflow:ellipsis;white-space:nowrap;unicode-bidi:isolate;overflow:hidden}.stream-list .amt{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.dot{background:var(--muted);border-radius:99px;width:8px;height:8px}.dot.income{background:var(--income)}.dot.expense{background:var(--expense)}.empty-list,.editor-empty,.field-note,.preset-hint,.chart-caption,.chart-message,.range-note{color:var(--muted);font-size:13px}.empty-list,.editor-empty{margin:0;padding:8px 12px}.editor-form{min-height:0;padding:0 12px 8px;overflow:auto}.field{margin:0 0 8px}.field label,.field-label,.tool>span,.kpi-label{color:var(--muted);margin-bottom:3px;font-size:12px;display:block}.field-row,.inline-number{align-items:center;gap:8px;display:flex}.field-row input[type=range]{accent-color:var(--balance);flex:1}.field-row input[type=number],.tool input[type=number],.tool input[type=month],.field select,.field input[type=text],.field input:not([type=range]):not([type=checkbox]){width:100%}.field-row input[type=number]{flex:0 0 92px;width:92px}.unit{color:var(--muted);white-space:nowrap;font-size:12px}.split{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segmented,.presets{background:#efe6d6;border-radius:9px;flex-wrap:wrap;gap:2px;padding:2px;display:flex}.segmented button,.presets button{background:0 0;border:0;height:28px}.segmented button[aria-pressed=true],.presets button[aria-pressed=true]{background:#fff;box-shadow:0 1px 2px #281e0a14}.switch{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:inline-flex}.switch input{appearance:none;background:#d9d0c2;border:0;border-radius:99px;width:36px;height:20px;margin:0;padding:0;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .12s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--income)}.switch input:checked:after{transform:translate(16px)}.how{border-top:1px solid var(--line);margin:0 12px 12px;padding-top:8px}.how summary{cursor:pointer;font-weight:650}.how-body{color:var(--ink);font-size:13.5px}.how-body h3{margin:12px 0 4px;font-size:13px}.how-body p{margin:0 0 8px;line-height:1.45}.how code{font-family:ui-monospace,Liberation Mono,monospace;font-size:12px}.projection{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.toolbar{flex-wrap:wrap;align-items:end;gap:10px 14px;display:flex}.tool-number{flex:180px;min-width:180px}.tool-number .field{margin:0}.range-note{flex:180px;margin:0 0 6px}.pending{color:var(--brass)}.chart-card{padding:8px 10px 10px}.chart-caption,.chart-message{margin:4px 4px 6px}.chart-frame{position:relative}.chart-placeholder{height:280px}.chart-svg{width:100%;display:block}.chart-svg text{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.grid{stroke:#efe6d8;stroke-width:1px}.zero{stroke:#c9b89a;stroke-width:1.25px}.band{stroke:none}.band.outer{fill:#1d3d661f}.band.inner{fill:#1d3d663d}.stack{stroke:#fbf7f0d9;stroke-width:.6px;opacity:.9}.median{fill:none;stroke:var(--balance);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.net{fill:none;stroke:var(--brass);stroke-width:1.6px;stroke-dasharray:4 3}.legend{flex-wrap:wrap;gap:6px 12px;padding:4px 4px 0;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;max-width:220px;display:inline-flex}.legend-item span{text-overflow:ellipsis;white-space:nowrap;unicode-bidi:isolate;overflow:hidden}.swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.median-swatch{background:var(--balance);height:3px}.band-swatch{background:#1d3d6659}.net-swatch{background:var(--brass);height:3px}.tooltip{border:1px solid var(--line-strong);width:220px;box-shadow:var(--shadow);pointer-events:none;background:#fbf7f0f5;border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;top:8px}.tooltip p{font-variant-numeric:tabular-nums;margin:0 0 3px}.tooltip-title{font-weight:700}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.kpi{padding:8px 10px}.kpi.bad{background:var(--bad-bg)}.kpi.good{background:var(--good-bg)}.kpi-label{margin:0}.kpi-value{font-family:var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0;font-size:1.25rem}.kpi-detail{color:var(--muted);margin:0;font-size:12px}.table-wrap{flex:1;min-height:0;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}caption{caption-side:top;text-align:left;color:var(--muted);padding:8px 10px 4px;font-size:12px}th,td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:5px 8px}th:first-child,td:first-child,th[scope=row]{text-align:left}thead th{z-index:1;background:#f7f1e6;font-size:12px;font-weight:650;position:sticky;top:0}tr.active td,tr.active th{background:#f3ecdf}td.neg{color:var(--expense)}td.pos{color:var(--income)}td.hot{background:#f6ddd4}.boot{place-content:center;justify-items:center;gap:8px;min-height:100dvh;display:grid}.missing{background:var(--paper);border:1px solid var(--line);max-width:36rem;box-shadow:var(--shadow);border-radius:12px;margin:24px auto;padding:28px 24px}.missing h2{font-family:var(--serif);margin:0 0 8px;font-size:1.6rem}.missing p{color:var(--muted);margin:0 0 16px}.picker{gap:10px;padding:16px;display:grid}.picker h2{font-family:var(--serif);margin:0;font-size:1.4rem}.picker p{color:var(--muted);margin:0;font-size:14px}.session-list{gap:8px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.session-list li{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;display:grid}.session-list li.current{outline:1px solid var(--line-strong);border-radius:8px;padding:4px}.session-list input{min-width:0}@media (width<=640px){.session-list li{grid-template-columns:minmax(0,1fr) auto}}.drop-overlay{z-index:30;background:#1d3d6629;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay div{background:var(--paper);border:2px dashed var(--balance);border-radius:12px;padding:22px 28px;font-size:18px}dialog{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:12px;width:min(560px,100% - 32px);padding:0}dialog::backdrop{background:#1c181261}dialog form{gap:10px;padding:16px;display:grid}dialog h2{font-family:var(--serif);margin:0;font-size:1.4rem}dialog p{color:var(--muted);margin:0;font-size:14px}dialog input{width:100%}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-error{color:var(--expense)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=960px){body{overflow:auto}.app{height:auto;min-height:100dvh}.workspace{flex-direction:column;display:flex}.projection{order:-1}.editor{order:0}.editor-form{overflow:visible}.table-wrap{flex:none;max-height:480px}.kpis{grid-template-columns:1fr 1fr}.session-chip{flex-basis:100%}}@media (width<=640px){.topbar{flex-wrap:wrap;align-items:stretch}.top-actions{width:100%}.kpis,.split{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
