/* sheet.css — รายงาน A4 และกฎการพิมพ์ (ใช้ทั้งหน้าคนไข้และหน้าแอดมิน) */
/* ================= REPORT ================= */
#reportView{display:none}
.sheetbar{max-width:800px; margin:0 auto; padding:24px 20px 6px; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.sheetbar .note{font-size:13px; color:var(--muted); margin-left:auto; text-align:right}
.savestat{font-size:13.5px; font-weight:600}
.savestat.busy{color:var(--muted)}
.savestat.ok{color:var(--green)}
.savestat.err{color:var(--red)}
.sheetwrap{padding:14px 20px 60px; display:flex; justify-content:center}

.page{
  width:210mm; min-height:297mm; background:var(--cream);
  padding:12mm 12mm 10mm; color:var(--ink);
  box-shadow:0 6px 30px var(--shadow);
  font-size:10.2pt; line-height:1.42;
}
.rp-head{text-align:center; padding-bottom:6px; border-bottom:2px solid var(--rule)}
.rp-head h1{margin:0; font-size:23pt; font-weight:800; letter-spacing:-.3px; line-height:1.25}
.rp-head p{margin:1px 0 0; font-size:10.5pt; color:var(--ink-2)}
.rp-info{margin-top:9px; background:var(--cream-2); border-radius:3px; display:flex; font-size:9.6pt; padding:6px}
.rp-info div{flex:1; text-align:center; padding:0 6px; border-right:1px solid var(--info-line)}
.rp-info div:last-child{border-right:0}
.rp-summary{
  margin-top:8px; background:var(--surface); border-left:4px solid var(--olive);
  padding:7px 12px; font-size:8.9pt; line-height:1.4; color:var(--ink-2); border-radius:0 4px 4px 0;
}
.rp-summary b{color:var(--ink)}
.cols{display:flex; gap:13px; margin-top:11px; align-items:flex-start}
.col-l{flex:1.32; min-width:0}
.col-r{flex:1; min-width:0}
h2.sec{margin:0 0 7px; font-size:12.5pt; font-weight:800; border-left:5px solid var(--olive); padding-left:10px; line-height:1.25}
.col-l h2.sec:not(:first-child), .col-r h2.sec{margin-top:13px}
table.rt{width:100%; border-collapse:collapse; font-size:9.1pt}
table.rt th{background:var(--olive-head-2); color:#fff; font-weight:600; padding:5px 8px; text-align:center; border:1px solid var(--olive-head-2)}
table.rt td{border:1px solid var(--line); padding:4.5px 8px; background:var(--surface)}
table.rt td.c{text-align:center}
table.rt.dark th{background:var(--olive-head); border-color:var(--olive-head)}
.el{margin:7px 0 0}
.el-top{display:flex; justify-content:space-between; align-items:baseline; font-size:9.4pt}
.el-top .nm{font-weight:600}
.el-top .st{font-weight:800}
.bar{height:8px; background:var(--track); border-radius:5px; margin-top:3px; overflow:hidden}
.bar > i{display:block; height:100%; border-radius:5px}
.c-green{color:var(--green)} .bg-green{background:var(--green)}
.c-amber{color:var(--amber-txt)} .bg-amber{background:var(--amber)}
.c-red{color:var(--red)}   .bg-red{background:var(--red)}
table.routine{width:100%; border-collapse:collapse; font-size:7.7pt; line-height:1.3}
table.routine th{background:var(--cream-2); color:var(--ink); font-weight:700; padding:4px 7px; text-align:left; border:1px solid var(--line); font-size:8.4pt}
table.routine th:first-child{white-space:nowrap}
table.routine td{border:1px solid var(--line); padding:3.5px 7px; vertical-align:top; background:var(--surface)}
table.routine td.tm{width:25%; font-weight:700; white-space:pre-line}
table.routine td.tm em{display:block; font-style:normal; font-weight:500; color:var(--ink-2); font-size:7.6pt}
.scorebox{border:1px solid var(--line); background:var(--surface); border-radius:5px; padding:10px 14px 11px; text-align:center}
.scorebox h3{margin:0 0 1px; font-size:12.5pt; font-weight:800}
.scorebox .big{font-size:34pt; font-weight:800; line-height:1.05; letter-spacing:-1px}
.scorebox .big .unit{font-size:13pt; font-weight:600; color:var(--ink-2)}
.scorebox .fn{margin:4px 0 0; font-size:7.5pt; color:var(--muted); line-height:1.38}
.kv{display:flex; justify-content:space-between; gap:10px; align-items:baseline; padding:5.5px 2px; border-bottom:1px dashed var(--line); font-size:9.4pt}
.kv:last-child{border-bottom:0}
.kv .k{color:var(--ink-2)}
.kv .v{font-weight:800; text-align:right}
.disclaimer{margin-top:10px; font-size:7.5pt; color:var(--muted); line-height:1.42}
.rp-foot{margin-top:10px; padding-top:6px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:7.6pt; color:var(--muted)}

/* ================= PRINT ================= */
@page{size:A4 portrait; margin:0}
@media print{
  :root, :root[data-theme="dark"]{
    color-scheme:light;
    --olive:#7f8455; --olive-dark:#5f6540; --olive-head:#8d8e6e; --olive-head-2:#a5a48b;
    --cream:#faf8f2; --cream-2:#f2efe6;
    --surface:#fff; --surface-2:#fdfdfa; --hover:#fbfaf5; --hint-bg:#fdfcf6;
    --ink:#33332e; --ink-2:#5b5b52; --muted:#8a8a80;
    --line:#d9d7cc; --track:#e3e1da; --rule:#3f3f38; --info-line:#dedbd0;
    --red:#b8392c; --amber:#e2a13b; --green:#6f7d4c; --amber-txt:#c8891f;
  }
  html,body{background:#fff !important; margin:0; padding:0}
  .no-print, #fabs, .toast{display:none !important}
  .sheetwrap{padding:0 !important; display:block !important; margin:0 !important}
  .page{width:210mm; min-height:auto; box-shadow:none; margin:0}
  table.routine tr,.el,.kv,.scorebox{break-inside:avoid}
  h2.sec{break-after:avoid}
}
@media screen and (max-width:900px){
  .page{width:100%; padding:18px}
  .cols{flex-direction:column}
}
