/* v2.0.602 – Grafische Schraubstellenerfassung vor der Systemauswahl. */
.jh-pc:has([data-point-workflow][data-step="1"]) .jh-pc-shell { display:none !important; }
.jh-pc:has([data-point-workflow][data-step="1"]) .jh-pc-config-footer { display:none !important; }
.jh-pc:has([data-point-workflow]) [data-template-input="PLANES"] { pointer-events:none; }
.jh-pc:has([data-point-workflow]) [data-display-field-key="P"]:has(>select) { display:none !important; }
.jh-pc:has([data-point-workflow]) [data-display-field-key="P"]:has(>select)+p { display:none !important; }
.jh-points { margin:0 0 24px; color:#263d4d; font-size:16px; line-height:1.5; scroll-margin-top:150px; }
.jh-points *, .jh-points *::before, .jh-points *::after { box-sizing:border-box; }
.jh-points [hidden] { display:none !important; }
.jh-points button,.jh-points input,.jh-points select { font:inherit; }
.jh-points button { color:#00549a; border:1px solid #c8dae6; background:#fff; border-radius:7px; padding:10px 16px; cursor:pointer; white-space:normal; line-height:1.4; }
.jh-points button:hover:not(:disabled) { background:#e9f4f7; border-color:#008c81; }
.jh-points button:disabled { opacity:.5; cursor:default; }
.jh-points button:focus-visible,.jh-points input:focus-visible,.jh-points select:focus-visible,.jh-points svg [tabindex]:focus-visible { outline:3px solid #008c81; outline-offset:3px; }
.jh-points-steps { display:flex; gap:12px; margin-bottom:20px; }
.jh-points-steps button { display:flex; gap:12px; align-items:center; flex:1 1 0; min-width:0; text-align:left; padding:16px 20px; font-weight:700; }
.jh-points-steps b { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; border-radius:50%; background:#e6eef5; }
.jh-points-steps [aria-current="step"] { border-color:#008c81; box-shadow:inset 0 -3px #008c81; }
.jh-points-steps [aria-current="step"] b { background:#008c81; color:#fff; }
.jh-points [data-points-panel] { background:#fff; border:1px solid #d8e5ed; border-radius:10px; padding:28px; }
.jh-points h2,.jh-points h3 { color:#00549a; padding:0; margin:0 0 12px; }
.jh-points h2 { font-size:26px; }.jh-points h3 { font-size:20px; }
.jh-points p { margin:0 0 14px; padding:0; }
.jh-points-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.jh-points-pill { padding:6px 12px; border-radius:20px; background:#eaf5f4; color:#007e74; font-size:14px; white-space:nowrap; }
.jh-points label { display:flex; flex-direction:column; gap:6px; font-weight:600; min-width:0; }
.jh-points input[type="number"],.jh-points select { min-width:0; width:100%; min-height:44px; padding:8px 12px; border:1px solid #c8dae6; border-radius:6px; background:white; color:#00549a; }
.jh-points-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:16px 0 24px; }
.jh-points-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:24px; }
.jh-points-visual { background:#f4f8fb; border:1px solid #d8e5ed; border-radius:8px; padding:20px; min-width:0; }
.jh-points-toolbar { display:flex; align-items:end; gap:16px; justify-content:space-between; }.jh-points-toolbar label{min-width:140px;}
.jh-points svg { display:block; width:100%; height:auto; max-height:440px; touch-action:manipulation; }
.jh-points svg polygon[data-face] { cursor:crosshair; transition:fill .15s; }

.jh-points svg text { font-family:inherit; pointer-events:none; user-select:none; }
.jh-points svg g[data-point-id] { cursor:pointer; }
.jh-points-tip,.jh-points-muted { font-size:14px; color:#536b79; }
.jh-points-editor { padding:22px; border:1px solid #d8e5ed; border-radius:8px; align-self:start; }
.jh-points-editor label { margin-bottom:14px; }
.jh-points .jh-points-remove { color:#a13535; margin-bottom:18px; }
.jh-points-coordinates { font-size:14px; padding:10px; background:#eff6fa; border-radius:6px; }
.jh-points-list-section { margin-top:24px; }.jh-points-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:12px;}
.jh-points .jh-point-row { text-align:left; padding:12px 16px; }.jh-point-row span{display:block;font-size:14px;color:#536b79;}.jh-points .jh-point-row[aria-pressed="true"]{border:2px solid #008c81;background:#edf8f6;}
.jh-points .jh-point-row.is-invalid {border-color:#b93232;background:#fff1ef;}
.jh-points-error:not(:empty){padding:12px 16px;background:#fff1ef;border-left:4px solid #b93232;color:#942c2c;border-radius:4px;}
.jh-points-footer { display:flex; gap:18px; align-items:center; justify-content:space-between; border-top:1px solid #d8e5ed; padding-top:20px; margin-top:20px; }
.jh-points-footer>div { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }.jh-points-footer p{flex-basis:100%;margin:0;}
.jh-points .jh-points-primary { background:#008c81; color:#fff; border-color:#008c81; font-weight:700; }
.jh-points-import { font-size:14px;max-width:260px; }.jh-points-import input{font-size:13px;max-width:100%;}
.jh-points [data-points-summary] { border:1px solid #c8dae6; background:white;padding:18px 22px;border-radius:8px; }
.jh-points [data-point-back] {margin-left:16px;}.jh-points-limit{font-size:14px;color:#5b6470;margin-bottom:0!important;}
@media(max-width:900px){.jh-points-grid{grid-template-columns:minmax(0,1fr);}.jh-points-editor{width:100%;}.jh-points-visual svg{max-height:400px;}}
@media(max-width:600px){.jh-points [data-points-panel]{padding:16px;}.jh-points-dimensions{grid-template-columns:minmax(0,1fr);gap:12px;}.jh-points-heading{display:block;}.jh-points-pill{display:inline-block;margin-bottom:8px;}.jh-points-steps{gap:8px;}.jh-points-steps button{padding:10px;font-size:14px;gap:8px;}.jh-points-footer{display:block;}.jh-points-footer>button{margin-top:16px;width:100%;}.jh-points-visual{padding:12px;}.jh-points-toolbar{gap:8px;}.jh-points-toolbar label{min-width:0;flex:1;}.jh-points-toolbar button{padding:8px;font-size:14px;}.jh-points [data-point-back]{margin:10px 0 0;display:block;}}
@media(max-width:600px){.jh-points-steps button{display:block;font-size:13px;}.jh-points-steps b{margin-bottom:6px;}.jh-points-list{grid-template-columns:minmax(0,1fr);}}

/* v2.0.603 – Feste Seitenfarben, Flächenmarkierungen und kontinuierliche Mausrotation. */
.jh-points svg {touch-action:none;cursor:grab;user-select:none;}
.jh-points svg polygon[data-face],.jh-points svg g[data-point-id] {cursor:grab;}

.jh-points svg.is-orbiting,.jh-points svg.is-orbiting * {cursor:grabbing!important;}
.jh-points-view-buttons {display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.jh-points-legend {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 16px;}
.jh-points .jh-points-legend button {display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:14px;line-height:1.3;background:#fff;}
.jh-points-legend button span,.jh-points-legend-top::before {width:18px;height:18px;border-radius:4px;border:1px solid #678092;flex:none;}
.jh-points .jh-points-legend button[aria-pressed="true"] {border-color:#00549a;box-shadow:0 0 0 1px #00549a;font-weight:700;}
.jh-points-legend-top {display:flex;align-items:center;gap:8px;font-size:14px;padding:7px 10px;}
.jh-points-legend-top::before {content:'';display:inline-block;background:#e4e9ed;}
@media(max-width:600px){.jh-points-toolbar{align-items:start;}.jh-points-view-buttons{flex-direction:column;}.jh-points-legend{justify-content:flex-start;gap:6px;}.jh-points .jh-points-legend button{font-size:13px;padding:6px 8px;}}

/* v2.0.604 – Einheitliche XYZ-Koordinaten im Quader und Positionseditor. */
.jh-points .jh-point-axis-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;}
.jh-points .jh-point-axis-fields label>span {font-weight:800;}
.jh-points .jh-point-axis-fields small {font-size:12px;line-height:1.35;color:#536b79;font-weight:400;}
.jh-points .jh-point-axis-fields small:empty {display:none;}
.jh-points .jh-point-axis-fields input[readonly] {background:#edf1f4;color:#536b79;border-style:dashed;}
.jh-points .jh-point-axis-x>span,.jh-points .jh-axis-x {color:#b52333;}
.jh-points .jh-point-axis-y>span,.jh-points .jh-axis-y {color:#237441;}
.jh-points .jh-point-axis-z>span,.jh-points .jh-axis-z {color:#1956ba;}
.jh-points .jh-points-origin {text-align:center;font-size:14px;margin:0 0 16px;}
.jh-points .jh-points-origin span {white-space:nowrap;}
@media(max-width:600px){.jh-points .jh-point-axis-fields{grid-template-columns:1fr;gap:0;}}

/* v2.0.606 – Aufstellung und Anbindung als eigener zweiter Schritt. */
.jh-pc:has([data-point-workflow][data-step="2"]) .jh-pc-shell,.jh-pc:has([data-point-workflow][data-step="2"]) .jh-pc-config-footer {display:none!important;}
.jh-points [data-setup-panel] {background:#fff;border:1px solid #d8e5ed;border-radius:10px;padding:28px;}
.jh-setup-grid {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:24px;margin-top:20px;}
.jh-points svg[data-setup-scene] {max-height:620px;}
.jh-setup-toolbar {display:flex;align-items:end;justify-content:space-between;gap:12px;}
.jh-setup-toolbar label {flex:1;}
.jh-points .jh-setup-xy {grid-template-columns:repeat(2,minmax(0,1fr));}
.jh-points [data-setup-center] {margin-bottom:10px;}
.jh-points [data-setup-panel] small {font-weight:400;font-size:13px;color:#536b79;}
.jh-setup-measures {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:8px 12px;margin:18px 0 0;padding-top:16px;border-top:1px solid #d8e5ed;font-size:14px;}
.jh-setup-measures dt {color:#536b79;}.jh-setup-measures dd{margin:0;text-align:right;color:#00549a;font-weight:600;}
.jh-points .jh-setup-pending {padding:12px 16px;border-left:4px solid #b77f18;background:#fff8e8;border-radius:5px;font-size:14px;margin-top:20px;}
.jh-pc:has([data-point-workflow]) [data-template-input][readonly] {background:#edf1f4;}
@media(max-width:1000px){.jh-setup-grid{grid-template-columns:1fr;}.jh-points-steps button{font-size:14px;padding:12px;gap:8px;}}
@media(max-width:600px){.jh-points [data-setup-panel]{padding:16px;}.jh-setup-toolbar{align-items:start;flex-direction:column;}.jh-setup-toolbar label{width:100%;}.jh-points .jh-setup-xy{grid-template-columns:1fr;}.jh-setup-measures{grid-template-columns:1fr;}.jh-setup-measures dd{text-align:left;margin-bottom:8px;}.jh-points-steps button{font-size:12px;padding:6px;overflow-wrap:anywhere;}}

/* v2.0.613 – Schrauberauswahl in Aufstellung/Anbindung. */
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] {margin-bottom:24px;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field {display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:12px;margin:0 0 12px;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field>strong {grid-column:1;grid-row:1;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field>span {grid-column:2;grid-row:1;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field>input,.jh-points [data-setup-tool-controls] .jh-pc-clamp-controls {grid-column:1 / -1;grid-row:2;width:100%;min-width:0;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field>em {grid-column:2;grid-row:3;text-align:right;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field>em:empty {display:none;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-tool-stack-field {display:block;min-width:0;margin:0 0 10px;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] select {width:100%;min-width:0;max-width:100%;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-clamp-tile > .jh-pc-clamp-controls {grid-column:1 / -1;grid-row:2;}
.jh-pc[data-template-mode="1"] .jh-points .jh-setup-grid > * {min-width:0;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field > span {min-width:0;overflow-wrap:anywhere;}

/* v2.0.619 – Schraubstellen zeilenweise direkt bearbeiten. */
.jh-points-grid {grid-template-columns:minmax(0,1fr);}
.jh-points-list {grid-template-columns:minmax(0,1fr);}
.jh-point-edit-row {display:grid;grid-template-columns:170px minmax(130px,1.3fr) repeat(3,minmax(95px,1fr)) 100px;gap:14px;align-items:end;padding:16px;border:1px solid #c8dae6;border-radius:8px;background:#fff;}
.jh-point-edit-row.is-selected {border-color:#008c81;box-shadow:inset 3px 0 #008c81;background:#edf8f6;}
.jh-point-edit-row.is-invalid {border-color:#b93232;background:#fff1ef;}
.jh-point-edit-row [data-row-select] {text-align:left;min-height:44px;font-weight:700;}
.jh-point-edit-row [data-row-note] {grid-column:1/-1;color:#942c2c;}
.jh-point-edit-row [data-row-note]:empty {display:none;}
.jh-points .jh-point-delete {color:#a13535;min-height:44px;}
.jh-points .jh-point-edit-row input[readonly] {background:#edf1f4;color:#536b79;border-style:dashed;}
.jh-points .jh-point-edit-row input[aria-invalid="true"] {border-color:#b93232;}
@media(max-width:1050px){.jh-point-edit-row {grid-template-columns:repeat(3,minmax(0,1fr));}.jh-point-edit-row [data-row-select]{grid-column:1;grid-row:1;}.jh-point-edit-row>label:first-of-type{grid-column:2;grid-row:1;}.jh-point-edit-row .jh-point-delete{grid-column:3;grid-row:1;}}
@media(max-width:600px){.jh-point-edit-row{padding:12px;gap:10px;}.jh-point-edit-row [data-row-select]{grid-column:1/3;}.jh-point-edit-row>label:first-of-type{grid-column:1/-1;grid-row:2;}.jh-point-edit-row input[type="number"]{padding:8px 6px;}.jh-point-edit-row .jh-point-delete{padding:8px;}}

/* v2.0.620 – Vorläufige Kantenprüfung, unabhängig von der Blickrichtung. */
.jh-points .jh-arm-check {margin-top:16px;border-top:1px solid #c8dae6;padding-top:16px;}
.jh-points .jh-arm-check h3 {font-size:18px;}
.jh-points .jh-arm-check p {font-size:14px;}
.jh-arm-check [data-arm-check-list] {display:grid;gap:8px;}
.jh-points .jh-arm-check button {display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;text-align:left;padding:10px 12px;min-width:0;font-size:14px;}
.jh-points .jh-arm-check button[aria-pressed="true"] {outline:2px solid #00549a;outline-offset:1px;}
.jh-points .jh-arm-check button[data-arm-check-state="collision"] {background:#fff1ef;border-color:#b52333;color:#942c2c;}
.jh-points .jh-arm-check button[data-arm-check-state="near"] {background:#fff8e8;border-color:#a86500;color:#855000;}

/* v2.0.621 – Maße links, Werkstück mittig, Schraubstellen rechts. */
.jh-points .jh-workpiece-stage {display:grid;grid-template-columns:180px minmax(280px,1fr) minmax(300px,360px);gap:20px;align-items:start;background:#f4f8fb;border:1px solid #d8e5ed;border-radius:8px;padding:20px;margin-top:20px;}
.jh-workpiece-stage > * {min-width:0;}
.jh-points .jh-workpiece-stage .jh-points-dimensions {display:flex;flex-direction:column;gap:18px;margin:0;background:#fff;border:1px solid #d8e5ed;border-radius:8px;padding:16px;}
.jh-points .jh-workpiece-stage h3 {font-size:18px;line-height:1.4;margin:0 0 4px;letter-spacing:normal;}
.jh-points .jh-workpiece-stage .jh-points-visual {padding:0;border:0;background:transparent;}
.jh-workpiece-stage .jh-points-toolbar {flex-wrap:wrap;gap:10px;}
.jh-workpiece-stage .jh-points-toolbar label {min-width:110px;}
.jh-workpiece-stage .jh-points-view-buttons {gap:6px;flex:1;}
.jh-points .jh-workpiece-stage .jh-points-view-buttons button {font-size:13px;padding:8px 10px;}
.jh-points .jh-workpiece-stage .jh-points-origin {margin:8px 0 12px;}
.jh-points .jh-workpiece-stage .jh-points-list-section {margin:0;display:flex;flex-direction:column;gap:12px;}
.jh-points .jh-workpiece-stage [data-point-add] {align-self:stretch;text-align:center;}
.jh-points .jh-workpiece-stage .jh-points-list {max-height:clamp(360px,calc(100dvh - 300px),600px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:2px 6px 2px 2px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row [data-row-select] {grid-column:1/3;grid-row:1;font-size:14px;padding:8px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-point-delete {grid-column:3;grid-row:1;padding:8px;font-size:14px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row>label:first-of-type {grid-column:1/-1;grid-row:2;}
.jh-points .jh-workpiece-stage .jh-point-edit-row input[type="number"] {padding:8px 6px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row label {font-size:14px;}
@media(max-width:1100px){.jh-points .jh-workpiece-stage{grid-template-columns:150px minmax(240px,1fr) minmax(260px,300px);gap:12px;padding:12px;}.jh-points .jh-workpiece-stage .jh-points-dimensions{padding:12px;}.jh-workpiece-stage .jh-points-view-buttons{justify-content:flex-start;}}
@media(max-width:920px){.jh-points .jh-workpiece-stage{grid-template-columns:150px minmax(0,1fr);}.jh-workpiece-stage .jh-points-list-section{grid-column:1/-1;}.jh-points .jh-workpiece-stage .jh-points-list{max-height:none;overflow:visible;scrollbar-gutter:auto;padding:0;}}
@media(max-width:600px){.jh-points .jh-workpiece-stage{grid-template-columns:minmax(0,1fr);}.jh-points .jh-workpiece-stage .jh-points-dimensions{gap:12px;}.jh-workpiece-stage .jh-points-list-section{grid-column:auto;}}
@media(min-width:1101px){
.jh-points .jh-workpiece-stage .jh-point-edit-row {grid-template-columns:minmax(0,1.15fr) repeat(3,minmax(0,1fr));gap:8px;padding:10px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row [data-row-select] {grid-column:1/4;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-point-delete {grid-column:4;}
.jh-points .jh-workpiece-stage .jh-point-edit-row>label:first-of-type {grid-column:1;grid-row:2;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-point-axis-x {grid-column:2;grid-row:2;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-point-axis-y {grid-column:3;grid-row:2;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-point-axis-z {grid-column:4;grid-row:2;}
.jh-points .jh-workpiece-stage .jh-point-edit-row select {padding:8px 4px;font-size:14px;}
}

/* v2.0.622 – Aufstellung links, Vorschau mittig, kompakte Schrauberauswahl rechts. */
.jh-points .jh-setup-stage {margin-top:20px;padding:18px;background:#f4f8fb;border:1px solid #d8e5ed;border-radius:8px;}
.jh-points .jh-setup-stage .jh-setup-actions {display:flex;align-items:end;gap:12px;margin-bottom:18px;}
.jh-points .jh-setup-stage .jh-setup-toolbar {flex:1;min-width:0;}
.jh-points .jh-setup-stage .jh-setup-toolbar label {min-width:0;}
.jh-points .jh-setup-stage .jh-setup-grid {grid-template-columns:260px minmax(0,1fr) 310px;gap:18px;align-items:start;margin:0;}
.jh-points .jh-setup-stage .jh-points-editor {padding:16px;background:#fff;}
.jh-points .jh-setup-stage h3 {font-size:18px;line-height:1.4;letter-spacing:normal;margin:0 0 14px;}
.jh-points .jh-setup-stage label {font-size:14px;line-height:1.45;}
.jh-points .jh-setup-stage .jh-points-editor h3:not(:first-child) {margin-top:20px;}
.jh-points .jh-setup-stage .jh-points-muted {font-size:13px;line-height:1.5;}
.jh-points .jh-setup-stage button {font-size:14px;padding:10px 12px;}
.jh-points .jh-setup-stage [data-setup-center] {width:100%;}
.jh-points .jh-setup-stage .jh-points-visual {padding:0;border:0;background:transparent;}
.jh-points .jh-setup-stage svg[data-setup-scene] {width:100%;height:clamp(380px,48vw,620px);max-height:620px;}
.jh-points .jh-setup-stage [data-tool-preview-note] {margin:0 0 8px;}
.jh-pc[data-template-mode="1"] .jh-points .jh-setup-stage [data-setup-tool-controls] {margin:0;}
.jh-pc[data-template-mode="1"] .jh-points .jh-setup-stage [data-setup-tool-controls] .jh-pc-global-input-field {padding:10px;gap:8px;}
.jh-pc[data-template-mode="1"] .jh-points .jh-setup-stage [data-setup-tool-controls] select {text-align:left;font-size:14px;padding:10px 6px;}
.jh-points .jh-setup-stage .jh-setup-results {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:20px;border-top:1px solid #c8dae6;padding-top:16px;}
.jh-points .jh-setup-stage .jh-arm-check,.jh-points .jh-setup-stage .jh-setup-measures {margin:0;padding:0;border:0;}
.jh-points .jh-setup-stage .jh-setup-measures {align-content:start;font-size:13px;}
@media(max-width:1200px){.jh-points .jh-setup-stage{padding:12px;}.jh-points .jh-setup-stage .jh-setup-grid{grid-template-columns:220px minmax(0,1fr) 270px;gap:12px;}.jh-points .jh-setup-stage .jh-points-editor{padding:12px;}}
@media(max-width:1000px){.jh-points .jh-setup-stage .jh-setup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.jh-points .jh-setup-stage .jh-points-visual{grid-column:1/-1;grid-row:1;}.jh-points .jh-setup-stage .jh-setup-actions{flex-wrap:wrap;}.jh-points .jh-setup-stage .jh-setup-toolbar{flex-basis:100%;}.jh-points .jh-setup-stage svg[data-setup-scene]{height:420px;}}
@media(max-width:600px){.jh-points .jh-setup-stage .jh-setup-grid,.jh-points .jh-setup-stage .jh-setup-results{grid-template-columns:minmax(0,1fr);}.jh-points .jh-setup-stage .jh-setup-actions{align-items:stretch;}.jh-points .jh-setup-stage .jh-setup-toolbar{align-items:stretch;}.jh-points .jh-setup-stage svg[data-setup-scene]{height:auto;min-height:260px;}.jh-points .jh-setup-stage .jh-setup-xy{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* v2.0.623 – Seitliche Eingaben nutzen die zusätzliche Desktopbreite. */
@media(min-width:1400px){
    .jh-points .jh-setup-stage .jh-setup-grid {grid-template-columns:clamp(260px,20vw,400px) minmax(0,1fr) clamp(310px,22vw,440px);}
}

/* v2.0.624 – Einmalige Schraubstellenauswahl, kompakter Kollisionsstatus. */
.jh-points .jh-setup-stage .jh-setup-collision-status {margin:0 0 8px;font-size:13px;line-height:1.5;color:#536b79;}
.jh-points .jh-setup-stage .jh-setup-collision-status[data-state="collision"] {color:#942c2c;font-weight:600;}
.jh-points .jh-setup-stage .jh-setup-collision-status[data-state="near"] {color:#855000;font-weight:600;}

/* v2.0.625 – mm-Felder und Drehmoment im grafischen Ablauf. */
.jh-points .jh-pc-unit-input>input {padding-right:48px;}
.jh-pc .jh-points .jh-pc-input-unit {color:#111;font-weight:400;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-pc-unit-input>input {padding-right:30px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row .jh-pc-input-unit {right:6px;font-size:12px;}
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field:has(>input):has(>em:not(:empty))>input,
.jh-pc[data-template-mode="1"] .jh-points [data-setup-tool-controls] .jh-pc-global-input-field:has(>input):has(>em:not(:empty))>em {grid-column:1/-1;grid-row:2;}

/* v2.0.626 – Gemeinsame obere Bedienleiste, ausgewogene Spalten und Randabstände. */
.jh-points .jh-workpiece-stage {grid-template-columns:220px minmax(0,1fr) 380px;gap:20px;padding:20px;}
.jh-points .jh-workpiece-stage>.jh-points-toolbar {grid-column:1/-1;display:flex;align-items:end;gap:12px;margin:0;}
.jh-points .jh-workpiece-stage>.jh-points-toolbar label {flex:1;min-width:0;}
.jh-points .jh-workpiece-stage>.jh-points-toolbar .jh-points-view-buttons {flex:0 0 auto;gap:12px;}
.jh-points .jh-workpiece-stage>.jh-points-toolbar button {font-size:14px;padding:10px 12px;}
.jh-points .jh-workpiece-stage .jh-points-list {padding:0;scrollbar-gutter:auto;}
.jh-points .jh-workpiece-stage .jh-points-dimensions {padding:16px;}
.jh-points .jh-workpiece-stage .jh-point-edit-row {padding:14px;gap:10px;}
@media(min-width:1400px){.jh-points .jh-workpiece-stage{grid-template-columns:clamp(220px,20vw,400px) minmax(0,1fr) clamp(380px,24vw,480px);}}
@media(max-width:1100px){.jh-points .jh-workpiece-stage{grid-template-columns:180px minmax(0,1fr) 300px;gap:12px;padding:12px;}.jh-points .jh-workpiece-stage .jh-points-dimensions{padding:12px;}.jh-points .jh-workpiece-stage .jh-point-edit-row{padding:12px;}}
@media(max-width:920px){.jh-points .jh-workpiece-stage{grid-template-columns:180px minmax(0,1fr);}}
@media(max-width:600px){.jh-points .jh-workpiece-stage{grid-template-columns:minmax(0,1fr);}.jh-points .jh-workpiece-stage>.jh-points-toolbar{align-items:stretch;flex-direction:column;}.jh-points .jh-workpiece-stage>.jh-points-toolbar .jh-points-view-buttons{justify-content:stretch;}.jh-points .jh-workpiece-stage>.jh-points-toolbar button{flex:1;}}

/* v2.0.632 – Bemaßter Aufstellungsplan als umschaltbare Ansicht. */
.jh-points .jh-setup-grid[hidden],.jh-points .jh-mounting-plan[hidden],.jh-points [data-plan-content][hidden] {display:none!important;}
.jh-points .jh-setup-actions {flex-wrap:wrap;}
.jh-points .jh-mounting-plan {background:#fff;border:1px solid #d8e5ed;border-radius:10px;padding:18px;}
.jh-points .jh-mounting-plan header {display:flex;align-items:start;justify-content:space-between;gap:16px;}
.jh-points .jh-mounting-plan header p {font-size:14px;margin:0 0 12px;}
.jh-points .jh-mounting-plan header button {flex-shrink:0;}
.jh-points .jh-mounting-views {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.jh-points .jh-mounting-views svg {max-height:none;}
.jh-points [data-plan-values] {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:12px 0;border-top:1px solid #d8e5ed;padding-top:14px;font-size:14px;}
.jh-points [data-plan-values]>div {display:flex;justify-content:space-between;gap:12px;}
.jh-points [data-plan-values] dt {font-weight:400;}
.jh-points [data-plan-values] dd {margin:0;white-space:nowrap;font-weight:700;color:#00549a;}
@media(max-width:800px){.jh-points .jh-mounting-views,.jh-points [data-plan-values]{grid-template-columns:minmax(0,1fr);}.jh-points .jh-mounting-plan header{flex-direction:column;}.jh-points .jh-mounting-plan{padding:12px;}}
/* v2.0.642 – Ein Arbeitsplatz mit unabhängig scrollbaren Eingaben und fester 3D-Mitte. */
.jh-points.jh-workspace {scroll-margin-top:140px;}
.jh-workspace .jh-points-steps {display:flex;gap:12px;align-items:stretch;margin-bottom:12px;}
.jh-workspace .jh-points-steps [data-points-step] {flex:1;padding:12px 16px;}
.jh-workspace .jh-points-steps [data-setup-next] {flex:none;padding:12px 18px;}
.jh-workspace [data-setup-panel] {padding:0;border:0;background:transparent;}
.jh-workspace [data-setup-panel] > .jh-points-heading,
.jh-workspace [data-setup-panel] > .jh-points-footer {display:none;}
.jh-workspace .jh-setup-stage {margin:0;padding:14px;}
.jh-workspace .jh-setup-stage .jh-setup-actions {gap:8px;margin:0 0 12px;}
.jh-workspace .jh-setup-stage .jh-setup-actions button {padding:8px 10px;font-size:13px;}
.jh-workspace .jh-setup-stage .jh-setup-toolbar {gap:8px;}
.jh-workspace .jh-setup-stage .jh-setup-grid {grid-template-columns:minmax(245px,24fr) minmax(240px,43fr) minmax(310px,33fr);gap:14px;height:calc(100dvh - var(--jh-workspace-chrome,360px));min-height:360px;align-items:stretch;}
.jh-workspace .jh-setup-stage .jh-workspace-rail {height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:16px;margin:0;align-self:stretch;scroll-behavior:auto;}
.jh-workspace .jh-setup-stage .jh-workspace-rail:focus-visible {outline:2px solid #008c81;outline-offset:2px;}
.jh-workspace .jh-setup-stage .jh-points-dimensions {display:flex;flex-direction:column;gap:12px;margin:0;padding:0 0 16px;border-bottom:1px solid #d8e5ed;}
.jh-workspace .jh-setup-stage .jh-points-dimensions h3 {margin-bottom:0;}
.jh-workspace .jh-setup-stage .jh-points-dimensions label {margin:0;}
.jh-workspace .jh-setup-stage .jh-points-visual {display:flex;flex-direction:column;min-height:0;height:100%;grid-column:2;grid-row:1;}
.jh-workspace .jh-setup-stage svg[data-setup-scene] {flex:1 1 0;min-height:0;height:0;max-height:none;width:100%;}
.jh-workspace .jh-setup-stage [data-tool-preview-note] {font-size:12px;line-height:1.35;flex:none;}
.jh-workspace .jh-setup-stage .jh-points-legend {gap:4px;flex:none;margin:8px 0 0;}
.jh-workspace .jh-setup-stage .jh-points-legend button,.jh-workspace .jh-points-legend-top {font-size:12px;padding:5px 6px;gap:5px;}
.jh-workspace .jh-points-legend button span,.jh-workspace .jh-points-legend-top::before {width:12px;height:12px;}
.jh-workspace .jh-workspace-tip {font-size:12px;line-height:1.4;margin:8px 0 0;text-align:center;color:#536b79;flex:none;}
.jh-workspace .jh-setup-stage .jh-points-list-section {display:flex;flex-direction:column;gap:10px;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid #d8e5ed;}
.jh-workspace .jh-setup-stage .jh-points-list-section h3 {font-size:16px;margin:0;}
.jh-workspace .jh-setup-stage .jh-points-list-section>label {margin:0;}
.jh-workspace .jh-setup-stage .jh-points-list {grid-template-columns:1fr;gap:10px;margin:0;padding:0;max-height:none;overflow:visible;}
.jh-workspace .jh-setup-stage .jh-point-edit-row {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;}
.jh-workspace .jh-setup-stage .jh-point-edit-row [data-row-select] {grid-column:1/3;grid-row:1;font-size:13px;padding:7px;}
.jh-workspace .jh-setup-stage .jh-point-edit-row .jh-point-delete {grid-column:3;grid-row:1;font-size:13px;padding:7px;}
.jh-workspace .jh-setup-stage .jh-point-edit-row>label:first-of-type {grid-column:1/-1;grid-row:2;}
.jh-workspace .jh-setup-stage .jh-point-edit-row label {margin:0;font-size:13px;}
.jh-workspace .jh-setup-stage .jh-point-edit-row .jh-pc-unit-input>input {padding:8px 27px 8px 6px;font-size:13px;}
.jh-workspace .jh-setup-stage .jh-point-edit-row .jh-pc-input-unit {right:5px;font-size:11px;}
.jh-workspace .jh-workspace-files {margin-top:18px;border-top:1px solid #d8e5ed;padding-top:14px;font-size:13px;}
.jh-workspace .jh-workspace-files summary {cursor:pointer;color:#00549a;font-weight:600;}
.jh-workspace .jh-workspace-files>button,.jh-workspace .jh-workspace-files>label {margin-top:12px;width:100%;max-width:none;}
.jh-workspace .jh-workspace-files input {max-width:100%;}
.jh-workspace .jh-workspace-error:empty,.jh-workspace [data-point-error]:empty {display:none;}
@media(min-width:1700px){
 .jh-workspace .jh-setup-stage .jh-setup-grid {grid-template-columns:minmax(300px,25fr) minmax(360px,44fr) minmax(380px,31fr);}
 .jh-workspace .jh-setup-stage .jh-point-edit-row {grid-template-columns:minmax(90px,1.15fr) repeat(3,minmax(0,1fr));}
 .jh-workspace .jh-setup-stage .jh-point-edit-row [data-row-select] {grid-column:1/4;}
 .jh-workspace .jh-setup-stage .jh-point-edit-row .jh-point-delete {grid-column:4;}
 .jh-workspace .jh-setup-stage .jh-point-edit-row>label:first-of-type {grid-column:1;grid-row:2;}
}
@media(max-width:1150px){
 .jh-workspace .jh-setup-stage .jh-setup-grid {grid-template-columns:minmax(200px,24fr) minmax(200px,42fr) minmax(270px,34fr);gap:10px;}
 .jh-workspace .jh-setup-stage .jh-workspace-rail {padding:12px;}
 .jh-workspace .jh-setup-stage .jh-setup-actions {flex-wrap:wrap;}
 .jh-workspace .jh-setup-stage .jh-setup-toolbar {flex-basis:100%;}
 .jh-workspace .jh-setup-stage .jh-setup-grid {height:calc(100dvh - var(--jh-workspace-chrome,400px));}
}
@media(max-width:900px){
 .jh-workspace .jh-points-steps {flex-wrap:wrap;}
 .jh-workspace .jh-points-steps [data-setup-next] {flex-basis:100%;}
 .jh-workspace .jh-setup-stage .jh-setup-grid {height:auto;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));}
 .jh-workspace .jh-setup-stage .jh-points-visual {grid-row:1;grid-column:1/-1;height:clamp(280px,45dvh,440px);}
 .jh-workspace .jh-setup-stage .jh-workspace-rail {grid-row:2;max-height:65dvh;height:auto;}
}
@media(max-width:600px){
 .jh-workspace .jh-setup-stage {padding:10px;}
 .jh-workspace .jh-setup-stage .jh-setup-grid {grid-template-columns:minmax(0,1fr);}
 .jh-workspace .jh-setup-stage .jh-workspace-rail {grid-row:auto;max-height:none;overflow:visible;scrollbar-gutter:auto;}
 .jh-workspace .jh-setup-stage .jh-points-visual {grid-row:1;height:330px;}
 .jh-workspace .jh-setup-stage .jh-setup-toolbar {flex-direction:column;align-items:stretch;}
 .jh-workspace .jh-points-steps [data-points-step] {padding:8px;font-size:12px;}
 .jh-workspace .jh-setup-stage .jh-setup-actions {align-items:stretch;}
}


/* v2.0.649 – Compact view controls, including touch-accessible zoom. */
.jh-workspace .jh-setup-view-controls {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.jh-workspace .jh-setup-stage .jh-setup-view-controls [data-setup-zoom] {min-width:40px;min-height:40px;font-size:18px;line-height:1;}

/* v2.0.651 – One disclosure per rail; original inputs retain their identities. */
.jh-workspace .jh-setup-stage .jh-workspace-rail {padding:12px;}
.jh-workspace .jh-workspace-section {margin:0 0 10px;border:1px solid #d8e5ed;border-radius:8px;background:#fff;min-width:0;}
.jh-workspace .jh-workspace-section[open] {border-color:#008c81;}
.jh-workspace .jh-workspace-section>summary {display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:4px 8px;padding:14px;cursor:pointer;list-style:none;color:#00549a;}
.jh-workspace .jh-workspace-section>summary::-webkit-details-marker {display:none;}
.jh-workspace .jh-workspace-section>summary>span {font-size:16px;font-weight:700;line-height:1.3;}
.jh-workspace .jh-workspace-section>summary>small {grid-column:1;font-size:12px;line-height:1.45;color:#526c7c;overflow-wrap:anywhere;}
.jh-workspace .jh-workspace-section>summary::after {content:'+';grid-column:2;grid-row:1;font-size:20px;line-height:1;}
.jh-workspace .jh-workspace-section[open]>summary::after {content:'−';}
.jh-workspace .jh-workspace-section[open]>summary>small {display:none;}
.jh-workspace .jh-workspace-section>summary:focus-visible {outline:2px solid #00549a;outline-offset:2px;border-radius:6px;}
.jh-workspace .jh-workspace-section-body {padding:0 14px 14px;min-width:0;}
.jh-workspace .jh-workspace-section-body>label {display:block;margin:0 0 14px;}
.jh-workspace .jh-setup-stage .jh-workspace-section .jh-points-dimensions,
.jh-workspace .jh-setup-stage .jh-workspace-section .jh-points-list-section {border:0;margin:0;padding:0;}
.jh-workspace .jh-workspace-section .jh-pc-global-input-field {margin:0 0 12px;padding:12px;}
.jh-workspace .jh-workspace-section .jh-pc-override-choice {margin:0 0 12px;padding:0;border:0;}
.jh-workspace .jh-workspace-section .jh-pc-override-choice label {display:block;}
.jh-workspace .jh-workspace-section select {width:100%;min-width:0;max-width:100%;}
.jh-workspace .jh-workspace-section [data-product-selection-field] {margin:0;padding:12px;font-size:13px;}
.jh-workspace .jh-workspace-section [data-product-selection-details] {font-size:12px;}
.jh-workspace .jh-workspace-section [hidden] {display:none!important;}
.jh-workspace .jh-workspace-section [data-point-list-heading] {display:none;}
@media(min-width:901px){
 .jh-workspace .jh-setup-stage .jh-workspace-rail{display:flex;flex-direction:column;}
 .jh-workspace .jh-workspace-section{flex:0 0 auto;}
 .jh-workspace .jh-workspace-section[open]{display:flex;flex-direction:column;flex:1 1 auto;min-height:170px;overflow:hidden;}
 .jh-workspace .jh-workspace-section>summary{flex:none;}
 .jh-workspace .jh-workspace-section[open]>.jh-workspace-section-body{flex:1;overflow-y:auto;min-height:0;overscroll-behavior-y:contain;scrollbar-gutter:stable;}
 .jh-workspace .jh-workspace-files,.jh-workspace .jh-workspace-error{flex:none;}
}
@media(max-width:1150px){.jh-workspace .jh-setup-stage .jh-workspace-rail{padding:8px;}.jh-workspace .jh-workspace-section>summary{padding:12px;}.jh-workspace .jh-workspace-section-body{padding:0 10px 12px;}}
@media(max-width:900px){.jh-workspace .jh-setup-stage .jh-points-visual{height:auto;min-height:420px;}.jh-workspace .jh-setup-stage svg[data-setup-scene]{flex:0 0 260px;height:260px;min-height:260px;}}

/* v2.0.652 – Keep the chosen arm visible while editing its options. */
.jh-workspace .jh-workspace-section[data-workspace-section="arm"][open]>summary>small {display:block;}


/* v2.0.653 – Vertical workspace shares rails, with a dedicated schematic measurement line. */
.jh-has-vertical-workspace[data-vertical-step="1"] .jh-pc-shell,
.jh-has-vertical-workspace[data-vertical-step="1"]>.jh-pc-layout,
.jh-has-vertical-workspace[data-vertical-step="1"] [data-jh-pc-config-footer],
.jh-has-vertical-workspace[data-vertical-step="1"] .jh-pc-total-export {display:none!important;}
.jh-vertical-workspace [hidden] {display:none!important;}
.jh-vertical-workspace .jh-workspace-section .jh-pc-global-input-field {display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;}
.jh-vertical-workspace .jh-workspace-section .jh-pc-global-input-control {min-width:0;width:100%;}
.jh-vertical-workspace .jh-workspace-section .jh-pc-template-input-help {margin-top:6px;}
.jh-vertical-workspace .jh-points-visual>p {font-size:12px;line-height:1.4;flex:none;margin:0 0 8px;}
.jh-vertical-workspace .jh-vertical-status {color:#00549a;font-weight:600;}
.jh-vertical-workspace .jh-vertical-status.is-error {color:#b52333;}
.jh-vertical-workspace svg[data-setup-scene] {touch-action:none;cursor:grab;user-select:none;}
.jh-vertical-workspace .jh-setup-view-controls button:first-child,
.jh-vertical-workspace .jh-setup-view-controls button:nth-child(2) {font-size:18px;min-width:40px;}
.jh-vertical-workspace .jh-workspace-section .jh-pc-global-input-field input {max-width:100%;}

.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>strong {grid-column:1;grid-row:1;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>span {grid-column:2;grid-row:1;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>input,.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>select,.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>em {grid-column:1/-1;grid-row:2;width:100%;min-width:0;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>input {padding-right:42px;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>em {justify-self:end;align-self:center;text-align:right;width:auto;padding-right:12px;pointer-events:none;color:#111;font-style:normal;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-clamp-controls {grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:14px;min-width:0;}
.jh-vertical-workspace input {box-sizing:border-box;}
.jh-has-vertical-workspace [hidden] {display:none!important;}

.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>strong {grid-column:1;grid-row:1;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>span {grid-column:2;grid-row:1;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>input,.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>select,.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>em {grid-column:1/-1;grid-row:2;width:100%;min-width:0;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>input {padding-right:42px;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-global-input-field>em {justify-self:end;align-self:center;text-align:right;width:auto;padding-right:12px;pointer-events:none;color:#111;font-style:normal;}
.jh-pc.jh-has-vertical-workspace .jh-vertical-workspace .jh-pc-clamp-controls {grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:14px;min-width:0;}
.jh-vertical-workspace input {box-sizing:border-box;}
.jh-has-vertical-workspace [hidden] {display:none!important;}

.jh-vertical-workspace .jh-pc-global-input-field>strong {grid-column:1;grid-row:1;}
.jh-vertical-workspace .jh-pc-global-input-field>span {grid-column:2;grid-row:1;}
.jh-vertical-workspace .jh-pc-global-input-field>input,.jh-vertical-workspace .jh-pc-global-input-field>select,.jh-vertical-workspace .jh-pc-global-input-field>em {grid-column:1/-1;grid-row:2;width:100%;min-width:0;}
.jh-vertical-workspace .jh-pc-global-input-field>input {padding-right:42px;}
.jh-vertical-workspace .jh-pc-global-input-field>em {justify-self:end;align-self:center;text-align:right;width:auto;padding-right:12px;pointer-events:none;color:#111;font-style:normal;}
.jh-vertical-workspace .jh-pc-clamp-controls {grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:14px;min-width:0;}
.jh-vertical-workspace input {box-sizing:border-box;}
.jh-has-vertical-workspace [hidden] {display:none!important;}

.jh-vertical-workspace .jh-pc-global-input-field>strong {grid-column:1;grid-row:1;}
.jh-vertical-workspace .jh-pc-global-input-field>span {grid-column:2;grid-row:1;}
.jh-vertical-workspace .jh-pc-global-input-field>input,.jh-vertical-workspace .jh-pc-global-input-field>select,.jh-vertical-workspace .jh-pc-global-input-field>em {grid-column:1/-1;grid-row:2;width:100%;min-width:0;}
.jh-vertical-workspace .jh-pc-global-input-field>input {padding-right:42px;}
.jh-vertical-workspace .jh-pc-global-input-field>em {justify-self:end;align-self:center;text-align:right;width:auto;padding-right:12px;pointer-events:none;color:#111;font-style:normal;}
.jh-vertical-workspace .jh-pc-clamp-controls {grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:14px;min-width:0;}
.jh-vertical-workspace input {box-sizing:border-box;}
.jh-has-vertical-workspace [hidden] {display:none!important;}

/* v2.0.654 – Size the native details content wrapper so its body can scroll. */
@media (min-width:901px) {
 .jh-workspace .jh-workspace-section[open]::details-content {
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
 }
}

/* v2.0.655 – Horizontal capture, setup and system as three separate stages. */
.jh-three-step [hidden] {display:none!important;}
.jh-three-step .jh-workspace-section {display:block;flex:0 0 auto;min-height:0;overflow:visible;border-color:#d8e5ed;}
.jh-three-step .jh-stage-section-heading {margin:0!important;padding:14px;font-size:17px!important;font-weight:600;color:#00549a;}
.jh-three-step .jh-workspace-section-body {overflow:visible;max-height:none;}
.jh-three-step .jh-stage-context {font-size:12px;line-height:1.4;color:#536b79;margin:0 0 8px;flex:none;}
.jh-three-step .jh-setup-toolbar {flex:1;justify-content:flex-end;}
.jh-three-step[data-step="1"] .jh-setup-toolbar {justify-content:flex-start;}
.jh-three-step .jh-points-steps [data-points-step] {min-width:0;}
@media(min-width:901px){
 .jh-three-step .jh-setup-stage .jh-workspace-rail {display:block;}
 .jh-three-step[data-step="1"] .jh-setup-stage .jh-setup-grid {grid-template-columns:minmax(210px,23fr) minmax(260px,44fr) minmax(300px,33fr);}
}
@media(max-width:600px){
 .jh-three-step .jh-points-steps [data-points-step] {flex-basis:100%;text-align:left;}
}

/* v2.0.657 – WMS uses the same spaced badge/title/control rows as the tool cards. */
.jh-pc[data-template-mode="1"] .jh-three-step .jh-workspace-section .jh-pc-global-input-field:has(>[data-template-input="WMS"]) {
 display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;
}
.jh-three-step .jh-pc-global-input-field:has(>[data-template-input="WMS"])>strong {grid-column:1;grid-row:1;margin:0;}
.jh-three-step .jh-pc-global-input-field:has(>[data-template-input="WMS"])>span {grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere;}
.jh-three-step .jh-pc-global-input-field>[data-template-input="WMS"] {grid-column:1/-1;grid-row:2;min-width:0;width:100%;margin:0;}
.jh-three-step .jh-pc-global-input-field:has(>[data-template-input="WMS"])>em:empty {display:none;}

/* v2.0.659 – Actionable prerequisite feedback before System & Export. */
.jh-system-entry-notice {margin:12px 0;padding:14px 18px;border:1px solid #c28b24;border-left-width:4px;border-radius:6px;background:#fff8e8;color:#354a59;}
.jh-system-entry-notice[hidden] {display:none!important;}
.jh-system-entry-notice ul {margin:6px 0 0;padding-left:20px;}
.jh-system-entry-notice button {border:0;background:transparent;color:#00549a;padding:4px 0;text-align:left;white-space:normal;text-decoration:underline;cursor:pointer;font:inherit;line-height:1.4;}
.jh-system-entry-notice button:focus-visible {outline:2px solid #008c81;outline-offset:3px;}

/* v2.0.661 – Give the model the available width and keep notes beside the inputs. */
.jh-three-step .jh-view-notes {margin:12px 0 0;padding:12px;border:1px solid #d8e5ed;border-radius:8px;background:#fff;font-size:12px;line-height:1.45;}
.jh-three-step .jh-view-notes>summary {color:#00549a;font-weight:600;cursor:pointer;}
.jh-three-step .jh-view-notes>p {margin:10px 0 0!important;font-size:12px!important;line-height:1.45!important;text-align:left;}
.jh-three-step .jh-setup-stage .jh-points-legend {margin-top:6px;}
.jh-three-step [data-arm-angle-note] {flex:none;font-size:13px;line-height:1.4;padding:4px 8px;border-radius:5px;background:#fff;align-self:center;text-align:center;max-width:100%;}
.jh-three-step .jh-setup-stage .jh-workspace-rail {padding:10px;}
.jh-three-step .jh-workspace-section-body {padding:0 10px 12px;}
.jh-three-step .jh-stage-section-heading {padding:12px 10px;font-size:16px!important;}
.jh-three-step .jh-setup-stage .jh-point-edit-row {grid-template-columns:repeat(3,minmax(0,1fr));}
.jh-three-step .jh-setup-stage .jh-point-edit-row [data-row-select] {grid-column:1/3;}
.jh-three-step .jh-setup-stage .jh-point-edit-row .jh-point-delete {grid-column:3;}
.jh-three-step .jh-setup-stage .jh-point-edit-row>label:first-of-type {grid-column:1/-1;grid-row:2;}
@media(min-width:901px){
 .jh-three-step[data-step] .jh-setup-stage .jh-setup-grid {grid-template-columns:clamp(260px,18vw,320px) minmax(0,1fr) clamp(330px,22vw,390px);gap:12px;height:calc(100dvh - var(--jh-workspace-chrome,360px) + 36px);min-height:480px;}
 .jh-three-step .jh-setup-stage .jh-points-visual {overflow:hidden;}
}
@media(min-width:1500px){
 .jh-three-step[data-step] .jh-setup-stage .jh-setup-grid {min-height:540px;}
}
@media(min-width:901px) and (max-width:1100px){
 .jh-three-step[data-step] .jh-setup-stage .jh-setup-grid {grid-template-columns:230px minmax(0,1fr) 300px;gap:10px;}
}
@media(max-width:900px){
 .jh-three-step .jh-setup-stage .jh-points-visual {height:clamp(410px,62dvh,620px);min-height:0;}
 .jh-three-step .jh-setup-stage svg[data-setup-scene] {flex:1 1 0;height:0;min-height:0;}
}

/* v2.0.663 – Vertical workflow follows the horizontal three-stage master. */
.jh-has-vertical-workspace[data-vertical-step="2"] .jh-pc-shell,
.jh-has-vertical-workspace[data-vertical-step="2"]>.jh-pc-layout,
.jh-has-vertical-workspace[data-vertical-step="2"] [data-jh-pc-config-footer],
.jh-has-vertical-workspace[data-vertical-step="2"] .jh-pc-total-export {display:none!important;}
.jh-vertical-workspace .jh-setup-view-controls button:first-child {font-size:14px;min-width:0;}
.jh-vertical-workspace .jh-vertical-status {align-self:center;text-align:center;border-radius:5px;padding:4px 8px;background:#fff;max-width:100%;}
.jh-vertical-workspace .jh-workspace-section-body .jh-pc-global-input-field>span {min-width:0;overflow-wrap:anywhere;}
.jh-vertical-workspace .jh-pc-template-input-help {grid-column:1/-1;}
.jh-vertical-workspace .jh-setup-toolbar {min-width:180px;}
.jh-vertical-workspace .jh-setup-toolbar>label {width:100%;}
/* v2.0.668 – Fixed configuration views in System & Export. */
.jh-pc [data-system-views-replaced] {display:none!important;}
.jh-pc .jh-system-views {position:relative;padding:0 40px;min-width:0;width:100%;box-sizing:border-box;}
.jh-pc .jh-system-views[hidden],.jh-pc .jh-system-views-page[hidden] {display:none!important;}
.jh-pc .jh-system-views-viewport {height:clamp(300px,45vh,500px);overflow:hidden;}
.jh-pc .jh-system-views-page {display:grid;grid-template-columns:minmax(0,1fr);gap:14px;height:100%;}
.jh-pc .jh-system-views-page.is-pair {grid-template-columns:repeat(2,minmax(0,1fr));}
.jh-pc .jh-system-view {display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:10px;border:1px solid var(--jh-pc-line,#cbdce5);border-radius:6px;background:#f4f8fa;overflow:hidden;}
.jh-pc .jh-system-view svg {display:block;flex:1;width:100%;height:100%;min-height:0;pointer-events:none;font-family:Arial,sans-serif;}
.jh-pc .jh-system-view figcaption {flex:none;text-align:center;color:#00549a;font-size:13px;font-weight:600;}
.jh-pc .jh-system-views-caption {text-align:center;color:#00549a;font-size:13px;padding-top:8px;}
@media(max-width:600px){
 .jh-pc .jh-system-views {padding:0 28px;}
 .jh-pc .jh-system-views .jh-pc-config-image-carousel-arrow {width:26px;height:32px;}
 .jh-pc .jh-system-views-page.is-pair {grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;}
 .jh-pc .jh-system-views-viewport {height:420px;}
 .jh-pc .jh-system-view {padding:6px;}
}

/* v2.0.675 – Vertical coordinate cards; keep the shared three-step proportions. */
.jh-vertical-point-list{display:grid;gap:12px;margin-top:12px;}
.jh-vertical-point-card{border:1px solid #c5dceb;border-radius:8px;padding:12px;min-width:0;background:#fff;}
.jh-vertical-point-card.is-selected{border-color:#008c81;box-shadow:inset 3px 0 #008c81;background:#edf8f6;}
.jh-vertical-point-head{display:flex;gap:8px;justify-content:space-between;margin-bottom:10px;}
.jh-vertical-point-head button{min-width:0;padding:8px!important;font-size:14px!important;}
.jh-vertical-point-head button:first-child{flex:1;font-weight:700;text-align:left;}
.jh-vertical-point-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.jh-vertical-point-coordinates label{display:block;min-width:0;font-size:14px;}
.jh-vertical-coordinate-value{display:block;position:relative;margin-top:6px;}
.jh-vertical-coordinate-value input{width:100%;min-width:0;padding:10px 28px 10px 7px!important;font-size:14px!important;box-sizing:border-box;}
.jh-vertical-coordinate-value em{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-style:normal;color:#222;font-size:12px;pointer-events:none;}
.jh-vertical-point-badges{display:block;margin-top:10px;font-size:12px;line-height:1.5;color:#006e68;}
.jh-vertical-point-coordinates label:nth-child(1){color:#bd2036;}.jh-vertical-point-coordinates label:nth-child(2){color:#287840;}.jh-vertical-point-coordinates label:nth-child(3){color:#2058b2;}

/* v2.0.693 – Point navigation at the sides of the scene, outside exported SVGs. */
.jh-pc .jh-has-point-navigation {position:relative;}
.jh-pc .jh-scene-point-navigation {position:absolute;inset:0;pointer-events:none;}
.jh-pc .jh-scene-point-arrow {position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;padding:0!important;border:1px solid #b7cfdf;border-radius:50%;background:#fff;color:#00549a;box-shadow:0 2px 7px #24455918;display:grid;place-items:center;cursor:pointer;pointer-events:auto;}
.jh-pc .jh-scene-point-arrow[data-point-direction="-1"] {left:8px;}
.jh-pc .jh-scene-point-arrow[data-point-direction="1"] {right:8px;}
.jh-pc .jh-scene-point-arrow span {display:block;width:10px;height:10px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateX(-2px) rotate(-45deg);}
.jh-pc .jh-scene-point-arrow[data-point-direction="-1"] span {transform:translateX(2px) rotate(135deg);}
.jh-pc .jh-scene-point-arrow:hover:not(:disabled) {background:#e9f5f3;border-color:#008c81;color:#008c81;}
.jh-pc .jh-scene-point-arrow:focus-visible {outline:3px solid #008c81;outline-offset:3px;}
.jh-pc .jh-scene-point-arrow:disabled {opacity:.35;cursor:default;}
.jh-three-step:not([data-step="2"]) .jh-scene-point-navigation {display:none;}

/* v2.0.698 – Grow with the inputs; use page scrolling instead of narrow inner rails. */
.jh-pc .jh-three-step[data-step] .jh-setup-stage .jh-setup-grid {
 height:auto;min-height:0;max-height:none;align-items:start;
}
.jh-pc .jh-three-step .jh-setup-stage .jh-workspace-rail {
 height:auto;min-height:0;max-height:none;align-self:start;
 overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;
}
.jh-pc .jh-three-step .jh-workspace-section-body {
 max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;
}
.jh-pc .jh-three-step .jh-setup-stage .jh-points-visual {
 align-self:start;justify-content:flex-start;height:clamp(480px,68dvh,760px);
 min-height:0;max-height:none;
}
@media(max-width:900px) {
 .jh-pc .jh-three-step .jh-setup-stage .jh-points-visual {height:clamp(330px,55dvh,520px);}
}

/* v2.0.702 – Large single views; uncropped modal, independently of preview zoom. */
.jh-pc .jh-system-views-viewport{height:clamp(390px,60vh,660px)}
.jh-pc button.jh-system-view{position:relative;width:100%;height:100%;padding:12px;cursor:zoom-in;appearance:none;box-shadow:none;text-transform:none;color:#00549a}
.jh-pc button.jh-system-view:hover{background:#edf4f8;border-color:#87aaba}
.jh-pc button.jh-system-view:focus-visible{outline:3px solid #008c81;outline-offset:-3px}
.jh-pc .jh-system-view.is-isometric>svg{transform:scale(1.3);transform-origin:50% 50%}
.jh-pc .jh-system-view-enlarge{position:absolute;right:14px;bottom:12px;padding:5px 10px;border:1px solid #cbdce5;border-radius:5px;background:#fff;color:#00549a;font-size:13px;line-height:1.4}
.jh-pc .jh-system-views-note{text-align:center;color:#526b79;font-size:12px;min-height:1.5em;margin-top:3px}
.jh-pc dialog.jh-system-view-dialog{position:fixed;inset:0;margin:auto;width:min(94vw,1600px);height:92vh;height:92dvh;max-width:94vw;max-height:92dvh;padding:0;border:1px solid #cbdce5;border-radius:10px;background:#f4f8fa;color:#00549a;box-sizing:border-box;overflow:hidden;z-index:100000}
.jh-pc dialog.jh-system-view-dialog[open]{display:flex;flex-direction:column}
.jh-pc dialog.jh-system-view-dialog::backdrop{background:rgba(15,35,49,.65)}
.jh-pc .jh-system-view-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:white;border-bottom:1px solid #cbdce5;flex:none}
.jh-pc .jh-system-view-dialog-head strong{font-size:15px;line-height:1.4}
.jh-pc .jh-system-view-dialog-head button{flex:none;min-width:44px;min-height:44px;font-size:28px;line-height:1;background:white;color:#00549a;border:1px solid #cbdce5;border-radius:5px;cursor:pointer}
.jh-pc .jh-system-view-dialog-body{flex:1;min-height:0;padding:16px;overflow:hidden}
.jh-pc .jh-system-view-dialog-body>svg{display:block;width:100%;height:100%;font-family:Arial,sans-serif}
@media(max-width:640px){
 .jh-pc .jh-system-views-viewport{height:clamp(350px,60vh,500px)}
 .jh-pc .jh-system-view.is-isometric>svg{transform:scale(1.3)}
 .jh-pc .jh-system-view-dialog-head{padding:8px}
 .jh-pc .jh-system-view-dialog-head strong{font-size:12px}
 .jh-pc .jh-system-view-dialog-body{padding:4px}
}

/* v2.0.705 – Compact gallery with paired orthographic views; zoom the drawing only. */
.jh-pc .jh-system-views-viewport{height:clamp(300px,45vh,500px)}
.jh-pc .jh-system-view.is-isometric>svg{transform-origin:50% 0%}
@media(max-width:640px){.jh-pc .jh-system-views-viewport{height:420px}}

/* v2.0.710 – Winkelhinweise für alle Schraubstellen, unabhängig von der Ansicht. */
.jh-points .jh-arm-check-notice{border-color:#c72835;background:#fff4f4;color:#a61c2a;}
.jh-points .jh-arm-check-notice button{color:inherit;}
/* v2.0.714 – Screw-point picker matches the adjacent action buttons. */
.jh-workspace .jh-setup-stage .jh-setup-toolbar select {
 box-sizing:border-box;min-height:36px;height:36px;padding:8px 10px;font-size:13px;line-height:1.4;
}
.jh-workspace .jh-setup-stage .jh-setup-actions button {min-height:36px;}


/* v2.0.717 – Technical side view first; full isometric and top view together. */
.jh-pc .jh-system-views-viewport{height:auto;aspect-ratio:1.12;min-height:440px;max-height:680px;}
.jh-pc .jh-system-view.is-isometric>svg{transform:none;}
.jh-pc .jh-system-view-enlarge{font-size:12px;right:10px;bottom:8px;}
.jh-pc .jh-system-views-note{max-width:70ch;margin:6px auto 0;line-height:1.5;}
@media(max-width:640px){
 .jh-pc .jh-system-views-viewport{height:480px;min-height:0;aspect-ratio:auto;}
 .jh-pc .jh-system-views-page.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;gap:6px;}
 .jh-pc .jh-system-view-enlarge{font-size:10px;padding:4px;}
}

/* v2.0.724 – Vertical screw points share the top plane; enter only X/Y. */
.jh-pc .jh-vertical-point-coordinates{grid-template-columns:repeat(2,minmax(0,1fr));}

/* v2.0.748 – Schraubstellen-Karten: Felder oben bündig, damit „Bitte ausfüllen“ unter X/Z das feste Y-Feld nicht nach unten schiebt. */
.jh-points .jh-point-edit-row{align-items:start;}
