#pctech-pzalo-fab {
  position: fixed;
  right: 24px;
  bottom: 90px;
  z-index: 999999;
  background: #0068FF;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
#pctech-pzalo-fab:hover {
  background: #0054CC;
}
#pctech-pzalo-fab[data-state="loading"] {
  opacity: 0.7;
  cursor: wait;
}

#pctech-pzalo-debug-btn {
  position: fixed;
  right: 24px;
  bottom: 145px;
  z-index: 999999;
  background: #64748B;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 8px 14px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
#pctech-pzalo-debug-btn:hover {
  background: #475569;
}

#pctech-pzalo-banner {
  position: fixed;
  right: 24px;
  bottom: 200px;
  z-index: 999999;
  max-width: 340px;
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #0068FF;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  padding: 12px 14px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  color: #1E293B;
  white-space: pre-wrap;
}
#pctech-pzalo-banner strong {
  display: block;
  margin-bottom: 4px;
  color: #0068FF;
}
#pctech-pzalo-banner.error {
  border-left-color: #DC2626;
}
#pctech-pzalo-banner.error strong {
  color: #DC2626;
}
#pctech-pzalo-banner .pctech-close {
  position: absolute;
  top: 6px;
  right: 8px;
  cursor: pointer;
  color: #94A3B8;
  font-size: 14px;
}

#pctech-pzalo-qr-menu {
  position: fixed;
  left: 24px;
  bottom: 90px;
  z-index: 999999;
  min-width: 260px;
  max-width: 360px;
  max-height: 320px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  color: #1E293B;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-item {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #F1F5F9;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-item:last-of-type {
  border-bottom: none;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-item:hover {
  background: #F0F5FF;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-item strong {
  color: #0068FF;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-label {
  color: #64748B;
}
#pctech-pzalo-qr-menu .pctech-pzalo-qr-hint {
  padding: 6px 12px;
  font-size: 11px;
  color: #94A3B8;
  background: #F8FAFC;
  border-top: 1px solid #F1F5F9;
}

#pctech-pzalo-broadcast-fab {
  position: fixed;
  right: 24px;
  /* (31/08/2026) Sửa lỗi thật: trước đây dùng bottom:200px, TRÙNG HỆT vị trí
     #pctech-pzalo-banner ở trên - banner gợi ý AI kèm nút "Điền vào ô trả
     lời" KHÔNG tự biến mất nên nằm đè che kín nút này, khiến Nhat báo
     "không thấy nút" dù nút vẫn tồn tại trong DOM. Chuyển hẳn lên góc trên
     bên phải (top, không phải bottom) để KHÔNG BAO GIỜ đụng chồng lấn với
     banner/khung xem trước hay bất kỳ khung nổi bottom-anchored nào khác
     trong file này (review banner, mini progress...), dù các khung đó có
     cao/thấp thế nào. */
  top: 24px;
  z-index: 999999;
  background: #DC2626;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
#pctech-pzalo-broadcast-fab:hover {
  background: #B91C1C;
}

#pctech-pzalo-broadcast-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999999;
  width: 420px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.28);
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #1E293B;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-header {
  position: sticky;
  top: 0;
  background: #DC2626;
  color: #fff;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 14px;
  border-radius: 10px 10px 0 0;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-close {
  float: right;
  cursor: pointer;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-body {
  padding: 14px 16px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-hint {
  font-size: 12px;
  color: #64748B;
  margin: 0 0 8px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-refresh {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  cursor: pointer;
  margin-bottom: 10px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-list {
  max-height: 180px;
  overflow-y: auto;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 6px 8px;
  margin-bottom: 12px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-row {
  padding: 4px 2px 8px;
  border-bottom: 1px solid #F1F5F9;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-row:last-child {
  border-bottom: none;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-row-top {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkarea {
  margin: 4px 0 0 22px;
  font-size: 11px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linked {
  color: #16A34A;
  margin-right: 6px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkarea button {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 5px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  cursor: pointer;
  margin-right: 4px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkbtn {
  color: #0068FF;
  border-color: #BFDBFE !important;
  background: #EFF6FF !important;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linksearch {
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
  border-radius: 5px;
  border: 1px solid #CBD5E1;
  font-size: 11px;
  margin-bottom: 4px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkresults {
  max-height: 100px;
  overflow-y: auto;
  margin-bottom: 4px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkresult-row {
  padding: 4px 6px;
  border-radius: 4px;
  cursor: pointer;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-linkresult-row:hover {
  background: #F0F5FF;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-selected-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 10px;
  font-size: 12px;
  color: #166534;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-selected-bar button {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #E2E8F0;
  background: #ffffff;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-group-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-group-select {
  flex: 1;
  min-width: 120px;
  padding: 5px 6px;
  border-radius: 6px;
  border: 1px solid #CBD5E1;
  font-size: 12px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-group-bar button {
  font-size: 11px;
  padding: 5px 8px;
  border-radius: 6px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  cursor: pointer;
  white-space: nowrap;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-template-picker {
  width: 100%;
  margin-bottom: 8px;
  padding: 6px;
  border-radius: 6px;
  border: 1px solid #CBD5E1;
  font-size: 12px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 90px;
  padding: 8px;
  border-radius: 6px;
  border: 1px solid #CBD5E1;
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
  margin-bottom: 12px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-automode {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 10px;
  font-size: 11px;
  line-height: 1.5;
  color: #991B1B;
  cursor: pointer;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-automode input {
  margin-top: 2px;
  flex-shrink: 0;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-start {
  width: 100%;
  background: #DC2626;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-start:hover {
  background: #B91C1C;
}

/* (31/08/2026) "🔍 Tìm & chọn thêm" - tìm trong TOÀN BỘ Zalo ngay trong
   panel Gửi hàng loạt, thay vì phải tự gõ tìm ở khung chat.zalo.me trước
   rồi quay lại tick (yêu cầu trực tiếp từ Nhat). */
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchbar {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 10px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchbar .pctech-pzalo-bp-label {
  font-size: 11px;
  color: #1D4ED8;
  margin-bottom: 4px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchinput {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid #BFDBFE;
  font-size: 12px;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchresults {
  margin-top: 6px;
  max-height: 160px;
  overflow-y: auto;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchresult-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 2px;
  font-size: 12px;
  border-bottom: 1px solid #DBEAFE;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchresult-row:last-child {
  border-bottom: none;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchresult-row button {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #BFDBFE;
  background: #fff;
  color: #0068FF;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchresult-row button:disabled {
  color: #16A34A;
  border-color: #BBF7D0;
  background: #F0FDF4;
  cursor: default;
}
#pctech-pzalo-broadcast-panel .pctech-pzalo-bp-searchempty {
  font-size: 11px;
  color: #94A3B8;
  margin: 4px 0 0;
}

/* (31/08/2026) Cửa sổ "👥 Xem thành viên" 1 nhóm - mở CHỒNG lên trên panel
   "Gửi hàng loạt" (z-index cao hơn), Nhat có thể xem/thêm/xoá từng người mà
   không cần xoá cả nhóm rồi tạo lại. Style mô phỏng lại
   #pctech-pzalo-broadcast-panel cho đồng bộ giao diện. */
#pctech-pzalo-group-members-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000000;
  width: 360px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-header {
  position: sticky;
  top: 0;
  background: #0068FF;
  color: #fff;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 14px;
  border-radius: 10px 10px 0 0;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-close {
  float: right;
  cursor: pointer;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-body {
  padding: 14px 16px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-count {
  font-size: 12px;
  color: #64748B;
  margin: 0 0 8px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-list {
  max-height: 260px;
  overflow-y: auto;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 4px 8px;
  margin-bottom: 12px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 2px;
  border-bottom: 1px solid #F1F5F9;
  font-size: 13px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-row:last-child {
  border-bottom: none;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-row button {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #FCA5A5;
  background: #FEF2F2;
  color: #DC2626;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-empty {
  font-size: 12px;
  color: #94A3B8;
  padding: 8px 2px;
  margin: 0;
}
/* (31/08/2026) "🔍 Tìm & thêm" - tìm trong TOÀN BỘ Zalo ngay trong panel
   này, thay cho ô gõ-tên-chính-xác cũ (đổi theo yêu cầu Nhat - xem
   searchAllZaloContacts()). */
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addbar-wrap {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 6px;
  padding: 8px 10px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addlabel {
  display: block;
  font-size: 11px;
  color: #1D4ED8;
  margin-bottom: 4px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addbar-wrap input {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid #BFDBFE;
  font-size: 12px;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addresults {
  margin-top: 6px;
  max-height: 160px;
  overflow-y: auto;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addresults .pctech-pzalo-gm-row button {
  border-color: #BFDBFE;
  background: #fff;
  color: #0068FF;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addresults .pctech-pzalo-gm-row button:disabled {
  color: #16A34A;
  border-color: #BBF7D0;
  background: #F0FDF4;
  cursor: default;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addresults .pctech-pzalo-gm-empty {
  margin: 4px 0;
}
#pctech-pzalo-group-members-panel .pctech-pzalo-gm-addresults button {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #BFDBFE;
  background: #fff;
  color: #0068FF;
  cursor: pointer;
}

#pctech-pzalo-broadcast-review {
  position: fixed;
  left: 24px;
  bottom: 200px;
  z-index: 999999;
  width: 320px;
  max-width: calc(100vw - 48px);
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #DC2626;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  padding: 12px 14px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  color: #1E293B;
}
#pctech-pzalo-broadcast-review strong {
  display: block;
  color: #DC2626;
  margin-bottom: 6px;
}
#pctech-pzalo-broadcast-review .pctech-pzalo-broadcast-review-text {
  white-space: pre-wrap;
  background: #F8FAFC;
  border-radius: 6px;
  padding: 8px;
  margin-bottom: 6px;
  max-height: 120px;
  overflow-y: auto;
}
#pctech-pzalo-broadcast-review .pctech-pzalo-broadcast-review-hint {
  font-size: 11px;
  color: #94A3B8;
  margin-bottom: 8px;
}
#pctech-pzalo-broadcast-review .pctech-pzalo-broadcast-review-actions {
  display: flex;
  gap: 8px;
}
#pctech-pzalo-broadcast-review .pctech-pzalo-broadcast-review-actions button {
  flex: 1;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  cursor: pointer;
  font-size: 12px;
}
#pctech-pzalo-broadcast-review .pctech-pzalo-broadcast-stop-btn {
  background: #DC2626;
  color: #fff;
  border-color: #DC2626;
}

/* Chế độ "Tự động bấm Gửi" (30/08/2026) - widget nhỏ gọn, KHÔNG hiện nội
   dung tin nhắn (chạy im lặng theo lựa chọn của Nhat), chỉ báo tiến độ +
   luôn có nút Dừng ngay bên cạnh vì đây là chế độ tự động không ai duyệt. */
#pctech-pzalo-broadcast-auto-mini {
  position: fixed;
  left: 24px;
  bottom: 200px;
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100vw - 48px);
  background: #7F1D1D;
  color: #fff;
  border-radius: 999px;
  padding: 8px 8px 8px 14px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}
#pctech-pzalo-broadcast-auto-mini .pctech-pzalo-broadcast-auto-mini-text {
  white-space: nowrap;
}
#pctech-pzalo-broadcast-auto-mini button {
  background: #ffffff;
  color: #7F1D1D;
  border: none;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   "🧾 Tạo đơn hàng" (31/08/2026, sửa lại cùng ngày theo yêu cầu Nhat:
   "Mục tạo đơn hàng đang xuất hiện phía trái màn hình, cho sang phía
   phải giúp tôi") - chuyển từ left:24px;top:24px sang phải. Đã rà lại
   toàn bộ vị trí fixed cột phải trước khi chọn: right:24px đã bị chiếm ở
   bottom:90px (fab chính), bottom:145px (debug-btn), bottom:200px
   (banner), và top:24px (broadcast-fab) - nên chọn top:80px, nằm ngay
   dưới broadcast-fab, không đụng ô nào.
   ═══════════════════════════════════════════════════════════════════ */
#pctech-pzalo-quotes-fab {
  position: fixed;
  right: 24px;
  top: 80px;
  z-index: 999999;
  background: #16A34A;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
#pctech-pzalo-quotes-fab:hover {
  background: #15803D;
}

#pctech-pzalo-quotes-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999999;
  width: 480px;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  color: #1E293B;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-header {
  position: sticky;
  top: 0;
  background: #16A34A;
  color: #fff;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 14px;
  border-radius: 10px 10px 0 0;
  z-index: 1;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-close {
  float: right;
  cursor: pointer;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-body {
  padding: 14px 16px 20px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-hint {
  font-size: 12px;
  color: #64748B;
  margin: 0 0 10px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-hint-warn {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  color: #92400E;
  padding: 8px 10px;
  border-radius: 6px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  font-size: 13px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 10px 0 4px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-input {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid #CBD5E1;
  font-size: 13px;
  font-family: inherit;
}
#pctech-pzalo-quotes-panel textarea.pctech-pzalo-q-input {
  resize: vertical;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-suggest {
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  margin-top: 4px;
  max-height: 140px;
  overflow-y: auto;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-suggest-row {
  padding: 6px 8px;
  font-size: 12px;
  cursor: pointer;
  border-bottom: 1px solid #F1F5F9;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-suggest-row:last-child {
  border-bottom: none;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-suggest-row:hover {
  background: #F0F5FF;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-oldquotes {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 6px;
  padding: 8px 10px;
  margin: 6px 0 10px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-oldquotes-title {
  font-size: 11px;
  font-weight: 600;
  color: #1D4ED8;
  margin: 0 0 6px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-oldquotes-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  padding: 4px 0;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-oldquotes-row button {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #BFDBFE;
  background: #fff;
  color: #0068FF;
  cursor: pointer;
  white-space: nowrap;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-section {
  margin: 16px 0 8px;
  padding-top: 10px;
  border-top: 1px solid #F1F5F9;
  font-size: 13px;
  color: #16A34A;
}
/* (31/08/2026) "➕ Thêm dịch vụ/sản phẩm mới (chưa có sẵn)" - mô phỏng lại
   khung <details> dạng viền đứt nét giống panel Báo giá của ChatHub
   (chathub-admin-hub.php), để 2 nơi trông đồng bộ. */
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc {
  margin: 10px 0;
  border: 1px dashed #CBD5E1;
  border-radius: 6px;
  padding: 6px 10px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc > summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: #16A34A;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-body {
  margin-top: 8px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-body .pctech-pzalo-q-input {
  margin-bottom: 6px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-check {
  display: block;
  font-size: 12px;
  margin-bottom: 6px;
  cursor: pointer;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-body button {
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  border: none;
  background: #16A34A;
  color: #fff;
  cursor: pointer;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-body button:disabled {
  opacity: 0.6;
  cursor: default;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-newsvc-status {
  font-size: 11px;
  color: #64748B;
  margin-top: 4px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-svcresults {
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  margin-top: 4px;
  max-height: 200px;
  overflow-y: auto;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-svcresult-row {
  padding: 7px 8px;
  font-size: 12px;
  cursor: pointer;
  border-bottom: 1px solid #F1F5F9;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-svcresult-row:last-child {
  border-bottom: none;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-svcresult-row:hover {
  background: #F0FDF4;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-svcresult-empty {
  padding: 8px;
  font-size: 12px;
  color: #94A3B8;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 12px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table td {
  padding: 5px 4px;
  border-bottom: 1px solid #F1F5F9;
  vertical-align: middle;
  /* (31/08/2026, sửa lần 3 - Nhat báo vẫn lệch chút dù đã ẩn mũi tên số):
     TẤT CẢ ô đều khai height CỐ ĐỊNH giống nhau (không để trình duyệt tự
     tính theo nội dung từng ô), nguyên nhân gốc là biểu tượng 🔧/🖥️ ở ô
     tên có font emoji riêng, chiều cao dòng chữ không khớp input dù cùng
     font-size khai báo - ép height cứng ở đây thì mọi ô LUÔN bằng nhau,
     bất kể nội dung bên trong cao thấp thế nào. */
  height: 36px;
  box-sizing: border-box;
}
/* (31/08/2026, sửa lại cùng ngày - Nhat báo "ô tên dịch vụ lệch không
   thẳng với số lượng và giá"): tất cả input trong bảng này giờ dùng
   CHUNG 1 rule gốc (box-sizing/font/chiều cao) thay vì mỗi loại 1 rule
   riêng như trước - đó là lý do bị lệch (input tên có font-size/box-sizing
   khai riêng, input số lượng/giá thì không, nên 2 loại cao khác nhau). */
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table input {
  box-sizing: border-box;
  font: inherit;
  font-size: 12px;
  line-height: 18px;
  padding: 3px 4px;
  border-radius: 4px;
  border: 1px solid #CBD5E1;
  vertical-align: middle;
  height: 26px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table input[type="number"] {
  width: 64px;
  /* (31/08/2026, sửa lần 2 - Nhat báo vẫn lệch chút) - mũi tên tăng/giảm
     mặc định của trình duyệt (spin button) có kích thước RIÊNG, không
     tính theo height/box-sizing mình đặt, nên input số luôn cao hơn ô
     tên vài px dù CSS giống hệt nhau. Ẩn mũi tên này đi (đằng nào form
     cũng không dùng tới) để 3 loại ô cao bằng nhau tuyệt đối. */
  -moz-appearance: textfield;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table input[type="number"]::-webkit-outer-spin-button,
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* (31/08/2026, sửa lần 5 - Nhat: "đã thay icon thành số thứ tự, vẫn bị
   lệch, kiểm tra kỹ lại code") - GỐC THẬT SỰ không phải icon: ô tên dùng
   display:flex (một kiểu bố cục khác hẳn), còn ô số lượng/giá chỉ là 1
   input nằm trực tiếp trong <td> (bố cục inline + vertical-align).
   flex item KHÔNG áp dụng vertical-align, nó dùng align-items - 2 cơ chế
   định vị khác nhau nên dù kích thước bằng nhau, vị trí tính toán ra vẫn
   lệch vài px. Sửa TRIỆT ĐỂ: bỏ hẳn display:flex khỏi ô tên, để số thứ
   tự + input đều là phần tử inline bình thường như mọi ô khác - CẢ 5 CỘT
   giờ dùng CHUNG một cơ chế canh giữa (vertical-align:middle trên input,
   td vertical-align:middle) - không còn kiểu bố cục nào khác biệt nữa. */
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table .pctech-pzalo-q-name-input {
  width: calc(100% - 20px);
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table .pctech-pzalo-q-name-icon {
  display: inline-block;
  width: 16px;
  vertical-align: middle;
  font-size: 12px;
  color: #94A3B8;
  text-align: right;
  margin-right: 4px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-selected-table button {
  border: none;
  background: #FEF2F2;
  color: #DC2626;
  border-radius: 4px;
  width: 22px;
  height: 22px;
  cursor: pointer;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-totals {
  margin-top: 8px;
  font-size: 12px;
  color: #475569;
  text-align: right;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 10px;
  font-size: 12px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-action-disabled {
  color: #94A3B8;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-notebox {
  margin-top: 8px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-status {
  margin-top: 10px;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-status-ok {
  color: #16A34A;
  font-size: 12px;
  margin: 4px 0;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-status-err {
  color: #DC2626;
  font-size: 12px;
  margin: 4px 0;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-submit {
  width: 100%;
  margin-top: 14px;
  background: #16A34A;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-submit:hover {
  background: #15803D;
}
#pctech-pzalo-quotes-panel .pctech-pzalo-q-submit:disabled {
  opacity: .6;
  cursor: wait;
}
