/* Vitrum instrument family. Raster art is structure only; data and controls remain live DOM/canvas. */
:root{--instrument-face:#eeece6;--instrument-ink:#243336;--instrument-muted:#53625e;--instrument-rim:#b9c0b8;--instrument-input:#f9f8f6;--instrument-accent:#1b686f;--instrument-selected:#ddebe6;--instrument-panel:url('/assets/instruments/panel-housing-light-v3.webp');--instrument-selector:url('/assets/instruments/selector-key-light-v2.webp');--instrument-socket:url('/assets/instruments/selector-socket-light-v2.webp');--instrument-plot-frame:url('/assets/instruments/plot-frame-light-v2.webp');--instrument-bay:url('/assets/instruments/control-bay-v1.webp');--instrument-panel-slice:192 122 195 122;--instrument-selector-slice:240 160 240 160;--instrument-socket-slice:270 125 260 125;--instrument-plot-slice:192 122 195 122}
html[data-theme=dark]{--paper:#1b292d;--reading:#1d2e32;--bg:#111d21;--ink:#e7efec;--muted:#a8bbb6;--line:#3b4e50;--tint:#243e40;--instrument-face:#263538;--instrument-ink:#e7efec;--instrument-muted:#b9c9c4;--instrument-rim:#475d60;--instrument-input:#1b2b2f;--instrument-accent:#89d2d0;--instrument-selected:#294649;--instrument-panel:url('/assets/instruments/panel-housing-dark-v3.webp');--instrument-selector:url('/assets/instruments/selector-key-dark-v2.webp');--instrument-socket:url('/assets/instruments/selector-socket-dark-v2.webp');--instrument-plot-frame:url('/assets/instruments/plot-frame-dark-v2.webp');--instrument-bay:url('/assets/instruments/control-bay-dark-v2.webp')}
:root{--instrument-panel-slice:192 121 197 123;--instrument-socket-slice:256 114 252 113;--instrument-plot-slice:190 120 195 121}
html[data-theme=dark]{--instrument-panel-slice:193 124 198 125;--instrument-socket-slice:253 115 255 115;--instrument-plot-slice:192 121 197 122}
body[data-context=workbench] .main-tabs{gap:5px;min-height:56px;padding:8px 0;border-bottom:1px solid #c6c9c3;align-items:stretch}
body[data-context=workbench] .main-tabs>button{border:1px solid var(--line);border-radius:5px;padding:9px 13px;background:linear-gradient(var(--paper),var(--bg));box-shadow:inset 0 1px 0 #ffffff66,0 1px 1px #17263212;font-size:12px;white-space:nowrap;min-height:40px}
body[data-context=workbench] .main-tabs>button[aria-selected=true]{border-color:var(--teal);border-top-width:3px;padding-top:7px;color:var(--link);background:var(--tint);box-shadow:inset 0 1px 3px #17263215}
body[data-context=workbench] .sidebar{background:var(--paper);border-right:1px solid #c3c7c0}
body[data-context=workbench] .patient-summary{border-bottom:3px double var(--line);background:linear-gradient(var(--paper),var(--bg));padding-bottom:18px}
body[data-context=workbench] .sidebar-tabs{gap:3px;padding:7px 8px;background:var(--bg);border-bottom:1px solid var(--line)}
body[data-context=workbench] .sidebar-tabs button{border:1px solid var(--line);border-radius:4px;padding:8px 4px;box-shadow:inset 0 1px 0 #ffffff66;background:var(--paper)}
body[data-context=workbench] .sidebar-tabs button.active{border-color:var(--teal);background:var(--tint);color:var(--link)}
body[data-context=workbench] .execution{border-top:3px double var(--line);background:var(--bg);padding-top:14px}
body[data-context=workbench] .clock{padding:12px 13px;border:1px solid #556260;border-radius:6px;background:#1b292c;box-shadow:inset 0 2px 5px #0005;color:#ebefed;margin-bottom:10px}
body[data-context=workbench] .clock>span{color:#bcc9c6}.clock strong{font-variant-numeric:tabular-nums}
body[data-context=workbench] .run-buttons>button,.vent-toolbar>button{border:8px solid transparent;border-image:url('/assets/instruments/keycap-graphite-v1.webp') 174 190 170 190 fill / 8px stretch;border-radius:6px;background:#303b3c;background-clip:padding-box;color:#f9f8f6;box-shadow:none;padding:3px 6px;min-height:44px;font-size:12px;line-height:1.5}
body[data-context=workbench] .run-buttons>button.primary,.vent-toolbar>button.primary{border-image-source:url('/assets/instruments/keycap-teal-v1.webp');background:#1e6970;color:#fff}
body[data-context=workbench] .run-buttons>button:not(:disabled):active,.vent-toolbar>button:not(:disabled):active{transform:translateY(1px);filter:brightness(.91)}
body[data-context=workbench] .run-buttons>button:disabled,.vent-toolbar>button:disabled{opacity:.42}
body[data-context=workbench] .run-options select,.vent-toolbar>select,.display-settings select{font:12px 'IBM Plex Mono',monospace;border:1px solid var(--instrument-rim);border-radius:4px;box-shadow:inset 0 1px 3px #17263218}
.clinical-monitor{border:28px solid transparent;border-image:url('/assets/instruments/monitor-bezel-graphite-v1.webp') 166 148 184 149 / 28px stretch;background-clip:padding-box;border-radius:0;box-shadow:none;overflow:visible;min-height:0}
.clinical-monitor .waveforms,.clinical-monitor .monitor-numbers,.clinical-monitor .vent-numbers{min-width:0;overflow:hidden;background:var(--monitor)}
.clinical-monitor .channel{min-height:0}.clinical-monitor .number-channel{min-width:0;padding-top:6px;padding-bottom:6px}
.clinical-monitor .number-channel strong{font-size:clamp(28px,4.8vh,58px)}
.clinical-monitor .number-channel.bp strong{font-size:clamp(22px,3.3vh,39px)}
.vent-instruments{flex:none;height:clamp(260px,37vh,460px)}
.vent-numbers .number-channel{padding:4px 9px}.vent-numbers .number-channel>span{display:flex;align-items:baseline;gap:5px;justify-content:space-between;font-size:10px}
.vent-numbers .number-channel small{display:inline;margin-top:0;font-size:8px}.vent-numbers .number-channel strong{font-size:clamp(20px,3.2vh,29px);line-height:1.2;margin-top:3px}
.clinical-monitor .channel-label{border-bottom:1px solid #c6d9d50c;padding-bottom:4px}
.clinical-monitor .channel-label h2{letter-spacing:.02em}.clinical-monitor .channel-label>span{font:10px 'IBM Plex Mono',monospace}
.clinical-monitor .number-channel>span{font-size:11px;letter-spacing:.03em}
.vent-controls{color-scheme:inherit;border:14px solid transparent;border-image:var(--instrument-bay) 160 130 157 130 fill / 14px stretch;background:var(--instrument-face);background-clip:padding-box;border-radius:0;box-shadow:none;padding:12px 14px;color:var(--instrument-ink)}
.vent-toolbar{border-bottom:1px solid var(--instrument-rim);padding-bottom:12px;gap:8px;align-items:center}
.vent-toolbar>select{background:var(--instrument-input);color:var(--instrument-ink);min-height:42px;font-weight:600;max-width:150px}
.vent-toolbar .tabs{margin-left:auto;gap:4px}.vent-toolbar .tabs button{border:1px solid var(--instrument-rim);background:var(--instrument-input);color:var(--instrument-ink);border-radius:4px;font-size:12px;min-height:38px;box-shadow:inset 0 1px 0 #fff8}
.vent-toolbar .tabs button.active{background:var(--instrument-selected);border-color:var(--teal);color:var(--instrument-accent)}
.vent-fields{--vent-layout-columns:var(--vent-field-count,6);gap:0;margin:12px 0 0;grid-template-columns:repeat(var(--vent-layout-columns),minmax(0,1fr))}
.vent-field{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 12px 8px;border:0;border-right:1px solid var(--instrument-rim);background:none;border-radius:0;min-width:0;box-shadow:none}
.vent-field:last-child{border-right:0}.vent-field>label{font:600 13px 'Public Sans',sans-serif;color:var(--instrument-ink);min-height:20px;text-align:center}
.vent-field .instrument-knob{--instrument-knob-size:clamp(64px,7.2vw,96px)}
.instrument-knob__layer{clip-path:circle(48% at 50% 50%)}
.vent-dial-range{display:flex;justify-content:space-between;width:90%;color:var(--instrument-muted);font:10px 'IBM Plex Mono',monospace;margin-top:-6px}
.vent-readout{position:relative;width:100%;max-width:136px}.vent-readout>input{width:100%;min-width:0;max-width:136px;background:#1c2c30;color:#e9eeec;border:8px solid transparent;border-image:url('/assets/instruments/readout-bezel-v1.webp') 220 220 230 220 / 8px stretch;background-clip:padding-box;border-radius:0;font:500 18px 'IBM Plex Mono',monospace;text-align:center;min-height:42px;padding:2px 3px;box-shadow:none}
.vent-readout-display{position:absolute;inset:9px 17px 9px 9px;display:grid;place-items:center;pointer-events:none;font:500 18px 'IBM Plex Mono',monospace;color:#e9eeec;background:#1c2c30;white-space:nowrap;overflow:hidden}.vent-readout:focus-within .vent-readout-display{visibility:hidden}.vent-readout>input:not(:focus){color:transparent}.vent-field>select{width:100%;max-width:136px;min-width:0;min-height:30px;border:1px solid var(--instrument-rim);border-radius:4px;background:var(--instrument-input);color:var(--instrument-ink);padding:3px 4px;font:11px 'IBM Plex Mono',monospace}
.vent-field>small{color:var(--instrument-muted);font:11px 'IBM Plex Mono',monospace;min-height:30px;display:flex;align-items:center}
.vent-field>small.vent-field-applied{font:10px/1.5 'IBM Plex Mono',monospace;color:var(--instrument-muted);min-height:20px;text-align:center;overflow-wrap:anywhere;white-space:normal}
.vent-applied{padding:10px 12px;margin:4px 0 0;border-top:1px solid var(--instrument-rim);color:var(--instrument-ink);font-size:12px;line-height:1.6}.vent-applied strong{font:12px 'IBM Plex Mono',monospace;color:var(--instrument-accent)}
.vent-extras{color:var(--instrument-ink)}.vent-extras input,.vent-extras select{background:var(--instrument-input);color:var(--instrument-ink)}
.vent-model-note{display:block;font-size:10px;line-height:1.5;margin-top:5px;color:var(--instrument-muted)}.vent-model-note a{color:var(--instrument-accent);text-decoration:underline;text-underline-offset:2px}
.vent-mobile-navigation{display:none}
.vent-connection-status{display:block;flex:none;font:11px/1.5 'IBM Plex Mono',monospace;color:var(--muted);padding:3px 8px;border-left:3px solid var(--instrument-rim)}
.source-button{width:24px;height:24px;min-width:24px;min-height:24px}
@media(max-width:560px){body[data-context=workbench] .view-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:6px 0}body[data-context=workbench] .view-status #notice{grid-column:1/-1;white-space:normal;font-size:10px;line-height:1.4}body[data-context=workbench] .view-status .display-settings{width:auto;justify-content:flex-start;min-width:0;gap:5px}body[data-context=workbench] .view-status .display-settings label{margin-right:0}body[data-context=workbench] #context-help{font-size:10px;min-height:34px;max-width:100%;padding:3px 6px}body[data-context=workbench]:has(#view-ventilator[data-mobile-pane=controls]:not([hidden])) #display-settings{display:none}body[data-context=workbench]:has(#view-ventilator[data-mobile-pane=controls]:not([hidden])) .view-status #notice{grid-column:1}.mobile-execution #mobile-play{min-height:42px}}
@media(max-width:900px){.vent-mobile-navigation{display:flex;gap:6px;flex:none;position:sticky;top:0;z-index:5;background:var(--bg);padding:5px 0}.vent-mobile-navigation button{flex:1;min-height:42px!important}.vent-mobile-navigation button[aria-pressed=true]{color:var(--instrument-accent);box-shadow:inset 0 -3px var(--teal)!important;font-weight:600}.ventilator-view[data-mobile-pane=controls]>.vent-instruments,.ventilator-view[data-mobile-pane=signals]>.vent-controls{display:none}}
body[data-context=workbench] .ve-panel{border-radius:6px;box-shadow:none}
body[data-context=workbench] .ve-panel>h2,body[data-context=workbench] .ve-panel>h3{border-bottom:1px solid var(--line);padding-bottom:10px}
body[data-context=workbench] :is(button,select,input):focus-visible{outline:3px solid var(--link);outline-offset:3px}
.vent-controls :is(button,select,input,.instrument-knob):focus-visible{outline-color:var(--instrument-accent)}
.instrument-knob>.instrument-knob__status{color:var(--instrument-ink)}
@media(min-width:901px) and (max-height:950px){.vent-instruments{height:clamp(260px,31vh,295px)}.vent-controls{padding:8px 10px;border-width:12px;border-image-width:12px}.vent-toolbar{padding-bottom:8px;margin-bottom:6px}.vent-field{gap:4px;padding:2px 10px 4px}.vent-field .instrument-knob{--instrument-knob-size:78px}.vent-field>label{font-size:12px;min-height:16px;margin-bottom:0}.vent-dial-range{font-size:9px}.vent-readout>input{min-height:38px}.vent-readout-display{font-size:17px}.vent-field>select{min-height:26px}.vent-field>small{min-height:26px}.vent-field>small.vent-field-applied{min-height:15px;font-size:9px}.vent-applied{padding:7px 9px;font-size:11px}.vent-applied small{font-size:10px;line-height:1.4}}
.instrument-knob::before{content:"";position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at center,#dad9d3,#868e8b);pointer-events:none}
@media(min-width:1800px){.vent-field .instrument-knob{--instrument-knob-size:110px}.vent-readout>input{max-width:155px}}
@media(max-width:1180px){.vent-toolbar .tabs{margin-left:0}.vent-field{padding-left:8px;padding-right:8px}.vent-readout>input{font-size:16px}.clinical-monitor{border-width:22px;border-image-width:22px}}
@media(max-width:900px){.vent-fields{--vent-layout-columns:3;row-gap:12px}.vent-field:nth-child(3n){border-right:0}.vent-fields[data-field-count="4"]{--vent-layout-columns:2}.vent-fields[data-field-count="4"] .vent-field:nth-child(3n){border-right:1px solid var(--instrument-rim)}.vent-fields[data-field-count="4"] .vent-field:nth-child(2n){border-right:0}.vent-field .instrument-knob{--instrument-knob-size:86px}.vent-controls{padding:10px 8px}.clinical-monitor{border-width:18px;border-image-width:18px}body[data-context=workbench] .main-tabs{gap:4px;min-height:52px}body[data-context=workbench] .main-tabs>button{padding-left:10px;padding-right:10px}}
@media(max-width:560px){.clinical-monitor{border-width:14px;border-image-width:14px}.clinical-monitor .channel{min-height:164px}.vent-fields{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.vent-field:nth-child(3n){border-right:1px solid var(--instrument-rim)}.vent-field:nth-child(2n){border-right:0}.vent-field .instrument-knob{--instrument-knob-size:80px}.vent-readout>input{font-size:18px;max-width:140px}.vent-controls{border-width:10px;border-image-width:10px;padding:9px 4px}.vent-toolbar>button{font-size:11px;padding-left:4px;padding-right:4px;min-height:44px}.vent-toolbar .tabs{width:100%}.vent-toolbar .tabs button{flex:1}.vent-applied{padding:10px 6px}.vent-instruments{height:auto}.vent-instruments .clinical-monitor{min-height:0}body[data-context=workbench] .main-tabs>button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.run-buttons>button,.vent-toolbar>button{transform:none!important}}

/* Paired chassis: shared machining, theme-specific materials, live labels and values. */
body[data-context=workbench] .sidebar{border:8px solid transparent;border-image:var(--instrument-panel) var(--instrument-panel-slice) / 8px stretch;background:var(--instrument-face);background-clip:padding-box;gap:0}
body[data-context=workbench] .patient-summary{border:6px solid transparent;border-image:var(--instrument-bay) 160 130 157 130 fill / 6px stretch;background:var(--instrument-face);padding:12px 8px;gap:5px}
body[data-context=workbench] .patient-summary strong{font-size:17px;color:var(--instrument-ink)}
body[data-context=workbench] .patient-summary>span:last-of-type{color:var(--instrument-muted);font-size:11px}
body[data-context=workbench] .patient-summary>button{border-radius:3px;min-height:38px;margin-top:7px}
body[data-context=workbench] .sidebar-tabs{padding:8px 0;gap:3px;background:var(--instrument-face);border-bottom:1px solid var(--instrument-rim)}
body[data-context=workbench] .sidebar-content{padding:10px 8px;background:var(--instrument-face);scrollbar-gutter:stable}
body[data-context=workbench] .execution{border-top:1px solid var(--instrument-rim);padding:12px 6px 4px;background:var(--instrument-face);color:var(--instrument-ink)}
body[data-context=workbench] .context-tabs{padding:7px 0;gap:5px;background:var(--bg);border-bottom:1px solid var(--line);min-height:58px}
body[data-context=workbench] :is(.context-tabs,.main-tabs,.sidebar-tabs)>button{border:6px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 6px stretch;border-radius:0;box-shadow:none;background:var(--instrument-face);background-clip:padding-box;color:var(--instrument-ink);padding:5px 9px;min-height:42px;font-weight:400;line-height:1.4}
body[data-context=workbench] .context-tabs>button{font-size:13px;min-height:44px}
body[data-context=workbench] .main-tabs{padding:8px 0;gap:5px;min-height:56px;border-bottom:1px solid var(--line)}
body[data-context=workbench] .main-tabs>button{font-size:12px}
body[data-context=workbench] .sidebar-tabs>button{font-size:10px;min-height:37px;padding:4px 1px;border-width:5px;border-image-width:5px;white-space:normal}
body[data-context=workbench] :is(.context-tabs,.main-tabs,.sidebar-tabs)>button:is([aria-selected=true],.active){font-weight:600;color:var(--instrument-accent);box-shadow:inset 0 -3px var(--teal);background:var(--instrument-selected)}
body[data-context=workbench] :is(.context-tabs,.main-tabs,.sidebar-tabs)>button:hover:not(:disabled){filter:brightness(.97)}
html[data-theme=dark] body[data-context=workbench] :is(.context-tabs,.main-tabs,.sidebar-tabs)>button:hover:not(:disabled){filter:brightness(1.13)}
body[data-context=workbench] .context-tabs>button.primary{border-image-source:url('/assets/instruments/keycap-teal-v1.webp');border-image-slice:174 190 170 190;background:#1e6970;color:#fff;font-weight:600}
body[data-context=workbench] .content-view{border:8px solid transparent;border-image:var(--instrument-panel) var(--instrument-panel-slice) / 8px stretch;background:var(--instrument-face);background-clip:padding-box;border-radius:0}
body[data-context=workbench] :is(.module-card,.form-section,.field-card){border:7px solid transparent;border-image:var(--instrument-panel) var(--instrument-panel-slice) / 7px stretch;border-radius:0;background:var(--instrument-input);background-clip:padding-box;box-shadow:none;padding:12px;min-width:0}
body[data-context=workbench] .side-pane .module-card{border:0;background:transparent;padding:0}
body[data-context=workbench] :is(.side-pane,.content-view,.run-options,.display-settings) :is(select,input:not([type=checkbox]):not([type=radio]),textarea){border:6px solid transparent;border-image:var(--instrument-socket) var(--instrument-socket-slice) / 6px stretch;border-radius:0!important;background:var(--instrument-input);background-clip:padding-box;color:var(--instrument-ink);box-shadow:none;min-height:36px;padding:4px 6px;line-height:1.4}
body[data-context=workbench] :is(select,input,textarea) option{background:var(--instrument-input);color:var(--instrument-ink)}
body[data-context=workbench] .side-pane details{border-radius:0;border:1px solid var(--instrument-rim);background:var(--instrument-input);margin-bottom:8px}
body[data-context=workbench] .side-pane details>summary{border:5px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 5px stretch;background:var(--instrument-face);color:var(--instrument-ink);padding:6px 7px;min-height:38px}
body[data-context=workbench] .side-pane details[open]>summary{color:var(--instrument-accent);box-shadow:inset 0 -2px var(--teal)}
body[data-context=workbench] :is(.module-toolbar,.form-actions,.ve-toolbar,.graph-card-tools)>button{border:5px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 5px stretch;border-radius:0!important;background:var(--instrument-face);color:var(--instrument-ink);box-shadow:none;padding:5px 8px;min-height:34px;font-size:12px}
body[data-context=workbench] :is(.module-toolbar,.form-actions,.ve-toolbar)>button.primary{border-image-source:url('/assets/instruments/keycap-teal-v1.webp');border-image-slice:174 190 170 190;background:#1e6970;color:#fff}
body[data-context=workbench] .graphs-header{padding:4px 0 12px;min-height:50px}
body[data-context=workbench] .graphs-header>button,body[data-context=workbench] .graph-options>summary{border:6px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 6px stretch;border-radius:0;background:var(--instrument-face);color:var(--instrument-ink);padding:5px 9px;min-height:38px;font-size:12px}
body[data-context=workbench] .graphs-workspace .graph-card{border:10px solid transparent;border-image:var(--instrument-plot-frame) var(--instrument-plot-slice) / 10px stretch;border-radius:0!important;background:var(--reading);background-clip:padding-box;box-shadow:none;padding:10px;min-height:285px}
body[data-context=workbench] .graph-card .graph-reading{color:var(--instrument-accent)}
body[data-context=workbench] .graph-card .ve-plot .trace{stroke:var(--instrument-accent)}
body[data-context=workbench] .graph-card .ve-plot svg{background:var(--reading)}
body[data-context=workbench] .instrument-catalog{border:8px solid transparent;border-image:var(--instrument-panel) var(--instrument-panel-slice) / 8px stretch;border-radius:0!important;background:var(--instrument-face);background-clip:padding-box;padding:10px}
body[data-context=workbench] .instrument-catalog :is(.catalog-domain-nav,.catalog-group-nav) button{border:5px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 5px stretch;border-radius:0!important;background:var(--instrument-face);color:var(--instrument-ink);box-shadow:none;min-height:36px;padding:5px 6px!important;margin-bottom:3px;font-size:11px}
body[data-context=workbench] .instrument-catalog nav button[aria-pressed=true]{color:var(--instrument-accent);background:var(--instrument-selected);box-shadow:inset 3px 0 var(--teal);font-weight:600}
body[data-context=workbench] .instrument-catalog .catalog-navigation{overflow-x:hidden}
body[data-context=workbench] .instrument-catalog :is(.catalog-domain-nav,.catalog-group-nav) button>span{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
body[data-context=workbench] .instrument-catalog .catalog-properties{background:var(--instrument-input);border:1px solid var(--instrument-rim);padding:10px}
body[data-context=workbench] .instrument-catalog .catalog-property-row{color:var(--instrument-ink);border-bottom-color:var(--line)}
body[data-context=workbench] .instrument-catalog .graph-selection{padding:12px 4px 3px;color:var(--instrument-ink)}
body[data-context=workbench] .modifier-bank .modifier-group{border:7px solid transparent;border-image:var(--instrument-panel) var(--instrument-panel-slice) / 7px stretch;border-radius:0;background:var(--instrument-input);background-clip:padding-box;overflow:visible}
body[data-context=workbench] .modifier-bank .modifier-group-heading{border:5px solid transparent;border-image:var(--instrument-selector) var(--instrument-selector-slice) fill / 5px stretch;background:var(--instrument-face);padding:5px 7px;color:var(--instrument-ink);min-height:38px}
body[data-context=workbench] .modifier-bank .modifier-group .structured-field{padding:8px 0}
body[data-context=workbench] .modifier-bank .modifier-group .field-technical{color:var(--instrument-muted)}
body[data-context=workbench] .modifier-bank .applied{background:var(--instrument-selected)}
html[data-theme=dark] .instrument-knob::before{background:radial-gradient(circle at center,#35484b,#1a292d)}
html[data-theme=dark] .vent-field>select{background:var(--instrument-input);color:var(--instrument-ink)}
html[data-theme=dark] .vent-toolbar .tabs button{box-shadow:inset 0 1px 0 #fff1}
@media(max-width:900px){body[data-context=workbench] .sidebar{border-width:6px;border-image-width:6px}body[data-context=workbench] .content-view{border-width:6px;border-image-width:6px}body[data-context=workbench] .main-tabs>button{padding:5px 7px}body[data-context=workbench] .context-tabs>button{font-size:12px}}
@media(max-width:560px){body[data-context=workbench] .content-view{border-width:4px;border-image-width:4px}body[data-context=workbench] .graphs-workspace .graph-card{border-width:8px;border-image-width:8px;padding:8px}body[data-context=workbench] .instrument-catalog{padding:8px;border-width:6px;border-image-width:6px}body[data-context=workbench] .modifier-bank .modifier-group{border-width:5px;border-image-width:5px}body[data-context=workbench] .context-tabs{min-height:54px}body[data-context=workbench] .context-tabs>button{min-height:42px;padding:4px 7px}body[data-context=workbench] :is(.content-view,.side-pane) :is(select,input:not([type=checkbox]):not([type=radio])){min-height:40px}}

/* The signal surface has its own space; setting controls no longer compress it. */
@media(min-width:901px){
  .ventilator-view{--vent-canvas-min-height:115px;--vent-signal-min-height:510px;gap:8px;overflow:auto}
  .ventilator-view>.vent-instruments{height:var(--vent-signal-min-height);min-height:var(--vent-signal-min-height);flex:none}
  .vent-instruments>.clinical-monitor{height:100%;border-width:22px;border-image-width:22px}
  .vent-instruments .waveforms{grid-template-rows:repeat(3,minmax(0,1fr))}
  .vent-instruments .channel{min-height:calc(var(--vent-canvas-min-height) + 35px);padding:8px 10px 5px}
  .vent-instruments .channel canvas{height:0;flex:1 1 0;min-height:var(--vent-canvas-min-height)}
  .vent-instruments .channel-label{height:20px;min-height:20px}
  .vent-controls{border-width:10px;border-image-width:10px;padding:8px 10px}
  .vent-controls .vent-toolbar{gap:6px;padding-bottom:8px;margin-bottom:6px}
  .vent-controls .vent-field{padding:3px 8px 5px;gap:4px}
  .vent-controls .vent-field .instrument-knob{--instrument-knob-size:72px}
  .vent-controls .vent-field>label{font-size:12px;min-height:18px;margin-bottom:0}
  .vent-controls .vent-dial-range{font-size:10px;margin-top:-4px}
  .vent-controls .vent-readout>input{min-height:38px;font-size:17px}
  .vent-controls .vent-readout-display{font-size:17px}
  .vent-controls .vent-field>select{min-height:30px;font-size:11px}
  .vent-controls .vent-field>small{min-height:24px;font-size:11px}
  .vent-controls .vent-field>small.vent-field-applied{min-height:16px;font-size:10px;line-height:1.5}
  .vent-controls .vent-applied{font-size:11px;padding:8px 6px;margin-top:5px}
}
@media(min-width:901px) and (min-height:900px){
  .ventilator-view{--vent-canvas-min-height:145px;--vent-signal-min-height:600px}
}
@media(min-width:1280px){
  .ventilator-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(292px,320px);grid-template-rows:auto minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:stretch}
  .ventilator-view>.vent-connection-status{grid-column:1/-1;grid-row:1;margin:0}
  .ventilator-view>.vent-instruments{grid-column:1;grid-row:2;height:100%;min-height:var(--vent-signal-min-height);min-width:0}
  .ventilator-view>.vent-controls{grid-column:2;grid-row:2;height:100%;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .vent-instruments>.clinical-monitor{grid-template-columns:minmax(0,1fr) 220px}
  .vent-instruments [data-vent-value=ie]{font-size:clamp(17px,2.4vh,21px)}
  .vent-controls .vent-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .vent-controls .vent-toolbar>select{min-width:0;width:100%;max-width:none}
  body[data-context=workbench] .vent-controls .vent-toolbar>button{font-size:11px;line-height:1.4;min-height:42px;padding:4px 5px;white-space:normal;overflow-wrap:anywhere}
  .vent-controls .vent-toolbar>.tabs{grid-column:1/-1;margin:0;width:100%;display:flex}
  .vent-controls .vent-toolbar>.tabs button{flex:1;min-height:36px;white-space:normal;font-size:11px}
  .vent-controls .vent-fields{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;margin-top:10px}
  .vent-controls .vent-field:nth-child(2n){border-right:0}
  .vent-controls .vent-field:nth-child(odd){border-right:1px solid var(--instrument-rim)}
  .vent-controls .vent-field:last-child{border-right:0}
  .vent-controls .vent-field .instrument-knob{--instrument-knob-size:76px}
  .vent-controls .vent-readout{max-width:126px}
  .vent-controls .vent-extras{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
  .vent-controls .vent-extras>label{min-width:0;width:100%}
}
@media(max-width:900px){
  .ventilator-view>.vent-instruments{height:auto;min-height:0}
  .vent-instruments .channel canvas{height:0;flex:1 1 0;min-height:120px}
  .vent-instruments .channel{min-height:156px}
}

/* Lists and forms keep readable labels while their technical identifiers wrap. */
body[data-context=workbench] .sidebar-content{min-width:0}
body[data-context=workbench] .side-pane summary{white-space:normal;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body[data-context=workbench] .side-pane :is(.technical,.field-technical,code){overflow-wrap:anywhere;word-break:normal}
body[data-context=workbench] .side-pane .structured-note{font-size:12px;line-height:1.6}
body[data-context=workbench] .side-pane .input-unit{min-width:0;gap:4px}
body[data-context=workbench] .side-pane .input-unit input{flex:1;min-width:0;font-size:13px}
body[data-context=workbench] .side-pane .input-unit .field-unit{width:82px;max-width:82px;flex:none;font-size:11px;padding-inline:4px}
body[data-context=workbench] .medication-tabs{gap:6px;flex-wrap:wrap}
body[data-context=workbench] .medication-tabs button{white-space:normal;line-height:1.5;min-height:40px}
body[data-context=workbench] .medication-forms :is(.structured-note,.applied-values){line-height:1.6;overflow-wrap:anywhere}
body[data-context=workbench] .aerosol-list>div{min-width:0;gap:8px}
body[data-context=workbench] .aerosol-list code{min-width:0;overflow-wrap:anywhere;line-height:1.6}
body[data-context=workbench] .aerosol-list button{flex:none}
