/* rex/crm/lib/policy-view.css — 客戶入口（cust-portal）用的保單管理樣式：由 rex/crm/index.html 內聯樣式抽出並加 .rpv 範圍。
   CRM 本身仍用內聯樣式（未改動）；改 CRM 的 pmc／cs-／feetbl／ft-／rog 規則時請同步本檔。部署時 _deploy_cust.py 從 git HEAD 複製。 */
.rpv{--line:#e9ecf3;--prid:#5b4fd6;color:#1e293b;font-size:14px}
.rpv .rpv-body{background:#fff;color:#1e293b;border-radius:12px;padding:12px}
.rpv .psub{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.rpv .psubb{border:1px solid #E6E8F2;background:#fff;color:#475569;border-radius:99px;padding:6px 12px;font-size:13px;cursor:pointer}
.rpv .psubb.on{background:#4338CA;border-color:#4338CA;color:#fff}
.rpv .pv-nav{display:flex;gap:6px;align-items:center;font-size:13px;margin:0 0 10px;color:#64748b}
.rpv .pv-nav a{color:#4338CA;cursor:pointer;text-decoration:underline}
.rpv .pv-cur{color:#1e293b;font-weight:600}
.rpv .pv-foot{margin:10px 0}
.rpv .rok{color:#64748b}.rpv .rov{color:#0f172a;word-break:break-all}
.rpv .ctr.static{cursor:default}
.rpv .num-wrap .unit-sfx{font-size:12px;color:#94a3b8;white-space:nowrap}
.rpv .unit{font-size:11.5px;color:#94a3b8;margin-top:3px}
.rpv .ctr{position:relative;border:1px solid #E6E8F2;border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s}
.rpv .ctr.open{box-shadow:0 6px 22px rgba(91,79,214,.10);border-color:#C7CEF5}
.rpv .ctr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--prid,#5b4fd6);z-index:1}
.rpv .feewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rpv .feewrap .feetbl{width:100%;border-collapse:collapse;font-size:13px}
.rpv .feetbl th,.rpv .feetbl td{padding:7px 10px;border-bottom:1px solid #EEF0F6;text-align:left;vertical-align:top}
.rpv .feetbl thead th{background:#F8FAFC;color:#64748b;font-weight:600;font-size:12px;border-bottom:1.5px solid #E6E8F2}
.rpv .feetbl td.ft-fee{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rpv .feetbl .ft-mix{display:inline-block;margin-left:4px;font-size:11px;color:#c2410c}
.rpv .feetbl .ft-dash{color:#cbd5e1}
.rpv .feetbl tfoot .ft-tot td{background:#F8FAFC;font-weight:700;color:#1e293b;border-top:1.5px solid #E6E8F2;border-bottom:none}
.rpv .feetbl-x{font-size:12.5px;min-width:1120px}
.rpv .feetbl-x th,.rpv .feetbl-x td{white-space:nowrap;vertical-align:middle}
.rpv .feetbl-x td:nth-child(5){white-space:normal;min-width:240px;max-width:360px;line-height:1.45}
.rpv .feetbl-x th:nth-child(5){min-width:240px}
.rpv .feetbl-x td.ft-fee{white-space:nowrap}
.rpv .feetbl .ft-no{font-variant-numeric:tabular-nums;white-space:nowrap}
.rpv .feetbl .ft-dt{font-variant-numeric:tabular-nums;white-space:nowrap;color:#475569}
.rpv .feetbl .ft-co{font-weight:600;color:#334155}
.rpv .feetbl tr.ft-sub td{background:#FBFCFE}
.rpv .feetbl tr.ft-sub td:first-child{padding-left:20px;border-left:3px solid #E0E7FF}
.rpv .ft-tag{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:99px;background:#EEF2FF;color:#4338CA;white-space:nowrap}
.rpv .ft-tag-m{background:#4338CA;color:#fff}
.rpv .ft-st{display:inline-block;font-size:11px;padding:1px 7px;border-radius:99px;background:#F1F5F9;color:#64748b;white-space:nowrap}
.rpv .ft-st.ok{background:#DCFCE7;color:#166534}
.rpv .ft-st.bad{background:#FEE2E2;color:#991B1B}
.rpv .ft-st.done{background:#E0F2FE;color:#075985}
.rpv .feetbl .ft-need{color:#cbd5e1;white-space:nowrap}
.rpv .feetbl .ft-need i{display:inline-block;margin-left:3px;font-style:normal;font-size:9.5px;padding:0 4px;border-radius:4px;background:#FEF3C7;color:#92400E}
.rpv .feetbl tfoot .ft-half td{background:#FCFCFE;font-weight:600;color:#475569;border-top:1px dashed #E6E8F2}
.rpv .ft-blkhd{font-size:13px;font-weight:700;color:#334155;margin:16px 0 6px;display:flex;align-items:center;gap:6px}
.rpv .ft-blkhd span{font-size:11px;font-weight:600;color:#fff;background:#4338CA;border-radius:99px;padding:1px 8px}
.rpv .ft-blkhd.ft-blk-prop span{background:#c2410c}
.rpv .ft-blkhd.ft-blk-chart{margin-top:20px;border-top:1px solid #EEF0F6;padding-top:14px}
.rpv .ft-note{font-size:11.5px;line-height:1.6;color:#92400E;background:#FFFBEB;border:1px solid #FEF3C7;border-radius:8px;padding:8px 10px;margin-bottom:10px}
.rpv .ft-note b{color:#b45309}
.rpv .ft-chart{background:#fff;border:1px solid #EEF0F6;border-radius:10px;padding:6px 4px}
.rpv .ftage{font-size:11.5px;min-width:760px;font-variant-numeric:tabular-nums}
.rpv .ftage th,.rpv .ftage td{text-align:right;white-space:nowrap;padding:5px 8px}
.rpv .ftage .ftage-h{position:sticky;left:0;background:#F8FAFC;text-align:left;font-weight:600;color:#475569;z-index:1}
@media(max-width:600px){.rpv .feetbl th,.rpv .feetbl td{padding:6px 7px;font-size:12px}}
.rpv .feetbl td.ft-doc{white-space:nowrap}
.rpv .pp-none{color:#cbd5e1;font-size:11px}
.rpv .pmc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:6px}
.rpv .pmc{border:1px solid #E6E8F2;border-radius:12px;padding:11px 13px;cursor:pointer;transition:.12s;background:#fff}
.rpv .pmc:hover{border-color:#4338CA;box-shadow:0 2px 10px rgba(67,56,202,.08)}
.rpv .pmc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:6px}
.rpv .pmc-co{font-size:13px;font-weight:700;color:#4338CA}
.rpv .pmc-co.prop{color:#C2410C}
.rpv .pmc-co.none{color:#94a3b8}
.rpv .pmc-rid{font-size:10.5px;background:#EEF2FF;color:#4338CA;padding:1px 7px;border-radius:99px;white-space:nowrap}
.rpv .pmc-prod{font-size:12.5px;font-weight:600;color:#1e293b;margin-bottom:7px;line-height:1.4}
.rpv .pmc-row{display:flex;justify-content:space-between;font-size:11.5px;color:#64748b;margin:2px 0;gap:8px}
.rpv .pmc-row b{color:#334155;font-weight:600;text-align:right;word-break:break-all}
.rpv .pmc-no .miss{color:#DC2626}
.rpv .pmc-money{margin-top:7px;padding-top:7px;border-top:1px solid #F1F5F9;font-size:12px}
.rpv .pmc-add{border:1.5px dashed #C7CBE8;background:#FAFAFE;color:#4338CA;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:118px;gap:4px}
.rpv .pmc-add .pmc-add-plus{font-size:26px;font-weight:700;line-height:1}
.rpv .pmc-add .pmc-add-tx{font-size:12.5px;font-weight:600}
.rpv .pmc-add .pmc-add-sub{font-size:10.5px;color:#8B82E8;font-weight:500}
.rpv .rog{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden}
.rpv .rogh{background:#fbfbfe;padding:9px 14px;font-weight:700;font-size:13.5px;color:#334155;border-bottom:1px solid var(--line)}
.rpv .rogb{padding:6px 14px 10px}
.rpv .rof{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;padding:6px 0;border-bottom:1px dashed #EEF0F8;font-size:13.5px}
.rpv .rof:last-child{border-bottom:0}
.rpv .rov{color:#1e293b;word-break:break-all}
@media(max-width:640px){.rpv .rof{grid-template-columns:1fr;gap:2px}.rpv .rok{font-size:12px}}
.rpv .pc-grouphd{font-size:13px;font-weight:700;color:#4F46E5;margin:2px 2px 10px;padding-bottom:6px;border-bottom:2px solid #EEF0F8;display:flex;align-items:center;gap:7px}
.rpv .pc-grouphd:not(:first-child){margin-top:20px}
.rpv .pc-grouphd>span{font-size:11px;font-weight:600;color:#8B82E8;background:#F3F2FD;border-radius:99px;padding:1px 9px}
.rpv .pc-grouphd.pc-gh-prop{color:#C2410C;border-bottom-color:#FDEBD8}
.rpv .pc-grouphd.pc-gh-prop>span{color:#C2410C;background:#FEF3E7}
.rpv .c-no.miss{font-family:inherit;font-weight:700;color:#DC2626}
.rpv .c-money{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin-left:auto;white-space:nowrap;flex-shrink:0;line-height:1.3}
.rpv .c-fee{font-size:13.5px;font-weight:800;color:#0E9F6E}
.rpv .c-fee em{font-size:10.5px;font-weight:600;color:#9CA3AF;font-style:normal}
.rpv .c-amt{font-size:11.5px;color:#6B7280}
.rpv .c-mix,.rpv .c-money .mix{font-size:10px;font-weight:600;color:#B45309;margin-left:3px}
.rpv .pc-in.miss{border-color:#EF4444;background:#FEF2F2}
.rpv .s-no.miss{font-family:inherit;font-weight:700;color:#DC2626}
@media(max-width:430px){.rpv .c-money{order:6;align-items:flex-start;margin-left:0;flex-basis:100%;flex-direction:row;gap:10px;margin-top:2px}}
.rpv .csheet{padding:14px 16px 4px}
.rpv .cs-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.rpv .cs-hd .cs-co{color:#0f766e;font-weight:700;font-size:15px}
.rpv .cs-hd .cs-prod{color:#1e293b;font-weight:700;font-size:15px}
.rpv .cs-hd .cs-act{margin-left:auto;display:flex;gap:6px}
.rpv .cs-sect{font-size:12px;color:#64748b;margin:10px 0 4px}
.rpv .cs-info{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;border-top:1px solid #E6EAF2}
.rpv .cs-f{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid #EEF1F6;font-size:13px}
.rpv .cs-f b{flex:0 0 92px;font-weight:500;color:#475569;border-left:3px solid #94a3b8;padding-left:8px}
.rpv .cs-f span{color:#0f172a}
.rpv .cs-f .cs-dash{color:#94a3b8}
.rpv .cs-tw{overflow-x:auto;margin-top:6px}
.rpv .cs-tb{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap}
.rpv .cs-tb th,.rpv .cs-tb td{border:1px solid #E2E8F0;padding:6px 9px;text-align:left;font-weight:400}
.rpv .cs-tb th{background:#F8FAFC;color:#475569;font-weight:500}
.rpv .cs-tb .cs-m{color:#dc2626;font-weight:600}
.rpv .cs-tb .cs-s{color:#0ea5e9}
.rpv .cs-tb .cs-prodc{white-space:normal;min-width:200px;color:#0f766e}
.rpv .cs-tb tr.cs-sum td{text-align:right;background:#F8FAFC;color:#0f172a;font-weight:600}
.rpv .cs-miss{color:#dc2626}
.rpv .cs-tb .cs-doc{padding:3px 6px}
.rpv .cs-tb .cs-doc .s-docs{margin-left:0}
.rpv .cs-bad{color:#B45309}
@media(max-width:640px){.rpv .cs-info{grid-template-columns:1fr}.rpv .cs-f b{flex-basis:80px}}
.rpv .cb-needg .unit{font-size:10.5px}
.rpv .np{font-variant-numeric:tabular-nums;white-space:nowrap}
.rpv .np i{font-style:normal;font-size:10.5px;margin-left:5px;padding:0 6px;border-radius:99px;background:#EEF2FF;color:#4338CA}
.rpv .np-soon i{background:#FEF3C7;color:#92400E}
.rpv .np-hot i{background:#FEE2E2;color:#991B1B}
.rpv .np-none{color:#cbd5e1}
.rpv .pmc-due{font-size:10.5px;background:#FEF3C7;color:#92400E;padding:1px 7px;border-radius:99px;white-space:nowrap}
.rpv .pmc-due.hot{background:#FEE2E2;color:#991B1B}
.rpv .pv-nav .pv-cur{color:#1e293b;font-weight:600}
.rpv .np{font-variant-numeric:tabular-nums;white-space:nowrap}
.rpv .np i{font-style:normal;font-size:10.5px;margin-left:5px;padding:0 6px;border-radius:99px;background:#EEF2FF;color:#4338CA}
.rpv .np-soon i{background:#FEF3C7;color:#92400E}
.rpv .np-hot i{background:#FEE2E2;color:#991B1B}
.rpv .np-none{color:#cbd5e1}
.rpv .pmc-due{font-size:10.5px;background:#FEF3C7;color:#92400E;padding:1px 7px;border-radius:99px;white-space:nowrap}
.rpv .pmc-due.hot{background:#FEE2E2;color:#991B1B}
.rpv .btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:10px;border:1px solid #E6E8F2;background:#fff;color:#334155;font-size:14px;cursor:pointer}
