/* equip.hg-md.com — สีใช้เฉพาะชุดโทเคนที่วัด contrast แล้ว (สกิล web-look-and-feel ข้อ 1.0) · ตัวหนังสือใหญ่ (คุณโอสายตาไม่ดี) */
:root{
  --bg0:#ffffff; --bg1:#f2f7fb; --bg-dark:#0f2b46; --brand-bg:#1f4e79;
  --ink:#10243a; --ink2:#35506b; --brand:#1f4e79; --accent-ink:#0b6f8c;
  --ok:#1a6b3c; --warn:#8a5300; --bad:#b3261e;
  --on-dark:#ffffff; --on-dark2:#cfe6f5;
  --line:#c9d8e6; --ok-bg:#e6f4ec; --warn-bg:#fdf1e0; --bad-bg:#fbe9e7;
  --r:10px;
}
*{box-sizing:border-box}
html{font-size:20px}
body{margin:0;background:var(--bg0);color:var(--ink);font-family:"Sarabun","Leelawadee UI","Noto Sans Thai","Tahoma",sans-serif;line-height:1.6}
a{color:var(--brand)}
h1{font-size:1.6rem;margin:.2em 0 .5em;color:var(--brand)} h2{font-size:1.3rem;margin:1em 0 .5em;color:var(--brand)} h3{font-size:1.1rem;margin:.8em 0 .4em}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* หัวเว็บ */
.top{background:var(--brand-bg);color:var(--on-dark)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:72px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.top img.logo{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}
.top .name{flex:1;min-width:220px}
.top .name b{display:block;font-size:1.15rem;line-height:1.3}
.top .name span{color:var(--on-dark2);font-size:.85rem}
.top .who{color:var(--on-dark2);font-size:.85rem;text-align:right}
.top .who b{color:var(--on-dark)}
.nav{background:var(--bg-dark)}
.nav .wrap{display:flex;gap:4px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.nav a{color:var(--on-dark);text-decoration:none;padding:8px 12px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover,.nav a.on{background:var(--brand-bg)}
.nav a .cnt{background:var(--bad);color:#fff;border-radius:999px;padding:0 8px;margin-left:6px;font-size:.8rem}
main{padding:18px 0 40px}
.foot{background:var(--bg1);border-top:1px solid var(--line);color:var(--ink2);font-size:.8rem;padding:14px 0}

/* ส่วนประกอบ */
.card{background:var(--bg0);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 14px}
.card.soft{background:var(--bg1)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.kpi{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--bg1);cursor:pointer}
.kpi .n{font-size:2rem;font-weight:700;color:var(--brand);line-height:1.1}
.kpi .l{color:var(--ink2);font-size:.9rem}
.kpi.bad{background:var(--bad-bg);border-color:#e8b4ae} .kpi.bad .n{color:var(--bad)}
.kpi.ok .n{color:var(--ok)} .kpi.warn .n{color:var(--warn)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border-radius:8px;border:1px solid var(--brand);background:var(--brand-bg);color:var(--on-dark);font:inherit;font-size:.95rem;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--bg-dark)}
.btn.ghost{background:var(--bg0);color:var(--brand)} .btn.ghost:hover{background:var(--bg1)}
.btn.bad{background:var(--bad);border-color:var(--bad)} .btn.okb{background:var(--ok);border-color:var(--ok)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
label.f{display:block;margin:0 0 10px} label.f span{display:block;font-size:.9rem;color:var(--ink2);margin-bottom:2px}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);border:1px solid #8aa3bb;border-radius:8px;padding:8px 10px;min-height:44px;width:100%;background:#fff}
textarea{min-height:80px}
input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;vertical-align:middle}
.badge{display:inline-block;border-radius:999px;padding:0 10px;font-size:.8rem;border:1px solid var(--line);background:var(--bg1);color:var(--ink2);white-space:nowrap}
.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:#a9d4b9}
.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:#e9c48f}
.badge.bad{background:var(--bad-bg);color:var(--bad);border-color:#e8b4ae}
.badge.self{background:var(--warn-bg);color:var(--warn);border-color:#e9c48f}
.msg{border-radius:8px;padding:10px 14px;margin:10px 0;white-space:pre-wrap}
.msg.ok{background:var(--ok-bg);color:var(--ok)} .msg.bad{background:var(--bad-bg);color:var(--bad)} .msg.info{background:var(--bg1);color:var(--ink2)}
.muted{color:var(--ink2);font-size:.9rem}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th,.tbl td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.tbl th{background:var(--bg1);color:var(--ink);position:sticky;top:0}
.tbl td.n,.tbl th.n{text-align:right}
.scroll{overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
.kits{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.kit{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--bg0)}
.kit.sel{outline:3px solid var(--accent-ink)}
.kit h3{margin:0 0 4px;color:var(--brand)}
.kit ul{margin:6px 0 0;padding-left:18px;font-size:.85rem;color:var(--ink2)}
.hide{display:none!important}
.center{text-align:center}
.slide{min-height:300px;display:flex;flex-direction:column;justify-content:center}
.slide h2{font-size:1.6rem}
.slide p{font-size:1.15rem}
.dots{display:flex;gap:6px;justify-content:center;margin:10px 0}
.dots i{width:12px;height:12px;border-radius:50%;background:var(--line);display:inline-block}
.dots i.on{background:var(--brand-bg)}
@media (max-width:640px){html{font-size:18px}.top .who{text-align:left;width:100%}.kpi .n{font-size:1.6rem}}

/* ===== เอกสารพิมพ์ — ฝังฟอนต์ TH Sarabun New ไว้กับระบบ (webapp-dev 13.5) · เลขอารบิก (สเปก 2.20) ===== */
@font-face{font-family:"THSarabunNew-EQ";src:url("/fonts/THSarabunNew.ttf") format("truetype");font-weight:400}
@font-face{font-family:"THSarabunNew-EQ";src:url("/fonts/THSarabunNew-Bold.ttf") format("truetype");font-weight:700}
#print{display:none}
.doc{font-family:"THSarabunNew-EQ",serif;font-size:16pt;line-height:1.15;color:#000;background:#fff}
.doc .page{width:180mm;margin:0 auto 10mm;page-break-after:always;break-after:page}
.doc .page:last-child{page-break-after:auto;break-after:auto}
.doc h1{font-size:18pt;color:#000;text-align:center;margin:0 0 3mm;font-weight:400}
.doc table.ks{width:100%;border-collapse:collapse;table-layout:fixed}
.doc table.ks td,.doc table.ks th{border:1px solid #000;padding:1mm 2mm;vertical-align:top;font-weight:400;font-size:15pt}
.doc table.ks .c{text-align:center}
.doc table.ks tr.it td{border-top:none;border-bottom:none}  /* ตัวอย่างไม่มีเส้นคั่นระหว่างรายการ */
.doc table.ks tr.it:last-of-type td{border-bottom:1px solid #000}
.doc .apv{font-size:13pt;margin-top:2mm}
.doc .dots{display:inline-block;border-bottom:1px dotted #000;min-width:40mm}
.doc .hd{display:flex;align-items:center;gap:4mm;border-bottom:1.5px solid #000;padding-bottom:2mm;margin-bottom:3mm}
.doc .hd img{width:20mm;height:20mm;object-fit:contain}
.doc .hd b{font-size:18pt}
.doc .src{font-size:12pt;margin-top:3mm}
.doc table.rp{width:100%;border-collapse:collapse}
.doc table.rp th,.doc table.rp td{border:1px solid #000;padding:.6mm 1.5mm;font-size:13pt;vertical-align:top}
.doc table.rp th{font-weight:700}
.doc.land .page{width:267mm}
.doc .box{border:1px solid #000;padding:3mm 4mm;margin-top:3mm}
.doc .ln{display:flex;gap:2mm;margin:1.2mm 0}.doc .ln .d{flex:1;border-bottom:1px dotted #000}
.doc .cb{display:inline-block;width:3.6mm;height:3.6mm;border:1px solid #000;vertical-align:middle;position:relative;top:-.3mm}
.doc .cb.on::after{content:"";position:absolute;left:1mm;top:0;width:1.2mm;height:2.4mm;border:solid #000;border-width:0 .5mm .5mm 0;transform:rotate(45deg)}
@media print{
  @page{size:A4 portrait;margin:12mm 15mm}
  body.landscape-print{}
  body *{visibility:hidden}
  #print,#print *{visibility:visible}
  #print{display:block;position:absolute;left:0;top:0;width:100%}
  .noprint{display:none!important}
}
