/* =========================================================
   20260919 人生目標列表區（plan_1_4.php / new_plan_1_4.php）
   只在外層加 .goal_sec，用選擇器覆寫既有 importatitle / caption_block /
   rwdv1_table / add_block 樣式；列由 dynamic_field_tool.js 產生，DOM 不動
   ========================================================= */

.goal_sec{
	margin-top:10px;
	font-family:Arial, "Microsoft JhengHei", sans-serif;
	color:#1f2937;
}
.goal_sec > hr{ display:none; }

/* 主標題 */
.goal_sec > .importatitle.goal_main{
	display:flex;
	align-items:center;
	gap:10px;
	margin:22px 0 12px;
	padding:0;
	font-size:19px;
	font-weight:700;
	color:#111827;
	text-align:left;
	letter-spacing:1px;
}
.goal_sec > .importatitle.goal_main:before{
	content:'';
	width:5px;
	height:22px;
	border-radius:3px;
	background:var(--main-color);
}

/* 說明摺疊（覆寫全站 clean-accordion） */
.goal_sec .clean-accordion{
	max-width:none;
	margin:0 0 18px;
	border:1px solid #e3e8ee;
	border-radius:12px;
	box-shadow:none;
	font-family:inherit;
}
.goal_sec .acc-header{ padding:11px 16px; font-size:14px; color:#374151; }
.goal_sec .acc-header:hover{ background:#f7f9fb; }
.goal_sec .acc-icon{
	width:26px;
	height:26px;
	margin-right:10px;
	border-radius:8px;
	background:#f1f4f8;
	color:var(--main-color);
	font-size:10px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.goal_sec .acc-content{ background:#fff; }
.goal_sec .acc-content .caption_block{
	background:#fff;
	color:#4b5563;
	padding:4px 16px 16px 52px;
	letter-spacing:.5px;
	line-height:1.8;
}

/* 群組卡片：標題 + 說明 + 表格 + 按鈕 */
.goal_group{
	margin:0 0 18px;
	padding:16px 18px 14px;
	border:1px solid #e3e8ee;
	border-radius:12px;
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.goal_group .importatitle{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 10px;
	padding:0 0 10px;
	border-bottom:1px solid #eef1f5;
	font-size:15.5px;
	font-weight:700;
	color:#111827;
	text-align:left;
}
.goal_group .importatitle:before{
	content:'';
	width:4px;
	height:16px;
	border-radius:2px;
	background:var(--main-color);
}
.goal_group .importatitle .goal_tag{
	margin-left:4px; /* 20261019 改置左，緊接標題 */
	padding:2px 10px;
	border-radius:999px;
	background:#e6f4fa;
	color:#006b9a;
	font-size:12px;
	font-weight:600;
}
.goal_group .caption_block{
	margin:0 0 12px;
	padding:10px 14px;
	border-left:3px solid #f5b400;
	border-radius:6px;
	background:#fff8e1;
	color:#8a5a00;
	font-size:13.5px;
	line-height:1.7;
	letter-spacing:.3px;
}

/* 全選列 */
.goal_group div[style*='margin:0px 5px']{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 10px !important;
	font-size:13.5px;
	font-weight:600;
	color:#374151;
}
.goal_group .modify_checks_block label{ margin:0; font-weight:600; cursor:pointer; }
.goal_group .numbers_text{
	margin:0;
	padding:3px 10px;
	border-radius:999px;
	background:#eef1f5;
	color:#6b7280;
	font-size:12.5px;
	letter-spacing:0;
}
.goal_group .numbers_text span{ color:var(--main-color); font-weight:700; }

/* 表格 */
.goal_group .table_blcok{ margin:0; border-radius:10px; border:1px solid #e3e8ee; }
.goal_group .rwdv1_table{ border:0; margin:0; min-width:100%; }
.goal_group .tablev1_thead{ background:#f7f9fb; color:#6b7280; font-size:12.5px; font-weight:700; }
.goal_group .tablev1_th{
	padding:9px 8px;
	border-right:1px solid #eceff3;
	border-bottom:1px solid #e3e8ee;
	letter-spacing:.3px;
}
.goal_group .tablev1_th > div{ justify-content:center; align-items:center; gap:4px; }
.goal_group .tablev1_th.fixed_lastcolumn{ background:#f7f9fb; }
.goal_group .info-tag{
	font-size:11.5px;
	font-weight:600;
	padding:1px 7px;
	border-radius:999px;
	background:#e6f4fa;
	color:#006b9a;
	gap:3px;
	transition:all .15s;
}
.goal_group .info-tag:hover{ background:var(--main-color); color:#fff; }
.goal_group .info-tag i{ font-size:11px; }
.goal_group .tablev1_tr{ border-top:1px solid #f1f4f8; transition:background .12s; }
.goal_group .tablev1_tr:nth-child(even){ background:#fff; }
.goal_group .tablev1_tr:hover,
.goal_group .tablev1_tr:hover .tablev1_td.fixed_lastcolumn{ background:#f4fafd; }
.goal_group .tablev1_td{
	padding:8px;
	border-right:1px solid #f1f4f8;
	font-size:13.5px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.goal_group .tablev1_td .mob_r{ line-height:1.5; }
.goal_group .tablev1_td .mob_r.text-center{ font-variant-numeric:tabular-nums; }

/* 列內輸入框 */
.goal_group .tablev1_td .form_input_v1{
	height:34px;
	padding:0 10px;
	border:1px solid #d9dee5;
	border-radius:7px;
	background:#fff;
	font-size:13.5px;
	color:#1f2937;
	box-shadow:none;
}
.goal_group .tablev1_td .form_input_v1.input_money,
.goal_group .tablev1_td .form_input_v1[type='number']{ text-align:right; font-variant-numeric:tabular-nums; }
.goal_group .tablev1_td select.form_input_v1{ padding:0 6px !important; text-align:left; }
.goal_group .tablev1_td .form_input_v1:hover{ border-color:#b9c3cf; }
.goal_group .tablev1_td .form_input_v1:focus{ border-color:var(--main-color); box-shadow:0 0 0 3px rgba(0,122,176,.12); background:#fff; }
.goal_group .tablev1_td .dark_inputborder{ border-color:#c9d3de; }
.goal_group .tablev1_td .input_blcok{ margin:0; }

/* 檢查結果圖示 */
.goal_group .tablev1_td .checkresult_show,
.goal_group .tablev1_td span[id^='checkresult_']{ font-size:18px !important; line-height:1; }
.goal_group .tablev1_td span[id^='checkresult_'] .icon-square{ color:#c4ccd6; }
.goal_group .tablev1_td span[id^='checkresult_'] .icon-check-square,
.goal_group .tablev1_td span[id^='checkresult_'] .icon-check{ color:#0f766e; }
.goal_group .tablev1_td span[id^='checkresult_'] .icon-x-square,
.goal_group .tablev1_td span[id^='checkresult_'] .icon-x{ color:#dc2626; }

/* 列內小按鈕（年度表／以變賣資產達成） */
.goal_group .tablev1_td .btn_sm_padding{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:4px;
	min-width:0;
	height:30px;
	padding:0 10px;
	border-radius:7px;
	font-size:12.5px;
	font-weight:600;
	letter-spacing:0;
	box-shadow:none;
	line-height:1;
	white-space:nowrap;
}
.goal_group .tablev1_td .sendv2_btn.btn_sm_padding{ background:#fff; color:var(--main-color); border:1px solid #bfdff0; }
.goal_group .tablev1_td .sendv2_btn.btn_sm_padding:hover{ background:#e6f4fa; border-color:var(--main-color); }

/* 底部操作列 */
.goal_group .add_block{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin:12px 0 0;
	padding:0;
}
.goal_group .add_block .sendv2_btn,
.goal_group .add_block .sendv3_btn,
.goal_group .add_block .delv2_btn,
.goal_group .add_block .defaultv2_btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-width:0;
	height:36px;
	padding:0 15px;
	margin:0;
	border-radius:8px;
	border:1px solid transparent;
	font-size:13.5px;
	font-weight:600;
	line-height:1;
	letter-spacing:0;
	box-shadow:none;
	white-space:nowrap;
}
.goal_group .add_block .sendv2_btn{ background:var(--main-color); color:#fff; box-shadow:0 2px 6px rgba(0,122,176,.25); }
.goal_group .add_block .sendv2_btn:hover{ background:#00699a; transform:translateY(-1px); }
.goal_group .add_block .sendv3_btn{ background:#fff; color:#0f766e; border-color:#bfe3df; }
.goal_group .add_block .sendv3_btn:hover{ background:#e9f7f5; border-color:#0f9b8e; }
.goal_group .add_block .defaultv2_btn{ background:#fff; color:#374151; border-color:#d9dee5; }
.goal_group .add_block .defaultv2_btn:hover{ border-color:var(--main-color); color:var(--main-color); background:#f4fafd; }
.goal_group .add_block .delv2_btn{ background:#fff; color:#b91c1c; border-color:#f3c5c5; }
.goal_group .add_block .delv2_btn:hover{ background:#fef2f2; border-color:#dc2626; }
.goal_group .add_block .delv2_btn{ margin-left:0; } /* 20261019 刪除改置左，接在其他按鈕後 */

@media screen and (max-width: 700px)
{
	.goal_group{ padding:12px; }
	.goal_group .add_block .sendv2_btn,
	.goal_group .add_block .sendv3_btn,
	.goal_group .add_block .delv2_btn,
	.goal_group .add_block .defaultv2_btn{ flex:1 1 calc(50% - 8px); }
	.goal_group .add_block .delv2_btn{ margin-left:0; }
}

/* 標題內的紅字備註（未來大額現金收入）改成副標 */
.goal_group .importatitle br{ display:none; }
.goal_group .importatitle > span[style]{
	flex:1 1 100%;
	margin-top:2px;
	font-size:12.5px !important;
	font-weight:500 !important;
	color:#b45309 !important;
	letter-spacing:.3px;
	line-height:1.6;
}
/* 表頭：字級再小一點、允許換行但不要擠成三行 */
.goal_group .tablev1_th{ padding:8px 6px; font-size:12px; line-height:1.35; }
.goal_group .tablev1_th > div{ flex-wrap:wrap; }
.goal_group .tablev1_td .delv2_btn.btn_sm_padding{ background:#fff; color:#b91c1c; border:1px solid #f3c5c5; }
.goal_group .tablev1_td .delv2_btn.btn_sm_padding:hover{ background:#fef2f2; border-color:#dc2626; }
.goal_group .importatitle{ flex-wrap:wrap; }
.goal_group .add_block .delv2_btn{ order:99; }

/* =========================================================
   帶入「0步驟」理財目標資訊 視窗（#kycGoalImportTool）
   ========================================================= */
.kgi_wrap{ padding:14px 14px 20px; font-family:Arial, "Microsoft JhengHei", sans-serif; color:#1f2937; }
.kgi_intro{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:0 0 14px;
	padding:12px 16px;
	border-radius:10px;
	background:#e6f4fa;
	color:#0b5d84;
	font-size:13.5px;
	line-height:1.75;
	letter-spacing:.3px;
}
.kgi_intro > i{ flex:0 0 auto; margin-top:3px; font-size:16px; color:var(--main-color); }

.kgi_toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 10px; }
.kgi_check{ display:inline-flex; align-items:center; gap:8px; margin:0; cursor:pointer; font-size:14px; font-weight:600; color:#374151; user-select:none; }
.kgi_check input{ width:18px; height:18px; margin:0; accent-color:var(--main-color); cursor:pointer; }
.kgi_selected{
	display:inline-flex; align-items:center; gap:4px;
	padding:3px 10px; border-radius:999px;
	background:#eef1f5; color:#6b7280; font-size:12.5px; font-weight:600;
}
.kgi_selected b{ color:var(--main-color); }

.kgi_tablewrap{ border:1px solid #e3e8ee; border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.04); overflow:hidden; }
.kgi_table{ width:100%; border-collapse:separate; border-spacing:0; font-size:14px; }
.kgi_table th{
	padding:11px 14px; background:#f7f9fb; border-bottom:1px solid #e3e8ee;
	color:#6b7280; font-size:12.5px; font-weight:700; letter-spacing:.5px; text-align:left; white-space:nowrap;
}
.kgi_table td{ padding:12px 14px; border-bottom:1px solid #eef1f5; vertical-align:middle; }
.kgi_table tr:last-child td{ border-bottom:0; }
.kgi_table th.kgi_c, .kgi_table td.kgi_c{ text-align:center; }
.kgi_table th.kgi_r, .kgi_table td.kgi_r{ text-align:right; }
.kgi_row{ transition:background .12s; }
.kgi_row:hover td{ background:#f4fafd; }
.kgi_row:has( .kycgoal_pick:not(:checked) ) td{ color:#9aa3af; }
.kgi_row:has( .kycgoal_pick:not(:checked) ) .kgi_name{ color:#9aa3af; }
.kgi_name{ font-size:14.5px; font-weight:700; color:#111827; }
.kgi_name em{ font-style:normal; font-weight:500; color:#9aa3af; }
.kgi_num{ font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.kgi_num.zero{ color:#b0b7c3; font-weight:500; }

/* 需要貸款：開關 */
.kgi_switch{ display:inline-flex; align-items:center; gap:8px; margin:0; cursor:pointer; user-select:none; }
.kgi_switch input{ position:absolute; opacity:0; width:0; height:0; }
.kgi_switch_ui{
	position:relative; width:40px; height:22px; border-radius:999px;
	background:#d9dee5; transition:background .2s; flex:0 0 auto;
}
.kgi_switch_ui:after{
	content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%;
	background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s;
}
.kgi_switch input:checked + .kgi_switch_ui{ background:var(--main-color); }
.kgi_switch input:checked + .kgi_switch_ui:after{ transform:translateX(18px); }
.kgi_switch_txt{ font-size:13px; color:#9aa3af; font-weight:600; }
.kgi_switch input:checked ~ .kgi_switch_txt{ color:var(--main-color); }

/* 空狀態 */
.kgi_empty{
	padding:48px 20px; text-align:center;
	border:1px dashed #cfd6de; border-radius:12px; background:#fbfcfd; color:#6b7280;
}
.kgi_empty i{ font-size:36px; color:#c4ccd6; display:block; margin-bottom:10px; }
.kgi_empty h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#374151; }
.kgi_empty p{ margin:0 0 18px; font-size:13.5px; line-height:1.75; }
.kgi_btn_link{
	display:inline-flex; align-items:center; gap:6px;
	height:38px; padding:0 18px; border-radius:8px;
	background:var(--main-color); color:#fff !important; font-size:14px; font-weight:600;
	text-decoration:none !important; box-shadow:0 2px 6px rgba(0,122,176,.25); transition:all .15s;
}
.kgi_btn_link:hover{ background:#00699a; transform:translateY(-1px); }

/* 底部按鈕：與其他視窗一致 */
#footer_kycgoal_btn .sendv2_btn,
#footer_kycgoal_btn .delv2_btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	min-width:0; height:38px; padding:0 18px; border-radius:8px;
	font-size:14px; font-weight:600; line-height:1; letter-spacing:0; box-shadow:none;
	border:1px solid transparent;
}
#footer_kycgoal_btn .sendv2_btn{ background:var(--main-color); color:#fff; box-shadow:0 2px 6px rgba(0,122,176,.25); }
#footer_kycgoal_btn .delv2_btn{ background:#fff; color:#6b7280; border-color:#d9dee5; }
#footer_kycgoal_btn .delv2_btn:hover{ color:#111827; border-color:#9aa3af; background:#fff; }

@media screen and (max-width: 640px)
{
	.kgi_table th.kgi_c[width='110'], .kgi_table td:nth-child(4){ display:none; }
	.kgi_table td{ padding:10px 8px; }
	.kgi_switch_txt{ display:none; }
}

/* =========================================================
   檢視資料（process_historydata.php）› 基本資料 / 人生目標
   ========================================================= */
.hv_wrap{ padding:6px 4px 10px; font-family:Arial, "Microsoft JhengHei", sans-serif; color:#1f2937; }
.hv_head{
	display:flex; align-items:center; gap:14px;
	margin:0 0 14px; padding:14px 18px;
	background:#fff; border:1px solid #e3e8ee; border-left:5px solid var(--main-color);
	border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.hv_head_icon{
	flex:0 0 42px; width:42px; height:42px; border-radius:11px;
	background:#e6f4fa; color:var(--main-color);
	display:flex; align-items:center; justify-content:center; font-size:20px;
}
.hv_head_body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.hv_head_l{ font-size:12px; color:#6b7280; letter-spacing:1px; }
.hv_head_v{ font-size:18px; font-weight:700; color:#111827; letter-spacing:.5px; overflow:hidden; text-overflow:ellipsis; }
.hv_head_tag{
	flex:0 0 auto; padding:4px 12px; border-radius:999px;
	background:#e6f4fa; color:#006b9a; font-size:12.5px; font-weight:600;
}
.hv_card{
	margin:0 0 14px; padding:16px 18px;
	background:#fff; border:1px solid #e3e8ee; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.hv_card_title{
	display:flex; align-items:center; gap:8px;
	margin:0 0 12px; padding:0 0 10px; border-bottom:1px solid #eef1f5;
	font-size:15.5px; font-weight:700; color:#111827;
}
.hv_card_title > i{ color:var(--main-color); }
.hv_card_sub{ margin-left:auto; font-size:12px; font-weight:500; color:#9aa3af; }
.hv_tablewrap{ border:1px solid #e3e8ee; border-radius:10px; overflow:auto; }
.hv_table{ width:100%; min-width:720px; border-collapse:separate; border-spacing:0; font-size:14px; }
.hv_table th{
	padding:10px 12px; background:#f7f9fb; border-bottom:1px solid #e3e8ee;
	color:#6b7280; font-size:12.5px; font-weight:700; letter-spacing:.3px; text-align:left; white-space:nowrap;
}
.hv_table th .field_info{
	margin:0 0 0 4px; padding:1px 7px; border-radius:999px;
	background:#e6f4fa; color:#006b9a; font-size:11px; font-weight:600; box-shadow:none;
}
.hv_table th .field_info:hover{ background:var(--main-color); color:#fff; }
.hv_table td{ padding:12px; border-bottom:1px solid #eef1f5; vertical-align:middle; }
.hv_table tr:last-child td{ border-bottom:0; }
.hv_table th.hv_c, .hv_table td.hv_c{ text-align:center; }
.hv_row:hover td{ background:#f4fafd; }
.hv_row_main td{ background:#fbfdff; }
.hv_badge{
	display:inline-block; padding:3px 10px; border-radius:999px;
	background:#f1f4f8; color:#4b5563; font-size:12px; font-weight:600; white-space:nowrap;
}
.hv_badge.main{ background:var(--main-color); color:#fff; }
.hv_name{ font-size:14.5px; font-weight:700; color:#111827; }
.hv_num{ font-variant-numeric:tabular-nums; font-weight:600; }
.hv_dim{ color:#c4ccd6; }
.hv_row_empty td{ text-align:center; color:#9aa3af; font-size:13px; padding:22px 12px; }
.hv_row_empty td i{ margin-right:6px; }
.hv_row_empty:hover td{ background:#fff; }

/* 檢視資料的人生目標列表是唯讀，表格內容置中對齊、數字等寬 */
#otherDataToolArea .goal_sec .tablev1_td .mob_r{ font-variant-numeric:tabular-nums; }
#otherDataToolArea .goal_sec .tablev1_tr.cursor{ cursor:default; }
#otherDataToolArea .goal_sec > .importatitle.goal_main{ margin-top:8px; }
.goal_group .field_info{
	margin:0 0 0 2px; padding:1px 7px; border-radius:999px;
	background:#e6f4fa; color:#006b9a; font-size:11px; font-weight:600; box-shadow:none;
}
.goal_group .field_info:hover{ background:var(--main-color); color:#fff; }
.goal_group .goal_empty_row{ display:block; }
.goal_group .goal_empty_row .tablev1_td{
	display:block; width:100%; padding:20px 12px; border:0;
	text-align:center; color:#9aa3af; font-size:13px;
}
.goal_group .goal_empty_row .tablev1_td i{ margin-right:6px; }
.goal_group .goal_empty_row:hover{ background:#fff; }

/* 20261019 被「變賣資產工具」選定為變賣的目標資產：整列反灰鎖定（js/other_func.js p14_apply_selloff_lock） */
tr.p14_sold_lock > td {
	background: #f1f3f5 !important;
}
tr.p14_sold_lock > td * {
	pointer-events: none; /* 欄位、下拉、勾選框、年度表按鈕都不可操作 */
}
tr.p14_sold_lock input,
tr.p14_sold_lock select {
	color: #8a94a3 !important;
	background-color: #e9ecef !important;
	cursor: not-allowed;
}
tr.p14_sold_lock .icheckbox_square-green,
tr.p14_sold_lock .modify_checks_block {
	opacity: .35;
}
.p14_sold_tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #fff4e5;
	color: #b45309;
	font-size: 11.5px;
	font-weight: 600;
	white-space: normal;
	line-height: 1.4;
}
