/* M01 일위대가 로직 — 흐름 그림(기본 보기). 왼쪽에서 오른쪽으로 칸 · 칸마다 상자 */ .m01c [hidden] { display: none !important; } .m01c { display: flex; flex-direction: column; gap: var(--spacing-8); padding: var(--spacing-12); box-sizing: border-box; color: var(--color-text-body); font-size: var(--text-body-sm); } .m01c__head { display: flex; align-items: baseline; gap: var(--spacing-8); flex-wrap: wrap; } .m01c__head h3 { margin: 0; font-size: 16px; color: var(--color-text); } .m01c__flow { display: flex; align-items: flex-start; gap: var(--spacing-4); overflow-x: auto; padding-bottom: var(--spacing-8); } /* 값 칸은 다시 그려도 설계 값 칸은 그대로 — 그래서 한 겹 더 있음 */ .m01c__rest { display: contents; } .m01c__col { display: flex; flex-direction: column; gap: var(--spacing-4); flex: 0 0 auto; width: 170px; min-width: 0; } .m01c__col--input { width: 200px; } .m01c__col-head { margin: 0; padding-bottom: 2px; border-bottom: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--text-caption); font-weight: 600; } .m01c__arrow { align-self: center; padding-top: 28px; color: var(--color-text-muted); font-size: 18px; } .m01c__box, .m01c__group { border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); } .m01c__group { border-style: dashed; background: none; } .m01c__group > summary { padding: 2px 6px; color: var(--color-text-muted); font-size: var(--text-caption); cursor: pointer; } .m01c__group > .m01c__box { margin: 2px; } .m01c__box > summary { display: flex; flex-direction: column; gap: 1px; padding: 4px 6px; cursor: pointer; } .m01c__box--bad { border-color: var(--color-danger); } .m01c__label { color: var(--color-text); overflow-wrap: anywhere; } .m01c__value { font-variant-numeric: tabular-nums; font-weight: 600; } .m01c__note, .m01c__muted { color: var(--color-text-muted); font-size: var(--text-caption); } .m01c__bad { margin: 0; color: var(--color-danger); font-size: var(--text-caption); } .m01c__detail { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1px var(--spacing-4); margin: 0; padding: 4px 6px; border-top: 1px solid var(--color-border); font-size: var(--text-caption); } .m01c__detail dt { color: var(--color-text-muted); } .m01c__detail dd { margin: 0; overflow-wrap: anywhere; } .m01c__sub { padding: 0 6px 4px; font-size: var(--text-caption); } .m01c__sub > summary { color: var(--color-text-muted); cursor: pointer; } .m01c__sub-body ul { margin: 2px 0; padding-left: 14px; } .m01c__field { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); } .m01c__input { box-sizing: border-box; width: 100%; min-width: 0; padding: 3px 6px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); font-size: var(--text-body-sm); } /* 상자 속 설명 카드 — 쉬운 말 풀이 · 원문 표 미리보기(`M01_MasterData_UI_Logic_Note.ts`) */ .m01c__note-body { padding: 2px 0; } .m01c__plain { margin: 2px 0; overflow-wrap: anywhere; } .m01c__tables { overflow-x: auto; } .m01c__table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; } .m01c__table th, .m01c__table td { padding: 1px 4px; border-bottom: 1px solid var(--color-border); text-align: left; white-space: nowrap; } .m01c__table th { color: var(--color-text-muted); font-weight: 500; } .m01c__hit { background: var(--color-surface); font-weight: 600; } .m01c__raw pre { margin: 2px 0; white-space: pre-wrap; overflow-wrap: anywhere; } /* 상자에서 고치기 — [고치기] 를 켰을 때만 */ .m01c__edits { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px; border-top: 1px dashed var(--color-border); } .m01c__edit { display: flex; flex-direction: column; gap: 1px; } .m01c__edit-bar { display: flex; align-items: center; gap: var(--spacing-8); margin-left: auto; } /* 재료·기계 바꿔 고르기 칸 — `M01_MasterData_UI_Logic_Pick.ts` */ .m01-test__picks { display: flex; flex-direction: column; gap: var(--spacing-12); } .m01-test__pick { display: flex; flex-direction: column; gap: var(--spacing-4); } .m01-test__filters { display: flex; gap: var(--spacing-8); flex-wrap: wrap; }