/* PRISME 2D CAD — 디자인센터와 CAD 표준 (cad2d_designcenter.js, spec 027 WP-25). Prefix: caddc-. */

.caddc { display: flex; flex-direction: column; height: 100%; min-height: 0; min-width: 0; font-size: 12px; }
.caddc-toolbar { display: flex; flex: none; flex-wrap: wrap; align-items: center; gap: 2px; padding: 3px 4px; border-bottom: 1px solid var(--cad-border-soft); }
.caddc-tool {
  display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 6px;
  border: 1px solid transparent; border-radius: 2px; background: transparent; color: var(--cad-text); white-space: nowrap;
}
.caddc-tool:hover:not(:disabled) { border-color: var(--cad-accent); background: var(--cad-bg-hover); }
.caddc-tool[aria-pressed="true"] { background: var(--cad-bg-toggle-on); }
.caddc-tool:disabled { color: var(--cad-text-disabled); }
.caddc-ic { display: inline-flex; flex: none; align-items: center; justify-content: center; }
.caddc-tabs { display: flex; flex: none; gap: 0; padding: 4px 4px 0; border-bottom: 1px solid var(--cad-border-soft); }
.caddc-main { display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; }
.caddc-tree {
  flex: 0 0 38%; min-width: 120px; max-width: 320px; margin: 0; padding: 4px 0; overflow: auto;
  border-right: 1px solid var(--cad-border-soft); list-style: none; background: var(--cad-bg-input);
}
.caddc[data-tree="off"] .caddc-tree { display: none; }
.caddc-node { display: flex; align-items: center; gap: 4px; min-height: 20px; padding: 0 6px; white-space: nowrap; cursor: default; }
.caddc-node[data-level="1"] { padding-left: 22px; }
.caddc-node:hover { background: var(--cad-bg-hover); }
.caddc-node[aria-selected="true"] { background: var(--cad-bg-toggle-on); color: var(--cad-accent-text); }
.caddc-node-missing { color: var(--cad-text-muted); font-style: italic; }
.caddc-twist { display: inline-block; flex: none; width: 10px; color: var(--cad-text-muted); text-align: center; }
.caddc-right { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; }
.caddc-content { flex: 1 1 auto; min-height: 60px; margin: 0; padding: 4px; overflow: auto; list-style: none; background: var(--cad-bg-input); }
.caddc-item { display: flex; align-items: center; gap: 6px; padding: 2px 4px; border: 1px solid transparent; border-radius: 2px; cursor: default; min-width: 0; }
.caddc-item:hover { background: var(--cad-bg-hover); }
.caddc-item[aria-selected="true"] { border-color: var(--cad-accent); background: var(--cad-bg-toggle-on); color: var(--cad-accent-text); }
.caddc-item-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.caddc-item-detail { flex: 1 1 auto; overflow: hidden; color: var(--cad-text-muted); text-overflow: ellipsis; white-space: nowrap; }
.caddc-item[aria-selected="true"] .caddc-item-detail { color: inherit; }
.caddc-thumb { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px; color: var(--cad-text); }
.caddc-thumb canvas { width: 100%; height: 100%; }
.caddc-content[data-view="large"] { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 6px; align-content: start; }
.caddc-content[data-view="large"] .caddc-item { flex-direction: column; gap: 3px; padding: 4px 2px; text-align: center; }
.caddc-content[data-view="large"] .caddc-thumb { width: 64px; height: 48px; }
.caddc-content[data-view="large"] .caddc-item-name { max-width: 100%; }
.caddc-content[data-view="large"] .caddc-item-detail,
.caddc-content[data-view="small"] .caddc-item-detail,
.caddc-content[data-view="list"] .caddc-item-detail { display: none; }
.caddc-content[data-view="small"] { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0 8px; align-content: start; }
.caddc-content[data-view="list"] { column-width: 160px; column-gap: 8px; }
.caddc-content[data-view="details"] .caddc-item-name { flex: 0 0 42%; }
.caddc-empty { grid-column: 1 / -1; margin: 8px; color: var(--cad-text-muted); line-height: 1.5; } /* the whole width in the icon views (it stood in one 84px cell) */
.caddc-preview { flex: 0 0 96px; border-top: 1px solid var(--cad-border-soft); background: var(--cad-model-bg); color: #e8eaed; }
.caddc-preview canvas { display: block; width: 100%; height: 96px; }
.caddc[data-preview="off"] .caddc-preview { display: none; }
.caddc-description { flex: 0 0 auto; min-height: 34px; max-height: 72px; padding: 4px 6px; overflow: auto; border-top: 1px solid var(--cad-border-soft); color: var(--cad-text-muted); white-space: pre-wrap; }
.caddc[data-description="off"] .caddc-description { display: none; }
.caddc-status { flex: none; padding: 2px 6px; overflow: hidden; border-top: 1px solid var(--cad-border-soft); color: var(--cad-text-muted); text-overflow: ellipsis; white-space: nowrap; }
.caddc-drop { outline: 2px dashed var(--cad-accent); outline-offset: -4px; }

/* dialogs: 삽입, 표준 구성, 표준 검사, CAD 표준 설정 */
.caddc-form { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.caddc-row { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.caddc-col { display: flex; flex: 1 1 0; flex-direction: column; gap: 4px; min-width: 0; }
.caddc-caption { color: var(--cad-text); }
.caddc-list { height: 150px; margin: 0; padding: 0; overflow: auto; border: 1px solid var(--cad-border-soft); list-style: none; background: var(--cad-bg-input); }
.caddc-list li { display: flex; align-items: center; gap: 6px; padding: 2px 6px; white-space: nowrap; cursor: default; }
.caddc-list li:hover { background: var(--cad-bg-hover); }
.caddc-list li[aria-selected="true"] { background: var(--cad-bg-toggle-on); color: var(--cad-accent-text); }
.caddc-list li[data-missing="true"] { color: var(--cad-text-muted); font-style: italic; }
.caddc-list-check { flex: none; width: 12px; color: var(--cad-success); }
.caddc-list-file { flex: 1 1 auto; overflow: hidden; color: var(--cad-text-muted); text-align: right; text-overflow: ellipsis; }
.caddc-list li[aria-selected="true"] .caddc-list-file { color: inherit; }
.caddc-side { display: flex; flex: none; flex-direction: column; gap: 4px; }
.caddc-side .cads-btn { min-width: 30px; padding: 0 6px; }
.caddc-box { min-height: 150px; padding: 6px 8px; overflow: auto; border: 1px solid var(--cad-border-soft); background: var(--cad-bg-input); line-height: 1.5; white-space: pre-wrap; }
.caddc-problem { min-height: 44px; }
.caddc-changes { max-height: 150px; overflow: auto; border: 1px solid var(--cad-border-soft); background: var(--cad-bg-input); }
.caddc-insert-preview { flex: none; width: 150px; height: 110px; border: 1px solid var(--cad-border-soft); background: var(--cad-model-bg); color: #e8eaed; }
.caddc-num { width: 80px; font-family: var(--cad-font-mono); }
.caddc-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
