Files
Aislo/M02_MasterTemplete/M02_MasterTemplete_Labor_Diagram.css
T
eomsangdonandClaude Opus 5.5 1cce06780e refactor(M02): 옛 일위대가 조합 상세 Labor_Edit.ts 지움 — 그것만 쓰던 조합 길 함수(newCombo · editCombo · deleteCombo · fetchComboInputs · fetchLibLogic · fetchLibAuto) · 죽은 글 17 · CSS(미리 보기 · 조합 목록 · flash)도
- 쓰는 곳 0 은 grep 으로 확인한 것만 · Labor_Pick · View · Detail · Rows · Input · Diagram 은 남김
- 시험: test_ui_loading 의 Labor_Edit 줄 → 실무문서 상세 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 20:47:42 +09:00

309 lines
6.2 KiB
CSS

.m02-labordg {
--dg-노무비: #2f9e8f;
--dg-재료비: #d98a1d;
--dg-경비: #8a63d2;
--dg-값: #7a8699;
display: flex;
flex-direction: column;
gap: var(--spacing-8);
font-size: var(--text-body-sm);
color: var(--color-text-body);
}
.m02-labordg__bar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--spacing-8);
}
.m02-labordg__zoom {
min-width: 3em;
font-weight: var(--font-weight-bold);
}
.m02-labordg__hint {
color: var(--color-text-muted);
}
.m02-labordg__viewport {
position: relative;
height: clamp(320px, 62vh, 640px);
border: 1px solid var(--color-border);
border-radius: var(--radius-cards);
background: var(--color-surface);
overflow: hidden;
cursor: default;
}
.m02-labordg__viewport.is-space,
.m02-labordg__viewport.is-panning {
cursor: grab;
}
.m02-labordg__viewport.is-panning {
cursor: grabbing;
}
.m02-labordg__world {
position: absolute;
top: 0;
left: 0;
width: max-content;
transform-origin: 0 0;
}
.m02-labordg__lines {
position: absolute;
top: 0;
left: 0;
pointer-events: none;
}
.m02-labordg__grid {
position: relative;
display: grid;
column-gap: 0;
row-gap: 0;
padding: var(--spacing-16);
}
.m02-labordg__head {
padding: var(--spacing-4) var(--spacing-8);
font-weight: var(--font-weight-bold);
}
.m02-labordg__head.is-bin,
.m02-labordg__cell {
border-left: 2px solid var(--dg-노무비);
border-right: 2px solid var(--dg-노무비);
}
.m02-labordg__head.is-bin {
border-top: 2px solid var(--dg-노무비);
border-radius: var(--radius-cards) var(--radius-cards) 0 0;
text-align: center;
background: color-mix(in srgb, var(--dg-노무비) 22%, var(--color-surface));
}
.m02-labordg__cell {
display: flex;
flex-direction: column;
justify-content: center;
min-height: 4rem;
padding: var(--spacing-4) var(--spacing-8);
background: color-mix(in srgb, var(--dg-노무비) 8%, var(--color-surface));
border-bottom: 1px solid var(--color-border);
}
.m02-labordg__cell.is-total {
border-bottom: 2px solid var(--dg-노무비);
border-radius: 0 0 var(--radius-cards) var(--radius-cards);
font-weight: var(--font-weight-bold);
}
.m02-labordg__cell.is-zero {
opacity: 0.45;
}
.m02-labordg__cell-name {
color: var(--color-text-secondary);
}
.m02-labordg__cell-amount {
font-weight: var(--font-weight-bold);
}
.m02-labordg__head.is-재료비,
.m02-labordg__cell.is-재료비 {
border-color: var(--dg-재료비);
}
.m02-labordg__head.is-재료비 {
background: color-mix(in srgb, var(--dg-재료비) 22%, var(--color-surface));
}
.m02-labordg__cell.is-재료비 {
background: color-mix(in srgb, var(--dg-재료비) 8%, var(--color-surface));
}
.m02-labordg__head.is-경비,
.m02-labordg__cell.is-경비 {
border-color: var(--dg-경비);
}
.m02-labordg__head.is-경비 {
background: color-mix(in srgb, var(--dg-경비) 22%, var(--color-surface));
}
.m02-labordg__cell.is-경비 {
background: color-mix(in srgb, var(--dg-경비) 8%, var(--color-surface));
}
.m02-labordg__head.is-값,
.m02-labordg__cell.is-값 {
border-color: var(--dg-값);
}
.m02-labordg__head.is-값 {
background: color-mix(in srgb, var(--dg-값) 22%, var(--color-surface));
}
.m02-labordg__cell.is-값 {
background: color-mix(in srgb, var(--dg-값) 8%, var(--color-surface));
}
/* 넣을 값 묶음 */
.m02-labordg__group {
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: center;
gap: var(--spacing-4);
padding: var(--spacing-8);
min-width: 13rem;
}
.m02-labordg__pill {
display: flex;
justify-content: space-between;
gap: var(--spacing-8);
padding: 2px var(--spacing-8);
border: 1px solid var(--color-border);
border-radius: var(--radius-pills);
background: var(--color-surface-raised);
color: inherit;
font: inherit;
text-align: left;
cursor: pointer;
}
.m02-labordg__pill.is-empty {
border: 2px dashed var(--color-danger);
}
.m02-labordg__pill.is-empty .m02-labordg__pill-value {
color: var(--color-danger);
font-weight: var(--font-weight-bold);
}
.m02-labordg__pill-name {
font-weight: var(--font-weight-medium);
}
.m02-labordg__pill:focus-visible,
.m02-labordg__card:focus-visible {
outline: 2px solid var(--color-focus-ring);
}
.m02-labordg__pill.is-hot {
border-color: var(--color-primary);
background: color-mix(in srgb, var(--color-primary) 18%, var(--color-surface));
}
/* 로직 카드 — 둥근 카드 */
.m02-labordg__card {
display: flex;
flex-direction: column;
align-self: center;
gap: 2px;
margin: var(--spacing-8) 0;
padding: var(--spacing-8) var(--spacing-12);
border: 2px solid var(--color-border);
border-radius: 1.2rem;
background: var(--color-surface-raised);
color: inherit;
font: inherit;
text-align: left;
cursor: pointer;
}
.m02-labordg__card:hover {
border-color: var(--color-primary);
}
.m02-labordg__card.is-stop {
border-style: dashed;
border-color: var(--color-danger);
}
.m02-labordg__card-key {
color: var(--color-text-muted);
}
.m02-labordg__card-name {
font-size: var(--text-body);
}
.m02-labordg__card-unit {
color: var(--color-text-secondary);
}
.m02-labordg__card-out {
margin-top: 2px;
font-weight: var(--font-weight-bold);
}
/* 선 */
.m02-labordg__wire {
fill: none;
stroke: var(--color-border);
stroke-width: 2;
}
.m02-labordg__out {
fill: none;
stroke: var(--dg-노무비);
stroke-width: 2.5;
}
.m02-labordg__out.is-재료비 {
stroke: var(--dg-재료비);
}
.m02-labordg__out.is-경비 {
stroke: var(--dg-경비);
}
.m02-labordg__out.is-값 {
stroke: var(--dg-값);
}
.m02-labordg__out.is-zero {
opacity: 0.2;
}
.m02-labordg__same {
fill: none;
stroke: var(--color-text-muted);
stroke-width: 1.5;
stroke-dasharray: 4 4;
opacity: 0.55;
}
.m02-labordg__same.is-hot {
stroke: var(--color-primary);
stroke-width: 2.5;
opacity: 1;
}
.m02-labordg__none {
margin: var(--spacing-16);
color: var(--color-text-muted);
}
.m02-labor__dg > summary {
cursor: pointer;
font-weight: var(--font-weight-bold);
}
/* 39-3 — 자동값 알약(넣은 값 없음 · 기울임) · 자재목록 카드(누름 없음) */
.m02-labordg__pill.is-auto .m02-labordg__pill-value {
font-style: italic;
color: var(--color-text-secondary);
}
.m02-labordg__card.is-material {
cursor: default;
}