/* หลังบ้านระบบประเมิน — ต่อยอดจาก site.css */

body.admin{background:var(--mist)}
.adm-top{background:var(--grad);color:#fff}
.adm-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding-block:.7rem}
.adm-brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;line-height:1.3}
.adm-brand:hover{color:#fff}
.adm-brand small{display:block;font-weight:500;font-size:.88rem;opacity:.9}
.adm-user{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-weight:600}
.adm-user form{display:block}
.adm-nav{background:var(--blue-600);position:sticky;top:0;z-index:40}
.adm-nav ul{display:flex;gap:.2rem;overflow-x:auto;padding-block:.35rem;scrollbar-width:thin}
.adm-nav a{display:flex;align-items:center;gap:.35rem;white-space:nowrap;color:#fff;text-decoration:none;font-weight:600;padding:.5rem .85rem;border-radius:999px;min-height:44px}
.adm-nav a:hover,.adm-nav a[aria-current="page"]{background:rgba(255,255,255,.2)}
.adm-main{padding-block:1.5rem 4rem}
.adm-main>.wrap{display:flex;flex-direction:column;gap:1.25rem}
.adm-title{font-size:clamp(1.3rem,4vw,1.7rem);color:var(--deep)}

.btn-sm{min-height:42px;padding:0 1rem;font-size:.97rem;border-width:1.5px}
.btn-light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.65);color:#fff}
.btn-light:hover{background:rgba(255,255,255,.28);border-color:#fff}
.btn-danger{background:var(--err);border-color:var(--err)}
.btn-danger:hover{background:#861B1B;border-color:#861B1B}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.actions form{display:contents}
.auth-card{max-width:520px;width:100%;margin-inline:auto}
.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.field>label{font-weight:600}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:start}
.field.checks{gap:.5rem;padding-top:1.9rem}
select.input{appearance:auto}
.input[readonly]{background:var(--mist);color:var(--muted)}
.check{display:flex;gap:.55rem;align-items:flex-start;cursor:pointer;font-weight:500}
.check input{width:1.25rem;height:1.25rem;margin-top:.25rem;flex:none;accent-color:var(--blue)}
.bullets{list-style:disc;padding-left:1.3rem;font-weight:500}
.nowrap{white-space:nowrap}

.pill{display:inline-flex;align-items:center;padding:.15rem .8rem;border-radius:999px;font-weight:700;font-size:.92rem;white-space:nowrap}
.pill-open{background:var(--ok-bg);color:var(--ok)}
.pill-closed{background:#E9EDF3;color:#3D4A5E}
.pill-draft{background:#FFF4CC;color:#6B4E00}

.survey-row-head{display:flex;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;align-items:flex-start}
.survey-row-head>div:first-child{flex:1 1 320px;min-width:0}
.survey-row-meta{display:flex;align-items:center;gap:.75rem}
.count b{font-size:1.3rem;color:var(--navy);font-variant-numeric:tabular-nums}
.copy-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem .75rem;align-items:center}
.copy-row label{font-weight:600;font-size:.95rem}
.copy-row .input{min-height:42px;padding-block:.35rem;font-size:.95rem}
@media (max-width:640px){.copy-row{grid-template-columns:minmax(0,1fr) auto}.copy-row label{grid-column:1/-1}}

/* ตัวสร้างแบบประเมิน */
.b-list{display:flex;flex-direction:column;gap:1rem}
.b-card{border:1.5px solid var(--line);border-radius:16px;padding:1rem;background:#FAFCFF;display:flex;flex-direction:column;gap:.85rem}
.b-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--navy)}
.tools{display:flex;gap:.25rem;flex:none}
.tool{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:50%;background:var(--paper);color:var(--navy);cursor:pointer}
.tool:hover:not(:disabled){background:var(--sky)}
.tool:disabled{opacity:.35;cursor:default}
.b-items{display:flex;flex-direction:column;gap:.6rem}
.b-item{display:grid;grid-template-columns:2em minmax(0,1fr) auto;gap:.5rem;align-items:start}
.b-item .item-no{padding-top:.7rem}
.b-item textarea.input{min-height:0}
@media (max-width:560px){.b-item{grid-template-columns:2em minmax(0,1fr)}.b-item .tools{grid-column:2;justify-content:flex-end}}
.save-bar{position:sticky;bottom:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -4px 16px rgba(6,44,143,.1);padding:.8rem 1.1rem;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.card.danger{border-color:#F3CACA}
.card.danger h2{color:var(--err)}

/* ผลการประเมิน */
.report-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.report-head>div:not(.actions){flex:1 1 360px;min-width:0}
.report-head h2{font-size:1.2rem;color:var(--navy)}
.kv{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px dotted #B9C7DA;padding:.2rem 0}
.kv span:last-child{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.quotes{list-style:decimal;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}
details summary{cursor:pointer;font-weight:700;color:var(--navy);min-height:44px;display:flex;align-items:center}
details[open] summary{margin-bottom:.75rem}
.print-only{display:none}

@media print{
  .adm-top,.adm-nav,.no-print,.skip,.adm-title{display:none!important}
  .print-only{display:block}
  body.admin{background:#fff;font-size:11pt}
  .adm-main{padding:0}
  .wrap{max-width:none;padding:0}
  .card,.stat{box-shadow:none;border-color:#999}
  .stat,.domrow,.table tr{break-inside:avoid}
  .table thead th{background:#fff;color:#000;border-color:#999}
  .table th,.table td{border-color:#999}
  .table tr.dom td,.table tr.total td{background:#eee;color:#000}
  .meter i{border:1px solid #999}
  .meter i b{background:#555;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .report-head{justify-content:flex-start}
}

/* ================= รุ่น 1.1 ================= */
.adm-sub{font-size:1.2rem;color:var(--deep)}
.adm-list{display:flex;flex-direction:column;gap:1.25rem}
.filters select.input{width:auto;min-height:44px}
.pill-scheduled{background:var(--sky);color:var(--navy)}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.75rem}
.tpl{display:flex;gap:.8rem;align-items:flex-start;height:100%;padding:.9rem 1rem;border:1.5px solid var(--line);border-radius:16px;background:#FAFCFF;text-decoration:none;color:var(--ink)}
.tpl:hover{border-color:var(--blue);background:var(--sky);color:var(--ink)}
.tpl>.icon{font-size:1.8rem;color:var(--blue);margin-top:.1rem}
.tpl span{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.tpl b{color:var(--navy)}
.tpl small{color:var(--muted);font-size:.92rem;line-height:1.5}
.tpl small.tpl-meta{font-weight:600;color:var(--blue-600)}
.filter-card{flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding-block:1rem}
.filter-card .field{flex:1 1 260px}
.mt{margin-top:1rem}
.b-open{align-items:start}
.b-open .field{gap:.4rem}
.copy-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}
.checks-inline{display:flex;gap:.3rem 1rem;flex-wrap:wrap}
.field.is-missing{padding:.5rem .6rem;border-radius:12px}

/* คีย์จากกระดาษ */
.key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:.5rem}
.key-cell{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-size:.9rem;color:var(--muted);font-weight:600}
.key{width:100%;height:52px;text-align:center;font-size:1.5rem;font-weight:700;border:1.5px solid #B9C7DA;border-radius:12px;background:var(--paper);color:var(--deep);font-variant-numeric:tabular-nums}
.key:focus-visible{outline:3px solid var(--gold-600);outline-offset:1px;border-color:var(--blue)}

/* โปสเตอร์ QR */
.poster-sheet{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;max-width:560px;margin-inline:auto;padding:1.5rem 1rem;border:2px solid var(--navy);border-radius:20px}
.poster-school{font-size:1.2rem;font-weight:700;color:var(--deep)}
.poster-lead{color:var(--muted);font-weight:600;margin-top:.5rem}
.poster-title{font-size:1.45rem;font-weight:700;color:var(--navy);line-height:1.4;text-wrap:balance}
.poster-sub{font-weight:600}
.qr{width:min(100%,300px);aspect-ratio:1;margin-block:.5rem}
.qr svg{width:100%;height:100%;display:block}
.poster-how{font-size:1.15rem;font-weight:700;color:var(--deep)}
.poster-facts{color:var(--muted)}
.poster-url{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}

@media print{
  .poster{border:0;padding:0}
  .poster-sheet{max-width:none;border-width:3px;padding:3rem 2rem;gap:.8rem;min-height:24cm;justify-content:center}
  .poster-school{font-size:20pt}.poster-title{font-size:26pt}.poster-how{font-size:18pt}.poster-sub,.poster-lead,.poster-facts{font-size:14pt}
  .qr{width:11cm}
  .dist i,.d1,.d2,.d3,.d4,.d5,.trend-col i{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  details.no-print{display:none}
  .filter-card{display:none}
}

/* รายงานสรุปผลฉบับเต็ม */
.formal h2{text-align:center;margin:0 0 .25rem}
.formal-head{text-align:center;margin-bottom:1.25rem}
.formal-head h3{margin:.1rem 0}
.formal section{margin-top:1.25rem}
.formal .cap{margin:1rem 0 .4rem}
.formal tr.total td{font-weight:700}
.formal p{line-height:1.8}
