/* bill-view.css — กล่องข้อมูลออกบิล: การ์ดหัวบิล (โหมดดู) + ป้ายเทียบแหล่ง + แถบประเภทบิล + กล่องวางพับได้ (Mai 2026-10-02 · แบบ ค ใน Temp/201_bill_mk3.html) */

/* ---------- การ์ดหัวบิล (โหมดดู) ---------- */
.bv-card { border: 1px dashed var(--border-strong); border-radius: var(--radius-sm); padding: 10px 12px; background: #fffefb; display: grid; gap: 1px; min-width: 0; }
.bv-t { font-size: var(--fs-xs); color: var(--text-3); letter-spacing: .3px; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; min-width: 0; }
.bv-t b { margin-left: auto; font-weight: 600; color: var(--text-2); white-space: nowrap; }
.bv-t .ihint { font-size: var(--fs-xs); }
.bv-wait { font-size: var(--fs-xs); color: var(--text-3); font-style: italic; }
.bv-line { display: flex; gap: 8px; align-items: flex-start; padding: 4px 6px; margin: 0 -6px; border-radius: 6px; cursor: pointer; font-size: var(--fs-sm); line-height: 1.45; min-width: 0; }
.bv-line:hover, .bv-line:focus-visible { background: var(--surface-2); outline: none; }
.bv-line:focus-visible { box-shadow: 0 0 0 2px var(--ring); }
.bv-v { flex: 1; min-width: 0; overflow-wrap: anywhere; color: var(--text); }
.bv-v.big { font-size: var(--fs-md); font-weight: 600; }
.bv-v.mut { color: var(--text-2); }
.bv-ed { opacity: 0; font-size: var(--fs-xs); color: var(--link); flex: none; padding-top: 1px; }
.bv-line:hover .bv-ed, .bv-line:focus-visible .bv-ed { opacity: 1; }

/* ป้ายเทียบ: เขียว = ตรง · เทา = ต่างแค่รูปคำ · ส้ม = ต่างจริง (กดได้) */
.bv-pill { flex: none; display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-xs); line-height: 18px; padding: 0 8px; border-radius: var(--radius-pill); white-space: nowrap; cursor: help; margin-top: 1px; }
.bv-pill.ok { background: var(--ok-soft); color: var(--ok-ink); }
.bv-pill.word { background: var(--neutral); color: var(--text-2); }
.bv-pill.diff { background: var(--warn-soft); color: var(--warn-ink); cursor: pointer; font-weight: 600; }
.bv-pill.diff:hover { box-shadow: 0 0 0 1px var(--warn); }
.cbx .in.bv-filled { border-color: var(--warn); background: var(--warn-soft); }

/* ---------- แถบประเภทบิล: 2 ครึ่งเท่ากันในแถบเดียว ไม่ล้น/ไม่ซ้อน ----------
   สาเหตุเดิม: chat.css .seg2 สูงตายตัว 32px + ปุ่ม nowrap/flex:none + max-width:100% → แผงแคบปุ่มขวาล้นกรอบ
   และห้องแพลตฟอร์ม chat-ext.css ใส่ flex-wrap:wrap → ปุ่มที่สองตกบรรทัดใต้กรอบสูง 32px = ทับเนื้อหาข้างล่าง
   ทางแก้: grid 2 คอลัมน์เต็มความกว้าง · สูงตามเนื้อ · ข้อความตัดบรรทัดในปุ่มได้ (selector ที่ 2 ชนะกฎของ chat-ext.css) */
.seg2.bv-seg, .app.cx-ext.cx-cust #pCust .cbx .seg2.bv-seg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; max-width: 100%; height: auto; min-height: 32px; border-radius: var(--radius-sm); gap: 2px; box-sizing: border-box; flex-wrap: nowrap; }
.seg2.bv-seg button { min-width: 0; height: auto; min-height: 26px; line-height: 1.25; padding: 4px 8px; white-space: normal; text-align: center; border-radius: 8px; overflow-wrap: anywhere; }

/* ---------- กล่องวาง (โหมดฟอร์ม): พับไว้หลังปุ่มหัวกล่อง ---------- */
.bv-pb { display: none; }
.bv-pb.open { display: block; }
.bv-pbbtn.on { background: var(--accent-soft); color: var(--accent-strong); border-color: var(--accent); }
