/* ============================================================================================
   pagebet-v2.css — หน้าแทงหวยแบบใหม่ R34e (เจ้าของ 2026-10-08 "หน้าแทงหวยมันเพี้ยน อยากได้เหมือนของ R") — components/lotto/PagebetV2.vue + Lb*.vue
   พอร์ตจาก R views/pagebet_v2.vue <style> (DEV-022/026): class lb-* เดียวกัน ; scope ทุก selector ใต้ `.pb2-root` (ตัวหน้า) หรือ `body.pb2` (toast / สิ่งที่อยู่นอก root)
   ธีม: default มืด LOTTOVIP (แดง/ดำ, นับถอยหลังเขียว) · `.pb2-theme-red` สว่าง SUKJAI99 ; ไม่โหลด pagebet.css/pageup.css ของเดิม (คีย์แพด absolute + sidebar สูงตายตัว = บั๊กที่เจ้าของเจอ)
   แผงเลข/คีย์แพดสูงตามเนื้อหา (ไม่มี height/min-height ตายตัว) ; แถบ sticky ย่ออยู่ใต้ header จริงด้วย --pb2-header-h (pagebet-v2-flow.js วัด)
   ============================================================================================ */
.pb2-root, body.pb2 {
  --lt-primary: var(--nhf-red, #b90504); --lt-primary-dark: var(--nhf-red-deep, #8f0303); --lt-primary-ink: #ffffff; --lt-primary-soft: rgba(185, 5, 4, 0.18); --lt-primary-glow: rgba(185, 5, 4, 0.38);
  --lt-accent: var(--nhf-gold, #f2c14e); --lt-accent-soft: rgba(242, 193, 78, 0.16);
  --lt-bg: #0f0f12; --lt-card: #1b1b20; --lt-card-2: #24242b; --lt-card-3: #2d2d35;
  --lt-text: #f5f5f7; --lt-text-2: #c9c9d2; --lt-muted: #8f8f9b; --lt-border: rgba(255, 255, 255, 0.08); --lt-border-strong: rgba(255, 255, 255, 0.22);
  --lt-ok: #3ddc97; --lt-ok-soft: rgba(61, 220, 151, 0.14); --lt-warn: #f4b942; --lt-warn-soft: rgba(244, 185, 66, 0.16);
  --lt-bad: #ff6b6b; --lt-bad-soft: rgba(255, 107, 107, 0.14); --lt-info: #6fb4ff; --lt-info-soft: rgba(111, 180, 255, 0.14);
  --lt-radius: 16px; --lt-radius-sm: 12px; --lt-gutter: 12px; --lt-shadow: 0 10px 30px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  --lb-three: #ff6b6b; --lb-three-soft: rgba(255, 107, 107, 0.16); --lb-two: #6fb4ff; --lb-two-soft: rgba(111, 180, 255, 0.16); --lb-run: #3ddc97; --lb-run-soft: rgba(61, 220, 151, 0.16);
  --lb-accent-ink: #12121a; /* R34g: ตัวอักษรบนสีเน้น (pastel ในธีมมืด) ต้องเข้ม — ขาวบน #6fb4ff ได้แค่ 2.2:1 */
  --lb-bar-h: 76px; --lb-strip-bg: #141418; --lb-bar-bg: #111115; /* R34g: ทึบ — แถวตะกร้าเลื่อนลอดใต้แถบไม่ทะลุ */
  --lb-font: var(--nhf-font-body, 'NotosansThai', 'Mitr', system-ui, sans-serif); --lb-font-display: var(--nhf-font-display, 'Mitr', 'NotosansThai', system-ui, sans-serif);
  --pb2-header-h: 0px;
}
.pb2-root.pb2-theme-red, body.pb2-theme-red {
  --lt-primary: #DC2626; --lt-primary-dark: #B91C1C; --lt-primary-ink: #ffffff; --lt-primary-soft: rgba(220, 38, 38, 0.12); --lt-primary-glow: rgba(220, 38, 38, 0.30);
  --lt-accent: #B45309; --lt-accent-soft: rgba(180, 83, 9, 0.12);
  --lt-bg: #f1f2f5; --lt-card: #ffffff; --lt-card-2: #f7f7f9; --lt-card-3: #eceef2;
  --lt-text: #1b1b1f; --lt-text-2: #40444d; --lt-muted: #6b7280; --lt-border: rgba(27, 27, 31, 0.10); --lt-border-strong: rgba(27, 27, 31, 0.24);
  --lt-ok: #15803d; --lt-ok-soft: rgba(21, 128, 61, 0.12); --lt-warn: #b45309; --lt-warn-soft: rgba(217, 119, 6, 0.14);
  --lt-bad: #b91c1c; --lt-bad-soft: rgba(185, 28, 28, 0.10); --lt-info: #1d4ed8; --lt-info-soft: rgba(29, 78, 216, 0.10);
  --lt-shadow: 0 1px 2px rgba(27, 27, 31, 0.04), 0 8px 24px rgba(27, 27, 31, 0.08);
  --lb-three: #c53030; --lb-three-soft: rgba(197, 48, 48, 0.12); --lb-two: #1d4ed8; --lb-two-soft: rgba(29, 78, 216, 0.10); --lb-run: #15803d; --lb-run-soft: rgba(21, 128, 61, 0.12);
  --lb-accent-ink: #ffffff; --lt-ok-ink: #0c5a2c; --lt-warn-ink: #8a4306;
  --lb-strip-bg: #ffffff; --lb-bar-bg: #ffffff;
}
.pb2-root { font-family: var(--lb-font); color: var(--lt-text); font-variant-numeric: tabular-nums lining-nums; -webkit-font-smoothing: antialiased; }
.pb2-root *, .pb2-root *::before, .pb2-root *::after { box-sizing: border-box; }
.pb2-root .lb-page { padding: 4px 0 calc(var(--lb-bar-h) + 28px); position: relative; max-width: 1180px; margin: 0 auto; }
.pb2-root a { text-decoration: none; }
body.pb2 #content.blur { filter: none !important; }

/* ============ buttons / chips shared ============ */
.pb2-root .lb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border-radius: 14px; border: 1px solid transparent;
  font-family: var(--lb-font); font-size: 15.5px; font-weight: 800; line-height: 1.1; text-decoration: none; cursor: pointer; transition: transform 0.15s, background 0.2s, border-color 0.2s, box-shadow 0.2s; }
.pb2-root .lb-btn:active { transform: translateY(1px); }
.pb2-root .lb-btn:focus-visible { outline: 3px solid var(--lt-primary); outline-offset: 2px; }
.pb2-root .lb-btn--primary { background: var(--lt-primary); color: var(--lt-primary-ink); box-shadow: 0 8px 22px var(--lt-primary-glow); }
.pb2-root .lb-btn--primary:hover { background: var(--lt-primary-dark); color: var(--lt-primary-ink); text-decoration: none; }
.pb2-root .lb-btn--ghost { background: var(--lt-card-2); border-color: var(--lt-border-strong); color: var(--lt-text); }
.pb2-root .lb-btn--ghost:hover { background: var(--lt-card-3); color: var(--lt-text); text-decoration: none; }
.pb2-root .lb-btn--danger { background: var(--lt-bad); color: #fff; }
.pb2-root .lb-btn--sm { min-height: 44px; padding: 0 14px; font-size: 14.5px; border-radius: 12px; }
.pb2-root .lb-btn--xs { min-height: 36px; min-width: 44px; padding: 0 10px; font-size: 13px; border-radius: 10px; }
.pb2-root .lb-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 700; background: var(--lt-card-2); color: var(--lt-text-2); border: 1px solid var(--lt-border); }
.pb2-root .lb-chip--sel { background: var(--lt-primary-soft); color: var(--lt-text); border-color: var(--lt-primary); }
.pb2-root .lb-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 700; background: var(--lt-accent-soft); color: var(--lt-text); border: 1px solid var(--lt-border-strong); white-space: nowrap; }
.pb2-root .lb-status { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; }
.pb2-root .lb-status--open { background: var(--lt-ok-soft); color: var(--lt-ok); }
.pb2-root .lb-status--open i { font-size: 8px; animation: lb-pulse 1.6s ease-in-out infinite; }
.pb2-root .lb-status--closed { background: var(--lt-bad-soft); color: var(--lt-bad); }
@keyframes lb-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
.pb2-root .lb-input { background: var(--lt-bg); color: var(--lt-text); border: 1px solid var(--lt-border-strong); border-radius: 12px; min-height: 44px; font-size: 16px; font-weight: 700; padding: 6px 12px; box-shadow: none; }
.pb2-root .lb-input:focus { border-color: var(--lt-primary); box-shadow: 0 0 0 3px var(--lt-primary-soft); outline: 0; background: var(--lt-bg); color: var(--lt-text); }
.pb2-root .lb-input--ro { background: var(--lt-card-2); color: var(--lt-ok); border-color: var(--lt-border); }
.pb2-root .lb-input::placeholder { color: var(--lt-muted); font-weight: 600; }
.pb2-root .lb-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ============ top / head / strip ============ */
.pb2-root .lb-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px var(--lt-gutter) 0; flex-wrap: wrap; }
.pb2-root .lb-back { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-radius: 999px; background: var(--lt-card-2); border: 1px solid var(--lt-border-strong); color: var(--lt-text); font-size: 15px; font-weight: 700; box-shadow: var(--lt-shadow); }
.pb2-root .lb-back i { color: var(--lt-primary); }
.pb2-root .lb-back:hover { background: var(--lt-primary-soft); color: var(--lt-text); }
.pb2-root .lb-top__links { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.pb2-root .lb-top__link { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border-radius: 10px; font-weight: 700; font-size: 14px; color: var(--lt-text-2); text-decoration: none; }
.pb2-root .lb-top__link:hover { color: var(--lt-text); background: var(--lt-card-2); text-decoration: none; }
.pb2-root .lb-head { margin: 10px var(--lt-gutter) 0; padding: 16px; border-radius: var(--lt-radius); background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)); border: 1px solid var(--lt-border-strong); box-shadow: var(--lt-shadow); display: grid; gap: 12px; position: relative; overflow: hidden; }
.pb2-root .lb-head::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 120px; background: linear-gradient(160deg, var(--lt-primary-soft), transparent 70%); pointer-events: none; }
.pb2-root .lb-head > * { position: relative; }
.pb2-root .lb-head__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pb2-root .lb-head__name { margin: 0; font-family: var(--lb-font-display); font-size: 24px; font-weight: 800; line-height: 1.15; color: var(--lt-text); }
.pb2-root .lb-head__row--count { align-items: flex-end; }
.pb2-root .lb-head__status { display: grid; gap: 4px; }
.pb2-root .lb-head__status small { color: var(--lt-muted); font-size: 12.5px; font-weight: 600; }
.pb2-root .lb-count { font-family: var(--lb-font-display); font-size: clamp(32px, 9vw, 44px); font-weight: 800; color: var(--lt-ok); letter-spacing: 1px; line-height: 1; display: inline-flex; align-items: baseline; }
.pb2-root .lb-count small, .pb2-root .lb-strip__count small { font-size: 0.5em; font-weight: 700; color: var(--lt-muted); letter-spacing: 0; margin: 0 2px; }
.pb2-root .lb-count .sn-icon, .pb2-root .lb-strip__count .sn-icon { display: none; }
.pb2-root .lb-meta { color: var(--lt-text-2); font-size: 13.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.pb2-root .lb-af-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border-radius: 999px; background: var(--lt-accent-soft); color: var(--lt-text); border: 1px solid var(--lt-border-strong); font-size: 12.5px; font-weight: 800; text-decoration: none; }
.pb2-root .lb-strip { position: sticky; top: var(--site-header-h, var(--pb2-header-h, 0px)); z-index: 5; margin: 10px var(--lt-gutter) 0; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 6px 14px; border-radius: 12px; background: var(--lb-strip-bg); backdrop-filter: blur(8px); border: 1px solid var(--lt-border-strong); }
.pb2-root .lb-strip__name { font-weight: 800; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; color: var(--lt-text); }
.pb2-root .lb-strip__count { font-family: var(--lb-font-display); font-weight: 800; font-size: 18px; color: var(--lt-ok); white-space: nowrap; }
.pb2-root .lb-strip__close { font-size: 12.5px; color: var(--lt-muted); font-weight: 600; white-space: nowrap; }

/* ============ layout ============ */
.pb2-root .lb-grid { display: grid; gap: 14px; padding: 12px var(--lt-gutter) 0; align-items: start; }
.pb2-root #numpage_1.cart-item-lists.d-none { display: none !important; }
.pb2-root .lb-play { display: grid; gap: 14px; min-width: 0; }
.pb2-root .lb-legacy-strip { height: 0; }
.pb2-root .lb-legacy-hidden, .pb2-root #show_poy_list, .pb2-root #show_poy_list.d-flex { display: none !important; }
@media (min-width: 992px) {
  .pb2-root .lb-grid { grid-template-columns: minmax(0, 1fr) 400px; gap: 18px; }
  .pb2-root #price.lb-inline { position: sticky !important; top: calc(var(--site-header-h, var(--pb2-header-h, 0px)) + 64px); }
  .pb2-root .lb-bar { display: none !important; }
  .pb2-root .lb-page { padding-bottom: 40px; }
}

/* ============ card surfaces ============ */
.pb2-root .lb-types, .pb2-root .lb-tools, .pb2-root .lb-limits, .pb2-root .lb-keyboard, .pb2-root .lb-board, .pb2-root .lb-cart__body { background: linear-gradient(180deg, var(--lt-card-2), var(--lt-card)); border: 1px solid var(--lt-border); border-radius: var(--lt-radius); box-shadow: var(--lt-shadow); }

/* ============ type selector ============ */
.pb2-root .lb-types { padding: 12px 12px 6px; display: grid; gap: 10px; }
.pb2-root .lb-types__group { display: grid; gap: 6px; }
.pb2-root .lb-types__title { font-size: 12.5px; font-weight: 800; letter-spacing: 0.4px; color: var(--lt-muted); }
.pb2-root .lb-types__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 6px; }
@media (min-width: 560px) { .pb2-root .lb-types__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .pb2-root .lb-types__row { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pb2-root .lb-type { --c: var(--lb-three); --cs: var(--lb-three-soft); min-height: 56px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; padding: 8px 12px; border-radius: 14px;
  background: var(--lt-card-2); border: 1px solid var(--lt-border); color: var(--lt-text); text-align: left; cursor: pointer; font-family: var(--lb-font); transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, transform 0.15s; }
.pb2-root .lb-type--two { --c: var(--lb-two); --cs: var(--lb-two-soft); }
.pb2-root .lb-type--run { --c: var(--lb-run); --cs: var(--lb-run-soft); }
.pb2-root .lb-type--tool { --c: var(--lt-accent); --cs: var(--lt-accent-soft); }
.pb2-root .lb-type__name { font-size: 15px; font-weight: 800; }
.pb2-root .lb-type__pay { font-size: 12.5px; color: var(--lt-text-2); font-weight: 600; }
.pb2-root .lb-type__pay b { color: var(--c); font-weight: 800; }
.pb2-root .lb-type:hover { border-color: var(--c); }
.pb2-root .lb-type.active { background: var(--cs); border-color: var(--c); box-shadow: 0 0 0 2px var(--cs), 0 8px 20px rgba(0, 0, 0, 0.2); }
.pb2-root .lb-type.active .lb-type__name::after { content: '✓'; margin-left: 6px; color: var(--c); }
.pb2-root .lb-type:active { transform: translateY(1px); }
.pb2-root .lb-type:focus-visible { outline: 3px solid var(--c); outline-offset: 2px; }

/* ============ quick tools / selected / info ============ */
.pb2-root .lb-tools { padding: 10px 12px 12px; }
.pb2-root .lb-tools__title { display: block; font-size: 13px; font-weight: 800; color: var(--lt-text-2); margin-bottom: 8px; }
.pb2-root .lb-tools__row { display: flex; flex-wrap: wrap; gap: 8px; }
.pb2-root .lb-tool { min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--lt-card-2); border: 1px solid var(--lt-border); color: var(--lt-text); font-family: var(--lb-font); font-weight: 700; font-size: 14px; cursor: pointer; transition: background 0.2s, border-color 0.2s; }
.pb2-root .lb-tool:hover { border-color: var(--lb-two); }
.pb2-root .lb-tool.active { background: var(--lb-two-soft); border-color: var(--lb-two); color: var(--lb-two); }
.pb2-root .lb-selected { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 0 4px; min-height: 32px; }
.pb2-root .lb-selected__title { font-size: 12.5px; font-weight: 800; color: var(--lt-muted); }
.pb2-root .lb-selected__row { display: flex; gap: 6px; flex-wrap: wrap; }
.pb2-root .lb-info { display: grid; gap: 6px; padding: 0 4px; }
.pb2-root .lb-info__item { font-size: 13.5px; color: var(--lt-text-2); line-height: 1.5; }
.pb2-root .lb-info__item b { color: var(--lt-text); }
.pb2-root .lb-info__sep { color: var(--lt-muted); margin: 0 4px; }

/* ============ เลขอั้น ============ */
.pb2-root .lb-limits { padding: 12px 14px; border-color: rgba(244, 185, 66, 0.35); background: linear-gradient(180deg, var(--lt-warn-soft), var(--lt-card)); display: grid; gap: 8px; }
.pb2-root .lb-limits__head { font-weight: 800; color: var(--lt-warn); font-size: 15px; display: flex; align-items: center; gap: 8px; }
.pb2-root .lb-limits__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 14px; color: var(--lt-text-2); line-height: 1.6; }
.pb2-root .lb-limits__list b { color: var(--lt-text); }
.pb2-root .lb-limits__nums { display: inline-flex; flex-wrap: wrap; gap: 6px; vertical-align: middle; }
.pb2-root .lb-num-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 0 10px; border-radius: 8px; font-weight: 800; font-size: 14px; }
.pb2-root .lb-num-chip--closed { background: var(--lt-card-3); color: var(--lt-muted); text-decoration: line-through; }
.pb2-root .lb-num-chip--reduced { background: var(--lt-warn-soft); color: var(--lt-warn); }
.pb2-root .lb-num-chip small { font-size: 11.5px; font-weight: 700; }
.pb2-root .lb-limits__hint { margin: 0; font-size: 12.5px; color: var(--lt-muted); }

/* ============ modes / segmented ============ */
.pb2-root .lb-segment { display: flex; gap: 6px; padding: 4px; border-radius: 14px; background: var(--lt-card-2); border: 1px solid var(--lt-border); }
.pb2-root .lb-segment .nav-item, .pb2-root .lb-segment li { flex: 1; display: flex; }
.pb2-root .lb-segment__tab { flex: 1; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; border: 0; color: var(--lt-text-2); font-weight: 800; font-size: 15px; text-decoration: none; background: transparent; }
.pb2-root .lb-segment__tab:hover { color: var(--lt-text); border: 0; }
.pb2-root .lb-segment__tab.active { background: var(--lt-primary); color: var(--lt-primary-ink); border: 0; box-shadow: 0 6px 16px var(--lt-primary-glow); }
.pb2-root .lb-modes__content { min-width: 0; }
.pb2-root .lb-modes__content .tab-pane { height: auto; min-height: 0; }

/* ============ keypad ============ */
.pb2-root .lb-keyboard { padding: 14px; }
.pb2-root .lb-keyboard__title { margin: 0 0 10px; font-weight: 800; font-size: 15px; display: flex; flex-direction: column; gap: 2px; }
.pb2-root .lb-keyboard__title small { color: var(--lt-muted); font-weight: 600; font-size: 12.5px; }
.pb2-root .lb-slots #bet_num { display: flex; justify-content: center; gap: 10px; min-height: 68px; position: relative; }
.pb2-root .lb-slots label.number { width: 64px; height: 68px; margin: 0; border-radius: 14px; background: var(--lt-bg); border: 2px dashed var(--lt-border-strong); display: grid; place-items: center; font-family: var(--lb-font-display); font-size: 34px; font-weight: 800; color: var(--lt-text); }
.pb2-root .lb-slots label.number span { width: 10px; height: 10px; border-radius: 50%; background: var(--lt-primary); animation: lb-pulse 1s ease-in-out infinite; }
.pb2-root .lb-slots .animate__number { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 34px; font-weight: 800; color: var(--lt-ok); animation: lb-fly 0.5s ease-out forwards; pointer-events: none; }
@keyframes lb-fly { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(-60px) scale(0.6); } }
.pb2-root .lb-keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.pb2-root .lb-key { min-height: 58px; border-radius: 14px; background: var(--lt-card-2); border: 1px solid var(--lt-border-strong); color: var(--lt-text); font-family: var(--lb-font-display); font-size: 24px; font-weight: 800; cursor: pointer; transition: background 0.15s, transform 0.1s; display: inline-flex; align-items: center; justify-content: center; }
.pb2-root .lb-key:hover { background: var(--lt-card-3); }
.pb2-root .lb-key:active { transform: scale(0.97); background: var(--lt-primary-soft); }
.pb2-root .lb-key--danger { color: var(--lt-bad); background: var(--lt-bad-soft); font-size: 20px; }
.pb2-root .lb-key--muted { font-family: var(--lb-font); font-size: 13px; font-weight: 800; color: var(--lt-text-2); line-height: 1.2; padding: 0 6px; }
.pb2-root .lb-key--blank { background: transparent; border-color: transparent; pointer-events: none; }
@media (min-width: 992px) { .pb2-root .lb-keys { max-width: 460px; } }

/* ============ board (เลือกจากแผง) — สูงตามเนื้อหา ============ */
.pb2-root .lb-board { padding: 12px; display: grid; gap: 12px; }
.pb2-root .lb-board__tabs { display: flex; gap: 6px; padding: 4px; border-radius: 14px; background: var(--lt-card-2); border: 1px solid var(--lt-border); margin: 0; }
.pb2-root .lb-board__tabs .nav-item { flex: 1; display: flex; }
.pb2-root .lb-board__tab { flex: 1; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; border: 0; color: var(--lt-text-2); font-weight: 800; font-size: 15px; --c: var(--lb-three); }
.pb2-root .lb-board__tab--two { --c: var(--lb-two); }
.pb2-root .lb-board__tab--run { --c: var(--lb-run); }
.pb2-root .lb-board__tab:hover { color: var(--lt-text); border: 0; }
.pb2-root .lb-board__tab.active { background: var(--c); color: var(--lb-accent-ink); border: 0; }
.pb2-root .lb-board__head { display: flex; gap: 8px; align-items: stretch; margin-top: 12px; }
.pb2-root .lb-search { flex: 1; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 12px; background: var(--lt-bg); border: 1px solid var(--lt-border-strong); margin: 0; }
.pb2-root .lb-search i { color: var(--lt-muted); }
.pb2-root .lb-search input { flex: 1; min-width: 0; background: transparent; border: 0; color: var(--lt-text); font-size: 16px; font-weight: 700; height: 40px; padding: 0; box-shadow: none; }
.pb2-root .lb-search input:focus { outline: 0; box-shadow: none; background: transparent; color: var(--lt-text); }
.pb2-root .lb-search__btn { background: transparent; border: 0; color: var(--lt-muted); min-width: 36px; min-height: 36px; border-radius: 8px; }
.pb2-root .lb-search--sm { min-height: 40px; }
.pb2-root .lb-mirrors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
@media (min-width: 560px) { .pb2-root .lb-mirrors { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pb2-root .lb-mirror { --c: var(--lb-three); --cs: var(--lb-three-soft); min-height: 44px; border-radius: 12px; background: var(--lt-card-2); border: 1px solid var(--lt-border); color: var(--lt-text); display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 0 12px; font-family: var(--lb-font); font-weight: 800; font-size: 14px; cursor: pointer; }
.pb2-root .lb-mirror b { color: var(--c); font-size: 12.5px; font-weight: 800; }
.pb2-root .lb-mirror--two { --c: var(--lb-two); --cs: var(--lb-two-soft); }
.pb2-root .lb-mirror--run { --c: var(--lb-run); --cs: var(--lb-run-soft); }
.pb2-root .lb-mirror--tool { --c: var(--lt-accent); --cs: var(--lt-accent-soft); flex: 0 0 auto; justify-content: center; gap: 8px; padding: 0 14px; }
.pb2-root .lb-mirror.active { background: var(--cs); border-color: var(--c); }
.pb2-root .lb-grid-wrap { position: relative; }
/* R34g ข้อ 17/20 (ผู้ทดสอบ): ตัวบังของ pagebet.js (toggle class .overlay-disable บน #oversamtua/#ninetybtn/#roodfrontbtn/#roodbackbtn/#twonumberbtn/#runnumberbtn) = แค่กันกด โปร่งใส ไม่มีข้อความทับตัวเลข ;
   แถวที่ถูกล็อกจางลง ; คำแนะนำบรรทัดเดียว .lb-lock-hint (sibling ถัดจากตัวบัง) โชว์เฉพาะตอนล็อก — อ่านออก (ตัวหนังสือสว่างบนการ์ด) ไม่ทับเลข ; เลือกประเภทแล้ว class หาย → hint หาย ทันที */
.pb2-root .overlay-disable { position: absolute; inset: 0; z-index: 2; border-radius: 12px; background: transparent; backdrop-filter: none; display: block; cursor: not-allowed; }
.pb2-root .overlay-disable::after { content: none; }
.pb2-root .lb-lock-hint { display: none; margin: 0 0 8px; padding: 10px 12px; border-radius: 10px; background: var(--lt-card-2); border: 1px dashed var(--lt-border-strong); color: var(--lt-text); font-size: 14px; font-weight: 700; line-height: 1.4; grid-column: 1 / -1; position: relative; z-index: 3; align-items: center; gap: 8px; }
.pb2-root .lb-lock-hint i { color: var(--lt-warn); }
.pb2-root .overlay-disable ~ .lb-lock-hint { display: flex; }
.pb2-root .overlay-disable ~ *:not(.lb-lock-hint) { opacity: 0.4; filter: saturate(0.4); }
.pb2-root .lb-hundreds { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 10px; padding: 0; }
.pb2-root .lb-hundreds .nav-item { flex: 1 1 56px; display: flex; }
.pb2-root .lb-hundreds__tab { flex: 1; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--lt-border); background: var(--lt-card-2); color: var(--lt-text-2); font-weight: 800; font-size: 13.5px; padding: 0 4px; white-space: nowrap; overflow-wrap: normal; } /* R34f: desktop 10 แท็บในคอลัมน์ ~490 px — "000" เคยถูก overflow-wrap:anywhere ของ .pb2-root ตัดเป็น "00/0" */
.pb2-root .lb-hundreds__tab.active { background: var(--lt-primary); color: var(--lt-primary-ink); border-color: var(--lt-primary); }
/* hotfix 2026-10-08 (owner "ด่วน"): inactive hundreds panes must not keep their height under the visible one — same bug as R DEV-029
   (`.pb2-root .lb-nums` out-specifies Bootstrap `.tab-pane{display:none}`); only the active pane is laid out → the board sizes to its content */
.pb2-root .lb-nums.tab-pane:not(.active) { display: none !important; }
.pb2-root .lb-nums:not(.tab-pane), .pb2-root .lb-nums.tab-pane.active { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; padding: 10px 2px; position: relative; height: auto; min-height: 0; max-height: none; overflow: visible; }
.pb2-root .lb-nums .column { display: block; min-width: 0; }
.pb2-root .lb-num { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin: 0; padding: 0 6px; border-radius: 10px; background: var(--lt-card-2); border: 1px solid var(--lt-border); color: var(--lt-text); font-family: var(--lb-font-display); font-weight: 800; font-size: 17px; cursor: pointer; user-select: none; transition: background 0.15s, border-color 0.15s, transform 0.1s; }
.pb2-root .lb-num input { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; }
.pb2-root .lb-num:hover { border-color: var(--lt-primary); }
.pb2-root .lb-num.active { background: var(--lt-primary); color: var(--lt-primary-ink); border-color: var(--lt-primary); box-shadow: 0 4px 12px var(--lt-primary-glow); }
.pb2-root .lb-num.btn-limitnum { background: var(--lt-warn-soft); border-color: var(--lt-warn); color: var(--lt-warn); }
.pb2-root .lb-num.btn-limitnum.active { background: var(--lt-warn); color: #1a1200; }
.pb2-root .lb-nums--run { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pb2-root .lb-num--run { min-height: 56px; font-size: 22px; }
/* R34f: desktop 10 คอลัมน์ — selector ต้องเท่ากับกฎฐานด้านบน (hotfix dev ยก specificity ของกฎฐานเป็น .lb-nums.tab-pane.active → `.pb2-root .lb-nums` ใน media แพ้ → desktop กลายเป็น 5 คอลัมน์ แผงสูง 2 เท่า ; วัดด้วย tools/qa/board_size_check.mjs 1280/1366) */
@media (min-width: 640px) { .pb2-root .lb-nums:not(.tab-pane), .pb2-root .lb-nums.tab-pane.active, .pb2-root .lb-nums--run { grid-template-columns: repeat(10, minmax(0, 1fr)); } }
.pb2-root .lb-roods { display: grid; gap: 10px; margin-top: 10px; }
.pb2-root .lb-rood { padding: 10px 8px; border-radius: 12px; background: var(--lt-card-2); border: 1px solid var(--lt-border); }
.pb2-root .lb-rood__title { display: block; font-size: 13px; font-weight: 800; color: var(--lt-text-2); margin: 0 4px 6px; }
.pb2-root .lb-rood__row { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 4px; }
.pb2-root .lb-rood__row .d-inline { display: flex !important; }
.pb2-root .lb-num--rood { min-width: 0; width: 100%; padding: 0; border-radius: 8px; min-height: 40px; font-size: 15px; }
/* R34g ข้อ 10/16: แถว 19 ประตู/รูดหน้า/รูดหลัง คอลัมน์เดียวทุกจอ (เดิม desktop 3 คอลัมน์ → ปุ่มเลขกว้าง 15 px ตัวเลขทับกัน) */
.pb2-root .lb-roods { grid-template-columns: minmax(0, 1fr); }
.pb2-root .lb-rood__row { grid-template-columns: repeat(10, minmax(0, 1fr)); }

/* ============ mobile bottom bar ============ */
.pb2-root .lb-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; align-items: center; gap: 10px; padding: 10px var(--lt-gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--lb-bar-bg); backdrop-filter: blur(10px); border-top: 1px solid var(--lt-border-strong); }
.pb2-root .lb-bar__info { flex: 1; min-width: 0; display: grid; gap: 2px; }
.pb2-root .lb-bar__count { font-size: 12.5px; color: var(--lt-text-2); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb2-root .lb-bar__count:empty::before { content: attr(data-empty); color: var(--lt-muted); font-weight: 600; }
.pb2-root .lb-bar__total { font-size: 15px; font-weight: 700; color: var(--lt-text-2); }
.pb2-root .lb-bar__total b { font-size: 18px; color: var(--lt-text); }
.pb2-root .lb-bar__cta { min-height: 52px; padding: 0 18px; white-space: nowrap; }
body.pb2-cart-empty .pb2-root .lb-bar__cta, body.pb2-cart-empty .pb2-root .lb-btn--confirm { opacity: 0.55; pointer-events: none; }
body.pb2-ying-only .pb2-root .lb-bar { display: none !important; }

/* ============ sheets (#poy — pagemodal-wrapper .open จาก pageup.css / pagebet.js) ============ */
.pb2-root .lb-sheet { display: block; }
.pb2-root .lb-sheet .container { max-width: 760px; padding: 0; }
.pb2-root .lb-sheet__panel { position: fixed; left: 50%; bottom: 0; transform: translateX(-50%) translateY(16px); width: min(100%, 760px); max-height: 94vh; display: flex; flex-direction: column; border-radius: 22px 22px 0 0; background: var(--lt-card); border: 1px solid var(--lt-border-strong); border-bottom: 0; box-shadow: 0 -16px 50px rgba(0, 0, 0, 0.5); color: var(--lt-text); overflow: hidden; margin: 0; opacity: 0; transition: transform 0.25s ease, opacity 0.25s ease; }
.pb2-root .lb-sheet:not(.open) .lb-sheet__panel { visibility: hidden; pointer-events: none; }
.pb2-root .lb-sheet.open .lb-sheet__panel { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.pb2-root .lb-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)); border-bottom: 1px solid var(--lt-border); font-weight: 800; font-size: 16px; color: var(--lt-text); position: relative; }
.pb2-root .lb-sheet__head::before { content: ''; position: absolute; top: 6px; left: 50%; width: 44px; height: 4px; border-radius: 2px; background: var(--lt-border-strong); transform: translateX(-50%); }
.pb2-root .lb-sheet__head--ok { border-bottom-color: rgba(61, 220, 151, 0.3); }
.pb2-root .lb-sheet__title { display: inline-flex; align-items: center; gap: 8px; }
.pb2-root .lb-sheet__count { font-size: 12.5px; font-weight: 800; color: var(--lt-primary-ink); background: var(--lt-primary); border-radius: 999px; padding: 4px 10px; }
.pb2-root .lb-sheet__count:empty { display: none; }
.pb2-root .lb-sheet__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; color: var(--lt-text-2); background: var(--lt-card-2); text-decoration: none; font-size: 18px; }
.pb2-root .lb-sheet__close:hover { color: var(--lt-text); background: var(--lt-card-3); }
.pb2-root .lb-sheet__content { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.pb2-root .lb-sheet__scroll { overflow: auto; -webkit-overflow-scrolling: touch; padding: 12px 14px; height: auto !important; max-height: calc(94vh - 290px); min-height: 120px; }
.pb2-root .lb-sheet__foot { display: block !important; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--lt-border); background: var(--lt-card-2); display: grid; gap: 10px; }
.pb2-root .lb-sheet__help { margin: 0 0 10px; font-size: 13.5px; color: var(--lt-text-2); }
.pb2-root .lb-sheet__tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pb2-root .lb-sheet__actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; }
.pb2-root .lb-sheet__actions--3 { grid-template-columns: 1fr 1fr 1.3fr; } /* R34i: บันทึกรูปโพย | ดูโพยของฉัน | แทงต่อ (ปุ่มหลักขวาสุด เท่า R) */
.pb2-root .lb-price-same { display: grid; gap: 8px; }
.pb2-root .lb-price-same__label { font-size: 13.5px; font-weight: 800; color: var(--lt-text-2); display: inline-flex; align-items: center; gap: 6px; }
.pb2-root .lb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pb2-root .lb-chip--price { cursor: pointer; min-height: 40px; font-size: 14.5px; }
.pb2-root .lb-chip--price.active, .pb2-root .lb-chip--price:hover { background: var(--lt-primary); color: var(--lt-primary-ink); border-color: var(--lt-primary); }
.pb2-root .lb-price-same__input { display: flex; gap: 8px; }
.pb2-root .lb-price-same__input .lb-input { flex: 1; }
.pb2-root .lb-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pb2-root .lb-totals__item { padding: 10px 12px; border-radius: 12px; background: var(--lt-bg); border: 1px solid var(--lt-border); display: grid; gap: 2px; font-size: 12.5px; color: var(--lt-muted); font-weight: 700; }
.pb2-root .lb-totals__item b { font-size: 18px; color: var(--lt-text); }
.pb2-root .lb-totals__item--sum b { color: var(--lt-ok); }
/* .thb: member.js จัดรูปแบบครั้งเดียวตอน DOM ready, pagebet.js เขียนเลขดิบ, loadcredit() เขียน "1,234.50 ฿" — คงเดิม (ไม่ใส่สัญลักษณ์ด้วย CSS จะซ้ำ) */

/* ============ ล้าง pageup.css ในแผ่น (modal เต็มจอเดิม → bottom sheet) ============ */
.pb2-root .lb-sheet .pagemodal { height: auto !important; background: var(--lt-card) !important; margin: 0 !important; }
.pb2-root .lb-sheet .pagemodal .head { height: auto !important; padding: 14px 16px !important; overflow: visible !important; background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)) !important; color: var(--lt-text) !important; }
.pb2-root .lb-sheet .pagemodal .head .btn-close { position: static !important; background-image: none !important; float: none !important; margin: 0 !important; }
.pb2-root .lb-sheet .pagemodal .head .btn-close::before { content: none !important; }
.pb2-root .lb-sheet .pagemodal .content { height: auto !important; min-height: 0 !important; padding: 0 !important; background: var(--lt-card) !important; z-index: auto !important; display: flex; flex-direction: column; flex: 1 1 auto; }
.pb2-root .lb-sheet .pagemodal .content-scroll { height: auto !important; max-height: calc(94vh - 300px); padding: 12px 14px !important; background: var(--lt-card) !important; color: var(--lt-text); position: static !important; z-index: auto !important; }
.pb2-root .lb-sheet .pagemodal .fixbot { position: static !important; width: auto !important; max-width: none !important; background: var(--lt-card-2) !important; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important; display: grid !important; gap: 10px; border: 0 !important; box-shadow: none !important; }
.pb2-root .box__chip-lists .price.lb-chip { width: auto !important; height: auto !important; min-height: 40px; margin: 0 !important; padding: 0 14px !important; background: var(--lt-card-2) !important; color: var(--lt-text) !important; border: 1px solid var(--lt-border-strong) !important; border-radius: 999px !important; font-size: 14.5px !important; font-weight: 800 !important; line-height: 1 !important; box-shadow: none !important; }
.pb2-root .box__chip-lists .price.lb-chip.active, .pb2-root .box__chip-lists .price.lb-chip:hover { background: var(--lt-primary) !important; color: var(--lt-primary-ink) !important; border-color: var(--lt-primary) !important; }

/* แถวตะกร้าที่ JS clone (#model_poy_option → #poy_option_{op}, #model_poy_list → #pl_{i}) */
.pb2-root .lb-ctable { width: 100%; border-collapse: separate; border-spacing: 0 6px; margin-bottom: 10px; }
.pb2-root .lb-ctable__head th { font-size: 12.5px; font-weight: 800; color: var(--lt-muted); text-align: center; padding: 0 4px 2px; border: 0; }
.pb2-root .lb-ctable__title { text-align: left !important; color: var(--lt-text) !important; font-size: 15px !important; }
.pb2-root .lb-crow td { background: var(--lt-card-2); padding: 6px 4px; text-align: center; vertical-align: middle; border-top: 1px solid var(--lt-border); border-bottom: 1px solid var(--lt-border); }
.pb2-root .lb-crow td:first-child { border-left: 1px solid var(--lt-border); border-radius: 12px 0 0 12px; }
.pb2-root .lb-crow td:last-child { border-right: 1px solid var(--lt-border); border-radius: 0 12px 12px 0; }
.pb2-root .lb-crow__no { width: 30px; color: var(--lt-muted); font-weight: 700; font-size: 12.5px; }
.pb2-root .lb-crow__num { width: 64px; font-family: var(--lb-font-display); font-size: 22px; font-weight: 800; color: var(--lt-text); }
.pb2-root .lb-crow__price .lb-input { width: 84px; text-align: center; padding: 4px 8px; font-size: 18px; }
.pb2-root .lb-crow__rate { font-weight: 800; color: var(--lt-text-2); font-size: 14px; white-space: nowrap; }
.pb2-root .lb-crow__rate::before { content: '×'; margin-right: 2px; color: var(--lt-muted); }
.pb2-root .lb-crow__win .lb-input { width: 92px; text-align: center; padding: 4px 6px; font-size: 14px; }
.pb2-root .lb-crow__del .lb-del { min-width: 44px; min-height: 44px; border-radius: 10px; background: var(--lt-bad-soft); color: var(--lt-bad); border: 0; display: inline-flex; align-items: center; justify-content: center; }
.pb2-root .lb-crow.multiply-change td { background: var(--lt-warn-soft); }
.pb2-root .lb-crow.multiply-change .lb-crow__rate { color: var(--lt-warn); }
.pb2-root .lb-crow.multiply-change .lb-crow__num::after { content: 'เลขอั้น'; display: block; font-family: var(--lb-font); font-size: 10.5px; font-weight: 800; color: var(--lt-warn); line-height: 1; margin-top: 2px; }
.pb2-root .lb-crow.multiply-close td { background: var(--lt-card); }
.pb2-root .lb-crow.multiply-close .lb-crow__num { color: var(--lt-muted); text-decoration: line-through; }
.pb2-root .lb-crow.multiply-close .lb-crow__num::after { content: 'ไม่รับแทง'; display: block; font-family: var(--lb-font); font-size: 10.5px; font-weight: 800; color: var(--lt-bad); line-height: 1; margin-top: 2px; text-decoration: none; }
.pb2-root .lb-crow.number-is-duplicate .lb-crow__num::before { content: 'ซ้ำ'; display: block; font-family: var(--lb-font); font-size: 10.5px; font-weight: 800; color: var(--lt-info); line-height: 1; margin-bottom: 2px; }
.pb2-root .lb-crow.number-is-duplicate.number-is-duplicate-active td { background: var(--lt-info-soft); }
@media (max-width: 420px) { .pb2-root .lb-crow__win { display: none; } .pb2-root .lb-ctable__head th:nth-child(4) { display: none; } }

/* ใบโพย (ยืนยัน/สำเร็จ) */
.pb2-root .lb-slip { border: 1px solid var(--lt-border-strong); border-radius: 16px; overflow: hidden; background: var(--lt-bg); }
.pb2-root .lb-slip__head { display: flex; justify-content: space-between; gap: 10px; padding: 14px; background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)); }
.pb2-root .lb-slip__name { font-family: var(--lb-font-display); font-size: 18px; font-weight: 800; }
.pb2-root .lb-slip__round { font-size: 13.5px; color: var(--lt-text-2); margin-top: 2px; }
.pb2-root .lb-slip__poyno { font-family: var(--lb-font-display); font-size: 20px; font-weight: 800; color: var(--lt-accent); } /* R34i: เลขที่โพยสีทอง (เท่า R) ; ธีมสว่างใช้แดงเข้ม (คอนทราสต์บนขาว) */
.pb2-root.pb2-theme-red .lb-slip__poyno { color: var(--lt-primary-dark); }
.pb2-root .lb-slip__poyno small { display: block; font-family: var(--lb-font); font-size: 11.5px; color: var(--lt-muted); font-weight: 700; }
.pb2-root .lb-slip__when { display: grid; gap: 2px; text-align: right; font-size: 12.5px; color: var(--lt-muted); font-weight: 700; white-space: nowrap; }
.pb2-root .lb-slip__total { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 14px; background: var(--lt-ok-soft); color: var(--lt-text-2); font-weight: 700; border-top: 1px solid rgba(61, 220, 151, 0.3); border-bottom: 1px solid rgba(61, 220, 151, 0.3); }
.pb2-root .lb-slip__total b { font-family: var(--lb-font-display); font-size: 20px; color: var(--lt-ok); }
.pb2-root .lb-slip__list { padding: 10px 14px; display: grid; gap: 10px; }
.pb2-root .lb-ccard { border: 1px solid var(--lt-border); border-radius: 12px; overflow: hidden; }
.pb2-root .lb-ccard__head { display: flex; justify-content: space-between; padding: 8px 12px; background: var(--lt-card-2); font-weight: 800; font-size: 14px; color: var(--lt-text); }
.pb2-root .lb-ccard__head span:last-child { color: var(--lt-muted); font-size: 12.5px; }
.pb2-root .lb-ccard__rows { display: grid; }
.pb2-root .lb-crow2 { display: grid; grid-template-columns: 34px 1fr auto; gap: 8px; align-items: center; padding: 8px 12px; border-top: 1px solid var(--lt-border); }
.pb2-root .lb-crow2__no { color: var(--lt-muted); font-size: 12.5px; font-weight: 700; }
.pb2-root .lb-crow2__num { font-family: var(--lb-font-display); font-size: 17px; font-weight: 800; }
.pb2-root .lb-crow2__price { font-weight: 800; color: var(--lt-ok); }
.pb2-root .lb-crow2__price::before { content: '฿'; font-size: 0.8em; margin-right: 2px; opacity: 0.8; }
.pb2-root .lb-slip__foot { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-top: 1px solid var(--lt-border); font-size: 13px; color: var(--lt-text-2); font-weight: 700; }
.pb2-root .lb-note { min-height: 64px; resize: vertical; font-weight: 600; font-size: 15px; }
.pb2-root .lb-success { text-align: center; padding: 8px 0 14px; display: grid; justify-items: center; gap: 6px; }
.pb2-root .lb-success__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--lt-ok-soft); color: var(--lt-ok); display: grid; place-items: center; font-size: 28px; border: 2px solid rgba(61, 220, 151, 0.4); }
.pb2-root .lb-success__title { margin: 0; font-family: var(--lb-font-display); font-size: 20px; font-weight: 800; }
.pb2-root .lb-success__help { margin: 0; font-size: 13.5px; color: var(--lt-text-2); }

/* ตารางเลขชุด / โพยเก่า */
.pb2-root .lb-sets__tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.pb2-root .lb-sets__tools .lb-search { flex: 1 1 180px; }
.pb2-root .lb-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pb2-root .lb-table th, .pb2-root .lb-table td { padding: 10px 8px; border-bottom: 1px solid var(--lt-border); text-align: left; vertical-align: middle; }
.pb2-root .lb-table__head th { font-size: 12.5px; color: var(--lt-muted); font-weight: 800; }

/* ============ yeekee ยิงเลข (ซ่อนจนกว่าจะกดสวิตช์ — pagebet.js เอา d-none ออก) ============ */
.pb2-root .lb-ying { margin: 12px var(--lt-gutter) 0; padding: 14px; border-radius: var(--lt-radius); background: linear-gradient(180deg, var(--lt-card-2), var(--lt-card)); border: 1px solid var(--lt-border); display: grid; gap: 10px; }
.pb2-root .lb-ying.d-none { display: none !important; }
.pb2-root .lb-ying__title { margin: 0; font-size: 16px; font-weight: 800; text-align: center; color: var(--lt-text-2); }
.pb2-root .lb-ying__total { margin: 0; font-family: var(--lb-font-display); font-size: 34px; font-weight: 800; text-align: center; color: var(--lt-primary); }
.pb2-root.pb2-theme-red .lb-ying__total { color: var(--lt-primary-dark); }
.pb2-root .lb-ying__input.form-control { background: var(--lt-bg); color: var(--lt-text); border: 2px dashed var(--lt-border-strong); border-radius: 14px; min-height: 64px; font-family: var(--lb-font-display); font-size: 32px; font-weight: 800; letter-spacing: 8px; box-shadow: none; }
.pb2-root .lb-ying__input.form-control:focus { border-color: var(--lt-primary); border-style: solid; box-shadow: 0 0 0 3px var(--lt-primary-soft); }
.pb2-root .lb-ying__input::placeholder { letter-spacing: 0; font-family: var(--lb-font); font-size: 17px; font-weight: 600; color: var(--lt-muted); }
.pb2-root .lb-keys--ying { display: block; margin-top: 12px; }                      /* คีย์แพดยิงเลขคง .row/.col-3 ของ Bootstrap (สัญญา JS) — ไม่ใช่ grid 4 คอลัมน์ */
.pb2-root .lb-keys--ying .row { display: flex; flex-wrap: wrap; margin: 0 -4px; padding: 0 !important; }
.pb2-root .lb-keys--ying .col-3 { flex: 0 0 25%; max-width: 25%; padding: 4px; }
.pb2-root .lb-keys--ying .btn-block { width: 100%; display: inline-flex; align-items: center; justify-content: center; }
.pb2-root .lb-keys--ying .btn { min-height: 58px; border-radius: 14px; font-family: var(--lb-font-display); font-size: 22px; font-weight: 800; background: var(--lt-card-2); border: 1px solid var(--lt-border-strong); color: var(--lt-text); box-shadow: none; }
.pb2-root .lb-keys--ying .btn.delete__number { background: var(--lt-bad-soft); color: var(--lt-bad); }
.pb2-root .lb-keys--ying .btn.random__number { font-family: var(--lb-font); font-size: 13px; color: var(--lt-text-2); }
.pb2-root .lb-keys--ying .btn.yeekee__submit { background: var(--lt-primary); border-color: var(--lt-primary); color: var(--lt-primary-ink); font-family: var(--lb-font); font-size: 15px; box-shadow: 0 8px 22px var(--lt-primary-glow); }
.pb2-root .lb-keys--ying .btn.yeekee__submit[disabled] { opacity: 0.6; box-shadow: none; }
.pb2-root .lb-keys--ying .btn-blank { background: transparent; border-color: transparent; }
.pb2-root .lb-ying__sub { font-size: 15px; font-weight: 800; color: var(--lt-ok); text-align: center; margin: 6px 0; }
.pb2-root .lb-yrow { display: flex; gap: 8px; }
.pb2-root .lb-yrow__rank { flex: 0 0 96px; border-radius: 12px; background: var(--lt-card-3); display: grid; place-items: center; padding: 8px; text-align: center; color: var(--lt-text); }
.pb2-root .lb-yrow__rank h3 { font-family: var(--lb-font-display); font-size: 22px; font-weight: 800; color: inherit; }
.pb2-root .lb-yrow--top .lb-yrow__rank { background: var(--lt-ok-soft); color: var(--lt-ok); }
.pb2-root .lb-yrow__who { flex: 1; border-radius: 12px; border: 1px solid var(--lt-border); padding: 8px 10px; display: grid; gap: 6px; font-size: 13.5px; color: var(--lt-text); }
.pb2-root .lb-yrow__badge { font-size: 11.5px; font-weight: 800; color: var(--lt-muted); }
.pb2-root .lb-ying__head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.pb2-root .lb-ying__h { margin: 0; font-family: var(--lb-font-display); font-size: 20px; font-weight: 800; }
.pb2-root .lb-ying__help { margin: 4px 0 0; font-size: 13.5px; color: var(--lt-text-2); }
.pb2-root .lb-ying__stat { display: grid; justify-items: center; padding: 8px 14px; border-radius: 12px; background: var(--lt-bg); border: 1px solid var(--lt-border); font-size: 12px; color: var(--lt-muted); font-weight: 700; }
.pb2-root .lb-ying__stat .lb-ying__total { margin: 0; font-size: 26px; line-height: 1.1; }
.pb2-root .lb-ying__listhelp { margin: -2px 0 8px; text-align: center; font-size: 12.5px; color: var(--lt-muted); }

/* ============ modals (Bootstrap ของเดิมที่ pagebet.js เปิด) ============ */
body.pb2 .lb-modal .modal-content { background: var(--lt-card); color: var(--lt-text); border: 1px solid var(--lt-border-strong); border-radius: 18px; }
body.pb2 .lb-modal .modal-header, body.pb2 .lb-modal .modal-footer { border-color: var(--lt-border); }
body.pb2 .lb-modal .modal-title { font-weight: 800; }
body.pb2 .lb-modal .close { color: var(--lt-text); text-shadow: none; opacity: 0.8; }
body.pb2 .lb-modal .modal-body h6 { font-size: 16px; font-weight: 700; margin: 0; }
body.pb2 #modal_confirm_del_one, body.pb2 #modal_confirm_reset, body.pb2 #modal_confirm_delete_duplicate { display: none !important; }
body.pb2 .lb-switch { display: flex; gap: 8px; }
.pb2-root .lb-switch { display: flex; gap: 8px; }
.pb2-root .lb-switch__btn { flex: 1; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; background: var(--lt-primary); color: var(--lt-primary-ink); font-weight: 800; font-size: 16px; text-decoration: none; box-shadow: 0 8px 22px var(--lt-primary-glow); }
.pb2-root .lb-switch__btn:hover { background: var(--lt-primary-dark); color: var(--lt-primary-ink); text-decoration: none; }
.pb2-root .lb-switch__btn--back { background: var(--lt-card-2); color: var(--lt-text); box-shadow: none; border: 1px solid var(--lt-border-strong); }
.pb2-root .lb-switch__btn.d-none { display: none !important; }
.pb2-root .lb-switch__chev { font-size: 12px; opacity: 0.8; }

/* ============ ตะกร้าในหน้า (#price) · ไม่มีแผ่นยืนยัน (#sendpoy) · สำเร็จในหน้า (#printpoy) ============ */
.pb2-root #price.lb-inline { position: static !important; width: auto !important; height: auto !important; background: none !important; opacity: 1 !important; display: block !important; z-index: auto !important; min-width: 0; transition: none !important; }
.pb2-root #price .container { padding: 0 !important; max-width: none !important; width: auto !important; }
.pb2-root #price .lb-inline__panel { position: static !important; transform: none !important; width: auto !important; height: auto !important; max-height: none !important; opacity: 1 !important; visibility: visible !important; border-radius: var(--lt-radius) !important; border: 1px solid var(--lt-border) !important; box-shadow: var(--lt-shadow) !important; background: linear-gradient(180deg, var(--lt-card-2), var(--lt-card)) !important; overflow: hidden; display: flex; flex-direction: column; margin: 0 !important; transition: none !important; }
.pb2-root #price .lb-inline__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px !important; height: auto !important; overflow: visible !important; background: transparent !important; border-bottom: 1px solid var(--lt-border); font-weight: 800; font-size: 16px; color: var(--lt-text) !important; }
.pb2-root #price .lb-inline__head::before { content: none; }
.pb2-root #price .content { height: auto !important; min-height: 0 !important; padding: 0 !important; background: transparent !important; z-index: auto !important; display: block; position: static !important; }
.pb2-root #price .content-scroll { height: auto !important; max-height: none !important; overflow: visible !important; padding: 12px 14px 0 !important; background: transparent !important; position: static !important; z-index: auto !important; }
.pb2-root #price .fixbot { position: static !important; width: auto !important; max-width: none !important; background: transparent !important; display: grid !important; gap: 10px; padding: 12px 14px 14px !important; border: 0 !important; box-shadow: none !important; }
.pb2-root #poy_list:empty::before { content: attr(data-empty); display: block; padding: 18px 12px; text-align: center; color: var(--lt-muted); font-weight: 600; font-size: 14px; border: 1px dashed var(--lt-border-strong); border-radius: 12px; }
.pb2-root .lb-msg { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 10px; padding: 12px 14px; border-radius: 12px; font-size: 15.5px; line-height: 1.5; font-weight: 600; border: 1px solid transparent; }
.pb2-root .lb-msg[hidden] { display: none; }
.pb2-root .lb-msg.is-error { background: var(--lt-bad-soft); color: var(--lt-bad); border-color: rgba(255, 107, 107, 0.35); }
.pb2-root .lb-msg.is-warning { background: var(--lt-warn-soft); color: var(--lt-warn); border-color: rgba(244, 185, 66, 0.35); }
.pb2-root .lb-inline__hint { margin: 0; font-size: 12.5px; color: var(--lt-muted); text-align: center; }
.pb2-root .lb-inline__actions { grid-template-columns: 1fr 1.6fr; }
.pb2-root .lb-btn--confirm { min-height: 56px; font-size: 17px; }
@media (max-width: 991.98px) { .pb2-root #price .lb-inline__actions .triggerSendpoy { display: none; } .pb2-root #price .lb-inline__actions { grid-template-columns: 1fr; } .pb2-root #price .lb-inline__hint { display: none; } }
.pb2-root #sendpoy, .pb2-root #sendpoy.open { display: none !important; }
.pb2-root #printpoy { display: none; }
.pb2-root #printpoy.open { position: static !important; width: auto !important; height: auto !important; background: none !important; display: block !important; margin: 12px var(--lt-gutter) 0; z-index: auto !important; opacity: 1 !important; transition: none !important; }
.pb2-root #printpoy.open .container { padding: 0 !important; max-width: none !important; }
.pb2-root #printpoy.open .lb-sheet__panel { position: static !important; transform: none !important; width: auto !important; max-height: none !important; border-radius: var(--lt-radius) !important; border: 1px solid rgba(61, 220, 151, 0.45) !important; opacity: 1 !important; visibility: visible !important; transition: none !important; }
.pb2-root #printpoy.open .content-scroll { max-height: none !important; overflow: visible !important; }
.pb2-root #printpoy.open .lb-sheet__head::before, .pb2-root #printpoy.open .lb-sheet__close { display: none; }
body.pb2:has(#printpoy.open) .pb2-root #numpage_1, body.pb2:has(#printpoy.open) .pb2-root .lb-bar, body.pb2:has(#printpoy.open) .pb2-root .lb-strip { display: none !important; }
body.pb2:has(#printpoy.open) .pb2-root .lb-page { padding-bottom: 16px; }

/* ============ toast เงียบ (toastr ของ member.js — positionClass toast-bottom-center pb2-toast) ============ */
body.pb2 #toast-container.pb2-toast { bottom: calc(var(--lb-bar-h) + 20px); pointer-events: none; }
body.pb2 #toast-container.pb2-toast > .toast { pointer-events: none; opacity: .97 !important; /* R34g: toast ห้ามรับการแตะ — เคยทับปุ่มล้างทั้งหมด/ถังขยะที่อยู่กลางล่างจอ */ width: auto; max-width: 92vw; min-height: 44px; margin: 0 auto 6px; padding: 10px 18px 10px 44px; border-radius: 999px; box-shadow: var(--lt-shadow); font-family: var(--lb-font); font-size: 15px; font-weight: 600; background-position: 14px center; }
body.pb2 #toast-container.pb2-toast > .toast-success { background-color: #1f9d55; color: #fff; }
body.pb2 #toast-container.pb2-toast > .toast-error { background-color: #c53030; color: #fff; }
body.pb2 #toast-container.pb2-toast > .toast-warning { background-color: #d97706; color: #fff; }
body.pb2 #toast-container.pb2-toast > .toast .toast-message { font-size: 15px; }
@media (min-width: 992px) { body.pb2 #toast-container.pb2-toast { bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { .pb2-root * { animation: none !important; transition: none !important; } }

/* R34e: theme-override.css มีกฎ `#price #poy_list table` (พื้นขาว/เงา/ขอบมน/ฟอนต์เล็ก) และ pageup.css มี .content-scroll/.fixbot แบบ bare class → ทับด้วย specificity สูงกว่า */
.pb2-root #price #poy_list table { background: transparent !important; box-shadow: none !important; border-radius: 0 !important; border-collapse: separate !important; border-spacing: 0 6px !important; margin-bottom: 10px !important; font-size: 15px !important; overflow: visible !important; }
.pb2-root #price #poy_list table th { background: transparent !important; border: 0 !important; padding: 0 4px 2px !important; font-size: 12.5px !important; font-weight: 800 !important; color: var(--lt-muted) !important; white-space: nowrap; }
.pb2-root #price #poy_list table th.lb-ctable__title { text-align: left !important; color: var(--lt-text) !important; font-size: 15px !important; }
.pb2-root #price #poy_list table td { padding: 6px 4px !important; border-top: 1px solid var(--lt-border) !important; border-bottom: 1px solid var(--lt-border) !important; vertical-align: middle !important; background: var(--lt-card-2) !important; color: var(--lt-text) !important; }
.pb2-root #price #poy_list table td.lb-crow__num { font-family: var(--lb-font-display) !important; font-size: 22px !important; font-weight: 800 !important; width: 64px; }
.pb2-root #price #poy_list table td.lb-crow__no { color: var(--lt-muted) !important; font-size: 12.5px !important; width: 30px; }
.pb2-root #price #poy_list table td.lb-crow__rate { color: var(--lt-text-2) !important; font-size: 14px !important; }
.pb2-root #price #poy_list table tr.multiply-change td { background: var(--lt-warn-soft) !important; }
.pb2-root #price #poy_list table tr.multiply-close td { background: var(--lt-card) !important; }
.pb2-root #price #poy_list table tr.number-is-duplicate.number-is-duplicate-active td { background: var(--lt-info-soft) !important; }
.pb2-root #price #poy_list table input.pl_price { background: var(--lt-bg) !important; color: var(--lt-text) !important; border: 1px solid var(--lt-border-strong) !important; border-radius: 12px !important; min-height: 44px !important; font-size: 18px !important; font-weight: 700 !important; text-align: center; width: 84px; padding: 4px 8px !important; }
.pb2-root #price .lb-inline__head { opacity: 1 !important; transform: none !important; }
.pb2-root #price .content-scroll, .pb2-root #printpoy .content-scroll, .pb2-root #printpoy .lb-sheet__head { opacity: 1 !important; transform: none !important; transition: none !important; }
.pb2-root .lb-sheet .tab-pane { min-height: 0 !important; padding: 0 !important; }
.pb2-root #printpoy.open .lb-sheet__head { display: flex !important; height: auto !important; padding: 14px 16px !important; background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)) !important; color: var(--lt-text) !important; }
.pb2-root #printpoy.open .lb-sheet__head * { color: var(--lt-text) !important; }
.pb2-root #printpoy.open .lb-sheet__panel { height: auto !important; background: var(--lt-card) !important; margin: 0 !important; box-shadow: var(--lt-shadow) !important; }
.pb2-root #printpoy.open .content { height: auto !important; min-height: 0 !important; padding: 0 !important; position: static !important; z-index: auto !important; background: transparent !important; }
.pb2-root #printpoy.open .fixbot { position: static !important; width: auto !important; max-width: none !important; display: grid !important; gap: 10px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important; background: var(--lt-card-2) !important; border: 0 !important; box-shadow: none !important; animation: none !important; }

/* R34e: legacy .box__condition-info (พื้นขาว/ขอบ) ทับด้วยการ์ดโปร่ง ; แผ่น #poy ที่ปิดอยู่ไม่กินความกว้างหน้า (ป้องกัน overflow-x ตอนฟอนต์ใหญ่) ; ปุ่มแถบล่างไม่ล้นที่ฟอนต์ 1.3 */
.pb2-root .lb-info.box__condition-info { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 4px !important; margin: 0 !important; }
.pb2-root .lb-info .lb-info__item { color: var(--lt-text-2) !important; background: transparent !important; }
.pb2-root .lb-sheet:not(.open) .lb-sheet__panel { display: none; }
.pb2-root .lb-bar__cta { flex: 0 1 auto; max-width: 64%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb2-root .lb-bar__cta b { font-size: 1em; }
.pb2-root { overflow-wrap: anywhere; }
.pb2-root .lb-count, .pb2-root .lb-strip__count, .pb2-root .lb-crow__num, .pb2-root .lb-num, .pb2-root .lb-key { overflow-wrap: normal; }

/* R34e: นับถอยหลัง — ล้างกล่องขาว/เลขแดงของ .tanghuay-time(.countdown) เดิม (theme-override) → ตัวเลขเขียวล้วนเหมือน R */
.pb2-root .lb-count.tanghuay-time, .pb2-root .lb-count.tanghuay-time_day, .pb2-root .lb-count .countdown, .pb2-root .lb-count .countdown *, .pb2-root .lb-strip__count .countdown, .pb2-root .lb-strip__count .countdown * { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; color: var(--lt-ok) !important; font-family: var(--lb-font-display) !important; font-weight: 800 !important; line-height: 1 !important; text-shadow: none !important; }
.pb2-root .lb-count .countdown small, .pb2-root .lb-strip__count .countdown small { color: var(--lt-muted) !important; font-size: 0.5em !important; font-weight: 700 !important; }
.pb2-root .lb-count .countdown { font-size: inherit !important; }
.pb2-root .lb-strip__count .countdown { font-size: 18px !important; }

/* R34f: แผ่น #poy (ดึงโพย/เลขชุด) ต้องอยู่เหนือแถบ sticky (z 5) และแถบล่าง (z 40) — เดิมหัวแผ่น/แท็บมุดใต้แถบย่อ กดแท็บไม่ได้ */
.pb2-root .lb-sheet.open { z-index: 60 !important; }
.pb2-root .lb-sheet__panel { z-index: 61; }
.pb2-root .lb-sheet .lb-segment { margin-bottom: 12px; }
.pb2-root .lb-sheet .lb-table td, .pb2-root .lb-sheet .lb-table th { color: var(--lt-text); }
.pb2-root .lb-sheet .lb-table__head th { color: var(--lt-muted); }

/* ============ R34g (ผู้ทดสอบ 2026-10-08 "Feedback Issue" — ทุกข้อตรวจเหมือนกันทั้ง L/R) ============ */
/* ข้อ 19 + add-on "ข้อความเลือกจากแผงมองไม่เห็น": กล่องสว่างของ theme-override.css/red.css หลุดเข้าธีมมืด — #nav-tab1.nav-tabs (พื้น paper-3 + ตัวอักษร muted), .box__two-option (paper-3 !important),
   .nav-link.txt-num (พื้นขาว), #number-tab .nav-link (ขอบ 1.5px), red.css .box__play/.box__keyboard/.box__show-number (#fff !important) → ทับด้วย specificity สูงกว่า + !important ให้เป็น token ของการ์ดมืด/สว่างตามธีม ; ตรวจด้วย tools/qa/pagebet_a11y_check.mjs (≥ 4.5:1 ทุก control) */
.pb2-root #nav-tab1.lb-segment, .pb2-root .lb-segment { background: var(--lt-card-2) !important; border: 1px solid var(--lt-border) !important; border-radius: 14px !important; padding: 4px !important; gap: 6px !important; margin: 0 !important; box-shadow: none !important; display: flex !important; }
.pb2-root .lb-segment .nav-link.lb-segment__tab, .pb2-root #nav-tab1 .nav-link.lb-segment__tab, .pb2-root .lb-segment__tab { background: transparent !important; color: var(--lt-text-2) !important; border: 0 !important; border-radius: 11px !important; box-shadow: none !important; padding: 0 10px !important; margin: 0 !important; min-height: 46px; font-family: var(--lb-font) !important; font-weight: 800 !important; font-size: 15px !important; opacity: 1 !important; }
.pb2-root .lb-segment .nav-link.lb-segment__tab.active, .pb2-root #nav-tab1 .nav-link.lb-segment__tab.active, .pb2-root .lb-segment__tab.active { background: var(--lt-primary) !important; color: var(--lt-primary-ink) !important; box-shadow: 0 6px 16px var(--lt-primary-glow) !important; }
.pb2-root [id="2option"].lb-tools, .pb2-root .lb-tools.box__two-option { background: linear-gradient(180deg, var(--lt-card-2), var(--lt-card)) !important; border: 1px solid var(--lt-border) !important; border-radius: var(--lt-radius) !important; padding: 10px 12px 12px !important; box-shadow: var(--lt-shadow) !important; text-shadow: none !important; color: var(--lt-text) !important; }
.pb2-root .box__play, .pb2-root .box__keyboard, .pb2-root .box__show-number, .pb2-root .box__condition-info { background: transparent !important; color: inherit !important; }
.pb2-root .lb-hundreds__tab.txt-num, .pb2-root #numlist-tab1 .nav-link.txt-num { background: var(--lt-card-2) !important; color: var(--lt-text-2) !important; border: 1px solid var(--lt-border) !important; border-radius: 10px !important; margin: 0 !important; min-width: 0 !important; min-height: 38px !important; font-size: 13.5px !important; font-weight: 800 !important; font-family: var(--lb-font) !important; }
.pb2-root .lb-hundreds__tab.txt-num.active, .pb2-root #numlist-tab1 .nav-link.txt-num.active { background: var(--lt-primary) !important; color: var(--lt-primary-ink) !important; border-color: var(--lt-primary) !important; }
.pb2-root #number-tab .nav-link.lb-board__tab { border: 0 !important; border-radius: 11px !important; min-height: 44px !important; background: transparent !important; color: var(--lt-text-2) !important; font-family: var(--lb-font) !important; font-weight: 800 !important; font-size: 15px !important; margin: 0 !important; box-shadow: none !important; }
.pb2-root #number-tab .nav-link.lb-board__tab.active { background: var(--c) !important; color: var(--lb-accent-ink) !important; }
.pb2-root .lb-types, .pb2-root .lb-keyboard, .pb2-root .lb-board { color: var(--lt-text); }
/* ข้อ 7+12: ป้ายเลขในแผง/ชิปรูด กลับมามี class .btn (Bootstrap button plugin toggle .active ให้ทันทีเหมือนหน้าเดิม = แหล่งเดียวของสถานะเลือก) → ล้างสไตล์ .btn ของ bootstrap/theme-override (.btn-group-toggle > .btn.panghuay_number พื้นขาว ฯลฯ) ให้เหลือสไตล์ lb-num ; สถานะเลือกแบบเดียว = ทึบ ไม่มีวงที่สอง (outline/box-shadow ตอน focus) */
.pb2-root .btn-group-toggle > .btn.lb-num, .pb2-root .lb-num.btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 46px; margin: 0 !important; padding: 0 6px !important; border-radius: 10px !important; border: 1px solid var(--lt-border) !important; background: var(--lt-card-2) !important; color: var(--lt-text) !important; font-family: var(--lb-font-display) !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.1 !important; box-shadow: none !important; outline: 0 !important; transform: none !important; transition: background 0.15s, border-color 0.15s !important; white-space: nowrap; }
.pb2-root .lb-num.btn:hover { border-color: var(--lt-primary) !important; }
.pb2-root .lb-num.btn:focus, .pb2-root .lb-num.btn.focus, .pb2-root .lb-num.btn:focus-within, .pb2-root .lb-num.btn:active { outline: 0 !important; box-shadow: none !important; }
.pb2-root .lb-num.btn.active, .pb2-root .btn-group-toggle > .btn.lb-num.active { background: var(--lt-primary) !important; color: var(--lt-primary-ink) !important; border-color: var(--lt-primary) !important; box-shadow: 0 4px 12px var(--lt-primary-glow) !important; }
.pb2-root .lb-num.btn.btn-limitnum, .pb2-root .btn-group-toggle > .btn-limitnum.lb-num { background: var(--lt-warn-soft) !important; border-color: var(--lt-warn) !important; color: var(--lt-warn) !important; }
.pb2-root .lb-num.btn.btn-limitnum.active, .pb2-root .btn-group-toggle > .btn-limitnum.lb-num.active { background: var(--lt-warn) !important; color: #1a1200 !important; }
.pb2-root .lb-num--run.btn { min-height: 56px; font-size: 22px !important; }
.pb2-root .lb-num--rood.btn { min-height: 40px; font-size: 15px !important; padding: 0 !important; border-radius: 8px !important; }
.pb2-root .lb-num--rood.btn.active { background: var(--lb-two) !important; border-color: var(--lb-two) !important; color: var(--lb-accent-ink) !important; box-shadow: none !important; }
.pb2-root .lb-tool, .pb2-root .lb-tool.option2btn, .pb2-root .lb-tool:focus, .pb2-root .lb-tool.focus, .pb2-root .lb-tool:active { outline: 0 !important; box-shadow: none !important; outline-offset: 0 !important; }
.pb2-root .lb-tool.active, .pb2-root .lb-tool.option2btn.active, .pb2-root .option2btn.active, .pb2-root .option2btn:active { background: var(--lb-two) !important; color: var(--lb-accent-ink) !important; border-color: var(--lb-two) !important; outline: 0 !important; }
.pb2-root .lb-tool.active::before { content: '✓ '; }
.pb2-root button:focus:not(:focus-visible), .pb2-root .lb-type:focus:not(:focus-visible), .pb2-root .lb-key:focus:not(:focus-visible), .pb2-root .lb-btn:focus:not(:focus-visible) { outline: 0 !important; box-shadow: none !important; }
.pb2-root .lb-tool:focus-visible, .pb2-root .lb-num.btn:focus-visible { outline: 3px solid var(--lb-two) !important; outline-offset: 2px !important; }
/* ข้อ 3+6: นับถอยหลังของหน้าใหม่ ([data-lb-countdown] — flow เดินจากค่า server) */
.pb2-root .lb-cd { display: inline-flex; align-items: baseline; font: inherit; color: inherit; white-space: nowrap; }
.pb2-root .lb-cd b { font: inherit; color: inherit; font-variant-numeric: tabular-nums; }
.pb2-root .lb-cd__day[hidden] { display: none !important; }
.pb2-root .lb-closed { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--lt-bad-soft); border: 1px solid rgba(255, 107, 107, 0.4); color: var(--lt-text); }
.pb2-root .lb-closed[hidden] { display: none !important; }
.pb2-root .lb-closed i { color: var(--lt-bad); font-size: 22px; }
.pb2-root .lb-closed > div { flex: 1; min-width: 0; display: grid; gap: 2px; }
.pb2-root .lb-closed b { font-size: 16px; }
.pb2-root .lb-closed span { font-size: 13px; color: var(--lt-text-2); }
body.pb2-closed .pb2-root .lb-count, body.pb2-closed .pb2-root .lb-strip__count { color: var(--lt-bad) !important; }
body.pb2-closed .pb2-root .lb-bar, body.pb2-closed .pb2-root .lb-types, body.pb2-closed .pb2-root [id="2option"], body.pb2-closed .pb2-root .lb-modes, body.pb2-closed .pb2-root .lb-modes__content, body.pb2-closed .pb2-root .lb-selected, body.pb2-closed .pb2-root .lb-info, body.pb2-closed .pb2-root #price .lb-sheet__actions, body.pb2-closed .pb2-root #price .lb-price-same, body.pb2-closed .pb2-root #price .lb-sheet__tools, body.pb2-closed .pb2-root .lb-switch, body.pb2-closed .pb2-root .lb-ying__form { display: none !important; }
body.pb2-closed .pb2-root .lb-page { padding-bottom: 24px; }
/* ข้อ 5+15: ลำดับชั้น เนื้อหา < แถบย่อ/แถบล่างของเรา (ทึบ) < header/เมนู/overlay ของเว็บ (1020/1023/998) ; เว้นที่ล่างของหน้า ≥ ความสูงแถบ */
.pb2-root .lb-strip { z-index: 30; }
.pb2-root .lb-bar { z-index: 40; }
.pb2-root #price, .pb2-root #price .lb-inline__panel, .pb2-root #poy_list table, .pb2-root .lb-crow td { position: static !important; z-index: auto !important; }
/* R34g คอนทราสต์ธีมสว่าง (pagebet_a11y_check): ป้าย "เปิดรับอยู่" เขียวเข้มขึ้น, ป้ายช่องยอดใช้ ink-2 แทน muted, เลขอั้นสีส้มเข้มขึ้น — ทุกตัว ≥ 4.5:1 */
.pb2-root.pb2-theme-red .lb-status--open { color: var(--lt-ok-ink, var(--lt-ok)); }
.pb2-root .lb-totals__item { color: var(--lt-text-2); }
.pb2-root.pb2-theme-red .lb-num.btn.btn-limitnum, .pb2-root.pb2-theme-red .btn-group-toggle > .btn-limitnum.lb-num { color: var(--lt-warn-ink, var(--lt-warn)) !important; }
.pb2-root.pb2-theme-red .lb-num-chip--reduced, .pb2-root.pb2-theme-red .lb-limits__head { color: var(--lt-warn-ink, var(--lt-warn)); }
/* ============ R34g add-on (เจ้าของ 17:50): ใบโพย "ตรวจสอบโพย/ส่งโพยสำเร็จ" อ่านชัด + ครบ (ราคา · บาทละ · ถ้าถูกได้) ============ */
/* theme-override §10 ทำ #printpoy #capture พื้นขาว (paper !important) + .pagemodal .content-scroll โปร่ง/เลื่อน → ตัวหนังสือสว่างของการ์ดมืดหายบนพื้นขาว ; ล้างให้เป็นโทเค็นของหน้า (ธีมสว่าง = การ์ดขาวตัวเข้มตามโทเค็นเดียวกัน) */
.pb2-root #printpoy.open .content-scroll, .pb2-root #printpoy.open .lb-sheet__scroll, .pb2-root #sendpoy .content-scroll { background: var(--lt-card) !important; color: var(--lt-text) !important; }
.pb2-root #printpoy #capture, .pb2-root #sendpoy .lb-slip, .pb2-root .lb-slip--dark { background: var(--lt-bg) !important; color: var(--lt-text) !important; border: 1px solid var(--lt-border-strong) !important; border-radius: 16px !important; box-shadow: none !important; overflow: hidden; position: relative; z-index: auto !important; }
.pb2-root .lb-success__title, .pb2-root .lb-success__help, .pb2-root .lb-slip__name, .pb2-root .lb-slip__round, .pb2-root .lb-slip__foot { color: var(--lt-text) !important; }
.pb2-root .lb-slip__round, .pb2-root .lb-slip__foot, .pb2-root .lb-slip__when { color: var(--lt-text-2) !important; }
.pb2-root .lb-slip__total--legacy, .pb2-root .lb-slip__list--legacy { display: none !important; } /* ของเดิมที่ pagebet.js เขียน (ยอดดิบ "80" / รายการไม่มีอัตรา) คงไว้ใน DOM สำหรับสัญญา JS */
.pb2-root .lb-slip__sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--lt-border); }
.pb2-root .lb-slip__tile { display: grid; gap: 4px; padding: 10px 10px; border-radius: 12px; background: var(--lt-card-2); border: 1px solid var(--lt-border); font-size: 12.5px; color: var(--lt-text-2); font-weight: 700; min-width: 0; }
.pb2-root .lb-slip__tile b { font-family: var(--lb-font-display); font-size: 18px; color: var(--lt-text); font-variant-numeric: tabular-nums; overflow-wrap: normal; white-space: nowrap; }
/* มือถือ: สรุป 3 ช่องเรียงเป็นแถว ป้ายซ้าย-ตัวเลขขวา (ตัวเลขเงินห้ามตัดกลางคำ เช่น "฿1,114.5|6") */
@media (max-width: 639.98px) { .pb2-root .lb-slip__sum { grid-template-columns: minmax(0, 1fr); } .pb2-root .lb-slip__tile { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; } .pb2-root .lb-slip__tile b { font-size: 17px; } }
.pb2-root .lb-slip__tile--sum { background: var(--lt-ok-soft); border-color: rgba(61, 220, 151, 0.35); }
.pb2-root .lb-slip__tile--sum b { color: var(--lt-ok-ink, var(--lt-ok)); }
.pb2-root .lb-slip__rows { display: grid; gap: 8px; padding: 12px 14px; }
.pb2-root .lb-srow { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px 10px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--lt-card-2); border: 1px solid var(--lt-border); }
.pb2-root .lb-srow__no { color: var(--lt-muted); font-size: 12.5px; font-weight: 700; }
.pb2-root .lb-srow__main { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; min-width: 0; }
.pb2-root .lb-srow__num { font-family: var(--lb-font-display); font-size: 24px; line-height: 1.1; font-weight: 800; color: var(--lt-text) !important; letter-spacing: 1px; } /* R34i: เท่า R LbSlipRows (24px) */
.pb2-root .lb-srow__type { font-size: 14px; font-weight: 700; color: var(--lt-text-2); }
.pb2-root .lb-srow__money { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.pb2-root .lb-srow__cell { display: grid; gap: 2px; padding: 6px 8px; border-radius: 10px; background: var(--lt-bg); border: 1px solid var(--lt-border); min-width: 0; }
.pb2-root .lb-srow__cell small { font-size: 11.5px; color: var(--lt-text-2); font-weight: 700; }
.pb2-root .lb-srow__cell b { font-family: var(--lb-font-display); font-size: clamp(12.5px, 3.9vw, 16px); font-weight: 800; color: var(--lt-text); font-variant-numeric: tabular-nums; overflow-wrap: normal; white-space: nowrap; }
@media (min-width: 640px) { .pb2-root .lb-srow__cell b { font-size: 16px; } }
.pb2-root .lb-srow__cell--win b { color: var(--lt-ok-ink, var(--lt-ok)); }
.pb2-root .lb-srow--reduced .lb-srow__type { color: var(--lt-warn-ink, var(--lt-warn)); }
.pb2-root .lb-srow--closed .lb-srow__num { text-decoration: line-through; color: var(--lt-muted); }
.pb2-root .lb-srow--closed .lb-srow__type { color: var(--lt-bad); }
@media (min-width: 640px) { .pb2-root .lb-srow { grid-template-columns: 28px minmax(0, 1.1fr) minmax(0, 1.6fr); } .pb2-root .lb-srow__money { grid-column: 3; } }
/* ============ R34g (B): ขั้นตอน 3 ขั้นในหน้าเดียว (body.pb2-steps + pb2-step-1|2|3) ============ */
.pb2-root .lb-steps { list-style: none; margin: 10px var(--lt-gutter) 0; padding: 6px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; border-radius: 14px; background: var(--lt-card-2); border: 1px solid var(--lt-border); }
.pb2-root .lb-steps__btn { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; border: 0; background: transparent; color: var(--lt-text-2); font-family: var(--lb-font); font-weight: 800; font-size: 14px; cursor: pointer; padding: 0 6px; }
.pb2-root .lb-steps__btn b { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--lt-card-3); color: var(--lt-text); font-size: 13px; flex: none; }
.pb2-root .lb-steps__item.is-active .lb-steps__btn { background: var(--lt-primary); color: var(--lt-primary-ink); box-shadow: 0 6px 16px var(--lt-primary-glow); }
.pb2-root .lb-steps__item.is-active .lb-steps__btn b { background: rgba(255, 255, 255, 0.22); color: #fff; }
.pb2-root .lb-steps__item.is-done .lb-steps__btn { color: var(--lt-text); }
.pb2-root .lb-steps__item.is-done .lb-steps__btn b { background: var(--lt-ok-soft); color: var(--lt-ok-ink, var(--lt-ok)); }
.pb2-root .lb-steps__btn:disabled { cursor: default; opacity: 0.6; }
.pb2-root .lb-steps__item.is-active .lb-steps__btn:disabled { opacity: 1; }
@media (max-width: 420px) { .pb2-root .lb-steps__btn { font-size: 12.5px; gap: 6px; } }
.pb2-root .lb-picks { margin: 10px var(--lt-gutter) 0; padding: 8px 10px; border-radius: 12px; background: var(--lt-card); border: 1px solid var(--lt-border); display: grid; gap: 6px; }
.pb2-root .lb-picks[hidden] { display: none !important; }
.pb2-root .lb-picks__label { font-size: 12.5px; font-weight: 800; color: var(--lt-text-2); display: inline-flex; align-items: center; gap: 6px; }
.pb2-root .lb-picks__label i { color: var(--lt-ok); }
.pb2-root .lb-picks__label b { color: var(--lt-text); }
.pb2-root .lb-picks__row { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
.pb2-root .lb-picks__row::-webkit-scrollbar { display: none; }
.pb2-root .lb-pick { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 8px 0 10px; border-radius: 999px; background: var(--lt-card-2); border: 1px solid var(--lt-border-strong); color: var(--lt-text); font-family: var(--lb-font); cursor: pointer; }
.pb2-root .lb-pick b { font-family: var(--lb-font-display); font-size: 17px; font-weight: 800; letter-spacing: 1px; }
.pb2-root .lb-pick small { font-size: 11.5px; font-weight: 700; color: var(--lt-text-2); }
.pb2-root .lb-pick i { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--lt-bad-soft); color: var(--lt-bad); font-size: 11px; }
/* ปุ่มแถบล่างตามขั้น */
.pb2-root .lb-bar__back, .pb2-root .lb-bar__next, .pb2-root .lb-bar__confirm, .pb2-root .lb-bar .triggerSendpoy { display: none; }
.pb2-root .lb-bar__back { flex: none; min-height: 52px; padding: 0 14px; }
body.pb2-steps.pb2-step-1 .pb2-root .lb-bar__next { display: inline-flex; }
body.pb2-steps.pb2-step-2 .pb2-root .lb-bar__back[data-lb-back="1"], body.pb2-steps.pb2-step-2 .pb2-root .lb-bar .triggerSendpoy { display: inline-flex; }
body.pb2-steps.pb2-step-3 .pb2-root .lb-bar__back[data-lb-back="2"], body.pb2-steps.pb2-step-3 .pb2-root .lb-bar__confirm { display: inline-flex; }
body.pb2-steps:not(.pb2-step-1):not(.pb2-step-2):not(.pb2-step-3) .pb2-root .lb-bar .triggerSendpoy { display: inline-flex; } /* ไม่มี class ขั้น (JS ไม่ทำงาน) → ปุ่มเดิม */
body.pb2-steps.pb2-step-1 .pb2-root .lb-bar__next:disabled, body.pb2-cart-empty .pb2-root .lb-bar__next { opacity: 0.55; pointer-events: none; }
body.pb2-steps.pb2-step-3 .pb2-root .lb-bar__info { display: none; }
/* มือถือ: เห็นทีละขั้น */
@media (max-width: 991.98px) {
  body.pb2-steps.pb2-step-1 .pb2-root #price, body.pb2-steps.pb2-step-3 .pb2-root #price { display: none !important; }
  body.pb2-steps.pb2-step-2 .pb2-root #page_tang, body.pb2-steps.pb2-step-3 .pb2-root #page_tang, body.pb2-steps.pb2-step-2 .pb2-root .lb-picks, body.pb2-steps.pb2-step-3 .pb2-root .lb-picks { display: none !important; }
  body.pb2-steps.pb2-step-2 .pb2-root .lb-grid { grid-template-columns: minmax(0, 1fr); }
}
/* desktop: ขั้น 1+2 ข้างกัน ; ขั้น 3 แผ่นตรวจสอบเต็มความกว้าง (ซ่อนทั้ง 2 คอลัมน์ กันแก้ตะกร้าทั้งที่ใบตรวจสอบเปิดอยู่) */
@media (min-width: 992px) {
  body.pb2-steps.pb2-step-3 .pb2-root #numpage_1 { display: none !important; }
  body.pb2-steps .pb2-root .lb-picks { display: none !important; } /* desktop เห็นตะกร้าข้าง ๆ อยู่แล้ว */
  .pb2-root .lb-steps { max-width: 640px; }
}
/* #sendpoy = ขั้น 3 เปิดในหน้า (ล้าง pagemodal-wrapper ของ theme-override/pageup.css) */
body.pb2-steps .pb2-root #sendpoy, body.pb2-steps .pb2-root #sendpoy.open { display: none !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open { display: block !important; position: static !important; width: auto !important; height: auto !important; background: none !important; margin: 12px var(--lt-gutter) 0 !important; z-index: auto !important; opacity: 1 !important; transition: none !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .container { padding: 0 !important; max-width: none !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .lb-sheet__panel, body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .pagemodal { position: static !important; transform: none !important; width: auto !important; height: auto !important; max-height: none !important; border-radius: var(--lt-radius) !important; border: 1px solid rgba(61, 220, 151, 0.45) !important; background: var(--lt-card) !important; opacity: 1 !important; visibility: visible !important; transition: none !important; display: flex !important; flex-direction: column; margin: 0 !important; box-shadow: var(--lt-shadow) !important; overflow: hidden; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .lb-sheet__head { display: flex !important; height: auto !important; padding: 14px 16px !important; background: linear-gradient(180deg, var(--lt-card-3), var(--lt-card)) !important; color: var(--lt-text) !important; opacity: 1 !important; transform: none !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .lb-sheet__head::before { display: none; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .lb-sheet__head * { color: var(--lt-text) !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .content { height: auto !important; min-height: 0 !important; padding: 0 !important; position: static !important; z-index: auto !important; background: transparent !important; display: block; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .content-scroll { height: auto !important; max-height: none !important; overflow: visible !important; padding: 12px 14px 0 !important; position: static !important; opacity: 1 !important; transform: none !important; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy.open .fixbot { position: static !important; width: auto !important; max-width: none !important; display: grid !important; gap: 10px; padding: 12px 14px 14px !important; background: var(--lt-card-2) !important; border: 0 !important; box-shadow: none !important; animation: none !important; }
.pb2-root #sendpoy #pl_confirm, .pb2-root #sendpoy .lb-slip__total--legacy { display: none !important; } /* ของเดิมที่ pagebet.js เติม — คงใน DOM */
.pb2-root .lb-review__help { margin: 0 0 10px; font-size: 14px; color: var(--lt-text-2); font-weight: 600; }
.pb2-root .lb-sheet__close { border: 0; cursor: pointer; }
body.pb2-steps.pb2-step-3 .pb2-root #sendpoy .lb-sheet__actions .triggerSendpoy { display: none !important; }
body.pb2:has(#printpoy.open) .pb2-root .lb-steps, body.pb2:has(#printpoy.open) .pb2-root .lb-picks, body.pb2:has(#printpoy.open) .pb2-root #sendpoy { display: none !important; }
body.pb2-closed .pb2-root .lb-steps, body.pb2-closed .pb2-root .lb-picks, body.pb2-closed .pb2-root #sendpoy { display: none !important; }
/* R34g (B): ปุ่มในแผ่นตรวจสอบ/สำเร็จ — จำนวนเงินไม่ตัดกลางคำ ; จอแคบเรียงปุ่มเป็นแถวเดียว (ปุ่มยืนยันอยู่บน) */
.pb2-root .lb-btn b, .pb2-root .lb-bar__cta b { white-space: nowrap; }
@media (max-width: 479.98px) { body.pb2-steps .pb2-root #sendpoy .lb-sheet__actions { grid-template-columns: minmax(0, 1fr); } body.pb2-steps .pb2-root #sendpoy .lb-sheet__actions .lb-btn--confirm { order: -1; } }
.pb2-root .lb-sheet__actions .lb-btn { min-width: 0; }
/* R34g (B): แถบล่างขั้น 2/3 — ซ่อนคอลัมน์ "N รายการ · รวม" (ยอดอยู่ในปุ่มแล้ว) ให้ปุ่มเต็มแถว ; แถบไม่ตัดคำทีละตัวอักษร (overflow-wrap ของ .pb2-root) */
.pb2-root .lb-bar { overflow-wrap: normal; }
body.pb2-steps.pb2-step-2 .pb2-root .lb-bar__info { display: none; }
body.pb2-steps.pb2-step-2 .pb2-root .lb-bar .triggerSendpoy, body.pb2-steps.pb2-step-3 .pb2-root .lb-bar__confirm { flex: 1 1 auto; max-width: none; }
.pb2-root .lb-bar__info { min-width: 96px; }

/* ============ R34i (เจ้าของ 2026-10-08 21:15 บั๊ก prod หุ้นรัสเซีย + 21:25 "ตอนกดแทงเหมือนเว็บ R แบบตามรูป") — ขั้น 2 + ใบโพย (ตรวจสอบ/สำเร็จ) เท่า R DEV-032 (B)/DEV-037 ============ */
/* ขั้น 2 แถวตะกร้า (pagebet.js วาด): ลำดับ · เลขใหญ่ · ช่องราคามืด · "× อัตรา" · ป้ายเขียว "ถ้าถูกได้" · ถังขยะแดง ; ชิป 5/10/20/50 สี่ชิปต่อแถว + 100 เต็มแถวถัดไป */
.pb2-root #price #poy_list table td.lb-crow__rate::before { content: '× '; color: var(--lt-muted); }
.pb2-root #price #poy_list table td.lb-crow__rate { white-space: nowrap; font-weight: 800 !important; }
.pb2-root #price #poy_list table td.lb-crow__win .lb-input--ro, .pb2-root .lb-crow__win .lb-input--ro { background: var(--lt-ok-soft) !important; color: var(--lt-ok-ink, var(--lt-ok)) !important; border: 1px solid rgba(61, 220, 151, 0.35) !important; border-radius: 999px !important; font-weight: 800 !important; font-size: 14px !important; min-height: 36px !important; height: auto !important; width: 92px; text-align: center; padding: 4px 8px !important; box-shadow: none !important; }
.pb2-root .lb-chip--price { flex: 1 1 calc(25% - 6px); justify-content: center; min-height: 40px; }
/* ตัวบอกขั้น: ขั้นที่ผ่านแล้วเป็น ✓ (เท่า R "✓ เลือกเลข · 2 ใส่ราคา · 3 ตรวจสอบโพย") */
.pb2-root .lb-steps__item.is-done .lb-steps__btn b { font-size: 0; }
.pb2-root .lb-steps__item.is-done .lb-steps__btn b::before { content: '✓'; font-size: 13px; line-height: 1; }
/* ใบโพย: บรรทัดงวดของเดิม (.bet_round — pagebet.js เขียน, ว่างสำหรับหุ้นบางตัว) ซ่อน ; บรรทัดงวดใหม่ไม่ว่างแน่นอน (SSR: งวด/รอบที่/ปิดรับ วัน เวลา) */
.pb2-root .lb-slip__round--legacy { display: none !important; }
.pb2-root .lb-slip__round--snap { color: var(--lt-text-2) !important; font-size: 13.5px; font-weight: 700; margin-top: 2px; display: inline-flex; align-items: center; gap: 6px; }
.pb2-root .lb-slip__round--snap i { color: var(--lt-muted); }
/* สรุปบน (จำนวนรายการ · ยอดแทงรวม) + สรุปล่าง 4 ช่อง 2 คอลัมน์ (จำนวนรายการ | ยอดแทงรวม | เครดิตคงเหลือ | เครดิตหลังแทง) */
.pb2-root .lb-slip__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 14px 0; }
.pb2-root .lb-slip__meta > div { display: grid; gap: 2px; font-size: 12.5px; color: var(--lt-text-2); font-weight: 700; }
.pb2-root .lb-slip__meta b { font-family: var(--lb-font-display); font-size: 16px; color: var(--lt-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pb2-root .lb-slip__sum--4 { grid-template-columns: 1fr 1fr; border-bottom: 0; border-top: 1px solid var(--lt-border); }
@media (max-width: 639.98px) { .pb2-root .lb-slip__sum--4 { grid-template-columns: 1fr 1fr; } .pb2-root .lb-slip__sum--4 .lb-slip__tile { display: grid; align-items: start; justify-content: stretch; padding: 10px 12px; } .pb2-root .lb-slip__sum--4 .lb-slip__tile b { font-size: 17px; } }
/* แถวใบโพยแบบ R: วงลำดับ · เลขใหญ่ + ป้ายประเภท · บรรทัด "ราคา ฿x · บาทละ N · ถ้าถูกได้ ฿y" */
.pb2-root .lb-srow { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; }
.pb2-root .lb-srow__no { flex: 0 0 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--lt-card-3); color: var(--lt-text-2); font-size: 12.5px; font-weight: 800; margin-top: 2px; }
.pb2-root .lb-srow__main { flex: 1; min-width: 0; display: grid; gap: 4px; align-items: start; }
.pb2-root .lb-srow__top { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pb2-root .lb-srow__type { font-size: 14px; font-weight: 800; color: var(--lt-text) !important; background: var(--lt-primary-soft); border: 1px solid var(--lt-border-strong); border-radius: 999px; padding: 2px 10px; }
.pb2-root .lb-srow__line { display: flex; flex-wrap: wrap; gap: 4px 6px; font-size: 14.5px; color: var(--lt-text-2); font-weight: 600; line-height: 1.5; }
.pb2-root .lb-srow__line b { font-family: var(--lb-font-display); color: var(--lt-text); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal; }
.pb2-root .lb-srow__line small { color: var(--lt-warn-ink, var(--lt-warn)); font-weight: 700; }
.pb2-root .lb-srow__sep { color: var(--lt-muted); }
.pb2-root .lb-srow__line .lb-srow__win { color: var(--lt-ok-ink, var(--lt-ok)) !important; }
.pb2-root .lb-srow__bad { color: var(--lt-bad); font-weight: 800; }
.pb2-root .lb-srow--reduced { background: var(--lt-warn-soft); }
.pb2-root .lb-srow--reduced .lb-srow__type { color: var(--lt-text) !important; }
.pb2-root .lb-srow--closed .lb-srow__num { color: var(--lt-muted) !important; text-decoration: line-through; }
/* การ์ดสำเร็จ: เลขที่โพย 24px ชื่อ 20px ; ปุ่ม 3 ปุ่มแถวเดียว — จอแคบเรียงลง แทงต่อ (ปุ่มหลัก) บนสุด */
.pb2-root #printpoy.open .lb-slip__poyno { font-size: 24px; }
.pb2-root #printpoy.open .lb-slip__name { font-size: 20px; }
@media (max-width: 479.98px) { .pb2-root .lb-sheet__actions--3 { grid-template-columns: 1fr 1fr 1.15fr; gap: 6px; } .pb2-root .lb-sheet__actions--3 .lb-btn { padding: 0 6px; font-size: 13px; white-space: normal; line-height: 1.15; text-align: center; min-height: 46px; } } /* R34i: 3 ปุ่มแถวเดียวเท่า R แม้จอแคบ */
/* R34i (ภาพเจ้าของ R บนมือถือ): แถวตะกร้าบนจอแคบ ≤ 420 px ยังเห็นครบ 6 ส่วน (ลำดับ · เลข · ราคา · × อัตรา · ป้ายเขียว · ถังขยะ) — ย่อขนาดแทนการซ่อนป้าย "ถ้าถูกได้" ; ชิปราคา 4 ต่อแถว (ล้าง width ของ .box__chip-lists .price เดิม) */
.pb2-root .box__chip-lists .price.lb-chip--price { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; flex: 1 1 calc(25% - 6px) !important; }
@media (max-width: 420px) {
  .pb2-root .lb-crow__win { display: table-cell; }
  .pb2-root .lb-ctable__head th:nth-child(4) { display: table-cell; }
  .pb2-root #price #poy_list table td { padding: 6px 2px !important; }
  .pb2-root #price #poy_list table td.lb-crow__no { width: 20px; font-size: 11.5px !important; }
  .pb2-root #price #poy_list table td.lb-crow__num { font-size: 19px !important; width: 50px; letter-spacing: 0; }
  .pb2-root #price #poy_list table input.pl_price { width: 58px; font-size: 16px !important; padding: 4px 4px !important; min-height: 40px !important; }
  .pb2-root #price #poy_list table td.lb-crow__rate { font-size: 12.5px !important; }
  .pb2-root #price #poy_list table td.lb-crow__win .lb-input--ro, .pb2-root .lb-crow__win .lb-input--ro { width: 68px; font-size: 12.5px !important; padding: 4px 4px !important; min-height: 34px !important; }
  .pb2-root .lb-crow__del .lb-del { min-width: 38px; min-height: 38px; }
}

/* ============ R34k (ผู้ทดสอบรอบ 2, 2026-10-09 "ตรวจ 2 เว็บ แล้วแก้แบบละเอียด") ============ */
/* ข้อ 8: ปุ่มประเภท = ชิปกะทัดรัด 3 แถว (3 ตัว · 2 ตัว · วิ่ง) — ป้ายกลุ่มซ้าย · ชิป ≥ 44 px ตัวอักษร 16 px · อัตราจ่ายตัวเล็กในชิป · "กลับเลข" ชิปสลับเล็กเส้นประ ; มือถือเลื่อนแถวข้าง (snap) desktop ห่อแถว ; โครงเดียวกับ R DEV-040 */
.pb2-root .lb-types--compact { padding: 10px 10px 6px; gap: 4px; }
.pb2-root .lb-types--compact .lb-types__group { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 6px; }
.pb2-root .lb-types--compact .lb-types__title { font-size: 12.5px; line-height: 1.15; text-align: center; color: var(--lt-text-2); letter-spacing: 0; }
.pb2-root .lb-types--compact .lb-types__row { display: flex; flex-wrap: nowrap; gap: 6px; margin: 0; padding: 3px 2px 5px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.pb2-root .lb-types--compact .lb-types__row::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .pb2-root .lb-types--compact .lb-types__row { flex-wrap: wrap; overflow: visible; } .pb2-root .lb-types--compact .lb-types__group { grid-template-columns: 56px minmax(0, 1fr); } .pb2-root .lb-types--compact .lb-types__title { font-size: 13.5px; } }
.pb2-root .lb-types--compact .lb-type { flex: none; flex-direction: row; align-items: center; justify-content: center; gap: 6px; min-height: 44px; min-width: 0; padding: 0 12px; border-radius: 999px; background: var(--lt-card-2); border: 1px solid var(--lt-border-strong); color: var(--lt-text); box-shadow: none; scroll-snap-align: start; white-space: nowrap; overflow-wrap: normal; }
.pb2-root .lb-types--compact .lb-type__name { font-size: 16px; font-weight: 800; line-height: 1.1; }
.pb2-root .lb-types--compact .lb-type__pay { font-size: 12px; font-weight: 700; color: var(--lt-text-2); line-height: 1; }
.pb2-root .lb-types--compact .lb-type__pay b { color: var(--c); font-weight: 800; }
.pb2-root .lb-types--compact .lb-type:hover { border-color: var(--c); background: var(--cs); }
.pb2-root .lb-types--compact .lb-type.active { background: var(--c); border-color: var(--c); color: var(--lb-accent-ink); box-shadow: 0 4px 14px var(--cs); }
.pb2-root .lb-types--compact .lb-type.active .lb-type__pay, .pb2-root .lb-types--compact .lb-type.active .lb-type__pay b { color: inherit; opacity: 0.92; }
.pb2-root .lb-types--compact .lb-type.active .lb-type__name::after { content: '✓'; margin-left: 4px; color: inherit; }
.pb2-root .lb-types--compact .lb-type--tool { min-height: 40px; padding: 0 10px; border-style: dashed; }
.pb2-root .lb-types--compact .lb-type--tool .lb-type__name { font-size: 14px; }
.pb2-root .lb-types--compact .lb-type--tool.active { border-style: solid; }
/* เลขอั้น: พับเป็นบรรทัดสรุป (details) — กดดูรายการเต็ม */
.pb2-root details.lb-limits { display: block; padding: 0; gap: 0; }
.pb2-root details.lb-limits > summary { list-style: none; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; cursor: pointer; font-size: 14px; font-weight: 800; color: var(--lt-warn-ink, var(--lt-warn)); }
.pb2-root details.lb-limits > summary::-webkit-details-marker { display: none; }
.pb2-root .lb-limits__count { flex: 1; min-width: 0; font-size: 13px; font-weight: 700; color: var(--lt-text-2); }
.pb2-root .lb-limits__more { font-size: 12.5px; font-weight: 700; color: var(--lt-text-2); white-space: nowrap; }
.pb2-root details.lb-limits[open] > summary .lb-limits__more i { transform: rotate(180deg); }
.pb2-root details.lb-limits > .lb-limits__list, .pb2-root details.lb-limits > .lb-limits__hint { padding: 0 12px; }
.pb2-root details.lb-limits > .lb-limits__hint { padding-bottom: 10px; }
/* ข้อ 8 ต่อ — มือถือ (≤ 767 px): ย่อส่วนหัวให้คีย์แพด/แผงอยู่ในจอแรก (เป้า 360×640: ขอบบนของแป้นอยู่ในจอโดยไม่เลื่อน) */
@media (max-width: 767.98px) {
  .pb2-root .lb-top { padding-top: 6px; }
  .pb2-root .lb-back { min-height: 36px; padding: 0 12px; font-size: 14px; }
  .pb2-root .lb-top__link { min-height: 36px; font-size: 13px; padding: 0 8px; }
  .pb2-root .lb-head { margin-top: 8px; padding: 12px; gap: 8px; }
  .pb2-root .lb-head__name { font-size: 20px; }
  .pb2-root .lb-count { font-size: 30px; }
  .pb2-root .lb-head__status small { display: none; }
  .pb2-root .lb-head__row--meta { gap: 6px; }
  .pb2-root .lb-meta { font-size: 12.5px; }
  .pb2-root .lb-af-badge, .pb2-root .lb-pill { min-height: 26px; font-size: 12px; padding: 0 10px; }
  .pb2-root .lb-strip { margin-top: 8px; min-height: 40px; }
  .pb2-root .lb-steps { margin-top: 8px; padding: 4px; }
  .pb2-root .lb-steps__btn { min-height: 40px; font-size: 13px; gap: 6px; }
  .pb2-root .lb-steps__btn b { width: 22px; height: 22px; font-size: 12px; }
  .pb2-root .lb-grid { padding-top: 8px; gap: 8px; }
  .pb2-root .lb-play { gap: 8px; }
  .pb2-root .lb-selected { display: none; } /* ชิปประเภทโชว์สถานะเลือกอยู่แล้ว ; ป้าย #resultoption ยังอยู่ใน DOM (สัญญา pagebet.js) */
  .pb2-root .lb-info__item { font-size: 12.5px; line-height: 1.35; }
  .pb2-root .lb-segment .nav-link.lb-segment__tab, .pb2-root #nav-tab1 .nav-link.lb-segment__tab, .pb2-root .lb-segment__tab { min-height: 42px; font-size: 14px !important; }
}
/* R34k ข้อ 8 (รอบ 2 หลังวัดจริง 360×640: คีย์แพดยังอยู่ที่ y≈881) — แถวบนอยู่ในการ์ดหัว ; details ปิด = ไม่วาดลูก ; มือถือ: แถบย่อซ่อนจนกว่าการ์ดหัวจะพ้นจอ (fixed ใต้ header ไม่ดันเนื้อหา) ; ย้าย "จ่าย/ขั้นต่ำ" + เลขอั้นไปใต้คีย์แพด (order) ; หัวการ์ด/ตัวบอกขั้น/สวิตช์โหมดเตี้ยลง */
.pb2-root .lb-head__top { padding: 0; margin: 0 0 2px; }
.pb2-root .lb-head__top .lb-back { box-shadow: none; }
.pb2-root details.lb-limits:not([open]) > :not(summary) { display: none !important; }
@media (max-width: 767.98px) {
  .pb2-root .lb-head { margin-top: 6px; padding: 10px 12px 12px; gap: 6px; }
  .pb2-root .lb-head__top .lb-back { min-height: 32px; padding: 0 10px; font-size: 13.5px; }
  .pb2-root .lb-head__top .lb-top__link { min-height: 32px; font-size: 12.5px; padding: 0 6px; }
  .pb2-root .lb-head__name { font-size: 19px; }
  .pb2-root .lb-count { font-size: 28px; }
  .pb2-root .lb-status { min-height: 24px; font-size: 12px; }
  .pb2-root .lb-strip { display: none; position: fixed; top: var(--site-header-h, var(--pb2-header-h, 0px)); left: var(--lt-gutter); right: var(--lt-gutter); margin: 6px 0 0; z-index: 30; }
  body.pb2-strip-on .pb2-root .lb-strip { display: flex; }
  .pb2-root .lb-steps { margin-top: 8px; padding: 3px; }
  .pb2-root .lb-steps__btn { min-height: 38px; font-size: 13px; }
  .pb2-root .lb-play > .lb-types { order: 1; }
  .pb2-root .lb-play > [id="2option"] { order: 2; }
  .pb2-root .lb-play > .lb-modes { order: 3; }
  .pb2-root .lb-play > .lb-modes__content { order: 4; }
  .pb2-root .lb-play > .lb-info { order: 5; }
  .pb2-root .lb-play > .lb-limits { order: 6; }
  .pb2-root .lb-play > .lb-selected { order: 7; }
  .pb2-root .lb-play > .lb-legacy-strip { order: 0; }
  .pb2-root .lb-types--compact { padding: 8px 8px 4px; gap: 2px; }
  .pb2-root .lb-types--compact .lb-types__row { padding: 2px 2px 4px; }
  .pb2-root .lb-modes .lb-segment, .pb2-root #nav-tab1.lb-segment { padding: 3px !important; }
  .pb2-root .lb-segment .nav-link.lb-segment__tab, .pb2-root #nav-tab1 .nav-link.lb-segment__tab, .pb2-root .lb-segment__tab { min-height: 40px; }
}
/* R34k ข้อ 8 (รอบ 3 — วัด 360×640 ไม่มี cookie: แถบถาม 58 + หัว 181 (แถว meta พับ 2 บรรทัด 51) → คีย์แพด y 703): มือถือ — ปุ่มกลับเป็นไอคอนกลมซ้อนมุมซ้ายบนของการ์ด (ไม่กินแถว), ลิงก์กติกา/ผล ย้ายไปแถว meta ที่เลื่อนข้างได้บรรทัดเดียว, แถบถามเตี้ยลง, ตัวบอกขั้น/ชิปแน่นขึ้น */
.pb2-root .lb-meta--link { color: var(--lt-text-2); text-decoration: none; }
@media (min-width: 768px) { .pb2-root .lb-meta--link { display: none !important; } }
@media (max-width: 767.98px) {
  .pb2-root .lb-head { position: relative; padding: 8px 10px 10px; gap: 4px; }
  .pb2-root .lb-head__top { position: absolute; left: 10px; top: 8px; margin: 0; z-index: 2; }
  .pb2-root .lb-head__top .lb-top__links { display: none; }
  .pb2-root .lb-head__top .lb-back { width: 34px; height: 34px; min-height: 34px; padding: 0; justify-content: center; border-radius: 50%; font-size: 0; gap: 0; }
  .pb2-root .lb-head__top .lb-back i { font-size: 14px; }
  .pb2-root .lb-head > .lb-head__top + .lb-head__row { padding-left: 42px; min-height: 34px; } /* แถวชื่อ (ถัดจากปุ่มกลับที่ซ้อนมุม) — nth-of-type นับ div แถวบนด้วย จึงใช้ sibling ถัดไป (header_overlap_check: ชื่อหุ้นสั้นโดนปุ่มกลับทับ) */
  .pb2-root .lb-head__row--meta { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; min-height: 26px; -webkit-overflow-scrolling: touch; }
  .pb2-root .lb-head__row--meta::-webkit-scrollbar { display: none; }
  .pb2-root .lb-head__row--meta > * { flex: none; white-space: nowrap; }
  .pb2-root .lb-head__row--count { align-items: center; }
  .pb2-root .nhf-uisw--ask { padding: 6px 10px !important; min-height: 0 !important; gap: 6px !important; font-size: 13px !important; }
  .pb2-root .nhf-uisw--ask a, .pb2-root .nhf-uisw--ask button { min-height: 30px !important; padding: 0 10px !important; font-size: 12.5px !important; }
  .pb2-root .nhf-uisw--ask .nhf-uisw__x { width: 30px !important; height: 30px !important; padding: 0 !important; }
  .pb2-root .lb-steps { padding: 2px; }
  .pb2-root .lb-steps__btn { min-height: 34px; font-size: 12.5px; }
  .pb2-root .lb-types--compact { padding: 6px 8px 2px; gap: 0; }
  .pb2-root .lb-types--compact .lb-types__row { padding: 2px 2px 2px; }
}
/* R34k ข้อ 8 (รอบ 4): บนมือถือ แถบล่าง (fixed 76 px) บังส่วนล่างของจอ → นับ "จอแรก" ถึงขอบบนของแถบล่าง ; ป้ายวิ่งต้อนรับของเว็บ (nav_marquee ~40 px เหนือเนื้อหา) ซ่อนเฉพาะหน้าแทงใหม่บนมือถือ (:has — เบราว์เซอร์เก่าคงเดิม) ; ช่องว่างระหว่างบล็อก 4 px */
@media (max-width: 767.98px) {
  body.pb2 #content > .navbar:has(#marquee1) { display: none !important; }
  .pb2-root .lb-page { padding-top: 0; }
  .pb2-root .lb-head { margin-top: 4px; padding: 6px 10px 8px; }
  .pb2-root .lb-steps { margin-top: 6px; }
  .pb2-root .lb-steps__btn { min-height: 36px; }
  .pb2-root .lb-grid { padding-top: 6px; gap: 6px; }
  .pb2-root .lb-play { gap: 6px; }
  .pb2-root .nhf-uisw--ask { padding: 4px 8px !important; }
  .pb2-root .nhf-uisw--ask a, .pb2-root .nhf-uisw--ask button { min-height: 28px !important; }
  .pb2-root .nhf-uisw--ask .nhf-uisw__x { width: 28px !important; height: 28px !important; }
  .pb2-root .lb-segment .nav-link.lb-segment__tab, .pb2-root #nav-tab1 .nav-link.lb-segment__tab, .pb2-root .lb-segment__tab { min-height: 38px; }
}
/* R34k ข้อ 7 ต่อ (จอสัมผัส): iOS/Android คง :hover ค้างหลังแตะ → ขอบ/พื้น hover ดูเหมือน "วงค้าง" ที่ปุ่มก่อนหน้า → บนอุปกรณ์ที่ไม่มี hover ให้ปุ่มที่ไม่ active คงสไตล์ปกติเสมอ */
@media (hover: none) {
  .pb2-root .lb-num.btn:hover:not(.active) { border-color: var(--lt-border) !important; background: var(--lt-card-2) !important; }
  .pb2-root .lb-num.btn.btn-limitnum:hover:not(.active) { border-color: var(--lt-warn) !important; background: var(--lt-warn-soft) !important; }
  .pb2-root .lb-tool:hover:not(.active) { border-color: var(--lt-border); }
  .pb2-root .lb-types--compact .lb-type:hover:not(.active) { border-color: var(--lt-border-strong); background: var(--lt-card-2); }
  .pb2-root .lb-chip--price:hover:not(.active) { background: var(--lt-card-2); color: var(--lt-text-2); border-color: var(--lt-border); }
}
/* R34k (ผู้ทดสอบ R34g ข้อ 20 "กดสลับ 2 ตัวบน/ล่าง แล้วหน้าเลื่อน"): pagebet.js show()/hide() กล่องเครื่องมือ #2option ใต้ชิปประเภท → เมื่อกล่องนั้นอยู่ในจอ (ชิปกะทัดรัดทำให้อยู่ใกล้กว่าเดิม) scroll anchoring ของเบราว์เซอร์จะขยับ scrollY ตาม
   → ปิด anchoring ใต้ root ของหน้าใหม่: scrollY นิ่งเสมอ เนื้อหาใต้กล่องขยับแทน */
.pb2-root { overflow-anchor: none; }
/* R34k (ผู้ทดสอบ R34g ข้อ 20 — สาเหตุจริงที่วัดได้: ไม่ใช่ anchoring แต่หน้าสั้นลงเท่ากล่อง #2option ตอน pagebet.js ซ่อน แล้วเบราว์เซอร์ clamp scrollY ให้ไม่เกินท้ายเอกสาร = หน้ากระตุก)
   → flow §14 ใส่ตัวเว้นท้ายหน้าชั่วคราวเท่าความสูงกล่อง (body.pb2-tail-pad + --pb2-tail) ก่อนเฟรมถัดไป แล้วเอาออกเมื่อผู้ใช้เลื่อนขึ้นพ้น — ปกติไม่มีที่ว่างท้ายหน้าเพิ่ม (board_size_check: tail ≤ 140 px) */
body.pb2-tail-pad .pb2-root .lb-page { padding-bottom: calc(var(--lb-bar-h) + 28px + var(--pb2-tail, 0px)); }

/* ============ R47 (ผู้ทดสอบรอบ 3 — PDF "หน้าเว็บ L R เทส 3", เจ้าของ 2026-10-09 "รีบ ๆ หน้าแทง") ============ */
/* กติกาทุกหน้าใหม่: ไม่มี element กว้างกว่าจอ ไม่มีการเลื่อนแนวนอน (tester3_check: documentElement.scrollWidth ≤ innerWidth ทุกหน้า/ทุกสถานะ + ไม่มีแถวชิปที่ต้องเลื่อน) */
/* ข้อ 2: แถวชิปประเภทบนมือถือห่อแถวแทนเลื่อนข้าง — ซ่อนป้ายกลุ่ม (ชื่อชิปบอกอยู่แล้ว "3 บน / 3 โต๊ด") ชิปแบ่งความกว้างเท่ากัน (4 ชิปใน 360 px) ชื่อ 15.5 px + "จ่าย N" 11 px ซ้อนกัน ;
   "กลับเลข" ของกลุ่ม 3 ตัว = แถบสลับเตี้ยเต็มแถวใต้กลุ่ม (กลุ่ม 2 ตัวมีที่พอ → อยู่แถวเดียวกัน) ; ไม่มี ✓ ต่อท้ายชื่อ (สีทึบบอก active อยู่แล้ว) */
@media (max-width: 767.98px) {
  .pb2-root .lb-types--compact .lb-types__group { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pb2-root .lb-types--compact .lb-types__title { display: none; }
  .pb2-root .lb-types--compact .lb-types__row { flex-wrap: wrap; overflow: visible; gap: 4px; padding: 0 0 4px; scroll-snap-type: none; }
  .pb2-root .lb-types--compact { padding: 4px 8px 0; }
  .pb2-root .lb-types--compact .lb-types__group--run .lb-types__row { padding-bottom: 0; }
  .pb2-root .lb-types--compact .lb-type { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 1px; min-height: 44px; padding: 3px 4px; border-radius: 12px; white-space: nowrap; scroll-snap-align: none; }
  .pb2-root .lb-types--compact .lb-type__name { font-size: 16px; line-height: 1.1; } /* คงกติกา R34k: ตัวอักษรชิป ≥ 16 px */
  .pb2-root .lb-types--compact .lb-type__pay { font-size: 11px; line-height: 1.1; }
  .pb2-root .lb-types--compact .lb-type.active .lb-type__name::after { content: none; }
  .pb2-root .lb-types--compact .lb-type--tool { flex: 1 1 100%; flex-direction: row; gap: 6px; min-height: 40px; padding: 0 10px; border-radius: 999px; } /* คงกติกา R34k: ปุ่มเครื่องมือ ≥ 40 px / 14 px */
  .pb2-root .lb-types--compact .lb-type--tool .lb-type__name { font-size: 14px; }
  .pb2-root .lb-types--compact .lb-types__group--two .lb-type--tool { flex: 0 1 auto; min-height: 44px; padding: 0 10px; }
  .pb2-root .lb-types--compact .lb-types__group--two .lb-type--tool .lb-type__name { font-size: 14px; }
  /* ข้อ 8: แถว meta ของการ์ดหัว (ปิดรับ · AF · สลับคลาสสิก · กติกา · ผล) ห่อเป็น 2 บรรทัดแทนเลื่อนข้าง — ไม่มีปุ่มหลุดขวา */
  .pb2-root .lb-head__row--meta { flex-wrap: wrap; overflow: visible; row-gap: 4px; }
  .pb2-root .lb-head__row--meta > * { flex: 0 1 auto; max-width: 100%; }
  .pb2-root .lb-head__row--meta .lb-pill--switch { white-space: nowrap; }
  /* ข้อ 2 ต่อ: ชิป "เลือกแล้ว" ห่อแถว (สูงสุด ~2 แถว แล้วเลื่อนลง) — ไม่มีการเลื่อนแนวนอน */
  .pb2-root .lb-picks__row { flex-wrap: wrap; overflow-x: hidden; overflow-y: auto; max-height: 96px; }
}
/* ข้อ 4: "ดึงโพย / เลขชุด" ใช้ได้ตั้งแต่ขั้น 1 ตอนตะกร้ายังว่าง — ปุ่มเล็กข้างสวิตช์โหมด (.triggerPoy เดิมของ pagebet.js) ไม่กินความสูง ; desktop ซ่อน (หัวตะกร้ามีปุ่มอยู่ข้างกัน) */
.pb2-root .lb-modes { display: flex; align-items: stretch; gap: 6px; }
.pb2-root .lb-modes .lb-segment { flex: 1 1 auto; min-width: 0; }
.pb2-root .lb-modes__pull { flex: none; min-height: 44px; padding: 0 10px; white-space: nowrap; gap: 6px; font-size: 13.5px; }
.pb2-root .lb-modes__pull i { font-size: 14px; }
@media (min-width: 992px) { .pb2-root .lb-modes__pull { display: none; } }
body.pb2-ying-only .pb2-root .lb-modes__pull { display: none; }
/* ข้อ 6: แผ่นดึงโพยต้องถอยออกได้ชัด ๆ — ปุ่ม X มีขอบ/สีเต็ม + แถวล่าง "ยกเลิก" เต็มความกว้าง ; พื้นที่เลื่อนเผื่อแถวล่าง */
.pb2-root #poy .lb-sheet__close { color: var(--lt-text); border: 1px solid var(--lt-border-strong); }
.pb2-root .lb-sheet__foot { display: flex; gap: 8px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--lt-border); background: var(--lt-card-2); }
.pb2-root .lb-sheet__foot .lb-btn { flex: 1; min-height: 46px; font-size: 15px; }
.pb2-root #poy .lb-sheet__scroll, .pb2-root #poy .pagemodal .content-scroll { max-height: calc(94vh - 180px); }
/* ข้อ 5: แท็บ/ปุ่ม/หัวตารางในแผ่นต้องอ่านออก (≥ 4.5:1 ทั้ง 2 ธีม) — pageup.css ตั้งสี .pagemodal .nav-tabs .nav-link ด้วย specificity สูงกว่า → ยึดสีของธีมหน้าใหม่ */
.pb2-root #poy .nav-tabs .nav-link.lb-segment__tab { color: var(--lt-text) !important; background: transparent !important; border: 0 !important; opacity: 1 !important; font-weight: 800 !important; }
.pb2-root #poy .nav-tabs .nav-link.lb-segment__tab.active { color: var(--lt-primary-ink) !important; background: var(--lt-primary) !important; }
.pb2-root #poy .lb-table__head th { color: var(--lt-text-2) !important; background: transparent !important; }
.pb2-root #poy .lb-table td { color: var(--lt-text) !important; background: transparent !important; }
.pb2-root #poy .lb-sets__tools .lb-btn--ghost { color: var(--lt-text) !important; }
/* ตารางในแผ่นไม่ล้นจอ: กว้างเท่าแผ่น คอลัมน์คงที่ เลขยาวตัดบรรทัดได้ */
.pb2-root #poy .lb-table { table-layout: fixed; width: 100%; }
.pb2-root #poy .lb-table td, .pb2-root #poy .lb-table th { overflow-wrap: anywhere; word-break: break-word; }
.pb2-root #poy .lb-table th:nth-child(1), .pb2-root #poy .lb-table td:nth-child(1) { width: 30%; }
.pb2-root #poy .lb-table th:nth-child(2), .pb2-root #poy .lb-table td:nth-child(2) { width: 24%; }
.pb2-root #poy .lb-table th:nth-child(4), .pb2-root #poy .lb-table td:nth-child(4) { width: 52px; }
.pb2-root #poy .lb-sheet__panel, .pb2-root #poy .lb-sheet__scroll { overflow-x: hidden; }
/* R47 (วัดจริงรอบแรก 360×640): แผ่น #poy ถูก pageup.css ตั้ง top:0 (ชนกับ bottom:0 ของเรา → เกาะขอบบน หัวแผ่นหลุดจอ) / ปุ่ม X 36 px / แถวล่างเป็น block → ยึดค่าของหน้าใหม่ด้วย specificity+!important */
.pb2-root #poy.lb-sheet .lb-sheet__panel, .pb2-root #poy.lb-sheet .pagemodal { top: auto !important; bottom: 0 !important; max-height: 94vh !important; }
.pb2-root #poy.lb-sheet .lb-sheet__head .lb-sheet__close, .pb2-root #poy.lb-sheet .pagemodal .head .btn-close { width: 44px !important; height: 44px !important; min-width: 44px !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; color: var(--lt-text) !important; background: var(--lt-card-2) !important; border: 1px solid var(--lt-border-strong) !important; border-radius: 12px !important; font-size: 18px !important; opacity: 1 !important; }
.pb2-root #poy.lb-sheet .lb-sheet__foot { display: flex !important; }
body.pb2 .pb2-root #poy.lb-sheet .nav-tabs .nav-link.lb-segment__tab { color: var(--lt-text) !important; }
body.pb2 .pb2-root #poy.lb-sheet .nav-tabs .nav-link.lb-segment__tab.active { color: var(--lt-primary-ink) !important; background: var(--lt-primary) !important; }
/* การจัดวาง (ข้อ 4 audit): legacy .cart-item-lists / .sidebar-tanghuay ใส่ padding ของตัวเอง → แผงเลือกเลขเยื้องขวา 3 px จากการ์ดหัว/ตัวบอกขั้น → ใช้ร่องเดียวกันทุกแผง (--lt-gutter) */
.pb2-root #numpage_1.lb-grid { padding-left: var(--lt-gutter) !important; padding-right: var(--lt-gutter) !important; margin-left: 0 !important; margin-right: 0 !important; }
.pb2-root #page_tang.lb-play { padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; }
/* R47 ข้อ 5 (สาเหตุจริงที่วัดได้ด้วย CSSOM): theme-override.css `#poy #poytab .nav-link { color: var(--nhf-ink-2) !important }` (2 id) ชนะทุกกฎที่มี id เดียว → ใช้ 2 id เท่ากัน + class มากกว่า */
.pb2-root #poy #poytab .nav-link.lb-segment__tab { color: var(--lt-text) !important; background: transparent !important; opacity: 1 !important; } /* 2 id + 2 class (2,2,0) > (2,1,0) ; scope .pb2-root ตามกติกาไฟล์นี้ */
.pb2-root #poy #poytab .nav-link.lb-segment__tab.active { color: var(--lt-primary-ink) !important; background: var(--lt-primary) !important; }
/* R47 ข้อ 5 (ธีมแดง — วัดด้วย CSSOM): themes/red.css + theme-override `.pagemodal .head * { color:#fff !important }` ทำให้ชื่อแผ่น/ไอคอนขาวบนหัวแผ่นสีอ่อน (1.16:1) → ยึดสีตัวอักษรของธีมหน้าใหม่ด้วย specificity สูงกว่า */
.pb2-root #poy.lb-sheet .pagemodal .head *, .pb2-root #poy.lb-sheet .lb-sheet__head * { color: var(--lt-text) !important; }
/* audit การจัดวาง (desktop): ตัวบอกขั้นเคยถูกจำกัด 640 px → ขอบขวาไม่ตรงกับการ์ดหัว/ตะกร้า → กว้างเท่าการ์ดหัว */
@media (min-width: 992px) { .pb2-root .lb-steps { max-width: none; } }
/* R47 (วัดจริง 360 px): ปุ่มหลักในแถบล่าง "ถัดไป: ตรวจสอบโพย ฿190.00" ตัวอักษรถูกตัด → จอ ≤ 374 px แยกยอดเงินเป็นบรรทัดที่ 2 (ไม่ตัดคำ ไม่ล้น) ; ย่อช่องว่างแนวตั้งให้คีย์แพดอยู่ในจอแรกทั้ง 2 ธีม (ธีมแดง header/การ์ดสูงกว่า) */
@media (max-width: 374.98px) {
  .pb2-root .lb-bar__cta { white-space: normal; text-align: center; line-height: 1.15; padding: 4px 8px; font-size: 14px; flex-wrap: wrap; row-gap: 0; }
  .pb2-root .lb-bar__cta b { display: block; width: 100%; }
  .pb2-root .lb-head { padding-bottom: 6px; gap: 3px; }
  .pb2-root .lb-steps { margin-top: 4px; }
  .pb2-root .lb-grid { padding-top: 4px; gap: 4px; }
  .pb2-root .lb-play { gap: 4px; }
  .pb2-root .lb-types--compact { padding-top: 2px; }
}

