.inspector-heading{flex:none;align-items:center}
.inspector-heading [data-inspector-title]{text-align:center;min-width:0;overflow-wrap:anywhere}
#partInfo[hidden],#details[hidden],.inspector-number-glass[hidden],.inspector-glass-stack[hidden]{display:none!important}
#partInfo .position-primary{text-align:center;overflow-wrap:anywhere}
#partInfo>h2{font-size:16px;font-weight:650;text-transform:uppercase;overflow-wrap:anywhere}
#partInfo .inspector-dimensions{border:0;margin:0;padding:0}
.inspector-dimensions>summary{position:relative;display:block;padding-right:21px;list-style:none;font-size:16px;font-weight:650;line-height:1.6;color:#24374b}
.inspector-dimensions>summary::-webkit-details-marker{display:none}
.inspector-main-dimensions{min-width:0;display:flex;flex-wrap:wrap;column-gap:4px;align-items:baseline}
.inspector-section-size{white-space:nowrap}
.inspector-dimension-chevron{position:absolute;right:0;bottom:4px;display:inline-grid;place-items:center;width:17px;height:17px;margin:0;padding:0;border:0;background:transparent;color:#438093;font:650 18px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.inspector-dimension-chevron::before{content:"▸"}.inspector-dimensions[open] .inspector-dimension-chevron::before{content:"▾"}
.inspector-number{display:inline;border:0;border-radius:3px;padding:0;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums;cursor:text}
.inspector-number:hover,.inspector-number:focus-visible{color:#16768b;background:#edf7f9;outline:1px solid #b8d7df;outline-offset:2px}
.inspector-number[data-certainty="estimated"]{color:#a16c32}
.inspector-dimensions dl{margin:15px 0 0;display:grid;gap:13px}
.inspector-dimensions dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}
.inspector-dimensions dt{font-size:12px;line-height:1.4;color:#6c7b8b;overflow-wrap:anywhere}
.inspector-dimensions dd{flex:none;margin:0;font-size:16px;font-weight:650;color:#24374b}
/* Local scalar glass, matching PsychroLab's translucent numeric controls. */
.inspector-number-glass{position:fixed;z-index:1400;display:grid;grid-template-columns:minmax(65px,auto) auto 20px;grid-template-rows:auto 30px auto;align-items:center;column-gap:3px;max-width:calc(100vw - 12px);padding:5px 7px 6px;border:1px solid #ffffffec;border-radius:10px;background:linear-gradient(140deg,#ffffffed,#eaf6f7d9);box-shadow:0 3px 14px #254e6020,inset 0 0 0 1px #18879a35;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:#24434f}
.inspector-glass-caption{grid-column:1/-1;max-width:230px;overflow-wrap:anywhere;font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.3px;color:#527780}
.inspector-glass-value{grid-column:1;grid-row:2;width:100px;min-width:0;max-width:100%;height:28px;padding:0;border:0!important;border-radius:0;background:transparent;color:#24434f;font:650 16px/28px ui-monospace,monospace;text-align:center;outline:none!important;box-shadow:none!important;font-variant-numeric:tabular-nums}
.inspector-glass-value::selection{background:#afdce8;color:#173e4b}
.inspector-glass-value[readonly]{color:#687d84}
.inspector-glass-unit{grid-column:2;grid-row:2;font-size:11px;color:#637c86}
.inspector-glass-stack{grid-column:3;grid-row:2;display:grid;grid-template-rows:14px 14px 14px;height:42px;align-self:center}
.inspector-glass-stack button{display:grid;place-items:center;width:20px;height:14px;border:0;padding:0;background:transparent;color:#376c7b;touch-action:none}
.inspector-glass-stack svg{width:10px;height:6px;fill:currentColor}
.inspector-glass-down svg{transform:rotate(180deg)}
.inspector-glass-stack button:hover{background:#dceff3;color:#075f75}
.inspector-glass-scrub{cursor:ns-resize}
.inspector-glass-scrub i{width:9px;height:4px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-radius:1px;pointer-events:none}
.inspector-glass-error{grid-column:1/-1;color:#aa3d38;font-size:11px;line-height:1.4}
.inspector-glass-error:empty{display:none}
#partDetail[hidden]{display:none!important}
#partDetail .position-primary{text-align:center;overflow-wrap:anywhere}
#partDetail>h2{font-size:16px;font-weight:650;text-transform:uppercase;overflow-wrap:anywhere}
#partDetail details{margin:14px 0;padding:0;border:0}
#partDetail summary{font-size:13px;font-weight:650;color:#345866;cursor:pointer;margin-bottom:12px}
#partDetail form{display:flex;flex-direction:column;gap:12px;min-width:0}
#partDetail label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;color:#617687;min-width:0}
#partDetail input,#partDetail select,#partDetail textarea{box-sizing:border-box;max-width:100%;min-width:0;width:100%;font:inherit}
#partDetail p,#partDetail small{font-size:12px;line-height:1.5;color:#6b808b;margin:0}
#partDetail .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));gap:12px}
#partDetail .dialog-actions{display:flex;flex-wrap:wrap;gap:8px}
#partDetail .dialog-actions button{max-width:100%;white-space:normal}
#partDetail fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}
#partDetail fieldset[hidden],#partDetail [hidden]{display:none!important}
#partDetail .radius-band-row{flex-wrap:wrap;gap:5px;min-width:0}
#partDetail .radius-band-row input{width:65px}
#partDetail .radius-band-row label{flex-direction:row;align-items:center}
#partDetail input,#partDetail select,#partDetail textarea{padding:8px;border:1px solid #c4d3d8;border-radius:4px;background:white;color:#24424e}
#partDetail textarea{resize:vertical}
#partDetail .radius-band-row{display:flex}
.inspector-type-scope{width:min(460px,calc(100vw - 32px));border:1px solid #b8cbd2;border-radius:10px;padding:22px;color:#24424e}
.inspector-type-scope::backdrop{background:#173a4b55}
.inspector-type-scope .dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.inspector-type-scope button{white-space:normal}

.inspector-glass-choice{grid-column:1/3;grid-row:2;max-width:230px;width:100%;padding:2px 4px;font:650 14px system-ui;color:#24434f;border:0;background:transparent}
.inspector-glass-choice[hidden],.inspector-glass-value[hidden]{display:none!important}
.inspector-glass-bounds{grid-column:1/-1;color:#617c85;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums}
.inspector-glass-bounds:empty{display:none}

.inspector-dimensions dd{max-width:60%;overflow-wrap:anywhere}.inspector-dimensions dd .inspector-number{white-space:normal}

/* Same content heading and 30px outline actions as the circles card. */
.inspector-content-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin:0 0 12px}
.inspector-content-heading h2{flex:1;min-width:0;margin:0;font-size:16px;font-weight:650;line-height:1.4;text-transform:uppercase;overflow-wrap:anywhere}
.inspector-header-actions{display:flex;align-items:center;flex:none;gap:6px}
.inspector-action{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:4px;border:1px solid #c9dce1;border-radius:5px;background:white;color:#28768a;cursor:pointer}
.inspector-action .toolbar-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.inspector-action:hover,.inspector-action:focus-visible{background:#e3f5f9}
.inspector-action.active{border-color:#168ca2;background:#d9f3f7;color:#086f88}
.inspector-confirm[aria-pressed=false] .toolbar-icon{opacity:.45}
.inspector-remove:hover{border-color:#d5929a;background:#fff0f2;color:#b23a4b}
.inspector-action:disabled{opacity:.4;cursor:default}
.inspector-content-heading+.position-primary{margin-bottom:10px}
#details [hidden]{display:none!important}

/* The workbench stays in the viewport; only each roller's body scrolls. */
body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body>header,body>footer{flex:none}
body>main{flex:1;min-height:0;height:auto}
main>.catalog,main>.inspector{display:flex;flex-direction:column;min-height:0;overflow:hidden}
main>.catalog>.palette-heading,main>.inspector>.palette-heading{flex:none}
.palette-scroll,.inspector-scroll{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.inspector-pinned-header{position:sticky;top:0;z-index:8;background:#fff;padding:0 0 8px;margin-bottom:8px;box-shadow:0 6px 6px -6px #375e7425}
.inspector-pinned-header>.position-primary{margin-bottom:0}
.inspector-scroll .bill-device-detail-title,.inspector-scroll #details>h2{position:sticky;top:0;z-index:8;background:#fff;padding-bottom:8px}

.inspector-scroll{scroll-padding-top:var(--inspector-pinned-height,0px)}

#partInfo .inspector-pinned-header .position-primary,#partDetail .inspector-pinned-header .position-primary,#details .inspector-pinned-header .position-primary{flex:1;min-width:0;text-align:left;margin:0;overflow-wrap:anywhere}
.inspector-pinned-header>.inspector-content-heading{align-items:center;margin-bottom:10px}
.inspector-pinned-header>h2{margin:0;font-size:16px;font-weight:650;line-height:1.4;text-transform:uppercase;overflow-wrap:anywhere}

#partPositionNumber[readonly],#bill-field-code[readonly]{border-color:transparent;background:transparent;box-shadow:none;color:#16768b;cursor:text}


/* The full identity sits between the short position/actions and its name. */
.inspector-serial{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:0;width:100%;min-width:0;max-width:100%;margin:0 0 10px;padding:1px 4px;border:0;border-radius:0;background:#000;color:#fff;font:500 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.35px;white-space:nowrap;text-transform:none;text-align:left;cursor:help}
.inspector-serial [data-serial-group],.inspector-serial-separator{flex:none}
.inspector-serial:hover,.inspector-serial:focus-visible{background:#000;color:#fff}
.inspector-serial:focus-visible{outline:2px solid #168ca2;outline-offset:2px}
.inspector-pinned-header:has(>.inspector-serial)>.inspector-content-heading{margin-bottom:3px}
.inspector-serial-popup{position:fixed;z-index:1500;box-sizing:border-box;width:196px;max-width:calc(100vw - 16px);padding:8px;border:1px solid #b8cfd7;border-radius:8px;background:#fff;box-shadow:0 4px 20px #254e6030}
.inspector-serial-popup[hidden]{display:none!important}
.inspector-serial-popup>svg{display:block;width:100%;height:auto}


/* The roller has only a freely rotatable 3D view and its window action. */
.preview-inline>.preview-heading{display:flex;justify-content:flex-end;min-height:30px}
.preview-inline>.preview-heading>.preview-expand-slot{margin-left:auto}

.inspector-insulation-title{margin:16px 0 10px;font-size:13px;font-weight:650;color:#345866}
.inspector-insulation-list{margin:0;padding:0;list-style:none}
.inspector-insulation-list>li{padding:10px 0;border-bottom:1px solid #e4edf0}
.inspector-insulation-list>li:first-child{padding-top:0}
.inspector-insulation-list strong{font-size:12px;font-weight:650;color:#345866}
.inspector-insulation-list p{margin-top:4px!important;overflow-wrap:anywhere}


#projectInfo[hidden]{display:none!important}
#projectInfo .inspector-content-heading .position-primary{flex:1;min-width:0;margin:0;text-align:left}
#projectInfo .field{display:flex;flex-direction:column;gap:5px;margin:0 0 16px;font-size:12px;color:#617687;min-width:0}
#projectInfo input{box-sizing:border-box;min-width:0;width:100%;padding:8px;border:1px solid #c4d3d8;border-radius:4px;background:#fff;color:#24424e;font:inherit}
.project-qr-panel{width:min(196px,100%);margin:0 auto 16px}
.project-qr-panel[hidden]{display:none!important}
.project-qr-panel svg{display:block;width:100%;height:auto}
.project-inspector-error{color:#aa3d38;font-size:12px;line-height:1.4}
.project-inspector-error:empty{display:none}
#projectName[readonly]{cursor:pointer}
#styleDefinition[hidden],.catalog-style-menu[hidden]{display:none!important}
.catalog-style-menu{position:fixed;z-index:1500;display:flex;flex-direction:column;width:min(430px,calc(100vw - 12px));overflow:auto;padding:5px;background:#fff;border:1px solid #b7ccd3;border-radius:6px;box-shadow:0 5px 16px #17384626}
.catalog-style-menu button{display:block;text-align:left;white-space:normal;font-size:12px;line-height:1.45;padding:9px 10px;border:0;background:white;color:#355866}
.catalog-style-menu button:first-child{font-weight:750;border-bottom:1px solid #d5e0e5;color:#16768b}
.catalog-style-menu button:hover,.catalog-style-menu button:focus-visible,.catalog-style-menu button[aria-checked=true]{background:#def0f4;outline:none}
.catalog-definition-heading h2{font-size:16px;margin:0;min-width:0;overflow-wrap:anywhere}
.catalog-definition-list{display:flex;flex-direction:column;gap:1px;margin:10px 0 20px;border:1px solid #d0dfe4}
.catalog-definition-list>[role=option]{border:0;border-bottom:1px solid #e2e9ed;border-radius:0;padding:9px;text-align:left;white-space:normal;font-size:12px;line-height:1.5;background:#fff;color:#355866;overflow-wrap:anywhere}
.catalog-definition-list>[aria-selected=true]{background:#ddf1f5;color:#166f83}
#styleDefinition form{display:flex;flex-direction:column;gap:12px;min-width:0}
#styleDefinition label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#617687;min-width:0}
#styleDefinition input,#styleDefinition select,#styleDefinition textarea{box-sizing:border-box;min-width:0;width:100%;padding:8px;border:1px solid #c4d3d8;border-radius:4px;background:#fff;color:#24424e;font:inherit}
#styleDefinition p,#styleDefinition small{font-size:12px;line-height:1.5;color:#6b808b;margin:0}
#styleDefinition [data-style-hatch] svg{width:65px;height:30px}
#styleDefinition .radius-band-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:8px 0}
#styleDefinition .radius-band-row input{width:65px}
#styleDefinition .radius-band-row label{flex-direction:row;align-items:center}
#styleDefinition .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(105px,100%),1fr));gap:10px}
/* Keep insulation actions in the same grid as every other catalogue set. */
.catalog-insulation :is([data-insulation-tools],#insulationSet,.insulation-toolbar){display:contents}
.port-style-choice .dialog-actions{display:flex;flex-direction:column;align-items:stretch}
.port-style-choice button{text-align:left;white-space:normal}
.port-style-choice button small{display:block;white-space:pre-line;font-size:11px;margin-top:6px;color:#617687;line-height:1.5;font-weight:400}

#styleDefinition [hidden]{display:none!important}
.flex-materials-editor{margin:14px 0;border-top:1px solid #d8e5e9;padding-top:10px}.flex-materials-heading,.flex-material-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.flex-materials-heading h4{margin:14px 0 8px}.flex-material-row{min-width:0;margin:8px 0;padding:8px;border:1px solid #d4e0e5;border-radius:5px}.flex-material-row-heading{margin-bottom:8px}#styleDefinition .flex-material-row-heading>label{display:flex;flex-direction:row;align-items:center;gap:6px;font-weight:600;min-width:0;margin:0}#styleDefinition .flex-material-row-heading input[type=checkbox]{width:auto;flex:none;margin:0}.flex-material-row-heading span{overflow-wrap:anywhere}.flex-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.flex-material-grid label{min-width:0;margin:0}.flex-material-grid .flex-material-name{grid-column:1/-1}.flex-material-grid input,.flex-material-grid select{width:100%;min-width:0;box-sizing:border-box}.flex-material-row .inspector-action,.flex-materials-heading .inspector-action{flex:none}
/* Style definitions use ordinary list rows with actions belonging to each item. */
.catalog-style-disclosure>summary{font-weight:700;color:#355866;margin-top:12px;cursor:pointer}
.catalog-definition-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #dce6ea;background:white}
.catalog-definition-row:has([aria-selected=true]){background:#ddf1f5}
.catalog-definition-row>[role=option]{border:0;border-radius:0;min-width:0;padding:10px 8px;text-align:left;white-space:normal;font-size:12px;line-height:1.5;color:#355866;background:transparent;overflow-wrap:anywhere}
.catalog-definition-row>[aria-selected=true]{color:#166f83;font-weight:650}
.catalog-row-actions{display:flex;gap:4px;padding:4px;align-self:start}
.catalog-row-actions .inspector-action{width:28px;height:28px;padding:3px;min-width:28px;font-size:22px}
.catalog-row-actions .toolbar-icon{width:20px;height:20px}
.inspector-style-picker{margin:12px 0;color:#355866;min-width:0}
.inspector-style-picker>summary{cursor:pointer;font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:normal;padding:10px;border:1px solid #c4d3d8;border-radius:4px}
.inspector-style-options{display:flex;flex-direction:column;border:1px solid #c4d3d8;border-top:0}
.inspector-style-options>button{border:0;border-radius:0;border-bottom:1px solid #e2e9ed;background:#fff;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5;padding:10px;color:#355866}
.inspector-style-options>button[aria-selected=true]{background:#ddf1f5;color:#166f83;font-weight:650}
@container catalog-definition (max-width:210px){.catalog-row-actions{flex-direction:column}}

#styleDefinition{container:catalog-definition / inline-size}

.flex-info-item,.insulation-info-item{padding:10px 0;border-bottom:1px solid var(--line);min-width:0;font-size:12px;overflow-wrap:anywhere}
.flex-info-item:last-child,.insulation-info-item:last-child{border-bottom:0}.flex-info-item>p,.insulation-info-item>p{margin:5px 0}.flex-info-item .port,.insulation-info-item .port{gap:10px;align-items:baseline}.flex-info-item .port strong,.insulation-info-item .port strong{white-space:nowrap}.flex-info-item .port span,.insulation-info-item .port span{min-width:0}

.round-info-item{padding:10px 0;border-bottom:1px solid var(--line);min-width:0;font-size:12px;overflow-wrap:anywhere}.round-info-item:last-child{border-bottom:0}.round-info-item>p{margin:5px 0}.round-info-item .port{gap:10px;align-items:baseline}.round-info-item .port strong{white-space:nowrap}.round-info-item .port span{min-width:0}

.inspector-style-hatch{display:block;width:100%;height:36px;margin-top:7px;overflow:hidden;border:1px solid var(--line);border-radius:3px}.inspector-style-hatch svg{display:block}

.catalog-definition-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.catalog-row-actions button[hidden]{display:none}.catalog-row-actions:has(button[hidden]){padding:0}
.insulation-hatch-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:6px;margin:6px 0 12px}.insulation-hatch-picker [data-hatch-choice]{height:40px;min-width:0;padding:0;overflow:hidden;background:#fff;border:1px solid #c3d5dc}.insulation-hatch-picker [aria-checked=true]{border:2px solid #298da1;background:#dcf1f5;box-shadow:0 0 0 1px #298da12b}.insulation-hatch-picker button:focus-visible{outline:2px solid #196ac8;outline-offset:2px}.catalog-style-hatch{display:block;height:28px;margin-top:5px;border:1px solid #c3d5dc;background:#fff}.insulation-info-hatch{display:inline-flex;width:110px;max-width:100%;height:38px;border:1px solid #c3d5dc;background:#fff}
