/* ====================================================================
   theme-modern-corp-flat.css
   ────────────────────────────────────────────────────────────────────
   Modern Corp FLAT theme override — applied on top of base CSS files.

   How it works:
     • Loaded LAST in <head> after all other CSS files
     • Re-defines :root CSS variables (cascade wins)
     • Overrides hardcoded gradient surfaces with solid colors
     • Switches body font from Sarabun → Prompt
     • Preserves icon fonts (icofont + Font Awesome 7) via higher specificity

   To revert (rollback):
     1. Remove <link rel="stylesheet" href="/theme-modern-corp-flat.css">
        from header.asp + header_proj.asp + header_detail.asp
     2. (optional) delete this file

   Color palette: Modern Corp FLAT
     primary  #39B86C   (bright fresh — buttons, accents)
     mid      #2DA15C   (hover)
     light    #7DD3A2
     deep     #0F5D36   (top bar / footer / banners — NO gradient)
     deeper   #0A4326
     tint     #DDF5E7   (icon circle bg)
     tint2    #F0FAF3
     bg       #FFFFFF   (body — pure white)
     bg-alt   #F4F6F5
     coral    #C0392B   (alerts / vermilion)
     text     #1E1E1E
     muted    #6B7280
     border   #E5E7EB

   Created: 2026-05-08
   ==================================================================== */


/* ── 1. Override CSS variables (cascade) ─────────────────────── */
:root,
body{
  /* icons.css base palette */
  --navy:    #0F5D36 !important;
  --steel:   #2DA15C !important;
  --accent:  #39B86C !important;
  --accent2: #7DD3A2 !important;
  --light:   #F0FAF3 !important;
  --muted:   #6B7280 !important;

  /* proj-member.css palette */
  --mn:      #0F5D36 !important;
  --ms:      #2DA15C !important;
  --ma:      #39B86C !important;
  --ma2:     #7DD3A2 !important;
  --ml:      #DDF5E7 !important;
  --mbg:     #FFFFFF !important;
  --mmu:     #6B7280 !important;
  --gold:    #39B86C !important;
  --goldb:   #39B86C !important;
}


/* ── 2. Font: site-wide toggle via body class ──────────────── */
/*   Default (no class or .font-modern) = Prompt
     .font-classic                       = Sarabun
   Set by /setfont.asp + Session("ssFont"). */

/* Default — Prompt (Modern) */
body,
body *,
body.member-area,
body.member-area *,
body.pm-body,
body.pm-body *,
body.sr-body,
body.sr-body *,
body.page-login,
body.page-login *,
body.font-modern,
body.font-modern *{
  font-family: 'Prompt', 'Sarabun', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Classic — Sarabun (must come AFTER, higher specificity wins) */
body.font-classic,
body.font-classic *{
  font-family: 'Sarabun', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

body{
  background: #FFFFFF !important;
}


/* ── 3. ⚠ CRITICAL: Restore icon fonts ───────────────────────
   Universal selector above (specificity 0,1,0,1) beats icofont's
   [class^="icofont-"] (0,0,1,0) — icons disappear without these rules.
   Use html body[class] (0,2,0,2) to win cascade. ── */

/* icofont */
html body [class^="icofont-"],
html body [class*=" icofont-"],
html body [class^="icofont-"]::before,
html body [class*=" icofont-"]::before{
  font-family: 'IcoFont' !important;
  font-weight: normal !important;
  font-style: normal !important;
}

/* Font Awesome 7 — sets font-family on element via --_fa-family.
   Restore with same approach + cover all FA7 style classes. */
html body .fa,
html body .fa-brands, html body .fa-classic, html body .fa-sharp,
html body .fa-duotone, html body .fa-sharp-duotone,
html body .fa-solid, html body .fa-regular, html body .fa-light,
html body .fa-thin, html body .fa-semibold,
html body .fa-thumbprint, html body .fa-utility, html body .fa-whiteboard,
html body .fab, html body .fas, html body .far, html body .fal, html body .fat,
html body .fad, html body .fass, html body .fasr, html body .fasl, html body .fast,
html body .fadr, html body .fadl, html body .fadt, html body .fasds,
html body .fatl, html body .facr, html body .faes, html body .fagt,
html body .fajr, html body .fans, html body .faslr, html body .faslpr,
html body .fausb, html body .faudsb, html body .faufsb, html body .fawsb,
html body [class^="fa-"], html body [class*=" fa-"]{
  font-family: var(--_fa-family, var(--fa-family, "Font Awesome 7 Pro")),
               "Font Awesome 7 Pro", "Font Awesome 7 Sharp",
               "Font Awesome 7 Brands", "Font Awesome 7 Duotone",
               "Font Awesome 6 Free", "Font Awesome 5 Free",
               "FontAwesome" !important;
}


/* ── 4. Solid (flat) replacements for hardcoded gradient surfaces ─ */

/* Top bar (member) */
.mb-topbar{
  background: #0F5D36 !important;
}

/* Member footer */
.mb-footer{
  background: #0F5D36 !important;
  border-top: 3px solid #39B86C !important;
}

/* Detail popup top bar (proj-pages-main.css :34) */
.pdt-bar{
  background: #0F5D36 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

/* Detail breadcrumb gradient → solid */
.pd-breadcrumb{
  background: #0F5D36 !important;
  border-bottom: 2px solid #39B86C !important;
}

/* Public hero (icons.css :350) */
.hero{
  background: #0F5D36 !important;
}

/* Apply bar (icons.css :1481) */
.apply-bar{
  background: #0F5D36 !important;
}

/* Info bar (proj-member.css :600) */
.pm-infobar{
  background: #0F5D36 !important;
}

/* Company header card (proj-member.css :1108) */
.pc-header-card{
  background: #0F5D36 !important;
}

/* SR header (sr-dashboard.css :54) */
.sr-header{
  background: #0F5D36 !important;
  border-bottom: 3px solid #39B86C !important;
}

/* ⚠ Project Detail header card (proj-pages-main.css :153)
   3-stop gradient #14321A → #1E4A28 → #2A6040 looked "bruised" — flatten. */
.pd-proj-hdr{
  background: #0F5D36 !important;
}

/* Detail card headers (proj-pages-main.css :142, :484) */
.pd-card-hdr,
.pd-qb-hdr{
  background: #0F5D36 !important;
}

/* Primary detail button (proj-pages-main.css :515) */
.pd-btn-primary{
  background: #39B86C !important;
  color: #FFFFFF !important;
}


/* ── 5. Logo MEMBER badge: green (was gold) ───────────────── */
.mb-logo-badge{
  background: #39B86C !important;
  color: #FFFFFF !important;
}


/* ── 6. Page bg = white ──────────────────────────────────── */
body.member-area,
.pm-body,
.sr-body{
  background: #FFFFFF !important;
}


/* ── 7. Heading fonts: Barlow Condensed for Latin (numbers/English),
       fall back to chosen Thai font ── */
body.font-modern h1, body.font-modern h2, body.font-modern h3,
body.font-modern h4, body.font-modern h5, body.font-modern h6,
body.font-modern .pm-card-value, body.font-modern .pm-hero-stat .num,
body.font-modern .pm-section-h h2, body.font-modern .pm-hero h1,
body.font-modern .bg-page-title h1, body.font-modern .al-page-title h1,
body.font-modern .cr-page-title h1, body.font-modern .mh-page-title h1,
body.font-modern .rm-page-title h1, body.font-modern .st-page-title h1,
body.font-modern .val-card h3, body.font-modern .contact-info-card h3,
body.font-modern .pos-card h3, body.font-modern .apply-bar h2,
h1, h2, h3, h4, h5, h6{
  font-family: 'Barlow Condensed', 'Prompt', 'Sarabun', sans-serif !important;
}

body.font-classic h1, body.font-classic h2, body.font-classic h3,
body.font-classic h4, body.font-classic h5, body.font-classic h6,
body.font-classic .pm-card-value, body.font-classic .pm-hero-stat .num,
body.font-classic .pm-section-h h2, body.font-classic .pm-hero h1{
  font-family: 'Barlow Condensed', 'Sarabun', sans-serif !important;
}


/* ── Font toggle button (with FA text-size icon) ───────────
   Pill button in topbar, sibling to TH/EN switcher. */
.font-toggle-btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 12px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 600;
  text-decoration: none;
  background: rgba(255,255,255,.15) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.4) !important;
  transition: background .15s, border-color .15s;
  cursor: pointer;
}
.font-toggle-btn:hover{
  background: rgba(255,255,255,.28) !important;
  border-color: rgba(255,255,255,.6) !important;
}
.font-toggle-btn i{
  font-size: 13px;
  opacity: .95;
}


/* ── Public topbar (header.asp) — brighter text + clearer TH/EN ── */
.topbar{
  color: rgba(255,255,255,.9) !important;
}
.topbar a, .topbar span{
  color: rgba(255,255,255,.92) !important;
}
.topbar a:hover{
  color: #FFFFFF !important;
}
.topbar .lang-switch{
  border: 1.5px solid rgba(255,255,255,.4) !important;
}
.topbar .lang-switch a{
  color: rgba(255,255,255,.8) !important;
  background: transparent !important;
  font-weight: 700;
  padding: 2px 12px !important;
  letter-spacing: .08em !important;
}
.topbar .lang-switch a.active{
  background: #FFFFFF !important;
  color: #0F5D36 !important;
}
.topbar .lang-switch a:not(.active):hover{
  background: rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
}


/* ── Hero h1 overlap fix when Classic (Sarabun runs taller than Prompt) ── */
body.font-classic .hero h1,
body.font-classic .login-headline{
  line-height: 1.45 !important;
}
body.font-classic .hero h1 em{
  display: inline-block;
  line-height: 1.3 !important;
}


/* ── 8. Drawer menu — harmonize section header colors
       (was rainbow brown/copper/blue/green/purple/teal/dark-green
       — clashed with clean theme)

       Section 7 'ส่วนพิเศษ' is INTENTIONALLY excluded — it uses
       .mb-special-hdr-glow with orange gradient + pulse + crown
       animation (signature look in proj-pages-extra.css :2144) ── */
/* Section 1-6 each gets its own green shade (block 21 overrides this
   uniform color with a 6-step gradient — แต่ละ section แตกต่างกันแต่
   ดูเรียบหรู). กฎเดิม keep ไว้เป็น fallback. */
body[class] .mb-sec-h-admin,
body[class] .mb-sec-h-crm,
body[class] .mb-sec-h-proj,
body[class] .mb-sec-h-cont,
body[class] .mb-sec-h-mgmt,
body[class] .mb-sec-h-map{
  background: #0F5D36 !important;
}

/* Drawer icon circles — were rainbow palette (orange/amber/blue/green/purple/teal),
   unify to Modern Corp green for sections 1-6 (section 7 keeps its signature). */
body[class] .mb-ib-admin .mb-iico,
body[class] .mb-ib-crm   .mb-iico,
body[class] .mb-ib-proj  .mb-iico,
body[class] .mb-ib-cont  .mb-iico,
body[class] .mb-ib-mgmt  .mb-iico,
body[class] .mb-ib-map   .mb-iico,
body[class] .mb-sec-admin .mb-iico,
body[class] .mb-sec-crm   .mb-iico,
body[class] .mb-sec-proj  .mb-iico,
body[class] .mb-sec-cont  .mb-iico,
body[class] .mb-sec-mgmt  .mb-iico,
body[class] .mb-sec-map   .mb-iico{
  background: #DDF5E7 !important;
  color: #0F5D36 !important;
}


/* ── 9. Login page — fix hardcoded dark gradient ───────────
   icons-pages.css :1432 has linear-gradient(145deg, #0e2210, #1C3A1C, #254d25)
   which doesn't pick up var override.
   Use SLIGHTLY LIGHTER green than footer (#0F5D36) so the page doesn't
   blend with footer/header into one big block. ─────────── */
.login-page{
  background: #1A6B40 !important;
}
.login-page::before,
.login-page::after{
  opacity: 0.4;
}

/* Public hero on login/register/info pages (icons-pages.css :17) */
.page-hero{
  background: #0F5D36 !important;
}

/* Exception: icons-smpprojects.asp ใช้ LIGHT hero แบบพิเศษ
   (icons-pages.css :3046 — body.page-smpprojects .page-hero)
   ph-inner h1/h2/p ใช้ var(--navy)/var(--steel) (เข้ม) → bg ต้องอ่อน
   ไม่งั้น dark text on dark bg = invisible */
body.page-smpprojects .page-hero{
  background: linear-gradient(135deg, #F0FAF3 0%, #DDF5E7 50%, #BFE5BC 100%) !important;
  border-bottom: 3px solid #BFE5BC !important;
}
body.style-premium-tech.page-smpprojects .page-hero{
  background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 50%, #A7F3D0 100%) !important;
  border-bottom: 3px solid #6EE7B7 !important;
}


/* ── 10. Project Detail badges — remove orange/gold mix ─────
   .pd-badge-sec-gov has hardcoded rgba(240,160,48,...) orange
   .pd-badge-province has linear-gradient with #b8841f orange end ── */
.pd-badge-sec-gov{
  background: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
}
.pd-badge-province{
  background: rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.3) !important;
}


/* ── 11. Stat Report (proj_statreport.asp) — flatten Material blue palette
   proj-pages-extra.css uses #1976D2/#1565C0/#1E88E5 family for tabs/badges/headers
   Flatten to Modern Corp green so colors don't clash with theme ────────── */

/* Page title */
body .st-page-title h1 { color:#0F5D36 !important; }
body .st-page-title i  { color:#39B86C !important; }

/* Main tabs (Tab 1/2/3) */
body .st-main-tabs       { border-bottom-color:#39B86C !important; }
body .st-mtab            { color:#6B7280 !important; }
body .st-mtab:hover      { color:#2DA15C !important; background:#F0FAF3 !important; }
body .st-mtab.active     { color:#0F5D36 !important; background:#F0FAF3 !important; border-bottom-color:#39B86C !important; }

/* Sub tabs (3.1, 3.2 ... etc.) */
body .st-stab            { color:#6B7280 !important; }
body .st-stab:hover      { color:#2DA15C !important; background:#F0FAF3 !important; }
body .st-stab.active     { color:#0F5D36 !important; border-bottom-color:#39B86C !important; }

/* Filter labels + inputs */
body .st-flabel          { color:#0F5D36 !important; }
body .st-finput,
body .st-fselect         { color:#0F5D36 !important; border-color:#BFE5BC !important; }

/* Filter badges */
body .st-fbadge          { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .st-fbadge:hover    { border-color:#39B86C !important; background:#F0FAF3 !important; }
body .st-fbadge.active   { background:#39B86C !important; color:#fff !important; border-color:#39B86C !important; }

/* Section header (big banner above each section, e.g. "สรุปโครงการรายเดือน")
   Modern Corp FLAT — solid green (no gradient) to match theme philosophy */
body .st-sec-header      { background:#0F5D36 !important; color:#fff !important; }
body .st-sec-header i    { color:#BFE5BC !important; }

/* Card / section borders */
body .st-section,
body .st-card,
body .st-panel           { border-color:#BFE5BC !important; }

/* Table — default header (overrides blue gradient on every <th>) — FLAT solid */
body .st-tbl th          { background:#0F5D36 !important; color:#fff !important; }
body .st-tbl td          { color:#0F5D36 !important; }
body .st-tbl tr:hover td { background:#F0FAF3 !important; }

/* Total row — flat soft tint */
body .st-tbl .st-row-total td,
body .st-tbl tfoot td,
body .st-tbl tr.st-tr-tot td { background:#DDF5E7 !important; color:#0F5D36 !important; border-top:2px solid #39B86C !important; font-weight:800 !important; }

/* New / Updated column headers — solid distinct shades */
body .st-tbl th.st-th-new   { background:#0F5D36 !important; }
body .st-tbl th.st-th-upd   { background:#2DA15C !important; }

/* Stage columns — sequential mono-green (early → late stage) */
body .st-tbl th.st-th-stg1   { background:#0F5D36 !important; }
body .st-tbl th.st-th-stg2   { background:#1A6B40 !important; }
body .st-tbl th.st-th-stg3   { background:#2DA15C !important; }
body .st-tbl th.st-th-stg4   { background:#39B86C !important; }
body .st-tbl th.st-th-stg5   { background:#6FCF94 !important; color:#0F5D36 !important; }
body .st-tbl th.st-th-stg6   { background:#7DD3A2 !important; color:#0F5D36 !important; }
body .st-tbl th.st-th-stg7   { background:#BFE5BC !important; color:#0F5D36 !important; }

/* Total / Sub column header */
body .st-tbl th.st-th-total { background:#0F5D36 !important; color:#fff !important; }
body .st-tbl th.st-th-sub   { background:#F0FAF3 !important; color:#0F5D36 !important; font-weight:600 !important; }

/* Badge */
body .st-tbl-badge       { color:#0F5D36 !important; }
body .st-tbl-badge i     { color:#39B86C !important; }

/* Opps Report (proj_oppsreport.asp) — 6 KPI cards
   Replace teal/blue/purple/orange/red mix with cohesive Modern Corp palette */
/* Card 1: จำนวนโครงการ (proj count) — emerald primary */
body .op-c-proj .op-card-icon   { background:#DDF5E7 !important; color:#39B86C !important; }
body .op-c-proj .op-card-value  { color:#39B86C !important; }
/* Card 2: มูลค่าโครงการ (proj value) — forest deep */
body .op-c-value .op-card-icon  { background:#DDF5E7 !important; color:#0F5D36 !important; }
body .op-c-value .op-card-value { color:#0F5D36 !important; }
/* Card 3: ก่อสร้างเสร็จ (done) — slate grey (kept neutral, looks fine) */
body .op-c-done .op-card-icon   { background:#F1F5F4 !important; color:#6B7280 !important; }
body .op-c-done .op-card-value  { color:#6B7280 !important; }
/* Card 4: ปิดงานได้ (sold/won) — sage green (success darker) */
body .op-c-sold .op-card-icon   { background:#E8F5EE !important; color:#1A6B40 !important; }
body .op-c-sold .op-card-value  { color:#1A6B40 !important; }
/* Card 5: มูลค่าคาดการณ์ (forecast) — amber (warm accent) */
body .op-c-fc .op-card-icon     { background:#FEF3DC !important; color:#F39C12 !important; }
body .op-c-fc .op-card-value    { color:#F39C12 !important; }
/* Card 6: ไม่สนใจ/ปิดงานไม่ได้ (lost) — coral (alert) */
body .op-c-lost .op-card-icon   { background:#FCEBE8 !important; color:#C0392B !important; }
body .op-c-lost .op-card-value  { color:#C0392B !important; }


/* ── 12. Forecast (proj_forecast.asp) — flatten Material blue palette
   proj-pages-extra.css + proj-pages-main.css use #1565C0 for fc-* classes ── */
/* Modern Corp FLAT — solid green section headers (no gradient) */
body .fc-search-header,
body .fc-result-header           { background:#0F5D36 !important; color:#fff !important; }
body .fc-search-header i,
body .fc-result-header i         { color:#BFE5BC !important; }
body .fc-summary-bar             { background:#F0FAF3 !important; border-color:#BFE5BC !important; }
body .fc-summary-bar i           { color:#39B86C !important; }
body .fc-summary-item            { color:#0F5D36 !important; }
body .fc-summary-val             { color:#0F5D36 !important; }
body .fc-summary-unit            { color:#6B7280 !important; }
body .fc-toolbar                 { background:#FAFCFB !important; }
body .fc-tbl th                  { background:#0F5D36 !important; color:#fff !important; }
body .fc-tbl tr:hover td         { background:#F0FAF3 !important; }
body .fc-tbl td                  { color:#0F5D36 !important; }
body .fc-page-title              { color:#0F5D36 !important; }
body .fc-page-title h1           { color:#0F5D36 !important; }
body .fc-page-title i           { color:#39B86C !important; }
/* Form labels + inputs/selects (was navy #1A3E6E) */
body .fc-label                   { color:#0F5D36 !important; }
body .fc-label i                 { color:#39B86C !important; }
body .fc-input,
body .fc-select                  { color:#0F5D36 !important; border-color:#BFE5BC !important; }
/* Plan/Status badges — default (inactive) text + active state */
body .fc-plan-badge,
body .fc-status-badge            { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .fc-plan-badge.active,
body .fc-status-badge.active     { background:#39B86C !important; color:#fff !important; border-color:#39B86C !important; }
body .fc-breadcrumb a            { color:#2DA15C !important; }
body .fc-bc-badge-sales          { background:#E3F2FD !important; border-color:#90CAF9 !important; color:#1565C0 !important; }
body .fc-label i                 { color:#39B86C !important; }
body .fc-input:focus,
body .fc-select:focus            { border-color:#39B86C !important; box-shadow:0 0 0 2px rgba(57,184,108,.18) !important; }
body .fc-plan-badge:hover        { border-color:#39B86C !important; background:#F0FAF3 !important; }
body .fc-plan-all.active         { background:#39B86C !important; }
body .fc-btn-search              { background:linear-gradient(135deg,#0F5D36,#2DA15C) !important; color:#fff !important; }
body .fc-btn-search:hover        { background:linear-gradient(135deg,#0A4326,#0F5D36) !important; box-shadow:0 3px 12px rgba(15,93,54,.32) !important; }
body .fc-status-badge:hover      { border-color:#39B86C !important; background:#F0FAF3 !important; }
body .fc-status-all.active       { background:#39B86C !important; }
body .fc-td-projname a:hover     { color:#2DA15C !important; }
/* Result table — sub-line (code + province) was blue/slate */
body .fc-td-code                 { color:#2DA15C !important; }
body .fc-td-prov                 { color:#6B7280 !important; }
/* Stage badge inside fc-tbl — flatten any pm-s-* blue/orange to green family
   IMPORTANT: pm-s-done has dark slate bg + needs WHITE text (not green) */
body .fc-td-stage,
body .fc-td-stage.pm-s-prep,
body .fc-td-stage.pm-s-docs,
body .fc-td-stage.pm-s-bid,
body .fc-td-stage.pm-s-design,
body .fc-td-stage.pm-s-design2,
body .fc-td-stage.pm-s-tender,
body .fc-td-stage.pm-s-post,
body .fc-td-stage.pm-s-cons,
body .fc-td-stage.pm-s-result,
body .fc-td-stage.pm-s-build     { color:#0F5D36 !important; }
body .fc-td-stage.pm-s-done      { color:#FFFFFF !important; }
/* Plan-tag (status pill in result rows) — was purple for closed */
body .fc-plan-tag-all            { background:#DDF5E7 !important; color:#0F5D36 !important; border-color:#7DD3A2 !important; }
body .fc-plan-tag-inplan         { background:#DDF5E7 !important; color:#0F5D36 !important; border-color:#7DD3A2 !important; }
body .fc-plan-tag-noplan         { background:#FCEBE8 !important; color:#C0392B !important; border-color:#E8B4AB !important; }
body .fc-plan-tag-closed         { background:#E8F5EE !important; color:#1A6B40 !important; border-color:#7DD3A2 !important; }
/* Pagination buttons — default state (was blue text) */
body .fc-pg-btn                  { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .fc-pg-btn i                { color:#39B86C !important; }
body .fc-pg-btn.disabled,
body .fc-pg-btn.disabled i       { color:#BFE5BC !important; }
body .fc-pg-btn:hover,
body .fc-pg-btn.active           { background:#39B86C !important; color:#fff !important; border-color:#39B86C !important; }
body .fc-pg-btn:hover i,
body .fc-pg-btn.active i         { color:#fff !important; }


/* ── 13. Forecast Report (proj_salestarget.asp) ──
   - Highcharts column bar (legacy)
   - Section headers (.fr-chart-header, .fr-table-header) — purple → green gradient
   - Table year columns (.fr-th-year-current/-future) — purple → green
   ───────────────────────────────────────────────────────────────────── */
body .fr-bar-y1                  { background:linear-gradient(180deg,#39B86C,#0F5D36) !important; }
body .fr-dot-y1                  { background:#39B86C !important; }

/* Page title — was purple icon + dark purple h1 */
body .fr-page-title              { color:#0F5D36 !important; }
body .fr-page-title h1           { color:#0F5D36 !important; }
body .fr-page-title i            { color:#39B86C !important; }

/* Filter bar label — was purple-grey */
body .fr-filter-label            { color:#6B7280 !important; }

/* Filter badges — default (inactive) text was dark purple */
body .fr-badge                   { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .fr-badge i                 { color:#39B86C !important; }
body .fr-badge.active            { color:#fff !important; }
body .fr-badge.active i          { color:#fff !important; }

/* Section headers (chart + table) — FLAT solid green */
body .fr-chart-header,
body .fr-table-header,
body .fr-section-header          { background:#0F5D36 !important; color:#fff !important; }
body .fr-chart-header i,
body .fr-table-header i          { color:#BFE5BC !important; }

/* Variants (closed/in-plan/no-plan tables — solid shades distinct) */
body .fr-table-header.fr-th-inplan  { background:#0F5D36 !important; }
body .fr-table-header.fr-th-noplan  { background:#2DA15C !important; }
body .fr-table-header.fr-th-closed  { background:#0A4326 !important; }

/* Default table th (was lavender bg + purple text — flatten to green tint) */
body .fr-tbl th                    { background:#F0FAF3 !important; color:#0F5D36 !important; border-bottom-color:#BFE5BC !important; }

/* Year columns — current highlighted (FLAT solid) */
body .fr-tbl th.fr-th-year-current { background:#0F5D36 !important; color:#fff !important; }
body .fr-th-year-future            { background:#2DA15C !important; color:#fff !important; }
body .fr-th-year-past              { background:#6B7280 !important; color:#fff !important; }
body .fr-th-quarter                { background:#F0FAF3 !important; color:#0F5D36 !important; }

/* Table cells — text + tints (was purple) */
body .fr-tbl td                    { color:#0F5D36 !important; border-bottom-color:#E5E7EB !important; }
body .fr-tbl tr:hover td           { background:#F0FAF3 !important; }
body .fr-tbl .fr-row-total td      { background:#DDF5E7 !important; color:#0F5D36 !important; border-top-color:#39B86C !important; }
body .fr-tbl .fr-td-total-col      { background:#F0FAF3 !important; }
body .fr-tbl a.fr-cell-link        { color:#2DA15C !important; }
body .fr-tbl a.fr-cell-link:hover  { background:#39B86C !important; color:#fff !important; }
body .fr-tbl a.fr-cell-closed      { color:#0F5D36 !important; }
body .fr-tbl a.fr-cell-closed:hover{ background:#0F5D36 !important; color:#fff !important; }

/* Bar chart — 4 year colors → mono green flat (no gradient) */
body .fr-bar-y0                  { background:#0F5D36 !important; }
body .fr-bar-y2                  { background:#2DA15C !important; }
body .fr-bar-y3                  { background:#7DD3A2 !important; }
body .fr-dot-y0                  { background:#0F5D36 !important; }
body .fr-dot-y2                  { background:#2DA15C !important; }
body .fr-dot-y3                  { background:#7DD3A2 !important; }

/* Filter badges */
body .fr-badge-all.active        { background:#0F5D36 !important; }
body .fr-badge-ongoing.active    { background:#39B86C !important; }
body .fr-badge-ended.active      { background:#6B7280 !important; }


/* ====================================================================
   ALTERNATE STYLE — PREMIUM TECH FLAT
   ────────────────────────────────────────────────────────────────────
   Activated when <body class="... style-premium-tech ...">
   (set by /setstyle.asp + Session("ssStyle") = "premium-tech")

   Default (no class)            = Modern Corp FLAT (everything above)
   .style-premium-tech           = Premium Tech FLAT (emerald + amber)

   To remove this alternative entirely: delete this block.
   ==================================================================== */

/* ── Variables ── */
body.style-premium-tech{
  /* icons.css base */
  --navy:    #064E3B !important;
  --steel:   #059669 !important;
  --accent:  #10B981 !important;
  --accent2: #6EE7B7 !important;
  --light:   #ECFDF5 !important;
  --muted:   #64748B !important;

  /* proj-member.css */
  --mn:      #064E3B !important;
  --ms:      #059669 !important;
  --ma:      #10B981 !important;
  --ma2:     #6EE7B7 !important;
  --ml:      #D1FAE5 !important;
  --mbg:     #FFFFFF !important;
  --mmu:     #64748B !important;
  --gold:    #F59E0B !important;   /* premium amber gold */
  --goldb:   #F59E0B !important;
}

/* ── Solid surfaces (FLAT — no gradient) ── */
body.style-premium-tech .mb-topbar{
  background: #064E3B !important;
  border-bottom: 1px solid rgba(245,158,11,.25) !important;  /* subtle gold */
}
body.style-premium-tech .mb-footer{
  background: #064E3B !important;
  border-top: 2px solid #F59E0B !important;                  /* gold accent */
}
body.style-premium-tech .pdt-bar{
  background: #064E3B !important;
  border-bottom: 1px solid rgba(245,158,11,.18) !important;
}
body.style-premium-tech .pd-breadcrumb{
  background: #064E3B !important;
  border-bottom: 2px solid #10B981 !important;
}
body.style-premium-tech .hero,
body.style-premium-tech .apply-bar,
body.style-premium-tech .pm-infobar,
body.style-premium-tech .pc-header-card,
body.style-premium-tech .sr-header,
body.style-premium-tech .pd-proj-hdr,
body.style-premium-tech .page-hero{
  background: #064E3B !important;
}
body.style-premium-tech .pd-card-hdr,
body.style-premium-tech .pd-qb-hdr{
  background: #064E3B !important;
}
body.style-premium-tech .pd-btn-primary{
  background: #10B981 !important;
}

/* MEMBER badge — emerald primary */
body.style-premium-tech .mb-logo-badge{
  background: #10B981 !important;
  color: #FFFFFF !important;
}

/* Login page — slightly different shade so doesn't blend with footer #064E3B */
body.style-premium-tech .login-page{
  background: #065F46 !important;   /* emerald 800 — between primary and deep */
}

/* Public topbar (header.asp) — uses var(--navy) for bg, picks up emerald */
body.style-premium-tech .topbar{
  background: #064E3B !important;
}
body.style-premium-tech .topbar .lang-switch a.active{
  background: #FFFFFF !important;
  color: #064E3B !important;
}

/* Drawer 7 section headers — unified emerald with subtle variation */
body.style-premium-tech .mb-sec-h-admin,
body.style-premium-tech .mb-sec-h-crm,
body.style-premium-tech .mb-sec-h-cont,
body.style-premium-tech .mb-sec-h-mgmt,
body.style-premium-tech .mb-sec-h-map{
  background: #064E3B !important;
}
body.style-premium-tech .mb-sec-h-proj{
  background: #059669 !important;
}
body.style-premium-tech .mb-sec-h-special{
  background: #022C22 !important;        /* near-black emerald — premium */
  border-left: 3px solid #F59E0B !important;
}

/* Text body — slate (sharper than #1E1E1E) */
body.style-premium-tech{
  color: #0F172A !important;
}

/* Borders — slate cool */
body.style-premium-tech .pm-card,
body.style-premium-tech .stat-card,
body.style-premium-tech .news-card{
  border-color: #E2E8F0 !important;
}


/* ── Premium Tech: Stat Report (proj_statreport.asp) — emerald palette ── */
body.style-premium-tech .st-page-title h1 { color:#064E3B !important; }
body.style-premium-tech .st-page-title i  { color:#10B981 !important; }
body.style-premium-tech .st-main-tabs       { border-bottom-color:#10B981 !important; }
body.style-premium-tech .st-mtab            { color:#64748B !important; }
body.style-premium-tech .st-mtab:hover      { color:#059669 !important; background:#ECFDF5 !important; }
body.style-premium-tech .st-mtab.active     { color:#064E3B !important; background:#ECFDF5 !important; border-bottom-color:#10B981 !important; }
body.style-premium-tech .st-stab            { color:#64748B !important; }
body.style-premium-tech .st-stab:hover      { color:#059669 !important; background:#ECFDF5 !important; }
body.style-premium-tech .st-stab.active     { color:#064E3B !important; border-bottom-color:#F59E0B !important; }
body.style-premium-tech .st-flabel          { color:#064E3B !important; }
body.style-premium-tech .st-finput,
body.style-premium-tech .st-fselect         { color:#064E3B !important; border-color:#A7F3D0 !important; }
body.style-premium-tech .st-fbadge          { color:#064E3B !important; border-color:#A7F3D0 !important; }
body.style-premium-tech .st-fbadge:hover    { border-color:#10B981 !important; background:#ECFDF5 !important; }
body.style-premium-tech .st-fbadge.active   { background:#10B981 !important; color:#fff !important; border-color:#10B981 !important; }
body.style-premium-tech .st-card,
body.style-premium-tech .st-panel           { border-color:#A7F3D0 !important; }
body.style-premium-tech .st-tbl-section-hdr { background:linear-gradient(135deg,#064E3B,#059669) !important; color:#fff !important; }
body.style-premium-tech .st-tbl td          { color:#064E3B !important; border-bottom-color:#E2E8F0 !important; }
body.style-premium-tech .st-tbl tfoot,
body.style-premium-tech .st-tbl tr.st-tr-tot{ background:linear-gradient(135deg,#D1FAE5,#ECFDF5) !important; border-top-color:#10B981 !important; color:#064E3B !important; }
body.style-premium-tech .st-tbl tr.st-tr-tot td { color:#064E3B !important; }
body.style-premium-tech .st-tbl th.st-th-new   { background:linear-gradient(135deg,#064E3B,#059669) !important; }
body.style-premium-tech .st-tbl th.st-th-stg1  { background:#10B981 !important; }
body.style-premium-tech .st-tbl-badge       { color:#064E3B !important; }
body.style-premium-tech .st-tbl-badge i     { color:#10B981 !important; }

/* ── Premium Tech: Opps Report value card ── */
body.style-premium-tech .op-c-value .op-card-icon  { background:#D1FAE5 !important; color:#064E3B !important; }
body.style-premium-tech .op-c-value .op-card-value { color:#064E3B !important; }

/* ── Premium Tech: Forecast (proj_forecast.asp) ── */
body.style-premium-tech .fc-page-title i           { color:#10B981 !important; }
body.style-premium-tech .fc-breadcrumb a            { color:#059669 !important; }
body.style-premium-tech .fc-bc-badge-sales          { background:#E3F2FD !important; border-color:#90CAF9 !important; color:#1565C0 !important; }
body.style-premium-tech .fc-label i                 { color:#10B981 !important; }
body.style-premium-tech .fc-input:focus,
body.style-premium-tech .fc-select:focus            { border-color:#10B981 !important; box-shadow:0 0 0 2px rgba(16,185,129,.18) !important; }
body.style-premium-tech .fc-plan-badge:hover        { border-color:#10B981 !important; background:#ECFDF5 !important; }
body.style-premium-tech .fc-plan-all.active         { background:#10B981 !important; }
body.style-premium-tech .fc-btn-search              { background:linear-gradient(135deg,#064E3B,#059669) !important; color:#fff !important; }
body.style-premium-tech .fc-btn-search:hover        { background:linear-gradient(135deg,#022C22,#064E3B) !important; box-shadow:0 3px 12px rgba(6,78,59,.32) !important; }
body.style-premium-tech .fc-status-badge:hover      { border-color:#10B981 !important; background:#ECFDF5 !important; }
body.style-premium-tech .fc-status-all.active       { background:#10B981 !important; }
body.style-premium-tech .fc-td-projname a:hover     { color:#059669 !important; }
body.style-premium-tech .fc-pg-btn:hover,
body.style-premium-tech .fc-pg-btn.active           { background:#10B981 !important; color:#fff !important; border-color:#10B981 !important; }

/* ── Premium Tech: Forecast Report (proj_salestarget.asp) bar/dot ── */
body.style-premium-tech .fr-bar-y1                  { background:linear-gradient(180deg,#10B981,#064E3B) !important; }
body.style-premium-tech .fr-dot-y1                  { background:#10B981 !important; }


/* ── 15. Material Main (proj_materialmain.asp) — flatten brown/copper palette
   proj-pages-extra.css :1195+ uses #BF6B30/#3E1F0D/#FFF3E0 brown family
   Convert to Modern Corp green ─────────────────────────────────── */

/* Page title */
body .mt-page-title h1                  { color:#0F5D36 !important; }
body .mt-page-title i                   { color:#39B86C !important; }

/* Sidebar + main card */
body .mt-sidebar,
body .mt-main                           { border-color:#BFE5BC !important; }
body .mt-side-header,
body .mt-main-header                    { background:#0F5D36 !important; }
body .mt-side-header i,
body .mt-main-header i                  { color:#BFE5BC !important; }

/* Category list (sidebar) */
body .mt-cat-main                       { color:#0F5D36 !important; }
body .mt-cat-main:hover                 { background:#F0FAF3 !important; }
body .mt-cat-main.active                { background:#DDF5E7 !important; color:#0F5D36 !important; border-left-color:#39B86C !important; }
body .mt-cat-main.open                  { background:#F0FAF3 !important; }
body .mt-cat-arrow                      { color:#7DD3A2 !important; }
body .mt-cat-main.open .mt-cat-arrow    { color:#39B86C !important; }
body .mt-sub-list                       { background:#F0FAF3 !important; }
body .mt-sub-item                       { color:#1A6B40 !important; border-bottom-color:#DDF5E7 !important; }
body .mt-sub-item:hover                 { background:#DDF5E7 !important; color:#0F5D36 !important; }
body .mt-sub-item.active                { background:#DDF5E7 !important; color:#0F5D36 !important; border-left-color:#39B86C !important; }

/* Filter bar */
body .mt-filter                         { background:#F0FAF3 !important; border-bottom-color:#BFE5BC !important; }
body .mt-flabel                         { color:#0F5D36 !important; }
body .mt-fselect,
body .mt-search-input                   { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .mt-fselect:focus,
body .mt-search-input:focus             { border-color:#39B86C !important; box-shadow:0 0 0 2px rgba(57,184,108,.18) !important; }
body .mt-btn-search                     { background:#39B86C !important; color:#fff !important; }
body .mt-btn-search:hover               { background:#2DA15C !important; box-shadow:0 2px 8px rgba(15,93,54,.3) !important; }
body .mt-chk-label                      { color:#0F5D36 !important; }
body .mt-chk-label input[type="checkbox"]{ accent-color:#39B86C !important; }

/* Sort bar */
body .mt-sort-bar                       { background:#FAFCFB !important; border-bottom-color:#E5E7EB !important; }
body .mt-sort-label                     { color:#6B7280 !important; }
body .mt-sort-select                    { color:#0F5D36 !important; border-color:#BFE5BC !important; }

/* Table */
body .mt-tbl th                         { background:#0F5D36 !important; color:#fff !important; }
body .mt-tbl th:hover                   { background:#1A6B40 !important; }
body .mt-tbl td                         { color:#0F5D36 !important; border-bottom-color:#E5E7EB !important; }
body .mt-tbl tr:hover td                { background:#F0FAF3 !important; }
body .mt-td-date,
body .mt-td-date a,
body .mt-td-unit                        { color:#6B7280 !important; }
body .mt-td-date a:hover,
body .mt-td-name a:hover                { color:#2DA15C !important; }

/* Result + pagination */
body .mt-result-count                   { color:#6B7280 !important; }
body .mt-result-count strong            { color:#0F5D36 !important; }
body .mt-pg-btn                         { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .mt-pg-btn:hover,
body .mt-pg-btn.active                  { background:#39B86C !important; color:#fff !important; border-color:#39B86C !important; }
body .mt-pg-sep                         { color:#6B7280 !important; }


/* ── 14. Project Zoom (proj_rp_projectzoom.asp) — flatten blue/orange palette
   proj-member.css :2606+ uses #1565C0/#0D2137 + orange #E65100 mix
   Modern Corp FLAT: solid green for icons + headers, table green tints ── */

/* Header card */
body .prz-hdr                          { border-bottom-color:#BFE5BC !important; }
body .prz-hdr-icon                     { background:#0F5D36 !important; }
body .prz-title                        { color:#0F5D36 !important; }
body .prz-sub                          { color:#6B7280 !important; }
body .prz-sub strong                   { color:#0F5D36 !important; }

/* 3 Stat icons — all solid green family (count/value/avg) */
body .prz-stat                         { border-color:#BFE5BC !important; }
body .prz-stat-count .prz-stat-icon       { background:#0F5D36 !important; }
body .prz-stat-value-total .prz-stat-icon { background:#39B86C !important; }
body .prz-stat-avg .prz-stat-icon         { background:#2DA15C !important; }
body .prz-stat-value                   { color:#0F5D36 !important; }
body .prz-stat-label                   { color:#6B7280 !important; }

/* Toolbar */
body .prz-tb-lbl                       { color:#0F5D36 !important; }
body .prz-select                       { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body .prz-select:focus                 { outline-color:#39B86C !important; }

/* Table */
body .prz-tbl-wrap                     { border-color:#BFE5BC !important; }
body .prz-tbl thead tr                 { background:#0F5D36 !important; color:#fff !important; }
body .prz-tbl td                       { border-bottom-color:#E5E7EB !important; }
body .prz-tbl tbody tr:nth-child(even) { background:#F0FAF3 !important; }
body .prz-tbl tbody tr:hover           { background:#DDF5E7 !important; }

/* Table cell text */
body .prz-td-date                      { color:#6B7280 !important; }
body .prz-td-code                      { color:#0F5D36 !important; }
body .prz-td-name a                    { color:#2DA15C !important; }
body .prz-td-name a:hover              { color:#0F5D36 !important; }
body .prz-td-value                     { color:#0F5D36 !important; }
body .prz-td-prov                      { color:#6B7280 !important; }
body .prz-ver                          { color:#6B7280 !important; }


/* ── 14b. Premium Tech mirror for prz-* ─────────────────────────── */
body.style-premium-tech .prz-hdr-icon                     { background:#064E3B !important; }
body.style-premium-tech .prz-title                        { color:#064E3B !important; }
body.style-premium-tech .prz-sub strong                   { color:#064E3B !important; }
body.style-premium-tech .prz-stat-count .prz-stat-icon       { background:#064E3B !important; }
body.style-premium-tech .prz-stat-value-total .prz-stat-icon { background:#10B981 !important; }
body.style-premium-tech .prz-stat-avg .prz-stat-icon         { background:#059669 !important; }
body.style-premium-tech .prz-stat-value                   { color:#064E3B !important; }
body.style-premium-tech .prz-tbl thead tr                 { background:#064E3B !important; }
body.style-premium-tech .prz-tbl tbody tr:nth-child(even) { background:#ECFDF5 !important; }
body.style-premium-tech .prz-tbl tbody tr:hover           { background:#D1FAE5 !important; }
body.style-premium-tech .prz-td-name a                    { color:#059669 !important; }
body.style-premium-tech .prz-td-name a:hover              { color:#064E3B !important; }


/* ── 15. indexnew.asp directory section — icon color fix ──────────
   .dir-icon มี background:var(--light) (เขียวอ่อน) แต่ <i> ใน <a>
   inherit color จาก visited link (default browser = purple #551A8B)
   → ทำให้ไอคอนเป็นสีม่วงหลังเคยคลิก
   Fix: force green icon color คงเส้นคงวากับ theme */
body .dir-icon,
body .dir-icon i,
body .dir-card .dir-icon i,
body .dir-card:visited .dir-icon i,
body .dir-card:hover .dir-icon i      { color:#0F5D36 !important; }
body .dir-count                       { color:#0F5D36 !important; }

body.style-premium-tech .dir-icon,
body.style-premium-tech .dir-icon i,
body.style-premium-tech .dir-card .dir-icon i,
body.style-premium-tech .dir-card:visited .dir-icon i,
body.style-premium-tech .dir-card:hover .dir-icon i { color:#064E3B !important; }
body.style-premium-tech .dir-count                  { color:#064E3B !important; }


/* ── 16. icons-{developer,architect,engineer,contractor} sidebar ───
   .cc-icon: เดิมเป็น gradient (--accent → --steel) ที่มืดเกิน → solid bright
   .side-card-dark: เดิมเป็น var(--navy) #0F5D36 (deep) → mid green
   ตรงกับ FLAT philosophy + ตัด white text ได้ดี */
body .cc-icon            { background:#39B86C !important; }
body .cc-icon i,
body .cc-icon .icofont   { color:#FFFFFF !important; }
body .side-card-dark     { background:#2DA15C !important; }

body.style-premium-tech .cc-icon          { background:#10B981 !important; }
body.style-premium-tech .side-card-dark   { background:#059669 !important; }


/* ── 17. icons-newsdetail.asp — เพิ่มขนาดรูปข่าว ─────────────────
   เดิม .detail-hero-img height:260px fixed + object-fit:cover (crop)
   → รูปข่าวขนาดเล็กเกิน + ตัดส่วนสำคัญ
   Fix: ใช้ natural aspect ratio (height:auto + object-fit:contain)
         + max-height กันสูงเกิน + min-height กันรูปไม่มีโหลด */
body .detail-hero-img{
  height:auto !important;
  min-height:200px !important;
  max-height:620px !important;
  background:#F0FAF3 !important;
}
body .detail-hero-img img{
  width:100% !important;
  height:auto !important;
  max-height:620px !important;
  object-fit:contain !important;
}


/* ── 18. icons-buyads.asp — icon boxes มืดเกิน ────────────────────
   .ads-why-icon: solid var(--steel) #2DA15C (OK กลางๆ — ไม่มืด)
   .ads-pkg-icon: gradient(--steel → --navy) #2DA15C → #0F5D36 (มืดที่ขอบ)
   → solid bright var(--accent) #39B86C — FLAT philosophy + ตัด white icon ได้ดี

   Baseline bug: icons-pages.css:512 ใช้ selector ".ads-why-icon .icofont"
     แต่ <i> ใช้ class "icofont-XXX" (เช่น icofont-users-alt-4) — ไม่ match
     -> icon inherit body color (#1E1E1E ดำ). Override below ด้วย attribute
     selector ที่ match class prefix ทุกตัว. */
body .ads-why-icon       { background:#39B86C !important; }
body .ads-pkg-icon       { background:#39B86C !important; }
body .ads-pkg-card::before {
  background:#39B86C !important;
}
html body .ads-why-icon i[class^="icofont-"],
html body .ads-why-icon i[class*=" icofont-"],
html body .ads-pkg-icon i[class^="icofont-"],
html body .ads-pkg-icon i[class*=" icofont-"]{
  color:#fff !important;
}

body.style-premium-tech .ads-why-icon { background:#10B981 !important; }
body.style-premium-tech .ads-pkg-icon { background:#10B981 !important; }
body.style-premium-tech .ads-pkg-card::before { background:#10B981 !important; }


/* ── 19. projmain.asp data table — soften + flatten ────────────────
   เดิม:
   - header bg: linear-gradient(--mn, --ms) (เขียวเข้ม gradient) → กระแทกตา
   - cells weight 700/600/800 ทั่ว → ทุกอย่างเด่นพร้อมกัน → รก
   - ไม่มี zebra striping
   ตามที่ user ขอ:
   1) header bg อ่อนลง + flat (no gradient)
   2) ลด weight ทุกอย่าง = normal (เท่ากับวันที่/จังหวัด ที่ไม่มี weight)
      รวม stage badge + pagination
   3) zebra striping (สลับ white / เขียวอ่อน) ใน tbody */
body .pm-table th{
  background:#DDF5E7 !important;     /* tint — อ่อนสะอาด */
  color:#0F5D36 !important;          /* deep green text — ตัดได้ */
  font-weight:600 !important;        /* ลดจาก 700 เป็น 600 */
}
/* Zebra striping — even rows light green, odd white */
body .pm-table tbody tr:nth-child(even) td   { background:#F0FAF3 !important; }
body .pm-table tbody tr:nth-child(odd) td    { background:#FFFFFF !important; }
/* Hover ต้องเข้มกว่า zebra เพื่อให้เห็น */
body .pm-table tbody tr:hover td             { background:#DDF5E7 !important; }
/* Body cells — normal weight ทุก column */
body .pm-table tbody td,
body .pm-td-date,
body .pm-td-code,
body .pm-td-code span,
body .pm-td-name,
body .pm-td-name a,
body .pm-td-value,
body .pm-td-prov                             { font-weight:400 !important; }
/* Stage badges — ทุกประเภท normal */
body .pm-td-stage,
body .pm-s-prep,
body .pm-s-design,
body .pm-s-design2,
body .pm-s-bid,
body .pm-s-docs,
body .pm-s-result,
body .pm-s-build,
body .pm-s-done                              { font-weight:400 !important; }
/* Pagination — normal ทุกปุ่ม (active คง 500 เล็กน้อยให้เห็นว่าเลือก) */
body .pm-pg-btn                              { font-weight:400 !important; }
body .pm-pg-btn.active                       { font-weight:500 !important; }

/* Premium Tech mirror */
body.style-premium-tech .pm-table th{
  background:#D1FAE5 !important;
  color:#064E3B !important;
}
body.style-premium-tech .pm-table tbody tr:nth-child(even) td { background:#ECFDF5 !important; }
body.style-premium-tech .pm-table tbody tr:hover td           { background:#D1FAE5 !important; }


/* ── 20. projmain.asp — sector/stage tabs + header polish + code alignment ──
   3 จุดต่อจาก block 19:

   (A) Sector/Stage tab buttons (.pm-tab-btn) — เดิม font-weight:700
       → ลดเป็น 500 (เด่นน้อยลง, ตรงกับธีมเดิมที่ลด weight ทั้งหน้า)
       .pm-tabs-stage-label ก็ลดจาก 600 → 400

   (B) Table header (.pm-table th) — block 19 ใช้ #DDF5E7 ซึ่งเป็นสีเดียว
       กับ row hover → ดูชนกัน เห็น hover ไม่ได้
       → bump header เป็น #BFE5BC (เข้มขึ้น 1 ระดับ) + ใส่ border-right
         สีขาว 2px เพื่อสร้าง cell-spacing แบบ visual

   (C) pm-td-code (รหัสโครงการ) เด้งสูงไม่ตรงบรรทัด —
       เดิม display:flex + align-items:center + Barlow Condensed
       (line-height/baseline ต่างจาก Sarabun ของ td อื่น) → ทำให้ text
       baseline ไม่ตรงกัน เมื่อ row สูงขึ้นเพราะ "ใหม่" badge ในคอลัมน์ชื่อ
       Fix: เปลี่ยนกลับเป็น table-cell + vertical-align middle
            + ★ icon float:right (ไม่ใช้ flex space-between แล้ว) */

/* (A) tab buttons — ลด weight */
body .pm-tab-btn            { font-weight:500 !important; }
body .pm-tabs-stage-label   { font-weight:400 !important; }

/* (B) header — เข้มขึ้น + cell-spacing สีขาว */
body .pm-table th{
  background:#BFE5BC !important;        /* darker than row hover #DDF5E7 */
  color:#0F5D36 !important;
  font-weight:600 !important;
  border-right:2px solid #FFFFFF !important;
  border-bottom:2px solid #FFFFFF !important;
}
body .pm-table th:last-child  { border-right:none !important; }

/* (C) pm-td-code — back to table-cell flow, ★ float right */
body .pm-td-code{
  display:table-cell !important;
  vertical-align:middle !important;
  text-align:left !important;
}
body .pm-td-code > img{
  float:right !important;
  margin-top:2px !important;
}

/* Premium Tech mirror */
body.style-premium-tech .pm-table th{
  background:#A7F3D0 !important;
  color:#064E3B !important;
  border-right:2px solid #FFFFFF !important;
  border-bottom:2px solid #FFFFFF !important;
}
body.style-premium-tech .pm-table th:last-child { border-right:none !important; }


/* ── 21. header_proj drawer — 6-step green gradient + font polish ────
   3 ปัญหาที่ user รายงาน:

   (A) เดิม section 1-6 ใช้สีเขียวเดียวกัน (#0F5D36) ดูเรียบเกินไป
       → ไล่ 6 ระดับสีเขียว (deep → lighter) ให้ "เรียบหรูแต่แตกต่างกัน"
       Lightness step ~5% ต่อ section, ทุกสีคุม contrast กับ white text
       (อย่างน้อย AA Large)

   (B) Font หนาเกิน + เล็กเกิน
       .mb-sec-hdr     weight 700->500, size 13px->14.5px
       .mb-icon-btn span weight 600->400, size 11.5px->12.5px
       .mb-sec-hdr i (icon gold)   keep gold tone

   (C) Disabled state สำหรับ "รถไฟทางคู่" + "รถไฟความเร็วสูง"
       (อยู่ระหว่างปรับปรุง — disable ไปก่อน)
       greyed + cursor:not-allowed + no hover effect */

/* (A) 6-step green gradient — section 1 (admin) deepest, section 6 (mgmt) lightest */
body[class] .mb-sec-h-admin { background:#0F5D36 !important; }  /* deepest */
body[class] .mb-sec-h-crm   { background:#1E6E45 !important; }
body[class] .mb-sec-h-proj  { background:#2D8055 !important; }
body[class] .mb-sec-h-cont  { background:#3C9265 !important; }
body[class] .mb-sec-h-map   { background:#4BA475 !important; }
body[class] .mb-sec-h-mgmt  { background:#5AB685 !important; }  /* lightest */

/* (B) font weight/size polish */
body .mb-sec-hdr{
  font-weight:500 !important;
  font-size:14.5px !important;
  letter-spacing:.02em !important;
}
body .mb-icon-btn span{
  font-weight:400 !important;
  font-size:12.5px !important;
}

/* (C) disabled state — รถไฟ items */
body .mb-icon-btn.mb-disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
  pointer-events:auto !important;     /* allow tooltip on hover */
  filter:grayscale(.4) !important;
}
body .mb-icon-btn.mb-disabled:hover{
  transform:none !important;
  box-shadow:none !important;
  background:var(--ml) !important;
  border-color:#C8E0CC !important;
}
body .mb-icon-btn.mb-disabled .mb-iico{
  background:#E5E7EB !important;
  color:#9CA3AF !important;
}

/* Premium Tech mirror — emerald scale */
body.style-premium-tech .mb-sec-h-admin { background:#064E3B !important; }
body.style-premium-tech .mb-sec-h-crm   { background:#075F47 !important; }
body.style-premium-tech .mb-sec-h-proj  { background:#087053 !important; }
body.style-premium-tech .mb-sec-h-cont  { background:#0A815F !important; }
body.style-premium-tech .mb-sec-h-map   { background:#0B926B !important; }
body.style-premium-tech .mb-sec-h-mgmt  { background:#0DA377 !important; }


/* ── 22. header_proj typography polish — section 7 + top nav ──────
   ต่อจาก block 21 (drawer section 1-6 typography). User ขอลด weight
   ของ section 7 + แถบ nav ด้านบนให้บางลง สอดคล้องกับงาน de-bold
   ในส่วนอื่น

   Top nav (.mb-qn-item etc):
     .mb-menu-trigger (☰ เมนู)   700 -> 500
     .mb-qn-item (nav links)     600 -> 400
     .mb-btn-logout              700 -> 500

   Section 7 (ส่วนพิเศษ ขวาบน):
     .mb-special-badge-buy (ซื้อเพิ่ม)        800 -> 600
     .mb-special-promo (คำอธิบาย)             600 -> 400
     .mb-special-promo-btn (ดูแพ็กเกจ)        700 -> 500
     .mb-sp7-lbl (5 icon labels)              700 -> 400
     .mb-sp7-free-tag (ฟรี / ฟรี 1 เดือน)     800 -> 600
     .mb-sp7-report-hdr (รายงาน...)           800 -> 500
     .mb-sp7-report-count (10 รายงาน)         700 -> 600
     .mb-sp7-ritem (report list rows)         600 -> 400 */

/* Top nav bar */
body .mb-menu-trigger                         { font-weight:500 !important; }
body .mb-qn-item                              { font-weight:400 !important; }
body .mb-btn-logout                           { font-weight:500 !important; }

/* Section 7 — special block */
body .mb-special-badge-buy                    { font-weight:600 !important; }
body .mb-special-promo                        { font-weight:400 !important; }
body .mb-special-promo-btn                    { font-weight:500 !important; }
body .mb-sp7-lbl                              { font-weight:400 !important; }
body .mb-sp7-free-tag                         { font-weight:600 !important; }
body .mb-sp7-report-hdr                       { font-weight:500 !important; }
body .mb-sp7-report-count                     { font-weight:600 !important; }
body .mb-sp7-ritem                            { font-weight:400 !important; }


/* ── 23. drawer section header icons — alternating gold ↔ mint ─────
   After block 21 added a 6-step green gradient to section headers,
   the inline icons (.mb-sec-hdr i) became invisible because they
   inherit color: var(--goldb) which block 1 overrode to #39B86C
   (mid-green) — same hue as the new backgrounds.

   Fix: give each section a contrasting icon color in an alternating
   rhythm (gold on odd sections, light mint on even). Both colors
   read clearly on every shade of green from #0F5D36 to #5AB685.

     section 1 admin  -> gold     #FFD54F
     section 2 crm    -> mint     #BFE5BC
     section 3 proj   -> gold     #FFD54F
     section 4 cont   -> mint     #BFE5BC
     section 5 map    -> gold     #FFD54F
     section 6 mgmt   -> mint     #BFE5BC

   Also pin section-header text to white (was inherited) and bump
   icon size slightly for visual weight parity with the larger
   header font set in block 21. */
body[class] .mb-sec-h-admin i { color:#FFD54F !important; }
body[class] .mb-sec-h-crm   i { color:#BFE5BC !important; }
body[class] .mb-sec-h-proj  i { color:#FFD54F !important; }
body[class] .mb-sec-h-cont  i { color:#BFE5BC !important; }
body[class] .mb-sec-h-map   i { color:#FFD54F !important; }
body[class] .mb-sec-h-mgmt  i { color:#BFE5BC !important; }

/* Slightly larger icon so it doesn't get lost next to 14.5px text */
body .mb-sec-hdr i           { font-size:17px !important; }

/* Pin header text to white across all 6 sections (was inherited from
   .mb-sec-hdr default but worth being explicit now that backgrounds
   differ). */
body[class] .mb-sec-h-admin,
body[class] .mb-sec-h-crm,
body[class] .mb-sec-h-proj,
body[class] .mb-sec-h-cont,
body[class] .mb-sec-h-map,
body[class] .mb-sec-h-mgmt   { color:#FFFFFF !important; }

/* Premium Tech mirror — same alternating pattern (gold + mint still
   look good on emerald 600/900) */
body.style-premium-tech .mb-sec-h-admin i { color:#FCD34D !important; }
body.style-premium-tech .mb-sec-h-crm   i { color:#D1FAE5 !important; }
body.style-premium-tech .mb-sec-h-proj  i { color:#FCD34D !important; }
body.style-premium-tech .mb-sec-h-cont  i { color:#D1FAE5 !important; }
body.style-premium-tech .mb-sec-h-map   i { color:#FCD34D !important; }
body.style-premium-tech .mb-sec-h-mgmt  i { color:#D1FAE5 !important; }


/* ── 24. projmain.asp data table — bigger project-name + whole row clickable
   1) ชื่อโครงการ font ใหญ่ขึ้นนิด (13px -> 14.5px) เพื่อให้เด่นกว่า columns อื่น
   2) ทั้ง <tr> คลิกได้ (cursor:pointer) — JS handler ใน projmain.asp เปิด
      proj_detail.asp ใน new tab เมื่อคลิกที่ td ว่าง (และยังคงเปิดผ่าน
      <a target="_blank"> ตามปกติเมื่อคลิกที่ลิงก์ชื่อ)
   3) Visited state — class .pm-visited (เพิ่มจาก JS เมื่อ click หรืออ่าน
      จาก localStorage บน page load) — text เทาทั้งแถว, ★ icon
      desaturate, stage badge จาง */
body .pm-td-name a                        { font-size:14px !important; }
body .pm-table tbody tr.pm-row            { cursor:pointer !important; }

/* Visited — สีเทาทั้งแถว */
body .pm-table tbody tr.pm-visited td,
body .pm-table tbody tr.pm-visited .pm-td-date,
body .pm-table tbody tr.pm-visited .pm-td-code,
body .pm-table tbody tr.pm-visited .pm-td-code span,
body .pm-table tbody tr.pm-visited .pm-td-value,
body .pm-table tbody tr.pm-visited .pm-td-prov,
body .pm-table tbody tr.pm-visited .pm-td-name a,
body .pm-table tbody tr.pm-visited .pm-td-name a:visited{
  color:#9CA3AF !important;
}
body .pm-table tbody tr.pm-visited .pm-td-stage{
  opacity:.65 !important;
}
/* ★ favorite-level icon คงสีเดิมแม้ row จะ visited
   (per user request — ดาวระบุ intlevel ที่ user set, ไม่ใช่ visited state) */
body .pm-table tbody tr.pm-visited img{
  filter:none !important;
  opacity:1 !important;
}
/* Hover เด่นกว่า visited gray — bg เปลี่ยน + text กลับมาสีปกติชั่วคราว */
body .pm-table tbody tr.pm-visited:hover td,
body .pm-table tbody tr.pm-visited:hover .pm-td-name a{
  color:#0F5D36 !important;
}

/* Last-login by-name display in top bar */
body .mb-ti-by{
  color:rgba(255,255,255,.7) !important;
  font-weight:400 !important;
  margin-left:2px;
}


/* ── 25. proj_search.asp — filter form de-bold + pagination thin ──
   proj_search.asp ใช้ .pm-table + .pm-td-* ดังนั้น block 19/20/23/24
   ครอบคลุม font ของตาราง + row click + visited gray + cell-spacing
   อยู่แล้ว. ที่เหลือคือ:

   (A) Filter form (.ps-*) — labels/pills/mode-btn ลด weight
   (B) Card header — gradient เขียวเข้ม → solid (FLAT) + ลด weight
   (C) Pagination .fv-pgn-ctl (proj_search ใช้ตัวนี้ ไม่ใช่ .pm-pg-btn) */

/* (A) Filter form typography
   .ps-label = "วันที่รายงานล่าสุด / รหัสโครงการ / มูลค่าโครงการ / ภาค / จังหวัด ..."
              user ขอให้ "หนา" — keep 600 (เด่นเป็นหัวข้อย่อยของ field)
   .ps-pill / .ps-range-sep / .ps-unit / .ps-chk-label / .ps-mode-btn
              = badges + small labels → 400 (เนื้อหา ไม่เด่น) */
body .ps-page-title           { font-weight:500 !important; }
body .ps-mode-btn             { font-weight:500 !important; }
body .ps-label                { font-weight:600 !important; }
body .ps-pill                 { font-weight:400 !important; }
body .ps-range-sep            { font-weight:400 !important; }
body .ps-unit                 { font-weight:400 !important; }
body .ps-chk-label            { font-weight:400 !important; }

/* Search / Clear buttons — เดิม 700 หนาเกิน → 500 */
body .ps-btn                  { font-weight:500 !important; }

/* (B) Card header — flatten gradient + lighter text */
body .ps-card-hdr{
  background:#0F5D36 !important;
}
body .ps-card-hdr-left        { font-weight:500 !important; }

/* (C) Pagination */
body .fv-pgn-ctl button       { font-weight:400 !important; }
body .fv-pgn-ctl button.active{ font-weight:500 !important; }
body .fv-pgn-info             { font-weight:400 !important; }
body .fv-pgn-info strong      { font-weight:500 !important; }

/* Premium Tech mirror */
body.style-premium-tech .ps-card-hdr { background:#064E3B !important; }


/* ── 26. proj_detail.asp — white section backgrounds + de-bold content
   User ขอ:
   1) Section headers (.pd-proj-hdr, .pd-card-hdr) เปลี่ยน bg จากเขียวเข้ม
      gradient → solid white. หัวข้อยังเด่นด้วยสี deep green + bold พอประมาณ
   2) เนื้อหาภายในการ์ดทั้งหมด → font weight บาง ยกเว้นหัวข้อย่อย
      (ชื่อบริษัท, ชื่อบุคคล) ที่ยังคงเด่นพอ
   3) "เจ้าของโครงการ" header bg ออก (ใช้ .pd-card-hdr → white แล้ว)
   4) "ผู้ติดต่อ" / "กรรมการผู้จัดการ" / "ไม่เปิดเผยชื่อ (PDPA)" บางลง */

/* ─── (A) Section card headers ─── */
/* แก้ 2026-05-13: white โล่งเกินไป → ใช้ tint (#DDF5E7) แทน คงตัด section ชัดเจน
   แต่ .pd-proj-hdr (project header card ด้านบน) ยังคงเป็น white ตามที่ user
   ขอ ("ยกเว้น snap96.jpg คงไว้") */
body .pd-card-hdr{
  background:#DDF5E7 !important;
  color:#0F5D36 !important;
  font-weight:600 !important;
  border-bottom:1px solid #BFE5BC !important;
}
body .pd-card-hdr i{ color:#0F5D36 !important; }

/* ─── (B) Big project header — flip text/badge colors for white bg ─── */
body .pd-proj-hdr{
  background:#FFFFFF !important;
  border:1px solid #DDF5E7 !important;
  box-shadow:0 1px 3px rgba(15,93,54,.06) !important;
}
/* User feedback 2026-05-13:
   รหัสโครงการ (.pd-proj-code-num) ไม่ต้องเด่น — เล็กลง
   ชื่อโครงการ (.pd-proj-title) ให้เด่นแทน — ใหญ่ขึ้น
   + กันชื่อยาวแตกบรรทัด */
body .pd-proj-code         { color:#6B7280 !important; }
body .pd-proj-code-num{
  color:#0F5D36 !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
}
body .pd-proj-title{
  color:#0F5D36 !important;
  font-size:24px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  word-break:break-word !important;
  overflow-wrap:break-word !important;
}
body .pd-proj-value        { color:#0F5D36 !important; font-weight:700 !important; }
body .pd-proj-value small  { color:#6B7280 !important; }

/* Meta badges — flip transparent-on-dark to solid-on-light */
body .pd-meta-badge        { font-weight:500 !important; }
body .pd-badge-cat{
  background:#F0FAF3 !important;
  color:#0F5D36 !important;
  border:1px solid #BFE5BC !important;
}
body .pd-badge-sec-pri{
  background:#E8F5E9 !important;
  color:#2E7D32 !important;
  border:1px solid #A5D6A7 !important;
}
body .pd-badge-sec-gov{
  background:#FFF8E1 !important;
  color:#E65100 !important;
  border:1px solid #FFE082 !important;
}
body .pd-badge-update{
  background:#F4F6F5 !important;
  color:#6B7280 !important;
}
body .pd-badge-province{
  background:#FFF4D6 !important;
  color:#7B3A00 !important;
  border:1px solid #F2D98C !important;
  box-shadow:none !important;
  font-weight:600 !important;
}
/* Category badge — prominent solid green pill (override baseline .pd-badge-cat-prominent) */
body .pd-badge-cat-prominent{
  background:#0F5D36 !important;
  color:#FFFFFF !important;
  border:1px solid #0A4326 !important;
  box-shadow:none !important;
  font-weight:600 !important;
  font-size:12px !important;
  padding:4px 10px !important;
  letter-spacing:0 !important;
}
body .pd-badge-cat-prominent i{
  color:#FFFFFF !important;
  font-size:13px !important;
  margin-right:4px !important;
}

/* Print button — outlined-on-dark → solid-on-light */
body .pd-print-report-btn{
  background:#0F5D36 !important;
  border:1.5px solid #0F5D36 !important;
  color:#FFFFFF !important;
  font-weight:500 !important;
}
body .pd-print-report-btn:hover{
  background:#1E6E45 !important;
  border-color:#1E6E45 !important;
}
body .pd-print-report-btn i{ color:#FFD54F !important; }

/* ─── (C) Card body — de-bold ─── */
body .pd-co-name             { font-weight:600 !important; }  /* ชื่อบริษัท (sub-title) */
body .pd-co-lbl              { font-weight:400 !important; }
body .pd-person-name         { font-weight:600 !important; }  /* ชื่อบุคคล */
body .pd-person-lbl          { font-weight:400 !important; }
body .pd-contact-persons-hdr { font-weight:400 !important; }  /* "ผู้ติดต่อ" */
body .pd-person-pos          { font-weight:400 !important; }  /* "กรรมการผู้จัดการ" badge */
body .pd-pdpa-badge          { font-weight:400 !important; }  /* "ไม่เปิดเผยชื่อ (PDPA)" badge */

/* Premium Tech mirror — emerald-deeper for text/headers */
body.style-premium-tech .pd-card-hdr,
body.style-premium-tech .pd-card-hdr i{ color:#064E3B !important; }
body.style-premium-tech .pd-card-hdr   { border-bottom-color:#D1FAE5 !important; }
body.style-premium-tech .pd-proj-hdr   { border-color:#D1FAE5 !important; }
body.style-premium-tech .pd-proj-code-num,
body.style-premium-tech .pd-proj-title,
body.style-premium-tech .pd-proj-value { color:#064E3B !important; }
body.style-premium-tech .pd-print-report-btn{
  background:#064E3B !important; border-color:#064E3B !important;
}


/* ── 27. proj_detail.asp sidebar — Quick Info card (snap97) ──────
   sidebar มี 2 card: "ข้อมูลโครงการ" + "ประวัติขั้นตอน"
   เดิม .pd-qb-hdr เป็น gradient เขียวเข้ม → flatten เป็นเขียวอ่อน
   เดียวกับ .pd-card-hdr (block 26 updated) + de-bold body content */

/* (A) Header — เปลี่ยน bg เป็นเขียวอ่อนเดียวกับ pd-card-hdr */
body .pd-qb-hdr{
  background:#DDF5E7 !important;
  color:#0F5D36 !important;
  font-weight:600 !important;
  border-bottom:1px solid #BFE5BC !important;
}
body .pd-qb-hdr i{ color:#0F5D36 !important; }

/* (B) Body — de-bold labels + values */
body .pd-qb-lbl              { font-weight:400 !important; }
body .pd-qb-val              { font-weight:500 !important; }
body .pd-qb-badge            { font-weight:500 !important; }

/* Premium Tech mirror */
body.style-premium-tech .pd-qb-hdr,
body.style-premium-tech .pd-qb-hdr i{ color:#064E3B !important; }
body.style-premium-tech .pd-qb-hdr   { background:#D1FAE5 !important; border-bottom-color:#A7F3D0 !important; }
body.style-premium-tech .pd-card-hdr { background:#D1FAE5 !important; border-bottom-color:#A7F3D0 !important; }


/* ── 28. proj_detail.asp stage history + spec values + timeline ──
   3 จุดต่อจาก block 26/27:

   (A) .pd-hist-item.active ("ครั้งที่N ... (ล่าสุด)") —
       เดิม gradient เขียวเข้ม #2E7D32 → #388E3C ดู contrast แรงเกิน
       เทียบกับ section headers ที่เป็น tint แล้ว
       → solid Modern Corp green #2DA15C, weight 600 (ไม่ shouty)

   (B) .pd-hist-item (inactive ครั้งที่ 1-N) — weight 600 → 400

   (C) .pd-spec-val ("34 ชั้น" / "106 ยูนิต" / "682.24 ล้าน" /
       "กรุงเทพมหานคร" / "งานสร้างใหม่") weight 700 → 500
       .pd-spec-val.highlight (มูลค่า) เก็บ heavier เป็น 600

   (D) .pd-spec-label (จำนวนชั้น/จำนวนห้อง/มูลค่า/ฯลฯ labels) 700 → 500

   (E) .pd-tlb-val ("เริ่มก่อสร้างภายในเดือน มีนาคม 2567" + "งานแล้วเสร็จ
       ไตรมาสที่ 2 ปี 2570") weight 800 → 600

   (F) .pd-tlb-label 700 → 400 */

/* (A) active history item — flat solid Modern Corp green */
body .pd-hist-item.active{
  background:#2DA15C !important;
  border-color:#2DA15C !important;
  color:#FFFFFF !important;
  font-weight:600 !important;
}

/* (B) inactive history items */
body .pd-hist-item           { font-weight:400 !important; }

/* (C) spec values */
body .pd-spec-val            { font-weight:500 !important; }
body .pd-spec-val.highlight  { font-weight:600 !important; }
/* (D) spec labels */
body .pd-spec-label          { font-weight:500 !important; }

/* (E) (F) timeline banner (วันเริ่ม / วันสิ้นสุด) */
body .pd-tlb-val             { font-weight:600 !important; }
/* Match Construction Start BG/border to Construction End (per user request) */
body .pd-tlb-start{
  background:linear-gradient(135deg,#FFF3E0,#FFF8F0) !important;
  border-color:#FFA726 !important;
}
body .pd-tlb-label           { font-weight:400 !important; }

/* Premium Tech mirror */
body.style-premium-tech .pd-hist-item.active{
  background:#059669 !important;
  border-color:#059669 !important;
}


/* ── 29. proj_detail.asp memo card header — restore amber theme ──
   .pd-memo-box has amber/cream styling (background #FFF8E1, border
   #FFB74D) so its header should match. Block 26's generic
   .pd-card-hdr -> #DDF5E7 override beat .pd-memo-hdr's own gradient
   because the body[class] selector has higher specificity.

   Use a higher-specificity selector (.pd-card-hdr.pd-memo-hdr)
   so the memo card gets a light-amber tint header consistent with
   its own block, while other section headers stay green-tint. */
body .pd-card-hdr.pd-memo-hdr{
  background:#FFF3E0 !important;
  color:#7B3A00 !important;
  border-bottom:1px solid #FFB74D !important;
  font-weight:600 !important;
}
body .pd-card-hdr.pd-memo-hdr i{ color:#E65100 !important; }

body.style-premium-tech .pd-card-hdr.pd-memo-hdr{
  background:#FEF3C7 !important;
  color:#92400E !important;
  border-bottom-color:#FCD34D !important;
}
body.style-premium-tech .pd-card-hdr.pd-memo-hdr i{ color:#D97706 !important; }


/* ── 30. proj_detail.asp memo card body — de-bold everything ─────
   User: "ปรับ font ให้บางทั้งหมด รวมทั้งปุ่ม" (memo card content)
   ครอบคลุม: section labels, radio options, sales toggle, sales-current
   pill, sub-labels, voice button, action buttons (ลบ/บันทึก),
   friend banner, inputs/select/textarea */

/* Section labels "1. เลือกระดับความสนใจ" / "2. ชื่อพนักงานขาย" ฯลฯ */
body .pd-memo-label                  { font-weight:500 !important; }
/* Sub-labels "วันที่คาดการณ์", "มูลค่าคาดหวัง", info hints */
body .pd-memo-sublabel               { font-weight:400 !important; }
body .pd-memo-hint                   { font-weight:400 !important; }
/* Radio rows "สนใจมาก / ปานกลาง / ไม่สนใจ / ปิดงานได้" */
body .pd-memo-radio-label            { font-weight:400 !important; }
/* Sales toggle tabs "เลือกจากระบบ / พิมพ์ชื่อเอง" */
body .pd-memo-emp-tab                { font-weight:500 !important; }
/* Sales current pill */
body .pd-sales-current-title         { font-weight:500 !important; font-size:14px !important; color:#5D4037 !important; }
body .pd-sales-current-name          { font-weight:700 !important; font-size:16px !important; color:#BF360C !important; }
/* Enlarge current-sales frame so user can clearly see who owns this project */
body .pd-sales-current{
  padding:10px 14px !important;
  margin-bottom:10px !important;
  gap:9px !important;
  font-size:14px !important;
  background:linear-gradient(135deg,#FFF3E0,#FFE8C9) !important;
  border:1.5px solid #FFB74D !important;
  border-radius:8px !important;
  box-shadow:0 1px 4px rgba(230,81,0,.08) !important;
}
body .pd-sales-current-icon{
  font-size:18px !important;
  color:#E65100 !important;
}
body .pd-sales-current-name.pd-sales-none{
  color:#9E9E9E !important;
  font-weight:500 !important;
  font-style:italic !important;
  font-size:15px !important;
}
/* Inputs / select / textarea */
body .pd-memo-input,
body .pd-memo-select,
body .pd-memo-textarea               { font-weight:400 !important; }
/* Voice + main action buttons */
body .pd-memo-voice-btn              { font-weight:500 !important; }
body .pd-memo-btn                    { font-weight:500 !important; }
/* Friend banner (กดเพื่อนจองโครงการเดียวกัน) */
body .pd-memo-friend-banner          { font-weight:500 !important; }


/* ── 31. proj_detail.asp .pd-detail-remark — thin body, keep keyword bold
   The remark block ("หมายเหตุ ...") was 600 weight on the whole span.
   User wants the keyword "หมายเหตุ" (TH) / "remark" (EN) to stay bold
   while the body lines that follow read thin. Both languages already
   wrap the leading keyword in <u>...</u>, so target that tag for the
   heavier weight and drop the span body to 400. Red color #C62828
   stays as defined in proj-pages-main.css. */
body .pd-detail-remark      { font-weight:400 !important; }
body .pd-detail-remark u    { font-weight:700 !important; }


/* ── 32. follow-up de-bold (top bar info, active history pill,
   Export button) ───────────────────────────────────────────────

   Three spots still felt heavier than the rest of the de-bolded UI:

   (A) .mb-ti strong — username/IP/timestamp values in the top bar
       (e.g. "(icons)", "58.1.99.1", "13/5/2569 16:20"). HTML
       <strong> defaults to weight 700; downgrade to 500.

   (B) .pd-hist-item.active was set to 600 in block 28 — still loud
       next to the now-thinner UI. Drop to 500.

   (C) .pd-btn / .pd-btn-outline is the 'Export ผู้ติดต่อทั้งหมดไปที่
       Excel' button (and other outline buttons in proj_detail);
       baseline weight 700 -> 500. */
body .mb-ti strong            { font-weight:500 !important; }
body .pd-hist-item.active     { font-weight:500 !important; }
body .pd-btn                  { font-weight:500 !important; }


/* ── 33. proj_search.asp filter panel — visual separation L/R ────
   In the filter mode (กรองข้อมูล) the 8 filter groups are arranged
   in 4 rows of 2 (.ps-inline-pair). Each group's CSS was just
   margin-bottom + a mint header strip — no card frame — so the
   left/right columns visually merged into one band.

   Fix: give every .ps-fg a proper card outline (mint border +
   white body + radius), pin the .ps-fg-hdr to the card's top
   (square inner corners), and widen the grid gap so the two
   columns read as 'two cards side-by-side' instead of 'one strip'. */

body .ps-fg{
  border:1px solid #BFE5BC !important;
  border-radius:8px !important;
  background:#FFFFFF !important;
  overflow:hidden !important;
  margin-bottom:14px !important;
}
body .ps-fg-hdr{
  background:#DDF5E7 !important;
  border-radius:0 !important;
  margin-bottom:0 !important;
  border-bottom:1px solid #BFE5BC !important;
}
body .ps-inline-pair{
  gap:24px !important;
}

body.style-premium-tech .ps-fg{
  border-color:#A7F3D0 !important;
}
body.style-premium-tech .ps-fg-hdr{
  background:#D1FAE5 !important;
  border-bottom-color:#A7F3D0 !important;
}


/* ── 34. De-bold buttons and badges site-wide ────────────────────
   2026-05-13: continue the de-bold polish. Buttons + badges were
   still at 600-700 across most pages; bring them to 500 so they
   sit harmoniously with the now-thinner content.

   Coverage:
     Buttons —
       • <button>, <input type=button|submit|reset>
       • Any class containing -btn or btn- (covers .pd-btn,
         .pm-btn, .ps-btn, .fc-btn, .al-btn, .fv-btn, .cr-btn,
         .q-btn, .sp-btn, .spp-btn, .sr-btn, .svc-btn, .bqp-btn,
         .bqd-btn, .mt-btn, .btn-primary, .btn-form, etc.)
       • Toggle pills .font-toggle-btn / .style-toggle-btn

     Badges —
       • Any class containing -badge / badge-
       • .listing-type (indexnew "ต้องการวัสดุ / ต้องการผู้รับเหมา")
       • .pd-bc-cat, .pd-meta-badge, .ps-pill, .mb-qn-badge,
         .mb-qn-badge-dw, .sd-badge
       • Common stage chips .pm-s-* (project status pills) */

body button,
body input[type="button"],
body input[type="submit"],
body input[type="reset"],
body [class*="-btn"],
body [class*="btn-"],
body .font-toggle-btn,
body .style-toggle-btn,
body .see-all,
body .ad-btn,
body .nav-pill{
  font-weight:500 !important;
}

body .badge,
body [class*="-badge"],
body [class*="badge-"],
body .listing-type,
body .pd-bc-cat,
body .pd-meta-badge,
body .ps-pill,
body .mb-qn-badge,
body .mb-qn-badge-dw,
body .sd-badge,
body [class^="pm-s-"]{
  font-weight:500 !important;
}


/* ── 35. indexnew "ความต้องการล่าสุด" cards — de-bold titles ────
   2026-05-13: the <h4> inside each .listing-card (the announcement
   title — e.g. "ต้องการขอราคาสินค้าด่วน GROUND CLAMP FOR CABLE...")
   sat at font-weight:600 (icons.css). Drop to 400 so the title
   reads as content, not a heading. */
body .listing-card h4{
  font-weight:400 !important;
}


/* ── 36. icons-otp-verify "ข้อมูลการเข้าใช้งาน" card — de-bold ───
   2026-05-13: the account info card on the OTP-verify page
   still felt heavy. Two values from icons-pages.css:
     • .otpv-info-label  → 600  (ชื่อบัญชี / เบอร์มือถือ / ประเภทบัญชี)
     • .otpv-info-value  → 700  (icons / 061-954-9897)
   Bring both to 500 so the card reads as info, not headline.
   (Account-type badge .otpv-badge is already de-bolded by
   block 34's [class*="-badge"] catch-all.) */
body .otpv-info-label,
body .otpv-info-value{
  font-weight:500 !important;
}


/* ── 37. icons-login form icons — equalize visual size ──────────
   2026-05-13: the login card uses different icofont glyphs:
     Label icons (red boxes in user screenshot)
       • icofont-user-alt-3    (label "ชื่อผู้ใช้งาน")
       • icofont-mobile-phone  (label "เบอร์มือถือรับ OTP")
     Field icons (blue boxes — absolute-positioned in input)
       • icofont-ui-user       (username input)
       • icofont-mobile-phone  (phone input)

   Icofont glyphs have different intrinsic widths/heights at
   the same font-size (user glyphs render wider, phone glyphs
   render taller-and-narrower). Force every label/field icon
   into a fixed-width centered box so the glyph centers inside
   a consistent slot — they now occupy the same visual unit
   regardless of which glyph is used. */

body .lc .form-group label i{
  display:inline-block !important;
  width:16px !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1 !important;
  vertical-align:middle !important;
}
body .lc .field-icon{
  width:18px !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1 !important;
}


/* ── 38. proj_detail "ขั้นตอนโครงการ" tabs — flip emphasis ──────
   2026-05-13: in the Stage Tabs strip (8 numbered chips), the
   number was the visual hero (16px / weight 800 Barlow Condensed)
   while the actual stage name was tiny (10.5px). Flip the
   emphasis — the stage NAME is what matters; the number is just
   an index marker.

     .pd-tab-num : 16px/800   →  11px/500   (small, faint)
     .pd-tab-lbl : 10.5px     →  13px/500   (clear, readable)

   Two definitions exist in proj-pages-main.css (line 248-249 +
   line 1570-1571 — duplicated rule); the !important covers both. */
body .pd-tab-num{
  font-size:11px !important;
  font-weight:500 !important;
  opacity:.75 !important;
}
body .pd-tab-lbl{
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  white-space:normal !important;
}


/* ── 39. Top bars (header_proj + header_detail) — final de-bold ─
   2026-05-13: the top-bar texts still felt heavier than the
   surrounding chrome even after block 32 (which only handled
   .mb-ti strong → 500). Drop everything in the top bar one
   step thinner (500→400, 700/600→400).

     header_proj.asp
       .mb-pkg-tag       700 → 400  "ICONS CONSTRUCTION ALL PROJECTS"
       .mb-ti strong     500 → 400  username/IP/last-login values
       .mb-ti-by                400  "(ชื่อจริง)" suffix

     header_detail.asp
       .pdt-site-name    600 → 400  "ICONS CONSTRUCTION ALL PROJECTS"
       .pdt-info strong  (700) → 400  full-name/IP/date values */

body .mb-pkg-tag,
body .mb-ti strong,
body .mb-ti-by,
body .pdt-site-name,
body .pdt-info strong{
  font-weight:400 !important;
}


/* ── 40. proj_favorite + proj_alert tables — Modern Corp polish ─
   2026-05-13: bring fv-table and al-table inline with the
   projmain pattern (block 19 / 24):

     (A) thead — was dark gradient (#2DA15C → #245036) with
         white text + gold underline. Switch to soft mint
         (#BFE5BC) + dark green text + white separators,
         matching .pm-table th.

     (B) Project name (.fv-td-name a / .al-td-name a) — was
         font-weight:600. Drop to 500.

     (C) Project value (.fv-td-num / .al-td-num) — was
         font-weight:700. Drop to 500.

     (D) Row-click — wire whole <tr> as a click target. The
         page JS adds class .fv-row / .al-row + onclick handler;
         this style just gives a cursor:pointer affordance.

     (E) Visited state — class .fv-visited / .al-visited (added
         by JS from localStorage 'pm_visited_projects' shared
         with projmain / proj_search). Text gray, stage badge
         faded. Star icon (.fv-td-int img) + .pm-new-badge
         intentionally NOT desaturated. */

/* (A) Thead — light mint flat */
body .fv-table thead th,
body .al-table thead th{
  background:#BFE5BC !important;
  color:#0F5D36 !important;
  font-weight:600 !important;
  border-bottom:2px solid #FFFFFF !important;
  border-right:2px solid #FFFFFF !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
body .fv-table thead th:last-child,
body .al-table thead th:last-child{
  border-right:none !important;
}

/* (B + C) Project name + value — de-bold */
body .fv-table tbody td.fv-td-name,
body .fv-table tbody td.fv-td-name a,
body .al-table tbody td.al-td-name,
body .al-table tbody td.al-td-name a{
  font-weight:500 !important;
}
body .fv-table tbody td.fv-td-num,
body .al-table tbody td.al-td-num{
  font-weight:500 !important;
}

/* (D) Row-click cursor */
body .fv-table tbody tr.fv-row,
body .al-table tbody tr.al-row{
  cursor:pointer !important;
}

/* (E) Visited — gray text everywhere except ★ icon + ใหม่ badge */
body .fv-table tbody tr.fv-visited td,
body .fv-table tbody tr.fv-visited .fv-td-name a,
body .fv-table tbody tr.fv-visited .fv-td-name a:visited,
body .fv-table tbody tr.fv-visited .fv-td-num,
body .fv-table tbody tr.fv-visited .fv-td-province,
body .fv-table tbody tr.fv-visited .fv-td-sale,
body .fv-table tbody tr.fv-visited .fv-td-date,
body .al-table tbody tr.al-visited td,
body .al-table tbody tr.al-visited .al-td-name a,
body .al-table tbody tr.al-visited .al-td-name a:visited,
body .al-table tbody tr.al-visited .al-td-num,
body .al-table tbody tr.al-visited .al-td-province,
body .al-table tbody tr.al-visited .al-td-sale,
body .al-table tbody tr.al-visited .al-td-date{
  color:#9CA3AF !important;
}
body .fv-table tbody tr.fv-visited .fv-td-stage,
body .al-table tbody tr.al-visited .al-td-stage{
  opacity:.65 !important;
}
/* ★ intlevel icon (fv-td-int img) + ใหม่ badge — keep their colors */
body .fv-table tbody tr.fv-visited .fv-td-int img{
  filter:none !important;
  opacity:1 !important;
}
body .fv-table tbody tr.fv-visited .pm-new-badge,
body .al-table tbody tr.al-visited .pm-new-badge{
  color:#fff !important;          /* override the gray cascade */
}
/* Hover over visited — pop back to default green for a moment */
body .fv-table tbody tr.fv-visited:hover td,
body .fv-table tbody tr.fv-visited:hover .fv-td-name a,
body .al-table tbody tr.al-visited:hover td,
body .al-table tbody tr.al-visited:hover .al-td-name a{
  color:#0F5D36 !important;
}

/* Premium Tech mirror — thead only (other rules color-agnostic) */
body.style-premium-tech .fv-table thead th,
body.style-premium-tech .al-table thead th{
  background:#A7F3D0 !important;
  color:#064E3B !important;
  border-bottom:2px solid #FFFFFF !important;
  border-right:2px solid #FFFFFF !important;
}
body.style-premium-tech .fv-table thead th:last-child,
body.style-premium-tech .al-table thead th:last-child{
  border-right:none !important;
}


/* ── 41. proj_contactlist — lighter header + de-bold + inline link ─
   2026-05-13:
     (A) .cl-results-header — gradient (--mn → --ms) was deep
         green with white text. Switch to soft mint #DDF5E7
         + dark green text, matching block 19's table header
         pattern.
     (B) .cl-item company card — gradient mint→pale flatten to
         single soft tint; lower name weight 700 → 500; details
         remain readable.
     (C) Inline chain link next to company name — smaller (24→20px),
         lower vertical-align so it sits next to the name baseline.
     (D) cl-input[type=text] (price inputs) — keep simple text
         look, hide any residual number-spinner remnants. */

body .cl-results-header{
  background:#DDF5E7 !important;
  color:#0F5D36 !important;
  border-bottom:2px solid #BFE5BC !important;
}
body .cl-results-title{
  color:#0F5D36 !important;
  font-weight:500 !important;
}
body .cl-results-title i,
body .cl-results-count strong{
  color:#0F5D36 !important;
}
body .cl-results-count{
  color:#0F5D36 !important;
  opacity:.85 !important;
  font-weight:400 !important;
}
body .cl-sort-label{
  color:#0F5D36 !important;
  font-weight:500 !important;
}

/* Company card — flat soft mint, de-bold */
body .cl-item{
  background:#F4FBF6 !important;
  border:1px solid #D0E8D5 !important;
}
body .cl-item:hover{
  background:#EAF5EE !important;
}
body .cl-item-name{
  font-weight:500 !important;
}
body .cl-item-name a{
  font-weight:500 !important;
}
body .cl-item-detail,
body .cl-detail-label{
  font-weight:400 !important;
}

/* Inline chain link beside company name — smaller pill */
body .cl-item-name .ico-child.cl-name-link{
  width:20px !important;
  height:20px !important;
  margin-left:6px !important;
  vertical-align:middle !important;
  font-size:10px !important;
}

/* Spinner cleanup on text-numeric inputs (defensive) */
body .cl-input[type="text"]::-webkit-outer-spin-button,
body .cl-input[type="text"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Premium Tech mirror */
body.style-premium-tech .cl-results-header{
  background:#D1FAE5 !important;
  color:#064E3B !important;
  border-bottom-color:#A7F3D0 !important;
}
body.style-premium-tech .cl-results-title,
body.style-premium-tech .cl-results-title i,
body.style-premium-tech .cl-results-count,
body.style-premium-tech .cl-results-count strong,
body.style-premium-tech .cl-sort-label{
  color:#064E3B !important;
}
body.style-premium-tech .cl-item{
  background:#ECFDF5 !important;
  border-color:#A7F3D0 !important;
}
body.style-premium-tech .cl-item:hover{
  background:#D1FAE5 !important;
}


/* ── 42. proj_regionmap — de-bold everything except page title ───
   2026-05-13: per user request, all rm-* texts on proj_regionmap
   should be regular weight EXCEPT the page title "โครงการภูมิภาค".
   Current state (proj-pages-extra.css line 945-1022):
     .rm-page-title h1      700  ← KEEP BOLD (page heading)
     .rm-region-label       700  → 400  (เลือกภาค:)
     .rm-rbtn               600  → 400  (region pill buttons)
     .rm-map-header         700  → 400  (แผนที่... header strip)
     .rm-map-region-name    600  → 400  (active-region pill)
     .rm-legend-item        600  → 400  (6 legend rows under map)
     .rm-info               inherit (already regular) */

body .rm-region-label,
body .rm-rbtn,
body .rm-map-header,
body .rm-map-region-name,
body .rm-legend-item,
body .rm-info{
  font-weight:400 !important;
}

/* 2026-05-13 (follow-up): match .rm-page-title to .cl-page-title size
   so "โครงการภูมิภาค" sits at the same visual rank as "ค้นหาบริษัท"
   on proj_contactlist:
     .rm-page-title h1   20px / 700  →  26px / 500
     .rm-page-title i    22px        →  28px */
body .rm-page-title h1{
  font-size:26px !important;
  font-weight:500 !important;
}
body .rm-page-title i{
  font-size:28px !important;
}


/* ── 43. proj_search page title — match proj_contactlist size ─────
   2026-05-13: align ".ps-page-title" (ค้นหาโครงการ) with
   ".cl-page-title" (ค้นหาบริษัท) for visual consistency
   between the two top-level search pages.
     .ps-page-title    18px → 26px
     .ps-page-title i  22px → 28px
   (Weight already 500 via block 25.) */
body .ps-page-title{
  font-size:26px !important;
}
body .ps-page-title i{
  font-size:28px !important;
}


/* ── 44. proj_company tabs + table header + global de-bold ───────
   2026-05-13:
     (A) Tab strip — was solid deep-green block (.pc-tabs-nav bg
         #2A6040 + .pc-tab-btn white text). Convert to white card
         with underlined active tab (Material-tabs pattern) so
         tabs look like discrete tabs, not a banner.

     (B) Table header (.pc-table thead th) — was medium-green
         #3D7A54 with white text. Switch to soft mint #BFE5BC +
         dark green text, matching fv/al/pm tables.

     (C) All .pc-* texts → regular weight 500 (or 400 for non-
         emphasis):
           .pc-firm-name        700 → 500
           .pc-bc-current       600 → 500
           .pc-info-label       600 → 500
           .pc-info-value-name  700 → 500
           .pc-act-label        600 → 500
           .pc-td-value         700 → 500
           .pc-chart-title      700 → 500
           .pc-comp-bar-pct     700 → 500

     (D) proj_contactlist page title (.cl-page-title "ค้นหาบริษัท")
         700 → 500. */

/* (A) Tab strip — separated pill-cards (snap125 reference)
       Each tab is a self-contained card with rounded corners +
       drop shadow; tabs sit DIRECTLY on the page background
       (no enclosing white card), tightly adjacent (2px gap).
       Active tab is deep-green w/ stronger shadow; inactive
       tabs are soft mint w/ subtle shadow. */

/* Drop the outer white card around tabs — its background and
   shadow only apply to the content area now (handled via the
   tab panel below). */
body .pc-tabs-card{
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
body .pc-tabs-nav{
  background:transparent !important;
  border:none !important;
  border-bottom:none !important;
  border-radius:0 !important;
  padding:0 !important;
  gap:3px !important;
  margin-bottom:10px !important;
}
body .pc-tab-btn{
  color:#0F5D36 !important;
  font-weight:500 !important;
  background:#DDF5E7 !important;
  border:1px solid #BFE5BC !important;
  border-bottom:none !important;
  border-radius:8px 8px 0 0 !important;
  padding:12px 20px !important;
  margin:0 !important;
  box-shadow:-1px -1px 4px rgba(15,93,54,.08), 1px -1px 4px rgba(15,93,54,.08) !important;
  transition:all .15s !important;
}
body .pc-tab-btn i{
  color:#0F5D36 !important;
}
body .pc-tab-btn:hover{
  background:#BFE5BC !important;
  color:#0A4326 !important;
  box-shadow:-1px -2px 6px rgba(15,93,54,.15), 1px -2px 6px rgba(15,93,54,.15) !important;
}
body .pc-tab-btn:hover i{
  color:#0A4326 !important;
}
body .pc-tab-btn.active{
  color:#FFFFFF !important;
  font-weight:500 !important;
  background:#0F5D36 !important;
  border-color:#0F5D36 !important;
  box-shadow:-2px -3px 8px rgba(15,93,54,.2), 2px -3px 8px rgba(15,93,54,.2) !important;
}
body .pc-tab-btn.active i{
  color:#FFFFFF !important;
}

/* ── Paid-feature tabs (Tab 3 / 4 / 5) — bronze accent ── */
body .pc-tab-btn.pc-tab-paid{
  background:#FFF7ED !important;
  color:#B45309 !important;
  border-color:#FED7AA !important;
}
body .pc-tab-btn.pc-tab-paid i{
  color:#B45309 !important;
}
body .pc-tab-btn.pc-tab-paid:hover{
  background:#FED7AA !important;
  color:#92400E !important;
}
body .pc-tab-btn.pc-tab-paid:hover i{
  color:#92400E !important;
}
body .pc-tab-btn.pc-tab-paid.active{
  background:#B45309 !important;
  color:#FFFFFF !important;
  border-color:#B45309 !important;
  box-shadow:-2px -3px 8px rgba(180,83,9,.22), 2px -3px 8px rgba(180,83,9,.22) !important;
}
body .pc-tab-btn.pc-tab-paid.active i{
  color:#FFFFFF !important;
}

/* Move the white-card look to the active content panel so
   toolbar+table+pagination read as one card sitting below
   the floating tab row. */
body .pc-tab-panel.active{
  background:#FFFFFF !important;
  border-radius:12px !important;
  box-shadow:0 3px 16px rgba(20,50,26,.08) !important;
  overflow:hidden !important;
}

/* (B) Table header — soft mint */
body .pc-table thead th{
  background:#BFE5BC !important;
  color:#0F5D36 !important;
  font-weight:500 !important;
  border-bottom:2px solid #FFFFFF !important;
  border-right:2px solid #FFFFFF !important;
}
body .pc-table thead th:last-child{
  border-right:none !important;
}

/* (C) De-bold every pc-* emphasis class */
body .pc-firm-name,
body .pc-bc-current,
body .pc-info-label,
body .pc-info-value-name,
body .pc-act-label,
body .pc-td-value,
body .pc-chart-title,
body .pc-comp-bar-pct{
  font-weight:500 !important;
}

/* (D) proj_contactlist page title — not bold */
body .cl-page-title{
  font-weight:500 !important;
}

/* Premium Tech mirror */
body.style-premium-tech .pc-tab-btn{
  color:#064E3B !important;
  background:#D1FAE5 !important;
  border-color:#A7F3D0 !important;
  box-shadow:-1px -1px 4px rgba(6,78,59,.08), 1px -1px 4px rgba(6,78,59,.08) !important;
}
body.style-premium-tech .pc-tab-btn i{
  color:#064E3B !important;
}
body.style-premium-tech .pc-tab-btn:hover{
  background:#A7F3D0 !important;
  box-shadow:-1px -2px 6px rgba(6,78,59,.15), 1px -2px 6px rgba(6,78,59,.15) !important;
}
body.style-premium-tech .pc-tab-btn.active{
  background:#064E3B !important;
  border-color:#064E3B !important;
  color:#FFFFFF !important;
  box-shadow:-2px -3px 8px rgba(6,78,59,.2), 2px -3px 8px rgba(6,78,59,.2) !important;
}
body.style-premium-tech .pc-tab-btn.active i{
  color:#FFFFFF !important;
}
/* Premium Tech — Paid tabs (bronze/copper accent) */
body.style-premium-tech .pc-tab-btn.pc-tab-paid{
  background:#FFEDD5 !important;
  color:#9A3412 !important;
  border-color:#FDBA74 !important;
}
body.style-premium-tech .pc-tab-btn.pc-tab-paid i{
  color:#9A3412 !important;
}
body.style-premium-tech .pc-tab-btn.pc-tab-paid:hover{
  background:#FDBA74 !important;
  color:#7C2D12 !important;
}
body.style-premium-tech .pc-tab-btn.pc-tab-paid:hover i{
  color:#7C2D12 !important;
}
body.style-premium-tech .pc-tab-btn.pc-tab-paid.active{
  background:#9A3412 !important;
  color:#FFFFFF !important;
  border-color:#9A3412 !important;
  box-shadow:-2px -3px 8px rgba(154,52,18,.25), 2px -3px 8px rgba(154,52,18,.25) !important;
}
body.style-premium-tech .pc-tab-btn.pc-tab-paid.active i{
  color:#FFFFFF !important;
}
body.style-premium-tech .pc-table thead th{
  background:#A7F3D0 !important;
  color:#064E3B !important;
}


/* ── 45. proj_contactlist — fix dropdowns on light header + ref icon ─
   2026-05-13: Block 41 swapped .cl-results-header background from
   dark green gradient to soft mint (#DDF5E7). The two dropdowns
   inside (.cl-select-small for sort + per-page) were styled for
   dark bg — white text on rgba(255,255,255,.15) — making them
   invisible on the new light header. Restyle to dark-on-white
   pill so they read clearly.

   Also: handshake reference icon (.ico-ref) inline next to firm
   name — match the .cl-name-link size (20px), with gray variant
   when user lacks Userarea "ref" permission. */

body .cl-select-small{
  background:#FFFFFF !important;
  color:#0F5D36 !important;
  border:1px solid #BFE5BC !important;
  font-weight:500 !important;
}
body .cl-select-small:hover{
  border-color:#39B86C !important;
}
body .cl-select-small:focus{
  outline:none !important;
  border-color:#39B86C !important;
  box-shadow:0 0 0 2px rgba(57,184,108,.18) !important;
}
body .cl-select-small option{
  background:#FFFFFF !important;
  color:#0F5D36 !important;
}

/* Inline reference (handshake) icon — same size as chain link */
body .cl-item-name .ico-ref.cl-name-link{
  width:20px !important;
  height:20px !important;
  margin-left:4px !important;
  vertical-align:middle !important;
  font-size:11px !important;
  background:#E65100 !important;
  color:#FFFFFF !important;
}
body .cl-item-name .ico-ref.cl-name-link.ico-ref-gray{
  background:#BDBDBD !important;
}
body .cl-item-name .ico-ref.cl-name-link:hover{
  opacity:.85 !important;
}

/* Premium Tech mirror */
body.style-premium-tech .cl-select-small{
  background:#FFFFFF !important;
  color:#064E3B !important;
  border-color:#A7F3D0 !important;
}
body.style-premium-tech .cl-select-small:hover,
body.style-premium-tech .cl-select-small:focus{
  border-color:#10B981 !important;
}
body.style-premium-tech .cl-select-small option{
  color:#064E3B !important;
}

/* ════════════════════════════════════════════════════════════════════
 * BLOCK 46 — projmain control panel restructure v2 (2026-05-14 Session J)
 *
 * Layout target (per user round 2 spec, mirror proj_company pill tabs):
 *   [ ขณะนี้คุณเลือก: ... ]            [Sort ▾]  [PerPage ▾]   ← .pm-topbar (outside card)
 *   [Tab1] [Tab2] [Tab3] ───────  [Stage: ⚙On] [✓Done]         ← .pm-tabs (outside card, browser-tab style)
 *   ┌──────────────────────────────────────────────────────┐
 *   │  Table + Pagination                                    │   ← .pm-control (the card)
 *   └──────────────────────────────────────────────────────┘
 *
 * Approach: HTML restructured in projmain.asp + override-only here.
 *   - .pm-topbar (NEW wrapper)  — transparent flex row, info LEFT + sort RIGHT
 *   - .pm-tabs                  — transparent strip, sector tabs = browser-tab
 *                                  (proj_company pattern), stage right (pill)
 *   - .pm-control               — keeps card look (already white from base)
 *
 * Revert: delete this block + revert projmain.asp HTML restructure.
 * ════════════════════════════════════════════════════════════════════ */

/* — Top bar: info text LEFT + sort/perpage RIGHT (outside card) — */
body .pm-topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  padding:6px 4px !important;
  margin-bottom:10px !important;
  background:transparent !important;
}
body .pm-topbar .pm-result-count{
  font-size:13px !important;
  color:#6B7280 !important;
  font-weight:400 !important;
}
body .pm-topbar .pm-result-count strong{
  color:#0F5D36 !important;
  font-weight:600 !important;
}
body .pm-topbar .pm-sort-wrap{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

/* — Tab strip: browser-tab style (mirror proj_company .pc-tabs-nav) — */
body .pm-tabs{
  background:transparent !important;
  padding:0 !important;
  gap:3px !important;
  border-bottom:none !important;
  margin-bottom:0 !important;
  align-items:flex-end !important;
}

/* — Sector tab buttons (browser-tab: rounded top, shadow top/sides) — */
body .pm-tabs .pm-tab-btn{
  background:#DDF5E7 !important;
  color:#0F5D36 !important;
  border:1px solid #BFE5BC !important;
  border-bottom:none !important;
  border-radius:8px 8px 0 0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  padding:12px 20px !important;
  margin:0 !important;
  box-shadow:-1px -1px 4px rgba(15,93,54,.08), 1px -1px 4px rgba(15,93,54,.08) !important;
  transition:all .15s !important;
}
body .pm-tabs .pm-tab-btn:hover{
  background:#BFE5BC !important;
  color:#0A4326 !important;
  box-shadow:-1px -2px 6px rgba(15,93,54,.15), 1px -2px 6px rgba(15,93,54,.15) !important;
}
body .pm-tabs .pm-tab-btn.active{
  background:#0F5D36 !important;
  color:#FFFFFF !important;
  border-color:#0F5D36 !important;
  font-weight:600 !important;
  box-shadow:-2px -3px 8px rgba(15,93,54,.2), 2px -3px 8px rgba(15,93,54,.2) !important;
}

/* Sector dots — inactive shows on light bg / active shows on dark bg */
body .pm-tabs .pm-tab-btn .pm-tab-dot-all{ background:#0F5D36 !important; }
body .pm-tabs .pm-tab-btn.active .pm-tab-dot-all{ background:#FFFFFF !important; }
body .pm-tabs .pm-tab-btn .pm-tab-dot-pri{ background:#39B86C !important; }
body .pm-tabs .pm-tab-btn.active .pm-tab-dot-pri{ background:#FFFFFF !important; }
body .pm-tabs .pm-tab-btn .pm-tab-dot-gov{ background:#F59E0B !important; }
body .pm-tabs .pm-tab-btn.active .pm-tab-dot-gov{ background:#FFD54F !important; }

/* — Stage group — position-independent (now lives in .pm-topbar) — */
body .pm-tabs-stage-group{
  display:flex !important;
  margin-left:auto !important;
  align-items:center !important;
  gap:8px !important;
}
body .pm-tabs-stage-label{
  font-size:12px !important;
  color:#6B7280 !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* — Stage buttons: pill style (not browser-tab) — position-independent — */
body .pm-tab-btn.pm-tab-stage{
  background:#FFFFFF !important;
  border:1.5px solid #BFE5BC !important;
  border-radius:8px !important;
  color:#6B7280 !important;
  font-size:13px !important;
  font-weight:500 !important;
  padding:7px 14px !important;
  box-shadow:none !important;
}
body .pm-tab-btn.pm-tab-stage:hover{
  background:#F0FAF3 !important;
  border-color:#39B86C !important;
  color:#0F5D36 !important;
}
body .pm-tab-btn.pm-tab-stage.active{
  background:#0F5D36 !important;
  border-color:#0F5D36 !important;
  color:#FFFFFF !important;
  box-shadow:0 1px 3px rgba(15,93,54,.25) !important;
}
body .pm-tab-btn.pm-tab-stage.pm-tab-stage-done.active{
  background:#546E7A !important;
  border-color:#546E7A !important;
  color:#FFFFFF !important;
  box-shadow:0 1px 3px rgba(84,110,122,.25) !important;
}

/* — Sort/PerPage in pm-tabs strip (right side, aligned with tab bottoms) — */
body .pm-tabs .pm-sort-wrap{
  margin-left:auto !important;
  align-items:center !important;
  gap:8px !important;
  padding-bottom:6px !important;          /* align with browser-tab bottoms */
}

/* — Card: ensure visually connected to active tab (no top-border line) — */
body .pm-control{
  border-top-color:transparent !important;
}

/* ── Premium Tech mirror ──────────────────────────────────────── */
body.style-premium-tech .pm-topbar .pm-result-count{
  color:#64748B !important;
}
body.style-premium-tech .pm-topbar .pm-result-count strong{
  color:#064E3B !important;
}

body.style-premium-tech .pm-tabs .pm-tab-btn{
  background:#D1FAE5 !important;
  color:#064E3B !important;
  border-color:#A7F3D0 !important;
  box-shadow:-1px -1px 4px rgba(6,78,59,.08), 1px -1px 4px rgba(6,78,59,.08) !important;
}
body.style-premium-tech .pm-tabs .pm-tab-btn:hover{
  background:#A7F3D0 !important;
  color:#022C22 !important;
  box-shadow:-1px -2px 6px rgba(6,78,59,.15), 1px -2px 6px rgba(6,78,59,.15) !important;
}
body.style-premium-tech .pm-tabs .pm-tab-btn.active{
  background:#064E3B !important;
  color:#FFFFFF !important;
  border-color:#064E3B !important;
  box-shadow:-2px -3px 8px rgba(6,78,59,.2), 2px -3px 8px rgba(6,78,59,.2) !important;
}
body.style-premium-tech .pm-tabs .pm-tab-btn .pm-tab-dot-all{ background:#064E3B !important; }
body.style-premium-tech .pm-tabs .pm-tab-btn.active .pm-tab-dot-all{ background:#FFFFFF !important; }
body.style-premium-tech .pm-tabs .pm-tab-btn .pm-tab-dot-pri{ background:#10B981 !important; }
body.style-premium-tech .pm-tabs .pm-tab-btn.active .pm-tab-dot-pri{ background:#FFFFFF !important; }
body.style-premium-tech .pm-tabs .pm-tab-btn .pm-tab-dot-gov{ background:#F59E0B !important; }
body.style-premium-tech .pm-tabs .pm-tab-btn.active .pm-tab-dot-gov{ background:#FFD54F !important; }

body.style-premium-tech .pm-tab-btn.pm-tab-stage{
  background:#FFFFFF !important;
  border-color:#A7F3D0 !important;
  color:#64748B !important;
}
body.style-premium-tech .pm-tab-btn.pm-tab-stage:hover{
  background:#ECFDF5 !important;
  border-color:#10B981 !important;
  color:#064E3B !important;
}
body.style-premium-tech .pm-tab-btn.pm-tab-stage.active{
  background:#064E3B !important;
  border-color:#064E3B !important;
  color:#FFFFFF !important;
}
body.style-premium-tech .pm-tab-btn.pm-tab-stage.pm-tab-stage-done.active{
  background:#475569 !important;
  border-color:#475569 !important;
  color:#FFFFFF !important;
}

/* ════════════════════════════════════════════════════════════════════
 * BLOCK 47 — Save Search bar + Save button (2026-05-14 Session J)
 *
 * Used by proj_search.asp:
 *   .ss-bar       — top strip above tabs (mint bg, flex row)
 *   .ss-chip      — saved-search row (chip): [Mode] [Name] [Time] [✏] [🗑]
 *   .ps-btn-save  — "บันทึกการค้นหา" button (amber/teal accent, next to search/clear)
 *
 * Revert: delete this block.
 * ════════════════════════════════════════════════════════════════════ */

body .ss-bar{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:10px 14px !important;
  background:#F0FAF3 !important;
  border:1px solid #DDF5E7 !important;
  border-radius:10px !important;
  margin:0 0 12px 0 !important;
  flex-wrap:wrap !important;
}
body .ss-bar-left{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-shrink:0 !important;
  padding-top:3px !important;
}
body .ss-bar-left i{
  color:#0F5D36 !important;
  font-size:14px !important;
}
body .ss-bar-label{
  color:#0F5D36 !important;
  font-weight:600 !important;
  font-size:13px !important;
}
body .ss-count{
  font-size:11.5px !important;
  color:#6B7280 !important;
  background:#FFFFFF !important;
  border:1px solid #DDF5E7 !important;
  border-radius:10px !important;
  padding:1px 8px !important;
}
body .ss-bar-list{
  flex:1 1 0 !important;
  min-width:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  align-items:center !important;
}
body .ss-empty{
  color:#9CA3AF !important;
  font-size:12.5px !important;
  font-style:italic !important;
  padding:4px 0 !important;
}

/* — chip — */
body .ss-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  background:#FFFFFF !important;
  border:1px solid #BFE5BC !important;
  border-radius:18px !important;
  padding:3px 4px 3px 10px !important;
  font-size:12.5px !important;
  max-width:100% !important;
  transition:all .15s !important;
}
body .ss-chip:hover{
  border-color:#39B86C !important;
  box-shadow:0 1px 4px rgba(15,93,54,.12) !important;
}
body .ss-chip-mode{
  font-size:10.5px !important;
  font-weight:600 !important;
  padding:1px 6px !important;
  border-radius:6px !important;
  letter-spacing:.02em !important;
  flex-shrink:0 !important;
}
body .ss-mode-search{ background:#DDF5E7 !important; color:#0F5D36 !important; }
body .ss-mode-filter{ background:#FFF3CD !important; color:#7A5A00 !important; }
body .ss-chip-name{
  color:#1E1E1E !important;
  font-weight:500 !important;
  cursor:pointer !important;
  max-width:240px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body .ss-chip-name:hover{
  color:#0F5D36 !important;
  text-decoration:underline !important;
}
body .ss-chip-time{
  font-size:11px !important;
  color:#9CA3AF !important;
  flex-shrink:0 !important;
}
body .ss-chip-act{
  background:transparent !important;
  border:none !important;
  cursor:pointer !important;
  padding:3px 6px !important;
  border-radius:50% !important;
  color:#6B7280 !important;
  font-size:12px !important;
  line-height:1 !important;
  transition:all .15s !important;
}
body .ss-chip-act:hover{
  background:#F0FAF3 !important;
  color:#0F5D36 !important;
}
body .ss-chip-delete:hover{
  background:#FEE5E2 !important;
  color:#C0392B !important;
}
body .ss-chip-rename-input{
  font-size:12.5px !important;
  padding:3px 8px !important;
  border:1.5px solid #39B86C !important;
  border-radius:6px !important;
  outline:none !important;
  min-width:180px !important;
  max-width:280px !important;
  font-family:inherit !important;
}

/* — Save button (left-aligned, soft amber tint — secondary action, not loud) — */
body .ps-btn.ps-btn-save{
  background:#FEF3C7 !important;          /* amber 100 — pale tint, สบายตา */
  color:#92400E !important;               /* amber 800 — readable dark amber */
  border:1px solid #FCD34D !important;    /* amber 300 — subtle border */
  font-weight:600 !important;             /* lighter than primary (700) */
}
body .ps-btn.ps-btn-save:hover{
  background:#FDE68A !important;          /* amber 200 — slight darken on hover */
  border-color:#F59E0B !important;        /* amber 500 — border emphasis */
  color:#78350F !important;               /* amber 900 — text emphasis */
}
body .ps-btn.ps-btn-save i{
  color:#92400E !important;
}

/* ── Premium Tech mirror ──────────────────────────────────────── */
body.style-premium-tech .ss-bar{
  background:#ECFDF5 !important;
  border-color:#D1FAE5 !important;
}
body.style-premium-tech .ss-bar-left i,
body.style-premium-tech .ss-bar-label{
  color:#064E3B !important;
}
body.style-premium-tech .ss-count{
  background:#FFFFFF !important;
  border-color:#D1FAE5 !important;
  color:#64748B !important;
}
body.style-premium-tech .ss-chip{
  border-color:#A7F3D0 !important;
}
body.style-premium-tech .ss-chip:hover{
  border-color:#10B981 !important;
}
body.style-premium-tech .ss-mode-search{ background:#D1FAE5 !important; color:#064E3B !important; }
body.style-premium-tech .ss-mode-filter{ background:#FEF3C7 !important; color:#78350F !important; }
body.style-premium-tech .ss-chip-name:hover{ color:#064E3B !important; }
body.style-premium-tech .ss-chip-act:hover{ background:#ECFDF5 !important; color:#064E3B !important; }
body.style-premium-tech .ss-chip-rename-input{ border-color:#10B981 !important; }
body.style-premium-tech .ps-btn.ps-btn-save{
  background:#FEF3C7 !important;
  color:#78350F !important;
  border-color:#FCD34D !important;
}
body.style-premium-tech .ps-btn.ps-btn-save:hover{
  background:#FDE68A !important;
  border-color:#F59E0B !important;
  color:#451A03 !important;
}
body.style-premium-tech .ps-btn.ps-btn-save i{
  color:#78350F !important;
}


/* ── 48. icons-companydetail.asp sidebar — soften contact + fix CTA contrast
       + de-bold + white icons ─────────────────────────────────────────
   ปัญหา (เห็นใน snap132 + snap133):
   1. .cdet-contact-card bg var(--navy)=#0F5D36 deep — user ขอ "อ่อนลง"
   2. .cdet-contact-card + .side-card-dark สีเดียวกัน → 2 cards กลืนกัน
   3. .btn-side-demo bg=#39B86C + color=#0F5D36 (เขียวสดบนเขียวเข้ม)
      .btn-side-sub bg=rgba(255,255,255,.12) on #0F5D36 → ออกมาเป็นเขียวเข้ม
      → ปุ่ม 2 อันสีกลืนกัน
   4. Baseline bug (เหมือน buyads block 18): selector ".cdet-link .icofont"
      ใน icons-pages.css:470 ไม่ match <i class="icofont-XXX"> → icon ดำ
   5. weight 600/700 ทั่ว → ตัวหนาเกิน

   Fix:
   - Contact card → #2DA15C (mid green — อ่อนลง 1 ระดับ จาก deep)
   - Dark CTA card → คง #0F5D36 (เก็บ deep เพื่อ 2 cards ต่างชัด)
   - btn-side-demo (primary "ค้นหา") → bg #fff + color #0F5D36 → ปุ่มขาวเด่น
   - btn-side-sub (secondary "ทดลอง") → ghost: bg transparent + border white
   - Icons → solid #fff via attribute selector
   - All h3/links/buttons → weight 500 */

html body .cdet-contact-card{ background:#2DA15C !important; }
html body .cdet-contact-card h3{ font-weight:500 !important; }
html body .cdet-link{ font-weight:500 !important; }
html body .cdet-link i[class^="icofont-"],
html body .cdet-link i[class*=" icofont-"]{
  color:#fff !important;
}

html body .side-card-dark{ background:#0F5D36 !important; }
html body .side-card-dark p{ font-weight:500 !important; }

html body .btn-side-demo{
  background:#fff !important;
  color:#0F5D36 !important;
  font-weight:500 !important;
}
html body .btn-side-demo:hover{ background:#F0FAF3 !important; }
html body .btn-side-demo i[class^="icofont-"],
html body .btn-side-demo i[class*=" icofont-"]{
  color:#0F5D36 !important;
}

html body .btn-side-sub{
  background:transparent !important;
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.45) !important;
  font-weight:500 !important;
}
html body .btn-side-sub:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.7) !important;
}
html body .btn-side-sub i[class^="icofont-"],
html body .btn-side-sub i[class*=" icofont-"]{
  color:#fff !important;
}

/* Premium Tech mirror */
body.style-premium-tech .cdet-contact-card{ background:#059669 !important; }
body.style-premium-tech .side-card-dark{ background:#064E3B !important; }
body.style-premium-tech .btn-side-demo{ color:#064E3B !important; }
body.style-premium-tech .btn-side-demo:hover{ background:#ECFDF5 !important; }
body.style-premium-tech .btn-side-demo i[class^="icofont-"],
body.style-premium-tech .btn-side-demo i[class*=" icofont-"]{
  color:#064E3B !important;
}


/* ── 49. icons-companydetail.asp — de-bold whole page + white icons everywhere
       icons-pages.css ใส่ font-weight 600/700 ในหลาย selectors (.cdet-title h1
       .cdet-tag .cmob-title .side-card h3 ฯลฯ). User ขอ "ไม่ตัวหนาทั้งหน้า".
       Universal override ที่ระดับ body.page-companydetail + child selector
       (specificity 0,1,0,1) — beat baseline rules ทุกตัว.

       Icons ทุกตัวในหน้านี้ (sidebar + main content) → #fff สำหรับเสมอกรณีอยู่
       บน dark/colored bg. ใช้ universal i[class^=icofont-] selector ที่
       specificity เพียงพอ (0,1,0,2) เพื่อ override baseline. */

body.page-companydetail,
body.page-companydetail *{
  font-weight: 500 !important;
}
body.page-companydetail h1,
body.page-companydetail h2,
body.page-companydetail h3{
  font-weight: 500 !important;
}

/* Force ALL icofont icons on the sidebar dark cards to be white */
body.page-companydetail .cdet-contact-card i[class^="icofont-"],
body.page-companydetail .cdet-contact-card i[class*=" icofont-"],
body.page-companydetail .side-card-dark i[class^="icofont-"],
body.page-companydetail .side-card-dark i[class*=" icofont-"]{
  color: #fff !important;
}

/* Logo box icon (already #fff but defended) + main column small icons */
body.page-companydetail .cdet-logo-box i[class^="icofont-"],
body.page-companydetail .cdet-logo-box i[class*=" icofont-"],
body.page-companydetail .proj-icon i[class^="icofont-"],
body.page-companydetail .proj-icon i[class*=" icofont-"],
body.page-companydetail .cmb-icon i[class^="icofont-"],
body.page-companydetail .cmb-icon i[class*=" icofont-"]{
  color: #fff !important;
}


/* ── 50. icons-companydetail.asp — Location map (Google embed) +
       project image polish ─────────────────────────────────────────
   A) Replace placeholder location box with real Google Maps iframe
      so user sees actual map as the card background. Overlay bottom
      has province + 'View on Google Maps' link with translucent dark
      gradient for readability.
      pointer-events on overlay span is none so user can pan the map;
      the link itself stays clickable via pointer-events:auto.

   B) Project showcase image: switch from cover(crop) -> contain(whole
      image visible) on a fixed-height card. Empty space filled with a
      blurred backdrop of the SAME image (Spotify/Apple Music pattern)
      via CSS variable '--bg' set inline on each .proj-img-wrap.
      Result: portrait condo photos no longer get top/bottom cropped,
      landscape rooftop photos no longer get sides cropped, all cards
      stay the same height. */

/* (A) Location map card */
body.page-companydetail .cdet-map-card{
  position: relative;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #c8e0c8;
  background: #e8f4e8;
}
body.page-companydetail .cdet-map-iframe{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
  display: block;
}
body.page-companydetail .cdet-map-overlay{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 22px 14px 10px;
  background: linear-gradient(to top, rgba(15,93,54,.88) 0%, rgba(15,93,54,.55) 55%, transparent 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12.5px;
  pointer-events: none;   /* let map receive pan/zoom */
}
body.page-companydetail .cdet-map-prov{
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
body.page-companydetail .cdet-map-prov i[class^="icofont-"]{
  color: #fff !important;
}
body.page-companydetail .cdet-map-link{
  pointer-events: auto;   /* still clickable */
  color: #fff !important;
  background: rgba(255,255,255,.18);
  padding: 5px 11px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.35);
  font-weight: 500;
  text-decoration: none;
  transition: background .15s;
}
body.page-companydetail .cdet-map-link:hover{
  background: rgba(255,255,255,.32);
}

/* (B) Project list — Pinterest-style masonry (Option C: natural aspect)
   .proj-list switches to CSS column layout. Each .proj-item-card uses
   break-inside:avoid so cards don't split across columns. Image has no
   fixed height/aspect ratio — keeps its natural proportions so cards
   end up varying heights, which is the Pinterest look. */
body.page-companydetail .proj-list{
  display: block !important;
  column-count: 2 !important;
  column-gap: 14px !important;
}
body.page-companydetail .proj-item-card{
  display: inline-block !important;
  width: 100% !important;
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  page-break-inside: avoid !important;
  margin-bottom: 14px !important;
}
body.page-companydetail .proj-img-wrap{
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #DDF5E7 !important;
}
/* drop the gradient fallback from baseline that bleeds through tall images */
body.page-companydetail .proj-img-wrap{
  background-image: none !important;
}
body.page-companydetail .proj-img-wrap img{
  position: static !important;
  width: 100% !important;
  height: auto !important;             /* natural aspect — no crop */
  object-fit: unset !important;
  display: block !important;
}
body.page-companydetail .proj-item-card:hover .proj-img-wrap img{
  transform: scale(1.03) !important;
}

/* Mobile: collapse to 1 column so portrait phone shows full-size cards */
@media (max-width: 768px){
  body.page-companydetail .proj-list{
    column-count: 1 !important;
  }
  body.page-companydetail .cdet-map-card{
    height: 180px;
  }
}


/* ── 52. icons-companydetail contact card — switch from solid green to
       light-tint card with green accents. Block 48 made the card solid
       mid-green (#2DA15C) but user reports it still looks too dark and
       the translucent inner buttons feel washed-out. This block (loaded
       AFTER block 48) wins by source order + uses body.page-companydetail
       prefix for higher specificity so it cleanly overrides earlier rules.

       Two states share this card:
       - .cdet-link*  (member sees phone/email/web)  — light bg, green icons
       - .cmob-*      (non-member sees lock + CTAs)  — light bg, primary
                                                       solid green + outline */

body.page-companydetail .cdet-contact-card{
  background: #F0FAF3 !important;        /* softest tint (was #2DA15C mid green) */
  border: 1.5px solid #DDF5E7 !important;
}
body.page-companydetail .cdet-contact-card h3{
  color: #0F5D36 !important;             /* deep green text on light bg */
  font-weight: 600 !important;
}

/* MEMBER-VISIBLE state: phone / email / website rows */
body.page-companydetail .cdet-link{
  background: #fff !important;
  color: #1E1E1E !important;
  border: 1px solid #DDF5E7 !important;
}
body.page-companydetail .cdet-link:hover{
  background: #DDF5E7 !important;
  border-color: #39B86C !important;
}
body.page-companydetail .cdet-link i[class^="icofont-"],
body.page-companydetail .cdet-link i[class*=" icofont-"]{
  color: #39B86C !important;             /* green icon (overrides block 48 white) */
}

/* MEMBERS-ONLY state: lock ring + CTA buttons */
body.page-companydetail .cmob-ring{
  background: #DDF5E7 !important;        /* tint circle */
  border: 1.5px solid #BFE5BC !important;
}
body.page-companydetail .cmob-ring i[class^="icofont-"],
body.page-companydetail .cmob-ring i[class*=" icofont-"]{
  color: #0F5D36 !important;             /* dark icon (overrides block 48 white) */
}
body.page-companydetail .cmob-title{
  color: #0F5D36 !important;
  font-weight: 600 !important;
}
body.page-companydetail .cmob-sub{
  color: #6B7280 !important;             /* muted gray */
}

/* Primary CTA: solid green button */
body.page-companydetail .cmob-btn-demo{
  background: #39B86C !important;
  color: #fff !important;
  border: 1.5px solid #39B86C !important;
  font-weight: 500 !important;
}
body.page-companydetail .cmob-btn-demo:hover{
  background: #2DA15C !important;
  border-color: #2DA15C !important;
}
body.page-companydetail .cmob-btn-demo i[class^="icofont-"],
body.page-companydetail .cmob-btn-demo i[class*=" icofont-"]{
  color: #fff !important;
}

/* Secondary CTA: white outline button */
body.page-companydetail .cmob-btn-contact{
  background: #fff !important;
  color: #0F5D36 !important;
  border: 1.5px solid #BFE5BC !important;
  font-weight: 500 !important;
}
body.page-companydetail .cmob-btn-contact:hover{
  background: #DDF5E7 !important;
  border-color: #39B86C !important;
}
body.page-companydetail .cmob-btn-contact i[class^="icofont-"],
body.page-companydetail .cmob-btn-contact i[class*=" icofont-"]{
  color: #0F5D36 !important;
}


/* ── 51. icons-companydetail breadcrumb (replaces old .detail-back button)
       Pattern: <Type list>  ›  Company Detail
       e.g.    "สถาปนิก  ›  รายละเอียดบริษัท"
       First segment is a clickable link back to /icons-<type>.asp;
       second segment is the current page (no link). */
body.page-companydetail .cdet-breadcrumb{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
body.page-companydetail .cdet-breadcrumb a{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2DA15C;
  text-decoration: none;
  padding: 5px 12px;
  border-radius: 16px;
  background: #DDF5E7;
  border: 1px solid #BFE5BC;
  transition: all .15s;
}
body.page-companydetail .cdet-breadcrumb a:hover{
  background: #0F5D36;
  color: #fff;
  border-color: #0F5D36;
}
body.page-companydetail .cdet-breadcrumb a i[class^="icofont-"]{
  font-size: 1em;
}
body.page-companydetail .cdet-breadcrumb .bc-sep{
  color: #6B7280;
  font-weight: 500;
  user-select: none;
}
body.page-companydetail .cdet-breadcrumb .bc-cur{
  color: #1E1E1E;
  font-weight: 500;
  padding: 5px 0;
}

/* Same breadcrumb styles for icons-newsdetail.asp (reuses .cdet-breadcrumb class) */
body.page-newsdetail .cdet-breadcrumb{
  display: flex; align-items: center; gap: 8px;
  font-size: 13.5px; margin-bottom: 22px; flex-wrap: wrap;
}
body.page-newsdetail .cdet-breadcrumb a{
  display: inline-flex; align-items: center; gap: 6px;
  color: #2DA15C; text-decoration: none;
  padding: 5px 12px; border-radius: 16px;
  background: #DDF5E7; border: 1px solid #BFE5BC;
  transition: all .15s;
}
body.page-newsdetail .cdet-breadcrumb a:hover{
  background: #0F5D36; color: #fff; border-color: #0F5D36;
}
body.page-newsdetail .cdet-breadcrumb .bc-sep{ color: #6B7280; font-weight: 500; user-select: none; }
body.page-newsdetail .cdet-breadcrumb .bc-cur{ color: #1E1E1E; font-weight: 500; padding: 5px 0; }


/* ── 53. proj_detail.asp — Spec toggle "ย่อ/ขยาย" badge ────────────────
   Old state (icons-pages-main.css :1325): white text + translucent-white
   background — designed for a deep-green parent. But theme block 26 already
   flipped .pd-card-hdr to a light tint (#DDF5E7) -> white-on-tint is
   invisible. Repaint as a solid green pill so the action stays readable. */
body .pd-spec-toggle-btn{
  background: #39B86C !important;
  color: #fff !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
body .pd-spec-toggle-btn:hover{
  background: #2DA15C !important;
}
body .pd-spec-toggle-btn i{
  color: #fff !important;
}


/* ── 54. header_proj.asp — hamburger icon size
       History:
         2026-05-14: baseline 16px -> 22px (user wanted bigger)
         2026-05-15: 22px -> 26px (user said still small)
         2026-05-15 later: revert to baseline 16px — user now wants the
         '3 lines' icon to match the other top-bar nav glyphs
         (.mb-qn-item i = 14px). Baseline 16px keeps it slightly more
         prominent than peers (it IS the primary trigger) while no
         longer feeling oversized. Removing the !important override
         lets proj-member.css :152 take effect naturally. */


/* ── 56. proj_contactlist.asp — website + facebook inline icons ────────
   New per-row icons next to the chain-link and handshake. Same pattern
   as .ico-child / .ico-ref (proj-pages-main.css). Pill 20x20 sized to
   match the existing inline icons in .cl-item-name. */

/* base pill shape (chain/handshake already styled by baseline; web/fb
   need full pill rules here because they don't exist in baseline) */
.ico-web,
.ico-fb{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  color: #fff;
  font-size: 11px;
  text-decoration: none;
  transition: opacity .15s, transform .15s;
}
.ico-web{ background: #1565C0; }           /* Blue — matches proj_detail.asp .ico-web */
.ico-fb { background: #1877F2; }           /* Facebook brand blue */
.ico-web:hover,
.ico-fb:hover{ opacity: .85; transform: scale(1.08); color: #fff; }

/* inline size when used inside .cl-item-name (matches .ico-child sizing) */
body .cl-item-name .ico-web.cl-name-link,
body .cl-item-name .ico-fb.cl-name-link,
body .cl-item-name .ico-map.cl-name-link{
  width: 20px !important;
  height: 20px !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  font-size: 10px !important;
}

/* Force the <i> inside every inline pill to render solid white — some
   icofont/fa rules elsewhere were giving the FA glyph a non-white color
   making the icon look faded against the colored pill */
body .cl-item-name .ico-child.cl-name-link i,
body .cl-item-name .ico-ref.cl-name-link i,
body .cl-item-name .ico-web.cl-name-link i,
body .cl-item-name .ico-fb.cl-name-link i,
body .cl-item-name .ico-map.cl-name-link i,
body .cl-item-name .ico-child.cl-name-link i[class^="fa-"],
body .cl-item-name .ico-ref.cl-name-link i[class^="fa-"],
body .cl-item-name .ico-web.cl-name-link i[class^="fa-"],
body .cl-item-name .ico-fb.cl-name-link i[class^="fa-"],
body .cl-item-name .ico-map.cl-name-link i[class^="fa-"]{
  color: #fff !important;
}


/* ── 57. proj_contactlist.asp — .ico-map (Google Maps location pin)
       Base styling for the new "ที่ตั้ง" icon. Same pill shape as the
       other icons. Color: green (#43A047) — matches the Google Maps
       location-pin color used in proj_detail.asp icons-pages-main.css
       :1055. */
.ico-map{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  background: #43A047;
  color: #fff;
  font-size: 11px;
  text-decoration: none;
  transition: opacity .15s, transform .15s;
}
.ico-map:hover{ opacity: .85; transform: scale(1.08); color: #fff; }


/* ── 63. proj_companyreference.asp polish
       - Header card was a dark green gradient #1A3D24 -> #25593A;
         soften to flat mid green #2DA15C (Modern Corp FLAT)
       - Drop all 600/700 weights across pcr-* down to 500 — user
         asked for normal weight site-wide on this popup */
body.page-companyref .pcr-header{
  background: #2DA15C !important;
}
body.page-companyref,
body.page-companyref *{ font-weight: 500 !important; }
body.page-companyref .pcr-header-firmname,
body.page-companyref .pcr-header-sub,
body.page-companyref .pcr-table th,
body.page-companyref .pcr-td-qty,
body.page-companyref .pcr-td-val,
body.page-companyref .pcr-td-no,
body.page-companyref .pcr-role-badge{
  font-weight: 500 !important;
}


/* ── 62. proj_company.asp — de-bold + row-click visited gray pattern
       User requested:
         (a) Font from bold -> normal everywhere including pagination
         (b) Pagination text spacing fixed (already done via &nbsp; in ASP)
         (c) Click anywhere in a row -> open detail in new tab + gray out
             the row to mark it visited (except star / 'ใหม่' badge / stage
             badge stay colored). Visited state shared with projmain,
             proj_search, proj_favorite, proj_alert via the same
             localStorage key 'pm_visited_projects'. */

/* (a) De-bold scoped to this page only */
body.page-company,
body.page-company *{ font-weight: 500 !important; }
body.page-company h1,
body.page-company h2,
body.page-company h3{ font-weight: 500 !important; }
body.page-company .pc-firm-name{ font-weight: 500 !important; }
body.page-company .pc-info-value-name{ font-weight: 500 !important; }
body.page-company .pc-td-value{ font-weight: 500 !important; }
body.page-company .pc-pgn-info,
body.page-company .pc-pgn-ctl a,
body.page-company .pc-pgn-ctl button{ font-weight: 500 !important; }

/* (c) Row hover affordance + visited state */
body.page-company .pc-table tbody tr.pc-row{
  cursor: pointer;
}
body.page-company .pc-table tbody tr.pc-visited td{
  color: #9CA3AF !important;
  opacity: .85 !important;
}
body.page-company .pc-table tbody tr.pc-visited td a{
  color: #9CA3AF !important;
}
body.page-company .pc-table tbody tr.pc-visited{
  background: #FAFAFA !important;
}
/* Keep these elements at their original color even when visited:
     - stage badge (.pm-td-stage)
     - intlevel star / check / close icons (inline color from style attr)
     - 'ใหม่' badge (.pm-new-badge — for parity with other list pages)
     - status badges */
body.page-company .pc-table tbody tr.pc-visited .pm-td-stage,
body.page-company .pc-table tbody tr.pc-visited .pm-new-badge,
body.page-company .pc-table tbody tr.pc-visited .pc-status-cancel,
body.page-company .pc-table tbody tr.pc-visited .pc-status-postpone,
body.page-company .pc-table tbody tr.pc-visited .pc-win-badge{
  opacity: 1 !important;
}
body.page-company .pc-table tbody tr.pc-visited .pc-sub-sales i[class^="icofont-"]{
  opacity: 1 !important;
}


/* ── 61. Unify proj_company quick-action icons with proj_detail / proj_contactlist
       User wants ONE icon system across all 3 pages so users learn one
       visual vocabulary. Baseline proj-member.css :1196-1201 had pale-tint
       backgrounds + colored glyphs on .pc-act-icon variants:

         .map    bg #E3F2FD  glyph #1565C0  (pale blue)
         .line   bg #E8F5E9  glyph #2E7D32  (pale green)
         .fb     bg #E3F2FD  glyph #1565C0  (pale blue)
         .relate bg #FFF3E0  glyph #E65100  (pale orange)
         .ref    bg #F3E5F5  glyph #6A1B9A  (pale purple)
         .loc    bg #E0F7FA  glyph #006064  (pale cyan)

       Repaint as SOLID background + WHITE glyph to match the same color
       semantics used in .ico-* (proj_detail + proj_contactlist):

         map / loc -> green   (location pin    — matches .ico-map)
         line      -> LINE brand green
         fb        -> Facebook brand blue      (matches .ico-fb)
         relate    -> blue                     (matches .ico-child / chain)
         ref       -> orange                   (matches .ico-ref / handshake)

       Size and label stay as-is (40x40 + label below — these are
       full action buttons, not inline icons). */
body .pc-act-icon.map    { background: #43A047 !important; color: #fff !important; }
body .pc-act-icon.line   { background: #06C755 !important; color: #fff !important; }  /* LINE brand */
body .pc-act-icon.fb     { background: #1877F2 !important; color: #fff !important; }
body .pc-act-icon.relate { background: #1565C0 !important; color: #fff !important; }
body .pc-act-icon.ref    { background: #E65100 !important; color: #fff !important; }
body .pc-act-icon.loc    { background: #43A047 !important; color: #fff !important; }

body .pc-act-icon i{
  color: #fff !important;
}


/* ── 60. Inline firm icons — make proj_contactlist match proj_detail
       Root cause of the 3-way bug user reported (snap142 vs snap143):

       (a) proj-pages-main.css :2862 has a duplicate '.ico-child' rule
           that sets background:#FFF3E0 + color:#E65100 (pale orange).
           Source order makes it WIN cascade over the intended blue
           '.ico-child' at :1056 — so the chain pill renders pale and
           the white glyph inside has near-zero contrast.

       (b) The Facebook icon was rendered with <i class="fa-brands
           fa-facebook-f"> — but the site loads fontawesome.css /
           sharp-*.css / light.css / duotone.css from /css/font-awesome/
           and does NOT load 'brands.css'. The brand variant has no
           glyph data -> the pill is solid blue but empty inside.

       (c) Inline icons inside .cl-item-name were sized 20x20 (theme
           block 56) while proj_detail uses the baseline 24x24, so the
           two pages looked different (spacing + size).

       Fix:
         - Force every '.ico-*' pill background+color via theme so the
           buggy line 2862 cascade is neutralized site-wide.
         - Also revert the 20x20 override (let baseline 24x24 win),
           with margin-left 5px between icons to match proj_detail's
           visual rhythm.
         - HTML was changed in proj_contactlist.asp to drop fa-brands
           and use icofont-* (which IS loaded) so the FB / globe /
           map glyphs render. */
body .ico-map  { background: #43A047 !important; color: #fff !important; }
body .ico-child{ background: #1565C0 !important; color: #fff !important; }
body .ico-web  { background: #1565C0 !important; color: #fff !important; }
body .ico-fb   { background: #1877F2 !important; color: #fff !important; }
body .ico-ref  { background: #E65100 !important; color: #fff !important; }
body .ico-ref.ico-ref-gray{ background:#BDBDBD !important; }

body .ico-map i,
body .ico-child i,
body .ico-web i,
body .ico-fb i,
body .ico-ref i{
  color: #fff !important;
}

/* Inline icons inside .cl-item-name — baseline 24x24 size (matches
   proj_detail). Override prior 20x20 from earlier theme blocks. */
body .cl-item-name .ico-map.cl-name-link,
body .cl-item-name .ico-child.cl-name-link,
body .cl-item-name .ico-web.cl-name-link,
body .cl-item-name .ico-fb.cl-name-link,
body .cl-item-name .ico-ref.cl-name-link{
  width: 24px !important;
  height: 24px !important;
  margin-left: 5px !important;
  vertical-align: middle !important;
  font-size: 12px !important;
}


/* ── 59. header_proj.asp drawer — bump icon glyph size inside each
       .mb-iico circle for better visual weight. Baseline (proj-member.css
       :358) had box 44x44 + icon 22px — user wanted icons larger.
       Bump box to 48x48 and icon glyph to 28px so the icon fills more
       of the circle. Affects every drawer item in sections 1-6 (and
       section 7 special). */
body .mb-icon-btn .mb-iico{
  width: 48px !important;
  height: 48px !important;
  font-size: 28px !important;
}


/* ── 58. proj_company.asp — soften the very dark green header card
       Baseline (proj-member.css :1114):
         background: linear-gradient(135deg, #14321A 0%, #2A6040 100%);
       User says it's still too dark and not aligned with the rest of
       the page (Modern Corp FLAT now leans lighter tints). Repaint as
       a flat solid mid-green and let the in-card text stay #fff. */
body .pc-header-card{
  background: #2DA15C !important;     /* mid green — visibly lighter */
}
body .pc-header-card::before,
body .pc-header-card::after{
  background: rgba(255,255,255,.08) !important;  /* keep the soft halo */
}


/* ── 55. proj_pv_banner.asp — flatten the green circle icon ────────────
   .pv-banner-icon (proj-member.css :1593) used:
     linear-gradient(135deg, var(--goldb), #B8841F)
   --goldb is overridden by Modern Corp to #39B86C (green), but the second
   stop #B8841F is hardcoded gold-brown. Result was a weird green-to-brown
   gradient. Replace with solid Modern Corp primary green + matching
   shadow. Affects all 6 pages that include proj_pv_banner.asp
   (projmain, proj_favorite, proj_alert, proj_search, proj_contactlist,
   proj_company). */
body .pv-banner-icon{
  background: #39B86C !important;
  box-shadow: 0 3px 10px rgba(57, 184, 108, .30) !important;
}

/* ── 55b. pv-banner-btn — solid amber to harmonize with cream-gold banner card
   Baseline (proj-member.css :1774) uses white BG + thin green border + green
   text → on the amber gradient banner the button reads as washed/low contrast.
   Replace with solid amber (matches banner's gold accent + Save-Search button
   palette) so the CTA is clearly visible across all 5 pages that include
   proj_pv_banner.asp: projmain, proj_search, proj_contactlist, proj_favorite,
   proj_alert. ── */
body .pv-banner-btn{
  background: #F59E0B !important;
  color: #FFFFFF !important;
  border: 1.5px solid #D97706 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, .25) !important;
}
body .pv-banner-btn i{ color: #FFFFFF !important; }
body .pv-banner-btn:hover{
  background: #D97706 !important;
  color: #FFFFFF !important;
  border-color: #B45309 !important;
  box-shadow: 0 4px 14px rgba(217, 119, 6, .40) !important;
  transform: translateY(-1px) !important;
}
body .pv-banner-btn:hover i{ color: #FFFFFF !important; }
/* Premium Tech mirror — slightly warmer amber (Tailwind amber 500/600) */
body.style-premium-tech .pv-banner-btn{
  background: #F59E0B !important;
  border-color: #B45309 !important;
}
body.style-premium-tech .pv-banner-btn:hover{
  background: #B45309 !important;
  border-color: #92400E !important;
}


/* ── 60. proj_rp_*.asp — soft page header + Modern Corp table + de-bold ──
   User request: page title softer, table bg per theme, all fonts non-bold.
   Scoped via `.prr-content` parent so summaryreport_main / summaryreportdet_*
   (which use the same srd-* classes but no prr-content wrapper) are NOT
   affected. */

/* Page title card — gradient dark forest → solid mint tint */
body .prr-content .srd-report-hdr{
  background: #DDF5E7 !important;
  border: 1px solid #BFE5BC !important;
}
body .prr-content .srd-report-icon{
  background: rgba(15,93,54,.10) !important;
  color: #0F5D36 !important;
}
body .prr-content .srd-report-title{
  color: #0F5D36 !important;
  font-weight: 500 !important;
}
body .prr-content .srd-report-sub{
  color: #6B7280 !important;
  font-weight: 400 !important;
}

/* Metric toggle (Count / Value) — adapt to light header card */
body .prr-content .srd-metric-toggle{
  border: 1px solid #BFE5BC !important;
  background: #fff !important;
}
body .prr-content .srd-toggle-btn{
  color: #6B7280 !important;
  font-weight: 500 !important;
}
body .prr-content .srd-toggle-btn.active{
  background: #0F5D36 !important;
  color: #fff !important;
}
body .prr-content .srd-toggle-btn:hover:not(.active){
  background: #F0FAF3 !important;
  color: #0F5D36 !important;
}

/* Selector chip bar (region / category) — already mostly mint, soften weights */
body .prr-content .prr-sel-label{ font-weight: 500 !important; }
body .prr-content .prr-sel-btn{ font-weight: 500 !important; }
body .prr-content .prr-sel-btn.active{ font-weight: 600 !important; }

/* Summary chips — big numbers no longer 700 */
body .prr-content .srd-sum-chip strong{
  color: #0F5D36 !important;
  font-weight: 500 !important;
}
body .prr-content .srd-sum-chip span{
  font-weight: 400 !important;
}

/* Panel headers — softer */
body .prr-content .srd-panel-hdr{
  background: #F0FAF3 !important;
  border-bottom: 1px solid #BFE5BC !important;
}
body .prr-content .srd-panel-title{
  color: #0F5D36 !important;
  font-weight: 500 !important;
}
body .prr-content .srd-panel-sub{
  color: #6B7280 !important;
  font-weight: 400 !important;
}

/* Table — thead dark forest → Modern Corp deep green flat, de-bold all */
body .prr-content table.srd-tbl thead th{
  background: #0F5D36 !important;
  color: #fff !important;
  font-weight: 500 !important;
}
body .prr-content table.srd-tbl tbody td{
  color: #1E1E1E !important;
  font-weight: 400 !important;
}
body .prr-content table.srd-tbl tbody tr:hover td{
  background: #F0FAF3 !important;
}
body .prr-content table.srd-tbl tfoot td{
  background: #DDF5E7 !important;
  border-top: 2px solid #0F5D36 !important;
  color: #0F5D36 !important;
  font-weight: 500 !important;
}
body .prr-content table.srd-tbl tfoot td strong{
  font-weight: 500 !important;
}

/* Export / action buttons — de-bold */
body .prr-content .srd-exp-btn{ font-weight: 500 !important; }
body .prr-content .srd-legend-pct{ font-weight: 500 !important; }
body .prr-content .srd-legend-item{ font-weight: 400 !important; }
body .prr-content .srd-bc-current{ font-weight: 500 !important; }

/* Premium Tech style mirror — emerald 50/100/900 instead of mint/forest */
body.style-premium-tech .prr-content .srd-report-hdr{
  background: #D1FAE5 !important;
  border-color: #A7F3D0 !important;
}
body.style-premium-tech .prr-content .srd-report-icon{
  background: rgba(6,78,59,.10) !important;
  color: #064E3B !important;
}
body.style-premium-tech .prr-content .srd-report-title{ color: #064E3B !important; }
body.style-premium-tech .prr-content .srd-toggle-btn.active{ background: #064E3B !important; }
body.style-premium-tech .prr-content .srd-toggle-btn:hover:not(.active){
  background: #ECFDF5 !important; color: #064E3B !important;
}
body.style-premium-tech .prr-content .srd-sum-chip strong{ color: #064E3B !important; }
body.style-premium-tech .prr-content .srd-panel-hdr{
  background: #ECFDF5 !important;
  border-bottom-color: #A7F3D0 !important;
}
body.style-premium-tech .prr-content .srd-panel-title{ color: #064E3B !important; }
body.style-premium-tech .prr-content table.srd-tbl thead th{ background: #064E3B !important; }
body.style-premium-tech .prr-content table.srd-tbl tbody tr:hover td{ background: #ECFDF5 !important; }
body.style-premium-tech .prr-content table.srd-tbl tfoot td{
  background: #D1FAE5 !important;
  border-top-color: #064E3B !important;
  color: #064E3B !important;
}

/* ── proj_statreport st-* background normalization — Modern Corp FLAT mint ──
   Original proj-pages-extra.css uses dark navy/blue gradients on headers,
   stage-cluster column bands, and active states. User wants the whole
   page in the Modern Corp FLAT mint palette with lighter backgrounds. */

/* Tab nav strip (Tab 0/1/2 selector) */
body .st-main-tabs                 { border-bottom: 3px solid #BFE5BC !important; }
body .st-mtab                      { color: #0F5D36 !important; background: transparent !important; }
body .st-mtab:hover                { color: #0A4326 !important; background: #F0FAF3 !important; }
body .st-mtab.active               { color: #0F5D36 !important; background: #DDF5E7 !important; border-bottom-color: #39B86C !important; }
body .st-mtab i                    { color: #2DA15C !important; }

/* Section header (big gradient title bar) */
body .st-sec-header                { background: #DDF5E7 !important; color: #0F5D36 !important; }
body .st-sec-header i              { color: #39B86C !important; }

/* Filter bar */
body .st-filter                    { background: #F0FAF3 !important; border-bottom-color: #BFE5BC !important; }
body .st-flabel                    { color: #0F5D36 !important; }
body .st-fselect                   { border-color: #BFE5BC !important; color: #0F5D36 !important; background: #fff !important; }
body .st-fbadge                    { border-color: #BFE5BC !important; color: #0F5D36 !important; background: #fff !important; }
body .st-fbadge:hover              { border-color: #39B86C !important; background: #F0FAF3 !important; }
body .st-fbadge.active             { background: #39B86C !important; color: #fff !important; border-color: #39B86C !important; }
body .st-fbtn-go                   { background: #39B86C !important; }
body .st-fbtn-go:hover             { background: #2DA15C !important; box-shadow: 0 2px 8px rgba(57,184,108,.3) !important; }

/* Sub-tab nav (Tab 2 yearly sub-charts) */
body .st-sub-tabs                  { background: #F0FAF3 !important; border-bottom-color: #BFE5BC !important; }
body .st-stab                      { color: #4A6B58 !important; }
body .st-stab:hover                { color: #0F5D36 !important; background: #DDF5E7 !important; }
body .st-stab.active               { color: #0F5D36 !important; border-bottom-color: #39B86C !important; background: #DDF5E7 !important; }

/* Table cells + headers (force light mint background, remove dark navy/green gradient) */
body .st-tbl th                    { background: #2DA15C !important; color: #fff !important; }
body .st-tbl th:first-child        { background: #2DA15C !important; }
body .st-tbl td                    { color: #1E1E1E !important; border-bottom-color: #E5E7EB !important; }
body .st-tbl tr:hover td           { background: #F0FAF3 !important; }
body .st-tbl .st-row-total td      { background: #DDF5E7 !important; color: #0F5D36 !important; border-top: 2px solid #39B86C !important; }

/* Stage-cluster band headers (1.2 cross-tab — keep distinct but soft)
   IMPORTANT: explicitly set color on each — an earlier override block
   (line ~446-456) set color:#0F5D36 on stg5/6/7. Without re-asserting
   color here, stg6 ended up with text-color=background-color (both
   #0F5D36) → header text invisible. */
body .st-tbl th.st-th-new          { background: #2DA15C !important; color: #fff !important; }
body .st-tbl th.st-th-upd          { background: #5AB685 !important; color: #fff !important; }
body .st-tbl th.st-th-stg1         { background: #2DA15C !important; color: #fff !important; }
body .st-tbl th.st-th-stg2         { background: #3DAE6F !important; color: #fff !important; }
body .st-tbl th.st-th-stg3         { background: #5AB685 !important; color: #fff !important; }
body .st-tbl th.st-th-stg4         { background: #7DD3A2 !important; color: #0F5D36 !important; }
body .st-tbl th.st-th-stg5         { background: #39B86C !important; color: #fff !important; }
body .st-tbl th.st-th-stg6         { background: #0F5D36 !important; color: #fff !important; }
body .st-tbl th.st-th-total        { background: #4A6B58 !important; color: #fff !important; }
body .st-tbl th.st-th-sub          { background: #F0FAF3 !important; color: #0F5D36 !important; }
body .st-tbl-badge                 { color: #0F5D36 !important; }
body .st-tbl-badge i               { color: #2DA15C !important; }

/* ── proj_statreport st-* table normalization — force regular weight ──
   Tables in Tab 0 (Monthly) and Tab 1 (Quarterly) display headers,
   filter labels, and cells at 700/800/600 weight from
   proj-pages-extra.css. User wants regular weight throughout. */
body .st-sec-header,
body .st-flabel,
body .st-fbadge,
body .st-fbtn-go,
body .st-stab,
body .st-stab.active,
body .st-tbl th,
body .st-tbl td,
body .st-tbl td:first-child,
body .st-tbl .st-row-total td,
body .st-tbl .st-td-num,
body .st-tbl .st-td-val{
  font-weight: 400 !important;
}

/* ── Highcharts typography normalization — force regular weight ──
   User requested all Highcharts text non-bold. Inline fontWeight in
   chart options is sometimes overridden by Highcharts defaults (e.g.
   drilldown breadcrumbs, hover labels, tooltip <b> tags, axis title).
   Force weight 400 across every SVG text node and tooltip HTML
   element inside any .highcharts-container. */
.highcharts-container text,
.highcharts-container tspan,
.highcharts-container .highcharts-axis-title,
.highcharts-container .highcharts-title,
.highcharts-container .highcharts-subtitle,
.highcharts-container .highcharts-legend-item,
.highcharts-container .highcharts-data-label,
.highcharts-container .highcharts-axis-labels,
.highcharts-tooltip,
.highcharts-tooltip *,
.highcharts-tooltip-container,
.highcharts-tooltip-container *,
.highcharts-tooltip b,
.highcharts-tooltip strong,
.highcharts-tooltip-container b,
.highcharts-tooltip-container strong{
  font-weight: 400 !important;
}

/* ── 64. proj_forecast.asp — soften dark green to mid + de-bold all text ──
   (User feedback: page is too heavy / dark. Pull all weights to 400 and
   downgrade the #0F5D36 headers/thead to mid-green #2DA15C.)
*/
body.page-forecast,
body.page-forecast *                              { font-weight:400 !important; }

/* Keep page title + result-section title + summary value slightly heavier
   so the eye still finds the hierarchy. */
body.page-forecast .fc-page-title h1,
body.page-forecast .fc-result-title,
body.page-forecast .fc-search-header,
body.page-forecast .fc-result-header,
body.page-forecast .fc-summary-val,
body.page-forecast .fc-tbl th                     { font-weight:500 !important; }

/* Soften the dark-green bands (was #0F5D36) to mid-green #2DA15C */
body.page-forecast .fc-search-header,
body.page-forecast .fc-result-header,
body.page-forecast .fc-tbl th                     { background:#2DA15C !important; }
body.page-forecast .fc-btn-search                 { background:#2DA15C !important; }
body.page-forecast .fc-btn-search:hover           { background:#0F5D36 !important; }

/* Inline sales-name span inside project-name column (added today) */
body.page-forecast .fc-td-sales-inline            { color:#0F5D36; font-weight:500 !important; }

/* ── 65. proj_salestarget.asp — soften dark green + de-bold all text ──
   Same treatment as block 64 (forecast). Class prefix is .fr-*.
   3 table-header bands keep distinct shades but pulled lighter overall:
      inplan: was #0F5D36 (deepest)   -> #2DA15C (mid)
      noplan: was #2DA15C (mid)       -> #5AB685 (light mid)
      closed: was #0A4326 (very dark) -> #0F5D36 (was deepest)
*/
body.page-salestarget,
body.page-salestarget *                            { font-weight:400 !important; }

/* Preserve hierarchy on titles / section headers / table th */
body.page-salestarget .fr-page-title h1,
body.page-salestarget .fr-chart-header,
body.page-salestarget .fr-table-header,
body.page-salestarget .fr-section-header,
body.page-salestarget .fr-tbl th,
body.page-salestarget .fr-row-total td             { font-weight:500 !important; }

/* Section headers — soften from deep forest to mid green */
body.page-salestarget .fr-chart-header,
body.page-salestarget .fr-table-header,
body.page-salestarget .fr-section-header           { background:#2DA15C !important; }
body.page-salestarget .fr-table-header.fr-th-inplan { background:#2DA15C !important; }
body.page-salestarget .fr-table-header.fr-th-noplan { background:#5AB685 !important; }
body.page-salestarget .fr-table-header.fr-th-closed { background:#0F5D36 !important; }

/* Year-column headers (current/future) — pull deep forest band lighter */
body.page-salestarget .fr-tbl th.fr-th-year-current { background:#2DA15C !important; }
body.page-salestarget .fr-tbl th.fr-th-year-future  { background:#5AB685 !important; }

/* Bar chart Y1 (current year) — was deep gradient */
body.page-salestarget .fr-bar-y1                    { background:linear-gradient(180deg,#5AB685,#2DA15C) !important; }

/* ── 66. proj_salesreport.asp — soften dark green section headers ──
   Baseline (.sr-chart-header / .sr-table-header) uses gradient
   var(--mn)->var(--ms) = #0F5D36 -> #2DA15C. Flatten to solid mid green
   for a lighter look that matches block 64/65 (forecast/salestarget).
   Chart-3.3 (Highcharts sales-per-month) bar color changed inline from
   #FF8F00 orange to #2DA15C in proj_salesreport.asp.
*/
body.page-salesreport .sr-chart-header,
body.page-salesreport .sr-table-header              { background:#2DA15C !important; }
body.page-salesreport .sr-chart-header i,
body.page-salesreport .sr-table-header i            { color:#FFD54F !important; }

/* ── 67. proj_oppsreport.asp — soften dark teal + de-bold all text ──
   Same treatment as blocks 64/65/66. Class prefix is .op-*. Base CSS
   uses teal palette #004D40/#00897B which reads dark next to Modern
   Corp. Pull down to mid green family.
*/
body.page-oppsreport,
body.page-oppsreport *                              { font-weight:400 !important; }

/* Keep title / section headers / active tab / card value / sales label
   slightly heavier (500) so hierarchy is still visible. */
body.page-oppsreport .op-page-title h1,
body.page-oppsreport .op-chart-main-header,
body.page-oppsreport .op-chart-box-title,
body.page-oppsreport .op-chtab.active,
body.page-oppsreport .op-card-value,
body.page-oppsreport .op-card-label,
body.page-oppsreport .op-sales-label                { font-weight:500 !important; }

/* Soften dark teal -> Modern Corp green family */
body.page-oppsreport .op-chart-main-header          { background:#2DA15C !important; }
body.page-oppsreport .op-chart-main-header i        { color:#FFD54F !important; }
body.page-oppsreport .op-page-title h1              { color:#0F5D36 !important; }
body.page-oppsreport .op-page-title i               { color:#39B86C !important; }
body.page-oppsreport .op-sales-label                { color:#0F5D36 !important; }
body.page-oppsreport .op-sales-label i              { color:#39B86C !important; }
body.page-oppsreport .op-sales-select               { color:#0F5D36 !important; border-color:#BFE5BC !important; }
body.page-oppsreport .op-sales-select:focus         { border-color:#39B86C !important; box-shadow:0 0 0 2px rgba(57,184,108,.18) !important; }

/* Chart tab nav — was teal */
body.page-oppsreport .op-chtab                      { color:#6B7280 !important; }
body.page-oppsreport .op-chtab:hover                { color:#0F5D36 !important; background:#BFE5BC !important; }
body.page-oppsreport .op-chtab.active               { color:#0F5D36 !important; background:#F0FAF3 !important; border-bottom-color:#2DA15C !important; }
body.page-oppsreport .op-chart-tabs                 { border-bottom-color:#BFE5BC !important; background:#FAFCFB !important; }
body.page-oppsreport .op-chart-section              { border-color:#BFE5BC !important; }
body.page-oppsreport .op-card:hover .op-card-arrow  { color:#39B86C !important; }

/* ─────────────────────────────────────────────────────────────────────────────
   Block 64 — proj_detail.asp: Bidder section polish (2026-05-18)
   - Darken .pd-bid-value (winning price pill) for readability on mint header
   - Differentiate .pd-bidder-card from contact firm cards (amber tint)
   ───────────────────────────────────────────────────────────────────────────── */

/* Winning Bid pill — was light yellow on white-tint (illegible on mint header).
   Re-style as solid amber pill with dark text. */
.pd-firm-card .pd-bid-value{
  background: #FFF3CD !important;
  color: #7A4F01 !important;
  border: 1px solid #FFD54F !important;
  padding: 4px 12px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(122,79,1,.08);
}
.pd-firm-card .pd-bid-value i{
  color: #B8841F !important;
}

/* % delta badge — darker tint for contrast on the new amber pill */
.pd-firm-card .pd-bid-lower{
  background: #E8F5E9 !important;
  color: #1B5E20 !important;
  border: 1px solid #A5D6A7 !important;
}
.pd-firm-card .pd-bid-higher{
  background: #FFEBEE !important;
  color: #B71C1C !important;
  border: 1px solid #EF9A9A !important;
}
.pd-firm-card .pd-bid-equal{
  background: #F5F5F5 !important;
  color: #424242 !important;
  border: 1px solid #BDBDBD !important;
}

/* Bidder card — dark walnut header (auction-hammer theme) + warm taupe body.
   Pushed away from memo card (white body) with stronger taupe tint for
   clear visual separation. No thick left border (looked uneven). */
body .pd-bidder-card{
  background: #EFE9DF !important;          /* warm taupe — distinct from memo white body */
  border: 1px solid #C9BEAC !important;    /* uniform thin border in matching wood family */
}
body .pd-bidder-card .pd-card-hdr.pd-bd-hdr{
  background: linear-gradient(135deg, #6D4C41, #4E342E) !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid #3E2723 !important;
  font-weight: 600 !important;
}
body .pd-bidder-card .pd-card-hdr.pd-bd-hdr i{
  color: #FFD54F !important;
}
body .pd-bidder-card .pd-card-hdr.pd-bd-hdr .pd-bd-count{
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 500 !important;
}
body .pd-bidder-card .pd-card-body{
  background: transparent !important;
}
body .pd-bidder-card .pd-bd-item{
  border-bottom: 1px dashed #BFB29A !important;   /* darker dash to read on taupe */
}
body .pd-bidder-card .pd-bd-item:last-child{
  border-bottom: none !important;
}

/* ─────────────────────────────────────────────────────────
   Block 65 — icons-boq.asp table de-bold
   - Item name column (รายการวัสดุ/งาน): weight 500 -> 400 (thinner)
   - Qty column (จำนวน): weight 700 -> 500, font-size 15px -> 12.5px
   - Match the soft Modern Corp FLAT philosophy
   ───────────────────────────────────────────────────────── */
body .bqp-td-name a{
  font-weight: 400 !important;
}
body .bqp-td-qty{
  font-weight: 500 !important;
  font-size: 12.5px !important;
}

/* ── icons-boqdetail.asp — de-bold across the page (user request) ── */
body.page-boqdetail .bqd-section-h,
body.page-boqdetail .bqd-cta-h,
body.page-boqdetail .bqd-hero h1,
body.page-boqdetail .bqd-hero-qty,
body.page-boqdetail .bqd-side-card h3,
body.page-boqdetail .bqd-meta-val,
body.page-boqdetail .bqd-stats-val,
body.page-boqdetail .bqd-cat-name,
body.page-boqdetail .bqd-btn-primary,
body.page-boqdetail .bqd-btn-side {
  font-weight: 500 !important;
}
body.page-boqdetail .bqd-cta-p,
body.page-boqdetail .bqd-hero-qty-text,
body.page-boqdetail .bqd-meta-label,
body.page-boqdetail .bqd-stats-label,
body.page-boqdetail .bqd-breadcrumb,
body.page-boqdetail p,
body.page-boqdetail .bqd-cat-qty {
  font-weight: 400 !important;
}
body.page-boqdetail strong,
body.page-boqdetail b {
  font-weight: 500 !important;
}

/* ════════════════════════════════════════════════════════════════
   Block 66 — icons-mobileapp.asp  (Modern Corp FLAT recolor)
   ----------------------------------------------------------------
   - Recolor all rainbow palette (blue/teal/orange/gold/red/black/
     navy gradients) -> Modern Corp green family (#0F5D36 deep,
     #39B86C brand, #DDF5E7 tint)
   - All icofont + FA glyphs forced white
   - Member section: dark navy gradient -> solid deep green (FLAT)
   - Big DL buttons (Android + iOS): black/gradient -> solid green
   - Phone frame bezel: lighten very dark #111/#333 -> dark green
     (removes the "black vertical line" from side buttons & bezel)
   - Add font-smoothing for crisp Thai/Latin glyphs on colored bg
   ════════════════════════════════════════════════════════════════ */

/* Font anti-aliasing — fixes "font ไม่คมชัด" on green buttons */
body.page-mobileapp,
body.page-mobileapp * {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

/* All icofont + FontAwesome glyphs default to white on this page */
body.page-mobileapp [class^="icofont-"],
body.page-mobileapp [class*=" icofont-"],
body.page-mobileapp .fa,
body.page-mobileapp .fas,
body.page-mobileapp .far,
body.page-mobileapp .fab,
body.page-mobileapp [class^="fa-"],
body.page-mobileapp [class*=" fa-"] {
  color: #FFFFFF !important;
}

/* Hero requirements row check icon — keep visible on dark green bg */
body.page-mobileapp .app-req-row .icofont-check-circled {
  color: #7DD3A2 !important;   /* light mint — readable on deep green hero */
}

/* ── Feature icon tiles — match icons-buyads palette (#39B86C brand green) ── */
body.page-mobileapp .app-feat-icon {
  background: #39B86C !important;   /* same as .ads-why-icon / .ads-pkg-icon */
}
body.page-mobileapp .app-feat-icon--green,
body.page-mobileapp .app-feat-icon--blue,
body.page-mobileapp .app-feat-icon--teal,
body.page-mobileapp .app-feat-icon--orange,
body.page-mobileapp .app-feat-icon--gold,
body.page-mobileapp .app-feat-icon--red {
  background: #39B86C !important;   /* brand green for all 6 variants */
}
body.page-mobileapp .app-feat-icon i,
body.page-mobileapp .app-feat-icon .icofont {
  color: #FFFFFF !important;
}
/* Premium Tech mirror — emerald 500 (matches buyads premium-tech) */
body.style-premium-tech.page-mobileapp .app-feat-icon,
body.style-premium-tech.page-mobileapp .app-feat-icon--green,
body.style-premium-tech.page-mobileapp .app-feat-icon--blue,
body.style-premium-tech.page-mobileapp .app-feat-icon--teal,
body.style-premium-tech.page-mobileapp .app-feat-icon--orange,
body.style-premium-tech.page-mobileapp .app-feat-icon--gold,
body.style-premium-tech.page-mobileapp .app-feat-icon--red {
  background: #10B981 !important;
}

/* Member-feature cards — amber/gold cream -> Modern Corp mint */
body.page-mobileapp .app-feat-card--member {
  background: #F0FAF3 !important;
  border-color: #BFE5BC !important;
}
body.page-mobileapp .app-feat-card--member:hover {
  border-color: #39B86C !important;
  box-shadow: 0 8px 28px rgba(57,184,108,.18) !important;
}
body.page-mobileapp .app-feat-card-mem-badge {
  background: #0F5D36 !important;
  color: #FFFFFF !important;
  border-color: #0F5D36 !important;
}
body.page-mobileapp .app-feat-card-mem-badge i {
  color: #FFD54F !important;   /* gold crown stands out on green badge */
}

/* ── Member section (was dark navy gradient) -> solid deep green ── */
body.page-mobileapp .app-mem-section {
  background: #0F5D36 !important;     /* FLAT — no gradient */
}
body.page-mobileapp .app-mem-section::before {
  background: radial-gradient(circle, rgba(125,211,162,.18), transparent 70%) !important;
}
body.page-mobileapp .app-mem-feat-icon {
  background: #39B86C !important;       /* match buyads palette */
  border: 1px solid rgba(255,255,255,.28) !important;
}
body.page-mobileapp .app-mem-feat-icon i {
  color: #FFFFFF !important;
}
body.style-premium-tech.page-mobileapp .app-mem-feat-icon {
  background: #10B981 !important;
}

/* ── Phone frame — lighten very-dark bezel to green-tinted dark
   (fixes "ขอบซ้ายมีสีดำเป็นเส้นแนวตั้ง" — the vol/pwr side buttons
    + bezel are no longer pure black) ── */
body.page-mobileapp .app-phone-frame {
  background: #0A4326 !important;       /* darker green (not #111) */
  border-color: #0F5D36 !important;     /* was #333 */
  box-shadow:
    0 0 0 1px #2DA15C,
    0 32px 64px rgba(15,93,54,.45),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.page-mobileapp .app-phone-notch {
  background: #0A4326 !important;
}
body.page-mobileapp .app-phone-notch::before {
  background: #0F5D36 !important;
  border-color: #2DA15C !important;
}
body.page-mobileapp .app-phone-screen-real {
  background: #0F5D36 !important;       /* fallback only — img covers it */
}
body.page-mobileapp .app-phone-btn-side {
  background: #2DA15C !important;       /* was #333 — now mid green */
}

/* ── Download section big buttons — both green (no black, no gradient) ── */
body.page-mobileapp .app-store-btn--android.app-store-btn--lg {
  background: #0F5D36 !important;       /* solid deep green */
  color: #FFFFFF !important;
  border-color: transparent !important;
}
body.page-mobileapp .app-store-btn--android.app-store-btn--lg:hover {
  background: #2DA15C !important;       /* mid green on hover */
  transform: translateX(4px) !important;
}
body.page-mobileapp .app-store-btn--ios.app-store-btn--lg {
  background: #2DA15C !important;       /* mid green (distinct from Android) */
  color: #FFFFFF !important;
  border-color: transparent !important;
}
body.page-mobileapp .app-store-btn--ios.app-store-btn--lg:hover {
  background: #39B86C !important;
  transform: translateX(4px) !important;
}
body.page-mobileapp .app-store-btn--lg svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}
body.page-mobileapp .app-store-btn--lg small {
  color: rgba(255,255,255,.85) !important;
  opacity: 1 !important;
}

/* Hero small Android/iOS buttons — solid translucent green tint */
body.page-mobileapp .app-store-btn--android {
  background: rgba(57,184,108,.22) !important;
  border-color: rgba(125,211,162,.55) !important;
}
body.page-mobileapp .app-store-btn--android:hover {
  background: rgba(57,184,108,.35) !important;
  border-color: rgba(125,211,162,.85) !important;
}
body.page-mobileapp .app-store-btn--ios {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.40) !important;
}
body.page-mobileapp .app-store-btn--ios:hover {
  background: rgba(255,255,255,.24) !important;
  border-color: rgba(255,255,255,.65) !important;
}
body.page-mobileapp .app-store-btn svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* QR boxes — match green theme */
body.page-mobileapp .app-qr-box {
  border-color: #BFE5BC !important;
}
body.page-mobileapp .app-qr-label svg {
  color: #0F5D36 !important;
  fill: #0F5D36 !important;
}

/* Download section panel border */
body.page-mobileapp .app-dl-section {
  border-color: #BFE5BC !important;
  background: #F0FAF3 !important;
}

/* ════════════════════════════════════════════════════════════════
   Block 67 — supplierdetail hero (.sd-hero) FLAT recolor
   ----------------------------------------------------------------
   Affects BOTH:
     - icons-supplierdetail.asp  (public, bodyClass "page-supplierdetail")
     - supp_detail.asp           (member, bodyClass includes the same)
   Baseline gradient `var(--navy) -> #0b1e0b -> #183c18` has a near-black
   middle stop -> hero ดูมืดมาก. Replace with solid mid green to match
   sp-welcome/sp-vendor-hdr Modern Corp FLAT palette.
   ════════════════════════════════════════════════════════════════ */
body.page-supplierdetail .sd-hero {
  background: #2DA15C !important;       /* solid — no gradient */
}
body.page-supplierdetail .sd-hero::before {
  opacity: .65;                          /* lighten dot-grid overlay */
}
body.page-supplierdetail .sd-blob-l,
body.page-supplierdetail .sd-blob-r {
  background: radial-gradient(circle, rgba(255,255,255,.12), transparent 70%) !important;
}
body.page-supplierdetail .sd-hero-badge {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.32) !important;
  color: #FFFFFF !important;
}
body.page-supplierdetail .sd-hero-badge i {
  color: #FFFFFF !important;
}
body.page-supplierdetail .sd-hero-meta {
  color: rgba(255,255,255,.88) !important;
}
body.page-supplierdetail .sd-hero-meta i {
  color: #FFFFFF !important;
}
body.page-supplierdetail .sd-hero-sep {
  color: rgba(255,255,255,.45) !important;
}
body.page-supplierdetail .sd-regno-pill {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.30) !important;
  color: #FFFFFF !important;
}
body.page-supplierdetail .sd-breadcrumb,
body.page-supplierdetail .sd-breadcrumb a,
body.page-supplierdetail .sd-breadcrumb .bc-cur {
  color: rgba(255,255,255,.88) !important;
}
body.page-supplierdetail .sd-breadcrumb a:hover {
  color: #FFD54F !important;             /* gold accent on hover */
}
body.page-supplierdetail .sd-breadcrumb .bc-sep {
  color: rgba(255,255,255,.50) !important;
}

/* Premium Tech mirror — emerald 600 */
body.style-premium-tech.page-supplierdetail .sd-hero {
  background: #059669 !important;
}

/* ════════════════════════════════════════════════════════════════
   Block 68 — supp_main / supp_detail de-bold pass
   ----------------------------------------------------------------
   User feedback: supp_main font หนาเกินไป.
   Modern Corp FLAT philosophy: drop heavy weights (700/800) to 500.
   Subtitles/labels 600 -> 500. Body content (p, td, val, name) 400.
   Scoped to body.page-supp-member (covers supp_main AND supp_detail).
   ════════════════════════════════════════════════════════════════ */

/* Default body text in supp area — regular weight */
body.page-supp-member,
body.page-supp-member p,
body.page-supp-member span,
body.page-supp-member li,
body.page-supp-member td,
body.page-supp-member th,
body.page-supp-member a,
body.page-supp-member div {
  font-weight: 400 !important;
}

/* Headings + section titles — medium */
body.page-supp-member h1,
body.page-supp-member h2,
body.page-supp-member h3,
body.page-supp-member h4,
body.page-supp-member h5,
body.page-supp-member h6,
body.page-supp-member .sp-welcome-text h2,
body.page-supp-member .sp-cat-hdr,
body.page-supp-member .sp-section-title,
body.page-supp-member .sp-detail-name,
body.page-supp-member .sp-vendor-hdr,
body.page-supp-member .sp-info-card-hdr,
body.page-supp-member .sb-card-hdr,
body.page-supp-member .sd-section-hdr,
body.page-supp-member .sd-hero h1 {
  font-weight: 500 !important;
}

/* Buttons — medium (was 700) */
body.page-supp-member .sp-btn-logout,
body.page-supp-member .sp-btn-quote,
body.page-supp-member .sp-btn-quote-cta,
body.page-supp-member .sp-btn-login,
body.page-supp-member .sp-btn-search,
body.page-supp-member .sp-btn-detail,
body.page-supp-member .sp-back-link,
body.page-supp-member .sp-pg-btn {
  font-weight: 500 !important;
}
body.page-supp-member .sp-pg-btn.active {
  font-weight: 600 !important;           /* slight emphasis for active */
}

/* Table — thead medium, tbody normal */
body.page-supp-member .sp-vendor-tbl thead th {
  font-weight: 500 !important;
}
body.page-supp-member .sp-vendor-tbl tbody td,
body.page-supp-member .sp-vendor-name,
body.page-supp-member .sp-vendor-prov,
body.page-supp-member .sp-vendor-cat {
  font-weight: 400 !important;
}

/* Badges / chips / pills / numeric */
body.page-supp-member .sp-cat-list .sp-cat-num,
body.page-supp-member .sp-vendor-count,
body.page-supp-member .sp-chip,
body.page-supp-member .sp-tag,
body.page-supp-member .sp-quote-badge,
body.page-supp-member .sp-quote-period-label,
body.page-supp-member .sp-quote-price-save,
body.page-supp-member .sp-avatar,
body.page-supp-member .sp-lang-switch a {
  font-weight: 500 !important;
}
body.page-supp-member .sp-chip strong {
  font-weight: 600 !important;           /* big stat number — slight emphasis */
}
body.page-supp-member .sp-quote-price-amount {
  font-weight: 600 !important;           /* was 800 — keep some emphasis */
}

/* Category list — drop bold on active, keep normal hierarchy */
body.page-supp-member .sp-cat-main {
  font-weight: 400 !important;
}
body.page-supp-member .sp-cat-main.active {
  font-weight: 500 !important;
}
body.page-supp-member .sp-sub-item,
body.page-supp-member .sp-sub-item.active {
  font-weight: 400 !important;
}
body.page-supp-member .sp-sub-item.active {
  font-weight: 500 !important;
}

/* Labels — regular (was 600) */
body.page-supp-member .sp-filter-label,
body.page-supp-member .sp-info-label,
body.page-supp-member .sp-form-label,
body.page-supp-member .sp-quote-price-period {
  font-weight: 400 !important;
}

/* Strong / bold tags — medium not heavy */
body.page-supp-member strong,
body.page-supp-member b {
  font-weight: 500 !important;
}

/* ════════════════════════════════════════════════════════════════
   Block 69 — Global public footer de-bold
   ----------------------------------------------------------------
   User feedback: footer "@ 2026 iCONS --" font หนาเกินไป.
   Target the global <footer> used by indexnew + all icons-*.asp pages.
   Selectors use specific .footer-* classes (NOT generic 'footer *') so
   .sp-footer (supplier member footer) is untouched — that one already
   handled by Block 68 via body.page-supp-member.
   Pattern: Heavy weights (700) -> 500; body text -> 400.
   ════════════════════════════════════════════════════════════════ */
.footer-inner,
.footer-inner *,
.footer-brand p,
.footer-contact p,
.footer-contact a,
.footer-col ul li,
.footer-col ul li a,
.footer-bottom,
.footer-bottom span {
  font-weight: 400 !important;
}

/* Column heading -- medium (was 700) */
.footer-col h5 {
  font-weight: 500 !important;
}

/* Brand name (used by some footers w/ <span class="brand-name">) */
.footer-brand .brand-name {
  font-weight: 500 !important;
}

/* strong/b inside global footer -> medium */
footer:not(.sp-footer) strong,
footer:not(.sp-footer) b {
  font-weight: 500 !important;
}

/* ──────────────────────────────────────────────────────────────────
   Block 70 — icons-boq.asp: soften header + button + count to
   Modern Corp FLAT (mint tint + dark green text, no gradient)
   Targets the new 3-section layout (Block 1 search + count float
   + Block 2 results) added 2026-05-23.
   ────────────────────────────────────────────────────────────── */

/* Section headers — gradient navy->steel -> solid mid green (FLAT, darker) */
body .bqp-main-header {
  background: #2DA15C !important;
  color: #FFFFFF !important;
  font-weight: 500 !important;
  border-bottom: 1px solid #1F8048 !important;
}
body .bqp-main-header i {
  color: #FFFFFF !important;
}

/* Table thead — dark forest gradient -> light mint (FLAT, lighter) */
body .bqp-tbl thead tr {
  background: #DDF5E7 !important;
}
body .bqp-tbl thead th {
  color: #0F5D36 !important;
  font-weight: 600 !important;
  border-bottom: 1px solid #BFE5BC !important;
}

/* Search button — pull brand color down a notch */
body .bqp-btn-search {
  background: #39B86C !important;
  border-color: #2DA15C !important;
  font-weight: 500 !important;
}
body .bqp-btn-search:hover {
  background: #2DA15C !important;
}

/* Count bar — softer numeric color */
body .bqp-count-bar strong {
  color: #0F5D36 !important;
  font-weight: 600 !important;
}

/* Premium Tech style mirror */
body.style-premium-tech .bqp-main-header {
  background: #059669 !important;
  color: #FFFFFF !important;
  border-bottom-color: #047857 !important;
}
body.style-premium-tech .bqp-main-header i {
  color: #FFFFFF !important;
}
body.style-premium-tech .bqp-tbl thead tr {
  background: #D1FAE5 !important;
}
body.style-premium-tech .bqp-tbl thead th {
  color: #064E3B !important;
  border-bottom-color: #A7F3D0 !important;
}
body.style-premium-tech .bqp-btn-search {
  background: #10B981 !important;
  border-color: #059669 !important;
}
body.style-premium-tech .bqp-btn-search:hover {
  background: #059669 !important;
}
body.style-premium-tech .bqp-count-bar strong {
  color: #064E3B !important;
}

/* ══════════════════════════════════════════════════════════════════════
   BLOCK 71 — proj_checkright.asp softening
   ปัญหา: cr-* baseline (proj-pages-extra.css line 175-433) ใช้ font-weight 700/800
   หลายจุด + solid bg เข้ม → ดูแน่น เป็นทางการเกินไป.
   เป้าหมาย: de-bold ทุก label → 500/400, ลด accent solid bg → soft tint,
   keep semantic colors (green/red/amber) แต่ใช้ pastel intensity.
   Scope: body.page-checkright (ใส่ bodyClass="page-checkright" ใน proj_checkright.asp).
══════════════════════════════════════════════════════════════════════ */
body.page-checkright .cr-page-title h1{
  font-weight: 500 !important;
  color: #0F5D36 !important;
}

/* — Accordion toggles: solid → softer tinted bg + de-bold — */
body.page-checkright .cr-acc-toggle{
  font-weight: 500 !important;
  font-size: 13.5px !important;
}
body.page-checkright .cr-tog-passcode{
  background: #2DA15C !important;        /* was #0F5D36 deep → mid */
}
body.page-checkright .cr-tog-passcode:hover{
  background: #0F5D36 !important;
}
body.page-checkright .cr-tog-add{
  background: #6EE7B7 !important;        /* was #39B86C brand → light */
  color: #0F5D36 !important;
}
body.page-checkright .cr-tog-add:hover{
  background: #39B86C !important;
  color: #FFFFFF !important;
}
body.page-checkright .cr-tog-revoke{
  background: #FCA5A5 !important;        /* was #C0392B coral → light */
  color: #7F1D1D !important;
}
body.page-checkright .cr-tog-revoke:hover{
  background: #C0392B !important;
  color: #FFFFFF !important;
}
body.page-checkright .cr-acc-body{
  box-shadow: 0 2px 8px rgba(15,93,54,.04) !important;
}

/* — Section headings + subtitle — */
body.page-checkright .cr-content h3{
  font-weight: 500 !important;
  font-size: 14.5px !important;
}
body.page-checkright .cr-subtitle{
  font-weight: 500 !important;
  background: #F0FAF3 !important;        /* lighter mint */
  border-left-color: #BFE5BC !important;
}

/* — Body text + links — */
body.page-checkright .cr-desc{ font-weight: 400 !important; }
body.page-checkright .cr-desc a{ font-weight: 500 !important; }

/* — Email + phone boxes (info pills) — */
body.page-checkright .cr-email-box,
body.page-checkright .cr-phone-box{
  font-weight: 500 !important;
  background: #F0FAF3 !important;        /* lighter tint */
  border-color: #BFE5BC !important;
}

/* — Important warning box: red 800 title → red 600 medium — */
body.page-checkright .cr-important{
  background: #FEF7F7 !important;        /* lighter red wash */
  border-color: #FED7D7 !important;
}
body.page-checkright .cr-important-title{
  font-weight: 600 !important;
}
body.page-checkright .cr-important-item{ font-weight: 400 !important; }
body.page-checkright .cr-important-item:before{ font-weight: 600 !important; }
body.page-checkright .cr-important-item strong{ font-weight: 600 !important; }

/* — Step numbers: 800 → 600 — */
body.page-checkright .cr-step-num{
  font-weight: 600 !important;
  background: #6EE7B7 !important;        /* lighter mint */
  color: #0F5D36 !important;
}
body.page-checkright .cr-step-text{ font-weight: 400 !important; }
body.page-checkright .cr-step-sub{ font-weight: 400 !important; }

/* — Table header: deep green solid → soft mint pastel — */
body.page-checkright .cr-table-header{
  background: #2DA15C !important;        /* was #0F5D36 deep → mid */
  font-weight: 500 !important;
}

/* — Summary cards: 800 large numbers → 600 medium — */
body.page-checkright .cr-sum-label{ font-weight: 500 !important; }
body.page-checkright .cr-sum-val{ font-weight: 600 !important; }
body.page-checkright .cr-sum-unit{ font-weight: 400 !important; }

/* — Data table — */
body.page-checkright .cr-tbl th{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
}
body.page-checkright .cr-tbl td{ font-weight: 400 !important; }
body.page-checkright .cr-td-seq{ font-weight: 600 !important; }
body.page-checkright .cr-td-name{ font-weight: 400 !important; }
body.page-checkright .cr-td-phone{ font-weight: 500 !important; }
body.page-checkright .cr-row-paid td{
  background: #FEF7F7 !important;        /* lighter red row */
}
body.page-checkright .cr-row-paid:hover td{
  background: #FECACA !important;
}

/* — Status pills + badges: 700 → 500 + lighter bg — */
body.page-checkright .cr-status-ok{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
  border-color: #BFE5BC !important;
}
body.page-checkright .cr-status-no{
  font-weight: 500 !important;
  background: #FEF7F7 !important;
  border-color: #FED7D7 !important;
}
body.page-checkright .cr-paid-badge{
  font-weight: 500 !important;
  background: #FEF7F7 !important;
  border-color: #FED7D7 !important;
}

/* — Conditions box — */
body.page-checkright .cr-cond-title{ font-weight: 500 !important; }
body.page-checkright .cr-cond-item{ font-weight: 400 !important; }
body.page-checkright .cr-cond-item:before{ font-weight: 500 !important; }
body.page-checkright .cr-cond-item strong{ font-weight: 600 !important; }
body.page-checkright .cr-cond-item .cr-highlight{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
}

/* — Action buttons — */
body.page-checkright .cr-btn-add-right{
  font-weight: 500 !important;
  background: #39B86C !important;
}
body.page-checkright .cr-btn-add-right:hover{ background: #2DA15C !important; }
body.page-checkright .cr-btn-revoke{
  font-weight: 500 !important;
  background: #E57373 !important;        /* softer red */
}
body.page-checkright .cr-btn-revoke:hover{ background: #C0392B !important; }

/* ── Premium Tech mirror ─────────────────────────────────────────── */
body.style-premium-tech.page-checkright .cr-tog-passcode{ background: #059669 !important; }
body.style-premium-tech.page-checkright .cr-tog-passcode:hover{ background: #064E3B !important; }
body.style-premium-tech.page-checkright .cr-tog-add{ background: #A7F3D0 !important; color: #064E3B !important; }
body.style-premium-tech.page-checkright .cr-tog-add:hover{ background: #10B981 !important; color: #FFFFFF !important; }
body.style-premium-tech.page-checkright .cr-subtitle{ background: #ECFDF5 !important; border-left-color: #A7F3D0 !important; }
body.style-premium-tech.page-checkright .cr-email-box,
body.style-premium-tech.page-checkright .cr-phone-box{ background: #ECFDF5 !important; border-color: #A7F3D0 !important; }
body.style-premium-tech.page-checkright .cr-step-num{ background: #A7F3D0 !important; color: #064E3B !important; }
body.style-premium-tech.page-checkright .cr-table-header{ background: #059669 !important; }
body.style-premium-tech.page-checkright .cr-tbl th{ background: #ECFDF5 !important; }
body.style-premium-tech.page-checkright .cr-status-ok{ background: #ECFDF5 !important; border-color: #A7F3D0 !important; }
body.style-premium-tech.page-checkright .cr-cond-item .cr-highlight{ background: #ECFDF5 !important; }
body.style-premium-tech.page-checkright .cr-btn-add-right{ background: #10B981 !important; }
body.style-premium-tech.page-checkright .cr-btn-add-right:hover{ background: #059669 !important; }

/* ══════════════════════════════════════════════════════════════════════
   BLOCK 72 — proj_checkaccesslogs.asp softening
   Baseline (proj-pages-extra.css line 119-166) uses .al-sec-header deep
   green solid + fw 700 + status badges fw 700 + numeric fields fw 700.
   Soften: solid #0F5D36 → mid #2DA15C, all 700/600 → 500/400, status pills
   pastel-tinted. Scope: body.page-checkaccesslogs.
══════════════════════════════════════════════════════════════════════ */
body.page-checkaccesslogs .al-page-title h1{
  font-weight: 500 !important;
}

/* — Section header deep → mid + de-bold — */
body.page-checkaccesslogs .al-sec-header{
  background: #2DA15C !important;
  font-weight: 500 !important;
}

/* — Phone summary table thead deep → mid — */
body.page-checkaccesslogs .al-ph-tbl th{
  background: #2DA15C !important;
  font-weight: 500 !important;
}
body.page-checkaccesslogs .al-ph-tbl td{ font-weight: 400 !important; }

/* — Status pills: 700 → 500 + lighter bg — */
body.page-checkaccesslogs .al-status-ok{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
  border-color: #BFE5BC !important;
}
body.page-checkaccesslogs .al-status-no{
  font-weight: 500 !important;
  background: #FEF7F7 !important;
  border-color: #FED7D7 !important;
}

/* — Table cell values — */
body.page-checkaccesslogs .al-td-phone{ font-weight: 500 !important; }
body.page-checkaccesslogs .al-td-name{ font-weight: 400 !important; }
body.page-checkaccesslogs .al-td-ip{ font-weight: 400 !important; }
body.page-checkaccesslogs .al-td-date{ font-weight: 400 !important; }

/* — Detail table thead — */
body.page-checkaccesslogs .al-dtbl th{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
}
body.page-checkaccesslogs .al-dtbl td{ font-weight: 400 !important; }

/* — Buttons + pagination — */
body.page-checkaccesslogs .al-btn-export{ font-weight: 500 !important; }
body.page-checkaccesslogs .al-pg-btn{ font-weight: 500 !important; }
body.page-checkaccesslogs .al-pg-btn.active{
  background: #2DA15C !important;
  border-color: #2DA15C !important;
}

/* ── Premium Tech mirror ─────────────────────────────────────── */
body.style-premium-tech.page-checkaccesslogs .al-sec-header,
body.style-premium-tech.page-checkaccesslogs .al-ph-tbl th{ background: #059669 !important; }
body.style-premium-tech.page-checkaccesslogs .al-dtbl th{ background: #ECFDF5 !important; }
body.style-premium-tech.page-checkaccesslogs .al-status-ok{ background: #ECFDF5 !important; border-color: #A7F3D0 !important; }
body.style-premium-tech.page-checkaccesslogs .al-pg-btn.active{ background: #059669 !important; border-color: #059669 !important; }


/* ══════════════════════════════════════════════════════════════════════
   BLOCK 73 — proj_specialreq.asp softening
   Baseline (proj-pages-main.css line 5665-5737) uses dark forest gradient
   #14321A→#2A6040 on page header + history header + fw 800 title + amber
   info banner with bright orange accents + method cards with semantic
   blue/red/green icons + thead fw 700.
   Soften: flatten dark gradient → solid mid green, de-bold all 700/800 →
   500/400, info banner softer amber, keep method-card semantic icons but
   de-bold labels.
   Scope: body.page-specialreq (bodyClass already set).
══════════════════════════════════════════════════════════════════════ */
/* — Page header: flatten dark gradient to solid mid green — */
body.page-specialreq .srq-phdr{
  background: #2DA15C !important;
  box-shadow: 0 3px 14px rgba(15,93,54,.10) !important;
}
body.page-specialreq .srq-phdr-icon{
  color: #FFD54F !important;        /* keep gold accent icon */
  background: rgba(255,255,255,.14) !important;
}
body.page-specialreq .srq-phdr-title{ font-weight: 500 !important; }
body.page-specialreq .srq-phdr-sub{ font-weight: 400 !important; }
body.page-specialreq .srq-phdr-pill{ font-weight: 400 !important; }
body.page-specialreq .srq-phdr-pill i{ color: #FFD54F !important; }

/* — Info banner: soften amber/orange — */
body.page-specialreq .srq-info-banner{
  background: #FFFBEB !important;        /* very light amber wash */
  border-color: #FCD34D !important;
  border-left-color: #F59E0B !important; /* soft amber accent */
}
body.page-specialreq .srq-info-icon{
  background: #FEF3C7 !important;
  color: #92400E !important;
}
body.page-specialreq .srq-info-title{
  font-weight: 500 !important;
  color: #92400E !important;
}
body.page-specialreq .srq-info-desc{ font-weight: 400 !important; }
body.page-specialreq .srq-how-label{
  font-weight: 500 !important;
  color: #92400E !important;
}
body.page-specialreq .srq-step{ font-weight: 400 !important; }
body.page-specialreq .srq-step-num{
  background: #FBBF24 !important;        /* solid amber — was gradient */
  font-weight: 600 !important;
}

/* — Section label + method cards — */
body.page-specialreq .srq-section-label{
  font-weight: 500 !important;
  color: #0F5D36 !important;
}
body.page-specialreq .srq-section-label i{ color: #39B86C !important; }

body.page-specialreq .srq-mc-label{ font-weight: 500 !important; color: #0F5D36 !important; }
body.page-specialreq .srq-mc-note{ font-weight: 400 !important; }
body.page-specialreq .srq-mc-val{ font-weight: 500 !important; color: #0F5D36 !important; }
body.page-specialreq .srq-mc-val a{ color: #0F5D36 !important; }
body.page-specialreq .srq-mc-hours{ font-weight: 400 !important; }
body.page-specialreq .srq-mc-btn{ font-weight: 500 !important; }

/* — History table — */
body.page-specialreq .srq-history-hdr{
  background: #2DA15C !important;
}
body.page-specialreq .srq-history-hdr-title{ font-weight: 500 !important; }
body.page-specialreq .srq-history-hdr-sub{ font-weight: 400 !important; }
body.page-specialreq .srq-history-count{
  font-weight: 500 !important;
  color: #FFD54F !important;
  background: rgba(255,213,79,.18) !important;
  border-color: rgba(255,213,79,.38) !important;
}

body.page-specialreq .srq-tbl thead th{
  font-weight: 500 !important;
  background: #F0FAF3 !important;
}
body.page-specialreq .srq-tbl tbody td{ font-weight: 400 !important; }
body.page-specialreq .srq-td-seq{ font-weight: 500 !important; }
body.page-specialreq .srq-td-no{ font-weight: 500 !important; }
body.page-specialreq .srq-td-name a{ font-weight: 500 !important; }
body.page-specialreq .srq-td-date{ font-weight: 400 !important; }
body.page-specialreq .srq-td-prov{ font-weight: 400 !important; }

/* — Empty state — */
body.page-specialreq .srq-empty-title{ font-weight: 500 !important; }
body.page-specialreq .srq-empty-desc{ font-weight: 400 !important; }

/* ── Premium Tech mirror ─────────────────────────────────────── */
body.style-premium-tech.page-specialreq .srq-phdr,
body.style-premium-tech.page-specialreq .srq-history-hdr{ background: #059669 !important; }
body.style-premium-tech.page-specialreq .srq-tbl thead th{ background: #ECFDF5 !important; }
body.style-premium-tech.page-specialreq .srq-section-label{ color: #064E3B !important; }
body.style-premium-tech.page-specialreq .srq-mc-label,
body.style-premium-tech.page-specialreq .srq-mc-val,
body.style-premium-tech.page-specialreq .srq-mc-val a{ color: #064E3B !important; }

/* ══════════════════════════════════════════════════════════════════════
   BLOCK 74 — proj_sendmobileauto.asp result icon softening
   Baseline (proj-member.css line 1943-1957) uses linear-gradient backgrounds
   on .srm-result-icon-{ok,warn,err} which look heavy on Modern Corp FLAT theme.
   Also: `--goldb` is overridden to green, so the warn gradient (FFD56B → goldb)
   becomes a yellow→green mix instead of yellow→gold.
   Fix: Flatten to solid soft tones matching Modern Corp FLAT palette.
══════════════════════════════════════════════════════════════════════ */
.srm-result-icon-ok{
  background: #6EE7B7 !important;         /* mint (emerald 300) — สบายตา */
  color: #064E3B !important;              /* deepest emerald — text */
  box-shadow: 0 4px 14px rgba(15, 93, 54, 0.18) !important;
}
.srm-result-icon-warn{
  background: #FCD34D !important;         /* amber 300 — soft warning */
  color: #78350F !important;              /* amber 900 — text */
  box-shadow: 0 4px 14px rgba(180, 83, 9, 0.18) !important;
}
.srm-result-icon-err{
  background: #FCA5A5 !important;         /* red 300 — soft error */
  color: #7F1D1D !important;              /* red 900 — text */
  box-shadow: 0 4px 14px rgba(127, 29, 29, 0.18) !important;
}
.srm-result-icon-info{
  background: #93C5FD !important;         /* blue 300 — soft info */
  color: #1E3A8A !important;              /* blue 900 — text */
  box-shadow: 0 4px 14px rgba(30, 58, 138, 0.18) !important;
}

/* ── Premium Tech mirror ──────────────────────────────────────── */
body.style-premium-tech .srm-result-icon-ok{
  background: #A7F3D0 !important;
  color: #022C22 !important;
}
body.style-premium-tech .srm-result-icon-warn{
  background: #FDE68A !important;
  color: #92400E !important;
}
body.style-premium-tech .srm-result-icon-err{
  background: #FECACA !important;
  color: #991B1B !important;
}
body.style-premium-tech .srm-result-icon-info{
  background: #BFDBFE !important;
  color: #1E40AF !important;
}


/* ────────────────────────────────────────────────────────────────
   Block 75 — Unified project-name + sale-name styling (size/weight/color)
   ────────────────────────────────────────────────────────────────
   proj_favorite is the reference. Match proj_alert + proj_forecast +
   proj_salesreport sale-name column to favorite so user sees one
   consistent appearance across listing pages.

   Rules apply BEFORE the popup font-delta JS scales every element
   by ±0..3px, so relative scaling stays preserved.
   ──────────────────────────────────────────────────────────────── */
body .fv-table tbody td.fv-td-name,
body .fv-table tbody td.fv-td-name a,
body .al-table tbody td.al-td-name,
body .al-table tbody td.al-td-name a,
body .fc-tbl td.fc-td-projname,
body .fc-tbl td.fc-td-projname a {
  font-size: 14px !important;
  font-weight: 400 !important;     /* match projmain de-bold (Block 19) */
  color: var(--mn) !important;
}

/* Visited state — match favorite's grey (only for the project-name
   link, NOT the surrounding td so code/province stay readable). */
body .fv-table tbody td.fv-td-name a:visited,
body .al-table tbody td.al-td-name a:visited,
body .fc-tbl td.fc-td-projname a:visited {
  color: #9CA3AF !important;
}

/* proj_salesreport.asp + proj_salestarget.asp sale-name td —
   both render the salesname as the first <td> of each row (no
   specific class). Match the project-name styling so the sale-name
   columns read consistent with the project-name columns site-wide.
   - .sr-tbl  : proj_salesreport (3 sections)
   - .fr-tbl  : proj_salestarget (3 sections: in-plan / no-plan / closed)
*/
body .sr-tbl tbody td:first-child,
body .fr-tbl tbody td:first-child {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--mn) !important;
}

/* proj_salesreport.asp full table — number cells + link cells unified
   to the same look as the project-name column.

   Baseline used Barlow Condensed 14px/13.5px weight 700-800 with
   ms-green/gold accents (cell-link, cell-money). Per user, match
   favorite project-name typography across the whole sr-tbl body —
   so the numeric cells read at the same size/weight/color/family
   as the sale-name column.

   Hover background on .sr-cell-link untouched (interactive cue stays).
*/
body .sr-tbl tbody td,
body .sr-tbl tbody td a,
body .sr-tbl tbody td.sr-cell-money,
body .sr-tbl tbody td.sr-cell-money a,
body .sr-tbl tbody td.sr-td-total-col,
body .sr-tbl tbody td.sr-td-total-col a,
body .sr-tbl tbody .sr-row-total td,
body .sr-tbl tbody .sr-row-total td a {
  font-family: inherit !important;     /* Prompt/Sarabun via body */
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--mn) !important;
}

/* ── Brighten icons on dark-green header banner (proj_favorite + proj_alert)
   Baseline uses var(--goldb) which theme flattens to brand green #39B86C —
   on dark green BG the icons blend. Use Modern Corp accent gold #FFD54F for
   bright contrast. Container BG also slightly brighter. ── */
body .fv-phdr-icon,
body .al-phdr-icon{
  color:#FFD54F !important;
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.32) !important;
}
body .fv-stat i,
body .al-stat i{
  color:#FFD54F !important;
}
body .fv-int-btn.active .fv-int-all-ic{
  color:#FFD54F !important;
}
