feat(b08): 구조물도 모달 연결 칩 · 접기 · 카드 2:3:3 · 사본 [수정] · [업데이트] 배지(163-1~4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STqEqztUthVFBmEP18wBSz
This commit is contained in:
2026-10-09 23:58:18 +09:00
co-authored by Claude Opus 5.5
parent 4c0ea30c7b
commit 3060551cae
8 changed files with 357 additions and 51 deletions
+57 -11
View File
@@ -37,43 +37,89 @@
color: var(--color-danger);
}
/* 카드 셋(도면 · 일위대가 · 면적산출) = 한 줄 세 칸 · 도면을 조금 넓게 · 높이 = 큰 창에 맞춤(156-4) */
/* 카드 셋(도면 · 일위대가 · 면적산출) = 한 줄 세 칸 · 일위대가 · 면적산출 넓게(왼쪽) · 도면 맨 오른쪽(163-2) ·
높이 = 큰 창에 맞춤(156-4) */
.b08-sheets .m02-struct {
--m02-struct-card-h: max(480px, calc(94vh - 14rem));
grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 2fr);
grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 2fr);
gap: var(--spacing-16);
}
.b08-sheets .m02-struct > :first-child {
order: 3;
}
@media (max-width: 960px) {
.b08-sheets .m02-struct {
grid-template-columns: minmax(0, 1fr);
}
}
/* 「조합 연결」 칸(154-2) — 시설 이름 · 칸 줄(이름 · 연결 여부 · [선택]) */
/* 카드 [수정] → 사본 편집 화면(163-3) — 모달 몸통을 채움 · 넣을 값이면 안내 한 줄 위 */
.b08-sheets .ui-item-picker__edit-host {
flex-direction: column;
gap: var(--spacing-8);
}
/* 「조합 연결」 칸(154-2 · 163-1) — 시설마다 한 줄(제목 + 칸 칩 · 넘치면 다음 줄) */
.b08-link__row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--spacing-8);
}
.b08-link__facility {
margin: 0;
font-weight: var(--font-weight-semibold);
color: var(--color-text);
}
.b08-link__slot {
display: grid;
grid-template-columns: minmax(120px, 200px) 1fr auto;
.b08-link__chip {
display: inline-flex;
align-items: center;
gap: var(--spacing-8);
padding-left: var(--spacing-16);
max-width: 100%;
padding: 2px var(--spacing-8);
border: 1px solid var(--color-border);
border-radius: var(--radius-pills);
}
.b08-link__buttons {
display: flex;
gap: var(--spacing-8);
.b08-link__chip.is-missing {
border-color: var(--color-danger);
}
.b08-link__state {
overflow: hidden;
max-width: 18rem;
white-space: nowrap;
text-overflow: ellipsis;
color: var(--color-text-secondary);
}
.b08-link__state.is-missing {
color: var(--color-danger);
}
.b08-link__badges,
.b08-link__buttons {
display: inline-flex;
gap: var(--spacing-4);
}
.b08-link__badges:empty {
display: none;
}
/* 배지(163-4) — 고침 있음 · 마스터가 바뀜(경고) */
.b08-link__badge {
padding: 0 var(--spacing-8);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
font-size: var(--text-caption);
color: var(--color-text);
}
.b08-link__badge.is-warn {
border-color: var(--color-warning);
font-weight: var(--font-weight-semibold);
}