/* ============================================================
   COPHET CRM v2 — SaaS component additions (on top of base.css)
   ============================================================ */

/* ---- topbar extras ---- */
.tb-search{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:11px;padding:0 12px;height:40px;min-width:230px}
.tb-search input{background:none;border:none;color:#fff;outline:none;font-size:13px;width:100%}
.tb-search input::placeholder{color:rgba(255,255,255,.6)}
@media(max-width:980px){.tb-search{display:none}}
.tb-icon{position:relative;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;width:40px;height:40px;border-radius:11px;font-size:16px;display:flex;align-items:center;justify-content:center}
.tb-icon:hover{background:rgba(255,255,255,.26)}
.tb-icon .badge-dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;font-family:'Kanit';display:flex;align-items:center;justify-content:center;border:2px solid #1E3A66}

/* ---- user dropdown ---- */
.umenu{position:relative}
.umenu-pop{position:absolute;right:0;top:48px;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(20,40,80,.28);padding:7px;z-index:80;display:none}
.umenu.open .umenu-pop{display:block}
.umenu-pop a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:13.5px;color:var(--ink);text-decoration:none}
.umenu-pop a:hover{background:var(--sky-soft)}
.umenu-pop .mdiv{height:1px;background:var(--line);margin:5px 4px}
.umenu-head{padding:11px 12px 9px}
.umenu-head .un{font-weight:700;color:var(--heading);font-family:'Kanit'}
.umenu-head .ue{font-size:11.5px;color:var(--slate)}

/* ---- page toolbar / filter bar ---- */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.toolbar .spacer{flex:1}
.search-box{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--glass-bd);border-radius:12px;padding:0 12px;height:40px;min-width:240px;box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.search-box input{background:none;border:none;outline:none;font-size:13.5px;width:100%;color:var(--ink)}
.filter-select{height:40px;border:1px solid var(--glass-bd);border-radius:12px;padding:0 12px;background:var(--card);color:var(--ink);font-size:13px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.filter-select:focus{outline:none;border-color:var(--blue)}

/* ---- stat tiles (module mini KPIs) ---- */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:13px;margin-bottom:16px}
.stat-tile{background:var(--card);border:1px solid var(--glass-bd);border-radius:15px;padding:14px 16px;box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);position:relative;overflow:hidden}
.stat-tile .st-l{font-size:13px;color:var(--slate);font-weight:650;display:flex;align-items:center;gap:6px}
.stat-tile .st-v{font-family:'Kanit';font-weight:700;font-size:27px;color:var(--heading);margin-top:5px;line-height:1.05;letter-spacing:-.5px}
.stat-tile .st-v small{font-size:13px;color:var(--slate);font-weight:500}
.stat-tile .st-s{font-size:11.5px;color:var(--slate);margin-top:3px}
.stat-tile.accent-blue{border-left:4px solid var(--blue)}
.stat-tile.accent-green{border-left:4px solid var(--green)}
.stat-tile.accent-amber{border-left:4px solid var(--amber)}
.stat-tile.accent-rose{border-left:4px solid var(--rose)}
.stat-tile.accent-navy{border-left:4px solid var(--navy)}

/* ---- table row actions ---- */
.tcell-strong{font-weight:600;color:var(--heading)}
.row-act .act{border:1px solid var(--glass-bd);background:rgba(255,255,255,.6);width:30px;height:28px;border-radius:8px;font-size:13px;color:var(--slate);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.row-act .act:hover{background:#fff;color:var(--blue)}
.row-act .act.del:hover{background:rgba(217,72,59,.12);color:var(--rose)}
.tava{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;font-family:'Kanit';font-weight:600;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;vertical-align:middle}
.linkish{color:var(--blue);text-decoration:none}
.linkish:hover{text-decoration:underline}

/* ---- generic status badges (Thai) ---- */
.st-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;font-family:'Kanit';white-space:nowrap;display:inline-block}
.st-grey{background:rgba(120,150,190,.16);color:var(--slate)}
.st-blue{background:var(--blue-soft);color:var(--blue)}
.st-green{background:rgba(30,158,90,.13);color:var(--green)}
.st-amber{background:rgba(224,138,30,.14);color:#B9740F}
.st-rose{background:rgba(217,72,59,.12);color:var(--rose)}
.st-navy{background:rgba(22,41,75,.1);color:var(--heading)}

/* ---- pagination ---- */
.pager{display:flex;align-items:center;gap:6px;justify-content:flex-end;padding:14px 4px 0;flex-wrap:wrap}
.pager .pginfo{margin-right:auto;font-size:12.5px;color:var(--slate)}
.pager a,.pager span{min-width:34px;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--glass-bd);background:rgba(255,255,255,.6);display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink);text-decoration:none}
.pager a:hover{background:#fff;color:var(--blue)}
.pager .cur{background:var(--navy);color:#fff;border-color:var(--heading)}
.pager .disabled{opacity:.4;pointer-events:none}

/* ---- form page ---- */
.form-actions{display:flex;gap:10px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.form-actions .spacer{flex:1}
.breadcrumb{font-size:12.5px;color:var(--slate);margin-bottom:6px}
.breadcrumb a{color:var(--blue);text-decoration:none}

/* ---- pipeline (leads) ---- */
.pipe{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.pipe-col{background:var(--card);border:1px solid var(--glass-bd);border-radius:14px;padding:10px;min-width:150px}
.pipe-col h4{font-size:12.5px;font-weight:700;color:var(--heading);display:flex;justify-content:space-between;margin-bottom:8px}
.pipe-col h4 span{color:var(--slate);font-weight:600}
.pipe-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin-bottom:8px;font-size:12.5px}
.pipe-card b{display:block;color:var(--heading);font-size:13px;margin-bottom:2px}
.pipe-card .pv{color:var(--green);font-weight:600;font-family:'Kanit'}

/* ---- progress bar ---- */
.progress{height:7px;background:rgba(120,150,190,.2);border-radius:99px;overflow:hidden;min-width:80px}
.progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--blue))}

/* ---- detail / show grid ---- */
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.detail-item{padding:10px 0;border-bottom:1px solid var(--line)}
.detail-item .dl{font-size:11.5px;color:var(--slate);font-weight:600}
.detail-item .dv{font-size:14px;color:var(--ink);margin-top:2px}

/* ---- flash messages ---- */
.flash-wrap{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.flash{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:12px;font-size:13.5px;font-weight:500;border:1px solid}
.flash-success{background:#E4F4EA;border-color:#B6E2C6;color:#15703E}
.flash-error{background:#FCE9E7;border-color:#F3C5BF;color:#B0291B}
.flash-info{background:var(--sky-soft);border-color:#CFE2F6;color:#2A4E78}
.flash-warn{background:#FFF3DD;border-color:#F2D9A8;color:#8A5E10}

/* ---- misc ---- */
.muted{color:var(--slate)}
.text-r{text-align:right}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.nowrap{white-space:nowrap}
.chip{display:inline-flex;align-items:center;gap:5px;background:var(--blue-soft);color:var(--blue);font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:99px}
.page-head .grow{flex:1}
.head-actions{display:flex;gap:9px;margin-left:auto}
hr.soft{border:none;border-top:1px solid var(--line);margin:16px 0}
.kbd{font-family:'Kanit';background:rgba(120,150,190,.16);padding:1px 7px;border-radius:6px;font-size:12px}
.invoice-amt{font-family:'Kanit';font-weight:700}
.act-log-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.act-log-row:last-child{border-bottom:none}
.act-ico{width:30px;height:30px;border-radius:9px;background:var(--sky-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.act-body{flex:1;font-size:13px}
.act-body .at{color:var(--ink)} .act-body .am{color:var(--slate);font-size:11.5px;margin-top:1px}

/* ============================================================
   v3 dashboard additions (#1–#8)
   ============================================================ */

/* #1 — goal engine */
.goal-set{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px dashed var(--line)}
.goal-set .gs-field{display:flex;flex-direction:column;gap:5px}
.goal-set .gs-field label{font-size:12px;color:var(--slate);font-weight:600}
.goal-set .gs-field input{border:1px solid var(--glass-bd);border-radius:11px;padding:9px 12px;background:rgba(255,255,255,.7);font-family:'Kanit';font-weight:600;color:var(--heading);min-width:150px}
.goal-set .gs-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky-soft)}
.goal-set .gs-note{font-size:12px;color:var(--slate);margin-left:auto}
.pace-chip{font-size:11px;font-weight:700;font-family:'Kanit';padding:2px 9px;border-radius:99px;margin-left:6px}
.pace-chip.on{background:rgba(30,158,90,.14);color:var(--green)} .pace-chip.off{background:rgba(217,72,59,.12);color:var(--rose)}
.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.goal-metric{background:rgba(255,255,255,.5);border:1px solid var(--glass-bd);border-radius:14px;padding:14px 16px}
.goal-metric .gm-l{font-size:12.5px;color:var(--slate);font-weight:600}
.goal-metric .gm-v{font-family:'Kanit';font-weight:700;font-size:28px;color:var(--heading);margin-top:6px;line-height:1;letter-spacing:-.5px}
.goal-metric .gm-v small{font-size:13px;color:var(--slate);font-weight:500}
.goal-metric .gm-bar{height:8px;background:rgba(120,150,190,.2);border-radius:99px;overflow:hidden;margin:10px 0 5px}
.goal-metric .gm-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--blue))}
.goal-metric .gm-sub{font-size:12px;color:var(--slate)}
.goal-metric.gap{background:linear-gradient(135deg,rgba(255,243,220,.7),rgba(255,236,200,.6));border-color:#F2D9A8}
.goal-metric.gap .gm-v{color:#B9740F} .goal-metric.gap .gm-sub b{color:#B9740F;font-family:'Kanit'}
@media(max-width:760px){.goal-grid{grid-template-columns:1fr}}

/* #2 — average price/kg bands */
.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.price-card{position:relative;border-radius:16px;padding:15px 16px 14px;color:#fff;overflow:hidden;
  box-shadow:0 10px 26px rgba(30,70,130,.16),inset 0 1px 0 rgba(255,255,255,.35)}
.price-card .pc-period{font-size:12.5px;font-weight:600;opacity:.92}
.price-card .pc-avg{font-family:'Kanit';font-weight:700;font-size:30px;margin-top:7px;line-height:1;letter-spacing:-.5px}
.price-card .pc-avg small{font-size:12px;font-weight:500;opacity:.85;margin-left:5px;letter-spacing:0}
.price-card .pc-detail{font-size:11.5px;opacity:.9;margin-top:8px}
.price-card.band-gold{background:linear-gradient(140deg,#E7C65A,#C9A227 55%,#9A7B14)}
.price-card.band-blue{background:linear-gradient(140deg,#5B9BD5,#2F6BC4)}
.price-card.band-green{background:linear-gradient(140deg,#39B26E,#1E9E5A)}
.price-card.band-orange{background:linear-gradient(140deg,#F0A93C,#E08A1E)}
.price-card.band-red{background:linear-gradient(140deg,#E45F50,#D9483B)}
.price-card.band-none{background:linear-gradient(140deg,#9AA8BB,#6E7E92)}
.price-legend{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.price-legend .pl{font-size:11px;font-weight:600;font-family:'Kanit';padding:3px 11px;border-radius:99px;color:#fff}
.price-legend .pl.gold{background:#C9A227}.price-legend .pl.blue{background:var(--blue)}.price-legend .pl.green{background:var(--green)}.price-legend .pl.orange{background:var(--amber)}.price-legend .pl.red{background:var(--rose)}
@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.price-grid{grid-template-columns:1fr}}

/* #3 — bills granularity switch */
.bills-switch{display:flex;gap:6px;margin-left:auto}
.bills-switch .bsw{border:1px solid var(--glass-bd);background:rgba(255,255,255,.55);color:var(--slate);padding:5px 13px;border-radius:99px;font-size:12.5px;font-weight:500;text-decoration:none}
.bills-switch .bsw:hover{background:var(--sky-soft);color:var(--blue)}
.bills-switch .bsw.on{background:var(--navy);color:#fff;border-color:var(--heading)}

/* #4 — editable rep targets */
.tgt-in{width:66px;border:1px solid var(--glass-bd);border-radius:8px;padding:5px 8px;text-align:right;background:rgba(255,255,255,.8);font-family:'Kanit';font-weight:600;color:var(--heading)}
.tgt-in.wide{width:96px}
.tgt-in:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky-soft)}
.tgt-in:disabled{background:transparent;border-color:transparent;color:var(--slate)}
.mtd-prog{min-width:120px}
.mtd-prog .mp-row{display:block;height:5px;background:rgba(120,150,190,.2);border-radius:99px;overflow:hidden;margin-bottom:3px}
.mtd-prog .mp-row i{display:block;height:100%;border-radius:99px}
.mtd-prog .mp-bill{background:var(--blue)} .mtd-prog .mp-sale{background:var(--green)}
.mtd-prog small{font-size:10.5px;color:var(--slate)}

/* #5 — lost-signal stores */
.lost-days{font-family:'Kanit';font-weight:700;font-size:12px;padding:2px 10px;border-radius:99px;color:#fff;display:inline-block}
.lost-yellow{background:#E0B500} .lost-orange{background:var(--amber)} .lost-red{background:var(--rose)}
.rec-form{margin:0}
.rec-form select{border:1px solid var(--glass-bd);border-radius:8px;padding:5px 8px;background:rgba(255,255,255,.8);font-size:12px;color:var(--ink)}
.rec-form select:focus{outline:none;border-color:var(--blue)}

/* #6 — urgent-sale strip */
.urgent-strip{margin:0 18px 4px;padding:13px 16px;border-radius:14px;
  background:linear-gradient(135deg,rgba(217,72,59,.12),rgba(224,138,30,.12));border:1px solid rgba(217,72,59,.28)}
.urgent-strip .us-title{font-family:'Kanit';font-weight:700;color:#B0291B;font-size:14px;margin-bottom:9px}
.urgent-strip .us-title small{font-family:'Anuphan';font-weight:400;color:#9A6A12;font-size:11.5px;margin-left:6px}
.urgent-strip .us-items{display:flex;gap:10px;flex-wrap:wrap}
.us-chip{background:rgba(255,255,255,.78);border:1px solid rgba(217,72,59,.25);border-radius:12px;padding:9px 13px;min-width:120px}
.us-chip .uc-name{font-weight:600;color:var(--heading);font-size:13px;display:block}
.us-chip .uc-kg{font-family:'Kanit';font-weight:700;font-size:19px;color:var(--rose);display:block;line-height:1.1}
.us-chip small{font-size:10.5px;color:var(--slate)}

/* #8 — peek-store eye */
.eye-wrap{position:relative;display:inline-flex;margin-right:6px}
.eye-pop{position:absolute;right:0;bottom:130%;z-index:30;min-width:200px;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 50px rgba(20,40,80,.28);padding:11px 12px;display:none}
.eye-wrap:hover .eye-pop,.eye-wrap:focus-within .eye-pop{display:block}
.eye-pop .ep-head{font-family:'Kanit';font-weight:700;color:var(--heading);font-size:12.5px;margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.eye-pop .ep-store{display:inline-block;background:var(--sky-soft);color:#2A4E78;font-size:11.5px;padding:3px 9px;border-radius:99px;margin:0 4px 4px 0}

/* ============================================================
   #11 — visits: job cards (Liquid Glass), week nav, pie, filters
   ============================================================ */
.week-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.week-nav .wn-range{font-family:'Kanit';font-weight:600;color:var(--heading);font-size:15px}
.week-nav a.wn-btn{border:1px solid var(--glass-bd);background:rgba(255,255,255,.6);border-radius:9px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--heading);text-decoration:none}
.week-nav a.wn-btn:hover{background:#fff;color:var(--blue)}
.vstat{display:flex;gap:8px;margin-left:auto}
.vstat .vchip{font-size:12px;font-weight:600;font-family:'Kanit';padding:4px 11px;border-radius:99px}
.vstat .vchip.plan{background:rgba(217,72,59,.12);color:var(--rose)} .vstat .vchip.done{background:rgba(30,158,90,.14);color:var(--green)}

.rep-lane{margin-top:14px}
.rep-lane .lane-head{display:flex;align-items:center;gap:9px;margin:6px 2px 9px}
.rep-lane .lane-head .lh-ava{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-family:'Kanit';font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.rep-lane .lane-head .lh-name{font-family:'Kanit';font-weight:700;color:var(--heading);font-size:14.5px}
.rep-lane .lane-head .lh-count{font-size:12px;color:var(--slate)}
/* 3 cards per row; fall back for smaller screens */
.jc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:960px){.jc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.jc-grid{grid-template-columns:1fr}}

.jobcard{position:relative;display:flex;border-radius:18px;overflow:hidden;min-height:220px;
  background:linear-gradient(155deg,rgba(255,255,255,.66),rgba(255,255,255,.32));
  border:1px solid var(--glass-bd);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 30px rgba(30,70,130,.14)}
.jobcard .jc-bar{width:8px;flex-shrink:0;background:var(--jc,#9AA8BB)}
.jobcard .jc-main{flex:1;min-width:0;padding:14px 15px;display:flex;flex-direction:column;gap:7px}
.jobcard .jc-top{display:flex;align-items:center;gap:7px}
.jc-light{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.jc-light.red{background:var(--rose);box-shadow:0 0 0 3px rgba(217,72,59,.18),0 0 9px rgba(217,72,59,.75)}
.jc-light.green{background:var(--green);box-shadow:0 0 0 3px rgba(30,158,90,.18),0 0 9px rgba(30,158,90,.75)}
.jobcard .jc-date{margin-left:auto;font-size:12px;color:var(--slate);font-weight:550}
.jobcard .jc-store{font-family:'Kanit';font-weight:700;color:var(--heading);font-size:17.5px;line-height:1.22}
.jobcard .jc-store a{color:inherit;text-decoration:none}.jobcard .jc-store a:hover{color:var(--blue)}
.jobcard .jc-purpose{font-size:13.5px;color:var(--blue);font-weight:650}
.jobcard .jc-meta{font-size:13px;color:var(--slate);line-height:1.5;font-weight:500}
.jobcard .jc-note{font-size:12.5px;color:var(--ink);background:rgba(255,255,255,.55);border-radius:9px;padding:6px 9px;border:1px solid var(--line)}
.jobcard .jc-foot{margin-top:auto;display:flex;align-items:center;gap:7px;padding-top:6px}
.jobcard .jc-foot form{margin:0}
.jc-go{flex:1;border:none;border-radius:9px;padding:7px 8px;font-size:12px;font-weight:600;font-family:'Kanit';background:linear-gradient(120deg,var(--green),#3DBE77);color:#fff;cursor:pointer}
.jc-go:hover{filter:brightness(1.07)}
.jc-edit{border:1px solid var(--glass-bd);background:rgba(255,255,255,.65);width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--slate);font-size:13px}
.jc-edit:hover{color:var(--blue);background:#fff}
.jc-del{cursor:pointer}
.jc-del:hover{color:var(--rose,#D9483B);background:#fff}

/* ---- role permission matrix (settings/role_form) ---- */
.perm-full{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--sky-soft,rgba(47,107,196,.07));cursor:pointer;font-size:13.5px;color:var(--heading)}
.perm-full input{width:18px;height:18px;margin-top:1px}
.perm-full em{font-style:normal;color:var(--slate);font-size:12px}
.perm-group{margin-bottom:16px}
.perm-group:last-child{margin-bottom:0}
.perm-group-title{font-family:'Kanit',sans-serif;font-weight:700;font-size:13px;color:var(--heading);letter-spacing:.4px;border-bottom:1.5px solid var(--line);padding-bottom:6px;margin-bottom:8px}
.perm-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px 6px;border-bottom:1px dashed var(--line)}
.perm-row:last-child{border-bottom:none}
.perm-modname{flex:0 0 190px;font-weight:600;font-size:13px;color:var(--heading)}
.perm-modname code{display:block;font-size:10.5px;color:var(--slate);font-weight:400;margin-top:1px}
.perm-chk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--slate);cursor:pointer;user-select:none;white-space:nowrap}
.perm-chk input{width:15px;height:15px;cursor:pointer}
.perm-chk.perm-allchk{font-weight:700;color:var(--blue)}
@media(max-width:680px){.perm-modname{flex-basis:100%}}
.jobcard.is-done{opacity:.96}
.jobcard.is-done .jc-store::after{content:' ✓';color:var(--green)}

/* visit create form (compact, two modes) */
.mode-toggle{display:inline-flex;background:rgba(120,150,190,.14);border-radius:11px;padding:3px;gap:3px}
.mode-toggle label{padding:7px 16px;border-radius:9px;font-size:13px;font-weight:600;font-family:'Kanit';color:var(--slate);cursor:pointer}
.mode-toggle input{display:none}
.mode-toggle input:checked+span{}
.mode-toggle label.on-plan:has(input:checked){background:var(--rose);color:#fff}
.mode-toggle label.on-rec:has(input:checked){background:var(--green);color:#fff}

/* filter bar (visit search) */
.vfilter{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end}
.vfilter .vf{display:flex;flex-direction:column;gap:4px}
.vfilter .vf label{font-size:11px;color:var(--slate);font-weight:600}
.vfilter .vf input,.vfilter .vf select{border:1px solid var(--glass-bd);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.7);font-size:13px;color:var(--ink)}
.vfilter .vf input:focus,.vfilter .vf select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky-soft)}

/* ============================================================
   #11.2 / #12 — customer 360°: hero, timeline, FAQ
   ============================================================ */
.cust-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cust-hero .ch-id{display:flex;align-items:center;gap:14px}
.cust-hero .ch-ava{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-family:'Kanit';font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 20px rgba(22,41,75,.28)}
.cust-hero .ch-name{font-family:'Kanit';font-weight:700;font-size:22px;color:var(--heading);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cust-hero .ch-sub2{font-size:12.5px;color:var(--slate);margin-top:3px}
.cust-hero .ch-actions{display:flex;gap:8px;flex-wrap:wrap}

.timeline{position:relative;padding-left:6px}
.tl-item{position:relative;padding:0 0 14px 22px;border-left:2px solid var(--line);margin-left:5px}
.tl-item:last-child{border-left-color:transparent}
.tl-dot{position:absolute;left:-8px;top:3px;width:13px;height:13px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1px var(--line)}
.tl-dot.green{background:var(--green)} .tl-dot.red{background:var(--rose)}
.tl-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px}
.tl-line{font-size:13px;color:var(--ink);margin-top:3px}
.tl-sub{font-size:12px;color:var(--slate);margin-top:3px;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:8px;padding:5px 9px}

.faq-item{border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin-bottom:10px;background:rgba(255,255,255,.48)}
.faq-item:last-child{margin-bottom:0}
.faq-q{display:flex;align-items:center;gap:8px;font-size:14px}
.faq-ico{font-size:14px;flex-shrink:0}
.faq-detail{font-size:13px;color:var(--slate);margin:7px 0 0 22px;line-height:1.55}
.faq-a{display:flex;gap:8px;align-items:flex-start;margin:9px 0 0 22px;padding:9px 12px;background:rgba(30,158,90,.08);border:1px solid rgba(30,158,90,.2);border-radius:10px;font-size:13px;color:#15703E}

/* complaint card — red theme (#12) */
.complaint-card>.card-head{background:linear-gradient(120deg,rgba(217,72,59,.1),rgba(210,60,50,.06));border-bottom:1px solid rgba(217,72,59,.22)}
.complaint-card>.card-head h3{color:var(--rose)}
.complaint-card>.card-head .tag{color:rgba(180,40,30,.7);font-weight:600}
.complaint-card .faq-item{border-color:rgba(217,72,59,.22);background:rgba(255,245,245,.55)}
.complaint-card .faq-q b{color:var(--rose)}
.complaint-card .faq-q .muted{color:rgba(180,40,30,.6)}
.complaint-card .faq-detail{color:#8B3028}
.complaint-card .faq-a{background:rgba(217,72,59,.07);border-color:rgba(217,72,59,.18);color:#7A2820}

/* ============================================================
   #9 — Saturday meeting: agenda + minutes
   ============================================================ */
.agenda-list{margin:0;padding-left:4px;list-style:none;counter-reset:ag}
.agenda-list li{counter-increment:ag;position:relative;padding:9px 0 9px 38px;border-bottom:1px solid var(--line);font-size:13.5px}
.agenda-list li:last-child{border-bottom:none}
.agenda-list li::before{content:counter(ag);position:absolute;left:0;top:8px;width:26px;height:26px;border-radius:8px;background:linear-gradient(120deg,var(--blue),var(--sky));color:#fff;font-family:'Kanit';font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.agenda-list li b{color:var(--heading)}
.mt-no,.mb-no{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:6px;background:var(--navy);color:#fff;font-family:'Kanit';font-weight:700;font-size:11px;margin-right:7px}
.minutes-card .minute-block{padding:13px 0;border-bottom:1px solid var(--line)}
.minutes-card .minute-block:last-child{border-bottom:none}
.minutes-card .mb-head{font-family:'Kanit';font-weight:700;color:var(--heading);font-size:14.5px;display:flex;align-items:center}
.minutes-card .mb-body{font-size:13.5px;color:var(--ink);margin-top:7px;padding-left:28px;line-height:1.6;white-space:pre-line}
.minutes-card .mb-body.empty-min{color:var(--slate);opacity:.6}
.agenda-card .form-actions{border-top:1px solid var(--line)}

/* ============================================================
   ผู้ช่วยส่วนตัว — Personal Assistant report
   ============================================================ */
.aitem{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.aitem:last-child{border-bottom:none}
.aitem .a-sev{flex-shrink:0;margin-top:2px;font-size:11px}
.aitem .a-bd{flex:1;min-width:0}
.aitem .a-t{font-size:14.5px;font-weight:700;color:var(--heading);line-height:1.35}
.aitem .a-c{font-size:13px;color:var(--slate);margin-top:3px;line-height:1.55}
.aitem .a-f{font-size:13px;color:#15703E;margin-top:4px;line-height:1.5}
.aitem .a-go{flex-shrink:0;align-self:center;background:rgba(91,155,213,.16);color:var(--blue);font-size:12.5px;font-weight:700;font-family:'Kanit';padding:7px 14px;border-radius:10px;text-decoration:none;white-space:nowrap;transition:.15s}
.aitem .a-go:hover{background:var(--blue);color:#fff}
.int-grp-head{font-family:'Kanit';font-weight:700;font-size:13px;color:var(--slate);margin:14px 0 2px;padding-top:10px;border-top:1px dashed var(--line)}
.int-grp-head:first-child{margin-top:0;padding-top:0;border-top:none}

/* ============================================================
   CRM4 — production: forecast (จอง) vs actual (ซื้อจริง)
   ============================================================ */
.pc-cut{border:1px solid var(--line);border-radius:14px;padding:13px 15px;margin-bottom:12px;background:rgba(255,255,255,.5)}
.pc-cut:last-child{margin-bottom:0}
.pc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.pc-name{font-family:'Kanit';font-weight:700;font-size:16px;color:var(--heading)}
.pc-name small{display:block;font-family:'Anuphan';font-weight:400;font-size:11.5px;color:var(--slate)}
.pc-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pcs{font-size:12px;color:var(--slate);background:rgba(120,150,190,.12);padding:5px 11px;border-radius:99px}
.pcs b{font-family:'Kanit';font-size:14px;color:var(--heading);margin-left:2px}
.pcs.sale{background:rgba(30,158,90,.12)} .pcs.sale b{color:var(--green)}
.pc-remain{font-size:12px;font-weight:600;padding:5px 13px;border-radius:99px;font-family:'Kanit'}
.pc-remain b{font-size:16px;margin:0 2px}
.pc-remain.pc-hi{background:rgba(217,72,59,.13);color:var(--rose)}
.pc-remain.pc-mid{background:rgba(224,138,30,.15);color:#B9740F}
.pc-remain.pc-low{background:rgba(47,107,196,.12);color:var(--blue)}
.pc-remain.pc-ok{background:rgba(30,158,90,.14);color:var(--green)}
.pc-remain.pc-na{background:rgba(120,150,190,.14);color:var(--slate)}
.pc-tbl{font-size:13px}
.pc-tbl th{background:rgba(245,249,253,.6)}
.ac-hint{font-size:12.5px;color:#2A4E78;background:var(--sky-soft);border:1px solid #CFE2F6;border-radius:10px;padding:8px 12px;margin:4px 0 2px;min-height:0;line-height:1.5}
.ac-hint:empty{display:none}
.ac-hint b{font-family:'Kanit';color:var(--heading)}

/* #5 — real-time carcass bars (🟢 จอง / 🔵 ซื้อจริง), urgent numbers & pencil-edit */
.cut-trackwrap{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:5px 7px;display:flex;flex-direction:column;gap:4px;min-width:120px}
.bar2{height:11px;border-radius:6px;min-width:3px;transition:width .35s ease;display:flex;align-items:center;overflow:hidden}
.bar2 span{font-size:9.5px;color:#fff;font-weight:600;font-family:'Kanit';padding-left:6px;white-space:nowrap}
.bar2.book{background:linear-gradient(90deg,#39B26E,#1E9E5A)}
.bar2.act{background:linear-gradient(90deg,#5B9BD5,#2F6BC4)}
.cut-surplus2{width:118px;flex-shrink:0;text-align:right;font-size:10.5px;color:var(--slate);line-height:1.25}
.cut-surplus2 b{font-family:'Kanit';font-weight:700;font-size:16px;color:#16294B}
[data-theme="dark"] .cut-surplus2 b{color:#9CC4F2}
.us-chip .uc-row{display:flex;gap:6px;margin:4px 0 3px}
.us-chip .uc-tag{font-size:11px;font-weight:600;padding:1px 9px;border-radius:99px;background:rgba(120,150,190,.16);color:var(--slate)}
.us-chip .uc-tag b{font-family:'Kanit';margin-left:2px}
.us-chip .uc-tag.prod{background:rgba(30,158,90,.15);color:var(--green)}
.us-chip .uc-tag.prod b{color:var(--green)}
.us-chip .uc-result{display:block;font-family:'Kanit';font-weight:700;font-size:18px;color:#16294B;line-height:1.15}
.us-chip .uc-result small{font-size:11px;font-weight:500;color:var(--slate)}
.us-chip .uc-foot{display:block;font-size:10.5px;color:var(--slate);margin-top:2px}
[data-theme="dark"] .us-chip .uc-result{color:#9CC4F2}
.booked-cell{white-space:nowrap}
.pc-pencil{border:none;background:none;cursor:pointer;font-size:12px;opacity:.5;padding:0 3px;margin-left:4px}
.pc-pencil:hover{opacity:1}
.bk-form{align-items:center;gap:4px}
.bk-inp{width:74px;border:1px solid var(--blue);border-radius:7px;padding:4px 7px;text-align:right;font-family:'Kanit';font-weight:600;color:var(--heading);background:#fff}
.bk-inp:focus{outline:none;box-shadow:0 0 0 3px var(--sky-soft)}
.bk-ok,.bk-cancel{border:none;border-radius:7px;width:26px;height:26px;cursor:pointer;font-size:12px;font-weight:700;flex-shrink:0}
.bk-ok{background:var(--green);color:#fff}
.bk-cancel{background:rgba(120,150,190,.2);color:var(--slate)}

/* ============================================================
   type-to-search combobox (orders form: ร้าน + ชิ้นส่วน)
   ============================================================ */
.combo{position:relative}
.combo .combo-inp{width:100%}
.combo-pop{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:60;background:#fff;border:1px solid var(--glass-bd);border-radius:13px;
  box-shadow:0 18px 50px rgba(20,40,80,.28);max-height:264px;overflow-y:auto;padding:6px;display:none}
.combo-pop.open{display:block}
.combo-item{padding:8px 11px;border-radius:9px;font-size:14px;color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combo-item:hover,.combo-item.active{background:var(--sky-soft);color:var(--blue);font-weight:600}
.combo-empty{padding:9px 11px;font-size:12.5px;color:var(--slate)}

/* ============================================================
   #2 DARK MODE — overrides for elements with baked-in white/near-white
   surfaces (cards & most text already flip via CSS variables)
   ============================================================ */
[data-theme="dark"] .umenu-pop,
[data-theme="dark"] .combo-pop,
[data-theme="dark"] .eye-pop{background:#15233A;border-color:var(--glass-bd);box-shadow:0 18px 50px rgba(0,0,0,.55)}
[data-theme="dark"] .pipe-card{background:rgba(40,56,84,.5);border-color:var(--line)}
[data-theme="dark"] .jobcard{background:linear-gradient(155deg,rgba(44,60,90,.6),rgba(26,40,64,.4))}
[data-theme="dark"] .jobcard .jc-note{background:rgba(20,32,52,.5);border-color:var(--line)}
[data-theme="dark"] .goal-metric,
[data-theme="dark"] .faq-item,
[data-theme="dark"] .pc-cut,
[data-theme="dark"] .tl-sub{background:rgba(40,56,84,.42);border-color:var(--line)}
[data-theme="dark"] .pcs{background:rgba(60,80,116,.3)}
[data-theme="dark"] .pc-tbl th,
[data-theme="dark"] table thead th{background:rgba(40,56,84,.55)}
[data-theme="dark"] .pager a,[data-theme="dark"] .pager span,
[data-theme="dark"] .row-act .act,
[data-theme="dark"] .week-nav a.wn-btn{background:rgba(40,56,84,.5);border-color:var(--glass-bd)}
[data-theme="dark"] .pager a:hover,
[data-theme="dark"] .row-act .act:hover,
[data-theme="dark"] .week-nav a.wn-btn:hover{background:rgba(62,84,120,.7);color:var(--sky-2)}
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select,
[data-theme="dark"] input[type="date"],[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="tel"],[data-theme="dark"] input[type="password"],
[data-theme="dark"] .rg-custom input,[data-theme="dark"] .combo-inp,
[data-theme="dark"] .tgt-in,
[data-theme="dark"] .goal-set .gs-field input,
[data-theme="dark"] .vfilter .vf input,[data-theme="dark"] .vfilter .vf select,
[data-theme="dark"] .rec-form select{background:rgba(16,28,48,.6);color:var(--ink);border-color:var(--glass-bd)}
[data-theme="dark"] .bills-switch .bsw,
[data-theme="dark"] .rg-pill{background:rgba(40,56,84,.5)}
[data-theme="dark"] .urgent-strip .us-chip{background:rgba(44,60,90,.7)}
[data-theme="dark"] .card::after{opacity:.4}
[data-theme="dark"] body::before{opacity:.6}

/* ============================================================
   COOL MODE — โทนฟ้า-ลาเวนเดอร์พาสเทล (ธีมสว่าง) ส่วนใหญ่ใช้ตัวแปร
   จาก base.css ค่า light เดิมใช้ได้ — เพิ่มเฉพาะจุดที่ทำให้ "ใช่" ตามภาพ
   ============================================================ */
/* ปุ่มธีมที่ active (ใช้ร่วม 🌙/❄️) — topbar พื้นเข้ม ไฮไลต์ด้วยพื้นสว่างขึ้น */
.tb-icon.on{background:rgba(255,255,255,.34);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
/* sidebar โค้งมนลอยตามคอนเซปต์ภาพ */
[data-theme="cool"] .sidebar{border-radius:0 22px 22px 0}
/* การ์ดสถิติโทนพาสเทล (echo การ์ดสีในภาพ: ฟ้า/ลาเวนเดอร์/มินต์/ครีม/ชมพู) */
[data-theme="cool"] .stat-tile{background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(247,249,255,.78))}
[data-theme="cool"] .stat-tile.accent-blue{background:linear-gradient(160deg,#EAF1FE,#F2F6FE)}
[data-theme="cool"] .stat-tile.accent-navy{background:linear-gradient(160deg,#ECEEFB,#F4F5FD)}
[data-theme="cool"] .stat-tile.accent-green{background:linear-gradient(160deg,#E9F5EE,#F2FAF5)}
[data-theme="cool"] .stat-tile.accent-amber{background:linear-gradient(160deg,#FBF5E7,#FCF9F0)}
[data-theme="cool"] .stat-tile.accent-rose{background:linear-gradient(160deg,#FBECEF,#FDF4F6)}
/* popups โทนขาวเย็นสะอาด (ค่า light เดิมก็ขาวอยู่แล้ว แต่ปรับ border ให้เข้าโทน) */
[data-theme="cool"] .umenu-pop,[data-theme="cool"] .combo-pop,[data-theme="cool"] .eye-pop{border-color:var(--glass-bd)}
/* แถบบนสุด + ปุ่มเมนูที่เลือกอยู่ — โทนดำ/เทาเข้ม เข้าชุดกับ sidebar สีเข้มของธีมนี้ */
[data-theme="cool"] .topbar{background:linear-gradient(120deg,rgba(18,19,23,.88),rgba(36,38,44,.80));border-bottom-color:rgba(255,255,255,.10);box-shadow:0 6px 26px rgba(0,0,0,.28)}
[data-theme="cool"] .nav-item.active{background:linear-gradient(120deg,rgba(72,76,86,.95),rgba(96,101,112,.90));box-shadow:0 10px 22px rgba(0,0,0,.30),0 1px 0 rgba(255,255,255,.12) inset}

/* ---- โหมดชมพูพาสเทล-ขาว (คู่กับ Cool) ---- */
[data-theme="pink"] .sidebar{border-radius:0 22px 22px 0}
[data-theme="pink"] .stat-tile{background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(253,246,250,.78))}
[data-theme="pink"] .stat-tile.accent-blue{background:linear-gradient(160deg,#F3EDFB,#F9F4FD)}
[data-theme="pink"] .stat-tile.accent-navy{background:linear-gradient(160deg,#F6ECF3,#FBF4F8)}
[data-theme="pink"] .stat-tile.accent-green{background:linear-gradient(160deg,#EBF6EF,#F4FBF6)}
[data-theme="pink"] .stat-tile.accent-amber{background:linear-gradient(160deg,#FCF3E9,#FDF9F1)}
[data-theme="pink"] .stat-tile.accent-rose{background:linear-gradient(160deg,#FCE6EE,#FEF2F6)}
[data-theme="pink"] .umenu-pop,[data-theme="pink"] .combo-pop,[data-theme="pink"] .eye-pop{border-color:var(--glass-bd)}
/* sidebar พื้นสว่าง (พาสเทลชมพู) — แก้ป้ายแจ้งเตือนสีแดงที่ออกแบบมาสำหรับพื้นเข้ม ให้ตัวหนังสือเข้มพออ่านออกบนพื้นสว่าง */
[data-theme="pink"] .nav-item .ni-count.alert{background:rgba(217,72,59,.18);color:#8A1F16;box-shadow:0 0 0 1px rgba(217,72,59,.3) inset}
/* แถบบนสุด + ปุ่มเมนูที่เลือกอยู่ — ปรับให้เป็นโทนชมพู/กุหลาบแทนน้ำเงินเดิม */
[data-theme="pink"] .topbar{background:linear-gradient(120deg,rgba(140,32,84,.82),rgba(214,90,146,.74));border-bottom-color:rgba(255,255,255,.24);box-shadow:0 6px 26px rgba(150,40,95,.24)}
[data-theme="pink"] .nav-item.active{background:linear-gradient(120deg,rgba(196,52,120,.96),rgba(224,110,164,.92));box-shadow:0 10px 22px rgba(196,52,120,.32),0 1px 0 rgba(255,255,255,.3) inset}

/* ---- production forecast: ปุ่มซ่อน/แสดงร้านค้า (รายชิ้นส่วน + ทั้งหมด) ---- */
.pc-toggle{border:1px solid var(--glass-bd);background:rgba(255,255,255,.55);width:26px;height:26px;border-radius:8px;cursor:pointer;color:var(--slate);font-size:11px;line-height:1;flex-shrink:0;transition:.15s}
.pc-toggle:hover{background:#fff;color:var(--blue)}
.pc-cut.collapsed .table-wrap,.pc-cut.collapsed .pc-empty{display:none}
.pc-cut.collapsed .pc-head{margin-bottom:0}
.fc-allbar{display:flex;justify-content:flex-end;margin-bottom:10px}
#fcToggleAll{border:1px solid var(--glass-bd);background:rgba(255,255,255,.6);padding:6px 13px;border-radius:10px;font-size:12.5px;font-weight:600;font-family:'Kanit';color:var(--heading);cursor:pointer;transition:.15s}
#fcToggleAll:hover{background:#fff;color:var(--blue)}
[data-theme="dark"] .pc-toggle,[data-theme="dark"] #fcToggleAll{background:rgba(40,56,84,.5)}
[data-theme="dark"] .pc-toggle:hover,[data-theme="dark"] #fcToggleAll:hover{background:rgba(62,84,120,.7);color:var(--sky-2)}

/* ============================================================
   Q&A / สอนใช้งาน — ธีมครู-นักเรียน (ใช้ตัวแปรธีม รองรับ 3 โหมด)
   ============================================================ */
.qa-hero{display:flex;align-items:center;gap:20px;padding:20px 24px;overflow:hidden;
  background:linear-gradient(120deg,rgba(47,107,196,.14),rgba(91,155,213,.10) 55%,rgba(30,158,90,.10))}
.qa-hero-txt{flex:1;min-width:0}
.qa-hero-badge{display:inline-block;background:linear-gradient(120deg,var(--blue),var(--sky));color:#fff;font-family:'Kanit';font-weight:600;font-size:12px;padding:4px 12px;border-radius:99px;margin-bottom:9px}
.qa-hero-txt h2{font-family:'Kanit';font-weight:700;font-size:22px;color:var(--heading);line-height:1.25}
.qa-hero-txt p{font-size:13.5px;color:var(--slate);margin-top:6px;line-height:1.6}
.qa-hero-art{flex-shrink:0;width:240px;max-width:42%}
.qa-hero-art svg{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(20,40,80,.16))}

.qa-search{position:relative;display:flex;align-items:center;gap:10px;margin:16px 0 6px;
  background:var(--glass-2);border:1.5px solid var(--glass-bd);border-radius:14px;padding:11px 15px;box-shadow:var(--shadow)}
.qa-search-ico{font-size:16px}
.qa-search input{flex:1;border:none;background:none;outline:none;font-size:15px;color:var(--ink)}
.qa-search-count{font-family:'Kanit';font-weight:600;font-size:12px;color:var(--blue);background:var(--sky-soft);padding:3px 11px;border-radius:99px;white-space:nowrap}
.qa-noresult{text-align:center;color:var(--slate);font-size:14px;padding:26px 12px}

.qa-cat{margin-top:18px}
.qa-cat-head{display:flex;align-items:center;gap:9px;font-family:'Kanit';font-weight:700;font-size:15px;color:var(--heading);margin-bottom:9px}
.qa-cat-ico{font-size:18px}

.qa-item{background:var(--card-grad);border:1px solid var(--glass-bd);border-radius:14px;margin-bottom:9px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.qa-item.open{border-color:var(--blue);box-shadow:var(--shadow)}
.qa-q{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:none;border:none;padding:13px 15px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--heading);font-family:'Anuphan',sans-serif}
.qa-q-ico{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;font-family:'Kanit';font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.qa-q-txt{flex:1}
.qa-q-arrow{color:var(--slate);font-size:13px;transition:transform .2s}
.qa-item.open .qa-q-arrow{transform:rotate(180deg);color:var(--blue)}
.qa-a{display:none;align-items:flex-start;gap:11px;padding:0 15px 14px 15px}
.qa-item.open .qa-a{display:flex}
.qa-a-ico{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--green),#3DBE77);color:#fff;font-family:'Kanit';font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.qa-a-txt{flex:1;font-size:13.5px;color:var(--slate);line-height:1.7;padding-top:3px}
@media(max-width:680px){.qa-hero{flex-direction:column-reverse;text-align:center}.qa-hero-art{width:180px;max-width:70%}}
