
/* V240: final UI consistency, mobile input, and theme corrections. */
html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] #cableAppShell,
html[data-theme="dark"] #editorSidebar,
html[data-theme="dark"] #editorSidebarScroll {
  background:#000 !important;
}

html[data-theme="dark"] :is(#v098ColorPopoverHost,.color-grid-menu) .color-picker-rgb-editor label {
  color:#26313a !important;
  -webkit-text-fill-color:#26313a !important;
  background:#f2f5f7 !important;
  border-color:#cbd4db !important;
}
html[data-theme="dark"] :is(#v098ColorPopoverHost,.color-grid-menu) .color-picker-rgb-editor input {
  color:#26313a !important;
  -webkit-text-fill-color:#26313a !important;
  background:#fff !important;
  border-color:#cbd4db !important;
  opacity:1 !important;
}

/* The full pitch-circle setting exists only for round structures. */
html[data-v231-shape="flat"] #pitchCircleDisplayRow,
html[data-v231-shape="flat"] #pitchCircleThicknessRow {
  display:none !important;
}

/* Flat twist still has a per-group core lay factor. Keep both tracks identical. */
html[data-v231-shape="flat"][data-v234-grouped="true"] #editorSidebarScroll #coreLayFactorRow,
#editorSidebarScroll #coreLayFactorRow,
#editorSidebarScroll #coreSpacingRow {
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) 46px !important;
  column-gap:8px !important;
  align-items:center !important;
  box-sizing:border-box !important;
  padding-left:26px !important;
}
#editorSidebarScroll :is(#coreLayFactorRow,#coreSpacingRow) > label {
  min-width:0 !important;
  padding-left:0 !important;
  white-space:nowrap;
}
#editorSidebarScroll :is(#coreLayFactorRow,#coreSpacingRow) > input[type="range"] {
  grid-column:2 !important;
  width:100% !important;
  min-width:0 !important;
}
#editorSidebarScroll :is(#coreLayFactorRow,#coreSpacingRow) > output {
  grid-column:3 !important;
  width:46px !important;
  min-width:46px !important;
  justify-self:end !important;
  text-align:right !important;
  font-variant-numeric:tabular-nums;
}

/* Dynamic insulation uses the fixed insulation two-column specification row. */
#editorSidebarScroll .v09199-custom-layer[data-v09199-type="insulation"] > .v240-dynamic-insulation-spec {
  margin-top:8px !important;
  min-height:32px !important;
  height:32px !important;
}
#editorSidebarScroll .v09199-custom-layer[data-v09199-type="insulation"] > .v240-dynamic-insulation-spec .insulation-mode-selector,
#editorSidebarScroll .v09199-custom-layer[data-v09199-type="insulation"] > .v240-dynamic-insulation-spec .insulation-material-selector {
  min-width:0;
}
html[data-theme] #editorSidebarScroll#editorSidebarScroll .v09199-custom-layer > :is(.field-row,.outer-style-row) {
  min-height:34px;
  margin-top:6px !important;
  box-sizing:border-box;
}
html[data-theme] #editorSidebarScroll#editorSidebarScroll .v09199-custom-layer > :is(.field-row,.outer-style-row) {
  min-height:34px !important;
}
html[data-theme] #editorSidebarScroll#editorSidebarScroll .v09199-custom-layer > :is(.control-pair,.outer-layer-title):first-child {
  min-height:34px !important;
}
html[data-theme] #editorSidebarScroll#editorSidebarScroll .v09199-custom-layer[data-v09199-scope="core"] > .control-pair:first-child,
html[data-theme] #editorSidebarScroll#editorSidebarScroll .v09199-custom-layer[data-v09199-scope="group"] > .control-pair:first-child {
  min-height:43px !important;
}
#editorSidebarScroll .v09199-custom-layer output .v[contenteditable="true"] {
  display:inline-block;
  min-width:2.8em;
  text-align:right;
  cursor:text;
  border-radius:3px;
  outline:none;
}
#editorSidebarScroll .v09199-custom-layer output .v[contenteditable="true"]:focus {
  background:var(--v09201-surface,#fff);
  box-shadow:0 0 0 2px rgba(21,149,211,.18);
}

/* The sheath mode and appearance share one select column in every state. */
#editorSidebarScroll :is(#v231SheathRow,#outerSheathStyleRow) {
  display:grid;
  grid-template-columns:var(--v0927-parent-track,126px) minmax(0,var(--v240-sheath-select-width,112px)) minmax(0,1fr) !important;
  column-gap:6px !important;
  align-items:center;
  padding-left:0 !important;
}
#editorSidebarScroll :is(#v231SheathRow,#outerSheathStyleRow) > label {
  box-sizing:border-box;
  padding-left:26px !important;
}
html #editorSidebarScroll :is(#v231SheathMode,#outerSheathStyle) {
  grid-column:2;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
html[data-theme] #editorSidebarScroll#editorSidebarScroll select[data-v240-content-fit="true"] {
  box-sizing:border-box !important;
  width:var(--v240-current-select-width,112px) !important;
  min-width:var(--v240-current-select-width,112px) !important;
  max-width:min(100%,var(--v240-current-select-width,112px)) !important;
}

/* Fill-rate percentage is outside the editable numeric span. */
#editorSidebarScroll :is(#totalFillerFillRateValue,#twistGroupFillerFillRateValue) .v {
  display:inline-block;
  min-width:4.2em;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* Pointer dragging has no transient focus rectangle; keyboard focus remains visible. */
#costPanel .cost-horizontal-thumb { min-width:20px !important; }
#costPanel .cost-horizontal-bar.is-pointer-dragging { outline:none !important; }

