/* ═══════════════════════════════════════════════════════════════════════
   fill-ui.css ＝ 套印中心 next 版「填資料介面層」樣式（理賠／契約變更用；授權書之後共用）
   2026-10-19 建立。搭配 /rex/forms/next/fill-ui.js。
   前提：頁面已載入 /rex/forms/skin.css（--fx-* token、深色＝html[data-rex-theme="dark"]）。
   本檔只用 .fu-* 類別，不碰 .mk／.pg-wrap（PDF 預覽維持原版白紙）。
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --fu-need:#9a5b00; --fu-need-bg:#fff6df; --fu-need-bar:#f0a21a; --fu-need-line:#f1d08a;
  --fu-ok:#1b7a57;   --fu-ok-bg:#eef8f3;   --fu-ok-bar:#27a574; --fu-ok-line:#b8e3cf;
  --fu-opt-line:#c4cad3; --fu-opt-ink:#6b7785;
  --fu-flash:rgba(232,160,32,.55);
}
html[data-rex-theme="dark"]{
  --fu-need:#fcd34d; --fu-need-bg:rgba(250,204,21,.10); --fu-need-bar:#f5b83d; --fu-need-line:rgba(250,204,21,.40);
  --fu-ok:#5fd3a6;   --fu-ok-bg:rgba(29,158,117,.13);   --fu-ok-bar:#34c08c; --fu-ok-line:rgba(95,211,166,.38);
  --fu-opt-line:rgba(255,255,255,.24); --fu-opt-ink:#9fb0c0;
  --fu-flash:rgba(240,185,74,.6);
}

/* 角色色條：--rc 為 r,g,b */
.fu-r-ins{--rc:37,99,235}   .fu-r-ap{--rc:124,58,237}  .fu-r-ac{--rc:234,88,12}
.fu-r-bn{--rc:219,39,119}   .fu-r-gd{--rc:100,116,139} .fu-r-bank{--rc:8,145,178}
.fu-r-evt{--rc:5,150,105}   .fu-r-agt{--rc:183,121,31} .fu-r-pol{--rc:79,70,229}
.fu-r-chip{--rc:232,160,32} .fu-r-card{--rc:10,35,52}  .fu-r-chg{--rc:190,24,93}
html[data-rex-theme="dark"] .fu-r-ins{--rc:96,165,250}  html[data-rex-theme="dark"] .fu-r-ap{--rc:167,139,250}
html[data-rex-theme="dark"] .fu-r-ac{--rc:251,146,60}   html[data-rex-theme="dark"] .fu-r-bn{--rc:244,114,182}
html[data-rex-theme="dark"] .fu-r-gd{--rc:148,163,184}  html[data-rex-theme="dark"] .fu-r-bank{--rc:34,211,238}
html[data-rex-theme="dark"] .fu-r-evt{--rc:52,211,153}  html[data-rex-theme="dark"] .fu-r-agt{--rc:240,185,74}
html[data-rex-theme="dark"] .fu-r-pol{--rc:129,140,248} html[data-rex-theme="dark"] .fu-r-card{--rc:240,185,74}
html[data-rex-theme="dark"] .fu-r-chg{--rc:244,114,182}

/* ── 版面 ── */
.fu-wrap{max-width:1180px;margin:0 auto;padding:14px 16px 56px;font-family:var(--fx-sans)}
.fu-title{display:flex;align-items:center;gap:12px;margin:6px 0 14px}
.fu-title h1{font-size:22px;font-weight:800;line-height:1.2;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fu-title p{margin:3px 0 0;font-size:13px;color:var(--fx-muted)}
.fu-title .fu-ico{width:42px;height:42px;border-radius:12px;background:var(--fx-navy);color:#ffe28a;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
html[data-rex-theme="dark"] .fu-title .fu-ico{background:var(--fx-navy3)}
.fu-preview{font-size:11.5px;font-weight:800;letter-spacing:.06em;padding:2px 10px;border-radius:99px;background:var(--fx-gold);color:var(--fx-on-gold)}
.fu-oldlink{margin-left:auto;font-size:12.5px;white-space:nowrap}
.fu-oldlink a{color:var(--fx-gold-ink);text-decoration:underline;font-weight:700}
.fu-cols{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:18px;align-items:start}
.fu-left{display:flex;flex-direction:column;gap:14px;min-width:0}
.fu-right{position:sticky;top:76px;min-width:0}
.fu-card{background:var(--fx-card);border:1px solid var(--fx-line);border-radius:16px;box-shadow:var(--fx-shadow-sm);padding:16px 18px}
.fu-card-hd{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.fu-card-hd h2{font-size:15.5px;font-weight:800;margin:0;color:var(--fx-hd)}
.fu-step{width:24px;height:24px;border-radius:50%;background:var(--fx-navy);color:#ffe28a;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
html[data-rex-theme="dark"] .fu-step{background:var(--fx-gold);color:var(--fx-on-gold)}
.fu-sub{font-size:12px;color:var(--fx-soft);font-weight:500}
.fu-grow{flex:1 1 auto}
.fu-h2{display:flex;align-items:center;gap:10px;margin:4px 2px 0;flex-wrap:wrap}
.fu-h2 h2{font-size:15.5px;font-weight:800;margin:0;color:var(--fx-hd)}
.fu-tools{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:12.5px}
.fu-tools button,.fu-tools a,.fu-tools label.fu-lk{background:none;border:0;padding:2px 0;color:var(--fx-muted);cursor:pointer;font-size:12.5px;white-space:nowrap;text-decoration:none}
.fu-tools button:hover,.fu-tools a:hover,.fu-tools label.fu-lk:hover{color:var(--fx-hd);text-decoration:underline}
.fu-tools .fu-lk-pri{color:var(--fx-gold-ink);font-weight:700}
.fu-tools .fu-sep{width:1px;height:14px;background:var(--fx-line)}

/* ── ① 選文件 ── */
.fu-pick-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.fu-search{flex:1 1 200px;max-width:320px;height:36px!important;padding:0 12px;font-size:13.5px;border-radius:999px!important;border:1px solid var(--fx-inb)}
.fu-picked{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;min-height:0}
.fu-picked:empty{display:none}
.fu-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 12px;border-radius:999px;background:var(--fx-acc-bg);border:1px solid var(--fx-acc-line);font-size:12.5px;font-weight:700;color:var(--fx-hd)}
.fu-pill button{width:20px;height:20px;line-height:18px;border-radius:50%;border:0;background:rgba(0,0,0,.08);color:inherit;cursor:pointer;font-size:12px;padding:0}
.fu-pill button:hover{background:var(--fu-need-bar);color:#3a2c00}
.fu-dg{margin:0 0 10px}
.fu-dg-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--fx-soft);margin:6px 0 6px}
.fu-dg-h::after{content:"";flex:1;height:1px;background:var(--fx-line2)}
.fu-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:8px}
.fu-doc{position:relative;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--fx-line);border-radius:12px;background:var(--fx-card);cursor:pointer;min-height:48px;text-align:left;font-family:inherit;color:var(--fx-text);transition:border-color .15s,box-shadow .15s,background .15s}
.fu-doc:hover{border-color:var(--fx-gold);box-shadow:0 6px 16px -12px rgba(232,160,32,.9)}
.fu-doc.on{background:var(--fx-acc-bg);border-color:var(--fx-gold);box-shadow:0 8px 20px -14px rgba(232,160,32,.9)}
.fu-doc .fu-lg{width:26px;height:26px;border-radius:7px;object-fit:contain;flex:0 0 auto;background:#fff}
.fu-doc .fu-lg-ph{width:26px;height:26px;border-radius:7px;flex:0 0 auto;background:var(--fx-card3);color:var(--fx-gold-ink);font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.fu-doc .fu-dn{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.fu-doc .fu-dn b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fu-doc .fu-dn i{font-style:normal;font-size:11px;color:var(--fx-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fu-doc .fu-ck{margin-left:auto;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--fx-inb);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:transparent}
.fu-doc.on .fu-ck{background:var(--fx-gold);border-color:var(--fx-gold);color:var(--fx-on-gold);font-weight:900}
.fu-doc.dis{opacity:.62;cursor:default}
.fu-doc .fu-up{position:absolute;top:-7px;right:8px;font-size:10px;font-weight:800;padding:0 7px;border-radius:99px;background:var(--fu-need-bg);border:1px solid var(--fu-need-bar);color:var(--fu-need)}
.fu-up-acts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;font-size:12px;padding:0 4px 4px}
.fu-up-acts button,.fu-up-acts a,.fu-up-acts label{padding:3px 10px;border-radius:99px;border:1px solid var(--fx-acc-line);background:var(--fx-card);color:var(--fx-hd);cursor:pointer;font-size:12px;text-decoration:none}
.fu-empty{padding:18px;border:1px dashed var(--fx-line);border-radius:12px;text-align:center;color:var(--fx-soft);font-size:13px}
.fu-solo{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--fx-gold);background:var(--fx-acc-bg);border-radius:12px}
.fu-solo b{font-size:14.5px}
.fu-solo i{font-style:normal;font-size:12px;color:var(--fx-muted);display:block}

/* ── ② 區塊（被保險人／要保人…）── */
.fu-stack{display:flex;flex-direction:column;gap:12px}
.fu-sec{background:var(--fx-card);border:1px solid var(--fx-line);border-left:4px solid rgb(var(--rc,100,116,139));border-radius:14px;overflow:hidden;box-shadow:var(--fx-shadow-sm)}
.fu-sec.fu-unused,.fu-hidden{display:none}
body.fu-all .fu-sec.fu-unused{display:block;opacity:.6}
body .fu-sec>.fu-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:46px;border:0;border-radius:0;cursor:pointer;user-select:none;background:linear-gradient(90deg,rgba(var(--rc),.10),rgba(var(--rc),0) 70%)}
body .fu-sec>.fu-hd:hover{background:linear-gradient(90deg,rgba(var(--rc),.16),rgba(var(--rc),.02) 70%)}
body .fu-sec>.fu-hd .chev{margin-left:2px;font-style:normal;color:var(--fx-soft);transition:transform .2s;font-size:13px}
.fu-sec.fu-fold .fu-hd .chev{transform:rotate(-90deg)}
.fu-ttl{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.fu-ttl i.fu-dot{width:10px;height:10px;border-radius:50%;background:rgb(var(--rc));flex:0 0 auto;box-shadow:0 0 0 3px rgba(var(--rc),.18)}
.fu-ttl b{font-size:15px;font-weight:800;color:var(--fx-hd)}
.fu-ttl em{font-style:normal;font-size:11.5px;color:var(--fx-soft);font-weight:500}
.fu-hd-r{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fu-prog{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:800;background:var(--fu-need-bg);color:var(--fu-need);border:1px solid var(--fu-need-line);white-space:nowrap}
.fu-prog.done{background:var(--fu-ok-bg);color:var(--fu-ok);border-color:var(--fu-ok-line)}
.fu-prog.opt{background:transparent;color:var(--fu-opt-ink);border:1px dashed var(--fu-opt-line);font-weight:600}
.fu-sw{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--fx-text);cursor:pointer;white-space:nowrap}
.fu-sw input{width:16px;height:16px;margin:0}
.fu-sw.dis{opacity:.7;cursor:default}
.fu-sw[hidden],.fu-rv-chip[hidden],.fu-pill[hidden],.fu-sum[hidden]{display:none}
.fu-hd .crm-role-btn,.fu-hd button[class*="text-"]{min-height:0}
.fu-bd{padding:4px 14px 14px}
.fu-sec.fu-fold .fu-bd{display:none}
body .fu-sec .acc-bd{max-height:none;overflow:visible;transition:none}
.fu-sum{display:none;align-items:center;gap:8px;padding:10px 12px;margin-top:8px;border-radius:10px;background:rgba(var(--rc),.07);border:1px dashed rgba(var(--rc),.45);font-size:13px;color:var(--fx-text)}
.fu-sec.fu-same .fu-sum,.fu-sec.fu-sumon .fu-sum{display:flex}
.fu-sec.fu-same .fu-grid,.fu-sec.fu-sumon .fu-grid{display:none}
.fu-sum b{font-weight:800}
.fu-sum span{color:var(--fx-muted)}
.fu-sum button{margin-left:auto;background:none;border:0;color:var(--fx-gold-ink);font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:underline}
.fu-noused{padding:10px 4px;color:var(--fx-soft);font-size:12.5px}
.fu-fold-note{display:none}

/* 欄位格線（引擎把欄位長在 .fu-grid 容器內，這裡只重新排版＋上色） */
.fu-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 12px;padding-top:8px}
.fu-grid>.col-span-2,.fu-grid>.fu-full{grid-column:1/-1}
.fu-grid>[data-fk]{grid-column:span 3;min-width:0}
.fu-grid>.fu-s2{grid-column:span 2}
.fu-grid>.fu-s3{grid-column:span 3}
.fu-grid>.fu-s6{grid-column:1/-1}
.fu-grid .fu-unused{display:none!important}
body.fu-all .fu-grid .fu-unused{display:flex!important;opacity:.45}
.fu-grid .fu-hide,.fu-hide{display:none!important}
.fu-grid .fu-engine-same{display:none!important}
.fu-subhd{grid-column:1/-1;font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--fx-gold-ink);margin-top:6px;padding-top:8px;border-top:1px dashed var(--fx-line)}
.fu-grid>.fu-subhd.fu-unused{display:none}
.fu-grid [data-fk]{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px 9px 7px 11px;border-radius:10px;border:1px solid transparent;border-left:3px solid transparent;transition:background .15s,border-color .15s}
.fu-grid [data-fk]>span:first-child,.fu-grid [data-fk]>span.fu-lb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px!important;font-weight:700;color:var(--fx-text)!important;line-height:1.3;min-height:16px}
.fu-lbl{white-space:nowrap}
.fu-prints{font-size:10.5px;font-weight:600;color:var(--fx-soft);padding:0 7px;border-radius:99px;background:var(--fx-card3);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;cursor:help}
.fu-tag{margin-left:auto;font-size:10.5px;font-weight:800;padding:0 8px;border-radius:99px;white-space:nowrap;display:none}
.fu-grid [data-fk].fu-need{background:var(--fu-need-bg);border-color:var(--fu-need-line);border-left-color:var(--fu-need-bar)}
.fu-grid [data-fk].fu-need .fu-tag{display:inline-block;background:var(--fu-need-bar);color:#3a2c00}
.fu-grid [data-fk].fu-ok{background:var(--fu-ok-bg);border-color:var(--fu-ok-line);border-left-color:var(--fu-ok-bar)}
.fu-grid [data-fk].fu-ok .fu-tag{display:inline-block;background:transparent;color:var(--fu-ok);font-size:13px;padding:0}
.fu-grid [data-fk].fu-opt{background:transparent;border:1px dashed var(--fu-opt-line);border-left:3px dashed var(--fu-opt-line)}
.fu-grid [data-fk].fu-opt .fu-tag{display:inline-block;background:transparent;color:var(--fu-opt-ink);font-weight:600;border:1px dashed var(--fu-opt-line)}
.fu-grid [data-fk].fu-err{border-color:#e05252;border-left-color:#e05252}
.fu-grid input:not([type=checkbox]):not([type=radio]),.fu-grid select{height:38px;font-size:14px;padding:0 10px;min-width:0}
.fu-grid .addr-mod{background:transparent;border:1px solid transparent;padding:6px 9px 7px 11px;border-radius:10px}
.fu-grid .addr-mod input{height:36px!important;border-radius:8px;background:var(--fx-field)}
.fu-grid .addr-mod>span:first-child{font-size:12px;font-weight:700;color:var(--fx-text)}
.fu-grid #stampPostBlock{grid-column:1/-1}
.fu-grid .flex.flex-wrap{row-gap:4px}
.fu-grid label.cursor-pointer{min-height:0}
.fu-flash{animation:fuFlash 1.4s ease-out 1}
@keyframes fuFlash{0%{box-shadow:0 0 0 0 var(--fu-flash);outline:2px solid var(--fu-need-bar)}60%{box-shadow:0 0 0 12px rgba(232,160,32,0);outline:2px solid var(--fu-need-bar)}100%{box-shadow:0 0 0 0 rgba(232,160,32,0);outline:2px solid transparent}}

/* ── 統一勾選 chips ── */
.fu-crow{padding:9px 0;border-top:1px dashed var(--fx-line2)}
.fu-crow:first-of-type{border-top:0}
.fu-crow-h{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-weight:800;font-size:13px;color:var(--fx-hd);flex-wrap:wrap}
.fu-crow-h small{font-weight:500;color:var(--fx-soft);font-size:11.5px}
.fu-need-tag,.fu-opt-tag{font-size:10.5px;font-weight:800;padding:0 8px;border-radius:99px}
.fu-need-tag{background:var(--fu-need-bar);color:#3a2c00}
.fu-need-tag.ok{background:transparent;color:var(--fu-ok);font-size:13px;padding:0}
.fu-opt-tag{background:transparent;color:var(--fu-opt-ink);border:1px dashed var(--fu-opt-line);font-weight:600}
.fu-crow.fu-need-on{background:var(--fu-need-bg);border-left:3px solid var(--fu-need-bar);padding-left:10px;border-radius:10px;border-top-color:transparent}
.fu-crow.fu-ok-on{border-left:3px solid var(--fu-ok-bar);padding-left:10px}
.fu-chips{display:flex;flex-wrap:wrap;gap:7px}
.fu-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 10px;border-radius:999px;border:1px solid var(--fx-inb);background:var(--fx-field);cursor:pointer;font-size:13.5px;line-height:1.3;user-select:none;font-family:inherit;color:var(--fx-text);transition:background .12s,border-color .12s}
.fu-chip:hover{border-color:var(--fx-gold)}
.fu-chip .fu-bx{width:15px;height:15px;border:1.5px solid var(--fx-inb);border-radius:4px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:transparent;line-height:1}
.fu-chip.single .fu-bx{border-radius:50%}
.fu-chip.on{background:var(--fx-acc-bg);border-color:var(--fx-gold);color:var(--fx-hd);font-weight:700}
.fu-chip.on .fu-bx{background:var(--fx-gold);border-color:var(--fx-gold);color:var(--fx-on-gold);font-weight:900}
.fu-chip.nb{border-style:dashed;color:var(--fx-soft)}
.fu-chip .fu-auto{font-style:normal;font-size:10px;font-weight:800;padding:0 6px;border-radius:99px;background:var(--fu-ok-bg);border:1px solid var(--fu-ok-line);color:var(--fu-ok)}
.fu-chip .fu-auto[hidden]{display:none}
.fu-chip input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.fu-chip-note{font-size:11.5px;color:var(--fx-soft);margin-top:6px}

/* ── 保單號碼 ── */
.fu-prow{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px dashed var(--fx-line2);flex-wrap:wrap}
.fu-prow:first-child{border-top:0}
.fu-prow .fu-pn{display:flex;align-items:center;gap:8px;min-width:118px;font-weight:700;font-size:13px}
.fu-prow .fu-pn img,.fu-prow .fu-pn .fu-lg-ph{width:22px;height:22px;border-radius:6px;object-fit:contain;background:#fff}
.fu-pins{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 220px;min-width:0}
.fu-pins .fu-pi{flex:1 1 170px;min-width:0;position:relative}
body .fu-pi input{width:100%;height:38px;font-size:14px;padding:0 10px;border:1px solid var(--fx-inb);border-radius:10px;border-left:3px solid var(--fu-need-bar);background:var(--fu-need-bg)}
body .fu-pi.ok input{border-left-color:var(--fu-ok-bar);background:var(--fu-ok-bg)}
body .fu-pi.extra input{border-left-color:var(--fu-opt-line);background:var(--fx-field);border-style:dashed}
body .fu-pi.extra.ok input{border-left:3px solid var(--fu-ok-bar);border-style:solid;background:var(--fu-ok-bg)}
.fu-padd{border:1px dashed var(--fx-acc-line);background:none;border-radius:99px;padding:3px 12px;font-size:12px;color:var(--fx-gold-ink);cursor:pointer;font-weight:700;white-space:nowrap}
.fu-padd:hover{background:var(--fx-acc-bg)}

/* ── 各家專屬卡 ── */
.fu-dcards{display:flex;flex-direction:column;gap:12px}
.fu-dc{border:1px solid var(--fx-line);border-radius:14px;background:var(--fx-card);overflow:hidden;box-shadow:var(--fx-shadow-sm)}
.fu-dc-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;background:linear-gradient(90deg,rgba(232,160,32,.13),rgba(232,160,32,0) 70%);border-left:4px solid var(--fx-gold)}
.fu-dc-hd .fu-lg{width:26px;height:26px;border-radius:7px;object-fit:contain;background:#fff;flex:0 0 auto}
.fu-dc-hd .fu-lg-ph{width:26px;height:26px;border-radius:7px;background:var(--fx-card3);color:var(--fx-gold-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.fu-dc-hd b{font-size:14px;font-weight:800;color:var(--fx-hd)}
.fu-dc-hd em{font-style:normal;font-size:11.5px;color:var(--fx-soft)}
.fu-dc-hd .chev{margin-left:2px;color:var(--fx-soft);transition:transform .2s;font-size:13px;font-style:normal}
.fu-dc.fu-fold .fu-dc-hd .chev{transform:rotate(-90deg)}
.fu-dc.fu-fold .fu-dc-bd{display:none}
.fu-dc-bd{padding:2px 0 6px}
.fu-dc.fu-dc-solo{border:0;box-shadow:none;background:transparent;border-radius:0}
.fu-dc.fu-dc-solo>.fu-dc-hd{display:none}
.fu-dc.fu-dc-solo.fu-fold .fu-dc-bd{display:block}
.fu-dc-none{padding:10px 16px;color:var(--fx-soft);font-size:12.5px}
.fu-g{padding:9px 14px 10px 14px;border-top:1px dashed var(--fx-line2);border-left:3px solid transparent}
.fu-g:first-child{border-top:0}
.fu-g.fu-gneed{background:var(--fu-need-bg);border-left-color:var(--fu-need-bar)}
.fu-g.fu-gok{border-left-color:var(--fu-ok-bar)}
.fu-g.fu-gopt{border-left:3px dashed var(--fu-opt-line)}
.fu-g-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fu-g-h b{font-size:13px;font-weight:800;color:var(--fx-hd)}
.fu-g-h .fu-md{font-size:10.5px;font-weight:600;color:var(--fx-soft)}
.fu-g-hint{font-size:11.5px;color:var(--fx-soft);margin:2px 0 6px;line-height:1.5}
.fu-g-body{margin-top:6px}
.fu-g.fu-gfold .fu-g-body{display:none}
.fu-tog{display:flex;align-items:center;gap:10px;cursor:pointer}
.fu-tog .fu-sw2{position:relative;width:34px;height:20px;border-radius:99px;background:var(--fx-inb);flex:0 0 auto;transition:background .15s}
.fu-tog .fu-sw2::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:left .15s}
.fu-tog.on .fu-sw2{background:var(--fx-gold)}
.fu-tog.on .fu-sw2::after{left:16px}
.fu-tog span.fu-tl{font-size:13px;font-weight:700;color:var(--fx-text)}
.fu-tog.on span.fu-tl{color:var(--fx-hd)}
.fu-tog input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.fu-fills{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:8px}
.fu-fill,.fu-txt{display:flex;flex-direction:column;gap:3px;flex:1 1 168px;min-width:0;max-width:340px;padding:5px 8px 6px 10px;border-radius:9px;border:1px solid transparent;border-left:3px solid transparent}
.fu-fill>span,.fu-txt>span{font-size:11.5px;font-weight:700;color:var(--fx-text);display:flex;align-items:center;gap:6px}
.fu-fill input,.fu-txt input{height:34px;font-size:13.5px;padding:0 9px;border:1px solid var(--fx-inb);border-radius:8px;width:100%;min-width:0;background:var(--fx-field);color:var(--fx-text)}
.fu-fill.need,.fu-txt.need{background:var(--fu-need-bg);border-color:var(--fu-need-line);border-left-color:var(--fu-need-bar)}
.fu-fill.ok,.fu-txt.ok{background:var(--fu-ok-bg);border-color:var(--fu-ok-line);border-left-color:var(--fu-ok-bar)}
.fu-txt.opt{border:1px dashed var(--fu-opt-line);border-left:3px dashed var(--fu-opt-line)}
.fu-fill.need>span::after,.fu-txt.need>span::after{content:"待填";margin-left:auto;font-size:10.5px;font-weight:800;padding:0 8px;border-radius:99px;background:var(--fu-need-bar);color:#3a2c00}
.fu-fill.ok>span::after,.fu-txt.ok>span::after{content:"✓";margin-left:auto;color:var(--fu-ok);font-size:13px}
.fu-txt.opt>span::after{content:"選填";margin-left:auto;font-size:10.5px;color:var(--fu-opt-ink)}
.fu-fill[hidden],.fu-txt[hidden],.fu-chip[hidden],.fu-g[hidden]{display:none}
.fu-item-fill{display:inline-flex;vertical-align:middle}

/* ── ③ 檢查與產生 ── */
.fu-rv{background:var(--fx-card);border:1px solid var(--fx-line);border-radius:16px;box-shadow:var(--fx-shadow);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 92px)}
.fu-rv-hd{display:flex;align-items:center;gap:10px;padding:12px 16px 4px}
.fu-rv-hd h2{font-size:15.5px;font-weight:800;margin:0;color:var(--fx-hd)}
.fu-rv-sum{padding:2px 16px 8px;font-size:13px;color:var(--fx-muted);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.fu-rv-sum b{color:var(--fx-text)}
.fu-rv-meter{margin:0 16px 8px;height:8px;border-radius:99px;background:var(--fx-card3);overflow:hidden}
.fu-rv-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fu-need-bar),var(--fu-ok-bar));border-radius:99px;transition:width .25s}
.fu-rv-list{list-style:none;margin:0;padding:0 8px 8px;overflow:auto;min-height:0;flex:1 1 auto}
.fu-todo{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;cursor:pointer;font-size:13px;line-height:1.35;border:0;background:none;width:100%;text-align:left;font-family:inherit;color:var(--fx-text)}
.fu-todo:hover{background:var(--fu-need-bg)}
.fu-todo i{width:8px;height:8px;border-radius:50%;background:rgb(var(--rc,100,116,139));flex:0 0 auto}
.fu-todo b{font-weight:700;white-space:nowrap}
.fu-todo span{color:var(--fx-muted);min-width:0;overflow:hidden;text-overflow:ellipsis}
.fu-todo u{margin-left:auto;font-size:11px;color:var(--fx-gold-ink);text-decoration:none;white-space:nowrap}
.fu-rv-more{margin:0 10px 6px;font-size:12px;color:var(--fx-gold-ink);background:none;border:0;cursor:pointer;text-decoration:underline;text-align:left}
.fu-rv-good{margin:2px 16px 8px;padding:9px 12px;border-radius:10px;background:var(--fu-ok-bg);border:1px solid var(--fu-ok-line);color:var(--fu-ok);font-weight:700;font-size:13px}
.fu-rv-nodoc{margin:2px 16px 8px;padding:9px 12px;border-radius:10px;background:var(--fx-card2);border:1px dashed var(--fx-line);color:var(--fx-muted);font-size:13px}
.fu-rv-scope{display:flex;align-items:center;gap:12px;padding:6px 16px;font-size:12.5px;color:var(--fx-muted);flex-wrap:wrap}
.fu-rv-scope label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.fu-rv-cta{padding:10px 16px 14px;border-top:1px solid var(--fx-line2);background:var(--fx-card)}
.fu-rv-cta .cta-main{width:100%}
.fu-rv-cta p{margin:6px 0 0;font-size:12px;text-align:center;color:var(--fx-muted)}
.fu-rv-cta p:empty{display:none}
.fu-rv-chip{display:none}
.fu-all-link{margin:14px 0 0;text-align:center;font-size:12px;color:var(--fx-soft)}
.fu-all-link button{background:none;border:0;color:var(--fx-gold-ink);text-decoration:underline;cursor:pointer;font-size:12px}
.fu-adv{margin-top:18px}
.fu-foot{margin-top:16px;font-size:12px;color:var(--fx-soft);line-height:1.7}

/* ── 平板／手機 ── */
@media (max-width:1000px){
  .fu-cols{grid-template-columns:minmax(0,1fr)}
  .fu-right{position:static}
  .fu-wrap{padding-bottom:118px}
  .fu-rv{position:fixed;left:0;right:0;bottom:0;z-index:60;border-radius:16px 16px 0 0;border-width:1px 0 0;max-height:72vh;box-shadow:0 -12px 30px -14px rgba(0,0,0,.45);padding-bottom:env(safe-area-inset-bottom,0)}
  .fu-rv-hd,.fu-rv-meter,.fu-rv-scope{display:none}
  .fu-rv.open .fu-rv-hd,.fu-rv.open .fu-rv-scope{display:flex}
  .fu-rv-sum{display:none}
  .fu-rv-list{display:none;max-height:42vh}
  .fu-rv.open .fu-rv-list{display:block}
  .fu-rv-cta{display:flex;align-items:center;gap:10px;border-top:0;padding:10px 14px 12px}
  .fu-rv-cta .cta-main{flex:1 1 auto;min-height:48px!important;padding:10px 14px!important;font-size:15px!important}
  .fu-rv-cta p{display:none}
  .fu-rv-chip{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:7px 12px;border-radius:99px;border:1px solid var(--fu-need-bar);background:var(--fu-need-bg);color:var(--fu-need);font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;min-height:44px}
  .fu-rv-chip.done{border-color:var(--fu-ok-bar);background:var(--fu-ok-bg);color:var(--fu-ok)}
  .fu-rv.open .fu-rv-meter{display:block}
}
@media (max-width:640px){
  .fu-wrap{padding:10px 12px 118px}
  .fu-card{padding:14px 13px;border-radius:14px}
  .fu-title h1{font-size:19px}
  .fu-oldlink{margin-left:0;width:100%}
  .fu-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 10px}
  .fu-grid>[data-fk],.fu-grid>.fu-s3{grid-column:1/-1}
  .fu-grid>.fu-s2{grid-column:span 2}
  .fu-grid input:not([type=checkbox]):not([type=radio]),.fu-grid select{height:44px;font-size:16px}
  .fu-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fu-doc{min-height:52px}
  .fu-chip{padding:8px 14px 8px 11px;font-size:14.5px;min-height:40px}
  .fu-fill,.fu-txt{flex:1 1 100%;max-width:none}
  .fu-fill input,.fu-txt input,.fu-pi input{height:42px;font-size:16px}
  .fu-prow .fu-pn{min-width:0;width:100%}
  body .fu-sec>.fu-hd{flex-wrap:wrap;padding:10px 12px}
  .fu-ttl{flex:1 1 0}
  .fu-hd-r{order:3;margin-left:0;width:100%;justify-content:space-between}
  body .fu-sec>.fu-hd>button,body .fu-sec>.fu-hd>.chev{order:2}
  .fu-bd{padding:2px 11px 12px}
  .fu-grid [data-fk] .flex>input,.fu-grid [data-fk] .flex>select{min-width:0}
  .fu-grid .addr-mod input{height:42px!important;font-size:16px}
  .fu-tools{gap:4px 10px}
}
@media (prefers-reduced-motion:reduce){.fu-flash{animation:none;outline:2px solid var(--fu-need-bar)}}
@media print{.fu-rv,.fu-tools{display:none!important}}

/* ═══ 20261019b 追加（授權書 adapter 用；只新增類別，理賠／契約變更頁不受影響）═══ */
.fu-r-hold{--rc:219,39,119}  .fu-r-cc{--rc:234,88,12}
html[data-rex-theme="dark"] .fu-r-hold{--rc:244,114,182}  html[data-rex-theme="dark"] .fu-r-cc{--rc:251,146,60}
.fu-dg-hint{font-size:12px;color:var(--fx-soft);margin:-2px 0 8px;line-height:1.55}
.fu-sec-note{margin:6px 0 2px;font-size:12px;line-height:1.6;color:var(--fx-muted)}
/* 卡片頂端提示（需上傳底稿等） */
.fu-notice{margin:8px 14px 2px;padding:10px 12px;border-radius:12px;border:1px solid var(--fu-need-line);border-left:4px solid var(--fu-need-bar);background:var(--fu-need-bg);font-size:12.5px;line-height:1.6;color:var(--fx-text)}
.fu-notice[hidden]{display:none}
.fu-notice.fu-nt-ok{border-color:var(--fu-ok-line);border-left-color:var(--fu-ok-bar);background:var(--fu-ok-bg)}
.fu-notice.fu-nt-info{border-color:var(--fx-line);border-left-color:var(--fx-gold);background:var(--fx-card2)}
.fu-nt-t{display:flex;align-items:center;gap:6px;font-weight:800;font-size:13px;color:var(--fx-hd)}
.fu-nt-t i{font-style:normal}
.fu-nt-steps{margin:6px 0 4px 1.3em;padding:0;list-style:decimal}
.fu-nt-steps li{margin:2px 0}
.fu-nt-steps li.done{color:var(--fu-ok)}
.fu-nt-steps li.done::marker{color:var(--fu-ok)}
.fu-nt-l{margin:3px 0}
.fu-nt-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fu-nt-acts button,.fu-nt-acts a,.fu-nt-acts label{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border-radius:99px;border:1px solid var(--fx-acc-line);background:var(--fx-card);color:var(--fx-hd);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit}
.fu-nt-acts .fu-nt-pri{background:var(--fx-gold);border-color:var(--fx-gold);color:var(--fx-on-gold);font-weight:800}
.fu-nt-acts button:disabled{opacity:.5;cursor:default}
@media (max-width:640px){.fu-notice{margin:8px 10px 2px}.fu-nt-acts button,.fu-nt-acts a,.fu-nt-acts label{min-height:40px}}
