/* Mechanical product layouts; colors and actions inherit the shared workshop. */

/* Adapters: keep the end silhouette, dimensions and fit coupons as one calm card. */
.mechanical-adapter-preview{display:grid;grid-template-columns:minmax(90px,.72fr) minmax(0,1.28fr);gap:12px;align-items:start;margin:12px 0 18px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink)}
.mechanical-adapter-preview>svg{width:100%;height:auto;min-height:108px;color:var(--navy);background:var(--surface);border-radius:8px;padding:5px}
.adapter-measurements{min-width:0}
.adapter-end-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.adapter-end-readout{display:grid;gap:4px;padding:9px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.45;color:var(--muted)}
.adapter-end-readout strong{color:var(--navy)}
.adapter-end-readout b{font-variant-numeric:tabular-nums;color:var(--ink,#203245)}
.adapter-length-scheme{display:block;width:100%;height:auto;margin:12px 0 4px;color:var(--navy);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px}
.adapter-measurements>p{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0}
.adapter-measurements>small,.adapter-calibration>small{display:block;font-size:12px;line-height:1.55;color:var(--muted)}
.adapter-inline-error{color:var(--navy)!important;background:var(--stage);border-left:3px solid var(--orange);border-radius:8px;padding:6px 8px}
.adapter-calibration{margin:0 0 18px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.adapter-calibration>p{font-size:12px;line-height:1.65;color:var(--muted);margin:6px 0 11px}
.adapter-ring-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.adapter-ring-actions .button{min-width:0;justify-content:flex-start;text-align:left;white-space:normal}
.adapter-ring-actions .button>span{min-width:0;display:grid;gap:2px}
.adapter-ring-actions small{font-size:12px;font-weight:400;line-height:1.35;color:var(--muted)}

/* Roller views: controls stay legible while the canonical SVG gets the space. */
.roller-inspection{min-width:0}
.roller-measurements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 17px}
.roller-measurements>div{min-width:0;padding:11px 12px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.roller-measurements span{display:block;font-size:12px;line-height:1.45;color:var(--muted)}
.roller-measurements strong{display:block;margin-top:4px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--navy);overflow-wrap:anywhere}
.roller-view-controls{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.roller-view-controls .button[aria-pressed=true]{background:var(--stage);color:var(--navy);border-color:var(--orange)}
.roller-diagram{background:var(--surface);border-radius:var(--radius)}
.roller-diagram>svg{background:var(--surface);border-radius:8px}
.roller-warning{border:1px solid var(--orange);box-shadow:inset 0 2px 0 var(--orange);padding:10px 12px;background:var(--paper);border-radius:8px}
.roller-diagnostic-list{display:grid;gap:7px;margin-top:15px}
.roller-diagnostic-list>p{font-size:12px;line-height:1.65;color:var(--muted)}
.roller-region{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;text-align:left;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.45}
.roller-region:hover,.roller-region.selected{border-color:var(--orange);background:var(--paper)}
.roller-region strong{color:var(--navy);white-space:nowrap}
.roller-region span{min-width:0;color:var(--muted,#68737b)}

/* Stamp impression: keep the geometric expectation visibly distinct from STL. */
.stamp-impression-scroll{background:var(--stage);min-height:250px}
.stamp-impression{display:flex;align-items:center;justify-content:center;background:var(--surface);padding:18px}
.stamp-impression>svg{display:block;width:100%;height:auto;max-height:none;background:var(--surface);border:1px solid var(--line);border-radius:8px}

@media(max-width:720px){
    .mechanical-adapter-preview{grid-template-columns:1fr}
    .mechanical-adapter-preview>svg{max-height:150px}
    .adapter-ring-actions,.roller-measurements{grid-template-columns:1fr}
    .roller-view-controls .button{flex:1 1 120px}
    .stamp-impression{padding:10px}
}
@media(prefers-reduced-motion:reduce){
    .roller-region,.adapter-ring-actions .button{transition:none}
}
