/* 항목 고르기 모달 — 왼쪽 나무 · 오른쪽 폴더 모양 · 아래 단추 */ /* 공용 모달(.ui-modal)의 폭 · 높이보다 앞서게 — 불러오는 차례에 따라 뒤집히지 않도록 두 클래스 */ .ui-modal.ui-item-picker { width: min(1320px, 96vw); max-height: 94vh; } .ui-item-picker .ui-modal__body { height: min(80vh, 800px); } .ui-item-picker__cols { display: grid; grid-template-columns: minmax(220px, 3fr) minmax(320px, 9fr); gap: var(--spacing-12); flex: 1; min-height: 0; } .ui-item-picker__left { display: flex; flex-direction: column; gap: var(--spacing-8); min-height: 0; min-width: 0; } .ui-item-picker__tree { display: flex; flex-direction: column; gap: 2px; flex: 1; min-height: 0; padding: var(--spacing-4); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: auto; } .ui-item-picker__detail { display: flex; flex-direction: column; gap: var(--spacing-8); min-width: 0; min-height: 0; padding: var(--spacing-12); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: auto; } .ui-item-picker__cols[hidden], .ui-item-picker__actions[hidden], .ui-item-picker__edit-host[hidden] { display: none; } .ui-item-picker__head { display: flex; flex-direction: column; gap: var(--spacing-4); } /* 프로젝트 복사본 상태 줄 — 가져온 날 · 마스터가 바뀜 · [새로 가져오기] */ .ui-item-picker__status { display: flex; flex-wrap: wrap; gap: var(--spacing-8); align-items: center; color: var(--color-text-secondary); font-size: var(--text-caption); } .ui-item-picker__changed { color: var(--color-warning); } .ui-item-picker__fake { padding: 0 var(--spacing-8); border: 1px dashed var(--color-border); border-radius: var(--radius-md); } /* 카드 넷 — M02 와 같은 카드 · 칸이 좁으면 한 줄씩(카드 하나가 300px 안 되면) */ .ui-item-picker__cards { display: flex; min-width: 0; } .ui-item-picker__cards .m02-struct { flex: 1 1 0; padding-top: 0; border-top: 0; min-width: 0; } /* 편집 화면 — 뒤로 · 제목 · 저장 한 줄 + 편집 부품이 남는 높이를 채움 */ .ui-item-picker__edit-host { display: flex; flex: 1; min-height: 0; } .ui-item-picker__edit { display: flex; flex-direction: column; gap: var(--spacing-8); flex: 1; min-width: 0; min-height: 0; } .ui-item-picker__edit-top { display: flex; flex-wrap: wrap; gap: var(--spacing-8); align-items: center; } .ui-item-picker__edit-title { flex: 1 1 12rem; margin: 0; color: var(--color-text-heading); font-size: var(--text-body); overflow-wrap: anywhere; } .ui-item-picker__edit-note { color: var(--color-text-secondary); font-size: var(--text-caption); } .ui-item-picker__edit-body { display: flex; flex: 1; min-height: 0; min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; } .ui-item-picker__edit-sheet, .ui-item-picker__edit-cad { display: flex; flex: 1; min-width: 0; min-height: 0; } /* 도면 부품(.m02-drawing)이 남는 높이를 채움 — M02 메인 칸과 같은 자리 규칙 */ .ui-item-picker__edit-cad > .m02-drawing { flex: 1 1 0; } .ui-item-picker__edit-sheet > .ss { flex: 1 1 0; min-width: 0; } .ui-item-picker__edit-inputs { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; padding: var(--spacing-8); } .ui-item-picker__edit-inputs > .m02-struct__card { flex: 1 1 0; border: 0; } .ui-item-picker__edit-inputs .m02-inputs__wrap { min-height: 0; } .ui-item-picker__name { margin: 0; font-size: var(--text-body); color: var(--color-text-heading); overflow-wrap: anywhere; } .ui-item-picker__where, .ui-item-picker__hint { margin: 0; color: var(--color-text-secondary); font-size: var(--text-caption); } .ui-item-picker__hint { padding: var(--spacing-8); } .ui-item-picker__folder { display: flex; flex-direction: column; gap: var(--spacing-4); margin: 0; padding: 0 0 0 var(--spacing-12); border-left: 2px solid var(--color-border); list-style: none; } .ui-item-picker__folder li { display: flex; gap: var(--spacing-8); align-items: baseline; min-width: 0; color: var(--color-text-body); font-size: var(--text-caption); overflow-wrap: anywhere; } .ui-item-picker__folder-label { flex: 0 0 5.5em; color: var(--color-text-secondary); } .ui-item-picker__key { color: var(--color-text-secondary); font-size: 11px; } .ui-item-picker__none { color: var(--color-text-secondary); } .ui-item-picker__actions { display: flex; justify-content: flex-end; gap: var(--spacing-8); } /* 좁은 폭 — 나무는 위(낮게) · 상세는 아래로 쌓고 카드는 한 줄씩 */ @media (max-width: 760px) { .ui-item-picker__cols { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 2fr) minmax(0, 3fr); overflow: auto; } } /* 구조물 복사본 상태 줄 — 고침 · 마스터가 바뀜 · 원본 없음 표시 */ .ui-item-picker__badge { padding: 0 var(--spacing-8); border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text); } .ui-item-picker__badge.is-warn { border-color: var(--color-warning); color: var(--color-text); font-weight: 600; } /* [적용] 뒤 구조물 [저장] 안내 한 줄 — 단추 왼쪽 */ .ui-item-picker__saveline { margin-right: auto; align-self: center; color: var(--color-text-secondary); font-size: var(--text-caption); } /* 글 묻는 작은 창(개인에 저장 · 새 항목) */ .ui-modal.ui-item-ask { width: min(28rem, 92vw); }