/* 金流管理（/admin/payment_ways）專屬樣式。命名空間 .pw，不影響其他後台頁。 */
.pw { --pw-ink: #1c2233; --pw-muted: #6b7280; --pw-line: #e6e8ef; --pw-soft: #f6f7fb; --pw-card: #fff;
  --pw-accent: var(--primary, #727cf5); --pw-accent-dark: var(--primary-dark, #5a63d8); --pw-accent-50: #f1f2fe;
  --pw-ecpay: #00a650; --pw-ecpay-50: #e9f8ef; --pw-radius: 16px; color: var(--pw-ink); }

/* 頁首 */
.pw-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 20px 0 18px; }
.pw-head__eyebrow { font-size: 11px; letter-spacing: .18em; color: var(--pw-muted); text-transform: uppercase; }
.pw-head__title { font-size: 24px; font-weight: 700; margin: 2px 0 0; letter-spacing: -.01em; }
.pw-head__sub { color: var(--pw-muted); margin: 4px 0 0; font-size: 13.5px; }
.pw-head__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pw .btn { border-radius: 10px; }
.pw .btn-light { background: #fff; border: 1px solid var(--pw-line); color: var(--pw-ink); font-weight: 600; }
.pw .btn-light:hover { background: var(--pw-soft); border-color: #c9ccd8; }
.pw .btn-outline-danger { border-color: #f3c4c4; color: #dc2626; }
.pw .btn-outline-danger:hover { background: #fef2f2; border-color: #dc2626; color: #b91c1c; }
.pw .btn-primary { background: var(--pw-accent); border-color: var(--pw-accent); }
.pw .btn-primary:hover { background: var(--pw-accent-dark); border-color: var(--pw-accent-dark); }
.pw .pw-btn-ecpay { background: var(--pw-ecpay); border-color: var(--pw-ecpay); color: #fff; font-weight: 600; }
.pw .pw-btn-ecpay:hover, .pw .pw-btn-ecpay:focus { background: #008f45; border-color: #008f45; color: #fff; }

/* 國家頁籤 */
.pw-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 18px; padding: 4px; background: #eceef3; border-radius: 12px; width: fit-content; max-width: 100%; }
.pw-tabs__item { padding: 7px 14px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: var(--pw-muted); text-decoration: none; }
.pw-tabs__item:hover { color: var(--pw-ink); text-decoration: none; }
.pw-tabs__item.is-active { background: #fff; color: var(--pw-accent-dark); box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
.pw-tabs__count { margin-left: 4px; font-weight: 500; opacity: .7; }

/* 摘要 */
.pw-summary { display: flex; gap: 10px 22px; flex-wrap: wrap; font-size: 13px; color: var(--pw-muted); margin-bottom: 14px; }
.pw-summary strong { color: var(--pw-ink); font-size: 15px; margin-right: 2px; }

/* 付款方法卡片 */
.pw-list { display: grid; gap: 12px; }
.pw-card { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; background: var(--pw-card);
  border: 1px solid var(--pw-line); border-radius: var(--pw-radius); padding: 16px 18px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  transition: box-shadow .15s, border-color .15s; }
.pw-card:hover { border-color: #d5d8e3; box-shadow: 0 4px 14px rgba(16, 24, 40, .06); }
.pw-card.is-disabled { background: #fafbfc; }
.pw-card.is-disabled .pw-card__title, .pw-card.is-disabled .pw-logo { opacity: .55; }
.pw-card__seq { font-size: 11px; color: var(--pw-muted); text-align: center; margin-top: 4px; }
.pw-card__main { min-width: 0; }
.pw-card__title a { text-decoration: none; }
.pw-card__title a:hover { color: var(--pw-accent-dark) !important; }
.pw-card__title { font-size: 15.5px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pw-card__desc { color: var(--pw-muted); font-size: 13px; margin: 3px 0 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60ch; }
.pw-card__meta { display: flex; gap: 6px; flex-wrap: wrap; }
.pw-card__side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.pw-card__actions { display: flex; gap: 6px; }
@media (max-width: 767px) {
  .pw-card { grid-template-columns: auto 1fr; }
  .pw-card__side { grid-column: 1 / -1; align-items: stretch; }
  .pw-card__actions { justify-content: flex-end; }
  .pw-card__desc { white-space: normal; }
}

/* 金流標誌 */
.pw-logo { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; background: var(--pw-soft); color: var(--pw-muted); flex-shrink: 0; }
.pw-logo--ecpay { background: var(--pw-ecpay-50); color: var(--pw-ecpay); }
.pw-logo--newebpay { background: #eef4ff; color: #2459d6; }
.pw-logo--taishin { background: #fff1f0; color: #d4380d; }
.pw-logo--paypal { background: #eef6ff; color: #003087; }
.pw-logo--stripe { background: #f1f0ff; color: #635bff; }
.pw-logo--offline { background: #fff8e6; color: #b45309; }

/* 標籤 */
.pw-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; background: var(--pw-soft); color: #4b5563; white-space: nowrap; }
.pw-tag i { font-size: 13px; }
.pw-tag--gateway { background: var(--pw-accent-50); color: var(--pw-accent-dark); }
.pw-tag--ecpay { background: var(--pw-ecpay-50); color: #067a3c; }
.pw-tag--warn { background: #fff7e6; color: #b45309; }
.pw-tag--live { background: #ecfdf3; color: #067647; }
.pw-tag--off { background: #eceef3; color: #6b7280; }

/* 快速開關 */
.pw-toggles { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pw-toggle { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--pw-line); background: #fff; border-radius: 999px; padding: 4px 11px 4px 5px; font-size: 12.5px; font-weight: 600; color: var(--pw-muted); cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.pw-toggle:hover { border-color: #c9ccd8; color: var(--pw-ink); }
.pw-toggle__dot { width: 26px; height: 16px; border-radius: 999px; background: #d4d7e0; position: relative; transition: background .15s; }
.pw-toggle__dot::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: left .15s; }
.pw-toggle.is-on { color: var(--pw-ink); }
.pw-toggle.is-on .pw-toggle__dot { background: #22c55e; }
.pw-toggle.is-on .pw-toggle__dot::after { left: 12px; }

/* 空狀態 */
.pw-empty { text-align: center; padding: 48px 20px; background: #fff; border: 1px dashed #d5d8e3; border-radius: var(--pw-radius); color: var(--pw-muted); }
.pw-empty i { font-size: 40px; color: #c3c7d4; }
.pw-empty h5 { color: var(--pw-ink); margin: 10px 0 4px; font-weight: 700; }

/* ---------- 表單 ---------- */
.pw-form { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
@media (max-width: 1199px) { .pw-form { grid-template-columns: minmax(0, 1fr); } .pw-aside { position: static !important; } }
.pw-section { background: #fff; border: 1px solid var(--pw-line); border-radius: var(--pw-radius); padding: 22px 24px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.pw-section__title { font-size: 15px; font-weight: 700; margin: 0 0 2px; display: flex; align-items: center; gap: 8px; }
.pw-section__title i { color: var(--pw-accent-dark); font-size: 18px; }
.pw-section__hint { color: var(--pw-muted); font-size: 12.5px; margin: 0 0 16px; line-height: 1.6; }
.pw-field { margin-bottom: 16px; }
.pw-field:last-child { margin-bottom: 0; }
.pw-field > label, .pw-label { font-weight: 600; font-size: 13.5px; margin-bottom: 6px; display: block; }
.pw-field__help { font-size: 12px; color: var(--pw-muted); margin-top: 5px; line-height: 1.55; }
.pw-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.pw-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 16px; }
@media (max-width: 767px) { .pw-grid-2, .pw-grid-3 { grid-template-columns: 1fr; } .pw-section { padding: 18px 16px; } }

/* 選擇卡（金流服務／收款方式） */
.pw-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.pw-choice { position: relative; margin: 0; cursor: pointer; }
.pw-choice input { position: absolute; opacity: 0; pointer-events: none; }
.pw-choice__box { display: flex; gap: 10px; align-items: flex-start; height: 100%; border: 1.5px solid var(--pw-line); border-radius: 12px; padding: 12px 13px; background: #fff; transition: border-color .15s, box-shadow .15s, background .15s; }
.pw-choice__box i { font-size: 20px; color: var(--pw-muted); line-height: 1.1; }
.pw-choice__name { font-weight: 700; font-size: 13.5px; display: block; }
.pw-choice__desc { font-size: 11.5px; color: var(--pw-muted); display: block; margin-top: 2px; line-height: 1.45; }
.pw-choice:hover .pw-choice__box { border-color: #c9ccd8; }
.pw-choice input:checked + .pw-choice__box { border-color: var(--pw-accent); background: var(--pw-accent-50); box-shadow: 0 0 0 3px rgba(114, 124, 245, .14); }
.pw-choice input:checked + .pw-choice__box i { color: var(--pw-accent-dark); }
.pw-choice--ecpay input:checked + .pw-choice__box { border-color: var(--pw-ecpay); background: var(--pw-ecpay-50); box-shadow: 0 0 0 3px rgba(0, 166, 80, .14); }
.pw-choice--ecpay input:checked + .pw-choice__box i { color: var(--pw-ecpay); }
.pw-choice input:focus-visible + .pw-choice__box { outline: 2px solid var(--pw-accent); outline-offset: 2px; }

/* 環境切換 */
.pw-env { display: inline-flex; padding: 4px; background: #eceef3; border-radius: 11px; gap: 4px; }
.pw-env label { margin: 0; cursor: pointer; }
.pw-env input { position: absolute; opacity: 0; pointer-events: none; }
.pw-env span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 8px; font-weight: 600; font-size: 13px; color: var(--pw-muted); }
.pw-env input:checked + span { background: #fff; color: var(--pw-ink); box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
.pw-env input[value="1"]:checked + span { color: #067647; }
.pw-env input[value="0"]:checked + span { color: #b45309; }

/* 密鑰欄 */
.pw-secret { position: relative; }
.pw .pw-secret .form-control { padding-right: 44px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.pw-secret__eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--pw-muted); padding: 4px 8px; font-size: 18px; }
.pw-secret__eye:hover { color: var(--pw-ink); }
.pw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.pw-saved { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #067647; font-weight: 600; }

/* 提示 */
.pw-notice { display: flex; gap: 11px; align-items: flex-start; border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 1.6; border: 1px solid transparent; margin-bottom: 16px; }
.pw-notice i { font-size: 18px; margin-top: 1px; }
.pw-notice--info { background: #eff6ff; border-color: #bfdbfe; color: #1e3a8a; }
.pw-notice--warning { background: #fffbeb; border-color: #fde68a; color: #78350f; }
.pw-notice--danger { background: #fef2f2; border-color: #fecaca; color: #7f1d1d; }
.pw-notice ul { margin: 4px 0 0; padding-left: 18px; }

/* 開關列 */
.pw-switch { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 0; border-top: 1px solid var(--pw-line); }
.pw-switch:first-of-type { border-top: 0; padding-top: 0; }
.pw-switch__label { font-weight: 600; font-size: 13.5px; }
.pw-switch__desc { font-size: 12px; color: var(--pw-muted); margin-top: 2px; }
.pw .pw-switch .form-check-input { width: 2.6em; height: 1.4em; cursor: pointer; margin: 0; }
.pw .pw-switch .form-check { margin: 0; padding: 0; }

/* 右側預覽與儲存 */
.pw-aside { position: sticky; top: 86px; }
.pw-preview { border: 1px solid var(--pw-line); border-radius: 12px; padding: 14px; background: var(--pw-soft); }
.pw-preview__label { font-size: 11px; letter-spacing: .14em; color: var(--pw-muted); text-transform: uppercase; margin-bottom: 8px; }
.pw-preview__option { display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1.5px solid var(--pw-accent); border-radius: 10px; padding: 11px 12px; }
.pw-preview__radio { width: 16px; height: 16px; border-radius: 50%; border: 5px solid var(--pw-accent); margin-top: 2px; flex-shrink: 0; }
.pw-preview__title { font-weight: 700; font-size: 14px; }
.pw-preview__desc { font-size: 12px; color: var(--pw-muted); margin-top: 2px; }
.pw-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.pw-actions .btn { font-weight: 600; }
.pw-advanced summary { cursor: pointer; font-weight: 600; font-size: 13.5px; color: var(--pw-accent-dark); list-style: none; }
.pw-advanced summary::-webkit-details-marker { display: none; }
.pw-advanced summary i { transition: transform .15s; display: inline-block; }
.pw-advanced[open] summary i { transform: rotate(90deg); }
.pw-advanced__body { margin-top: 14px; }
.pw [hidden] { display: none !important; }
.pw .form-check-label { font-size: 13.5px; }

/* ======================================================================
   付款方式目錄／行動支付品牌／總覽（2026-09 改版）
   ====================================================================== */
.pw { --pw-newebpay: #2459d6; --pw-newebpay-50: #eef3ff; --pw-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
  --pw-shadow-md: 0 8px 24px -8px rgba(16, 24, 40, .14); }

/* 步驟 */
.pw-steps { display: flex; gap: 8px; list-style: none; padding: 0; margin: -4px 0 22px; flex-wrap: wrap; counter-reset: none; }
.pw-steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--pw-muted);
  padding: 6px 14px 6px 6px; border-radius: 999px; background: #fff; border: 1px solid var(--pw-line); }
.pw-steps li span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #eceef3; font-size: 12px; }
.pw-steps li.is-current { color: var(--pw-ink); border-color: var(--pw-accent); }
.pw-steps li.is-current span { background: var(--pw-accent); color: #fff; }

/* 目錄 */
.pw-picker { display: grid; gap: 26px; margin-bottom: 40px; }
.pw-picker__head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.pw-picker__head > i { font-size: 20px; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
  background: var(--pw-accent-50); color: var(--pw-accent-dark); flex-shrink: 0; }
.pw-picker__head h2 { font-size: 16px; font-weight: 700; margin: 0; }
.pw-picker__head p { font-size: 12.5px; color: var(--pw-muted); margin: 2px 0 0; }
.pw-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 12px; }
.pw-tile { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--pw-line); border-radius: 14px;
  padding: 16px; box-shadow: var(--pw-shadow-sm); transition: box-shadow .18s, transform .18s, border-color .18s; }
.pw-tile:hover { box-shadow: var(--pw-shadow-md); transform: translateY(-1px); border-color: #d5d8e3; }
.pw-tile.is-planned { background: #fafbfc; box-shadow: none; }
.pw-tile.is-planned:hover { transform: none; box-shadow: none; }
.pw-tile.is-planned .pw-tile__icon, .pw-tile.is-planned .pw-tile__name { opacity: .55; }
.pw-tile__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 6px; }
.pw-tile__icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 22px;
  background: var(--pw-soft); color: var(--pw-ink); }
.pw-tile__name { font-weight: 700; font-size: 14.5px; }
.pw-tile__desc { font-size: 12.5px; color: var(--pw-muted); line-height: 1.5; }
.pw-tile__note { font-size: 11.5px; color: #92400e; display: flex; gap: 4px; align-items: flex-start; line-height: 1.45; margin-top: 2px; }
.pw-tile__note i { font-size: 13px; }
.pw-tile__via { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 12px; }
.pw-via { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 700; padding: 6px 11px; border-radius: 9px;
  border: 1px solid var(--pw-line); color: var(--pw-ink); text-decoration: none; background: #fff; transition: background .15s, border-color .15s, color .15s; }
.pw-via i { font-size: 14px; transition: transform .15s; }
.pw-via:hover { text-decoration: none; border-color: var(--pw-accent); color: var(--pw-accent-dark); background: var(--pw-accent-50); }
.pw-via:hover i { transform: translateX(2px); }
.pw-via--ecpay:hover { border-color: var(--pw-ecpay); color: #067a3c; background: var(--pw-ecpay-50); }
.pw-via--newebpay:hover { border-color: var(--pw-newebpay); color: var(--pw-newebpay); background: var(--pw-newebpay-50); }
.pw-via.is-disabled { color: #9ca3af; background: #f3f4f6; border-color: transparent; }
.pw-providers { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.pw-provider { display: flex; gap: 12px; align-items: center; padding: 13px 14px; border-radius: 13px; background: #fff; border: 1px solid var(--pw-line);
  color: var(--pw-ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.pw-provider:hover { text-decoration: none; color: var(--pw-ink); border-color: #c9ccd8; box-shadow: var(--pw-shadow-md); }
.pw-provider .pw-logo { width: 40px; height: 40px; font-size: 20px; }
.pw-provider__name { display: block; font-weight: 700; font-size: 13.5px; }
.pw-provider__desc { display: block; font-size: 12px; color: var(--pw-muted); margin-top: 1px; }
.pw-logo--newebpay { background: var(--pw-newebpay-50); color: var(--pw-newebpay); }
.pw-logo--custom { background: #f3f4f6; color: #4b5563; }

/* 付款方式品牌徽章（文字＋圖示，不使用官方商標圖檔） */
.pw-brand { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 8px; font-size: 12.5px; font-weight: 700;
  line-height: 1.3; background: var(--pw-soft); color: var(--pw-ink); border: 1px solid transparent; white-space: nowrap; letter-spacing: .01em; }
.pw-brand i { font-size: 15px; line-height: 1; }
.pw-brand--sm { padding: 2px 8px; font-size: 11.5px; border-radius: 7px; }
.pw-brand--sm i { font-size: 13px; }
.pw-brand--apple_pay { background: #111; color: #fff; }
.pw-brand--google_pay { background: #fff; color: #3c4043; border-color: #dadce0; }
.pw-brand--google_pay i { color: #4285f4; }
.pw-brand--line_pay { background: #06c755; color: #fff; }
.pw-brand--samsung_pay { background: #1428a0; color: #fff; }
.pw-brand--taiwan_pay { background: #fff1f0; color: #c8102e; border-color: #ffd6d2; }
.pw-brand--esun_wallet { background: #e8f7f3; color: #00796b; }
.pw-brand--jko_pay { background: #fff0f3; color: #d6004c; }
.pw-brand--credit, .pw-brand--installment, .pw-brand--union_pay { background: var(--pw-accent-50); color: var(--pw-accent-dark); }
.pw-brand--atm, .pw-brand--web_atm, .pw-brand--cvs, .pw-brand--barcode { background: #fff8eb; color: #9a5b00; }
.pw-brand--cod, .pw-brand--bank_transfer, .pw-brand--store_pay { background: #f3f4f6; color: #374151; }
.pw-brand--paypal { background: #eef6ff; color: #003087; }
.pw-brand-icon--apple_pay { background: #111 !important; color: #fff !important; }
.pw-brand-icon--google_pay { background: #fff !important; color: #4285f4 !important; box-shadow: inset 0 0 0 1px #dadce0; }
.pw-brand-icon--line_pay { background: #06c755 !important; color: #fff !important; }
.pw-brand-icon--samsung_pay { background: #1428a0 !important; color: #fff !important; }
.pw-brand-icon--taiwan_pay { background: #fff1f0 !important; color: #c8102e !important; }
.pw-brand-icon--esun_wallet { background: #e8f7f3 !important; color: #00796b !important; }
.pw-brand-icon--jko_pay { background: #fff0f3 !important; color: #d6004c !important; }
.pw-brand-icon--credit, .pw-brand-icon--installment, .pw-brand-icon--union_pay { background: var(--pw-accent-50) !important; color: var(--pw-accent-dark) !important; }
.pw-brand-icon--atm, .pw-brand-icon--web_atm, .pw-brand-icon--cvs, .pw-brand-icon--barcode { background: #fff8eb !important; color: #b45309 !important; }
.pw-brand-icon--paypal { background: #eef6ff !important; color: #003087 !important; }

/* 顧客目前可用的付款方式 */
.pw-coverage { background: linear-gradient(180deg, #fff 0%, #fbfbfe 100%); border: 1px solid var(--pw-line); border-radius: var(--pw-radius);
  padding: 18px 20px; margin-bottom: 22px; box-shadow: var(--pw-shadow-sm); }
.pw-coverage__head h2 { font-size: 15px; font-weight: 700; margin: 0; }
.pw-coverage__head p { font-size: 12.5px; color: var(--pw-muted); margin: 3px 0 14px; }
.pw-coverage__head strong { color: var(--pw-ink); }
.pw-coverage__groups { display: grid; gap: 10px; }
.pw-coverage__group { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: start; }
.pw-coverage__label { font-size: 12.5px; font-weight: 700; color: var(--pw-muted); display: flex; gap: 6px; align-items: center; padding-top: 5px; }
.pw-coverage__label i { font-size: 15px; }
.pw-coverage__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.pw-cov { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px 4px 8px; border-radius: 999px; font-size: 12.5px; font-weight: 600;
  border: 1px dashed #cfd3de; color: #6b7280; background: #fff; text-decoration: none; transition: border-color .15s, color .15s, background .15s; }
.pw-cov i { font-size: 14px; }
a.pw-cov:hover { text-decoration: none; border-color: var(--pw-accent); color: var(--pw-accent-dark); background: var(--pw-accent-50); }
.pw-cov.is-on { border: 1px solid #b7ebc9; background: #ecfdf3; color: #067647; }
.pw-cov.is-on:hover { border-color: #22c55e; color: #067647; background: #dcfae6; }
.pw-cov.is-planned { border-style: solid; border-color: transparent; background: #f3f4f6; color: #9ca3af; cursor: default; }
.pw-cov small { font-size: 10.5px; margin-left: 4px; }
@media (max-width: 767px) { .pw-coverage__group { grid-template-columns: 1fr; gap: 6px; } .pw-coverage__label { padding-top: 0; } }

.pw-list-head h2 { font-size: 14px; font-weight: 700; color: var(--pw-muted); margin: 0 0 10px; }
.pw-list-head span { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: #eceef3; font-size: 11.5px; margin-left: 4px; color: var(--pw-ink); }
.pw-card__brands { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 8px; }
.pw-card { scroll-margin-top: 90px; }
.pw-card:target { border-color: var(--pw-accent); box-shadow: 0 0 0 3px rgba(114, 124, 245, .16); }

/* 表單 */
.pw-num { width: 22px; height: 22px; border-radius: 7px; display: inline-grid; place-items: center; background: var(--pw-accent-50);
  color: var(--pw-accent-dark); font-size: 12px; font-weight: 800; }
.pw-section__bar { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.pw-section--ecpay { border-top: 3px solid var(--pw-ecpay); }
.pw-section--newebpay { border-top: 3px solid var(--pw-newebpay); }
.pw-choices--compact { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.pw-choice--newebpay input:checked + .pw-choice__box { border-color: var(--pw-newebpay); background: var(--pw-newebpay-50); box-shadow: 0 0 0 3px rgba(36, 89, 214, .14); }
.pw-choice--newebpay input:checked + .pw-choice__box i { color: var(--pw-newebpay); }
.pw-subgroup { margin-bottom: 12px; }
.pw-subgroup__label { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; color: var(--pw-muted); margin-bottom: 6px; }
.pw-checks { display: flex; gap: 8px; flex-wrap: wrap; }
.pw-check { position: relative; margin: 0; cursor: pointer; }
.pw-check input { position: absolute; opacity: 0; pointer-events: none; }
.pw-check > span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px 6px 30px; border-radius: 11px; border: 1.5px solid var(--pw-line);
  background: #fff; position: relative; transition: border-color .15s, box-shadow .15s; }
.pw-check > span::before { content: ""; position: absolute; left: 9px; top: 50%; width: 15px; height: 15px; margin-top: -7.5px; border-radius: 4px;
  border: 1.5px solid #c3c7d4; background: #fff; transition: background .15s, border-color .15s; }
.pw-check input:checked + span { border-color: var(--pw-accent); box-shadow: 0 0 0 3px rgba(114, 124, 245, .12); }
.pw-check input:checked + span::before { background: var(--pw-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/11px no-repeat; border-color: var(--pw-accent); }
.pw-check input:focus-visible + span { outline: 2px solid var(--pw-accent); outline-offset: 2px; }
.pw-check:hover > span { border-color: #c9ccd8; }
.pw-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.pw-pill { margin: 0; cursor: pointer; position: relative; }
.pw-pill input { position: absolute; opacity: 0; pointer-events: none; }
.pw-pill span { display: inline-block; padding: 6px 14px; border-radius: 999px; border: 1.5px solid var(--pw-line); font-size: 13px; font-weight: 600; background: #fff; }
.pw-pill input:checked + span { border-color: var(--pw-accent); background: var(--pw-accent-50); color: var(--pw-accent-dark); }
.pw-pill input:focus-visible + span { outline: 2px solid var(--pw-accent); outline-offset: 2px; }
.pw-bank { border-top: 1px dashed var(--pw-line); margin-top: 16px; padding-top: 4px; }
.pw .input-group-text { background: var(--pw-soft); border-color: var(--pw-line); color: var(--pw-muted); }
.pw-preview__body { min-width: 0; }
.pw-preview__brands { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.pw-preview__brands:not(:has(> span:not([hidden]))) { display: none; }
.pw-preview__status { font-size: 11.5px; color: var(--pw-muted); margin-top: 8px; }
.pw-preview__status:empty { display: none; }
.pw-back { display: inline-flex; align-items: center; gap: 4px; margin-top: 14px; font-size: 12.5px; font-weight: 600; color: var(--pw-muted); text-decoration: none; }
.pw-back:hover { color: var(--pw-accent-dark); }
.pw-cov.is-test { border: 1px solid #fde68a; background: #fffbeb; color: #b45309; }
.pw-cov.is-test:hover { border-color: #f59e0b; color: #92400e; background: #fef3c7; }
.pw-steps li.is-done span { background: #dcfae6; color: #067647; }
.pw-steps li a { text-decoration: none; }
