:root{font-family:Tahoma,Arial,sans-serif;font-size:12px;color:#15191e;background:#e9e9e7;--blue:#235a93;--navy:#143b65;--border:#a3a8ae;--panel:#ececea;--tree-width:294px;--bottom-height:236px;--accent:#d9e9fa}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}input,select,textarea{background:white;border:1px solid #a7abb0;border-radius:0;min-width:0}input,select{height:24px;padding:2px 5px}input[type=checkbox],input[type=radio]{height:14px;width:14px;padding:0;accent-color:#2c659f;flex:none}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #4582bf;outline-offset:0}input[aria-invalid=true]{border:2px solid #b9443c;background:#fff1ed}input:read-only{background:#f4f4f1;color:#444}textarea{resize:vertical;padding:5px}button{border:1px solid #9ea4aa;background:linear-gradient(#fff,#e2e3e1);min-height:25px;padding:3px 12px;border-radius:2px}button:hover:not(:disabled){border-color:#4b7aab;background:linear-gradient(#f6fbff,#d5e6f8)}button:active:not(:disabled){background:#d1dfed}.primary{background:linear-gradient(#487cae,#2b5f94);border-color:#244f7b;color:#fff}.primary:hover:not(:disabled){background:linear-gradient(#588fc1,#326ca6);color:#fff}.app-shell{height:100dvh;min-height:460px;display:flex;flex-direction:column}.titlebar{height:30px;flex:none;display:flex;align-items:center;gap:8px;padding:0 11px;color:white;background:linear-gradient(90deg,#19456f,#346c9f);font-weight:bold}.titlebar .mark{font-size:17px;color:#efcf6a}.titlebar .filename{font-weight:normal;opacity:.93}.titlebar .edition{margin-left:auto;font-size:10px;letter-spacing:.08em;background:#12365170;padding:4px 7px;border:1px solid #87b3d770}.titlebar .version{font-weight:normal;color:#c9deef;margin-left:9px}.menubar{display:flex;align-items:center;gap:0;height:25px;flex:none;background:#f4f4f2;border-bottom:1px solid #bcc0c3;padding-left:6px;z-index:30}.menu-wrap{position:relative}.menu-trigger{height:24px;min-height:24px;padding:2px 11px;border:1px solid transparent;border-radius:0;background:transparent}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{background:#dce8f5;border-color:#88a5c5}.dropdown{position:absolute;top:24px;left:0;min-width:265px;background:#fafaf8;border:1px solid #8c969f;box-shadow:2px 4px 7px #0003;padding:4px;z-index:70}.dropdown button{display:flex;width:100%;border:0;border-radius:0;background:transparent;text-align:left;padding:6px 9px;min-height:28px;align-items:center;gap:10px}.dropdown button:hover{background:#d7e7f8}.shortcut{margin-left:auto;font-size:11px;color:#677482}.menu-separator{border-top:1px solid #c9cccf;margin:4px 3px}.toolbar{height:40px;flex:none;display:flex;align-items:center;gap:3px;border-bottom:1px solid #a7adb4;background:linear-gradient(#fbfbfa,#e2e3e1);padding:3px 8px}.tool{height:30px;min-height:30px;padding:2px 8px;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:transparent;border-radius:2px;white-space:nowrap}.tool .svgicon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.tool svg{width:19px;height:19px;stroke-width:1.6}.tool.primary{background:linear-gradient(#487cae,#2b5f94);border-color:#244f7b;color:#fff}.tool.primary:hover{background:linear-gradient(#588fc1,#326ca6)}.tool.icon-only{padding:2px 5px}.tool-separator{height:25px;border-left:1px solid #b9bec3;margin:0 5px}.toolbar-spacer{flex:1}.standard-chip{font-size:11px;color:#2e4d70;border:1px solid #aebdca;background:#f4f8fc;padding:5px 8px}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:29px var(--tree-width) 5px 1fr;grid-template-rows:minmax(180px,1fr) 5px var(--bottom-height);padding:3px 4px 0 0;background:#d5d7d9}.elementbar{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:6px;background:linear-gradient(90deg,#f4f4f2,#dddeda);border-right:1px solid #b1b6bc}.elementbar button{border:1px solid transparent;background:transparent;min-height:26px;width:26px;padding:3px;font-size:15px;color:#365d85}.elementbar svg{width:20px;height:20px}.tree-pane{grid-column:2;grid-row:1;min-height:0;display:flex;flex-direction:column;border:1px solid #a8adb2;background:white;overflow:hidden}.pane-caption{height:23px;flex:none;display:flex;align-items:center;padding:0 7px;font-weight:bold;font-size:11px;color:#333f4c;background:linear-gradient(#f3f4f5,#d9dde1);border-bottom:1px solid #adb3b9;gap:7px}.pane-caption .caption-right{margin-left:auto;color:#78828b;font-weight:normal;font-size:10px}.tree-scroll{overflow:auto;flex:1;padding:8px 3px 8px 4px;background:#fff}.tree-row{display:flex;align-items:center;min-height:25px;white-space:nowrap;gap:4px;cursor:pointer;padding:2px 4px 2px calc(var(--level)*18px + 2px);border:1px solid transparent;user-select:none}.tree-row:hover{background:#f0f5fb}.tree-row.active{background:#dbe9f9;border-color:#9bb6d4;color:#173e67}.tree-row .label{overflow:hidden;text-overflow:ellipsis}.tree-row .treeicon{font-size:16px;width:18px;text-align:center;flex:none;color:#285783}.tree-row .branch{font-size:9px;color:#596674;width:13px;flex:none}.tree-row .status-dot{height:6px;width:6px;background:#327945;border-radius:50%;margin-left:auto;flex:none}.tree-row .status-dot.warn{background:#c48c22}.tree-row .status-dot.error{background:#ba3d37}.tree-foot{border-top:1px solid #d7dbde;padding:5px 8px;font-size:10px;color:#65707a;background:#f5f6f5;line-height:1.5}.vsplit{grid-column:3;grid-row:1;cursor:col-resize;background:linear-gradient(90deg,#edeef0,#adb4bc,#e9eaeb)}.hsplit{grid-column:2/5;grid-row:2;cursor:row-resize;background:linear-gradient(#eceef0,#abb2bb,#e5e7e9)}.editor-pane{grid-column:4;grid-row:1;background:#eaeae8;border:1px solid #a8adb2;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.object-tabs{flex:none;display:flex;height:29px;align-items:end;padding:3px 5px 0;border-bottom:1px solid #a5adb5;background:#e4e6e7;gap:1px}.object-tabs button{border:1px solid transparent;border-bottom:0;border-radius:2px 2px 0 0;background:transparent;padding:4px 11px;font-size:11px;height:25px;min-height:25px;white-space:nowrap}.object-tabs button.active{background:#efefec;border-color:#9da8b4;color:#214c7b;font-weight:bold;position:relative;top:1px;height:26px}.editor-scroll{flex:1;overflow:auto;padding:11px 13px 14px;background:#efefec}.editor-scroll h2{font-size:15px;color:#264c72;font-weight:normal;margin:2px 0 14px}.form-stack{display:flex;flex-direction:column;gap:10px;max-width:1150px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.field{display:grid;grid-template-columns:minmax(130px,1fr) minmax(72px,132px) auto;align-items:center;gap:7px;min-height:30px;font-size:11px}.field.wide{grid-template-columns:170px minmax(120px,1fr)}.field.full{grid-template-columns:1fr}.field .unit{font-size:10px;color:#4b5560;min-width:28px}.field label{line-height:1.35}.field .entry{width:100%}.field.long-label{grid-template-columns:minmax(170px,1fr) minmax(68px,110px) auto}.field .computed{font-variant-numeric:tabular-nums;background:#e4e8eb;min-height:23px;border:1px solid #b4bbc2;padding:4px 6px}.field input[type=number],.number-input{text-align:right;font-variant-numeric:tabular-nums}.form-stack fieldset,fieldset{border:1px solid #b8bdc2;border-radius:3px;padding:8px 10px 10px;margin:0;min-width:0}legend{padding:0 5px;color:#1c4c7b;font-size:11px}.inline-checks{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:5px 0}.check{display:flex;align-items:center;gap:5px;font-size:11px;line-height:1.4;cursor:pointer}.check input{margin:0}.note{font-size:11px;line-height:1.5;color:#5f6c77;margin:6px 0}.note strong{color:#42566b}.notice{background:#f9f5e5;border:1px solid #d7cda6;border-left:3px solid #c79d38;padding:7px 9px;font-size:11px;line-height:1.5;color:#65512a}.notice.blue{background:#edf4fb;border-color:#c0d2e4;border-left-color:#5583b0;color:#3c5873}.form-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:1px}.inline-result{display:flex;gap:18px;align-items:center;font-size:11px;color:#446078;margin-left:auto}.ok-text{color:#267043}.warn-text{color:#8a5b10}.error-text{color:#ab302b}.pressure-table{border-collapse:collapse;width:100%;font-size:11px}.pressure-table th{font-weight:normal;color:#616c77;text-align:center;padding:2px 4px 5px;font-size:10px}.pressure-table td{padding:3px}.pressure-table td:first-child{padding-left:0;min-width:105px}.pressure-table input{width:100%;text-align:right}.pressure-table .readonly-cell{background:#e5e9ed;border:1px solid #b5bdc5;height:23px;display:flex;justify-content:flex-end;align-items:center;padding:3px 5px;font-variant-numeric:tabular-nums}.pressure-table .punit{width:30px;font-size:10px}.compact-select{width:100%}.top-tag{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:8px}.top-tag label{font-size:11px}.top-tag input{font-weight:bold;color:#183d62}.bottom-pane{grid-column:2/5;grid-row:3;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #9fa8b1}.bottom-toolbar{display:flex;align-items:center;min-height:27px;padding:3px 7px;gap:7px;border-bottom:1px solid #bcc1c6;background:#f1f2f1;flex:none;font-size:11px}.bottom-toolbar select{height:21px;font-size:11px;min-width:160px}.bottom-toolbar .hint{color:#75818c;margin-left:auto;font-size:10px}.data-scroll{flex:1;min-height:0;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px;white-space:nowrap}.data-table th{position:sticky;top:0;background:linear-gradient(#f5f7f9,#dce1e7);font-weight:normal;text-align:left;border-right:1px solid #bbc2c8;border-bottom:1px solid #a7b1bd;padding:5px 7px;z-index:1}.data-table td{padding:5px 7px;border-bottom:1px solid #e6e8ea;max-width:310px;overflow:hidden;text-overflow:ellipsis}.data-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table tbody tr:hover{background:#eef4fb}.data-table tbody tr.selected{background:#dbe9f8}.data-table tbody tr{cursor:pointer}.bottom-tabs{display:flex;flex:none;align-items:center;height:27px;padding:2px 5px 0;background:#e5e6e7;border-top:1px solid #adb5bd;gap:2px}.bottom-tabs button{font-size:10px;min-height:22px;height:23px;background:#e9e9e7;border:1px solid #c4c6c8;border-radius:0 0 3px 3px;padding:3px 10px}.bottom-tabs button.active{background:#fff;color:#234f7a;border-top-color:#fff;font-weight:bold}.protocol{padding:7px 10px;line-height:1.65;font-size:11px;white-space:normal}.protocol h3{font-size:12px;margin:3px 0 5px;color:#193f67}.protocol .logline{display:flex;gap:7px;align-items:start;margin:2px 0;cursor:pointer}.protocol .logline:hover{background:#f0f5fa}.logsymbol{width:14px;flex:none;text-align:center}.statusbar{height:24px;flex:none;display:flex;align-items:center;gap:6px;padding:2px 7px;font-size:10px;color:#4e5c69;border-top:1px solid #fff;background:linear-gradient(#f5f5f2,#e5e5e3)}.statusbar .status-main{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar .status-cell{padding:2px 9px;border-left:1px solid #b8bdc1;white-space:nowrap}.statusbar .state-lamp{display:inline-block;width:6px;height:6px;border-radius:50%;background:#488456;margin-right:5px}.blank-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c7884;gap:12px;padding:25px;text-align:center;font-size:12px}.blank-state .blank-icon{font-size:30px;color:#9aafc1}.project-header{padding:0 2px 5px;display:flex;justify-content:space-between;color:#718090;font-size:10px}.project-summary{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0}.project-summary div{border:1px solid #bbc8d3;background:#f6f9fc;padding:10px 14px;min-width:130px}.project-summary b{display:block;font-size:23px;font-weight:normal;color:#285c8b;margin-bottom:4px}.project-summary span{font-size:10px;color:#626e7b}.section-table button{padding:1px 6px;min-height:22px}.modal-backdrop{position:fixed;inset:0;background:#152b4560;display:flex;align-items:center;justify-content:center;z-index:100;padding:18px}.modal{background:#edeeeb;border:1px solid #46596d;border-radius:3px;box-shadow:0 15px 50px #06152670;display:flex;flex-direction:column;width:min(1050px,98vw);max-height:94dvh;overflow:hidden}.modal.small{width:min(650px,96vw)}.modal-title{display:flex;align-items:center;min-height:31px;background:linear-gradient(#f7f8f8,#dce3e9);border-bottom:1px solid #9ba7b2;padding:4px 9px;font-weight:bold;color:#24445f}.modal-title button{margin-left:auto;min-height:21px;height:21px;width:24px;padding:0;background:transparent;border:0;font-size:18px;color:#566777}.modal-body{padding:10px;min-height:0;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding:9px 11px;border-top:1px solid #bdc5cc;background:#f2f3f1}.modal-actions .left{margin-right:auto}.selection-grid{height:270px;overflow:auto;border:1px solid #aab5be;background:white}.selection-info{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.selection-info fieldset{background:#f2f3ef}.selection-info p{margin:4px 0;font-size:11px;line-height:1.5}.selection-info .figures{display:flex;gap:18px;font-variant-numeric:tabular-nums}.selection-info .figures b{font-size:15px;color:#234f79;font-weight:normal}.catalog-toolbar{display:flex;gap:6px;margin-bottom:8px;align-items:center}.catalog-toolbar input{flex:1}.modal-body h3{font-size:13px;color:#26547e;margin:4px 0 10px}.modal-body .help-content{font-size:12px;line-height:1.65;max-width:850px}.help-content h4{margin:17px 0 4px;color:#244f76}.help-content ul{padding-left:22px}.help-content code{font-family:Consolas,monospace;font-size:11px}.formula-strip{display:flex;flex-wrap:wrap;gap:14px;background:#f8fafc;border:1px solid #c6d4df;padding:9px 11px;font-family:Georgia,serif;font-size:14px;color:#244d74}.help-content a,.note a{color:#1d5c9c}.isentrope-table{width:100%;min-height:190px;font-family:Consolas,monospace;font-size:12px;line-height:1.6}.catalog-edit{max-height:56dvh;overflow:auto;padding:3px}.badge{font-size:9px;border:1px solid #a6b8cb;padding:1px 4px;color:#3e6385;background:#ecf3fa;white-space:nowrap}.source-link{font-size:10px;color:#225d92;text-decoration:underline}.validation-error{padding:9px;background:#fff0ee;border:1px solid #d9aaa4;color:#a2322a;font-size:11px;line-height:1.5}.result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:9px}.result-summary .metric{border:1px solid #bac8d4;background:#f5f9fc;padding:7px 10px;min-width:0}.result-summary label{font-size:10px;color:#5e7284;display:block;margin-bottom:3px}.result-summary strong{font-size:18px;font-weight:normal;color:#234f7d;font-variant-numeric:tabular-nums}.result-summary small{font-size:10px;color:#647c91}.message-list{display:flex;flex-direction:column;gap:6px}.message{font-size:11px;line-height:1.5;border:1px solid #ccd6df;background:#f5f9fc;padding:6px 8px;border-left:3px solid #84a5c3}.message.warning{background:#fffaec;border-color:#dfd4b1;border-left-color:#c49b39;color:#6b562b}.message.error{background:#fff2ef;border-color:#e1b7ac;border-left-color:#c35643;color:#973e30}.message .reference{font-size:10px;opacity:.75;margin-left:4px}.table-info{padding:5px 7px;font-size:10px;color:#6c7885}.flow-diagram{display:flex;align-items:center;gap:6px;padding:15px 7px 20px;color:#4c6780;font-size:11px}.flow-diagram .node{border:1px solid #94afc6;background:#eef5fa;padding:9px 12px}.flow-diagram .valvenode{background:#dbeaf6;color:#214c77;font-weight:bold}.flow-diagram .line{height:2px;background:#779ab8;flex:1;min-width:15px}.contextmenu{position:fixed;z-index:90;background:#f8fafb;border:1px solid #8193a4;box-shadow:2px 3px 8px #0003;padding:4px;min-width:185px}.contextmenu button{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:0}.contextmenu button:hover{background:#d7e7f8}#toast{position:fixed;bottom:34px;left:50%;transform:translateX(-50%);background:#183b5c;color:#fff;padding:8px 16px;border:1px solid #728ba3;box-shadow:0 3px 12px #0003;font-size:12px;z-index:180;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}.modified{font-size:10px;color:#b68e2b}.view-hidden{display:none!important}.form-subheading{font-size:11px;color:#44627e;margin:1px 0 4px}.search-count{font-size:10px;color:#657588;white-space:nowrap}@media(min-width:1500px){:root{font-size:13px;--tree-width:322px;--bottom-height:265px}.field{font-size:12px;min-height:33px}.data-table{font-size:12px}.editor-scroll{padding:15px 18px}}@media(max-width:1050px){:root{--tree-width:228px}.tool .tool-label{display:none}.form-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.editor-scroll{padding:8px}.field{grid-template-columns:1fr 110px auto}.titlebar .edition{display:none}.inline-result{width:100%;margin:0}.result-summary{grid-template-columns:1fr 1fr}}@media(max-width:650px){:root{--tree-width:175px;--bottom-height:190px}.workspace{grid-template-columns:0 var(--tree-width) 4px 1fr}.elementbar{display:none}.menubar{overflow-x:auto}.menu-trigger{padding:2px 8px}.toolbar{gap:0;padding:3px}.tool{padding:2px 5px}.standard-chip{display:none}.titlebar{font-size:11px;padding:0 6px}.titlebar .version{display:none}.object-tabs{overflow-x:auto}.object-tabs button{padding:4px 7px}.form-grid.three{grid-template-columns:1fr}.field,.field.long-label{grid-template-columns:1fr 80px auto;gap:3px}.field.wide,.top-tag{grid-template-columns:1fr}.selection-info{grid-template-columns:1fr}.statusbar .status-cell:nth-last-child(2){display:none}.bottom-tabs button{padding:3px 5px}.modal-backdrop{padding:5px}.result-summary .metric{padding:5px}.editor-scroll h2{font-size:13px}}@media print{body{overflow:visible}.app-shell{display:none}}
/* Transparent HOTO wordmark. */
.hoto-logo{display:inline-block;width:85px;height:40px;overflow:hidden;flex:none;background:transparent;vertical-align:middle}.hoto-logo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}.hoto-logo.large{width:102px;height:48px}.titlebar .hoto-logo{width:63px;height:26px}.titlebar{height:52px;padding:4px 12px;background:linear-gradient(#fff,#eef2f5);color:#22547c;border-bottom:1px solid #9cb0c1;gap:12px;font-size:14px}.titlebar .filename{font-size:11px;color:#687d8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.titlebar .edition{font-size:9px;background:#e5edf4;color:#345a79;border-color:#b2c4d3;white-space:nowrap}.titlebar .version{color:#607b91;font-size:10px;margin-left:0}.language-control{flex:none}.language-control select{font-size:11px;color:#315775;height:25px;min-width:84px;background:#fff}.account-button{padding:2px 7px;font-size:10px;min-height:24px;white-space:nowrap;color:#355f80}.language-banner{flex:none;padding:5px 12px;font-size:11px;line-height:1.4;background:#fff8df;color:#796027;border-bottom:1px solid #dbcfaa}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.status-main #server-save-state{display:inline-block;max-width:100%;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-fields{display:grid;gap:12px}.password-fields label{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:10px}.password-fields input{height:30px}.login-page{min-height:100svh;overflow:auto;background:linear-gradient(135deg,#e8eff5,#f5f7f9);padding:50px 20px;display:flex;align-items:center;justify-content:center}.login-card{width:500px;max-width:100%;padding:30px 36px;background:#fff;border:1px solid #b1c1cf;box-shadow:0 12px 42px #284b6b1c;border-radius:3px}.login-brand{display:flex;align-items:center;gap:15px}.login-brand h1{font:600 22px Arial,sans-serif;color:#22557d;margin:0 0 6px}.login-brand p{font:11px/1.5 Arial,sans-serif;color:#6b8193;margin:0}.login-card form{margin-top:28px}.login-card form>label:first-child{margin-top:0}.login-card form>label{display:block;font-size:12px;color:#425f77;margin:16px 0 6px}.login-card form>input{display:block;width:100%;height:36px;padding:6px 9px;font-size:14px}.login-card form>button{width:100%;height:37px;margin-top:8px;font-size:13px}.login-card #login-error{font-size:12px;color:#a53e36;line-height:1.5;min-height:18px;margin:12px 0 0}.login-language{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:26px;font-size:11px;color:#60798e}.login-language select{font-size:11px;max-width:225px;height:27px}@media(max-width:1050px){.titlebar .filename{display:none}.titlebar{font-size:13px;gap:8px}.titlebar .edition{margin-left:auto}}@media(max-width:650px){.titlebar{height:47px;padding:3px 6px;gap:6px;font-size:11px}.titlebar .hoto-logo{width:63px;height:30px}.language-control{margin-left:auto}.language-control select{min-width:66px;font-size:10px}.account-button{font-size:9px;padding:2px 4px}.login-page{padding:18px 12px}.login-card{padding:25px 22px}.login-brand{gap:10px}.login-brand h1{font-size:18px}.password-fields label{grid-template-columns:1fr;gap:5px}.language-banner{font-size:10px}}
