:root{--bg:#15171a;--panel:#1d2024;--p2:#26292e;--line:#353a41;--line-strong:#4a5058;--tx:#e6e8eb;--mut:#a3abb5;--acc:#f5b301;--on-acc:#1d2024;--bus:#ffb347;--ok:#37d67a;--warn:#f5c04a;--bad:#ff5d6c;--field-line:#6c7580;--field-line-hover:#8a939e;--res-cur:#7fd1ff;--res-fault:#ff9f43;--res-pf:#b784ff;--ph-r:#ff6b6b;--ph-y:#f5c04a;--ph-b:#4aa8ff;--ph-ryb:#b784ff;--canvas-bg:var(--bg);--canvas-ink:var(--tx);--canvas-grid:#272a2f;--canvas-grid-major:var(--line);--pit-pass:color-mix(in srgb, var(--ok) 70%, var(--bg));--pit-fail:color-mix(in srgb, var(--bad) 70%, var(--bg));--pit-untested:color-mix(in srgb, var(--mut) 35%, var(--bg));--backdrop:#02060e99;--shadow-pop:0 8px 24px #0006;--shadow-modal:0 12px 32px #00000059;--shadow-palette:0 18px 48px #00000080;--shadow-paper:0 2px 10px #00000059;--shadow-drawer:0 -6px 18px #00000040;--shadow-side:-8px 0 24px #0003;--row-sub:#ffffff04;--border:var(--line);--accent:var(--acc);--fg:var(--tx);--muted:var(--mut);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--control-h:32px;--control-h-sm:26px;--radius-sm:6px;--radius-md:9px;--radius-lg:12px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--gutter:var(--space-4);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--curve-1:#4aa8ff;--curve-2:#b784ff;--curve-3:#37d6c6;--curve-4:#ff8fb1;--curve-5:#9fd356;--curve-6:#f5c04a;--curve-7:#ff9f43;--curve-8:#7fd1ff}:root[data-theme=light]{--bg:#f5f3ef;--panel:#fff;--p2:#efece5;--line:#dcd7cc;--line-strong:#c2bbac;--tx:#272420;--mut:#5d574c;--acc:#875800;--on-acc:#fff;--bus:#a64b07;--ok:#177336;--warn:#8a5d00;--bad:#cf222e;--field-line:#857e70;--field-line-hover:#6b6557;--res-cur:#0369a1;--res-fault:#c2410c;--res-pf:#7e22ce;--ph-r:#c81e1e;--ph-y:#8a5d00;--ph-b:#1f69c9;--ph-ryb:#7e22ce;--canvas-grid:#e7e4dc;--backdrop:#14203559;--shadow-pop:0 8px 24px #14203529;--shadow-modal:0 12px 32px #1420352e;--shadow-palette:0 18px 48px #14203538;--shadow-paper:0 2px 10px #1420352e;--shadow-drawer:0 -6px 18px #1420351f;--shadow-side:-8px 0 24px #1420351f;--row-sub:#14203506;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--curve-1:#1f69c9;--curve-2:#7c3aed;--curve-3:#0f7f74;--curve-4:#c2185b;--curve-5:#4d7c0f;--curve-6:#a16207;--curve-7:#c2410c;--curve-8:#0369a1}:root[data-palette=blueprint]{--bg:#0c1526;--panel:#122036;--p2:#172843;--line:#2a4062;--line-strong:#3d587f;--tx:#dee8f5;--mut:#9bafcb;--acc:#53b4ff;--on-acc:#0a1b2e;--field-line:#5e84ae;--field-line-hover:#7ea2c8;--canvas-grid:#1d2d47}:root[data-palette=blueprint][data-theme=light]{--bg:#edf3fa;--panel:#fff;--p2:#e4edf6;--line:#c9d8e8;--line-strong:#a7bed6;--tx:#142d4a;--mut:#4a647f;--acc:#1d5fbf;--on-acc:#fff;--field-line:#74879b;--field-line-hover:#5c7288;--canvas-grid:#d9e4f0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--tx);font-variant-numeric:tabular-nums;font:13px/1.4 -apple-system,Segoe UI,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:1px}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){background:var(--p2);color:var(--tx);border:1px solid var(--field-line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font:inherit}:where(input,textarea)::placeholder{color:var(--mut);opacity:1}:where(select) :where(option,optgroup){background:var(--p2);color:var(--tx)}:where(select) :where(option:disabled){color:var(--mut)}:where(input,select,textarea):hover:not(:disabled){border-color:var(--field-line-hover)}:where(input,select,textarea):focus-visible{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}:where(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}:where(input[type=checkbox],input[type=radio]){accent-color:var(--acc);width:14px;height:14px;margin:0}:where(.modal,.form-kv,.tbd-side,.tool-panel,.setting,.engine-controls,.results-bar,.rev-issue,.bh-guided,.pfc-design) :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select){min-height:var(--control-h)}.app-root{flex-direction:column;height:100%;display:flex}.top{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--gutter);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;min-height:48px;display:flex}.brand{align-items:center;gap:var(--space-2);margin-right:var(--space-2);font-size:15px;font-weight:700;line-height:1.1;display:flex}.brand-mark{flex:none;width:28px;height:28px}.brand small{font-weight:400;font-size:var(--fs-xs);color:var(--mut);margin-top:2px;display:block}.crumb{color:var(--mut);align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.crumb .linkish{color:inherit;margin-left:0}.crumb .linkish:hover{color:var(--tx)}.crumb b{color:var(--tx);font-weight:500}.saved{color:var(--ok);font-size:var(--fs-xs);margin-left:6px}@media (width>=1200px){.top{flex-wrap:nowrap}.top>*{flex:none}.top>.sp{flex:1}.top>.crumb{white-space:nowrap;flex-wrap:nowrap;flex:0 auto;overflow:hidden}.crumb>*{flex:none}.crumb .crumb-project{flex:0 auto;min-width:4em;overflow:hidden}.crumb .crumb-project b{text-overflow:ellipsis;display:block;overflow:hidden}.crumb .saved{text-overflow:ellipsis;flex:0 6 auto;min-width:0;overflow:hidden}}.sp{flex:1}.chip{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--p2);color:var(--tx);white-space:nowrap;line-height:1.2;text-decoration:none;transition:border-color .12s,background-color .12s;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--line-strong);background:color-mix(in srgb,var(--p2) 80%,var(--acc))}.chip.on,.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}td .chip,.chip.sm{min-height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--fs-sm)}.app{flex:1;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid}.nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:2px;padding:10px 8px;display:flex;overflow-y:auto}.nav h4{color:var(--mut);margin:12px 8px 4px;font-size:11px;font-weight:500}.nav button{text-align:left;min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--tx)}.nav button:hover{background:var(--p2)}.nav .on{background:var(--p2);box-shadow:inset 2px 0 var(--acc);color:var(--acc)}.mid{flex-direction:column;min-width:0;display:flex;overflow-y:auto}.mid.wide{grid-column:2/span 2}.stage{padding:var(--space-3) var(--gutter) 0;overflow-x:auto}.stage h3{margin:0 0 8px;font-size:13px;font-weight:600}svg text{fill:var(--tx);font:11px -apple-system,system-ui,sans-serif}svg .m{fill:var(--mut)}svg .b{font-size:12px;font-weight:600}.ln{stroke:var(--mut);stroke-width:1.5px;fill:none}.sym{fill:var(--panel);stroke:var(--mut);stroke-width:1.5px}.tr{fill:none;stroke:var(--acc);stroke-width:1.6px}.box{fill:var(--p2);stroke:var(--line);stroke-width:1.2px}.tabs{padding:0 var(--gutter);margin-top:var(--space-2);border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs button{min-height:var(--control-h);padding:0 var(--space-3);color:var(--mut);white-space:nowrap;border-bottom:2px solid #0000}.tabs button:hover{color:var(--tx)}.tabs .on{color:var(--acc);border-color:var(--acc)}.tw{padding:0 var(--gutter) var(--gutter);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}th{text-align:left;font-size:var(--fs-xs);letter-spacing:.02em;color:var(--mut);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600}td{padding:var(--space-1) var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);white-space:nowrap;height:32px}tbody tr{cursor:pointer}tbody tr:hover{background:color-mix(in srgb,var(--p2) 70%,transparent)}th.num,td.num{text-align:right}td.acts,th.acts{text-align:right;white-space:nowrap}td.st{font-weight:600}tr.sel{background:color-mix(in srgb,var(--acc) 12%,transparent);box-shadow:inset 2px 0 var(--acc)}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.side{width:var(--side-w,290px);border-left:1px solid var(--line);background:var(--panel);flex-direction:column;display:flex;position:relative;overflow-y:auto}.side.closed{align-items:center;width:34px;padding-top:8px;overflow:hidden}.side-head{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2) 0 var(--gutter);font-size:var(--fs-sm);color:var(--mut);display:flex}.side-head b{font-weight:600}.side:not(.closed){overflow:hidden}.side-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.side-resize{cursor:col-resize;z-index:5;width:6px;height:100%;position:absolute;top:0;left:-3px}.side-resize:hover{background:var(--acc);opacity:.35}.pn{padding:var(--space-3) var(--gutter);border-bottom:1px solid var(--line)}.dc{align-items:center;gap:16px;display:flex}.dc ul{flex:1;gap:4px;margin:0;padding:0;list-style:none;display:grid}.dc li{justify-content:space-between;gap:8px;display:flex}.dc li span{color:var(--tx);margin-left:auto}.kv{grid-template-columns:auto 1fr;gap:5px 12px;display:grid}.kv dt{color:var(--mut)}.kv dd{text-align:right;margin:0}.pn h4{margin:var(--space-3) 0 var(--space-1);font-size:var(--fs-xs);letter-spacing:.03em;color:var(--mut);font-weight:600}.form-kv .kv-head{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--line);font-size:var(--fs-xs);letter-spacing:.03em;color:var(--mut);grid-column:1/-1;font-weight:600}.form-kv .kv-head:first-child{border-top:0;margin-top:0;padding-top:0}.side .form-kv{grid-template-columns:minmax(96px,40%) minmax(0,1fr)}.supply-chain{margin:0 0 var(--space-2);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.supply-chain span{align-items:center;gap:4px;display:inline-flex}.supply-chain span:first-child,.supply-chain b{background:var(--p2);border-radius:5px;padding:2px 7px;font-weight:400}.supply-chain b.on{background:color-mix(in srgb,var(--acc) 22%,transparent);font-weight:500}.supply-chain i{color:var(--mut);font-style:normal}.pill{float:right;border:1px solid;border-radius:10px;padding:1px 8px;font-size:11px}.foot{align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-1) var(--gutter);border-top:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--mut);flex-wrap:wrap;font-size:12px;display:flex}div.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}div.row.mt{margin-top:var(--space-2)}div.row.my{margin:var(--space-2) 0}.stage-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);min-height:var(--control-h);flex-wrap:wrap;display:flex}.stage-head h3{margin:0;font-size:18px;font-weight:600;line-height:1.3}.chip.primary{background:var(--acc);color:var(--on-acc);border-color:var(--acc);font-weight:600}.chip.primary:hover:not(:disabled){background:color-mix(in srgb,var(--acc) 85%,#fff);border-color:color-mix(in srgb,var(--acc) 85%,#fff)}.chip.bad-btn{border-color:color-mix(in srgb,var(--bad) 70%,transparent);color:var(--bad);background:0 0}.chip.bad-btn:hover:not(:disabled){border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.modal-backdrop{background:var(--backdrop);z-index:50;padding:var(--space-5);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);width:100%;max-width:560px;max-height:calc(100vh - 2 * var(--space-5));gap:var(--space-3);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow-y:auto}.modal h3{margin:0;font-size:16px;font-weight:600;line-height:1.3}.grid2{gap:var(--space-3) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.modal label{gap:var(--space-1);font-size:var(--fs-sm);color:var(--mut);flex-direction:column;display:flex}.modal label.row{align-items:center;gap:var(--space-2);font-size:var(--fs-md);color:var(--tx);flex-direction:row}.suggest-row{background:var(--p2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.modal-backdrop>[tabindex="-1"]:focus{outline:none}.confirm-dialog{max-width:440px}.field{vertical-align:top;flex-direction:column;align-items:flex-start;display:inline-flex}.field-error{max-width:24ch;color:var(--bad);font-size:var(--fs-xs);white-space:normal;text-align:left;margin-top:2px;line-height:1.3}input[aria-invalid=true]{box-shadow:0 0 0 1px var(--bad);border-color:var(--bad)!important}.form-dialog{max-width:480px}.form-field{gap:4px;display:grid}.modal .form-field label{font-size:var(--fs-sm);color:var(--mut);display:block}.form-field label .m{display:inline}.form-field input,.form-field textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical}.form-field textarea{background:var(--p2);color:var(--tx);border:1px solid var(--field-line);border-radius:var(--radius-sm);padding:6px 8px}.form-hint{font-size:var(--fs-xs)}.confirm-msg{color:var(--mut);white-space:pre-line;line-height:1.45}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-1);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.boq-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}@media (width<=1000px){.app{grid-template-columns:minmax(0,1fr)}.app>.mid.wide{grid-column:auto}.app>span:empty{display:none}.app{grid-auto-rows:max-content;align-content:start;overflow-y:auto}.app>.mid,.app>.side{overflow:visible}.nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.nav h4{display:none}.side{border-left:0;width:auto}.side-resize{display:none}.side:not(.closed),.side-body{overflow:visible}.grid2{grid-template-columns:1fr}}@media (width<=600px){.app-root{height:auto;min-height:100%}.app{flex:none;min-height:60dvh;overflow:visible}.brand small{display:none}.web-banner,.recover-bar{font-size:12px}}.engine-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.engine-controls select{margin-left:4px;padding:4px 6px}.chip:disabled,.chip[aria-disabled=true]{opacity:.55;cursor:not-allowed}.linkish{color:var(--acc);margin-left:10px;text-decoration:underline}table.compare th{text-align:center}table.compare td:first-child,table.compare th:first-child{text-align:left}.engine-notes{margin:12px 0 0;padding-left:18px;line-height:1.6}code{background:var(--p2);border-radius:4px;padding:1px 5px}.sysdiag{border:1px solid var(--line);background:var(--canvas-bg);border-radius:8px;height:clamp(420px,100vh - 290px,3000px);margin-top:8px;position:relative;overflow:hidden}.sysdiag .grid-minor{fill:none;stroke:var(--canvas-grid);stroke-width:.6px;vector-effect:non-scaling-stroke}.sysdiag .grid-major{fill:none;stroke:var(--canvas-grid-major);stroke-width:1px;vector-effect:non-scaling-stroke}.sysdiag .grid-dot{fill:var(--canvas-grid-major)}.sysdiag-resize{cursor:ns-resize;z-index:2;background:linear-gradient(to bottom,transparent 3px,color-mix(in srgb,var(--mut) 35%,transparent) 3px,color-mix(in srgb,var(--mut) 35%,transparent) 5px,transparent 5px) center/44px 100% no-repeat;height:9px;position:absolute;bottom:0;left:0;right:0}.sysdiag-resize:hover{background-color:color-mix(in srgb,var(--acc) 18%,transparent)}.sld-edit.full{z-index:60;background:var(--bg);padding:10px;position:fixed;inset:0}.sld-edit.full .sysdiag{height:auto;margin-top:0}.sld-edit.full .palette{max-height:none}.sysdiag>svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.sysdiag>svg:active{cursor:grabbing}.sysdiag-tools{gap:var(--space-2);z-index:1;display:flex;position:absolute;top:8px;right:8px}.sysdiag-tools .chip{padding:0 var(--space-2);min-width:var(--control-h)}.sd-group{padding:3px 4px 3px var(--space-2);background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);align-items:center;gap:4px;display:flex}.sd-cap{font-size:var(--fs-xs);color:var(--mut);margin-right:2px}.sysdiag:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.sysdiag .bus{stroke:var(--bus);stroke-width:4px;stroke-linecap:round}.sysdiag .bus.sel{stroke:var(--acc)}.sysdiag .ln.mv{stroke:var(--acc);opacity:.7}.sysdiag .ln.warn{stroke:var(--warn)}.sysdiag .ln.bad{stroke:var(--bad)}.sysdiag .load{fill:var(--panel);stroke-width:1.6px;stroke:var(--mut)}.sysdiag .load.warn{stroke:var(--warn)}.sysdiag .load.bad{stroke:var(--bad)}.sysdiag .icon{color:var(--acc)}.sysdiag .icon.warn{color:var(--warn)}.sysdiag .icon.bad{color:var(--bad)}.sysdiag .fd,.sysdiag .bd{cursor:pointer;outline:none}.sysdiag .fd:hover .load,.sysdiag .bd:hover .box{stroke:var(--acc)}.sysdiag .fd:focus-visible .load,.sysdiag .bd:focus-visible .box{stroke:var(--acc);stroke-width:2px}.sysdiag .sel-ring{fill:none;stroke:var(--acc);stroke-width:1.5px;stroke-dasharray:4 3}.ls-spare-add{align-items:center}.ls-spare-add label{border-left:1px solid var(--line);align-items:center;gap:4px;padding:0 10px;font-size:12px;display:inline-flex}table.ls tr.ls-spare td{color:var(--mut)}.stage-head>div:last-child{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cards{gap:var(--space-3);padding:var(--space-3) var(--gutter) 0;grid-template-columns:minmax(300px,1fr) minmax(380px,1.4fr);display:grid}.card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:var(--space-4);min-width:0;overflow-x:auto}.card h4{margin:0 0 var(--space-3);font-size:var(--fs-md);font-weight:600}.summary{align-items:center;gap:14px;display:flex}.summary .kv{flex:1}.summary svg text{fill:var(--tx)}.summary svg .m{fill:var(--mut);font-size:11px}table.compact{min-width:0}table.compact th,table.compact td{padding:var(--space-1) var(--space-2)}.note{margin:8px 0 0;font-size:11px}.section-title{margin:var(--space-5) var(--gutter) 0;font-size:var(--fs-md);font-weight:600}@media (width<=1200px){.cards{grid-template-columns:minmax(0,1fr)}}.ptabs{flex-wrap:wrap;gap:0;margin:4px 0 10px;padding:0;overflow-x:visible}.ptabs button{font-size:var(--fs-sm);padding:8px 6px}.form-kv{grid-template-columns:fit-content(42%) minmax(0,1fr);align-items:center;gap:6px 10px;margin-bottom:10px;display:grid}.form-kv label{color:var(--mut);display:contents}.form-kv input,.form-kv select{width:100%;min-width:0;padding:5px 7px}.earth-system{gap:4px;margin:0 0 10px;display:grid}.earth-system select{max-width:100%}.earth-bonding{color:var(--mut);margin:4px 0 10px;display:block}.earth-bonding textarea{resize:vertical;width:100%;margin-top:4px;padding:5px 7px;display:block}.bar{background:var(--line);border-radius:4px;height:8px;margin:10px 44px 6px 0;position:relative}.bar span{background:var(--ok);border-radius:4px;position:absolute;inset:0 auto 0 0}.bar span.warn{background:var(--warn)}.bar span.bad{background:var(--bad)}.bar b{font-weight:600;position:absolute;top:-5px;right:-44px}.pn .linkish{margin:0}.mid>*{flex-shrink:0}.intro{margin:var(--space-2) 0 var(--space-1);max-width:1100px;line-height:1.5}.counts{align-items:center;gap:10px;margin-right:6px;display:inline-flex}.acc{color:var(--acc)}.setting{color:var(--mut);align-items:center;gap:6px;margin:0 12px 8px 0;display:inline-flex}select.chip{padding:0 var(--space-2)}.setting input{width:78px}.settings{flex-wrap:wrap;margin-bottom:4px;display:flex}.cards.flush{padding:0 0 4px}.section-title.flush{margin:var(--space-5) 0 var(--space-2)}.tcc-wrap{flex-wrap:wrap;align-items:flex-start;gap:16px;margin:6px 0 14px;display:flex}.tcc{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(100%,720px);height:auto}.tcc text{font-size:11px}.tcc .grid{stroke:var(--line);stroke-width:1px}.tcc .fault-line{stroke:var(--bad);stroke-width:1.2px;stroke-dasharray:5 4}.legend{gap:6px;margin:0;padding:0;list-style:none;display:grid}.legend span{vertical-align:middle;border-radius:2px;width:18px;height:3px;margin-right:8px;display:inline-block}table.schedule td,table.schedule th{padding:var(--space-1) var(--space-2)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius-md);min-height:200px;max-height:calc(100vh - 240px);overflow:auto}.table-scroll>table thead th{z-index:2;background:var(--panel);box-shadow:inset 0 -1px var(--line);position:sticky;top:0}.table-scroll>table tbody td:first-child,.table-scroll>table tfoot td:first-child{z-index:1;background:var(--bg);box-shadow:inset -1px 0 var(--line);position:sticky;left:0}.table-scroll>table thead th:first-child{z-index:3;box-shadow:inset 0 -1px var(--line),inset -1px 0 var(--line);left:0}.table-scroll>table tbody tr:hover td:first-child{background:color-mix(in srgb,var(--p2) 70%,var(--bg))}.table-scroll>table tr.total td:first-child{background:var(--p2)}tr.total td{background:var(--p2);font-weight:600}.ribbon{z-index:20;background:var(--panel);border-bottom:1px solid var(--line);position:relative}.ribbon-tabs{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--gutter) 0;display:flex;overflow-x:auto}.ribbon-tabs .ribbon-pin{border-radius:var(--radius-sm);flex:none;justify-content:center;min-width:28px;min-height:28px;padding:0}.ribbon.collapsed .ribbon-tabs{padding-bottom:var(--space-1)}.ribbon.collapsed .ribbon-tabs button[role=tab]{border-radius:var(--radius-sm)}.ribbon-tools.peek{box-shadow:var(--shadow-pop);border-bottom:1px solid var(--line);position:absolute;top:100%;left:0;right:0}.ribbon-tabs button{align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--mut);white-space:nowrap;display:inline-flex}.ribbon-tabs button:hover{color:var(--tx);background:var(--p2)}.ribbon-tabs button.on{background:var(--acc);color:var(--on-acc);font-weight:600}.stage-now{font-size:var(--fs-xs);border:1px solid var(--ok);color:var(--ok);border-radius:999px;padding:2px 6px;font-weight:600;line-height:1}.ribbon-tabs button.on .stage-now,.ribbon-subtabs button.on .stage-now{background:var(--panel)}.tab-sep{background:var(--line);flex:none;width:1px;height:18px;margin:0 6px}.ribbon-tools{padding:var(--space-1) calc(var(--gutter) - var(--space-2));background:var(--p2);border-top:1px solid var(--line);align-items:stretch;gap:0;display:flex;overflow-x:auto}.ribbon-subtabs{padding:0 var(--gutter);background:var(--p2);border-top:1px solid var(--line);gap:2px;display:flex}.ribbon-subtabs button{color:var(--mut);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.ribbon-subtabs button.on{color:var(--tx);border-bottom-color:var(--acc)}.ribbon-group{padding:0 var(--space-2);border-right:1px solid var(--line);flex-direction:column;align-items:stretch;gap:2px;display:flex}.ribbon-group-btns{flex:1;gap:2px;display:flex}.ribbon-caption{font-size:var(--fs-xs);color:var(--mut);text-align:center;letter-spacing:.02em;white-space:nowrap;padding-top:1px;line-height:1.2}.ribbon-group:last-child{border-right:0}.ribbon-group button{justify-content:center;align-items:center;gap:var(--space-1);min-width:56px;min-height:52px;padding:var(--space-1) 6px;border-radius:var(--radius-sm);color:var(--tx);font-size:var(--fs-sm);white-space:nowrap;flex-direction:column;display:flex}.ribbon-group button:hover:not(:disabled){background:var(--panel)}.ribbon-group button.on{background:var(--acc);color:var(--on-acc)}.ribbon-group button.page-on{color:var(--acc);box-shadow:inset 0 -2px 0 var(--acc);background:0 0}:root[data-theme=light] .ribbon-tabs button.on{background:var(--p2);color:var(--acc);box-shadow:inset 0 2px 0 var(--acc)}:root[data-theme=light] .ribbon-group button.on{background:color-mix(in srgb,var(--acc) 12%,var(--panel));color:var(--acc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent)}.theme-switching,.theme-switching *{transition:none!important}.ribbon-selected{padding:0 var(--space-3);border-left:1px solid var(--line);white-space:nowrap;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:110px;margin-left:auto;font-size:12px;display:flex}.ribbon-selected b{color:var(--acc);font-size:13px}.ribbon-group button:disabled{opacity:.45;cursor:not-allowed}.ribbon-group.more{position:static}.ribbon-menu{z-index:60;background:var(--panel);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:100%}.ribbon-menu button{flex-direction:row;justify-content:flex-start;min-width:0;padding:8px 10px;font-size:13px}.sysdiag.pan>svg,.sysdiag.pan .fd,.sysdiag.pan .bd{cursor:grab}.results-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.results-bar .toggle{border:1px solid var(--line);color:var(--mut);border-radius:14px;padding:3px 10px;font-size:12px}.results-bar .toggle.on{border-color:var(--acc);color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}.results-bar select{padding:4px 6px}.results-note{text-align:right;flex-basis:100%;font-size:12px}.sysdiag text.res{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;font-size:10.5px;font-weight:600}.sysdiag text.res.r-cur{fill:var(--res-cur)}.sysdiag text.res.r-fault{fill:var(--res-fault)}.sysdiag text.res.r-pf{fill:var(--res-pf)}.sysdiag text.res.ok{fill:var(--ok)}.sysdiag text.res.warn{fill:var(--warn)}.sysdiag text.res.bad{fill:var(--bad)}.sysdiag text.res.m{fill:var(--mut);font-weight:400}.sysdiag .tx{cursor:pointer}.sysdiag .tx:hover .tr{stroke-width:2.4px}.modal-sub{margin:var(--space-1) 0 0;font-size:var(--fs-md)}.sysdiag .sched{cursor:pointer}.sysdiag .sched:hover text{fill:var(--acc)}.ls-head{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:8px;padding:8px 10px;display:flex}.ls-head label{align-items:center;gap:6px;display:inline-flex}.ls-head input,.ls-head select{padding:3px 6px}.ls-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ls-actions .chip{align-items:center;gap:5px;display:inline-flex}.ls-wrap{border:1px solid var(--line);border-radius:8px;max-height:62vh;overflow:auto}table.ls{min-width:1500px;font-size:12px}table.ls th,table.ls td{text-align:center;border:1px solid var(--line);padding:3px 4px}table.ls thead th{background:var(--panel);z-index:1;position:sticky;top:0}table.ls th:not(.pt){font-size:inherit}table.ls thead tr:nth-child(2) th{top:26px}table.ls th.pt{font-size:var(--fs-xs);min-width:54px}table.ls .shade{background:color-mix(in srgb,var(--p2) 70%,var(--line))}table.ls input,table.ls select{color:var(--tx);font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:2px 3px}table.ls input:hover,table.ls select:hover,table.ls input:focus,table.ls select:focus{border-color:var(--line);background:var(--p2)}.grid-pick{z-index:80;background:var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow-pop);border-radius:6px;gap:2px;padding:4px;display:grid;position:fixed}.grid-pick button{border:1px solid var(--line);background:var(--p2);height:26px;color:var(--tx);font:inherit;cursor:pointer;border-radius:4px;padding:0 4px;font-size:12px}.grid-pick button:hover,.grid-pick button:focus-visible{border-color:var(--line-strong);background:color-mix(in srgb,var(--p2) 80%,var(--acc))}.grid-pick button.on{border-color:var(--acc);color:var(--acc);font-weight:600}table.ls .pt-in{text-align:center;width:50px}table.ls .room{text-align:left;min-width:110px}table.ls .hdr-in{font-weight:600;font-size:var(--fs-xs);text-align:center;width:54px}table.ls tr.watt-row td{background:var(--p2);font-size:11px}table.ls tr.alt td:not(.shade){background:color-mix(in srgb,var(--panel) 60%,transparent)}table.ls td.elcb{font-size:var(--fs-xs);background:var(--p2);min-width:78px}table.ls tbody tr{cursor:default}.icon-btn{min-width:26px;min-height:26px;color:var(--mut);padding:0 var(--space-1);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex}.trash-toggle{color:inherit;font:inherit;align-items:center;gap:2px;margin-left:0;display:inline-flex}.icon-btn:hover{color:var(--bad);background:var(--p2)}.icon-btn.md-del-blocked{opacity:.4}.ph-r{color:var(--ph-r)}.ph-y{color:var(--ph-y)}.ph-b{color:var(--ph-b)}.ph-ryb{color:var(--ph-ryb)}table.ls tr.watt-row input{text-align:center;width:50px;padding:2px 1px}.ls-missing{border:1px solid var(--warn);border-radius:6px;margin:0 0 8px;padding:6px 10px}table.ls td.missing{outline:1px solid var(--warn);outline-offset:-2px}table.ls .cat{vertical-align:1px;border-radius:3px;margin-left:4px;padding:0 3px;font-size:9.5px;font-weight:700;display:inline-block}table.ls .cat-lighting{background:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn)}table.ls .cat-power{background:color-mix(in srgb,var(--acc) 25%,transparent);color:var(--acc)}table.ls td.elcb.warn{outline:1px solid var(--warn);outline-offset:-2px}.db-issues{border:1px solid var(--warn);border-radius:8px;margin-bottom:10px;padding:8px 12px}.db-issues ul{margin:6px 0 0;padding-left:18px;line-height:1.6}.db-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;display:flex}.db-bar .chip,.stage-head .chip{align-items:center;gap:5px;display:inline-flex}table.ls select.lib-pick{width:50px;color:var(--mut);margin-top:2px;padding:0;font-size:9.5px}table.ls select.lib-pick.linked{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 50%,transparent)}.vd-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:14px;display:grid}.vd-pick{background:var(--panel);border:1px solid var(--line);border-radius:8px;max-height:75vh;padding:8px 10px;position:sticky;top:0;overflow:auto}.vd-pick-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:6px;display:flex}.vd-pick button.link{color:var(--acc);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.vd-panel{padding:4px 0 6px}.vd-panel-row,.vd-cable-row{cursor:pointer;align-items:center;gap:6px;padding:2px 0;display:flex}.vd-cable-row{font-size:var(--fs-sm);padding-left:20px}.vd-cable-row .m,.vd-panel-row .m{margin-left:auto;font-size:11px}.vd-main{min-width:0;overflow-x:auto}.vd-summary{margin:2px 0 8px}.vd-summary .counts{gap:8px;display:inline-flex}.vd-empty{padding:24px 4px}.vd-table{white-space:nowrap}.vd-table tr.vd-group td{background:var(--p2);color:var(--bus);font-weight:600}.vd-table td.vd-remarks{white-space:normal;min-width:120px}td.ec.editable{cursor:cell;box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--acc) 45%,transparent)}td.ec.editable:hover{background:color-mix(in srgb,var(--acc) 10%,transparent)}td.ec.locked{color:var(--mut)}td.ec.editing{padding:2px 4px;position:relative}td.ec input,td.ec select{background:var(--bg);width:100%;min-width:70px;color:var(--tx);border:1px solid var(--acc);font:inherit;border-radius:4px;padding:4px 6px}td.ec input[aria-invalid=true]{border-color:var(--bad)}td.ec .ec-err{z-index:2;background:var(--bad);color:#fff;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;top:100%;left:4px}@media (width<=900px){.vd-layout{grid-template-columns:1fr}.vd-pick{max-height:none;position:static}}.form-tabs{margin:4px 0 10px}.form-tabs button:disabled{opacity:.45;cursor:not-allowed}.md-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.md-head{font-size:var(--fs-sm);grid-template-columns:1.2fr 1.6fr 1fr;gap:4px 16px;margin-bottom:8px;display:grid}.md-head span{color:var(--mut)}.md-title{text-align:center;font-weight:700;font-size:var(--fs-md);grid-row:span 1}.md-foot{font-size:var(--fs-sm);gap:6px;margin-top:8px;display:grid}.md-connected{color:var(--mut)}.md-demand{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.md-demand .chip{margin-left:auto}.md-blank{color:var(--mut)}.rev-issue{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.rev-issue input{min-width:320px;padding:6px 8px}.rev-issue input.rev-by{width:110px;min-width:110px}.rev-table td.rev-actions{white-space:nowrap}.rev-table td.rev-actions .chip{margin-right:6px}.rev-diff{margin-top:16px}.rev-diff-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.rev-kw{max-width:640px;margin-bottom:12px}.rev-group h4{color:var(--bus);margin:12px 0 4px}.rev-group ul{margin:0;padding-left:0;list-style:none}.rev-group li{border-bottom:1px solid var(--line);padding:5px 0}.rev-kind{text-transform:uppercase;min-width:66px;font-size:11px;font-weight:700;display:inline-block}.rev-kind.added{color:var(--ok)}.rev-kind.removed{color:var(--bad)}.rev-kind.changed{color:var(--warn)}.rev-fields{color:var(--mut);font-size:var(--fs-sm);flex-wrap:wrap;gap:4px 16px;margin:3px 0 0 70px;display:flex}.rev-fields s{color:var(--bad);opacity:.8}.md-rev{color:var(--acc);margin-left:10px;font-weight:600}.sld-edit{flex-wrap:wrap;align-items:stretch;gap:10px;min-width:0;display:flex}.sld-edit .sysdiag{flex:1;min-width:0}.palette{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex:none;width:210px;min-width:156px;max-height:70vh;padding:8px;position:relative;overflow:auto}.palette.closed{background:0 0;border:0;width:auto;min-width:0;padding:6px}.palette-head{justify-content:space-between;align-items:center;display:flex}.palette-tip{margin:4px 0 6px;font-size:11px;line-height:1.3}.palette-item{border:1px solid var(--line);background:var(--p2);cursor:grab;font-size:var(--fs-sm);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:7px;padding:5px 7px;display:flex}.palette-item:hover{border-color:var(--acc);color:var(--acc)}.palette-item:active{cursor:grabbing}.sysdiag .bus-hit{stroke:#0000;stroke-width:28px;pointer-events:stroke}.sysdiag .bd.drop-ok .bus,.sysdiag .bd.drop-ok .box{stroke:var(--acc);stroke-width:5px}.sysdiag .bd.drop-ok .box{stroke-width:2.5px}.sysdiag .fd.drop-ok .ln,.sysdiag .fd.drop-ok .sym,.sysdiag .fd.drop-ok .load{stroke:var(--acc);stroke-width:2.5px}.sysdiag.drop-ok>svg{outline:2px dashed var(--acc);outline-offset:-4px}.sysdiag .cable-lbl{cursor:pointer}.sysdiag .cable-lbl:hover{fill:var(--acc);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.move-ghost{z-index:5;pointer-events:none;background:var(--acc);color:var(--on-acc);white-space:nowrap;box-shadow:var(--shadow-pop);border-radius:5px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute}.cable-edit{z-index:6;background:var(--panel);border:1px solid var(--acc);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);border-radius:8px;grid-template-columns:auto auto;align-items:center;gap:6px 10px;padding:10px 12px;display:grid;position:absolute}.cable-edit b{grid-column:1/-1}.cable-edit label{display:contents}.cable-edit select,.cable-edit input{width:110px;padding:4px 6px}.cable-edit input[aria-invalid=true]{border-color:var(--bad)}.cable-edit-actions{grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.supply-seg button:disabled{opacity:.45;cursor:not-allowed}.results-bar select:disabled{opacity:.5}.sysdiag .off{opacity:.22;filter:grayscale()}.sysdiag .gen-live{fill:none;stroke:var(--ok);stroke-width:2.5px;stroke-dasharray:4 3}.heat-legend{z-index:3;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);font-size:var(--fs-sm);border-radius:8px;gap:3px;min-width:220px;padding:7px 10px;display:grid;position:absolute;bottom:10px;left:10px}.heat-bar{background:linear-gradient(90deg,#23e743 0% 50%,#e7b623 85%,#ea3e3e 100%);border-radius:5px;height:9px}.heat-ticks{color:var(--mut);font-size:var(--fs-xs);justify-content:space-between;display:flex}.mode-banner{z-index:3;background:color-mix(in srgb,var(--ok) 18%,var(--panel));border:1px solid var(--ok);color:var(--tx);white-space:nowrap;text-overflow:ellipsis;border-radius:14px;max-width:90%;padding:4px 12px;font-size:12px;position:absolute;top:8px;left:50%;overflow:hidden;transform:translate(-50%)}.paste-preview{font-size:var(--fs-sm);flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;display:flex}.paste-preview s{color:var(--mut)}.sysdiag .disc-ring{fill:none;stroke-width:2.4px;stroke-dasharray:3 2}.sysdiag .space-ln{stroke-dasharray:4 3}.sysdiag .disc-ring.ok{stroke:var(--ok)}.sysdiag .disc-ring.warn{stroke:var(--warn)}.sysdiag .disc-ring.bad{stroke:var(--bad)}.disc h3 .m{margin-left:6px;font-size:12px;font-weight:400}.disc-chain{gap:6px;margin:6px 0 8px;padding:0;list-style:none;display:grid}.disc-chain li{border-left:3px solid var(--line);font-size:var(--fs-sm);padding:4px 8px}.disc-chain li.ok{border-color:var(--ok)}.disc-chain li.warn{border-color:var(--warn)}.disc-chain li.bad{border-color:var(--bad)}.disc-chain .pill{margin-left:6px}.tcc-wrap.compact .tcc{max-height:220px}.tcc-wrap.compact .legend{font-size:var(--fs-sm)}.sysdiag .tie{cursor:pointer}.sysdiag .tie-ln{stroke:var(--bus);stroke-width:3px;stroke-dasharray:8 6}.sysdiag .tie.closed .tie-ln{stroke-dasharray:none;stroke:var(--ok)}.sysdiag .tie:hover .sym{stroke:var(--acc)}.sysdiag .failed-tx line{stroke:var(--bad);stroke-width:3.5px}.mode-banner.bad{background:color-mix(in srgb,var(--bad) 18%,var(--panel));border-color:var(--bad)}.supply-pick.active select{border-color:var(--warn);color:var(--warn)}.plan-settings{flex-wrap:wrap;align-items:end;gap:8px 16px;margin-bottom:10px;display:flex}.plan-settings label{color:var(--mut);gap:3px;font-size:12px;display:grid}.plan-settings input,.plan-settings select,.plan-table input,.plan-table select,.plan-uses input{width:120px;padding:4px 6px}.plan-uses{margin-bottom:10px}.plan-uses input{width:80px}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:6px 0 12px;display:grid}.plan-cards>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.plan-cards span{font-size:var(--fs-sm);color:var(--mut)}.plan-cards b{font-size:15px}.plan-cards small{color:var(--mut);font-size:11px}.plan-cards small.warn{color:var(--warn)}.plan-cards small.ok{color:var(--ok)}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;margin-top:6px;display:grid}.plan-table input{width:110px}.section-title .chip{font-size:var(--fs-sm);padding:0 var(--space-2);min-height:var(--control-h-sm);margin-left:6px}.plan-tree{background:var(--panel);border:1px solid var(--line);white-space:pre-wrap;border-radius:8px;padding:10px 14px;font:12.5px/1.6 ui-monospace,Menlo,monospace}.plan-tx .ok{color:var(--ok)}.plan-tx .warn{color:var(--warn)}.plan-tx .bad{color:var(--bad)}.plan-areas{color:var(--mut)}.tray-check{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex!important}.tray-check input{width:auto!important}.tray-route{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:10px 12px}.tray-head,.tray-add,.tray-opts{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.tray-head{color:var(--mut);margin-bottom:8px;font-size:12px}.tray-head label,.tray-opts label{align-items:center;gap:6px;display:flex}.tray-head label:first-child input{font-size:14px;font-weight:700}.tray-head .sp{flex:1}.tray-add{margin-bottom:8px;font-size:12px}.tray-route input,.tray-route select{padding:3px 6px}.tray-table{width:100%}.tray-table td input{width:100%;min-width:70px}.tray-table td .tray-num{min-width:0}.tray-table .l{text-align:left}.tray-table tr.tray-ecc td{color:var(--mut);font-size:12px}.tray-size{align-items:center;gap:4px;display:inline-flex}.tray-size input{min-width:0!important}.tray-calc{color:var(--mut);gap:6px;margin-top:8px;font-size:12px;display:grid}.tray-result{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.tray-pick{color:var(--tx);align-items:center;gap:6px;display:inline-flex}.tray-answer{font-size:14px}.tray-answer.ok,.tray-summary td.ok{color:var(--ok)}.tray-answer.warn,.tray-summary td.warn{color:var(--warn)}.tray-answer.bad,.tray-summary td.bad,.tray-table td.bad{color:var(--bad)}.tray-table td.warn{color:var(--warn)}.tray-summary td.l{text-align:left}.tray-empty{text-align:center;padding:20px}.tray-unrouted{background:color-mix(in srgb,var(--warn) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));font-size:var(--fs-sm);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0;padding:7px 12px;display:flex}.tray-unrouted b{color:var(--warn)}.tray-fit{flex-wrap:wrap;align-items:center;gap:4px 10px;display:inline-flex}.tray-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}.tray-body .tray-table{overflow-x:auto}.tray-section{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;width:fit-content;max-width:100%;margin:0;padding:6px}.tray-section svg{max-width:100%;height:auto;display:block}.tray-section figcaption{color:#6a7689;margin-top:3px;font-size:11px}.tray-routing-grid{max-height:44vh}.sr-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:12px;display:grid}.sr-box{background:var(--panel);border:1px solid var(--line);font-size:var(--fs-sm);border-radius:10px;gap:7px;padding:10px 12px;display:grid}.sr-box h4{font-size:var(--fs-md);margin:0}.sr-tabs{margin:4px 0 10px}.sr-tab-sub{font-weight:400;font-size:var(--fs-sm)}.sr-tab-sub.warn{color:var(--warn)}.sr-pane{max-width:1100px}.sr-studies{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));column-gap:20px}.sr-sub{margin-top:6px!important}.sr-quick,.sr-presets{flex-wrap:wrap;gap:6px;display:flex}.sr-check{align-items:center;gap:7px;display:flex}.sr-tree{border:1px solid var(--line);background:var(--p2);border-radius:6px;gap:2px;max-height:300px;padding:6px 8px;display:grid;overflow:auto}.sr-tree label{white-space:nowrap;align-items:center;gap:6px;display:flex}.sr-tree label.implied{opacity:.75}.sr-study{border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);align-items:flex-start;gap:8px;padding:4px 0;display:flex}.sr-study input{margin-top:3px}.sr-study>span{gap:1px;display:grid}.sr-study em{font-style:normal;font-size:var(--fs-sm);font-weight:600}.sr-study small{color:var(--mut);font-size:var(--fs-sm)}.sr-study em.ok{color:var(--ok)}.sr-study em.warn{color:var(--warn)}.sr-study em.bad{color:var(--bad)}.sr-fields{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.sr-fields label{color:var(--mut);font-size:var(--fs-sm);gap:2px;display:grid}.sr-fields input,.sr-save input{font-size:var(--fs-sm);padding:4px 6px}.sr-type-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sr-type-list .chip.on{background:var(--acc);color:var(--on-acc)}.sr-checks td{vertical-align:top}.sr-standards{color:var(--mut);font-size:var(--fs-sm);gap:3px;margin-top:8px;display:grid}.sr-standards textarea,.sr-fields select{font-size:var(--fs-sm);resize:vertical;padding:4px 6px}.sr-save{gap:6px;display:flex}.sr-save input{flex:1}.sr-preset{align-items:center;gap:2px;display:inline-flex}.sr-sld{border:1px solid var(--line);border-radius:8px;height:460px;position:relative;overflow:hidden}.sr-sld .sysdiag{height:100%}.sr-sld.stale{opacity:.55}.sr-contents details{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:6px 10px}.sr-contents summary{cursor:pointer;font-size:13px}.sr-contents .ok{color:var(--ok)}.sr-contents .warn{color:var(--warn)}.sr-contents .bad{color:var(--bad)}.sr-table h5{margin:10px 0 4px;font-size:12px}.sr-table{overflow-x:auto}.sysdiag .from-up text{font-size:11px}.qc-tabs{flex-wrap:wrap;margin:0 0 12px;padding:0}.qc-tabs button{min-height:36px;font-size:var(--fs-md);padding:0 12px}@media (width<=600px){.qc-tabs{z-index:2;background:var(--bg);scrollbar-width:thin;flex-wrap:nowrap;position:sticky;top:0}}@media (pointer:coarse){.qc-tabs button{min-height:44px}.qc-field input,.qc-field select{min-height:40px}}.qc-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;max-width:620px;display:grid}.qc-grid:has(.has-aside){max-width:1280px}.qc-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:14px;padding:10px 12px;display:grid}.qc-card.has-aside{grid-template-columns:minmax(300px,520px) minmax(0,1fr);align-items:start}@media (width<=1000px){.qc-card.has-aside{grid-template-columns:minmax(0,1fr)}}.qc-main{gap:8px;min-width:0;display:grid}.qc-aside{align-content:start;gap:12px;min-width:0;display:grid}.qc-aside h5{color:var(--mut);margin:0 0 4px;font-size:12px;font-weight:600}.qc-triangle{width:100%;max-width:420px;height:auto}.qc-triangle line{stroke-width:3px;stroke-linecap:round}.qc-triangle .p{stroke:var(--acc)}.qc-triangle .q{stroke:var(--warn)}.qc-triangle .s{stroke:var(--tx);stroke-width:2px}.qc-triangle .arc{fill:none;stroke:var(--mut)}.qc-triangle text{fill:var(--tx);font-variant-numeric:tabular-nums;font-size:12px}.qc-triangle .lp{fill:var(--acc)}.qc-triangle .lq{fill:var(--warn)}.qc-steps pre{color:var(--tx);white-space:pre-wrap;margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.7}.qc-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.qc-tiles>div{background:var(--p2);border:1px solid var(--line);border-radius:8px;gap:2px;padding:6px 10px;display:grid}.qc-tiles span{color:var(--mut);font-size:11px}.qc-tiles b{font-variant-numeric:tabular-nums;font-size:15px}.qc-supply .link-btn{color:var(--acc);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0}.qc-supply .link-btn:hover{text-decoration:underline}.qc-candidates table{font-variant-numeric:tabular-nums;width:100%;font-size:12px}.qc-candidates th,.qc-candidates td{height:auto;padding:4px 6px}.qc-candidates tr.chosen td{background:color-mix(in srgb,var(--acc) 14%,transparent);font-weight:600}.qc-candidates p{font-size:var(--fs-sm);color:var(--mut);margin:6px 0 0}.qc-chart svg{width:100%;max-width:520px;height:auto}.qc-chart .grid{stroke:var(--line);stroke-width:.6px}.qc-chart .axis{stroke:var(--mut);stroke-width:1px}.qc-chart text{fill:var(--mut);font-variant-numeric:tabular-nums;font-size:12px}.qc-chart .cap{fill:var(--mut);font-size:12px}.qc-chart .curve{fill:none;stroke:var(--acc);stroke-width:2.2px}.qc-chart .limit line{stroke:var(--bad);stroke-width:1.2px;stroke-dasharray:6 4}.qc-chart .limit text{fill:var(--bad)}.qc-chart .ref line{stroke:var(--warn);stroke-width:1px;stroke-dasharray:4 4;opacity:.8}.qc-chart .ref text{fill:var(--warn)}.qc-chart .mark circle{fill:var(--acc);stroke:var(--bg);stroke-width:2px}.qc-chart .mark text{fill:var(--tx);font-size:11px;font-weight:600}.qc-triangle .before{stroke:var(--mut);stroke-dasharray:5 4}.qc-triangle .cap-q{stroke:var(--ok);stroke-width:3px}.qc-triangle .muted{fill:var(--mut)}.qc-note{font-size:var(--fs-sm);color:var(--mut);margin:0}.qc-key{vertical-align:middle;border-top:2px solid var(--tx);width:18px;display:inline-block}.qc-key.dash{border-top:2px dashed var(--mut)}.lux-plan{gap:6px;margin:0;display:grid}.lux-plan svg{background:var(--canvas-bg);border:1px solid var(--line);border-radius:8px;width:100%;height:auto}.lux-plan .room{fill:var(--p2);stroke:var(--tx);stroke-width:2px}.lux-plan .axis{stroke:var(--mut);stroke-width:.6px;stroke-dasharray:6 4;opacity:.6}.lux-plan .lum circle{fill:color-mix(in srgb,var(--warn) 22%,var(--p2));stroke:var(--warn);stroke-width:1.4px}.lux-plan .lum path{stroke:var(--warn);stroke-width:1.2px}.lux-plan .dim,.lux-plan .ext{stroke:var(--mut);stroke-width:.8px}.lux-plan .ext{stroke-dasharray:2 3;opacity:.7}.lux-plan .tick{stroke:var(--tx);stroke-width:1.2px}.lux-plan text{fill:var(--tx);font-variant-numeric:tabular-nums;font-size:11px}.lux-plan .overall{font-size:12px;font-weight:600}.lux-plan figcaption{font-size:var(--fs-sm);color:var(--mut)}.qc-card header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qc-card header h4{margin-right:auto}.qc-saved{color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px}.qc-reset{min-height:30px;padding:0 10px;font-size:13px}.qc-card h4{margin:0;font-size:14px}.qc-inputs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 10px;display:grid}.qc-field{font-size:var(--fs-sm);color:var(--mut);gap:3px;display:grid}.qc-in{align-items:center;gap:5px;display:flex}.qc-in em{font-style:normal;font-size:var(--fs-sm);color:var(--mut)}.qc-field input,.qc-field select{max-width:100%;padding:6px 8px;font-size:14px}.qc-field select{width:100%}.qc-field [aria-invalid=true]{border-color:var(--bad)}.qc-field .qc-field-error{color:var(--bad);font-size:var(--fs-sm);line-height:1.35}.qc-result{background:color-mix(in srgb,var(--acc) 7%,var(--p2));border:1px solid color-mix(in srgb,var(--acc) 25%,var(--line));border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;padding:8px 10px;display:grid}.qc-out{gap:1px;display:grid}.qc-out span{font-size:var(--fs-sm);color:color-mix(in srgb,var(--mut) 80%,var(--tx))}.qc-out b{font-variant-numeric:tabular-nums;font-size:15px}.qc-out.main b{color:var(--acc);font-size:19px}.qc-out small{font-size:var(--fs-sm);color:color-mix(in srgb,var(--mut) 80%,var(--tx));font-weight:500}.qc-result p{grid-column:1/-1;margin:0;font-size:12px;font-weight:600}.qc-ok{color:var(--ok)}.qc-bad{color:var(--bad)}.qc-warn{font-size:var(--fs-sm);color:var(--mut);grid-column:1/-1;margin:0}.qc-formula{color:var(--mut);margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.4}.sysdiag .acc .sym-ln{fill:none;stroke:var(--tx);stroke-width:1.2px}.sysdiag .acc .acc-t{fill:var(--mut);font-size:9px}.sysdiag text.dev{fill:var(--tx);font-size:11px;font-weight:700}.sysdiag text.dev-k{fill:var(--mut);font-size:10px}.sysdiag text.dev.bus-t{fill:var(--bus)}.sysdiag .acc .acc-t.b{fill:var(--tx);font-size:8px;font-weight:700}.sysdiag .acc .bg-fill{fill:var(--bg);stroke:none}.sysdiag .acc .dot{fill:var(--tx)}.palette-item{position:relative}.palette-search{box-sizing:border-box;background:var(--p2);width:100%;color:var(--tx);border:1px solid var(--field-line);font:inherit;font-size:var(--fs-sm);border-radius:6px;margin:4px 0;padding:5px 7px}.palette-count{margin-left:auto;font-size:10px;font-weight:400}.palette-acts{gap:0;margin-left:auto;display:inline-flex}.palette-acts .icon-btn{opacity:0;padding:1px 3px;font-size:11px}.palette-item:hover .palette-acts .icon-btn,.palette-acts .fav.on{opacity:1}.palette-acts .fav.on{color:var(--warn)}.dm-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:8px;margin:10px 0;padding:10px 12px;display:grid}.dm-head{color:var(--mut);flex-wrap:wrap;align-items:end;gap:8px 14px;font-size:12px;display:flex}.dm-head label{gap:3px;display:grid}.dm-head .sp{flex:1}.dm-head input,.dm-head select,.dm-remarks textarea{padding:4px 6px;font-size:13px}.dm-head label:first-child input{width:130px;font-weight:700}.dm-rooms{width:100%}.dm-rooms .l{text-align:left}.dm-total td{background:color-mix(in srgb,var(--acc) 6%,transparent);font-weight:600}.dm-err{margin:0;font-weight:600}.dm-notes summary,.dm-table summary{cursor:pointer;font-size:var(--fs-sm);color:var(--mut)}.dm-notes ol{font-size:var(--fs-sm);margin:6px 0;padding-left:20px;line-height:1.5}.dm-remarks{color:var(--mut);gap:3px;font-size:12px;display:grid}.dm-table{margin-top:14px}.plan-cards b.bad{color:var(--bad)}.plan-cards b.ok{color:var(--ok)}.nf{font-size:var(--fs-sm);color:var(--mut);gap:2px;display:grid}.nf-in{align-items:center;gap:5px;display:flex}.nf-in em{font-style:normal;font-size:var(--fs-sm)}.nf input,.nf select{max-width:100%;padding:4px 6px;font-size:13px}.sr-box .nf{grid-template-columns:1fr auto;align-items:center}.ups-settings{flex-wrap:wrap;align-items:end;gap:8px 14px;display:flex}.ups-loads td input{width:100%;padding:3px 6px}.ups-loads td .nf span:first-child{display:none}.ups-loads .l{text-align:left}.ups-foot{font-size:var(--fs-sm)}.pv-check .l{text-align:left}.pv-check td.ok{color:var(--ok);font-weight:700}.pv-check td.bad{color:var(--bad);font-weight:700}.sysdiag .insert-guide line{stroke:var(--acc);stroke-width:2.5px;stroke-dasharray:6 4}.sysdiag .insert-guide circle{fill:var(--acc)}.sysdiag .iec .sym-open,.iec .sym-open{fill:none;stroke:var(--tx);stroke-width:1.5px}.sysdiag .iec .sym-fill,.iec .sym-fill{fill:var(--tx);stroke:none}.sysdiag .iec .thick,.iec .thick{stroke-width:2.5px}.sysdiag .iec-t,.iec-t{fill:var(--tx);font-size:9px}.sysdiag .iec-t.b,.iec-t.b{font-size:11px;font-weight:700}.sysdiag .iec-t.s,.iec-t.s{font-size:7.5px}.sysdiag .legend-box{fill:var(--panel);stroke:var(--mut);stroke-width:1px}.sysdiag .legend-t{fill:var(--tx);font-size:10.5px}.sysdiag-tools .chip.on{border-color:var(--acc);color:var(--acc)}.sysdiag .ln.fr{stroke-dasharray:7 3;stroke-width:2.6px}.fr-cell{color:var(--bad);font-weight:700}.sysdiag .rmu-box{fill:color-mix(in srgb,var(--acc) 12%,var(--p2))}.gx-wrap{border:1px solid var(--line);border-radius:8px;max-height:62vh;overflow:auto}.gx{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.gx th{z-index:1;background:var(--panel);color:var(--mut);font-weight:600;font-size:var(--fs-xs);letter-spacing:.02em;border-bottom:1px solid var(--line);border-right:1px solid color-mix(in srgb,var(--line) 60%,transparent);white-space:normal;vertical-align:bottom;padding:6px;line-height:1.2;position:sticky;top:0}.gx thead tr:first-child th.gx-group{color:var(--tx);text-align:center;border-bottom:1px solid var(--line)}.gx thead tr:nth-child(2) th{top:26px}.gx thead tr:only-child th{top:0}.gx th.gx-blank{border-bottom:none}.gx td{border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-right:1px solid color-mix(in srgb,var(--line) 45%,transparent);text-align:center;white-space:nowrap;height:32px;padding:0 6px}.gx td.l{text-align:left}.gx td.gx-calc{color:var(--mut);background:color-mix(in srgb,var(--p2) 40%,transparent)}.gx td.gx-label{text-align:left;background:var(--p2);color:var(--bus);font-weight:700}.gx td.gx-muted{opacity:.5}.gx td.gx-act,.gx th.gx-act{border-right:none;width:30px;min-width:30px;padding:0 2px}.gx td.gx-in{padding:0}.gx td.gx-in input,.gx td.gx-in select{width:100%;min-width:60px;height:32px;color:var(--tx);font:inherit;text-align:inherit;background:0 0;border:0;outline:none;padding:0 6px}.gx td.gx-in.l input{text-align:left}.gx td.gx-in select{cursor:pointer}.gx td.gx-in input:focus,.gx td.gx-in select:focus,.gx td[data-cell]:focus{box-shadow:inset 0 0 0 2px var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.gx td[data-cell]{outline:none}.gx tbody tr:hover td{background:color-mix(in srgb,var(--p2) 55%,transparent)}.gx tfoot td{background:var(--panel);border-top:1px solid var(--line);height:32px;font-weight:700;position:sticky;bottom:0}td.gx-sel,.ls td.gx-sel{background:color-mix(in srgb,var(--acc) 22%,transparent)!important}.plan-areas-grid{max-height:45vh}.stale-banner{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--warn);border-radius:var(--radius-md);background:color-mix(in srgb,var(--warn) 12%,var(--panel));font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.sysdiag.stale .res,.sysdiag.stale circle[style*=fill],.sysdiag.stale .disc-ring,.sysdiag.stale .heat-legend{opacity:.35}.sysdiag.stale g.fd .ln[style*=stroke],.sysdiag.stale .bus[style*=stroke]{opacity:.4}.calc-state{align-items:center;gap:var(--space-1);font-size:12px;display:inline-flex}.calc-state.warn{color:var(--warn)}.calc-state.ok{color:var(--ok)}.run-chip{font-weight:600}.run-chip.stale,.ribbon-tools button.stale{color:var(--warn);border-color:var(--warn);animation:1.6s ease-in-out infinite runPulse}@keyframes runPulse{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 35%,transparent)}}.foot .chip{padding:0 var(--space-2);font-size:var(--fs-xs);min-height:22px}.projects-h{margin:0 0 var(--space-2);color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.project-cards{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.project-card{align-items:flex-start;gap:var(--space-1);text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--p2);flex-direction:column;min-width:0;display:flex}.project-card:hover{border-color:var(--acc)}.project-card.on{box-shadow:inset 3px 0 var(--acc)}.project-card b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.project-card .m{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pstat{font-size:var(--fs-xs);color:var(--mut);border:1px solid;border-radius:9px;padding:1px 7px}.s-submitted,.s-review{color:var(--acc)}.s-comments{color:var(--warn)}.s-approved,.s-ifc,.s-completed{color:var(--ok)}.s-hold{color:var(--bad)}.projects-tools{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.projects-tools .search{align-items:center;gap:var(--space-2);min-height:var(--control-h);background:var(--p2);border:1px solid var(--field-line);border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--mut);display:flex}.projects-tools .search:focus-within{border-color:var(--acc);outline:2px solid var(--acc);outline-offset:-1px}.projects-tools input{color:var(--tx);font:inherit;background:0 0;border:0;outline:none;width:260px;max-width:60vw;padding:6px 0}.projects-tools select,.pstat-sel{min-height:var(--control-h)}.pstat-sel{padding:3px 5px;font-size:12px}.projects-table tr.on td{background:var(--p2)}.projects-table .linkish{color:var(--tx);margin-left:0;font-weight:600;text-decoration:none}.projects-table .linkish:hover{color:var(--acc);text-decoration:underline}.projects-table .acts{text-align:right}.prefs{max-width:620px}.prefs-tabs{margin:0;padding:0}.logo-row{align-items:center;gap:12px;display:flex}.logo-row .chip{margin-right:6px}.logo-box{border:1px dashed var(--line);background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:150px;height:60px;display:flex}.logo-box img{max-width:140px;max-height:52px}.logo-box .m{color:#667}.user-chip{gap:var(--space-2);padding-left:var(--space-1)}.user-chip .av{background:var(--acc);width:22px;height:22px;color:var(--on-acc);font-size:var(--fs-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.dirty-dot{background:var(--warn);border-radius:50%;flex:none;width:8px;height:8px;margin-left:4px;display:inline-block}.recover-bar{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--gutter);background:color-mix(in srgb,var(--warn) 12%,transparent);border-bottom:1px solid var(--warn);flex-wrap:wrap;font-size:13px;display:flex}.nav .nav-more{color:var(--mut);font-size:12px}.pfc-setup{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}@media (width<=900px){.pfc-setup{grid-template-columns:1fr}}.pfc-setup .card{flex-direction:column;gap:8px;display:flex}.pfc-setup h4{margin:0}.pfc-strategies{flex-direction:column;gap:4px;display:flex}.pfc-strategy{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.pfc-strategy.on{border-color:var(--acc);background:var(--p2)}.pfc-strategy input{margin-top:3px}.pfc-boards-head{align-items:baseline;gap:8px;display:flex}.pfc-boards{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.pfc-setup label.row{align-items:center;gap:6px;display:flex}.pfc-design{flex-direction:column;gap:8px;display:flex}.pfc-design label{color:var(--mut);flex-direction:column;gap:3px;font-size:12px;display:flex}.pfc-design select{padding:6px 8px}.pfc-mains{margin-bottom:10px}.pfc-kpi{flex-direction:column;gap:3px;display:flex}.pfc-actions{align-items:center;gap:12px;margin:4px 0 8px;display:flex}.pfc-table td{vertical-align:top}.pfc-table tr.sub td{background:var(--row-sub)}.pfc-note{color:var(--mut);white-space:normal;max-width:360px;margin-top:2px;font-size:11px}.pfc-note.warn{color:var(--warn)}.txg-card{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.txg-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.txg-head h4{margin:0}.txg-head .settings{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.txg-sel{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex}.txg-sel select{padding:4px 6px}.txg-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.txg-pick label,.txg-head label.row,.txg-board label{align-items:center;gap:5px;display:flex}.txg-table td{vertical-align:top}.txg-table tr.sub td{background:var(--row-sub);font-size:var(--fs-sm)}.txg-toggle{align-items:center;margin:0 6px 0 0;text-decoration:none;display:inline-flex}.txg-gen{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;display:grid}@media (width<=900px){.txg-gen{grid-template-columns:1fr}}.txg-boards{flex-direction:column;gap:3px;max-height:260px;margin-top:4px;display:flex;overflow-y:auto}.txg-board{align-items:center;gap:8px;min-height:24px;display:flex}.txg-pct input{width:44px;padding:2px 5px}.txg-board .tag{font-size:var(--fs-xs);border:1px solid var(--acc);color:var(--acc);border-radius:8px;padding:0 6px}.txg-adv summary{cursor:pointer;color:var(--mut);font-size:var(--fs-sm)}.tree{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.tree.closed{align-items:center;width:34px;padding-top:8px}.tree-tabs{padding:var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--line);align-items:center;gap:2px;display:flex}.tree-tabs [role=tab]{color:var(--mut);font:inherit;font-weight:600;font-size:var(--fs-sm);min-height:30px;padding:0 var(--space-2);cursor:pointer;gap:var(--space-1);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;display:inline-flex}.tree-tabs [role=tab]:hover{color:var(--tx)}.tree-tabs [role=tab].on{color:var(--tx);border-bottom-color:var(--acc)}.tree-tabs [role=tab] .m{font-size:11px;font-weight:400}.tree-equip{flex:1;min-height:0;padding:6px 8px 8px;overflow:auto}.palette.docked{background:0 0;border:0;width:auto;min-width:0;max-height:none;padding:0;overflow:visible}.tree-head{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-1) var(--space-3);flex-wrap:nowrap;min-width:0;display:flex;overflow:hidden}.tree-head .m{font-size:11px}.tree-head .icon-btn{flex:none;min-width:24px;padding:0 2px}.tree-search{margin:var(--space-1) var(--space-2) var(--space-2);min-height:var(--control-h)}.tree-body{padding:0 var(--space-1) var(--space-2);flex:1;overflow:auto}.tree-row{align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-2) 0 var(--space-1);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:13px;display:flex}.tree-row:hover{background:var(--p2)}.tree-row.on{background:var(--p2);box-shadow:inset 2px 0 var(--acc);color:var(--acc)}.tree-row.focus{outline:1px dashed var(--acc);outline-offset:-1px}.tree-row.copied .tree-id{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tree-tw{width:14px;height:14px;color:var(--mut);flex:none;justify-content:center;align-items:center;padding:0;display:flex}.tree-dot{background:var(--line);border-radius:50%;flex:none;width:7px;height:7px}.tree-dot.ok{background:var(--ok)}.tree-dot.warn{background:var(--warn)}.tree-dot.bad{background:var(--bad)}.tree-id{text-overflow:ellipsis;overflow:hidden}.tree-tx{font-size:var(--fs-xs);color:var(--mut);align-items:center;gap:2px;display:inline-flex}.tree-load{--bar:var(--ok);color:var(--mut);text-align:right;font-variant-numeric:tabular-nums;background:linear-gradient(to right,var(--bar) 0 var(--pct,0%),var(--line) var(--pct,0%)) no-repeat left bottom/100% 2px;min-width:34px;padding-bottom:3px;font-size:11px}.tree-load.warn{--bar:var(--warn);color:var(--warn)}.tree-load.bad{--bar:var(--bad);color:var(--bad)}.tree-tip{font-size:var(--fs-xs);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);margin:0}.tree-foot{align-items:center;gap:var(--space-2);border-top:1px solid var(--line);padding-right:var(--space-3);display:flex}.tree-foot .tree-tip{border-top:0;flex:1;min-width:0}.tree-key-btn{font-size:var(--fs-xs);color:var(--mut);flex:none;align-items:center;gap:3px;margin:0;text-decoration:none;display:inline-flex}.tree-key-btn:hover,.tree-key-btn.on{color:var(--acc)}.tree-key{padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--mut);gap:6px;margin:0;display:grid}.tree-key>div{grid-template-columns:52px 1fr;align-items:center;gap:8px;display:grid}.tree-key dt{align-items:center;gap:3px;margin:0;display:flex}.tree-key dd{margin:0;line-height:1.35}.tree-key .tree-check{margin-left:0}.tree-resize{cursor:col-resize;z-index:5;width:6px;height:100%;position:absolute;top:0;right:-3px}.tree-resize:hover{background:var(--acc);opacity:.35}.tree-menu{z-index:80;background:var(--panel);border:1px solid var(--line);min-width:210px;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:fixed}.tree-menu button{text-align:left;min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:13px}.tree-menu button:hover{background:var(--p2)}.tree-menu hr{border:0;border-top:1px solid var(--line);margin:3px 0}.tree-menu-field{color:var(--mut);flex-direction:column;gap:3px;padding:4px 10px 6px;font-size:12px;display:flex}.tree-menu-field select{font-size:13px}.tree-menu-h{border-bottom:1px solid var(--line);margin-bottom:3px;padding:5px 10px 6px;font-size:12px;font-weight:600}.focus-chip{border:1px dashed var(--acc);color:var(--tx);border-radius:12px;align-items:center;gap:4px;padding:3px 4px 3px 9px;font-size:12px;display:inline-flex}.ribbon-menu button.on{color:var(--acc)}@media (width<=1000px){.tree{border-right:0;border-bottom:1px solid var(--line);max-height:190px;width:100%!important}.tree-resize{display:none}}.bb-risers{margin-bottom:10px}.bb-setup{margin-bottom:12px}.bb-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.bb-grid label{color:var(--mut);flex-direction:column;gap:4px;font-size:12px;display:flex}.bb-grid input,.bb-grid select,.bb-floors input,.bb-floors select,.bb-datatable input{padding:5px 7px}.bb-grid .seg{align-self:flex-start}.bb-floors input{width:100%;min-width:60px}.bb-floors td:first-child input{min-width:130px}.bb-row-actions{align-items:center;gap:8px;margin:8px 0;display:flex}.bb-results{margin-top:12px}.bb-compare{min-width:0;margin-bottom:8px}.bb-compare td,.bb-compare th{padding:4px 8px}.bb-notes{margin:6px 0 12px;padding-left:18px}.bb-data{margin-top:14px}.bb-data summary{cursor:pointer}.bb-datatable input{width:90px}.bi-tabs{margin-bottom:10px}.bi-head{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.bi-grid{flex-wrap:wrap;gap:12px;display:flex}.bi-grid label{color:var(--mut);flex-direction:column;gap:4px;font-size:12px;display:flex}.bi-num,.bi-text,.bi-sel{background:var(--p2);border:1px solid var(--field-line);color:var(--tx);font:inherit;border-radius:6px;padding:4px 7px}.bi-kpis{flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.bi-table{margin-bottom:6px}.bi-table td{padding:5px 8px}.bi-table tr.on td{background:var(--p2)}.bi-move{white-space:nowrap}.bi-move .icon-btn{padding:1px 3px;font-size:9px}.bi-actions{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 14px;display:flex}.bi-types{margin-top:12px}.bi-paste{background:var(--p2);border:1px solid var(--line);width:100%;min-height:200px;color:var(--tx);border-radius:6px;padding:8px;font:12px ui-monospace,monospace}.ls-rooms{font-size:var(--fs-sm);background:var(--p2);border-radius:6px;margin:0 0 8px;padding:6px 10px}.ls-rooms.warn{color:var(--warn)}.txs-wrap{max-height:none}.txs-table{min-width:1250px}.txs-table th{text-align:center}.txs-ref input{font-weight:600}.txs-acb{white-space:nowrap}.txs-acb input{text-align:center;min-width:0!important;padding:0 3px!important}.txs-acb span{color:var(--mut);padding:0 2px}.txs-rem{white-space:normal;min-width:170px;font-size:var(--fs-sm)}.txs-act{width:26px}.txs-add{font-size:var(--fs-sm);padding:2px 8px}.txs-under{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.txs-foot{flex-direction:column;gap:8px;margin-top:10px;font-size:13px;display:flex}.txs-foot span{font-weight:600}.txs-box{text-align:center;border:1.5px solid var(--tx);min-width:70px;margin:0 6px;padding:2px 8px;display:inline-block}.txs-gap{margin-left:40px}.txs-gap2{margin-left:230px}.dash-info{margin-bottom:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.dash-name{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.dash-name b{font-size:16px}.dash-status{border:1px solid var(--acc);color:var(--acc);border-radius:9px;padding:1px 8px;font-size:11px}.dash-meta{font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 18px;display:flex}.dash-tiles{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.dash-tile{align-items:flex-start;gap:var(--space-1);text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);min-width:0;color:var(--tx);flex-direction:column;display:flex}.dash-tile:disabled{cursor:default;opacity:1}.dash-tile.link:hover{border-color:var(--acc)}.dash-label{color:var(--mut);font-size:11px}.dash-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:21px;font-weight:700;line-height:1.15;overflow:hidden}.dash-sub{color:var(--mut);max-width:100%;font-size:12px}.dash-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=1000px){.dash-grid{grid-template-columns:1fr}}.dash-bars,.dash-meters{flex-direction:column;gap:6px;display:flex}.dash-bar,.dash-meter{font-size:var(--fs-sm);text-align:left;color:var(--tx);grid-template-columns:minmax(90px,34%) 1fr auto;align-items:center;gap:10px;padding:1px 0;display:grid}.dash-meter:hover .dash-bar-label{color:var(--acc)}.dash-bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-bar-track{height:10px;display:block}.dash-bar-fill{background:var(--acc);border-radius:0 4px 4px 0;height:10px;display:block}.dash-bar-val{white-space:nowrap;font-variant-numeric:tabular-nums}.dash-meter-track{background:color-mix(in srgb,var(--acc) 18%,transparent);border-radius:4px;height:10px;display:block;position:relative}.dash-meter-fill{background:var(--acc);border-radius:4px;height:10px;display:block}.dash-meter-limit{border-left:2px dashed var(--tx);opacity:.8;position:absolute;top:-3px;bottom:-3px}.dash-todo{font-size:var(--fs-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dash-todo li{align-items:baseline;gap:8px;display:flex}.dash-todo .linkish{text-align:left;color:var(--tx);margin-left:0;text-decoration:none}.dash-todo .linkish:hover{color:var(--acc);text-decoration:underline}.dash-todo-mark{flex:none;min-width:54px;font-size:11px;font-weight:700}.dash-todo-mark.bad{color:var(--bad)}.dash-todo-mark.warn{color:var(--warn)}.help-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=1000px){.help-grid{grid-template-columns:1fr}}.help-grid h4{margin:0 0 10px}.help-flow{flex-direction:column;gap:8px;display:flex}.help-phase{border-left:3px solid var(--acc);flex-direction:column;gap:4px;padding-left:10px;display:flex}.help-phase.p-design{border-color:var(--res-pf)}.help-phase.p-check{border-color:var(--ok)}.help-phase.p-deliver{border-color:var(--warn)}.help-phase-name{text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-size:11px}.help-step{text-align:left;border:1px solid var(--line);background:var(--p2);color:var(--tx);border-radius:6px;gap:10px;padding:7px 9px;font-size:13px;display:flex}.help-step:hover{border-color:var(--acc)}.help-n{background:var(--acc);width:22px;height:22px;color:var(--on-acc);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.help-what{color:var(--mut);font-size:12px}.help-check ul,.help-tips{flex-direction:column;gap:5px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.help-tips li{padding-left:2px}.help-check li{align-items:baseline;gap:8px;display:flex}.help-check .linkish{text-align:left;color:var(--tx);margin-left:0;text-decoration:none}.help-check .linkish:hover{color:var(--acc);text-decoration:underline}.help-check li.done .linkish{color:var(--mut);text-decoration:line-through}.help-tick{width:14px;color:var(--mut)}.help-check li.done .help-tick{color:var(--ok)}.help-progress{background:var(--p2);border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.help-progress span{background:var(--ok);height:100%;display:block}.help-quick td{white-space:normal;vertical-align:top}.dash-start{margin-bottom:var(--space-3)}.dash-start ul{flex-wrap:wrap;flex-direction:row!important;gap:6px 18px!important}.param-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=1000px){.param-grid{grid-template-columns:1fr}}.ref-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:12px;display:grid}.ref-list h4{margin:8px 0 4px}.ref-list h4:first-child{margin-top:0}.ref-list table{min-width:0}.ref-scroll{overflow-x:auto}.ref-scroll table{min-width:0}.ref-source{margin-top:2px;font-size:11px;display:block}.settings-rules{margin-top:12px}.settings-rules h4{margin:0 0 6px}.start-rules{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-3);background:var(--p2);gap:var(--space-2);display:grid}.start-rules h4,.start-rules p{margin:0}.grid3{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=640px){.grid3{grid-template-columns:1fr}}.start-rules .tag{font-size:var(--fs-xs);border:1px solid var(--line-strong);color:var(--mut);border-radius:999px;padding:1px 7px}.start-rules .tag.warn{border-color:var(--warn);color:var(--warn)}@media (width<=900px){.ref-grid{grid-template-columns:1fr}}.param-table td{white-space:normal;padding:4px 8px}.param-chip{border:1px solid var(--line);background:var(--p2);color:var(--acc);border-radius:5px;padding:1px 6px;font:12px ui-monospace,monospace}.param-chip:hover{border-color:var(--acc)}.param-try{background:var(--p2);border:1px solid var(--line);width:100%;min-height:60px;color:var(--tx);border-radius:6px;padding:6px 8px;font:13px ui-monospace,monospace}.param-out{background:var(--p2);border-radius:6px;margin:6px 0 0;padding:6px 8px}.param-notes{font-size:var(--fs-sm);margin:8px 0 0;padding-left:18px}.tbd-grid{grid-template-columns:minmax(0,1fr) 330px;gap:12px;display:grid}@media (width<=1100px){.tbd-grid{grid-template-columns:1fr}}.tbd-preview-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;overflow:auto}.tbd-preview{background:#fff;border:1.5px solid #000;display:grid}.tbd-cell{color:#000;cursor:pointer;background:#fff;border:.5px solid #000;flex-direction:column;min-width:0;padding:2px 4px;font-family:Arial,sans-serif;display:flex;overflow:hidden}.tbd-cell:hover{background:#eef5ff}.tbd-cell.on{outline-offset:-2px;background:#eef5ff;outline:2px solid #2a78d6}.tbd-cap{color:#444;text-transform:uppercase;letter-spacing:.03em;text-align:left;font-size:9px}.tbd-sizes{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.tbd-side{flex-direction:column;gap:8px;display:flex}.tbd-side label{color:var(--mut);flex-direction:column;gap:3px;font-size:12px;display:flex}.tbd-side label.row{flex-direction:row;align-items:center}.tbd-side input,.tbd-side select,.tbd-side textarea{padding:5px 7px}.tbd-row{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.tbd-params{flex-wrap:wrap;gap:4px;max-height:110px;display:flex;overflow:auto}.tbd-print{background:#fff;margin-top:6px;padding:6px;overflow:auto}.comp-modal{max-width:760px}.comp-table{min-width:0}.comp-table td{padding:3px 4px}.comp-table input{width:100%;padding:4px 6px}.ds-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ds-tools label.row{font-size:var(--fs-sm);align-items:center;gap:5px;display:flex}.ds-table td{vertical-align:middle}.ds-boards{text-align:left;white-space:normal;max-width:420px;margin-left:0}.ds-pick{flex-direction:column;gap:3px;max-height:50vh;display:flex;overflow:auto}.ds-pick label{align-items:center;gap:6px;display:flex}.ds-preview{width:1200px;max-width:92vw}.ds-paper{background:#fff;border-radius:6px;max-height:70vh;padding:10px;overflow:auto}.ds-paper svg{width:100%;height:auto}.sysdiag .ln.interlock{stroke-dasharray:4 3;stroke-width:1px}.sysdiag .existing .ln,.sysdiag .existing .box,.sysdiag .existing .sym,.sysdiag .existing .tr,.sysdiag .existing .sym-ln{stroke-dasharray:5 3}.sysdiag .existing .bus{stroke-dasharray:16 8}.sysdiag .ln.met-bar{stroke-width:3.5px}.form-kv fieldset.relays{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;grid-column:1/-1;gap:2px 14px;min-width:0;padding:4px 8px;display:flex}.form-kv fieldset.relays legend{color:var(--mut);font-size:11px}.form-kv fieldset.relays label.row{flex-direction:row;align-items:center;gap:6px;width:100%;font-size:12px;display:flex}.form-kv fieldset.relays input{flex:none;width:auto}.bom-bar,.bom-prices{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.bom-tabs{gap:6px;display:flex}.bom-prices label{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex}.bom-totals{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:4px 0;display:flex}.bom-sec b{color:var(--acc)}.bom-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.bom-table th,.bom-table td{border-bottom:1px solid var(--line);padding:var(--space-1) var(--space-2);text-align:left;vertical-align:top}.bom-table td.num{text-align:right;white-space:nowrap}.bom-sec-row td{background:color-mix(in srgb,var(--acc) 12%,transparent);font-weight:700}.bom-missing td:nth-child(5) input{border-color:var(--warn)}.bom-rate{text-align:right;width:90px;color:inherit;border:1px solid var(--line);background:0 0;border-radius:4px;padding:2px 4px}.bom-tag{font-size:var(--fs-xs);border:1px solid var(--line);color:var(--mut);border-radius:8px;margin-left:6px;padding:0 5px;display:inline-block}.bom-tag.warn{border-color:var(--warn);color:var(--warn)}.bom-excluded td{color:var(--mut)}.bom-changed td:first-child{box-shadow:inset 3px 0 var(--warn)}.sub-strip{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.sub-strip>div{border-left:1px solid var(--line);flex-direction:column;padding:6px 10px;display:flex}.sub-strip>div:first-child{border-left:0}.sub-strip b{font-size:18px}.sub-strip span{font-size:var(--fs-xs);color:var(--mut)}.sub-strip .warn b{color:var(--warn)}.sub-late td:first-child{box-shadow:inset 3px 0 var(--warn)}.bom-table td.acts{white-space:nowrap;text-align:right}.bom-dialog{width:100%;max-width:560px}.bom-dialog textarea{resize:vertical;width:100%}.bom-extras{margin:6px 0}.bom-extras label.row{font-size:var(--fs-sm);align-items:flex-start;gap:6px;margin:3px 0;display:flex}.bom-no{white-space:nowrap}.bom-no .icon-btn{margin-left:4px}.sysdiag .frame-ln{fill:none;stroke:var(--mut);stroke-width:1px;stroke-dasharray:5 4}.sysdiag .sum-box,.panel-sum .sum-box{fill:var(--p2);stroke:var(--line);stroke-width:1.2px}.sysdiag .way-no{opacity:.8}.ds-sheet{box-shadow:var(--shadow-paper);background:#fff;margin:6px auto;overflow:hidden}.dr-top{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}@media (width<=1100px){.dr-top{grid-template-columns:1fr}}.dr-top h4{margin:0 0 8px}.dr-line{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;display:flex}.dr-table th{vertical-align:bottom;white-space:nowrap}.dr-fill{gap:2px;min-width:70px;margin-top:4px;display:flex}.dr-fill input{font-weight:400}.dr-panels{white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:11px;overflow:hidden}.vd-settings{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:10px;display:flex}.result-cards{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.result-value{align-items:baseline;gap:var(--space-2);min-width:0;max-width:100%;display:flex}.result-card .dash-value.ok{color:var(--ok)}.result-card .dash-value.warn{color:var(--warn)}.result-card .dash-value.bad{color:var(--bad)}.result-status{font-size:var(--fs-xs);letter-spacing:.03em;border:1px solid;border-radius:999px;flex:none;padding:1px 6px;font-weight:600}.vd-profile{margin-bottom:10px}.vd-profile h4{margin:0 0 4px}.vd-profile svg{width:100%;height:auto;max-height:230px}.vd-grid{stroke:var(--line);stroke-width:1px}.vd-limit{stroke:var(--bad);stroke-width:1.5px;stroke-dasharray:6 4}.vd-ax{fill:var(--mut);font-size:10px}.vd-ax.bad{fill:var(--bad)}.vd-bar{fill:var(--acc)}.vd-bar.warn{fill:var(--warn)}.vd-bar.bad{fill:var(--bad)}.vd-base{fill:var(--acc);opacity:.18}:root[data-theme=light] .vd-bar:not(.warn,.bad){fill:color-mix(in srgb,var(--acc) 78%,var(--panel))}.vd-val{fill:var(--tx);font-size:11px;font-weight:700}.vd-lbl{fill:var(--tx);font-size:10.5px}.vd-sub{fill:var(--mut);font-size:9.5px}.vd-layout.closed{grid-template-columns:minmax(0,1fr)}.vd-table tbody tr{cursor:pointer}.vd-table tr.vd-focus td{background:color-mix(in srgb,var(--acc) 14%,transparent)}.vd-table tr.vd-final td{font-style:italic}.vd-formula td{font-family:ui-monospace,Menlo,monospace;font-size:var(--fs-sm);color:var(--mut);white-space:normal}.vd-fix{white-space:nowrap;padding:2px 8px}.vd-riser{margin-top:12px}.vd-riser h4{margin:0 0 6px}.vd-riser-sum{font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 18px;margin-bottom:8px;display:flex}.earth-kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;width:100%;font-size:12px;display:grid}.earth-kv label{flex-direction:column;display:flex}.settings-name{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.settings-body{min-height:300px}.feeder-tabs{margin:6px 0 10px;padding:0}.feeder-tab-body{flex-shrink:0;min-height:330px}.board-tab-body{min-height:340px}.feeder-sum{font-size:var(--fs-sm);border:1px solid var(--line);background:var(--p2);border-radius:6px;flex-wrap:wrap;gap:4px 14px;padding:6px 10px;display:flex}.pfcc{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=1000px){.pfcc{grid-template-columns:1fr}}.pfcc-inputs h4{margin:0 0 8px}.pfcc-inputs>label{color:var(--mut);flex-direction:column;gap:3px;margin-bottom:8px;font-size:12px;display:flex}.pfcc-modes{flex-wrap:wrap;margin:4px 0 10px}.pfcc-in{align-items:center;gap:6px;display:flex}.pfcc-in input{flex:1;min-width:0}.pfcc-loads{margin:8px 0}.pfcc-out{flex-direction:column;gap:10px;min-width:0;display:flex}.pfcc-diagrams{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px;display:grid}@media (width<=1200px){.pfcc-diagrams{grid-template-columns:1fr}}.pfcc-svg svg{width:100%;height:auto;display:block}.pfcc-out h4{margin:0 0 6px}.pfc-mini{max-width:420px;margin-top:6px}.pfcc-bank details{margin:6px 0;font-size:12px}.pfcc-bank code{font-size:var(--fs-sm)}.bi-riser{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.bi-units{margin-top:14px}.bi-unit-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;display:grid}.bi-unit{border:1px solid var(--line);border-radius:8px;padding:8px}.bi-unit-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.bi-table.compact td,.bi-table.compact th{padding:2px 4px}.bi-density{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=1000px){.bi-density{grid-template-columns:1fr}}.bi-chart{flex-direction:column;gap:3px;display:flex}.bi-bar-row{grid-template-columns:44px 1fr 90px;align-items:center;gap:8px;font-size:12px;display:grid}.bi-bar-track{background:color-mix(in srgb,var(--acc) 10%,transparent);border-radius:3px;height:12px;position:relative}.bi-bar-fill{background:var(--acc);opacity:.45;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.bi-bar-dem{background:var(--acc);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.bi-bar-val{text-align:right;white-space:nowrap}.bi-plan{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:4px 10px;max-height:120px;margin:6px 0;padding:6px;font-size:12px;display:flex;overflow:auto}.db-tabs{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.db-tabs button{border:1px solid var(--line);color:var(--mut);border-radius:6px;padding:5px 10px;position:relative}.db-tabs button.on{color:var(--acc);border-color:var(--acc)}.db-dot{background:var(--warn);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}.db-changes{border:1px solid var(--warn);font-size:var(--fs-sm);border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0;padding:6px 10px;display:flex}.db-changes.small{border-style:dashed}.db-table{border-collapse:collapse;font-size:var(--fs-sm)}.db-table th,.db-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:3px 6px}.db-table tr.db-new td{background:color-mix(in srgb,var(--warn) 14%,transparent)}.db-table input[aria-invalid=true]{border-color:var(--bad)}.dr-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.dr-search{width:220px}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;padding:5px 12px}.seg button:hover:not(.on){background:var(--p2)}.seg button.on{background:var(--acc);color:var(--on-acc)}.dr-bulk{border:1px dashed var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;display:flex}.dr-bulk.on{border-style:solid;border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,transparent)}.dr-table th .sortable,.dr-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dr-table tr.dr-sel td{background:color-mix(in srgb,var(--acc) 8%,transparent)}.dr-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.dr-hist{font-size:10px}.dr-issues{margin-top:12px}.dr-issues h4{margin:0 0 6px}.dr-issue-list{max-height:240px;margin:8px 0;overflow:auto}.sg-bar{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sg-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:12px;display:grid}.sg-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:6px;transition:box-shadow .15s,border-color .15s}.sg-card[draggable=true]{cursor:grab}.sg-card.on{border-color:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 30%,transparent)}.sg-card.over{border-color:var(--acc);border-style:dashed;transform:scale(1.02)}.sg-card.dragging{opacity:.4}.sg-thumb{cursor:zoom-in;background:#fff;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:230px;margin:0 auto;display:flex;position:relative;overflow:hidden}.sg-thumb iframe{transform-origin:0 0;pointer-events:none;background:#fff;border:0;position:absolute;top:0;left:0}.sg-badge{color:#fff;letter-spacing:.02em;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:4px;left:4px}.sg-size{color:#fff;background:#0f172ab3;border-radius:4px;padding:1px 5px;font-size:9px;position:absolute;bottom:4px;right:4px}.sg-meta{align-items:flex-start;gap:6px;margin-top:6px;font-size:12px;line-height:1.35;display:flex}.dw-tabs{margin-bottom:10px}.dw-export{gap:6px;display:flex;position:relative}.dw-menu{z-index:30;background:var(--panel);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.dw-menu button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px}.dw-menu button:hover{background:color-mix(in srgb,var(--acc) 12%,transparent)}.dw-empty{flex-direction:column;gap:8px;display:flex}.dw-table tr.dw-editing td{outline:1px solid var(--acc);outline-offset:-1px}.dw-panel-backdrop{z-index:50;background:var(--backdrop);position:fixed;inset:0}.dw-panel{background:var(--panel);width:min(440px,100vw);color:inherit;border-left:1px solid var(--line);box-shadow:var(--shadow-side);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.dw-panel-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.dw-panel-head h3{margin:0}.dw-panel-body{flex:1;padding:12px 16px;overflow:auto}.dw-panel-body h4{margin:16px 0 6px}.dw-panel-foot{border-top:1px solid var(--line);align-items:center;gap:6px;padding:10px 16px;display:flex}.cable-ref-c{fill:var(--panel);stroke:var(--bad);stroke-width:1px}.cable-ref-t{fill:currentColor;font-size:8.5px;font-weight:700}.sld-print .cable-ref-c,.sheet .cable-ref-c{fill:#fff}.sysdiag .sheet-outline rect{fill:none;stroke-width:1.6px;stroke-dasharray:10 6;opacity:.85}.sysdiag .sheet-outline text{font-size:12px;font-weight:700}.sysdiag .sheet-outline{cursor:pointer}.sysdiag .rev-cloud path{fill:none;stroke:var(--bad);stroke-width:1.4px}.sysdiag .rev-cloud .rev-tri{fill:var(--panel)}.cad-sheets{border-top:1px solid var(--line);height:100%;min-height:560px;display:flex}.cs-main{flex:1;min-width:0;display:flex;overflow:auto}.cs-register{display:block}.sheet-list{gap:var(--space-1);width:220px;padding:var(--space-2);border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;display:flex;overflow:auto}.sheet-list section{gap:var(--space-1);flex-direction:column;display:flex}.sheet-list h4{margin:var(--space-2) 2px 0;font-size:var(--fs-xs);color:var(--mut);font-weight:600}.sheet-list .st-add>.chip{width:100%}.sl-item{text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;font:inherit;font-size:var(--fs-sm);padding:5px var(--space-2);cursor:pointer;background:0 0;gap:1px;min-width:0;display:grid}.sl-item:hover{background:color-mix(in srgb,var(--acc) 10%,transparent)}.sl-item.on{border-color:var(--acc);background:var(--p2)}.sl-item .m{font-size:var(--fs-xs)}.sl-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.st-add{position:relative}.st-menu-down{inset:calc(100% + 4px) auto auto 0}.st-cover{z-index:40;position:fixed;inset:0}.st-ctx{z-index:41;position:fixed;top:auto;right:auto}.st-sub{flex-wrap:wrap;gap:2px;padding:4px 10px;font-size:12px;display:flex}.st-sub button{padding:2px 6px;font-size:11px}.dw-menu .danger{color:var(--bad)}.sheet-ws{border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;min-width:0;min-height:560px;display:flex;overflow:hidden}.sheet-bar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 8px;display:flex}.pub-dot{background:var(--warn);width:7px;height:7px;box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 30%,transparent);border-radius:50%;margin-right:6px;display:inline-block}.chip-lite{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px}.sheet-body{flex:1;min-height:0;display:flex;position:relative}.zoom-chip{right:var(--space-2);bottom:var(--space-2);z-index:3;min-height:var(--control-h-sm);padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--tx);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:var(--shadow-pop);position:absolute}.zoom-chip:hover{border-color:var(--line-strong)}.zoom-chip:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.zoom-chip-wrap{right:var(--space-2);bottom:var(--space-2);z-index:3;gap:2px;display:flex;position:absolute}.zoom-chip-wrap .zoom-chip{position:static}.zoom-chip-more{padding:0 6px}.zoom-chip-menu{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-width:170px;box-shadow:var(--shadow-pop);font-size:var(--fs-sm);white-space:nowrap;flex-direction:column;padding:3px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}.zoom-chip-menu button{justify-content:space-between;gap:var(--space-2);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--tx);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.zoom-chip-menu button:hover{background:var(--p2);border-color:var(--line)}.zoom-chip-menu small{color:var(--mut)}.sheet-hint{padding:4px var(--space-2);border-top:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sheet-page{background:color-mix(in srgb,var(--bg) 70%,#888 30%);flex:1;justify-content:center;align-items:flex-start;min-height:520px;padding:12px;display:flex;overflow:auto}.sheet-paper{box-shadow:var(--shadow-paper);background:#fff;flex:none;overflow:hidden}.sheet-side{border-left:1px solid var(--line);flex:none;width:290px;padding:8px 10px;font-size:13px;overflow:auto}.sheet-side details{border-bottom:1px solid var(--line);padding:6px 0}.sheet-side summary{cursor:pointer;margin-bottom:6px;font-weight:700}.sheet-side .form-kv{grid-template-columns:1fr}.side-tabs{padding:var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--line);z-index:2;background:var(--panel);gap:2px;display:flex;position:sticky;top:0}.side-tabs [role=tab]{min-width:0;color:var(--mut);font:inherit;font-weight:600;font-size:var(--fs-sm);min-height:32px;padding:0 var(--space-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;overflow:hidden}.side-tabs [role=tab]:hover{color:var(--tx)}.side-tabs [role=tab].on{color:var(--acc);border-bottom-color:var(--acc)}.side .sheet-side{width:auto;padding:8px var(--gutter);border-left:0;flex:none;overflow:visible}.side .sheet-side[hidden]{display:none}.sheet-notes{width:100%;font:inherit;color:inherit;border:1px solid var(--line);background:0 0;border-radius:6px;padding:6px;font-size:12px}.sheet-ws.side .sheet-design{border-right:1px solid var(--line);flex:1;min-width:0;overflow:hidden}.sheet-ws.side .sheet-page{flex:1}.pub-checks{max-height:320px;margin:8px 0;padding:0;list-style:none;overflow:auto}.pub-checks li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:4px 0;display:flex}.pub-checks li.bad span{color:var(--bad);font-weight:700}.pub-checks li.warn span{color:var(--warn);font-weight:700}.sld-edit:has(>.sheet-ws:not(.side))>.palette{display:none}.sysdiag .sheet-outline.over rect{stroke-width:3.5px;stroke-dasharray:none;fill:color-mix(in srgb,var(--acc) 8%,transparent)}.sysdiag .callout-head{fill:var(--tx)}.sysdiag .callout-t{font-size:11px}.hover-card{z-index:25;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-pop);pointer-events:auto;border-radius:10px;padding:8px 10px;font-size:12px;position:absolute}.hover-card.bad{border-color:var(--bad)}.hover-card.warn{border-color:var(--warn)}.hc-head{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.hc-head .m{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hc-st{color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.hc-st.ok{background:var(--ok)}.hc-st.warn{background:var(--warn)}.hc-st.bad{background:var(--bad)}.hc-kv{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.hc-kv dt{color:var(--mut)}.hc-kv dd{text-align:right;margin:0}.hc-kv dd.bad{color:var(--bad)}.hc-kv dd.warn{color:var(--warn)}.hc-why{color:var(--bad);margin:6px 0 0;padding-left:16px}.hc-fix{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;padding-top:6px;display:flex}.hc-fix .chip{font-size:var(--fs-xs);padding:0 var(--space-2);min-height:var(--control-h-sm)}.hc-fix .chip.ok{border-color:var(--ok)}.bar-cell{white-space:nowrap}.vbar{background:var(--line);vertical-align:middle;border-radius:3px;width:46px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}.vbar span{border-radius:3px;height:100%;display:block}.vbar .ok{background:var(--ok)}.vbar .warn{background:var(--warn)}.vbar .bad{background:var(--bad)}.tabs .sp{flex:1}.rt-filter{align-self:center;padding:0 8px;font-size:12px}.menu-btn{display:inline-block;position:relative}.menu-pop{z-index:30;background:var(--panel);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px)}.menu-pop.left{left:0}.menu-pop.right{right:0}.menu-pop>button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px}.menu-pop>button:hover:not(:disabled){background:color-mix(in srgb,var(--acc) 12%,transparent)}.menu-pop>button:disabled{opacity:.5;cursor:default}.menu-pop .mp-h{text-transform:uppercase;color:var(--mut);padding:6px 10px 2px;font-size:11px}.menu-pop label{align-items:center;gap:6px;padding:3px 10px;display:flex}.menu-pop select{width:100%}.menu-pop hr{border:0;border-top:1px solid var(--line);margin:4px 0}.sld-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.res-dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.res-drawer{border:1px solid var(--line);border-radius:10px;margin-top:10px}.res-drawer>.rd-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 12px;display:flex}.res-drawer>.rd-head b{font-size:14px}.res-drawer>.rd-body{padding:0 10px 10px}.rd-chip{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px}.rd-chip.bad{border-color:var(--bad);color:var(--bad)}.rd-chip.warn{border-color:var(--warn);color:var(--warn)}.results-src{align-items:center;gap:6px;display:inline-flex}.calc-chip{white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;min-height:26px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.calc-chip.ok{color:var(--ok)}.calc-chip.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}button.calc-chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent);cursor:pointer}.calc-chip .m{font-weight:400}.results-src select.chip{width:auto;max-width:260px;color:var(--tx);background-color:var(--p2);cursor:pointer;border-radius:6px;padding:0 26px 0 10px}.results-src select.chip:disabled{opacity:.6;cursor:default}.res-drawer{z-index:6;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow-drawer);border-radius:10px 10px 0 0;margin-top:auto;position:sticky;bottom:0}.rd-tabs{align-items:center;gap:2px;padding:4px 8px;display:flex}.rd-tabs>button[role=tab]{color:var(--mut);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 12px;font-size:13px}.rd-tabs>button[role=tab].on{color:var(--acc);border-bottom-color:var(--acc)}.rd-tabs>button[role=tab]:hover{color:var(--tx)}.rd-tabs .sp{flex:1}.res-drawer .rd-body{max-height:40vh;padding:0 10px 10px;overflow:auto}.cards.one{grid-template-columns:1fr}.sysdiag .sym-fill{fill:var(--tx)}.sysdiag .riser-bus line{stroke:var(--bus);stroke-width:2.6px}.sysdiag .riser-floor{stroke:var(--mut);stroke-dasharray:6 6;stroke-width:.8px;opacity:.7}.sysdiag .riser-standby{stroke-dasharray:5 4}.sysdiag.riser text.b{font-size:12px}.sysdiag.riser text.m{font-size:10.5px}.sysdiag .riser-g{font-size:12px}.sysdiag .fr-panel{fill:none;stroke:var(--tx);stroke-width:1.2px}.sysdiag .fr-busbar{stroke:var(--tx);stroke-width:4px}.sysdiag .fr-tag{fill:var(--panel);stroke:var(--tx);stroke-width:.8px}.sysdiag .fr-sym-t{font-size:9px}.sysdiag.riser .sym-ln{fill:none;stroke:var(--tx);stroke-width:1.5px}.sysdiag.riser .sym{stroke:var(--tx)}.dw-empty h3{margin:0 0 2px}.dw-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:10px 0;display:grid}.dw-option{border:1px solid var(--line);background:var(--p2);border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.dw-option p{flex:1;margin:0;font-size:12px}.dw-option .chip.primary{align-self:flex-start}.dw-preview{font-size:12px}.dw-hint{align-self:center;font-size:12px}.ribbon-split{align-items:stretch;display:inline-flex;position:relative}.ribbon-stack{flex-direction:column;justify-content:center;gap:1px;display:flex}.ribbon-group .ribbon-stack button{min-width:0;height:20px;min-height:0;font-size:var(--fs-xs);flex-direction:row;justify-content:flex-start;gap:6px;padding:0 6px}.ribbon-stack .ribbon-split{align-self:flex-start}.ribbon-stack .ribbon-split-arrow{height:20px}.ribbon-group .ribbon-caption-more{cursor:pointer;min-width:0;min-height:0;font-size:var(--fs-xs);color:var(--mut);text-align:center;letter-spacing:.02em;white-space:nowrap;border-radius:var(--radius-sm);background:0 0;border:0;padding:1px 0 0;line-height:1.2;display:block}.ribbon-group .ribbon-caption-more svg{vertical-align:-1px;margin-left:2px}.ribbon-group .ribbon-caption-more:hover,.ribbon-group .ribbon-caption-more[aria-expanded=true]{color:var(--tx);background:var(--panel)}.ribbon-split>button:first-child{padding-right:4px}.ribbon-split-arrow{align-self:center;height:28px;min-width:0!important;padding:0 2px!important}.ribbon-menu-label{align-items:center;gap:2px;display:inline-flex}.ribbon-split-menu{z-index:200;background:var(--panel);border:1px solid var(--line);min-width:140px;box-shadow:var(--shadow-pop);border-radius:8px;padding:4px;display:grid;position:fixed}.ribbon-split-menu button{all:unset;cursor:pointer;font-size:var(--fs-sm);white-space:nowrap;border-radius:5px;padding:6px 10px}.ribbon-split-menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.ribbon-sub{font-size:var(--fs-xs);color:var(--mut);text-overflow:ellipsis;white-space:nowrap;max-width:76px;margin-top:-3px;overflow:hidden}.ribbon-split-menu button:hover,.ribbon-split-menu button:focus-visible{background:color-mix(in srgb,var(--acc) 18%,transparent)}.ribbon-split-menu button[aria-checked]{align-items:center;gap:6px;display:flex}.ribbon-split-menu .ck{width:12px;color:var(--acc);flex:none;display:inline-flex}.ribbon-split-menu button:disabled{opacity:.45;cursor:not-allowed;background:0 0}.ribbon-group .ribbon-stack button.has-val>span:first-of-type{color:var(--mut)}.ribbon-val{text-overflow:ellipsis;max-width:130px;overflow:hidden}.ribbon-over{top:100%;right:var(--space-2);z-index:60;background:var(--p2);border:1px solid var(--line);padding:var(--space-1) 0;box-shadow:var(--shadow-pop);border-radius:8px;align-items:stretch;display:flex;position:absolute}.ribbon-over .ribbon-over-list{padding:0 var(--space-1);flex-direction:column;justify-content:center;display:flex}.ribbon-group .ribbon-over-list button{flex-direction:row;justify-content:flex-start;min-width:0;min-height:0;padding:6px 10px;font-size:13px}.ribbon.cad-named .ribbon-group-btns{height:76px}.ribbon.cad-named .ribbon-group-btns>button,.ribbon.cad-named .ribbon-group-btns>.ribbon-split>button:first-child{min-width:44px;height:76px;min-height:0;font-size:var(--fs-xs);justify-content:flex-start;gap:5px;padding:8px 4px 0}.ribbon.cad-named .ribbon-group-btns>.ribbon-split>.ribbon-split-arrow{width:12px;height:76px}.ribbon.cad-named .ribbon-group-btns>button>span,.ribbon.cad-named .ribbon-group-btns>.ribbon-split>button:first-child>span{white-space:normal;text-align:center;max-width:64px;line-height:1.15}.ribbon.cad-named .ribbon-stack{grid-template-rows:repeat(3,24px);place-content:start;gap:2px;display:grid}.ribbon.cad-named .ribbon-rows .ribbon-stack{grid-template-rows:repeat(2,24px)}.ribbon.cad-named .ribbon-group .ribbon-stack button{justify-content:center;width:24px;min-width:0;height:24px;padding:0}.ribbon.cad-named .ribbon-stack .ribbon-split{align-self:auto}.ribbon.cad-named .ribbon-stack .ribbon-split>button:first-child{padding-right:0}.ribbon.cad-named .ribbon-group .ribbon-stack .ribbon-split-arrow{width:10px;height:24px}.ribbon.cad-named .ribbon-group .ribbon-caption-more{width:auto;height:auto}.ribbon.cad-named.small-named .ribbon-group .ribbon-stack button{white-space:nowrap;justify-content:flex-start;gap:5px;width:auto;padding:0 6px 0 4px}.ribbon-block{flex-direction:column;gap:2px;display:flex}.ribbon-rows{gap:2px;display:flex}.ribbon-side{flex-direction:column;gap:2px;display:flex}.ribbon-group .ribbon-layer{border:1px solid var(--line-strong);background:var(--bg);width:152px;min-width:0;height:24px;min-height:0;font-size:var(--fs-xs);flex-direction:row;justify-content:flex-start;gap:5px;padding:0 6px}.ribbon-layer .sw,.ribbon-layer-menu .sw{border:1px solid var(--line);border-radius:2px;flex:none;width:10px;height:10px}.ribbon-layer .nm{text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.ribbon-layer .st{color:var(--mut);gap:2px;display:flex}.ribbon-layer-menu{max-height:60vh;overflow:auto}.ribbon-split-menu.ribbon-layer-menu button{align-items:center;gap:6px;display:flex}.ribbon-layer-menu button[aria-checked=true]{font-weight:600}.ribbon-layer-menu button:disabled{opacity:.45;cursor:not-allowed}.ribbon-prop{align-items:center;gap:4px;width:114px;height:24px;display:flex}.ribbon-prop .cad-colour{flex:1;min-width:0}.ribbon-group .ribbon-prop .cad-colour-btn{width:100%;min-width:0;height:24px;min-height:0;font-size:var(--fs-xs);flex-direction:row;justify-content:flex-start;padding:0 6px}.ribbon .ribbon-prop .cad-colour-pop{position:fixed;top:auto;left:auto}.ribbon-prop select{min-width:0;height:24px;font-size:var(--fs-xs);flex:1}.ribbon-prop .pv{border-top:1.5px dashed var(--tx);flex:none;width:16px}.ribbon-prop .pv.lw{border-top:3px solid var(--tx)}.ribbon-group .ribbon-launch{border:1px solid var(--line-strong);vertical-align:middle;border-radius:2px;flex-direction:row;justify-content:center;align-items:center;width:14px;min-width:0;height:14px;min-height:0;margin-left:4px;padding:0;display:inline-flex}.ribbon-group .ribbon-launch.on{background:var(--acc);color:var(--on-acc)}.ribbon-tip{z-index:210;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-width:250px;box-shadow:var(--shadow-pop);font-size:var(--fs-sm);color:var(--mut);pointer-events:none;padding:6px 8px;line-height:1.35;position:fixed}.ribbon-tip b{color:var(--tx);font-weight:600;display:block}.ribbon-subtabs-list{gap:2px;display:flex}.ribbon-subtabs .ribbon-file{margin-right:var(--space-2);align-items:stretch;display:flex;position:relative}.ribbon-subtabs .ribbon-file>button{color:var(--tx)}.ribbon-subtabs .ribbon-file>button.on{border-bottom-color:var(--acc)}.ribbon-file-menu{z-index:60;background:var(--panel);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-pop);border-radius:8px;padding:4px;display:grid;position:absolute;top:100%;left:0}.ribbon-file-menu.side{margin-left:2px;top:-5px;left:100%}.ribbon-file-menu button{all:unset;box-sizing:border-box;align-items:center;gap:var(--space-3);cursor:pointer;width:100%;font-size:var(--fs-sm);color:var(--tx);white-space:nowrap;border-radius:5px;padding:6px 10px;display:flex}.ribbon-file-menu button>span:first-child{flex:1}.ribbon-file-menu button .k{color:var(--mut);font-size:var(--fs-xs)}.ribbon-file-menu button:hover:not(:disabled),.ribbon-file-menu button:focus-visible,.ribbon-file-menu button[aria-expanded=true]{background:color-mix(in srgb,var(--acc) 18%,transparent)}.ribbon-file-menu button:disabled{opacity:.45;cursor:not-allowed}.ribbon-file-menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.ribbon-file-sub{position:relative}.ribbon-labels{font-size:var(--fs-xs);color:var(--mut);white-space:nowrap;align-items:center;gap:4px;display:flex}.palette-resize{cursor:col-resize;z-index:2;width:6px;height:100%;position:absolute;top:0;right:-3px}.palette-item{align-items:flex-start}.palette-ic{flex:none;width:18px;height:18px;margin-top:1px}.palette-card{flex:1;gap:1px;min-width:0;display:grid}.palette-l1{align-items:baseline;gap:6px;min-width:0;display:flex}.palette-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.palette-val{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tx);flex:none;font-size:12px}.palette-l2{color:var(--mut);font-size:11px;line-height:1.3}.palette-item:hover .palette-l2{color:inherit;opacity:.85}.palette-details{border-top:1px solid var(--line);color:var(--tx);cursor:default;gap:1px;margin-top:4px;padding-top:4px;font-size:11px;display:grid}.palette-acts{background:var(--p2);opacity:0;pointer-events:none;border-radius:5px;margin:0;position:absolute;top:3px;right:3px}.palette-acts .icon-btn{opacity:1}.palette-item:hover .palette-acts,.palette-item:focus-within .palette-acts{opacity:1;pointer-events:auto;box-shadow:-6px 0 6px var(--p2)}.palette-item.is-fav .palette-acts{opacity:1;pointer-events:auto}.palette-item.is-fav:not(:hover):not(:focus-within) .palette-acts .icon-btn:not(.fav){display:none}.palette-item.is-fav:not(:hover):not(:focus-within) .palette-acts{top:auto;bottom:3px}.palette-item:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.palette-acts .icon-btn.on{color:var(--acc)}.palette-q{color:var(--acc);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:10px;display:inline-flex}.palette-q .icon-btn{padding:0 3px;font-size:11px;line-height:1}.palette-strip{flex-wrap:wrap;margin:0 0 4px;display:flex}.palette-mini{width:28px;height:28px;color:var(--mut);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;place-items:center;display:grid;position:relative}.palette-mini:hover{background:var(--p2);color:var(--tx)}.palette-mini-fav{color:var(--warn);font-size:8px;line-height:1;position:absolute;top:-1px;right:1px}.palette-cats{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(44px,1fr));margin-bottom:4px;padding-bottom:3px;display:grid}.palette-cat{min-width:0;color:var(--mut);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;align-items:center;gap:2px;padding:3px 0 2px;font-size:9px;line-height:1.1;display:flex}.palette-cat span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.palette-cat:hover{background:var(--p2);color:var(--tx)}.palette-cat.on{color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);box-shadow:inset 0 -2px 0 var(--acc)}.palette-cat .palette-ic,.palette-mini .palette-ic,.palette-tile .palette-ic{margin:0}.palette-tile .palette-ic{width:20px;height:20px}.palette-ghead{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);align-items:center;gap:4px;margin:2px 0;display:flex}.palette-ghead .palette-count{margin-left:auto}.palette-tiles{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));display:grid}.palette-tiles .palette-item{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;grid-column:1/-1;padding:4px 3px}.palette-tiles .palette-item:hover{background:var(--p2);color:var(--tx)}.palette-tile{min-width:0;color:var(--tx);text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;align-items:center;gap:2px;padding:4px 1px 3px;display:flex;position:relative}.palette-tile:hover{background:var(--p2)}.palette-tile:active,.palette-mini:active{cursor:grabbing}.palette-tile.armed,.palette-mini.armed,.palette-tiles .palette-item.armed{background:color-mix(in srgb,var(--acc) 16%,transparent);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc)}.palette-tile:focus-visible,.palette-mini:focus-visible,.palette-cat:focus-visible{outline:2px solid var(--acc);outline-offset:-1px}.palette-tname{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;font-size:10px;line-height:1.1;display:-webkit-box;overflow:hidden}.palette-dots{gap:1px;display:flex;position:absolute;top:3px;left:3px}.palette-dots i,.palette-legend i{border-radius:50%;width:5px;height:5px;display:inline-block}.palette-dots .bus,.palette-legend .bus{background:var(--acc)}.palette-dots .feeder,.palette-legend .feeder{background:var(--ok)}.palette-dots .canvas,.palette-legend .canvas{background:var(--warn)}.palette-tile .fav{opacity:0;padding:1px 2px;position:absolute;top:0;right:0}.palette-tile:hover .fav,.palette-tile .fav.on{opacity:1}.palette-tile .fav.on{color:var(--warn)}.palette-legend{flex-wrap:wrap;gap:3px 8px;margin:6px 0 0;font-size:10px;display:flex}.palette-legend span{align-items:center;gap:3px;display:inline-flex}.palette-legend .sp{margin-left:auto}.palette-tipcard{z-index:50;background:var(--panel);border:1px solid var(--field-line);width:230px;box-shadow:var(--shadow-palette);pointer-events:none;border-radius:6px;gap:3px;padding:7px 9px;font-size:11px;line-height:1.35;display:grid;position:fixed}.palette-tipcard b{font-size:12px}.palette-where{gap:4px;display:flex}.palette-where span{border:1px solid var(--line);color:var(--mut);border-radius:9px;padding:0 6px;font-size:10px}.palette-where span.yes{color:var(--ok);border-color:var(--ok)}.sysdiag.armed>svg,.sysdiag.armed .fd,.sysdiag.armed .bd{cursor:copy}.tree-row.dragging{opacity:.5}.tree-row.drop-ok{outline:2px solid var(--ok);outline-offset:-2px;background:color-mix(in srgb,var(--ok) 14%,transparent)}.tree-row.drop-no{outline:2px dashed var(--bad);outline-offset:-2px;cursor:not-allowed}.tree-check{color:var(--warn);border:1px solid var(--warn);border-radius:4px;margin-left:4px;padding:0 3px;font-size:10px;font-weight:600}.tree-body:focus-visible{outline:1px solid var(--acc);outline-offset:-1px}.tree-move{z-index:30;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:8px;gap:6px;padding:6px;display:grid;position:absolute;top:70px;left:8px;right:8px}.tree-move .tree-menu-h{align-items:center;display:flex}.tree-move-list{max-height:260px;display:grid;overflow:auto}.tree-move-list button{all:unset;cursor:pointer;font-size:var(--fs-sm);border-radius:4px;padding:4px 6px}.tree-move-list button:hover:not(:disabled){background:color-mix(in srgb,var(--ok) 15%,transparent)}.tree-move-list button:disabled{opacity:.45;cursor:not-allowed}.home-actions{gap:var(--space-3);margin:var(--space-1) 0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.home-act{text-align:left;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--tx);cursor:pointer;font:inherit;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;display:grid}.home-act svg{color:var(--acc);grid-row:span 2}.home-act b{font-size:15px}.home-act span{color:var(--mut);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-act:hover:not(:disabled){border-color:var(--acc)}.home-act.primary{background:color-mix(in srgb,var(--acc) 16%,var(--panel));border-color:color-mix(in srgb,var(--acc) 50%,var(--line))}.home-act.primary span{color:var(--tx)}.home-act:disabled{opacity:.55;cursor:default}.top .home-links{gap:6px;display:flex}.dash-actions{gap:var(--space-2);margin:var(--space-1) 0 var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.dash-actions .chip{padding:0 var(--space-4)}.dash-state.ok{color:var(--ok)}.dash-state.warn{color:var(--warn)}.dash-tiles.more{margin-top:var(--space-3);opacity:.92}.dash-tiles.more .dash-value{font-size:17px}.dash-stage-checks{margin:var(--space-1) 0 0;padding:0;font-size:12px;line-height:1.7;list-style:none}.dash-stage-checks li{align-items:baseline;gap:6px;display:flex}.dash-stage-checks .linkish{font-size:inherit;text-align:left}.page-not-loaded{justify-items:start;gap:var(--space-2);max-width:68ch;padding:var(--space-4);display:grid}.page-not-loaded p,.page-not-loaded h3{margin:0}.page-not-loaded h3{font-size:16px;font-weight:600;line-height:1.3}.page-not-loaded .crash-details{justify-self:stretch}.crash-screen{z-index:1000;padding:var(--space-4);background:var(--bg);color:var(--tx);display:grid;position:fixed;inset:0;overflow:auto}.crash-box{gap:var(--space-3);width:min(560px,100%);margin:auto;display:grid}.crash-box h1{margin:0;font-size:18px;font-weight:600;line-height:1.3}.crash-box p{margin:0}.crash-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.crash-details summary{color:var(--mut);font-size:var(--fs-sm);cursor:pointer}.crash-details pre{max-height:240px;margin:var(--space-2) 0 0;padding:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);font:11px/1.4 ui-monospace,Menlo,monospace;overflow:auto}.web-banner{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--gutter);background:color-mix(in srgb,var(--acc) 12%,var(--panel));border-bottom:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.web-ok{align-items:center;gap:var(--space-1);color:var(--ok);display:inline-flex}.sheet-refs{flex-wrap:wrap;gap:4px;max-width:50%;display:inline-flex;overflow:hidden}.sheet-refs .chip{padding:0 var(--space-2);font-size:var(--fs-xs);min-height:20px}.enc-cols{grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr) minmax(260px,1fr);align-items:start;gap:10px;display:grid}.enc-cols .card{flex-direction:column;gap:8px;min-width:0;display:flex}@media (width<=1100px){.enc-cols{grid-template-columns:1fr}}.enc-result{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:3px;padding:8px;display:flex}.enc-key .k{vertical-align:middle;border:1px dashed var(--acc);width:14px;height:9px;margin:0 3px 0 8px;display:inline-block}.enc-key .k.eq{background:var(--acc);opacity:.6;border-style:solid}.enc-key .k.allow{border-color:var(--warn)}.pfcc-svg .enc-eq{color:var(--acc)}.pfcc-svg .enc-allow{color:var(--warn)}.enc-foot{margin-top:10px}.enc-tabs{margin-bottom:10px}.f4-group{font-size:var(--fs-xs);letter-spacing:.02em;margin:6px 0 2px;font-weight:600}.f4-size{margin:0;font-size:18px}.f4-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:10px;display:grid}@media (width<=1100px){.f4-layout{grid-template-columns:1fr}}.f4-layout .card{flex-direction:column;gap:8px;min-width:0;display:flex}.f4-main{flex-direction:column;gap:10px;min-width:0;display:flex}.f4-sub{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:10px;display:grid}.f4-seg{display:flex}.f4-seg button{flex:1}.f4-head{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.f4-head p{margin:0}.f4-head .sp{flex:1}.f4-drawing svg{max-height:560px}.f4-qty{table-layout:fixed;width:100%}.f4-qty td:first-child{white-space:normal}.f4-qty td:nth-child(2){width:112px}.f4-qty td:nth-child(3){text-align:right;width:76px}.f4-qty tr.zero td:first-child{color:var(--mut)}.f4-step{align-items:center;gap:3px;display:inline-flex}.f4-step input{text-align:right;width:40px}.f4-step button{border:1px solid var(--line);background:var(--p2);width:26px;height:26px;color:var(--tx);border-radius:5px;line-height:1}.f4-step button:disabled{opacity:.4}.f4-list{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.f4-wrap{white-space:normal}.enc-cols .pfcc-svg svg{width:100%;max-height:420px}.modal.cm{width:96vw;max-width:1300px}.cm-cols{grid-template-columns:minmax(220px,300px) 1fr;align-items:start;gap:10px;display:grid}.cm-cols .card{flex-direction:column;gap:8px;min-width:0;display:flex}.cm-item{cursor:pointer;border-radius:5px;padding:5px 8px}.cm-item:hover,.cm-item.on{background:var(--p2)}.cm-item.on{outline:1px solid var(--acc)}.cm-edit fieldset{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.cm-scroll{max-height:42vh;overflow:auto}.cm-dims{gap:2px;display:inline-flex}.enc-devs{max-height:30vh;overflow:auto}@media (width<=900px){.cm-cols{grid-template-columns:1fr}}.modal.bh{width:96vw;max-width:1280px}.bh-cols{grid-template-columns:minmax(240px,1fr) minmax(320px,1.6fr) minmax(220px,1fr);gap:10px;min-height:0;display:grid}.bh-cols .card{flex-direction:column;gap:8px;min-width:0;display:flex}.bh-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.bh-list{border:1px solid var(--line);border-radius:6px;max-height:46vh;padding:4px;overflow:auto}.bh-row{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;display:flex}.bh-row:hover{background:var(--p2)}.bh-row.on{background:var(--p2);outline:1px solid var(--acc)}.bh-tw{width:16px;color:var(--mut);text-align:center}.bh-pending{border:1px solid var(--warn);color:var(--warn);border-radius:8px;padding:0 6px;font-size:11px}.bh-floor{border-bottom:1px solid var(--line);padding:4px 6px}.bh-mains{flex-wrap:wrap;gap:4px 10px;display:flex}.bh-checks{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.bh-checks .ok{color:var(--ok)}.bh-checks .warn{color:var(--warn)}.bh-checks .bad{color:var(--bad)}.bh-list tr.on td{background:var(--p2)}.modal.bh-guided{gap:14px;max-height:94vh;overflow:hidden}.bh-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.bh-heading h3{margin:0 0 4px}.bh-steps{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.bh-steps button{border:1px solid var(--line);width:100%;color:var(--mut);text-align:left;border-radius:6px;align-items:center;gap:8px;padding:9px 10px;display:flex}.bh-steps button span{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.bh-steps button.on{border-color:var(--acc);color:var(--tx);background:var(--p2)}.bh-steps button.on span{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}.bh-stage{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.bh-stage h4{margin:0}.bh-starts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bh-start{text-align:left;border:1px solid var(--line);background:var(--p2);color:var(--tx);border-radius:8px;align-items:flex-start;gap:12px;padding:18px;display:flex}.bh-start>svg{color:var(--acc);flex-shrink:0}.bh-start span{flex-direction:column;gap:7px;display:flex}.bh-start small{color:var(--mut);line-height:1.5}.bh-start.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.bh-setup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.bh-preview-cols{grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);align-items:start;gap:14px;display:grid}.bh-guided .card{flex-direction:column;gap:12px;min-width:0;display:flex}.bh-guided .form-kv{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;margin:0}.bh-guided .form-kv label{gap:5px;font-size:12px;display:grid}.bh-guided .form-kv input,.bh-guided .form-kv select{padding:8px;font-size:13px}.bh-guided .form-kv .bh-full{grid-column:1/-1}.bh-guided .bh-side .form-kv{grid-template-columns:minmax(0,1fr)}.bh-guided .row input[type=checkbox]{flex-shrink:0;width:auto}.bh-guided .form-kv .row{display:flex}.bh-guided .bh-mains{border:1px solid var(--line);border-radius:6px;grid-column:1/-1;max-height:130px;margin:0;padding:8px;overflow:auto}.bh-mains legend{color:var(--mut);font-size:12px}.bh-error{color:var(--bad);font-size:12px}.bh-guided input[aria-invalid=true]{border-color:var(--bad)}.bh-total{margin:0;font-size:15px;font-weight:600}.bh-review-summary{align-items:center;gap:20px;display:flex}.bh-review-summary .bh-tiles{flex:1;max-width:650px}.bh-review-summary .dash-tile{padding:8px 12px}.bh-review-summary .dash-value{font-size:22px}.bh-preview-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bh-preview-tools input{flex:1;min-width:160px;padding:7px 9px}.bh-guided .bh-list{min-height:110px;max-height:34vh}.bh-guided .bh-row{padding-top:6px;padding-bottom:6px}.bh-guided .bh-tw{flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.bh-tag{color:inherit;text-align:left;padding:0;font-weight:600}.bh-tag:disabled{opacity:1;color:var(--mut)}.bh-assign{border-top:1px solid var(--line);padding-top:10px}.bh-assign summary{cursor:pointer;color:var(--acc)}.bh-assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.bh-assignment-list label{align-items:center;gap:8px;display:flex}.bh-assignment-list select{flex:1;min-width:0}.bh-actions{border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding-top:12px;display:flex}.bh-actions .m{font-size:12px}.bh-back{align-self:flex-start}.tree-row.batch-new{box-shadow:inset 2px 0 var(--acc)}.tree-new{color:var(--acc);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:10px}.tree-batch{color:var(--acc);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}@media (width<=900px){.bh-setup,.bh-preview-cols{grid-template-columns:1fr}.bh-review-summary{flex-wrap:wrap}.bh-guided .bh-list{max-height:30vh}}@media (width<=600px){.bh-starts{grid-template-columns:1fr}.bh-steps{grid-template-columns:repeat(2,1fr)}.bh-guided .form-kv{grid-template-columns:1fr}.bh-actions .m{display:none}}@media (width<=900px){.bh-cols{grid-template-columns:1fr}}.bh-asm{flex-direction:column;gap:2px;max-height:30vh;display:flex;overflow:auto}.bh-asm .bh-row{white-space:normal;align-items:flex-start}.bh-floors{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px;max-height:22vh;display:grid;overflow:auto}.enc-w{align-items:center;gap:4px;display:inline-flex}.pp-tabs{margin-bottom:10px}.pp-cols{grid-template-columns:minmax(240px,1fr) minmax(320px,1.4fr) minmax(220px,1fr);align-items:start;gap:10px;display:grid}.pp-cols .card{flex-direction:column;gap:8px;min-width:0;display:flex}.pp-tree{max-height:50vh}.pp-foot{margin-top:10px}.pp-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.pp-bar label{align-items:center;gap:4px;display:inline-flex}.pp-table{max-height:60vh;overflow:auto}.pp-table tr.on td{background:var(--p2)}.bh-embedded .bh-stage{max-height:none}@media (width<=1100px){.pp-cols{grid-template-columns:1fr}}.pp-names summary{cursor:pointer}.pp-naming{grid-template-columns:minmax(260px,1fr) minmax(420px,2.4fr)}.earth-cols{grid-template-columns:minmax(240px,1fr) minmax(420px,2.2fr) minmax(220px,1fr)}.earth-drawing{background:#fff;border-radius:4px;width:100%;height:auto}.app-ver{opacity:.7;margin-left:4px;font-size:.75em;font-weight:500}.cm-dims{white-space:nowrap}.ls-panels{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.ls-panels .chip.on{border-color:var(--acc);color:var(--acc)}.ls-panels .ls-form{margin-left:auto}.save-failed{color:var(--bad);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-right:6px;font-size:12px;overflow:hidden}.markup-row.on{background:color-mix(in srgb,var(--acc) 18%,transparent)}.th-sort{color:inherit;font:inherit;text-transform:inherit;align-items:center;gap:2px;display:inline-flex}.projects-table tr.archived td{opacity:.6}.ptags{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.dash-deliverables{gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.dash-deliverables .late{color:var(--bad)}.brief-scope{gap:6px;display:grid}.brief-party{border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:6px 10px}.brief-review p{margin:6px 0}.rev-classes{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0;display:flex}.baseline-bar{border-bottom:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:5px 12px;display:flex}.rev-baseline{margin:6px 0}.mod-detail{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.mod-conflicts{border:1px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:6px;margin-top:8px;padding:8px 12px}.mod-conflicts ul{margin:4px 0 8px}.mod-accepted{color:var(--ok)}.mod-rejected,.mod-superseded{color:var(--mut)}.tool-panel .row{align-items:center;display:flex}.tool-panel input:not([type=checkbox]):not([type=radio]),.tool-panel select,.tool-panel textarea{min-width:0;padding:4px 8px;font-size:13px}.tool-panel input::placeholder,.tool-panel textarea::placeholder{color:var(--mut)}.tool-panel input:focus-visible,.tool-panel select:focus-visible,.tool-panel textarea:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.tool-panel button:not(.link):not(.icon-btn){border:1px solid var(--line);background:var(--p2);border-radius:6px;padding:4px 10px;font-size:13px}.tool-panel button:not(.link):hover:not(:disabled){border-color:var(--acc)}.tool-panel button.primary:not(.link):not(.icon-btn){background:var(--acc);color:var(--on-acc);border-color:var(--acc);font-weight:600}.tool-panel button:disabled{opacity:.5;cursor:not-allowed}.tool-panel button.link{color:var(--acc);background:0 0;border:0;padding:0;text-decoration:underline}.tool-panel label{font-size:13px}.tool-panel table.tbl{border-collapse:collapse;width:100%;margin:6px 0;font-size:13px}.tool-panel table.tbl th,.tool-panel table.tbl td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 8px}.tool-panel table.tbl th{color:var(--mut);font-weight:600}.tool-panel h4{margin:0 0 6px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)}@media (width<=760px){:root{--gutter:var(--space-3)}.home-actions{grid-template-columns:1fr}.modal-backdrop{padding:var(--space-3)}.modal{padding:var(--space-4)}}kbd{border:1px solid var(--line);color:var(--mut);background:var(--p2);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.cmdk-open{gap:6px}.cmdk-open kbd{font-size:var(--fs-xs)}.cmdk-backdrop{align-items:flex-start;padding-top:12vh}.cmdk{background:var(--panel);border:1px solid var(--line);width:min(640px,100vw - 32px);box-shadow:var(--shadow-palette);border-radius:10px;flex-direction:column;max-height:70vh;display:flex;overflow:hidden}.cmdk-input{border:0;border-bottom:1px solid var(--line);color:var(--tx);background:0 0;border-radius:0;outline:none;padding:14px 16px;font-size:15px}.cmdk-list{padding:4px 6px 6px;overflow-y:auto}.cmdk-group{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 3px;font-size:11px}.cmdk-item{text-align:left;width:100%;font-size:var(--fs-md);color:var(--tx);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-width:0;padding:7px 10px;display:flex}.cmdk-item.on{background:color-mix(in srgb,var(--acc) 20%,transparent)}.cmdk-label{flex:none;font-weight:600}.cmdk-hint{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-item kbd{flex:none;margin-left:auto}.cmdk-empty{padding:14px 10px}.cmdk-foot{border-top:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;display:flex}.kbd-help{max-width:820px}.kbd-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px 24px;display:grid}.kbd-cols h4{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 6px;font-size:12px}.kbd-cols dl{gap:4px;margin:0;display:grid}.kbd-cols dl>div{grid-template-columns:120px 1fr;align-items:baseline;gap:8px;font-size:13px;display:grid}.kbd-cols dt,.kbd-cols dd{margin:0}.sysdiag.lod-mid svg .fd text:not(.lod-name):not(.b):not(.dev),.sysdiag.lod-mid svg .fd .cable-ref,.sysdiag.lod-mid svg .acc text,.sysdiag.lod-mid svg text.res,.sysdiag.lod-mid svg .panel-frame text:not(.lod-name),.sysdiag.lod-far svg text:not(.lod-name),.sysdiag.lod-far svg .acc,.sysdiag.lod-far svg .cable-ref,.sysdiag.lod-far svg .sum-box{display:none}.sysdiag.lod-far svg text.lod-name{font-size:var(--lod-fs,11px);font-weight:700}.lod-hint{z-index:3;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);color:var(--mut);border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:flex;position:absolute;bottom:10px;right:10px}.lod-hint .linkish{margin-left:0}button.rd-chip{font:inherit;cursor:pointer;background:0 0;min-height:0;font-size:11px}button.rd-chip:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.board-sheet{gap:var(--space-2);flex-direction:column;margin-top:8px;display:flex}.bs-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bs-bar b{font-size:14px}.bs-phases{gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;font-size:12px;display:grid}.bs-ph{gap:var(--space-2);white-space:nowrap;grid-template-columns:14px minmax(40px,1fr) auto;align-items:center;display:grid}.bs-track{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.bs-fill{background:currentColor;border-radius:4px;height:100%;display:block}.bs-ph-sum{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.bs-ph-sum .warn,.bs-ph-sum b.warn{color:var(--warn)}.bs-ph-sum b.ok{color:var(--ok)}.bs-table{overflow-x:auto}.bs-table td.num,.bs-table th.num{text-align:right}.bs-table tr{cursor:pointer}.bs-table tr.sel td{background:color-mix(in srgb,var(--acc) 14%,transparent)}.bs-table td.bad{color:var(--bad)}.bs-table td.warn{color:var(--warn)}.bs-table td.ok{color:var(--ok)}svg .ph-tag.ph-r{color:var(--ph-r)}svg .ph-tag.ph-y{color:var(--ph-y)}svg .ph-tag.ph-b{color:var(--ph-b)}svg .ph-tag.ph-ryb{color:var(--ph-ryb)}svg .ph-tag.unset{color:var(--warn)}svg .ph-tag text{fill:currentColor}svg .ph-tag rect{fill:#0000;stroke:currentColor;stroke-width:1px;opacity:.7}svg .ph-tag.click{cursor:pointer}svg .ph-tag.click:hover rect{fill:color-mix(in srgb,currentColor 20%,transparent);opacity:1}@media (width<=1000px){.bs-phases{grid-template-columns:minmax(0,1fr)}}.bs-earth{gap:var(--space-1) var(--space-4);padding:0 var(--space-1);flex-wrap:wrap;align-items:baseline;font-size:12px;display:flex}.bs-earth .ok{color:var(--ok)}.bs-earth .bad{color:var(--bad)}.bs-earth .warn{color:var(--warn)}.earth-ws{gap:var(--space-3);padding:0 var(--gutter) var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.earth-ws.with-drawer{grid-template-columns:minmax(0,1fr) 390px}.earth-main{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.earth-bar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.earth-bar .bad,.earth-table .bad{color:var(--bad)}.earth-table .ok{color:var(--ok)}.earth-badge{background:var(--warn);min-width:16px;color:var(--panel);font-size:var(--fs-xs);text-align:center;border-radius:8px;margin-left:5px;padding:0 4px;font-weight:600;line-height:16px;display:inline-block}.earth-canvas{border:1px solid var(--line);background-color:var(--bg);background-size:100px 100px,100px 100px,20px 20px,20px 20px;background-attachment:local;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px), linear-gradient(to right,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);border-radius:8px;min-height:360px;max-height:calc(100vh - 300px);position:relative;overflow:auto}.earth-pop{z-index:4;background:var(--panel);width:250px;color:var(--tx);border:1px solid var(--acc);box-shadow:var(--shadow-pop);border-radius:8px;gap:6px;padding:8px 10px;font-size:12px;display:grid;position:absolute}.earth-pop-h{align-items:baseline;gap:6px;display:flex}.earth-pop-h .icon-btn{margin-left:auto}.earth-pop label{color:var(--mut);grid-template-columns:90px 1fr;align-items:center;gap:6px;display:grid}.earth-pop p{margin:0}.earth-st.pass{color:var(--ok)}.earth-st.fail{color:var(--bad);font-weight:600}.earth-st.untested{color:var(--mut)}.earth-dot{border:1px solid var(--mut);vertical-align:-1px;width:10px;height:10px;display:inline-block}.earth-dot.pass{background:var(--pit-pass)}.earth-dot.fail{background:var(--pit-fail)}.earth-dot.untested{background:var(--pit-untested)}.earth-key{margin:0}.earth-table{overflow-x:auto}.earth-table td.num,.earth-table th.num{text-align:right}.earth-checks{padding:var(--space-2) 0}.earth-drawer{border:1px solid var(--line);padding:var(--space-2) var(--space-3);background:var(--panel);border-radius:8px;align-self:start;max-height:calc(100vh - 260px);overflow:auto}.earth-drawer h4{margin:0 0 6px}@media (width<=1000px){.earth-ws.with-drawer{grid-template-columns:minmax(0,1fr)}}.earth-embedded .earth-ws{padding:var(--space-2) 0 0}.modal.circuit-edit{max-width:640px}.circuit-edit fieldset{border:1px solid var(--line);border-radius:var(--radius-md,6px);padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.circuit-edit legend{font-size:var(--fs-sm);color:var(--mut);padding:0 var(--space-1)}.ce-grid{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.ce-grid.ce-pts{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.ce-items{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ce-items th{text-align:left;color:var(--mut);padding:0 4px 2px;font-weight:500}.ce-items td{padding:2px 4px}.ce-items td.num{text-align:right;white-space:nowrap}.ce-items input,.ce-items select{width:100%;min-width:0}.ce-items td:first-child{width:70px}.ce-items td:nth-child(4),.ce-items td:nth-child(5){width:64px}.schedule td.itemized input{cursor:default;font-style:italic;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ce-item-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.modal.row-edit{max-width:720px}.ce-grid .ce-wide{grid-column:1/-1}.ce-ro output{min-height:var(--control-h);padding:0 var(--space-2);border:1px dashed var(--line);border-radius:var(--radius-md,6px);color:var(--tx);align-items:center;display:flex}.circuit-edit .ce-pane{gap:var(--space-2);flex-direction:column;min-height:260px;display:flex}.circuit-edit .ce-pane[hidden]{display:none}.circuit-edit .ptabs{margin:0}.circuit-edit .link-btn{color:var(--acc);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.circuit-edit .link-btn:hover{text-decoration:underline}.la-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=1100px){.la-grid{grid-template-columns:1fr}}.la-sec{margin-bottom:14px}.la-sec h4{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.la-sec h4 .m{font-size:12px;font-weight:400}.la-n{background:var(--acc);width:20px;height:20px;color:var(--on-acc);border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.la-sticky{position:sticky;top:0}.la-types{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-bottom:10px;display:grid}.la-type{border:1px solid var(--line);background:var(--p2);color:var(--tx);text-align:left;border-radius:8px;padding:8px;font-size:12px}.la-type:hover{border-color:var(--line-strong)}.la-type.on{border-color:var(--acc);color:var(--acc);font-weight:600}.la-type.add{color:var(--acc);border-style:dashed}.la-type i{color:var(--mut);font-size:10px;font-style:normal;font-weight:400;display:block}.la-box{border:1px dashed var(--line);border-radius:8px;margin-bottom:10px;padding:8px 10px}.la-table td,.la-table th{white-space:nowrap}.la-table tfoot td{border-top:1px solid var(--line)}.la-tog{color:var(--acc);cursor:pointer;align-items:center;gap:4px;font-size:12px;font-weight:400;display:flex}.la-svc{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.la-card{border:1px solid var(--line);background:var(--p2);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.la-card-t{justify-content:space-between;gap:6px;font-size:12px;font-weight:600;display:flex}.la-card-t em{color:var(--mut);font-style:normal;font-weight:400}.la-card .m{font-size:11px}.la-inline{align-items:center;gap:6px;display:flex}.la-fac{color:var(--mut);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:6px;padding-top:4px;font-size:11px;display:flex}.la-svc-f{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;display:grid}.la-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.la-kpis div{border:1px solid var(--line);background:var(--p2);border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.la-kpis b{font-size:18px}.la-kpis span{color:var(--mut);font-size:11px}.la-bar{background:color-mix(in srgb,var(--acc) 12%,transparent);border-radius:4px;min-width:50px;height:8px;overflow:hidden}.la-bar i{background:var(--acc);height:100%;display:block}.la-flag{border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12px}.la-flag.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);color:var(--ok)}.la-flag.warn{border-color:color-mix(in srgb,var(--warn) 60%,transparent);color:var(--warn)}.u-flush{margin:0}.u-mb-2{margin-bottom:var(--space-2)}.u-mb-3{margin-bottom:var(--space-3)}.export-bar{gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);display:grid}.modal .export-bar{margin:var(--space-1) 0 0;padding:var(--space-3) 0 0;background:0 0;border-width:1px 0 0;border-radius:0}.export-facts{gap:var(--space-1) var(--space-5);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;display:flex}.export-facts div{gap:var(--space-2);min-width:0;display:flex}.export-facts dt{color:var(--mut)}.export-facts dd{min-width:0;margin:0}.export-blocked,.export-note{align-items:center;gap:var(--space-1);font-size:var(--fs-sm);margin:0;display:flex}.export-blocked{color:var(--warn)}.export-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.paper-preview{margin:0}.paper-preview figcaption{margin:0 0 var(--space-1);font-size:var(--fs-xs)}.paper-desk{background:var(--p2);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:center;height:70vh;padding:16px;display:flex;overflow:hidden}.paper-sheet{transform-origin:top;box-shadow:var(--shadow-paper);background:#fff;flex:none;position:relative}.paper-sheet iframe{background:#fff;border:0;width:100%;height:100%;display:block}.paper-guides{pointer-events:none;border:1px dashed #1a66c999;border-bottom:0;position:absolute}.tpl-file{gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--p2);align-items:center;padding:4px 8px;display:flex}.tpl-file>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tpl-preview{border:1px solid var(--line);border-radius:var(--radius-sm);overflow-x:auto}.tpl-preview table{border-collapse:collapse;min-width:0}.tpl-preview td{border:1px solid var(--line);font-size:var(--fs-xs);white-space:nowrap;padding:2px 6px}.tpl-preview tr.rep td{color:var(--acc)}.fp-canvas{cursor:crosshair;display:block;position:absolute;inset:0}.fp-readout,.fp-hint{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);pointer-events:none;padding:5px 9px;position:absolute}.fp-readout{right:var(--space-3);top:var(--space-3)}.fp-hint{left:var(--space-3);bottom:var(--space-3);max-width:calc(100% - 2 * var(--space-3))}.fp-side{flex-direction:column;min-width:0;min-height:0;display:flex}.fp-side h4{padding:var(--space-3) var(--space-3) var(--space-2);font-size:var(--fs-md);gap:var(--space-2);flex-wrap:wrap;align-items:baseline;margin:0;display:flex}.fp-side h4 small{font-weight:400}.fp-form{gap:var(--space-2);padding:0 var(--space-3) var(--space-3);grid-template-columns:1fr 1fr;display:grid}.fp-form label:first-child{grid-column:1/-1}.fp-list,.fp-layers{border-top:1px solid var(--line);flex:1;min-height:0;overflow:auto}.fp-layers{padding:0 var(--space-3)}.fp-list tr{cursor:pointer}.fp-foot{padding:var(--space-3);justify-content:flex-start;margin:0}.fp-tasks{padding:var(--space-2) var(--space-3) 0;border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.fp-tasks button{color:var(--mut);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 10px}.fp-tasks button[aria-selected=true]{color:var(--tx);border-bottom-color:var(--acc)}.elv-pal{padding:0 var(--space-3) var(--space-2);grid-template-columns:1fr 1fr;gap:4px;display:grid}.elv-pal button{background:var(--p2);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-sm);color:var(--tx);align-items:center;gap:6px;min-width:0;padding:4px 6px;display:flex}.elv-pal button[aria-pressed=true]{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.elv-pal button b{color:var(--mut);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.elv-sym{width:20px;height:20px;color:var(--tx);flex:none}.fp-side .elv-sel{grid-template-columns:1fr auto auto;align-items:end;padding-top:0}.fp-side .elv-sel>span{grid-column:1/-1}.elv-ok{color:var(--ok)}.elv-warn{color:var(--warn)}.elv-bad{color:var(--bad)}.elv-groups{padding:0 var(--space-3) var(--space-2);font-size:var(--fs-sm);margin:0;list-style:none}.elv-groups li{border-bottom:1px solid var(--line);padding:4px 0}.elv-warns{margin:var(--space-2) 0;padding:0 var(--space-3) 0 calc(var(--space-3) + 14px);font-size:var(--fs-sm);color:var(--warn)}.elv-sched{margin-top:var(--space-2);overflow-x:auto}.elv-sched tr.group td{border-top:1px solid var(--line-strong);font-weight:600}.elv-sched tr.sum td{font-weight:600}.elv-remark{width:100%;min-width:160px;font-size:var(--fs-sm);padding:2px 6px}.fp-pad{padding:var(--space-2) var(--space-3);margin:0}.fp-side .fp-form{padding-top:var(--space-3)}.modal.whats-new{max-width:620px}.modal.whats-new h4{margin:var(--space-2) 0 0;font-size:var(--fs-md)}.wn-item{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:start;display:grid}.wn-item svg{fill:none;width:22px;height:22px;stroke:var(--acc);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;margin-top:2px}.wn-item b{font-weight:600;display:block}.wn-item .m{font-size:var(--fs-sm);display:block}.cad{--cad-bg:var(--canvas-bg);--cad-ink:var(--canvas-ink);--cad-grid:var(--canvas-grid);--cad-grid-major:var(--canvas-grid-major);--cad-sketch:var(--res-cur);--cad-cross:var(--canvas-ink);--cad-snap:var(--ok);--cad-dev:var(--warn);--cad-elv:var(--acc);border-top:1px solid var(--line);flex-direction:column;height:100%;display:flex}.mid>.cad{flex:auto}@media (width<=600px){.cad{min-height:520px}}.cad-work{flex:1;grid-template-columns:minmax(0,1fr) 260px;min-height:0;display:grid;position:relative}.cad-work:has(>:only-child){grid-template-columns:minmax(0,1fr)}.cad-stage{background:var(--cad-bg);min-height:0;position:relative;overflow:hidden}.cad-model{position:absolute;inset:0}.cad-layer{display:block;position:absolute;inset:0}.cad-over{cursor:none}.pub-list{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.pub-list label{gap:var(--space-2);padding:2px var(--space-2);border-bottom:1px solid var(--line);align-items:center;display:flex}.cad-ctx{z-index:5;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);max-width:calc(100% - 8px);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.cad-ctx.above{transform:translateY(-100%)}.cad-ctx.vert{flex-flow:column;align-items:stretch}.cad-ctx button{justify-content:space-between;gap:var(--space-2);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--tx);font:inherit;background:0 0;border:1px solid #0000;display:flex}.cad-ctx button:hover:not(:disabled),.cad-ctx button[aria-expanded=true]{background:var(--p2);border-color:var(--line)}.cad-ctx button:disabled{color:var(--mut);cursor:default}.cad-ctx-what{padding:0 var(--space-2);color:var(--mut);font-size:var(--fs-xs)}.cad-ctx-bar{background:var(--line);align-self:stretch;width:1px;margin:0 2px}.cad-ctx.vert .cad-ctx-bar{width:auto;height:1px;margin:2px 0}.cad-ctx-list{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-width:240px;max-height:260px;box-shadow:var(--shadow-pop);flex-direction:column;padding:3px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.cad-ctx.vert .cad-ctx-list{top:0;left:calc(100% + 4px)}.cad-ctx-list small{color:var(--mut)}.cad-coords{left:var(--space-2);top:var(--space-2);color:var(--mut);pointer-events:none;font:11px ui-monospace,Menlo,monospace;position:absolute}.cad-empty{place-content:center;gap:var(--space-3);padding:var(--space-5);text-align:center;background:var(--bg);display:grid}.cad-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.cad-tabs{min-height:34px;padding:var(--space-1) var(--space-2) 0;background:var(--p2);border-bottom:1px solid var(--line);flex:none;align-items:flex-end;gap:2px;display:flex;overflow:auto hidden}.cad-tab{border:1px solid var(--line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:280px;height:28px;color:var(--mut);border-bottom:0;flex:none;align-items:center;display:flex}.cad-tab:hover{color:var(--tx)}.cad-tab.on{background:var(--cad-bg);border-color:var(--line-strong);box-shadow:inset 0 2px 0 var(--acc);color:var(--tx)}.cad-tab-name{min-width:0;height:100%;padding:0 var(--space-1) 0 var(--space-3);color:inherit;font:inherit;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;overflow:hidden}.cad-tab-x,.cad-tab-add{color:var(--mut);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cad-tab-x{width:20px;height:20px;margin-right:var(--space-1);border-radius:4px}.cad-tab-add{width:26px;height:26px;margin:0 0 1px var(--space-1);border-radius:var(--radius-sm)}.cad-tab-x:hover,.cad-tab-add:hover:not(:disabled){background:var(--line);color:var(--tx)}.cad-tab-add:disabled{opacity:.45;cursor:default}.cad-tab-menu button:disabled{opacity:.5;cursor:default;background:0 0}.cad-tab-menu.up{transform:translateY(-100%)}.cad-tab-menu hr{border:0;border-top:1px solid var(--line);margin:3px 0}.cad-tab-menu-h{font-size:var(--fs-xs);color:var(--mut);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px 2px}.cad-ltabs{padding:0 var(--space-2);background:var(--p2);border-top:1px solid var(--line);flex:none;align-items:flex-start;gap:2px;display:flex;overflow:auto hidden}.cad-ltab{height:24px;padding:0 var(--space-3);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--mut);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-top:0;flex:none;align-items:center;display:inline-flex}.cad-ltab:hover{color:var(--tx)}.cad-ltab.on{background:var(--cad-bg);border-color:var(--line-strong);box-shadow:inset 0 -2px 0 var(--acc);color:var(--tx);font-weight:600}.cad-ltab.add{padding:0 var(--space-2);color:var(--acc)}.cad-ltab-k{border:1px solid var(--line-strong);color:var(--mut);border-radius:3px;margin-left:6px;padding:0 3px;font-size:9px;font-weight:400}.cad-filepaper{background:color-mix(in srgb,var(--bg) 70%,#888 30%);cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.cad-filepaper canvas{display:block;position:absolute;inset:0}.cad-paper .sheet-ws{border:0;border-radius:0;height:100%;min-height:0}.cad-paper .sheet-page{min-height:0;padding:24px}.cad-paper .sheet-paper{overflow:visible}.cad-printable{border:1px dashed var(--mut);pointer-events:none;position:absolute}.cad-trim{pointer-events:none;width:0;height:0;position:absolute}.cad-trim:before,.cad-trim:after{content:"";background:var(--mut);position:absolute}.cad-trim:before{width:12px;height:1px;top:0}.cad-trim:after{width:1px;height:12px;left:0}.cad-trim.nw{top:0;left:0}.cad-trim.ne{top:0;right:0}.cad-trim.sw{bottom:0;left:0}.cad-trim.se{bottom:0;right:0}.cad-trim.nw:before,.cad-trim.sw:before{right:4px}.cad-trim.ne:before,.cad-trim.se:before{left:4px}.cad-trim.nw:after,.cad-trim.ne:after{bottom:4px}.cad-trim.sw:after,.cad-trim.se:after{top:4px}.cad-vps{pointer-events:none;position:absolute;inset:0}.cad-vps.mv{pointer-events:auto}.cad-vp{box-sizing:border-box;border:1px dashed var(--res-pf);pointer-events:none;position:absolute}.cad-vp.on{border-style:solid;border-color:var(--acc)}.cad-vp.ms{border:2px solid var(--acc)}.cad-vp.new{border-color:var(--acc)}.cad-vp-edge{pointer-events:auto;cursor:move;position:absolute}.cad-vp-edge.t,.cad-vp-edge.b{height:8px;left:0;right:0}.cad-vp-edge.l,.cad-vp-edge.r{width:8px;top:0;bottom:0}.cad-vp-edge.t{top:-4px}.cad-vp-edge.b{bottom:-4px}.cad-vp-edge.l{left:-4px}.cad-vp-edge.r{right:-4px}.cad-vp-grip{background:var(--acc);border:1px solid var(--on-acc);pointer-events:auto;width:9px;height:9px;position:absolute}.cad-vp-grip.nw{cursor:nwse-resize;top:-5px;left:-5px}.cad-vp-grip.se{cursor:nwse-resize;bottom:-5px;right:-5px}.cad-vp-grip.ne{cursor:nesw-resize;top:-5px;right:-5px}.cad-vp-grip.sw{cursor:nesw-resize;bottom:-5px;left:-5px}.cad-vp-model{pointer-events:auto;position:absolute;inset:0;overflow:hidden}.cad-vpform .seg{flex-wrap:wrap;display:flex}.cad-vpform .seg button{flex:1;padding:4px 6px}.cad-work:has(>.cad-lpal){grid-template-columns:420px minmax(0,1fr) 260px}.cad-work:has(>.cad-lpal):not(:has(>.cad-side)){grid-template-columns:420px minmax(0,1fr)}.cad-lpal{background:var(--panel);border-right:1px solid var(--line-strong);min-width:0;min-height:0;font-size:var(--fs-sm);outline:0;flex-direction:column;display:flex}.cad-lp-head{background:var(--p2);border-bottom:1px solid var(--line);height:24px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--mut);white-space:nowrap;align-items:center;gap:6px;padding:0 6px 0 8px;display:flex;overflow:hidden}.cad-lp-head .sp{flex:1}.cad-lp-head button{width:18px;height:18px;color:var(--mut);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cad-lp-head button:hover{background:var(--line);color:var(--tx)}.cad-lp-tb{border-bottom:1px solid var(--line);align-items:center;gap:1px;padding:3px 4px;display:flex}.cad-lp-btn{min-width:22px;height:22px;color:var(--tx);font-size:var(--fs-xs);background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.cad-lp-btn:hover:not(:disabled){background:var(--p2);border-color:var(--line)}.cad-lp-btn:disabled{color:var(--mut);opacity:.6}.cad-lp-btn svg{color:var(--mut)}.cad-lp-sep{background:var(--line);align-self:stretch;width:1px;margin:2px 3px}.cad-lp-filter{background:var(--bg);border:1px solid var(--field-line);width:120px;height:20px;color:var(--tx);font-size:var(--fs-xs);border-radius:3px;margin-left:auto;padding:0 6px}.cad-lp-body{flex:1;grid-template-columns:110px minmax(0,1fr);min-height:0;display:grid}.cad-lp-tree{border-right:1px solid var(--line);font-size:var(--fs-xs);flex-direction:column;padding:4px 0;display:flex;overflow:auto}.cad-lp-tree button{color:var(--mut);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:2px 6px;overflow:hidden}.cad-lp-tree button.on{background:color-mix(in srgb,var(--acc) 18%,transparent);color:var(--tx)}.cad-lp-tf{color:var(--mut);white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;overflow:hidden}.cad-lp-grid{min-width:0;overflow:auto}.cad-lp-grid table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--fs-xs)}.cad-lp-grid th{z-index:1;background:var(--p2);height:20px;color:var(--mut);text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;padding:0 4px;font-weight:500;position:sticky;top:0;overflow:hidden}.cad-lp-grid td{border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);white-space:nowrap;text-overflow:ellipsis;height:22px;padding:0 3px;overflow:hidden}:is(.cad-lp-grid td:has(.cad-lp-dd),.cad-lp-grid td:has(.cad-colour)){overflow:visible}.cad-lp-grid tr.sel td{background:color-mix(in srgb,var(--acc) 16%,transparent)}.cad-lp-grp td{background:var(--bg);color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.cad-lp-grid .c{text-align:center}.cad-lp-grid .num{text-align:right;color:var(--mut)}.cad-lp-name{cursor:default;-webkit-user-select:none;user-select:none}.cad-lp-name input{background:var(--bg);outline:1px solid var(--acc);width:100%;height:18px;color:var(--tx);font-size:var(--fs-xs);border:0;padding:0 3px}.cad-lp-ic{width:18px;height:18px;color:var(--line-strong);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cad-lp-ic:hover{background:var(--p2)}.cad-lp-ic.on{color:var(--mut)}.cad-lp-ic.bulb.on{color:var(--acc)}.cad-lp-na{color:var(--line-strong)}.cad-lp-cur{color:var(--ok)}.cad-lp-grid .cad-colour-btn{background:0 0;border-color:#0000;min-height:18px;padding:0 4px}.cad-lp-dd{display:inline-block;position:relative}.cad-lp-cell{height:18px;color:var(--tx);font-size:var(--fs-xs);white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:0 3px}.cad-lp-cell:hover{background:var(--p2)}.cad-lp-pop{z-index:60;background:var(--panel);border:1px solid var(--line-strong);min-width:110px;box-shadow:var(--shadow-pop);border-radius:4px;margin-top:1px;padding:2px;display:grid;position:absolute;top:100%;left:0}.cad-lp-pop [role=option]{height:20px;color:var(--tx);text-align:left;font-size:var(--fs-xs);background:0 0;border:0;border-radius:3px;padding:0 6px}.cad-lp-pop [role=option]:hover,.cad-lp-pop [aria-selected=true]{background:var(--p2)}.cad-lp-states{width:200px;font-size:var(--fs-xs);gap:2px}.cad-lp-state{align-items:center;display:flex}.cad-lp-state button{height:20px;color:var(--tx);font-size:var(--fs-xs);background:0 0;border:0;border-radius:3px}.cad-lp-state button:first-child{text-align:left;flex:1;padding:0 6px}.cad-lp-state button:hover{background:var(--p2)}.cad-lp-states form{border-top:1px solid var(--line);gap:2px;padding-top:2px;display:flex}.cad-lp-states input{min-width:0;height:20px;font-size:var(--fs-xs);flex:1}.cad-lp-foot{background:var(--p2);border-top:1px solid var(--line);min-height:20px;color:var(--mut);font-size:var(--fs-xs);align-items:center;gap:10px;padding:0 8px;display:flex;overflow:hidden}.cad-lp-foot span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cad-lp-note{color:var(--warn)}.cad-ppal{border-bottom:1px solid var(--line-strong);min-height:0;max-height:60%;font-size:var(--fs-xs);flex-direction:column;flex:0 auto;display:flex}.cad-pp-kind{height:22px;font-size:var(--fs-xs);margin:4px 6px}.cad-pp-body{flex:1;min-height:0;overflow:auto}.cad-pp-sec{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--p2);width:100%;height:20px;color:var(--mut);font-size:var(--fs-xs);text-align:left;align-items:center;gap:4px;padding:0 6px;font-weight:600;display:flex}.cad-pp-kv{display:grid}.cad-pp-row{border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);grid-template-columns:96px minmax(0,1fr);height:20px;display:grid}.cad-pp-row .k{color:var(--mut);border-right:1px solid color-mix(in srgb,var(--line) 55%,transparent);white-space:nowrap;align-items:center;padding:0 6px;display:flex;overflow:hidden}.cad-pp-row .v{white-space:nowrap;align-items:center;min-width:0;padding:0 2px;display:flex}.cad-pp-row .v .ro{color:var(--mut);margin-left:auto;padding:0 4px}.cad-pp-row select,.cad-pp-row input{width:100%;height:18px;min-height:0;font-size:var(--fs-xs);padding:0 3px}.cad-pp-row input{background:var(--bg);outline:1px solid var(--acc);outline-offset:-1px;color:var(--tx);border:0}.cad-pp-row input.r{text-align:right}.cad-pp-row select.by{color:var(--mut)}.cad-pp-row .cad-colour-btn{background:0 0;border-color:#0000;min-height:18px;padding:0 4px}.cad-pp-val{width:100%;height:18px;color:var(--tx);font-size:var(--fs-xs);text-align:left;text-overflow:ellipsis;background:0 0;border:0;border-radius:2px;padding:0 4px;overflow:hidden}.cad-pp-val.r{text-align:right}.cad-pp-val:hover{background:var(--p2)}.cad-pp-vr{color:var(--warn)}.cad-pp-by{color:var(--mut);padding:0 4px}.cad-pp-vtx{align-items:center;gap:4px;margin-left:auto;display:flex}.cad-pp-vtx button{height:18px;color:var(--tx);background:0 0;border:0;border-radius:2px;padding:0 4px;font-size:10px}.cad-pp-vtx button:disabled{color:var(--line-strong)}.cad-pp-note{padding:4px 6px}.cad-side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.cad-side h4{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--fs-xs);color:var(--mut);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.cad-res{margin:0 var(--space-3) var(--space-2);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--p2);font-size:var(--fs-sm);overflow-wrap:anywhere}.cad-sample{margin-top:var(--space-2);font-weight:600}.cad-lyr-all{text-transform:none;letter-spacing:0;margin-left:auto}.cad-lyr-all button{color:var(--acc);font-size:var(--fs-xs);background:0 0;border:0;padding:0}.cad-layers{min-height:0;padding-bottom:var(--space-2);flex:1;overflow:auto}.cad-lyr{align-items:center;gap:var(--space-2);width:100%;padding:3px var(--space-3);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;display:flex}.cad-lyr:hover{background:var(--p2)}.cad-lyr i{border:1px solid var(--line);border-radius:2px;flex:none;width:10px;height:10px}.cad-lyr .m{font-size:var(--fs-xs);margin-left:auto}.cad-lyr.off{opacity:.45}.cad-dock{position:relative}.cad-dock.left,.cad-info.left{border-left:0;border-right:1px solid var(--line)}.cad-dock-h{min-height:30px;padding:4px 6px 4px var(--space-3);border-bottom:1px solid var(--line);font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.cad-dock-h .m{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-xs);overflow:hidden}.cad-dock-h .sp{flex:1}.cad-dock-h button{border:1px solid var(--line);height:20px;color:var(--tx);font-size:var(--fs-xs);background:0 0;border-radius:3px;flex:none;padding:0 6px}.cad-dock-b{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.cad-dock-b .cad-ppal{flex:none;max-height:none}.cad-dock-b .cad-layers{flex:none;overflow:visible}.cad-dock-grip{cursor:col-resize;z-index:3;touch-action:none;width:6px;position:absolute;top:0;bottom:0}.cad-dock-grip.left{right:-3px}.cad-dock-grip.right{left:-3px}.cad-dock.folded{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;align-items:center;display:flex}.cad-dock.folded button{color:var(--mut);font-size:var(--fs-xs);background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.cad-dock.folded b{writing-mode:vertical-rl;color:var(--tx);transform:rotate(180deg)}.cad-cmdbox{background:var(--panel);border-top:1px solid var(--line);flex:none;font:12px ui-monospace,Menlo,monospace;position:relative}.cad-hist-prev{min-height:51px;padding:3px var(--space-3) 0;color:var(--mut);flex-direction:column;justify-content:flex-end;line-height:17px;display:flex}.cad-hist-prev div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cad-cmd{align-items:center;gap:var(--space-2);padding:5px var(--space-3);background:var(--panel);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);font:inherit;display:flex}.cad-hist{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-width:70%;overflow:hidden}.cad-opt{color:var(--acc);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cad-ac{left:var(--space-3);z-index:6;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-pop);flex-direction:column;padding:2px;display:flex;position:absolute;bottom:100%}.cad-ac button{justify-content:space-between;gap:var(--space-3);height:18px;color:var(--tx);font:inherit;text-align:left;background:0 0;border:0;border-radius:2px;align-items:center;padding:0 6px;display:flex}.cad-ac button:hover,.cad-ac button[aria-selected=true]{background:var(--p2)}.cad-ac small{color:var(--mut)}.cad-log{z-index:6;max-height:212px;padding:4px var(--space-3);background:var(--panel);border-top:1px solid var(--line-strong);box-shadow:var(--shadow-pop);color:var(--mut);line-height:17px;position:absolute;bottom:100%;left:0;right:0;overflow:auto}.cad-log div{white-space:pre-wrap}.cad-log b{color:var(--tx);font-weight:600}.cad-edtext{z-index:4;box-sizing:content-box;background:var(--bg);border:1px solid var(--acc);min-width:40px;color:var(--tx);transform-origin:0 100%;border-radius:2px;outline:0;padding:0 2px;font-family:system-ui,sans-serif;line-height:1;position:absolute}.cad-att-table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.cad-att-table th,.cad-att-table td{border-bottom:1px solid var(--line);text-align:left;padding:2px 6px}.cad-att-table tr[aria-selected=true] td{background:var(--p2)}.cad-att-table input{background:var(--bg);border:1px solid var(--line-strong);width:100%;color:var(--tx);font:inherit;border-radius:2px;padding:1px 4px}.cad-bkpal{min-width:0}.cad-bk-tabs{border-bottom:1px solid var(--line);gap:2px;padding:4px 6px 0;display:flex}.cad-bk-tabs button{color:var(--mut);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:3px 3px 0 0;padding:3px 8px}.cad-bk-tabs button[aria-selected=true]{background:var(--bg);border-color:var(--line);color:var(--tx)}.cad-bk-search{background:var(--bg);border:1px solid var(--line-strong);color:var(--tx);font:inherit;font-size:var(--fs-xs);border-radius:3px;margin:6px 6px 4px;padding:3px 6px}.cad-bk-folder{min-width:0;font-size:var(--fs-xs);align-items:center;gap:6px;padding:0 6px 4px;display:flex}.cad-bk-folder .m{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-bk-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));align-content:start;gap:6px;min-height:0;padding:2px 6px 6px;display:grid;overflow:auto}.cad-bk-empty{font-size:var(--fs-xs);grid-column:1/-1;margin:4px 2px}.cad-bk-item{border:1px solid var(--line);min-width:0;color:var(--tx);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:4px;flex-direction:column;align-items:center;gap:3px;padding:4px;display:flex}.cad-bk-item:hover{background:var(--p2)}.cad-bk-item.on{border-color:var(--acc);background:var(--p2)}.cad-bk-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cad-bk-thumb{border:1px solid var(--line);color:#000;background:#fff;border-radius:2px;width:64px;height:48px}.cad-bk-opts{border-top:1px solid var(--line);font-size:var(--fs-xs);grid-template-columns:1fr 1fr;gap:4px 8px;padding:6px;display:grid}.cad-bk-opts label{white-space:nowrap;align-items:center;gap:4px;display:flex}.cad-bk-opts input[type=number],.cad-bk-opts input.r{background:var(--bg);border:1px solid var(--line-strong);width:56px;color:var(--tx);font:inherit;border-radius:2px;padding:1px 4px}.cad-bk-xy{align-items:center;gap:4px;display:flex}.cad-ptype-grid{grid-template-columns:repeat(5,28px);gap:3px;margin:2px 0 6px;display:grid}.cad-ptype-grid button{background:var(--bg);border:1px solid var(--line-strong);height:28px;color:var(--tx);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex}.cad-ptype-grid button[aria-checked=true]{border-color:var(--acc);background:var(--p2)}.cad-ntedit{z-index:4;transform-origin:0 0;position:absolute}.cad-ntedit-bar{background:var(--panel);border:1px solid var(--line-strong);white-space:nowrap;color:var(--tx);border-radius:3px;align-items:center;gap:3px;margin-bottom:3px;padding:2px 4px;font:11.5px system-ui,sans-serif;display:flex;position:absolute;bottom:100%;left:0}.cad-ntedit-bar button{min-width:20px;height:20px;color:var(--tx);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:0 5px}.cad-ntedit-bar button:hover{background:var(--p2)}.cad-ntedit-bar button.b{font-weight:700}.cad-ntedit-bar button.u{text-decoration:underline}.cad-ntedit-bar button.ok{border-color:var(--acc)}.cad-ntedit-bar input{background:var(--bg);border:1px solid var(--line-strong);width:44px;height:20px;color:var(--tx);font:inherit;border-radius:2px;padding:0 3px}.cad-ntedit-bar select{background:var(--bg);border:1px solid var(--line-strong);height:20px;color:var(--tx);font:inherit;border-radius:2px}.cad-ntedit-box{box-sizing:content-box;background:var(--bg);border:1px solid var(--acc);min-height:1em;color:var(--tx);white-space:pre-wrap;overflow-wrap:break-word;border-radius:2px;outline:0;padding:0 2px;font-family:system-ui,sans-serif}.cad-ntedit-box div{min-height:1em;margin:0}.cad-ntedit-grip{background:var(--acc);cursor:ew-resize;border-radius:2px;width:8px;height:16px;margin-top:-8px;position:absolute;top:50%;right:-5px}.cad-dyn{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;font:11.5px ui-monospace,Menlo,monospace;display:flex;position:absolute}.cad-dyn-row{gap:3px;display:flex}.cad-dyn-row label{background:var(--panel);border:1px solid var(--line-strong);color:var(--mut);border-radius:2px;align-items:center;gap:2px;padding:0 4px;display:flex}.cad-dyn-row label.on,.cad-dyn-row label:focus-within{border-color:var(--acc);background:var(--bg);color:var(--tx)}.cad-dyn-row input{width:auto;min-width:0;color:var(--tx);font:inherit;text-align:right;background:0 0;border:0;outline:0;padding:0}.cad-dyn-row input::placeholder{color:var(--mut)}.cad-dyn-row u{color:var(--mut);text-decoration:none}.cad-dyn-prompt{background:var(--panel);border:1px solid var(--line-strong);color:var(--tx);white-space:nowrap;border-radius:2px;padding:1px 6px}.cad-dyn-prompt small{color:var(--mut)}.cad-dyn-menu{background:var(--panel);border:1px solid var(--line-strong);min-width:120px;box-shadow:var(--shadow-pop);pointer-events:auto;border-radius:3px;flex-direction:column;padding:2px;display:flex}.cad-dyn-menu button{justify-content:space-between;gap:var(--space-3);height:20px;color:var(--tx);font:inherit;text-align:left;background:0 0;border:0;border-radius:2px;align-items:center;padding:0 8px;display:flex}.cad-dyn-menu button:hover,.cad-dyn-menu button[aria-selected=true]{background:var(--p2)}.cad-dyn-menu b{color:var(--acc);font-weight:600}.cad-dlg{z-index:7;background:var(--panel);border:1px solid var(--line-strong);width:236px;box-shadow:var(--shadow-pop);color:var(--tx);border-radius:4px;font-size:12px;position:absolute}.cad-dlg-t{background:var(--p2);border-bottom:1px solid var(--line);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;height:22px;padding:0 3px 0 8px;font-size:11.5px;display:flex}.cad-dlg-t span{color:var(--mut)}.cad-dlg-t .sp{flex:1}.cad-dlg-t button{width:18px;height:18px;color:var(--mut);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0}.cad-dlg-t button:hover{background:var(--panel);color:var(--tx)}.cad-dlg-rows{padding:4px 0}.cad-dlg-r{height:22px;color:var(--mut);grid-template-columns:1fr 96px;align-items:center;padding:0 8px;display:grid}.cad-dlg-in{color:var(--tx);justify-content:flex-end;align-items:center;gap:3px;display:flex}.cad-dlg-in input:not([type=checkbox]),.cad-dlg-in select{background:var(--bg);border:1px solid var(--field-line);width:100%;min-width:0;height:18px;color:var(--tx);text-align:right;border-radius:2px;padding:0 4px;font:11.5px ui-monospace,Menlo,monospace}.cad-dlg-in select{text-align:left;font-family:inherit}.cad-dlg-in input:focus,.cad-dlg-in select:focus{border-color:var(--acc);outline:0}.cad-dlg-in u{min-width:10px;color:var(--mut);flex:none;font:11.5px ui-monospace,Menlo,monospace;text-decoration:none}.cad-dlg-tabs{border-bottom:1px solid var(--line);margin:-4px 0 4px;display:flex}.cad-dlg-tabs button{height:20px;color:var(--mut);font:inherit;background:0 0;border:0;flex:1;font-size:11.5px}.cad-dlg-tabs button[aria-selected=true]{color:var(--tx);box-shadow:inset 0 -2px 0 var(--acc)}.cad-dlg-prev{justify-content:center;align-items:center;gap:var(--space-2);color:var(--mut);padding:4px 8px;display:flex}.cad-dlg-grid{gap:3px;display:grid}.cad-dlg-grid i{border:1px solid var(--mut);width:8px;height:8px;display:block}.cad-dlg-list{border:1px solid var(--line);background:var(--bg);border-radius:2px;flex-direction:column;max-height:88px;margin:0 8px 4px;display:flex;overflow:auto}.cad-dlg-list button{height:20px;color:var(--tx);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 6px;display:flex}.cad-dlg-list button[aria-selected=true]{background:var(--p2)}.cad-dlg-list small{color:var(--mut)}.cad-dlg-btns{gap:4px;padding:0 8px 4px;display:flex}.cad-dlg-btns button,.cad-dlg-ft button{border:1px solid var(--line-strong);height:20px;color:var(--tx);font:inherit;background:0 0;border-radius:3px;padding:0 10px;font-size:11.5px}.cad-dlg-btns button:disabled{color:var(--mut)}.cad-dlg-help{color:var(--mut);border-top:1px solid var(--line);margin:0;padding:4px 8px;font-size:11.5px;line-height:1.35}.cad-dlg-ft{border-top:1px solid var(--line);justify-content:flex-end;gap:4px;padding:4px 6px;display:flex}.cad-dlg-ft .q{width:20px;margin-right:auto;padding:0}.cad-dlg-ft .p{background:var(--acc);border-color:var(--acc);color:var(--on-acc);font-weight:600}.cad-dlg.wide{width:380px}.cad-dlg.wide .cad-dlg-r{grid-template-columns:1fr 170px}.cad-dlg-tabs.wrap{flex-wrap:wrap;margin-top:0}.cad-dlg-tabs.wrap button{flex:none;padding:0 8px}.cad-dlg-sec{color:var(--mut);padding:6px 8px 2px;font-size:11px}.cad-dlg-note{color:var(--mut);margin:0;padding:2px 8px 4px;font-size:11px;line-height:1.35}.cad-tab-dirty{color:var(--acc);margin-left:4px}.cad-log-x{float:right;color:var(--mut);font:inherit;background:0 0;border:0;padding:0 4px;position:sticky;top:0}.cad-cmd input{min-width:120px;color:var(--tx);font:inherit;background:0 0;border:0;outline:0;flex:1}.cad-status{align-items:center;gap:var(--space-1);padding:4px var(--space-2);background:var(--p2);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--mut);display:flex}.cad-tg{border:1px solid var(--line);color:var(--mut);font-size:var(--fs-xs);background:0 0;border-radius:4px;padding:1px 7px}.cad-tg.on{color:var(--tx);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 15%,transparent)}.cad-status .sp{flex:1}.cad-tgg{padding-right:var(--space-2);margin-right:var(--space-1);border-right:1px solid var(--line-strong);align-items:center;gap:2px;display:inline-flex}.cad-tgw{align-items:center;display:inline-flex}.cad-tg.cad-tgi{border-color:#0000;justify-content:center;align-items:center;min-width:28px;height:24px;padding:0 4px;display:inline-flex}.cad-tg.cad-tgi:hover:not(:disabled){border-color:var(--line-strong);color:var(--tx)}.cad-tg.cad-tgi.on{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 35%,transparent)}.cad-tg.cad-tgi:disabled{opacity:.45}.cad-tgdd{width:14px;height:24px;color:var(--mut);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:0 4px 4px 0;margin-left:-2px;padding:0;font-size:9px}.cad-tgdd:hover,.cad-tgdd.open{color:var(--tx);border-color:var(--line-strong);background:var(--panel)}.cad-tgmenu{min-width:210px}.cad-tgmenu button{color:var(--mut);align-items:center;gap:6px;padding:4px 10px;display:flex}.cad-tgmenu button.lit,.cad-tgmenu button[role=menuitem]{color:var(--tx)}.cad-tgmenu .ck{width:12px;color:var(--acc);flex:none}.cad-tgmenu .mk{text-align:center;width:16px;color:var(--acc);flex:none}.cad-tgmenu button .m{font-size:var(--fs-xs);margin-left:4px}.cad-tgmenu-h{font-size:var(--fs-xs);color:var(--mut);text-transform:uppercase;letter-spacing:.04em;gap:6px;padding:4px 10px 2px;display:flex}.cad-tgmenu hr{border:0;border-top:1px solid var(--line);margin:3px 0}@media (width<=900px){.cad-work{grid-template-columns:1fr}.cad-side{display:none}:is(.cad-work:has(>.cad-lpal),.cad-work:has(>.cad-lpal):not(:has(>.cad-side))){grid-template-columns:300px minmax(0,1fr)}}.cad-big{margin-left:var(--space-1);font-size:16px}.cad-props{gap:2px var(--space-2);margin:var(--space-2) 0 0;font-size:var(--fs-sm);grid-template-columns:auto 1fr;display:grid}.cad-props dt{color:var(--mut)}.cad-props dd{overflow-wrap:anywhere;margin:0}.cad-props dd i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.cad-addroom{margin-top:var(--space-2)}.cad-roomform{gap:var(--space-2);margin-top:var(--space-2);display:grid}.cad-roomform label{font-size:var(--fs-xs);color:var(--mut);gap:2px;display:grid}.cad-pal{gap:var(--space-1);padding:0 var(--space-3) var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.cad-pal button{background:var(--p2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-xs);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;line-height:1.2;display:flex}.cad-pal button[aria-pressed=true]{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,var(--p2))}.cad-pal .elv{color:var(--cad-elv)}.cad-pal .lv{color:var(--cad-dev)}.cad-devform{gap:var(--space-2);padding:0 var(--space-3) var(--space-2);display:grid}.cad-devform label{font-size:var(--fs-xs);color:var(--mut);gap:2px;display:grid}.cad-devbtns{gap:var(--space-2);margin-top:var(--space-2);display:flex}.cad-colour{display:inline-block;position:relative}.cad-colour-btn{font-size:var(--fs-xs);border:1px solid var(--field-line);background:var(--p2);min-height:20px;color:var(--tx);cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.cad-colour-btn i{border:1px solid var(--line);border-radius:2px;flex:none;width:12px;height:12px}.cad-colour-btn i.none{background:repeating-linear-gradient(45deg,transparent 0 2px,var(--line) 2px 3px)}.cad-colour-pop{z-index:60;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:4px;gap:5px;width:max-content;margin-top:2px;padding:6px;display:grid;position:absolute;top:100%;left:0}.cad-colour-row{align-items:center;gap:2px;display:flex}.cad-colour-row input:not([type=color]){width:170px;font-size:var(--fs-xs)}.cad-colour-row input[type=color]{border:1px solid var(--line);width:26px;height:20px;padding:0}.cad-colour-grid{grid-template-columns:repeat(24,12px);gap:1px;display:grid}.cad-colour-cell{border:1px solid var(--line-strong);cursor:pointer;border-radius:1px;width:12px;height:12px;padding:0}.cad-colour-row .cad-colour-cell{width:14px;height:14px}.cad-colour-cell.on{outline:2px solid var(--accent);outline-offset:0}
