/* =========================================================
   YY ADMIN — หน้าตาใหม่ (แนว A) V12.300
   มินิมอล · สีชมพูประจำร้านเป็นสีเน้นสีเดียว · อ่านง่ายสำหรับทีม
   ใช้คู่กับ js/admin-v2.js — ไม่แตะข้อมูล/สูตร
   (หน้าต่างย่อย เช่น รายละเอียด Booking / ศูนย์ต่าง ๆ ยังใช้หน้าตาเดิม รอปรับรอบถัดไป)
   ========================================================= */

body.yy2 {
  --v2-bg: #faf8f9;
  --v2-card: #ffffff;
  --v2-text: #2b2228;
  --v2-text-2: #4a3d45;
  --v2-muted: #7d6c76;
  --v2-line: #eee5ea;
  --v2-line-2: #f4eef1;
  --v2-pink: #c93370;
  --v2-pink-ink: #a3265a;
  --v2-pink-soft: #fdf1f6;
  --v2-focus: 0 0 0 3px #fbe3ee;
  background: var(--v2-bg) !important;
  color: var(--v2-text) !important;
  font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif !important;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

body.yy2 .admin-shell {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 max(16px, env(safe-area-inset-right, 0px)) 56px max(16px, env(safe-area-inset-left, 0px)) !important;
  background: transparent !important;
}

/* ---------- แถบบน ---------- */
body.yy2 .admin-topbar {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 20px !important;
  margin: 16px 0 20px !important;
  padding: 10px 14px !important;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.yy2 .yy2-brand { display: flex !important; align-items: center !important; gap: 10px !important; min-width: 0; }
body.yy2 .yy2-logo {
  width: 34px; height: 34px; border-radius: 9px; flex: 0 0 auto;
  background: var(--v2-pink); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; letter-spacing: .02em;
}
body.yy2 .admin-brand-copy h1 { margin: 0 !important; font-size: 15px !important; font-weight: 700 !important; color: var(--v2-text) !important; line-height: 1.2 !important; }
body.yy2 .admin-brand-copy p { margin: 0 !important; font-size: 12px !important; font-weight: 400 !important; color: var(--v2-muted) !important; }

body.yy2 .admin-top-actions.yy2-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  min-width: 0;
}
body.yy2 .yy2-nav .btn,
body.yy2 .yy2-nav a,
body.yy2 .yy2-nav button {
  min-height: 38px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--v2-text-2) !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  white-space: nowrap;
}
body.yy2 .yy2-nav .btn:hover,
body.yy2 .yy2-nav a:hover,
body.yy2 .yy2-nav button:hover { background: var(--v2-line-2) !important; color: var(--v2-text) !important; }
body.yy2 .yy2-nav .yy2-active { background: var(--v2-pink-soft) !important; color: var(--v2-pink-ink) !important; font-weight: 600 !important; }

body.yy2 .yy2-more { position: relative; }
body.yy2 .yy2-more > summary {
  list-style: none; cursor: pointer;
  min-height: 38px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 8px;
  display: inline-flex; align-items: center; color: var(--v2-text-2); background: #fff;
}
body.yy2 .yy2-more > summary::-webkit-details-marker { display: none; }
body.yy2 .yy2-more > summary::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
body.yy2 .yy2-more-menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 60;
  min-width: 240px; padding: 6px;
  background: #fff; border: 1px solid var(--v2-line); border-radius: 10px;
  box-shadow: 0 12px 32px rgba(43, 34, 40, .12);
  display: flex; flex-direction: column;
}
body.yy2 .yy2-more-menu > * {
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  width: 100% !important; min-height: 38px !important; margin: 0 !important; padding: 0 10px !important;
  border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
  color: var(--v2-text) !important; font: inherit !important; font-size: 14px !important; font-weight: 400 !important;
  text-align: left !important; text-decoration: none !important;
}
body.yy2 .yy2-more-menu > *:hover { background: var(--v2-line-2) !important; }
body.yy2 .yy2-primary { display: flex; gap: 8px; }

/* ---------- ปุ่ม ---------- */
body.yy2 .btn {
  font-family: inherit !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.yy2 .btn-primary {
  background: var(--v2-pink) !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  min-height: 40px !important;
  padding: 0 16px !important;
}
body.yy2 .btn-primary:hover { background: var(--v2-pink-ink) !important; }
body.yy2 .btn:focus-visible,
body.yy2 button:focus-visible,
body.yy2 a:focus-visible,
body.yy2 input:focus-visible,
body.yy2 summary:focus-visible { outline: 2px solid var(--v2-pink) !important; outline-offset: 2px !important; }

/* ---------- Sandbox (เฉพาะโหมดทดสอบ) ---------- */
body.yy2 .yy2-sandbox {
  margin: 0 0 16px;
  border: 1px dashed #e7c3d3;
  border-radius: 10px;
  background: #fff;
}
body.yy2 .yy2-sandbox > summary {
  cursor: pointer; padding: 10px 14px; font-size: 13px; color: var(--v2-pink-ink); font-weight: 600;
}
body.yy2 .yy2-sandbox .yy-test-tools-panel { margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 0 0 10px 10px !important; }

/* ---------- การ์ด "ต้องทำตอนนี้" ---------- */
body.yy2 .stats-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 20px !important;
}
body.yy2 .stat-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 16px !important;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  cursor: pointer;
  min-height: 0 !important;
}
body.yy2 .stat-card:hover { border-color: #e7c3d3 !important; }
body.yy2 .stat-card.active { border-color: var(--v2-pink) !important; box-shadow: var(--v2-focus) !important; background: var(--v2-card) !important; }
body.yy2 .stat-label { order: 1; font-size: 13px !important; font-weight: 600 !important; color: var(--v2-text-2) !important; display: flex; align-items: center; gap: 8px; }
body.yy2 .stat-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #c9b8c1; }
body.yy2 .stat-card[data-admin-filter="stage:before"] .stat-label::before { background: #b87522; }
body.yy2 .stat-card[data-admin-filter="stage:press"] .stat-label::before { background: #4279c8; }
body.yy2 .stat-card[data-admin-filter="stage:after"] .stat-label::before { background: #7658b8; }
body.yy2 .stat-card[data-admin-filter="stage:done"] .stat-label::before { background: #218a68; }
body.yy2 .stat-value { order: 2; font-size: 30px !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--v2-text) !important; }
body.yy2 .stat-note { order: 3; font-size: 12.5px !important; font-weight: 400 !important; color: var(--v2-muted) !important; }

/* ---------- เลย์เอาต์หลัก ---------- */
body.yy2 .admin-layout {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  align-items: flex-start !important;
}
body.yy2 .admin-stack { flex: 999 1 640px !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 20px !important; }
body.yy2 .sticky-panel { flex: 1 1 280px !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 16px !important; position: static !important; top: auto !important; }

body.yy2 .card {
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.yy2 .card-head { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; }
body.yy2 .card-title { font-size: 16px !important; font-weight: 700 !important; color: var(--v2-text) !important; margin: 0 !important; }
body.yy2 .card-subtitle { font-size: 13px !important; font-weight: 400 !important; color: var(--v2-muted) !important; margin: 2px 0 0 !important; }

/* ---------- ค้นหา + ตัวกรอง ---------- */
body.yy2 .yy2-search {
  display: flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 12px;
  border: 1px solid #e3d7de; border-radius: 8px; background: #fff; color: var(--v2-muted);
  flex: 0 1 300px; min-width: 200px;
}
body.yy2 .yy2-search:focus-within { border-color: var(--v2-pink); box-shadow: var(--v2-focus); }
body.yy2 .yy2-search input { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; flex: 1; min-width: 0; font: inherit; font-size: 14px; color: var(--v2-text); padding: 0 !important; }

body.yy2 .filter-row { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; margin: 12px 0 8px !important; }
body.yy2 .filter-chip {
  min-height: 36px !important; padding: 0 12px !important;
  border: 1px solid transparent !important; border-radius: 8px !important;
  background: transparent !important; color: var(--v2-text-2) !important;
  font: inherit !important; font-size: 14px !important; font-weight: 500 !important; box-shadow: none !important;
}
body.yy2 .filter-chip:hover { background: var(--v2-line-2) !important; }
body.yy2 .filter-chip.active { border-color: var(--v2-pink) !important; background: var(--v2-pink-soft) !important; color: var(--v2-pink-ink) !important; font-weight: 600 !important; }

/* ---------- ตาราง Booking ---------- */
body.yy2 .yy2-table { overflow-x: auto; margin: 0 -4px; padding: 0 4px; }
body.yy2 .yy2-list-head,
body.yy2 .booking-row.yy2-row {
  display: grid !important;
  grid-template-columns: 112px minmax(110px, 1fr) minmax(150px, 1.4fr) 112px 132px 112px 60px !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 820px;
}
body.yy2 .yy2-list-head {
  padding: 8px 12px;
  font-size: 12px; font-weight: 600; color: var(--v2-muted);
  border-bottom: 1px solid var(--v2-line-2);
}
body.yy2 #adminBookingList.booking-list { gap: 0 !important; }
body.yy2 .booking-row.yy2-row {
  padding: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v2-line-2) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.yy2 .booking-row.yy2-row:hover { background: #fcf7f9 !important; }
body.yy2 .booking-row.yy2-row:focus-visible { outline: 2px solid var(--v2-pink) !important; outline-offset: -2px !important; }
body.yy2 .booking-row.yy2-row[hidden] { display: none !important; }
body.yy2 .yy2-c { min-width: 0; font-size: 14px; color: var(--v2-text); line-height: 1.4; }
body.yy2 .yy2-c small { display: block; font-size: 12px; color: var(--v2-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.yy2 .yy2-c-code b { font-weight: 600; }
body.yy2 .yy2-prio { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #fff3dd; color: #8a5a12; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
body.yy2 .yy2-ev { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.yy2 .yy2-c-qty { text-align: right; white-space: nowrap; }
body.yy2 .yy2-list-head .yy2-r { text-align: right; }
body.yy2 .yy2-c-pay { color: var(--v2-text-2); white-space: nowrap; }
body.yy2 .yy2-c-st { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
body.yy2 .yy2-c-money { text-align: right; }
body.yy2 .yy2-c-money b { font-weight: 600; white-space: nowrap; }
body.yy2 .yy2-c-act { text-align: right; }
body.yy2 .yy2-open {
  min-height: 36px; padding: 0 12px; border: 1px solid #e3d7de; border-radius: 8px;
  background: #fff; color: var(--v2-text); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer;
}
body.yy2 .yy2-open:hover { border-color: var(--v2-pink); color: var(--v2-pink-ink); }

/* สถานะเป็นป้ายเรียบ ๆ */
body.yy2 .yy2-row .status {
  display: inline-block !important;
  padding: 2px 10px !important;
  border-radius: 999px !important;
  border: 0 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

/* ---------- แถบขวา ---------- */
body.yy2 .quick-item {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid var(--v2-line-2) !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
body.yy2 .quick-item:last-child { border-bottom: 0 !important; }
body.yy2 .quick-item-main b { font-size: 14px !important; font-weight: 600 !important; color: var(--v2-text) !important; }
body.yy2 .quick-item-main span { display: block; font-size: 12.5px !important; font-weight: 400 !important; color: var(--v2-muted) !important; }
body.yy2 .quick-item strong { font-size: 20px !important; font-weight: 700 !important; color: var(--v2-text) !important; }
body.yy2 .yy2-shortcut-list { display: flex; flex-direction: column; margin-top: 4px; }
body.yy2 .yy2-shortcut {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 40px; padding: 0; border: 0; border-bottom: 1px solid var(--v2-line-2);
  background: transparent; color: var(--v2-text); font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
body.yy2 .yy2-shortcut::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid var(--v2-muted); border-top: 1.5px solid var(--v2-muted); transform: rotate(45deg); }
body.yy2 .yy2-shortcut:last-child { border-bottom: 0; }
body.yy2 .yy2-shortcut:hover { color: var(--v2-pink-ink); }

/* ---------- มือถือ: แถวกลายเป็นการ์ดเล็ก ---------- */
@media (max-width: 760px) {
  body.yy2 .yy2-list-head { display: none !important; }
  body.yy2 .yy2-table { overflow: visible; }
  body.yy2 .booking-row.yy2-row {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "code act" "cust money" "ev ev" "qty st" !important;
    gap: 4px 12px !important;
  }
  body.yy2 .yy2-c-code { grid-area: code; }
  body.yy2 .yy2-c-cust { grid-area: cust; font-weight: 600; }
  body.yy2 .yy2-c-ev { grid-area: ev; }
  body.yy2 .yy2-c-qty { grid-area: qty; text-align: left; }
  body.yy2 .yy2-c-st { grid-area: st; justify-content: flex-end; }
  body.yy2 .yy2-c-money { grid-area: money; }
  body.yy2 .yy2-c-act { grid-area: act; }
  body.yy2 .yy2-search { flex: 1 1 100%; }
  body.yy2 .yy2-more-menu { right: auto; left: 0; }
}

/* มือถือ: แถบบนไม่ยืดยาว — เมนูเลื่อนข้างได้ในแถวเดียว, การ์ดสรุป 2 คอลัมน์ */
@media (max-width: 760px) {
  body.yy2 .admin-topbar { flex-direction: row !important; align-items: center !important; text-align: left !important; }
  body.yy2 .yy2-brand { flex: 1 1 auto !important; justify-content: flex-start !important; width: auto !important; }
  body.yy2 .admin-top-actions.yy2-nav {
    order: 3; flex: 1 1 100% !important; width: 100% !important;
    flex-direction: row !important; flex-wrap: nowrap !important;
    overflow-x: auto !important; scrollbar-width: none;
    margin: 0 -14px !important; padding: 0 14px !important;
  }
  body.yy2 .yy2-nav > * { flex: 0 0 auto !important; width: auto !important; }
  body.yy2 .yy2-more, body.yy2 .yy2-primary { order: 2; }
  body.yy2 .yy2-primary .btn-primary { width: auto !important; }
  body.yy2 .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.yy2 .stat-card { padding: 12px !important; }
  body.yy2 .stat-value { font-size: 24px !important; }
}


/* ---------- V12.301 เมนูย่อย / ตัวกรองตามขั้นงาน ---------- */
body.yy2 .yy2-slot { display: contents; }
body.yy2 .yy2-group { position: relative; }
body.yy2 .yy2-group > summary {
  list-style: none; cursor: pointer;
  min-height: 38px; padding: 0 12px; border-radius: 8px;
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--v2-text-2); font-size: 14px; font-weight: 500; white-space: nowrap;
}
body.yy2 .yy2-group > summary::-webkit-details-marker { display: none; }
body.yy2 .yy2-group > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
body.yy2 .yy2-group > summary:hover,
body.yy2 .yy2-group[open] > summary { background: var(--v2-line-2); color: var(--v2-text); }
body.yy2 .yy2-menu {
  position: absolute; left: 0; top: calc(100% + 6px); z-index: 60;
  min-width: 260px; padding: 6px;
  background: #fff; border: 1px solid var(--v2-line); border-radius: 10px;
  box-shadow: 0 12px 32px rgba(43, 34, 40, .12);
  display: flex; flex-direction: column;
}
body.yy2 .yy2-menu-row[hidden] { display: none !important; }
body.yy2 .yy2-menu-row > *, body.yy2 .yy2-nav .yy2-menu-row > * {
  display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important;
  width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: 6px 10px !important;
  border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
  color: var(--v2-text) !important; font: inherit !important; text-align: left !important; text-decoration: none !important; line-height: 1.35 !important;
}
body.yy2 .yy2-menu-row > *:hover { background: var(--v2-line-2) !important; }
body.yy2 .yy2-menu-row b { font-size: 14px; font-weight: 600; }
body.yy2 .yy2-menu-row small { font-size: 12.5px; color: var(--v2-muted); font-weight: 400; }

body.yy2 button.stat-card { font: inherit !important; text-align: left !important; color: var(--v2-text) !important; width: 100%; }
body.yy2 .stat-note b { font-weight: 600; color: var(--v2-text-2); }

body.yy2 .filter-row { align-items: center; }
body.yy2 .yy2-subs { display: contents; }
body.yy2 .yy2-subs[hidden] { display: none !important; }
body.yy2 .yy2-n { margin-left: 4px; font-size: 12px; color: var(--v2-muted); font-weight: 500; }
body.yy2 .filter-chip.active .yy2-n { color: var(--v2-pink-ink); }

body.yy2 button.quick-item { width: 100%; font: inherit !important; text-align: left !important; cursor: pointer; color: var(--v2-text) !important; }
body.yy2 button.quick-item:hover .quick-item-main b { color: var(--v2-pink-ink) !important; }

@media (max-width: 760px) {
  body.yy2 .yy2-menu { position: fixed; left: 16px; right: 16px; top: auto; min-width: 0; }
}

/* ---------- โรล (โหมดทดสอบ) ---------- */
body.yy2 .yy2-rolebar {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 4px 4px 10px; border: 1px dashed var(--v2-pink); border-radius: 8px;
  background: var(--v2-pink-soft); color: var(--v2-pink-ink); font-size: 12.5px; font-weight: 600; white-space: nowrap;
}
body.yy2 .yy2-rolebar select {
  border: 0; background: #fff; border-radius: 6px; padding: 4px 6px; font: inherit; color: var(--v2-text); cursor: pointer;
}
body.yy2 .yy2-gate[hidden] { display: none !important; }
body.yy2 .yy2-gate {
  position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; padding: 16px;
  background: rgba(250, 248, 249, .94); backdrop-filter: blur(3px);
}
body.yy2 .yy2-gate-card {
  width: min(420px, 100%); background: #fff; border: 1px solid var(--v2-line); border-radius: 14px;
  padding: 24px; text-align: center; box-shadow: 0 18px 50px rgba(43, 34, 40, .10);
  display: grid; gap: 12px;
}
body.yy2 .yy2-gate-card b { font-size: 17px; }
body.yy2 .yy2-gate-card p { margin: 0; color: var(--v2-muted); line-height: 1.6; }
body.yy2 .yy2-gate-go {
  display: block; padding: 11px 16px; border-radius: 10px; background: var(--v2-pink); color: #fff; font-weight: 600; text-decoration: none;
}
body.yy2 .yy2-gate-back { border: 0; background: none; color: var(--v2-muted); font: inherit; font-size: 13px; cursor: pointer; text-decoration: underline; }
body.yy2 .yy2-readonly-tag {
  margin-left: 8px; padding: 2px 8px; border-radius: 99px; background: var(--v2-line-2); color: var(--v2-muted);
  font-size: 12px; font-weight: 600; vertical-align: middle;
}

/* ---------- แถบโหมดทดสอบ (แทน SAFE SANDBOX เดิม) ---------- */
body.yy2 .yy2-testbar {
  position: sticky; top: 0; z-index: 9999;
  background: #2b2228; color: #f6eef2; font-size: 13px;
  border-bottom: 1px solid #000;
}
body.yy2 .yy2-testbar-in {
  max-width: 1440px; margin: 0 auto; min-height: 40px;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 6px max(16px, env(safe-area-inset-left, 0px));
}
body.yy2 .yy2-testdot { width: 8px; height: 8px; border-radius: 50%; background: #ff7aae; box-shadow: 0 0 0 4px rgba(255, 122, 174, .22); flex: none; }
body.yy2 .yy2-testbar b { font-weight: 600; color: #fff; }
body.yy2 .yy2-testmsg { color: #c9b8c2; }
body.yy2 .yy2-testlinks { display: inline-flex; gap: 4px; margin-left: auto; }
body.yy2 .yy2-testlinks a {
  color: #f6eef2; text-decoration: none; padding: 4px 10px; border-radius: 6px; border: 1px solid #4a3d45; font-weight: 500;
}
body.yy2 .yy2-testlinks a:hover { background: #3a2f36; border-color: #6d5a65; }
body.yy2 .yy2-testslot:empty { display: none; }
body.yy2 .yy2-testbar .yy2-rolebar {
  border: 1px solid #4a3d45; background: #3a2f36; color: #f6eef2; padding: 3px 3px 3px 10px; font-weight: 500;
}
body.yy2 .yy2-testbar .yy2-rolebar select { background: #2b2228; color: #fff; border: 1px solid #4a3d45; }
@media (max-width: 760px) {
  body.yy2 .yy2-testmsg { display: none; }
  body.yy2 .yy2-testlinks { margin-left: auto; }
}
body.yy2 #yy2OwnerLink[hidden] { display: none !important; }

/* ---------- นักบัญชี: เฉพาะเรื่องเงิน (V12.450) ----------
   ซ่อนเมนู/ปุ่มงานหน้าร้าน · ศูนย์รับชำระ / ศูนย์คืนเงิน / สรุปยอดใน Booking ยังกดได้ตามปกติ
   (ระบบจริง: Cloud Functions + กฎ Firestore ต้องตรวจสิทธิ์ซ้ำ — ทำพร้อมเปิดระบบจองจริง) */
body.yy2.yy2-finance-only .yy2-slot[data-menu="งาน"],
body.yy2.yy2-finance-only .yy2-slot[data-menu="จัดส่ง"],
body.yy2.yy2-finance-only .yy2-slot[data-menu="บอร์ดกดบัตร"],
body.yy2.yy2-finance-only .yy2-slot[data-menu="บัตรจากร้าน"],
body.yy2.yy2-finance-only .yy2-slot[data-menu="ลูกค้าและแต้ม"],
body.yy2.yy2-finance-only .yy2-primary,
body.yy2.yy2-finance-only #yy2SandboxTools,
body.yy2.yy2-finance-only #adminEventSection,
body.yy2.yy2-finance-only #deleteBookingBtn,
body.yy2.yy2-finance-only #saveBookingStatusBtn,
body.yy2.yy2-finance-only #startPressingBtn,
body.yy2.yy2-finance-only #openPressResultBtn,
body.yy2.yy2-finance-only #editPressResultBtn,
body.yy2.yy2-finance-only #addAdditionalTicketBtn,
body.yy2.yy2-finance-only #approveCancelRequestBtn,
body.yy2.yy2-finance-only #rejectCancelRequestBtn,
body.yy2.yy2-finance-only #releaseDepositQueueBtn,
body.yy2.yy2-finance-only [data-event-action] { display: none !important; }
body.yy2.yy2-finance-only #detailStatus { pointer-events: none; opacity: .7; }


/* =========================================================
   V12.470 ฟอร์มงานแบบใหม่ (admin-event-flow.js) — มินิมอล ทีละขั้น
   ใช้ช่องกรอกเดิม (ย้ายมาวาง) แต่หน้าตาใหม่ทั้งหมด
   ========================================================= */
#createEventModal { --ef-text: #2b2228; --ef-text2: #4a3d45; --ef-muted: #7d6c76; --ef-line: #ebe3e7; --ef-line2: #f4eef1; --ef-bg: #faf8f9; --ef-pink: #c93370; --ef-pink-soft: #fdf1f6; --ef-ring: 0 0 0 3px #fbe3ee; }
#createEventModal .modal.ef-on { width: min(820px, calc(100vw - 32px)) !important; max-width: none !important; height: min(900px, calc(100vh - 120px)) !important; max-height: none !important; padding: 0 !important; display: flex !important; flex-direction: column; overflow: hidden !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 24px 80px rgba(43, 34, 40, .22) !important; }
#createEventModal .modal.ef-on > .modal-head,
#createEventModal .modal.ef-on > .yy-event-form-scroll,
#createEventModal .modal.ef-on > .modal-actions { display: none !important; }
#createEventModal #eventPosterPreview.hidden { display: none !important; }

#createEventModal .ef { display: flex; flex-direction: column; height: 100%; min-height: 0; color: var(--ef-text); font-size: 15px; }
#createEventModal .ef [hidden] { display: none !important; }
#createEventModal .ef-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 28px 14px; }
#createEventModal .ef-kicker { font-size: 12.5px; color: var(--ef-muted); letter-spacing: .01em; }
#createEventModal .ef-title { margin: 2px 0 0; font-size: 21px; font-weight: 600; line-height: 1.3; color: var(--ef-text); }
#createEventModal .ef-x { width: 36px; height: 36px; border: 0; border-radius: 10px; background: transparent; color: var(--ef-muted); font-size: 22px; line-height: 1; cursor: pointer; }
#createEventModal .ef-x:hover { background: var(--ef-line2); color: var(--ef-text); }

#createEventModal .ef-steps { display: flex; gap: 4px; padding: 0 22px; border-bottom: 1px solid var(--ef-line); overflow-x: auto; scrollbar-width: none; }
#createEventModal .ef-step { display: inline-flex; align-items: center; gap: 8px; padding: 10px 8px 12px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; color: var(--ef-muted); font: inherit; font-size: 14px; white-space: nowrap; cursor: pointer; }
#createEventModal .ef-step:hover { color: var(--ef-text); }
#createEventModal .ef-step.is-on { color: var(--ef-text); font-weight: 600; border-bottom-color: var(--ef-pink); }
#createEventModal .ef-step-no { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 12px; font-weight: 600; background: var(--ef-line2); color: var(--ef-muted); }
#createEventModal .ef-step.is-on .ef-step-no { background: var(--ef-pink); color: #fff; }
#createEventModal .ef-step.is-done .ef-step-no { background: #e7f5ee; color: #2f7a55; }

#createEventModal .ef-body { flex: 1; min-height: 0; overflow-y: auto; padding: 24px 28px 32px; }
#createEventModal .ef-page { max-width: 600px; display: grid; gap: 26px; }
#createEventModal .ef-field { display: grid; gap: 8px; min-width: 0; }
#createEventModal .ef-label { font-size: 14px; font-weight: 600; color: var(--ef-text); }
#createEventModal .ef-opt { margin-left: 6px; font-size: 12px; font-weight: 400; color: var(--ef-muted); }
#createEventModal .ef-help { margin-top: -4px; font-size: 13px; line-height: 1.55; color: var(--ef-muted); }
#createEventModal .ef-help-under { margin-top: 0; }
#createEventModal .ef-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }

/* ช่องกรอก (ของใหม่ + ของเดิมที่ย้ายมา) */
#createEventModal .ef .ef-input, #createEventModal .ef input[type="text"], #createEventModal .ef input[type="number"], #createEventModal .ef select, #createEventModal .ef textarea {
  width: 100%; min-height: 44px; padding: 0 12px !important; border: 1px solid var(--ef-line) !important; border-radius: 10px !important;
  background-color: #fff !important; color: var(--ef-text) !important; font: inherit !important; font-size: 15px !important; box-shadow: none !important; box-sizing: border-box; }
#createEventModal .ef textarea { min-height: 88px; padding: 10px 12px !important; line-height: 1.5; resize: vertical; }
#createEventModal .ef input:focus, #createEventModal .ef select:focus, #createEventModal .ef textarea:focus { outline: none; border-color: var(--ef-pink) !important; box-shadow: var(--ef-ring) !important; }
#createEventModal .ef input[readonly].ef-input { background: var(--ef-line2) !important; }
#createEventModal .ef #eventName { min-height: 50px; font-size: 17px !important; font-weight: 500 !important; }
#createEventModal .ef .field { margin: 0 !important; display: grid; gap: 6px; min-width: 0; }
#createEventModal .ef .field > label { font-size: 12.5px !important; font-weight: 500 !important; color: var(--ef-muted) !important; margin: 0 !important; }

/* ปุ่มแบ่งส่วน (เลือก 1 อย่าง) */
#createEventModal .ef-seg { display: inline-flex; padding: 3px; gap: 3px; border-radius: 11px; background: var(--ef-line2); width: max-content; max-width: 100%; }
#createEventModal .ef-seg button { min-height: 38px; padding: 0 18px; border: 0; border-radius: 8px; background: transparent; color: var(--ef-text2); font: inherit; font-size: 14.5px; cursor: pointer; }
#createEventModal .ef-seg button[aria-checked="true"] { background: #fff; color: var(--ef-text); font-weight: 600; box-shadow: 0 1px 3px rgba(43, 34, 40, .12); }
#createEventModal .ef-seg button:disabled { opacity: .4; cursor: not-allowed; }

/* กรณีรับบัตร (ใต้ "บัตรเป็นแบบไหน") */
#createEventModal .ef-cases { display: grid; gap: 4px; margin: 2px 0 6px; padding: 10px 12px; border-radius: 10px; background: var(--ef-bg); border: 1px solid var(--ef-line); max-width: 560px; }
#createEventModal .ef-cases > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 10px; font-size: 13px; line-height: 1.5; }
#createEventModal .ef-cases b { font-weight: 600; color: var(--ef-text); }
#createEventModal .ef-cases span { color: var(--ef-text2); }
@media (max-width: 640px) { #createEventModal .ef-cases > div { grid-template-columns: 1fr; gap: 0; } }
/* ชิปเลือกช่องทาง */
#createEventModal .ef-chips { display: flex; flex-wrap: wrap; gap: 8px; }
#createEventModal .ef-chip { min-height: 36px; padding: 0 14px; border: 1px solid var(--ef-line); border-radius: 999px; background: #fff; color: var(--ef-text2); font: inherit; font-size: 14px; cursor: pointer; }
#createEventModal .ef-chip:hover { border-color: #d9c9d1; }
#createEventModal .ef-chip[aria-pressed="true"] { border-color: var(--ef-pink); background: var(--ef-pink-soft); color: var(--ef-pink); font-weight: 600; }
#createEventModal .ef-other { max-width: 320px; }

/* กลุ่มราคา */
#createEventModal .ef-groups { display: grid; gap: 8px; max-width: 420px; }
#createEventModal .ef-grow { display: flex; align-items: center; gap: 8px; }
#createEventModal .ef-gno { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; background: var(--ef-line2); color: var(--ef-muted); }
#createEventModal .ef-icon { flex: none; width: 36px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: var(--ef-muted); font-size: 18px; cursor: pointer; }
#createEventModal .ef-icon:hover { background: var(--ef-line2); color: var(--ef-text); }
#createEventModal .ef-link { justify-self: start; padding: 4px 0; border: 0; background: none; color: var(--ef-pink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }

/* ตัวอย่างกลุ่มราคา */
#createEventModal .ef-example { margin-top: 12px; max-width: 460px; padding: 12px 14px; border-radius: 12px; background: var(--ef-bg); border: 1px solid var(--ef-line); font-size: 13px; line-height: 1.6; color: var(--ef-text2); }
#createEventModal .ef-example > b { font-weight: 600; color: var(--ef-text); margin-right: 4px; }
#createEventModal .ef-ex-row { display: flex; gap: 8px; align-items: baseline; margin-top: 4px; flex-wrap: wrap; }
#createEventModal .ef-ex-row > span { flex: none; padding: 0 8px; border-radius: 6px; background: #fff; border: 1px solid var(--ef-line); font-size: 12px; color: var(--ef-muted); }
#createEventModal .ef-ex-row em { font-style: normal; color: var(--ef-muted); }
#createEventModal .ef-ex-note { margin-top: 6px; font-size: 12.5px; color: var(--ef-muted); }
/* วันที่ + เวลา (ตัวเลือกเดิม) — หน้าตาเหมือนกันทั้งคู่ · ไอคอนปฏิทิน / นาฬิกา */
#createEventModal .ef .thai-datetime-row input,
#createEventModal .ef [data-show-round-row] input { height: 44px !important; min-height: 44px !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--ef-text) !important; text-align: left !important; }
#createEventModal .ef .thai-datetime-row input::placeholder,
#createEventModal .ef [data-show-round-row] input::placeholder { color: #a99aa2 !important; font-size: 15px !important; font-weight: 400 !important; opacity: 1 !important; }
#createEventModal .ef .yy-calendar-input { padding-right: 40px !important; background-repeat: no-repeat !important; background-position: right 12px center !important; background-size: 17px 17px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237c6d76' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important; cursor: pointer !important; }
#createEventModal .ef .thai-time-input, #createEventModal .ef .show-round-time { padding-right: 36px !important; background-repeat: no-repeat !important; background-position: right 12px center !important; background-size: 16px 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237c6d76' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") !important; }
/* วันที่ + เวลา (ตัวเลือกเดิม) */
#createEventModal .ef .thai-datetime-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 120px !important; gap: 8px !important; max-width: 360px; margin: 0 !important; }

/* รอบการแสดง (ของเดิม) */
#createEventModal .ef #showRoundsAdminBlock { display: flex; flex-direction: column; gap: 8px; }
#createEventModal .ef #showRoundsAdminBlock .yy-round-head { order: 2; display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
#createEventModal .ef #showRoundsAdminBlock .yy-round-head > div { display: none !important; }
#createEventModal .ef #addShowRoundBtn, #createEventModal .ef #addPriceBtn, #createEventModal .ef #addCustomTermBtn { padding: 4px 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--ef-pink) !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; min-height: 0 !important; cursor: pointer; }
#createEventModal .ef #showRoundsList { display: grid; gap: 8px; }
#createEventModal .ef [data-show-round-row] { grid-template-columns: minmax(0, 1fr) 120px 36px !important; max-width: 404px; padding: 0 !important; border: 0 !important; background: none !important; align-items: center !important; }
#createEventModal .ef [data-show-round-row] .field > label { display: none !important; }
#createEventModal .ef [data-remove-round], #createEventModal .ef .remove-price-btn, #createEventModal .ef .yy-custom-term-remove { width: 36px !important; height: 36px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--ef-muted) !important; font-size: 18px !important; font-weight: 400 !important; cursor: pointer; }
#createEventModal .ef [data-remove-round]:hover, #createEventModal .ef .remove-price-btn:hover, #createEventModal .ef .yy-custom-term-remove:hover { background: var(--ef-line2) !important; color: var(--ef-text) !important; }

/* โปสเตอร์ (ของเดิม) */
#createEventModal .ef .yy-poster-upload-field { margin: 0 !important; }
#createEventModal .ef .yy-poster-upload-field > label:first-child { display: none !important; }
#createEventModal .ef label.yy-poster-upload-compact { display: grid !important; grid-template-columns: 40px minmax(0, 1fr) auto !important; align-items: center !important; gap: 12px !important; min-height: 64px; padding: 10px 14px !important; border: 1px dashed #dccbd3 !important; border-radius: 12px !important; background: #fff !important; }
#createEventModal .ef .yy-poster-upload-compact .yy-poster-upload-icon { background: var(--ef-line2) !important; color: var(--ef-muted) !important; }
#createEventModal .ef .yy-poster-upload-copy b { font-size: 14px !important; font-weight: 600 !important; color: var(--ef-text) !important; }
#createEventModal .ef .yy-poster-upload-copy small { font-size: 12.5px !important; color: var(--ef-muted) !important; }
#createEventModal .ef .yy-poster-upload-button { padding: 7px 12px !important; border: 1px solid var(--ef-line) !important; border-radius: 8px !important; background: #fff !important; color: var(--ef-text) !important; font-size: 13px !important; font-weight: 500 !important; }
#createEventModal .ef .yy-poster-preview-card { margin-top: 8px !important; border: 1px solid var(--ef-line) !important; border-radius: 12px !important; background: #fff !important; }

/* ราคา (ของเดิม) */
#createEventModal .ef #priceList { display: grid; gap: 10px; margin: 0 !important; }
#createEventModal .ef .price-row { display: grid !important; grid-template-columns: 1fr 1fr 1.3fr 36px; gap: 8px !important; align-items: end !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
#createEventModal .ef .price-row:has(.ef-qg) { grid-template-columns: 1fr 1fr 1.1fr 1fr 36px; }
#createEventModal .ef .price-row .ef-qg { order: 3; }
#createEventModal .ef .price-row .remove-price-btn { order: 9; }
#createEventModal .ef .price-row + .price-row .field > label { display: none !important; }

/* สถิติคิว */
#createEventModal .ef-stat { display: flex; gap: 20px; align-items: center; padding: 18px 20px; border-radius: 14px; background: var(--ef-bg); border: 1px solid var(--ef-line); }
#createEventModal .ef-stat-n { font-size: 40px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--ef-text); white-space: nowrap; }
#createEventModal .ef-stat-n small { margin-left: 4px; font-size: 15px; font-weight: 500; color: var(--ef-muted); }
#createEventModal .ef-stat-t { display: grid; gap: 3px; font-size: 13px; line-height: 1.5; color: var(--ef-muted); }
#createEventModal .ef-stat-t b { font-size: 14.5px; font-weight: 600; color: var(--ef-text); }
#createEventModal .ef-warn { color: #a35a00 !important; font-weight: 500; }

/* ตัวเลือกแบบติ๊ก (1 รอบ/คน · การรับบัตร) */
#createEventModal .ef #efSlotFulfill > label { align-items: center !important; padding: 10px 14px !important; }
#createEventModal .ef label.yy-check-card, #createEventModal .ef #efSlotFulfill > label { display: flex !important; gap: 12px !important; align-items: flex-start !important; padding: 12px 14px !important; border: 1px solid var(--ef-line) !important; border-radius: 12px !important; background: #fff !important; cursor: pointer; min-height: 44px; }
#createEventModal .ef label.yy-check-card b, #createEventModal .ef #efSlotFulfill b { display: block; font-size: 14px !important; font-weight: 600 !important; color: var(--ef-text) !important; }
#createEventModal .ef label.yy-check-card small, #createEventModal .ef #efSlotFulfill small { display: block; margin-top: 3px; font-size: 12.5px !important; line-height: 1.5 !important; color: var(--ef-muted) !important; font-weight: 400 !important; }
#createEventModal .ef input[type="checkbox"] { width: 18px !important; height: 18px !important; margin: 2px 0 0 !important; flex: none; accent-color: var(--ef-pink); }

/* เส้นเวลา */
#createEventModal .ef-timeline { display: grid; position: relative; }
#createEventModal .ef-trow { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr) minmax(0, 360px); gap: 14px; align-items: center; padding: 14px 0; }
#createEventModal .ef-trow::before { content: ""; position: absolute; left: 6px; top: 0; bottom: 0; width: 2px; background: var(--ef-line); }
#createEventModal .ef-trow:first-child::before { top: 50%; }
#createEventModal .ef-trow-end::before { bottom: 50%; }
#createEventModal .ef-tdot { position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid #d9c9d1; }
#createEventModal .ef-trow-end .ef-tdot { border-color: var(--ef-pink); background: var(--ef-pink); }
#createEventModal .ef-ttext { display: grid; gap: 2px; min-width: 0; }
#createEventModal .ef-ttext b { font-size: 14.5px; font-weight: 600; }
#createEventModal .ef-ttext span { font-size: 12.5px; line-height: 1.45; color: var(--ef-muted); }
#createEventModal .ef-page[data-page="time"] { max-width: 700px; }
#createEventModal .ef-terr { display: block; margin-top: 4px; font-style: normal; font-size: 12.5px; line-height: 1.45; font-weight: 500; color: #c0392b; }
#createEventModal .ef-trow.has-err .ef-tdot { border-color: #c0392b; background: #fdecea; }
#createEventModal .ef-trow.has-err input { border-color: #e6a39b !important; }
#createEventModal .ef-tlink { justify-self: start; margin-top: 4px; padding: 0; font-size: 13px; font-weight: 500; }
#createEventModal .ef-tvalue { font-size: 14.5px; color: var(--ef-text2); }
#createEventModal .ef #yyPriorityImmediateCreateHint { display: none !important; }

/* การชำระ (ของเดิม) — รายการกะทัดรัดในกรอบเดียว */
#createEventModal .ef-options { display: grid; gap: 0; border: 1px solid var(--ef-line); border-radius: 12px; overflow: hidden; background: #fff; }
#createEventModal .ef .payment-option { display: flex !important; gap: 12px !important; align-items: center !important; min-height: 46px; padding: 10px 14px !important; border: 0 !important; border-top: 1px solid var(--ef-line2) !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; cursor: pointer; margin: 0 !important; }
#createEventModal .ef .payment-option:first-child { border-top: 0 !important; }
#createEventModal .ef .payment-option:hover { background: var(--ef-bg) !important; }
#createEventModal .ef .payment-option input { margin: 0 !important; }
#createEventModal .ef .payment-option > span { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
#createEventModal .ef .payment-option b { font-size: 14px !important; font-weight: 600 !important; color: var(--ef-text) !important; white-space: nowrap; }
#createEventModal .ef .payment-option > span > span { font-size: 12.5px !important; line-height: 1.45 !important; color: var(--ef-muted) !important; font-weight: 400 !important; }
#createEventModal .ef #eventStorePaymentQuota { max-width: 200px; }
#createEventModal .ef .yy-payment-preview { margin-top: 4px !important; border: 0 !important; background: none !important; padding: 0 !important; }
#createEventModal .ef .yy-payment-preview > summary { font-size: 13px !important; color: var(--ef-pink) !important; font-weight: 500 !important; cursor: pointer; list-style: none; }
#createEventModal .ef .yy-payment-preview-list { margin-top: 10px; display: grid; gap: 8px; }
#createEventModal .ef .yy-payment-preview-card { padding: 12px 14px !important; border-radius: 12px !important; background: var(--ef-bg) !important; border: 1px solid var(--ef-line) !important; font-size: 13px !important; line-height: 1.6 !important; color: var(--ef-text2) !important; }

/* คำถามลูกค้า (ของเดิม) */
#createEventModal .ef .yy-customer-question-box { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; display: grid; gap: 14px; }
#createEventModal .ef .yy-customer-question-head, #createEventModal .ef .yy-question-selected-head { display: none !important; }
#createEventModal .ef .yy-question-preset-chips { display: flex !important; flex-wrap: wrap; gap: 8px !important; margin: 0 !important; }
#createEventModal .ef .yy-question-chip { min-height: 34px; padding: 0 12px !important; border: 1px dashed #dccbd3 !important; border-radius: 999px !important; background: #fff !important; color: var(--ef-text2) !important; font: inherit !important; font-size: 13.5px !important; font-weight: 400 !important; }
#createEventModal .ef .yy-question-chip:hover { border-color: var(--ef-pink) !important; color: var(--ef-pink) !important; }
#createEventModal .ef .yy-customer-question-list { display: grid; gap: 10px; }
#createEventModal .ef .yy-customer-question-card { padding: 14px !important; border: 1px solid var(--ef-line) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
#createEventModal .ef .yy-question-mini-label, #createEventModal .ef .yy-question-setting > span { font-size: 12px !important; color: var(--ef-muted) !important; font-weight: 500 !important; }
#createEventModal .ef .yy-question-drag { background: var(--ef-line2) !important; color: var(--ef-muted) !important; }
#createEventModal .ef .yy-question-icon-btn { border: 0 !important; background: transparent !important; color: var(--ef-muted) !important; }
#createEventModal .ef .yy-question-icon-btn:hover { background: var(--ef-line2) !important; color: var(--ef-text) !important; }

#createEventModal .ef .yy-question-label-input { font-size: 15px !important; font-weight: 500 !important; }
#createEventModal .ef .yy-question-required-toggle, #createEventModal .ef .yy-question-setting-check { background: #fff !important; border-color: var(--ef-line) !important; }
/* รายการคำถามลูกค้า (ใหม่) */
#createEventModal .ef-qrows { border: 1px solid var(--ef-line); border-radius: 12px; overflow: hidden; background: #fff; }
#createEventModal .ef-q { border-top: 1px solid var(--ef-line2); }
#createEventModal .ef-q:first-child { border-top: 0; }
#createEventModal .ef-q.is-open { background: var(--ef-bg); }
#createEventModal .ef-q-main { display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 12px; }
#createEventModal .ef-q-no { flex: none; width: 22px; font-size: 13px; color: var(--ef-muted); text-align: center; font-variant-numeric: tabular-nums; }
#createEventModal .ef input.ef-q-label[type="text"] { flex: 1; min-width: 0; min-height: 38px !important; border-color: transparent !important; background-color: transparent !important; padding: 0 8px !important; font-weight: 500 !important; }
#createEventModal .ef input.ef-q-label[type="text"]:hover { border-color: var(--ef-line) !important; background-color: #fff !important; }
#createEventModal .ef input.ef-q-label[type="text"]:focus { border-color: var(--ef-pink) !important; background-color: #fff !important; }
#createEventModal .ef-q-tag { flex: none; min-height: 30px; padding: 0 10px; border: 1px solid var(--ef-line); border-radius: 999px; background: #fff; color: var(--ef-muted); font: inherit; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
#createEventModal .ef-q-tag:hover { border-color: #d9c9d1; color: var(--ef-text); }
#createEventModal .ef-q-tag.is-on { border-color: #f1c2d5; background: var(--ef-pink-soft); color: var(--ef-pink); font-weight: 600; }
#createEventModal .ef-q-detail { display: grid; gap: 12px; padding: 4px 16px 16px 42px; }
#createEventModal .ef-q-f { display: grid; gap: 6px; }
#createEventModal .ef-q-f > span { font-size: 12.5px; font-weight: 500; color: var(--ef-muted); }
#createEventModal .ef-q-f em { font-style: normal; font-weight: 400; margin-left: 4px; }
#createEventModal .ef-seg-sm button { min-height: 32px; padding: 0 12px; font-size: 13px; }
#createEventModal .ef-q-move { display: flex; gap: 16px; }
#createEventModal .ef-q-move .ef-link { font-size: 13px; font-weight: 500; color: var(--ef-text2); }
#createEventModal .ef-q-move .ef-link:disabled { opacity: .35; cursor: default; }
#createEventModal .ef-qempty { padding: 14px; border: 1px dashed var(--ef-line); border-radius: 12px; font-size: 13.5px; color: var(--ef-muted); }
#createEventModal .ef-qadd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 12px; }
#createEventModal .ef-qadd > span { font-size: 13px; color: var(--ef-muted); margin-right: 2px; }
#createEventModal .ef-qchip { min-height: 30px; padding: 0 10px; border: 1px dashed #dccbd3; border-radius: 999px; background: #fff; color: var(--ef-text2); font: inherit; font-size: 13px; cursor: pointer; }
#createEventModal .ef-qchip:hover { border-color: var(--ef-pink); color: var(--ef-pink); }
#createEventModal .ef-qchip-own { border-style: solid; }
@media (max-width: 640px) { #createEventModal .ef-q-main { flex-wrap: wrap; } #createEventModal .ef input.ef-q-label[type="text"] { flex-basis: calc(100% - 40px); } #createEventModal .ef-q-detail { padding-left: 16px; } }
/* ชุดคำถามตามเว็บ */
#createEventModal .ef-qset { margin-bottom: 12px; padding: 12px 14px; border-radius: 12px; background: var(--ef-bg); border: 1px solid var(--ef-line); }
#createEventModal .ef-qset-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
#createEventModal .ef-qset-l { font-size: 13.5px; color: var(--ef-text2); }
#createEventModal .ef-qset-row > b { font-size: 14px; font-weight: 600; }
#createEventModal .ef .ef-qset-save { margin-left: auto; }
#createEventModal .ef #efQSetSel { width: auto !important; min-width: 180px; min-height: 38px !important; }
#createEventModal .ef .ef-btn-sm { min-height: 38px !important; padding: 0 14px !important; font-size: 13.5px !important; }
#createEventModal .ef-qset .ef-link { font-size: 13px; font-weight: 500; }
#createEventModal .ef-qset-note { margin-top: 8px !important; }
/* เงื่อนไขเฉพาะงาน (ของเดิม) */
#createEventModal .ef .yy-custom-terms { display: grid; gap: 8px; }
#createEventModal .ef .yy-custom-term-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 36px; gap: 8px; align-items: start; }
#createEventModal .ef textarea.event-custom-term { min-height: 64px; padding: 10px 12px !important; line-height: 1.55 !important; resize: vertical; overflow: hidden; }

/* ท้ายฟอร์ม */
#createEventModal .ef-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 28px; border-top: 1px solid var(--ef-line); background: #fff; }
#createEventModal .ef-foot-note { font-size: 13px; color: var(--ef-muted); line-height: 1.5; }
#createEventModal .ef-foot-btns { display: flex; gap: 8px; flex: none; }
#createEventModal .ef-btn, #createEventModal .ef #saveEventBtn { min-height: 42px; padding: 0 18px !important; border-radius: 10px !important; font: inherit !important; font-size: 14.5px !important; font-weight: 600 !important; cursor: pointer; border: 1px solid var(--ef-line) !important; background: #fff !important; color: var(--ef-text) !important; box-shadow: none !important; }
#createEventModal .ef-btn-ghost { border-color: transparent !important; color: var(--ef-muted) !important; }
#createEventModal .ef-btn-ghost:hover { color: var(--ef-text) !important; background: var(--ef-line2) !important; }
#createEventModal .ef-btn-dark { background: var(--ef-text) !important; border-color: var(--ef-text) !important; color: #fff !important; }
#createEventModal .ef #saveEventBtn { background: var(--ef-pink) !important; border-color: var(--ef-pink) !important; color: #fff !important; }
#createEventModal .ef #saveEventBtn:disabled { opacity: .6; }
#createEventModal .ef-btn:focus-visible, #createEventModal .ef #saveEventBtn:focus-visible, #createEventModal .ef-seg button:focus-visible, #createEventModal .ef-chip:focus-visible, #createEventModal .ef-step:focus-visible { outline: none; box-shadow: var(--ef-ring) !important; }

/* หน้าสรุปก่อนเปิดรับจอง */
#createEventModal .ef { position: relative; }
#createEventModal .ef-sum { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; padding: 20px; background: rgba(43, 34, 40, .35); }
#createEventModal .ef-sum-card { width: min(560px, 100%); max-height: 100%; overflow-y: auto; border-radius: 14px; background: #fff; box-shadow: 0 20px 60px rgba(43, 34, 40, .25); }
#createEventModal .ef-sum-head { padding: 20px 22px 10px; }
#createEventModal .ef-sum-head h3 { margin: 2px 0 0; font-size: 18px; font-weight: 600; }
#createEventModal .ef-sum-warn { margin: 0 22px 8px; padding: 10px 12px; border-radius: 10px; background: #fff4e5; border: 1px solid #fbd9a8; color: #8a4b00; font-size: 13px; line-height: 1.55; display: grid; gap: 2px; }
#createEventModal .ef-sum-list { margin: 0; padding: 4px 22px 8px; }
#createEventModal .ef-sum-list > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-top: 1px solid var(--ef-line2); font-size: 14px; line-height: 1.55; }
#createEventModal .ef-sum-list > div:first-child { border-top: 0; }
#createEventModal .ef-sum-list dt { color: var(--ef-muted); }
#createEventModal .ef-sum-list dd { margin: 0; color: var(--ef-text); }
#createEventModal .ef-sum-list dd span { font-size: 12.5px; color: var(--ef-muted); }
#createEventModal .ef-sum-big { font-size: 18px; font-weight: 700; }
#createEventModal .ef-sum-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--ef-line); }
#createEventModal .ef-sum-foot > span { font-size: 12.5px; color: var(--ef-muted); }
#createEventModal .ef-sum-foot > div { display: flex; gap: 8px; }
#createEventModal .ef-btn-pink { background: var(--ef-pink) !important; border-color: var(--ef-pink) !important; color: #fff !important; }
@media (max-width: 640px) { #createEventModal .ef-sum-list > div { grid-template-columns: 1fr; gap: 2px; } }
/* กล่อง "รอเปิดรับจอง" (หน้าแรกหลังบ้าน ด้านขวา) */
body.yy2 .ef-rail { padding: 16px 18px !important; margin-bottom: 14px !important; border-color: #f2d9b8 !important; background: #fffcf7 !important; }
body.yy2 .ef-rail-head h2 { margin: 0; font-size: 16px; font-weight: 600; color: var(--v2-text); }
body.yy2 .ef-rail-head span { display: block; margin-top: 2px; font-size: 12.5px; color: var(--v2-muted); }
body.yy2 .ef-rail-row { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid #f3e6d6; }
body.yy2 .ef-rail-head + .ef-rail-row { margin-top: 10px; }
body.yy2 .ef-rail-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
body.yy2 .ef-rail-main b { font-size: 14px; font-weight: 600; color: var(--v2-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.yy2 .ef-rail-main span { font-size: 12.5px; color: var(--v2-muted); }
body.yy2 .ef-rail-btn { flex: none; min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--v2-pink); color: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
body.yy2 .ef-rail-btn:hover { background: var(--v2-pink-ink); }
body.yy2.yy2-finance-only #efCheckRail { display: none !important; }
/* รายการงาน: ช่วงเช็คคิวทีม */
.yyf-status-check { background: #fff4e5 !important; color: #a35a00 !important; border: 1px solid #fbd9a8 !important; }
.yyf-row-check { background: #fffcf7; }

/* ฟอร์มงานอยู่เหนือแถบโหมดทดสอบ (9999) แต่ใต้กล่องแจ้งเตือน (99999+) */
body.yy2 #createEventModal { z-index: 10000 !important; }
@media (max-width: 640px) {
  #createEventModal .modal.ef-on { width: 100vw !important; height: 100dvh !important; border-radius: 0 !important; }
  #createEventModal .ef .price-row .field:nth-child(3), #createEventModal .ef .price-row .ef-qg { grid-column: 1 / 3; }
  #createEventModal .ef-head, #createEventModal .ef-body, #createEventModal .ef-foot { padding-left: 16px; padding-right: 16px; }
  #createEventModal .ef-grid2 { grid-template-columns: 1fr; }
  #createEventModal .ef-trow { grid-template-columns: 20px minmax(0, 1fr); }
  #createEventModal .ef-trow .ef-tslot { grid-column: 2; }
  #createEventModal .ef .price-row, #createEventModal .ef .price-row:has(.ef-qg) { grid-template-columns: 1fr 1fr 36px; }
  #createEventModal .ef-foot { flex-direction: column; align-items: stretch; }
  #createEventModal .ef-foot-btns { justify-content: flex-end; }
}


/* =========================================================
   V12.471 ฟอนต์เดียวทั้งหลังบ้าน: Noto Sans Thai
   ของเดิมหลายจุดตั้งฟอนต์เอง (Tahoma / Leelawadee / Segoe) → บังคับทับทั้งหมด
   :not(#id) 2 ชั้น = น้ำหนักเท่า ID 2 ตัว ชนะกฎเดิมที่ผูกกับ #modal
   ========================================================= */
body.yy2 *:not(#yyFontA):not(#yyFontB),
body.yy2 *:not(#yyFontA):not(#yyFontB)::before,
body.yy2 *:not(#yyFontA):not(#yyFontB)::after,
body.yy2 *:not(#yyFontA):not(#yyFontB)::placeholder {
  font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif !important;
}

/* V12.484 ค่ากดพิเศษตามโซน (ใต้แถวราคา) */
#createEventModal .ef .price-row .ef-zf { grid-column: 1 / -1; order: 10; display: grid; gap: 6px; margin-top: -2px; }
#createEventModal .ef .ef-zf-item { display: grid; grid-template-columns: auto minmax(0, 1fr) 110px auto 32px; gap: 8px; align-items: center; padding: 6px 8px 6px 12px; border-radius: 10px; background: var(--ef-bg); border: 1px solid var(--ef-line); }
#createEventModal .ef .ef-zf-item > span { font-size: 13px; color: var(--ef-muted); white-space: nowrap; }
#createEventModal .ef .ef-zf-item input { height: 36px !important; min-height: 0 !important; padding: 0 10px !important; font-size: 14px !important; border: 1px solid var(--ef-line) !important; border-radius: 8px !important; background: #fff !important; }
#createEventModal .ef .ef-zf-rm { width: 32px; height: 32px; border: 0; border-radius: 8px; background: none; color: var(--ef-muted); font-size: 18px; cursor: pointer; }
#createEventModal .ef .ef-zf-rm:hover { background: #fff; color: #b42318; }
#createEventModal .ef .ef-zf-note { font-size: 12.5px; color: var(--ef-muted); padding-left: 2px; }
#createEventModal .ef .ef-zf-add { justify-self: start; padding: 2px 0; border: 0; background: none; color: var(--ef-muted); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#createEventModal .ef .price-row + .price-row { padding-top: 10px !important; border-top: 1px dashed var(--ef-line) !important; }
@media (max-width: 640px) {
  #createEventModal .ef .ef-zf-item { grid-template-columns: minmax(0, 1fr) 90px 32px; }
  #createEventModal .ef .ef-zf-item > span { display: none; }
}
#createEventModal .ef .ef-zf-add:hover, #createEventModal .ef .ef-zf-item ~ .ef-zf-add { color: var(--ef-pink); }

/* V12.485 รีเช็ค UX */
#createEventModal .ef .ef-grid2 { align-items: start; }
#createEventModal .ef .ef-grid2 > .ef-field[hidden] { display: none !important; }
#createEventModal .ef-sum { display: flex; align-items: flex-start; justify-content: center; overflow-y: auto; }
#createEventModal .ef-sum-card { margin: auto 0; max-height: none; overflow: visible; }
@media (max-width: 940px) {
  body.yy2:not([data-yy2-view="events"]) .admin-layout:has(#efCheckRail) > .sticky-panel { order: -1; flex-basis: 100% !important; }
}
@media (max-width: 640px) {
  #createEventModal .ef .price-row, #createEventModal .ef .price-row:has(.ef-qg) { grid-template-columns: 1fr 1fr 36px; }
  #createEventModal .ef .price-row .remove-price-btn { grid-column: 3; grid-row: 1; order: 0; }
  #createEventModal .ef .price-row .field:nth-child(3) { grid-column: 1 / 3; }
  #createEventModal .ef .price-row:has(.ef-qg) .field:nth-child(3) { grid-column: 1; }
  #createEventModal .ef .price-row .ef-qg { grid-column: 2; order: 4; }
  #createEventModal .ef .price-row .field > label { display: block !important; }
}

/* =========================================================
   V12.486 หน้า Booking / รายการงาน แยกกัน + รายการงานแบบแถวสั้น
   ========================================================= */
body.yy2[data-yy2-view="events"] #adminBookingSection,
body.yy2[data-yy2-view="events"] .stats-grid { display: none !important; }
body.yy2[data-yy2-view="bookings"] #adminEventSection { display: none !important; }
body.yy2 .yy2-group > summary.yy2-active { color: var(--v2-pink) !important; background: #fdf1f6 !important; }
body.yy2 #yy2NavEvents.yy2-current b { color: var(--v2-pink); }

#adminEventSection .ev2-bar-top { display: grid; gap: 10px; margin: 14px 0 10px; }
#adminEventSection .ev2-search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; max-width: 420px; }
#adminEventSection .ev2-search:focus-within { border-color: #e7a9c4; box-shadow: var(--v2-focus); }
#adminEventSection .ev2-search svg { width: 16px; height: 16px; fill: none; stroke: var(--v2-muted); stroke-width: 2; flex: none; }
#adminEventSection .ev2-search input { all: unset; flex: 1; min-width: 0; font-size: 14px; color: var(--v2-text); }
#adminEventSection .ev2-chips { display: flex; flex-wrap: wrap; gap: 6px; }
#adminEventSection .ev2-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: var(--v2-text); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; }
#adminEventSection .ev2-chip b { font-weight: 600; color: var(--v2-muted); font-variant-numeric: tabular-nums; }
#adminEventSection .ev2-chip.is-on { border-color: var(--v2-text); background: var(--v2-text); color: #fff; }
#adminEventSection .ev2-chip.is-on b { color: #fff; opacity: .75; }
#adminEventSection .ev2-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dot, transparent); display: none; }
#adminEventSection .ev2-chip[class*="is-"]:not(.is-on)::before { display: block; }
.ev2-chip.is-amber, .ev2-pill.is-amber { --dot: #d98a00; }
.ev2-chip.is-blue, .ev2-pill.is-blue { --dot: #2f6fd6; }
.ev2-chip.is-green, .ev2-pill.is-green { --dot: #1f9254; }
.ev2-chip.is-red, .ev2-pill.is-red { --dot: #c8343c; }
.ev2-chip.is-gray, .ev2-pill.is-gray { --dot: #9a8d95; }

#adminEventSection #eventList { display: block !important; border: 1px solid var(--v2-line); border-radius: 12px; overflow: hidden; background: #fff; }
#adminEventSection .ev2-head, #adminEventSection .ev2-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 180px 130px 214px; gap: 16px; align-items: center; padding: 12px 16px; }
#adminEventSection .ev2-head { padding-top: 9px; padding-bottom: 9px; background: var(--v2-bg); border-bottom: 1px solid var(--v2-line); font-size: 12px; color: var(--v2-muted); }
#adminEventSection .ev2-row { margin: 0 !important; border: 0 !important; border-radius: 0 !important; border-top: 1px solid var(--v2-line) !important; box-shadow: none !important; background: #fff !important; min-height: 0 !important; }
#adminEventSection .ev2-head + .ev2-row { border-top: 0 !important; }
#adminEventSection .ev2-row:hover { background: #fdfafb !important; }
#adminEventSection .ev2-row[data-ev2-st="check"] { background: #fffcf6 !important; }
#adminEventSection .ev2-name { font-size: 14.5px; font-weight: 600; color: var(--v2-text); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminEventSection .ev2-meta { margin-top: 2px; font-size: 12.5px; color: var(--v2-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminEventSection .ev2-st { display: grid; gap: 3px; justify-items: start; }
#adminEventSection .ev2-st small { font-size: 12px; color: var(--v2-muted); line-height: 1.35; }
.ev2-pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px 0 8px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: color-mix(in srgb, var(--dot) 12%, #fff); color: color-mix(in srgb, var(--dot) 80%, #000); white-space: nowrap; }
.ev2-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dot); }
#adminEventSection .ev2-q { display: grid; gap: 2px; }
#adminEventSection .ev2-q b { font-size: 16px; font-weight: 700; color: var(--v2-text); font-variant-numeric: tabular-nums; }
#adminEventSection .ev2-q b span { font-size: 13px; font-weight: 500; color: var(--v2-muted); }
#adminEventSection .ev2-q small { font-size: 12px; color: var(--v2-muted); }
#adminEventSection .ev2-bar { display: block; height: 4px; margin-top: 3px; border-radius: 4px; background: var(--v2-line); overflow: hidden; max-width: 110px; }
#adminEventSection .ev2-bar > i { display: block; height: 100%; border-radius: 4px; background: var(--v2-pink); }
#adminEventSection .ev2-row[data-ev2-st="full"] .ev2-bar > i { background: #c8343c; }
#adminEventSection .ev2-act { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
#adminEventSection .ev2-btn { height: 34px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; color: var(--v2-text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#adminEventSection .ev2-btn:hover { border-color: #d9cbd3; }
#adminEventSection .ev2-btn.is-pink { border-color: var(--v2-pink); background: var(--v2-pink); color: #fff; }
#adminEventSection .ev2-more { position: relative; }
#adminEventSection .ev2-more > summary { list-style: none; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--v2-line); border-radius: 8px; cursor: pointer; color: var(--v2-muted); font-weight: 700; }
#adminEventSection .ev2-more > summary::-webkit-details-marker { display: none; }
#adminEventSection .ev2-more > div { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; display: grid; min-width: 210px; padding: 6px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(43, 34, 40, .14); }
#adminEventSection .ev2-more > div .ev2-btn { border: 0; text-align: left; font-weight: 500; }
#adminEventSection .ev2-more > div .ev2-btn:hover { background: var(--v2-bg); }
/* V13.924 เมนู ⋯ แถวท้าย → เปิดขึ้นด้านบน · ปุ่มลบถาวร (คลังงาน) */
#adminEventSection .ev2-more.is-up > div { top: auto; bottom: calc(100% + 6px); }
#adminEventSection .ev2-btn.is-danger { color: #b3261e; border-color: #f1c9c5; }
#adminEventSection .ev2-btn.is-danger:hover { background: #fdf0ee; }
#adminEventSection .is-archived .ev2-act { gap: 8px; }
#adminEventSection .ev2-moreall { display: block; width: 100%; height: 44px; border: 0; border-top: 1px solid var(--v2-line); background: var(--v2-bg); color: var(--v2-text); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
#adminEventSection .ev2-empty { padding: 28px 16px; text-align: center; font-size: 14px; color: var(--v2-muted); }
@media (max-width: 760px) {
  #adminEventSection .ev2-head { display: none !important; }
  #adminEventSection .ev2-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  #adminEventSection .ev2-main { grid-column: 1 / -1; }
  #adminEventSection .ev2-name, #adminEventSection .ev2-meta { white-space: normal; }
  #adminEventSection .ev2-st { grid-column: 1; }
  #adminEventSection .ev2-q { grid-column: 2; justify-items: end; text-align: right; }
  #adminEventSection .ev2-act { grid-column: 1 / -1; justify-content: flex-start; }
  #adminEventSection .ev2-search { max-width: none; }
  #adminEventSection .ev2-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -2px; padding: 0 2px 2px; }
}
#adminEventSection .ev2-chip { white-space: nowrap; flex: none; }
body.yy2 .yy2-evsel { height: 40px; max-width: 260px; padding: 0 30px 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; color: var(--v2-text); font: inherit; font-size: 14px; text-overflow: ellipsis; }
body.yy2 #adminBookingSection .card-head { gap: 10px !important; }
body.yy2 #adminBookingSection .card-head > div:first-child { margin-right: auto; }
body.yy2 .yy2-showmore { display: block; width: 100%; height: 44px; margin-top: 8px; border: 1px solid var(--v2-line); border-radius: 10px; background: var(--v2-bg); color: var(--v2-text); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
@media (max-width: 640px) { body.yy2 .yy2-evsel { max-width: none; flex: 1 1 100%; } }

/* =========================================================
   V12.488 หน้า "จัดส่ง" (รวม 3 หน้าเดิม)
   ========================================================= */
body.yy2:not([data-yy2-view="ship"]) #adminShipSection { display: none !important; }
body.yy2[data-yy2-view="ship"] #adminBookingSection,
body.yy2[data-yy2-view="ship"] #adminEventSection,
body.yy2[data-yy2-view="ship"] .stats-grid { display: none !important; }
#adminShipSection { --sh-amber: #b26a00; --sh-blue: #2f6fd6; --sh-pink: var(--v2-pink); --sh-green: #1f9254; }
#adminShipSection .sh-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px; }
#adminShipSection .sh-search { display: flex; align-items: center; gap: 8px; flex: 1 1 260px; height: 40px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; }
#adminShipSection .sh-search:focus-within { border-color: #e7a9c4; box-shadow: var(--v2-focus); }
#adminShipSection .sh-search svg { width: 16px; height: 16px; fill: none; stroke: var(--v2-muted); stroke-width: 2; flex: none; }
#adminShipSection .sh-search input { all: unset; flex: 1; min-width: 0; font-size: 14px; }
#adminShipSection .sh-tools select { height: 40px; max-width: 240px; padding: 0 28px 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; font: inherit; font-size: 14px; color: var(--v2-text); }
#adminShipSection .sh-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 4px; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-line); }
#adminShipSection .sh-tab { display: flex; align-items: center; justify-content: center; gap: 7px; height: 42px; border: 0; border-radius: 9px; background: none; color: var(--v2-muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#adminShipSection .sh-tab b { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #fff; color: var(--v2-text); font-size: 12.5px; font-variant-numeric: tabular-nums; }
#adminShipSection .sh-tab .sh-step { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #d9cbd3; font-size: 11px; font-weight: 600; }
#adminShipSection .sh-tab.is-on { background: #fff; color: var(--v2-text); box-shadow: 0 1px 3px rgba(43, 34, 40, .08); }
#adminShipSection .sh-tab.is-on .sh-step { border-color: var(--v2-pink); background: var(--v2-pink); color: #fff; }
#adminShipSection .sh-tab.is-on b { background: var(--v2-pink-soft); color: var(--v2-pink-ink); }
#adminShipSection .sh-hint { margin: 10px 2px 12px; font-size: 13px; color: var(--v2-muted); }
#adminShipSection .sh-list { display: grid; gap: 10px; }
#adminShipSection .sh-row { border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; padding: 14px 16px; display: grid; gap: 8px; }
#adminShipSection .sh-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 12px; align-items: flex-start; }
#adminShipSection .sh-who b { display: block; font-size: 15px; font-weight: 600; color: var(--v2-text); }
#adminShipSection .sh-who span { display: block; margin-top: 1px; font-size: 12.5px; color: var(--v2-muted); }
#adminShipSection .sh-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
#adminShipSection .sh-chip { padding: 2px 9px; border-radius: 6px; border: 1px solid var(--v2-line); font-size: 12px; font-weight: 600; color: var(--v2-text-2); }
#adminShipSection .sh-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; border-radius: 999px; font-size: 12.5px; font-weight: 600; }
#adminShipSection .sh-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#adminShipSection .sh-pill.is-amber { color: var(--sh-amber); background: #fff4e5; }
#adminShipSection .sh-pill.is-blue { color: var(--sh-blue); background: #eaf1fc; }
#adminShipSection .sh-pill.is-pink { color: var(--v2-pink-ink); background: var(--v2-pink-soft); }
#adminShipSection .sh-pill.is-green { color: var(--sh-green); background: #e8f5ee; }
#adminShipSection .sh-sub { font-size: 12.5px; color: var(--v2-muted); }
#adminShipSection .sh-sub:empty { display: none; }
#adminShipSection .sh-sub b { color: var(--v2-text); font-weight: 600; }
#adminShipSection .sh-tks { list-style: none; margin: 0; padding: 0; border: 1px solid var(--v2-line-2); border-radius: 10px; overflow: hidden; }
#adminShipSection .sh-tks li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 8px 12px; font-size: 13.5px; }
#adminShipSection .sh-tks li + li { border-top: 1px solid var(--v2-line-2); }
#adminShipSection .sh-tk small { color: var(--v2-muted); font-size: 12px; }
#adminShipSection .sh-ok { color: var(--sh-green); font-size: 13px; font-weight: 600; }
#adminShipSection .sh-plan { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
#adminShipSection .sh-plan label, #adminShipSection .sh-owner { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--v2-muted); }
#adminShipSection input[type="date"], #adminShipSection .sh-owner select, #adminShipSection .sh-appt input { height: 34px; padding: 0 8px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; font: inherit; font-size: 13px; color: var(--v2-text); }
#adminShipSection .sh-addr { display: grid; gap: 2px; padding: 9px 12px; border-radius: 10px; background: var(--v2-bg); font-size: 13px; }
#adminShipSection .sh-addr span { font-size: 12px; color: var(--v2-muted); }
#adminShipSection .sh-addr b { font-weight: 500; color: var(--v2-text); line-height: 1.5; }
#adminShipSection .sh-addr small { color: var(--v2-muted); }
#adminShipSection .sh-addr .sh-link { justify-self: start; }
#adminShipSection .sh-act { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 2px; }
#adminShipSection .sh-act .sh-link:last-child { margin-left: auto; }
#adminShipSection .sh-appt { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 100%; }
#adminShipSection .sh-appt input { flex: 1 1 260px; }
#adminShipSection .sh-meta { font-size: 12.5px; color: var(--v2-muted); }
#adminShipSection .sh-meta b { color: var(--v2-text); }
#adminShipSection .sh-btn { height: 34px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; color: var(--v2-text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#adminShipSection .sh-btn:hover:not(:disabled) { border-color: #d9cbd3; }
#adminShipSection .sh-btn.is-main { border-color: var(--v2-pink); background: var(--v2-pink); color: #fff; }
#adminShipSection .sh-btn:disabled { opacity: .45; cursor: not-allowed; }
#adminShipSection .sh-link { border: 0; background: none; padding: 4px 2px; color: var(--v2-pink-ink); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#adminShipSection .sh-empty { padding: 32px 16px; text-align: center; color: var(--v2-muted); border: 1px dashed var(--v2-line); border-radius: 12px; font-size: 14px; }
.sh-toast { position: fixed; left: 50%; bottom: 24px; z-index: 99990; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: 10px 16px; border-radius: 10px; background: #2b2228; color: #fff; font-size: 13.5px; transition: .18s; }
.sh-toast.on { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 640px) {
  #adminShipSection .sh-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #adminShipSection .sh-tools select { flex: 1 1 140px; min-width: 0; width: 100%; max-width: none; }
  #adminShipSection .sh-row { padding: 12px; }
  #adminShipSection .sh-act .sh-link:last-child { margin-left: 0; }
}

/* =========================================================
   V12.490 หน้ารายละเอียด Booking: สรุปด้านบน
   ========================================================= */
#bookingDetailModal .modal.bd-on { width: min(860px, calc(100vw - 24px)) !important; max-width: none !important; }
#bookingDetailModal .modal.bd-on .modal-section[hidden] { display: none !important; }
#bdSummary { display: grid; gap: 14px; margin: 4px 0 6px; }
#bdSummary .bd-top { display: flex; flex-wrap: wrap; gap: 6px; }
#bdSummary .bd-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; border-radius: 999px; font-size: 12.5px; font-weight: 600; }
#bdSummary .bd-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#bdSummary .bd-pill.is-on { color: #2f6fd6; background: #eaf1fc; }
#bdSummary .bd-pill.is-ok { color: #1f9254; background: #e8f5ee; }
#bdSummary .bd-pill.is-off { color: #7d6c76; background: #f4eef1; }
#bdSummary .bd-pill.is-pri { color: #a35a00; background: #fff4e5; }
#bdSummary .bd-pill.is-mute { color: #4a3d45; background: #f4eef1; }
#bdSummary .bd-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
#bdSummary .bd-steps li { display: grid; justify-items: center; gap: 4px; text-align: center; font-size: 11.5px; color: #a596a0; position: relative; }
#bdSummary .bd-steps li::before { content: ""; position: absolute; top: 11px; left: -50%; right: 50%; height: 2px; background: #eee5ea; z-index: 0; }
#bdSummary .bd-steps li:first-child::before { display: none; }
#bdSummary .bd-steps li.done::before, #bdSummary .bd-steps li.now::before { background: #c93370; }
#bdSummary .bd-steps i { position: relative; z-index: 1; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid #e2d6dc; background: #fff; font-style: normal; font-size: 11.5px; font-weight: 600; }
#bdSummary .bd-steps li.done { color: #4a3d45; }
#bdSummary .bd-steps li.done i { border-color: #c93370; background: #c93370; color: #fff; }
#bdSummary .bd-steps li.now { color: #2b2228; font-weight: 600; }
#bdSummary .bd-steps li.now i { border-color: #c93370; color: #c93370; box-shadow: 0 0 0 4px #fbe3ee; }
#bdSummary .bd-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 16px; border-radius: 12px; background: #fdf1f6; border: 1px solid #f6cfdf; }
#bdSummary .bd-next.is-quiet { background: #faf8f9; border-color: #eee5ea; }
#bdSummary .bd-next small { display: block; font-size: 12px; color: #a3265a; font-weight: 600; }
#bdSummary .bd-next.is-quiet small { color: #7d6c76; }
#bdSummary .bd-next b { display: block; font-size: 16.5px; font-weight: 700; color: #2b2228; }
#bdSummary .bd-next span { display: block; font-size: 13px; color: #4a3d45; margin-top: 2px; }
#bdSummary .bd-go { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 0; border-radius: 10px; background: #c93370; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; }
#bdSummary .bd-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid #eee5ea; border-radius: 12px; overflow: hidden; }
#bdSummary .bd-facts > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 9px 14px; border-top: 1px solid #f4eef1; font-size: 13.5px; }
#bdSummary .bd-facts > div:nth-child(-n+2) { border-top: 0; }
#bdSummary .bd-facts > div:nth-child(odd) { border-right: 1px solid #f4eef1; }
#bdSummary .bd-facts dt { color: #7d6c76; }
#bdSummary .bd-facts dd { margin: 0; color: #2b2228; line-height: 1.5; overflow-wrap: anywhere; }
#bdSummary .bd-facts dd span { font-size: 12.5px; color: #7d6c76; }
#bdSummary .bd-copy { margin-left: 4px; padding: 1px 7px; border: 1px solid #eee5ea; border-radius: 6px; background: #fff; color: #a3265a; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
#bdSummary .bd-h { margin-bottom: 6px; font-size: 13px; font-weight: 600; color: #2b2228; }
#bdSummary .bd-h span { font-weight: 400; color: #7d6c76; }
#bdSummary .bd-tks { list-style: none; margin: 0; padding: 0; border: 1px solid #eee5ea; border-radius: 12px; }
#bdSummary .bd-tks li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; padding: 8px 14px; font-size: 13.5px; }
#bdSummary .bd-tks li + li { border-top: 1px solid #f4eef1; }
#bdSummary .bd-tk small { color: #7d6c76; font-size: 12px; }
#bdSummary .bd-tag { padding: 0 6px; border-radius: 5px; background: #f4eef1; }
#bdSummary .bd-st { font-size: 12.5px; font-weight: 600; padding: 1px 9px; border-radius: 999px; }
#bdSummary .bd-st.is-ok { color: #1f9254; background: #e8f5ee; }
#bdSummary .bd-st.is-warn { color: #a35a00; background: #fff4e5; }
#bdSummary .bd-st.is-info { color: #2f6fd6; background: #eaf1fc; }
#bdSummary .bd-st.is-mute { color: #7d6c76; background: #f4eef1; }
#bdSummary .bd-more-h { margin-top: 4px; padding-top: 14px; border-top: 1px dashed #eee5ea; font-size: 12.5px; font-weight: 600; color: #7d6c76; }
#bookingDetailModal .bd-flash { animation: bdFlash 1.6s ease; }
@keyframes bdFlash { 0%, 60% { box-shadow: 0 0 0 3px #f2a6c5; border-radius: 12px; } 100% { box-shadow: none; } }
#bookingDetailModal .modal.bd-on .bd-advanced { opacity: .92; }
@media (max-width: 640px) {
  #bdSummary .bd-steps span { display: none; }
  #bdSummary .bd-steps li.now span { display: block; position: absolute; top: 28px; white-space: nowrap; }
  #bdSummary .bd-steps { padding-bottom: 18px; }
  #bdSummary .bd-facts { grid-template-columns: 1fr; }
  #bdSummary .bd-facts > div { grid-template-columns: 96px minmax(0, 1fr); border-right: 0 !important; }
  #bdSummary .bd-facts > div:nth-child(2) { border-top: 1px solid #f4eef1; }
  #bdSummary .bd-go { width: 100%; justify-content: center; }
}

/* =========================================================
   V12.491 หน้า "การเงิน" (รวมศูนย์รับชำระ + ศูนย์คืนเงิน) · เงินเข้ายืนยันอัตโนมัติ
   ========================================================= */
body.yy2:not([data-yy2-view="money"]) #adminMoneySection { display: none !important; }
body.yy2[data-yy2-view="money"] #adminBookingSection,
body.yy2[data-yy2-view="money"] #adminEventSection,
body.yy2[data-yy2-view="money"] .stats-grid { display: none !important; }
#adminMoneySection .sh-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px; }
#adminMoneySection .sh-search { display: flex; align-items: center; gap: 8px; flex: 1 1 260px; height: 40px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; }
#adminMoneySection .sh-search:focus-within { border-color: #e7a9c4; box-shadow: var(--v2-focus); }
#adminMoneySection .sh-search svg { width: 16px; height: 16px; fill: none; stroke: var(--v2-muted); stroke-width: 2; flex: none; }
#adminMoneySection .sh-search input { all: unset; flex: 1; min-width: 0; font-size: 14px; }
#adminMoneySection .sh-tools select { height: 40px; max-width: 240px; padding: 0 28px 0 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; font: inherit; font-size: 14px; color: var(--v2-text); }
#adminMoneySection .sh-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 4px; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-line); }
#adminMoneySection .sh-tab { display: flex; align-items: center; justify-content: center; gap: 7px; height: 42px; border: 0; border-radius: 9px; background: none; color: var(--v2-muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#adminMoneySection .sh-tab b { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #fff; color: var(--v2-text); font-size: 12.5px; font-variant-numeric: tabular-nums; }
#adminMoneySection .sh-tab .sh-step { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #d9cbd3; font-size: 11px; font-weight: 600; }
#adminMoneySection .sh-tab.is-on { background: #fff; color: var(--v2-text); box-shadow: 0 1px 3px rgba(43, 34, 40, .08); }
#adminMoneySection .sh-tab.is-on .sh-step { border-color: var(--v2-pink); background: var(--v2-pink); color: #fff; }
#adminMoneySection .sh-tab.is-on b { background: var(--v2-pink-soft); color: var(--v2-pink-ink); }
#adminMoneySection .sh-hint { margin: 10px 2px 12px; font-size: 13px; color: var(--v2-muted); }
#adminMoneySection .sh-empty { padding: 32px 16px; text-align: center; color: var(--v2-muted); border: 1px dashed var(--v2-line); border-radius: 12px; font-size: 14px; }
#adminMoneySection .sh-tabs { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
#adminMoneySection .mh-sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
#adminMoneySection .mh-sum > div { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; min-width: 0; }
#adminMoneySection .mh-sum span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-sum b { font-size: 20px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#adminMoneySection .mh-sum small { font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-sum .is-hot { border-color: #f1c7d8; background: var(--v2-pink-soft); }
#adminMoneySection .mh-sum .is-hot b { color: var(--v2-pink-ink); }
#adminMoneySection .mh-sum .is-ok b { color: #1f7a48; }
#adminMoneySection .mh-alert { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding: 10px 12px; border: 1px solid #f0d49a; border-radius: 10px; background: #fff8e8; color: #7a4f00; font-size: 13.5px; font-weight: 600; }
#adminMoneySection .mh-list { display: grid; gap: 8px; }
#adminMoneySection .mh-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 110px minmax(0, 1.6fr); grid-template-areas: "main what amt state" "act act act act"; gap: 8px 14px; align-items: center; padding: 12px 14px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
#adminMoneySection .mh-main { grid-area: main; display: grid; gap: 2px; min-width: 0; }
#adminMoneySection .mh-main b { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminMoneySection .mh-main span { font-size: 12.5px; color: var(--v2-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminMoneySection .mh-what { grid-area: what; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-width: 0; }
#adminMoneySection .mh-chip { padding: 2px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
#adminMoneySection .mh-chip.is-in { background: #e8f6ee; color: #1f7a48; }
#adminMoneySection .mh-chip.is-due { background: #fff3dc; color: #8a5a00; }
#adminMoneySection .mh-chip.is-out { background: var(--v2-pink-soft); color: var(--v2-pink-ink); }
#adminMoneySection .mh-sub { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-amt { grid-area: amt; text-align: right; font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-amt.is-out { color: var(--v2-pink-ink); }
#adminMoneySection .mh-state { grid-area: state; font-size: 13px; color: var(--v2-muted); min-width: 0; overflow-wrap: anywhere; }
#adminMoneySection .mh-state b { color: var(--v2-text); font-weight: 600; }
#adminMoneySection .mh-state .mh-late { color: #b3261e; }
#adminMoneySection .mh-act { grid-area: act; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; padding-top: 8px; border-top: 1px dashed var(--v2-line); }
#adminMoneySection .mh-btn { height: 34px; padding: 0 12px; border: 1px solid var(--v2-line); border-radius: 9px; background: #fff; color: var(--v2-text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#adminMoneySection .mh-btn.is-main { border-color: var(--v2-pink); background: var(--v2-pink); color: #fff; }
#adminMoneySection .mh-btn:disabled { opacity: .45; cursor: not-allowed; }
#adminMoneySection .mh-link { order: -1; margin-right: auto; border: 0; background: none; padding: 0 4px; color: var(--v2-pink-ink); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#adminMoneySection .mh-pick { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; cursor: pointer; }
#adminMoneySection .mh-bar { position: sticky; bottom: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(43, 34, 40, .1); }
#adminMoneySection .mh-bar span { margin-right: auto; font-size: 13.5px; }
@media (max-width: 760px) {
  #adminMoneySection .mh-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main amt" "what what" "state state" "act act"; }
}
@media (max-width: 640px) {
  #adminMoneySection .mh-sum { grid-template-columns: 1fr 1fr; }
  #adminMoneySection .mh-sum > div:first-child { grid-column: 1 / -1; }
  #adminMoneySection .sh-tab { font-size: 13px; gap: 4px; }
  #adminMoneySection .mh-bar { position: static; box-shadow: none; }
}

/* V12.492 การเงิน › เงินเข้า-ออก (แบบสเตทเมนต์) */
#adminMoneySection .mh-tools select#mhRange { max-width: 160px; }
#adminMoneySection .mh-csv { height: 40px; }
#adminMoneySection .mh-ledsum { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-bottom: 12px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; overflow: hidden; }
#adminMoneySection .mh-ledsum > div { display: grid; gap: 2px; padding: 10px 14px; }
#adminMoneySection .mh-ledsum > div + div { border-left: 1px solid #f4eef1; }
#adminMoneySection .mh-ledsum span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-ledsum b { font-size: 18px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-ledsum p { grid-column: 1 / -1; margin: 0; padding: 8px 14px; border-top: 1px solid #f4eef1; background: #faf8f9; font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection b.is-in, #adminMoneySection em.is-in { color: #1f7a48; }
#adminMoneySection b.is-out, #adminMoneySection em.is-out { color: var(--v2-pink-ink); }
#adminMoneySection .mh-ledgrid { border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; overflow: hidden; }
#adminMoneySection .mh-day { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 8px 14px; background: #faf8f9; border-top: 1px solid #f4eef1; font-size: 13px; }
#adminMoneySection .mh-day:first-child { border-top: 0; }
#adminMoneySection .mh-day span { color: var(--v2-muted); }
#adminMoneySection .mh-day em { font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-led { display: grid; grid-template-columns: 48px minmax(0, 1fr) 120px; grid-template-areas: "time what amt" "time act act"; gap: 2px 12px; padding: 10px 14px; border-top: 1px solid #f4eef1; }
#adminMoneySection .mh-led time { grid-area: time; padding-top: 2px; font-size: 13px; color: var(--v2-muted); font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-led-what { grid-area: what; display: grid; gap: 2px; min-width: 0; }
#adminMoneySection .mh-led-t { display: flex; align-items: center; gap: 8px; min-width: 0; }
#adminMoneySection .mh-led-t b { font-size: 14px; color: var(--v2-text); }
#adminMoneySection .mh-led-what .mh-chip { flex: none; font-size: 11.5px; padding: 1px 8px; }
#adminMoneySection .mh-led-what small { font-size: 12.5px; color: var(--v2-muted); line-height: 1.5; overflow-wrap: anywhere; }
#adminMoneySection .mh-led-what .mh-led-who { color: var(--v2-text); }
#adminMoneySection .mh-led-amt { grid-area: amt; text-align: right; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-led.is-in .mh-led-amt { color: #1f7a48; }
#adminMoneySection .mh-led.is-out .mh-led-amt { color: var(--v2-pink-ink); }
#adminMoneySection .mh-led-act { grid-area: act; display: flex; gap: 12px; }
#adminMoneySection .mh-led-act .mh-link { order: 0; margin: 0; padding: 0; font-size: 12.5px; }
@media (max-width: 640px) {
  #adminMoneySection .mh-led { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "time amt" "what what" "act act"; }
  #adminMoneySection .mh-ledsum b { font-size: 15px; }
  #adminMoneySection .mh-ledsum > div { padding: 9px 10px; }
  #adminMoneySection .mh-tools select#mhRange { max-width: none; flex: 1 1 40%; }
}

/* V12.492 รายละเอียด Booking › ประวัติและสรุปย้อนหลัง (หน้าตาเดียวกับสรุปด้านบน) */
#yyBookingHistorySection.yh { padding: 0; }
#yyBookingHistorySection .yh-box { border: 1px solid #eee5ea; border-radius: 12px; background: #fff; }
#yyBookingHistorySection .yh-box > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 12px 14px; cursor: pointer; list-style: none; }
#yyBookingHistorySection .yh-box > summary::-webkit-details-marker { display: none; }
#yyBookingHistorySection .yh-title { display: grid; gap: 1px; font-size: 14.5px; font-weight: 700; color: #2b2228; }
#yyBookingHistorySection .yh-title::before { content: "▸"; position: absolute; margin-left: -14px; color: #a596a0; font-size: 12px; }
#yyBookingHistorySection .yh-box > summary { padding-left: 28px; position: relative; }
#yyBookingHistorySection .yh-box[open] .yh-title::before { content: "▾"; }
#yyBookingHistorySection .yh-title small { font-size: 12.5px; font-weight: 400; color: #7d6c76; }
#yyBookingHistorySection .yh-pills { display: flex; flex-wrap: wrap; gap: 6px; }
#yyBookingHistorySection .yh-st { display: inline-block; font-size: 12px; font-weight: 600; padding: 1px 9px; border-radius: 999px; white-space: nowrap; }
#yyBookingHistorySection .yh-st.is-ok { color: #1f9254; background: #e8f5ee; }
#yyBookingHistorySection .yh-st.is-warn { color: #a35a00; background: #fff4e5; }
#yyBookingHistorySection .yh-st.is-mute { color: #4a3d45; background: #f4eef1; }
#yyBookingHistorySection .yh-body { padding: 4px 14px 14px; border-top: 1px solid #f4eef1; }
#yyBookingHistorySection .yh-cols { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 14px; }
#yyBookingHistorySection .yh-h { margin: 14px 0 6px; font-size: 13px; font-weight: 600; color: #2b2228; }
#yyBookingHistorySection .yh-h span { font-weight: 400; color: #7d6c76; margin-left: 4px; }
#yyBookingHistorySection .yh-card { padding: 4px 14px 12px; border: 1px solid #eee5ea; border-radius: 12px; }
#yyBookingHistorySection .yh-sub { margin-top: 8px; font-size: 12px; color: #7d6c76; }
#yyBookingHistorySection .yh-line { display: flex; justify-content: space-between; gap: 10px; padding: 3px 0; font-size: 13.5px; color: #4a3d45; }
#yyBookingHistorySection .yh-line b { font-weight: 600; color: #2b2228; font-variant-numeric: tabular-nums; white-space: nowrap; }
#yyBookingHistorySection .yh-line.is-total { margin-top: 4px; padding-top: 7px; border-top: 1px dashed #eee5ea; font-weight: 600; color: #2b2228; }
#yyBookingHistorySection .yh-line.is-green b { color: #1f9254; }
#yyBookingHistorySection .yh-line.is-blue b { color: #2f6fd6; }
#yyBookingHistorySection .yh-result { margin-top: 10px; padding: 8px 10px; border-radius: 9px; background: #f4eef1; font-size: 13px; font-weight: 600; color: #4a3d45; }
#yyBookingHistorySection .yh-result.is-ok { background: #e8f5ee; color: #1f9254; }
#yyBookingHistorySection .yh-result.is-warn { background: #fff4e5; color: #a35a00; }
#yyBookingHistorySection .yh-kv { margin: 0; border: 1px solid #eee5ea; border-radius: 12px; overflow: hidden; }
#yyBookingHistorySection .yh-kv > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 8px 14px; font-size: 13.5px; }
#yyBookingHistorySection .yh-kv > div + div { border-top: 1px solid #f4eef1; }
#yyBookingHistorySection .yh-kv dt { color: #7d6c76; }
#yyBookingHistorySection .yh-kv dd { margin: 0; color: #2b2228; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#yyBookingHistorySection .yh-note { margin: 6px 2px 0; font-size: 12px; color: #a35a00; }
#yyBookingHistorySection .yh-list { list-style: none; margin: 0; padding: 0; border: 1px solid #eee5ea; border-radius: 12px; }
#yyBookingHistorySection .yh-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; padding: 8px 14px; font-size: 13.5px; color: #2b2228; }
#yyBookingHistorySection .yh-list li + li { border-top: 1px solid #f4eef1; }
#yyBookingHistorySection .yh-list small { display: block; font-size: 12px; color: #7d6c76; }
#yyBookingHistorySection .yh-list .yh-empty { color: #7d6c76; }
#yyBookingHistorySection .yh-tk-r { display: flex; align-items: center; gap: 8px; text-align: right; }
#yyBookingHistorySection .yh-tk-r small { display: inline; }
#yyBookingHistorySection .yh-tk-r b { font-variant-numeric: tabular-nums; }
#yyBookingHistorySection .yh-tl { list-style: none; margin: 0; padding: 4px 0 0 14px; border-left: 2px solid #f4eef1; display: grid; gap: 10px; }
#yyBookingHistorySection .yh-tl li { position: relative; display: grid; gap: 1px; font-size: 13px; color: #2b2228; }
#yyBookingHistorySection .yh-tl li::before { content: ""; position: absolute; left: -20px; top: 5px; width: 8px; height: 8px; border-radius: 50%; background: #c93370; box-shadow: 0 0 0 3px #fff; }
#yyBookingHistorySection .yh-tl span { color: #4a3d45; font-size: 12.5px; }
#yyBookingHistorySection .yh-tl small { color: #a596a0; font-size: 12px; }
@media (max-width: 640px) {
  #yyBookingHistorySection .yh-cols { grid-template-columns: 1fr; gap: 0; }
}

/* V12.493 เงินเข้า-ออก: ช่องทาง/เลขอ้างอิง + ติ๊กเช็คกับสเตทเมนต์ */
#adminMoneySection .mh-tools select#mhMatch { max-width: 190px; }
#adminMoneySection .mh-led-ref { color: var(--v2-muted) !important; }
#adminMoneySection .mh-led-ref code { font: 12px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; padding: 0 4px; border-radius: 4px; background: #f4eef1; color: var(--v2-text); user-select: all; }
#adminMoneySection .mh-led-act { align-items: center; flex-wrap: wrap; }
#adminMoneySection .mh-chk { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border: 1px solid var(--v2-line); border-radius: 999px; font-size: 12.5px; color: var(--v2-muted); cursor: pointer; }
#adminMoneySection .mh-chk input { margin: 0; accent-color: #1f9254; }
#adminMoneySection .mh-chk.is-on { border-color: #bfe3cd; background: #e8f5ee; color: #1f7a48; font-weight: 600; }
#adminMoneySection .mh-chk:has(input:disabled) { opacity: .55; cursor: not-allowed; }
#adminMoneySection .mh-ledsum p b { font-size: 12.5px; font-weight: 600; }
#adminMoneySection .mh-ledsum p b.is-warn { color: #a35a00; }
#adminMoneySection .mh-ledsum p b.is-in { color: #1f7a48; }
@media (max-width: 640px) { #adminMoneySection .mh-tools select#mhMatch { max-width: none; flex: 1 1 100%; } }

/* V12.494 เทียบสเตทเมนต์อัตโนมัติ */
#adminMoneySection .mh-st { display: grid; gap: 10px; margin-bottom: 12px; padding: 12px 14px; border: 1px solid #f1d3e0; border-radius: 12px; background: #fdf7fa; }
#adminMoneySection .mh-st-intro { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
#adminMoneySection .mh-st-intro > div { flex: 1 1 280px; display: grid; gap: 2px; }
#adminMoneySection .mh-st-intro b { font-size: 14px; }
#adminMoneySection .mh-st-intro span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-up { display: inline-flex; align-items: center; cursor: pointer; }
#adminMoneySection .mh-st-file { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-st-err { margin: 0; color: #b3261e; font-size: 13px; }
#adminMoneySection .mh-st-map { padding: 8px 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; font-size: 13px; }
#adminMoneySection .mh-st-map summary { cursor: pointer; font-weight: 600; }
#adminMoneySection .mh-st-map p { margin: 8px 0 0; font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-st-map label { display: grid; gap: 3px; font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-st-map select { height: 34px; padding: 0 8px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; font: inherit; font-size: 13px; color: var(--v2-text); min-width: 0; }
#adminMoneySection .mh-st-map > label { margin-top: 8px; }
#adminMoneySection .mh-st-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
#adminMoneySection .mh-st-sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
#adminMoneySection .mh-st-sum > div { display: grid; gap: 1px; padding: 10px 12px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; min-width: 0; }
#adminMoneySection .mh-st-sum span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-st-sum b { font-size: 20px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-st-sum small { font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-st-sum .is-ok b { color: #1f7a48; }
#adminMoneySection .mh-st-sum .is-warn { border-color: #f0d49a; background: #fffaf0; }
#adminMoneySection .mh-st-sum .is-warn b { color: #a35a00; }
#adminMoneySection .mh-st-tot { margin: 0; font-size: 12.5px; color: var(--v2-muted); font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-st-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#adminMoneySection .mh-st-note { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-st-saved { font-size: 13px; font-weight: 600; color: #1f7a48; }
#adminMoneySection .mh-st-list { border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; }
#adminMoneySection .mh-st-list summary { padding: 9px 12px; cursor: pointer; font-size: 13.5px; font-weight: 600; }
#adminMoneySection .mh-st-list summary small { display: block; font-weight: 400; font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-st-list ul { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow: auto; }
#adminMoneySection .mh-st-list li { display: grid; grid-template-columns: 130px 44px 100px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 12px; border-top: 1px solid #f4eef1; font-size: 13px; }
#adminMoneySection .mh-st-list li time { color: var(--v2-muted); font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-st-list li b { text-align: right; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-st-list li .mh-chip { justify-self: start; font-size: 11.5px; padding: 1px 8px; }
#adminMoneySection .mh-st-d { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--v2-text); }
#adminMoneySection .mh-st-list li .mh-link { order: 0; margin: 0; }
#adminMoneySection .mh-st-list > p { margin: 0; padding: 8px 12px; font-size: 12px; color: var(--v2-muted); border-top: 1px solid #f4eef1; }
@media (max-width: 640px) {
  #adminMoneySection .mh-st-cols { grid-template-columns: 1fr 1fr; }
  #adminMoneySection .mh-st-sum { grid-template-columns: 1fr; }
  #adminMoneySection .mh-st-list li { grid-template-columns: auto 1fr auto; }
  #adminMoneySection .mh-st-list li .mh-st-d { grid-column: 1 / -1; white-space: normal; }
  #adminMoneySection .mh-st-list li .mh-link { grid-column: 1 / -1; justify-self: start; padding: 0; }
}

/* V12.495 เงินเข้า-ออก: สรุปวันละแถว กดเปิดดูรายการ */
#adminMoneySection .mh-dayhead { display: flex; justify-content: space-between; align-items: center; margin: 0 2px 6px; font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-dayhead .mh-link { order: 0; margin: 0; padding: 0; }
#adminMoneySection .mh-dayx + .mh-dayx { border-top: 1px solid #f4eef1; }
#adminMoneySection .mh-dayx > summary { display: grid; grid-template-columns: minmax(0, 1fr) 80px 130px 130px; align-items: center; gap: 10px; padding: 10px 14px 10px 30px; position: relative; cursor: pointer; list-style: none; font-size: 13.5px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-dayx > summary::-webkit-details-marker { display: none; }
#adminMoneySection .mh-dayx > summary::before { content: "▸"; position: absolute; left: 13px; color: #a596a0; font-size: 12px; }
#adminMoneySection .mh-dayx[open] > summary { background: #faf8f9; }
#adminMoneySection .mh-dayx[open] > summary::before { content: "▾"; }
#adminMoneySection .mh-dayx > summary:hover { background: #fbf5f8; }
#adminMoneySection .mh-dn { color: var(--v2-muted); font-size: 12.5px; }
#adminMoneySection .mh-di, #adminMoneySection .mh-do { display: grid; text-align: right; font-weight: 600; }
#adminMoneySection .mh-di { color: #1f7a48; }
#adminMoneySection .mh-do { color: var(--v2-pink-ink); }
#adminMoneySection .mh-di small, #adminMoneySection .mh-do small { font-weight: 400; font-size: 11.5px; color: var(--v2-muted); }
#adminMoneySection .mh-dc { justify-self: end; font-size: 12px; font-weight: 600; padding: 1px 9px; border-radius: 999px; white-space: nowrap; }
#adminMoneySection .mh-dc.is-warn { color: #a35a00; background: #fff4e5; }
#adminMoneySection .mh-dc.is-ok { color: #1f9254; background: #e8f5ee; }
#adminMoneySection .mh-dayrows .mh-led:first-child { border-top: 1px solid #f4eef1; }
@media (max-width: 640px) {
  #adminMoneySection .mh-dayx > summary { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "d i o" "n n n"; gap: 2px 10px; }
  #adminMoneySection .mh-dayx > summary > b { grid-area: d; }
  #adminMoneySection .mh-di { grid-area: i; } #adminMoneySection .mh-do { grid-area: o; }
  #adminMoneySection .mh-dn { grid-area: n; }
}

/* V12.497 การเงิน › แยกตามงาน (มัดจำ · ค่าบัตร · ค่ากด · VAT 7% · คืน · กำไรค่าส่ง) */
#adminMoneySection .mh-viewtabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-flow: row !important; margin-bottom: 10px; }
#adminMoneySection .mh-evx > summary { grid-template-columns: minmax(0, 1fr) 80px 130px 130px; }
#adminMoneySection .mh-evx > summary > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminMoneySection .mh-ev-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px 14px 14px; border-top: 1px solid #f4eef1; }
#adminMoneySection .mh-ev-col { padding: 4px 12px 10px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; min-width: 0; }
#adminMoneySection .mh-ev-h { margin: 6px 0 4px; font-size: 12.5px; font-weight: 600; color: var(--v2-muted); }
#adminMoneySection .mh-ev-l { display: flex; justify-content: space-between; gap: 10px; padding: 3px 0; font-size: 13.5px; }
#adminMoneySection .mh-ev-l small { font-size: 11.5px; color: var(--v2-muted); }
#adminMoneySection .mh-ev-l b { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
#adminMoneySection .mh-ev-l.is-in b { color: #1f7a48; }
#adminMoneySection .mh-ev-l.is-out b { color: var(--v2-pink-ink); }
#adminMoneySection .mh-ev-l.is-vat span, #adminMoneySection .mh-ev-l.is-vat b { color: #2f6fd6; }
#adminMoneySection .mh-ev-l.is-total { margin-top: 3px; padding-top: 6px; border-top: 1px dashed var(--v2-line); font-weight: 600; }
#adminMoneySection .mh-ev-l.is-total + .mh-ev-l.is-total { margin-top: 0; border-top: 0; padding-top: 2px; }
#adminMoneySection .mh-ev-l.is-profit b { color: #1f7a48; }
#adminMoneySection .mh-ev-l.is-loss b { color: #b3261e; }
#adminMoneySection .mh-ev-warn { margin: 6px 0 0; font-size: 12px; color: #a35a00; }
#adminMoneySection .mh-ev-rows { grid-column: 1 / -1; border: 1px solid var(--v2-line); border-radius: 10px; overflow: hidden; }
#adminMoneySection .mh-ev-rows > summary { padding: 8px 12px; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--v2-pink-ink); }
@media (max-width: 640px) {
  #adminMoneySection .mh-ev-body { grid-template-columns: 1fr; padding: 10px; }
  #adminMoneySection .mh-evx > summary { grid-template-columns: minmax(0, 1fr) auto auto; }
}

/* V12.498 ทั้งปี / ทุกเดือน: เดือนละแถว */
#adminMoneySection .mh-mrow { display: grid; grid-template-columns: minmax(0, 1fr) 130px 130px 130px 90px; align-items: center; gap: 10px; width: 100%; padding: 11px 14px; border: 0; background: #fff; font: inherit; font-size: 13.5px; color: var(--v2-text); text-align: left; cursor: pointer; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-mrow + .mh-mrow { border-top: 1px solid #f4eef1; }
#adminMoneySection .mh-mrow:hover:not(:disabled) { background: #fbf5f8; }
#adminMoneySection .mh-mrow:disabled { cursor: default; }
#adminMoneySection .mh-go { justify-self: end; font-size: 12.5px; font-weight: 600; color: var(--v2-pink-ink); }
@media (max-width: 640px) {
  #adminMoneySection .mh-mrow { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "d i o" "n n g"; gap: 2px 10px; }
  #adminMoneySection .mh-mrow > b { grid-area: d; } #adminMoneySection .mh-mrow .mh-di { grid-area: i; } #adminMoneySection .mh-mrow .mh-do { grid-area: o; }
  #adminMoneySection .mh-mrow .mh-dn { grid-area: n; } #adminMoneySection .mh-mrow .mh-go { grid-area: g; }
}

/* V12.499 รายได้ร้านต่องาน (ยังไม่หักต้นทุน) */
#adminMoneySection .mh-evx > summary { grid-template-columns: minmax(0, 1fr) 80px 120px 120px 120px; }
#adminMoneySection .mh-dr { display: grid; text-align: right; font-weight: 700; color: var(--v2-text); }
#adminMoneySection .mh-dr small { font-weight: 400; font-size: 11.5px; color: var(--v2-muted); }
#adminMoneySection .mh-ev-rev { border-color: #bfe3cd; background: #f6fbf8; }
#adminMoneySection .mh-ev-note { margin: 8px 0 0; font-size: 12px; line-height: 1.55; color: var(--v2-muted); }
#adminMoneySection .mh-revsum { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 8px; margin-bottom: 10px; }
#adminMoneySection .mh-revsum > div { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; min-width: 0; }
#adminMoneySection .mh-revsum > div:first-child { border-color: #bfe3cd; background: #f6fbf8; }
#adminMoneySection .mh-revsum span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-revsum b { font-size: 20px; font-variant-numeric: tabular-nums; color: #1f7a48; }
#adminMoneySection .mh-revsum b.is-vat { color: #2f6fd6; }
#adminMoneySection .mh-revsum small { font-size: 12px; color: var(--v2-muted); }
@media (max-width: 640px) {
  #adminMoneySection .mh-revsum { grid-template-columns: 1fr; }
  #adminMoneySection .mh-evx > summary { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "d d r" "n i o"; }
  #adminMoneySection .mh-evx > summary > b { grid-area: d; } #adminMoneySection .mh-evx .mh-dr { grid-area: r; }
  #adminMoneySection .mh-evx .mh-dn { grid-area: n; } #adminMoneySection .mh-evx .mh-di { grid-area: i; } #adminMoneySection .mh-evx .mh-do { grid-area: o; }
}

/* V12.500 เงินลูกค้า: มัดจำ / ค่าบัตร / ส่วนต่าง × เข้า / คืน */
#adminMoneySection .mh-ev-cash { grid-column: 1 / -1; }
#adminMoneySection .mh-cash { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-cash th, #adminMoneySection .mh-cash td { padding: 6px 8px; text-align: right; border-top: 1px solid #f4eef1; vertical-align: top; }
#adminMoneySection .mh-cash thead th { border-top: 0; font-size: 12px; font-weight: 600; color: var(--v2-muted); }
#adminMoneySection .mh-cash tbody th, #adminMoneySection .mh-cash tfoot th { text-align: left; font-weight: 500; padding-left: 0; }
#adminMoneySection .mh-cash td small { display: block; font-size: 11.5px; color: var(--v2-muted); font-weight: 400; }
#adminMoneySection .mh-cash td.is-in { color: #1f7a48; }
#adminMoneySection .mh-cash td.is-out { color: var(--v2-pink-ink); }
#adminMoneySection .mh-cash tfoot th, #adminMoneySection .mh-cash tfoot td { font-weight: 700; border-top: 1px dashed var(--v2-line); }
@media (max-width: 640px) { #adminMoneySection .mh-cash th, #adminMoneySection .mh-cash td { padding: 6px 4px; font-size: 12.5px; } }
#adminMoneySection .mh-ev-pend { margin: 8px 0 0; padding: 7px 10px; border-radius: 8px; background: #eaf1fc; color: #2f5fb0; font-size: 12.5px; }
#adminMoneySection .mh-ev-cash .mh-ev-warn { margin: 8px 0 0; padding: 7px 10px; border-radius: 8px; background: #fff4e5; font-size: 12.5px; }

/* V12.502 รายวันแบบปฏิทิน */
#adminMoneySection .mh-cal { padding: 10px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
#adminMoneySection .mh-cal-head, #adminMoneySection .mh-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
#adminMoneySection .mh-cal-head span { padding: 2px 0 6px; text-align: center; font-size: 12px; font-weight: 600; color: var(--v2-muted); }
#adminMoneySection .mh-cal-d { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; min-height: 74px; min-width: 0; padding: 6px 7px; border: 1px solid #f1e8ed; border-radius: 9px; background: #fff; font: inherit; color: var(--v2-text); text-align: right; cursor: pointer; font-variant-numeric: tabular-nums; overflow: hidden; }
#adminMoneySection .mh-cal-d b { align-self: flex-start; font-size: 13px; font-weight: 600; }
#adminMoneySection .mh-cal-d .ci, #adminMoneySection .mh-cal-d .co { font-size: 12.5px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
#adminMoneySection .mh-cal-d .ci { color: #1f7a48; }
#adminMoneySection .mh-cal-d .co { color: var(--v2-pink-ink); }
#adminMoneySection .mh-cal-d i { font-style: normal; }
#adminMoneySection .mh-cal-d i.s { display: none; }
#adminMoneySection .mh-cal-d small { margin-top: auto; font-size: 11px; color: var(--v2-muted); }
#adminMoneySection .mh-cal-d:hover:not(:disabled) { border-color: #e7a9c4; background: #fdf7fa; }
#adminMoneySection .mh-cal-d.is-empty { background: #faf8f9; border-color: transparent; cursor: default; }
#adminMoneySection .mh-cal-d.is-empty b { color: #b8aab2; font-weight: 400; }
#adminMoneySection .mh-cal-d.is-today b { color: var(--v2-pink-ink); }
#adminMoneySection .mh-cal-d.is-sel { border-color: var(--v2-pink); box-shadow: 0 0 0 2px #fbe3ee; background: #fdf1f6; }
#adminMoneySection .mh-cal-hint { margin: 8px 2px 0; font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-cal-sel { margin-top: 10px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; overflow: hidden; scroll-margin-top: 80px; }
#adminMoneySection .mh-cal-sel .mh-day { border-top: 0; }
#adminMoneySection .mh-cal-none { margin-top: 10px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; overflow: hidden; }
#adminMoneySection .mh-cal-none > summary { padding: 9px 14px; cursor: pointer; font-size: 13px; color: var(--v2-muted); }
@media (max-width: 760px) {
  #adminMoneySection .mh-cal { padding: 6px; }
  #adminMoneySection .mh-cal-head, #adminMoneySection .mh-cal-grid { gap: 2px; }
  #adminMoneySection .mh-cal-d { min-height: 56px; padding: 4px 3px; border-radius: 7px; }
  #adminMoneySection .mh-cal-d b { font-size: 12px; }
  #adminMoneySection .mh-cal-d .ci, #adminMoneySection .mh-cal-d .co { font-size: 10.5px; }
  #adminMoneySection .mh-cal-d i.l { display: none; }
  #adminMoneySection .mh-cal-d i.s { display: inline; }
  #adminMoneySection .mh-cal-d small { font-size: 10px; }
}
#adminMoneySection .mh-demo { margin-bottom: 10px; border-style: dashed; color: var(--v2-pink-ink); }

/* V12.506 เอกสาร / VAT */
#adminMoneySection .mh-viewtabs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#adminMoneySection .mh-ev-l.is-agent span, #adminMoneySection .mh-ev-l.is-agent b { color: #7a5a00; }
#adminMoneySection .mh-docsum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
#adminMoneySection .mh-docsum > div { display: grid; gap: 2px; padding: 10px 14px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; min-width: 0; }
#adminMoneySection .mh-docsum > div.is-vat { border-color: #c7d9f5; background: #f5f9ff; }
#adminMoneySection .mh-docsum span { font-size: 12.5px; color: var(--v2-muted); }
#adminMoneySection .mh-docsum b { font-size: 20px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-docsum .is-vat b { color: #2f6fd6; }
#adminMoneySection .mh-docsum small { font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-doctype, #adminMoneySection .mh-doclist table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
#adminMoneySection .mh-doctype { border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
#adminMoneySection .mh-doctype th, #adminMoneySection .mh-doctype td, #adminMoneySection .mh-doclist th, #adminMoneySection .mh-doclist td { padding: 7px 10px; text-align: right; border-top: 1px solid #f4eef1; vertical-align: top; }
#adminMoneySection .mh-doctype thead th, #adminMoneySection .mh-doclist thead th { border-top: 0; font-size: 12px; font-weight: 600; color: var(--v2-muted); background: #faf8f9; }
#adminMoneySection .mh-doctype tbody th { text-align: left; font-weight: 500; }
#adminMoneySection .mh-doctype td.is-vat, #adminMoneySection .mh-doclist td.is-vat { color: #2f6fd6; }
#adminMoneySection .mh-doc { display: inline-block; min-width: 54px; padding: 1px 7px; border-radius: 999px; font-size: 11.5px; font-weight: 600; text-align: center; }
#adminMoneySection .mh-doc-TI { background: #eaf1fc; color: #2f5fb0; }
#adminMoneySection .mh-doc-CN { background: var(--v2-pink-soft); color: var(--v2-pink-ink); }
#adminMoneySection .mh-doc-RC { background: #e8f5ee; color: #1f7a48; }
#adminMoneySection .mh-doc-AG { background: #fff4e5; color: #8a5a00; }
#adminMoneySection .mh-doclist { margin-top: 10px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; overflow-x: auto; }
#adminMoneySection .mh-doclist th:nth-child(1), #adminMoneySection .mh-doclist td:nth-child(1) { text-align: left; white-space: nowrap; }
#adminMoneySection .mh-doclist td:nth-child(2) { text-align: left; }
#adminMoneySection .mh-doclist td small { display: block; font-size: 11.5px; color: var(--v2-muted); }
#adminMoneySection .mh-doc-what { text-align: left !important; min-width: 220px; }
#adminMoneySection .mh-doc-what b { font-weight: 500; }
#adminMoneySection .mh-doclist td:nth-child(n+4) { white-space: nowrap; }
@media (max-width: 640px) {
  #adminMoneySection .mh-docsum { grid-template-columns: 1fr; }
  #adminMoneySection .mh-doctype th, #adminMoneySection .mh-doctype td { padding: 6px 5px; font-size: 12px; }
}

/* V12.509 ตาราง Booking: ยอดตามขั้น · กำหนดเวลา · ชื่องาน 2 บรรทัด · ไม่มีปุ่มเปิด (กดทั้งแถว) */
body.yy2 .yy2-list-head,
body.yy2 .booking-row.yy2-row { grid-template-columns: 152px minmax(110px, 1fr) minmax(170px, 1.5fr) 112px 150px 118px !important; min-width: 816px; }
body.yy2 .yy2-ev { white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.35; }
body.yy2 .yy2-c-st { flex-direction: column; align-items: flex-start !important; gap: 3px !important; }
body.yy2 .yy2-c-st > * { max-width: 100%; }
body.yy2 .yy2-dl { white-space: normal !important; font-size: 11.5px !important; line-height: 1.35; color: var(--v2-muted) !important; }
body.yy2 .yy2-dl.is-soon { color: #a35a00 !important; font-weight: 600; }
body.yy2 .yy2-dl.is-late { color: #b3261e !important; font-weight: 600; }
body.yy2 .yy2-c-money.is-due b { color: #a35a00; }
body.yy2 .yy2-c-money.is-out b { color: var(--v2-pink-ink); }
body.yy2 .yy2-c-money.is-ok b { color: #1f7a48; }
body.yy2 .yy2-sortsel { max-width: 200px; }
@media (max-width: 760px) {
  body.yy2 .booking-row.yy2-row { min-width: 0; grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "code money" "cust cust" "ev ev" "qty st" !important; }
  body.yy2 .yy2-c-st { align-items: flex-end !important; }
  body.yy2 .yy2-sortsel { max-width: none; flex: 1 1 100%; }
}
body.yy2 .yy2-uid { display: inline-block; max-width: 100%; margin-top: 2px; padding: 0 6px; border: 1px solid var(--v2-line); border-radius: 6px; background: #fff; color: var(--v2-pink-ink); font: inherit; font-size: 11.5px; font-weight: 600; line-height: 1.6; cursor: copy; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.yy2 .yy2-uid:hover { border-color: var(--v2-pink); }
body.yy2 .yy2-uid.is-done { color: #1f7a48; border-color: #bfe3cd; background: #e8f5ee; }
@media (max-width: 760px) { body.yy2 .yy2-evsel { width: 100% !important; min-width: 0 !important; max-width: 100% !important; } }
/* V12.510 ปุ่มเปิดแชท LINE */
body.yy2 .yy2-uidrow { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; max-width: 100%; }
body.yy2 .yy2-uidrow .yy2-uid { min-width: 0; flex: 0 1 auto; }
body.yy2 .yy2-line, #bdSummary .bd-line { flex: none; margin-top: 2px; padding: 0 7px; border: 0; border-radius: 6px; background: #06c755; color: #fff; font: inherit; font-size: 11.5px; font-weight: 700; line-height: 1.75; cursor: pointer; }
body.yy2 .yy2-line:hover, #bdSummary .bd-line:hover { background: #05a847; }
#bdSummary .bd-line { margin-left: 4px; font-size: 12px; }
/* V12.515 ยังไม่จำแชท = ปุ่มขอบเขียว (กดแล้วค้นหา) · จำแล้ว = เขียวทึบ (เข้าแชทตรง) */
body.yy2 .yy2-line.is-new { background: #fff; color: #06a347; box-shadow: inset 0 0 0 1.5px #06c755; }
body.yy2 .yy2-line.is-new:hover { background: #eafbf1; }

/* V12.510 รายละเอียด Booking › ส่วนต่าง ๆ (การกดบัตร / สรุปยอด / มัดจำ / บัตรเพิ่ม) หน้าตาเดียวกับสรุปด้านบน */
#bookingDetailModal .modal.bd-on .modal-section-title { font-size: 14.5px !important; font-weight: 700 !important; color: #2b2228 !important; letter-spacing: 0 !important; margin-bottom: 10px !important; }
#bookingDetailModal .modal.bd-on .yy-press-flow-info { padding: 12px 14px !important; border: 1px solid #eee5ea !important; border-radius: 12px !important; background: #fff !important; font-size: 13.5px !important; line-height: 1.55 !important; color: #4a3d45 !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .yy-press-flow-info b { display: block; margin-bottom: 2px; font-size: 14px !important; font-weight: 600 !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .yy-press-flow-line-note { display: none !important; }
#bookingDetailModal .modal.bd-on .yy-press-flow-actions { display: flex !important; flex-wrap: wrap; gap: 8px !important; margin-top: 10px !important; }
#bookingDetailModal .modal.bd-on .yy-press-flow-actions .btn,
#bookingDetailModal .modal.bd-on .yy-deposit-admin-actions .btn,
#bookingDetailModal .modal.bd-on .yy-booking-detail-actions .btn { min-height: 40px !important; padding: 0 16px !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .btn-primary { background: #c93370 !important; border-color: #c93370 !important; color: #fff !important; }
#bookingDetailModal .modal.bd-on .btn-soft { background: #fff !important; border: 1px solid #e3d7de !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .btn-soft:hover { border-color: #c93370 !important; color: #a3265a !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-box { margin-top: 12px !important; padding: 14px !important; border: 1px solid #eee5ea !important; border-radius: 12px !important; gap: 12px !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-head b { font-size: 14.5px !important; font-weight: 700 !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-head small { font-size: 12.5px !important; color: #7d6c76 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-head > span[style] { padding: 1px 9px !important; border-radius: 999px !important; background: #fff4e5 !important; color: #a35a00 !important; font-size: 12px !important; font-weight: 600 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-result { gap: 8px !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-result > div { padding: 9px 10px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-result span { font-size: 12px !important; color: #7d6c76 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-result b { font-size: 17px !important; font-weight: 700 !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-open,
#bookingDetailModal .modal.bd-on #yyConfirmPressDetailsFinalBtn { min-height: 42px !important; margin-top: 0 !important; border: 0 !important; border-radius: 10px !important; background: #c93370 !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-open:hover,
#bookingDetailModal .modal.bd-on #yyConfirmPressDetailsFinalBtn:hover { background: #b02a62 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-field { padding: 10px 12px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #faf8f9 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-field span { font-size: 12px !important; color: #7d6c76 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-field b { font-size: 14px !important; font-weight: 600 !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-finish button { min-height: 40px !important; border: 1px solid #e3d7de !important; border-radius: 10px !important; background: #fff !important; color: #a3265a !important; font-size: 14px !important; font-weight: 600 !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-finish button:hover { border-color: #c93370 !important; }
#bookingDetailModal .modal.bd-on .yy-deposit-admin-box,
#bookingDetailModal .modal.bd-on .yy-additional-admin-note { padding: 12px 14px !important; border: 1px solid #eee5ea !important; border-radius: 12px !important; background: #fff !important; font-size: 13.5px !important; line-height: 1.55 !important; color: #4a3d45 !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .yy-deposit-admin-box b,
#bookingDetailModal .modal.bd-on .yy-additional-admin-note b { color: #2b2228 !important; font-weight: 600 !important; }
#bookingDetailModal .modal.bd-on .yy-deposit-admin-box small,
#bookingDetailModal .modal.bd-on .yy-additional-admin-note small { font-size: 12.5px !important; color: #7d6c76 !important; }

/* V12.516 แถบจำลิงก์แชท LINE (ไม่ใช่ป๊อปอัป · อยู่ล่างจอ ไม่บังงาน) */
.yy-linebar { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 99980; width: min(760px, calc(100vw - 24px)); box-sizing: border-box; display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 12px; border-radius: 14px; background: #fff; border: 1px solid #e9dde3; box-shadow: 0 10px 30px rgba(60, 20, 40, .16); font-size: 13px; color: #2b2228; animation: yyLineBarIn .18s ease-out; }
@keyframes yyLineBarIn { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
.yy-linebar-i { flex: none; padding: 2px 7px; border-radius: 6px; background: #06c755; color: #fff; font-size: 11.5px; letter-spacing: .02em; }
.yy-linebar-t { flex: none; display: flex; flex-direction: column; min-width: 0; max-width: 260px; line-height: 1.3; }
.yy-linebar-t strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.yy-linebar-t small { color: #8a7b83; font-size: 11.5px; }
.yy-linebar-in { flex: 1; min-width: 0; height: 36px; padding: 0 10px; border: 1.5px solid #06c755; border-radius: 9px; font: inherit; font-size: 13px; outline: none; background: #fbfffc; }
.yy-linebar-in:focus { box-shadow: 0 0 0 3px rgba(6, 199, 85, .15); }
.yy-linebar-in.bad { border-color: #e0567a; background: #fff7f9; }
.yy-linebar-del { flex: none; height: 36px; padding: 0 12px; border: 1px solid #f0c9d6; border-radius: 9px; background: #fff; color: #b23a62; font: inherit; font-size: 12.5px; cursor: pointer; }
.yy-linebar-x { flex: none; width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #8a7b83; font-size: 15px; cursor: pointer; }
.yy-linebar-x:hover { background: #f5eef1; }
@media (max-width: 640px) {
  .yy-linebar { flex-wrap: wrap; bottom: 10px; }
  .yy-linebar-t { max-width: none; flex: 1; }
  .yy-linebar-in { flex-basis: 100%; order: 3; }
}

/* V12.518 ช่องลูกค้าในรายละเอียด Booking */
#bdSummary .bd-cust { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
#bdSummary .bd-cust-name { font-weight: 600; color: #2b2228; font-size: 13.5px; }
#bdSummary .bd-cust-ids { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#bdSummary .bd-uid { padding: 0 8px; gap: 4px; }
#bdSummary .bd-uid code { font-weight: 500; }
#bdSummary .bd-uid, #bdSummary .bd-cust .bd-line, #bdSummary .bd-line-ed { display: inline-flex; align-items: center; gap: 5px; height: 26px; margin: 0; padding: 0 9px; border: 1px solid #eadfe5; border-radius: 8px; background: #fff; font: inherit; font-size: 12px; line-height: 1; white-space: nowrap; cursor: pointer; transition: background .12s, border-color .12s; }
#bdSummary .bd-uid { color: #6f5d68; }
#bdSummary .bd-uid i { font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: #a3265a; }
#bdSummary .bd-uid code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; color: #2b2228; }
#bdSummary .bd-uid svg, #bdSummary .bd-cust .bd-line svg, #bdSummary .bd-line-ed svg { width: 13px; height: 13px; flex: none; }
#bdSummary .bd-uid svg { color: #a99aa2; }
#bdSummary .bd-uid:hover { border-color: #d9c4cf; background: #fcf7f9; }
#bdSummary .bd-uid:hover svg { color: #a3265a; }
#bdSummary .bd-lg { display: inline-flex; }
#bdSummary .bd-cust .bd-line { border-color: #06c755; background: #06c755; color: #fff; font-weight: 700; }
#bdSummary .bd-cust .bd-line:hover { background: #05b14c; border-color: #05b14c; }
#bdSummary .bd-lg .bd-line { border-radius: 8px 0 0 8px; }
#bdSummary .bd-line-ed { padding: 0 8px; border-color: #06c755; border-left-color: rgba(255,255,255,.35); border-radius: 0 8px 8px 0; background: #06c755; color: #fff; }
#bdSummary .bd-line-ed:hover { background: #05b14c; }
#bdSummary .bd-cust .bd-line.is-new { background: #fff; color: #06a347; }
#bdSummary .bd-cust .bd-line.is-new:hover { background: #eefbf3; }

/* V12.519 แถว Booking: UID ย่อ + ไอคอน LINE (สูงเท่ากัน บรรทัดเดียว) */
body.yy2 .yy2-uidrow { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; margin-top: 4px; max-width: 100%; }
body.yy2 .yy2-uidrow .yy2-uid { display: inline-flex; align-items: center; gap: 4px; flex: none; max-width: none; height: 22px; margin: 0; padding: 0 6px; border: 1px solid #ece3e8; border-radius: 6px; background: #faf7f8; color: #6f5d68; font-size: 11.5px; font-weight: 500; line-height: 1; cursor: pointer; }
body.yy2 .yy2-uidrow .yy2-uid code { white-space: nowrap; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; color: #4a3d45; }
body.yy2 .yy2-uidrow .yy2-uid svg { flex: none; width: 11px; height: 11px; color: #b3a5ad; }
body.yy2 .yy2-uidrow .yy2-uid:hover { border-color: #dcc7d2; background: #fff; }
body.yy2 .yy2-uidrow .yy2-uid:hover svg { color: var(--v2-pink-ink, #a3265a); }
body.yy2 .yy2-uidrow .yy2-uid.is-done, #bdSummary .bd-uid.is-done { border-color: #bfe3cd; background: #effaf3; }
body.yy2 .yy2-uidrow .yy2-uid.is-done svg, #bdSummary .bd-uid.is-done svg { color: #12a150; }
body.yy2 .yy2-uidrow .yy2-line { display: inline-grid; place-items: center; flex: none; width: 22px; height: 22px; margin: 0; padding: 0; border: 1px solid #06c755; border-radius: 6px; background: #06c755; color: #fff; box-shadow: none; cursor: pointer; }
body.yy2 .yy2-uidrow .yy2-line svg { width: 12px; height: 12px; }
body.yy2 .yy2-uidrow .yy2-line:hover { background: #05b14c; border-color: #05b14c; }
body.yy2 .yy2-uidrow .yy2-line.is-new { background: #fff; color: #06c755; border-color: #9fe2bb; }
body.yy2 .yy2-uidrow .yy2-line.is-new:hover { background: #eefbf3; border-color: #06c755; }
body.yy2 .yy2-nouid { display: block; margin-top: 4px; color: #a99aa2; font-size: 11.5px; }

/* V12.526 ปลายทางโอนคืน: กดเลขบัญชี / ยอด = คัดลอก */
#adminMoneySection .mh-dest { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#adminMoneySection .mh-dest-bank { font-weight: 600; color: var(--v2-text); }
#adminMoneySection .mh-copy { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 9px; border: 1px solid #e3d6dd; border-radius: 8px; background: #fff; color: var(--v2-text); font: inherit; cursor: pointer; }
#adminMoneySection .mh-copy code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13.5px; font-weight: 600; letter-spacing: .02em; }
#adminMoneySection .mh-copy.is-amt code { color: var(--v2-pink-ink, #a3265a); }
#adminMoneySection .mh-copy svg { width: 13px; height: 13px; color: #b3a5ad; }
#adminMoneySection .mh-copy:hover { border-color: #cdb3c1; background: #fcf7f9; }
#adminMoneySection .mh-copy:hover svg { color: var(--v2-pink-ink, #a3265a); }
#adminMoneySection .mh-copy.is-done { border-color: #bfe3cd; background: #effaf3; }
#adminMoneySection .mh-copy.is-done svg { color: #12a150; }
#adminMoneySection .mh-dest-name { flex-basis: 100%; font-size: 12px; color: var(--v2-muted); }
#adminMoneySection .mh-dest-name b { color: var(--v2-text); }

/* V12.527 โอนคืนในหน้ารายละเอียด Booking */
#bookingDetailModal .yy-rf { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid #eee5ea; border-radius: 12px; background: #faf8f9; }
#bookingDetailModal .yy-rf-label { font-size: 12.5px; color: #7d6c76; }
#bookingDetailModal .yy-rf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#bookingDetailModal .yy-rf-row > b { font-size: 14px; color: #2b2228; }
#bookingDetailModal .yy-rf-copy { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border: 1px solid #e3d6dd; border-radius: 8px; background: #fff; color: #2b2228; font: inherit; cursor: pointer; }
#bookingDetailModal .yy-rf-copy code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; font-weight: 600; letter-spacing: .02em; }
#bookingDetailModal .yy-rf-copy.is-amt code { color: #a3265a; }
#bookingDetailModal .yy-rf-copy svg { width: 13px; height: 13px; color: #b3a5ad; }
#bookingDetailModal .yy-rf-copy:hover { border-color: #cdb3c1; }
#bookingDetailModal .yy-rf-copy.is-done { border-color: #bfe3cd; background: #effaf3; }
#bookingDetailModal .yy-rf-copy.is-done svg { color: #12a150; }
#bookingDetailModal .yy-rf small { font-size: 12px; color: #7d6c76; }
#bookingDetailModal .yy-rf small b { color: #2b2228; }
#bookingDetailModal .yy-rf-wait { font-size: 13.5px; color: #2b2228; }
#bookingDetailModal .yy-rf-wait b { color: #b3261e; }
#bookingDetailModal .yy-rf-acts { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
#bookingDetailModal .yy-rf-btn { min-height: 38px; padding: 0 16px; border: 1px solid #e3d6dd; border-radius: 10px; background: #fff; color: #2b2228; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
#bookingDetailModal .yy-rf-btn.is-main { border-color: #c93370; background: #c93370; color: #fff; }
#bookingDetailModal .yy-rf-btn.is-main:hover { background: #b02a62; }
/* มีงานเงินต้องทำ (คืนเงิน / รอลูกค้าจ่าย) → ปุ่มแก้สรุปยอดเป็นปุ่มรอง */
#bookingDetailModal .modal.bd-on .yy-settlement-open.is-secondary { background: #fff !important; color: #a3265a !important; border: 1px solid #e3d6dd !important; min-height: 38px !important; }
#bookingDetailModal .modal.bd-on .yy-settlement-open.is-secondary:hover { background: #fcf7f9 !important; }

/* V12.528 หน้าการเงิน: ชิป UID + ปุ่ม LINE ใต้ชื่อลูกค้า (หน้าตาเดียวกับรายการ Booking) */
#adminMoneySection .mh-main .yy2-uidrow { margin-top: 6px; }

/* V12.528 หน้าต่างยืนยัน / แจ้งเตือน ให้หน้าตาเข้ากับหลังบ้านใหม่ (ไม่มีไอคอนใหญ่ · ตัวหนังสืออ่านง่าย · ปุ่มชิดขวา) */
body.yy2 .yy-decision-overlay, body.yy2 .yy-system-alert-overlay { background: rgba(43, 34, 40, .42) !important; backdrop-filter: blur(2px) !important; }
body.yy2 .yy-decision-card, body.yy2 .yy-system-alert-card { width: min(440px, calc(100vw - 32px)) !important; box-sizing: border-box !important; padding: 20px 20px 16px !important; border: 1px solid #eee5ea !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 18px 48px rgba(43, 34, 40, .18) !important; text-align: left !important; font-family: inherit !important; }
body.yy2 .yy-decision-icon, body.yy2 .yy-system-alert-icon { display: none !important; }
body.yy2 .yy-decision-x, body.yy2 .yy-system-alert-x { top: 12px !important; right: 12px !important; width: 32px !important; height: 32px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #8a7b83 !important; font-size: 18px !important; box-shadow: none !important; }
body.yy2 .yy-decision-x:hover, body.yy2 .yy-system-alert-x:hover { background: #f5eef1 !important; }
body.yy2 .yy-decision-copy h3, body.yy2 .yy-system-alert-copy h3 { margin: 0 36px 0 0 !important; padding: 0 !important; color: #2b2228 !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.35 !important; }
body.yy2 .yy-decision-message, body.yy2 .yy-system-alert-message { margin-top: 8px !important; color: #6f5d68 !important; font-size: 14px !important; line-height: 1.6 !important; white-space: pre-line !important; }
body.yy2 .yy-decision-prompt { margin-top: 16px !important; }
body.yy2 .yy-decision-prompt label { margin-bottom: 6px !important; color: #2b2228 !important; font-size: 13px !important; font-weight: 600 !important; }
body.yy2 .yy-decision-prompt input { height: 42px !important; padding: 0 12px !important; border: 1px solid #e3d6dd !important; border-radius: 10px !important; color: #2b2228 !important; font-size: 14px !important; box-shadow: none !important; }
body.yy2 .yy-decision-prompt input:focus { border-color: #c93370 !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .12) !important; }
body.yy2 .yy-decision-prompt-help { margin-top: 6px !important; color: #8a7b83 !important; font-size: 12px !important; line-height: 1.5 !important; }
body.yy2 .yy-decision-actions { display: flex !important; justify-content: flex-end !important; gap: 8px !important; margin-top: 18px !important; }
body.yy2 .yy-decision-cancel, body.yy2 .yy-decision-confirm, body.yy2 .yy-system-alert-ok { min-height: 40px !important; width: auto !important; padding: 0 18px !important; border-radius: 10px !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 .yy-decision-cancel { border: 1px solid #e3d6dd !important; background: #fff !important; color: #2b2228 !important; }
body.yy2 .yy-decision-cancel:hover { background: #faf6f8 !important; }
body.yy2 .yy-decision-confirm, body.yy2 .yy-system-alert-ok { border: 1px solid #c93370 !important; background: #c93370 !important; color: #fff !important; }
body.yy2 .yy-decision-confirm:hover, body.yy2 .yy-system-alert-ok:hover { background: #b02a62 !important; }
body.yy2 .yy-decision-card.danger .yy-decision-confirm { border-color: #b3261e !important; background: #b3261e !important; }
body.yy2 .yy-system-alert-ok { display: block !important; margin: 18px 0 0 auto !important; }
@media (max-width: 520px) { body.yy2 .yy-decision-actions { flex-direction: column-reverse !important; } body.yy2 .yy-decision-cancel, body.yy2 .yy-decision-confirm { width: 100% !important; } }
body.yy2 .yy-decision-prompt input:focus, body.yy2 .yy-decision-prompt input:focus-visible { outline: none !important; }

/* V12.530 รหัสงาน (ใช้ในเลขออเดอร์) */
#createEventModal .ef .ef-code { max-width: 180px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; }
#createEventModal .ef .ef-code.is-bad { border-color: #d0507a !important; box-shadow: 0 0 0 3px rgba(208, 80, 122, .12) !important; }

/* V12.531 ตาราง Booking: 5 ช่อง (สถานะ · ต้องทำ รวมยอดค้าง) · ป้ายลัดคิวอยู่แถวเดียวกับ UID · กล่องต้องจัดการเฉพาะงานที่ต้องลงมือ */
body.yy2 .yy2-list-head,
body.yy2 .booking-row.yy2-row { grid-template-columns: 184px minmax(120px, 1fr) minmax(170px, 1.4fr) 112px minmax(190px, 1.25fr) !important; min-width: 800px; }
body.yy2 .yy2-c-code > b { display: block; white-space: nowrap; }
body.yy2 .yy2-idrow { display: flex; align-items: center; gap: 4px; margin-top: 4px; flex-wrap: nowrap; }
body.yy2 .yy2-idrow .yy2-uidrow { margin-top: 0; }
body.yy2 .yy2-idrow .yy2-prio { flex: none; margin: 0 !important; height: 22px; display: inline-flex; align-items: center; padding: 0 6px; border-radius: 6px; font-size: 11px; }
body.yy2 .yy2-todo-line { font-size: 12px !important; line-height: 1.35; }
body.yy2 .yy2-todo-line b { font-weight: 600; }
body.yy2 .yy2-todo-line.is-due b { color: #a35a00; }
body.yy2 .yy2-todo-line.is-out b { color: var(--v2-pink-ink, #a3265a); }
body.yy2 .yy2-todo-line.is-out { color: var(--v2-muted); }
body.yy2 .yy2-todo-list .quick-item.is-on { background: #fcf2f6; }
body.yy2 .yy2-todo-empty { padding: 14px 4px 6px; color: var(--v2-muted); font-size: 13.5px; }
body.yy2 .yy2-todo-tag { pointer-events: none; }
@media (max-width: 760px) {
  body.yy2 .booking-row.yy2-row { min-width: 0 !important; grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "code code" "cust cust" "ev ev" "qty st" !important; }
  body.yy2 .yy2-c-st { align-items: flex-end !important; text-align: right; }
}
body.yy2 .yy2-c-qty small.yy2-paywait { color: #a99aa2 !important; font-style: normal; }

/* V12.537 สถิติการจอง · ลูกค้าไม่จ่ายมัดจำ */
#adminEventSection .ev2-nopay-btn { justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 1px solid #eee5ea; border-radius: 999px; background: #fff; color: #5d4e57; font: inherit; font-size: 13px; cursor: pointer; }
#adminEventSection .ev2-nopay-btn b { color: #2b2228; }
#adminEventSection .ev2-nopay-btn i { font-style: normal; padding: 1px 7px; border-radius: 999px; background: #fdecee; color: #b3261e; font-size: 11.5px; font-weight: 700; }
#adminEventSection .ev2-nopay-btn:hover { border-color: #d9c6d0; }

/* V12.537 ข้อมูลที่ลูกค้ากรอก (ในรายละเอียด Booking) */
#bdSummary .bd-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid #eee5ea; border-radius: 12px; overflow: hidden; }
#bdSummary .bd-dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px 14px; border-top: 1px solid #f4eef1; font-size: 13.5px; }
#bdSummary .bd-dl > div:nth-child(-n+2) { border-top: 0; }
#bdSummary .bd-dl > div:nth-child(odd) { border-right: 1px solid #f4eef1; }
#bdSummary .bd-dl > div:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
#bdSummary .bd-dl dt { color: #7d6c76; }
#bdSummary .bd-dv { display: flex; align-items: center; gap: 6px; min-width: 0; margin: 0; color: #2b2228; }
#bdSummary .bd-dv > span { min-width: 0; overflow-wrap: anywhere; font-weight: 500; }
#bdSummary .bd-dv.is-empty { color: #b9aab2; }
#bdSummary .bd-dcopy, #bdSummary .bd-dbtn { flex: none; display: inline-grid; place-items: center; height: 26px; border: 1px solid #eee5ea; border-radius: 7px; background: #fff; color: #8a7b83; cursor: pointer; font: inherit; }
#bdSummary .bd-dcopy { width: 26px; padding: 0; }
#bdSummary .bd-dcopy svg { width: 13px; height: 13px; }
#bdSummary .bd-dbtn { padding: 0 9px; font-size: 12px; font-weight: 600; color: #5d4e57; }
#bdSummary .bd-dcopy:hover, #bdSummary .bd-dbtn:hover { border-color: #d9c6d0; color: #2b2228; }
#bdSummary .bd-dcopy:first-of-type { margin-left: auto; }
#bdSummary .bd-dbtn + .bd-dcopy { margin-left: 0; }
#bdSummary .bd-dbtn { margin-left: auto; }
#bdSummary .bd-dtk { margin-top: 8px; }
#bdSummary .bd-dtk > b { display: block; margin: 0 0 4px; font-size: 12.5px; color: #5d4e57; }
@media (max-width: 640px) {
  #bdSummary .bd-dl { grid-template-columns: 1fr; }
  #bdSummary .bd-dl > div { grid-template-columns: 96px minmax(0, 1fr); border-right: 0 !important; grid-column: auto !important; }
  #bdSummary .bd-dl > div:nth-child(2) { border-top: 1px solid #f4eef1; }
}

/* V12.537 ลัดคิวอยู่บรรทัดเดียวกับเลขออเดอร์ (ไม่ดัน UID/LINE ล้นไปทับชื่อลูกค้า) */
body.yy2 .yy2-row .yy2-coderow { display: flex; align-items: center; gap: 6px; min-width: 0; }
body.yy2 .yy2-row .yy2-coderow .yy2-prio { margin-left: 0; flex: none; }
body.yy2 .yy2-row .yy2-c-code { min-width: 0; }
body.yy2 .yy2-row .yy2-idrow { min-width: 0; overflow: hidden; }

/* V12.537 การเงิน: กดที่กล่อง = เปิดรายละเอียด Booking */
#adminMoneySection [data-mh-rowopen] { cursor: pointer; transition: border-color .15s, background .15s; }
#adminMoneySection .mh-row[data-mh-rowopen]:hover { border-color: #e3cfd9; background: #fffafc; }
#adminMoneySection .mh-led[data-mh-rowopen]:hover { background: #fffafc; }
#adminMoneySection .mh-row .mh-act { justify-content: flex-end; }
/* V12.539 ปุ่มลูกค้าไม่จ่ายมัดจำ อยู่แถวเดียวกับช่องค้นหา (ชิดขวา) */
#adminEventSection .ev2-toprow { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
#adminEventSection .ev2-toprow .ev2-search { flex: 1 1 260px; }
#adminEventSection .ev2-toprow .ev2-nopay-btn { height: 40px; min-height: 40px; border-radius: 10px; padding: 0 14px; }
/* V12.540 รหัสงานที่ระบบตั้งให้ (ยังไม่ได้พิมพ์เอง) */
#createEventModal .ef .ef-code.is-auto { background: #fdf1f6 !important; border-color: #f2d0df !important; color: #a3265a !important; }
#createEventModal .ef .ef-code-warn { margin-top: 6px; color: #b3261e; font-size: 12.5px; font-weight: 600; }
#createEventModal .ef .ef-code.is-bad.is-auto { background: #fff !important; color: #2b2228 !important; }

/* V12.543 แถวตัวกรอง: ชิปย่อยเป็นแถบเลือก (segmented) · ล้างตัวกรองชิดขวา · เสร็จแล้ว = ‹ เดือน › */
body.yy2 #adminBookingSection .filter-row { align-items: center; gap: 8px !important; }
body.yy2 #adminBookingSection .yy2-subs:not([hidden]) { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 12px; background: #f5eef1; }
body.yy2 #adminBookingSection .yy2-subs .filter-chip { min-height: 32px !important; padding: 0 12px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: #5d4e57 !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #adminBookingSection .yy2-subs .filter-chip:hover { color: #2b2228 !important; }
body.yy2 #adminBookingSection .yy2-subs .filter-chip.active { background: #fff !important; color: #2b2228 !important; box-shadow: 0 1px 3px rgba(43, 34, 40, .12) !important; }
body.yy2 #adminBookingSection .yy2-subs .filter-chip .yy2-n { margin-left: 4px; color: #8a7b83; font-weight: 600; }
body.yy2 #adminBookingSection .yy2-subs .filter-chip.active .yy2-n { color: var(--v2-pink-ink, #a3265a); }
body.yy2 #adminBookingSection .filter-chip.yy2-clear { order: 99; margin-left: auto !important; min-height: 32px !important; padding: 0 10px !important; border: 0 !important; background: transparent !important; color: #8a7b83 !important; font-weight: 500 !important; box-shadow: none !important; }
body.yy2 #adminBookingSection .filter-chip.yy2-clear:hover { color: #a3265a !important; }
body.yy2 #adminBookingSection .yy2-month:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; }
body.yy2 #adminBookingSection .yy2-month-step { display: inline-flex; align-items: center; height: 38px; border: 1px solid var(--v2-line, #eee5ea); border-radius: 10px; background: #fff; overflow: hidden; }
body.yy2 #adminBookingSection .yy2-month-step button { height: 100%; border: 0; background: transparent; font: inherit; color: #2b2228; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-month-step button[aria-label] { width: 34px; font-size: 18px; line-height: 1; color: #7d6c76; }
body.yy2 #adminBookingSection .yy2-month-step button[aria-label]:hover:not(:disabled) { background: #fdf1f6; color: #a3265a; }
body.yy2 #adminBookingSection .yy2-month-step button:disabled { color: #d9ccd3; cursor: default; }
body.yy2 #adminBookingSection .yy2-month-lab { padding: 0 6px; min-width: 150px; font-size: 14px !important; font-weight: 700; white-space: nowrap; cursor: default !important; }
body.yy2 #adminBookingSection .yy2-month-step.is-off .yy2-month-lab { color: #b9aab2; font-weight: 500; cursor: pointer !important; }
body.yy2 #adminBookingSection .yy2-month-all { height: 38px; padding: 0 12px; border: 1px solid var(--v2-line, #eee5ea); border-radius: 10px; background: #fff; color: #5d4e57; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
body.yy2 #adminBookingSection .yy2-month-all.is-on { border-color: #2b2228; background: #2b2228; color: #fff; }
@media (max-width: 640px) { body.yy2 #adminBookingSection .yy2-month-lab { min-width: 0; } body.yy2 #adminBookingSection .filter-chip.yy2-clear { margin-left: 0 !important; } }
/* V12.545 ปุ่มคัดลอกข้อความ LINE ในกล่องต้องทำต่อ */
#bdSummary .bd-acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
#bdSummary .bd-msg { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 1px solid #bfe3cd; border-radius: 10px; background: #fff; color: #11804a; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#bdSummary .bd-msg svg { width: 14px; height: 14px; }
#bdSummary .bd-msg:hover { background: #effaf3; border-color: #06c755; }
@media (max-width: 640px) { #bdSummary .bd-acts { width: 100%; } #bdSummary .bd-msg { flex: 1 1 auto; justify-content: center; } }

/* V12.550 แถวเครื่องมือ Booking: เลือกงาน (ซ้าย) · ต้องทำก่อน | ลำดับคิว (ขวา) */
body.yy2 #adminBookingSection .yy2-bktools { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 4px 0 2px; }
body.yy2 #adminBookingSection .yy2-evpick { position: relative; box-sizing: border-box; min-width: 0; display: inline-flex; align-items: center; gap: 0; height: 38px; max-width: min(100%, 420px); padding-left: 12px; border: 1px solid var(--v2-line, #eee5ea); border-radius: 10px; background: #fff; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-evpick:hover { border-color: #dcc7d2; }
body.yy2 #adminBookingSection .yy2-evpick:focus-within { border-color: var(--v2-pink, #c93370); box-shadow: var(--v2-focus, 0 0 0 3px #fbe3ee); }
body.yy2 #adminBookingSection .yy2-evpick.is-on { border-color: #f2c9da; background: #fdf1f6; }
body.yy2 #adminBookingSection .yy2-evpick > span { flex: none; padding-right: 8px; margin-right: 2px; border-right: 1px solid #f1e7ec; color: #8a7b83; font-size: 12.5px; font-weight: 600; line-height: 20px; }
body.yy2 #adminBookingSection .yy2-evpick .yy2-evsel { height: 36px !important; min-width: 0; max-width: none !important; width: auto !important; flex: 1 1 auto; padding: 0 30px 0 8px !important; border: 0 !important; background-color: transparent !important; box-shadow: none !important; outline: none !important; font-size: 14px; font-weight: 600; color: #2b2228; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-evpick.is-on .yy2-evsel { color: #a3265a; }
body.yy2 #adminBookingSection .yy2-sortseg:not([hidden]) { display: inline-flex; padding: 3px; gap: 2px; border-radius: 10px; background: #f5eef1; }
body.yy2 #adminBookingSection .yy2-sortseg button { height: 32px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #7d6c76; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
body.yy2 #adminBookingSection .yy2-sortseg button:hover { color: #2b2228; }
body.yy2 #adminBookingSection .yy2-sortseg button[aria-pressed="true"] { background: #fff; color: #2b2228; box-shadow: 0 1px 3px rgba(43, 34, 40, .12); }
body.yy2 #adminBookingSection .card-head .yy2-search { flex: 0 1 340px; }
@media (max-width: 640px) {
  body.yy2 #adminBookingSection .yy2-evpick { flex: 1 1 100%; width: 100%; max-width: 100%; }
  body.yy2 #adminBookingSection .yy2-evpick .yy2-evsel { width: 100% !important; text-overflow: ellipsis; }
  body.yy2 #adminBookingSection .yy2-sortseg { flex: 1 1 100%; }
  body.yy2 #adminBookingSection .yy2-sortseg button { flex: 1; }
  body.yy2 #adminBookingSection .card-head .yy2-search { flex: 1 1 100%; }
}

/* V12.551 รายละเอียด Booking: ไม่มีแถบปุ่มท้ายหน้าต่าง · แก้สถานะเอง = ช่อง + บันทึก ในแถวเดียว */
#bookingDetailModal .yy-booking-detail-actions[hidden] { display: none !important; }
#bookingDetailModal .bd-advanced .modal-section-title small { display: block; margin-top: 2px; color: #8a7b83; font-size: 12px; font-weight: 400; }
#bookingDetailModal .bd-st-row { display: flex; align-items: center; gap: 8px; }
#bookingDetailModal .bd-st-row select { flex: 1 1 auto; min-width: 0; }
#bookingDetailModal .bd-st-row #saveBookingStatusBtn { flex: none; height: 42px; padding: 0 18px; }
#bookingDetailModal .bd-st-row #saveBookingStatusBtn.bd-same { display: none !important; }
#bookingDetailModal .bd-del-row { display: flex; justify-content: flex-end; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #efe6eb; }
#bookingDetailModal .bd-del { padding: 4px 2px; border: 0; background: none; color: #b3261e; font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer; opacity: .8; }
#bookingDetailModal .bd-del:hover { opacity: 1; text-decoration: underline; }
#bdSummary .bd-ct { display: flex; align-items: baseline; gap: 8px; }
#bdSummary .bd-ct + .bd-ct { margin-top: 2px; }
#bdSummary .bd-ct i { flex: none; width: 36px; color: #8a7b83; font-size: 12px; font-style: normal; font-weight: 600; }
#bdSummary .bd-facts dd .bd-ct span { font-size: 13.5px; color: #2b2228; }
/* V12.555 กล่องต้องทำต่อแบบเรียบ (งานของทีม) · ปุ่มรอง */
#bdSummary .bd-go.is-soft { height: 36px; padding: 0 14px; border: 1px solid #e3d6dd; background: #fff; color: #2b2228; font-size: 13.5px; }
#bdSummary .bd-go.is-soft:hover { border-color: #c93370; color: #a3265a; }
#bdSummary .bd-next.is-quiet b { font-size: 15.5px; }
/* V12.556 เอาปุ่ม "ล้างตัวกรอง" ออก (กดการ์ดเดิมซ้ำ = เลิกกรอง · ป้ายสิ่งที่ต้องทำมี ✕ ในตัว) */
body.yy2 #adminBookingSection .filter-chip.yy2-clear { display: none !important; }
body.yy2 [data-admin-filter].active { cursor: pointer; }

/* V12.557 กล่อง "ต้องทำต่อ" ให้เป็นการ์ดแบบเดียวกับส่วนอื่น (พื้นขาว ขอบเทา จุดสีบอกสถานะ) */
#bdSummary .bd-next { position: relative; padding: 14px 16px 14px 18px; border: 1px solid #eee5ea; border-radius: 12px; background: #fff; box-shadow: none; overflow: hidden; }
#bdSummary .bd-next::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #c93370; }
#bdSummary .bd-next.is-quiet { background: #fff; border-color: #eee5ea; }
#bdSummary .bd-next.is-quiet::before { background: #d9ccd3; }
#bdSummary .bd-next small { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 2px; color: #a3265a; font-size: 12px; font-weight: 600; }
#bdSummary .bd-next small::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#bdSummary .bd-next.is-quiet small { color: #7d6c76; }
#bdSummary .bd-next b { font-size: 16px; font-weight: 700; color: #2b2228; }
#bdSummary .bd-next span { color: #7d6c76; font-size: 13px; }
#bdSummary .bd-go { height: 38px; border-radius: 10px; font-size: 13.5px; }
/* V12.558 เลยกำหนดค่าบัตร · รอลูกค้าเลือก (ชำระเอง / ยกเลิก) */
body.yy2 .status.status-choice { color: #a35a00 !important; background: #fff1dc !important; }
#bdSummary .bd-pill.is-choice { color: #a35a00; background: #fff1dc; }
#bdSummary .bd-pill.is-choice::before { background: #e08a00; }
/* V12.563 โน้ตลูกค้าในรายละเอียด Booking */
#bdSummary .bd-memo { display: block; max-width: 100%; margin: 4px 0 6px; padding: 4px 9px; border: 1px solid #f1e3bf; border-radius: 8px; background: #fffaf0; color: #7a5a12; font: inherit; font-size: 12.5px; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#bdSummary .bd-memo:hover { border-color: #e2c77f; }
#bdSummary .bd-memo.is-add { width: max-content; border-style: dashed; border-color: #e3d6dd; background: #fff; color: #8a7b83; }
#bdSummary .bd-memo.is-add:hover { color: #a3265a; border-color: #d9b5c6; }

/* =========================================================
   V12.565 ส่วน "รายละเอียดแต่ละขั้น" ให้เหมือนส่วนบน (การ์ดขาว ขอบเทา · ตัวหนังสืออ่านได้ · ปุ่ม 2 แบบ)
   ========================================================= */
#bookingDetailModal .modal.bd-on #yyAdminShippingFlowBox,
#bookingDetailModal .modal.bd-on #yyAdminLineNoticeBox { display: none !important; } /* ข้อมูลจัดส่งอยู่ใน "ประวัติ" + ปุ่มข้อความอยู่ในกล่องด้านบนแล้ว */
#bookingDetailModal .modal.bd-on .modal-section.bd-legacy { margin-top: 10px; padding: 14px 16px; border: 1px solid #eee5ea !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
#bookingDetailModal .modal.bd-on .modal-section.bd-legacy .modal-section-title { margin: 0 0 10px; font-size: 14.5px !important; font-weight: 700 !important; color: #2b2228 !important; letter-spacing: 0; }
#bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size:7"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size:8"],
#bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size:9"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size: 9"] { font-size: 12.5px !important; line-height: 1.55 !important; }
#bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size:10"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="font-size:11"] { font-size: 13px !important; line-height: 1.55 !important; }
#bookingDetailModal .modal.bd-on .bd-legacy [style*="font-weight:900"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="font-weight:950"] { font-weight: 700 !important; }
/* กล่องย่อยข้างใน */
#bookingDetailModal .modal.bd-on .bd-legacy .detail-box, #bookingDetailModal .modal.bd-on .bd-legacy [class*="-info"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="border-radius:1"] { border-radius: 10px !important; }
#bookingDetailModal .modal.bd-on .bd-legacy [style*="background:#fff7fb"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="background:#fffafd"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="background:#f8fbff"], #bookingDetailModal .modal.bd-on .bd-legacy [style*="background:#fdf2f8"] { background: #faf8f9 !important; border-color: #eee5ea !important; }
/* ปุ่ม: หลัก = ชมพู · รอง = ขาวขอบเทา · ไม่ยืดเต็มแถว */
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn] { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; width: auto !important; min-width: 0 !important; height: 38px !important; min-height: 38px !important; margin: 4px 6px 0 0 !important; padding: 0 16px !important; border-radius: 10px !important; font: inherit !important; font-size: 13.5px !important; font-weight: 600 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer; white-space: nowrap; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn="main"] { border: 0 !important; background: #c93370 !important; color: #fff !important; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn="main"]:hover { background: #a3265a !important; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn="soft"] { border: 1px solid #e3d6dd !important; background: #fff !important; color: #2b2228 !important; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn="soft"]:hover { border-color: #c93370 !important; color: #a3265a !important; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn]:disabled { opacity: .5; cursor: default; }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn].hidden { display: none !important; }
#bookingDetailModal .modal.bd-on #yyUnlockCompletedBookingStatusBtn { height: 42px !important; margin: 0 !important; }
@media (max-width: 640px) { #bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn] { white-space: normal; height: auto !important; padding: 10px 14px !important; } }
#bookingDetailModal .modal.bd-on .bd-legacy button[data-bd-btn] { justify-self: start !important; align-self: start !important; flex: 0 0 auto !important; }
#bookingDetailModal .modal.bd-on #yyBookingHistorySection.bd-legacy { padding: 0 !important; border: 0 !important; background: transparent !important; }
/* V12.566 เตือนแจกคิวทีม */
body.yy2 .yy2-todo .quick-item.is-urgent b { color: #a3265a; }
body.yy2 .yy2-todo .quick-item.is-urgent b::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #c93370; vertical-align: middle; }
body.yy2 .yy2-todo .quick-item.is-urgent strong { color: #a3265a; }
/* V12.567 โน้ตลูกค้า: บรรทัดเรียบ ๆ แบบเดียวกับข้อมูลอื่น (ไม่เป็นกล่องเหลือง) */
#bdSummary .bd-memo { display: flex !important; align-items: baseline; gap: 6px; width: auto; max-width: 100%; margin: 2px 0 6px !important; padding: 0 !important; border: 0 !important; background: none !important; color: #5d4e57 !important; font-size: 13px !important; white-space: normal !important; text-align: left; cursor: pointer; }
#bdSummary .bd-memo-k { flex: none; padding: 1px 6px; border-radius: 5px; background: #f5eef1; color: #8a7b83; font-size: 11px; font-weight: 600; }
#bdSummary .bd-memo-t { min-width: 0; overflow-wrap: anywhere; }
#bdSummary .bd-memo:hover .bd-memo-t { color: #a3265a; text-decoration: underline; text-underline-offset: 2px; }
#bdSummary .bd-memo.is-add { color: #a3265a !important; font-size: 12.5px !important; font-weight: 600; }
#bdSummary .bd-memo.is-add:hover { text-decoration: underline; }
/* V12.568 ปุ่มปลดล็อกแก้สถานะ (Booking ที่เสร็จแล้ว) */
#bookingDetailModal .bd-st-row .bd-unlock { flex: none; display: inline-flex !important; align-items: center; gap: 6px; height: 42px !important; margin: 0 !important; padding: 0 14px !important; border: 1px solid #e3d6dd !important; border-radius: 10px !important; background: #fff !important; color: #2b2228 !important; font: inherit !important; font-size: 13.5px !important; font-weight: 600 !important; white-space: nowrap; cursor: pointer; }
#bookingDetailModal .bd-st-row .bd-unlock svg { width: 14px; height: 14px; color: #8a7b83; }
#bookingDetailModal .bd-st-row .bd-unlock:hover { border-color: #c93370 !important; color: #a3265a !important; }
#bookingDetailModal .bd-st-row select:disabled { background: #faf8f9 !important; color: #7d6c76 !important; cursor: not-allowed; opacity: 1; }

/* V12.578 ตารางกด (ใต้ต้องจัดการ) */
body.yy2 .yy2-sched { margin-top: 14px; }
body.yy2 .yy2-sched-day { margin: 10px 0 2px; font-size: 12px; font-weight: 600; color: var(--v2-muted, #8a7b83); }
body.yy2 .yy2-sched-day:first-child { margin-top: 2px; }
body.yy2 .yy2-sched-day.is-today { color: #a3265a; }
body.yy2 .yy2-sched-row { display: flex; align-items: flex-start; gap: 12px; padding: 9px 0; border-bottom: 1px solid #f3ecef; color: var(--v2-text, #2e252a); text-decoration: none; }
body.yy2 .yy2-sched-row:last-child { border-bottom: 0; }
body.yy2 .yy2-sched-time { flex: none; min-width: 52px; padding: 2px 0; font-size: 13px; font-weight: 700; color: var(--v2-text, #2e252a); font-variant-numeric: tabular-nums; }
body.yy2 .yy2-sched-main { min-width: 0; flex: 1; }
body.yy2 .yy2-sched-main b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.35; }
body.yy2 .yy2-sched-main span { display: block; font-size: 12px; color: var(--v2-muted, #8a7b83); }
body.yy2 .yy2-sched-row:hover .yy2-sched-main b { color: #a3265a; }
body.yy2 .yy2-sched-row.is-live .yy2-sched-time { color: #6a4fc0; font-size: 12px; }
body.yy2 .yy2-sched-row.is-warn .yy2-sched-main span { color: #a3265a; font-weight: 600; }
body.yy2 .yy2-sched-more { padding: 8px 0 0; font-size: 12px; color: var(--v2-muted, #8a7b83); }

/* V12.579 ตารางกดแบบปฏิทิน */
body.yy2 .yy2-cal { margin: 2px 0 6px; }
body.yy2 .yy2-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
body.yy2 .yy2-cal-head b { font-size: 14px; font-weight: 600; }
body.yy2 .yy2-cal-head button { width: 30px; height: 30px; border: 1px solid #eee5ea; border-radius: 8px; background: #fff; color: #8a7b83; font: inherit; font-size: 16px; cursor: pointer; }
body.yy2 .yy2-cal-head button:hover { color: #a3265a; border-color: #e7c3d4; }
body.yy2 .yy2-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
body.yy2 .yy2-cal-wd { padding: 2px 0 4px; text-align: center; font-size: 11px; color: var(--v2-muted, #8a7b83); }
body.yy2 .yy2-cal-cell { position: relative; display: grid; place-items: center; height: 34px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--v2-text, #2e252a); font: inherit; font-size: 13px; cursor: pointer; }
body.yy2 .yy2-cal-cell.is-blank { cursor: default; }
body.yy2 .yy2-cal-cell:not(.is-blank):hover { background: #f8f1f4; }
body.yy2 .yy2-cal-cell.is-past { color: #c4b6bd; }
body.yy2 .yy2-cal-cell.is-today span { color: #a3265a; font-weight: 700; }
body.yy2 .yy2-cal-cell.has-ev { background: #fcf2f6; font-weight: 600; }
body.yy2 .yy2-cal-cell.has-ev.is-past { background: #f7f3f5; }
body.yy2 .yy2-cal-cell i { position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); min-width: 6px; height: 6px; border-radius: 3px; background: #c93370; font-style: normal; font-size: 0; }
body.yy2 .yy2-cal-cell.is-past i { background: #cdbcc4; }
body.yy2 .yy2-cal-cell.is-warn i { background: #e0882a; }
body.yy2 .yy2-cal-cell.is-on { background: #c93370 !important; color: #fff !important; }
body.yy2 .yy2-cal-cell.is-on span { color: #fff !important; }
body.yy2 .yy2-cal-cell.is-on i { background: #fff; }
body.yy2 .yy2-sched-none { padding: 6px 0 2px; font-size: 12.5px; color: var(--v2-muted, #8a7b83); }
body.yy2 .yy2-sched-row.is-past .yy2-sched-time, body.yy2 .yy2-sched-row.is-past .yy2-sched-main b { color: #a99aa2; }

/* V12.580 ปฏิทินกดบัตรแบบเต็มจอ */
body.yy2 #yy2Sched .card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
body.yy2 .yy2-sched-big { flex: none; min-height: 30px; padding: 0 12px; border: 1px solid #eee5ea; border-radius: 999px; background: #fff; color: #a3265a; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
body.yy2 .yy2-sched-big:hover { border-color: #e7c3d4; background: #fcf2f6; }
.yy2-bigcal-bg { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; background: rgba(40, 24, 32, .38); }
.yy2-bigcal { width: min(1240px, 100%); max-height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: #fff; font-family: "Noto Sans Thai", system-ui, sans-serif; color: #2e252a; box-shadow: 0 20px 60px rgba(40, 24, 32, .25); }
.yy2-bc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 20px 12px; border-bottom: 1px solid #f3ecef; }
.yy2-bc-head h2 { margin: 0; font-size: 18px; font-weight: 700; }
.yy2-bc-head p { margin: 2px 0 0; font-size: 12.5px; color: #8a7b83; }
.yy2-bc-head p i { display: inline-block; width: 8px; height: 8px; margin: 0 4px 0 2px; border-radius: 50%; background: #e0882a; vertical-align: middle; }
.yy2-bc-nav { display: flex; align-items: center; gap: 8px; }
.yy2-bc-nav b { min-width: 140px; text-align: center; font-size: 15px; font-weight: 600; }
.yy2-bc-nav button { min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; color: #6f5d66; font: inherit; font-size: 16px; cursor: pointer; }
.yy2-bc-nav button.is-text { font-size: 13px; font-weight: 600; color: #a3265a; }
.yy2-bc-nav button:hover { border-color: #e7c3d4; color: #a3265a; }
.yy2-bc-nav .yy2-bc-x { margin-left: 6px; border: 0; border-radius: 50%; background: #f6eff2; font-size: 18px; }
.yy2-bc-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: max-content; overflow: auto; }
.yy2-bc-wd { position: sticky; top: 0; z-index: 1; padding: 8px 10px; border-bottom: 1px solid #f3ecef; background: #fff; font-size: 12.5px; font-weight: 600; color: #8a7b83; }
.yy2-bc-cell { min-height: 118px; padding: 6px 6px 8px; border-right: 1px solid #f5eef1; border-bottom: 1px solid #f5eef1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.yy2-bc-cell:nth-child(7n) { border-right: 0; }
.yy2-bc-cell.is-blank { background: #fcfafb; }
.yy2-bc-cell.is-past { background: #fcfafb; }
.yy2-bc-d { flex: none; display: flex; align-items: baseline; gap: 6px; padding: 0 2px; }
.yy2-bc-d b { font-size: 14px; font-weight: 600; }
.yy2-bc-d span { display: none; font-size: 11px; color: #8a7b83; }
.yy2-bc-cell.is-past .yy2-bc-d b { color: #b9aab2; }
.yy2-bc-cell.is-today .yy2-bc-d b { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 50%; background: #c93370; color: #fff; }
.yy2-bc-ev { flex: none; display: block; min-width: 0; padding: 5px 7px; border-left: 3px solid #c93370; border-radius: 6px; background: #fcf2f6; color: #2e252a; text-decoration: none; }
.yy2-bc-ev:hover { background: #f8e3ec; }
.yy2-bc-ev time { display: block; font-size: 11.5px; font-weight: 700; color: #a3265a; font-variant-numeric: tabular-nums; }
.yy2-bc-ev b { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12.5px; font-weight: 600; line-height: 1.3; overflow: hidden; overflow-wrap: anywhere; }
.yy2-bc-ev span { display: block; font-size: 11px; color: #8a7b83; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yy2-bc-ev.is-warn { border-left-color: #e0882a; background: #fff5ea; }
.yy2-bc-ev.is-warn time, .yy2-bc-ev.is-warn span { color: #a35a00; }
.yy2-bc-ev.is-live { border-left-color: #6a4fc0; background: #f3effc; }
.yy2-bc-ev.is-live time { color: #6a4fc0; }
.yy2-bc-ev.is-past { border-left-color: #cdbcc4; background: #f6f2f4; }
.yy2-bc-ev.is-past time, .yy2-bc-ev.is-past b { color: #a99aa2; }
@media (max-width: 760px) {
  .yy2-bigcal-bg { padding: 0; place-items: stretch; }
  .yy2-bigcal { max-height: 100vh; border-radius: 0; }
  .yy2-bc-head { padding: 12px 14px 10px; }
  .yy2-bc-nav b { min-width: 0; }
  .yy2-bc-grid { grid-template-columns: 1fr; }
  .yy2-bc-wd, .yy2-bc-cell.is-blank, .yy2-bc-cell:not(.has-ev) { display: none; }
  .yy2-bc-cell { min-height: 0; border-right: 0; padding: 10px 14px; }
  .yy2-bc-d span { display: inline; }
}

/* V12.581 ปฏิทิน: กล่องงานบรรทัดเดียว · +N งาน · ช่องขวาเป็นรายการ */
.yy2-bc-cell { min-height: 104px; }
.yy2-bc-d span { display: none; font-size: 11px; color: #8a7b83; }
.yy2-bc-d span.is-month { display: inline; font-weight: 600; color: #a3265a; }
.yy2-bc-ev { padding: 4px 6px !important; }
.yy2-bc-ev .yy2-bc-line { display: flex; align-items: baseline; gap: 5px; min-width: 0; overflow: visible; white-space: normal; font-size: inherit; color: #2e252a; }
.yy2-bc-line time { display: inline !important; flex: none; font-size: 11.5px; }
.yy2-bc-ev .yy2-bc-line b { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2 !important; color: #2e252a; flex: 1; min-width: 0; white-space: normal; overflow: hidden; overflow-wrap: anywhere; line-height: 1.3; font-size: 12px !important; }
.yy2-bc-line em { flex: none; font-style: normal; font-size: 11px; font-weight: 600; color: #8a7b83; font-variant-numeric: tabular-nums; }
.yy2-bc-ev.is-warn .yy2-bc-line em { color: #a35a00; }
.yy2-bc-ev .yy2-bc-sub { display: none; }
.yy2-bc-more { align-self: flex-start; padding: 2px 6px; border: 0; border-radius: 6px; background: none; color: #a3265a; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.yy2-bc-more:hover { background: #fcf2f6; }
body.yy2 .yy2-sched-more { display: block; width: 100%; margin-top: 4px; padding: 8px 0 2px; border: 0; background: none; color: #a3265a; font: inherit; font-size: 12.5px; font-weight: 600; text-align: left; cursor: pointer; }
@media (max-width: 760px) {
  .yy2-bc-d span.is-wd { display: inline; }
  .yy2-bc-ev .yy2-bc-line b { white-space: normal; }
  .yy2-bc-ev .yy2-bc-sub { display: block; }
  .yy2-bc-ev { padding: 6px 8px !important; }
}
.yy2-bc-ev.is-past .yy2-bc-line b { color: #a99aa2; }
.yy2-bc-ev.is-warn .yy2-bc-line b { color: #7a4300; }

/* V12.582 วันที่แอดมินไม่อยู่ */
.yy2-bc-nav button.is-away { padding: 0 12px; }
.yy2-bc-d { position: relative; }
.yy2-bc-add { margin-left: auto; padding: 1px 6px; border: 0; border-radius: 6px; background: none; color: #a3265a; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; opacity: 0; transition: opacity .15s; }
.yy2-bc-cell:hover .yy2-bc-add, .yy2-bc-add:focus-visible { opacity: 1; }
.yy2-bc-add:hover { background: #fcf2f6; }
.yy2-bc-away { flex: none; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 0 5px; text-align: left; padding: 3px 4px 3px 7px; border-radius: 6px; background: repeating-linear-gradient(135deg, #f4eff2 0 6px, #efe8ec 6px 12px); color: #5d4e57; font-size: 12px; font-weight: 600; }
.yy2-bc-away i { font-style: normal; font-size: 10.5px; font-weight: 700; color: #8a7b83; }
.yy2-bc-away small { flex-basis: 100%; font-size: 11px; font-weight: 400; color: #8a7b83; }
.yy2-bc-away button { margin-left: auto; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: none; color: #a99aa2; font: inherit; font-size: 14px; line-height: 1; cursor: pointer; }
.yy2-bc-away button:hover { background: #fff; color: #c74c67; }
.yy2-away-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; padding: 14px 20px; border-bottom: 1px solid #f3ecef; background: #fcfafb; }
.yy2-away-form > b { grid-column: 1 / -1; font-size: 14px; font-weight: 600; }
.yy2-away-form label { display: grid; gap: 4px; }
.yy2-away-form label.is-wide { grid-column: 1 / -1; }
.yy2-away-form label span { font-size: 12px; font-weight: 600; color: #8a7b83; }
.yy2-away-form input { height: 38px; box-sizing: border-box; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; color: #2e252a; font: inherit; font-size: 14px; }
.yy2-away-form input:focus { outline: 0; border-color: #e1a1ba; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1); }
.yy2-away-acts { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.yy2-away-acts small { margin-right: auto; font-size: 12px; font-weight: 600; color: #c74c67; }
.yy2-away-acts button { min-height: 36px; padding: 0 16px; border: 1px solid #eee5ea; border-radius: 999px; background: #fff; color: #6f5d66; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.yy2-away-acts button.is-main { border-color: #c93370; background: #c93370; color: #fff; }
.yy2-away-acts button:disabled { opacity: .6; }
body.yy2 .yy2-sched-away { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #f4eff2; color: #6f5d66; font-size: 11px; font-weight: 600; }
@media (max-width: 760px) {
  .yy2-away-form { grid-template-columns: 1fr 1fr; padding: 12px 14px; }
  .yy2-away-form label:first-of-type { grid-column: 1 / -1; }
  .yy2-bc-add { opacity: 1; }
  .yy2-bc-nav { flex-wrap: wrap; }
}
.yy2-bc-away b { font-weight: 600; color: #2e252a; }
@media (max-width: 760px) { .yy2-bc-head .yy2-bc-x { position: absolute; top: 12px; right: 12px; } .yy2-bigcal { position: relative; } .yy2-bc-head > div:first-child { padding-right: 40px; } }

/* V12.584 หน้า "บันทึกผลการกด" ให้หน้าตาเหมือนหลังบ้าน (การ์ดขาว ขอบ #eee5ea ไม่มีไล่สี) */
body.yy2 #pressResultModal .modal { max-width: 760px !important; border-radius: 18px !important; background: #fff !important; font-family: "Noto Sans Thai", system-ui, sans-serif !important; color: #2e252a !important; box-shadow: 0 20px 60px rgba(40, 24, 32, .22) !important; padding: 0 !important; overflow: auto !important; }
body.yy2 #pressResultModal .modal-head { position: sticky; top: 0; z-index: 3; margin: 0 !important; padding: 18px 22px 14px !important; border-bottom: 1px solid #f3ecef !important; background: #fff !important; }
body.yy2 #pressResultModal .modal-head h2 { margin: 0 !important; font-size: 18px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .modal-head p { margin: 2px 0 0 !important; font-size: 12.5px !important; font-weight: 400 !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .modal-close { width: 34px !important; height: 34px !important; border: 0 !important; border-radius: 50% !important; background: #f6eff2 !important; color: #8a7b83 !important; box-shadow: none !important; }
/* ส่วนที่ไม่ใช้แล้ว / ข้อความเก่า (ก่อนมีบอร์ดกดบัตร) */
body.yy2 #pressResultModal .modal-section:has(> .yy-press-outcome-grid),
body.yy2 #pressResultModal .yy-unified-kicker,
body.yy2 #pressResultModal .yy-unified-press-result-head small,
body.yy2 #pressResultModal .yy-unified-step-label,
body.yy2 #pressResultModal #pressSuccessFields > .modal-section-title,
body.yy2 #pressResultModal .yy-final-ticket-note,
body.yy2 #pressResultModal .yy-presser-tools-copy,
body.yy2 #pressResultModal .yy-press-result-hint,
body.yy2 #pressResultModal .yy-press-section-no,
body.yy2 #pressResultModal .yy-press-section-title small,
body.yy2 #pressResultModal .yy-final-ticket-head small,
body.yy2 #pressResultModal .yy-ticket-subhead small,
body.yy2 #pressResultModal #pressSuccessfulQtyField > label,
body.yy2 #pressResultModal #pressSuccessfulQtyHelp { display: none !important; }
/* กล่องจำนวนบัตร */
body.yy2 #pressResultModal .yy-unified-press-result { margin: 16px 22px 0 !important; padding: 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-unified-press-result-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 0 0 12px !important; }
body.yy2 #pressResultModal .yy-unified-press-result-head b { font-size: 15px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .yy-unified-total { display: flex !important; align-items: baseline !important; gap: 5px !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 12.5px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-unified-total strong { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .yy-unified-qty-grid { gap: 10px !important; }
body.yy2 #pressResultModal .yy-unified-qty-card { padding: 12px !important; border: 1px solid #eee5ea !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-unified-qty-card > label { font-size: 13px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .yy-unified-qty-card > small { font-size: 11.5px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-unified-qty-card.is-success { border-color: #cfe9dc !important; }
body.yy2 #pressResultModal .yy-unified-qty-card.is-stop { border-color: #f1dcc2 !important; }
body.yy2 #pressResultModal .yy-press-qty-step { width: 36px !important; height: 36px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; color: #6f5d66 !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-unified-qty-card input[type="number"] { height: 36px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; font-size: 15px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #pressResultModal #pressFailedQtyAuto { background: #faf7f8 !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-unified-result-summary { margin-top: 10px !important; padding: 10px 12px !important; border: 0 !important; border-radius: 10px !important; background: #faf7f8 !important; box-shadow: none !important; font-size: 12.5px !important; }
body.yy2 #pressResultModal .yy-result-outcome { padding: 2px 9px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 600 !important; }
/* หัวข้อ "บัตรที่ร้านกดสำเร็จ" */
body.yy2 #pressResultModal .yy-press-section-title { margin: 20px 22px 8px !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #pressResultModal .yy-press-section-title b { font-size: 15px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .yy-press-section-count { padding: 2px 9px !important; border-radius: 999px !important; background: #f4eff2 !important; color: #6f5d66 !important; font-size: 12px !important; font-weight: 600 !important; }
body.yy2 #pressResultModal #pressSuccessFields { margin: 0 22px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-presser-tools { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
/* การ์ดบัตรแต่ละใบ */
body.yy2 #pressResultModal .yy-final-ticket-list { gap: 12px !important; }
body.yy2 #pressResultModal .yy-final-ticket-card { padding: 14px 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-final-ticket-head { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; }
body.yy2 #pressResultModal .yy-final-ticket-head b { font-size: 14px !important; font-weight: 700 !important; color: #a3265a !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-badge { padding: 2px 9px !important; border: 0 !important; border-radius: 999px !important; font-size: 11.5px !important; font-weight: 600 !important; }
body.yy2 #pressResultModal .yy-ticket-special-outcome-box,
body.yy2 #pressResultModal .yy-ticket-physical-section,
body.yy2 #pressResultModal .yy-ticket-payment-section,
body.yy2 #pressResultModal .yy-final-ticket-card [class*="section"]:not(.yy-ticket-physical-section) { margin: 12px 0 0 !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid #f3ecef !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-ticket-subhead { margin: 0 0 8px !important; }
body.yy2 #pressResultModal .yy-ticket-subhead b { font-size: 13px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-options { gap: 8px !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-option { padding: 9px 11px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-option:has(input:checked) { border-color: #c93370 !important; background: #fcf2f6 !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-option input { accent-color: #c93370; }
body.yy2 #pressResultModal .yy-ticket-outcome-option b { font-size: 13px !important; font-weight: 600 !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-option small { font-size: 11.5px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-ticket-outcome-help { margin-top: 8px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 12px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-ticket-fulfillment-field { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
/* ช่องกรอก */
body.yy2 #pressResultModal .field label, body.yy2 #pressResultModal .yy-main-ticket-round > label { font-size: 12.5px !important; font-weight: 600 !important; color: #6f5d66 !important; }
body.yy2 #pressResultModal .field small, body.yy2 #pressResultModal .yy-main-ticket-round > small, body.yy2 #pressResultModal .field-help { font-size: 11.5px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal input[type="text"], body.yy2 #pressResultModal input[type="number"]:not(#pressSuccessfulQty):not(#pressCustomerStoppedQty):not(#pressFailedQtyAuto), body.yy2 #pressResultModal select { height: 40px !important; padding: 0 12px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; color: #2e252a !important; font: inherit !important; font-size: 14px !important; box-shadow: none !important; }
body.yy2 #pressResultModal input:focus, body.yy2 #pressResultModal select:focus { outline: 0 !important; border-color: #e1a1ba !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1) !important; }
body.yy2 #pressResultModal .modal-section { margin: 14px 22px 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
/* ปุ่มล่าง */
body.yy2 #pressResultModal .yy-press-actions { position: sticky !important; bottom: 0 !important; z-index: 3 !important; display: flex !important; align-items: center !important; gap: 10px !important; margin: 18px 0 0 !important; padding: 12px 22px !important; border-top: 1px solid #f3ecef !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-press-save-hint { flex: 1 !important; font-size: 12px !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal #cancelPressResultBtn { min-height: 40px !important; padding: 0 18px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #6f5d66 !important; font-weight: 600 !important; box-shadow: none !important; order: 0; }
body.yy2 #pressResultModal #savePressResultBtn { min-height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; filter: none !important; }
body.yy2 #pressResultModal #savePressResultBtn:hover { background: #a3265a !important; }
@media (max-width: 640px) {
  body.yy2 #pressResultModal .yy-unified-press-result, body.yy2 #pressResultModal .yy-press-section-title, body.yy2 #pressResultModal #pressSuccessFields, body.yy2 #pressResultModal .modal-section { margin-left: 14px !important; margin-right: 14px !important; }
  body.yy2 #pressResultModal .yy-press-save-hint { display: none !important; }
}
body.yy2 #pressResultModal .yy-press-payment-box { margin: 12px 0 0 !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid #f3ecef !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }

/* V12.585 รายละเอียด Booking: ยืนยันข้อมูลบัตรย้ายไปการ์ดด้านบน · บัตรเพิ่มให้เรียบลง */
body.yy2 .yy-settle-mini { padding: 0; color: #8a7b83; font-size: 12.5px; }
body.yy2 #detailAdditionalTicketSection .yy-additional-admin-note { display: none !important; }
body.yy2 #detailAdditionalTicketSection .booking-empty { padding: 4px 0 !important; border: 0 !important; background: none !important; color: #8a7b83 !important; font-size: 12.5px !important; text-align: left !important; }
body.yy2 #detailAdditionalTicketSection .yy-deposit-admin-actions { margin-top: 8px !important; }
body.yy2 #bookingDetailModal button#addAdditionalTicketBtn.btn, body.yy2 #addAdditionalTicketBtn { min-height: 34px !important; padding: 0 14px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #a3265a !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #bookingDetailModal button#addAdditionalTicketBtn.btn:hover, body.yy2 #addAdditionalTicketBtn:hover { border-color: #e7c3d4 !important; background: #fcf2f6 !important; }

/* V12.587 หน้าสรุปยอดแบบบิล */
body.yy2 #yySettlementModal .yy-settlement-modal-card.yy-bill { width: min(620px, calc(100vw - 24px)) !important; max-height: calc(100vh - 32px) !important; display: flex !important; flex-direction: column !important; padding: 0 !important; overflow: hidden !important; border-radius: 18px !important; background: #fff !important; font-family: "Noto Sans Thai", system-ui, sans-serif !important; color: #2e252a !important; box-shadow: 0 20px 60px rgba(40, 24, 32, .22) !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; margin: 0 !important; padding: 18px 22px 14px !important; border-bottom: 1px solid #f3ecef !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head h3 { margin: 0 !important; font-size: 18px !important; font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head p { margin: 2px 0 0 !important; font-size: 12.5px !important; color: #8a7b83 !important; }
body.yy2 #yySettlementModal #yySettlementCloseBtn { width: 34px !important; height: 34px !important; border: 0 !important; border-radius: 50% !important; background: #f6eff2 !important; color: #8a7b83 !important; font-size: 16px !important; }
body.yy2 #yySettlementModal .yy-bill-body { flex: 1; overflow: auto; padding: 14px 22px 18px; display: grid; gap: 14px; }
body.yy2 #yySettlementModal .yy-bill-result { display: flex; flex-wrap: wrap; gap: 6px; }
body.yy2 #yySettlementModal .yy-bill-result span { padding: 4px 10px; border-radius: 999px; background: #f6f1f4; color: #6f5d66; font-size: 12.5px; }
body.yy2 #yySettlementModal .yy-bill-result span.is-ok { background: #e9f6ef; color: #1f7a52; }
body.yy2 #yySettlementModal .yy-bill-result b { font-weight: 700; color: inherit; }
body.yy2 #yySettlementModal .yy-bill-info { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 12px 14px; border: 1px solid #eee5ea; border-radius: 12px; }
body.yy2 #yySettlementModal .yy-bill-info > div > span { display: block; font-size: 12px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-info > div > b { display: block; margin-top: 2px; font-size: 15px; font-weight: 700; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-info small { display: block; margin-top: 2px; font-size: 11.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-info small:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-info .yy-settlement-ticket-info { padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #yySettlementModal .yy-bill-info .yy-settlement-summary-advance { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: 12.5px; color: #a35a00; }
body.yy2 #yySettlementModal .yy-bill-info .hidden, body.yy2 #yySettlementModal .yy-bill-row.hidden { display: none !important; }
body.yy2 #yySettlementModal #yySettlementCancellationImpact:not(.hidden) { padding: 12px 14px; border: 1px solid #f3d3dc; border-radius: 12px; background: #fff8fa; color: #7f2a40; font-size: 12.5px; }
body.yy2 #yySettlementModal .yy-bill-sec h4 { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 6px 0; border-bottom: 1px solid #f5eef1; }
body.yy2 #yySettlementModal .yy-bill-row > div { min-width: 0; }
body.yy2 #yySettlementModal .yy-bill-row span, body.yy2 #yySettlementModal .yy-bill-row label { display: block; margin: 0 !important; font-size: 14px !important; font-weight: 500 !important; color: #2e252a !important; }
body.yy2 #yySettlementModal .yy-bill-row small { display: block; margin-top: 1px !important; font-size: 11.5px !important; color: #8a7b83 !important; line-height: 1.4; }
body.yy2 #yySettlementModal .yy-bill-row small:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-row small i { font-style: normal; }
body.yy2 #yySettlementModal .yy-bill-row > b { flex: none; font-size: 14px; font-weight: 600; color: #2e252a; font-variant-numeric: tabular-nums; }
body.yy2 #yySettlementModal .yy-bill-row input { flex: none; width: 130px !important; height: 36px !important; padding: 0 10px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; color: #2e252a !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; text-align: right !important; box-shadow: none !important; }
body.yy2 #yySettlementModal .yy-bill-row input:focus, body.yy2 #yySettlementModal .yy-bill-more input:focus, body.yy2 #yySettlementModal .yy-bill-more textarea:focus { outline: 0 !important; border-color: #e1a1ba !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1) !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-sub span, body.yy2 #yySettlementModal .yy-bill-row.is-sub label { padding-left: 12px; font-size: 13px !important; color: #6f5d66 !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-sub > b { font-size: 13px; font-weight: 500; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-row.is-total { border-bottom: 0; }
body.yy2 #yySettlementModal .yy-bill-row.is-total span { font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-total > b { font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-settlement-final { padding: 14px !important; border: 0 !important; border-radius: 12px !important; background: #f6f1f4 !important; color: #2e252a !important; font-size: 17px !important; font-weight: 700 !important; text-align: center !important; }
body.yy2 #yySettlementModal .yy-settlement-final.due { background: #fff5ea !important; color: #a35a00 !important; }
body.yy2 #yySettlementModal .yy-settlement-final.refund { background: #eef4ff !important; color: #2552b5 !important; }
body.yy2 #yySettlementModal .yy-settlement-final.clear { background: #e9f6ef !important; color: #1f7a52 !important; }
body.yy2 #yySettlementModal .yy-bill-more { border: 1px solid #eee5ea; border-radius: 12px; }
body.yy2 #yySettlementModal .yy-bill-more summary { padding: 12px 14px; cursor: pointer; font-size: 13.5px; font-weight: 600; color: #a3265a; }
body.yy2 #yySettlementModal .yy-bill-more summary small { margin-left: 6px; font-size: 11.5px; font-weight: 400; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-more-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; padding: 0 14px 14px; }
body.yy2 #yySettlementModal .yy-bill-more-grid .is-wide { grid-column: 1 / -1; }
body.yy2 #yySettlementModal .yy-bill-more-grid label { display: block; margin-bottom: 4px; font-size: 12.5px; font-weight: 600; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-more-grid small { display: block; margin-top: 3px; font-size: 11.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-more input, body.yy2 #yySettlementModal .yy-bill-more textarea { width: 100%; box-sizing: border-box; height: 38px; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; }
body.yy2 #yySettlementModal .yy-bill-more textarea { height: 70px; padding: 8px 10px; resize: vertical; }
body.yy2 #yySettlementModal .yy-settlement-actions { display: flex !important; gap: 10px !important; margin: 0 !important; padding: 12px 22px !important; border-top: 1px solid #f3ecef !important; background: #fff !important; }
body.yy2 #yySettlementModal .yy-settlement-cancel { flex: none !important; min-height: 42px !important; padding: 0 20px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #6f5d66 !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; }
body.yy2 #yySettlementModal .yy-settlement-save { flex: 1 !important; min-height: 42px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #yySettlementModal .yy-settlement-save:hover { background: #a3265a !important; }
@media (max-width: 560px) {
  body.yy2 #yySettlementModal .yy-bill-body { padding: 12px 14px 16px; }
  body.yy2 #yySettlementModal .yy-bill-info, body.yy2 #yySettlementModal .yy-bill-more-grid { grid-template-columns: 1fr; }
  body.yy2 #yySettlementModal .yy-bill-row input { width: 110px !important; }
}

/* V12.589 การ์ด "ขั้นต่อไป" แบบใหม่: พื้นชมพูอ่อน ไม่มีแถบซ้าย · วงกลมเลขขั้น · ปุ่มหลักทรงแคปซูล · ปุ่มรองเป็นลิงก์ */
#bdSummary .bd-next { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 14px; padding: 16px 18px !important; border: 1px solid #f4d6e2 !important; border-radius: 16px !important; background: #fff6f9 !important; }
#bdSummary .bd-next::before { display: none !important; }
#bdSummary .bd-next.is-quiet { border-color: #eee5ea !important; background: #faf8f9 !important; }
#bdSummary .bd-next-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #c93370; color: #fff; font-style: normal; font-size: 15px; font-weight: 700; }
#bdSummary .bd-next.is-quiet .bd-next-ic { background: #fff; border: 1px solid #e3d6dd; color: #7d6c76; }
#bdSummary .bd-next-copy { min-width: 0; }
#bdSummary .bd-next small { display: block !important; margin: 0 0 1px !important; font-size: 12px !important; font-weight: 600 !important; color: #a3265a !important; }
#bdSummary .bd-next small::before { display: none !important; }
#bdSummary .bd-next.is-quiet small { color: #8a7b83 !important; }
#bdSummary .bd-next b { font-size: 17px !important; font-weight: 700 !important; color: #2e252a !important; }
#bdSummary .bd-next .bd-next-copy > span { display: block; margin-top: 3px !important; font-size: 13px !important; line-height: 1.5; color: #6f5d66 !important; }
#bdSummary .bd-next .bd-acts { justify-content: flex-end; gap: 6px 10px; }
#bdSummary .bd-next .bd-go { height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; }
#bdSummary .bd-next .bd-go:hover { background: #a3265a !important; }
#bdSummary .bd-next .bd-go.is-soft { order: -1; height: 40px !important; padding: 0 8px !important; border: 0 !important; background: none !important; color: #a3265a !important; font-size: 13.5px !important; font-weight: 600 !important; }
#bdSummary .bd-next .bd-go.is-soft:hover { background: none !important; color: #7d1b44 !important; text-decoration: underline; text-underline-offset: 3px; }
#bdSummary .bd-next.is-quiet .bd-go:not(.is-soft) { background: #fff !important; border: 1px solid #e3d6dd !important; color: #2e252a !important; }
#bdSummary .bd-next.is-quiet .bd-go:not(.is-soft):hover { border-color: #c93370 !important; color: #a3265a !important; }
#bdSummary .bd-next .bd-msg { border-radius: 999px !important; }
@media (max-width: 640px) {
  #bdSummary .bd-next { grid-template-columns: auto minmax(0, 1fr); }
  #bdSummary .bd-next .bd-acts { grid-column: 1 / -1; justify-content: stretch; }
  #bdSummary .bd-next .bd-go:not(.is-soft) { flex: 1 1 100%; width: 100% !important; justify-content: center; }
  #bdSummary .bd-next .bd-go.is-soft { flex: 0 0 auto; width: auto !important; height: 34px !important; }
  #bdSummary .bd-next .bd-acts { justify-content: center; }
}
/* V12.590 ยอดสุดท้ายบนสุด */
body.yy2 #yySettlementModal .yy-bill-head { display: grid; gap: 4px; }
body.yy2 #yySettlementModal .yy-bill-head .yy-settlement-final { padding: 16px !important; font-size: 19px !important; }
body.yy2 #yySettlementModal .yy-bill-eq { text-align: center; font-size: 12.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-eq b { font-weight: 600; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-zero { display: none !important; }
/* V12.590 บัตรเพิ่ม: ไม่มีบัตรเพิ่ม → เหลือแค่ลิงก์เล็ก */
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) { padding-top: 10px !important; padding-bottom: 10px !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) > .modal-section-title,
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) #detailAdditionalTicketList { display: none !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) .yy-deposit-admin-actions { margin: 0 !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) button#addAdditionalTicketBtn.btn { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #a3265a !important; font-size: 13px !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) button#addAdditionalTicketBtn.btn:hover { text-decoration: underline; text-underline-offset: 3px; background: none !important; }
/* V12.591 ปรับยอดกรณีพิเศษ: แถวแบบเดียวกับบิล มีเครื่องหมาย + / − */
body.yy2 #yySettlementModal .yy-bill-more summary { display: flex; align-items: center; gap: 8px; list-style: none; }
body.yy2 #yySettlementModal .yy-bill-more summary::-webkit-details-marker { display: none; }
body.yy2 #yySettlementModal .yy-bill-more summary::before { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fcf2f6; color: #a3265a; font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-bill-more[open] summary::before { content: "−"; }
body.yy2 #yySettlementModal .yy-bill-more summary span { font-size: 13.5px; font-weight: 600; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-more summary em { font-style: normal; padding: 1px 8px; border-radius: 999px; background: #fff5ea; color: #a35a00; font-size: 11.5px; font-weight: 600; }
body.yy2 #yySettlementModal .yy-bill-more summary em:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-more summary small { margin-left: auto !important; font-size: 11.5px; font-weight: 400; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-adj { padding: 0 14px 14px; border-top: 1px solid #f3ecef; }
body.yy2 #yySettlementModal .yy-bill-adj .yy-bill-row input { width: 120px !important; }
body.yy2 #yySettlementModal .yy-bill-sign { flex: none; width: 14px; margin-right: -6px; text-align: center; font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-bill-sign.is-minus { color: #2552b5; }
body.yy2 #yySettlementModal .yy-bill-sign.is-plus { color: #a35a00; }
body.yy2 #yySettlementModal .yy-bill-row > div { flex: 1; }
body.yy2 #yySettlementModal .yy-bill-reason { display: grid; gap: 4px; padding: 10px 0 4px; }
body.yy2 #yySettlementModal .yy-bill-reason label { font-size: 12.5px; font-weight: 600; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-reason input, body.yy2 #yySettlementModal .yy-bill-reason textarea { width: 100%; box-sizing: border-box; height: 38px; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-reason textarea { height: 64px; padding: 8px 10px; resize: vertical; }
body.yy2 #yySettlementModal .yy-bill-reason input:focus, body.yy2 #yySettlementModal .yy-bill-reason textarea:focus { outline: 0; border-color: #e1a1ba; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1); }
@media (max-width: 560px) { body.yy2 #yySettlementModal .yy-bill-more summary small { display: none; } body.yy2 #yySettlementModal .yy-bill-adj .yy-bill-row input { width: 100px !important; } }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign { display: inline-block !important; flex: none; width: 14px; margin-right: -6px !important; text-align: center; font-size: 16px !important; font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign.is-minus { color: #2552b5 !important; }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign.is-plus { color: #a35a00 !important; }

/* V12.592 รายละเอียด Booking: ประวัติไม่ซ้ำกับด้านบน · ปุ่ม "+ เพิ่มบัตร" อยู่หัวรายการบัตร */
#yyBookingHistorySection .yh-cols.is-one { grid-template-columns: 1fr; }
#yyBookingHistorySection[hidden] { display: none !important; }
#bdSummary .bd-h-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#bdSummary .bd-h-act { border: 0; background: none; padding: 2px 0; color: #a3265a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#bdSummary .bd-h-act:hover { text-decoration: underline; text-underline-offset: 3px; }
body.yy2.yy2-finance-only #bdSummary .bd-h-act { display: none; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) { display: none !important; }
body.yy2 #detailAdditionalTicketSection #addAdditionalTicketBtn { display: none !important; }
#bdSummary .bd-more-h[hidden] { display: none; }
#bdSummary .bd-h-row .bd-h-t { font-weight: 600; color: #2b2228; }
#bdSummary .bd-h-row .bd-h-t > span { font-weight: 400; color: #7d6c76; }

/* V12.593 บัตรยืน: ติ๊กในแถวล่างของราคา (ข้าง "+ ค่ากดพิเศษบางโซน") */
#createEventModal .ef .ef-zf-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
#createEventModal .ef .ef-standing { display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #3f3038 !important; cursor: pointer; }
#createEventModal .ef .ef-standing input { width: 16px !important; height: 16px !important; min-height: 0 !important; margin: 0 !important; accent-color: #c93370; }
#createEventModal .ef .ef-standing small { font-weight: 400; color: var(--ef-muted); font-size: 12px; }

/* =========================================================
   V12.594 หน้า "แก้ผลการกด" อ่านง่ายขึ้น
   ========================================================= */
/* จำนวนบัตร: กระชับ · ไม่ซ้ำ */
/* V12.595 จำนวนบัตร: เป็นรายการ 3 บรรทัด (ชื่อซ้าย · ตัวเลขขวา) + บรรทัดรวมท้าย เหมือนบิล */
body.yy2 #pressResultModal #yyUnifiedPressResultBox { padding: 0 !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; overflow: hidden; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-press-result-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px; margin: 0 !important; padding: 12px 16px !important; border-bottom: 1px solid #f3ecef !important; background: #fcf9fa !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-press-result-head b { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-total { display: inline-flex !important; align-items: baseline; gap: 4px; padding: 0 !important; border: 0 !important; background: none !important; font-size: 13px !important; color: #7d6c76 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-total strong { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-grid { display: block !important; margin: 0 !important; padding: 0 16px !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "l c" "s c"; align-items: center; column-gap: 12px; min-height: 0 !important; margin: 0 !important; padding: 11px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card + .yy-unified-qty-card { border-top: 1px solid #f3ecef !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card > label { grid-area: l; display: flex !important; align-items: center; gap: 8px; margin: 0 !important; font-size: 14px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card > small { grid-area: s; display: block !important; margin: 1px 0 0 16px !important; text-align: left !important; font-size: 12px !important; line-height: 1.45 !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card > #yyPressSuccessMount,
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card > .yy-press-qty-control,
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card > #pressFailedQtyAuto { grid-area: c; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-qty-card.is-success > small { display: none !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox #pressSuccessfulQtyField { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox #pressSuccessfulQtyField > label,
body.yy2 #pressResultModal #yyUnifiedPressResultBox #pressSuccessfulQtyHelp { display: none !important; }
/* ตัวปรับจำนวน [− 1 +] */
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-control { display: inline-grid !important; grid-template-columns: 34px 48px 34px !important; gap: 0 !important; height: 36px; margin: 0 !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; overflow: hidden; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-step { width: 34px !important; height: 34px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: #fcf9fa !important; color: #a3265a !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-step:hover { background: #fcf2f6 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-control input { width: 48px !important; height: 34px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid #f0e6eb !important; border-right: 1px solid #f0e6eb !important; border-radius: 0 !important; background: #fff !important; text-align: center !important; font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; box-shadow: none !important; -moz-appearance: textfield; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-control input::-webkit-inner-spin-button,
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-press-qty-control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* ร้านกดไม่ได้ = ระบบคิดให้ → แสดงเป็นตัวเลขเฉย ๆ ตรงกับช่องตัวเลขด้านบน */
body.yy2 #pressResultModal #yyUnifiedPressResultBox #pressFailedQtyAuto { width: 116px !important; height: 36px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; text-align: center !important; font-size: 15px !important; font-weight: 700 !important; color: #8a7b83 !important; pointer-events: none; }
/* บรรทัดรวม */
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-stop-detail:not(.hidden) { margin: 0 16px 10px !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-result-counts { display: none !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-result-summary { display: block !important; margin: 0 !important; padding: 10px 16px !important; border: 0 !important; border-top: 1px solid #eee5ea !important; border-radius: 0 !important; background: #fcf9fa !important; font-size: 13px !important; color: #7d6c76 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-result-summary-top { display: flex !important; flex-direction: row-reverse; align-items: center !important; justify-content: space-between !important; gap: 10px; width: 100%; margin: 0 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-result-equation { font-size: 13px !important; font-weight: 500 !important; color: #7d6c76 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-result-equation::before { content: "รวม  "; white-space: pre; color: #8a7b83; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-result-outcome { padding: 3px 10px !important; border-radius: 999px !important; font-size: 12.5px !important; font-weight: 600 !important; }
body.yy2 #pressResultModal #yyUnifiedPressResultBox .yy-unified-result-invalid .yy-result-summary-top { margin-bottom: 4px !important; }

/* การ์ดบัตรแต่ละใบ */
body.yy2 #pressResultModal .yy-pc2 { padding: 0 !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; overflow: hidden; }
body.yy2 #pressResultModal .yy-pc2 .yy-final-ticket-head { display: flex !important; align-items: center !important; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 !important; padding: 12px 16px !important; border-bottom: 1px solid #f3ecef !important; background: #fcf9fa; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-no { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
/* ผลของใบนี้: ปุ่มแบ่งช่อง */
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg { display: inline-flex !important; gap: 2px !important; margin: 0 !important; padding: 3px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; grid-template-columns: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option { display: inline-flex !important; align-items: center; min-height: 0 !important; margin: 0 !important; padding: 5px 14px !important; border: 0 !important; border-radius: 999px !important; background: none !important; box-shadow: none !important; cursor: pointer; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option span,
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option b { display: inline !important; margin: 0 !important; padding: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #8a7b83 !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:has(input:checked) { background: #c93370 !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:has(input:checked) b { color: #fff !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:not(:has(input:checked)):hover b { color: #a3265a !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option::before,
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option::after { display: none !important; }
/* คำอธิบายเฉพาะตอนกดชน / ชำระไม่ทัน */
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-outcome-help { margin: 12px 16px 0 !important; padding: 9px 12px !important; border: 0 !important; border-radius: 10px !important; background: #fff7ed !important; color: #9a3412 !important; font-size: 13px !important; line-height: 1.55 !important; }
body.yy2 #pressResultModal .yy-pc2[data-ticket-outcome="normal"] .yy-ticket-outcome-help { display: none !important; }
body.yy2 #pressResultModal .yy-pc2:not([data-ticket-outcome="normal"]) .yy-pc2-phys { display: none !important; }
/* กลุ่ม */
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-group { padding: 12px 16px 14px; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-group + .yy-pc2-group { border-top: 1px dashed #f0e6eb; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-gh { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-gh > span { font-size: 12px; font-weight: 600; color: #a3265a; letter-spacing: .02em; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid,
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; margin: 0 !important; }
body.yy2 #pressResultModal .yy-pc2 .is-pay .yy-pc2-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid.is-standing { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid.is-standing .yy-final-row-field { display: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid > *,
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid > * { min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid > .hidden,
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid > .hidden { display: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-payer-name-wrap { grid-column: 1 / -1; }
body.yy2 #pressResultModal .yy-pc2 label:not(.yy-ticket-outcome-option):not(.yy-final-standing-l) { display: block !important; margin: 0 0 4px !important; font-size: 12.5px !important; font-weight: 500 !important; color: #7d6c76 !important; letter-spacing: 0 !important; text-transform: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid input:not([type=checkbox]):not([type=radio]),
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid select,
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid input { width: 100% !important; height: 40px !important; min-height: 0 !important; margin: 0 !important; padding: 0 10px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font: inherit !important; font-size: 14px !important; color: #2e252a !important; box-shadow: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid input:focus,
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid select:focus,
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-seat-grid input:focus { border-color: #c93370 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .12) !important; }
/* ข้อความช่วยเหลือเล็ก ๆ ใต้ช่อง → ไม่ต้องแล้ว (เหลือเฉพาะ "ต่างรอบ") */
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid small { display: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-main-ticket-round > small:has(.different) { display: block !important; margin-top: 4px !important; font-size: 12px !important; color: #b45309 !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-main-custom-round:not(.hidden) { display: block !important; margin-top: 8px; }
body.yy2 #pressResultModal .yy-pc2 .yy-main-custom-round-note { display: block; margin-top: 4px; font-size: 12px; color: #8a7b83; }
/* ติ๊กบัตรยืน (หัวกลุ่มที่นั่ง) */
body.yy2 #pressResultModal .yy-pc2 .yy-final-standing-l { display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #3f3038 !important; cursor: pointer; }
body.yy2 #pressResultModal .yy-pc2 .yy-final-standing-l input { width: 16px; height: 16px; margin: 0; accent-color: #c93370; }
body.yy2 #pressResultModal .yy-pc2 .yy-final-standing-l small { display: none; }
@media (max-width: 640px) {
  body.yy2 #pressResultModal .yy-pc2 .yy-final-ticket-head { padding: 10px 12px !important; }
  body.yy2 #pressResultModal .yy-pc2 .yy-pc2-group { padding: 10px 12px 12px; }
  body.yy2 #pressResultModal .yy-pc2 .yy-pc2-grid,
  body.yy2 #pressResultModal .yy-pc2 .is-pay .yy-pc2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.yy2 #pressResultModal .yy-pc2 .yy-main-ticket-round,
  body.yy2 #pressResultModal .yy-pc2 .yy-ticket-fulfillment-field { grid-column: 1 / -1; }
}
body.yy2 #pressResultModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option[style*="none"] { display: none !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-ticket-outcome-help b { color: inherit !important; }
body.yy2 #pressResultModal .yy-pc2 .yy-final-ticket-head { flex-direction: row !important; text-align: left !important; }
#createEventModal .ef .ef-standing-z { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ef-muted); }
#createEventModal .ef .ef-standing-z[hidden] { display: none; }
#createEventModal .ef .ef-standing-z input { width: 220px !important; height: 32px !important; min-height: 0 !important; padding: 0 10px !important; font-size: 13px !important; border: 1px solid var(--ef-line) !important; border-radius: 8px !important; background: #fff !important; }

/* V12.596 แท็บ "เก็บแล้ว" (คลังงาน) ท้ายแถบกรองรายการงาน */
#adminEventSection .ev2-chip-sep { width: 1px; height: 20px; margin: 6px 4px; background: var(--v2-line, #eee5ea); align-self: center; }
#adminEventSection .ev2-row.is-archived .ev2-name { color: #6f5f68; }
#adminEventSection .ev2-row.is-archived [data-ev2-restore] { color: #a3265a; }

/* =========================================================
   V12.597 หน้า "เพิ่มบัตรให้ลูกค้า" หน้าตาเดียวกับ "แก้ผลการกด"
   ========================================================= */
body.yy2 #additionalTicketModal .modal { max-width: 760px !important; border-radius: 18px !important; background: #fff !important; font-family: "Noto Sans Thai", system-ui, sans-serif !important; }
body.yy2 #additionalTicketModal .modal-head p { font-size: 12.5px !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal .modal-section { padding: 14px 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .modal-section-title { margin: 0 0 10px !important; font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #additionalTicketModal .modal-section .form-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
body.yy2 #additionalTicketModal .modal-section .field > label { margin: 0 0 4px !important; font-size: 12.5px !important; font-weight: 500 !important; color: #7d6c76 !important; }
body.yy2 #additionalTicketModal .modal-section .form-grid input,
body.yy2 #additionalTicketModal .modal-section .form-grid select,
body.yy2 #additionalTicketModal #additionalSamePresser,
body.yy2 #additionalTicketModal #additionalInternalNote { height: 40px !important; min-height: 0 !important; padding: 0 10px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font-size: 14px !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .field-help:not(#additionalPressFeeHelp) { display: none !important; }
body.yy2 #additionalTicketModal #additionalPressFeeHelp { margin-top: 4px !important; font-size: 12px !important; color: #1f9254 !important; }
/* ใช้ชื่อคนกดกับทุกใบ: บรรทัดเดียว */
body.yy2 #additionalTicketModal .yy-presser-tools { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #additionalTicketModal .yy-presser-tools-copy { display: none !important; }
body.yy2 #additionalTicketModal .yy-presser-tools-row { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px !important; }
body.yy2 #additionalTicketModal .yy-presser-tools-row::before { content: "กดได้โดย (ทุกใบ)"; font-size: 12.5px; color: #7d6c76; white-space: nowrap; }
body.yy2 #additionalTicketModal #additionalSamePresser { flex: 1 1 180px; width: auto !important; }
body.yy2 #additionalTicketModal .yy-presser-tools-row .btn { height: 36px !important; min-height: 0 !important; padding: 0 12px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #a3265a !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal #additionalTicketRows { display: grid; gap: 10px; }
/* ผู้บันทึก: บรรทัดเดียว */
body.yy2 #additionalTicketModal .yy-auto-operator-card { display: flex !important; align-items: center; gap: 8px; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #additionalTicketModal .yy-auto-operator-icon { display: none !important; }
body.yy2 #additionalTicketModal .yy-auto-operator-card span,
body.yy2 #additionalTicketModal .yy-auto-operator-card small { display: none !important; }
body.yy2 #additionalTicketModal .yy-auto-operator-card b::before { content: "บันทึกโดย "; font-weight: 400; color: #7d6c76; }
body.yy2 #additionalTicketModal .yy-auto-operator-card b { font-size: 13px !important; font-weight: 600 !important; color: #2e252a !important; }
@media (max-width: 640px) { body.yy2 #additionalTicketModal .modal-section .form-grid { grid-template-columns: 1fr !important; } }
/* การ์ดบัตรแต่ละใบ (คัดลอกจากหน้าแก้ผลการกด) */
/* การ์ดบัตรแต่ละใบ */
body.yy2 #additionalTicketModal .yy-final-ticket-list { gap: 12px !important; }
body.yy2 #additionalTicketModal .yy-final-ticket-card { padding: 14px 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-final-ticket-head { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; }
body.yy2 #additionalTicketModal .yy-final-ticket-head b { font-size: 14px !important; font-weight: 700 !important; color: #a3265a !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-badge { padding: 2px 9px !important; border: 0 !important; border-radius: 999px !important; font-size: 11.5px !important; font-weight: 600 !important; }
body.yy2 #additionalTicketModal .yy-ticket-special-outcome-box,
body.yy2 #additionalTicketModal .yy-ticket-physical-section,
body.yy2 #additionalTicketModal .yy-ticket-payment-section,
body.yy2 #additionalTicketModal .yy-final-ticket-card [class*="section"]:not(.yy-ticket-physical-section) { margin: 12px 0 0 !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid #f3ecef !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-ticket-subhead { margin: 0 0 8px !important; }
body.yy2 #additionalTicketModal .yy-ticket-subhead b { font-size: 13px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-options { gap: 8px !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-option { padding: 9px 11px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-option:has(input:checked) { border-color: #c93370 !important; background: #fcf2f6 !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-option input { accent-color: #c93370; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-option b { font-size: 13px !important; font-weight: 600 !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-option small { font-size: 11.5px !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal .yy-ticket-outcome-help { margin-top: 8px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 12px !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal .yy-ticket-fulfillment-field { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
/* ช่องกรอก */
body.yy2 #additionalTicketModal .field label, body.yy2 #additionalTicketModal .yy-main-ticket-round > label { font-size: 12.5px !important; font-weight: 600 !important; color: #6f5d66 !important; }
body.yy2 #additionalTicketModal .field small, body.yy2 #additionalTicketModal .yy-main-ticket-round > small, body.yy2 #additionalTicketModal .field-help { font-size: 11.5px !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal input[type="text"], body.yy2 #additionalTicketModal input[type="number"]:not(#pressSuccessfulQty):not(#pressCustomerStoppedQty):not(#pressFailedQtyAuto), body.yy2 #additionalTicketModal select { height: 40px !important; padding: 0 12px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; color: #2e252a !important; font: inherit !important; font-size: 14px !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal input:focus, body.yy2 #additionalTicketModal select:focus { outline: 0 !important; border-color: #e1a1ba !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1) !important; }
body.yy2 #additionalTicketModal .modal-section { margin: 14px 22px 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
/* ปุ่มล่าง */
body.yy2 #additionalTicketModal .yy-press-actions { position: sticky !important; bottom: 0 !important; z-index: 3 !important; display: flex !important; align-items: center !important; gap: 10px !important; margin: 18px 0 0 !important; padding: 12px 22px !important; border-top: 1px solid #f3ecef !important; background: #fff !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-press-save-hint { flex: 1 !important; font-size: 12px !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal #cancelPressResultBtn { min-height: 40px !important; padding: 0 18px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #6f5d66 !important; font-weight: 600 !important; box-shadow: none !important; order: 0; }
body.yy2 #additionalTicketModal #savePressResultBtn { min-height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; filter: none !important; }
body.yy2 #additionalTicketModal #savePressResultBtn:hover { background: #a3265a !important; }
@media (max-width: 640px) {
  body.yy2 #additionalTicketModal .yy-unified-press-result, body.yy2 #additionalTicketModal .yy-press-section-title, body.yy2 #additionalTicketModal #pressSuccessFields, body.yy2 #additionalTicketModal .modal-section { margin-left: 14px !important; margin-right: 14px !important; }
  body.yy2 #additionalTicketModal .yy-press-save-hint { display: none !important; }
}
body.yy2 #additionalTicketModal .yy-press-payment-box { margin: 12px 0 0 !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid #f3ecef !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }

/* V12.585 รายละเอียด Booking: ยืนยันข้อมูลบัตรย้ายไปการ์ดด้านบน · บัตรเพิ่มให้เรียบลง */
body.yy2 .yy-settle-mini { padding: 0; color: #8a7b83; font-size: 12.5px; }
body.yy2 #detailAdditionalTicketSection .yy-additional-admin-note { display: none !important; }
body.yy2 #detailAdditionalTicketSection .booking-empty { padding: 4px 0 !important; border: 0 !important; background: none !important; color: #8a7b83 !important; font-size: 12.5px !important; text-align: left !important; }
body.yy2 #detailAdditionalTicketSection .yy-deposit-admin-actions { margin-top: 8px !important; }
body.yy2 #bookingDetailModal button#addAdditionalTicketBtn.btn, body.yy2 #addAdditionalTicketBtn { min-height: 34px !important; padding: 0 14px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #a3265a !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #bookingDetailModal button#addAdditionalTicketBtn.btn:hover, body.yy2 #addAdditionalTicketBtn:hover { border-color: #e7c3d4 !important; background: #fcf2f6 !important; }

/* V12.587 หน้าสรุปยอดแบบบิล */
body.yy2 #yySettlementModal .yy-settlement-modal-card.yy-bill { width: min(620px, calc(100vw - 24px)) !important; max-height: calc(100vh - 32px) !important; display: flex !important; flex-direction: column !important; padding: 0 !important; overflow: hidden !important; border-radius: 18px !important; background: #fff !important; font-family: "Noto Sans Thai", system-ui, sans-serif !important; color: #2e252a !important; box-shadow: 0 20px 60px rgba(40, 24, 32, .22) !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; margin: 0 !important; padding: 18px 22px 14px !important; border-bottom: 1px solid #f3ecef !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head h3 { margin: 0 !important; font-size: 18px !important; font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-settlement-modal-head p { margin: 2px 0 0 !important; font-size: 12.5px !important; color: #8a7b83 !important; }
body.yy2 #yySettlementModal #yySettlementCloseBtn { width: 34px !important; height: 34px !important; border: 0 !important; border-radius: 50% !important; background: #f6eff2 !important; color: #8a7b83 !important; font-size: 16px !important; }
body.yy2 #yySettlementModal .yy-bill-body { flex: 1; overflow: auto; padding: 14px 22px 18px; display: grid; gap: 14px; }
body.yy2 #yySettlementModal .yy-bill-result { display: flex; flex-wrap: wrap; gap: 6px; }
body.yy2 #yySettlementModal .yy-bill-result span { padding: 4px 10px; border-radius: 999px; background: #f6f1f4; color: #6f5d66; font-size: 12.5px; }
body.yy2 #yySettlementModal .yy-bill-result span.is-ok { background: #e9f6ef; color: #1f7a52; }
body.yy2 #yySettlementModal .yy-bill-result b { font-weight: 700; color: inherit; }
body.yy2 #yySettlementModal .yy-bill-info { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 12px 14px; border: 1px solid #eee5ea; border-radius: 12px; }
body.yy2 #yySettlementModal .yy-bill-info > div > span { display: block; font-size: 12px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-info > div > b { display: block; margin-top: 2px; font-size: 15px; font-weight: 700; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-info small { display: block; margin-top: 2px; font-size: 11.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-info small:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-info .yy-settlement-ticket-info { padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #yySettlementModal .yy-bill-info .yy-settlement-summary-advance { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: 12.5px; color: #a35a00; }
body.yy2 #yySettlementModal .yy-bill-info .hidden, body.yy2 #yySettlementModal .yy-bill-row.hidden { display: none !important; }
body.yy2 #yySettlementModal #yySettlementCancellationImpact:not(.hidden) { padding: 12px 14px; border: 1px solid #f3d3dc; border-radius: 12px; background: #fff8fa; color: #7f2a40; font-size: 12.5px; }
body.yy2 #yySettlementModal .yy-bill-sec h4 { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 6px 0; border-bottom: 1px solid #f5eef1; }
body.yy2 #yySettlementModal .yy-bill-row > div { min-width: 0; }
body.yy2 #yySettlementModal .yy-bill-row span, body.yy2 #yySettlementModal .yy-bill-row label { display: block; margin: 0 !important; font-size: 14px !important; font-weight: 500 !important; color: #2e252a !important; }
body.yy2 #yySettlementModal .yy-bill-row small { display: block; margin-top: 1px !important; font-size: 11.5px !important; color: #8a7b83 !important; line-height: 1.4; }
body.yy2 #yySettlementModal .yy-bill-row small:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-row small i { font-style: normal; }
body.yy2 #yySettlementModal .yy-bill-row > b { flex: none; font-size: 14px; font-weight: 600; color: #2e252a; font-variant-numeric: tabular-nums; }
body.yy2 #yySettlementModal .yy-bill-row input { flex: none; width: 130px !important; height: 36px !important; padding: 0 10px !important; border: 1px solid #eee5ea !important; border-radius: 10px !important; background: #fff !important; color: #2e252a !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; text-align: right !important; box-shadow: none !important; }
body.yy2 #yySettlementModal .yy-bill-row input:focus, body.yy2 #yySettlementModal .yy-bill-more input:focus, body.yy2 #yySettlementModal .yy-bill-more textarea:focus { outline: 0 !important; border-color: #e1a1ba !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1) !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-sub span, body.yy2 #yySettlementModal .yy-bill-row.is-sub label { padding-left: 12px; font-size: 13px !important; color: #6f5d66 !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-sub > b { font-size: 13px; font-weight: 500; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-row.is-total { border-bottom: 0; }
body.yy2 #yySettlementModal .yy-bill-row.is-total span { font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-bill-row.is-total > b { font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-settlement-final { padding: 14px !important; border: 0 !important; border-radius: 12px !important; background: #f6f1f4 !important; color: #2e252a !important; font-size: 17px !important; font-weight: 700 !important; text-align: center !important; }
body.yy2 #yySettlementModal .yy-settlement-final.due { background: #fff5ea !important; color: #a35a00 !important; }
body.yy2 #yySettlementModal .yy-settlement-final.refund { background: #eef4ff !important; color: #2552b5 !important; }
body.yy2 #yySettlementModal .yy-settlement-final.clear { background: #e9f6ef !important; color: #1f7a52 !important; }
body.yy2 #yySettlementModal .yy-bill-more { border: 1px solid #eee5ea; border-radius: 12px; }
body.yy2 #yySettlementModal .yy-bill-more summary { padding: 12px 14px; cursor: pointer; font-size: 13.5px; font-weight: 600; color: #a3265a; }
body.yy2 #yySettlementModal .yy-bill-more summary small { margin-left: 6px; font-size: 11.5px; font-weight: 400; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-more-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; padding: 0 14px 14px; }
body.yy2 #yySettlementModal .yy-bill-more-grid .is-wide { grid-column: 1 / -1; }
body.yy2 #yySettlementModal .yy-bill-more-grid label { display: block; margin-bottom: 4px; font-size: 12.5px; font-weight: 600; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-more-grid small { display: block; margin-top: 3px; font-size: 11.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-more input, body.yy2 #yySettlementModal .yy-bill-more textarea { width: 100%; box-sizing: border-box; height: 38px; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; }
body.yy2 #yySettlementModal .yy-bill-more textarea { height: 70px; padding: 8px 10px; resize: vertical; }
body.yy2 #yySettlementModal .yy-settlement-actions { display: flex !important; gap: 10px !important; margin: 0 !important; padding: 12px 22px !important; border-top: 1px solid #f3ecef !important; background: #fff !important; }
body.yy2 #yySettlementModal .yy-settlement-cancel { flex: none !important; min-height: 42px !important; padding: 0 20px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #6f5d66 !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; }
body.yy2 #yySettlementModal .yy-settlement-save { flex: 1 !important; min-height: 42px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #yySettlementModal .yy-settlement-save:hover { background: #a3265a !important; }
@media (max-width: 560px) {
  body.yy2 #yySettlementModal .yy-bill-body { padding: 12px 14px 16px; }
  body.yy2 #yySettlementModal .yy-bill-info, body.yy2 #yySettlementModal .yy-bill-more-grid { grid-template-columns: 1fr; }
  body.yy2 #yySettlementModal .yy-bill-row input { width: 110px !important; }
}

/* V12.589 การ์ด "ขั้นต่อไป" แบบใหม่: พื้นชมพูอ่อน ไม่มีแถบซ้าย · วงกลมเลขขั้น · ปุ่มหลักทรงแคปซูล · ปุ่มรองเป็นลิงก์ */
#bdSummary .bd-next { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 14px; padding: 16px 18px !important; border: 1px solid #f4d6e2 !important; border-radius: 16px !important; background: #fff6f9 !important; }
#bdSummary .bd-next::before { display: none !important; }
#bdSummary .bd-next.is-quiet { border-color: #eee5ea !important; background: #faf8f9 !important; }
#bdSummary .bd-next-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #c93370; color: #fff; font-style: normal; font-size: 15px; font-weight: 700; }
#bdSummary .bd-next.is-quiet .bd-next-ic { background: #fff; border: 1px solid #e3d6dd; color: #7d6c76; }
#bdSummary .bd-next-copy { min-width: 0; }
#bdSummary .bd-next small { display: block !important; margin: 0 0 1px !important; font-size: 12px !important; font-weight: 600 !important; color: #a3265a !important; }
#bdSummary .bd-next small::before { display: none !important; }
#bdSummary .bd-next.is-quiet small { color: #8a7b83 !important; }
#bdSummary .bd-next b { font-size: 17px !important; font-weight: 700 !important; color: #2e252a !important; }
#bdSummary .bd-next .bd-next-copy > span { display: block; margin-top: 3px !important; font-size: 13px !important; line-height: 1.5; color: #6f5d66 !important; }
#bdSummary .bd-next .bd-acts { justify-content: flex-end; gap: 6px 10px; }
#bdSummary .bd-next .bd-go { height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; }
#bdSummary .bd-next .bd-go:hover { background: #a3265a !important; }
#bdSummary .bd-next .bd-go.is-soft { order: -1; height: 40px !important; padding: 0 8px !important; border: 0 !important; background: none !important; color: #a3265a !important; font-size: 13.5px !important; font-weight: 600 !important; }
#bdSummary .bd-next .bd-go.is-soft:hover { background: none !important; color: #7d1b44 !important; text-decoration: underline; text-underline-offset: 3px; }
#bdSummary .bd-next.is-quiet .bd-go:not(.is-soft) { background: #fff !important; border: 1px solid #e3d6dd !important; color: #2e252a !important; }
#bdSummary .bd-next.is-quiet .bd-go:not(.is-soft):hover { border-color: #c93370 !important; color: #a3265a !important; }
#bdSummary .bd-next .bd-msg { border-radius: 999px !important; }
@media (max-width: 640px) {
  #bdSummary .bd-next { grid-template-columns: auto minmax(0, 1fr); }
  #bdSummary .bd-next .bd-acts { grid-column: 1 / -1; justify-content: stretch; }
  #bdSummary .bd-next .bd-go:not(.is-soft) { flex: 1 1 100%; width: 100% !important; justify-content: center; }
  #bdSummary .bd-next .bd-go.is-soft { flex: 0 0 auto; width: auto !important; height: 34px !important; }
  #bdSummary .bd-next .bd-acts { justify-content: center; }
}
/* V12.590 ยอดสุดท้ายบนสุด */
body.yy2 #yySettlementModal .yy-bill-head { display: grid; gap: 4px; }
body.yy2 #yySettlementModal .yy-bill-head .yy-settlement-final { padding: 16px !important; font-size: 19px !important; }
body.yy2 #yySettlementModal .yy-bill-eq { text-align: center; font-size: 12.5px; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-eq b { font-weight: 600; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-zero { display: none !important; }
/* V12.590 บัตรเพิ่ม: ไม่มีบัตรเพิ่ม → เหลือแค่ลิงก์เล็ก */
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) { padding-top: 10px !important; padding-bottom: 10px !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) > .modal-section-title,
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) #detailAdditionalTicketList { display: none !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) .yy-deposit-admin-actions { margin: 0 !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) button#addAdditionalTicketBtn.btn { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #a3265a !important; font-size: 13px !important; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) button#addAdditionalTicketBtn.btn:hover { text-decoration: underline; text-underline-offset: 3px; background: none !important; }
/* V12.591 ปรับยอดกรณีพิเศษ: แถวแบบเดียวกับบิล มีเครื่องหมาย + / − */
body.yy2 #yySettlementModal .yy-bill-more summary { display: flex; align-items: center; gap: 8px; list-style: none; }
body.yy2 #yySettlementModal .yy-bill-more summary::-webkit-details-marker { display: none; }
body.yy2 #yySettlementModal .yy-bill-more summary::before { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fcf2f6; color: #a3265a; font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-bill-more[open] summary::before { content: "−"; }
body.yy2 #yySettlementModal .yy-bill-more summary span { font-size: 13.5px; font-weight: 600; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-more summary em { font-style: normal; padding: 1px 8px; border-radius: 999px; background: #fff5ea; color: #a35a00; font-size: 11.5px; font-weight: 600; }
body.yy2 #yySettlementModal .yy-bill-more summary em:empty { display: none; }
body.yy2 #yySettlementModal .yy-bill-more summary small { margin-left: auto !important; font-size: 11.5px; font-weight: 400; color: #8a7b83; }
body.yy2 #yySettlementModal .yy-bill-adj { padding: 0 14px 14px; border-top: 1px solid #f3ecef; }
body.yy2 #yySettlementModal .yy-bill-adj .yy-bill-row input { width: 120px !important; }
body.yy2 #yySettlementModal .yy-bill-sign { flex: none; width: 14px; margin-right: -6px; text-align: center; font-size: 15px; font-weight: 700; }
body.yy2 #yySettlementModal .yy-bill-sign.is-minus { color: #2552b5; }
body.yy2 #yySettlementModal .yy-bill-sign.is-plus { color: #a35a00; }
body.yy2 #yySettlementModal .yy-bill-row > div { flex: 1; }
body.yy2 #yySettlementModal .yy-bill-reason { display: grid; gap: 4px; padding: 10px 0 4px; }
body.yy2 #yySettlementModal .yy-bill-reason label { font-size: 12.5px; font-weight: 600; color: #6f5d66; }
body.yy2 #yySettlementModal .yy-bill-reason input, body.yy2 #yySettlementModal .yy-bill-reason textarea { width: 100%; box-sizing: border-box; height: 38px; padding: 0 10px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; color: #2e252a; }
body.yy2 #yySettlementModal .yy-bill-reason textarea { height: 64px; padding: 8px 10px; resize: vertical; }
body.yy2 #yySettlementModal .yy-bill-reason input:focus, body.yy2 #yySettlementModal .yy-bill-reason textarea:focus { outline: 0; border-color: #e1a1ba; box-shadow: 0 0 0 3px rgba(201, 51, 112, .1); }
@media (max-width: 560px) { body.yy2 #yySettlementModal .yy-bill-more summary small { display: none; } body.yy2 #yySettlementModal .yy-bill-adj .yy-bill-row input { width: 100px !important; } }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign { display: inline-block !important; flex: none; width: 14px; margin-right: -6px !important; text-align: center; font-size: 16px !important; font-weight: 700 !important; }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign.is-minus { color: #2552b5 !important; }
body.yy2 #yySettlementModal .yy-bill-row span.yy-bill-sign.is-plus { color: #a35a00 !important; }

/* V12.592 รายละเอียด Booking: ประวัติไม่ซ้ำกับด้านบน · ปุ่ม "+ เพิ่มบัตร" อยู่หัวรายการบัตร */
#yyBookingHistorySection .yh-cols.is-one { grid-template-columns: 1fr; }
#yyBookingHistorySection[hidden] { display: none !important; }
#bdSummary .bd-h-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#bdSummary .bd-h-act { border: 0; background: none; padding: 2px 0; color: #a3265a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
#bdSummary .bd-h-act:hover { text-decoration: underline; text-underline-offset: 3px; }
body.yy2.yy2-finance-only #bdSummary .bd-h-act { display: none; }
body.yy2 #detailAdditionalTicketSection:has(.booking-empty) { display: none !important; }
body.yy2 #detailAdditionalTicketSection #addAdditionalTicketBtn { display: none !important; }
#bdSummary .bd-more-h[hidden] { display: none; }
#bdSummary .bd-h-row .bd-h-t { font-weight: 600; color: #2b2228; }
#bdSummary .bd-h-row .bd-h-t > span { font-weight: 400; color: #7d6c76; }

/* V12.593 บัตรยืน: ติ๊กในแถวล่างของราคา (ข้าง "+ ค่ากดพิเศษบางโซน") */
#createEventModal .ef .ef-zf-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
#createEventModal .ef .ef-standing { display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #3f3038 !important; cursor: pointer; }
#createEventModal .ef .ef-standing input { width: 16px !important; height: 16px !important; min-height: 0 !important; margin: 0 !important; accent-color: #c93370; }
#createEventModal .ef .ef-standing small { font-weight: 400; color: var(--ef-muted); font-size: 12px; }

/* =========================================================
   V12.594 หน้า "แก้ผลการกด" อ่านง่ายขึ้น
   ========================================================= */
/* จำนวนบัตร: กระชับ · ไม่ซ้ำ */
/* V12.595 จำนวนบัตร: เป็นรายการ 3 บรรทัด (ชื่อซ้าย · ตัวเลขขวา) + บรรทัดรวมท้าย เหมือนบิล */
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox { padding: 0 !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; overflow: hidden; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-press-result-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px; margin: 0 !important; padding: 12px 16px !important; border-bottom: 1px solid #f3ecef !important; background: #fcf9fa !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-press-result-head b { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-total { display: inline-flex !important; align-items: baseline; gap: 4px; padding: 0 !important; border: 0 !important; background: none !important; font-size: 13px !important; color: #7d6c76 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-total strong { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-grid { display: block !important; margin: 0 !important; padding: 0 16px !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "l c" "s c"; align-items: center; column-gap: 12px; min-height: 0 !important; margin: 0 !important; padding: 11px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card + .yy-unified-qty-card { border-top: 1px solid #f3ecef !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card > label { grid-area: l; display: flex !important; align-items: center; gap: 8px; margin: 0 !important; font-size: 14px !important; font-weight: 600 !important; color: #2e252a !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card > small { grid-area: s; display: block !important; margin: 1px 0 0 16px !important; text-align: left !important; font-size: 12px !important; line-height: 1.45 !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card > #yyPressSuccessMount,
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card > .yy-press-qty-control,
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card > #pressFailedQtyAuto { grid-area: c; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-qty-card.is-success > small { display: none !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox #pressSuccessfulQtyField { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox #pressSuccessfulQtyField > label,
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox #pressSuccessfulQtyHelp { display: none !important; }
/* ตัวปรับจำนวน [− 1 +] */
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-control { display: inline-grid !important; grid-template-columns: 34px 48px 34px !important; gap: 0 !important; height: 36px; margin: 0 !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; overflow: hidden; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-step { width: 34px !important; height: 34px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: #fcf9fa !important; color: #a3265a !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-step:hover { background: #fcf2f6 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-control input { width: 48px !important; height: 34px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid #f0e6eb !important; border-right: 1px solid #f0e6eb !important; border-radius: 0 !important; background: #fff !important; text-align: center !important; font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; box-shadow: none !important; -moz-appearance: textfield; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-control input::-webkit-inner-spin-button,
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-press-qty-control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* ร้านกดไม่ได้ = ระบบคิดให้ → แสดงเป็นตัวเลขเฉย ๆ ตรงกับช่องตัวเลขด้านบน */
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox #pressFailedQtyAuto { width: 116px !important; height: 36px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; text-align: center !important; font-size: 15px !important; font-weight: 700 !important; color: #8a7b83 !important; pointer-events: none; }
/* บรรทัดรวม */
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-stop-detail:not(.hidden) { margin: 0 16px 10px !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-result-counts { display: none !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-result-summary { display: block !important; margin: 0 !important; padding: 10px 16px !important; border: 0 !important; border-top: 1px solid #eee5ea !important; border-radius: 0 !important; background: #fcf9fa !important; font-size: 13px !important; color: #7d6c76 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-result-summary-top { display: flex !important; flex-direction: row-reverse; align-items: center !important; justify-content: space-between !important; gap: 10px; width: 100%; margin: 0 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-result-equation { font-size: 13px !important; font-weight: 500 !important; color: #7d6c76 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-result-equation::before { content: "รวม  "; white-space: pre; color: #8a7b83; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-result-outcome { padding: 3px 10px !important; border-radius: 999px !important; font-size: 12.5px !important; font-weight: 600 !important; }
body.yy2 #additionalTicketModal #yyUnifiedPressResultBox .yy-unified-result-invalid .yy-result-summary-top { margin-bottom: 4px !important; }

/* การ์ดบัตรแต่ละใบ */
body.yy2 #additionalTicketModal .yy-pc2 { padding: 0 !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; overflow: hidden; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-final-ticket-head { display: flex !important; align-items: center !important; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 !important; padding: 12px 16px !important; border-bottom: 1px solid #f3ecef !important; background: #fcf9fa; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-no { font-size: 15px !important; font-weight: 700 !important; color: #2e252a !important; }
/* ผลของใบนี้: ปุ่มแบ่งช่อง */
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg { display: inline-flex !important; gap: 2px !important; margin: 0 !important; padding: 3px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; grid-template-columns: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option { display: inline-flex !important; align-items: center; min-height: 0 !important; margin: 0 !important; padding: 5px 14px !important; border: 0 !important; border-radius: 999px !important; background: none !important; box-shadow: none !important; cursor: pointer; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option span,
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option b { display: inline !important; margin: 0 !important; padding: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #8a7b83 !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:has(input:checked) { background: #c93370 !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:has(input:checked) b { color: #fff !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option:not(:has(input:checked)):hover b { color: #a3265a !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option::before,
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option::after { display: none !important; }
/* คำอธิบายเฉพาะตอนกดชน / ชำระไม่ทัน */
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-outcome-help { margin: 12px 16px 0 !important; padding: 9px 12px !important; border: 0 !important; border-radius: 10px !important; background: #fff7ed !important; color: #9a3412 !important; font-size: 13px !important; line-height: 1.55 !important; }
body.yy2 #additionalTicketModal .yy-pc2[data-ticket-outcome="normal"] .yy-ticket-outcome-help { display: none !important; }
body.yy2 #additionalTicketModal .yy-pc2:not([data-ticket-outcome="normal"]) .yy-pc2-phys { display: none !important; }
/* กลุ่ม */
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-group { padding: 12px 16px 14px; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-group + .yy-pc2-group { border-top: 1px dashed #f0e6eb; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-gh { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-gh > span { font-size: 12px; font-weight: 600; color: #a3265a; letter-spacing: .02em; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid,
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; margin: 0 !important; }
body.yy2 #additionalTicketModal .yy-pc2 .is-pay .yy-pc2-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid.is-standing { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid.is-standing .yy-final-row-field { display: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid > *,
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid > * { min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid > .hidden,
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid > .hidden { display: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-payer-name-wrap { grid-column: 1 / -1; }
body.yy2 #additionalTicketModal .yy-pc2 label:not(.yy-ticket-outcome-option):not(.yy-final-standing-l) { display: block !important; margin: 0 0 4px !important; font-size: 12.5px !important; font-weight: 500 !important; color: #7d6c76 !important; letter-spacing: 0 !important; text-transform: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid input:not([type=checkbox]):not([type=radio]),
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid select,
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid input { width: 100% !important; height: 40px !important; min-height: 0 !important; margin: 0 !important; padding: 0 10px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font: inherit !important; font-size: 14px !important; color: #2e252a !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid input:focus,
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid select:focus,
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-seat-grid input:focus { border-color: #c93370 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .12) !important; }
/* ข้อความช่วยเหลือเล็ก ๆ ใต้ช่อง → ไม่ต้องแล้ว (เหลือเฉพาะ "ต่างรอบ") */
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid small { display: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-main-ticket-round > small:has(.different) { display: block !important; margin-top: 4px !important; font-size: 12px !important; color: #b45309 !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-main-custom-round:not(.hidden) { display: block !important; margin-top: 8px; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-main-custom-round-note { display: block; margin-top: 4px; font-size: 12px; color: #8a7b83; }
/* ติ๊กบัตรยืน (หัวกลุ่มที่นั่ง) */
body.yy2 #additionalTicketModal .yy-pc2 .yy-final-standing-l { display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: #3f3038 !important; cursor: pointer; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-final-standing-l input { width: 16px; height: 16px; margin: 0; accent-color: #c93370; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-final-standing-l small { display: none; }
@media (max-width: 640px) {
  body.yy2 #additionalTicketModal .yy-pc2 .yy-final-ticket-head { padding: 10px 12px !important; }
  body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-group { padding: 10px 12px 12px; }
  body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-grid,
  body.yy2 #additionalTicketModal .yy-pc2 .is-pay .yy-pc2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.yy2 #additionalTicketModal .yy-pc2 .yy-main-ticket-round,
  body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-fulfillment-field { grid-column: 1 / -1; }
}
body.yy2 #additionalTicketModal .yy-pc2 .yy-pc2-seg .yy-ticket-outcome-option[style*="none"] { display: none !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-ticket-outcome-help b { color: inherit !important; }
body.yy2 #additionalTicketModal .yy-pc2 .yy-final-ticket-head { flex-direction: row !important; text-align: left !important; }
#createEventModal .ef .ef-standing-z { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ef-muted); }
#createEventModal .ef .ef-standing-z[hidden] { display: none; }
#createEventModal .ef .ef-standing-z input { width: 220px !important; height: 32px !important; min-height: 0 !important; padding: 0 10px !important; font-size: 13px !important; border: 1px solid var(--ef-line) !important; border-radius: 8px !important; background: #fff !important; }


body.yy2 #additionalTicketModal .modal-section .form-grid.hidden { display: none !important; }
body.yy2 #additionalTicketModal .modal.yy-additional-ticket-modal > .modal-section { margin: 0 18px 12px !important; padding: 14px 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; }
@media (max-width: 640px) { body.yy2 #additionalTicketModal .modal.yy-additional-ticket-modal > .modal-section { margin: 0 12px 10px !important; padding: 12px !important; } }

/* V12.598 เพิ่มบัตรให้ลูกค้า: กรอกบนลงล่างจบในหน้าเดียว */
body.yy2 #additionalTicketModal .modal.yy-additional-ticket-modal { padding-bottom: 0 !important; }
body.yy2 #additionalTicketModal .yy-at-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) 90px 110px; gap: 10px; }
body.yy2 #additionalTicketModal .yy-at-grid .field { margin: 0 !important; }
body.yy2 #additionalTicketModal .yy-at-grid .field[hidden] { display: none !important; }
body.yy2 #additionalTicketModal .yy-at-grid .field > label { display: block; margin: 0 0 4px !important; font-size: 12.5px !important; font-weight: 500 !important; color: #7d6c76 !important; }
body.yy2 #additionalTicketModal .yy-at-grid input,
body.yy2 #additionalTicketModal .yy-at-grid select,
body.yy2 #additionalTicketModal .yy-at-note input { width: 100% !important; height: 40px !important; min-height: 0 !important; margin: 0 !important; padding: 0 10px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font: inherit !important; font-size: 14px !important; color: #2e252a !important; box-shadow: none !important; }
body.yy2 #additionalTicketModal .yy-at-qty input, body.yy2 #additionalTicketModal .yy-at-fee input { text-align: center; font-weight: 600 !important; }
body.yy2 #additionalTicketModal #additionalPressFeeHelp { display: block !important; margin: 6px 0 0 !important; text-align: right; }
body.yy2 #additionalTicketModal #additionalCustomRoundFields:not(.hidden) { margin-top: 10px !important; }
body.yy2 #additionalTicketModal .yy-at-same { margin: 0 18px 10px !important; }
body.yy2 #additionalTicketModal .yy-at-same[hidden] { display: none !important; }
body.yy2 #additionalTicketModal #additionalTicketRows { margin: 0 18px !important; }
body.yy2 #additionalTicketModal .yy-pc2 .is-ticket .yy-pc2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
/* รับบัตร · ค่าบัตร: พับไว้ + สรุปบรรทัดเดียว */
body.yy2 #additionalTicketModal .yy-pc2 .is-pay .yy-pc2-gh { justify-content: flex-start; }
body.yy2 #additionalTicketModal .yy-at-paysum, body.yy2 #additionalTicketModal .yy-at-payedit { display: none; }
body.yy2 #additionalTicketModal .is-pay.is-folded .yy-pc2-gh { margin: 0 !important; }
body.yy2 #additionalTicketModal .is-pay.is-folded .yy-pc2-grid { display: none !important; }
body.yy2 #additionalTicketModal .is-pay.is-folded .yy-at-paysum { display: block; flex: 1 1 auto; min-width: 0; font-size: 13px; color: #2e252a; }
body.yy2 #additionalTicketModal .is-pay.is-folded .yy-at-payedit { display: inline-block; margin-left: auto; padding: 2px 0; border: 0; background: none; color: #a3265a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
body.yy2 #additionalTicketModal .is-pay.is-folded .yy-at-payedit:hover { text-decoration: underline; text-underline-offset: 3px; }
/* หมายเหตุภายใน: ซ่อนไว้ กดเปิดเมื่อต้องใช้ */
body.yy2 #additionalTicketModal .yy-at-note { margin: 12px 18px 0 !important; }
body.yy2 #additionalTicketModal .yy-at-note > summary { display: inline-block; list-style: none; cursor: pointer; font-size: 13px; font-weight: 600; color: #a3265a; }
body.yy2 #additionalTicketModal .yy-at-note > summary::-webkit-details-marker { display: none; }
body.yy2 #additionalTicketModal .yy-at-note > summary span { font-weight: 400; color: #8a7b83; }
body.yy2 #additionalTicketModal .yy-at-note[open] > summary { margin-bottom: 6px; }
/* ท้าย: บันทึกโดย · ปุ่ม */
body.yy2 #additionalTicketModal .modal-actions { display: flex !important; align-items: center !important; gap: 8px !important; margin: 14px 0 0 !important; padding: 12px 18px !important; border-top: 1px solid #f3ecef !important; background: #fff !important; position: sticky; bottom: 0; }
body.yy2 #additionalTicketModal .yy-at-op { margin-right: auto; font-size: 12.5px; color: #8a7b83; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.yy2 #additionalTicketModal .yy-at-op b { font-weight: 500; color: #3f3038; }
@media (max-width: 640px) {
  body.yy2 #additionalTicketModal .yy-at-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.yy2 #additionalTicketModal .yy-at-same, body.yy2 #additionalTicketModal #additionalTicketRows, body.yy2 #additionalTicketModal .yy-at-note { margin-left: 12px !important; margin-right: 12px !important; }
  body.yy2 #additionalTicketModal .yy-at-op { display: none; }
}

/* V12.598 สรุปยอดแล้ว: กล่องด้านล่างเหลือเฉพาะสิ่งที่ต้องทำ (โอนคืน / รับยอดเพิ่ม) */
body.yy2 #detailPressFlowSection.yy-settled #detailPressFlowInfo,
body.yy2 #detailPressFlowSection.yy-settled .yy-press-flow-line-note,
body.yy2 #detailPressFlowSection.yy-settled .yy-press-flow-actions { display: none !important; }
body.yy2 #detailPressFlowSection.yy-settled #yyAdminSettlementBox { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.yy2 #detailPressFlowSection .yy-settle-v2-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #f3ecef; font-size: 13.5px; }
body.yy2 #detailPressFlowSection .yy-settle-v2-row:last-child { border-bottom: 0; }
body.yy2 #detailPressFlowSection .yy-settle-v2-row > span { color: #7d6c76; }
body.yy2 #detailPressFlowSection .yy-settle-v2-row > b { font-weight: 600; color: #2e252a; text-align: right; }
body.yy2 #detailPressFlowSection .yy-settle-v2-link { border: 0; background: none; padding: 2px 0; color: #a3265a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
body.yy2 #detailPressFlowSection .yy-settle-v2-link:hover { text-decoration: underline; text-underline-offset: 3px; }
body.yy2 #detailPressFlowSection.yy-settled .yy-settlement-finish { display: flex; justify-content: flex-end; margin-top: 10px; }

/* V12.599 ยืนยันรับยอดชำระเพิ่ม: ชื่อลูกค้า · ยอดตัวใหญ่ · ปุ่มชมพูเรียบ (ไม่มีไล่สี) */
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 { width: min(440px, calc(100vw - 32px)) !important; padding: 22px 22px 18px !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 20px 60px rgba(40, 20, 30, .18) !important; font-family: "Noto Sans Thai", system-ui, sans-serif !important; color: #2e252a; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 h3 { margin: 0 !important; font-size: 18px !important; font-weight: 700 !important; color: #2e252a !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 > p#yySettlementPaymentConfirmText { margin: 4px 0 14px !important; font-size: 13px !important; line-height: 1.5 !important; color: #7d6c76 !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2-amt { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid #eee5ea; border-radius: 12px; background: #fcf9fa; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2-amt span { font-size: 13px; color: #7d6c76; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2-amt b { font-size: 22px; font-weight: 700; color: #2e252a; font-variant-numeric: tabular-nums; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2-note { margin: 8px 0 14px !important; font-size: 12.5px !important; color: #8a7b83 !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 label { display: block; margin: 0 0 4px !important; font-size: 12.5px !important; font-weight: 500 !important; color: #7d6c76 !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 label span { color: #a89aa2; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 input { width: 100% !important; height: 40px !important; padding: 0 12px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font: inherit !important; font-size: 14px !important; box-shadow: none !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 input:focus { border-color: #c93370 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .12) !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 .yy-settlement-payment-confirm-actions { display: flex !important; justify-content: flex-end; gap: 8px !important; margin-top: 18px !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 .yy-settlement-payment-confirm-cancel { flex: 0 0 auto !important; height: 40px !important; padding: 0 18px !important; border: 1px solid #eee5ea !important; border-radius: 999px !important; background: #fff !important; color: #3f3038 !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 .yy-settlement-payment-confirm-save { flex: 0 0 auto !important; height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: #c93370 !important; background-image: none !important; color: #fff !important; font: inherit !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #yySettlementPaymentConfirmModal .yy-pay2 .yy-settlement-payment-confirm-save:hover { background: #a3265a !important; }

/* V12.600 ลูกค้าแจ้งยอดไม่ถูกต้อง: กล่องตอบลูกค้า (เหตุผลลูกค้า + ปุ่มแก้ยอด อยู่ที่การ์ดด้านบน) */
body.yy2 #detailSettlementIssueSection { padding: 14px 16px !important; border: 1px solid #eee5ea !important; border-radius: 14px !important; background: #fff !important; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-open { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-h { margin-bottom: 8px; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-h b { display: block; font-size: 15px; font-weight: 700; color: #2e252a; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-h small { display: block; margin-top: 2px; font-size: 12.5px; color: #8a7b83; }
body.yy2 #detailSettlementIssueSection textarea { width: 100% !important; min-height: 64px !important; padding: 10px 12px !important; border: 1px solid #e7dde2 !important; border-radius: 10px !important; background: #fff !important; font: inherit !important; font-size: 14px !important; resize: vertical; box-shadow: none !important; }
body.yy2 #detailSettlementIssueSection textarea:focus { border-color: #c93370 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(201, 51, 112, .12) !important; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-actions { display: flex !important; justify-content: flex-end; flex-wrap: wrap; gap: 8px !important; margin-top: 10px !important; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-actions .btn { height: 38px !important; min-height: 0 !important; padding: 0 16px !important; border-radius: 999px !important; font-size: 13.5px !important; font-weight: 600 !important; box-shadow: none !important; }
body.yy2 #detailSettlementIssueSection #yyAdmSiEdit { border: 1px solid #eee5ea !important; background: #fff !important; color: #a3265a !important; }
body.yy2 #detailSettlementIssueSection #yyAdmSiConfirm { border: 0 !important; background: #c93370 !important; color: #fff !important; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-done { padding: 0 !important; border: 0 !important; background: none !important; font-size: 13px; color: #7d6c76; }
body.yy2 #detailSettlementIssueSection .yy-adm-si-done b { display: block; font-size: 14px; color: #1f9254; }
/* V12.602 รอชำระ: กำหนดจ่ายเลยแล้ว = แดง · ปุ่มรับเงินนอกระบบ */
body.yy2 #detailPressFlowSection .yy-settle-v2-row > b.is-late { color: #c8343c; }
body.yy2 #detailPressFlowSection .yy-settle-v2-row.is-act > span { font-size: 13px; }
body.yy2 #detailPressFlowSection .yy-settle-v2-btn { flex: 0 0 auto; height: 36px; padding: 0 16px; border: 1px solid #eee5ea; border-radius: 999px; background: #fff; color: #a3265a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
body.yy2 #detailPressFlowSection .yy-settle-v2-btn:hover { background: #fcf2f6; border-color: #e7c3d4; }

/* V12.604 ปลายทางโอนคืน: ธนาคาร + ชื่อบัญชีเด่น · เลขบัญชี/ยอดเป็นปุ่มคัดลอกใหญ่ */
#adminMoneySection .mh-dest { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid #eee5ea; border-radius: 12px; background: #fcf9fa; }
#adminMoneySection .mh-dest-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
#adminMoneySection .mh-dest-bank { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 700; color: var(--v2-text, #2e252a); }
#adminMoneySection .mh-dest-bank i { width: 12px; height: 12px; border-radius: 50%; background: var(--bk, #9a8d95); flex: 0 0 auto; }
#adminMoneySection .mh-dest-name { display: inline-flex; align-items: baseline; gap: 6px; }
#adminMoneySection .mh-dest-name small { font-size: 12px; color: #8a7b83; }
#adminMoneySection .mh-dest-name b { font-size: 15px; font-weight: 700; color: var(--v2-text, #2e252a); }
#adminMoneySection .mh-dest-copy { display: flex; flex-wrap: wrap; gap: 8px; }
#adminMoneySection .mh-dest .mh-copy { height: 40px; padding: 0 12px; gap: 8px; border-radius: 10px; }
#adminMoneySection .mh-dest .mh-copy small { font-size: 11.5px; color: #8a7b83; font-weight: 500; }
#adminMoneySection .mh-dest .mh-copy code { font-size: 15.5px; font-weight: 700; }
#adminMoneySection .mh-dest .mh-copy svg { width: 14px; height: 14px; }
#adminMoneySection .mh-dest-hint { font-size: 12px; color: #8a7b83; }
#adminMoneySection .mh-dest-hint b { color: #3f3038; font-weight: 600; }
/* แถวโอนคืน: ปลายทางเต็มความกว้าง (ธนาคาร · ชื่อ · เลขบัญชี · ยอด อยู่บรรทัดเดียวบนจอกว้าง) */
@media (min-width: 761px) {
  #adminMoneySection .mh-row.is-refund { grid-template-areas: "main what amt amt" "state state state state" "act act act act"; }
  #adminMoneySection .mh-row.is-refund .mh-amt { justify-self: end; }
}
#adminMoneySection .mh-row.is-refund .mh-dest { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
#adminMoneySection .mh-row.is-refund .mh-dest-hint { flex-basis: 100%; }
/* V12.605 รายการ Booking: บรรทัดสถานะไม่ตัดคำ · พร้อมโอน = เขียว */
body.yy2 .yy2-todo-line, body.yy2 .yy2-dl { display: block; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
body.yy2 .yy2-dl.is-ready { color: #1f9254 !important; }
body.yy2 .yy2-dl.is-ready b { font-weight: 600; }
/* V12.606 เงินจบแล้ว รอส่งบัตร */
body.yy2 .status.status-ship { background: #fff4e5 !important; color: #a35a00 !important; border-color: transparent !important; }
/* V12.608 เมนูย่อย (งาน ▾ / เพิ่มเติม ▾) ต้องลอยเหนือการ์ดสถิติด้านล่าง */
body.yy2 .admin-topbar { position: relative !important; z-index: 80 !important; }
body.yy2 .yy2-group, body.yy2 .admin-top-actions.yy2-nav { position: relative; z-index: 80; }
body.yy2 .yy2-group[open] { z-index: 90; }
body.yy2 .yy2-menu { z-index: 100 !important; }
#createEventModal .ef .ef-standing-z input.ef-standing-fee { width: 90px !important; text-align: center; }

/* V12.611 ประเภทบัตรของราคา: นั่ง | ยืน | นั่ง + ยืน */
#createEventModal .ef .ef-stype-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
#createEventModal .ef .ef-stype-l { font-size: 13px; color: var(--ef-muted); }
#createEventModal .ef .ef-stype-seg { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--ef-line); border-radius: 999px; background: #fff; }
#createEventModal .ef .ef-stype-seg label { display: inline-flex !important; align-items: center; margin: 0 !important; padding: 4px 14px !important; border-radius: 999px; font-size: 13px !important; font-weight: 600 !important; color: var(--ef-muted) !important; cursor: pointer; }
#createEventModal .ef .ef-stype-seg label.is-on { background: #c93370; color: #fff !important; }
#createEventModal .ef .ef-stype-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#createEventModal .ef .ef-stype-hint { font-size: 12.5px; color: var(--ef-muted); }
#createEventModal .ef .ef-stand-box { padding: 10px 12px; border: 1px solid var(--ef-line); border-radius: 10px; background: var(--ef-bg); }
#createEventModal .ef .ef-stand-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 8px; }
#createEventModal .ef .ef-stand-grid label { display: grid !important; gap: 4px; margin: 0 !important; font-size: 12.5px !important; font-weight: 500 !important; color: var(--ef-muted) !important; }
#createEventModal .ef .ef-stand-grid input { height: 36px !important; min-height: 0 !important; padding: 0 10px !important; font-size: 14px !important; border: 1px solid var(--ef-line) !important; border-radius: 8px !important; background: #fff !important; width: 100% !important; }
#createEventModal .ef .ef-stand-note { display: block; margin-top: 6px; font-size: 12px; color: var(--ef-muted); }

/* V12.613 ต้องโอนคืน: กระชับ 2 บรรทัด
   บรรทัด 1 = ลูกค้า · เหตุผล · ปุ่ม  /  บรรทัด 2 = ธนาคาร · ชื่อบัญชี · [เลขบัญชี] [ยอด] (ยอดอยู่ในปุ่มคัดลอกแล้ว ไม่ต้องซ้ำ) */
#adminMoneySection .mh-row.is-refund { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto !important; grid-template-areas: "main what act" "state state state" !important; gap: 6px 14px !important; padding: 12px 14px !important; }
#adminMoneySection .mh-row.is-refund .mh-amt { display: none !important; }
#adminMoneySection .mh-row.is-refund .mh-act { padding-top: 0 !important; border-top: 0 !important; align-self: start; }
#adminMoneySection .mh-row.is-refund .mh-main > span { font-size: 12px; }
#adminMoneySection .mh-row.is-refund .mh-dest { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 14px !important; padding: 8px 10px !important; border-radius: 10px !important; }
#adminMoneySection .mh-row.is-refund .mh-dest-top { gap: 4px 12px; }
#adminMoneySection .mh-row.is-refund .mh-dest-bank, #adminMoneySection .mh-row.is-refund .mh-dest-name b { font-size: 14px; }
#adminMoneySection .mh-row.is-refund .mh-dest .mh-copy { height: 34px; padding: 0 10px; }
#adminMoneySection .mh-row.is-refund .mh-dest .mh-copy code { font-size: 14.5px; }
#adminMoneySection .mh-row.is-refund .mh-dest-copy { margin-left: auto; }
@media (max-width: 760px) {
  #adminMoneySection .mh-row.is-refund { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "main" "what" "state" "act" !important; }
  #adminMoneySection .mh-row.is-refund .mh-dest-copy { margin-left: 0; }
}
#adminMoneySection .mh-row.is-refund .mh-main { display: flex !important; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
#adminMoneySection .mh-row.is-refund .mh-main > b { flex: 0 0 100%; }
#adminMoneySection .mh-row.is-refund .mh-dest-top { flex-wrap: nowrap !important; white-space: nowrap; }
#adminMoneySection .mh-row.is-refund .mh-dest-copy { flex-wrap: nowrap !important; }
@media (max-width: 760px) {
  #adminMoneySection .mh-row.is-refund .mh-dest-top { flex-wrap: wrap !important; white-space: normal; }
  #adminMoneySection .mh-row.is-refund .mh-dest-copy { width: 100%; }
  #adminMoneySection .mh-row.is-refund .mh-dest .mh-copy { flex: 1 1 0; min-width: 0; justify-content: space-between; }
  #adminMoneySection .mh-row.is-refund .mh-dest .mh-copy small { display: none; }
}
@media (max-width: 760px) {
  #adminMoneySection .mh-row.is-refund .mh-dest .mh-copy:not(.is-amt) { flex: 1.7 1 0; }
  #adminMoneySection .mh-row.is-refund .mh-dest .mh-copy code { white-space: nowrap; font-size: 14px; }
}

/* V12.613 ตัวเลือกเดือน/ปี (คิวที่จบแล้ว) */
body.yy2 #adminBookingSection .yy2-month { position: relative; }
body.yy2 #adminBookingSection .yy2-month-lab span { margin-left: 4px; font-size: 11px; color: #8a7b83; }
body.yy2 #adminBookingSection .yy2-mpick { position: absolute; left: 0; top: calc(100% + 6px); z-index: 70; width: 300px; padding: 12px; border: 1px solid #eee5ea; border-radius: 14px; background: #fff; box-shadow: 0 16px 40px rgba(43, 34, 40, .16); }
body.yy2 #adminBookingSection .yy2-mpick-y { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
body.yy2 #adminBookingSection .yy2-mpick-y b { font-size: 15px; font-weight: 700; color: #2e252a; }
body.yy2 #adminBookingSection .yy2-mpick-y button { width: 32px; height: 32px; border: 1px solid #eee5ea; border-radius: 8px; background: #fff; font: inherit; font-size: 16px; color: #2e252a; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-mpick-y button:disabled { opacity: .35; cursor: default; }
body.yy2 #adminBookingSection .yy2-mpick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
body.yy2 #adminBookingSection .yy2-mpick-grid button { display: grid; gap: 1px; padding: 7px 4px; border: 1px solid #f0e6eb; border-radius: 10px; background: #fff; font: inherit; text-align: center; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-mpick-grid button b { font-size: 13.5px; font-weight: 600; color: #2e252a; }
body.yy2 #adminBookingSection .yy2-mpick-grid button small { font-size: 11px; color: #8a7b83; }
body.yy2 #adminBookingSection .yy2-mpick-grid button.is-empty b { color: #a89aa2; font-weight: 500; }
body.yy2 #adminBookingSection .yy2-mpick-grid button:hover:not(:disabled) { border-color: #e7c3d4; background: #fcf2f6; }
body.yy2 #adminBookingSection .yy2-mpick-grid button.is-on { border-color: #c93370; background: #c93370; }
body.yy2 #adminBookingSection .yy2-mpick-grid button.is-on b, body.yy2 #adminBookingSection .yy2-mpick-grid button.is-on small { color: #fff; }
body.yy2 #adminBookingSection .yy2-mpick-grid button:disabled { opacity: .35; cursor: default; }
body.yy2 #adminBookingSection .yy2-mpick-year { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 8px; padding: 8px 12px; border: 1px solid #eee5ea; border-radius: 10px; background: #fcf9fa; font: inherit; font-size: 13.5px; font-weight: 600; color: #a3265a; cursor: pointer; }
body.yy2 #adminBookingSection .yy2-mpick-year small { font-weight: 400; color: #8a7b83; }
body.yy2 #adminBookingSection .yy2-mpick-year.is-on { border-color: #c93370; }
/* V12.615 รายการงาน: บรรทัดวันกด/แสดง/ราคา ไม่ตัดคำ */
#adminEventSection .ev2-meta { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.5; }

/* V12.616 เงื่อนไขมาตรฐานร้าน · หมวดพับได้ อ่านง่าย */
#standardTermsEditorModal .yy-terms-editor-modal{max-width:820px}
#standardTermsEditorModal .yy-tx-body{border:0 !important;background:transparent !important;padding:0 !important;box-shadow:none !important}
#standardTermsEditorModal .yy-tx-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid #eee5ea;border-radius:12px;background:#fff}
#standardTermsEditorModal .yy-tx-ver{display:block;font-size:13px;font-weight:700;color:#2b2328}
#standardTermsEditorModal .yy-tx-count{display:block;margin-top:2px;font-size:12px;color:#8a7d84}
#standardTermsEditorModal .yy-tx-tools{display:flex;gap:6px;flex-wrap:wrap}
#standardTermsEditorModal .yy-tx-draft{height:34px;padding:0 12px;border:1px solid #eee5ea;border-radius:9px;background:#fff;color:#a3265a;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
#standardTermsEditorModal .yy-tx-draft:hover{background:#fdf3f7;border-color:#e9c3d4}
#standardTermsEditorModal .yy-standard-editor-list{display:grid;gap:8px;margin-top:12px}
#standardTermsEditorModal .yy-term-section-card{border:1px solid #eee5ea;border-radius:12px;background:#fff;overflow:visible}
#standardTermsEditorModal .yy-term-section-card[open]{border-color:#e3c9d5;box-shadow:0 0 0 3px rgba(201,51,112,.06)}
#standardTermsEditorModal .yy-tx-sum{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;user-select:none}
#standardTermsEditorModal .yy-tx-sum::-webkit-details-marker{display:none}
#standardTermsEditorModal .yy-tx-no{flex:none;width:24px;height:24px;border-radius:50%;background:#f6eef2;color:#a3265a;font-size:12px;font-weight:700;display:grid;place-items:center}
#standardTermsEditorModal .yy-tx-name{flex:1;min-width:0;font-size:14px;font-weight:700;color:#2b2328;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#standardTermsEditorModal .yy-tx-name.is-empty{color:#b3a3ab;font-weight:500}
#standardTermsEditorModal .yy-tx-items{flex:none;font-size:12px;color:#8a7d84}
#standardTermsEditorModal .yy-tx-chev{flex:none;color:#b3a3ab;font-size:12px;transition:transform .15s}
#standardTermsEditorModal .yy-term-section-card[open] .yy-tx-chev{transform:rotate(180deg)}
#standardTermsEditorModal .yy-term-section-actions{display:flex;gap:4px;opacity:.55}
#standardTermsEditorModal .yy-tx-sum:hover .yy-term-section-actions,#standardTermsEditorModal .yy-term-section-card[open] .yy-term-section-actions{opacity:1}
#standardTermsEditorModal .yy-term-icon-btn{width:auto;min-width:28px;height:28px;padding:0 7px;border:1px solid #eee5ea;border-radius:8px;background:#fff;color:#6f5963;font-size:12px;font-weight:600;cursor:pointer}
#standardTermsEditorModal .yy-term-icon-btn:disabled{opacity:.35;cursor:default}
#standardTermsEditorModal .yy-term-icon-btn.danger{color:#c0392b;background:#fff;border-color:#eee5ea}
#standardTermsEditorModal .yy-tx-edit{padding:4px 12px 12px 46px;display:grid;gap:6px}
#standardTermsEditorModal .yy-tx-l{font-size:12px;font-weight:600;color:#6f5963;margin-top:4px}
#standardTermsEditorModal .yy-term-section-title{height:38px;border:1px solid #eee5ea;border-radius:9px;padding:0 11px;font:inherit;font-size:14px;font-weight:600;background:#fff;outline:none}
#standardTermsEditorModal .yy-term-section-title:focus,#standardTermsEditorModal .yy-tx-box:focus-within{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
#standardTermsEditorModal .yy-tx-box{border:1px solid #eee5ea;border-radius:9px;overflow:hidden;background:#fff}
#standardTermsEditorModal .yy-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:5px 6px;border-bottom:1px solid #f2ebef;background:#fcfafb;position:sticky;top:0;z-index:2}
#standardTermsEditorModal .yy-rich-tool{min-width:30px;height:28px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#5d4b54;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
#standardTermsEditorModal .yy-rich-tool:hover{background:#f6eef2;color:#a3265a}
#standardTermsEditorModal .yy-rich-sep{width:1px;height:16px;background:#eee5ea;margin:0 4px}
#standardTermsEditorModal .yy-rich-editor{min-height:120px;max-height:420px;overflow:auto;padding:12px 14px;font-size:13.5px;line-height:1.7;color:#3d3238}
#standardTermsEditorModal .yy-rich-editor h3{font-size:14px;margin:10px 0 4px;color:#2b2328}
#standardTermsEditorModal .yy-rich-editor h3:first-child{margin-top:0}
#standardTermsEditorModal .yy-tx-add{width:100%;margin-top:8px;height:40px;border:1px dashed #e3c9d5;border-radius:12px;background:#fff;color:#a3265a;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
#standardTermsEditorModal .yy-tx-add:hover{background:#fdf3f7}
#standardTermsEditorModal .yy-standard-editor-help{font-size:12px;color:#8a7d84;margin-top:10px}
@media (max-width:640px){
  #standardTermsEditorModal .yy-tx-edit{padding-left:12px}
  #standardTermsEditorModal .yy-tx-items{display:none}
  #standardTermsEditorModal .yy-term-section-card:not([open]) .yy-term-section-actions{display:none}
}

/* V12.619 ตารางแลกบัตร (หน้าจัดส่ง) */
#adminShipSection .sh-xs{margin:0 0 12px;border:1px solid #eee5ea;border-radius:12px;background:#fff;overflow:hidden}
#adminShipSection .sh-xs>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;user-select:none}
#adminShipSection .sh-xs>summary::-webkit-details-marker{display:none}
#adminShipSection .sh-xs-t{font-size:14px;font-weight:700;color:#2b2328;white-space:nowrap}
#adminShipSection .sh-xs-t small{margin-left:4px;color:#8a7d84;font-size:12px;font-weight:500}
#adminShipSection .sh-xs-sum{flex:1;min-width:0;font-size:12.5px;color:#7d6c76}
#adminShipSection .sh-xs-sum b{font-weight:600}
#adminShipSection .sh-xs-sum .is-green{color:#1f7a4a}#adminShipSection .sh-xs-sum .is-amber{color:#a3620a}#adminShipSection .sh-xs-sum .is-red{color:#b3261e}
#adminShipSection .sh-xs-chev{color:#b3a3ab;font-size:12px;transition:transform .15s}
#adminShipSection .sh-xs[open] .sh-xs-chev{transform:rotate(180deg)}
#adminShipSection .sh-xs-list{border-top:1px solid #f2ebef}
#adminShipSection .sh-xs-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) 120px auto;gap:14px;align-items:center;padding:10px 14px;border-top:1px solid #f6f0f3}
#adminShipSection .sh-xs-row:first-child{border-top:0}
#adminShipSection .sh-xs-ev{min-width:0;display:grid}
#adminShipSection .sh-xs-ev b{font-size:13.5px;font-weight:600;color:#2b2328;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#adminShipSection .sh-xs-ev small{color:#8a7d84;font-size:12px}
#adminShipSection .sh-xs-when{display:flex;align-items:flex-start;gap:10px;min-width:0;font-size:13px;color:#2b2328}
#adminShipSection .sh-xs-when .sh-pill{flex:none;white-space:nowrap}
#adminShipSection .sh-xs-when>div{min-width:0}
#adminShipSection .sh-xs-when small{display:block;color:#7d6c76;font-size:12px;overflow-wrap:anywhere}
#adminShipSection .sh-xs-muted{color:#8a7d84;font-size:12.5px}
#adminShipSection .sh-xs-wait{font-size:13px;text-align:right}
#adminShipSection .sh-pill.is-red{background:#fdecee;color:#b3261e}
#adminShipSection .sh-pill.is-gray{background:#f3eef1;color:#7d6c76}
#adminShipSection .sh-xs-row.is-red{background:#fffafa}
#adminShipSection .sh-xf{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px dashed #eadde4;background:#fcfafb}
#adminShipSection .sh-xf-seg{display:inline-flex;gap:2px;width:max-content;padding:3px;border-radius:10px;background:#f2eaee}
#adminShipSection .sh-xf-seg label{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;color:#5d4e57;cursor:pointer}
#adminShipSection .sh-xf-seg label:has(input:checked){background:#fff;color:#a3265a;box-shadow:0 1px 3px rgba(43,34,40,.12)}
#adminShipSection .sh-xf-seg input{accent-color:#c93370;margin:0}
#adminShipSection .sh-xf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}
#adminShipSection .sh-xf-grid.is-off{display:none}
#adminShipSection .sh-xf label{display:grid;gap:4px;font-size:12px;font-weight:600;color:#6f5963}
#adminShipSection .sh-xf label small{font-weight:400;color:#8a7d84}
#adminShipSection .sh-xf-grid .is-wide{grid-column:1/-1}
#adminShipSection .sh-xf input[type=date],#adminShipSection .sh-xf input[type=time],#adminShipSection .sh-xf input[type=text]{height:36px;padding:0 10px;border:1px solid #eee5ea;border-radius:9px;background:#fff;font:inherit;font-size:13.5px;color:#2b2328;outline:0}
#adminShipSection .sh-xf input:focus{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
#adminShipSection .sh-xf-act{display:flex;justify-content:flex-end;gap:8px}
#adminShipSection .sh-sub{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#adminShipSection .sh-xs-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}
#adminShipSection .sh-xs-chip.is-green{background:#e7f5ec;color:#1f7a4a}
#adminShipSection .sh-xs-chip.is-blue{background:#e8f0fb;color:#2f5f9e}
#adminShipSection .sh-xs-chip.is-amber{background:#fdf3e1;color:#a3620a}
#adminShipSection .sh-xs-chip.is-gray{background:#f3eef1;color:#7d6c76}
@media (max-width:760px){
  #adminShipSection .sh-xs>summary{flex-wrap:wrap;gap:4px 10px}
  #adminShipSection .sh-xs-sum{order:3;flex-basis:100%}
  #adminShipSection .sh-xs-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  #adminShipSection .sh-xs-when{grid-column:1/-1;grid-row:2}
  #adminShipSection .sh-xs-wait{grid-column:1;grid-row:3;text-align:left}
  #adminShipSection .sh-xs-btn{grid-column:2;grid-row:1}
  #adminShipSection .sh-xf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V12.620 ระดับลูกค้าในรายการ Booking */
.yy2-c-cust .yy2-cust-n{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}
.yy2-c-cust .cu-tier{font-size:10.5px;padding:0 7px;line-height:18px}

/* V12.621 ฟอร์มวันแลก: ปุ่มเลือกแบบแท็บ (ไม่โชว์วงกลม radio) */
#adminShipSection .sh-xf{padding:14px 16px 16px;gap:12px}
#adminShipSection .sh-xf-seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#f2eaee;width:max-content;max-width:100%}
#adminShipSection .sh-xf-seg label{display:inline-flex !important;align-items:center;justify-content:center;gap:0;height:32px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;color:#6f5963;cursor:pointer;position:relative;white-space:nowrap}
#adminShipSection .sh-xf-seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
#adminShipSection .sh-xf-seg label:has(input:checked){background:#fff;color:#a3265a;box-shadow:0 1px 3px rgba(43,34,40,.12)}
#adminShipSection .sh-xf-seg label:has(input:focus-visible){outline:2px solid #c93370;outline-offset:1px}
#adminShipSection .sh-xf-note{max-width:640px}
#adminShipSection .sh-xf-tip{margin:-4px 0 0;font-size:12px;color:#8a7d84}
#adminShipSection .sh-xf-tip.is-off{display:none}
#adminShipSection .sh-xf-seg label:has(input:focus-visible){outline:0}

/* V12.622 หน้าจัดส่ง: กลุ่มตามงาน */
#adminShipSection .sh-list{gap:12px}
#adminShipSection .sh-grp{border:1px solid #eee5ea;border-radius:12px;background:#fff;overflow:hidden}
#adminShipSection .sh-grp-h{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px 14px;background:#fcfafb;border-bottom:1px solid #f2ebef}
#adminShipSection .sh-grp.is-shut .sh-grp-h{border-bottom:0}
#adminShipSection .sh-grp-t{flex:1 1 260px;min-width:0;display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
#adminShipSection .sh-grp-chev{flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:#8a7d84;font-size:12px;transition:transform .15s}
#adminShipSection .sh-grp.is-shut .sh-grp-chev{transform:rotate(-90deg)}
#adminShipSection .sh-grp-n{min-width:0;display:grid}
#adminShipSection .sh-grp-n b{font-size:15px;font-weight:700;color:#2b2328;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#adminShipSection .sh-grp-n small{font-size:12.5px;color:#7d6c76}
#adminShipSection .sh-grp-x{display:flex;align-items:center;gap:8px}
#adminShipSection .sh-grp-c{font-size:13px;font-weight:600;color:#5d4e57;white-space:nowrap}
#adminShipSection .sh-grp-b{display:grid}
#adminShipSection .sh-grp .sh-xf{border-top:0;border-bottom:1px solid #f2ebef}
#adminShipSection .sh-grp .sh-row{border:0;border-radius:0;border-top:1px solid #f4eef1;padding:12px 14px 12px 46px}
#adminShipSection .sh-grp .sh-row:first-child{border-top:0}
#adminShipSection .sh-head{align-items:center}
#adminShipSection .sh-who span b{display:inline;font-size:inherit;color:#2b2328;font-weight:600}
/* ปฏิทินแลกบัตร */
#adminShipSection .sh-xs-view{display:inline-flex;gap:2px;margin:10px 14px 0;padding:3px;border-radius:10px;background:#f2eaee}
#adminShipSection .sh-xs-view button{height:28px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#6f5963;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
#adminShipSection .sh-xs-view button.is-on{background:#fff;color:#a3265a;box-shadow:0 1px 3px rgba(43,34,40,.12)}
#adminShipSection .sh-xs-view + .sh-xs-list{margin-top:10px}
#adminShipSection .sh-cal{padding:10px 14px 14px}
#adminShipSection .sh-cal-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
#adminShipSection .sh-cal-top b{min-width:96px;text-align:center;font-size:14px}
#adminShipSection .sh-cal-top .sh-btn{min-width:32px;padding:0 8px}
#adminShipSection .sh-cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #eee5ea;border-radius:10px;overflow:hidden}
#adminShipSection .sh-cal-w{padding:6px;background:#fcfafb;color:#7d6c76;font-size:12px;font-weight:600;text-align:center;border-bottom:1px solid #eee5ea}
#adminShipSection .sh-cal-d{min-height:84px;padding:4px 4px 6px;border-top:1px solid #f4eef1;border-left:1px solid #f4eef1;display:flex;flex-direction:column;gap:3px;min-width:0}
#adminShipSection .sh-cal-d:nth-child(7n+1){border-left:0}
#adminShipSection .sh-cal-g>.sh-cal-d:nth-child(-n+14){border-top:0}
#adminShipSection .sh-cal-d.is-pad{background:#fcfafb}
#adminShipSection .sh-cal-d.is-past .sh-cal-n{color:#c4b5bc}
#adminShipSection .sh-cal-n{font-size:12px;font-weight:600;color:#5d4e57;padding:1px 4px;width:max-content;border-radius:6px}
#adminShipSection .sh-cal-d.is-today .sh-cal-n{background:#c93370;color:#fff}
#adminShipSection .sh-cal-ev{display:block;width:100%;padding:2px 6px;border:0;border-radius:5px;background:color-mix(in srgb,var(--c) 14%,#fff);border-left:3px solid var(--c);color:color-mix(in srgb,var(--c) 80%,#000);font:inherit;font-size:11.5px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
#adminShipSection .sh-cal-ev i{font-style:normal;font-weight:500;opacity:.8}
#adminShipSection .sh-cal-show{display:flex;align-items:center;gap:4px;font-size:11px;color:#8a7d84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#adminShipSection .sh-cal-show i{flex:none;width:6px;height:6px;border-radius:50%}
#adminShipSection .sh-cal-pend{margin:10px 0 0;font-size:12.5px;color:#7d6c76}
#adminShipSection .sh-cal-pend b{color:#a3620a;font-weight:600}
@media (max-width:760px){
  #adminShipSection .sh-grp .sh-row{padding:12px}
  #adminShipSection .sh-cal-d{min-height:56px}
  #adminShipSection .sh-cal-ev{font-size:0;height:6px;padding:0;border-left:0;background:var(--c)}
  #adminShipSection .sh-cal-show{font-size:0}
}
#adminShipSection .sh-xs-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 0}
#adminShipSection .sh-xs-bar .sh-xs-view{margin:0}

/* V12.623 ปฏิทินแลกบัตร: แถบยาวต่อเนื่อง */
#adminShipSection .sh-cal-g{display:block;border:1px solid #eee5ea;border-radius:10px;overflow:hidden;background:#fff}
#adminShipSection .sh-cal-hd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fcfafb;border-bottom:1px solid #eee5ea}
#adminShipSection .sh-cal-hd div{padding:6px;color:#7d6c76;font-size:12px;font-weight:600;text-align:center}
#adminShipSection .sh-cal-wk{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:3px;border-top:1px solid #f2ebef;min-height:64px}
#adminShipSection .sh-cal-wk:first-of-type{border-top:0}
#adminShipSection .sh-cal-wk.is-empty{min-height:34px}
#adminShipSection .sh-cal-wk .sh-cal-d{grid-row:1/-1;min-height:0;padding:5px 6px;border:0;border-left:1px solid #f4eef1;display:flex;align-items:flex-start;gap:4px;flex-direction:row;flex-wrap:wrap}
#adminShipSection .sh-cal-wk .sh-cal-d:first-child{border-left:0}
#adminShipSection .sh-cal-wk .sh-cal-d.is-pad{background:#fcfafb}
#adminShipSection .sh-cal-wk .sh-cal-d.is-past{background:#fdfcfd}
#adminShipSection .sh-cal-n{line-height:18px}
#adminShipSection .sh-cal-show{display:inline-block;height:18px;padding:0 5px;border-radius:5px;border:1px solid var(--c);color:var(--c);background:#fff;font-size:10.5px;font-weight:700;line-height:16px;white-space:nowrap}
#adminShipSection .sh-cal-bar{position:relative;z-index:1;margin:0 3px;height:22px;padding:0 8px;border:0;border-radius:6px;background:var(--c);color:#fff;font:inherit;font-size:12px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-width:0}
#adminShipSection .sh-cal-bar:hover{filter:brightness(1.08)}
#adminShipSection .sh-cal-bar.is-cont{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
#adminShipSection .sh-cal-bar.is-more{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
#adminShipSection .sh-cal-bar.is-done{opacity:.55}
#adminShipSection .sh-cal-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 14px;margin-top:10px}
#adminShipSection .sh-cal-lg{display:flex;align-items:baseline;gap:8px;min-width:0;padding:4px 2px;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
#adminShipSection .sh-cal-lg i{flex:none;width:10px;height:10px;border-radius:3px;align-self:center}
#adminShipSection .sh-cal-lg b{font-size:13px;font-weight:600;color:#2b2328;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#adminShipSection .sh-cal-lg small{flex:none;font-size:12px;color:#7d6c76}
#adminShipSection .sh-cal-lg:hover b{color:#a3265a}
@media (max-width:760px){
  #adminShipSection .sh-cal-bar{font-size:0;height:8px;padding:0;margin:0 1px;border-radius:4px}
  #adminShipSection .sh-cal-wk{grid-template-rows:auto !important;grid-auto-rows:10px;min-height:44px}
  #adminShipSection .sh-cal-show{font-size:0;width:6px;height:6px;padding:0;border-radius:50%;background:var(--c)}
  #adminShipSection .sh-cal-lg{flex-wrap:wrap}
}
#adminShipSection button.sh-xs-ev{padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
#adminShipSection button.sh-xs-ev:hover b{color:#a3265a;text-decoration:underline;text-underline-offset:3px}
#adminShipSection .sh-grp{scroll-margin-top:12px;transition:box-shadow .3s}
#adminShipSection .sh-grp.is-flash{box-shadow:0 0 0 3px rgba(201,51,112,.35)}
#adminShipSection .sh-xs-chip.is-red{background:#fdecee;color:#b3261e}
#adminShipSection .sh-cal-legend{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px}
#adminShipSection .sh-cal-lg{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:8px;align-items:center;padding:4px 2px}
#adminShipSection .sh-cal-lg i{grid-row:1/3}
#adminShipSection .sh-cal-lg b{grid-column:2}
#adminShipSection .sh-cal-lg small{grid-column:2;flex:initial}

/* V12.624 ใครถือบัตร / ใครต้องแลก-ส่ง */
#adminShipSection .sh-ppl{display:inline-flex;flex-wrap:wrap;gap:4px}
#adminShipSection .sh-p{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid #eee5ea;border-radius:999px;background:#fff;color:#4a3d45;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}
#adminShipSection button.sh-p{cursor:pointer}
#adminShipSection button.sh-p:hover{border-color:#e3c9d5;color:#a3265a}
#adminShipSection .sh-p b{font-weight:700;color:#a3265a}
#adminShipSection .sh-p.is-on{background:#a3265a;border-color:#a3265a;color:#fff}
#adminShipSection .sh-p.is-on b{color:#fff}
#adminShipSection .sh-p.is-none{border-style:dashed;color:#a3620a}
#adminShipSection .sh-p.is-more{color:#7d6c76;font-weight:500}
#adminShipSection .sh-grp-p{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 14px 8px 46px;border-bottom:1px solid #f2ebef;background:#fff}
#adminShipSection .sh-grp-p small{font-size:12px;color:#7d6c76}
#adminShipSection .sh-grp.is-shut .sh-grp-p{border-bottom:0}
#adminShipSection .sh-xs-wait{display:grid;justify-items:end;gap:4px}
#adminShipSection .sh-xs-wait .sh-p{height:20px;font-size:11.5px;padding:0 7px}
#adminShipSection .sh-head-r{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#adminShipSection .sh-whotag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:#f6eef2;color:#a3265a;font-size:12px;font-weight:700;white-space:nowrap}
#adminShipSection .sh-whotag:before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor}
#adminShipSection .sh-whotag.is-multi{background:#eef2fb;color:#2f5f9e}
#adminShipSection .sh-whotag.is-none{background:#fdf3e1;color:#a3620a}
@media (max-width:760px){#adminShipSection .sh-grp-p{padding-left:14px}#adminShipSection .sh-xs-wait{justify-items:start}}
#adminShipSection .sh-tk{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
#adminShipSection .sh-tk-who{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:#f6eef2;color:#7d6c76;font-size:12px;white-space:nowrap}
#adminShipSection .sh-tk-who b{margin-left:3px;color:#a3265a;font-weight:700}
#adminShipSection .sh-tk-who.is-none{background:#fdf3e1;color:#a3620a}
#adminShipSection .sh-tk small{color:#8a7d84;font-size:12px}
/* V12.624 รายละเอียด Booking: ใครกด / ใครส่ง ทีละใบ */
#bdSummary .bd-tk{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
#bdSummary .bd-tk-who{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:#f6eef2;color:#7d6c76;font-size:12px;white-space:nowrap}
#bdSummary .bd-tk-who b{margin-left:3px;color:#a3265a;font-weight:700}
#bdSummary .bd-tk-who.is-none{background:#f5f2f4;color:#a3949b}
#bdSummary .bd-tk-who.is-none b{color:#a3949b;font-weight:500}
#adminShipSection .sh-tk-pair{display:inline-flex;gap:4px;flex-wrap:wrap}
#adminShipSection .sh-whotag b{font-weight:700;margin-left:3px}
#adminShipSection .sh-whotag.is-ship,#adminShipSection .sh-tk-who.is-ship,#bdSummary .bd-tk-who.is-ship{background:#eef2fb;color:#2f5f9e}
#adminShipSection .sh-tk-who.is-ship b,#bdSummary .bd-tk-who.is-ship b{color:#2f5f9e}
#adminShipSection .sh-whotag.is-none:before{display:none}

/* V12.628 หน้าต่าง "ส่งบัตรแล้ว · ใส่เลขพัสดุ" แบบ v2 */
#yyShippingConfirmModal .yy-shipping-confirm-card{width:min(520px,calc(100vw - 28px));border-radius:16px;padding:20px;box-shadow:0 18px 48px rgba(43,34,40,.18);color:#2b2328}
#yyShippingConfirmModal h3{font-size:18px;font-weight:700;margin:0}
#yyShippingConfirmModal .yy-ship-sub{margin:4px 0 0;font-size:13px;color:#7d6c76}
#yyShippingConfirmModal .yy-shipping-confirm-summary{margin-top:14px;padding:12px 14px;border:1px solid #eee5ea;background:#fcfafb;border-radius:12px;font-size:13px;line-height:1.6;color:#2b2328}
#yyShippingConfirmModal .yy-ship-who b{display:block;font-size:14px}
#yyShippingConfirmModal .yy-ship-who span{font-size:12.5px;color:#7d6c76}
#yyShippingConfirmModal .yy-ship-addr{margin-top:10px;font-size:13px}
#yyShippingConfirmModal .yy-ship-addr small{display:block;font-size:12px;color:#7d6c76}
#yyShippingConfirmModal .yy-shipping-pack-box{margin:10px 0 0;padding:10px;border:1px solid #eee5ea;border-radius:10px;background:#fff}
#yyShippingConfirmModal .yy-shipping-pack-head b{font-size:13px!important;color:#2b2328}
#yyShippingConfirmModal .yy-shipping-pack-head button{background:#fff;border:1px solid #eee5ea;color:#a3265a;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600}
#yyShippingConfirmModal .yy-shipping-pack-ticket{border-color:#f2ebef;background:#fcfafb;border-radius:8px;padding:7px 10px}
#yyShippingConfirmModal .yy-shipping-pack-ticket strong{font-size:12.5px;color:#2b2328}
#yyShippingConfirmModal .yy-shipping-pack-ticket span{font-size:12px!important;color:#4a3d45!important}
#yyShippingConfirmModal .yy-shipping-pack-ticket small{font-size:11.5px;color:#8a7d84}
#yyShippingConfirmModal .yy-shipping-confirm-field{margin-top:12px}
#yyShippingConfirmModal .yy-shipping-confirm-field label{font-size:13px;font-weight:600;color:#4a3d45}
#yyShippingConfirmModal .yy-shipping-confirm-field input,#yyShippingConfirmModal .yy-shipping-confirm-field select{height:40px;border:1px solid #eee5ea;border-radius:10px;padding:0 12px;font-size:14px;outline:0}
#yyShippingConfirmModal .yy-shipping-confirm-field input:focus,#yyShippingConfirmModal .yy-shipping-confirm-field select:focus{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
#yyShippingConfirmModal .yy-ship-note{margin-top:8px;font-size:12px;color:#8a7d84}
#yyShippingConfirmModal .yy-shipping-confirm-actions{margin-top:16px}
#adminShipSection .sh-owner{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#7d6c76}
#yyShippingConfirmModal .yy-shipping-pack-list{gap:0;border:1px solid #f2ebef;border-radius:8px;overflow:hidden}
#yyShippingConfirmModal .yy-shipping-pack-ticket{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-top:1px solid #f2ebef;border-radius:0;background:#fff;padding:8px 10px}
#yyShippingConfirmModal .yy-shipping-pack-ticket:first-child{border-top:0}
#yyShippingConfirmModal .yy-shipping-pack-ticket span,#yyShippingConfirmModal .yy-shipping-pack-ticket small{margin:0!important}
#yyShippingConfirmModal .yy-shipping-pack-ticket small{text-align:right;white-space:nowrap}
#yyShippingConfirmModal .yy-shipping-confirm-field select:disabled{background:#fcfafb;color:#5d4e57}
#yyShippingConfirmModal .yy-ship-done{margin-top:10px;display:grid;gap:2px;font-size:12.5px;color:#1f7a4a}
#yyShippingConfirmModal .yy-ship-done small{font-size:12px;color:#7d6c76}
/* V12.631 ช่วงเวลาแท็บเสร็จแล้ว */
#adminShipSection .sh-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#adminShipSection .sh-range{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#f2eaee}
#adminShipSection .sh-range button{height:28px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#6f5963;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
#adminShipSection .sh-range button.is-on{background:#fff;color:#a3265a;box-shadow:0 1px 3px rgba(43,34,40,.12)}
/* V12.632 เลือกใบที่อยู่ในพัสดุนี้ */
#yyShippingConfirmModal .yy-shipping-pack-head{flex-wrap:wrap}
#yyShippingConfirmModal .yy-shipping-pack-head small{font-size:12px;color:#8a7d84}
#yyShippingConfirmModal .yy-shipping-pack-ticket.is-pick{grid-template-columns:auto auto minmax(0,1fr) auto;cursor:pointer}
#yyShippingConfirmModal .yy-shipping-pack-ticket.is-pick input{width:16px;height:16px;accent-color:#c93370;margin:0}
#yyShippingConfirmModal .yy-shipping-pack-ticket.is-pick:has(input:not(:checked)){opacity:.5}
/* V12.634 กดแถบงานในตารางแลกบัตร = กรองงานนั้น */
#adminShipSection .sh-xs-row{cursor:pointer;transition:background .12s}
#adminShipSection .sh-xs-row:hover{background:#fdf7fa}
#adminShipSection .sh-xs-row.is-sel{background:#fbeef4;box-shadow:inset 3px 0 0 #c93370}
#adminShipSection .sh-evf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#fbeef4;color:#5d4e57;font-size:13px}
#adminShipSection .sh-evf b{color:#a3265a}
#adminShipSection .sh-evf .sh-link{margin-left:auto}
/* V12.635 ชิปวันที่ (จะแลก / จะส่ง) */
#adminShipSection .sh-dchip{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border:1px dashed #dccbd4;border-radius:9px;background:#fff;color:#7d6c76;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}
#adminShipSection .sh-dchip svg{width:14px;height:14px;flex:none}
#adminShipSection .sh-dchip b{color:#2b2328;font-weight:700}
#adminShipSection .sh-dchip.is-set{border-style:solid;border-color:#eee5ea;background:#fcfafb;color:#5d4e57}
#adminShipSection .sh-dchip:hover{border-color:#c93370;color:#a3265a}
#adminShipSection .sh-dchip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
#adminShipSection .sh-dchip input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
#adminShipSection .sh-dclear{width:24px;height:24px;margin-left:-4px;border:0;border-radius:6px;background:transparent;color:#a3949b;font-size:15px;cursor:pointer}
#adminShipSection .sh-dclear:hover{background:#f5eef1;color:#b3261e}
#adminShipSection .sh-dwrap,#adminShipSection .sh-plan{display:inline-flex;align-items:center;gap:6px}
#adminShipSection .sh-head-r .sh-link{font-size:12.5px;white-space:nowrap}
/* V12.640 เลือกหลายใบ → แลกแล้วทีเดียว */
#adminShipSection .sh-grp-h .sh-btn{height:30px;font-size:12.5px}
#adminShipSection .sh-bulk{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#fbeef4;border-bottom:1px solid #f0d7e3;font-size:13px;color:#5d4e57}
#adminShipSection .sh-bulk b{color:#a3265a}
#adminShipSection .sh-bulk-r{display:flex;gap:6px;margin-left:auto}
#adminShipSection .sh-pick-l{display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-width:0}
#adminShipSection .sh-pick{width:18px;height:18px;margin:0;accent-color:#c93370;flex:none;cursor:pointer}
#adminShipSection .sh-tks li.is-pickable{cursor:pointer}
#adminShipSection .sh-tks li.is-picked{background:#fdf5f9}
#adminShipSection .sh-muted{font-size:12.5px;color:#8a7d84}
#adminShipSection .sh-tks li.is-picked .sh-muted{color:#a3265a;font-weight:600}
/* V12.642 ยกเลิกแลก (ทีมกดผิด) */
#adminShipSection .sh-undo{height:24px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#a3949b;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
#adminShipSection .sh-undo:hover{background:#fdecee;color:#b3261e}

/* V12.643 รอแลกแบบตาราง (กระชับ) */
#adminShipSection .sh-ext{display:grid}
#adminShipSection .sh-ext-p{display:flex;align-items:baseline;gap:8px;padding:8px 14px 4px 46px;background:#fff;border-top:1px solid #f2ebef;font-size:12.5px;color:#7d6c76}
#adminShipSection .sh-ext-p:first-child{border-top:0}
#adminShipSection .sh-ext-p b{color:#a3265a;font-weight:700}
#adminShipSection .sh-ext-p small{color:#a3949b}
#adminShipSection .sh-ext-r{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:6px 14px 6px 46px;border-top:1px solid #f8f3f5}
#adminShipSection .sh-ext-p + .sh-ext-r{border-top:0}
#adminShipSection .sh-ext-r:hover{background:#fdf9fb}
#adminShipSection .sh-ext-c{display:grid;min-width:0;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
#adminShipSection .sh-ext-c b{font-size:13.5px;font-weight:600;color:#2b2328;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#adminShipSection .sh-ext-c:hover b{color:#a3265a;text-decoration:underline;text-underline-offset:3px}
#adminShipSection .sh-ext-c small{font-size:12px;color:#8a7d84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#adminShipSection .sh-ext-s{font-size:13px;color:#4a3d45;min-width:0}
#adminShipSection .sh-ext-r .sh-btn{height:30px}
#adminShipSection .sh-ext-r .sh-dchip{height:30px}
/* การ์ดแท็บอื่นกระชับขึ้น */
#adminShipSection .sh-grp .sh-row{padding:10px 14px 10px 46px;gap:6px}
#adminShipSection .sh-who b{font-size:14px}
#adminShipSection .sh-tks li{padding:6px 12px}
#adminShipSection .sh-addr{padding:7px 12px;gap:1px}
@media (max-width:760px){
  #adminShipSection .sh-ext-p,#adminShipSection .sh-ext-r,#adminShipSection .sh-grp .sh-row{padding-left:14px}
  #adminShipSection .sh-ext-r{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  #adminShipSection .sh-ext-s{grid-column:1;grid-row:2;font-size:12.5px;color:#7d6c76}
  #adminShipSection .sh-ext-r .sh-plan{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:4px}
}
@media (max-width:760px){
  #adminShipSection .sh-ext-r .sh-plan{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:200px;gap:4px}
  #adminShipSection .sh-ext-r .sh-dclear{margin-left:-2px}
}
@media (max-width:760px){
  #adminShipSection .sh-ext-r{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding-top:8px;padding-bottom:8px}
  #adminShipSection .sh-ext-c{grid-column:1/-1}
  #adminShipSection .sh-ext-s{grid-column:1;grid-row:2;align-self:center}
  #adminShipSection .sh-ext-r .sh-plan{grid-column:2;grid-row:2;max-width:none;flex-wrap:nowrap}
  #adminShipSection .sh-ext-r .sh-dchip > span{display:none}
  #adminShipSection .sh-ext-r .sh-dchip.is-set > span{display:inline}
  #adminShipSection .sh-ext-r .sh-dchip.is-set > span{font-size:12px}
}
#adminShipSection .sh-dl{font-style:normal}
@media (max-width:760px){
  #adminShipSection .sh-ext-r .sh-dl,#adminShipSection .sh-ext-r .sh-dclear{display:none}
  #adminShipSection .sh-ext-r .sh-dchip{padding:0 8px}
}

/* V12.644 ตารางรอแลก อ่านง่าย */
#adminShipSection .sh-ext-hd,#adminShipSection .sh-ext-r{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px 104px;gap:14px;align-items:center;padding-left:46px;padding-right:14px}
#adminShipSection .sh-ext-hd{padding-top:8px;padding-bottom:6px;font-size:11.5px;font-weight:600;color:#a3949b;letter-spacing:.02em;border-bottom:1px solid #f2ebef}
#adminShipSection .sh-ext-p{display:flex;align-items:center;gap:8px;padding:10px 14px 6px 46px;border-top:0;background:#fff;font-size:13px;color:#4a3d45}
#adminShipSection .sh-ext-p + .sh-ext-r{border-top:0}
#adminShipSection .sh-ext-r + .sh-ext-p{border-top:1px solid #eee5ea;margin-top:2px}
#adminShipSection .sh-ext-av{width:24px;height:24px;border-radius:50%;background:#fbe3ee;color:#a3265a;display:grid;place-items:center;font-size:12px;font-weight:700}
#adminShipSection .sh-ext-p b{font-size:14px;color:#2b2328}
#adminShipSection .sh-ext-p small{font-size:12px;color:#8a7d84}
#adminShipSection .sh-ext-r{padding-top:8px;padding-bottom:8px;border-top:1px solid #f8f3f5}
#adminShipSection .sh-ext-r.is-cont{border-top:0;padding-top:0}
#adminShipSection .sh-ext-c.is-same{display:block;padding-left:12px;border-left:2px solid #f2ebef;height:100%}
#adminShipSection .sh-ext-n{display:inline-block;padding:0 6px;border-radius:5px;background:#f5eef1;color:#7d6c76;font-size:11.5px;font-weight:600}
#adminShipSection .sh-ext-s{font-size:13.5px;color:#2b2328}
#adminShipSection .sh-ext-d{position:relative;display:inline-flex;align-items:center;gap:6px;width:max-content;height:28px;padding:0 8px;margin-left:-8px;border-radius:7px;font-size:13px;color:#2b2328;cursor:pointer}
#adminShipSection .sh-ext-d:hover{background:#f6eef2;color:#a3265a}
#adminShipSection .sh-ext-d.is-empty{color:#b3a3ab}
#adminShipSection .sh-ext-d input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
#adminShipSection .sh-ext-d input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
#adminShipSection .sh-ext-ok{justify-self:end;height:30px;padding:0 12px;border:1px solid #e3c9d5;border-radius:8px;background:#fff;color:#a3265a;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
#adminShipSection .sh-ext-ok:hover{background:#c93370;border-color:#c93370;color:#fff}
@media (max-width:760px){
  #adminShipSection .sh-ext-hd{display:none}
  #adminShipSection .sh-ext-p,#adminShipSection .sh-ext-r{padding-left:14px}
  #adminShipSection .sh-ext-r{grid-template-columns:minmax(0,1fr) auto auto;gap:2px 8px}
  #adminShipSection .sh-ext-c{grid-column:1/-1}
  #adminShipSection .sh-ext-c.is-same{display:none}
  #adminShipSection .sh-ext-r.is-cont{padding-top:6px}
  #adminShipSection .sh-ext-s{grid-column:1;grid-row:2}
  #adminShipSection .sh-ext-d{grid-column:2;grid-row:2;margin-left:0;font-size:12.5px}
  #adminShipSection .sh-ext-ok{grid-column:3;grid-row:2}
}
/* V12.645 ป้ายยังไม่ชำระ / ยังไม่สรุปยอด */
#adminShipSection .sh-paytag{display:inline-block;margin-left:4px;padding:0 6px;border-radius:5px;background:#fdf3e1;color:#a3620a;font-size:11px;font-weight:700;line-height:17px;vertical-align:1px}
#adminShipSection .sh-ext-c small{white-space:normal}
/* V12.646 กดทั้งแถวเปิด Booking */
#adminShipSection .sh-ext-r{cursor:pointer}
#adminShipSection .sh-ext-r:hover{background:#fdf5f9}
#adminShipSection .sh-ext-r:hover .sh-ext-c b{color:#a3265a}
#adminShipSection .sh-ext-c{cursor:inherit}
#adminShipSection .sh-ext-c:hover b{text-decoration:none}
/* V12.646 ปุ่มแลกแล้ว = วงกลมติ๊ก */
#adminShipSection .sh-ext-hd,#adminShipSection .sh-ext-r{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px 64px}
#adminShipSection .sh-ext-hok{text-align:center}
#adminShipSection .sh-ext-ok{justify-self:center;width:28px;height:28px;padding:0;border:1.5px solid #d9c6cf;border-radius:50%;background:#fff;color:transparent;display:grid;place-items:center;cursor:pointer;transition:all .12s}
#adminShipSection .sh-ext-ok svg{width:16px;height:16px}
#adminShipSection .sh-ext-r:hover .sh-ext-ok{border-color:#c93370;color:#e7a9c1}
#adminShipSection .sh-ext-ok:hover{background:#c93370;border-color:#c93370;color:#fff !important}
@media (max-width:760px){#adminShipSection .sh-ext-ok{color:#e0c9d4}}

/* V12.647 ตารางแท็บ รอลูกค้า / พร้อมส่ง / เสร็จแล้ว */
#adminShipSection .sh-ext-hd.is-cust,#adminShipSection .sh-ext-r.is-cust{grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,.8fr) 64px}
#adminShipSection .sh-ext-hd.is-ready,#adminShipSection .sh-ext-r.is-ready{grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) 150px 120px}
#adminShipSection .sh-ext-hd.is-done,#adminShipSection .sh-ext-r.is-done{grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) 130px 64px}
#adminShipSection .sh-ext-hd span:last-child{text-align:center}
#adminShipSection .sh-ext-hd.is-ready span:last-child{text-align:right}
#adminShipSection .sh-ext-why{font-size:13px;color:#a3620a;font-weight:600}
#adminShipSection .sh-ext-ic{justify-self:center;width:32px;height:32px;padding:0;border:1px solid #eee5ea;border-radius:50%;background:#fff;color:#a3949b;display:grid;place-items:center;cursor:pointer}
#adminShipSection .sh-ext-ic svg{width:16px;height:16px}
#adminShipSection .sh-ext-ic.is-line:hover{background:#06c755;border-color:#06c755;color:#fff}
#adminShipSection .sh-ext-a{display:flex;justify-content:flex-end}
#adminShipSection .sh-ext-btn{height:30px;padding:0 12px;border:1px solid #c93370;border-radius:8px;background:#fff;color:#a3265a;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
#adminShipSection .sh-ext-btn:hover:not(:disabled){background:#c93370;color:#fff}
#adminShipSection .sh-ext-btn:disabled{border-color:#eee5ea;color:#c4b5bc;cursor:not-allowed}
#adminShipSection .sh-ext-dt{font-size:13px;color:#2b2328}
#adminShipSection .sh-ext-dt.is-empty{color:#b3a3ab}
#adminShipSection .sh-ext-by{font-size:11.5px;color:#8a7d84}
#adminShipSection .sh-ext-s .sh-undo{opacity:0;height:20px;font-size:11.5px}
#adminShipSection .sh-ext-r:hover .sh-undo{opacity:1}
#adminShipSection .sh-ext-st{font-size:12.5px;font-weight:600;color:#7d6c76}
#adminShipSection .sh-ext-st.is-ok{color:#1f7a4a}
#adminShipSection .sh-ext-pk{padding:4px 14px 10px 46px;background:#fdf5f9}
#adminShipSection .sh-ext-pk .sh-appt{display:flex;gap:6px;flex-wrap:wrap}
#adminShipSection .sh-ext-pk input{flex:1 1 260px;height:32px;padding:0 10px;border:1px solid #eee5ea;border-radius:8px;font:inherit;font-size:13px}
@media (max-width:760px){
  #adminShipSection .sh-ext-r.is-cust,#adminShipSection .sh-ext-r.is-ready,#adminShipSection .sh-ext-r.is-done{grid-template-columns:minmax(0,1fr) auto auto}
  #adminShipSection .sh-ext-why,#adminShipSection .sh-ext-st{grid-column:1/-1;grid-row:2}
  #adminShipSection .sh-ext-r.is-cust .sh-ext-s,#adminShipSection .sh-ext-r.is-done .sh-ext-s{grid-column:1;grid-row:3}
  #adminShipSection .sh-ext-r.is-cust .sh-ext-ic,#adminShipSection .sh-ext-r.is-done .sh-ext-ic{grid-column:3;grid-row:1}
  #adminShipSection .sh-ext-r.is-ready .sh-ext-dt,#adminShipSection .sh-ext-r.is-ready .sh-ext-d{grid-column:2;grid-row:2}
  #adminShipSection .sh-ext-r.is-ready .sh-ext-a{grid-column:3;grid-row:2}
  #adminShipSection .sh-ext-pk{padding-left:14px}
  #adminShipSection .sh-ext-s .sh-undo{opacity:1}
}
@media (max-width:760px){
  #adminShipSection .sh-ext-r.is-cust,#adminShipSection .sh-ext-r.is-ready,#adminShipSection .sh-ext-r.is-done{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 8px}
  #adminShipSection .sh-ext-r.is-cust > .sh-ext-c,#adminShipSection .sh-ext-r.is-done > .sh-ext-c,#adminShipSection .sh-ext-r.is-ready > .sh-ext-c{grid-column:1/3;grid-row:1}
  #adminShipSection .sh-ext-r.is-cust > .sh-ext-ic,#adminShipSection .sh-ext-r.is-done > .sh-ext-ic{grid-column:3;grid-row:1}
  #adminShipSection .sh-ext-r.is-cust > .sh-ext-why{grid-column:1/-1;grid-row:2}
  #adminShipSection .sh-ext-r.is-cust > .sh-ext-s{grid-column:1/-1;grid-row:3;font-size:12.5px;color:#7d6c76}
  #adminShipSection .sh-ext-r.is-done > .sh-ext-s{grid-column:1/-1;grid-row:2;font-size:12.5px}
  #adminShipSection .sh-ext-r.is-done > .sh-ext-st{grid-column:1/-1;grid-row:3}
  #adminShipSection .sh-ext-r.is-ready > .sh-ext-a{grid-column:3;grid-row:1}
  #adminShipSection .sh-ext-r.is-ready > .sh-ext-s{grid-column:1/-1;grid-row:2}
  #adminShipSection .sh-ext-r.is-ready > .sh-ext-dt,#adminShipSection .sh-ext-r.is-ready > .sh-ext-d{grid-column:1/-1;grid-row:3;justify-self:start;margin-left:-8px;font-size:12.5px}
  #adminShipSection .sh-ext-r.is-ready > .sh-ext-dt{margin-left:0}
  #adminShipSection .sh-ext-r.is-ready.is-cont > .sh-ext-s{grid-row:1;grid-column:1/3}
  #adminShipSection .sh-ext-r.is-ready.is-cont > .sh-ext-d,#adminShipSection .sh-ext-r.is-ready.is-cont > .sh-ext-dt{grid-row:2}
}
#adminShipSection .sh-ext-lock{font-size:12px;font-weight:600;color:#a3620a;white-space:nowrap;text-align:right}
/* V12.651 ช่องยืนยันนัดรับ */
#adminShipSection .sh-ext-pk{margin:0 14px 10px 46px;padding:12px;border:1px solid #eee5ea;border-radius:12px;background:#fcfafb}
#adminShipSection .sh-ext-pk .sh-appt{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
#adminShipSection .sh-pk-l{flex:1 1 280px;display:grid;gap:4px;font-size:12px;font-weight:600;color:#6f5963}
#adminShipSection .sh-pk-l input{height:36px;padding:0 12px;border:1px solid #eee5ea;border-radius:9px;background:#fff;font:inherit;font-size:13.5px;color:#2b2328;outline:0}
#adminShipSection .sh-pk-l input:focus{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
#adminShipSection .sh-pk-a{display:flex;align-items:center;gap:6px}
#adminShipSection .sh-pk-a .sh-btn{height:36px}
#adminShipSection .sh-pk-no{height:36px;padding:0 10px;border:0;background:none;color:#8a7d84;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#adminShipSection .sh-pk-no:hover{color:#b3261e}
#adminShipSection .sh-ext-btn.is-on{background:#f6eef2;border-color:#e3c9d5;color:#7d6c76}
@media (max-width:760px){#adminShipSection .sh-ext-pk{margin-left:14px}#adminShipSection .sh-pk-a{width:100%;justify-content:flex-end}}
/* V12.652 ช่องค้นหา: กรอบโฟกัสซ้อน 2 ชั้น → เหลือกรอบนอกอันเดียว */
#adminShipSection .sh-search input,#adminMoneySection .sh-search input,#adminShipSection .sh-search input:focus,#adminMoneySection .sh-search input:focus{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;height:100%!important;padding:0!important;border-radius:0!important}
#adminShipSection .sh-search:focus-within,#adminMoneySection .sh-search:focus-within{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
/* V12.653 ป้าย/ปุ่มนัดรับในตารางรอแลก */
#adminShipSection .sh-pktag{display:inline-block;margin-left:4px;padding:0 7px;border:1px solid #d9cdf3;border-radius:5px;background:#f6f2ff;color:#5b3fb0;font:inherit;font-size:11px;font-weight:700;line-height:17px;vertical-align:1px;cursor:default}
#adminShipSection button.sh-pktag{cursor:pointer}
#adminShipSection button.sh-pktag:hover{background:#5b3fb0;border-color:#5b3fb0;color:#fff}
#adminShipSection .sh-pktag.is-ok{border-color:#cfe8d9;background:#eef8f2;color:#1f7a4a;white-space:normal}
/* V12.654 ป้ายสถานะเล็กในตาราง (แบบเดียวกันทุกป้าย) + ลิงก์ยืนยันนัด */
#adminShipSection .sh-pill2{display:inline-block;margin-left:4px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:18px;vertical-align:1px;white-space:nowrap}
#adminShipSection .sh-pill2.is-wait{background:#fdf3e1;color:#a3620a}
#adminShipSection .sh-pill2.is-ok{background:#e7f5ec;color:#1f7a4a;white-space:normal}
#adminShipSection .sh-pklink{margin-left:6px;padding:0;border:0;background:none;color:#c93370;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
#adminShipSection .sh-pklink:hover{text-decoration:underline;text-underline-offset:3px}
/* V12.656 นัดรับ 3 ช่อง */
#adminShipSection .sh-ext-pk .sh-appt{display:grid;gap:8px}
#adminShipSection .sh-pk-row{display:grid;grid-template-columns:170px 120px minmax(0,1fr);gap:8px}
#adminShipSection .sh-pk-f{display:grid;gap:4px;font-size:12px;font-weight:600;color:#6f5963}
#adminShipSection .sh-pk-f input{height:36px;padding:0 10px;border:1px solid #eee5ea;border-radius:9px;background:#fff;font:inherit;font-size:13.5px;color:#2b2328;outline:0;min-width:0}
#adminShipSection .sh-pk-f input:focus{border-color:#c93370;box-shadow:0 0 0 3px rgba(201,51,112,.08)}
#adminShipSection .sh-pk-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#adminShipSection .sh-pk-chips small{font-size:12px;color:#8a7d84}
#adminShipSection .sh-pk-chip{height:26px;padding:0 10px;border:1px solid #eee5ea;border-radius:999px;background:#fff;color:#5d4e57;font:inherit;font-size:12px;cursor:pointer}
#adminShipSection .sh-pk-chip:hover{border-color:#c93370;color:#a3265a}
#adminShipSection .sh-ext-pk .sh-pk-a{justify-content:flex-end}
@media (max-width:760px){#adminShipSection .sh-pk-row{grid-template-columns:1fr 1fr}#adminShipSection .sh-pk-f.is-place{grid-column:1/-1}}
/* V12.661 นัดรับ: ช่องไม่บังคับกรอก */
#adminShipSection .sh-pk-opt{margin-right:auto;font-size:12px;color:#9a8a93}
@media (max-width:760px){#adminShipSection .sh-pk-opt{flex:1 1 100%;margin:0 0 2px}#adminShipSection .sh-pk-a{flex-wrap:wrap}}
/* V12.668 สลิป Grab */
#yyShippingConfirmModal .yy-shipping-confirm-field input[type=file]{height:auto;padding:8px 10px;font-size:13px;background:#fff}
#yyShippingConfirmModal .yy-shipping-confirm-field label small{font-weight:500;color:#9a8a93}
.yy-grab-slip-pv{display:block;max-width:140px;max-height:190px;object-fit:contain;border-radius:10px;border:1px solid #eee5ea;margin-top:6px}
#adminShipSection .sh-slip{border:0;background:none;padding:0;margin-left:4px;font:inherit;font-size:12px;font-weight:600;color:#c93370;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sh-slip-ov{position:fixed;inset:0;z-index:9999;background:rgba(30,20,26,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.sh-slip-ov figure{margin:0;background:#fff;border-radius:16px;padding:12px;max-width:min(520px,100%);max-height:100%;display:flex;flex-direction:column;gap:8px}
.sh-slip-ov img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:10px}
.sh-slip-ov figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#4a3d45}
.sh-slip-ov button{border:1px solid #eee5ea;background:#fff;border-radius:10px;height:34px;padding:0 14px;font:inherit;font-weight:600;cursor:pointer}
/* V12.668 หน้าต่างส่งบัตรสูงขึ้น (มีช่องสลิป) → เลื่อนในกล่องได้ ปุ่มบันทึกติดล่าง */
#yyShippingConfirmModal .yy-shipping-confirm-card{max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}
#yyShippingConfirmModal .yy-shipping-confirm-actions{position:sticky;bottom:-20px;background:#fff;margin:0 -20px -20px;padding:12px 20px 20px;border-top:1px solid #f3edf0;z-index:1}
/* V12.669 ช่องแนบสลิปแบบกล่อง (แทนปุ่ม Choose File) */
#yyShippingConfirmModal .yy-req{color:#c93370}
#yyShippingConfirmModal .yy-shipping-confirm-field label.yy-slip-drop{display:flex;align-items:center;gap:12px;padding:12px;border:1.5px dashed #e3c9d5;border-radius:12px;background:#fcf7f9;cursor:pointer;font-weight:400;transition:border-color .15s,background .15s}
#yyShippingConfirmModal .yy-shipping-confirm-field label.yy-slip-drop:hover{border-color:#c93370;background:#fff}
#yyShippingConfirmModal label.yy-slip-drop.is-on{border-style:solid;border-color:#eee5ea;background:#fff}
#yyShippingConfirmModal label.yy-slip-drop input[type=file]{display:none}
#yyShippingConfirmModal .yy-slip-ic{flex:none;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid #eee5ea;display:grid;place-items:center;color:#c93370}
#yyShippingConfirmModal .yy-slip-ic svg{width:20px;height:20px}
#yyShippingConfirmModal label.yy-slip-drop.is-on .yy-slip-ic{display:none}
#yyShippingConfirmModal .yy-grab-slip-pv{flex:none;width:56px;height:72px;max-width:none;max-height:none;margin:0;object-fit:cover;border-radius:8px}
#yyShippingConfirmModal .yy-slip-txt{display:grid;gap:2px;min-width:0}
#yyShippingConfirmModal .yy-slip-txt b{font-size:14px;color:#2b2328}
#yyShippingConfirmModal label.yy-slip-drop.is-on .yy-slip-txt b{color:#25804a}
#yyShippingConfirmModal .yy-slip-txt small{font-size:12px;color:#8a7d84;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* V12.673 มือถือ/จอสัมผัส: ซ่อน "ยกเลิกแลก" (ย้อนแลกทำบนคอม · เอาเมาส์ชี้แถว) */
@media (max-width:760px),(hover:none){#adminShipSection .sh-ext-s .sh-undo{display:none}}

/* V12.697 การเงิน: แถว "รอลูกค้า" ปุ่มอยู่ในแถวเดียวกับยอด (การ์ดไม่สูงเกิน) · ป้ายเอกสารไม่ตกบรรทัด */
@media (min-width: 761px) {
  #adminMoneySection .mh-row.is-wait { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) 100px minmax(0, 1.4fr) auto; grid-template-areas: "main what amt state act"; }
  #adminMoneySection .mh-row.is-wait .mh-act { padding-top: 0; border-top: 0; }
}
#adminMoneySection .mh-doc { white-space: nowrap; }
#adminMoneySection .mh-dayrows .yy2-showmore { margin: 8px auto 4px; display: block; }
/* V12.698 สถานะงานในแยกตามงาน */
#adminMoneySection .mh-evst { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 999px; font-style: normal; font-size: 12px; font-weight: 700; vertical-align: 1px; white-space: nowrap; }
#adminMoneySection .mh-evst.is-closed { background: #e9f7ef; color: #1f7a4d; }
#adminMoneySection .mh-evst.is-open { background: #fff3de; color: #8a5a12; }
#adminMoneySection .mh-evst-line { margin: 0 0 10px; padding: 8px 12px; border-radius: 10px; font-size: 13px; }
#adminMoneySection .mh-evst-line.is-closed { background: #f1faf5; color: #1f7a4d; }
#adminMoneySection .mh-evst-line.is-open { background: #fff8ec; color: #7a5413; }
#adminMoneySection .mh-evfilter { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
#adminMoneySection .mh-evfilter button { border: 1px solid var(--v2-line); background: #fff; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 13px; font-weight: 600; color: #6f5d66; cursor: pointer; }
#adminMoneySection .mh-evfilter button.is-on { background: #fdeaf2; border-color: #f2bcd2; color: #a3265a; }
#adminMoneySection .mh-evx > summary > .mh-evname { display: flex; align-items: center; gap: 0; min-width: 0; }
#adminMoneySection .mh-evx > summary > .mh-evname > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminMoneySection .mh-evx > summary > .mh-evname > .mh-evst { flex: none; }
@media (max-width: 760px) { #adminMoneySection .mh-evx > summary > .mh-evname { grid-area: d; flex-wrap: wrap; row-gap: 4px; } #adminMoneySection .mh-evx > summary > .mh-evname > .mh-evst { margin-left: 0; } #adminMoneySection .mh-evx > summary > .mh-evname > b { flex-basis: 100%; } }
/* V12.699 รายการในงาน แยกตามประเภท */
#adminMoneySection .mh-ev-typed .mh-ev-tt { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--v2-line); background: #fcf8fa; }
#adminMoneySection .mh-ev-typed .mh-ev-tt button { border: 1px solid var(--v2-line); background: #fff; border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 13px; font-weight: 600; color: #6f5d66; cursor: pointer; }
#adminMoneySection .mh-ev-typed .mh-ev-tt button b { margin-left: 3px; font-weight: 700; color: #a596a0; }
#adminMoneySection .mh-ev-typed .mh-ev-tt button.is-on { background: #fdeaf2; border-color: #f2bcd2; color: #a3265a; }
#adminMoneySection .mh-ev-typed .mh-ev-tt button.is-on b { color: #a3265a; }
#adminMoneySection .mh-ev-typed .mh-ev-tsum { padding: 8px 12px; font-size: 13px; color: #6f5d66; border-bottom: 1px solid var(--v2-line); }
#adminMoneySection .mh-ev-miss { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; }
#adminMoneySection .mh-ev-miss .mh-link { font-weight: 700; }
#adminMoneySection .mh-led > time .mh-led-date { display: block; font-weight: 700; color: #3b2a33; font-size: 13px; }
#adminMoneySection .mh-range-note { display: inline-flex; align-items: center; padding: 0 12px; height: 40px; border: 1px dashed var(--v2-line); border-radius: 10px; font-size: 13px; color: #6f5d66; white-space: nowrap; }

/* V12.709 ตัวอย่างเอกสาร */
#adminMoneySection .mh-doc-row { cursor: pointer; }
#adminMoneySection .mh-doc-row:hover td { background: #fff7fa; }
#adminMoneySection .mh-doc-no { font-family: ui-monospace, Menlo, monospace; font-size: 11.5px; color: #8c7683; }
body.dp-lock { overflow: hidden; }
.dp-overlay { position: fixed; inset: 0; z-index: 2147483000; display: none; align-items: flex-start; justify-content: center; padding: 24px 12px; background: rgba(30, 18, 26, .45); overflow-y: auto; }
.dp-overlay.is-open { display: flex; }
.dp-modal { width: min(720px, 100%); background: #f7f3f5; border-radius: 16px; box-shadow: 0 24px 60px rgba(40, 10, 30, .3); overflow: hidden; }
.dp-bar { position: sticky; top: 0; display: flex; align-items: center; gap: 6px; padding: 10px 12px; background: #fff; border-bottom: 1px solid #eee5ea; }
.dp-bar > b { font-size: 15px; color: #2b2029; }
.dp-pos { margin-right: auto; margin-left: 8px; font-size: 13px; color: #8c7683; }
.dp-btn { min-width: 36px; height: 34px; border: 1px solid #eee5ea; border-radius: 10px; background: #fff; font: inherit; font-size: 16px; color: #6f5d66; cursor: pointer; }
.dp-btn:disabled { opacity: .35; cursor: default; }
.dp-btn.dp-link { padding: 0 12px; font-size: 13px; font-weight: 600; color: #a3265a; }
.dp-body { padding: 16px; }

/* V12.710 ตัวอย่างเอกสารแบบ PEAK */
.dp-modal { width: min(860px, 100%); }
.dp-paper { --dp-c: #c93370; --dp-soft: #fbe7ef; position: relative; background: #fff; border: 1px solid #e7e1e4; border-radius: 4px; padding: 0 34px 26px; color: #1f2430; font-size: 13px; line-height: 1.5; box-shadow: 0 2px 12px rgba(30, 20, 40, .08); }
.dp-paper.is-CN { --dp-c: #e0453a; --dp-soft: #fde8e6; }
.dp-paper.is-AG { --dp-c: #6f5d66; --dp-soft: #f2edf0; }
.dp-paper.is-RC { --dp-c: #1f7a4d; --dp-soft: #e6f5ec; }
.dp-stamp { margin: 0 -34px 18px; padding: 6px 12px; text-align: center; background: #fff1d6; color: #8a5a12; font-size: 12px; font-weight: 700; border-bottom: 1px solid #f3dfb4; }
.dp-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.dp-logo { width: 96px; height: auto; }
.dp-ttl { text-align: right; }
.dp-ttl small { display: block; font-size: 11.5px; color: #4b5060; font-weight: 600; }
.dp-ttl h3 { margin: 2px 0 0; font-size: 30px; line-height: 1.15; font-weight: 600; color: var(--dp-c); }
.dp-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 0 22px; }
.dp-party { padding: 10px 0; }
.dp-party:first-child { border-bottom: 1px solid #c9cdd6; }
.dp-box { align-self: start; padding: 10px 14px; border-radius: 6px; background: var(--dp-soft); }
.dp-contact { padding: 10px 0; }
.dp-kv { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; padding: 1.5px 0; }
.dp-kv > b { font-weight: 700; color: #1f2430; }
.dp-kv strong { font-weight: 700; }
.dp-soft { color: #8a8f9c; }
.dp-missing { color: #c2410c !important; font-weight: 600; font-style: normal; }
.dp-lines { width: 100%; margin-top: 14px; border-collapse: collapse; font-size: 13px; }
.dp-lines th { padding: 9px 8px; background: var(--dp-soft); text-align: right; font-weight: 700; white-space: nowrap; }
.dp-lines th:first-child { text-align: left; border-radius: 6px 0 0 6px; }
.dp-lines th:last-child { border-radius: 0 6px 6px 0; }
.dp-lines td { padding: 10px 8px; text-align: right; border-bottom: 1px solid #e3e5ea; white-space: nowrap; vertical-align: top; }
.dp-lines td:first-child { text-align: left; white-space: normal; font-weight: 600; }
.dp-lines tr.is-neg td { color: #c0352b; }
.dp-reason { margin: 10px 0 0; font-size: 12.5px; }
.dp-sec { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-top: 1px solid #c9cdd6; font-size: 12.5px; }
.dp-sec h4 { margin: 0; font-size: 13px; font-weight: 700; }
.dp-sum { grid-template-columns: 96px minmax(0, 1fr) 270px; margin-top: 26px; }
.dp-sum-l > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px; padding: 1px 0; }
.dp-sum-l span { text-align: right; }
.dp-sum-l .dp-word { font-size: 12px; }
.dp-grand { display: flex; align-items: baseline; gap: 10px; padding: 12px 14px; border-radius: 6px; background: var(--dp-soft); }
.dp-grand span { margin-right: auto; font-weight: 700; }
.dp-grand b { font-size: 21px; color: var(--dp-c); }
.dp-kv2 { display: flex; justify-content: space-between; gap: 10px; padding: 4px 4px 0; font-size: 12.5px; }
.dp-kv2 span { font-weight: 700; }
.dp-kv2 b { font-weight: 400; }
.dp-signs { display: flex; justify-content: flex-end; gap: 22px; text-align: center; }
.dp-signs > div { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 120px; font-size: 11.5px; }
.dp-signs i { display: block; width: 110px; height: 40px; border-bottom: 1px solid #c9cdd6; }
.dp-signs .dp-seal i { width: 70px; height: 54px; border: 1px dashed #c9cdd6; border-radius: 4px; }
.dp-signs small { color: #6b7180; }
@media (max-width: 640px) {
  .dp-overlay { padding: 0; }
  .dp-modal { border-radius: 0; min-height: 100%; }
  .dp-body { padding: 8px; }
  .dp-paper { padding: 0 14px 16px; font-size: 12.5px; }
  .dp-stamp { margin: 0 -14px 14px; }
  .dp-logo { width: 70px; }
  .dp-ttl h3 { font-size: 20px; }
  .dp-grid, .dp-sum { grid-template-columns: 1fr; }
  .dp-box { margin: 8px 0; }
  .dp-lines th:nth-child(2), .dp-lines td:nth-child(2), .dp-lines th:nth-child(4), .dp-lines td:nth-child(4), .dp-lines th:nth-child(3), .dp-lines td:nth-child(3) { display: none; }
  .dp-sec { grid-template-columns: 1fr; gap: 4px; }
  .dp-sum-l > div { grid-template-columns: 1fr auto; }
  .dp-signs { justify-content: space-between; gap: 8px; }
  .dp-signs > div { min-width: 0; }
  .dp-signs i { width: 80px; }
}
@media (max-width: 640px) { .dp-overlay { background: #f7f3f5; } }

/* V12.851 ช่องขวา: ตารางกด → ตารางแลกบัตร → ต้องจัดการ (เลื่อนในช่องได้ ไม่ล้นจอ) */
@media (min-width: 1100px){ body.yy2 .sticky-panel { max-height: calc(100vh - 100px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; } }
body.yy2 .sticky-panel > .yy2-sched:first-child { margin-top: 0; }
body.yy2 .yy2-xch { margin-top: 0; }
body.yy2 .yy2-xch-row .yy2-sched-time { min-width: 64px; }
body.yy2 .yy2-xch-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
body.yy2 .yy2-xch-pill.is-open { background: #e8f6ef; color: #1f7a48; }
body.yy2 .yy2-xch-pill.is-soon { background: #eaf1fd; color: #2459b8; }
body.yy2 .yy2-xch-pill.is-last { background: #fdecec; color: #b42318; }
body.yy2 a.yy2-sched-big { text-decoration: none; }
body.yy2 .yy2-sched .card-head { display: flex !important; justify-content: space-between; gap: 8px; flex-wrap: nowrap; align-items: flex-start; }
body.yy2 .yy2-sched .card-head .yy2-sched-big { flex: none; }

/* =========================================================
   V12.851 หน้าจัดส่ง: ชัดขึ้น ไม่ขาวโล่ง — แบ่งชั้นด้วยสีพื้น (งาน › คน › แถว)
   ========================================================= */
/* V12.853 แท็บขั้นตอน = การ์ดขาว 4 ใบ · ใบที่เลือกขอบชมพู (ไม่ทาสีเต็ม) */
#adminShipSection .sh-tabs { background: none; border: 0; padding: 0; gap: 8px; }
#adminShipSection .sh-tab { justify-content: flex-start; gap: 8px; height: 52px; padding: 0 14px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px #eadde3; color: #7d6c76; font-weight: 600; transition: box-shadow .15s, background .15s; }
#adminShipSection .sh-tab:hover { box-shadow: inset 0 0 0 1px #dcc3cf; background: #fdfafb; }
#adminShipSection .sh-tab .sh-step { flex: none; width: 22px; height: 22px; border: 0; background: #f3ecef; color: #8a7b83; font-weight: 700; }
#adminShipSection .sh-tab b { margin-left: auto; min-width: 0; padding: 0; background: none; color: #2b2228; font-size: 18px; font-weight: 700; }
#adminShipSection .sh-tab.is-on { background: #fff7fa; color: #a3265a; box-shadow: inset 0 0 0 2px #c93370; }
#adminShipSection .sh-tab.is-on .sh-step { background: #c93370; color: #fff; }
#adminShipSection .sh-tab.is-on b { background: none; color: #c93370; }
#adminShipSection .sh-hint { padding: 8px 12px; border-radius: 10px; background: #faf6f8; color: #6f5d67; font-size: 12.5px; }
#adminShipSection .sh-list { gap: 14px; }
#adminShipSection .sh-grp { border: 1px solid #e6d5dd; box-shadow: 0 1px 2px rgba(43,34,40,.04), 0 6px 18px rgba(43,34,40,.05); }
#adminShipSection .sh-grp-h { position: relative; background: #fbeef4; border-bottom: 1px solid #efdbe5; padding: 12px 16px 12px 14px; }
#adminShipSection .sh-grp-h::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #c93370; }
#adminShipSection .sh-grp-t b, #adminShipSection .sh-grp-h b:first-child { font-size: 15px; color: #2b2228; }
#adminShipSection .sh-grp-n { font-weight: 700; color: #a3265a; }
#adminShipSection .sh-grp.is-shut .sh-grp-h { background: #faf6f8; }
#adminShipSection .sh-grp.is-shut .sh-grp-h::before { background: #dcc7d1; }
#adminShipSection .sh-ext-hd { background: #f7f3f5; border-bottom: 1px solid #efe6ea; color: #6f5d67 !important; font-weight: 700; letter-spacing: .01em; }
#adminShipSection .sh-ext-p { background: #f8eff3; border-top: 1px solid #ecdde4; padding-top: 9px; padding-bottom: 7px; color: #6f5d67; }
#adminShipSection .sh-ext-p b { font-size: 14px; }
#adminShipSection .sh-ext-r { border-top: 1px solid #f1e8ec; padding-top: 9px; padding-bottom: 9px; }
#adminShipSection .sh-ext-r:hover { background: #fdf3f7; }
#adminShipSection .sh-ext-c b { font-size: 14px; }
#adminShipSection .sh-ext-s { color: #2b2228; font-weight: 600; }
#adminShipSection .sh-ext-why { font-weight: 700; }
#adminShipSection .sh-ext-ok { border-width: 2px !important; border-color: #d9b9c8 !important; }
#adminShipSection .sh-ext-ok:hover { border-color: #c93370 !important; background: #fdf1f6; }
#adminShipSection .sh-ext-btn, #adminShipSection .sh-ext-a .sh-btn { background: #c93370 !important; border-color: #c93370 !important; color: #fff !important; }
#adminShipSection .sh-ext-btn:hover, #adminShipSection .sh-ext-a .sh-btn:hover { background: #a3265a !important; }
#adminShipSection .sh-xs { border-color: #e6d5dd; }
#adminShipSection .sh-xs > summary { background: #f6faf8; }
#adminShipSection .sh-xs[open] > summary { border-bottom: 1px solid #e5efe9; }
@media (max-width: 760px) { #adminShipSection .sh-tab { height: 46px; padding: 0 12px; } #adminShipSection .sh-tab b { font-size: 16px; } }

/* V12.853 ปุ่ม "ต้องจัดการ" บนเมนู + รายการแบบเปิดลงมา */
body.yy2 .yy2-todo-btn { display: inline-flex !important; align-items: center; gap: 7px; }
body.yy2 .yy2-todo-btn .yy2-todo-n { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: #f1ebee; color: #6f5d67; font-size: 12.5px; font-weight: 700; display: inline-grid; place-items: center; font-variant-numeric: tabular-nums; }
body.yy2 .yy2-todo-btn.has-todo .yy2-todo-n { background: #c93370; color: #fff; }
body.yy2 .yy2-todo-btn .yy2-todo-ic { width: 8px; height: 8px; border-radius: 50%; background: #cdbfc6; }
body.yy2 .yy2-todo-btn.has-todo .yy2-todo-ic { background: #c93370; }
body.yy2 .yy2-todo-btn.is-hot .yy2-todo-ic { animation: yy2TodoPulse 1.6s ease-in-out infinite; }
body.yy2 .yy2-todo-btn.is-open { background: #fdf1f6 !important; border-color: #e7c3d4 !important; color: #a3265a !important; }
@keyframes yy2TodoPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(201,51,112,.45); } 50% { box-shadow: 0 0 0 5px rgba(201,51,112,0); } }
.yy2-todo-pop { position: fixed; z-index: 2600; max-height: min(70vh, 620px); overflow: auto; border-radius: 16px; background: #fff; box-shadow: 0 18px 48px rgba(43,34,40,.22), 0 0 0 1px #eadde3; overscroll-behavior: contain; }
.yy2-todo-pop[hidden] { display: none !important; }
body.yy2 .yy2-todo-pop .yy2-todo { margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 16px !important; }
body.yy2 .yy2-todo-pop .quick-item { padding: 10px 2px !important; }
/* หน้าจัดส่ง: ตารางแลกบัตรขึ้นบนสุดของช่องขวา */
body.yy2[data-yy2-view="ship"] .sticky-panel > #yy2Xch { order: -1; }
body.yy2 #yy2Xch .card-head { display: flex !important; flex-wrap: nowrap !important; justify-content: space-between; gap: 8px; }
body.yy2 .yy2-sched .card-head { flex-direction: row !important; align-items: flex-start !important; }
body.yy2 .yy2-sched .card-head > div { flex: 1 1 auto; min-width: 0; }
body.yy2 .yy2-sched .card-head .yy2-sched-big { flex: none !important; white-space: nowrap; margin: 0 !important; }
body.yy2 .yy2-sched .card-head { flex-wrap: nowrap !important; }

/* =========================================================
   V12.940 รีวิว UX หลังบ้าน (ข้อ 1–10)
   ========================================================= */
/* 1) มือถือ หน้าจัดส่ง: ตารางกลายเป็นการ์ด (ชื่อเต็มบรรทัด · ที่นั่ง / วัน / ปุ่ม แถวล่าง) */
@media (max-width:760px){
  #adminShipSection .sh-ext-hd,#adminShipSection .sh-ext-hd.is-cust,#adminShipSection .sh-ext-hd.is-ready,#adminShipSection .sh-ext-hd.is-done{display:none}
  #adminShipSection .sh-ext-r,#adminShipSection .sh-ext-r.is-cust,#adminShipSection .sh-ext-r.is-ready,#adminShipSection .sh-ext-r.is-done{grid-template-columns:minmax(0,1fr) auto auto !important;gap:4px 10px;padding:10px 14px}
  #adminShipSection .sh-ext-r > *{grid-row:auto;grid-column:auto;min-width:0}
  #adminShipSection .sh-ext-r > :first-child{grid-column:1/-1}
  #adminShipSection .sh-ext-r > .sh-ext-c.is-same{display:none}
  #adminShipSection .sh-ext-r.is-cont{padding-top:2px}
  #adminShipSection .sh-ext-s{font-size:13px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
  #adminShipSection .sh-ext-d{margin-left:0;font-size:12.5px}
}
/* 3) ฟอร์มงาน: แนบโปสเตอร์แล้ว = เหลือกล่องเดียว */
#createEventModal .yy-poster-upload-compact:has(~ #eventPosterPreview:not(.hidden)){display:none !important}
#createEventModal #eventPosterPreview .yy-poster-change-btn,#createEventModal #eventPosterPreview .yy-poster-remove-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;height:34px !important;min-height:0 !important;padding:0 14px !important;border-radius:9px !important;font-size:13px !important;font-weight:600 !important;line-height:1 !important;white-space:nowrap !important;cursor:pointer;align-self:center}
#createEventModal #eventPosterPreview .yy-poster-remove-btn{min-width:56px !important}
/* 4) ป็อปอัพคิว: กดชื่อ = เปิดแชท · ป้ายลัดคิวซ้ำออก */
#detailPriorityQueueBadge{display:none !important}
#bdSummary .bd-cust-top{display:inline-flex;align-items:center;gap:4px}
#bdSummary .bd-cust-name.is-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font:inherit;font-weight:600;font-size:13.5px;color:#2b2228;cursor:pointer;text-align:left}
#bdSummary .bd-cust-name.is-link svg{width:15px;height:15px;color:#b9aab2}
#bdSummary .bd-cust-name.is-link.is-linked svg{color:#06c755}
#bdSummary .bd-cust-name.is-link:hover{color:#a3265a;text-decoration:underline;text-underline-offset:3px}
/* 5) มือถือ หัวเว็บ: ปุ่มไม่หักบรรทัด · เมนูเลื่อนข้างมีเงาจางบอกว่าเลื่อนได้ */
body.yy2 .yy2-primary .btn{white-space:nowrap}
@media (max-width:760px){
  body.yy2 .yy2-primary{flex:1 1 100%;display:grid !important;grid-template-columns:auto 44px 1fr;gap:8px}
  body.yy2 .yy2-primary .btn{height:40px !important;padding:0 12px !important;font-size:13.5px !important;justify-content:center}
  body.yy2 .yy2-primary .btn.yy2-mypage{font-size:0 !important;padding:0 !important;gap:0;display:grid !important;place-items:center}
  body.yy2 .yy2-mypage > span{font-size:17px}
  body.yy2 .admin-top-actions.yy2-nav{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:40px !important}
}
/* 6) รายการ Booking: ไม่มีแถว UID · ชื่อ + ปุ่มแชท + ระดับลูกค้า ในบรรทัดเดียว */
.yy2-c-cust .yy2-cust-n{flex-wrap:nowrap;max-width:100%}
.yy2-c-cust .yy2-cust-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.yy2-c-cust .cu-tier{white-space:nowrap;flex:none}
body.yy2 .yy2-line.yy2-line-sm{width:22px;height:22px;margin:0;padding:0;display:inline-grid;place-items:center;border-radius:6px;flex:none}
body.yy2 .yy2-line.yy2-line-sm svg{width:13px;height:13px}
/* 7) หัวกลุ่มในมุม "ต้องทำก่อน" · เลขย่อยในการ์ดบนสุดกดกรองได้ */
#adminBookingList .yy2-grp-h{display:flex;align-items:center;gap:8px;padding:14px 12px 6px;border-bottom:1px solid #f2ebef;font-size:13px;color:#2b2328}
#adminBookingList .yy2-grp-h b{font-weight:700}
#adminBookingList .yy2-grp-h span{min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#f3edf0;color:#6f5d67;font-size:12px;font-weight:700;display:inline-grid;place-items:center}
#adminBookingList .yy2-grp-h.is-g0 b,#adminBookingList .yy2-grp-h.is-g1 b,#adminBookingList .yy2-grp-h.is-g2 b{color:#a3265a}
#adminBookingList .yy2-grp-h.is-g0 span,#adminBookingList .yy2-grp-h.is-g1 span,#adminBookingList .yy2-grp-h.is-g2 span{background:#c93370;color:#fff}
#adminBookingList > .yy2-grp-h:first-child{padding-top:4px}
body.yy2 .stat-card [data-yy2-count^="sub:"]{cursor:pointer;border-radius:4px;padding:0 2px;text-decoration:underline dotted #cdbfc6;text-underline-offset:3px}
body.yy2 .stat-card [data-yy2-count^="sub:"]:hover{background:#fbe3ee;color:#a3265a}
/* 10) แถบขวา (ตารางกด / ตารางแลกบัตร) เฉพาะหน้า Booking · หน้าอื่นใช้เต็มจอ */
body.yy2[data-yy2-view="money"] .admin-layout > .sticky-panel,
body.yy2[data-yy2-view="ship"] .admin-layout > .sticky-panel,
body.yy2[data-yy2-view="customers"] .admin-layout > .sticky-panel,
body.yy2[data-yy2-view="shop"] .admin-layout > .sticky-panel{display:none !important}
body.yy2[data-yy2-view="events"] .admin-layout > .sticky-panel > :not(#efCheckRail){display:none !important}
body.yy2[data-yy2-view="events"] .admin-layout > .sticky-panel:not(:has(#efCheckRail)){display:none !important}
/* 6) ไม่มีแถว UID แล้ว → ช่องเลขคิวแคบลง ชื่อลูกค้ากว้างขึ้น (ชื่อยาวตัดเป็น … ได้ 2 บรรทัด) */
@media (min-width:761px){
  body.yy2 .yy2-list-head,
  body.yy2 .booking-row.yy2-row{grid-template-columns:172px minmax(180px,1.3fr) minmax(160px,1.15fr) 104px minmax(190px,1.25fr) !important}
}
.yy2-c-cust .yy2-cust-n{flex-wrap:wrap;row-gap:2px}
.yy2-c-cust .yy2-cust-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body.yy2 .yy2-coderow{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
body.yy2 .yy2-coderow .yy2-prio{flex:none;font-size:10.5px}

/* =========================================================
   V12.950 รีวิว UX หลังบ้าน (ข้อ 11–15)
   ========================================================= */
/* 11) ตัดคำอธิบายใต้หัวข้อ / บรรทัดวิธีใช้ ในหน้าหลัก */
#adminBookingSection > .card-head .card-subtitle,
#adminEventSection .card-head .card-subtitle,
#adminMoneySection .card-head .card-subtitle,
#adminShipSection .card-head .card-subtitle,
#adminCustomerSection .card-head .card-subtitle,
#adminShopSection .as-head .card-subtitle,
body.yy2 .sticky-panel .yy2-sched .card-subtitle,
#adminMoneySection .sh-hint,
#adminShipSection .sh-hint{display:none !important}
/* 12) หน้าลูกค้า: ปุ่มจัดการแต้มเป็นปุ่มเล็ก */
#adminCustomerSection .cu-legacy{display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid #eee5ea;border-radius:9px;background:#fff;color:#6f5d67;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
#adminCustomerSection .cu-legacy:hover{border-color:#e3c9d5;color:#a3265a}
#adminCustomerSection .cu-head-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* 13) รายการงาน: คิวเกิน = สีแดง */
.ev2-over{color:#c0352b !important;font-weight:700}
/* 14) ป็อปอัพคิว: เครื่องมือแอดมิน (พับไว้) */
#bookingDetailModal .bd-adv:not(.is-open) > :not(.modal-section-title){display:none !important}
#bookingDetailModal .bd-adv .modal-section-title{margin:0 !important}
#bookingDetailModal .bd-adv-t{display:flex;align-items:baseline;gap:8px;width:100%;padding:4px 0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:#6f5d67}
#bookingDetailModal .bd-adv-t span{font-size:13.5px;font-weight:700;color:#4a3d45}
#bookingDetailModal .bd-adv-t small{font-size:12px;color:#a3949b;font-weight:400}
#bookingDetailModal .bd-adv-t i{margin-left:auto;font-style:normal;transition:transform .15s}
#bookingDetailModal .bd-adv.is-open .bd-adv-t i{transform:rotate(180deg)}
#bookingDetailModal .bd-adv.is-open .modal-section-title{margin-bottom:10px !important}
/* 15) บัตรร้าน: ราคาขั้นต่ำที่ไม่ขาดทุน */
#adminShopSection .as-minp{display:block;margin-top:4px;font-size:12.5px;color:#6f5d67}
#adminShopSection .as-minp b{color:#2b2328 !important}
#adminShopSection .as-minp.is-bad,#adminShopSection .as-minp.is-bad b{color:#c0352b !important}
#adminCustomerSection .cu-head-r{flex-wrap:nowrap;flex:1 1 420px;justify-content:flex-end}
#adminCustomerSection .cu-head-r .cu-search{flex:1 1 300px;max-width:360px;margin:0}
@media (max-width:640px){#adminCustomerSection .cu-head-r{flex-wrap:wrap}#adminCustomerSection .cu-head-r .cu-search{max-width:none}}

/* V13.928 หน้าโหลด: ซ่อนปุ่มเมนูเดิม (Rewards Admin / Sheets Sync / ชุดทดสอบ …) จนกว่าเมนูใหม่จะจัดเสร็จ */
body.yy2 .admin-top-actions:not(.yy2-nav) { display: none !important; }
body.yy2 .admin-topbar { min-height: 60px; }
body.yy2 #adminLoading.yy-ld-card { margin-top: 56px !important; padding: 34px 24px !important; border-radius: 14px !important; box-shadow: none !important; border: 1px solid var(--v2-line) !important; background: var(--v2-card) !important; }
body.yy2 #adminLoading.yy-ld-card h2 { font-size: 16px !important; font-weight: 700 !important; margin-top: 14px !important; }
body.yy2 #adminLoading.yy-ld-card p { font-size: 13px !important; }
.yy-ld-spin { width: 34px; height: 34px; margin: 0 auto; border-radius: 50%; border: 3px solid #f6dbe7; border-top-color: #c93370; animation: yy-ld-spin .8s linear infinite; }
@keyframes yy-ld-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .yy-ld-spin { animation-duration: 2.4s; } }
