.control-workbench { --control-ink:#183b2a; --control-green:#087c42; font-family:Manrope,"Segoe UI",system-ui,sans-serif; color:var(--control-ink); min-width:0; }
.control-toolbar { padding:25px; border:1px solid #c9dfd0; border-radius:17px; background:linear-gradient(110deg,#edf8ef,#fff 44%,#fff 76%,#edf7ef); box-shadow:inset 0 1px 0 #fff,0 12px 35px -24px #195b3655; }
.control-toolbar-top { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:20px; }
.control-field { display:grid; gap:7px; min-width:0; }
.control-field > span { font-size:.75rem; color:#4c6755; font-weight:600; }
.control-toolbar-top .control-field { width:min(380px,100%); }
.control-source { display:grid; gap:4px; text-align:right; }
.control-source strong { font-size:.85rem; color:#257145; }
.control-source span { font-size:.75rem; color:#5a7161; max-width:45ch; }
.control-workbench select,.control-workbench input[type="datetime-local"],.control-workbench input[type="number"] { min-width:0; border:1px solid #bfd6c6; border-radius:8px; background:#fff; color:#244530; min-height:42px; padding:9px 11px; font:inherit; font-size:.82rem; }
.control-workbench select { width:100%; }
.control-workbench input[type="checkbox"] { width:18px; height:18px; accent-color:#087c42; margin:0; }
.control-window-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:14px; align-items:end; }
.control-window-form .control-button { min-height:42px; }
.control-window-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-top:18px; padding-top:18px; border-top:1px solid #d6e7db; }
.control-period-label { font-size:.78rem; font-weight:600; color:#4c6755; }
.control-period-note { margin:12px 0 0; color:#5a7161; font-size:.75rem; line-height:1.6; }
.control-advanced-dates { margin-top:16px; border-top:1px solid #d6e7db; padding-top:14px; }
.control-advanced-dates > summary,.control-parameters > summary { color:#276b40; font-size:.86rem; font-weight:600; cursor:pointer; line-height:1.6; padding-block:5px; }
.control-advanced-dates[open] > summary { margin-bottom:16px; }
.control-advanced-dates .control-duration { margin-top:14px; }
.control-parameters { min-width:0; margin-top:24px; border:1px solid #cbded2; border-radius:12px; background:#fff; padding:14px 18px; scroll-margin-top:24px; }
.control-parameters > .control-catalog { margin-top:16px; border:0; border-top:1px solid #dce9e0; border-radius:0; padding:22px 0 0; background:none; box-shadow:none; }
.control-analysis { display:grid; gap:24px; margin-top:24px; }
.control-analysis:empty { display:none; }
.control-analysis .control-notices { margin-bottom:0; }
.control-workbench summary:focus-visible,.control-workbench button:focus-visible,.control-workbench select:focus-visible,.control-workbench input:focus-visible { outline:3px solid #0e7a3b; outline-offset:3px; }
.control-duration,.control-window-steps { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.control-duration input { width:70px; }
.control-duration select { width:auto; }
.control-button { display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:38px; padding:9px 13px; border:1px solid #bdd6c5; border-radius:8px; background:linear-gradient(#fff,#edf7ef); color:#25683e; font-family:inherit; font-size:.75rem; font-weight:600; text-decoration:none; cursor:pointer; box-shadow:inset 0 1px 0 #fff; }
.control-button:hover { background:#e3f1e6; color:#155c31; }
.control-button:disabled { opacity:.5; cursor:not-allowed; }
.control-button-primary { color:#fff; background:linear-gradient(#0d8646,#086c38); border-color:#0a743c; box-shadow:inset 0 1px 0 #7ccf994f,0 3px 6px #12482917; }
.control-button-primary:hover { color:#fff; background:linear-gradient(#0d8646,#07592e); }
.control-request-status { margin:14px 0 23px; font-size:.75rem; color:#536e5d; line-height:1.7; min-height:24px; }
.control-request-status .control-button { margin-left:12px; }
.control-content.is-loading { opacity:.55; pointer-events:none; }
.control-section-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:18px; }
.control-section-heading h2 { font-size:1.35rem; letter-spacing:-.025em; color:#214a30; }
.control-section-heading h3 { font-size:1.2rem; letter-spacing:-.02em; color:#204c31; }
.control-section-heading p { font-size:.76rem; color:#5a705f; line-height:1.6; margin-top:5px; }
.control-catalog { min-width:0; padding:24px; border:1px solid #cfe2d5; border-radius:16px; background:linear-gradient(115deg,#f8fcf8,#fff 40%,#fff); box-shadow:inset 0 1px 0 #fff; }
.control-table-scroll { overflow:auto; max-width:100%; }
.control-pid-table,.control-values-table { border-collapse:collapse; width:100%; color:#254932; }
.control-pid-table th,.control-values-table th { text-align:left; font-size:.75rem; font-weight:600; color:#5a7260; padding:11px 12px; background:#edf6ef; border-bottom:1px solid #cde0d3; white-space:nowrap; }
.control-pid-table td,.control-values-table td { padding:11px 12px; border-bottom:1px solid #e0ebe3; vertical-align:middle; font-size:.79rem; }
.control-pid-table td:first-child { width:54%; min-width:265px; padding-left:0; }
.control-pid-table th:first-child { border-radius:7px 0 0 7px; }
.control-pid-table th:last-child { border-radius:0 7px 7px 0; }
.control-pid-table select { font-size:.8rem; }
.control-pid-table small,.control-values-table small { display:block; font-size:.75rem; color:#58705f; line-height:1.5; margin-top:5px; }
.control-pid-table strong { color:#1b6337; font-size:.9rem; white-space:nowrap; font-weight:650; font-variant-numeric:tabular-nums; }
.control-field-source { max-width:75ch; overflow-wrap:anywhere; }
.control-graph-check { display:flex; align-items:center; gap:7px; font-size:.75rem; min-height:40px; cursor:pointer; }
.control-remove { display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid #d0e0d5; border-radius:7px; color:#567462; background:#fff; font-size:1.1rem; }
.control-remove:hover { background:#f6eded; color:#874c44; }
.control-display-tools { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:25px; }
.control-overlay-toggle { display:flex; align-items:center; gap:10px; font-size:.82rem; color:#2f5a3e; cursor:pointer; }
.control-display-tools > div { text-align:right; }
.control-display-tools > .control-chart-options { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; text-align:left; }
.control-display-tools small { display:block; margin-top:7px; color:#61796a; font-size:.75rem; }
.control-chart-list { display:grid; grid-template-columns:1fr; gap:24px; }
.control-plot { padding:25px; min-width:0; border:1px solid #c9dfd1; border-radius:16px; background:linear-gradient(105deg,#f3faf4,#fff 20%,#fff 85%,#f4faf6); box-shadow:inset 0 1px 0 #fff,0 15px 40px -29px #175d394f; }
.control-statistics { display:flex; gap:32px; flex-wrap:wrap; margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid #dce9e0; }
.control-statistics dt { font-size:.75rem; color:#5f7666; margin-bottom:5px; }
.control-statistics dd { font-size:1.36rem; color:#087c42; margin:0; font-weight:600; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.control-scale-note { font-size:.75rem; line-height:1.65; color:#546f5d; margin-bottom:14px; }
.control-chart-legend { display:flex; flex-wrap:wrap; gap:9px 22px; list-style:none; padding:0; margin:0 0 18px; }
.control-chart-legend li { display:flex; align-items:baseline; gap:7px; font-size:.75rem; color:#315e41; line-height:1.6; }
.control-chart-legend i { display:inline-block; width:17px; height:3px; border-radius:3px; flex-shrink:0; transform:translateY(-3px); }
.control-chart-stage { background:#fff; border-radius:9px; }
.control-chart-svg { display:block; width:100%; height:auto; touch-action:pan-y; overflow:visible; }
.control-chart-axis { fill:#45624f; font-family:Manrope,"Segoe UI",sans-serif; font-size:12px; }
.control-chart-grid { stroke:#dfebe4; stroke-width:1; stroke-dasharray:3 4; }
.control-chart-readout { margin-top:13px; padding:12px 14px; min-height:45px; color:#365c43; background:#edf6f0; border-radius:8px; font-size:.75rem; line-height:1.65; font-variant-numeric:tabular-nums; }
.control-limit-note { padding:10px 13px; border-left:3px solid #c28a32; background:#fff6e5; color:#715222; font-size:.75rem; line-height:1.6; margin-bottom:13px; border-radius:0 7px 7px 0; }
.control-empty { border:1px dashed #bdd7c6; background:#f2f8f4; padding:24px; border-radius:12px; font-size:.85rem; color:#506a59; line-height:1.7; }
.control-notices { margin-bottom:20px; padding:13px 17px; background:#fff8ec; border:1px solid #eadbc1; border-radius:11px; color:#795c29; font-size:.78rem; }
.control-notices ul { padding-left:18px; margin-top:12px; line-height:1.65; }
.control-notices li+li { margin-top:7px; }
.control-values { margin-top:25px; border:1px solid #cbded2; border-radius:12px; background:#fff; padding:18px; }
.control-values summary { color:#276b40; font-size:.86rem; font-weight:600; cursor:pointer; }
.control-table-pager { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:20px 0; }
.control-table-pager span { color:#597664; font-size:.75rem; }
.control-values-table caption { text-align:left; color:#536c5c; font-size:.75rem; padding-block:0 13px; }
.control-values-table td { vertical-align:top; font-variant-numeric:tabular-nums; }
.control-values-table td:first-child { white-space:nowrap; }
.control-values-table small { overflow-wrap:anywhere; max-width:48ch; }
.control-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:900px) {
  .control-window-navigation { align-items:start; }
  .control-window-form { grid-template-columns:1fr 1fr; }
  .control-window-form > button { justify-self:start; }
  .control-pid-table td:first-child { width:45%; }
  .control-catalog,.control-toolbar,.control-plot { padding:20px; }
}
@media(max-width:600px) {
  .control-toolbar-top { display:block; }
  .control-toolbar-top .control-field { width:100%; }
  .control-source { text-align:left; margin-top:16px; }
  .control-window-form { grid-template-columns:1fr; }
  .control-window-form > button { width:100%; }
  .control-catalog,.control-toolbar,.control-plot { padding:16px; border-radius:12px; }
  .control-duration { display:grid; grid-template-columns:65px 1fr auto; width:100%; }
  .control-duration input,.control-duration select { width:100%; }
  .control-button { font-size:.75rem; padding:9px 10px; }
  .control-window-steps { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .control-section-heading { align-items:start; gap:14px; }
  .control-section-heading h2 { font-size:1.15rem; }
  .control-section-heading h3 { font-size:1.02rem; }
  .control-section-heading p { font-size:.75rem; }
  .control-section-heading > .control-button { max-width:105px; flex-shrink:0; }
  .control-pid-table thead { display:none; }
  .control-pid-table tbody { display:block; }
  .control-pid-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; padding:15px 0; border-bottom:1px solid #dce8df; }
  .control-pid-table td { padding:0; border:0; }
  .control-pid-table td:first-child { grid-column:1/-1; min-width:0; width:100%; }
  .control-pid-table td:nth-child(2) { grid-column:1/-1; min-width:0; }
  .control-pid-table strong { font-size:.85rem; }
  .control-pid-table small { font-size:.75rem; }
  .control-pid-table .control-graph-check { min-height:34px; }
  .control-display-tools { align-items:start; flex-direction:column; gap:16px; }
  .control-display-tools > div { text-align:left; }
  .control-overlay-toggle { font-size:.77rem; }
  .control-statistics { gap:13px 21px; }
  .control-statistics dd { font-size:1.1rem; }
  .control-scale-note,.control-chart-readout { font-size:.75rem; }
  .control-chart-legend { gap:7px 12px; }
  .control-chart-legend li { font-size:.75rem; }
  .control-values { padding:14px; }
  .control-parameters { padding:12px 14px; }
  .control-parameters > .control-catalog { padding:18px 0 0; }
  .control-display-tools > .control-chart-options { align-items:start; flex-direction:column; }
  .control-table-pager span { order:3; width:100%; text-align:center; }
}
