.simulation-control { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:999px; padding:8px 12px; background:var(--paper); white-space:nowrap; }
.simulation-control input { width:42px; height:22px; accent-color:var(--green); }
.simulation-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.simulation-metric { padding:21px; display:grid; gap:5px; }
.simulation-metric small,.simulation-metric span { color:var(--muted); }
.simulation-metric strong { font:700 24px Manrope,sans-serif; }
.balance-chart-host { margin-top:16px; }
.overview-balance-chart { margin-top:16px; }
.balance-chart-card { padding:24px 25px 18px; overflow:hidden; }
.balance-chart-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.balance-chart-header .overline { margin:0 0 5px; }
.balance-chart-value { display:block; font:800 29px/1.2 Manrope,sans-serif; letter-spacing:-.025em; }
.balance-chart-change { display:block; margin-top:4px; font-size:12px; font-weight:700; }
.balance-chart-ranges { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid var(--line); border-radius:10px; background:#f0f2ed; overflow-x:auto; max-width:100%; }
.balance-chart-ranges button { min-width:39px; border:0; border-radius:7px; padding:7px 8px; background:transparent; color:var(--muted); font:700 11px "DM Sans",sans-serif; cursor:pointer; }
.balance-chart-ranges button:hover { color:var(--ink); }
.balance-chart-ranges button.active { background:var(--paper); color:var(--green); box-shadow:0 2px 7px #163a2a16; }
.balance-chart-ranges button:disabled { cursor:wait; opacity:.65; }
.balance-chart-stage { margin-top:18px; }
.balance-chart-stage svg { display:block; width:100%; height:260px; overflow:visible; }
.balance-chart-grid { stroke:#dce3dc; stroke-width:1; stroke-dasharray:4 7; }
.balance-chart-area { opacity:.1; }
.balance-chart-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.balance-chart-endpoint { stroke:var(--paper); stroke-width:3; vector-effect:non-scaling-stroke; }
.balance-chart-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; color:var(--muted); font-size:10px; }
.balance-chart-footer span:nth-child(2) { text-align:center; }
.balance-chart-footer span:last-child { text-align:right; }
.balance-chart-empty { min-height:220px; display:grid; place-items:center; color:var(--muted); text-align:center; }
.positive { color:var(--green)!important; }
.negative { color:var(--danger)!important; }
.simulation-strategies { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.strategy-performance-card { padding:18px 21px; display:grid; gap:4px; }
.strategy-performance-card strong { font:700 20px Manrope,sans-serif; }
.strategy-performance-card small,.strategy-performance-card span { color:var(--muted); }
.simulation-table-wrap { overflow:auto; }
.simulation-table-wrap table { width:100%; border-collapse:collapse; min-width:700px; }
.simulation-table-wrap th,.simulation-table-wrap td { padding:15px 18px; text-align:left; border-bottom:1px solid var(--line); }
.simulation-table-wrap th { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.simulation-table-wrap tr:last-child td { border-bottom:0; }
.simulation-empty { margin:0; padding:34px; text-align:center; color:var(--muted); }
.simulation-lower-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:20px; }
.activity-list { display:grid; gap:9px; }
.activity-item { display:flex; gap:13px; align-items:flex-start; padding:15px 17px; }
.activity-item strong,.activity-item small { display:block; }
.activity-item small { color:var(--muted); margin-top:3px; }
.activity-dot { width:9px; height:9px; border-radius:50%; background:var(--blue); margin-top:6px; flex:0 0 auto; box-shadow:0 0 0 4px #dcebef; }
.activity-dot.risk_rejection,.activity-dot.analysis_failed { background:var(--danger); box-shadow:0 0 0 4px #f6e3e2; }
.activity-dot.simulated_fill { background:var(--green); box-shadow:0 0 0 4px var(--mint); }
.restart-card { padding:22px; display:grid; gap:16px; }
.restart-card p { color:var(--muted); margin:0; }
.holding-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.schedule-row { grid-template-columns:1.2fr .7fr 1.2fr auto auto auto; }

@media(max-width:1000px){.simulation-metrics{grid-template-columns:1fr 1fr}.simulation-lower-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row .schedule-field:first-child,.schedule-row .timezone{grid-column:auto}}
@media(max-width:650px){.simulation-metrics,.simulation-strategies,.holding-grid{grid-template-columns:1fr}.simulation-control{margin-top:16px;width:max-content}.simulation-lower-grid{gap:0}.balance-chart-card{padding:20px 14px 14px}.balance-chart-header{display:grid;gap:15px}.balance-chart-ranges{width:100%}.balance-chart-ranges button{flex:1;min-width:38px;padding-inline:6px}.balance-chart-stage svg{height:210px}.balance-chart-footer{grid-template-columns:1fr 1fr}.balance-chart-footer span:nth-child(2){display:none}}

.allocation-editor { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(320px,1.3fr); gap:clamp(28px,5vw,64px); align-items:center; padding:clamp(24px,4vw,44px); }
.allocation-visual { display:grid; justify-items:center; gap:24px; }
.allocation-donut { width:min(240px,70vw); aspect-ratio:1; padding:25px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#1b6b4d 0 50%,#c88d36 50% 80%,#985b52 80% 100%); box-shadow:inset 0 0 0 1px #ffffff66,0 16px 38px #153a2b1c; transition:background .2s ease; }
.allocation-donut>div { width:100%; height:100%; border-radius:50%; display:grid; place-content:center; text-align:center; background:var(--paper); box-shadow:inset 0 0 0 1px var(--line); }
.allocation-donut strong { display:block; font:800 32px Manrope,sans-serif; letter-spacing:-.04em; }
.allocation-donut span { color:var(--muted); font-size:12px; }
.allocation-presets { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.allocation-presets>span { width:100%; text-align:center; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.allocation-presets button { border:1px solid var(--line); border-radius:999px; padding:7px 10px; background:#fff; color:var(--green); font:700 11px "DM Sans",sans-serif; cursor:pointer; }
.allocation-presets button:hover,.allocation-presets button:focus-visible { border-color:#78a48f; background:var(--mint); outline:none; }
.allocation-controls { display:grid; gap:25px; }
.allocation-control { display:grid; gap:9px; }
.allocation-control>span { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.allocation-control>span>span { display:flex; align-items:center; gap:9px; }
.allocation-control i { width:10px; height:10px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px #1b6b4d18; }
.allocation-control.balanced i { background:var(--gold); box-shadow:0 0 0 4px #c88d3618; }
.allocation-control.aggressive i { background:#985b52; box-shadow:0 0 0 4px #985b5218; }
.allocation-control output { min-width:54px; text-align:right; color:var(--ink); font:800 20px Manrope,sans-serif; }
.allocation-control small { margin-top:-2px; color:var(--muted); font-weight:400; }
.allocation-control input[type="range"] { --slider-color:var(--green); appearance:none; height:8px; padding:0; border:0; border-radius:999px; background:linear-gradient(90deg,var(--slider-color) 0 var(--range-progress,50%),#dfe5df var(--range-progress,50%) 100%); box-shadow:none; cursor:pointer; }
.allocation-control.balanced input { --slider-color:var(--gold); }
.allocation-control.aggressive input { --slider-color:#985b52; }
.allocation-control input[type="range"]::-webkit-slider-thumb { appearance:none; width:24px; height:24px; border:4px solid var(--paper); border-radius:50%; background:var(--slider-color); box-shadow:0 2px 8px #10251f38; }
.allocation-control input[type="range"]::-moz-range-thumb { width:16px; height:16px; border:4px solid var(--paper); border-radius:50%; background:var(--slider-color); box-shadow:0 2px 8px #10251f38; }
.allocation-control input[type="range"]:focus-visible { outline:3px solid #7cb79840; outline-offset:5px; }
.allocation-warning { display:flex; align-items:flex-start; gap:11px; padding:13px 15px; border:1px solid #dfb26e; border-radius:12px; background:#fff7e8; color:#704b18; }
.allocation-warning>span { flex:0 0 auto; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#c88d36; color:#fff; font-weight:800; }
.allocation-warning p { margin:0; }
.allocation-warning strong,.allocation-warning small { display:block; }
.allocation-warning small { margin-top:2px; color:#806338; font-weight:500; line-height:1.4; }
@media(max-width:720px){.allocation-editor{grid-template-columns:1fr;padding:24px 18px}.allocation-donut{width:200px}.allocation-controls{gap:22px}}
