body {
  font-family: 'SF Pro Display', Arial, sans-serif;
  background-color: #ffffff;
}

/* Nút Đăng xuất (trước là nút Đăng nhập / Đăng xuất Google) — nổi bật, đổi màu theo trạng thái */
.gauth-btn {
  font-size: 13px;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(0,0,0,0.25);
  transition: all 0.2s ease;
  white-space: nowrap;
}
.gauth-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(0,0,0,0.3);
}
.gauth-btn.gauth-out {
  background: linear-gradient(135deg, #4285F4, #3367d6); /* xanh dương Google - chưa đăng nhập */
}
.gauth-btn.gauth-out:hover {
  background: linear-gradient(135deg, #3367d6, #2a56c6);
}
.gauth-btn.gauth-in {
  background: linear-gradient(135deg, #e74c3c, #c0392b); /* đỏ - đã đăng nhập, bấm để đăng xuất */
}
.gauth-btn.gauth-in:hover {
  background: linear-gradient(135deg, #c0392b, #a93226);
}

/* Container để gom input và preview song song */
.container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 20px;
  gap: 20px;
}

/* Khung nhập liệu bên trái */
.input-section {
  flex: 0 0 35%;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background: linear-gradient(135deg, #fdfdfd, #f3f7fb);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.input-section h3, .input-section h4 {
  margin-top: 15px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #2c3e50; 
  border-left: 4px solid #2196F3;
  padding-left: 8px;
}

.input-section label {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #333;
}

.input-section input[type="text"],
.input-section input[type="file"],
.input-section textarea,
.input-section select {
  width: 95%;
  padding: 8px 10px;
  margin-top: 5px;
  border: 1px solid #bbb;
  border-radius: 6px;
  font-size: 13px;
  transition: border-color 0.3s, box-shadow 0.3s;
  background-color: #fff;
  font-family: inherit;
}

.input-section input:focus,
.input-section textarea:focus,
.input-section select:focus {
  border-color: #2196F3;
  box-shadow: 0 0 5px rgba(33,150,243,0.4);
  outline: none;
}

/* ===== Gợi ý mã sản phẩm (autocomplete tự viết, không dùng datalist để
   lọc đúng kiểu "bắt đầu bằng" thay vì "chứa" ký tự bất kỳ) ===== */
.autocomplete-wrap { position: relative; }
.autocomplete-list {
  position: absolute;
  left: 0;
  top: 100%;
  width: 95%;
  background: #fff;
  border: 1px solid #bbb;
  border-top: none;
  border-radius: 0 0 6px 6px;
  max-height: 220px;
  overflow-y: auto;
  z-index: 50;
  display: none;
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}
.autocomplete-list div {
  padding: 7px 10px;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}
.autocomplete-list div:last-child { border-bottom: none; }
.autocomplete-list div:hover,
.autocomplete-list div.active { background: #eaf3fc; }
.autocomplete-list .ac-code { font-weight: 600; color: #2c3e50; }
.autocomplete-list .ac-name { font-size: 11px; color: #778; margin-left: 8px; }
.button-row button:nth-child(2) {
  background-color: #e74c3c;
  color: #fff;
}

.button-row button:nth-child(2):hover {
  background-color: #c0392b;
  transform: translateY(-2px);
}


/* Hàng nút */
.fixed-buttons {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: grid;
  grid-template-columns: repeat(4, auto); /* tối đa 4 nút mỗi hàng */
  gap: 10px;
  background: rgba(255,255,255,0.95);
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  z-index: 9999;
}

.fixed-buttons button {
  min-width: 100px;   /* chiều rộng tối thiểu cho đều */
  padding: 8px 12px;
  font-size: 13px;
  cursor: pointer;
  border-radius: 6px;
  border: none;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: all 0.2s ease;
}

/* Khoá mọi nút cần đăng nhập Google trước khi dùng (trừ nút Đăng nhập Google) */
.needs-google-auth:disabled {
  background: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}
.needs-google-auth:disabled:hover {
  background: #ccc !important;
  transform: none !important;
}

/* Mỗi nút một màu — gán theo CHỨC NĂNG (class), không theo vị trí (nth-child),
   để màu luôn giống nhau trên mọi layout dù thứ tự/số lượng nút trong DOM có khác nhau. */
.btn-clear {
  background: #e74c3c; /* đỏ cho nút Xóa toàn bộ */
}
.btn-clear:hover {
  background: #c0392b;
  transform: translateY(-2px);
}

.btn-export {
  background: #3498db; /* xanh dương cho nút Lưu / Xuất PDF */
}
.btn-export:hover {
  background: #2980b9;
  transform: translateY(-2px);
}

.btn-save-drive {
  background: #27ae60; /* xanh lá cho nút Lưu Lên Drive */
}
.btn-save-drive:hover {
  background: #1e8449;
  transform: translateY(-2px);
}

.btn-layout {
  background: #1abc9c; /* xanh ngọc cho các nút đổi Layout */
}
.btn-layout:hover {
  background: #16a085;
  transform: translateY(-2px);
}

.btn-help {
  background: #9b59b6; /* tím cho nút Hướng dẫn / Báo lỗi */
}
.btn-help:hover {
  background: #8e44ad;
  transform: translateY(-2px);
}

.btn-origin-ref {
  background: #2c3e50; /* xanh xám đậm cho nút Tham khảo xuất xứ */
}
.btn-origin-ref:hover {
  background: #1a252f;
  transform: translateY(-2px);
}
/* Nút Hiển thị trên giấy */
.button-row button:first-child {
  background-color: #4CAF50; /* xanh lá */
  color: #fff;
}

.button-row button:first-child:hover {
  background-color: #45a049;
  transform: translateY(-2px);
}

/* Nút Xuất PDF */
.button-row button:last-child {
  background-color: #2196F3; /* xanh dương */
  color: #fff;
}

.button-row button:last-child:hover {
  background-color: #1976D2;
  transform: translateY(-2px);
}

/* Preview A5 bên phải */
.a5-landscape {
  flex: 0 0 auto;
  display: inline-block;
  width: 210mm;
  height: 148mm;
  border: 1px solid #000;
  display: flex;
  position: relative;
}

.half {
  width: 50%;
  padding: 15px;
  box-sizing: border-box;
  border-right: 1px dashed #aaa;
  position: relative;
}

.half.right .fixed-title {
  position: absolute;
  top: 30mm;
  left: 37%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  text-align: left;
}

.half.right p {
  position: absolute;
  top: 40mm;
  left: 11mm;
  right: 8mm;
  font-size: 11px;
  white-space: pre-line;
}

/* Khung nhóm 1: Tên sản phẩm + Mô tả */
.group1 {
  position: absolute;
  top: 33mm;
  left: 51%;
  transform: translateX(-50%);
  width: 90mm;
  height: 15mm;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.group1 h2 {
  margin: 0;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
}

.group1 p {
  margin: 4px 0 0 0;
  font-size: 10px;
  text-align: center;
  text-transform: capitalize;
}

/* Khung nhóm 2: Giá */
.group2 {
  position: absolute;
  top: 52mm;
  left: 12mm;
  width: 81mm;
  height: 17mm;
}

.price-box.combined {
  width: 81mm;
  height: 100%;
  border: 1px solid #333;
  border-radius: 8px;
  background-color: #fff;
  display: flex;
  flex-direction: row;
}

.price {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.price .label {
  font-size: 12px;
  font-weight: bold;
}

.price .value {
  font-size: 19px;
  margin-top: 4px;
}

.price.listed .value .amount {
  text-decoration: line-through;
}

.price.discount .value strong {
  font-weight: bold;
}

.currency {
  font-size: 10px;
  margin-left: 0.1px;
  text-decoration: none;
}

.divider {
  width: 1px;
  background-color: #333;
  height: 100%;
  /* margin-right: 4mm; /* dịch sang trái */
}

.group.cutline {
  position: absolute;
  top: 28mm;
  left: 8mm;
  width: 90mm;
  height: 115mm;
  border: 1px dashed #000;
}

.group.cutline-right {
  position: absolute;
  top: 28mm;
  right: 8mm;
  width: 90mm;
  height: 91mm;
  border: 1px dashed #000;
}

.group3, .group4 {
  position: absolute;
  left: 12mm;
  width: 81mm;
  background-color: #fff;
  font-size: 11px;
}

.group3 {
  top: 74mm;
}

.group4 {
  position: absolute;   /* để có thể đặt theo top/left */
  top: 105mm;           /* chỉnh khoảng cách từ mép trên A5 */
  left: 12mm;           /* chỉnh khoảng cách từ mép trái */
  width: 81mm;          /* chiều rộng khung */
  background-color: #fff;
  font-size: 11px;
}

.group4 h3 {
  margin: 0 0 4px 0;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

#paperProductFeatures {
  white-space: pre-line;   /* giữ xuống dòng khi nhập */
  line-height: 1;
  margin-top: 0;        /* bỏ khoảng cách thừa phía trên nội dung */
  width: 70%;
}


.group3 h3, .group4 h3 {
  margin: 0 0 4px 0;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.group3 ul, .group4 ul {
  margin: 0;
  padding-left: 15px;
}

#paperRightContent {
  font-size: 11px;
  line-height: 1.5;
  white-space: pre-wrap;        /* giữ xuống dòng, đồng thời cho phép wrap chữ */
  word-wrap: break-word;        /* ngắt từ dài */
  overflow-wrap: break-word;    /* ngắt từ dài (chuẩn mới) */
  top: 37.5mm;
  left: 9mm;
  width: 85mm;                  /* giới hạn chiều rộng khung */
  box-sizing: border-box;       /* đảm bảo padding/border không làm tràn */

  /* Giới hạn số dòng hiển thị */
  display: -webkit-box;
  -webkit-line-clamp: 17;       /* tối đa 17 dòng */
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* QR box */
.qr-box {
  position: absolute;
  bottom: 0mm;
  right: 5mm;
  width: 25mm;
  height: auto;
  text-align: center;
}

.qr-box img {
  width: 25mm;
  height: 25mm;
  object-fit: contain;
  border: 1px solid #333;
  background-color: #fff;
  display: block;
  margin: 0 auto;
}

.qr-box p {
  font-size: 9px;
  margin-top: 2px;
  color: #000;
}
@import url('https://cdn.jsdelivr.net/npm/sf-font@latest/sf-font.css');
/* Input bắt buộc: viền đỏ nhạt */
.input-section input[required],
.input-section textarea[required],
.input-section select[required] {
  border: 1px solid #d88;   /* đỏ nhạt */
  background-color: #fff;   /* giữ nền trắng */
}

/* Input không bắt buộc: viền xanh nhạt */
.input-section input:not([required]),
.input-section textarea:not([required]),
.input-section select:not([required]) {
  border: 1px solid #88b;   /* xanh nhạt */
  background-color: #fff;   /* giữ nền trắng */
}

/* Hiệu ứng khi focus để nổi bật hơn một chút */
.input-section input:focus,
.input-section textarea:focus {
  outline: none;
  border-color: #555;       /* viền xám đậm khi focus */
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
}


.btn-drive {
  display: flex;
  align-items: center;
  justify-content: center;   /* căn giữa theo chiều ngang */
  gap: 6px;              /* khoảng cách giữa icon và chữ */
  background: #ff69b4;   /* màu nền nút */
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 13px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: all 0.2s ease;
}

.btn-drive:hover {
  background: #d63384;
  transform: translateY(-2px);
}

.btn-drive:disabled {
  background: #ccc;
  color: #888;
  cursor: not-allowed;
  box-shadow: none;
}
.btn-drive:disabled:hover {
  background: #ccc;
  transform: none;
}

.icon-drive {
  width: 18px;
  height: 18px;
}
.group.cutline::before {
  content: "✂";              /* ký tự cây kéo */
  position: absolute;
  top: -15px;                /* chỉnh vị trí theo ý */
  left: -20px;
  font-size: 16px;
  color: #000;
}
.group.cutline-right::before {
  content: "✂";              /* ký tự cây kéo */
  position: absolute;
  top: -15px;                /* chỉnh vị trí theo ý */
  left: -20px;
  font-size: 16px;
  color: #000;
}
#progress-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  height: 24px;
  background: linear-gradient(135deg, #ddd, #bbb);
  border-radius: 12px;
  overflow: hidden;
  display: none;
  z-index: 99999;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

#progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #4caf50, #81c784);
  transition: width 0.3s ease;
}

#progress-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
#toast {
  min-width: 300px;
  max-width: 80%;
  background: linear-gradient(135deg, #4caf50, #81c784);
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 14px 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  z-index: 10000;
  font-size: 15px;
  font-weight: bold;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  opacity: 0;
  pointer-events: none; /* tránh click */
  transition: opacity 0.4s ease, transform 0.4s ease;
}

#toast.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

#toast.hide {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.9);
}

#toast.error {
  background: linear-gradient(135deg, #e74c3c, #c0392b);
}
.search-box {
  display: flex;
  align-items: center;   /* căn giữa theo chiều dọc */
  gap: 6px;              /* khoảng cách giữa input và nút */
  margin-top: 8px;
}

.search-box input {
  flex: 1;               /* input chiếm hết chiều ngang */
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.search-box button {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px; /* đẩy xuống dưới */
}

.search-box button:hover {
  background-color: #0056b3;
}
/* Danh sách kết quả — giới hạn chiều cao giống ô gợi ý Mã sản phẩm (.autocomplete-list),
   không cho xổ dài vô hạn, cuộn bên trong khi có nhiều kết quả */
#searchResults {
  list-style: none;
  padding: 0;
  margin-top: 10px;
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid #ddd;
  border-radius: 6px;
}
#searchResults:empty {
  border: none;
}
#searchResults li {
  padding: 8px;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#searchResults li:hover {
  background-color: #f0f0f0;
}
#searchResults li:active {
  background-color: #d0e0ff; /* hiệu ứng click */
}
#searchResults li {
  user-select: none;   /* không cho chọn text */
}
#tipsModal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

#tipsModal .modal-content {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 1000px;
  font-size: 13px;
  line-height: 1.5;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

#tipsModal h3 {
  margin-top: 0;
  font-size: 16px;
  font-weight: bold;
  color: #2c3e50;
}

#tipsModal button {
  margin-top: 10px;
  padding: 6px 12px;
  background: #3498db;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
#tipsModal button:hover {
  background: #2980b9;
}
#tipsModal pre {
  font-family: 'SF Pro Display', Arial, sans-serif; /* không dùng monospace */
  white-space: pre-line; /* giữ xuống dòng nhưng font vẫn đẹp */
}
#confirmModal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

#confirmModal .modal-content {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 360px;
  font-family: 'SF Pro Display', Arial, sans-serif;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  text-align: center;
}

#confirmModal .modal-buttons {
  margin-top: 15px;
  display: flex;
  justify-content: space-around;
}

#confirmModal button {
  padding: 6px 12px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
}

#confirmYes {
  background: #27ae60;
  color: #fff;
}
#confirmYes:hover {
  background: #219150;
}

#confirmNo {
  background: #e74c3c;
  color: #fff;
}
#confirmNo:hover {
  background: #c0392b;
}

/* 3 lựa chọn khi phát hiện trùng file trên Drive */
#confirmOverwrite {
  background: #e67e22;
  color: #fff;
}
#confirmOverwrite:hover {
  background: #ca6f1e;
}
#confirmExportOnly {
  background: #3498db;
  color: #fff;
}
#confirmExportOnly:hover {
  background: #2980b9;
}
#confirmCancel {
  background: #95a5a6;
  color: #fff;
}
#confirmCancel:hover {
  background: #7f8c8d;
}
#a5-container {
  position: relative;
  display: inline-block; /* giữ khung gọn */
}

.note {
  position: absolute;
  bottom: -67px;             /* cách mép dưới khung A5 20px */
  left: 50%;                 /* canh giữa theo chiều ngang */
  transform: translateX(-50%);
  font-size: 12px;
  color: #666;               /* màu xám nhạt */
  font-family: 'SF Pro Display', Arial, sans-serif;
  text-align: center;
  line-height: 2;
}
.a5-image {
  position: absolute;
  bottom: -1050px;             /* cách mép dưới khung A5 20px */
  right: -127%;                 /* canh giữa theo chiều ngang */
  transform: translateX(-50%);
  font-size: 12px;
  color: #666;               /* màu xám nhạt */
  font-family: 'SF Pro Display', Arial, sans-serif;
  scale: 0.4;
}
/* Wrapper để định vị bảng */
.accessory-wrapper {
  position: absolute;   /* cho phép đặt theo top/left */
  top: 36mm;            /* chỉnh khoảng cách từ mép trên A5 */
  left: 8mm;           /* chỉnh khoảng cách từ mép trái */
  width: 87mm;          /* chiều rộng tổng thể bảng */
}
/* Bảng giá chi tiết phụ kiện */
.price-table {
  border-collapse: collapse;   /* gộp đường kẻ */
  width: 100%;
  font-size: 13px;
  table-layout: fixed;         /* chia cột theo tỷ lệ */
}

/* Chia tỷ lệ 4 cột tổng = 9mm */
.price-table th:nth-child(1),
.price-table td:nth-child(1) { width: 2mm; }   /* Tên SP */
.price-table th:nth-child(2),
.price-table td:nth-child(2) { width: 4mm; }   /* Thông số cấu hình */
.price-table th:nth-child(3),
.price-table td:nth-child(3) { width: 1mm; }   /* Mã SP */
.price-table th:nth-child(4),
.price-table td:nth-child(4) { width: 2mm; }   /* Giá */

/* Đường kẻ giống Excel */
.price-table th, .price-table td {
  border: none;                /* bỏ viền ngoài */
  border-bottom: 1px solid #ccc; /* chỉ kẻ ngang */
  border-right: 1px solid #ccc;  /* chỉ kẻ dọc */
  padding: 1px 1px;
  text-align: left;
 /* ép chữ xuống dòng theo chiều rộng cột */
  white-space: normal;       /* cho phép xuống dòng */
  word-wrap: break-word;     /* ngắt từ dài */
  overflow-wrap: break-word; /* ngắt từ dài (chuẩn mới) */
}

/* bỏ viền phải của cột cuối cùng */
.price-table th:last-child,
.price-table td:last-child {
  border-right: none;
}

/* bỏ viền dưới của hàng cuối cùng */
.price-table tr:last-child td {
  border-bottom: none;
}

/* Header nổi bật */
.price-table th {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 13px;
}


/* Chỉ áp dụng cho bảng preview */
.preview-table th {
  font-size: 10px;      /* header nhỏ */
  font-weight: bold;
  text-transform: uppercase;
}

.preview-table td {
  font-size: 11px;     /* nội dung bình thường */
}
/* Input trong bảng nhập liệu phụ kiện */
#accessoryTable input {
  width: 100%;              /* chiếm hết chiều rộng ô */
  box-sizing: border-box;   /* tính cả padding/border trong width */
  font-size: 11px;          /* giữ font-size riêng, không bị ảnh hưởng */
  border: 1px solid #ccc;   /* viền mảnh */
  padding: 2px 4px;
}
#accessoryTable textarea {
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;
  border: 1px solid #ccc;
  padding: 2px 4px;
  resize: vertical;        /* cho phép kéo dãn chiều cao */
  white-space: pre-wrap;   /* giữ xuống dòng khi nhập */
  word-wrap: break-word;   /* ngắt từ dài */
  overflow-wrap: break-word;
}
.price-listed {
  text-decoration: line-through;   /* gạch ngang giá gốc từng dòng */
  text-align: right;               /* căn phải */
  display: inline-block;
  width: 100%;                     /* chiếm hết chiều ngang để text-align có tác dụng */
}

.price-sale {
  /* font-weight: bold;               /* tô đậm giá ưu đãi từng dòng */
  text-align: right;
  display: inline-block;
  width: 100%;
}

.total-listed {
  text-align: right;               /* căn phải dòng tổng giá gốc */
}

.total-listed span {
  text-decoration: line-through;   /* gạch ngang tổng giá gốc */
}

.total-sale {
  text-align: right;               /* căn phải dòng tổng giá ưu đãi */
}

.total-sale span {
  font-weight: bold;               /* tô đậm tổng giá ưu đãi */
}
#popupRef {
  position: fixed;
  right: 20px;
  bottom: 150px;   /* đẩy lên trên cụm nút */
  background: #2196F3;
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  z-index: 9999;
  font-size: 14px;
}

#popupRef a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}

#popupRef:hover {
  background: #1976D2;
}
