            /* ═══════════════════════════════════════════════
               ENFORCEMENT PAGE — Professional KDP Theme
               Navy var(--brand-navy) · Gold var(--brand-gold)
               ═══════════════════════════════════════════════ */
            #pg-enforcement { background:#e8eef6; min-height:100vh; padding:0; }

            /* ── Hero ── */
            .enf-hero {
              background: linear-gradient(150deg,#061220 0%,#0c2244 45%,var(--brand-navy) 70%,#153060 100%);
              padding:32px 40px 0; position:relative; overflow:hidden;
            }
            /* gold shimmer bars */
            .enf-hero::before {
              content:''; position:absolute; top:-80px; right:-60px;
              width:340px; height:340px; border-radius:50%;
              background:radial-gradient(circle,rgba(200,169,106,.12) 0%,transparent 65%);
              pointer-events:none;
            }
            .enf-hero::after {
              content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
              background:linear-gradient(90deg,transparent 0%,var(--brand-gold) 30%,#e8cc8a 50%,var(--brand-gold) 70%,transparent 100%);
            }

            .enf-hero-inner {
              display:flex; align-items:flex-start; gap:16px;
              position:relative; z-index:1;
            }
            .enf-hero-badge {
              width:52px; height:52px; border-radius:14px; flex-shrink:0;
              background:linear-gradient(135deg,var(--brand-gold),#e8cc8a 50%,#a07840);
              box-shadow:0 0 0 2px rgba(200,169,106,.5), 0 6px 20px rgba(0,0,0,.35);
              display:flex; align-items:center; justify-content:center;
              font-size:22px; color:var(--brand-navy);
            }
            .enf-hero-texts { flex:1; min-width:0; }
            .enf-hero-title {
              font-size:22px; font-weight:800; color:#fff; line-height:1.2;
              letter-spacing:.01em;
            }
            .enf-hero-title em {
              font-style:normal; color:var(--brand-gold);
            }
            .enf-hero-sub {
              font-size:12px; color:#e8cc8a; margin-top:5px; letter-spacing:.02em;
            }
            .enf-hero-actions { flex-shrink:0; }
            .enf-refresh-btn {
              display:inline-flex; align-items:center; gap:7px;
              padding:8px 18px;
              background:rgba(200,169,106,.16); border:1px solid rgba(200,169,106,.55);
              color:#e8cc8a; border-radius:8px; cursor:pointer; font-size:13px;
              font-weight:600; font-family:inherit; transition:all .15s; white-space:nowrap;
            }
            .enf-refresh-btn:hover { background:rgba(200,169,106,.28); border-color:#e8cc8a; color:#fff; }

            /* ── Hero search ── */
            .enf-hero-search {
              display:flex; align-items:center; gap:8px; margin-top:0;
            }
            .enf-search-wrap {
              display:flex; align-items:center; gap:7px;
              background:rgba(255,255,255,.10); border:1px solid rgba(200,169,106,.35);
              border-radius:8px; padding:0 10px; transition:border-color .15s,background .15s;
            }
            .enf-search-wrap:focus-within { background:rgba(255,255,255,.16); border-color:rgba(200,169,106,.7); }
            .enf-search-wrap i { color:#e8cc8a; font-size:13px; }
            .enf-search-wrap input {
              background:none; border:none; outline:none; color:#fff;
              font-size:13px; padding:7px 0; width:200px; font-family:inherit;
            }
            .enf-search-wrap input::placeholder { color:rgba(232,204,138,.65); }
            .enf-search-count {
              font-size:11px; color:rgba(232,204,138,.9); padding:0 6px;
              white-space:nowrap;
            }
            @media(max-width:768px) {
              .enf-hero-actions { display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
              .enf-search-wrap input { width:130px; }
            }

            /* ── Date toolbar (เลือกวันขายทอดตลาด — date-centric) ── */
            .enf-datebar {
              display:flex; align-items:center; justify-content:space-between; gap:12px;
              flex-wrap:wrap; margin-top:18px; position:relative; z-index:1;
            }
            .enf-datebar-pick { display:flex; align-items:center; gap:8px; }
            .enf-day-arrow {
              width:34px; height:34px; border-radius:8px; flex-shrink:0;
              background:rgba(255,255,255,.10); border:1px solid rgba(200,169,106,.45);
              color:#e8cc8a; cursor:pointer; font-size:13px; transition:all .15s;
              display:flex; align-items:center; justify-content:center;
            }
            .enf-day-arrow:hover:not(:disabled) { background:rgba(200,169,106,.22); border-color:var(--brand-gold); }
            .enf-day-arrow:disabled { opacity:.3; cursor:default; }
            .enf-date-select-wrap {
              display:flex; align-items:center; gap:8px; position:relative;
              background:rgba(255,255,255,.12); border:1px solid rgba(200,169,106,.5);
              border-radius:9px; padding:0 34px 0 12px; min-width:240px;
              transition:border-color .15s, background .15s;
            }
            .enf-date-select-wrap:focus-within { border-color:var(--brand-gold); background:rgba(255,255,255,.18); }
            .enf-date-select-wrap > .fa-calendar-day { color:var(--brand-gold); font-size:14px; }
            .enf-date-caret { position:absolute; right:12px; color:#e8cc8a; font-size:12px; pointer-events:none; }
            .enf-date-select-wrap select {
              appearance:none; -webkit-appearance:none; -moz-appearance:none;
              background:none; border:none; outline:none; cursor:pointer;
              color:#fff; font-size:14px; font-weight:700; font-family:inherit;
              padding:9px 0; flex:1; min-width:0;
            }
            .enf-date-select-wrap select option { color:#111827; font-weight:600; }

            /* date header ในแผงผล */
            .enf-date-head {
              display:flex; align-items:center; gap:12px; flex-wrap:wrap;
              margin-bottom:18px; padding-bottom:12px;
              border-bottom:2px solid rgba(15,42,82,.15);
            }
            .enf-date-head-main { font-size:19px; font-weight:800; color:var(--brand-navy); display:flex; align-items:center; gap:9px; }
            .enf-date-head-main i { color:var(--brand-gold); }
            .enf-date-head-past { font-size:10px; color:#9ca3af; background:#f3f4f6; border:1px solid #e5e7eb; border-radius:10px; padding:2px 9px; font-weight:500; }
            .enf-date-head-count { background:var(--brand-navy); color:var(--brand-gold); font-size:12px; font-weight:700; padding:3px 13px; border-radius:20px; margin-left:auto; }
            @media(max-width:768px){
              .enf-datebar { gap:8px; }
              .enf-date-select-wrap { min-width:0; flex:1; }
              .enf-date-head-main { font-size:16px; }
            }

            /* Stats strip (inside hero bottom) */
            .enf-hero-stats {
              display:flex; align-items:center; gap:0;
              margin:20px -40px 0; padding:0 40px;
              background:rgba(0,0,0,.22); border-top:1px solid rgba(255,255,255,.06);
              position:relative; z-index:1; flex-wrap:wrap;
            }
            .enf-hstat {
              display:flex; flex-direction:column; align-items:center;
              padding:10px 24px; gap:2px;
            }
            .enf-hstat-val {
              font-size:22px; font-weight:800; color:#fff; line-height:1;
            }
            .enf-hstat-val.enf-hstat-danger { color:#f87171; }
            .enf-hstat-lbl { font-size:11px; color:rgba(255,255,255,.72); letter-spacing:.04em; margin-top:2px; }
            .enf-hstat-div { width:1px; height:32px; background:rgba(255,255,255,.14); margin:0 4px; }
            .enf-hstat-updated { margin-left:auto; font-size:11px; color:rgba(232,204,138,.82); padding:10px 0; }

            /* ── Body ── */
            .enf-body { padding:0; }

            /* ponytail: ลบ two-panel layout (.enf-layout/.enf-month-nav*) + month-groups (.enf-month-*)
               + .enf-cards grid รุ่นเก่า — ทั้งหมด render ไม่ออกแล้ว (shell ใหม่ = .enf-main-panel เดี่ยว, กริด v4 tile ด้านล่าง) */
            .enf-main-panel { padding:24px 32px 48px; min-width:0; }
            @media(max-width:768px){ .enf-main-panel { padding:16px 14px 32px; } }

            /* ponytail: ลบ CSS รุ่นเก่าทั้งหมด — Single Card (.enf-card*/.enf-lot-badge/.enf-firstdate*/
               .enf-price*/.enf-detail*/.enf-card-imgs/.enf-img-*), Variant A (.enf-hero-wrap/.enf-rows/
               .enf-thumbs) และ Match row (.enf-card-match/.enf-match-*). renderer ปัจจุบันใช้ .enf-fc-* ล้วน
               (ดู FEATURE SHOWCASE CARD ด้านล่าง — แทน .enf-tile v4 เดิม 2026-06-19) ฟังก์ชันที่สร้าง markup เก่า
               (_buildImgs/_buildHeroImg/_buildFirstDateBadge/renderMatchRow) ถูกลบไปแล้วในสคริปต์ */

            /* States */
            .enf-empty {
              padding:80px 40px; text-align:center; color:#9ca3af; font-size:15px;
            }
            .enf-empty i { font-size:48px; display:block; margin-bottom:16px; color:#d1d5db; }
            .enf-empty-sub { font-size:12px; margin-top:8px; }
            .enf-error {
              margin:24px 40px; padding:16px 20px; border-radius:10px;
              background:#fff5f5; border:1px solid #fecaca; color:#dc2626; font-size:13px;
              display:flex; align-items:center; gap:10px;
            }
            .enf-loading {
              padding:80px 40px; text-align:center; color:#9ca3af; font-size:14px;
            }
            .enf-loading i { font-size:32px; display:block; margin-bottom:12px; color:var(--brand-gold); }

            /* Mobile */
            @media (max-width:768px) {
              .enf-hero { padding:20px 16px 0; }
              .enf-hero-stats { margin:16px -16px 0; padding:0 16px; }
              .enf-hstat { padding:8px 14px; }
              .enf-hstat-val { font-size:18px; }
              .enf-hero-title { font-size:18px; }
              .enf-res-table { font-size:12px; }
              .enf-res-tablewrap { padding:12px 10px 24px; }
            }

            /* ── Tabs (ประกาศนัดขาย / ผลการขาย) ── */
            .enf-tabs { display:flex; gap:6px; margin-top:18px; position:relative; z-index:1; flex-wrap:wrap; }
            .enf-tab {
              display:inline-flex; align-items:center; gap:7px;
              padding:9px 18px; border:none; background:rgba(255,255,255,.08);
              color:rgba(255,255,255,.9); font-size:13px; font-weight:600; font-family:inherit;
              cursor:pointer; border-radius:9px 9px 0 0; border-bottom:2px solid transparent; transition:all .15s;
            }
            .enf-tab:hover { color:#fff; background:rgba(255,255,255,.14); }
            .enf-tab.on { color:var(--brand-navy); background:var(--brand-gold); border-bottom-color:#e8cc8a; }

            /* ── Results table (ผลการขายทอดตลาด) ── */
            .enf-res-tablewrap { overflow-x:auto; padding:18px 24px 32px; }
            .enf-res-table { width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
            .enf-res-table thead th {
              background:var(--brand-navy); color:#e8cc8a; font-weight:700; font-size:12px;
              padding:10px; text-align:left; white-space:nowrap;
            }
            .enf-res-table tbody td { padding:9px 10px; border-bottom:1px solid #e5e7eb; color:#1f2937; vertical-align:top; }
            .enf-res-table tbody tr:hover { background:#f8fafc; }
            .enf-res-num { text-align:right; white-space:nowrap; }
            .enf-res-table tr.enf-res-ours { background:#fff7e6; box-shadow:inset 4px 0 0 var(--brand-gold); }
            .enf-res-table tr.enf-res-ours:hover { background:#fdeecb; }
            .enf-res-ours-tag { display:inline-block; background:var(--brand-gold); color:var(--brand-navy); font-size:10px; font-weight:800; padding:1px 7px; border-radius:10px; margin-left:4px; }
            /* ── Results overview strip (ภาพรวมทุกวัน) ── */
            .enf-ov-strip { display:flex; gap:10px; overflow-x:auto; padding:16px 24px 6px; }
            .enf-ov-card { flex:0 0 auto; min-width:108px; background:#fff; border:1px solid #e5e7eb; border-top:3px solid #cbd5e1; border-radius:12px; padding:10px 13px; cursor:pointer; transition:all .15s; }
            .enf-ov-card:hover { border-color:var(--brand-gold); box-shadow:0 2px 12px rgba(15,42,82,.10); }
            .enf-ov-card.on { background:var(--brand-navy); border-top-color:var(--brand-gold); }
            .enf-ov-card.on .enf-ov-d, .enf-ov-card.on .enf-ov-sum { color:#fff; }
            .enf-ov-card.on .enf-ov-sub { color:#cbd5e1; }
            .enf-ov-card.on .enf-ov-sub b { color:#7ee2a8; }
            .enf-ov-d { font-size:13px; font-weight:800; color:var(--brand-navy); white-space:nowrap; }
            .enf-ov-sub { font-size:11px; color:#6b7280; margin-top:3px; white-space:nowrap; }
            .enf-ov-sub b { color:#16a34a; }
            .enf-ov-sum { font-size:13px; font-weight:800; color:var(--brand-navy); margin-top:4px; }
            /* ── Results filter chips ── */
            .enf-res-filters { display:flex; gap:8px; flex-wrap:wrap; padding:14px 24px 0; align-items:center; }
            .enf-fchip { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:999px; border:1px solid #d1d5db; background:#fff; color:#374151; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; transition:all .15s; }
            .enf-fchip:hover { border-color:var(--brand-navy); }
            .enf-fchip.on { background:var(--brand-navy); color:#fff; border-color:var(--brand-navy); }
            .enf-fchip-n { font-weight:800; }
            .enf-res-daytot { margin-left:auto; font-size:12px; color:#475569; }
            .enf-res-daytot b { color:#16a34a; font-size:14px; }
            /* ── Result pills ── */
            .enf-res-pill { display:inline-block; padding:2px 10px; border-radius:11px; font-size:11px; font-weight:700; white-space:nowrap; }
            .enf-res-pill.sold { background:#dcfce7; color:#15803d; }
            .enf-res-pill.none { background:#f1f5f9; color:#64748b; }
            .enf-res-pill.withdraw { background:#fef3c7; color:#b45309; }

            /* หลักทรัพย์เราติดบังคับคดี — มือถือ: ตาราง 7 คอลัมน์ stack เป็นการ์ด (data-label) ให้พอดีหน้า */
            @media(max-width:768px){
              .enf-deed-table thead{ display:none; }
              .enf-deed-table, .enf-deed-table tbody, .enf-deed-table tr, .enf-deed-table td{ display:block; width:auto; }
              .enf-deed-table tr{ border:1px solid #e5e7eb; border-radius:11px; margin:0 0 11px; padding:8px 13px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.05); }
              .enf-deed-table td{ border:none!important; padding:5px 0; display:flex; gap:12px; justify-content:space-between; align-items:baseline; font-size:13px; text-align:right; }
              .enf-deed-table td::before{ content:attr(data-label); font-weight:700; color:#64748b; font-size:11.5px; flex:0 0 auto; text-align:left; }
              .enf-deed-table td:empty{ display:none; }                       /* ไม่มีค่า (อำเภอ/ผลขายว่าง) → ซ่อนทั้งแถว */
              .enf-deed-table td:first-child{ font-size:16px; border-bottom:1px solid #f1f5f9!important; padding-bottom:8px; margin-bottom:3px; }
              .enf-deed-table td:last-child{ flex-direction:column; align-items:flex-start; text-align:left; gap:2px; }  /* ผลขายยาว → ป้ายบน ค่าล่าง */
            }

            /* ═══════════════════════════════════════════════════════════
             * v2 COMPACT OVERRIDES (2026-06-05) — จอใช้งานรายวัน:
             * hero ~250px → ~130px, การ์ด ~280px → ~170px (เห็น ~6-8 ล็อต/จอ)
             * อยู่ท้าย sheet = ชนะ rule ก่อนหน้าที่ specificity เท่ากัน
             * ═══════════════════════════════════════════════════════════ */
            .enf-hero { padding:9px 24px 0; }
            .enf-hero-badge { width:34px; height:34px; border-radius:9px; font-size:15px; }
            .enf-hero-title { font-family:'Cinzel','Sarabun',serif; font-size:17px; font-weight:700; letter-spacing:.02em; }
            .enf-hero-sub { font-size:11px; margin-top:1px; }
            .enf-refresh-btn { padding:7px 12px; font-size:12px; }
            .enf-tabs { margin-top:8px; gap:4px; }
            .enf-tab { padding:7px 14px; font-size:12.5px; }
            .enf-datebar { margin-top:8px; gap:8px; flex-wrap:wrap; align-items:center; }
            .enf-day-arrow { width:30px; height:30px; }
            .enf-date-select-wrap { min-width:212px; }
            .enf-date-select-wrap select { font-size:13px; padding-top:6px; padding-bottom:6px; }
            .enf-round-chips { display:flex; gap:5px; align-items:center; }
            .enf-round-chips .enf-fchip {
              background:rgba(255,255,255,.10); border-color:rgba(200,169,106,.45); color:rgba(255,255,255,.92);
              padding:5px 12px; font-size:11.5px;
            }
            .enf-round-chips .enf-fchip:hover { border-color:#e8cc8a; color:#fff; }
            .enf-round-chips .enf-fchip.on { background:rgba(200,169,106,.3); border-color:#e8cc8a; color:#fff; }
            /* stats strip → inline mini-chips */
            .enf-hero-stats { margin:8px -24px 0; padding:7px 24px 9px; gap:4px; }  /* ponytail: ขอบ -24px ตรง hero padding (เดิม -40px ค้างจาก padding รุ่นเก่า → strip ล้นโดนตัด) */
            .enf-hstat { padding:3px 12px; display:flex; flex-direction:row; align-items:baseline; gap:6px; }
            .enf-hstat-val { font-size:14.5px; font-weight:800; }
            .enf-hstat-lbl { font-size:11px; }
            .enf-hstat-updated { font-size:10.5px; }
            /* ponytail: ลบ dense-card overrides ของ v2 (คลาส .enf-card*/.enf-img-*/.enf-firstdate*/.enf-moredate
               ตายแล้ว) + .enf-cards{gap} กับ @media(min-1500) ที่กริด v4 ทับทิ้ง */
            .enf-body { padding-top:12px; }
            @media (max-width:768px) {
              .enf-hero { padding:8px 14px 0; }
              .enf-round-chips .enf-fchip, .enf-tab, .enf-day-arrow { min-height:38px; }
              /* แถบวันที่: เรียงเป็นแถวเต็มความกว้าง อ่านวันที่ไทยได้เต็ม */
              .enf-datebar { flex-direction:column; align-items:stretch; }
              .enf-datebar-pick { width:100%; }
              .enf-round-chips { width:100%; }
              .enf-round-chips .enf-fchip { flex:1; justify-content:center; }
            }

            /* ═══ FEATURE SHOWCASE CARD (Direction C — ผู้ชนะ design panel ui-ux-pro-max 2026-06-19) ═══
               รูปหลักทรัพย์ 16:10 = พระเอก + แกลเลอรี + ข้อมูลแบ่ง 4 หมวด (ทรัพย์/คู่ความ/การขาย/การเงิน) · navy-gold
               prefix .enf-fc-* กัน collision กับ .enf-body/.enf-card/.enf-photo เดิม
               ponytail: padding-hack (height:0 + padding-top:62.5% = 16:10) แทน aspect-ratio —
               WebView เก่าที่ไม่รองรับ aspect-ratio จะทำรูปสูง 0 แล้วป้าย absolute ทับกัน
               ponytail: ตัด diagonal ribbon ของ mockup ออก (ทับ lot-tag บนรูปจริง) → ใช้กรอบแดง + pin มุมรูป + match-box แทน */
            /* auto-fill: การ์ด ~380px ขึ้นไป ปรับจำนวนคอลัมน์ตามจอเอง (laptop 2-3 / จอใหญ่ 3-4) — ไม่บานเป็นการ์ดยักษ์บน ultra-wide. มือถือบังคับ 1fr ใน @media(max-768) กัน overflow */
            .enf-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:24px; align-items:start; }
            /* ponytail: content-visibility:auto → การ์ดนอกจอข้าม render/layout (ลื่น+โหลดเร็วเมื่อล็อตเยอะ);
               contain-intrinsic-size = ส่วนสูงประมาณการกันสกอลล์บาร์เด้ง (auto = จำขนาดจริงหลัง render รอบแรก) */
            .enf-fc-card { background:#fff; border:1px solid #dde5f0; border-radius:18px; overflow:hidden; box-shadow:0 8px 28px rgba(15,42,82,.10); display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; content-visibility:auto; contain-intrinsic-size:auto 600px; }
            .enf-fc-card:hover { transform:translateY(-3px); box-shadow:0 16px 44px rgba(15,42,82,.18); border-color:var(--brand-gold); }
            .enf-fc-card--match { border:2.5px solid #c0392b; box-shadow:0 8px 28px rgba(192,57,43,.18); }
            .enf-fc-card--match:hover { border-color:#c0392b; box-shadow:0 16px 44px rgba(192,57,43,.26); }
            .enf-fc-card--past { opacity:.86; }
            /* รูป 16:10 (padding-hack 62.5%) — overlays absolute fill */
            .enf-fc-photo { position:relative; width:100%; height:0; padding-top:62.5%; overflow:hidden; background:linear-gradient(135deg,var(--brand-navy),#16335f); }
            .enf-fc-photo[role=button] { cursor:zoom-in; }
            .enf-fc-main { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
            .enf-fc-photo[role=button]:hover .enf-fc-main { transform:scale(1.05); }
            .enf-fc-card--past .enf-fc-main { filter:grayscale(.4) brightness(.92); }
            /* รูปโหลดไม่ได้ (proxy 404 / gov ล่ม) → ซ่อน img เผยพื้น navy + ป้าย "โหลดรูปไม่ได้" (ไม่โชว์ตอน lazy-load,
               เฉพาะตอน onerror ใส่คลาส --err) — ดูตั้งใจ ไม่ใช่กล่องพังเปล่า */
            .enf-fc-photo--err .enf-fc-main { display:none; }
            .enf-fc-photo--err .enf-fc-zoom { display:none; }
            .enf-fc-photo--err::after { content:'โหลดรูปไม่ได้'; position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; color:#90a4c4; font-size:13px; letter-spacing:.02em; }
            .enf-fc-photo-empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:var(--brand-gold); }
            .enf-fc-photo-empty i { font-size:46px; }
            .enf-fc-photo-empty span { color:#90a4c4; font-size:13px; }
            /* hero ไม่มีรูป → โชว์ประเภททรัพย์ + เนื้อที่ ให้เด่น/มีสาระแทนกล่องเปล่า */
            .enf-fc-photo--noimg { background:linear-gradient(135deg,#0c2244,#16335f); }
            .enf-fc-photo--noimg .enf-fc-photo-empty { gap:7px; padding:0 16px; text-align:center; }
            .enf-fc-photo-empty .enf-fc-noimg-t { color:#fff; font-size:15px; font-weight:600; line-height:1.3; }
            .enf-fc-photo-empty .enf-fc-noimg-a { color:#e8cc8a; font-size:12.5px; font-weight:500; }
            .enf-fc-scrim { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(6,18,32,.36) 0%,rgba(6,18,32,0) 22%,rgba(6,18,32,0) 50%,rgba(6,18,32,.76) 100%); }
            .enf-fc-lot { position:absolute; left:13px; bottom:12px; z-index:2; display:inline-flex; align-items:center; gap:7px; max-width:calc(100% - 26px); background:rgba(6,18,32,.82); color:#fff; font-size:13px; font-weight:700; padding:7px 13px; border-radius:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
            .enf-fc-lot i { color:var(--brand-gold); font-size:11px; flex:none; }
            .enf-fc-date { position:absolute; right:13px; top:13px; z-index:2; display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#e8cc8a,var(--brand-gold)); color:var(--brand-navy); font-size:12.5px; font-weight:700; padding:7px 12px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.28); white-space:nowrap; }
            .enf-fc-date--past { background:rgba(100,116,139,.95); color:#fff; }
            .enf-fc-zoom { position:absolute; right:13px; bottom:12px; z-index:2; display:inline-flex; align-items:center; gap:6px; background:rgba(6,18,32,.72); color:#e8cc8a; font-size:12px; padding:6px 11px; border-radius:9px; pointer-events:none; }
            .enf-fc-pin { position:absolute; left:13px; top:13px; z-index:2; display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#c0392b,#8e271c); color:#fff; font-size:11.5px; font-weight:700; padding:6px 12px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.3); }
            /* แกลเลอรี thumbnail (เฉพาะมีหลายรูป) */
            .enf-fc-thumbs { display:flex; gap:8px; padding:11px 13px; background:#f4f7fc; border-bottom:1px solid #dde5f0; overflow-x:auto; }
            .enf-fc-thumb { width:72px; height:52px; border-radius:9px; overflow:hidden; flex:none; cursor:pointer; padding:0; border:2.5px solid transparent; background:var(--brand-navy); transition:border-color .18s ease, transform .18s ease; }
            .enf-fc-thumb img { width:100%; height:100%; object-fit:cover; }
            .enf-fc-thumb:hover { transform:translateY(-2px); }
            .enf-fc-thumb.on { border-color:var(--brand-gold); }
            /* body */
            .enf-fc-body { padding:18px 20px 20px; display:flex; flex-direction:column; gap:15px; flex:1; }
            /* match box */
            .enf-fc-match { background:#fbe9e7; border:1.5px solid #f0b8b0; border-radius:13px; padding:13px 15px; }
            .enf-fc-match-hd { display:flex; align-items:center; gap:8px; color:#8e271c; font-weight:700; font-size:13.5px; margin-bottom:9px; }
            .enf-fc-match-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px 14px; font-size:13.5px; }
            .enf-fc-match-grid .k { color:#56657d; font-size:11.5px; display:block; }
            .enf-fc-match-grid .v { font-weight:600; color:#1a2738; }
            .enf-fc-match-grid .full { grid-column:1/-1; }
            .enf-fc-mstatus { display:inline-flex; align-items:center; gap:5px; background:#c0392b; color:#fff; font-size:11.5px; font-weight:600; padding:3px 10px; border-radius:8px; margin-top:3px; }
            .enf-fc-mlink { margin-top:11px; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:#c0392b; color:#fff; font-weight:600; font-size:13.5px; padding:11px; border-radius:10px; min-height:44px; cursor:pointer; transition:background .18s ease; box-sizing:border-box; }
            .enf-fc-mlink:hover { background:#8e271c; }
            /* section */
            .enf-fc-sechd { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; color:var(--brand-gold); text-transform:uppercase; letter-spacing:.06em; padding-bottom:8px; margin-bottom:10px; border-bottom:1.5px solid #f0e2c4; }
            .enf-fc-sechd i { width:24px; height:24px; border-radius:7px; background:var(--brand-navy); color:#e8cc8a; display:inline-flex; align-items:center; justify-content:center; font-size:12px; flex:none; }
            .enf-fc-sechd span { color:var(--brand-navy); }
            .enf-fc-rows { display:flex; flex-direction:column; gap:8px; }
            .enf-fc-row { display:flex; align-items:flex-start; gap:11px; font-size:14px; }
            .enf-fc-row > i { color:var(--brand-gold); width:18px; text-align:center; margin-top:3px; font-size:13px; flex:none; }
            .enf-fc-row .k { color:#56657d; font-size:12.5px; min-width:54px; flex:none; }
            .enf-fc-row .v { font-weight:600; color:#1a2738; flex:1; word-break:break-word; }
            .enf-fc-pills { display:flex; flex-wrap:wrap; gap:8px; }
            .enf-fc-pill { display:inline-flex; align-items:center; gap:6px; background:#eef3fa; color:var(--brand-navy); font-size:12.5px; font-weight:500; padding:6px 12px; border-radius:9px; border:1px solid #dde5f0; }
            .enf-fc-pill i { color:var(--brand-gold); font-size:12px; }
            /* finance */
            .enf-fc-price { background:linear-gradient(135deg,var(--brand-navy),#153060); border-radius:14px; padding:16px 18px; color:#fff; position:relative; overflow:hidden; }
            .enf-fc-price::after { content:''; position:absolute; right:-14px; top:-14px; width:80px; height:80px; border-radius:50%; background:radial-gradient(circle,rgba(200,169,106,.25),transparent 70%); }
            .enf-fc-price .lb { font-size:12px; color:#bcd0ed; display:flex; align-items:center; gap:7px; position:relative; z-index:1; }
            .enf-fc-price .lb i { color:#e8cc8a; }
            .enf-fc-price .amt { font-size:30px; font-weight:800; color:#e8cc8a; line-height:1.1; margin-top:5px; position:relative; z-index:1; }
            .enf-fc-price .amt small { font-size:15px; color:#fff; font-weight:500; margin-inline-start:4px; }
            .enf-fc-fin { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
            .enf-fc-finbox { background:#f4f7fc; border:1px solid #dde5f0; border-radius:12px; padding:11px 13px; }
            .enf-fc-finbox.pledge { background:#fbe9e7; border-color:#f0c4bd; }
            .enf-fc-finbox .lb { font-size:11.5px; color:#56657d; display:flex; align-items:center; gap:6px; }
            .enf-fc-finbox .lb i { color:var(--brand-gold); }
            .enf-fc-finbox.pledge .lb i { color:#c0392b; }
            .enf-fc-finbox .vl { font-size:17px; font-weight:700; color:var(--brand-navy); margin-top:2px; }
            .enf-fc-finbox.pledge .vl { color:#8e271c; }
            .enf-fc-finbox .vl.ok { color:#2e7d54; }
            .enf-fc-finbox .sub { font-size:11px; color:#56657d; margin-top:1px; }
            .enf-fc-rounds { display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; }
            .enf-fc-rchip { font-size:12px; background:#fff; border:1px solid #dde5f0; border-radius:8px; padding:5px 10px; color:#56657d; }
            .enf-fc-rchip b { color:var(--brand-navy); }
            .enf-fc-rchip.cur { background:#f0e2c4; border-color:var(--brand-gold); color:var(--brand-navy); }
            /* footer */
            .enf-fc-foot { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:2px; }
            .enf-fc-lands { display:inline-flex; align-items:center; gap:7px; background:var(--brand-navy); color:var(--brand-gold); border:none; border-radius:10px; padding:10px 15px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; min-height:44px; box-sizing:border-box; transition:background .18s ease; }
            .enf-fc-lands:hover { background:#16335f; }
            /* ── ตัวเลือกวันที่ให้เด่นชัด (เดิมจางบนพื้น navy มองไม่เห็น) — ขาว+ทอง+ตัวใหญ่ ── */
            .enf-datebar-pick::before { content:'วันนัดขาย'; color:#e8cc8a; font-weight:800; font-size:13px; white-space:nowrap; letter-spacing:.02em; align-self:center; }
            .enf-date-select-wrap { background:#fff; border:2px solid var(--brand-gold); border-radius:10px; box-shadow:0 3px 12px rgba(0,0,0,.28); min-width:250px; }
            .enf-date-select-wrap:focus-within { background:#fff; border-color:#e8cc8a; }
            .enf-date-select-wrap > .fa-calendar-day { color:var(--brand-navy); font-size:15px; }
            .enf-date-select-wrap select { color:var(--brand-navy); font-size:15px; font-weight:800; padding:11px 0; }
            .enf-date-select-wrap select option { color:var(--brand-navy); font-weight:600; }
            .enf-date-caret { color:var(--brand-navy); font-size:13px; }
            .enf-day-arrow { width:40px; height:40px; background:var(--brand-gold); border:1px solid var(--brand-gold); color:var(--brand-navy); font-size:15px; box-shadow:0 3px 10px rgba(0,0,0,.25); }
            .enf-day-arrow:hover:not(:disabled) { background:#e8cc8a; border-color:#e8cc8a; color:var(--brand-navy); }
            .enf-day-arrow:disabled { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); color:rgba(255,255,255,.4); box-shadow:none; }
            @media (max-width:768px) {
              .enf-cards { grid-template-columns:1fr; gap:16px; }
              .enf-fc-body { padding:15px 15px 17px; gap:13px; }
              .enf-fc-match-grid { grid-template-columns:1fr; }
              .enf-fc-price .amt { font-size:26px; }
              .enf-day-arrow { width:44px; height:44px; }
              .enf-date-select-wrap { min-width:0; }
            }
            /* การ์ดแคบมาก (≤430px): กล่องการเงิน 1 คอลัมน์ */
            @media (max-width:430px) {
              .enf-fc-fin { grid-template-columns:1fr; }
            }
            /* focus ring ทอง — keyboard a11y (div role=button ไม่มี UA outline ที่ชัด) */
            .enf-fc-photo:focus-visible, .enf-fc-mlink:focus-visible, .enf-fc-thumb:focus-visible, .enf-fc-lands:focus-visible { outline:3px solid var(--brand-gold); outline-offset:2px; }
            @media (prefers-reduced-motion: reduce) {
              .enf-fc-card, .enf-fc-main, .enf-fc-thumb { transition:none; }
              .enf-fc-card:hover { transform:none; }
              .enf-fc-photo[role=button]:hover .enf-fc-main { transform:none; }
              .enf-fc-thumb:hover { transform:none; }
            }
            /* แบนเนอร์ล็อตที่หาย (งด/ถอน) — พับ/กางได้ */
            #enfRemovedBanner .enf-rmv-list { display:none; }
            #enfRemovedBanner .enf-rmv-list.on { display:block; }
            /* แบนเนอร์เตือนข้อมูลเก่า (push_led.py อาจตาย) — เสี่ยงตัดสินใจจากล็อตที่ถูกถอน/ขายแล้ว */
            .enf-stale-banner {
              display:flex; align-items:center; gap:8px;
              margin:0 0 12px; padding:10px 14px; border-radius:10px;
              background:#fef2f2; color:#b91c1c; border:1px solid #fecaca;
              font-size:13px; font-weight:600; line-height:1.4;
            }
            .enf-stale-banner i { font-size:15px; flex:none; }
            /* phase-2: ปุ่ม/ป้าย ยืนยัน match ลูกค้า (คนกด ค่าไม่หายตอน refresh) */
            .enf-fc-mconfirm { display:flex; gap:8px; align-items:center; margin-top:8px; flex-wrap:wrap; font-size:12px; }
            .enf-fc-mconfirm--ok { color:#15803d; font-weight:700; }
            .enf-fc-mconfirm--no { color:#6b7280; font-weight:700; }
            .enf-fc-mconfirm a { color:inherit; text-decoration:underline; opacity:.8; }
            .enf-fc-mbtn { display:inline-flex; align-items:center; gap:5px; padding:5px 12px; border-radius:8px;
              border:1px solid transparent; font-size:12px; font-weight:700; cursor:pointer; }
            .enf-fc-mbtn--ok { background:#dcfce7; color:#15803d; border-color:#bbf7d0; }
            .enf-fc-mbtn--ok:hover { background:#bbf7d0; }
            .enf-fc-mbtn--no { background:#f3f4f6; color:#6b7280; border-color:#e5e7eb; }
            .enf-fc-mbtn--no:hover { background:#e5e7eb; }
