Files
Aislo/M01_MasterData/M01_MasterData_UI_LogicLab_Style.css
T
eomsangdonandClaude Opus 5.5 0541830750 fix(공용): 모달 위 고정 · 보이는 글 「더하기」 → 「추가」(30-1)
- 공용 .ui-modal: 세로 가운데 대신 최대 높이 기준 가운데 자리에 윗변 고정 · 아래로만 늘고 줆(찾기 칸이 안 움직임) · 큰 창은 --modal-max(고르기 모달 94vh · 노선 추천 92vh · M01 복사 시트 90vh) · M02 단추 아래 작은 창은 margin-top 0
- 따로 둔 모달도 같게: B01 대시보드 모달 · M01 로직 고르기(m01-logic) · M01 조달 찾기
- 가운데 그대로: 불러오는 중 가림 · 공용 확인 창 · B03 확인 창 · B05 노선 편집(고정 높이) · 스프레드시트 메모 편집
- 「더하기」 → 「추가」 25곳(스프레드시트 · M01 · M02 · 공용 표 · locale) · 안쪽 명령 이름 시트더하기 · 주석은 그대로
- 시험 test_modal_top_and_add_word 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 18:56:43 +09:00

200 lines
3.6 KiB
CSS

/* M01 로직 개선 시험 — 상세 화면 컨테이너 넷 · 호표 묶음 · 자료 모달 */
.m01lab__box {
padding: var(--spacing-12);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
}
/* 컨테이너 넷 한 양식 — 바깥 간격 · 안쪽 칸 사이 간격 · 제목 크기(폭이 좁아도 같은 규칙) */
.m01lab__box + .m01lab__box {
margin-top: var(--spacing-12);
}
.m01lab__box.m01-logic__section {
gap: var(--spacing-8);
}
.m01lab__box > .m01-logic__section-head h3 {
font-size: var(--text-body);
font-weight: 600;
}
.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);
}
/* 칸 폭 고정(`table-layout: fixed`) — 인력·재료·경비 세 표가 저마다 딴 `<table>` 이라
내용 기준으로 폭이 갈리던 것을 막고 셋이 같은 폭으로 맞춰짐(일감35 이어 — 수량 칸 알약화). */
.m01lab__ho {
table-layout: fixed;
}
.m01lab__ho th:nth-child(1) {
width: 26%;
}
.m01lab__ho th:nth-child(2) {
width: 8%;
}
.m01lab__ho th:nth-child(3) {
width: 40%;
}
.m01lab__ho th:nth-child(4),
.m01lab__ho th:nth-child(5) {
width: 13%;
}
.m01lab__line {
cursor: pointer;
}
.m01lab__line:hover,
.m01lab__line:focus {
background: var(--color-paper);
}
.m01lab__line--extra {
font-style: italic;
}
.m01lab__expr {
font-family: var(--font-mono, monospace);
font-size: var(--text-body-sm);
white-space: pre-wrap;
word-break: break-all;
}
/* 수량 칸 — 알약 + 사칙연산 글자를 이어 붙이고, 칸 폭을 넘으면 그 칸 폭 기준으로 줄바꿈 */
.m01lab__qty-cell {
overflow-wrap: anywhere;
}
.m01lab__qty-frags {
display: inline-flex;
flex-wrap: wrap;
align-items: baseline;
gap: 2px 4px;
min-width: 0;
}
.m01lab__qty-text {
font-family: var(--font-mono, monospace);
font-size: var(--text-body-sm);
white-space: pre-wrap;
}
.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;
}
.m01lab__text {
font-family: var(--font-mono, monospace);
font-size: var(--text-body-sm);
word-break: break-all;
padding: var(--spacing-4) 0;
}
.m01lab__text--off {
opacity: 0.55;
}
.m01lab__subtotal-text {
margin: var(--spacing-4) 0;
font-weight: 600;
text-align: right;
}
/* 복사해서 만들기(3-4) — 별칭 꼴 식 시트 */
.m01copy__sheet {
width: min(1040px, 94vw);
--modal-max: 90vh;
}
.m01copy__head {
display: grid;
grid-template-columns: 2fr 1fr;
gap: var(--spacing-8);
}
.m01lab__own > :first-child {
display: none;
}
.m01lab__edit {
margin-top: var(--spacing-12);
}
/* 시험 계산 — 재료 · 기계 고르기 표 모달 */
.m01-logic__pick--table {
width: min(1040px, 94vw);
}
.m01lab__pickrow {
cursor: pointer;
}
.m01lab__pickrow:hover,
.m01lab__pickrow.is-picked {
background: var(--color-paper);
}
.m01lab__pickrow.is-picked {
font-weight: 600;
}
.m01lab__warn {
color: var(--color-warning, #b45309);
}