:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e6edf7;background:#080b10;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #080b10;--panel: #0f151d;--panel-raised: #121923;--panel-soft: #0a0f15;--border: #202a37;--border-strong: #313d4d;--muted: #8d9aae;--muted-strong: #b6c2d4;--ink: #eef5ff;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: rgba(37, 99, 235, .12);--danger: #fb7185;--shadow: 0 1px 0 rgba(255, 255, 255, .03);--shadow-soft: 0 1px 0 rgba(255, 255, 255, .03)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button,select,input{transition:border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease}button{min-height:36px;border:1px solid var(--border);border-radius:5px;background:#101720;color:var(--ink);cursor:pointer}button:hover:not(:disabled){border-color:var(--border-strong);background:#141c27}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible{outline:0;box-shadow:0 0 0 2px #2563eb38}main{min-height:100vh;padding:16px}.appHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0 auto 12px;max-width:1540px}.appHeader h1,.chartHeader h2,.sectionHeader h2{margin:0;color:var(--ink);letter-spacing:0}.appHeader h1{font-size:24px;line-height:1.15}.appHeader p,.chartHeader p{margin:5px 0 0;max-width:760px;color:var(--muted)}.chartHeader p{display:none}.primaryAction,.stateActions button{flex:0 0 auto;border-color:var(--border-strong);background:#111925;color:#c9d6e8;padding:0 16px;font-weight:750;box-shadow:0 1px #00000057}.primaryAction{background:#14213a;color:#dbeafe}.primaryAction:hover:not(:disabled),.stateActions button:hover:not(:disabled){border-color:#2563ebb8;background:#152034;color:#eff6ff}.primaryAction:hover:not(:disabled){background:#18294a}.primaryAction:active:not(:disabled),.stateActions button:active:not(:disabled){background:#101827;box-shadow:inset 0 1px 2px #0000005c}.currencySelect{flex:0 0 auto;min-height:36px;min-width:126px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--ink);padding:0 34px 0 10px;font-weight:750;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#91a0b5 50%),linear-gradient(135deg,#91a0b5 50%,transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.currencySelect:hover{border-color:var(--border-strong);background-color:#111925}.currencySelect option{background:#0c131d;color:var(--ink);font-weight:650}.currencySelect:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px #2563eb33}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:14px;max-width:1540px;margin:0 auto;align-items:start}.visuals,.controls{display:grid;gap:10px}.controls{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding-right:4px;scrollbar-color:#33445b transparent}.chartShell,.summary,.scenarioPanel,.globalPanel{border:1px solid var(--border);border-radius:6px;background:var(--panel);box-shadow:var(--shadow-soft)}.chartShell{padding:10px 12px 8px;box-shadow:var(--shadow)}.chartHeader,.sectionHeader,.scenarioTitle{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.chartHeader{margin-bottom:6px}.chartHeader h2,.sectionHeader h2{font-size:15px}.chartTitleRow{display:inline-flex;align-items:center;gap:6px;position:relative}.scenarioTitleName{font-weight:850}.infoButton{position:relative;display:inline-grid;place-items:center;width:18px;min-height:18px;padding:0;border-color:#2a3647;border-radius:50%;background:#0b1119;color:#91a0b5;font-size:11px;font-weight:800;line-height:1}.infoButton:hover:not(:disabled),.infoButton:focus-visible{border-color:var(--border-strong);background:#111925;color:#dbeafe}.infoTooltip{position:absolute;z-index:5;top:calc(100% + 8px);left:0;display:none;width:max-content;max-width:360px;padding:8px 9px;border:1px solid #273244;border-radius:5px;background:#0b1119;color:#c9d6e8;box-shadow:0 8px 20px #00000047;font-size:12px;font-weight:650;line-height:1.35;text-align:left}.infoButton:hover .infoTooltip,.infoButton:focus-visible .infoTooltip{display:block}.legend{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:flex-end;color:var(--muted-strong);font-size:12px}.legendItem,.scenarioCell{display:inline-flex;gap:8px;align-items:center;white-space:nowrap}.swatch{width:10px;height:10px;border-radius:2px;display:inline-block;flex:0 0 auto;box-shadow:none}.swatch.large{width:13px;height:13px}.swatch.cash{background:#2dd4bf}.swatch.invested{background:#a78bfa}.swatch.pension{background:#fb7185}.swatch.salary{background:#60a5fa}.swatch.bonus{background:#c084fc}.swatch.expenses{background:#fb923c}.swatch.incomeTax{background:#f43f5e}.swatch.wealthTax{background:#eab308}.swatch.assetReturn{background:#34d399}.chart{width:100%;height:auto;display:block}.plotArea{fill:#0a0f15;stroke:#1c2633}.gridLine{stroke:#1b2531;stroke-width:1}.gridLine.vertical{stroke-dasharray:3 5}.zeroLine{stroke:#5f6f84;stroke-width:1.5;stroke-dasharray:5 5}.hoverableLine{cursor:crosshair}.cashFlowBar,.allocationArea{stroke:#080b108c;stroke-width:1;cursor:crosshair}.cashBar{fill:#2dd4bf94}.investedBar{fill:#a78bfa8a}.pensionBar{fill:#fb71858a}.salaryArea{fill:#60a5fa94}.bonusArea{fill:#c084fc8a}.pensionContributionArea{fill:#fb71858a}.expensesArea{fill:#fb923c8f}.incomeTaxArea{fill:#f43f5e8a}.wealthTaxArea{fill:#eab3088a}.assetReturnArea{fill:#34d39985}.chartTooltip rect{fill:#0b1119;stroke:#273244;stroke-width:1}.chartTooltipLabel{fill:#91a0b5;font-size:11px;font-weight:700}.chartTooltipValue{fill:#eef5ff;font-size:13px;font-weight:750}.axisText{fill:#91a0b5;font-size:12px}.smallChart{padding-bottom:6px}.summary{overflow:hidden}.summary .sectionHeader{padding:16px 18px 8px}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 18px;border-top:1px solid #202d3d;text-align:right}th:first-child,td:first-child{text-align:left}th{color:#8d9aae;font-size:12px;text-transform:uppercase}td{color:#edf4ff;font-weight:650}tbody tr:hover{background:#94a3b80a}.sectionHeader,.scenarioTitle{align-items:center}.controls>.sectionHeader{padding:0 2px}.stateActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;border:1px solid var(--border);border-radius:6px;background:var(--panel);padding:10px;box-shadow:var(--shadow-soft)}.stateActions button{padding:0 10px;font-size:13px}.fileInput{display:none}.stateMessage{grid-column:1 / -1;min-height:18px;color:var(--muted);font-size:12px}.scenarioPanel{padding:14px;cursor:pointer}.scenarioPanel:hover{border-color:var(--border-strong);background:var(--panel-raised)}.globalPanel{display:grid;gap:14px;padding:14px}.chartVisibilityPanel{gap:7px;padding:9px 10px}.controlPanelTitle{color:#cad6e6;font-size:12px;font-weight:750}.chartToggleGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.chartToggle{display:flex;align-items:center;gap:6px;min-height:23px;color:var(--muted-strong);font-size:12px;line-height:1.2}.chartToggle input{width:14px;height:14px;accent-color:var(--accent-strong)}.compactPanel{gap:8px;padding:10px 14px}.dateRow{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted-strong);font-size:13px}.dateRow input{min-height:32px;width:150px;border:1px solid var(--border);border-radius:5px;background:#0c131d;color:var(--ink);padding:0 8px;font-weight:750}.dateRow input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px #2563eb33}.addScenarioControl{width:100%}.scenarioPanel.active{border-color:#2563ebc7;box-shadow:0 0 0 1px #2563eb47}.scenarioPanel.dragging{opacity:.58}.scenarioPanel.drop-before,.scenarioPanel.drop-after{position:relative}.scenarioPanel.drop-before:before,.scenarioPanel.drop-after:after{content:"";position:absolute;left:12px;right:12px;height:3px;border-radius:999px;background:#60a5fa;box-shadow:0 0 0 1px #60a5fa33,0 0 14px #60a5fa57;pointer-events:none}.scenarioPanel.drop-before:before{top:-6px}.scenarioPanel.drop-after:after{bottom:-6px}.scenarioPanel button,.scenarioPanel input,.scenarioPanel label{cursor:auto}.scenarioPanel button,.scenarioPanel input[type=range]{cursor:pointer}.scenarioPanel.collapsed{padding-bottom:14px}.scenarioIdentity{display:inline-flex;align-items:center;gap:6px;min-width:0}.dragHandle{display:inline-grid;place-items:center;width:22px;min-height:30px;border-radius:5px;color:#64748b;cursor:grab;touch-action:none}.dragHandle:active{cursor:grabbing}.dragHandle:hover,.dragHandle:focus-visible{background:#94a3b814;color:#cbd5e1;outline:0}.dragHandle>span{width:12px;height:16px;background-image:radial-gradient(currentColor 1.2px,transparent 1.4px);background-size:6px 6px;background-position:0 0}.collapseButton{display:inline-grid;place-items:center;width:30px;min-height:30px;border:0;background:transparent}.collapseButton:hover:not(:disabled){background:#94a3b814}.chevron{width:8px;height:8px;border-right:2px solid #91a0b5;border-bottom:2px solid #91a0b5;transform:rotate(45deg) translateY(-2px);transition:transform .14s ease}.collapseButton.collapsed .chevron{transform:rotate(-45deg) translate(-1px)}.selectScenario{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 8px;border:0;background:transparent}.selectScenario:hover:not(:disabled){background:transparent}.selectScenario input{width:140px;min-width:0;border:0;background:transparent;color:var(--ink);font-weight:750;outline:0}.scenarioActions{display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.iconButton{display:inline-grid;place-items:center;width:32px;min-height:32px;padding:0;color:#a8b5c7}.iconButton svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.iconButton.visibilityToggle.visible{border-color:#2563eb75;background:#2563eb1f;color:#93c5fd}.iconButton.visibilityToggle.hidden{background:transparent;color:#64748b}.iconButton.danger:not(:disabled):hover{border-color:#fb718573;background:#fb718514;color:var(--danger)}.categoryStack{display:grid;gap:8px;margin-top:16px}.controlCategory{border:1px solid #202d3d;border-radius:5px;background:var(--panel-soft)}.categorySummary{display:flex;align-items:center;width:100%;min-height:36px;border:0;border-radius:5px;padding:0 10px;background:transparent;color:#cad6e6;cursor:pointer;font-size:13px;font-weight:750;text-align:left}.categorySummary:hover:not(:disabled){background:#94a3b80d}.categorySummary:before{content:"";width:7px;height:7px;margin-right:10px;border-right:2px solid #91a0b5;border-bottom:2px solid #91a0b5;transform:rotate(-45deg);transition:transform .14s ease}.controlCategory.open .categorySummary{border-bottom:1px solid #202d3d;border-radius:5px 5px 0 0}.controlCategory.open .categorySummary:before{transform:rotate(45deg) translateY(-2px)}.sliderGrid{display:grid;gap:14px;padding:12px 10px}.sliderRow{display:grid;gap:7px}.sliderMeta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted-strong);font-size:13px}.fieldLabel{display:inline-flex;align-items:center;gap:7px;min-width:0}.textControlRow{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted-strong);font-size:13px}.selectControlRow{display:grid;gap:7px;color:var(--muted-strong);font-size:13px}.checkboxControlRow{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted-strong);font-size:13px}.selectControlLabel{display:flex;align-items:center;gap:7px}.checkboxControlRow input{width:18px;height:18px;accent-color:var(--accent-strong)}.selectControlRow select{min-height:32px;width:100%;border:1px solid var(--border);border-radius:5px;background:#0c131d;color:var(--ink);padding:0 34px 0 10px;font-weight:750;line-height:32px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#91a0b5 50%),linear-gradient(135deg,#91a0b5 50%,transparent 50%);background-position:calc(100% - 16px) 13px,calc(100% - 11px) 13px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.selectControlRow select:hover{border-color:var(--border-strong);background-color:#111925}.selectControlRow select option{background:#0c131d;color:var(--ink);font-weight:650}.selectControlRow select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px #2563eb33}.textControlRow input{min-height:32px;width:150px;border:1px solid var(--border);border-radius:5px;background:#0c131d;color:var(--ink);padding:0 9px;font-weight:750;text-align:right}.textControlRow input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px #2563eb33}input[type=range]{width:100%;accent-color:var(--accent-strong)}.numberField{display:flex;align-items:center;border:1px solid transparent;border-radius:5px;background:transparent;overflow:hidden}.valueField{flex:0 0 auto;width:112px;min-height:30px}.numberField:focus-within{border-color:var(--accent);background:#0c131d;box-shadow:0 0 0 2px #2563eb33}.numberField:hover{background:#94a3b80d}.numberField input{width:100%;min-width:0;border:0;outline:0;padding:5px 7px;color:var(--ink);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;background:transparent;appearance:textfield;-moz-appearance:textfield}.numberField input::-webkit-outer-spin-button,.numberField input::-webkit-inner-spin-button{margin:0;appearance:none;-webkit-appearance:none}.numberField span{color:#91a0b5;font-size:12px;font-weight:750}.numberField .prefix{padding-left:8px}.numberField .suffix{padding-right:8px}@media(max-width:1180px){.workspace{grid-template-columns:1fr}.controls{position:static;max-height:none;grid-row:1}}@media(max-width:680px){main{padding:14px}.appHeader,.chartHeader{display:grid}.scenarioIdentity{width:100%}.primaryAction,.scenarioActions,.legend{justify-content:flex-start}.appHeader h1{font-size:24px}.chartShell{padding:12px}.axisText{font-size:12px}.valueField{width:118px}}
