/* rock.css — Rock engineering studio (v46). Builds on atelier.css (cp-*), jetty.css (jt-*), road.css (rd-*) and ui.css. */
.rk-app .jt-fig svg { width: 100%; height: auto; display: block; }
.rk-app [data-h^="pole:"], .rk-app [data-h^="rf:"] { cursor: grab; }
.rk-app [data-h="gsi"] { cursor: crosshair; }
.rk-app .jt-fig svg text { pointer-events: none; }
.rk-app #rk-st svg, .rk-app #rk-rf svg { touch-action: none; user-select: none; }
.rk-app .cp-grid2.rk-live { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); }
@media (max-width: 980px) { .rk-app .cp-grid2.rk-live { grid-template-columns: minmax(0, 1fr); } }
.rk-app .rk-ok { color: #2e7d4f; }
.rk-app .rk-ng { color: #b42318; font-weight: 600; }
.rk-app .wn-step { border-left: 3px solid var(--purple, #2563eb); padding: 6px 14px; margin: 0 0 10px; }
.rk-app .wn-step p { margin: 4px 0; font-size: .92rem; }
.rk-app .cp-edit select { max-width: 160px; }
.rk-app .cp-card { min-width: 0; }
.rk-app .cp-grid2 > * { min-width: 0; }
.rk-app .cp-tab td { white-space: normal; }
.rk-app .rk-live .cp-form { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.rk-app .rk-live .cp-form input { min-width: 0; width: 100%; }
