/* PRISME 2D CAD — 모형 뷰포트 (cad2d_viewports.js, spec 027 WP-18). Shell classes (cads-*) do the rest. */

/* The canvas cursor over another tile (the arrow) and over a border between tiles (cad2d_viewer.js). */
.cad-canvas[data-cursor="arrow"] { cursor: default; }
.cad-canvas[data-cursor="split-x"] { cursor: col-resize; }
.cad-canvas[data-cursor="split-y"] { cursor: row-resize; }

/* The viewport controls of the tiles that are not current. */
.cad-overlay > .cadv-tile-controls { position: absolute; inset: 0; pointer-events: none; }
.cadv-tile-ctl { position: absolute; z-index: 5; display: flex; gap: 0; font-size: 12px; pointer-events: auto; opacity: 0.75; }
.cadv-tile-ctl:hover { opacity: 1; }

/* VPORTS */
.cadv-dialog { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cadv-tab { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cadv-current { color: var(--cad-text); }
.cadv-columns { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 12px; min-width: 0; }
.cadv-column { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cadv-list {
  height: 196px;
  overflow: auto;
  border: 1px solid var(--cad-border-soft);
  background: var(--cad-bg-input);
  outline: none;
}
.cadv-list:focus-visible { border-color: var(--cad-accent); }
.cadv-row { display: flex; align-items: center; min-height: 22px; padding: 0 6px; cursor: default; user-select: none; }
.cadv-row[aria-selected="true"] { background: var(--cad-bg-hover); }
.cadv-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cadv-preview {
  position: relative;
  height: 196px;
  border: 1px solid var(--cad-border-soft);
  background: var(--cad-bg-input);
  overflow: hidden;
}
.cadv-tile {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cad-text-muted);
  color: var(--cad-text-muted);
  font-size: 11px;
  overflow: hidden;
  cursor: default;
  user-select: none;
}
.cadv-tile > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 2px; }
.cadv-tile[aria-selected="true"] { border: 2px solid var(--cad-accent); color: var(--cad-text); }
.cadv-tile[data-fixed="true"] { opacity: 0.45; }
.cadv-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
.cadv-error { margin: 0; color: var(--cad-danger); }
.cadv-name-input { width: 100%; }

@media (max-width: 560px) {
  .cadv-columns { grid-template-columns: minmax(0, 1fr); }
  .cadv-options { grid-template-columns: minmax(0, 1fr); }
}
