/* Account Scope (Lane F2) — ทุกคลาสขึ้นต้น as- · ใช้ token สีจาก style.css (น้ำเงินเข้ม #131C2B + ทองอำพัน #F59E0B) */
.as-root {
  --as-ok: #1E7F4F;   --as-ok-bg: rgba(30, 127, 79, .13);
  --as-warn: #9A6700; --as-warn-bg: rgba(201, 151, 0, .16);
  --as-bad: #B3261E;  --as-bad-bg: rgba(179, 38, 30, .13);
  --as-zero: #0369A1; --as-zero-bg: rgba(2, 132, 199, .13);
  --as-mut: #5A6472;  --as-mut-bg: rgba(122, 133, 148, .14);
  --as-navy: var(--side-bg, #131C2B);
  --as-amber: var(--accent, #F59E0B);
  --as-surface: var(--surface, #FFFFFF);
  --as-surface-2: var(--surface-2, #EAECEF);
  --as-ink: var(--ink, #141C26);
  --as-muted: var(--muted, #5A6472);
  --as-line: var(--line, #DFE3E8);
  display: flex; flex-direction: column; gap: 12px; color: var(--as-ink); font-size: 13.5px; min-width: 0;
}
@media (prefers-color-scheme: dark) {
  .as-root { --as-ok: #4CC38A; --as-warn: #E3B341; --as-bad: #F08080; --as-zero: #5CB8E6; --as-mut: #939EAD; }
}
/* hidden ต้องชนะ display ของคลาส (ตัวควบคุมถูกซ่อนเมื่อยังไม่มีขอบเขตที่อนุมัติ) */
.as-root [hidden] { display: none !important; }
.as-root h2, .as-root h3 { margin: 0; }
.as-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--as-navy); color: #FFD98A; border-radius: 12px; padding: 12px 14px; }
.as-head h2 { font-size: 16px; flex: 1 1 200px; min-width: 0; }
.as-pill.as-scope-note { background: rgba(245, 158, 11, .18); color: #FFD98A; border: 1px dashed #F59E0B; white-space: normal; font-weight: 600; }

.as-controls { background: var(--as-surface); border: 1px solid var(--as-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.as-field { border: 0; margin: 0; padding: 0; min-width: 0; }
.as-field legend { font-size: 12px; color: var(--as-muted); padding: 0; margin-bottom: 4px; }
.as-field label { font-size: 12.5px; color: var(--as-muted); }
.as-inp { max-width: 100%; font-size: 13.5px; padding: 6px 9px; border-radius: 9px; border: 1px solid var(--as-line); background: var(--as-surface); color: var(--as-ink); }
.as-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.as-chip { font-size: 12.5px; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--as-line); background: var(--as-surface); color: var(--as-muted); cursor: pointer; }
.as-chip.as-on { background: var(--as-navy); color: #FFD98A; border-color: var(--as-navy); font-weight: 700; }
.as-checks { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0; max-height: 150px; overflow: auto; }
.as-check { display: inline-flex; align-items: center; gap: 5px; color: var(--as-ink) !important; }
.as-addrow { margin-top: 6px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.as-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.as-btn { display: inline-block; font-size: 13.5px; font-weight: 600; padding: 7px 14px; border-radius: 9px; border: 1px solid var(--as-line); background: var(--as-surface-2); color: var(--as-ink); text-decoration: none; cursor: pointer; }
.as-btn:hover { border-color: var(--as-amber); }
.as-btn.as-primary { background: var(--as-amber); color: var(--accent-ink, #241300); border-color: var(--as-amber); }
.as-status { font-size: 12.5px; color: var(--as-muted); }
.as-status.as-warn { color: var(--as-warn); font-weight: 600; }
.as-status.as-bad { color: var(--as-bad); font-weight: 600; }

.as-results { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.as-banners { display: flex; flex-direction: column; gap: 8px; }
.as-bar { border: 1px solid var(--as-line); border-left: 4px solid var(--as-mut); border-radius: 10px; padding: 9px 12px; background: var(--as-surface); line-height: 1.55; overflow-wrap: anywhere; }
.as-bar-info { border-left-color: var(--as-amber); }
.as-bar-ok { border-left-color: var(--as-ok); background: var(--as-ok-bg); }
.as-bar-warn { border-left-color: var(--as-warn); background: var(--as-warn-bg); border-left-style: dashed; }
.as-bar-bad { border-left-color: var(--as-bad); background: var(--as-bad-bg); }
.as-bar-mut { border-left-color: var(--as-mut); background: var(--as-mut-bg); }
.as-counts { font-size: 12.5px; color: var(--as-muted); }
.as-sub { font-size: 12px; color: var(--as-muted); }
.as-code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12px; }
.as-list { margin: 6px 0 0; padding-left: 18px; }
.as-mini { margin-top: 6px; font-size: 12.5px; }
.as-mini summary { cursor: pointer; color: var(--as-muted); }
.as-empty { color: var(--as-muted); padding: 10px; text-align: center; }

.as-pill { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 999px; border: 1.5px solid transparent; white-space: nowrap; vertical-align: middle; }
.as-st-observed { color: var(--as-ok); background: var(--as-ok-bg); }
.as-st-missing { color: var(--as-warn); background: var(--as-warn-bg); border-color: currentColor; border-style: dashed; }
.as-st-failed { color: var(--as-bad); background: var(--as-bad-bg); white-space: normal; }
.as-st-zero { color: var(--as-zero); background: var(--as-zero-bg); border-color: currentColor; }
.as-st-excluded { color: var(--as-mut); background: var(--as-mut-bg); }
.as-st-unknown { color: var(--as-bad); background: transparent; border-color: currentColor; border-style: dotted; }
.as-approx { color: var(--as-warn); background: transparent; border-color: currentColor; border-style: dotted; white-space: normal; }

.as-exportbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.as-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.as-kpi { background: var(--as-surface); border: 1px solid var(--as-line); border-radius: 13px; padding: 12px 14px; min-width: 0; }
.as-kpi-incomplete { border: 1.5px dashed var(--as-warn); }
.as-kpi-nonadd { border: 1.5px dotted var(--as-mut); }
.as-k { font-size: 12px; color: var(--as-muted); }
.as-v { font-size: 20px; font-weight: 800; margin-top: 2px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.as-v-null { color: var(--as-warn); font-weight: 800; }
.as-kpi-nonadd .as-v-null { color: var(--as-mut); }
.as-unit { font-size: 12px; font-weight: 600; color: var(--as-muted); }
.as-d { font-size: 12px; color: var(--as-muted); margin-top: 4px; line-height: 1.6; overflow-wrap: anywhere; }
.as-known-label { color: var(--as-warn); font-weight: 700; }
.as-known { font-size: 14px; font-weight: 700; color: var(--as-ink); font-variant-numeric: tabular-nums; }

.as-block { background: var(--as-surface); border: 1px solid var(--as-line); border-radius: 13px; padding: 12px 14px; min-width: 0; }
.as-blockhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.as-blockhead h3 { font-size: 14.5px; }
.as-chart { width: 100%; height: auto; display: block; }
.as-axis { stroke: var(--as-line); stroke-width: 1; }
.as-ax { fill: var(--as-muted); font-size: 10px; }
.as-bar-complete rect { fill: var(--as-amber); }
.as-bar-partial rect { fill: var(--as-warn-bg); stroke: var(--as-warn); stroke-width: 1.5; stroke-dasharray: 4 3; }
.as-bar-partial text, .as-bar-unknown text { fill: var(--as-warn); font-size: 12px; font-weight: 800; }
.as-bar-unknown rect { fill: var(--as-mut-bg); stroke: var(--as-mut); stroke-width: 1; stroke-dasharray: 2 3; }
.as-bar-unknown text { fill: var(--as-mut); }
.as-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--as-muted); margin-top: 4px; }
.as-sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: -2px; }
.as-sw-complete { background: var(--as-amber); }
.as-sw-partial { background: var(--as-warn-bg); border: 1.5px dashed var(--as-warn); }
.as-sw-unknown { background: var(--as-mut-bg); border: 1px dashed var(--as-mut); }

.as-scroll { overflow-x: auto; max-width: 100%; }
.as-table { border-collapse: collapse; width: 100%; font-size: 12.5px; }
.as-table th, .as-table td { padding: 6px 8px; border-bottom: 1px solid var(--as-line); text-align: left; vertical-align: top; white-space: nowrap; }
.as-table th { font-size: 11.5px; color: var(--as-muted); font-weight: 700; background: var(--as-surface-2); position: sticky; top: 0; }
.as-table .as-num { text-align: right; font-variant-numeric: tabular-nums; }
.as-table .as-raw { white-space: normal; min-width: 76px; max-width: 230px; overflow-wrap: anywhere; }
.as-table .as-acct { min-width: 150px; }
.as-table .as-acct .as-code { white-space: nowrap; }
.as-table .as-acct .as-name { display: block; }
.as-table .as-statecell { white-space: normal; }
.as-table .as-statecell .as-pill { white-space: nowrap; }
.as-table .as-notes { white-space: normal; min-width: 210px; max-width: 290px; overflow-wrap: anywhere; margin-top: 4px; color: var(--as-muted); font-size: 12px; line-height: 1.55; }
.as-table .as-notes .as-pill { white-space: normal; }
.as-unk { color: var(--as-warn); font-style: italic; }
.as-zero { color: var(--as-zero); font-weight: 700; }
.as-zero small { font-weight: 600; }
.as-row-missing td, .as-row-failed td { background: var(--as-warn-bg); }
.as-row-failed td { background: var(--as-bad-bg); }
.as-row-excluded td { color: var(--as-muted); }
.as-more { margin-top: 8px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* v1: ตรวจความสมบูรณ์ไม่ผ่าน · แถวไม่ถูกนับ · ตัวชี้วัดที่แอปคำนวณเอง */
.as-st-integrity { color: #FFFFFF; background: var(--as-bad); border-color: var(--as-bad); white-space: normal; }
@media (prefers-color-scheme: dark) { .as-st-integrity { color: #1B0B0B; } }
.as-kpi-parsed { border: 1.5px dotted var(--as-mut); background: var(--as-mut-bg); }
.as-kpi-parsed .as-v-null, .as-kpi-parsed .as-known-label { color: var(--as-mut); }
.as-parsed-note { font-size: 11.5px; color: var(--as-muted); margin-top: 6px; border-top: 1px dashed var(--as-line); padding-top: 5px; }
.as-grouphead { font-size: 12.5px; font-weight: 700; color: var(--as-muted); margin-top: 2px; }
.as-name { color: var(--as-muted); font-size: 12px; overflow-wrap: anywhere; }
.as-notcounted { color: var(--as-mut); font-style: italic; }
.as-notcounted small { text-decoration: none; display: inline-block; font-weight: 700; }
.as-rej { color: var(--as-bad); font-weight: 700; }
.as-row-notcounted td { background: var(--as-mut-bg); }
.as-row-integrity td { background: var(--as-bad-bg); box-shadow: inset 3px 0 0 var(--as-bad); }
.as-row-integrity td + td { box-shadow: none; }
.as-row-other td { background: var(--as-bad-bg); }
.as-bar > div { margin-top: 4px; }
.as-btn:disabled { opacity: .55; cursor: default; }
.as-check { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .as-kpis { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .as-dates { display: flex; flex-direction: column; gap: 6px; }
  .as-checks { flex-direction: column; flex-wrap: nowrap; max-height: 220px; }
  .as-v { font-size: 18px; }
}

/* v1.1: ยอดของรอบก่อน (provisional overlay) · ปุ่ม export ที่ปิด · ป้ายในตัวเลือกบัญชี */
.as-bar-prov rect { fill: var(--as-warn-bg); stroke: var(--as-amber); stroke-width: 2; stroke-dasharray: 6 3; }
.as-bar-prov text { fill: var(--as-warn); font-size: 10px; font-weight: 800; }
.as-sw-prov { background: var(--as-warn-bg); border: 2px dashed var(--as-amber); }
.as-row-prov td:first-child { box-shadow: inset 3px 0 0 var(--as-amber); }
.as-prov { white-space: normal; }
.as-btn.as-disabled { opacity: .55; cursor: not-allowed; text-decoration: line-through; }
.as-tag { font-size: 10.5px; padding: 1px 7px; white-space: normal; }
.as-check { flex-wrap: wrap; }

/* v1.2: ขอบเขตที่เจ้าของอนุมัติ / โหมดสำรวจ */
.as-root { --as-explore: #7C3AED; --as-explore-bg: rgba(124, 58, 237, .14); }
@media (prefers-color-scheme: dark) { .as-root { --as-explore: #B79CFF; } }
.as-bar-explore { border-left-color: var(--as-explore); border-color: var(--as-explore); background: var(--as-explore-bg); border-style: solid; border-width: 2px 2px 2px 6px; }
.as-root.as-explore { outline: 3px dashed var(--as-explore); outline-offset: 6px; border-radius: 12px; }
.as-root.as-explore .as-head { background: #5B21B6; color: #FFFFFF; }
.as-root.as-explore .as-pill.as-scope-note { color: #FFFFFF; border-color: #FFFFFF; background: rgba(255, 255, 255, .14); }
.as-root.as-explore .as-kpi, .as-root.as-explore .as-block { border-color: var(--as-explore); }
.as-scopehead { display: flex; flex-direction: column; gap: 8px; }
.as-modebar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12.5px; }
.as-btn.as-secondary { background: transparent; font-weight: 500; font-size: 12.5px; padding: 5px 11px; }
.as-btn.as-danger { border-color: var(--as-explore); color: var(--as-explore); }

/* v1.3: ศูนย์ที่หลักฐานขัดกับตัวเลขที่เผยแพร่ = ไม่ทราบ */
.as-st-contradicted { color: var(--as-bad); background: var(--as-bad-bg); border-color: currentColor; border-style: dashed; white-space: normal; }
.as-row-contradicted td { background: var(--as-bad-bg); }

/* U5: ค่าที่ไม่นับอยู่คอลัมน์แยก · แถวสรุป "รวมที่นับ" */
.as-table .as-nc { white-space: normal; min-width: 150px; color: var(--as-mut); font-size: 12px; background: var(--as-mut-bg); border-left: 2px dashed var(--as-line); }
.as-table th.as-nc { font-weight: 700; }
.as-nc-item { white-space: nowrap; }
.as-table tfoot td { border-top: 2px solid var(--as-line); background: var(--as-surface-2); font-weight: 700; white-space: normal; }
.as-table tfoot .as-num { white-space: nowrap; }
.as-table tfoot .as-sub { font-weight: 400; }
