/* MSP Ledger — หน้าเว็บบัญชี
   ใช้ชุดสี/คอมโพเนนต์ชุดเดียวกับหน้า IOC (app.html, line.html) เพื่อให้เมนู
   "บัญชี" ดูเป็นระบบเดียวกัน ส่วนท้ายไฟล์เป็นสไตล์เฉพาะหน้าบัญชี */

/* design system กลาง (งาน 028) — ทุกหน้า link แค่ ./style.css ไฟล์นี้ดึงสองไฟล์นี้เข้ามาให้เอง */
@import "./design.css";
@import "./components.css";

/* ตัวแปรสี/ขนาดทั้งหมดย้ายไป design.css แล้ว (งาน 028)
   ชิ้นส่วนมาตรฐาน (ปุ่ม ช่องกรอก ตาราง การ์ด ป้าย โมดัล) ย้ายไป components.css
   ที่เหลือในไฟล์นี้คือสไตล์เฉพาะหน้าบัญชีที่ยังไม่ได้ย้าย */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font); background: var(--bg); color: var(--text); line-height: var(--lh); font-size: var(--fs-base); }

.loading { position: fixed; inset: 0; background: var(--bg); display: flex; align-items: center; justify-content: center; z-index: 200; flex-direction: column; gap: 12px; }
.spinner { width: 36px; height: 36px; border: 3px solid var(--border); border-top-color: var(--primary); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.auth-screen { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--primary-bg) 0%, var(--surface-2) 100%); padding: 16px; z-index: 150; }
.auth-card { background: var(--surface); border-radius: 16px; padding: 32px 28px; max-width: 400px; width: 100%; box-shadow: var(--shadow-lg); }
.auth-sub { text-align: center; color: var(--text-muted); font-size: 13px; margin-bottom: 24px; margin-top: 8px; }

/* ย้ายไป components.css แล้ว: .form-row / input / select / textarea */

/* ย้ายไป components.css แล้ว: .btn และรุ่นย่อยทั้งหมด (เพิ่ม .btn-text ที่นั่น) */

/* ย้ายไป components.css แล้ว: .error-msg / .warn-note (ของใหม่ใช้ .alert-*) */

#app { display: none; }
#app.active { display: block; }
header { background: var(--surface); border-bottom: 1px solid var(--border); padding: 12px 20px; position: sticky; top: 0; z-index: 10; box-shadow: var(--shadow); }
.header-inner { max-width: 1500px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.main-nav { display: flex; gap: 4px; flex-wrap: wrap; }
.main-nav a { padding: 6px 12px; border-radius: 6px; text-decoration: none; color: var(--text-muted); font-size: 13px; font-weight: 500; }
.main-nav a:hover { background: var(--bg); }
.main-nav a.active { background: var(--primary-bg); color: var(--primary-ink); font-weight: 600; }
.user-chip { display: flex; align-items: center; gap: 8px; background: var(--primary-bg); padding: 6px 10px; border-radius: 999px; font-size: 13px; }
.avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--primary); color: var(--on-primary); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 12px; }

main { max-width: 1500px; margin: 0 auto; padding: 20px 16px 60px; }
.back-link { display: inline-block; margin-bottom: 12px; color: var(--text-muted); text-decoration: none; font-size: 13px; font-weight: 500; }
.back-link:hover { color: var(--primary-ink); }
.welcome { font-size: 22px; font-weight: 700; margin-bottom: 2px; }
.welcome-sub { color: var(--text-muted); margin-bottom: 20px; font-size: 14px; }
/* ย้ายไป components.css แล้ว: .card / .card-title */

/* ย้ายไป components.css แล้ว: table / th / td / .text-right / .num / .muted /
   .table-wrap / .empty-state (เพิ่ม table.zebra, table.rows-click, .empty-box ที่นั่น) */

.grid { display: grid; gap: 12px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }
.stat { background: var(--primary-bg); border-radius: var(--radius); padding: 14px; }
.stat-label { color: var(--text-muted); font-size: 12px; margin-bottom: 4px; }
.stat-value { font-size: 22px; font-weight: 700; color: var(--primary-ink); font-variant-numeric: tabular-nums; }

/* ย้ายไป components.css แล้ว: .toast */

/* ย้ายไป components.css แล้ว: .badge และรุ่นย่อย */

/* โลโก้ MSP — ชุดเดียวกับหน้า IOC (ฝัง base64 ไว้ในไฟล์ ไม่ต้องโหลดรูปเพิ่ม) */
.brand-logo { width: 100px; height: 36px; background-image: url("data:image/png;base64,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"); background-size: contain; background-repeat: no-repeat; }
.auth-logo { width: 200px; height: 74px; margin: 0 auto 16px; display: block; background-image: url("data:image/png;base64,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"); background-size: contain; background-repeat: no-repeat; }
/* โหมดมืด: โลโก้เป็นภาพสีเขียวเข้ม ต้องเร่งความสว่าง ไม่งั้นจมไปกับพื้น (งาน 028) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .auth-logo,
  :root:not([data-theme="light"]) .brand-logo { filter: brightness(2.2); }
}
:root[data-theme="dark"] .auth-logo,
:root[data-theme="dark"] .brand-logo { filter: brightness(2.2); }

/* ---------- dialog ---------- */
/* ย้ายไป components.css แล้ว: dialog / .dlg-head / .dlg-body / .dlg-foot */

/* ---------- หน้าแรก: การ์ดเลือกบริษัท/เมนู ---------- */
.pick { display: block; text-align: left; width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; cursor: pointer; font-family: inherit; font-size: 14px; color: var(--text); box-shadow: var(--shadow); }
.pick:hover { border-color: var(--primary-light); background: var(--primary-bg); }
.pick.active { border-color: var(--primary); background: var(--primary-bg); }
.pick-name { font-weight: 600; margin-bottom: 2px; }
.pick-meta { font-size: 12px; color: var(--text-muted); }
.tile { display: block; text-decoration: none; color: inherit; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); }
.tile:hover { border-color: var(--primary-light); box-shadow: var(--shadow-lg); }
.tile-icon { font-size: 26px; }
.tile-title { font-weight: 700; margin: 6px 0 2px; }
.tile-sub { font-size: 12.5px; color: var(--text-muted); }

/* ---------- ผังบัญชี ---------- */
.tree-row { display: flex; align-items: center; gap: 8px; padding: 4px 8px; border-radius: 6px; }
.tree-row:hover { background: var(--bg); }
.tree-row.control { font-weight: 600; }
.tree-row.off .tree-name, .tree-row.off .tree-code { color: var(--text-muted); }
.tree-code { font-variant-numeric: tabular-nums; font-size: 12.5px; width: 74px; flex-shrink: 0; }
.tree-name { font-size: 13.5px; flex: 1; min-width: 0; }
.tree-toggle { flex-shrink: 0; }
.tree-kids { border-left: 1px dashed var(--border); margin-left: 10px; padding-left: 8px; }
.twisty { background: none; border: none; cursor: pointer; font-family: inherit; color: var(--text-muted); width: 18px; flex-shrink: 0; font-size: 11px; padding: 0; }
.chip { font-size: 10px; padding: 0 6px; border-radius: 999px; background: var(--primary-bg); color: var(--primary-ink); font-weight: 600; }

/* ---------- ใบสำคัญ ---------- */
.vline-grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.vline-grid th { font-size: 11px; }
.vline-grid td { padding: 4px 5px; vertical-align: top; }
.vline-grid input { padding: 6px 8px; font-size: 13px; }
.vline-grid input.amount { text-align: right; font-variant-numeric: tabular-nums; }
/* งาน 111 (เรื่องแจ้ง #35): เปิดแผงรูปคู่กัน ฟอร์มเหลือราว 700px แล้วช่องเงินหดจน "1234567.89" เหลือ "1234567"
   — ช่องเงินต้องกว้างพอสำหรับ 1,234,567.89 เสมอ · ช่องบัญชีต้องอ่านรหัส+ชื่อสั้นได้ */
.vline-grid input.amount { min-width: 8.5em; }
.vline-grid input.acct { min-width: 11em; }
/* จอแคบกว่าตาราง = เลื่อนซ้ายขวาเฉพาะในกรอบตาราง (กติกา design system ข้อ 6) ไม่บีบตัวเลขจนหาย */
@media (max-width: 600px) {
  .vline-wrap { overflow-x: auto !important; }
  .vline-grid input.desc { min-width: 10em; }
  .vline-grid input.note { min-width: 7em; }
}
.acct-cell { position: relative; }
.tax-row td { background: var(--bg); }
.tax-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; padding: 4px 2px 10px; }
@media (max-width: 1000px) { .tax-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .tax-grid { grid-template-columns: 1fr 1fr; } }
.tax-grid label { display: block; font-size: 11px; color: var(--text-muted); margin-bottom: 3px; }
.tax-grid input { font-size: 12.5px; padding: 6px 8px; }
.totals { display: flex; gap: 18px; flex-wrap: wrap; align-items: baseline; padding: 10px 2px 0; font-variant-numeric: tabular-nums; }
.totals b { font-size: 17px; }
.totals .diff-bad { color: var(--danger); }
.totals .diff-ok { color: var(--success); }
.rowbtn { background: none; border: none; cursor: pointer; font-family: inherit; color: var(--text-muted); font-size: 14px; padding: 4px 6px; }
.rowbtn:hover { color: var(--danger); }
.readonly-note { background: var(--primary-bg); color: var(--primary-ink); padding: 10px 12px; border-radius: 8px; font-size: 13px; margin-bottom: 12px; }

/* ---------- แถบตัวกรอง ---------- */
.filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; }
.filters .form-row { margin-bottom: 0; }
.filters input, .filters select { min-width: 130px; }
/* ช่องติ๊กไม่ต้องกว้างเท่าช่องกรอก ไม่งั้นข้อความจะลอยห่างออกไป */
.filters input[type="checkbox"] { min-width: 0; }
.filters .grow { flex: 1; min-width: 200px; }

/* ---------- ค่าก่อน/หลังในหน้าประวัติการแก้ไข ---------- */
.audit-json { margin: 4px 0 0; padding: 8px 10px; background: var(--surface-2);
  border: 1px solid var(--line); border-radius: 8px; max-height: 260px; overflow: auto;
  white-space: pre-wrap; word-break: break-word; font-size: 11.5px; line-height: 1.45; }
.detail-row > td { background: var(--surface-2); }

/* ---------- ข้อความถามสั้น ๆ มีปุ่ม ใช่/ไม่ (ไม่บังหน้าจอเหมือน confirm) ---------- */
.ask-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  z-index: 60; display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
  max-width: min(560px, calc(100vw - 32px));
  background: var(--primary); color: var(--on-primary); border-radius: var(--radius); padding: 10px 14px;
  box-shadow: var(--shadow-lg); font-size: 13.5px; }
.ask-toast .btn { padding: 3px 12px; font-size: 12.5px; }

/* ---------- แถวภาษีใต้บรรทัด VAT / หัก ณ ที่จ่าย ---------- */
.tax-row-line > td { background: var(--surface-2); padding: 0 8px 8px; }
.tax-line { display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  font-size: 12.5px; border: 1px solid var(--line); border-top: 0;
  border-radius: 0 0 8px 8px; background: var(--surface); padding: 6px 10px; }
.tax-line select, .tax-line .tax-custom { width: auto; padding: 3px 8px; font-size: 12.5px; }
.tax-line .tax-custom { width: 70px; text-align: right; }
.badge-tax { font-size: 9.5px; padding: 1px 4px; background: var(--warning-bg); color: var(--warning-text);
  border-color: transparent; }

/* ---------- แผง "ใบค้างชำระ" ใต้บรรทัดบัญชีเจ้าหนี้/ลูกหนี้ ---------- */
.settle-row > td { background: var(--surface-2); padding: 0 8px 10px; }
.settle-panel { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 8px 8px;
  background: var(--surface); padding: 10px 12px; }
.settle-head { display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
  margin-bottom: 8px; }
.settle-head .settle-filter { flex: 1; min-width: 160px; width: auto; }
.settle-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.settle-table th { text-align: left; font-weight: 600; color: var(--muted);
  border-bottom: 1px solid var(--line); padding: 4px 6px; }
.settle-table td { padding: 3px 6px; border-bottom: 1px solid var(--border); }
.settle-table tr.on { background: var(--primary-bg); }
.settle-table input.settle-amount { text-align: right; padding: 3px 6px; font-size: 13px; }
.settle-foot { display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
  margin-top: 8px; font-size: 13px; }
.settle-warn { background: var(--warning-bg); border: 1px solid var(--warning); border-radius: 6px;
  padding: 3px 8px; color: var(--warning-text); }

/* ---------- แถบเลื่อนดูเอกสารในหน้าบันทึกใบสำคัญ ---------- */
.nav-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 10px 14px; }
.nav-bar .picker-list .pick-row { display: flex; gap: 10px; align-items: baseline; }
.nav-bar .picker-list .pick-row .grow { flex: 1; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }

/* ---------- เมนูเลือกภาษาใต้ปุ่มพิมพ์ ---------- */
.print-menu { position: relative; display: inline-block; }
.print-choices {
  position: absolute; z-index: 65; right: 0; top: calc(100% + 4px); display: none;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 8px; box-shadow: var(--shadow-lg); overflow: hidden;
  min-width: 210px;
}
.print-choices.open { display: block; }
.print-choices button {
  display: block; width: 100%; text-align: left; border: 0; background: none;
  padding: 8px 12px; font-size: 13px; cursor: pointer; font-family: inherit;
  color: var(--text);
}
.print-choices button:hover { background: var(--bg); }
.print-choices button.is-last::after { content: "  ✓"; color: var(--primary-ink); }   /* ภาษาที่พิมพ์ล่าสุด (งาน 012) */

/* ---------- ข้อความบอกสถานะข้าง label (เช่น กำลังแปลชื่ออังกฤษ) ---------- */
.hint { font-weight: 400; font-size: 11.5px; color: var(--text-muted); }
.hint.bad, .bad { color: var(--danger); }
.spin {
  display: inline-block; width: 9px; height: 9px; vertical-align: -1px;
  border: 1.5px solid var(--border); border-top-color: var(--primary);
  border-radius: 50%; animation: spin .8s linear infinite;
}

/* ช่องวันที่แบบไทย: สไตล์ย้ายไปอยู่ใน datefield.js เองแล้ว (งาน 168)
   ไฟล์นั้นถูกเอาไปใช้ในหน้าอื่นของโดเมนเดียวกัน (เงินสดย่อยของบอท) ซึ่งไม่ได้โหลด style.css
   ไม่มี CSS = .df-pop ไม่ถูกซ่อน ปฏิทินกางค้างตลอดเวลา — สไตล์จึงต้องเดินทางไปกับสคริปต์ */

/* ---------- ช่องเลือกบัญชีแบบพิมพ์ค้นได้ (config.js: accountPicker) ---------- */
.picker-wrap { position: relative; }
.picker-list {
  position: absolute; z-index: 60; left: 0; right: 0; display: none;
  /* .open คือสวิตช์เดียวที่เปิดรายการ (config.js สลับคลาสนี้) */
  /* สูงพอให้เห็นสิบกว่าบรรทัด แล้วเลื่อนดูที่เหลือ — รายการมีทั้งผัง 345 บัญชี */
  max-height: min(46vh, 420px); overflow-y: auto; overscroll-behavior: contain;
  /* ช่องบัญชีในตารางใบสำคัญแคบ รายการจึงต้องกว้างกว่าช่องเพื่อให้อ่านชื่อบัญชีออก */
  min-width: 340px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 8px; box-shadow: var(--shadow-lg);
}
.picker-list.open { display: block; }
.picker-list .pick-note {
  position: sticky; top: 0; background: var(--bg); color: var(--text-muted);
  font-size: 11.5px; padding: 5px 10px; border-bottom: 1px solid var(--border);
}
.picker-list .pick-group {
  padding: 5px 10px; font-size: 11px; font-weight: 600; color: var(--text-muted);
  background: var(--bg); border-top: 1px solid var(--border);
}
.picker-list .pick-row { padding: 6px 10px; cursor: pointer; font-size: 13px; }
.picker-list .pick-row:hover { background: var(--bg); }
.picker-list .pick-row.on { background: var(--primary-bg); }

/* ---------- หัวรายงาน (ใช้ร่วมกันทั้งแยกประเภท งบทดลอง และสมุดรายวัน) ---------- */
.report-head { margin-bottom: 12px; }
.report-head .rp-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.report-head .rp-company { font-size: 16px; font-weight: 700; }
.report-head .rp-printed { color: var(--text-muted); font-size: 12px; }
.report-head .rp-title { font-size: 14px; font-weight: 600; margin: 2px 0 4px; }
.report-head .rp-line { color: var(--text-muted); font-size: 12.5px; }

/* บล็อกบัญชีในรายงานแยกประเภท และบล็อกใบสำคัญในสมุดรายวัน */
.gl-head td { background: var(--bg); font-weight: 600; }
.gl-total td { border-top: 1px solid var(--border); font-weight: 600; }
.gl-grand td { border-top: 2px solid var(--text); font-weight: 700; }

/* ---------- พิมพ์: A4 แนวตั้ง ฟอนต์ไทยที่ทีมใช้ หัวตารางซ้ำทุกหน้า ---------- */
@page { size: A4; margin: 10mm 8mm; }

/* หัวรายงานบางอันมีไว้ให้กระดาษเท่านั้น บนจอมีตัวกรองบอกอยู่แล้ว */
.print-only { display: none; }

@media print {
  header, .main-nav, .no-print, .toast, .back-link, .welcome-sub { display: none !important; }
  .print-only { display: block; }
  /* ใบสำคัญที่พิมพ์: รวม "รายละเอียด — เพิ่มเติม" เป็นข้อความเดียว ไม่ต้องโชว์ช่องกรอก */
  .col-note { display: none; }
  #lines .desc, #lines .note { display: none; }
  main { padding: 0; max-width: none; }
  body { background: #fff; font-family: "TH Sarabun New", "TH SarabunPSK", "Sarabun", sans-serif; font-size: 12pt; }
  .card { box-shadow: none; border: none; padding: 0; margin: 0 0 6mm; break-inside: auto; }
  .table-wrap { max-height: none !important; overflow: visible !important; }
  table { font-size: 11pt; }
  /* หัวตารางซ้ำทุกหน้า และไม่ตัดกลางบล็อกบัญชี/ใบสำคัญ */
  thead { display: table-header-group; }
  tr, .gl-block { break-inside: avoid; }
  .report-head { break-after: avoid; }
}

/* เส้นคั่นระหว่างเมนูเดิมของ IOC กับเมนูของระบบบัญชี */
.nav-sep { width: 1px; background: var(--border); margin: 2px 6px; align-self: stretch; }

/* ตัวนับบนเมนู/การ์ด เช่น "เอกสารรอลงบัญชี 12" */
.nav-badge { display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 5px; border-radius: 999px;
  background: #dc2626; color: #fff; font-size: 10.5px; font-weight: 700; line-height: 17px;
  text-align: center; vertical-align: 1px; }
.tile .nav-badge { font-size: 12px; line-height: 20px; min-width: 22px; margin-left: 8px; }

/* ---------- เอกสารรอลงบัญชี: ภาพย่อ + ตัวดูรูป ---------- */
.thumb { width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg);
  padding: 0; cursor: zoom-in; overflow: hidden; display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-family: inherit; }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb:hover { border-color: var(--primary); }
.thumb-none { cursor: default; color: var(--text-muted); font-size: 13px; }
dialog.viewer { max-width: min(1200px, 96vw); width: 96vw; height: 92vh; display: none; flex-direction: column;
  overflow: hidden; }
dialog.viewer[open] { display: flex; }
.viewer-bar { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--border);
  flex-wrap: wrap; }
.viewer-title { flex: 1; min-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viewer-tools { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.viewer-sep { width: 1px; height: 22px; background: var(--border); margin: 0 4px; }
/* ปุ่มเปลี่ยนหน้า PDF ในหน้าต่างดูเอกสาร (งาน 061) — ชุดเดียวกับแผงเอกสารของหน้าบันทึกบัญชี */
.pdf-pager { display: inline-flex; gap: 4px; align-items: center; font-size: var(--fs-sm); }
.pdf-pager[hidden] { display: none; }
.pdf-pager .num { font-family: var(--font-mono); min-width: 34px; text-align: center; }
.viewer-zoom { min-width: 46px; text-align: center; font-size: 12.5px; color: var(--text-muted); }
.viewer-stage { flex: 1; overflow: auto; display: flex; align-items: center; justify-content: center;
  background: #1f2937; position: relative; }
.viewer-stage img { max-width: none; transition: transform .15s ease; transform-origin: center center;
  user-select: none; box-shadow: 0 2px 16px rgba(0,0,0,.4); background: #fff; }
.viewer-wait { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
/* งาน 112: เปิดรูปไม่ได้ — กล่องข้อความกลางพื้นที่ดูรูป (เดิมเหลือพื้นมืดเปล่า ผู้ใช้เข้าใจว่า "จอดำ") */
.viewer-note { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: var(--sp-3); padding: var(--sp-4); }
.viewer-note[hidden] { display: none; }
.viewer-note-text { max-width: 440px; text-align: center; background: var(--surface); color: var(--text);
  border: 1px solid var(--border); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm); box-shadow: var(--shadow-lg); }
.viewer-note-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; justify-content: center; }
.viewer-note-actions a { text-decoration: none; }
.viewer-stage img[hidden] { display: none; }
.viewer-foot { padding: 8px 12px; font-size: 12.5px; color: var(--text-muted); border-top: 1px solid var(--border); }
