/* ============================================================
   20260922 客戶理財報告書（預覽）—— A4 文件版型
   範圍：只作用在 .book_content.rpt-cus（book_data_fun.php 三個 _cus 函式）
   結構：book_data_fun.php 的 rpt_paginate() 把內容切成 <section class="rpt-sheet">，
         每張紙自帶頁眉（客戶｜章名）與頁尾（機密｜頁碼）。
   風格：灰桌面上的白紙；標題思源宋體、內文思源黑體、數字 IBM Plex；
         表格一律「上粗線＋灰字表頭＋髮絲線」，數字靠右等寬，只有小計/合計/警示用色。
   ============================================================ */
.book_content.rpt-cus{
	--rpt-paper:#ffffff;
	--rpt-desk:#e7e9ec;
	--rpt-ink:#1d2732;
	--rpt-ink2:#4b5763;
	--rpt-mute:#7f8a96;
	--rpt-navy:#163a5f;
	--rpt-navy2:#2a5a86;
	--rpt-copper:#a8672a;
	--rpt-hair:#d9dfe6;
	--rpt-rule:#b9c3cd;
	--rpt-tint:#eef3f8;
	--rpt-band:#f5f7f9;
	--rpt-pos:#2b7a4b;
	--rpt-neg:#b0392b;
	--rpt-warn-bg:#fbf1f0;
	--rpt-serif:"Noto Serif TC","Source Han Serif TC","PMingLiU",serif;
	--rpt-sans:"Noto Sans TC","Source Han Sans TC","Microsoft JhengHei","微軟正黑體",sans-serif;
	--rpt-num:"IBM Plex Sans","Noto Sans TC","Microsoft JhengHei",sans-serif;

	background:var(--rpt-desk);
	color:var(--rpt-ink);
	font-family:var(--rpt-sans);
	font-size:10.5pt;
	line-height:1.78;
	letter-spacing:.01em;
	padding:26px 16px 40px;
	margin:0;
	max-width:none;
	border:0;
	box-shadow:none;
	counter-reset:rptfig;
}
.book_content.rpt-cus *{box-sizing:border-box;}
.book_content.rpt-cus a{color:var(--rpt-navy2);text-decoration:none;}
#infoToolArea:has(.book_content.rpt-cus){background:#e7e9ec !important;padding:0;}
.rpt-cus center{display:block;}
.rpt-cus img{max-width:100%;height:auto;}

/* ---------- 紙張 ---------- */
.rpt-cus .rpt-sheet{
	position:relative;
	width:794px;
	max-width:100%;
	min-height:1123px;
	margin:0 auto 26px;
	background:var(--rpt-paper);
	box-shadow:0 1px 2px rgba(0,0,0,.08),0 14px 36px rgba(0,0,0,.12);
	/* A4 寬 794px：1.27 公分約 48px，與 Word「窄」邊界一致。 */
	padding:48px;
}
.rpt-cus .rpt-sheet.rpt-cover-sheet{padding:48px;display:flex;flex-direction:column;}
.rpt-cus .rpt-rh{
	position:absolute;left:48px;right:48px;top:16px;
	display:flex;justify-content:space-between;gap:16px;
	font-size:8.5pt;color:var(--rpt-mute);letter-spacing:.08em;
	border-bottom:1px solid var(--rpt-hair);padding-bottom:6px;
}
.rpt-cus .rpt-rf{
	position:absolute;left:48px;right:48px;bottom:16px;
	display:flex;justify-content:space-between;gap:16px;
	font-size:8.5pt;color:var(--rpt-mute);letter-spacing:.06em;
	border-top:1px solid var(--rpt-hair);padding-top:6px;
}
.rpt-cus .rpt-rf .pn{font-family:var(--rpt-num);}

/* ---------- 封面 ---------- */
.rpt-cus .rpt-cover{padding:0;margin:0;border:0;display:flex;flex-direction:column;flex:1;}
.rpt-cus .rpt-cover-kicker{font-size:9pt;letter-spacing:.35em;color:var(--rpt-copper);font-weight:600;}
.rpt-cus .rpt-cover-kicker::after{content:"";display:block;width:56px;height:2px;background:var(--rpt-navy);margin:20px 0 30px;}
.rpt-cus .rpt-cover-title{
	font-family:var(--rpt-serif);font-size:32pt;font-weight:700;letter-spacing:.14em;
	color:var(--rpt-navy);line-height:1.25;margin:0 0 10px;text-wrap:balance;
}
.rpt-cus .rpt-cover-sub{font-size:12pt;color:var(--rpt-ink2);letter-spacing:.1em;margin-bottom:52px;}
.rpt-cus .rpt-cover-grid{display:grid;grid-template-columns:130px 1fr;row-gap:12px;max-width:470px;}
.rpt-cus .rpt-cover-grid .rpt-kv{display:contents;}
.rpt-cus .rpt-kv-k{color:var(--rpt-mute);letter-spacing:.08em;font-size:9.5pt;padding-top:2px;}
.rpt-cus .rpt-kv-v{border-bottom:1px solid var(--rpt-hair);padding-bottom:8px;font-weight:500;min-height:1.7em;}
.rpt-cus .rpt-cover-date{margin-top:34px;color:var(--rpt-ink2);font-size:10pt;letter-spacing:.1em;}
.rpt-cus .rpt-cover-note{margin-top:auto;padding-top:36px;font-size:8.5pt;color:var(--rpt-mute);line-height:1.65;}
.rpt-cus .rpt-conf{display:inline-block;border:1px solid var(--rpt-rule);padding:2px 10px;letter-spacing:.2em;font-size:8pt;color:var(--rpt-ink2);margin-bottom:12px;}

/* ---------- 目錄 ---------- */
.rpt-cus .book_outline{
	font-family:var(--rpt-serif);font-size:16pt;font-weight:700;color:var(--rpt-navy);
	text-align:left;letter-spacing:.22em;margin:0 0 22px;padding-bottom:12px;border-bottom:2px solid var(--rpt-navy);
}
/* 20260924 目錄比照專業理財報告書：英文眉標 + 粗線標題 + 一行一條細線的章、縮排灰字的子項目 */
.rpt-cus .book_outline::before{
	content:"CONTENTS";display:block;font-family:var(--rpt-num);font-size:8.5pt;font-weight:400;
	letter-spacing:.24em;color:var(--rpt-mute);margin-bottom:7px;
}
.rpt-cus ul.boutlinev1_ul{margin:0;padding:0;list-style:none;counter-reset:none;}
.rpt-cus ul.boutlinev1_ul > li{display:block;padding:0;margin:0;font-size:11pt;cursor:default;transition:none;}
.rpt-cus ul.boutlinev1_ul > li > a{
	display:block;padding:11px 0 7px;margin-top:4px;font-family:var(--rpt-serif);font-weight:700;
	color:var(--rpt-navy);border-bottom:1px solid var(--rpt-hair);letter-spacing:.06em;
}
/* 子項目改單欄，和參考報告一樣一行一項，不再擠成兩欄 */
.rpt-cus ul.boutlinev1_u2{list-style:none !important;margin:4px 0 10px;padding:0;display:block;}
.rpt-cus ul.boutlinev1_u2 li{
	display:block;box-shadow:none;color:var(--rpt-ink2);font-size:10pt;
	padding:5px 0 5px 20px;position:relative;cursor:default;line-height:1.5;
}
.rpt-cus ul.boutlinev1_u2 li::before{content:none;}
.rpt-cus ul.boutlinev1_u2 li a{color:var(--rpt-ink2);}
.rpt-cus ul.boutlinev1_u2 li a:hover{color:var(--rpt-navy2);}
.rpt-cus ul.boutlinev1_u2 ul.boutlinev1_u2{margin:0 0 0 18px;}
.rpt-cus ul.boutlinev1_u2 ul.boutlinev1_u2 li{padding-top:2px;padding-bottom:2px;}

/* ---------- 章 / 節 標題 ---------- */
.rpt-cus .rpt-chapter{
	display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:end;
	margin:0 0 26px;padding-bottom:12px;border-bottom:2px solid var(--rpt-navy);
}
.rpt-cus .rpt-chapter .no{font-family:var(--rpt-serif);font-size:28pt;line-height:1;color:var(--rpt-navy);font-weight:700;}
.rpt-cus .rpt-chapter .en{font-family:var(--rpt-num);font-size:8.5pt;color:var(--rpt-mute);letter-spacing:.2em;text-transform:uppercase;}
.rpt-cus .rpt-chapter .t{font-family:var(--rpt-serif);font-size:16.5pt;color:var(--rpt-navy);font-weight:700;letter-spacing:.08em;line-height:1.25;}
.rpt-cus h2.book_inh2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0;padding:0;border:0;}

.rpt-cus .kycv10_titlestyle,
.rpt-cus .ragraph_boldfystyle,
.rpt-cus .ragraph_boldfystyle_v1,
.rpt-cus .rpt-h3{
	display:block;width:100% !important;font-family:var(--rpt-sans);font-size:12.5pt;font-weight:700;
	color:var(--rpt-navy);background:none;text-align:left !important;line-height:1.5;
	margin:30px 0 10px;padding:0 0 7px;border:0;border-bottom:1px solid var(--rpt-rule);border-radius:0;letter-spacing:.04em;
}
.rpt-cus .kycv30_notestyle,
.rpt-cus .kycv10_titlestyle_dgray,
.rpt-cus .kycv10_titlestyle_lgray,
.rpt-cus .rpt-h4{
	display:block;font-size:11.5pt;font-weight:700;color:var(--rpt-ink);background:none;text-align:left;
	line-height:1.5;margin:22px 0 8px;padding:0 0 0 10px;border:0;border-left:1px solid var(--rpt-navy);border-radius:0;max-width:100%;
}
.rpt-cus b[id^='h2_'],.rpt-cus .rpt-h5{display:block;font-size:11pt;font-weight:700;color:var(--rpt-ink);margin:14px 0 4px;}
.rpt-cus .c3d3f_title,.rpt-cus .book_img_fonts{
	font-size:9.5pt;color:var(--rpt-mute);text-align:center;letter-spacing:.14em;margin:10px 0 6px;font-weight:500;
}
.rpt-cus .book_img_fonts[style*='text-align:right']{letter-spacing:.02em;font-size:9pt;margin:0 auto 2px;}

/* ---------- 內文 ---------- */
.rpt-cus .paragraph_style,.rpt-cus .paragraph_noinstyle,.rpt-cus .paragraph_noindentstyle,.rpt-cus .paragraph_noboldintstyle{
	font-size:10.5pt;line-height:1.85;margin:0 0 10px;color:var(--rpt-ink);text-align:justify;
}
.rpt-cus .paragraph_style{text-indent:2em;}
.rpt-cus .ragraph_boldfontsstyle{font-size:10.5pt;font-weight:600;line-height:1.95;margin:8px 0;}
.rpt-cus .paragraph_nmstyle,.rpt-cus .paragraph_nmstyle_v1{
	display:block;color:var(--rpt-mute);font-size:9.5pt;line-height:1.7;background:none;
	border:0;border-radius:0;padding:0 0 0 1.6em;margin:8px 0 16px;text-indent:-1.6em;
}
.rpt-cus .book_listflex{margin:3px 0;font-size:10.5pt;}
.rpt-cus .book_listno{color:var(--rpt-copper);font-weight:700;font-family:var(--rpt-num);}
.rpt-cus .blank_paragraph{margin-bottom:12px;}
.rpt-cus .blank_inparagraph{margin-bottom:24px;}
.rpt-cus .red_color{color:var(--rpt-neg);}
.rpt-cus .kycv10_notestyle,.rpt-cus .kycv20_notestyle{
	background:none;border:0;border-top:1px solid var(--rpt-hair);border-bottom:1px solid var(--rpt-hair);border-radius:0;
	padding:9px 2px;margin:8px 0 14px;font-size:10pt;line-height:1.75;color:var(--rpt-ink2);
}
.rpt-cus .caption_block{background:none;border:1px solid var(--rpt-hair);border-radius:0;padding:11px 15px;margin:12px 0;line-height:1.75;}
.rpt-cus .caption_block_bigerror,.rpt-cus .caption_block_error{
	background:none;border:1px solid #e0c3bf;border-radius:0;
	padding:11px 15px;margin:12px 0;color:var(--rpt-neg);font-weight:600;line-height:1.75;
}
.rpt-cus .kyc_textlist{font-size:10pt;line-height:1.75;}
.rpt-cus .kyc_tlinfol,.rpt-cus .kyc_tlinfor{font-size:10pt;}
.rpt-cus .rpt-note{margin:8px 0 16px;padding:8px 2px 0;background:none;border-top:1px solid var(--rpt-hair);font-size:10pt;line-height:1.75;}
.rpt-cus .rpt-note-k{display:block;font-size:8.5pt;color:var(--rpt-mute);letter-spacing:.1em;margin-bottom:2px;}
.rpt-cus .rpt-note-v{color:var(--rpt-ink);}
.rpt-cus ul.boutlinev1_u5,.rpt-cus ul.boutlinev1_u6{margin:5px 0 12px;padding-left:6px;}
.rpt-cus ul.boutlinev1_u5 li{color:var(--rpt-ink);cursor:default;padding:2px 4px 2px 26px;line-height:1.75;font-size:10pt;}
.rpt-cus ul.boutlinev1_u6{background:none;border:0;border-top:1px solid var(--rpt-hair);border-bottom:1px solid var(--rpt-hair);border-radius:0;padding:9px 2px;}
.rpt-cus ul.boutlinev1_u6 li{color:#5b6b7c;cursor:default;padding:2px 4px 2px 26px;line-height:1.75;font-size:9.5pt;}
.rpt-cus ul.boutlinev1_u6 li b{color:var(--rpt-navy);}

/* ---------- 執行摘要 ---------- */
.rpt-cus .rpt-kpi{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--rpt-navy);border-bottom:1px solid var(--rpt-rule);margin:8px 0 22px;}
.rpt-cus .rpt-kpi > div{padding:13px 12px 12px;border-right:1px solid var(--rpt-hair);}
.rpt-cus .rpt-kpi > div:nth-child(3n){border-right:0;}
.rpt-cus .rpt-kpi > div:nth-child(n+4){border-top:1px solid var(--rpt-hair);}
.rpt-cus .rpt-kpi .k{font-size:8.5pt;color:var(--rpt-mute);letter-spacing:.1em;margin-bottom:5px;}
.rpt-cus .rpt-kpi .v{font-family:var(--rpt-num);font-size:17pt;font-weight:600;color:var(--rpt-navy);line-height:1.15;font-variant-numeric:tabular-nums;}
.rpt-cus .rpt-kpi .v small{font-size:9.5pt;font-weight:500;color:var(--rpt-ink2);margin-left:3px;font-family:var(--rpt-sans);}
.rpt-cus .rpt-kpi .s{font-size:8.5pt;color:var(--rpt-ink2);margin-top:5px;}
.rpt-cus .rpt-kpi .s.ok{color:var(--rpt-pos);}
.rpt-cus .rpt-kpi .s.warn{color:var(--rpt-neg);}
.rpt-cus .rpt-sum-lead{font-size:11pt;line-height:1.85;margin:0 0 6px;text-align:justify;}
.rpt-cus .rpt-guide{list-style:none;margin:6px 0 0;padding:0;}
.rpt-cus .rpt-guide li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--rpt-hair);font-size:10pt;}
.rpt-cus .rpt-guide .g{font-family:var(--rpt-serif);color:var(--rpt-navy);font-weight:700;}
.rpt-cus .rpt-guide .d{color:var(--rpt-ink2);}

/* ---------- 標準表格 ---------- */
.rpt-cus table.rpt-tbl{width:100%;border-collapse:collapse;font-size:9.5pt;margin:8px auto 22px;border-top:2px solid var(--rpt-navy);border-bottom:1px solid var(--rpt-rule);}
.rpt-cus table.rpt-tbl caption{caption-side:top;text-align:left;font-size:11pt;font-weight:700;color:var(--rpt-navy);padding:0 0 7px;letter-spacing:.04em;}
/* 20260922 caption 不可用 flex：<caption> 變成 flex 容器後寬度會塌成第一欄，標題會被擠成窄欄（單位：元 跑版） */
.rpt-cus table.rpt-tbl caption .rpt-unit{float:right;font-size:8.5pt;font-weight:400;color:var(--rpt-mute);letter-spacing:.02em;padding-top:3px;}
.rpt-cus table.rpt-tbl thead th{font-size:8.5pt;font-weight:600;color:var(--rpt-navy);letter-spacing:.06em;padding:9px 11px;border-bottom:1px solid var(--rpt-rule);background:var(--rpt-band);vertical-align:bottom;text-align:left;}
.rpt-cus table.rpt-tbl th.rpt-l,.rpt-cus table.rpt-tbl td.rpt-l{text-align:left;}
.rpt-cus table.rpt-tbl th.rpt-r,.rpt-cus table.rpt-tbl td.rpt-r{text-align:right;}
.rpt-cus table.rpt-tbl tbody td,.rpt-cus table.rpt-tbl tbody th{padding:9px 11px;border-bottom:1px solid var(--rpt-hair);vertical-align:middle;color:var(--rpt-ink);}
.rpt-cus table.rpt-tbl tbody th.rpt-grp{text-align:left;font-weight:700;color:var(--rpt-navy);background:var(--rpt-band);border-right:1px solid var(--rpt-hair);}
.rpt-cus table.rpt-tbl tbody th.rpt-grp small{font-weight:400;color:var(--rpt-mute);font-size:8.5pt;}
.rpt-cus table.rpt-tbl td.rpt-dim{color:var(--rpt-ink2);}
.rpt-cus table.rpt-tbl td.rpt-num{text-align:right;font-family:var(--rpt-num);font-variant-numeric:tabular-nums;white-space:nowrap;}
.rpt-cus table.rpt-tbl td.rpt-num.rpt-dim{color:#b5bcc4;}
.rpt-cus table.rpt-tbl td.rpt-pct{text-align:right;white-space:nowrap;font-family:var(--rpt-num);}
.rpt-cus table.rpt-tbl .rpt-bar{display:inline-block;vertical-align:middle;width:72px;height:5px;background:var(--rpt-hair);margin-right:9px;overflow:hidden;}
.rpt-cus table.rpt-tbl .rpt-bar-fill{display:block;height:100%;background:var(--rpt-navy2);width:0;font-size:0;color:transparent;}
.rpt-cus table.rpt-tbl .rpt-pct-val{display:inline-block;vertical-align:middle;min-width:42px;text-align:right;font-variant-numeric:tabular-nums;color:var(--rpt-ink);}
.rpt-cus table.rpt-tbl tfoot td,.rpt-cus table.rpt-tbl tfoot th{padding:9px 11px;border-top:1px solid var(--rpt-rule);vertical-align:middle;}
.rpt-cus table.rpt-tbl tfoot tr.rpt-total th,.rpt-cus table.rpt-tbl tfoot tr.rpt-total td{background:var(--rpt-tint);font-weight:700;color:var(--rpt-navy);}
.rpt-cus table.rpt-tbl tfoot tr.rpt-total .rpt-pct-big{font-size:12pt;color:var(--rpt-navy);}
.rpt-cus table.rpt-tbl tfoot tr.rpt-sub th{font-weight:600;color:var(--rpt-ink2);text-align:left;}
.rpt-cus table.rpt-tbl tfoot tr.rpt-sub td{border-top:0;}
.rpt-cus table.rpt-tbl tfoot tr.rpt-sub td.rpt-dim{color:var(--rpt-mute);}
.rpt-cus table.rpt-tbl tr.rpt-subtotal td,.rpt-cus table.rpt-tbl tr.rpt-subtotal th{font-weight:600;background:var(--rpt-band);border-top:1px solid var(--rpt-rule);}
.rpt-cus table.rpt-score td.rpt-score-val{font-family:var(--rpt-num);font-size:13pt;font-weight:600;color:var(--rpt-navy);}
.rpt-cus table.rpt-score td.rpt-scale{font-size:9pt;line-height:1.65;}
.rpt-cus table.rpt-score td.rpt-scale span{display:inline-block;min-width:1.4em;color:var(--rpt-navy);font-weight:700;font-family:var(--rpt-num);}
.rpt-cus .rpt-dots{display:flex;gap:3px;align-items:center;margin:3px 0;}
.rpt-cus .rpt-dots i{display:block;width:20px;height:7px;background:var(--rpt-hair);}
.rpt-cus .rpt-dots i.on{background:var(--rpt-navy2);}
.rpt-cus .rpt-score-note{font-size:9.5pt;color:var(--rpt-ink2);margin-top:3px;line-height:1.6;}

/* ---------- 舊表格（tablev1 / flex / 各段自帶 style） ---------- */
.rpt-cus .table_blcok{margin:6px auto 20px;}
.rpt-cus .rwdv1_table{border:0;border-top:2px solid var(--rpt-navy);border-bottom:1px solid var(--rpt-rule);border-radius:0;margin:0 auto 6px;font-size:9.5pt;background:var(--rpt-paper);}
.rpt-cus .tablev1_thead{position:static;background:none;color:var(--rpt-mute);font-weight:500;border-bottom:1px solid var(--rpt-rule);}
.rpt-cus .tablev1_th{padding:8px;border-right:0;background:transparent !important;color:var(--rpt-mute) !important;font-size:8.5pt;letter-spacing:.06em;font-weight:500;}
.rpt-cus .tablev1_th.inv1color,.rpt-cus .tablev1_th.inv2color,.rpt-cus .tablev1_th.inv3color,
.rpt-cus .tablev1_th.inv4color,.rpt-cus .tablev1_th.inv5color{background:transparent !important;color:var(--rpt-mute) !important;}
.rpt-cus .tablev1_tbody{border-bottom:0;}
.rpt-cus .tablev1_tbody .tablev1_th{background:var(--rpt-band) !important;color:var(--rpt-mute) !important;font-weight:600;border-top:1px solid var(--rpt-hair);}
.rpt-cus .tablev1_tr{border-top:1px solid var(--rpt-hair);}
.rpt-cus .tablev1_tr:first-child{border-top:0;}
.rpt-cus .tablev1_tr:nth-child(even),.rpt-cus .tablev1_tr:nth-child(even) .tablev1_td{background:transparent;}
.rpt-cus .tablev1_tr:hover,.rpt-cus .tablev1_tr:hover .tablev1_td{background:var(--rpt-band);}
.rpt-cus .tablev1_td{padding:7px 8px;border-right:0;color:var(--rpt-ink);font-variant-numeric:tabular-nums;}
.rpt-cus .tablev1_td.inv4color{background:transparent;font-weight:600;color:var(--rpt-navy);}
.rpt-cus .tablev1_td.inv6color{background:var(--rpt-tint);font-weight:600;}
.rpt-cus .tablev1_tr.cursor{cursor:default;}
.rpt-cus .mob_l{display:none;}
.rpt-cus .mob_r.text-center{text-align:center;}
.rpt-cus .see_table_block{margin:6px auto 20px;}
.rpt-cus .see_table_hr{border-bottom:1px solid var(--rpt-rule);}
.rpt-cus .st_flex_cwhr{border-bottom:1px solid var(--rpt-hair);}
.rpt-cus .see_table_flex{border-bottom:1px solid var(--rpt-rule);}
.rpt-cus .see_table_nohrflex{font-size:9.5pt;}
.rpt-cus .see_table_hr + .see_table_nohrflex{background:transparent;color:var(--rpt-mute);font-weight:500;font-size:8.5pt;letter-spacing:.06em;}
.rpt-cus .st_flex_margin20b{margin-bottom:14px;}
.rpt-cus .setbgcolor_1,.rpt-cus .setbgcolor_2,.rpt-cus .setbgcolor_3,.rpt-cus .setbgcolor_4{background:transparent;}
.rpt-cus .setbgcolor_5{background:var(--rpt-tint);font-weight:600;}
.rpt-cus .st_math_hr{border-bottom:1px solid var(--rpt-ink);}
.rpt-cus .st_flex_w120.st_align_center,.rpt-cus .st_flex_cw200.st_align_right,.rpt-cus .st_flex_w200.st_align_right,
.rpt-cus .st_flex_w180.st_align_right{font-family:var(--rpt-num);font-variant-numeric:tabular-nums;}
.rpt-cus input.form-control.form_input_v1,.rpt-cus input.form-control{
	border:0;background:transparent;box-shadow:none;height:auto;padding:0 3px;font-size:9.5pt;
	color:var(--rpt-ink);font-family:var(--rpt-num);font-variant-numeric:tabular-nums;text-align:right;pointer-events:none;
}
.rpt-cus input.dark_inputborder{border:0;}
.rpt-cus table{border-collapse:collapse;font-size:9.5pt;}
.rpt-cus table th,.rpt-cus table td{font-variant-numeric:tabular-nums;}
.rpt-cus .acct_mng_tbl,.rpt-cus .insplan_tbl,.rpt-cus .insba_tbl,.rpt-cus .feepl_tbl,.rpt-cus .appx8_tbl{
	border-top:2px solid var(--rpt-navy) !important;border-bottom:1px solid var(--rpt-rule) !important;
}
.rpt-cus .acct_mng_tbl th,.rpt-cus .insplan_tbl th,.rpt-cus .insba_tbl th,.rpt-cus .feepl_tbl th,.rpt-cus .appx8_tbl th{
	background:none !important;color:var(--rpt-mute) !important;border:0 !important;border-bottom:1px solid var(--rpt-rule) !important;
	font-weight:500 !important;font-size:8.5pt;padding:8px !important;letter-spacing:.06em;
}
.rpt-cus .appx8_lg th{color:var(--rpt-ink2) !important;}
.rpt-cus .acct_mng_tbl td,.rpt-cus .insplan_tbl td,.rpt-cus .insba_tbl td,.rpt-cus .feepl_tbl td,.rpt-cus .appx8_tbl td{
	border:0 !important;border-bottom:1px solid var(--rpt-hair) !important;background:var(--rpt-paper) !important;padding:7px 8px !important;color:var(--rpt-ink);
}
.rpt-cus .acct_mng_tbl td.amt_gap,.rpt-cus .acct_mng_tbl th.amt_gap{border:0 !important;background:var(--rpt-paper) !important;}
.rpt-cus .acct_mng_tbl tr.amt_sum td,.rpt-cus .feepl_tbl tr.fee_sum td,
.rpt-cus .insplan_tbl td.ins_sumlb,.rpt-cus .insplan_tbl td.ins_sumva,.rpt-cus .insba_tbl td.ba_sumlb{
	background:var(--rpt-tint) !important;font-weight:600;color:var(--rpt-navy) !important;border-top:1px solid var(--rpt-rule) !important;
}
.rpt-cus .feepl_tbl td.fee_lb{font-weight:600;}
.rpt-cus .insba_tbl th.ba_hl{color:var(--rpt-navy) !important;}
.rpt-cus .insba_tbl td.ba_hlc{background:var(--rpt-band) !important;}
.rpt-cus .bafc_wrap{border:0;border-top:1px solid var(--rpt-hair);border-bottom:1px solid var(--rpt-hair);border-radius:0;}
.rpt-cus .bafc_title{color:var(--rpt-mute);font-weight:500;letter-spacing:.1em;}
.rpt-cus table tr[style*='ffcc66'],.rpt-cus table tr[style*='ffcc00']{background:transparent !important;color:var(--rpt-mute) !important;}
.rpt-cus table tr[style*='ffcc66'] td,.rpt-cus table tr[style*='ffcc00'] td{border-color:var(--rpt-hair) !important;color:var(--rpt-ink);font-weight:600;}
.rpt-cus table td[style*='background:#666']{background:var(--rpt-band) !important;color:var(--rpt-ink) !important;border-color:var(--rpt-hair) !important;font-weight:600;}
.rpt-cus table td[style*='background:#ffffcc'],.rpt-cus table td[style*='background:#efdddd'],.rpt-cus table td[style*='background:#fef4ec']{background:var(--rpt-paper) !important;border-color:var(--rpt-hair) !important;}
.rpt-cus table td[style*='border:1px solid #ccc']{border-color:var(--rpt-hair) !important;}
.rpt-cus .rl_card,.rpt-cus .rl_list{border-color:var(--rpt-hair);border-radius:0;}
.rpt-cus .rl_ttl{color:var(--rpt-navy);font-family:var(--rpt-serif);}
.rpt-cus .rl_kbox{background:var(--rpt-band);border-radius:0;}
.rpt-cus .rl_kbox.hl{background:var(--rpt-tint);}
.rpt-cus .rl_kva{font-family:var(--rpt-num);}
.rpt-cus .rl_kbox.hl .rl_kva{color:var(--rpt-navy);}
.rpt-cus .table_c0504d .tablev1_thead{background:none;color:var(--rpt-mute);}
.rpt-cus .table_c0504d .tablev1_tbody{background:var(--rpt-paper);}
.rpt-cus .table_c0504d .tablev1_tr:nth-child(even),.rpt-cus .table_c0504d .tablev1_tr:nth-child(even) .tablev1_td{background:transparent;}
.rpt-cus .fin-report-master{box-shadow:none;border:0;border-top:2px solid var(--rpt-navy);border-radius:0;padding:18px 0 6px;margin:8px auto 24px;max-width:100%;}
.rpt-cus .fin-main-title{font-family:var(--rpt-serif);font-size:13pt;letter-spacing:.3em;color:var(--rpt-navy);border-bottom:1px solid var(--rpt-rule);margin-bottom:14px;padding-bottom:9px;}
.rpt-cus .fin-sec-header{background:var(--rpt-band);color:var(--rpt-navy);border:0;border-bottom:1px solid var(--rpt-rule);border-left:3px solid var(--rpt-navy);}
.rpt-cus .fin-row-total{background:var(--rpt-tint);border-bottom:1px solid var(--rpt-navy);}
.rpt-cus .fin-cell{font-size:9.5pt;}
.rpt-cus .cell-val,.rpt-cus .cell-pct{font-family:var(--rpt-num);}
.rpt-cus .appx8_tbl{margin-bottom:14px;}

/* ---------- 圖表 ---------- */
.rpt-cus .c3d3f_list{padding:6px;}
.rpt-cus .chart_scrolblock{border:0;border-top:1px solid var(--rpt-hair);border-bottom:1px solid var(--rpt-hair);padding:12px 0 4px;margin:6px 0 18px;background:var(--rpt-paper);border-radius:0;}
.rpt-cus .c3 svg{font-family:var(--rpt-num);}
.rpt-cus .c3-axis text,.rpt-cus .c3-legend-item text{fill:#5b6675;font-size:10px;}
.rpt-cus .c3-chart-arc text{font-size:10.5px;}
.rpt-cus .process_bar,.rpt-cus .processbar_flex{font-size:10pt;}
.rpt-cus .rpt-figure{margin:14px auto 24px;text-align:center;counter-increment:rptfig;}
.rpt-cus .rpt-figure img{width:100%;max-width:600px;border:1px solid var(--rpt-hair);padding:4px;background:var(--rpt-paper);}
.rpt-cus .rpt-figure .rpt-figcap{font-size:9pt;color:var(--rpt-mute);letter-spacing:.06em;margin-top:6px;}
.rpt-cus .rpt-figure .rpt-figcap::before{content:"圖 " counter(rptfig) "　";color:var(--rpt-navy);font-weight:600;font-family:var(--rpt-num);}

/* 簽名頁 */
.rpt-cus .rpt-sign{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;margin:32px 0 12px;}
.rpt-cus .rpt-sign .rpt-sign-line{border-bottom:1px solid var(--rpt-ink);padding:40px 0 6px;font-weight:500;color:var(--rpt-mute);font-size:9.5pt;letter-spacing:.1em;}

/* ---------- 列印／窄螢幕 ---------- */
@media print{
	.book_content.rpt-cus{background:none;padding:0;}
	.rpt-cus .rpt-sheet{box-shadow:none;margin:0;width:auto;min-height:0;page-break-after:always;}
}
@media (max-width:860px){
	.book_content.rpt-cus{padding:16px 0 30px;}
	.rpt-cus .rpt-sheet{width:auto;min-height:0;padding:48px min(48px, 6vw);margin-bottom:16px;}
	.rpt-cus .rpt-sheet.rpt-cover-sheet{padding:48px min(48px, 6vw);}
	.rpt-cus .rpt-rh,.rpt-cus .rpt-rf{left:min(48px, 6vw);right:min(48px, 6vw);}
	.rpt-cus .rpt-cover-title{font-size:22pt;}
	.rpt-cus .rpt-cover-grid,.rpt-cus ul.boutlinev1_u2,.rpt-cus .rpt-sign,.rpt-cus .rpt-kpi{grid-template-columns:1fr;}
	.rpt-cus .rpt-kpi > div{border-right:0;border-top:1px solid var(--rpt-hair);}
}

/* ---------- 固定寬度舊區塊：依窄邊界後的文字欄寬 698px 等比縮放 ----------
   舊內容有不少固定寬度（890/900/1100…），在 A4 紙上會超出去或出現橫向捲軸。
   用 zoom 等比縮小整塊，欄位對齊與字級關係不變，等同縮印。 */
.rpt-cus [style*="width:1100px"]{zoom:0.627;}
.rpt-cus [style*="width:960px"]{zoom:0.718;}
.rpt-cus [style*="width:910px"]{zoom:0.758;}
.rpt-cus [style*="width:900px"]{zoom:0.766;}
.rpt-cus [style*="width:890px"]{zoom:0.775;}
.rpt-cus [style*="width:870px"]{zoom:0.793;}
.rpt-cus [style*="width:840px"]{zoom:0.821;}
.rpt-cus [style*="width:780px"]{zoom:0.884;}
.rpt-cus [style*="width:720px"]{zoom:0.958;}
.rpt-cus [style*="width:700px"]{zoom:0.985;}
.rpt-cus [style*="width:690px"]{zoom:1;}
.rpt-cus [style*="width:660px"]{zoom:1;}
/* 圖表容器：拿掉 900px 最小寬，讓 c3 依紙寬繪製 */
.rpt-cus .chart_scrolblock{overflow-x:visible;min-height:0;}
.rpt-cus .chart_block{min-width:0;}
/* 舊 flex 表格（rwdv1_table）用 width 屬性給寬度，超過紙寬的等比縮 */
.rpt-cus .rwdv1_table[width="840"]{zoom:0.821;}
.rpt-cus .rwdv1_table[width="720"]{zoom:0.958;}
.rpt-cus .rwdv1_table[width="700"]{zoom:0.985;}
.rpt-cus .rwdv1_table[width="660"]{zoom:1;}
.rpt-cus .table_blcok,.rpt-cus .see_table_block{overflow-x:auto;}
/* 附錄「傳統收入支出表」雙欄格線表 */
.rpt-cus .fin-report-master{zoom:.975;} /* 20260924 原本 .789 把字縮到 10px 看不清楚；實測只超出 15px，縮 2.5% 就夠 */
.rpt-cus .fin-flex-container{gap:18px;}
/* 目錄兩欄：縮小欄距避免超出 */
.rpt-cus ul.boutlinev1_u2{gap:0 24px;}
.rpt-cus ul.boutlinev1_u2 ul.boutlinev1_u2{margin-left:0;}
.rpt-cus ul.boutlinev1_ul > li{min-width:0;}
/* 行動計畫表（table_c0504d）與資產分類檢查表：欄寬相加略寬於紙面，等比縮到剛好 */
.rpt-cus .rwdv1_table.table_c0504d{zoom:.874;}
.rpt-cus .rwdv1_table.assetcheck_table{zoom:.883;}
.rpt-cus .arr_block{max-width:100%;} /* 20260923 不可加 overflow:hidden／zoom：刻度上的 0%/12%/20% 標籤與目標報酬率標記是絕對定位，會被裁掉 */
/* 20260923 c3 圖例的位置是用「量過的文字寬度」排的，量測用的暫時元素是掛在 <body> 底下，
   所以只要圖表文字的字型/字距跟 body 不一樣，量到的就會比實際畫出來的窄 → 圖例疊在一起。
   這裡把圖表文字的字型固定成系統字、字距歸零，讓量測與實際繪製一致。
   （字級放大截圖時還要清 c3 的寬度快取，見 toolfunc/planbook.js 的 _pieCapBegin）*/
.c3 svg,
.c3 text,
.c3-legend-item text,
.c3-axis text,
.c3-chart-arc text{font-family:"Microsoft JhengHei","微軟正黑體","PingFang TC",sans-serif !important;letter-spacing:normal !important;}
/* letter-spacing 一定要歸零：報告書容器有 1px 字距，圖表文字會繼承，
   但量測用的暫時元素在 body 底下是 normal，7 個字就差 7px → 圖例重疊。 */
.c3 .c3-legend-item text,.c3 .c3-axis text{letter-spacing:normal !important;}

/* 20260923 滑動效能：整份報告有 10 張以上 A4 長頁，全部即時排版會很卡。
   只有「不含截圖目標」的紙張（rpt-lazy，由 rpt_paginate 判斷）交給瀏覽器略過畫面外排版；
   含圖表/進度條的紙張維持原本行為，下載 Word 的截圖流程完全不受影響。 */
.rpt-cus .rpt-sheet.rpt-lazy{content-visibility:auto;contain-intrinsic-size:794px 1123px;}
/* 陰影簡化，減少大面積重繪 */
.rpt-cus .rpt-sheet{box-shadow:0 1px 3px rgba(0,0,0,.10);}
@media print{ .rpt-cus .rpt-sheet.rpt-lazy{content-visibility:visible;} }

/* 20260924 人身風險完成度長條圖：內部 flex 元素有固定寬（bar 30px + margin 11px），
   版面邊界加大後 min-content 會撐破欄寬，讓它可以壓縮並把柱距收窄。 */
.rpt-cus .bafc_wrap{max-width:100%;}
.rpt-cus .bafc_plot,.rpt-cus .bafc_grp,.rpt-cus .bafc_xs{min-width:0;}
.rpt-cus .bafc_bar{margin:0 7px;}

/* 20260924 表頭改深色色帶＋白字（比照參考理財報告書：Example 報告是整條色帶表頭、內文無直線）
   預覽與 Word 用同一套規格：底色 #1C3D5A、白色粗體、字距 .06em。 */
.rpt-cus table.rpt-tbl thead th,
.rpt-cus table.rwdv1_table thead th,
.rpt-cus table.acct_mng_tbl thead th,
.rpt-cus table.insplan_tbl thead th,
.rpt-cus table.insba_tbl thead th,
.rpt-cus table.feepl_tbl thead th,
.rpt-cus table.appx8_tbl thead th,
.rpt-cus table.rwdv1_table tr:first-child th,
.rpt-cus table.acct_mng_tbl tr:first-child th,
.rpt-cus table.insplan_tbl tr:first-child th,
.rpt-cus table.insba_tbl tr:first-child th,
.rpt-cus table.feepl_tbl tr:first-child th,
.rpt-cus table.appx8_tbl tr:first-child th{
	background:var(--rpt-navy) !important;color:#fff !important;font-weight:700;
	letter-spacing:.06em;border-bottom:0 !important;
}
.rpt-cus table.rpt-tbl thead th{border-bottom:0;}
.rpt-cus table.rpt-tbl{border-top:0;}
/* 傳統資產負債表／財富表（fin-report-master）與合理的人身風險需求（table_blcok）的表頭 */
.rpt-cus .fin-report-master table tr:first-child th,
.rpt-cus .table_blcok table tr:first-child th{
	background:var(--rpt-navy) !important;color:#fff !important;font-weight:700;border-bottom:0 !important;
}
/* 家庭現況／理財目標／短期資金需求／人生目標是 div 排版的表（.see_table_block），
   它的表頭列是唯一的 .see_table_flex，資料列是 .see_table_nohrflex，一樣套深色表頭。 */
.rpt-cus .see_table_block > .see_table_flex{
	background:var(--rpt-navy);color:#fff;font-weight:700;border-bottom:0 !important;
	padding:0;box-sizing:border-box;line-height:1.3;min-height:0;
}
.rpt-cus .see_table_block > .see_table_flex *{color:#fff !important;}

.rpt-cus .see_table_block > .see_table_hr{display:none;}

/* 20260924 家庭現況／理財目標／短期資金需求／人生目標這幾張「用 div 排的表」原本寫死 910px 寬，
   之前是整塊 zoom 縮進版面，連字一起縮到 8pt 看不清楚。改成欄寬彈性分配（比例照原本的 px），
   字就維持正常大小。row 的 zoom 要歸 1，否則上面的 [style*="width:910px"] 規則還是會縮。 */
.rpt-cus .see_table_flex,
.rpt-cus .see_table_nohrflex{width:100% !important;zoom:1 !important;}
.rpt-cus .see_table_flex > *,
.rpt-cus .see_table_nohrflex > *{width:auto !important;min-width:0;white-space:normal !important;}
.rpt-cus .see_table_flex > .st_flex_w90,.rpt-cus .see_table_nohrflex > .st_flex_w90{flex:90 1 0;}
.rpt-cus .see_table_flex > .st_flex_w120,.rpt-cus .see_table_nohrflex > .st_flex_w120{flex:120 1 0;}
.rpt-cus .see_table_flex > .st_flex_w140,.rpt-cus .see_table_nohrflex > .st_flex_w140{flex:140 1 0;}
.rpt-cus .see_table_flex > .st_flex_w180,.rpt-cus .see_table_nohrflex > .st_flex_w180{flex:180 1 0;}
.rpt-cus .see_table_flex > .st_flex_w200,.rpt-cus .see_table_nohrflex > .st_flex_w200{flex:200 1 0;}
.rpt-cus .see_table_flex > .st_flex_w240,.rpt-cus .see_table_nohrflex > .st_flex_w240{flex:240 1 0;}
.rpt-cus .see_table_flex > .st_flex_w260,.rpt-cus .see_table_nohrflex > .st_flex_w260{flex:260 1 0;}
.rpt-cus .see_table_flex > *{padding:5px 8px;line-height:1.3;}
.rpt-cus .see_table_nohrflex > *{padding:7px 6px;}
/* 舊版表格與標準表格共用緊湊表頭；長標題仍可在欄內換行。 */
.rpt-cus table.rpt-tbl thead th,
.rpt-cus table.rwdv1_table thead th,
.rpt-cus table.acct_mng_tbl thead th,
.rpt-cus table.insplan_tbl thead th,
.rpt-cus table.insba_tbl thead th,
.rpt-cus table.feepl_tbl thead th,
.rpt-cus table.appx8_tbl thead th,
.rpt-cus .fin-report-master table tr:first-child th,
.rpt-cus .table_blcok table tr:first-child th{
	padding:6px 9px !important;line-height:1.3 !important;height:auto !important;vertical-align:middle;
}
/* 傳統收入支出表（附錄）兩欄各寫死 366px＝732px，比欄寬 622px 寬 → 改成彈性平分，不必再整塊縮小字 */
.rpt-cus .fin-flex-container{gap:10px;}
.rpt-cus .fin-col{flex:1 1 0;min-width:0;width:auto !important;}
.rpt-cus .fin-cell{min-width:0;}
/* 其餘偏小的文字一併提到可讀範圍 */
.rpt-cus .tablev1_th{font-size:11px;}
.rpt-cus .book_img_fonts{font-size:10.5px;}

/* 20260927 預期累積財富表明細：四欄表頭改成與柱狀圖同色的色塊（同 data_p143colors），方便對照圖上的長條；
   黃底白字對比不足，改深色字。要蓋過上面 thead th 的深藍色帶，所以選擇器多帶一層 class。 */
.rpt-cus table.appx8_tbl thead th.appx8_cred{background:#C40000 !important;color:#fff !important;}
.rpt-cus table.appx8_tbl thead th.appx8_cblu{background:#007AB0 !important;color:#fff !important;}
.rpt-cus table.appx8_tbl thead th.appx8_cgrn{background:#008000 !important;color:#fff !important;}
.rpt-cus table.appx8_tbl thead th.appx8_cyel{background:#FF9900 !important;color:#1F1F1F !important;}

/* 20260927 財務健康指標分析診斷（流量／存量分析）：列用 st_flex_cw250/280/180 排欄，
   上面 .see_table_nohrflex > * {width:auto} 會把固定欄寬清掉，欄位縮成內容寬而對不齊（看起來像兩欄交錯）。
   比照 st_flex_w* 改用等比例 flex 欄寬，四欄（指標｜財務分析｜比率｜參考值）上下對齊，與 Word 同構。 */
.rpt-cus .see_table_flex > .st_flex_cw180,.rpt-cus .see_table_nohrflex > .st_flex_cw180{flex:180 1 0;}
.rpt-cus .see_table_flex > .st_flex_cw200,.rpt-cus .see_table_nohrflex > .st_flex_cw200{flex:200 1 0;}
.rpt-cus .see_table_flex > .st_flex_cw220,.rpt-cus .see_table_nohrflex > .st_flex_cw220{flex:220 1 0;}
.rpt-cus .see_table_flex > .st_flex_cw250,.rpt-cus .see_table_nohrflex > .st_flex_cw250{flex:250 1 0;}
.rpt-cus .see_table_flex > .st_flex_cw280,.rpt-cus .see_table_nohrflex > .st_flex_cw280{flex:280 1 0;}
.rpt-cus .arrbar{max-width:100%;} /* 20261016 新刻度條：同 .arr_block，不可加 overflow:hidden，上方標籤是絕對定位 */
