.ts{--ts-green:#c4f77b;--ts-line:#2c3c38;color:#dfebe6}.ts-banner{display:flex;gap:18px;align-items:center;padding:16px 20px;background:#1c271b;border:1px solid #4a6034;border-radius:10px;line-height:1.6}.ts-banner b{white-space:nowrap;color:var(--ts-green);font-size:11px;letter-spacing:.12em}.ts-actions,.ts-presets{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:20px 0 10px}.ts-actions label{display:grid;gap:7px;font-size:11px;color:#a8bab1}.ts-actions button,.ts-presets button,.ts-saved button,.ts-import{font-size:12px;padding:10px 12px;border:1px solid var(--ts-line);border-radius:6px;background:#14221c;color:#d9e7df;cursor:pointer}.ts-import input{max-width:185px;font-size:11px}.ts-presets{align-items:center}.ts-presets>span{color:#9db0a4;font-size:11px;margin-right:8px}.ts #ts-status{font-size:12px;color:#aab8c0;min-height:18px}.ts-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;margin-top:24px}.ts-inputs{min-width:0}.ts-inputs details{border:1px solid var(--ts-line);border-radius:9px;background:#111b18;margin-bottom:9px;overflow:hidden}.ts-inputs summary{padding:17px 13px;cursor:pointer;font-weight:600;font-size:12px;line-height:1.6}.ts-inputs summary span{color:var(--ts-green);margin-right:12px;font-size:10px}.ts-fields{display:grid;gap:18px;padding:6px 16px 20px}.ts-fields label{display:grid;gap:6px;color:#cad8d0;font-size:12px}.ts-fields label>small{font-size:10px;color:#849c8d;line-height:1.5}.ts-value{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:8px;align-items:center}.ts-value input,.ts-value select{width:100%;min-width:0;font-variant-numeric:tabular-nums;border:1px solid #3a4b40;border-radius:5px;padding:9px;background:#0b1210;color:#f1f7f3}.ts-value small{font-size:10px;color:#9ab29f}.ts input:focus,.ts select:focus{outline:2px solid var(--ts-green);outline-offset:2px}.ts-results{min-width:0}.ts-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ts-kpi{padding:18px;background:linear-gradient(140deg,#203323,#111a18);border:1px solid #354938;border-radius:9px;min-height:140px;display:flex;flex-direction:column;gap:10px}.ts-kpi>span{font-size:11px;color:#b3c5b7}.ts-kpi strong{font-size:clamp(19px,1.8vw,30px);letter-spacing:-.04em;color:#edf8df;overflow-wrap:anywhere}.ts-kpi small{font-size:10px;color:#91aa98;line-height:1.5}.ts-alerts{padding:16px 20px 16px 34px;background:#272218;border:1px solid #52452c;border-radius:8px;color:#dfcea4;font-size:12px;line-height:1.7}.ts-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ts-chart{background:#111a17;border:1px solid var(--ts-line);padding:16px;border-radius:9px;min-width:0}.ts-chart h3{font-size:12px;margin:0 0 10px}.ts-chart svg{width:100%;height:auto}.ts-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;color:#829b8c}.ts-section{margin:18px 0;padding:20px;background:#111a17;border:1px solid var(--ts-line);border-radius:9px}.ts-section h2{font-size:16px;margin:0 0 12px}.ts-hint{color:#9fb0a6;font-size:11px;line-height:1.7;margin-bottom:18px}.ts-table{overflow:auto;max-height:420px}.ts-table table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.ts-table th{text-align:left;font-weight:500;color:#b7ccbd;background:#1b2b22;position:sticky;top:0;z-index:1}.ts-table td,.ts-table th{padding:12px 10px;border-bottom:1px solid #26372f;white-space:nowrap}.ts-table tbody tr:hover{background:#1c2921}.ts-table td:first-child{color:#b1c7b6}.ts-saved{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ts-method{padding:18px;border:1px solid var(--ts-line);border-radius:8px;color:#9fb4a5;font-size:12px;line-height:1.8}.ts-method summary{cursor:pointer;color:#d0e3d4}.ts-method li{margin-bottom:10px}#ts-errors:not(:empty){padding:18px;background:#321c1b;border:1px solid #8b4a42;border-radius:8px;margin-bottom:18px;color:#ffc2b5}.ts button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1200px){.ts-layout{grid-template-columns:265px minmax(0,1fr)}.ts-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-charts{grid-template-columns:1fr}}@media(max-width:800px){.ts-layout{grid-template-columns:1fr}.ts-banner{display:block}.ts-banner b{display:block}.ts-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-section{padding:12px}}

/* Single-workspace simulator; tables and parameters scroll inside their panels. */
.ts [hidden]{display:none!important}
body:has(.ts) main{padding-top:18px;padding-bottom:18px}
body:has(.ts) .ec-heading{margin-bottom:12px}
body:has(.ts) .ec h1{font-size:28px;margin:6px 0}
body:has(.ts) .ec-heading p{font-size:12px}
.ts-banner{padding:8px 12px;font-size:12px;line-height:1.4}
.ts-actions{margin:12px 0 8px;gap:8px;align-items:end}
.ts-actions label:first-child{flex:1;min-width:150px}
.ts-actions input{padding:8px;font-size:12px;width:100%;min-width:0}
.ts-actions #ts-weeks{width:85px}
.ts-import{max-width:155px;padding:6px 8px}
.ts-import input{width:100%;font-size:10px;padding:0}
.ts-presets{margin:8px 0;gap:5px}
.ts-presets button{padding:6px 9px;font-size:11px}
.ts #ts-status{margin:6px 0;font-size:11px}
.ts-layout{grid-template-columns:260px minmax(0,1fr);gap:16px;margin-top:12px}
.ts-inputs{border:1px solid var(--ts-line);border-radius:10px;background:#111b18;overflow:auto;max-height:calc(100dvh - 390px);min-height:300px}
.ts-category{display:grid;gap:8px;padding:12px;position:sticky;top:0;background:#14221c;z-index:1;font-size:12px;color:#b9ccbf}
.ts select{max-width:100%;min-width:0;padding:8px;border:1px solid #3a4b40;border-radius:5px;background:#0b1210;color:#f1f7f3;font-size:12px}
.ts-inputs details{border:0;margin:0;border-radius:0;overflow:visible}
.ts-inputs summary{display:none}
.ts-fields{padding:14px;gap:16px}
.ts-fields label>small{font-size:11px;line-height:1.5;color:#a0b4a6}
.ts-value{grid-template-columns:minmax(0,1fr) 65px}
.ts-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ts-kpi{min-height:106px;padding:12px;gap:8px}
.ts-kpi strong{font-size:clamp(18px,1.65vw,27px)}
.ts-kpi small{font-size:11px;color:#a1b8a8}
.ts-alerts{padding:10px 14px;margin:10px 0;font-size:12px;line-height:1.5;max-height:130px;overflow:auto}
.ts-alerts summary{cursor:pointer}
.ts-alerts ul{padding-left:18px}
.ts-tabs,.ts-chart-switch{display:flex;gap:6px;flex-wrap:wrap}
.ts-tabs{border-bottom:1px solid var(--ts-line);padding-bottom:8px;margin-bottom:10px}
.ts-tabs button,.ts-chart-switch button{border:1px solid var(--ts-line);border-radius:6px;background:#101c17;color:#b3c7bb;font-size:12px;padding:7px 12px;cursor:pointer}
.ts-tabs [aria-selected=true],.ts-chart-switch [aria-pressed=true]{background:#2b3c24;border-color:#7b9d52;color:#d9f7b6}
.ts button:focus-visible{outline:2px solid var(--ts-green);outline-offset:2px}
.ts-chart-switch{margin-bottom:8px}
.ts-chart-switch button{font-size:11px;padding:5px 9px}
.ts-chart{padding:12px}
.ts-chart h3{display:flex;justify-content:space-between;margin-bottom:4px}
.ts-chart h3 small{color:#a3b7aa;font-weight:400}
.ts-chart svg{display:block;max-height:clamp(160px,calc(100dvh - 740px),290px)}
.ts-chart svg text{fill:#a9bcb0;font:11px sans-serif}
.ts-legend{font-size:11px;gap:16px}
.ts-overview>.ts-hint{margin:8px 0 0;line-height:1.5}
.ts-detail-picker{display:flex;align-items:center;gap:12px;font-size:12px;color:#adc4b4;margin:8px 0}
.ts-section{margin:8px 0 0;padding:14px}
.ts-section h2,.ts-method h2{font-size:14px}
.ts-table{max-height:calc(100dvh - 540px);min-height:100px}
.ts-table table{font-size:12px}
.ts-table td,.ts-table th{padding:10px}
.ts-method{max-height:calc(100dvh - 490px);overflow:auto;padding:14px}
@media(max-width:1200px){
 .ts-layout{grid-template-columns:230px minmax(0,1fr)}
 .ts-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ts-kpi{min-height:90px}
}
@media(max-width:850px){
 .ts-layout{grid-template-columns:1fr}
 .ts-inputs{max-height:300px;min-height:0}
 .ts-actions{align-items:end}
 .ts-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ts-chart svg{max-height:none}
 .ts-table,.ts-method{max-height:360px}
 .ts-detail-picker{display:grid;gap:6px}
 .ts-banner b{margin-bottom:4px}
}
