/* rex/compare 新版外觀 b「精算儀表板」— 中性灰白底、1px 細框、等寬數字、金色只點綴
   全部包在 @media screen；每個選擇器以 html[data-calc-next] 開頭（重複屬性選擇器只為墊高權重，壓過舊頁 body.dark-mode 的 !important）。
   列印由舊頁 @media print 負責，這支完全不碰。 */
@media screen {

/* ================= 1. 設計代幣（淺色） ================= */
html[data-calc-next] {
  --b-bg:#F4F5F7; --b-card:#FFFFFF; --b-sub:#F8F9FB; --b-hover:#F1F3F6; --b-zebra:#FAFBFC;
  --b-line:#E3E6EB; --b-line2:#D0D6DE; --b-head:#EEF1F5;
  --b-t1:#0a2334; --b-t2:#44505f; --b-t3:#6B7685;
  --b-navy:#0a2334; --b-navy2:#14344b;
  --b-gold:#E8A020; --b-goldtx:#7A4E00; --b-goldbg:#FFF4D6; --b-goldline:rgba(232,160,32,.55);
  --b-good:#15803d; --b-goodbg:#E3F4E9; --b-bad:#c0262d; --b-badbg:#FDECEC;
  --b-btn:#0a2334; --b-btntx:#FFFFFF; --b-btnh:#14344b;
  --b-emph:#0a2334; --b-accent:#0a2334;
  --b-sort:#0a2334; --b-sortrow:#EAF0F6;
  --b-focus:rgba(232,160,32,.38);
  --b-shadow:0 1px 2px rgba(10,35,52,.05);
  --b-pop:0 10px 30px rgba(10,35,52,.16);
  --b-num:'Inter','Noto Sans TC','Microsoft JhengHei',sans-serif;
  --b-mono:ui-monospace,'JetBrains Mono','Cascadia Mono',Consolas,monospace;
  /* 舊頁變數重指到新色盤（淺色） */
  --navy:#0a2334; --navy-light:#14344b; --navy-deep:#061a25;
  --teal:#0a2334; --teal-mid:#4a5d70; --teal-light:#E9EEF3; --teal-bg:#F4F6F9;
  --orange:#E8A020; --orange-soft:#c08818; --orange-light:#FFF4D6; --orange-bg:#FFFAF0;
  --gold:#E8A020; --gold-soft:#B97F0C;
  --indigo:#0a2334; --indigoD:#14344b;
  --light:#F4F5F7; --bg-card:#fff; --bg-zebra:#FAFBFC; --bg-soft:#F4F6F8; --bg-cool:#EEF1F5;
  --gray-50:#F8F9FB; --gray-100:#F1F3F6; --gray-200:#E3E6EB; --gray-300:#D0D6DE; --gray-400:#9AA5B3; --gray-500:#6B7685; --gray-700:#44505f;
  --text-1:#0a2334; --text-2:#44505f; --text-3:#6B7685;
  --best-bg:#FFF4D6; --best-text:#7A4E00; --best-star:#C98A0B; --highlight:#E3F4E9;
  --shadow-sm:0 1px 2px rgba(10,35,52,.05); --shadow-md:0 1px 2px rgba(10,35,52,.06); --shadow-lg:0 8px 24px rgba(10,35,52,.12);
}
/* ================= 2. 設計代幣（深色） ================= */
html[data-calc-next][data-rex-theme="dark"] {
  --b-bg:#08131d; --b-card:#0e1c29; --b-sub:#0b1722; --b-hover:#132839; --b-zebra:#0b1824;
  --b-line:#1d3144; --b-line2:#2b4359; --b-head:#12263a;
  --b-t1:#E8EEF4; --b-t2:#B4C2D0; --b-t3:#8A9DB0;
  --b-goldtx:#F2C14E; --b-goldbg:rgba(232,160,32,.15); --b-goldline:rgba(232,160,32,.5);
  --b-good:#4ade80; --b-goodbg:rgba(74,222,128,.13); --b-bad:#f87171; --b-badbg:rgba(248,113,113,.12);
  --b-btn:#E8A020; --b-btntx:#0a2334; --b-btnh:#F2B646;
  --b-emph:#F2C14E; --b-accent:#E8A020;
  --b-sort:#1b3a55; --b-sortrow:#12304a;
  --b-focus:rgba(232,160,32,.35);
  --b-shadow:0 1px 2px rgba(0,0,0,.35);
  --b-pop:0 14px 36px rgba(0,0,0,.5);
  --light:#08131d; --bg-card:#0e1c29; --bg-zebra:#0b1824; --bg-soft:#0b1722; --bg-cool:#12263a;
  --gray-50:#0e1c29; --gray-100:#12263a; --gray-200:#1d3144; --gray-300:#2b4359; --gray-400:#5f7488; --gray-500:#8A9DB0; --gray-700:#B4C2D0;
  --text-1:#E8EEF4; --text-2:#B4C2D0; --text-3:#8A9DB0;
  --best-bg:rgba(232,160,32,.15); --best-text:#F2C14E; --best-star:#E8A020; --highlight:rgba(74,222,128,.13);
}
html[data-calc-next] body.dark-mode {
  --light:#08131d; --bg-card:#0e1c29; --bg-zebra:#0b1824; --bg-soft:#0b1722; --bg-cool:#12263a;
  --gray-50:#0e1c29; --gray-100:#12263a; --gray-200:#1d3144; --gray-300:#2b4359; --gray-400:#5f7488; --gray-500:#8A9DB0; --gray-700:#B4C2D0;
  --text-1:#E8EEF4; --text-2:#B4C2D0; --text-3:#8A9DB0; --highlight:rgba(74,222,128,.13);
}

/* ================= 3. 底色與字體 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body { background:var(--b-bg) !important; color:var(--b-t1); font-size:14px; line-height:1.5; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 { background:transparent; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table td.value, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table td.percent, html[data-calc-next][data-calc-next][data-calc-next] body .product-table td.right,
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.meta-num, html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-input, html[data-calc-next][data-calc-next][data-calc-next] body #sum-budget, html[data-calc-next][data-calc-next][data-calc-next] body #selected-count, html[data-calc-next][data-calc-next][data-calc-next] body #all-count, html[data-calc-next][data-calc-next][data-calc-next] body #product-count {
  font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1,'lnum' 1;
}

/* ================= 4. 頁首（右上預留給功能膠囊） ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .top-header { background:#0a2334 url(/rex/compare/assets/img/compare-header.webp) right center / cover no-repeat !important; padding:12px 0; box-shadow:none; border-bottom:1px solid var(--b-goldline); color:#fff; }
html[data-calc-next][data-calc-next][data-calc-next] body .top-header .inner { padding:0 210px 0 28px; max-width:1280px; }
html[data-calc-next][data-calc-next][data-calc-next] body .brand { gap:12px; }
html[data-calc-next][data-calc-next][data-calc-next] body .brand-icon { width:40px; height:40px; border-radius:10px; box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .brand-text h1 { font-size:17px; font-weight:600; letter-spacing:.04em; color:#fff; }
html[data-calc-next][data-calc-next][data-calc-next] body .brand-text p { font-size:10.5px; letter-spacing:.18em; color:rgba(255,255,255,.55); margin-top:3px; }
html[data-calc-next][data-calc-next][data-calc-next] body #version-badge { background:rgba(255,255,255,.1) !important; color:var(--b-gold) !important; border-radius:4px !important; font-weight:600 !important; padding:1px 6px !important; letter-spacing:.02em !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .step-indicator { gap:6px; }
html[data-calc-next][data-calc-next][data-calc-next] body .step-dot { width:28px; height:28px; border-radius:8px; border:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.6); background:transparent; font-family:var(--b-num); font-size:13px; font-weight:600; transition:background .16s ease,border-color .16s ease,color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .step-dot.active { background:var(--b-gold); border-color:var(--b-gold); color:#0a2334; box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .step-dot.done { background:transparent; border-color:var(--b-gold); color:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .step-line { width:22px; height:1px; background:rgba(255,255,255,.2); }
html[data-calc-next][data-calc-next][data-calc-next] body .step-line.done { background:var(--b-gold); }

/* ================= 5. 版心與標題 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .page-wrap { margin:16px auto; padding:0 28px 56px; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-wrap.step3-active { padding:0 20px 56px; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-title { text-align:left; margin-bottom:12px; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-title h2 { font-size:20px; font-weight:700; letter-spacing:.02em; color:var(--b-t1) !important; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-title h2::before { content:''; display:inline-block; width:3px; height:18px; margin:0; background:var(--b-gold); border-radius:2px; vertical-align:middle; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-title h2::after { content:''; display:block; width:0; height:0; margin:0; background:transparent; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-title p { font-size:13px; color:var(--b-t3) !important; margin-top:6px; }
html[data-calc-next][data-calc-next][data-calc-next] body .page-value-prop { margin-top:10px; padding:5px 12px; background:var(--b-goldbg) !important; border:1px solid var(--b-goldline); border-left:3px solid var(--b-gold) !important; border-radius:4px; font-size:12.5px; font-weight:500; letter-spacing:.01em; color:var(--b-t2) !important; }

/* ================= 6. 卡片 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .card { background:var(--b-card) !important; color:var(--b-t1) !important; border:1px solid var(--b-line); border-radius:10px; box-shadow:var(--b-shadow); padding:22px 24px; }

/* ================= 7. STEP 1 表單 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .form-grid { gap:14px 20px; margin-bottom:10px; }
html[data-calc-next][data-calc-next][data-calc-next] body .field label { font-size:12px; font-weight:600; letter-spacing:.03em; color:var(--b-t2) !important; margin-bottom:6px; }
html[data-calc-next][data-calc-next][data-calc-next] body .field input, html[data-calc-next][data-calc-next][data-calc-next] body .field select, html[data-calc-next][data-calc-next][data-calc-next] body #product-search, html[data-calc-next][data-calc-next][data-calc-next] body #product-sort, html[data-calc-next][data-calc-next][data-calc-next] body #focus-product-selector {
  min-height:40px; padding:8px 12px; font-size:14px; font-family:inherit; border:1px solid var(--b-line2) !important; border-radius:6px;
  background:var(--b-card) !important; color:var(--b-t1) !important; -webkit-text-fill-color:var(--b-t1) !important; caret-color:var(--b-t1);
  transition:border-color .16s ease, box-shadow .16s ease; font-variant-numeric:tabular-nums;
}
html[data-calc-next][data-calc-next][data-calc-next] body .field input:hover, html[data-calc-next][data-calc-next][data-calc-next] body .field select:hover, html[data-calc-next][data-calc-next][data-calc-next] body #product-search:hover, html[data-calc-next][data-calc-next][data-calc-next] body #product-sort:hover { border-color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .field input:focus, html[data-calc-next][data-calc-next][data-calc-next] body .field select:focus, html[data-calc-next][data-calc-next][data-calc-next] body #product-search:focus, html[data-calc-next][data-calc-next][data-calc-next] body #product-sort:focus, html[data-calc-next][data-calc-next][data-calc-next] body #focus-product-selector:focus {
  outline:none; border-color:var(--b-accent) !important; background:var(--b-card) !important; box-shadow:0 0 0 3px var(--b-focus);
}
html[data-calc-next][data-calc-next][data-calc-next] body .field input::placeholder, html[data-calc-next][data-calc-next][data-calc-next] body #product-search::placeholder { color:var(--b-t3) !important; -webkit-text-fill-color:var(--b-t3) !important; opacity:1; }
html[data-calc-next][data-calc-next][data-calc-next] body .field input:-webkit-autofill, html[data-calc-next][data-calc-next][data-calc-next] body .field input:-webkit-autofill:focus { -webkit-text-fill-color:var(--b-t1) !important; -webkit-box-shadow:0 0 0 1000px var(--b-card) inset !important; }
html[data-calc-next][data-calc-next][data-calc-next] body select option { background:var(--b-card); color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body .field .gender-group { gap:8px; padding:0; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt { min-height:40px; padding:0 14px; border:1px solid var(--b-line2); border-radius:6px; background:var(--b-card); transition:border-color .16s ease, background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt:hover { border-color:var(--b-t3); }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt:has(input:checked) { border-color:var(--b-accent); background:var(--b-goldbg); }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt input[type=radio] { accent-color:var(--b-accent); width:16px; height:16px; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt span { color:var(--b-t1); font-size:14px; font-weight:600; }
html[data-calc-next][data-calc-next][data-calc-next] body .field input[type=radio], html[data-calc-next][data-calc-next][data-calc-next] body .field input[type=radio]:hover, html[data-calc-next][data-calc-next][data-calc-next] body .field input[type=radio]:focus { min-height:0; padding:0; box-shadow:none; border:0 !important; background:none !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .input-with-suffix .suffix { color:var(--b-t3); font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body .step1-error { background:var(--b-badbg) !important; border:1px solid var(--b-bad) !important; color:var(--b-bad) !important; border-radius:6px; font-size:13.5px; padding:10px 14px; }
html[data-calc-next][data-calc-next][data-calc-next] body .rate-row { background:var(--b-goldbg); border:1px solid var(--b-goldline); border-radius:8px; padding:12px 16px; gap:14px; }
html[data-calc-next][data-calc-next][data-calc-next] body .rate-row .badge { background:var(--b-navy); color:var(--b-gold); border-radius:4px; padding:3px 10px; letter-spacing:.06em; }
html[data-calc-next][data-calc-next][data-calc-next] body .rate-row .desc { color:var(--b-t2); font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body .rate-row .rate-input { color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body .rate-row .rate-input input { width:96px; min-height:36px; border:1px solid var(--b-goldline) !important; border-radius:6px; background:var(--b-card) !important; color:var(--b-t1) !important; font-weight:600; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body #fx-fetch-cmp { background:var(--b-card) !important; color:var(--b-goldtx) !important; border:1px solid var(--b-goldline) !important; border-radius:6px !important; min-height:36px; padding:0 12px !important; transition:background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #fx-fetch-cmp:hover { background:var(--b-goldbg) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #fx-info-cmp { color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step1-progress-wrap > div:nth-child(2) { height:5px !important; background:var(--b-line) !important; border-radius:3px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 #step1-progress-bar { background:var(--b-gold) !important; border-radius:3px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step1-progress-wrap span { color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step1-progress-pct { color:var(--b-t1) !important; font-weight:700 !important; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar { background:var(--b-sub) !important; border:1px solid var(--b-line) !important; border-radius:8px !important; color:var(--b-t2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar span { color:var(--b-t2); }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar .btn-sm, html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar #case-loader { background:var(--b-card) !important; border-color:var(--b-line2) !important; color:var(--b-t1) !important; border-radius:6px !important; transition:border-color .16s ease, background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar .btn-sm:hover, html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar #case-loader:hover { border-color:var(--b-accent) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar .btn-sm[onclick^="saveCase"] { border-color:var(--b-accent) !important; color:var(--b-emph) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar .btn-sm[onclick^="deleteCase"] { border-color:var(--b-line2) !important; color:var(--b-bad) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #case-toolbar .btn-sm[onclick^="deleteCase"]:hover { border-color:var(--b-bad) !important; background:var(--b-badbg) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #btn-crm-find { background:var(--b-card) !important; border:1px solid var(--b-line2) !important; color:var(--b-emph) !important; border-radius:6px !important; min-height:28px; transition:border-color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #btn-crm-find:hover { border-color:var(--b-accent) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 > div[style*="0f4a50"] { background:var(--b-navy) !important; border-radius:8px !important; border-left:3px solid var(--b-gold); font-size:13.5px !important; }

/* ================= 8. 按鈕 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .btn-row { justify-content:flex-end; gap:10px; margin-top:12px; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn { min-height:44px; padding:0 30px; border-radius:6px; font-size:14px; font-weight:600; letter-spacing:.06em; transition:background .16s ease, box-shadow .16s ease, transform .1s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-primary { background:var(--b-btn) !important; color:var(--b-btntx) !important; border:1px solid var(--b-btn); box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-primary:hover { background:var(--b-btnh) !important; transform:none; box-shadow:inset 0 -2px 0 var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-primary:active { transform:translateY(1px); }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-primary:disabled { background:var(--b-line) !important; color:var(--b-t3) !important; border-color:var(--b-line); box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body #btn-copy-link { background:var(--b-card) !important; color:var(--b-t1) !important; border:1px solid var(--b-line2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #btn-copy-link:hover { border-color:var(--b-accent) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm { min-height:40px; padding:0 16px; border-radius:6px; font-size:13px; font-weight:600; letter-spacing:.03em; transition:background .16s ease, border-color .16s ease, box-shadow .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.primary { background:var(--b-btn); color:var(--b-btntx); border:1px solid var(--b-btn); }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.primary:hover { background:var(--b-btnh); box-shadow:inset 0 -2px 0 var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.primary:disabled { background:var(--b-line); color:var(--b-t3); border-color:var(--b-line); box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.outline { background:var(--b-card) !important; color:var(--b-t1) !important; border:1px solid var(--b-line2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.outline:hover:not(:disabled) { background:var(--b-hover) !important; border-color:var(--b-accent) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm.outline:disabled { color:var(--b-t3) !important; background:var(--b-sub) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .btn:focus-visible, html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm:focus-visible, html[data-calc-next][data-calc-next][data-calc-next] body .back-btn:focus-visible, html[data-calc-next][data-calc-next][data-calc-next] body .tab:focus-visible, html[data-calc-next][data-calc-next][data-calc-next] body .company-chip:focus-visible, html[data-calc-next][data-calc-next][data-calc-next] body .currency-toggle button:focus-visible { outline:2px solid var(--b-gold); outline-offset:2px; }

/* ================= 9. STEP 2 摘要與工具列 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .summary-bar { background:var(--b-navy) !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:8px; padding:11px 18px; color:#fff; box-shadow:none; margin-bottom:14px; }
html[data-calc-next][data-calc-next][data-calc-next] body .summary-bar .info-tags { gap:6px 22px; }
html[data-calc-next][data-calc-next][data-calc-next] body .summary-bar .info-tag { color:rgba(255,255,255,.68) !important; font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body .summary-bar .info-tag b { color:var(--b-gold) !important; font-weight:700; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body .toolbar { margin-bottom:12px; padding:0; }
html[data-calc-next][data-calc-next][data-calc-next] body .toolbar .info-text { color:var(--b-t2); font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body .toolbar .info-text b { color:var(--b-emph); font-weight:700; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body .info-tag { color:var(--b-t2); }
html[data-calc-next][data-calc-next][data-calc-next] body .info-tag b { color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer { background:var(--b-card); border:1px solid var(--b-line2); border-radius:8px; box-shadow:var(--b-pop); color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer .sv-head { border-bottom-color:var(--b-line); color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer .sv-item { border-bottom:1px solid var(--b-line); font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer .sv-co { color:var(--b-t3); font-size:12px; }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer .sv-clear { border-color:var(--b-line2); color:var(--b-bad); border-radius:6px; min-height:28px; }
html[data-calc-next][data-calc-next][data-calc-next] body #sel-viewer .sv-x { color:var(--b-t3); min-width:28px; min-height:28px; }
html[data-calc-next][data-calc-next][data-calc-next] body #product-filter-bar { background:var(--b-card) !important; border:1px solid var(--b-line) !important; border-radius:8px !important; box-shadow:none !important; padding:12px 14px !important; color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #product-search, html[data-calc-next][data-calc-next][data-calc-next] body #product-sort { padding:8px 12px !important; border-radius:6px !important; font-size:14px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #company-chips { background:var(--b-card) !important; gap:6px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .company-chip { display:inline-flex; align-items:center; padding:5px 12px !important; min-height:32px; border:1px solid var(--b-line2) !important; background:var(--b-card) !important; color:var(--b-t2) !important; border-radius:6px !important; font-size:12.5px !important; font-weight:500 !important; box-shadow:none !important; transition:border-color .16s ease, background .16s ease, color .16s ease !important; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body .company-chip:hover { background:var(--b-hover) !important; border-color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .company-chip.active { background:var(--b-btn) !important; color:var(--b-btntx) !important; border-color:var(--b-btn) !important; box-shadow:none !important; font-weight:600 !important; }

/* ================= 10. STEP 2 商品清單 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .product-table-wrap { border:1px solid var(--b-line); border-radius:8px; background:var(--b-card) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table { background:var(--b-card); border-radius:0; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table thead { background:var(--b-head); }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table thead th { background:var(--b-head) !important; color:var(--b-t2) !important; border-bottom:1px solid var(--b-line2) !important; border-color:var(--b-line2) !important; font-size:12px; font-weight:600; letter-spacing:.03em; padding:10px 12px; transition:background .14s ease, color .14s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table th.sortable:hover { background:var(--b-hover) !important; color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table th.sortable.sorted { color:var(--b-emph) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody td { background:var(--b-card) !important; color:var(--b-t1) !important; border-bottom:1px solid var(--b-line) !important; border-color:var(--b-line) !important; padding:10px 12px; font-size:13px; transition:background .12s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody tr:nth-child(even) td { background:var(--b-card) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody tr:hover td { background:var(--b-hover) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody tr.selected td { background:var(--b-goldbg) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody tr.selected { box-shadow:none !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody tr.selected td:first-child { box-shadow:inset 3px 0 0 var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table td.right { font-family:var(--b-num); font-weight:500; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table .product-name { font-weight:600; color:var(--b-t1) !important; font-size:13px; line-height:1.45; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table input[type=checkbox] { width:18px; height:18px; accent-color:var(--b-accent); }
html[data-calc-next][data-calc-next][data-calc-next] body .company-tag { background:var(--b-head) !important; color:var(--b-t2) !important; border:1px solid var(--b-line); border-radius:4px; font-size:12px; font-weight:600; padding:2px 8px; }
html[data-calc-next][data-calc-next][data-calc-next] body .code-tag { font-family:var(--b-mono); font-size:12px; background:var(--b-sub) !important; color:var(--b-t3) !important; border:1px solid var(--b-line); border-radius:4px; padding:1px 6px; }
html[data-calc-next][data-calc-next][data-calc-next] body .accuracy-tag { border-radius:4px; font-size:11px; font-weight:600; padding:1px 6px; }
html[data-calc-next][data-calc-next][data-calc-next] body .accuracy-tag.exact { background:var(--b-goodbg); color:var(--b-good); }
html[data-calc-next][data-calc-next][data-calc-next] body .accuracy-tag.estimated { background:var(--b-goldbg); color:var(--b-goldtx); }
html[data-calc-next][data-calc-next][data-calc-next] body .accuracy-tag.calc { background:var(--b-head); color:var(--b-t2); }
html[data-calc-next][data-calc-next][data-calc-next] body .data-health-badge { border-radius:4px; }
html[data-calc-next][data-calc-next][data-calc-next] body #data-health-bar { background:var(--b-goldbg) !important; border:1px solid var(--b-goldline) !important; color:var(--b-goldtx) !important; border-radius:6px; }
html[data-calc-next][data-calc-next][data-calc-next] body #sa-override-hint { background:var(--b-goldbg) !important; color:var(--b-goldtx) !important; border-radius:4px; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper { gap:3px; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-btn { width:28px; height:28px; border:1px solid var(--b-line2); background:var(--b-card); color:var(--b-t2); border-radius:6px; transition:background .14s ease, border-color .14s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-btn:hover:not(:disabled) { background:var(--b-hover); border-color:var(--b-accent); color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-input { color:var(--b-t1) !important; background:transparent !important; border:1px solid transparent !important; border-radius:4px; font-weight:600; font-family:var(--b-num); min-height:0; padding:3px 4px; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-input:hover { border-color:var(--b-line2) !important; background:var(--b-sub) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-input:focus { border-color:var(--b-accent) !important; background:var(--b-card) !important; box-shadow:0 0 0 2px var(--b-focus); }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-input.invalid { border-color:var(--b-bad) !important; background:var(--b-badbg) !important; color:var(--b-bad) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper.modified .sa-stepper-input { color:var(--b-goldtx) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .sa-reset { font-size:12px; color:var(--b-t3); }

/* ================= 11. STEP 3 外框、頁籤、動作列 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-card { padding:12px 16px 16px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-top { border-bottom:1px solid var(--b-line); padding-bottom:10px; margin-bottom:10px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-title { font-size:15px; font-weight:700; letter-spacing:.04em; color:var(--b-t1) !important; display:flex; align-items:center; gap:8px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-title::before { content:''; width:3px; height:14px; background:var(--b-gold); border-radius:2px; display:inline-block; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-params .info-tag { color:var(--b-t2) !important; font-size:12.5px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-back, html[data-calc-next][data-calc-next][data-calc-next] body .back-btn { background:var(--b-card) !important; color:var(--b-t1) !important; border:1px solid var(--b-line2) !important; border-radius:6px !important; transition:border-color .16s ease, background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-back:hover, html[data-calc-next][data-calc-next][data-calc-next] body .back-btn:hover { border-color:var(--b-accent) !important; background:var(--b-hover) !important; color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-back { min-height:36px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .tabs { background:var(--b-head) !important; border:1px solid var(--b-line); border-radius:8px; padding:3px; gap:2px; }
html[data-calc-next][data-calc-next][data-calc-next] body .tab { color:var(--b-t3) !important; border-radius:6px; font-size:13px; font-weight:600; background:transparent; transition:background .16s ease, color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .tab:hover:not(.active) { color:var(--b-t1) !important; background:var(--b-hover); }
html[data-calc-next][data-calc-next][data-calc-next] body .tab.active { background:var(--b-card) !important; color:var(--b-t1) !important; box-shadow:0 1px 2px rgba(10,35,52,.1), inset 0 -2px 0 var(--b-gold) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools .tab { min-height:36px !important; padding:5px 16px !important; font-size:13px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .tab[data-tab="surrender"]::before { background:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .tab[data-tab="death"]::before { background:var(--b-t3); }
html[data-calc-next][data-calc-next][data-calc-next] body .be-sort-btn { min-height:34px; padding:4px 12px; color:var(--b-t3); border:1px solid var(--b-line2); border-radius:6px; opacity:1; font-size:12.5px; margin-left:8px; transition:border-color .16s ease, color .16s ease, background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .be-sort-btn:hover { color:var(--b-t1); border-color:var(--b-t3); background:var(--b-hover); }
html[data-calc-next][data-calc-next][data-calc-next] body .be-sort-btn.on { color:var(--b-goldtx); background:var(--b-goldbg); border-color:var(--b-goldline); }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .print-btn { min-height:36px !important; padding:0 14px !important; border-radius:6px !important; font-size:12.5px !important; font-weight:600 !important; letter-spacing:.03em; border:1px solid var(--b-line2) !important; background:var(--b-card) !important; color:var(--b-t1) !important; transition:background .16s ease, border-color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .print-btn[onclick*="openPrintMenu"] { background:var(--b-btn) !important; color:var(--b-btntx) !important; border-color:var(--b-btn) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .print-btn[onclick*="openPrintMenu"]:hover { background:var(--b-btnh) !important; box-shadow:inset 0 -2px 0 var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .print-btn[onclick*="exportCompareCSV"]:hover { border-color:var(--b-accent) !important; background:var(--b-hover) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .currency-toggle { background:var(--b-head) !important; border:1px solid var(--b-line); border-radius:8px; padding:2px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .currency-toggle button { min-height:32px !important; padding:3px 14px !important; border-radius:6px; font-family:var(--b-num); font-size:12.5px !important; font-weight:700; letter-spacing:.06em; color:var(--b-t3) !important; background:transparent !important; transition:background .16s ease, color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .currency-toggle button:hover:not(.active) { color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .currency-toggle button.active { background:var(--b-btn) !important; color:var(--b-btntx) !important; box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .sort-status { background:var(--b-goldbg) !important; border:1px solid var(--b-goldline) !important; color:var(--b-goldtx) !important; border-radius:6px; font-size:12.5px; }
html[data-calc-next][data-calc-next][data-calc-next] body .sort-status .clear-btn { color:var(--b-goldtx) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #focus-product-selector { border-color:var(--b-line2) !important; font-size:14px; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag { border-radius:4px; font-size:11px; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag.over { background:var(--b-goldbg) !important; color:var(--b-goldtx) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag.under { background:var(--b-goodbg) !important; color:var(--b-good) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag-mini { background:transparent !important; padding:0 !important; font-size:11.5px; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag-mini.over { color:var(--b-goldtx) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .budget-tag-mini.under { color:var(--b-good) !important; }

/* ================= 12. 比較大表 #compare-table ================= */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table-wrap { background:var(--b-card) !important; border:1px solid var(--b-line) !important; border-radius:8px; box-shadow:none !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table-wrap::-webkit-scrollbar-track { background:var(--b-head); }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table-wrap::-webkit-scrollbar-thumb { background:var(--b-line2); }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table-wrap::-webkit-scrollbar-thumb:hover { background:var(--b-t3); }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table-wrap::before { background:var(--b-head) !important; color:var(--b-emph) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table { font-family:var(--b-num); }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table th, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table td { background:var(--b-card); color:var(--b-t1); border-right:1px solid var(--b-line); border-bottom:1px solid var(--b-line) !important; border-color:var(--b-line); }
/* 公司列：實心深藍 + 金色頂線 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-company th { background:var(--b-navy) !important; color:#fff !important; font-size:13.5px; font-weight:600; letter-spacing:.04em; padding:10px 14px; border-top:2px solid var(--b-gold) !important; border-bottom:1px solid rgba(255,255,255,.14) !important; border-right-color:rgba(255,255,255,.1) !important; box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-company th.th-label-1 { font-size:12.5px; letter-spacing:.06em; color:rgba(255,255,255,.8) !important; text-align:left; }
/* meta 列 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-meta th { background:var(--b-sub) !important; color:var(--b-t2); font-size:12.5px; padding:8px 14px; border-bottom:1px solid var(--b-line) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-meta th.th-label, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-col-names th.th-label-merged { background:var(--b-head) !important; color:var(--b-t2) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.04em; text-align:left; border-right:1px solid var(--b-line2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.product-name-cell { font-size:14px !important; font-weight:700 !important; color:var(--b-t1) !important; background:var(--b-card) !important; line-height:1.4; padding:10px 14px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.product-code-cell { font-family:var(--b-mono) !important; font-size:12px !important; color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.meta-num { font-family:var(--b-num); font-size:13px; font-weight:600; color:var(--b-t1); text-align:right !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.doc-cell { white-space:normal; }
/* 欄名列 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-col-names th { background:var(--b-head) !important; color:var(--b-t2) !important; font-size:12px; font-weight:600; line-height:1.35; padding:8px 12px; border-bottom:2px solid var(--b-line2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-col-names th.col-name-value, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-col-names th.col-name-pct { text-align:right; }
/* 左側凍結欄 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-1 { background:var(--b-sub) !important; color:var(--b-t1) !important; font-family:var(--b-num); font-size:13px; font-weight:700; border-right:1px solid var(--b-line) !important; transition:background .14s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-2 { background:var(--b-sub) !important; color:var(--b-t3) !important; font-size:12px; font-weight:500; border-right:1px solid var(--b-line2) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:nth-child(even) td.year-col-1:not(.sorted), html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:nth-child(even) td.year-col-2:not(.sorted) { background:var(--b-sub) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-1:hover:not(.sorted) { background:var(--b-goldbg) !important; color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-1.sorted { background:var(--b-sort) !important; color:#fff !important; box-shadow:inset 3px 0 0 var(--b-gold) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-2.sorted { background:var(--b-sort) !important; color:rgba(255,255,255,.85) !important; font-weight:600; }
/* 數字格 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value { background:var(--b-card) !important; color:var(--b-t1) !important; font-family:var(--b-num); font-size:13.5px; font-weight:500; text-align:right; padding-top:7px; padding-bottom:7px; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.percent { background:var(--b-card) !important; color:var(--b-t3) !important; font-family:var(--b-num); font-size:12.5px; font-weight:500; text-align:right; border-right:1px solid var(--b-line2) !important; padding-top:7px; padding-bottom:7px; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:nth-child(even) td.value:not(.best), html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:nth-child(even) td.percent:not(.best) { background:var(--b-zebra) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:hover td.value:not(.best), html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row:hover td.percent:not(.best) { background:var(--b-hover) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr:nth-child(5n) td { border-bottom:1px solid var(--b-line2) !important; }
/* 回本 >=100% */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.percent.highlight:not(.best) { background:var(--b-goodbg) !important; color:var(--b-good) !important; font-weight:700; box-shadow:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value.highlight-strong:not(.best) { background:var(--b-goodbg) !important; color:var(--b-good) !important; font-weight:700; }
/* 最佳值：淡金底 + 深金字 + 金星 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value.best, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.percent.best { background:var(--b-goldbg) !important; color:var(--b-goldtx) !important; font-weight:700 !important; box-shadow:none !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value.best::before { color:var(--b-gold) !important; font-size:11px; }
/* 排序中的列 */
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row.sorted-row td.value:not(.best), html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.year-row.sorted-row td.percent:not(.best) { background:var(--b-sortrow) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table .rate-violet, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody tr.meta-row td[style*="7C3AED"] { color:var(--b-goldtx) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-meta th.be-meta { font-family:var(--b-num); font-weight:600; }

/* 左右切換鈕 */
html[data-calc-next][data-calc-next][data-calc-next] body .cmp-nav-btn { width:40px; height:40px; border:1px solid var(--b-line2); background:var(--b-card); color:var(--b-t1); box-shadow:0 2px 8px rgba(10,35,52,.16); transition:transform .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; -webkit-backdrop-filter:none; backdrop-filter:none; }
html[data-calc-next][data-calc-next][data-calc-next] body .cmp-nav-btn:hover:not(:disabled) { border-color:var(--b-gold); color:var(--b-emph); box-shadow:0 3px 12px rgba(10,35,52,.2); }
html[data-calc-next][data-calc-next][data-calc-next] body .cmp-nav-btn:focus-visible { outline:2px solid var(--b-gold); }

/* ================= 13. 浮層與提示 ================= */
html[data-calc-next][data-calc-next][data-calc-next] body #compare-selection-badge { background:var(--b-btn); color:var(--b-btntx); border-radius:8px; padding:10px 20px; box-shadow:var(--b-pop); letter-spacing:.04em; font-variant-numeric:tabular-nums; }
html[data-calc-next][data-calc-next][data-calc-next] body #compare-selection-badge:hover { background:var(--b-btnh); box-shadow:var(--b-pop), inset 0 -2px 0 var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-card { background:var(--b-card); border:1px solid var(--b-line2); border-radius:12px; box-shadow:var(--b-pop); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-title { color:var(--b-t1); font-size:15px; font-weight:700; letter-spacing:.04em; }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-opt, html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-chk { background:var(--b-sub); border:1px solid var(--b-line2); border-radius:8px; color:var(--b-t1); transition:border-color .16s ease, background .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-opt.pm-sub { background:var(--b-card); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-opt b { color:var(--b-emph); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-opt small, html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-chk small { color:var(--b-t3); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-opt:hover { border-color:var(--b-gold); background:var(--b-hover); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-chk input { accent-color:var(--b-accent); }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-cancel { color:var(--b-t3); min-height:40px; }
html[data-calc-next][data-calc-next][data-calc-next] body #print-menu-ov .pm-cancel:hover { color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body .toast { background:var(--b-card); color:var(--b-t1); border:1px solid var(--b-line2); border-left:3px solid var(--b-gold); border-radius:6px; box-shadow:var(--b-pop); font-size:13.5px; }
html[data-calc-next][data-calc-next][data-calc-next] body .toast.success { border-left-color:var(--b-good); }
html[data-calc-next][data-calc-next][data-calc-next] body .toast.warning { background:var(--b-goldbg); border-left-color:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .toast.error { background:var(--b-badbg); color:var(--b-bad); border-left-color:var(--b-bad); }
html[data-calc-next][data-calc-next][data-calc-next] body #edu-gate > div { background:var(--b-card) !important; color:var(--b-t1) !important; border:1px solid var(--b-line2); border-radius:12px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #edu-gate > div > div:first-child { color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #edu-gate button { background:var(--b-btn) !important; color:var(--b-btntx) !important; border-radius:6px !important; min-height:44px; letter-spacing:.06em; }
html[data-calc-next][data-calc-next][data-calc-next] body #loading-card { background:var(--b-card) !important; border:1px solid var(--b-line2); border-radius:12px; box-shadow:var(--b-pop); }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-brand-dot { background:var(--b-navy); }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-brand-name, html[data-calc-next][data-calc-next][data-calc-next] body .lo-title { color:var(--b-t1) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-sub, html[data-calc-next][data-calc-next][data-calc-next] body .lo-prog-meta { color:var(--b-t3) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-spinner::before { border-top-color:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-spinner::after { border-top-color:var(--b-t3); }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-prog-bar { background:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .lo-cancel { color:var(--b-emph) !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .skeleton-row, html[data-calc-next][data-calc-next][data-calc-next] body .select-skeleton { background:linear-gradient(90deg,var(--b-hover) 25%,var(--b-line) 50%,var(--b-hover) 75%) !important; background-size:200% 100% !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .footer-note { background:var(--b-sub) !important; border:1px solid var(--b-line) !important; border-left:3px solid var(--b-gold) !important; border-radius:8px; color:var(--b-t2) !important; font-size:12.5px; line-height:1.75; }
html[data-calc-next][data-calc-next][data-calc-next] body .footer-note strong { color:var(--b-t1) !important; text-align:left; font-size:13px; }
html[data-calc-next][data-calc-next][data-calc-next] body .footer-note b { color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body #global-footer { background:var(--b-navy) !important; border-top:1px solid var(--b-goldline); margin-top:40px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .verify-banner { background:var(--b-goodbg); border:1px solid var(--b-good); border-radius:8px; }
html[data-calc-next][data-calc-next][data-calc-next] body .verify-banner.warn { background:var(--b-goldbg); border-color:var(--b-gold); }
html[data-calc-next][data-calc-next][data-calc-next] body .verify-banner .v-text, html[data-calc-next][data-calc-next][data-calc-next] body .verify-banner .v-text b { color:var(--b-t1); }
html[data-calc-next][data-calc-next][data-calc-next] body .verify-banner .v-btn { background:var(--b-card); border-color:var(--b-line2); color:var(--b-t1); border-radius:6px; min-height:32px; }
html[data-calc-next][data-calc-next][data-calc-next] body .empty { color:var(--b-t3); }

/* ================= 14. 平板 ================= */
@media (max-width:1023px) {
  html[data-calc-next][data-calc-next][data-calc-next] body .top-header .inner { padding:0 200px 0 20px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table th, html[data-calc-next][data-calc-next][data-calc-next] body .compare-table td { padding-top:6px !important; padding-bottom:6px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value { font-size:12.5px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.percent { font-size:12px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-1 { font-size:12.5px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-2 { font-size:12px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody td { font-size:12.5px; }
}

/* ================= 15. 手機 ================= */
@media (max-width:768px) {
  html[data-calc-next][data-calc-next][data-calc-next] body .top-header { padding:10px 0; }
  html[data-calc-next][data-calc-next][data-calc-next] body .top-header .inner { padding:0 124px 0 12px; gap:8px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .brand-text h1 { font-size:15px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .page-wrap { padding:0 12px 40px; margin:14px auto; }
  html[data-calc-next][data-calc-next][data-calc-next] body .page-wrap.step3-active { padding:0 8px 30px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .page-title h2 { font-size:18px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .card { padding:16px 14px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .btn-row { justify-content:stretch; }
  html[data-calc-next][data-calc-next][data-calc-next] body .field input, html[data-calc-next][data-calc-next][data-calc-next] body .field select { min-height:44px; font-size:15px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .company-chip { min-height:40px; padding:6px 14px !important; font-size:13px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .btn-sm { min-height:44px; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools .tab { min-height:40px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .print-btn { min-height:40px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions .currency-toggle button { min-height:36px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-back { min-height:40px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .be-sort-btn { min-height:40px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .cmp-nav-btn { width:40px; height:40px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .product-table thead th { padding:8px 8px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .product-table tbody td { padding:9px 8px; font-size:12.5px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .sa-stepper-btn { width:30px; height:30px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.value { font-size:12.5px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.percent { font-size:12px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-1 { font-size:12px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table tbody td.year-col-2 { font-size:11.5px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.product-name-cell { font-size:13px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead tr.head-company th { font-size:13px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .compare-table thead th.meta-num { font-size:12.5px; }
}
@media (max-width:480px) {
  html[data-calc-next][data-calc-next][data-calc-next] body .top-header .inner { padding:0 120px 0 10px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .brand-icon { width:34px; height:34px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .brand-text h1 { font-size:14.5px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .step-dot { width:24px; height:24px; font-size:12px; border-radius:6px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .step-line { width:8px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .page-title h2 { font-size:17px; }
}

/* ================= 16. 定稿增補（2026-10-18） ================= */
/* 16.1 頁首：深藍 + 圖（失敗仍是深藍）+ 細金線；右上預留給功能膠囊（沿用上方 padding-right） */
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .top-header { background:#0a2334 url(/rex/compare/assets/img/compare-header.webp) right center / cover no-repeat !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .brand-text { display:flex; flex-direction:column; align-items:flex-start; }
html[data-calc-next][data-calc-next][data-calc-next] body .cn-oldlink { display:inline-block; margin-top:2px; font-size:11px; line-height:1.4; letter-spacing:.04em; color:var(--b-gold) !important; -webkit-text-fill-color:var(--b-gold); text-decoration:none; transition:color .16s ease; }
html[data-calc-next][data-calc-next][data-calc-next] body .cn-oldlink:hover, html[data-calc-next][data-calc-next][data-calc-next] body .cn-oldlink:focus-visible { text-decoration:underline; color:#F2C14E !important; -webkit-text-fill-color:#F2C14E; }
/* 頁面暖度：淺色底帶一點米白 */
html[data-calc-next][data-calc-next][data-calc-next]:not([data-rex-theme="dark"]) body { background:#F6F5F2 !important; }

/* 16.2 步驟 1 壓縮（首屏看到「下一步」） */
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .card { padding:18px 22px 16px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 #step1-progress-wrap { margin:8px 0 4px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 #case-toolbar { margin:8px 0 8px !important; padding:8px 12px !important; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .page-value-prop { margin-top:8px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .btn-row { margin-top:4px; }
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .rate-row { padding:10px 14px; }

/* 16.3 步驟 1 表單卡裝飾圖（桌機 >=1100；右側留白給圖，輸入欄不受壓） */
@media (min-width:1100px) {
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .card { padding-right:268px; background-image:url(/rex/compare/assets/img/compare-form.webp) !important; background-repeat:no-repeat !important; background-position:right 24px bottom 18px !important; background-size:220px 220px !important; }
  html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body #step-1 .card { background-image:url(/rex/compare/assets/img/compare-form-dark.webp) !important; }
}

/* 16.4 步驟 2 找不到商品：只讓裝飾 emoji 透明換成圖，說明文字照常 */
html[data-calc-next][data-calc-next][data-calc-next] body #product-tbody td.empty .icon { display:block; width:240px; max-width:100%; height:160px; margin:0 auto 12px; color:transparent !important; -webkit-text-fill-color:transparent; opacity:1 !important; background:url(/rex/compare/assets/img/compare-empty.webp) center / contain no-repeat; overflow:hidden; }
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body #product-tbody td.empty .icon { background-image:url(/rex/compare/assets/img/compare-empty-dark.webp); }

/* 16.5 浮動「比較已選 N 項」：右下角，不壓表格數字 */
html[data-calc-next][data-calc-next][data-calc-next] body #compare-selection-badge { left:auto; right:16px; bottom:16px; transform:none; animation:none; padding:9px 18px; font-size:13.5px; border-radius:999px; z-index:9990; }
html[data-calc-next][data-calc-next][data-calc-next] body .product-table-wrap { padding-bottom:72px; }
html[data-calc-next][data-calc-next][data-calc-next]:has(#step-3.active) body #compare-selection-badge { padding:6px 14px; font-size:12px; letter-spacing:.02em; box-shadow:0 4px 14px rgba(10,35,52,.28); }

/* 16.6 步驟 3 工具列右端避開右上角功能膠囊 */
@media (min-width:769px) {
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools { padding-right:56px; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-top { padding-right:56px; }
}

/* 16.7 深色：保本年／最佳值高亮 */
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .compare-table tbody td.value.best, html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .compare-table tbody td.percent.best { background:rgba(232,160,32,.18) !important; color:#F7D27A !important; }
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .compare-table tbody td.value.best::before { color:#E8A020 !important; }
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .compare-table tbody td.percent.highlight:not(.best), html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .compare-table tbody td.value.highlight-strong:not(.best) { background:rgba(74,222,128,.14) !important; color:#86efac !important; }
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .product-table tbody tr.selected td { background:rgba(232,160,32,.16) !important; }
html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .sort-status, html[data-calc-next][data-calc-next][data-calc-next][data-rex-theme="dark"] body .be-sort-btn.on { background:rgba(232,160,32,.18) !important; color:#F7D27A !important; }

/* 16.8 平板／手機 */
@media (max-width:768px) {
  /* 步驟 2 工具列：四顆按鈕 2x2 */
  html[data-calc-next][data-calc-next][data-calc-next] body .toolbar { flex-direction:column; align-items:stretch; gap:8px; }
  html[data-calc-next][data-calc-next][data-calc-next] body .toolbar .actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  html[data-calc-next][data-calc-next][data-calc-next] body .toolbar .actions .btn-sm { white-space:nowrap; font-size:13px; padding:0 8px; min-height:44px; width:100%; text-align:center; }
  /* 步驟 1 輸入：48px 高、16px 字（防 iOS 放大）、性別大觸控面積、主按鈕全寬 */
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .field input:not([type=radio]):not([type=hidden]), html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .field select, html[data-calc-next][data-calc-next][data-calc-next] body #product-search, html[data-calc-next][data-calc-next][data-calc-next] body #product-sort, html[data-calc-next][data-calc-next][data-calc-next] body #case-loader { min-height:48px; font-size:16px !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .gender-group { gap:8px; display:flex; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .gender-opt { flex:1; min-height:48px; min-width:64px; justify-content:center; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .btn-row { flex-direction:column-reverse; align-items:stretch; gap:10px; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .btn-row .btn { width:100%; min-height:52px; justify-content:center; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 #btn-next-step1 { min-height:54px; font-size:16px; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .card { padding:16px 14px 14px; }
  /* 浮動鈕：手機留安全區 */
  html[data-calc-next][data-calc-next][data-calc-next] body #compare-selection-badge { right:12px; bottom:max(16px, calc(env(safe-area-inset-bottom, 0px) + 16px)); }
}

/* ── 2026-10-18 業主實測回饋 ───────────────────────────── */
/* ① 性別：圓點壓到「男／女」字、框太擠 → 圓點與文字同一列置中 */
html[data-calc-next][data-calc-next][data-calc-next] body .field .gender-group { display:flex !important; flex-wrap:nowrap; gap:8px; padding:0; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt { display:inline-flex !important; flex-direction:row !important; align-items:center !important; justify-content:center; gap:8px !important; min-width:68px; min-height:40px; padding:0 14px !important; line-height:1; box-sizing:border-box; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt input[type=radio] { position:static !important; flex:0 0 auto; width:16px !important; height:16px !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; transform:none !important; }
html[data-calc-next][data-calc-next][data-calc-next] body .gender-opt span { line-height:1; white-space:nowrap; }

/* ② 步驟 3：列印／CSV／USD-TWD 移到「解約金比較／身故保險金」同一排右側，不再把表格往下推 */
@media (min-width:1024px) {
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools { flex-wrap:nowrap !important; align-items:center !important; justify-content:flex-start !important; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools > .tabs,
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-tools > .be-sort-btn { flex:0 0 auto; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 #sort-status-wrap { flex:1 1 auto; min-width:0; display:flex; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 #sort-status-wrap .sort-status { white-space:normal; max-width:100%; }
  html[data-calc-next][data-calc-next][data-calc-next] body #step-3 .s3-actions { flex:0 0 auto !important; width:auto !important; margin-left:auto !important; display:flex !important; flex-wrap:nowrap !important; }
}

/* ── 2026-10-20 業主回饋：第一排「姓名」輸入框比「性別／保險年齡／生日」低 ──
   原因：姓名標籤裡有「查詢客戶」按鈕（min-height 28px）把標籤撐高。桌機把各欄標籤統一成 24px 高、按鈕收進同一高度，
   四個輸入框就會同一水平線。手機各欄自成一列，不受影響（按鈕維持較大的觸控尺寸）。 */
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .form-grid .field label:not(.gender-opt) {
  display:flex !important; align-items:center; min-height:24px; height:24px; margin-bottom:6px !important; line-height:1 !important;
}
html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .form-grid .gender-group { padding:0 !important; }   /* 舊頁小螢幕 padding 5px 0 1px 讓性別框比年齡框低 5px */
@media (max-width:768px) {
  /* 手機「姓名」自成一列，按鈕維持觸控尺寸、標籤跟著長高即可 */
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 .form-grid .field label:has(#btn-crm-find) { height:auto; }
}
@media (min-width:769px) {
  html[data-calc-next][data-calc-next][data-calc-next] body #step-1 #btn-crm-find {
    min-height:0 !important; height:22px !important; padding:0 8px !important; line-height:20px !important; font-size:12px !important;
  }
}
}
