/* PFD Műhely 1.4 — presentation layer; exports keep their light engineering sheets. */
body.studio-theme{color-scheme:dark;background:#0a1722;color:#dce9f5;font-family:"Segoe UI",Inter,-apple-system,BlinkMacSystemFont,sans-serif;--green:#238eea;--ink:#e0ecf9;--muted:#a2b9cd;--border:#2b4357;--soft:#172b3b;--red:#ff637c;--state-on:#3fe78b;--state-off:#9aafc1;--state-fault:#ff5574;--state-emergency:#c371ff}
.studio-shell{--surface:#142535;--raised:#1d3346;--stroke:#344e63;--blue:#349dff;--cyan:#42cce8;--bright-green:#4beb93;display:grid!important;grid-template-columns:212px minmax(0,1fr)!important;grid-template-rows:76px minmax(0,1fr);min-height:100vh;font-size:14px;background:radial-gradient(ellipse at 70% 0,#19304360,transparent 65%),#0a1722;color:#dce9f5}
.studio-shell *{scrollbar-color:#426079 #101e2b;scrollbar-width:thin}
.studio-shell button,body.studio-theme dialog button{background:linear-gradient(#263e51,#1b2e3e);border:1px solid #38566e;border-radius:7px;color:#dfedfa;font-size:14px;min-height:36px;line-height:1.35;box-shadow:inset 0 1px #ffffff07;transition:background .15s,border-color .15s}
.studio-shell button:hover,body.studio-theme dialog button:hover{background:#2b4b63;border-color:#6890af}
.studio-shell button:disabled,body.studio-theme dialog button:disabled{opacity:.43}
.studio-shell .primary,body.studio-theme dialog .primary{background:linear-gradient(120deg,#248ffa,#1673ce);border-color:#409efa;color:white;box-shadow:0 3px 14px #0387ff15}
.studio-shell .primary:hover,body.studio-theme dialog .primary:hover{background:#2c9aff}
.studio-shell .danger,body.studio-theme dialog .danger{color:#ff8095;border-color:#895363;background:#3c2432}
.studio-shell .subtle{background:transparent;border-color:transparent;box-shadow:none;color:#a7c2d9}
.studio-shell button svg{height:18px;width:18px}.studio-shell button:focus-visible,.studio-shell a:focus-visible,body.studio-theme dialog :focus-visible{outline:2px solid #73c9ff;outline-offset:3px}
.studio-shell input,.studio-shell textarea,.studio-shell select,body.studio-theme dialog input,body.studio-theme dialog textarea,body.studio-theme dialog select{background:#102332;color:#e1eefb;border:1px solid #3b566b;border-radius:6px;font-size:14px;min-height:36px;padding:8px 10px;accent-color:#2c9efa;max-width:100%}
.studio-shell input:focus,.studio-shell select:focus,.studio-shell textarea:focus,body.studio-theme dialog input:focus{outline:none;border-color:#50b4ff;box-shadow:0 0 0 3px #329aff1a}
.studio-shell input[type=checkbox],body.studio-theme dialog input[type=checkbox]{min-height:16px;width:16px;height:16px;padding:0;flex:none;accent-color:#3ede88}
.studio-shell .studio-top{grid-column:1/-1;display:flex;height:76px;padding:10px 18px;gap:18px;background:linear-gradient(110deg,#142838,#0c1b28);border-bottom:1px solid #32485b;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0002}
.studio-brand{display:flex;align-items:center;gap:12px;min-width:220px}.studio-brand .nav-toggle{background:none;border:0;padding:5px;min-height:34px;width:30px;box-shadow:none;color:#b4cbdf}.studio-brand strong{font-size:22px;letter-spacing:-.6px;color:#e1efff;white-space:nowrap;font-weight:600}.studio-brand small{display:block;font-size:12px;color:#a8bed1;margin-top:3px}.studio-shell .version-pill{font-size:12px;background:#263a4d;border:1px solid #425469;color:#e2edfc;margin-left:7px;padding:3px 5px;vertical-align:middle;letter-spacing:0}
.studio-project{min-width:130px;flex:1;max-width:510px;background:#20354988;padding:8px 12px;border-radius:6px;display:flex;flex-direction:column;gap:4px;border:1px solid #324b6022}.studio-project b{font-size:14px;color:#f0f6ff;font-weight:600}.studio-project span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#c0d4e6}
.studio-saved{display:flex;align-items:center;gap:8px;color:#acd0bd;font-size:12px;white-space:nowrap}.studio-saved>svg{width:22px;height:22px;stroke:#50e58d;fill:none;stroke-width:1.5}.studio-saved small{display:block;font-size:11px;color:#8eaac1;margin-top:3px}.studio-saved.save-error{color:#ff8194}.studio-shell .top-actions{gap:6px;margin-left:auto;flex:none}.studio-shell .top-actions button{background:transparent;border-color:transparent;box-shadow:none;padding:7px 8px;font-size:13px;color:#c4d9ed}.studio-shell .top-actions button:last-child{border-color:#3b5c79;background:#1d3750;color:#e6f3ff}.studio-shell .top-actions .redo svg{transform:scaleX(-1)}
.studio-sidebar{grid-column:1;grid-row:2;background:linear-gradient(125deg,#192c3c,#10202e);border-right:1px solid #2b4357;padding:14px 10px 18px;display:flex;flex-direction:column;position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto;gap:24px}.studio-modes{display:flex;flex-direction:column;gap:6px}.studio-modes button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:80px;padding:13px 8px;border:1px solid transparent;background:transparent;text-align:left;color:#d4e5f4;box-shadow:none}.studio-modes button.active{background:linear-gradient(120deg,#198cf5,#228efa);border-color:#6cbbff;box-shadow:0 3px 12px #0003;color:#fff}.mode-number{display:grid;place-items:center;font-size:23px;color:#e2f0fe;border:1px solid #9dc2e51a;background:linear-gradient(135deg,#385063,#1a2d3f);width:42px;height:42px;border-radius:50%;flex:none;box-shadow:inset 0 1px #d4e8ff22}.studio-modes b{display:block;font-size:14px;font-weight:600;line-height:1.5}.studio-modes small{display:block;font-size:12px;line-height:1.4;color:#b8cfe2;margin-top:3px}.studio-modes .active small{color:#ebf6ff}.sidebar-group{display:flex;flex-direction:column;gap:5px}.sidebar-group h2{font-size:13px;font-weight:600;color:#91b1cf;margin:0 10px 8px}.sidebar-group button{font-size:14px;justify-content:flex-start;text-align:left;background:none;border-color:transparent;padding:8px 10px;color:#bed4e7;min-height:40px;gap:12px;box-shadow:none}.sidebar-group button.active{background:linear-gradient(90deg,#294f75,#244566);border-color:#355f84;color:white}.sidebar-group button svg{color:#a3c9ef}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border:1px solid #355165;border-radius:8px;padding:16px 10px;background:linear-gradient(145deg,#173951,#0b1c2a)}.sidebar-bottom>svg{height:30px;width:30px;color:#40c3ff;stroke:currentColor;fill:none;stroke-width:1.4}.sidebar-bottom strong{font-size:14px;font-weight:500;display:block}.sidebar-bottom small{font-size:11px;display:block;line-height:1.65;color:#96b5cc;margin-top:3px}
.studio-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)!important}.sidebar-collapsed .nav-text,.sidebar-collapsed .sidebar-group h2{display:none}.sidebar-collapsed .studio-modes button{padding:10px 4px;min-height:65px}.sidebar-collapsed .sidebar-group button{justify-content:center}.sidebar-collapsed .sidebar-bottom{padding:12px 7px}.studio-shell>.main{grid-column:2;grid-row:2;min-width:0}.studio-shell .page{max-width:none;margin:0;padding:12px 12px 0}.studio-shell .footer{border:0;padding:14px 4px;margin:0;gap:16px;font-size:11px;color:#7f9db8;display:flex;justify-content:space-between;line-height:1.5}.studio-shell .footer b{font-weight:500;color:#9cb8d0}
.studio-shell .workspace-heading{display:flex;justify-content:space-between;align-items:center;margin:6px 4px 20px;gap:20px}.workspace-heading h1{font-size:24px;margin:0 0 6px;color:#e5f2ff;letter-spacing:-.5px;font-weight:600}.workspace-heading p{color:#9cb8cf;margin:0;font-size:14px}.project-label{font-size:13px;color:#7f9fb9;white-space:nowrap}
.studio-shell .studio-card{background:linear-gradient(135deg,#182d3e,#112330);border:1px solid #314c61;box-shadow:inset 0 1px #b4d4e509,0 4px 12px #0001;border-radius:10px;min-width:0;overflow:hidden}.studio-card-heading{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-bottom:1px solid #2d4559;background:linear-gradient(115deg,#1c3346,#142737)}.studio-card-heading h1,.studio-card-heading h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.1px;color:#e5f0ff;display:flex;align-items:center;gap:10px}.studio-card-heading h1{font-size:19px}.studio-card-heading h2>svg{width:20px;height:20px;stroke:#b1d7fa;stroke-width:1.6;fill:none}.studio-card-heading>span{font-size:12px;color:#94afc6}.heading-title{display:flex;align-items:center;gap:12px}.heading-icon{width:36px;height:36px;border:1px solid #4acdba;border-radius:6px;background:linear-gradient(135deg,#23ad7c,#116c61);display:grid;place-items:center;color:#ecfffc;box-shadow:0 0 20px #25d89512}.heading-icon svg{height:24px;width:24px;stroke:currentColor;fill:none;stroke-width:1.3}.studio-shell .live-running{font-size:12px;color:#9bc0d9;display:block;margin-top:4px}.studio-zoom{display:flex;align-items:center;background:#102231;border:1px solid #355269;border-radius:7px;overflow:hidden;flex:none}.studio-zoom button{border:0!important;border-radius:0;background:none;box-shadow:none;padding:6px 8px}.studio-zoom button+button{border-left:1px solid #2c4155!important}.studio-zoom>span{font-size:13px;color:#d7e6f5;min-width:58px;text-align:center;border-left:1px solid #2c4155}
.studio-shell .live-simulation.studio-dashboard{border:0;background:none;border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:12px;overflow:visible}.studio-shell .live-canvas{grid-column:1;display:flex;flex-direction:column;min-width:0}.studio-shell .live-board-wrap{min-height:640px!important;flex:1;position:relative;background:linear-gradient(90deg,#0d1e2b,#0a1b27);background-image:linear-gradient(#24435825 1px,transparent 1px),linear-gradient(90deg,#24435825 1px,transparent 1px);background-size:22px 22px;margin:6px;border:1px solid #233d52;border-radius:6px;overflow:hidden}.diagram-legend{position:absolute;top:12px;right:12px;background:#112535f0;border:1px solid #365265;border-radius:7px;padding:10px 12px;font-size:12px;color:#b4cde2;display:flex;flex-direction:column;gap:8px;pointer-events:none;box-shadow:0 4px 12px #0002}.diagram-legend span{display:flex;align-items:center;gap:10px}.legend-stroke{display:inline-block;width:26px;height:5px;border-radius:3px}.legend-stroke.on{background:#45e382;box-shadow:0 0 7px #3fea8040}.legend-stroke.off{background:linear-gradient(#d3e0ed,#72899b)}.legend-stroke.fault{background:#ff627e}.legend-stroke.emergency{background:#b267ed}.legend-stroke.flow{height:3px;background:repeating-linear-gradient(90deg,#66f195 0 6px,transparent 6px 9px)}.diagram-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 13px;color:#7fa3bf;font-size:12px}.diagram-foot>span{display:flex;align-items:center;gap:7px}.diagram-foot svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4}.studio-shell .live-safety{padding:10px 12px;border-top:1px solid #30495b;gap:8px;background:#122431}.studio-shell .live-safety button{font-size:12px;padding:7px 10px;min-height:32px}.studio-shell .live-safety span{font-size:12px;color:#92aec2;flex:1;min-width:130px}
.studio-operations{grid-column:2;display:flex;flex-direction:column;gap:12px;min-width:0}.studio-shell .simulation-card{padding:12px;display:grid;grid-template-columns:148px minmax(0,1fr);gap:12px;align-items:start}.simulation-clock h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;margin:0 0 16px;color:#e0edfd}.simulation-clock h2 svg{width:19px;height:19px;stroke:#aecbeb;fill:none;stroke-width:1.6}.simulation-clock time{font:600 24px "Segoe UI",sans-serif;color:#f1f6ff;display:block;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.3px}.simulation-clock .sim-controls{margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.simulation-clock .sim-controls button{font-size:12px;min-height:31px;padding:6px}.simulation-clock .sim-controls .primary{grid-column:1/-1}.speed-label{font-size:12px;color:#b6cde1;display:block;margin:13px 0 6px}.simulation-clock select{width:100%;font-size:13px;min-height:32px;padding:5px 8px}
.studio-shell #live-alarms .alarm-metrics{margin:0;padding:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:stretch;gap:6px;border-radius:0;box-shadow:none}.studio-shell #live-alarms .alarm-total{display:flex;flex-wrap:wrap;align-items:center;color:#cce0f0;font-size:12px;gap:6px;flex-basis:auto;min-height:26px;min-width:0}.studio-shell #live-alarms .alarm-total strong{color:#e8f4ff;margin-left:auto;margin-right:0}.studio-shell #live-alarms .alarm-indicator{background:#152a3b;border:1px solid #31475b;border-radius:6px;flex:none;min-width:0;gap:6px;padding:6px 8px}.studio-shell #live-alarms .alarm-indicator>span:last-child{flex:1;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;font-size:11px;color:#c9ddef}.studio-shell #live-alarms .alarm-indicator strong{font-size:10px;letter-spacing:0;border-radius:4px;background:#294253;padding:4px 5px;color:#c9deee;font-weight:500}.studio-shell #live-alarms .alarm-indicator .alarm-beacon{width:18px;height:18px;min-width:18px;background:none;border:0;box-shadow:none;color:#aec8dc}.studio-shell #live-alarms .alarm-on{border-color:#794353;background:#392432}.studio-shell #live-alarms .alarm-on strong{background:#733347;color:#fff}.studio-shell #live-alarms .alarm-on .alarm-beacon{color:#ff6e86}.studio-shell #live-alarms .emergency-indicator.alarm-on{background:#34213f;border-color:#9857bb}.studio-shell #live-alarms .emergency-indicator .alarm-beacon{color:#c17bec}.studio-shell #live-alarms button{font-size:12px;min-height:34px;margin:3px 0 0;padding:6px}.studio-shell #live-alarms .alarm-sources{display:block;flex:auto;width:100%;padding:9px 0 0;margin-top:4px;border-top:1px solid #3b4d5d;max-height:190px;overflow:auto;color:#b4cadd}.studio-shell .alarm-sources>p{font-size:11px;color:#8eabc1;margin-bottom:8px}.studio-shell .alarm-source-groups{display:block}.studio-shell .alarm-source-groups>div{margin-top:9px}.studio-shell .alarm-source-groups strong{font-size:12px;color:#d6e6f5}.studio-shell .alarm-source-groups ul{font-size:12px;color:#b8cedf;padding-left:14px;line-height:1.5}.studio-shell .alarm-source-groups b{color:#d7e9f7}.studio-shell #live-alarms .alarm-sources strong{margin:0;letter-spacing:0}
.studio-shell .process-section{flex:1}.studio-shell .live-processes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;max-height:790px;overflow:auto;background:transparent;border:0;align-items:start}.studio-shell .live-processes .process-card{min-width:0;margin:0;padding:12px 10px;display:flex;flex-direction:column;border-radius:9px;border:1px solid #386458;background:linear-gradient(135deg,#163d37,#152c32);box-shadow:inset 0 1px #b4ffd110;min-height:100%;gap:0}.studio-shell .live-processes .process-demand{border-color:#2e6ea4;background:linear-gradient(135deg,#183c5a,#172b3e)}.studio-shell .compact-process .process-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:0 0 12px}.studio-shell .process-index{display:none}.studio-shell .compact-process .process-index{display:grid;place-items:center;width:34px;height:37px;border-radius:7px;background:linear-gradient(135deg,#55f794,#24ae70);color:#052921;font-size:16px;font-weight:700;flex:none;border:1px solid #72e8a5}.studio-shell .process-demand .process-index{background:linear-gradient(135deg,#57c9ff,#258de0);border-color:#70c4ff;color:#092c4b}.studio-shell .compact-process .process-heading>div{min-width:0;flex:1}.studio-shell .compact-process .process-heading .eyebrow{display:none}.studio-shell .compact-process .process-heading h2{font-size:14px;font-weight:600;line-height:1.5;margin:0;color:#eff8ff;letter-spacing:0}.studio-shell .compact-process .process-heading>.state-chip{font-size:12px;letter-spacing:0;border-radius:20px;padding:5px 8px;max-width:100%;margin-left:auto;text-align:center}.studio-shell .state-chip.state-on{background:#47d790;color:#073329;border-color:#54e696}.studio-shell .state-chip.state-off{background:#a9bdcf;color:#142d40;border-color:#b7cce0}.studio-shell .state-chip.state-fault{background:#812f47;color:#ffe5ed;border-color:#dc5c7a}.studio-shell .state-chip.state-emergency{background:#723c9c;color:#f5e7ff;border-color:#bb7cec}.studio-shell .compact-process .control-row{flex-direction:column;gap:6px;align-items:stretch;margin:0 0 8px;font-size:12px;color:#c9e1ef}.studio-shell .compact-process .flow-mode{font-size:12px;color:#b1cedf;text-align:left}.studio-shell .field>span{color:#aac2d7;font-size:14px;margin-bottom:6px}.studio-shell .compact-process .field{margin:0}.studio-shell .compact-process .field>span{font-size:12px;color:#b9d4d7}.studio-shell .compact-process .field select{font-size:12px;padding:6px;min-height:31px;background:#193e3c;border-color:#42675f}.studio-shell .compact-process .input-switches{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:9px 0}.studio-shell .compact-process .signal-toggle{font-size:12px;min-height:32px;padding:6px;display:flex;flex-wrap:wrap;gap:5px;background:#184138;border-color:#36664f;color:#bcdec9}.studio-shell .compact-process .signal-toggle b{font-size:12px;white-space:normal}.studio-shell .compact-process .signal-toggle.state-on{color:#65f79c;border-color:#3c945c}.studio-shell .compact-process .signal-toggle.state-off{color:#ffcc87;background:#3b3525;border-color:#766644}.studio-shell .night-check,.studio-shell .check-field{color:#bcd1e2;font-size:14px}.studio-shell .compact-process .night-check{font-size:12px}.studio-shell .compact-process .sequence-strip{padding:9px 7px;gap:6px;display:flex;flex-direction:column;background:#174037;border:1px solid #285f4c;border-radius:6px;color:#abc9bd;margin-bottom:10px;font-size:12px}.studio-shell .compact-process .sequence-strip span{font-size:12px;line-height:1.5;white-space:normal}.studio-shell .compact-process .sequence-strip b{font-size:11px;background:#264e42;color:#bad5c8;margin-right:5px}.studio-shell .compact-process .sequence-strip .current{color:#67fb9e;background:none}.studio-shell .compact-process .pump-pair{grid-template-columns:1fr;gap:5px;margin:8px 0}.studio-shell .compact-process .pump-pair button{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;border-color:#3c5c74;gap:5px;padding:7px;font-size:12px;background:#213c50;color:#c5d9e8;min-height:33px}.studio-shell .compact-process .pump-pair button strong{font-size:12px;color:inherit}.studio-shell .compact-process .pump-pair button span{font-size:11px;color:inherit}.studio-shell .compact-process .pump-pair .state-on{background:#164f40;color:#62eea1;border-color:#36a876}.studio-shell .compact-process .pump-pair .selected{box-shadow:inset 2px 0 #4ea9ed}.studio-shell .compact-process .drain-state{display:flex;flex-direction:column;gap:7px;background:none;border:0;margin:8px 0;color:#acc7dd;font-size:12px;padding:0}.studio-shell .compact-process .drain-state b{color:#d7eafa;font-weight:500}.studio-shell .compact-process .start-reasons{padding:8px;background:#0f293580;border:1px solid #2d536b;margin:10px 0;border-radius:6px;font-size:12px;line-height:1.5}.studio-shell .compact-process .start-reasons strong{font-size:12px;color:#b7d0dc;font-weight:500}.studio-shell .compact-process .start-reasons ul{padding-left:14px;margin:6px 0;font-size:12px}.studio-shell .compact-process .start-reasons .small{font-size:11px;padding:4px;min-height:25px;margin-top:5px}.studio-shell .compact-process .start-reasons.ready{border-color:#2d6751;color:#88d9ac}.studio-shell .compact-process .start-reasons.ready strong{color:#95d8b0}.studio-shell .compact-process .start-reasons.needs-attention{border-color:#856238;background:#463728;color:#f1d39e}.studio-shell .compact-process .start-reasons.needs-attention strong{color:#ffe3b2}.studio-shell .compact-process .start-reasons p{font-size:12px;margin:5px 0 0;line-height:1.5;color:inherit}.studio-shell .compact-process .process-actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:6px;padding-top:8px}.studio-shell .compact-process .process-actions button{font-size:12px;min-height:37px;padding:7px;line-height:1.4;white-space:normal}.studio-shell .process-fill .process-actions .primary{background:linear-gradient(120deg,#57ed91,#24b972);border-color:#5aea9e;color:#073a29;font-weight:700}.studio-shell .compact-process .process-actions .subtle{min-height:28px;font-size:12px}.studio-shell .compact-process .error-note,.studio-shell .compact-process .config-note{padding:8px;font-size:12px;line-height:1.5;border-radius:5px}.studio-shell .compact-process .outlet-controls{padding:8px 0;margin:8px 0;border-color:#3b5a6f}.studio-shell .compact-process .outlet-controls h3{font-size:13px}.studio-shell .compact-process .outlet-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;border-color:#2a4c62;font-size:12px}.studio-shell .compact-process .outlet-row button{font-size:12px;padding:7px;min-height:31px}.studio-shell .compact-process .outlet-row small{color:#96b7d0}.studio-shell .compact-process .outlet-row strong{font-size:12px;color:#c3dded}
.studio-shell .studio-bottom{grid-column:1/-1;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(400px,1.4fr);gap:12px}.studio-shell .live-levels{padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;border:0;flex:none}.tank-readout{border:1px solid #304c60;border-radius:7px;padding:12px;background:linear-gradient(120deg,#102534,#122836);min-width:0}.tank-readout h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#dfedfb;line-height:1.45}.tank-readout h3 span{font-size:12px;color:#a9c2d7;font-weight:400}.tank-readout-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tank-gauge{width:90px;height:90px;border-radius:50%;background:conic-gradient(var(--gauge-color) var(--level),#294253 0);padding:7px;flex:none;box-shadow:0 0 20px #43bcb614;transform:rotate(-50deg)}.tank-gauge>span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:radial-gradient(#1f394b,#112534);box-shadow:inset 0 0 12px #0004;transform:rotate(50deg);font-size:22px;font-weight:600;color:#edf8ff;font-variant-numeric:tabular-nums}.tank-gauge small{font-size:14px}.tank-readout dl{margin:0;flex:1;min-width:115px;display:flex;flex-direction:column;gap:8px;font-size:12px}.tank-readout dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.tank-readout dt{color:#9cbbd3}.tank-readout dd{margin:0;color:#d8edfb;font-variant-numeric:tabular-nums}.tank-readout .ok-text{color:#54e991}.tank-readout .alarm-text{color:#ff7193}.tank-readout>p{margin:10px 0 0;font-size:12px;color:#b3cde0;display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between}.tank-readout>p span{font-size:11px;color:#789cb6}.tank-readout.readout-alarm{border-color:#97475e}.studio-shell .live-log .studio-card-heading select{font-size:12px;min-height:30px;padding:5px 8px;max-width:210px}.studio-timeline{max-height:230px;min-height:192px;overflow:auto;padding:7px 12px;background:#0c202e88}.studio-event{display:grid;grid-template-columns:7px 65px minmax(64px,.45fr) minmax(120px,2fr);gap:10px;align-items:baseline;color:#bdd0e1;font-size:12px;line-height:1.55;padding:6px 0;border-bottom:1px solid #23405255;overflow-wrap:anywhere}.studio-event i{height:6px;width:6px;align-self:start;margin-top:6px;border-radius:50%;background:#49affb}.studio-event time{font-size:12px;color:#8faec6;font-variant-numeric:tabular-nums;white-space:nowrap}.studio-event b{color:#d4e9fb;font-weight:500}.studio-event.event-error i{background:#ff657e}.studio-event.event-warning i{background:#edb458}.studio-event.event-success i{background:#48df9a}.studio-empty{color:#94adc3;font-size:14px;line-height:1.6;margin:16px;padding:10px}
.studio-shell .live-wide{grid-template-columns:1fr}.studio-shell .live-wide .studio-operations{display:none}.studio-shell .live-wide .live-board-wrap{min-height:700px!important}.studio-shell .live-wide .studio-bottom{grid-column:1}.studio-shell .live-details{margin-top:12px;padding:16px;background:#132939;color:#bad2e6;border:1px solid #345167}.studio-shell .live-details>summary{font-size:15px;font-weight:500;cursor:pointer;color:#cee5fb}.studio-shell .live-details .operations{margin-top:18px}.studio-shell .live-details .alarm-metrics{background:#102737;border-color:#375165}.studio-shell .live-details .operations-toolbar{display:none}.studio-shell .live-details .alarm-metrics .alarm-indicator{background:#193545;border-color:#456175;color:#c6daeb}.studio-shell .live-details .alarm-indicator>span:last-child{color:#c6daeb}.studio-shell .live-details .alarm-indicator strong{color:#d4e6f5}.studio-shell .live-details .alarm-on strong{color:#ff879c}
/* SVG surfaces are deliberately confined to interactive diagrams, never exported paper. */
.studio-shell .studio-board{background:transparent}.studio-shell .studio-board .pipe-jacket{stroke:#385063;stroke-width:6;fill:none;pointer-events:none;stroke-linejoin:round}.studio-shell .studio-board .pipe{stroke:#9eafbc;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}.studio-shell .studio-board .pipe.active{stroke:#54fa84;stroke-width:4;stroke-dasharray:10 7;animation:live-flow .7s linear infinite;filter:drop-shadow(0 0 3px #4eff7b66)}.studio-shell .studio-board.paused .pipe.active{animation-play-state:paused}.studio-shell .studio-board .pipe.selected{stroke:#54c9ff;stroke-width:4}.studio-shell .studio-board .pipe.fault{stroke:#ff6c86}.studio-shell .studio-board .edge-label{fill:#638ca8;font-size:11px}.studio-shell .studio-board .signal{stroke:#7c9ab0;stroke-dasharray:4 4;stroke-width:1.2;opacity:.8}.studio-shell .studio-board .tag{fill:#e0edfb;font-size:15px;font-weight:600}.studio-shell .studio-board .node-name{fill:#b3cadc;font-size:12px}.studio-shell .studio-board .node-state{fill:#829fb8;font-size:12px}.studio-shell .studio-board .studio-metal{fill:url(#studio-metal);stroke:#9bacbb;stroke-width:1.7}.studio-shell .studio-board .tank-outline{fill:none;stroke:#bdcdd9;stroke-width:1.8}.studio-shell .studio-board .tank-inner{fill:none;stroke:#57778b;stroke-width:.8}.studio-shell .studio-board .tank-liquid{fill:url(#studio-liquid)!important;opacity:1!important}.studio-shell .studio-board .liquid-surface{stroke:#94f3ff;stroke-width:1.5;fill:none}.studio-shell .studio-board .tank-seam{stroke:#8aa2b4;stroke-width:1.4;fill:none}.studio-shell .studio-board .tank-threshold{stroke:#6ab7d1;stroke-width:.8;stroke-dasharray:4 4;fill:none;opacity:.6}.studio-shell .studio-board .tank-number{fill:#f4fdff;font-size:27px;font-weight:600;paint-order:stroke;stroke:#0a5261;stroke-width:.5px}.studio-shell .studio-board .tank-volume{fill:#daf5ff;font-size:12px}.studio-shell .studio-board .tank-installation{fill:#789db8;font-size:11px;letter-spacing:1px}.studio-shell .studio-board .ground-line{stroke:#4b7189;stroke-width:1.5;stroke-dasharray:5 4}.studio-shell .studio-board .pump-foot{stroke:#859cac;fill:#203b4e;stroke-width:1.8}.studio-shell .studio-board .pump-inner{fill:#173244;stroke:#8dabbc;stroke-width:1.5}.studio-shell .studio-board .pump-rotor{transform-origin:0 0}.studio-shell .studio-board .pump-rotor path{fill:#617d91;stroke:#d8e9f5;stroke-width:1.3}.studio-shell .studio-board .pump-rotor circle{fill:#b2cbdc;stroke:#173a50;stroke-width:1.2}.studio-shell .studio-board .valve-stem{fill:none;stroke:#a8c2d5;stroke-width:2}.studio-shell .studio-board .valve-center{fill:#d2e7f4;stroke:#54768b;stroke-width:1}.studio-shell .studio-board .instrument-divider{stroke:#45667e;stroke-width:1}.studio-shell .studio-board .instrument-kind{fill:#cfe6f9;font-size:12px;font-weight:500}.studio-shell .studio-board .instrument-value{fill:#54d0ff;font-size:12px}.studio-shell .studio-board .estop-ring{stroke:#c28af2;stroke-width:1.5;fill:none}.studio-shell .studio-board .estop-text{fill:#d1a1fc;font-size:12px;font-weight:600}.studio-shell .studio-board .source-text,.studio-shell .studio-board .sump-state{fill:#c5e1f3;font-size:12px}.studio-shell .studio-board .junction-ring{stroke:#7c9db4;fill:#19364a;stroke-width:1.5}.studio-shell .studio-board .junction-cross{stroke:#91afc2;stroke-width:1.5}.studio-shell .studio-board .qv-tag{fill:#bed9ed;font-size:11px;font-weight:600}.studio-shell .studio-board .state-on .studio-metal{fill:#164f35;stroke:#54ea8d;filter:drop-shadow(0 0 3px #41ee8460)}.studio-shell .studio-board .state-on .pump-inner{fill:#1b5b3d;stroke:#71ff9f}.studio-shell .studio-board .state-on .pump-rotor path{fill:url(#studio-flow);stroke:#9fffaf}.studio-shell .studio-board .state-on .pump-rotor{animation:studio-rotate 2s linear infinite}.studio-shell .studio-board.paused .pump-rotor{animation-play-state:paused}.studio-shell .studio-board .state-on .instrument-value,.studio-shell .studio-board .state-on .node-state{fill:#57f394}.studio-shell .studio-board .state-fault .studio-metal{fill:#562c3c;stroke:#ff6b89}.studio-shell .studio-board .state-fault .instrument-value,.studio-shell .studio-board .state-fault .tag,.studio-shell .studio-board .state-fault .node-state{fill:#ff8ba1}.studio-shell .studio-board .state-fault .tank-liquid{fill:#a53652!important}.studio-shell .studio-board .state-emergency .studio-metal{fill:#582b71;stroke:#d994ff}.studio-shell .studio-board .state-emergency .tag{fill:#dfb2ff}.studio-shell .studio-board .selected-ring{stroke:#47bff4;fill:#39a9ee0a;stroke-width:1.5;stroke-dasharray:5 4}.studio-shell .studio-board .note-text{fill:#668fac}.studio-shell .studio-board .port{fill:#11394b;stroke:#59d1ff}.studio-shell .studio-board .node{cursor:pointer}.studio-shell .studio-board .trace-ring{stroke:#6ad9f3}.studio-shell .studio-board .trace-source .trace-ring{stroke:#efcb76}
@keyframes studio-rotate{to{transform:rotate(360deg)}}
/* Editor, forms, setup, help and operational details share the same dark materials. */
.studio-shell .workbench{grid-template-columns:162px minmax(0,1fr) 280px;background:#102231;border-color:#385267;box-shadow:none;min-height:680px}.studio-shell .palette,.studio-shell .inspector{background:#142b3c;border-color:#344c60;padding:15px 12px}.studio-shell .palette .part{background:#1c3549;border-color:#38566b;font-size:14px;color:#c1d8ec;padding:11px 8px}.studio-shell .palette .part span{font-size:14px}.studio-shell .palette .part svg{color:#97bcd9}.studio-shell .palette p,.studio-shell .palette-note{color:#91adc2;font-size:12px}.studio-shell .palette-bottom{border-color:#355168}.studio-shell .palette-bottom button{font-size:12px}.studio-shell .panel-title{font-size:12px;color:#9cb8cf;letter-spacing:.7px}.studio-shell .canvas-toolbar{background:#1b3447;border-color:#334f64;padding:8px 12px;min-height:48px;height:auto}.studio-shell .canvas-toolbar .tool-group button{font-size:12px;background:transparent;color:#c2d9eb}.studio-shell .canvas-toolbar .tool-group button.active{background:#2a5778;border-color:#3b6b8d}.studio-shell .mode-label{color:#8fb3cf;font-size:11px}.studio-shell .board-wrap{background-color:#0d2130;min-height:510px}.studio-shell .legend{background:#142b3b;color:#95b3ca;border-color:#354b5e;font-size:11px;flex-wrap:wrap;min-height:38px;height:auto;padding:8px 12px;gap:10px}.studio-shell .legend .state-on{background:#3fe78b}.studio-shell .legend .state-off{background:#a1b3c3}.studio-shell .legend .state-fault{background:#ff5574}.studio-shell .legend .state-emergency{background:#b66aec}.studio-shell .canvas-float{background:#172f42;border-color:#385875;box-shadow:0 2px 10px #0003}.studio-shell .canvas-float span{color:#afcde3}.studio-shell .inspector{max-height:800px}.studio-shell .inspector h2{color:#e1edfa}.studio-shell .inspect-type{color:#92b0c7;font-size:12px}.studio-shell .field input,.studio-shell .field select,.studio-shell .field textarea{color:#d6e9fa;background:#102332;border-color:#38566e;font-size:14px}.studio-shell .state-card{background:#19374b;border:1px solid #3c5a70;color:#c6e0ef}.studio-shell .section-label{color:#bed4e6;border-color:#3a566b;font-size:13px}.studio-shell .inspect-note,.studio-shell .config-note{font-size:13px;line-height:1.55;color:#b4ccdc}.studio-shell .config-note{background:#223849;border-color:#445c6f}.studio-shell .error-note{background:#432a36;color:#ffadbd;border-color:#835165}.studio-shell .rule-item,.studio-shell .related-processes{background:#192f40;border-color:#354d62;color:#c5d9e9}.studio-shell .rule-item small{color:#91abc0}.studio-shell .setup-tabs{border-color:#365167;margin-bottom:18px;gap:8px}.studio-shell .setup-tabs button{background:#192f42;color:#bfd4e8;border:1px solid #354e64;border-radius:6px;padding:10px 16px}.studio-shell .setup-tabs button.active{background:#225c88;color:#e5f4ff}.studio-shell .setup-intro,.studio-shell .setup-process,.studio-shell .setup-help,.studio-shell .setup-section,.studio-shell .interlock-card,.studio-shell .interlock-toolbar,.studio-shell .trace-panel,.studio-shell .signal-panel,.studio-shell .sequence-panel,.studio-shell .safety-panel{background:#142c3e;border-color:#355369;color:#c5dcee}.studio-shell .setup-intro h2,.studio-shell .setup-process h3,.studio-shell .setup-help h3,.studio-shell .signal-panel h3,.studio-shell .sequence-panel h3,.studio-shell .safety-panel h3{color:#e3eefb}.studio-shell .setup-intro p,.studio-shell .setup-help p,.studio-shell .setup-process p{color:#acc7db}.studio-shell .process-link-row button{background:#234c6a;color:#cee6fb;border-color:#426985}.studio-shell .eyebrow{color:#8baccc}.studio-shell .badge,.studio-shell .count-pill{background:#284457;color:#adc9df;border-color:#415d71}.studio-shell .signal-tank{background:#182f41;border-color:#3b5367;color:#b7cfe0}.studio-shell .signal-tank label{color:#a8c4db}.studio-shell .sequence-event{border-color:#2f485d;color:#bed1e2}.studio-shell .sequence-event time{color:#8dafce}.studio-shell .sequence-event b{color:#b9dcf6}.studio-shell .sequence-event p{color:#bed1e2}.studio-shell .safety-card{background:#1c3042;border-color:#48586e;color:#c7def0}.studio-shell .safety-card.active{background:#422a54;border-color:#a971cc}.studio-shell .sim-panel{grid-template-columns:1fr 1.2fr}.studio-shell .scenario-card,.studio-shell .event-card{background:#142b3b;border-color:#345064;color:#b2cfe3}.studio-shell .card-heading h2{color:#c6e0f3}.studio-shell .event{border-color:#314b60;color:#bdd1e3}.studio-shell .event time{color:#8cacbf}.studio-shell .event b{color:#cee6fa}.studio-shell .event span{color:#bcd3e5}.studio-shell .status-swatch.state-off{background:#94aabf}.studio-shell .alarm-indicator.alarm-on{background:#422a37;border-color:#c25c76}.studio-shell .alarm-indicator.emergency-indicator.alarm-on{background:#3c264c;border-color:#b878e0}
.studio-shell .interlock-list,.studio-shell .interlock-detail,.studio-shell .cause-list,.studio-shell .matrix-card{background:#132b3c;border-color:#36536a;color:#bbd2e5}.studio-shell .table-scroll{border-color:#39556b}.studio-shell .table-scroll table{color:#c9dded}.studio-shell .table-scroll th{background:#1b394f;color:#c5dff5;border-color:#34546c}.studio-shell .table-scroll td{border-color:#2c4559;color:#bfd5e6}.studio-shell .table-scroll tr:nth-child(even){background:#183245}.studio-shell .readout{background:#153449;border-color:#3b5f76}.studio-shell .readout strong{color:#5dd9f1}.studio-shell .readout p,.studio-shell .caption{color:#96b9d1}.studio-shell .meter{background:#284b60}.studio-shell .meter i{background:#32bdd3}
body.studio-theme dialog{background:#162b3c;color:#d3e7f6;border:1px solid #49667d;box-shadow:0 20px 100px #0009;color-scheme:dark}body.studio-theme dialog::backdrop{background:#020c15cc;backdrop-filter:blur(5px)}body.studio-theme .dialog-head{background:#203b51;border-color:#3b576e}body.studio-theme .dialog-head h2{color:#ecf5ff;font-size:19px}body.studio-theme .dialog-body{color:#c5dbee}body.studio-theme .dialog-body p{font-size:14px;line-height:1.6;color:#b4cde2}body.studio-theme dialog .field>span{color:#a8c4da;font-size:14px}body.studio-theme dialog label,body.studio-theme dialog summary{color:#bad4e7;font-size:14px}body.studio-theme dialog .section-label{color:#bad4e7;border-color:#3b586e}body.studio-theme dialog .form-section,body.studio-theme dialog fieldset,body.studio-theme dialog .wizard-preview,body.studio-theme dialog .wizard-choice{background:#1b3549;color:#c8e1f2;border-color:#385c77}body.studio-theme dialog .wizard-choice b,body.studio-theme dialog .wizard-choice strong{color:#e0f0fc}body.studio-theme dialog .wizard-choice small{color:#a8c2d7}body.studio-theme dialog .config-note{background:#233d52;border-color:#48637a;color:#bed8ea}body.studio-theme dialog .error-note{background:#482d3b;color:#ffb2c4;border-color:#ae5c77}body.studio-theme dialog .dialog-actions{border-color:#3b556b}body.studio-theme #toast{background:#244960;color:#e2f1ff;border:1px solid #477e9f;box-shadow:0 8px 30px #0005}
.studio-shell .manual{background:#122c3f;color:#c6ddec}.studio-shell .manual h1,.studio-shell .manual h2,.studio-shell .manual h3{color:#dfedfb}.studio-shell .manual p,.studio-shell .manual li{color:#b1ccde}.studio-shell .manual section,.studio-shell .manual article,.studio-shell .manual details{border-color:#3a596f}.studio-shell .manual-search{background:#192f43;border-color:#466980}.studio-shell .manual a{color:#60baff}.studio-shell .manual-faq{background:#1c374b}
/* Keep state text legible on the screen-only metal symbols. */
.studio-shell .studio-board .node{--signal-ink:#cfe6f9;--signal-text:#9fb8cd}
.studio-shell .studio-board .node.state-on{--signal-ink:#72f8a2;--signal-text:#57f394}
.studio-shell .studio-board .node.state-fault{--signal-ink:#ffe0e9;--signal-text:#ff8ba1}
.studio-shell .studio-board .node.state-emergency{--signal-ink:#e7c7ff;--signal-text:#dfb2ff}
.studio-shell .studio-board .node .tank-number,.studio-shell .studio-board .node .tank-volume{fill:#e7faff}
.studio-shell .studio-board .node.state-off .node-state{fill:#9fb8cd}
.studio-shell .studio-board .state-off .instrument-value{fill:#a9c7dd}
.studio-shell .studio-board .state-on .valve-center{fill:#a8ffd0}
.studio-shell .report-paper,.studio-shell .operating-description{--state-on:#00b844;--state-off:#ff9800;--state-fault:#e60020;color-scheme:light}
.studio-shell .operating-description{color:#24372d;background:white}
.studio-shell .operating-description .table-scroll table,.studio-shell .operating-description .table-scroll td{color:#263b3a;border-color:#dce4db}
.studio-shell .operating-description .table-scroll th{color:#263b3a;background:#edf3ee;border-color:#dce4db}
.studio-shell .operating-description .table-scroll tr:nth-child(even){background:#f7f9f7}
.studio-shell .studio-modes button:not(.active){background:transparent;border-color:transparent;box-shadow:none}
.studio-shell .sidebar-group button:not(.active){background:transparent;border-color:transparent;box-shadow:none}
.studio-shell .interlock-dialog .dialog-actions,body.studio-theme .interlock-dialog .dialog-actions{background:#162b3c}
/* Light documents are readable on screen and retain a white PDF/print background. */
.studio-shell .report-wrap,.studio-shell .description-wrap{color-scheme:light;color:#263b3a}.studio-shell .report-paper{background:white;color:#263b3a;border:1px solid #adc2ce}.studio-shell .report-paper h2,.studio-shell .report-paper h3,.studio-shell .report-paper p,.studio-shell .report-paper td,.studio-shell .report-paper li{color:#263b3a}.studio-shell .report-paper th{background:#edf3ee;color:#304b3d}.studio-shell .report-paper .table-scroll tr:nth-child(even){background:#f8faf8}.studio-shell .report-paper .table-scroll td{border-color:#e1e7e3}.studio-shell .report-paper .board text{fill:#345145}.studio-shell .report-toolbar{color:#acc8de;background:#182f43;border-color:#3b586c}.studio-shell .operating-index{background:#172e40;border-color:#34546b;color:#c5ddeb}.studio-shell .operating-index h3{color:#dceefa}.studio-shell .operating-index p{color:#abc8da}
@media(min-width:1800px){.studio-shell{grid-template-columns:226px minmax(0,1fr)!important}.studio-shell .live-simulation.studio-dashboard{grid-template-columns:minmax(0,1fr) 510px}.studio-shell .live-simulation.live-wide{grid-template-columns:1fr}.studio-shell .simulation-card{grid-template-columns:180px minmax(0,1fr)}.studio-shell .live-board-wrap{min-height:680px!important}.studio-shell .compact-process .process-actions button,.studio-shell .compact-process .drain-state{font-size:14px}.studio-shell .compact-process .process-heading h2{font-size:16px}}
@media(max-width:1399px){.studio-shell{grid-template-columns:188px minmax(0,1fr)!important}.studio-shell .studio-top{gap:10px;padding:10px}.studio-brand{min-width:184px;gap:8px}.studio-brand strong{font-size:19px}.studio-shell .studio-saved{display:none}.studio-modes button{gap:8px;padding:10px 5px}.mode-number{width:36px;height:36px;font-size:20px}.studio-modes b{font-size:13px}.studio-modes small{font-size:11px}.studio-shell .live-simulation.studio-dashboard{grid-template-columns:minmax(0,1fr) 372px}.studio-shell .live-simulation.live-wide{grid-template-columns:1fr}.studio-shell .simulation-card{grid-template-columns:125px minmax(0,1fr);padding:10px;gap:10px}.simulation-clock time{font-size:21px}.studio-shell .studio-card-heading{padding:11px}.studio-shell .studio-card-heading h1{font-size:17px}.studio-shell .heading-icon{display:none}.studio-shell .live-processes{padding:8px;gap:8px}.studio-shell .live-processes .process-card{padding:10px 8px}.studio-shell .studio-bottom{grid-template-columns:minmax(300px,1fr) minmax(320px,1fr)}.studio-shell .tank-readout-body{gap:8px}.studio-shell .tank-gauge{width:76px;height:76px}.studio-shell .live-levels{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.studio-shell .diagram-legend{font-size:11px;gap:5px;padding:8px}.studio-shell .workbench{grid-template-columns:150px minmax(0,1fr) 250px}}
@media(max-width:1100px){.studio-shell{grid-template-columns:76px minmax(0,1fr)!important}.studio-sidebar .nav-text,.studio-sidebar .sidebar-group h2{display:none}.studio-sidebar .studio-modes button{padding:10px 5px;min-height:65px}.studio-sidebar .sidebar-group button{justify-content:center}.studio-sidebar .sidebar-bottom{padding:12px 7px}.studio-shell .live-simulation.studio-dashboard{grid-template-columns:minmax(0,1fr) 335px}.studio-shell .live-simulation.live-wide{grid-template-columns:1fr}.studio-shell .live-processes{grid-template-columns:1fr;max-height:750px}.studio-shell .compact-process .pump-pair{grid-template-columns:1fr 1fr}.studio-shell .simulation-card{grid-template-columns:1fr}.simulation-clock{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}.simulation-clock h2{margin:0}.simulation-clock .sim-controls{grid-column:1/-1;margin:0;display:flex}.simulation-clock .speed-label{margin:0}.studio-shell .studio-bottom{grid-template-columns:1fr}.studio-shell .live-levels{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.studio-shell .workbench{grid-template-columns:130px minmax(0,1fr) 220px}.studio-shell .palette .part span{font-size:12px}.studio-shell .studio-card-heading .studio-zoom>span{display:none}.studio-shell .studio-card-heading h1{font-size:16px}.studio-shell .studio-project{max-width:none}.studio-shell .top-actions button>span{display:none}.studio-shell .top-actions button{min-width:32px}}
@media(max-width:800px){.studio-shell{grid-template-columns:1fr!important;grid-template-rows:auto auto 1fr}.studio-shell .studio-top{position:relative;height:auto;min-height:70px;flex-wrap:wrap}.studio-brand{flex:1}.studio-brand .nav-toggle{display:none}.studio-shell .studio-project{order:3;flex:1 0 100%;max-width:none}.studio-shell .studio-sidebar{position:relative;top:0;height:auto;grid-row:2;grid-column:1;display:block;padding:8px;overflow:visible;border-right:0;border-bottom:1px solid #324c60}.studio-sidebar .studio-modes{flex-direction:row;gap:6px}.studio-sidebar .studio-modes button{flex:1;min-height:56px;padding:8px;justify-content:center;gap:7px}.studio-sidebar .studio-modes .nav-text{display:block}.studio-sidebar .studio-modes small{display:none}.studio-sidebar .studio-modes b{font-size:12px}.studio-sidebar .mode-number{height:28px;width:28px;font-size:16px}.studio-sidebar .sidebar-group{display:none}.studio-sidebar .sidebar-bottom{display:none}.studio-shell>.main{grid-row:3;grid-column:1}.studio-shell .page{padding:8px}.studio-shell .live-simulation.studio-dashboard{grid-template-columns:1fr}.studio-shell .studio-operations{grid-column:1;display:grid;grid-template-columns:1fr;gap:10px}.studio-shell .live-board-wrap{min-height:490px!important}.studio-shell .live-processes{grid-template-columns:1fr 1fr;max-height:none}.studio-shell .live-processes .compact-process{min-height:0}.studio-shell .studio-bottom{grid-column:1}.studio-shell .simulation-card{grid-template-columns:1fr 1.3fr;gap:20px}.simulation-clock{display:block}.simulation-clock h2{margin-bottom:10px}.simulation-clock .sim-controls{margin-top:10px;display:flex;flex-wrap:wrap}.simulation-clock .speed-label{margin-top:12px}.studio-shell .workbench{grid-template-columns:1fr}.studio-shell .palette{display:flex;flex-wrap:wrap;gap:6px}.studio-shell .palette>p,.studio-shell .palette>.panel-title,.studio-shell .palette-note{display:none}.studio-shell .palette .part{width:auto;flex:1 1 120px;margin:0;justify-content:center}.studio-shell .palette-bottom{width:100%;display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 0}.studio-shell .palette-bottom button{flex:1 1 120px}.studio-shell .inspector{max-height:none;border-top:1px solid #355165}.studio-shell .canvas-column{min-height:530px}.studio-shell .sim-panel{grid-template-columns:1fr}.studio-shell .footer{flex-wrap:wrap;font-size:11px}.studio-shell .studio-zoom>span{display:block!important}.studio-shell .studio-card-heading h1{font-size:18px}.studio-shell .heading-icon{display:grid}.studio-shell .workspace-heading{flex-wrap:wrap}.studio-shell .sidebar-collapsed{grid-template-columns:1fr!important}}
@media(max-width:520px){.studio-shell .top-actions{gap:1px}.studio-shell .top-actions button{padding:5px;min-width:28px}.studio-shell .studio-brand strong{font-size:18px}.studio-shell .studio-brand{min-width:150px}.studio-shell .studio-brand small{font-size:10px}.studio-sidebar .studio-modes button{flex-direction:column;gap:4px;padding:6px 3px}.studio-shell .studio-card-heading h1{font-size:16px}.studio-shell .heading-icon{display:none}.studio-shell .studio-zoom>span{display:none!important}.studio-shell .live-board-wrap{min-height:380px!important}.studio-shell .diagram-legend{top:6px;right:6px;font-size:10px;gap:4px;padding:6px;opacity:.85}.studio-shell .legend-stroke{width:18px}.studio-shell .live-processes{grid-template-columns:1fr}.studio-shell .simulation-card{grid-template-columns:1fr}.simulation-clock{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simulation-clock h2{margin:0}.simulation-clock .sim-controls{grid-column:1/-1;margin:0}.simulation-clock .speed-label{margin:0}.studio-shell .live-levels{grid-template-columns:1fr}.studio-shell .studio-event{grid-template-columns:6px 62px 1fr;gap:8px}.studio-event>span{grid-column:2/-1}.studio-shell .live-log .studio-card-heading{flex-wrap:wrap}.studio-shell .project-label{display:none}.studio-shell .canvas-toolbar{flex-wrap:wrap}.studio-shell .studio-bottom{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.studio-shell *{scroll-behavior:auto!important}.studio-shell .studio-board .pipe.active,.studio-shell .studio-board .pump-rotor,.studio-shell .alarm-beacon{animation:none!important}}
@media print{body.studio-theme{color-scheme:light;background:white!important;color:#222}.studio-shell{display:block!important;background:white!important;color:#222}.studio-shell .studio-top,.studio-shell .studio-sidebar,.studio-shell .workspace-heading,.studio-shell .footer{display:none!important}.studio-shell>.main,.studio-shell .page{display:block;padding:0;margin:0;background:white!important}.studio-shell .report-paper{border:0;box-shadow:none}.studio-shell .live-simulation{display:block}.studio-shell .studio-operations,.studio-shell .studio-bottom,.studio-shell .diagram-legend,.studio-shell .diagram-foot,.studio-shell .live-safety{display:none}.studio-shell .live-board-wrap{border:0;background:white!important}.studio-shell .studio-board{background:#102332!important;print-color-adjust:exact}.studio-shell .studio-card{box-shadow:none;border:0}}

/* 1.4.1: project entry points and TAG navigation. */
.studio-shell .studio-project b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-shell .studio-project span{font-size:12px;color:#9fbad0}
.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}
.project-hub{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px;background:linear-gradient(115deg,#1c3548,#122938);border:1px solid #3b5b71;border-radius:9px;position:relative;z-index:16;box-shadow:0 4px 14px #0002}
.project-buttons{display:flex;gap:9px;flex-wrap:wrap}.studio-shell .project-buttons button{min-height:44px;font-size:14px;padding:10px 15px;font-weight:600;border-color:#4b718c}.studio-shell .project-buttons .primary{background:linear-gradient(115deg,#2ba0ff,#1678d4);border-color:#68baff}
.tag-search-wrap{position:relative;display:flex;align-items:center;gap:8px;flex:0 1 360px;min-width:240px;border:1px solid #587890;background:#0c2232;border-radius:7px;padding:0 10px}.tag-search-wrap>label{display:flex;color:#7ac7f5}.tag-search-wrap>label svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.studio-shell #tag-search{border:0;box-shadow:none;background:transparent;min-height:43px;width:100%;padding:10px 0;font-size:14px;min-width:0}.tag-search-wrap:focus-within{border-color:#6ac8ff;box-shadow:0 0 0 3px #3aafff20}.tag-search-wrap kbd{font:11px 'Segoe UI',sans-serif;color:#8baac0;white-space:nowrap;border:1px solid #355568;padding:2px 5px;border-radius:4px}
.tag-results{position:absolute;top:calc(100% + 7px);right:0;width:max(100%,340px);max-height:410px;overflow-y:auto;padding:7px;background:#102739;border:1px solid #5680a1;border-radius:9px;box-shadow:0 16px 40px #0009;z-index:30}.tag-results[hidden]{display:none}.studio-shell .tag-results button{display:grid;grid-template-columns:1fr;gap:5px;text-align:left;align-items:start;justify-items:start;width:100%;padding:11px 12px;background:transparent;border:1px solid transparent;box-shadow:none;border-radius:5px;white-space:normal}.studio-shell .tag-results button:hover,.studio-shell .tag-results button.active{background:#244c6b;border-color:#4389bd}.tag-results b{font:600 15px 'Segoe UI',sans-serif;color:#91dcff}.tag-results span{color:#c5daea;font-size:14px}.tag-results small{font-size:12px;color:#84a7c1}.tag-empty{color:#acc9dd;font-size:14px;line-height:1.6;padding:10px;margin:0}
/* Screen pipes: continuous metallic bodies, with a separate animated fluid layer. */
.studio-shell .studio-board .pipe-jacket{stroke:#243b4c;stroke-width:10;stroke-linejoin:round;stroke-linecap:round;fill:none;vector-effect:non-scaling-stroke}
.studio-shell .studio-board .pipe-metal{stroke:#9cafbd;stroke-width:6.5;stroke-linejoin:round;stroke-linecap:round;fill:none;pointer-events:none;vector-effect:non-scaling-stroke}
.studio-shell .studio-board .pipe-shine{stroke:#e8f2f8;stroke-width:1.6;stroke-opacity:.55;stroke-linejoin:round;stroke-linecap:round;fill:none;pointer-events:none;vector-effect:non-scaling-stroke}
.studio-shell .studio-board .pipe{stroke:#8da9bb;stroke-width:1.4;fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.studio-shell .studio-board .pipe.active{stroke:#54ff87;stroke-width:3.5;filter:drop-shadow(0 0 3px #54ff87);stroke-dasharray:10 8}
.studio-shell .studio-board .edge-fault .pipe-metal{stroke:#9a4058}.studio-shell .studio-board .pipe.fault{stroke:#ff688b;stroke-width:3}.studio-shell .studio-board .pipe.selected{stroke:#64d4ff;stroke-width:4;filter:drop-shadow(0 0 4px #49baff)}
.studio-shell .studio-board .signal{stroke:#649abb;stroke-width:.85;stroke-dasharray:4 5;opacity:.75;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
.studio-shell .studio-board .edge-label{fill:#7c9fb7;paint-order:stroke;stroke:#102534;stroke-width:3px;stroke-linejoin:round}.studio-shell .studio-board .node.search-target .selected-ring{stroke:#70dcff;stroke-width:2.5;stroke-dasharray:7 4;fill:#40bfff10;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #1fbcff88)}
.legend-stroke.signal{height:1px;background:repeating-linear-gradient(90deg,#7cb4d7 0 4px,transparent 4px 8px);border-radius:0}
@media(max-width:1150px){.project-hub{flex-wrap:wrap;gap:10px}.project-buttons{flex:1}.tag-search-wrap{flex:1;min-width:250px}.studio-shell .project-buttons button{padding:9px 12px}.project-hub .tag-search-wrap{max-width:none}}
@media(max-width:600px){.project-hub{padding:9px}.project-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-shell .project-buttons button{padding:9px 7px;white-space:normal}.project-buttons button:first-child{grid-column:1/-1}.tag-search-wrap{flex:1 0 100%;min-width:0}.tag-results{width:100%;min-width:0}.tag-search-wrap kbd{display:none}}
@media print{.project-hub{display:none!important}}

.studio-shell .studio-board .node .tag{stroke:#102534;stroke-width:3px;paint-order:stroke;stroke-linejoin:round}

.studio-shell #editor-alarms .alarm-metrics{background:#132b3d;border-color:#35536b;color:#b9d3e7}
.studio-shell #editor-alarms .alarm-total,.studio-shell #editor-alarms .alarm-indicator>span:last-child{color:#b9d3e7}
.studio-shell #editor-alarms .alarm-indicator{background:#1b3548;border-color:#3c5870}
.studio-shell #editor-alarms .alarm-indicator strong{color:#c8dceb}
.studio-shell #editor-alarms .alarm-on{background:#46283b;border-color:#a75073}
.studio-shell #editor-alarms .alarm-on strong{color:#ff9caf}
.studio-shell .process-card .sequence-strip>span{background:#193746;color:#b8d3d8;border-color:#35596a}
.studio-shell .canvas-toolbar select{background:#142d3f;color:#d6e8f6;border-color:#3b5b72}

.studio-shell .process-card .sequence-strip>span.current{background:#176042;color:#acffca;border-color:#37b976}
