/* Soạn kế hoạch bài dạy (khbd-) + khung trang in dùng chung của nhóm Soạn bài, lịch giảng (sg-: kế hoạch bài dạy, ma trận đề, bảng tiêu chí, lịch báo giảng). */

/* ── Trang in A4 dùng chung (sg-) ── */
.chinh:has(> .sg-in) { max-width: none; padding: 0; }
body:has(.sg-in) { background: #e9ece8; color: var(--chu); }
body:has(.sg-in) .sg-in a:not(.nut) { color: var(--c-dam); }
body:has(.sg-in) .sg-in a.nut--vien { color: var(--c-dam); }
.sg-in { background: #e9ece8; min-height: 100vh; padding: 0 0 32px; }
.sg-in__thanh { position: sticky; top: 0; z-index: 5; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 16px;
  background: var(--the); border-bottom: 1px solid var(--vien); }
.sg-in__ai { font-weight: 600; margin-right: auto; }
.sg-in__tt { font-size: .875rem; color: var(--phu); }
.sg-to { background: #fff; color: #000; width: 210mm; max-width: 100%; margin: 16px auto; padding: 20mm 15mm 20mm 25mm; box-shadow: 0 2px 10px rgba(0,0,0,.12);
  font-family: "Times New Roman", Times, serif; font-size: 13pt; line-height: 1.45; }
.sg-to--ngang { width: 297mm; padding: 12mm 12mm 12mm 14mm; font-size: 11pt; }
.sg-to h1, .sg-to h2, .sg-to h3 { font-family: inherit; color: #000; }
.sg-to p { margin: 0 0 4pt; }
.sg-bang { border-collapse: collapse; width: 100%; margin: 4pt 0 8pt; }
.sg-bang th, .sg-bang td { border: 1px solid #000; padding: 3pt 4pt; vertical-align: top; }
.sg-bang th { font-weight: 700; text-align: center; vertical-align: middle; }
.sg-bang tr { break-inside: avoid; }
.sg-giua { text-align: center; }
.sg-khung-cuon { overflow-x: auto; }
@media (max-width: 640px) { .sg-to { padding: 16px 14px; font-size: 12pt; } }
@media print {
  body:has(.sg-in) { background: #fff; }
  body:has(.sg-in) .demo-bar, body:has(.sg-in) .bao, .sg-khong-in { display: none !important; }
  .sg-in { background: none; padding: 0; min-height: 0; }
  .sg-to, .sg-to--ngang { width: auto; margin: 0; padding: 0; box-shadow: none; }
  .sg-khung-cuon { overflow: visible; }
}
.sg-chia-se__nut { margin-top: 10px; }

/* ── Trang soạn ── */
.khbd-tim { display: flex; gap: 8px; margin-bottom: 10px; }
.khbd-tim input { flex: 1; min-width: 0; min-height: 40px; padding: 6px 12px; border: 1px solid #cfd6d1; border-radius: var(--r-nho); font: inherit; }
.khbd-an { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.khbd-form .the h2 { margin-bottom: 12px; }
.khbd-o .field__hint { font-size: .8125rem; line-height: 1.45; }
.khbd-o textarea { min-height: 88px; line-height: 1.5; }
.khbd-hd { border: 1px solid var(--vien); border-radius: var(--r-nho); padding: 12px 14px 14px; margin: 0 0 14px; display: grid; gap: 12px; }
.khbd-hd legend { font-weight: 700; padding: 0 6px; color: var(--c-dam); }
.khbd-hd__nut { justify-content: flex-end; }
.khbd-ghi { background: var(--c-nhat); border-radius: 10px; padding: 10px 14px; font-size: .9375rem; }
.khbd-ghi summary { cursor: pointer; font-weight: 700; color: var(--c-dam); }
.khbd-ghi li { margin: 6px 0; }
.khbd-luu { position: sticky; bottom: 0; z-index: 4; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 10px 0 12px;
  background: linear-gradient(to top, var(--bg) 75%, transparent); }

/* ── Bản in ── */
.khbd-to h2 { font-size: 13pt; margin: 10pt 0 4pt; }
.khbd-to h3 { font-size: 13pt; margin: 8pt 0 3pt; }
.khbd-to__dau { margin-bottom: 10pt; }
.khbd-to__giua { text-align: center; }
.khbd-to__y { margin: 4pt 0 2pt !important; text-align: justify; }
.khbd-to__nd p { text-indent: 1cm; text-align: justify; }
@media print { .khbd-to h2, .khbd-to h3 { break-after: avoid; } }
