.top { margin: 0 0 6px; }
/* phiếu kết quả: gọn trong một màn hình để chụp gửi đi */
.sheet { background: var(--card); border: 2px solid var(--line); border-radius: 18px; padding: 16px; margin: 6px 0 10px; }
.sheetHead { font-weight: 700; font-size: 1.05rem; margin-bottom: 8px; }
.verdict { font-size: 1.5rem; font-weight: 800; line-height: 1.25; padding: 12px 14px; border-radius: 14px; background: var(--soft); }
/* màu chữ là kết quả cho bố mẹ: xanh dương là máy đạt, đỏ là không đạt */
.sheet.ok .verdict, .sheet.ok .facts td.v { color: #1a5fb4; }
.sheet.ok .facts td.v.warn { color: #9a6200; }
.sheet.bad .verdict, .sheet.bad .facts td.v { color: #c01c28; }
.reasons { margin: 8px 2px 4px; font-size: .95rem; }
.reasons div { margin: 3px 0; }
.facts { width: 100%; border-collapse: collapse; margin: 8px 0 4px; font-size: .95rem; }
.facts td { padding: 6px 4px; border-top: 1px solid var(--line); vertical-align: top; }
.facts td:first-child { width: 1.6em; text-align: center; }
.facts td.k { color: var(--muted); width: 34%; }
.facts td.v { font-weight: 600; }
.facts small { display: block; font-weight: 400; color: var(--muted); }
.note { font-size: .85rem; color: var(--muted); margin: 8px 0 4px; }
.stamp { font-size: .85rem; color: var(--muted); text-align: right; }
@media (prefers-color-scheme: dark) {
  .sheet.ok .verdict, .sheet.ok .facts td.v { color: #8cb8f2; }
  .sheet.ok .facts td.v.warn { color: #f2cf7a; }
  .sheet.bad .verdict, .sheet.bad .facts td.v { color: #f28b8b; }
}
.more { margin-top: 18px; }
.more summary { cursor: pointer; font-weight: 600; padding: 8px 0; }

.checks { list-style: none; padding: 0; margin: 14px 0; }
.check { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; margin: 10px 0; }
.check .head { display: flex; gap: 10px; align-items: center; }
.check .icon { font-size: 1.6rem; width: 2rem; text-align: center; flex: none; }
.check .name { font-weight: 600; flex: 1 1 auto; }
.check .badge { font-size: 1.3rem; flex: none; }
.check .detail { margin: 6px 0 0 2.6rem; color: var(--muted); font-size: .95rem; }
.check .tip { white-space: pre-line; margin: 6px 0 0 2.6rem; font-size: .95rem; padding: 8px 12px; border-radius: 10px; background: var(--soft); }
.check .acts { margin: 6px 0 0 2.6rem; }
.check.bad { border-color: var(--warn); }
.check.warn { border-color: #d39b22; }
.meter { height: 12px; border-radius: 6px; background: var(--soft); overflow: hidden; margin: 8px 0 0 2.6rem; }
.meter > span { display: block; height: 100%; width: 0; background: var(--ok); transition: width .1s; }
