feat(M01): 로직 개선 시험 상세 화면을 컨테이너 넷으로 · 호표를 인력·자재·경비 묶음과 소계로 · 줄을 누르면 쓰는 자료(표·단가) 모달

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
2026-09-21 19:36:07 +09:00
co-authored by Claude Sonnet 5
parent 5b69324207
commit 4a93cfdf8c
6 changed files with 627 additions and 66 deletions
@@ -0,0 +1,94 @@
/* M01 로직 개선 시험 — 상세 화면 컨테이너 넷 · 호표 묶음 · 자료 모달 */
.m01lab__box {
padding: var(--spacing-12);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
}
.m01lab__info {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: var(--spacing-8);
}
.m01lab__cell {
display: flex;
flex-direction: column;
gap: var(--spacing-4);
}
.m01lab__cell--wide {
grid-column: 1 / -1;
}
.m01lab__group {
margin: var(--spacing-8) 0 var(--spacing-4);
}
.m01lab__ho th:nth-child(2) {
width: 64px;
}
.m01lab__ho th:nth-child(4),
.m01lab__ho th:nth-child(5) {
width: 110px;
}
.m01lab__line {
cursor: pointer;
}
.m01lab__line:hover,
.m01lab__line:focus {
background: var(--color-paper);
}
.m01lab__line--extra {
font-style: italic;
}
.m01lab__qty,
.m01lab__expr {
font-family: var(--font-mono, monospace);
font-size: var(--text-body-sm);
white-space: pre-wrap;
word-break: break-all;
}
.m01lab__subtotal td {
font-weight: 600;
background: var(--color-paper);
}
.m01lab__total {
margin: var(--spacing-8) 0 0;
font-weight: 700;
text-align: right;
}
.m01lab__modal {
overflow: auto;
}
.m01lab__modal-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--spacing-8);
}
.m01lab__modal-body,
.m01lab__tables {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
}
.m01lab__hit td {
background: color-mix(in srgb, gold 45%, transparent);
font-weight: 600;
}
.m01lab__calc > h3 {
display: none;
}