/* 병원경영 attend 묶음의 모양. 클래스는 .mga- 로 시작한다. 글자 12px, 칸 24px, 모서리 0, 그림자 없음 */
.mga-si { white-space: nowrap; }
.mga-si b { margin-left: 2px; }
.mga-sep { width: 1px; height: 18px; background: var(--line); margin: 0 4px; }
.mga-chk { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.mga-w40 { width: 40px; } .mga-w50 { width: 50px; } .mga-w60 { width: 60px; } .mga-w70 { width: 70px; } .mga-w110 { width: 110px; } .mga-w120 { width: 124px; }
.mga-range { min-width: 150px; text-align: center; }
.mga-mt { margin-top: 6px; }
.mga-pend { color: var(--red); margin-left: auto; white-space: nowrap; }
/* 계산 기준 줄 */
.mga-basis { flex: 0 0 auto; border: 1px solid var(--line-soft); background: #fff; padding: 2px 6px; font-size: 11px; color: var(--muted); }
/* 화면 배치 */
.mga-two { display: grid; grid-template-columns: 440px minmax(0, 1fr); gap: 6px; min-height: 0; flex: 0 0 auto; }
.mga-three { display: grid; grid-template-columns: 330px 330px minmax(0, 1fr); gap: 6px; min-height: 0; flex: 1 1 auto; }
.mga-three > .panel { min-height: 250px; }
.mga-stack { display: flex; flex-direction: column; gap: 6px; min-height: 0; }
.mga-stack > .panel { flex: 0 0 auto; }
.mga-stack > .panel:nth-last-of-type(1), .mga-stack > .panel:last-of-type { flex: 1 1 auto; min-height: 130px; }
.mga-fill { max-height: 100%; }
.mga-col { display: flex; flex-direction: column; gap: 6px; }
.mga-punch { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.mga-punch .btn { min-width: 76px; }
.mga-code { display: inline-flex; gap: 4px; align-items: center; margin-left: 6px; }
.mga-info th { width: 90px; text-align: left; background: #f1f4f8; }
.mga-short { max-height: 230px; }
.mga-grantwrap { display: grid; grid-template-columns: 440px minmax(0, 1fr); gap: 8px; }
.mga-reason { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mga-hol td { background: #fdf6ee; }
table.mga-week td, table.grid.mga-week td { height: 24px; }
tr.sum th, tr.sum td { background: #f1f4f8; border-top: 1px solid var(--line); }
tfoot tr.sum th { text-align: right; }
/* 직원 x 날짜 근무표: 월간 31칸이 1500px 창에 가로 스크롤 없이 들어가게 칸 폭을 고정한다 */
.mga-gridwrap { overflow: auto; }
table.mga-grid { table-layout: fixed; width: 100%; }
table.mga-grid th { padding: 1px 0; text-align: center; font-size: 11px; line-height: 14px; }
table.mga-grid th.mga-name, table.mga-grid td.mga-name { width: 74px; text-align: left; padding: 0 5px; white-space: nowrap; overflow: hidden; }
table.mga-grid th.mga-tot { width: 36px; }
table.mga-grid td.num { width: 36px; padding: 0 3px; font-size: 11px; }
table.mga-grid td.c { padding: 0; text-align: center; height: 24px; line-height: 14px; cursor: pointer; user-select: none; position: relative; font-size: 11px; overflow: hidden; white-space: nowrap; border-right: 1px solid var(--line-soft); }
table.mga-grid td.c:hover { outline: 1px solid var(--blue); outline-offset: -1px; }
table.mga-grid th.c.sun, table.mga-grid td.c.sun { color: var(--red); }
table.mga-grid th.c.sat { color: var(--blue); }
table.mga-grid th.c.hol, table.mga-grid td.c.hol { background: #fdeeee; }
table.mga-grid td.c.off { color: var(--muted); background: #f1f3f6; }
table.mga-grid td.c.lv { background: #fdf0e2; color: #8a4b12; }
table.mga-grid td.c.chg { outline: 1px dashed var(--blue); outline-offset: -2px; }
table.mga-grid td.c.iss-warn { box-shadow: inset 0 0 0 2px #e0b400; }
table.mga-grid td.c.iss-err { box-shadow: inset 0 0 0 2px var(--red); }
.mga-wk { position: absolute; right: 1px; top: 0; font-size: 9px; line-height: 9px; color: var(--red); }
table.mga-grid.week td.c { height: 36px; }
.mga-t { font-size: 10px; color: var(--muted); line-height: 11px; }
.mga-palette { gap: 6px; align-items: center; flex-wrap: wrap; }
/* 내 근무표 달력 */
table.mga-cal { table-layout: fixed; }
table.mga-cal th { text-align: center; }
table.mga-cal th.sun { color: var(--red); } table.mga-cal th.sat { color: var(--blue); }
table.mga-cal td.mga-day { height: 64px; vertical-align: top; cursor: pointer; padding: 2px 4px; }
table.mga-cal td.mga-day.out { color: #b7bdc7; background: #fafbfc; }
table.mga-cal td.mga-day.off { background: #f1f3f6; }
table.mga-cal td.mga-day.hol { background: #fdeeee; }
table.mga-cal td.mga-day.today { outline: 2px solid var(--blue); outline-offset: -2px; }
.mga-dn { font-weight: 700; }
.mga-ct { font-size: 11px; line-height: 14px; }
table.mga-cal td.mga-wsum { width: 70px; text-align: right; vertical-align: top; font-weight: 700; padding: 2px 6px; }
.mga-hl { margin-top: 6px; }
.mga-doc h2 { font-size: 16px; text-align: center; margin: 0 0 12px; }
.mga-doc p { line-height: 1.7; margin: 10px 0; }
.mga-doc table.plain { margin: 8px 0; }
.mga-notice { display: flex; flex-direction: column; gap: 6px; }
