/* 구강검진 화면 모양: 왼쪽 수검자 정보와 목록, 오른쪽 문진표와 검사 결과 */
.checkup > .tabs-body { display: flex; flex-direction: column; overflow: hidden; padding: 6px 0 0; border: 0; background: transparent; }
.checkup > .tabs-body > * { flex: 1 1 auto; min-height: 0; min-width: 0; }
.checkup-split { display: grid; grid-template-columns: 336px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 6px; }
.checkup-left, .checkup-right { display: flex; flex-direction: column; gap: 6px; min-height: 0; min-width: 0; }
.checkup-left > .panel:last-child { flex: 1 1 auto; }
.checkup-left > .panel:last-child > .panel-body { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.checkup-right > .checkup-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 6px; }
.checkup-right .panel { flex: 0 0 auto; }
.checkup-info { table-layout: fixed; }
.checkup-info th { width: 62px; padding: 2px 4px; }
.checkup-info td { padding: 2px 5px; height: 24px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.checkup-info .inp { min-height: 22px; padding: 0 4px; }
.checkup-btns { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.checkup-list td { height: 24px; white-space: nowrap; }
.checkup-list input[type=checkbox] { margin: 0; vertical-align: middle; }
.checkup-q { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; }
.checkup-q-row { display: flex; align-items: center; gap: 8px; min-height: 26px; border-bottom: 1px solid var(--line-soft); }
.checkup-q-row .q { flex: 0 0 216px; }
.checkup-q-row .a { flex: 1 1 auto; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.checkup label { display: inline-flex; align-items: center; gap: 3px; cursor: pointer; white-space: nowrap; }
.checkup input[type=radio], .checkup input[type=checkbox] { margin: 0; }
.checkup-res { width: 100%; border-collapse: collapse; }
.checkup-res th { width: 96px; background: #f1f4f8; font-weight: 400; border: 1px solid var(--line-soft); padding: 3px 6px; text-align: center; }
.checkup-res td { border: 1px solid var(--line-soft); padding: 3px 8px; }
.checkup-res td .row { gap: 12px; }
.checkup-chart { display: inline-flex; flex-direction: column; gap: 2px; }
.checkup-chart-row { display: flex; gap: 10px; justify-content: center; }
.checkup-chart-half { display: flex; gap: 2px; }
.checkup-tooth { width: 34px; height: 24px; padding: 0; border: 1px solid var(--btn-line); background: #eef0fb; cursor: pointer; font-size: 11px; }
.checkup-tooth.deci { background: #f5f1fc; }
.checkup-tooth.caries { background: #fbe1dc; border-color: #d98a80; color: #8f2a20; font-weight: 700; }
.checkup-tooth.missing { background: #d9dee7; border-color: #8a94a6; font-weight: 700; }
.checkup-tooth.restored { background: #d6f0ee; border-color: #6fb3ad; color: #1f6a63; font-weight: 700; }
.checkup-tooth:disabled { cursor: default; }
.checkup-foot { flex: 0 0 auto; display: flex; gap: 6px; align-items: center; padding: 4px 6px; border: 1px solid var(--line); background: #fff; }
.checkup-cond { flex: 0 0 auto; border: 1px solid var(--line); background: #fff; }
.checkup-cond-row { display: flex; height: 30px; border-bottom: 1px solid var(--line-soft); }
.checkup-cond-row:last-child { border-bottom: 0; }
.checkup-cond-lbl { flex: 0 0 78px; display: flex; align-items: center; justify-content: center; background: var(--head); border-right: 1px solid var(--line); font-weight: 700; }
.checkup-cond-body { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 8px; white-space: nowrap; }
.checkup-cond-body label.on { color: var(--blue); font-weight: 700; }
.checkup-cond-body .inp { width: auto; }
.checkup-all { display: flex; flex-direction: column; gap: 6px; }
.checkup-all > .grid-wrap { flex: 1 1 auto; }
.checkup-note { font-size: 11px; color: var(--red); }
.checkup .btn:disabled { background: var(--btn); border-color: var(--btn-line); color: #9aa1ad; }
.checkup .grid-wrap > table.grid { table-layout: fixed; }
.checkup .grid-wrap > table.grid td { overflow: hidden; text-overflow: ellipsis; }
