/* M01 로직 칸 — 가운데 로직 목록 · 단가산출 상세 / 오른쪽 시험 계산 (거름은 왼쪽 패널) */ .m01-logic [hidden] { display: none !important; } /* 시험 계산 칸은 「고급」 보기에만 있음 — 없을 때는 본문이 한 칸 전체(빈 280px 칸을 남기지 않음) */ .m01-logic { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--spacing-12); height: 100%; min-height: 0; padding: var(--spacing-12); box-sizing: border-box; color: var(--color-text-body); font-size: var(--text-body-sm); } .m01-logic:has(> .m01-logic__calc:not([hidden])) { grid-template-columns: minmax(0, 1fr) 280px; } /* 좁은 화면 — 본문 위 · 시험 계산 아래로 쌓고 본문이 폭을 다 씀(표는 제 칸 안에서 가로로 밀림) */ @media (width <= 900px) { .m01-logic, .m01-logic:has(> .m01-logic__calc:not([hidden])) { grid-template-columns: minmax(0, 1fr); height: auto; } .m01-logic__main, .m01-logic__calc { overflow: visible; } } .m01-logic__main, .m01-logic__calc { display: flex; flex-direction: column; gap: var(--spacing-8); min-height: 0; overflow: auto; } /* 본문 칸은 스크롤 칸이 아님(바깥 층이 스크롤) — 오른쪽 패널이 아래로 삐져나와 막대가 생겼다 사라지는 떨림 방지 */ .m01-logic__main { overflow: visible; } .m01-logic__calc { padding: var(--spacing-8); border-radius: var(--radius-cards); background: var(--color-surface); } .m01-logic__bar { display: flex; align-items: center; gap: var(--spacing-8); flex-wrap: wrap; } .m01-logic__bar h2 { margin: 0 auto 0 0; font-size: 18px; color: var(--color-text); } .m01-logic__head { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--spacing-8); } /* 시험 계산 입력만 2열 고정 — 요소 표 쪽(auto-fill)은 그대로 둠 실제 그릇은 LogicLab 이 씌우는 `.m01lab__calc`(`.m01-logic__calc` 는 옛 테스트 컨테이너 몫이라 안 걸림) */ .m01lab__calc .m01-logic__head, .m01-logic__calc .m01-logic__head { grid-template-columns: repeat(2, 1fr); } .m01-logic__field { display: flex; flex-direction: column; gap: 2px; color: var(--color-text-secondary); font-size: var(--text-caption); } .m01-logic__field--wide { grid-column: 1 / -1; } .m01-logic__file { color: var(--color-text-body); font-size: var(--text-body-sm); } /* 겉 = 입력 부품(ui-input--sm) · 여기는 칸 폭만 */ .m01-logic__input { box-sizing: border-box; width: 100%; min-width: 0; } .m01-logic__note { min-height: 48px; resize: vertical; } .m01-logic__section { display: flex; flex-direction: column; gap: var(--spacing-4); } .m01-logic__section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-8); } .m01-logic__section-head h3, .m01-logic__calc h3 { margin: 0; font-size: var(--text-body-sm); color: var(--color-text); } /* 겉 = 표 부품 데이터표(ui-table--data · 줄 28) · 여기는 위 맞춤만 */ .m01-logic__grid td { vertical-align: top; } .m01-logic__grid th, .m01-logic__grid .ui-btn { white-space: nowrap; } .m01-logic__scroll { overflow-x: auto; } .m01-logic__grid--ho { min-width: 1124px; table-layout: fixed; } .m01-logic__grid--ho th:nth-child(1) { width: 76px; } .m01-logic__grid--ho th:nth-child(2) { width: 220px; } .m01-logic__grid--ho th:nth-child(3) { width: 150px; } .m01-logic__grid--ho th:nth-child(4) { width: 56px; } .m01-logic__grid--ho th:nth-child(5) { width: 300px; } .m01-logic__grid--ho th:nth-child(6), .m01-logic__grid--ho th:nth-child(7) { width: 100px; } .m01-logic__grid--ho th:nth-child(8) { width: 90px; } .m01-logic__grid--ho th:nth-child(9) { width: 32px; } .m01-logic__pair { display: flex; align-items: center; gap: var(--spacing-4); } .m01-logic__stack { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .m01-logic__range { display: flex; align-items: center; gap: 2px; } .m01-logic__num { width: 64px; } .m01-logic__money { display: block; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; } /* 목록 「별칭」 칸(208-1) — 칸 안 글 상자 · 테두리는 올렸을 때만 */ .m01-logic__alias { width: 160px; padding: 2px var(--spacing-4); border: 1px solid transparent; border-radius: var(--radius-buttons); background: transparent; color: inherit; font: inherit; } .m01-logic__alias:hover, .m01-logic__alias:focus { border-color: var(--color-border); background: var(--color-canvas); } /* 겉 = 띠 알림 부품(ui-banner--danger) · 여기는 제목 · 까닭 줄 쌓기만 */ .m01-logic__reasons { flex-direction: column; gap: 2px; } .m01-logic__sums { display: grid; grid-template-columns: auto 1fr; gap: 2px var(--spacing-8); margin: 0; } .m01-logic__sums dt { color: var(--color-text-secondary); } .m01-logic__sums dd { margin: 0; text-align: right; } .m01-logic__calc-out { display: flex; flex-direction: column; gap: var(--spacing-8); } /* 고르기 창 = 모달 부품(ui-modal · 720 · 위 고정) — 여기는 덧붙임 없음 · 표 · 복사 창만 폭 곁값 */ .m01-logic__pick-bar { display: grid; grid-template-columns: 120px 1fr auto; align-items: center; gap: var(--spacing-8); } .m01-logic__pick-list { overflow: auto; } /* 고르는 줄 = 목록 줄 부품(button) · 열 고르기 줄(div)만 아래 선 */ .m01-logic__pick-row { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-8); width: 100%; padding: var(--spacing-4) var(--spacing-8); } div.m01-logic__pick-row { border-bottom: 1px solid var(--color-border); } .m01-logic__chips { display: flex; flex-wrap: wrap; gap: var(--spacing-4); }