/* Scoped to the designer. No external fonts or global theme overrides. */
.rcad {
  --rcad-ink: #233446;
  --rcad-muted: #64748b;
  --rcad-line: #dce4e9;
  --rcad-bg: #f4f7f9;
  --rcad-accent: #d76b1f;
  color: var(--rcad-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  max-width: 1440px;
  margin: 0 auto;
  box-sizing: border-box;
}
.rcad * {
  box-sizing: border-box;
}
.rcad [hidden] {
  display: none !important;
}
.rcad h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0 10px;
}
.rcad h3 {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 14px;
}
.rcad p {
  margin: 0 0 12px;
}
.rcad button {
  font-family: inherit;
  background: #fff;
  border: 1px solid #bac9d3;
  border-radius: 6px;
  box-shadow: none;
  color: var(--rcad-ink);
  padding: 9px 13px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  min-height: 40px;
  cursor: pointer;
  white-space: normal;
}
.rcad button:hover {
  background: #edf3f7;
  border-color: #7a99ae;
}
.rcad button:disabled {
  opacity: 0.4;
  cursor: default;
}
.rcad button:focus-visible,
.rcad input:focus-visible,
.rcad select:focus-visible,
.rcad textarea:focus-visible {
  outline: 3px solid #e99f64;
  outline-offset: 2px;
}
.rcad button.rcad-primary {
  background: var(--rcad-accent);
  border-color: var(--rcad-accent);
  color: white;
  width: 100%;
  margin: 10px 0;
}
.rcad label {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.rcad input:not([type="checkbox"]):not([type="file"]),
.rcad select,
.rcad textarea {
  display: block;
  width: 100%;
  height: auto;
  min-height: 42px;
  margin: 5px 0 12px;
  border: 1px solid #bdcbd5;
  border-radius: 5px;
  background: #fff;
  padding: 9px 10px;
  color: var(--rcad-ink);
  font-family: inherit;
  font-weight: 400;
  font-size: 14px;
  box-shadow: none;
}
.rcad textarea {
  resize: vertical;
}
.rcad input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin: 0;
  vertical-align: middle;
  position: static;
}
.rcad-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.rcad-heading p {
  color: var(--rcad-muted);
  max-width: 760px;
}
.rcad-kicker {
  font-size: 11px;
  letter-spacing: 1.2px;
  color: var(--rcad-accent);
  font-weight: 700;
}
.rcad-lang {
  min-width: 115px;
}
.rcad-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 12px 0;
}
.rcad-toolbar label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rcad-toolbar select {
  width: auto;
  min-width: 150px;
  margin: 0;
}
.rcad-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr);
  gap: 22px;
  align-items: start;
}
.rcad-canvas-panel {
  min-width: 0;
}
.rcad-canvas {
  background: #fff;
  border: 1px solid var(--rcad-line);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px;
}
.rcad-canvas svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 250px;
}
.rcad-canvas [data-side] {
  cursor: pointer;
}
.rcad-hit:hover {
  stroke: #e77e24;
  stroke-opacity: 0.22;
}
.rcad-card {
  border: 1px solid var(--rcad-line);
  border-radius: 9px;
  background: #fff;
  padding: 20px;
  margin-bottom: 16px;
}
.rcad-sidebar {
  min-width: 0;
}
.rcad-editor {
  background: var(--rcad-bg);
}
.rcad-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}
.rcad-fields label {
  min-width: 0;
}
.rcad-selection {
  font-weight: 700;
  color: var(--rcad-accent);
}
.rcad-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rcad-actions button {
  font-size: 12px;
}
.rcad-statistics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 14px 0;
}
.rcad-statistics > div {
  background: var(--rcad-bg);
  border-radius: 7px;
  padding: 12px;
}
.rcad-statistics span {
  display: block;
  font-size: 12px;
  color: var(--rcad-muted);
}
.rcad-statistics b {
  font-size: 20px;
}
.rcad-length {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 20px;
}
.rcad-length label {
  width: 180px;
}
.rcad-length input {
  margin-bottom: 0 !important;
}
.rcad-length button {
  align-self: end;
}
.rcad-lock {
  margin: 18px 0 7px;
}
.rcad-help {
  font-size: 12px;
  color: var(--rcad-muted);
  font-weight: 400;
  margin: 7px 0 14px !important;
}
.rcad-profiles {
  margin: 24px 0;
}
.rcad-profile {
  border-top: 1px solid var(--rcad-line);
  padding: 18px 0;
}
.rcad-profile h3 {
  color: #25678d;
}
.rcad-profile:nth-child(2) h3 {
  color: #16827a;
}
.rcad-profile h3 small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: var(--rcad-muted);
  margin-top: 3px;
}
.rcad-section-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.rcad button.rcad-section {
  min-width: 110px;
  text-align: left;
  font-weight: 400;
  flex: 1 1 110px;
  max-width: 220px;
  padding: 11px;
}
.rcad-section b,
.rcad-section span {
  display: block;
}
.rcad-section span {
  font-size: 12px;
  margin-top: 3px;
}
.rcad button.is-selected {
  border: 2px solid var(--rcad-accent);
  padding: 10px;
  background: #fff7ef;
}
.rcad-checks ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rcad-checks li {
  font-size: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--rcad-line);
  overflow-wrap: anywhere;
}
.rcad-issue-error {
  color: #ab2828;
}
.rcad-issue-warning {
  color: #8a580b;
}
.rcad-issue-info {
  color: var(--rcad-muted);
}
.rcad-verdict {
  font-weight: 700;
}
.rcad-pass {
  color: #16724f;
}
.rcad-fail {
  color: #ab2828;
}
.rcad-notice:not(:empty),
.rcad-shared {
  background: #fff4df;
  padding: 12px 16px;
  border-radius: 7px;
  margin: 14px 0;
}
.rcad-shared button {
  margin-left: 12px;
}
.rcad-bottom {
  border-top: 1px solid var(--rcad-line);
  padding-top: 20px;
}
.rcad-storage {
  color: var(--rcad-muted);
  font-size: 12px;
}
.rcad-share-result textarea {
  overflow-wrap: anywhere;
  font-size: 11px !important;
}
@media (max-width: 850px) {
  .rcad-workspace {
    grid-template-columns: 1fr;
  }
  .rcad-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .rcad-heading {
    gap: 12px;
  }
  .rcad h2 {
    font-size: 26px;
  }
  .rcad-card {
    padding: 16px;
  }
  .rcad-toolbar label {
    width: 100%;
  }
  .rcad-toolbar select {
    flex: 1;
  }
  .rcad-toolbar button {
    flex: 1 1 auto;
  }
}
@media (max-width: 560px) {
  .rcad {
    font-size: 13px;
  }
  .rcad-heading {
    display: block;
  }
  .rcad-lang {
    max-width: 150px;
  }
  .rcad-sidebar {
    display: block;
  }
  .rcad-canvas svg {
    min-height: 0;
  }
  .rcad-statistics {
    gap: 8px;
  }
  .rcad-statistics b {
    font-size: 18px;
  }
  .rcad-fields {
    gap: 0 8px;
  }
  .rcad-length {
    align-items: end;
  }
  .rcad-length button {
    max-width: 190px;
  }
  .rcad-section-list {
    gap: 6px;
  }
  .rcad button.rcad-section {
    min-width: 95px;
  }
  .rcad-shared button {
    margin: 8px 0 0;
  }
}
@media print {
  .rcad-toolbar,
  .rcad-editor,
  .rcad-lock,
  .rcad-lang,
  .rcad-length,
  .rcad-bottom,
  .rcad-notice,
  .rcad-shared {
    display: none !important;
  }
  .rcad-workspace {
    display: block;
  }
  .rcad-canvas {
    break-inside: avoid;
  }
  .rcad-sidebar {
    display: block;
  }
  .rcad button.rcad-section {
    border: 1px solid #aaa;
    color: #000;
  }
  .rcad-canvas svg {
    max-height: 460px;
  }
}
/* Revision 2: drawing-centred controls and progressive disclosure. */
.rcad .rcad-heading {
  margin-bottom: 10px;
  align-items: center;
}
.rcad .rcad-heading h2 {
  font-size: 25px;
  margin-bottom: 0;
}
.rcad .rcad-lang select {
  margin-bottom: 0;
}
.rcad .rcad-main-toolbar {
  margin: 10px 0 15px;
}
.rcad .rcad-workspace {
  grid-template-columns: minmax(0, 1.9fr) minmax(290px, 1fr);
  gap: 18px;
}
.rcad .rcad-canvas {
  margin-bottom: 8px;
}
.rcad .rcad-sidebar {
  position: sticky;
  top: 15px;
}
.rcad .rcad-drawing {
  min-height: 0;
}
.rcad .rcad-drawing [role="button"],
.rcad .rcad-overall {
  cursor: pointer;
}
.rcad .rcad-drawing [role="button"]:focus {
  outline: none;
}
.rcad .rcad-drawing [role="button"]:focus > rect,
.rcad .rcad-drawing [role="button"]:focus > circle:last-of-type {
  stroke: #e77e24;
  stroke-width: 2;
}
.rcad .rcad-drawing .rcad-hit:focus {
  stroke: #e77e24;
  stroke-opacity: 0.35;
}
.rcad .rcad-dimension:hover text,
.rcad .rcad-diameter:hover text {
  fill: #d76b1f;
}
.rcad .rcad-add-handle:hover circle:last-of-type {
  fill: #fff1e4;
  stroke: #d76b1f;
}
.rcad .rcad-add-handle text {
  pointer-events: none;
  font-size: 23px;
}
.rcad .rcad-details {
  border-top: 1px solid var(--rcad-line);
  padding: 12px 0;
}
.rcad summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style-position: inside;
}
.rcad summary::marker {
  color: #7b91a1;
}
.rcad details[open] > summary {
  margin-bottom: 14px;
}
.rcad .rcad-status {
  float: right;
}
.rcad .rcad-check-details {
  padding: 14px 18px;
}
.rcad .rcad-card {
  margin-bottom: 12px;
}
.rcad .rcad-editor {
  padding: 16px;
}
.rcad .rcad-editor h3 {
  margin-bottom: 6px;
}
.rcad .rcad-selection {
  font-size: 12px;
  margin-bottom: 10px;
}
.rcad .rcad-editor .rcad-lock {
  font-size: 12px;
  margin-top: 10px;
}
.rcad .rcad-editor .rcad-help {
  margin-bottom: 7px !important;
  font-size: 11px;
}
.rcad .rcad-editor input:not([type="checkbox"]),
.rcad .rcad-editor select {
  margin-bottom: 9px;
  min-height: 38px;
  padding: 7px 8px;
}
.rcad .rcad-editor .rcad-primary {
  margin: 5px 0 10px;
}
.rcad .rcad-profiles {
  margin: 0;
}
.rcad .rcad-profile {
  padding: 8px 0 12px;
  border-top: 0;
}
.rcad .rcad-statistics {
  margin: 10px 0;
}
.rcad .rcad-statistics > div {
  padding: 9px 12px;
}
.rcad .rcad-statistics b {
  font-size: 17px;
}
.rcad .rcad-bottom {
  margin-top: 14px;
}
.rcad .rcad-drawing-help {
  margin: 0 0 8px !important;
}
.rcad .rcad-section-details:not([open]) + .rcad-details {
  border-top: 0;
}
@media (max-width: 850px) {
  .rcad .rcad-workspace {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.8fr);
    gap: 12px;
  }
  .rcad .rcad-sidebar {
    display: block;
  }
  .rcad .rcad-main-toolbar label {
    width: auto;
  }
  .rcad .rcad-main-toolbar button {
    flex: 0 1 auto;
  }
  .rcad .rcad-drawing {
    min-width: 550px;
  }
  .rcad .rcad-canvas {
    overflow-x: auto;
  }
}
@media (max-width: 650px) {
  .rcad .rcad-workspace {
    display: flex;
    flex-direction: column;
  }
  .rcad .rcad-canvas-panel,
  .rcad .rcad-sidebar {
    width: 100%;
  }
  .rcad .rcad-sidebar {
    position: static;
  }
  .rcad .rcad-heading {
    display: flex;
  }
  .rcad .rcad-heading h2 {
    font-size: 21px;
  }
  .rcad .rcad-lang {
    min-width: 95px;
  }
  .rcad .rcad-main-toolbar {
    gap: 6px;
  }
  .rcad .rcad-main-toolbar label {
    width: 100%;
  }
  .rcad .rcad-canvas {
    max-width: 100%;
  }
  .rcad .rcad-editor .rcad-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .rcad .rcad-main-toolbar button {
    flex: 1;
  }
  .rcad .rcad-check-details {
    padding: 12px 16px;
  }
}
@media print {
  .rcad .rcad-add-handle,
  .rcad .rcad-drawing-help,
  .rcad .rcad-main-toolbar,
  .rcad .rcad-section-details {
    display: none !important;
  }
  .rcad .rcad-drawing {
    min-width: 0;
  }
  .rcad .rcad-sidebar {
    position: static;
  }
  .rcad .rcad-canvas {
    overflow: visible;
  }
}
.rcad .rcad-editor .rcad-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.rcad .rcad-editor .rcad-lock {
  margin: 2px 0 8px;
}
.rcad .rcad-editor .rcad-selection {
  color: var(--rcad-muted);
  font-weight: 400;
  margin-bottom: 10px;
}
/* Revision 4: every geometry edit lives in the sketch panel. */
.rcad .rcad-workspace {
  display: block;
}
.rcad .rcad-sidebar {
  position: static;
  width: 100%;
  margin-top: 8px;
}
.rcad .rcad-stage {
  position: relative;
  width: 100%;
  min-width: 0;
  isolation: isolate;
}
.rcad .rcad-stage .rcad-canvas {
  overflow: hidden;
  margin: 0;
}
.rcad .rcad-stage .rcad-drawing {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  touch-action: pan-y;
}
.rcad .rcad-stage .rcad-editor {
  position: absolute;
  right: 14px;
  top: 42px;
  z-index: 4;
  width: 310px;
  max-width: calc(100% - 20px);
  max-height: calc(100% - 54px);
  overflow: auto;
  overscroll-behavior: contain;
  border-color: #cbd5df;
  background: #fff;
  box-shadow: 0 8px 32px #23344630;
  border-radius: 10px;
  padding: 16px;
  margin: 0;
}
.rcad .rcad-stage .rcad-editor.rcad-compact {
  width: 250px;
}
.rcad .rcad-editor .rcad-close {
  float: right;
  min-height: 28px;
  padding: 3px 7px;
  font-size: 11px;
  margin: -4px -4px 5px 8px;
}
.rcad .rcad-editor h3 {
  font-size: 15px;
  padding-right: 55px;
}
.rcad .rcad-drag-handle,
.rcad .rcad-hit {
  touch-action: none;
  cursor: grab;
}
.rcad .rcad-drag-handle:focus {
  outline: none;
}
.rcad .rcad-drag-handle:focus circle:last-child {
  stroke: #25678d;
  stroke-width: 3;
}
.rcad .is-dragging,
.rcad .is-dragging .rcad-hit,
.rcad .is-dragging .rcad-drag-handle {
  cursor: grabbing;
  user-select: none;
}
.rcad .rcad-drag-hud {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  padding: 8px 13px;
  border-radius: 7px;
  background: #233446;
  color: #fff;
  font-size: 12px;
  pointer-events: none;
  z-index: 3;
  max-width: calc(100% - 20px);
  text-align: center;
  box-shadow: 0 2px 8px #0002;
}
.rcad .rcad-drag-hud.rcad-drag-error {
  background: #943c2c;
}
.rcad .rcad-statistics {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.rcad .rcad-statistics > div {
  flex: 1;
  min-width: 140px;
}
.rcad .rcad-orientation {
  pointer-events: none;
}
.rcad .rcad-main-toolbar button {
  min-height: 36px;
}
.rcad .rcad-drawing-help {
  padding: 8px 0;
  color: #526778;
}
@media (max-width: 650px) {
  .rcad .rcad-stage .rcad-editor,
  .rcad .rcad-stage .rcad-editor.rcad-compact {
    top: auto;
    bottom: 8px;
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
    max-height: min(70vh, calc(100% - 16px));
    padding: 13px;
  }
  .rcad .rcad-heading h2 {
    font-size: 20px;
  }
  .rcad .rcad-main-toolbar {
    gap: 5px;
  }
  .rcad .rcad-main-toolbar button {
    font-size: 12px;
    padding: 7px 9px;
  }
  .rcad .rcad-drawing-help {
    font-size: 11px;
  }
  .rcad .rcad-sidebar {
    display: block;
  }
  .rcad .rcad-stage .rcad-editor.rcad-compact .rcad-actions {
    grid-template-columns: 1fr 1fr;
  }
  .rcad .rcad-stage .rcad-editor .rcad-fields input,
  .rcad .rcad-stage .rcad-editor .rcad-fields select,
  .rcad .rcad-stage .rcad-editor input,
  .rcad .rcad-stage .rcad-editor select {
    font-size: 16px;
  }
  .rcad .rcad-drag-hud {
    font-size: 11px;
    bottom: 7px;
  }
}
@media print {
  .rcad .rcad-stage .rcad-editor,
  .rcad .rcad-drag-handle,
  .rcad .rcad-drag-hud {
    display: none !important;
  }
}
.rcad .rcad-stage .rcad-drawing {
  touch-action: pan-y pinch-zoom;
}

/* r5: construction/leader strokes must not steal clicks from dimension labels. */
.rcad .rcad-dimension path,
.rcad .rcad-diameter path,
.rcad .rcad-diameter circle,
.rcad .rcad-handle-leader {
  pointer-events: none;
}
.rcad {
  --rcad-build: 5;
}

/* Connection-first starting point; editor remains entirely inside the sketch. */
.rcad .rcad-start {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid #dce4ea;
  border-radius: 10px;
  background: #f7fafc;
}
.rcad .rcad-connections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.rcad .rcad-connection {
  min-width: 0;
}
.rcad .rcad-connection > label {
  font-weight: 650;
}
.rcad .rcad-connection select {
  width: 100%;
  max-width: 100%;
}
.rcad .rcad-connection-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.rcad .rcad-connection-fields input {
  width: 100%;
  min-width: 0;
}
.rcad .rcad-connection .rcad-help {
  margin: 6px 0;
}
.rcad .rcad-start .rcad-main-toolbar {
  margin-top: 10px;
}
.rcad .rcad-start-help {
  margin-bottom: 0;
}
@media (max-width: 640px) {
  .rcad .rcad-connections {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .rcad .rcad-connection-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.rcad .rcad-products {
  margin-top: 10px;
  border-top: 1px solid #d9e3e9;
  padding-top: 10px;
}
.rcad .rcad-products summary {
  color: #1d627c;
  font-weight: 650;
  cursor: pointer;
}
.rcad .rcad-products-body {
  padding-top: 8px;
}
.rcad .rcad-product-pair {
  font-weight: 600;
}
.rcad .rcad-product-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.rcad a.rcad-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #d5e1e8;
  border-radius: 8px;
  background: white;
  text-decoration: none;
  color: #243746;
}
.rcad .rcad-product img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  flex-shrink: 0;
}
.rcad .rcad-product small,
.rcad .rcad-product-link {
  display: block;
  margin-top: 5px;
}
.rcad .rcad-product small {
  color: #657888;
}
.rcad .rcad-product-link {
  color: #1d627c;
}
@media (max-width: 640px) {
  .rcad .rcad-product-list {
    grid-template-columns: 1fr;
  }
}
.rcad .rcad-product-card {
  border: 1px solid #d5e1e8;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.rcad .rcad-product-card a.rcad-product {
  border: 0;
  padding: 2px;
}
.rcad .rcad-product-card > button,
.rcad .rcad-drawing-link {
  display: inline-block;
  margin: 8px 8px 0 0;
}
.rcad .rcad-product-card > small {
  display: block;
}
.rcad .rcad-catalog-preview {
  position: fixed;
  z-index: 10000;
  inset: 4vh max(12px, 5vw);
  max-height: 92vh;
  overflow: auto;
  padding: 20px;
  background: white;
  color: #243746;
  border: 2px solid #27758b;
  border-radius: 10px;
  box-shadow: 0 0 0 100vmax #10283888;
}
.rcad .rcad-catalog-preview[hidden] {
  display: none;
}
.rcad .rcad-catalog-comparison {
  display: flex;
  gap: 16px;
  align-items: start;
}
.rcad .rcad-source-drawing,
.rcad .rcad-catalog-svg {
  width: calc(50% - 8px);
  min-width: 0;
  object-fit: contain;
}
.rcad .rcad-source-drawing {
  max-height: 65vh;
}
.rcad .rcad-catalog-svg:only-child {
  width: 100%;
}
.rcad .rcad-catalog-svg svg {
  width: 100%;
  height: auto;
  max-height: 65vh;
}
.rcad .rcad-catalog-notes {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.rcad .rcad-catalog-preview button {
  margin: 8px;
}
@media (max-width: 640px) {
  .rcad .rcad-catalog-comparison {
    flex-direction: column;
  }
  .rcad .rcad-source-drawing,
  .rcad .rcad-catalog-svg {
    width: 100%;
  }
  .rcad .rcad-catalog-preview {
    inset: 2vh 8px;
    max-height: 96vh;
    padding: 12px;
  }
}

/* Radial clamp group: direct selection and axial drag, including touch. */
.rcad .rcad-clamp[role="button"] {
  cursor: pointer;
}
.rcad .rcad-clamp [data-drag="clamp"] {
  cursor: ew-resize;
  touch-action: none;
}
.rcad .rcad-clamp:focus {
  outline: none;
}
.rcad .rcad-clamp:focus rect {
  stroke: #b45309;
  stroke-width: 2;
}
.rcad .rcad-editor form[data-role="clamp-form"] > svg {
  display: block;
  margin: 8px auto;
  max-width: 100%;
}

/* r24: history stays at the top left of the drawing panel, clear of SVG labels. */
.rcad .rcad-stage .rcad-history {
  position: absolute;
  top: 6px;
  left: 8px;
  z-index: 3;
  display: flex;
  gap: 5px;
}
.rcad .rcad-history button {
  width: 38px;
  height: 34px;
  padding: 0;
  font-size: 25px;
  line-height: 1;
}
.rcad .rcad-stage .rcad-canvas {
  padding-top: 44px;
}
@media print {
  .rcad .rcad-stage .rcad-history { display: none !important; }
  .rcad .rcad-stage .rcad-canvas { padding-top: 0; }
}

/* Estimate and contact details, r26. */
.rcad .rcad-finish-option { display:flex; align-items:flex-start; gap:9px; margin:12px 0; }
.rcad .rcad-finish-option input { width:auto; margin:4px 0 0; flex:0 0 auto; }
.rcad .rcad-finish-option small { display:block; color:#586b7d; font-weight:400; margin-top:3px; }
.rcad .rcad-quote-row { display:flex; justify-content:space-between; gap:12px; margin:9px 0; }
.rcad .rcad-quote-row strong { text-align:right; white-space:nowrap; }
.rcad .rcad-quote-total { border-top:1px solid #ced9e2; padding-top:10px; font-size:1.1em; }
.rcad .rcad-request { margin-top:16px; }
.rcad .rcad-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px) { .rcad .rcad-contact-fields { grid-template-columns:1fr; gap:8px; } }

/* r27: viewport-contained editors, including a short landscape screen/keyboard. */
.rcad .rcad-stage .rcad-editor,
.rcad .rcad-stage .rcad-editor.rcad-compact {
  position: fixed;
  z-index: 10001;
  inset: auto;
  left: 8px;
  top: 8px;
  width: 310px;
  max-width: calc(100vw - 16px);
  max-height: calc(100vh - 16px);
  max-height: calc(100dvh - 16px);
  overflow: auto;
  overscroll-behavior: contain;
  overflow-wrap: anywhere;
  scroll-padding: 12px;
}
.rcad .rcad-editor .rcad-close,
.rcad .rcad-catalog-preview > [data-action="catalog-close"] {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.rcad .rcad-editor .rcad-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rcad .rcad-editor input,
.rcad .rcad-editor select { min-width: 0; max-width: 100%; }
.rcad .rcad-catalog-preview {
  inset: 8px;
  max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px);
  overscroll-behavior: contain;
}
/* Keep the estimate beside the drawing when there is enough room for both. */
@media (min-width: 1000px) {
  .rcad .rcad-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
  }
  .rcad .rcad-sidebar { margin-top: 0; }
  .rcad .rcad-estimate { padding: 16px; }
}
.rcad .rcad-start { padding: 12px; margin-bottom: 10px; }
.rcad .rcad-start .rcad-main-toolbar { margin: 4px 0 6px; }
.rcad .rcad-start .rcad-connection > select { margin-bottom: 8px; }
.rcad .rcad-start-help { margin: 0 !important; }
@media print {
  .rcad .rcad-workspace { display: block; }
  .rcad .rcad-stage .rcad-editor { display: none !important; }
}

/* r28: secondary actions stay together directly below the sketch. */
.rcad .rcad-project-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
}
.rcad .rcad-project-tools > details {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.rcad .rcad-project-tools > details[open] {
  flex-basis: 100%;
}
.rcad .rcad-project-tools > details > summary {
  display: inline-block;
  list-style: none;
  padding: 9px 13px;
  min-height: 40px;
  border: 1px solid #bac9d3;
  border-radius: 6px;
  background: #fff;
  color: var(--rcad-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.rcad .rcad-project-tools > details > summary::-webkit-details-marker { display: none; }
.rcad .rcad-project-tools > details > summary::after { content: " ▾"; }
.rcad .rcad-project-tools > details[open] > summary { background: #edf3f7; }
.rcad .rcad-project-tools > details[open] > summary::after { content: " ▴"; }
.rcad .rcad-project-tools > details > summary:hover { background: #edf3f7; border-color: #7a99ae; }
.rcad .rcad-project-tools > details > summary:focus-visible { outline: 3px solid #e99f64; outline-offset: 2px; }
.rcad .rcad-overall { cursor: default; }
@media print { .rcad .rcad-project-tools { display: none !important; } }
/* The SVG title and clamp notes share the first row with Undo/Redo. */
.rcad .rcad-stage .rcad-canvas { padding-top: 0; }

/* r29: each thread dimension has its own unit without an extra row of controls. */
.rcad .rcad-measure { display:flex; align-items:flex-start; gap:5px; min-width:0; }
.rcad .rcad-measure > input { min-width:35px; flex:1 1 0; width:0; }
.rcad .rcad-measure > select { flex:0 0 78px; width:78px; min-width:0; padding-left:5px; padding-right:3px; }
.rcad .rcad-connection-fields { grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,2fr); }
.rcad .rcad-thread-label,
.rcad .rcad-connection-info { overflow-wrap:anywhere; }
.rcad .rcad-thread-label { color:#25678d; font-weight:600; margin:6px 0; }
@media(max-width:640px) {
  .rcad .rcad-connection-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* r30: independent action/search column on wide screens. */
.rcad .rcad-start-actions { grid-column:1 / -1; min-width:0; }
.rcad .rcad-start-actions .rcad-products summary { overflow-wrap:anywhere; }
@media (min-width:1200px) {
  .rcad .rcad-connections {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);
    gap:18px;
    align-items:start;
  }
  .rcad .rcad-start-actions { grid-column:auto; padding-top:20px; }
  .rcad .rcad-start-actions .rcad-main-toolbar { margin:0 0 9px; }
  .rcad .rcad-start-actions [data-action="new"] { width:100%; }
  .rcad .rcad-connection-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rcad .rcad-connection-fields > label:nth-child(2) { order:3; }
  .rcad .rcad-connection-fields > label:nth-child(3) { order:2; }
  .rcad .rcad-start-actions .rcad-product-list { grid-template-columns:minmax(0,1fr); }
  .rcad .rcad-start-actions .rcad-products-body {
    max-height:240px;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  .rcad .rcad-start-actions .rcad-product { gap:8px; overflow-wrap:anywhere; }
  .rcad .rcad-start-actions .rcad-product img { width:48px; height:48px; }
  .rcad .rcad-start-actions .rcad-product > span { min-width:0; }
}

/* r31: native request form with localized progress and errors. */
.rcad .rcad-request [data-action="submit-request"] { max-width:340px; margin:8px 0; }
.rcad .rcad-submit-status { margin:8px 0 0; overflow-wrap:anywhere; }
.rcad .rcad-request-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media print { .rcad [data-action="submit-request"], .rcad .rcad-submit-status { display:none!important; } }

/* r32: pending starter choices need an explicit build. */
.rcad .rcad-start-actions button.rcad-build-pending {
  color:#fff;
  background:#a33d0d;
  border-color:#873108;
  box-shadow:0 0 0 3px #ffdbb5;
  font-weight:700;
  white-space:normal;
}
.rcad .rcad-start-actions button.rcad-build-pending:hover {background:#822e08;}
.rcad .rcad-start-actions button.rcad-build-pending:focus-visible {outline:3px solid #233446;outline-offset:4px;}
.rcad .rcad-build-hint {color:#873108;font-weight:600;margin:8px 0;overflow-wrap:anywhere;}

/* r35: history is centered above the title, between the two end summaries. */
.rcad .rcad-stage .rcad-history {left:50%;transform:translateX(-50%);top:6px;}
.rcad .rcad-end-summary[role="button"] {cursor:pointer;}
.rcad .rcad-end-summary[role="button"]:hover rect {fill:#ffedd5;stroke:#e99f64;}
.rcad .rcad-end-summary[role="button"]:focus-visible rect {stroke:#233446;stroke-width:2;}

.rcad .rcad-mobile-end-summaries {display:grid;gap:6px;margin:0 0 10px;}
.rcad .rcad-mobile-end-summaries button {text-align:left;background:#fff7ed;border-color:#fed7aa;color:#9a3412;font-size:13px;line-height:1.5;padding:8px 10px;white-space:normal;overflow-wrap:anywhere;}
@media print {.rcad .rcad-mobile-end-summaries button {border:1px solid #fed7aa;}}

.rcad-chains{border-top:1px solid #d9e0e6;margin-top:14px;padding-top:10px}.rcad-chains h4{margin:0 0 8px;font-size:14px}.rcad-chain{border:1px solid #d9e0e6;border-radius:7px;padding:8px;margin:6px 0;background:#fff}.rcad-chain summary{cursor:pointer;font-weight:600}.rcad-chain ol{padding-left:23px;margin:9px 0}.rcad-chain li{padding:5px 0;overflow-wrap:anywhere}.rcad-chain small{display:block;color:#526273;font-size:11px;margin-top:3px}

.rcad-product-price{display:block;margin:5px 0;font-size:16px;color:#9a4e12}

.rcad-optics{margin:14px 0;padding:14px 16px;border:1px solid #dfc9a5;border-radius:10px;background:#fffaf2}.rcad-optics-toggle{display:flex;gap:9px;align-items:center;font-weight:600;cursor:pointer}.rcad-optics-toggle input{width:auto;flex:none;margin:0}.rcad-optics-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:18px}.rcad-optics-grid h3{font-size:15px;margin:4px 0 10px}.rcad-optics-end>label{display:grid;gap:5px;margin:12px 0}.rcad-optics-end select,.rcad-optics-end input{box-sizing:border-box;width:100%;min-width:0}.rcad-optics-end details{font-size:12px;overflow-wrap:anywhere}.rcad-optics-end details summary{cursor:pointer}.rcad-optics-end [aria-invalid=true]{border-color:#b42318}.rcad-optics-result{border-left:3px solid #b7791f;padding-left:15px;overflow-wrap:anywhere}.rcad-optics-result[data-optics-state=obstruction]{border-color:#b42318}.rcad-optics-result[data-optics-state=clear]{border-color:#15803d}.rcad-optics-result ul{padding-left:18px}.rcad-optics .rcad-help{font-size:12px;line-height:1.5}@media(max-width:1000px){.rcad-optics-grid{grid-template-columns:1fr 1fr}.rcad-optics-result{grid-column:1/-1}}@media(max-width:600px){.rcad-optics-grid{grid-template-columns:minmax(0,1fr)}.rcad-optics{padding:12px}.rcad-optics-result{grid-column:auto}}

.rcad-added-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px 22px;margin:12px 0}.rcad-added-controls>label:first-child{display:grid;gap:5px}.rcad-added-controls input:not([type=checkbox]){width:150px;max-width:100%;box-sizing:border-box}.rcad-added-controls input[type=checkbox]{width:auto;margin-right:6px}

.rcad .rcad-drawing-check input:focus-visible{outline:2px solid #a33d0d;outline-offset:2px}.rcad .rcad-drawing-check label{cursor:pointer}.rcad .rcad-context-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;color:#9a3412;font-size:12px}.rcad .rcad-context-toggle input{width:16px;height:16px;margin:0;flex:none}

.rcad .rcad-equipment-icon[role=button]{cursor:pointer;pointer-events:all}.rcad .rcad-equipment-icon[role=button]:hover>rect{fill:#ffedd5;stroke:#a65410}.rcad .rcad-equipment-icon[role=button]:focus-visible{outline:none}.rcad .rcad-equipment-icon[role=button]:focus-visible>rect{stroke:#a65410;stroke-width:3}
.rcad .rcad-optics-explanation{margin-top:12px;font-size:13px;line-height:1.5}.rcad .rcad-optics-explanation>summary{cursor:pointer;font-weight:600;color:#946413}.rcad .rcad-optics-explanation h4{font-size:13px;font-weight:600;margin:14px 0 5px}.rcad .rcad-optics-explanation p{margin:5px 0 10px}
/* r64 pockets */
.rcad .rcad-cuts {margin-top:12px}
.rcad .rcad-cut,.rcad .rcad-cut-step {border:1px solid #cbd5e1;border-radius:8px;padding:12px;margin:10px 0;min-width:0}
.rcad .rcad-cut legend,.rcad .rcad-cut-step legend {font-weight:600;font-size:14px;padding:0 6px}
.rcad .rcad-cut-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}
.rcad .rcad-cut-thread {padding:8px 0;border-top:1px solid #e2e8f0;margin-top:10px}
.rcad .rcad-cut input[type=checkbox] {width:18px;height:18px;display:inline-block;vertical-align:middle;margin:0 6px}
.rcad .rcad-pocket-marker {cursor:pointer}
.rcad .rcad-pocket-marker:focus circle {stroke:#e77e24;stroke-width:2}

.rcad .rcad-cut-grid {align-items:end}
.rcad .rcad-cut-thread-controls[hidden] {display:none}
/* r66 drawing-first controls */
.rcad .rcad-direct-tools {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.rcad .rcad-direct-tools p {flex:1 1 280px;color:#475569;margin:0;font-size:13px}
.rcad .rcad-direct-panel {position:fixed;right:20px;top:90px;width:350px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;padding:16px;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 8px 32px #0f172a35;z-index:140}
.rcad .rcad-direct-panel[hidden] {display:none}
.rcad .rcad-direct-heading {display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}
.rcad .rcad-direct-heading h3 {margin:0;font-size:18px}
.rcad .rcad-direct-heading button {font-size:20px;padding:3px 10px}
.rcad .rcad-direct-panel label {display:block;margin:10px 0;font-size:13px}
.rcad .rcad-direct-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rcad .rcad-direct-panel input,.rcad .rcad-direct-panel select {width:100%;box-sizing:border-box}
.rcad .rcad-direct-status {font-size:13px;margin:12px 0}
.rcad .rcad-direct-selected {pointer-events:none}
.rcad .rcad-surface-hit {cursor:pointer}
.rcad .rcad-surface-hit:hover,.rcad .rcad-surface-hit:focus {stroke:#f59e0b;stroke-opacity:.32;outline:none}
.rcad .rcad-face-target {cursor:pointer}
.rcad .rcad-face-target:hover .rcad-face-line,.rcad .rcad-face-target:focus .rcad-face-line,.rcad .rcad-pick-end .rcad-face-line {stroke:#f59e0b;stroke-opacity:.5}
.rcad .rcad-advanced {margin:12px 0}
@media(max-width:600px){.rcad .rcad-direct-panel {top:auto;bottom:10px;right:12px;left:12px;width:auto;max-height:52dvh;padding:12px}.rcad .rcad-direct-heading h3 {font-size:16px}}
.rcad .rcad-direct-panel .rcad-toolbar {position:sticky;bottom:-16px;background:white;padding:10px 0 4px;border-top:1px solid #e2e8f0;margin-top:10px;z-index:1}
.rcad .rcad-direct-options {margin:10px 0;font-size:13px}
.rcad .rcad-direct-options summary {cursor:pointer;color:#475569;padding:6px 0}
@media(max-width:600px){.rcad .rcad-direct-panel .rcad-toolbar {bottom:-12px}}

/* r67: one selection model for drawing lines, with orthogonal gestures. */
.rcad-line-hit{pointer-events:stroke;touch-action:none;vector-effect:non-scaling-stroke}
.rcad-line-radial{cursor:ns-resize}.rcad-line-axial{cursor:ew-resize}
.rcad-line-hit:hover,.rcad-line-hit:focus{stroke:#ed7d20;stroke-opacity:.25;outline:none}
.rcad-context-menu{position:fixed;z-index:10020;width:250px;max-height:65vh;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:6px;box-shadow:0 12px 32px #0f172a33}
.rcad-context-menu[hidden]{display:none}.rcad-context-menu button{display:block;width:100%;padding:11px 12px;text-align:left;border:0;background:#fff;color:#1e293b;border-radius:6px;white-space:normal;line-height:1.35;margin:0}
.rcad-context-menu button:hover,.rcad-context-menu button:focus{background:#fff0df;outline:2px solid #ed7d20;outline-offset:-2px}
@media(max-width:600px){.rcad-context-menu{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto}.rcad-context-menu button{min-height:44px}}
/* SVG paths alone do not suppress browser panning on every touch engine. */
.rcad .rcad-stage .rcad-drawing{touch-action:pinch-zoom}
.rcad-line-hit{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}

/* r69: compact inline drawing controls; no reserved second row. */
.rcad .rcad-stage-controls{display:flex;align-items:center;gap:10px;padding:6px 8px;min-width:0;box-sizing:border-box}
.rcad .rcad-stage .rcad-stage-controls .rcad-history{position:static;transform:none;flex:none;gap:5px}
.rcad .rcad-stage-controls .rcad-diameter-control{display:flex;align-items:center;gap:12px;min-width:0;color:#475569;font-size:12px}
.rcad .rcad-stage-controls .rcad-diameter-control label{display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap;font-size:12px;font-weight:400;cursor:pointer}
.rcad .rcad-stage-controls .rcad-diameter-control input[type=radio]{width:14px;height:14px;margin:0;flex:none;accent-color:#64748b}
.rcad .rcad-mode-caption{font-weight:600;white-space:nowrap}.rcad .rcad-mode-short{display:none}
.rcad .rcad-stage .rcad-canvas{padding-top:0}
@media(max-width:600px){.rcad .rcad-stage-controls{gap:8px;padding:6px}.rcad .rcad-stage-controls .rcad-diameter-control{gap:9px}.rcad .rcad-mode-long{display:none}.rcad .rcad-mode-short{display:inline}.rcad .rcad-mode-caption{display:none}}
@media print{.rcad .rcad-stage-controls{display:none}}
.rcad-pocket-fill{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.rcad-pocket-fill:hover,.rcad-pocket-fill:focus{fill:#d5eafa;outline:none}
.rcad-pocket-properties{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}
.rcad-pocket-properties td,.rcad-pocket-properties th{padding:5px;text-align:left;border-bottom:1px solid #e2e8f0}

.rcad-line-grip{touch-action:none;vector-effect:non-scaling-stroke;-webkit-tap-highlight-color:transparent}

/* r73: progressive catalog → chains → custom inquiry/editor. */
.rcad [hidden]{display:none!important}
.rcad .rcad-heading{align-items:center;gap:16px;flex-wrap:wrap}.rcad .rcad-heading h2{font-size:clamp(22px,3vw,32px);line-height:1.2}.rcad .rcad-entry-nav{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.rcad .rcad-entry-nav button{background:white;border-color:#d6dce3;color:#334155}
.rcad .rcad-steps{list-style:none;display:flex;gap:24px;padding:0;margin:22px 0 28px;color:#64748b;font-size:14px}.rcad .rcad-steps li{display:flex;gap:8px;align-items:center}.rcad .rcad-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf0f3;font-weight:700;flex:none}.rcad .rcad-steps .is-current{color:#9a4200;font-weight:600}.rcad .rcad-steps .is-current span{background:#fff0dc;color:#9a4200}
.rcad .rcad-connections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rcad .rcad-start{padding:24px;border:1px solid #e0e4e9;border-radius:12px;background:#fff;max-width:1100px;margin:0 auto 20px}.rcad .rcad-start-actions{margin-top:20px;display:block}.rcad .rcad-main-toolbar{justify-content:center}.rcad .rcad-main-toolbar .rcad-primary{padding:12px 28px;min-height:46px}.rcad .rcad-start-help,.rcad .rcad-journey-help{text-align:center;margin:12px 0 0}.rcad .rcad-journey-help button{background:transparent;border:0;color:#9a4200;text-decoration:underline;font-size:14px}
.rcad .rcad-results{max-width:1100px;margin:20px auto}.rcad .rcad-results .rcad-products{margin:0;border:0;background:transparent}.rcad .rcad-products>summary{font-size:20px;line-height:1.4;padding:16px 0}.rcad .rcad-products-body{max-height:none!important;overflow:visible!important}.rcad .rcad-product-card{background:#fff;border:1px solid #e1e5eb;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.rcad .rcad-product{flex:1}.rcad .rcad-product-link{display:inline-block;background:#a24b00;color:#fff;padding:9px 14px;border-radius:6px;margin-top:10px;font-weight:600}.rcad .rcad-product-card>button{align-self:flex-start;font-size:13px}.rcad .rcad-results-bottom{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #e0e4e9;margin-top:24px;padding-top:20px}
.rcad .rcad-custom-choice{max-width:1000px;margin:28px auto}.rcad .rcad-custom-choice h3{font-size:24px}.rcad .rcad-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.rcad .rcad-choice-grid button{text-align:left;white-space:normal;background:#fff;border:1px solid #dce1e8;padding:24px;border-radius:12px;display:grid;gap:12px}.rcad .rcad-choice-grid button:hover{border-color:#c57d39;background:#fff9f1}.rcad .rcad-choice-grid strong{font-size:20px;color:#9a4200}.rcad .rcad-choice-grid span{font-size:15px;line-height:1.55;color:#475569}
.rcad .rcad-editor-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;margin:12px 0;background:#fff5e8;border:1px solid #efcdaa;border-radius:8px}.rcad .rcad-editor-nav>div{display:flex;gap:8px;flex-wrap:wrap}.rcad .rcad-editor-nav button{font-size:13px}.rcad .rcad-editor-submit{margin:20px 0;text-align:center}.rcad .rcad-request{max-width:900px;margin:24px auto}.rcad .rcad-request input[type=file]{max-width:100%}.rcad .rcad-request-files{list-style:none;padding:0}.rcad .rcad-request-files li{display:flex;justify-content:space-between;align-items:center;gap:12px;overflow-wrap:anywhere}.rcad .rcad-request-files button{font-size:12px;flex:none}.rcad .rcad-request-back{margin-top:16px}
.rcad[data-journey-view=description] .rcad-start,.rcad[data-journey-view=custom] .rcad-start{display:none!important}.rcad[data-journey-view=editor] .rcad-steps{display:none}.rcad[data-journey-view=editor] .rcad-stage{height:var(--rcad-canvas-height,85vh);min-height:350px}.rcad[data-journey-view=editor] .rcad-workspace{margin-top:0}
@media(max-width:700px){.rcad .rcad-heading{gap:12px}.rcad .rcad-entry-nav{margin-left:0;width:100%}.rcad .rcad-steps{gap:10px;justify-content:space-between;font-size:11px;margin:18px 0}.rcad .rcad-steps li{flex:1;flex-direction:column;text-align:center;line-height:1.35}.rcad .rcad-start{padding:16px}.rcad .rcad-connections{grid-template-columns:1fr;gap:16px}.rcad .rcad-choice-grid{grid-template-columns:1fr}.rcad .rcad-editor-nav{padding:10px}.rcad .rcad-product-list{grid-template-columns:1fr}.rcad .rcad-results-bottom>button{width:100%}.rcad .rcad-main-toolbar>button{width:100%}}

.rcad .rcad-optics-details{margin:12px 0;border:1px solid #e4e7eb;border-radius:8px;background:#fff}.rcad .rcad-optics-details>summary{padding:12px 16px;font-weight:600;cursor:pointer}.rcad .rcad-optics-details .rcad-optics{margin:0}.rcad .rcad-editor-nav{scroll-margin-top:12px}

/* Geometry actions stay with the fields; only Apply/Cancel stays at the bottom. */
.rcad .rcad-direct-panel .rcad-line-actions {position:static;display:flex;flex-wrap:wrap;gap:8px;z-index:auto}
.rcad .rcad-line-actions button {white-space:normal;text-align:left}
.rcad .rcad-line-actions [data-line-action="remove-section"],
.rcad .rcad-line-actions [data-pocket-action="delete"] {color:#a12622}

.rcad[data-journey-view=editor] .rcad-stage {height:auto;min-height:0}
.rcad .rcad-stage-controls {flex-wrap:wrap}
.rcad .rcad-seating-controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:7px 10px;background:#f0f8f2;border:1px solid #b9d9c2;border-radius:7px;font-size:12px;flex:1 1 100%}
.rcad .rcad-seating-controls label {display:flex;align-items:center;gap:5px;margin:0}
.rcad .rcad-seating-controls input:not([type=checkbox]) {width:82px;padding:5px 7px;min-height:30px}
.rcad .rcad-seating-controls input[type=checkbox],.rcad .rcad-reference-choices input[type=checkbox] {width:auto;accent-color:#16813d}
.rcad .rcad-seating-controls .rcad-help {font-size:11px;margin:0}
.rcad .rcad-reference-choices {border:1px solid #b9d9c2;border-radius:7px;padding:4px 10px;background:#f0f8f2}
.rcad .rcad-reference-choices label {display:flex;align-items:center;gap:7px}

.rcad .rcad-optical-input input:disabled {background:#f1f5f9;color:#64748b;border-color:#cbd5e1!important;cursor:default}
.rcad .rcad-optical-input input:focus {outline:2px solid #ed7d20;outline-offset:1px}
.rcad .rcad-seating-controls {flex-basis:auto;flex-grow:0;padding:5px 8px}
.rcad .rcad-seating-controls .rcad-help:empty {display:none}

/* r79: project actions below pricing, in reading order. */
.rcad .rcad-project-card {min-width:0;margin:0;padding:16px;}
.rcad .rcad-project-card h3 {margin:0 0 12px;}
.rcad .rcad-project-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.rcad .rcad-project-actions button {min-width:0;width:100%;margin:0;padding:9px 8px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.35;min-height:42px;}
.rcad .rcad-project-status {font-size:13px;color:#334155;overflow-wrap:anywhere;}
.rcad .rcad-project-status:empty {display:none;}
.rcad .rcad-project-card .rcad-storage {margin:12px 0 0;overflow-wrap:anywhere;}
@media print {.rcad .rcad-project-card {display:none!important;}}

/* r80: optics inputs live on the drawing; details contain explanations only. */
.rcad .rcad-ffd-panel{position:fixed;z-index:1100;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid #cbd5e1;border-radius:9px;background:white;box-shadow:0 8px 30px #0f172a33;font-size:14px}
.rcad .rcad-ffd-panel[hidden]{display:none!important}
.rcad .rcad-ffd-panel label{display:grid;gap:5px;margin:12px 0}
.rcad .rcad-ffd-panel input,.rcad .rcad-ffd-panel select{width:100%;min-width:0;box-sizing:border-box}
.rcad .rcad-ffd-panel .rcad-ffd-error{color:#b42318}
.rcad .rcad-optics{border:0;background:white}
.rcad .rcad-optics-details{scroll-margin-top:12px}
.rcad .rcad-optics-result{margin-top:12px}

/* r81: dimensional lock buttons are separate targets beside the numeric input. */
.rcad .rcad-field-lock{display:flex;align-items:center;gap:5px;min-width:0;width:100%}
.rcad .rcad-field-lock>input{flex:1;min-width:0;width:0}
.rcad .rcad-user-lock-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;min-height:32px;margin:0;padding:3px;border:1px solid #cbd5e1;border-radius:4px;background:white;color:#94a3b8}
.rcad .rcad-user-lock-button[data-locked=true]{color:#111;border-color:#64748b;background:#f1f5f9}
.rcad .rcad-field-lock input[readonly]{font-weight:700;color:black;background:#f8fafc}
.rcad .rcad-locks-control{margin-left:8px}
