/* Deliberately local to the teacher's controls. No generated document selectors. */
@media screen {
 .nl-dialog{margin:auto;box-sizing:border-box;width:min(820px,calc(100vw - 32px));max-height:90vh;border:1px solid #d9e1e9;border-radius:14px;padding:0;color:#20354a;background:#fff;font:15px/1.65 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;box-shadow:0 18px 60px #132b4b24}
 .nl-dialog::backdrop{background:#14283d66}.nl-dialog *{box-sizing:border-box}.nl-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-bottom:1px solid #e3e8ed;background:#f9fafb}.nl-eyebrow{font-size:12px;letter-spacing:.04em;color:#536a7d}.nl-dialog h2{font-size:23px;line-height:1.4;margin:4px 0 0;letter-spacing:-.6px}.nl-body{padding:0 28px 24px}.nl-dialog h3{font-size:18px;margin:0 0 10px;letter-spacing:-.3px}.nl-dialog h3 small{font-size:12px;font-weight:400;color:#587081;margin-left:8px}.nl-dialog h4{font-size:14px;margin:24px 0 10px}.nl-dialog p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 14px}.nl-source,.nl-section{padding:24px 0;border-bottom:1px solid #e3e8ed}.nl-source p{color:#536477;font-size:13px}.nl-caption{font-size:13px;color:#566a7b;margin:8px 0 14px!important}.nl-context{padding:16px 18px;background:#f4f7f9;border-left:3px solid #aec9bc;margin:14px 0}.nl-context span{font-size:12px;font-weight:700;color:#536477}.nl-context p{margin:3px 0 12px}.nl-context p:last-child{margin-bottom:0}.nl-dialog label:not(.nl-check),.nl-dialog label[for]{display:block;font-size:14px;margin:12px 0 6px}.nl-dialog textarea,.nl-dialog input[type=date]{width:100%;padding:11px 12px;font:inherit;color:#20354a;border:1px solid #b8c6d2;border-radius:7px;background:#fff;min-height:44px}.nl-dialog input[type=date]{width:auto;max-width:100%}.nl-dialog textarea{resize:vertical;min-height:70px}.nl-dialog [hidden]{display:none!important}.nl-dialog button,.nl-entry-button{font:inherit;font-size:13px;font-weight:600;min-height:42px;padding:9px 14px;border:1px solid #b9c8d6;border-radius:7px;background:#fff;color:#254463;cursor:pointer}.nl-dialog button:disabled,.nl-entry-button:disabled{opacity:.5;cursor:wait}.nl-dialog .nl-primary{background:#245dc1;border-color:#245dc1;color:#fff}.nl-dialog :focus-visible,.nl-entry-button:focus-visible{outline:3px solid #b45309;outline-offset:3px}.nl-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:12px 0;font-size:14px}.nl-check input{flex:none;margin-top:6px;width:17px;height:17px;accent-color:#245dc1}.nl-inline,.nl-top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nl-top-actions{margin:16px 0 8px}.nl-note{border-top:1px solid #e3e8ed;padding:10px 0}.nl-note-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.nl-note time,.nl-note small{display:block;font-size:12px;color:#536477}.nl-note-tools{display:flex;gap:8px;margin-left:27px}.nl-note-tools button{min-height:32px;padding:4px 9px;font-size:12px}.nl-choice{padding:0;border:0;margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nl-choice label{margin:0!important;padding:13px 12px;border:1px solid #cbd6df;border-radius:8px;display:flex!important;gap:8px;align-items:flex-start;cursor:pointer}.nl-choice input{margin-top:6px;accent-color:#245dc1}.nl-choice b{font-size:13px}.nl-choice small{font-size:12px;color:#536477;display:block;margin-top:5px}.nl-choice label:has(input:checked){border-color:#245dc1;background:#f4f7fd}.nl-review{margin:24px 0 0;padding:20px;background:#f8fafb;border:1px solid #c3d3df;border-radius:9px}.nl-warning{font-size:13px;color:#775314;border-left:2px solid #ae7a23;padding:8px 12px;background:#fff8e9}.nl-error{color:#9b2929!important}.nl-status{position:sticky;bottom:0;margin:0!important;padding:14px 28px;border-top:1px solid #e3e8ed;background:#fff;font-size:13px;z-index:2}.nl-status:empty{display:none}.nl-done{padding:40px 0}.nl-picker{padding:20px 0;display:grid;gap:10px}.nl-picker button{text-align:left;padding:15px 16px}.nl-picker span{display:block;font-size:12px;font-weight:400;color:#536477;margin-top:5px}.nl-result-actions{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 16px}#nl-home-entry{margin:12px 0}.nl-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 @media(max-width:600px){.nl-dialog{width:calc(100vw - 16px);max-height:94vh;border-radius:10px}.nl-header{padding:18px}.nl-dialog h2{font-size:20px}.nl-body{padding:0 18px 18px}.nl-status{padding:12px 18px}.nl-choice{grid-template-columns:1fr}.nl-choice small{margin-top:2px}.nl-section{padding:20px 0}.nl-top-actions{align-items:stretch;flex-direction:column}.nl-top-actions button{width:100%}.nl-dialog .nl-primary{width:100%}}
}
@media print{.nl-dialog,.nl-result-actions,.nl-entry-button{display:none!important}}

/* 2026-09-24 혁재: 처음 보는 선생님도 쉽게 — 단계 번호, 큰 글자, 넉넉한 간격, 기준은 접어 두기 */
.nl-body{font-size:15px;line-height:1.6}
.nl-section{padding:20px 0;border-top:1px solid #EFEFEF}
.nl-section h3{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 6px;color:#111111}
.nl-section h3 small{font-size:13px;font-weight:400;color:#6E6E73}
.nl-step-no{flex:none;width:28px;height:28px;border-radius:50%;background:#111111;color:#FFFFFF;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.nl-caption{color:#6E6E73;font-size:14px}
.nl-body label{font-size:14px;font-weight:600;color:#111111}
.nl-body textarea,.nl-body input[type=date]{font-size:16px;border:1px solid #CFCFCF;border-radius:12px;padding:10px 14px;min-height:44px;box-sizing:border-box}
.nl-choice label{border:1px solid #E2E2E2;border-radius:14px;padding:14px;min-height:44px;cursor:pointer}
.nl-choice label:has(input:checked){border-color:#111111;box-shadow:0 0 0 1px #111111}
.nl-choice b{font-size:16px}
.nl-basis summary{cursor:pointer;font-weight:700;font-size:15px;min-height:44px;display:flex;align-items:center;gap:8px}
.nl-basis summary small{font-weight:400;color:#6E6E73}
.nl-next{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:12px}
.nl-primary{background:#111111!important;color:#FFFFFF!important;border:1px solid #111111!important;border-radius:12px!important;min-height:48px;padding:0 22px!important;font-size:15px!important;font-weight:700}
.nl-status:empty{display:none}
/* 2026-09-24 긴급(혁재): "다음 수업은 어떻게 할까요?" 카드 글자가 한 글자씩 세로로 깨짐 — 선택 버튼이 공통 입력칸 규칙(폭 100%)을 받아 글자 칸을 빼앗았다.
   선택 버튼은 제 크기, 글자 칸은 남은 폭 전부. 카드는 최소 200px, 좁으면 위아래로 쌓인다. 한국어는 낱말 단위로 줄바꿈. */
.nl-choice{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.nl-choice label{min-width:0}
.nl-choice input{flex:0 0 auto;width:auto;padding:0}
.nl-choice label>span{flex:1 1 auto;min-width:0;word-break:keep-all;overflow-wrap:break-word}
/* 2026-10-11 qa5: 아래 안내줄(sticky)이 마지막 칸·버튼을 가리지 않게 스크롤 여유 */
.nl-dialog{scroll-padding-bottom:72px}
