/* =========================================================
   20260919 資產庫存規劃 (process_plan21.php getToolVD19)
   說明摺疊 + 工具列(全選/搜尋/圖例) + 精緻資料表 + 操作列
   前綴 ainv_ 全部獨立；沿用 iCheck 的 .i-checks / shop_checkbox 結構
   ========================================================= */

.ainv_wrap{
	padding:6px 4px 10px;
	font-family:Arial, "Microsoft JhengHei", sans-serif;
	color:#1f2937;
}

/* ---------- 說明摺疊 ---------- */
.ainv_help{
	margin:0 0 14px;
	border:1px solid #e3e8ee;
	border-radius:12px;
	background:#fff;
	overflow:hidden;
}
.ainv_help_head{
	display:flex;
	align-items:center;
	gap:10px;
	padding:11px 16px;
	font-size:14px;
	font-weight:600;
	color:#374151;
	cursor:pointer;
	user-select:none;
	transition:background .15s;
}
.ainv_help_head:hover{ background:#f7f9fb; }
.ainv_help_head > i:first-child{
	width:28px;
	height:28px;
	border-radius:8px;
	background:#f1f4f8;
	color:var(--main-color);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
}
.ainv_help_chev{ margin-left:auto; color:#9aa3af; font-size:14px; transition:transform .25s; }
.ainv_help_head.active .ainv_help_chev{ transform:rotate(180deg); }
.ainv_help_body{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.ainv_help_con{
	padding:4px 16px 16px 54px;
	font-size:14px;
	line-height:1.8;
	color:#4b5563;
	letter-spacing:.5px;
}

/* ---------- 工具列 ---------- */
.ainv_toolbar{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	margin:0 0 10px;
}
.ainv_selectall{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	font-weight:600;
	color:#374151;
}
.ainv_selectall .i-checks{ margin:0; }
.ainv_selectall label{ margin:0; font-weight:600; cursor:pointer; display:flex; align-items:center; gap:6px; }
.ainv_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;
}
.ainv_selected b{ color:var(--main-color); }
.ainv_legend{
	display:flex;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
	font-size:12.5px;
	color:#6b7280;
}
.ainv_legend span{ display:inline-flex; align-items:center; gap:5px; }
.ainv_legend i{ font-size:13px; }
.ainv_search{
	position:relative;
	flex:0 1 260px;
	min-width:180px;
	margin-left:auto;
}
.ainv_search input{
	width:100%;
	height:36px;
	padding:0 30px 0 32px;
	border:1px solid #d9dee5;
	border-radius:8px;
	font-size:13.5px;
	color:#1f2937;
	background:#fff;
	outline:none;
	transition:border-color .15s;
}
.ainv_search input:focus{ border-color:var(--main-color); box-shadow:0 0 0 3px rgba(0,122,176,.12); }
.ainv_search > i{ position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#9aa3af; font-size:14px; pointer-events:none; }
.ainv_search_clear{
	position:absolute; right:7px; top:50%; transform:translateY(-50%);
	width:22px; height:22px; border-radius:50%;
	display:none; align-items:center; justify-content:center;
	color:#9aa3af; cursor:pointer; font-size:12px;
}
.ainv_search_clear:hover{ background:#eef1f5; color:#374151; }
.ainv_search.has_text .ainv_search_clear{ display:flex; }

/* ---------- 資料表 ---------- */
.ainv_tablewrap{
	border:1px solid #e3e8ee;
	border-radius:12px;
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
	overflow:hidden;
}
.ainv_table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	font-size:13.5px;
}
.ainv_table th{
	position:sticky;
	top:0;
	z-index:1;
	padding:11px 12px;
	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;
}
.ainv_table th.ainv_r, .ainv_table td.ainv_r{ text-align:right; }
.ainv_table th.ainv_c, .ainv_table td.ainv_c{ text-align:center; }
.ainv_table td{
	padding:12px 12px;
	border-bottom:1px solid #eef1f5;
	vertical-align:middle;
	color:#1f2937;
}
.ainv_table tr:last-child td{ border-bottom:0; }
.ainv_row{ transition:background .12s; }
.ainv_row:hover td{ background:#f4fafd; }
.ainv_row td.click{ cursor:pointer; }
.ainv_row.is_copy td:first-child{ box-shadow:inset 4px 0 0 var(--main-color); }
.ainv_row .i-checks{ margin:0; }
.ainv_row .i-checks label{ margin:0; }

.ainv_name{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14.5px;
	font-weight:700;
	color:#111827;
}
.ainv_name i{ color:#c4ccd6; font-size:13px; transition:color .12s; }
.ainv_row:hover .ainv_name i{ color:var(--main-color); }
.ainv_name_tag{
	display:inline-block;
	padding:1px 7px;
	border-radius:999px;
	background:#e6f4fa;
	color:#006b9a;
	font-size:11px;
	font-weight:600;
	white-space:nowrap;
}
.ainv_num{ font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.ainv_num.zero{ color:#b0b7c3; font-weight:500; }
.ainv_num.total{ color:var(--main-color); font-size:14.5px; font-weight:700; }
.ainv_state{
	font-size:12.5px;
	line-height:1.55;
	color:#4b5563;
	max-width:220px;
}
.ainv_state:empty:before{ content:'—'; color:#c4ccd6; }
.ainv_time{ font-size:12px; color:#6b7280; line-height:1.6; white-space:nowrap; }
.ainv_time em{ font-style:normal; color:#9aa3af; margin-right:3px; }

.ainv_badge{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:3px 9px;
	border-radius:999px;
	font-size:12px;
	font-weight:600;
	white-space:nowrap;
}
.ainv_badge i{ font-size:11px; }
.ainv_badge.ok{ background:#e6f7f1; color:#0f766e; }
.ainv_badge.no{ background:#f1f4f8; color:#9aa3af; }
.ainv_badge.in{ background:#e6f4fa; color:#006b9a; }

.ainv_inbtn{
	display:inline-flex;
	align-items:center;
	gap:5px;
	height:28px;
	padding:0 11px;
	border-radius:7px;
	border:1px solid #d9dee5;
	background:#fff;
	color:#374151;
	font-size:12.5px;
	font-weight:600;
	white-space:nowrap;
	cursor:pointer;
	transition:all .15s;
}
.ainv_inbtn:hover{ border-color:var(--main-color); color:var(--main-color); background:#f4fafd; }
.ainv_inbtn i{ font-size:12px; }

/* ---------- 空狀態 ---------- */
.ainv_empty{
	padding:40px 20px;
	text-align:center;
	border:1px dashed #cfd6de;
	border-radius:12px;
	background:#fbfcfd;
	color:#6b7280;
}
.ainv_empty i{ font-size:32px; color:#c4ccd6; display:block; margin-bottom:8px; }
.ainv_empty h4{ margin:0 0 4px; font-size:15.5px; font-weight:700; color:#374151; }
.ainv_empty p{ margin:0; font-size:13px; line-height:1.7; }
.ainv_nomatch{ display:none; }

/* ---------- 操作列（#newv2_btn / #newv1_btn 內） ---------- */
.ainv_actions{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	padding:12px 4px 4px;
}
.ainv_actions_hint{
	margin-left:auto;
	font-size:12.5px;
	color:#9aa3af;
	display:inline-flex;
	align-items:center;
	gap:5px;
}
.ainv_btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	height:36px;
	padding:0 16px;
	border-radius:8px;
	border:1px solid transparent;
	font-size:13.5px;
	font-weight:600;
	line-height:1;
	white-space:nowrap;
	cursor:pointer;
	user-select:none;
	transition:all .15s ease-in-out;
}
.ainv_btn i{ font-size:14px; }
.ainv_btn_primary{ background:var(--main-color); color:#fff; box-shadow:0 2px 6px rgba(0,122,176,.25); }
.ainv_btn_primary:hover{ background:#00699a; transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,122,176,.3); }
.ainv_btn_soft{ background:#f1f4f8; color:#374151; }
.ainv_btn_soft:hover{ background:#e4e9ef; color:#111827; }
.ainv_btn_danger{ background:#fff; color:#b91c1c; border-color:#f3c5c5; }
.ainv_btn_danger:hover{ background:#fef2f2; border-color:#dc2626; }

/* ---------- RWD ---------- */
@media screen and (max-width: 820px)
{
	.ainv_help_con{ padding-left:16px; }
	.ainv_search{ flex:1 1 100%; margin-left:0; }
	.ainv_legend{ width:100%; }
	.ainv_tablewrap{ border:0; background:transparent; box-shadow:none; overflow:visible; }
	.ainv_table, .ainv_table tbody, .ainv_table tr, .ainv_table td{ display:block; width:100%; }
	.ainv_table thead{ display:none; }
	.ainv_row{
		margin:0 0 10px;
		border:1px solid #e3e8ee;
		border-radius:12px;
		background:#fff;
		box-shadow:0 2px 8px rgba(0,0,0,.04);
		overflow:hidden;
	}
	.ainv_row.is_copy{ border-left:4px solid var(--main-color); }
	.ainv_row.is_copy td:first-child{ box-shadow:none; }
	.ainv_table td{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:12px;
		padding:9px 14px;
		border-bottom:1px solid #f1f4f8;
		text-align:left !important;
	}
	.ainv_table td:before{
		content:attr(data-label);
		flex:0 0 auto;
		font-size:12px;
		color:#9aa3af;
		font-weight:600;
	}
	.ainv_table td.ainv_td_chk{ background:#f7f9fb; }
	.ainv_table td.ainv_td_chk:before{ content:'選取'; }
	.ainv_table td.ainv_td_name{ background:#f7f9fb; padding-top:0; }
	.ainv_table td.ainv_td_name:before{ content:none; }
	.ainv_state{ max-width:none; text-align:right; }
	.ainv_time{ text-align:right; }
	.ainv_actions .ainv_btn{ flex:1 1 calc(50% - 8px); }
	.ainv_actions_hint{ width:100%; margin-left:0; justify-content:center; }
}

/* =========================================================
   編輯區（#newv2_editorcon / #newv1_editorcon 內的六個頁籤頁）
   只加 .ainv_editor 外層 class，用選擇器覆寫既有 pagination_block /
   input_blcok / form_input_v1 / rwdv1_table 樣式，DOM id 與 JS 不動
   ========================================================= */

.ainv_histbtn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:8px 10px 0;
	height:32px;
	padding:0 14px;
	border-radius:8px;
	border:1px solid #d9dee5;
	background:#fff;
	color:#374151;
	font-size:13px;
	font-weight:600;
	cursor:pointer;
	transition:all .15s;
}
.ainv_histbtn:hover{ border-color:var(--main-color); color:var(--main-color); background:#f4fafd; }

.ainv_editor{ padding:10px 4px 6px !important; font-family:Arial, "Microsoft JhengHei", sans-serif; }

/* 頁籤：改成分段式膠囊，取消固定寬度 */
.ainv_editor .ainv_tabs{
	display:flex;
	flex-wrap:wrap;
	gap:4px;
	padding:4px;
	margin:0 0 12px;
	background:#eef1f5;
	border-radius:10px;
}
.ainv_editor .ainv_tabs .login_tab1{
	float:none;
	width:auto !important;
	flex:1 1 auto;
	padding:9px 12px;
	border:0 !important;
	border-radius:8px;
	font-size:13.5px;
	font-weight:600;
	line-height:1.3;
	color:#6b7280;
	text-align:center;
	white-space:nowrap;
}
.ainv_editor .ainv_tabs .login_tab1:hover{ color:var(--main-color); }
.ainv_editor .ainv_tabs .login_tab1.active{
	background:#fff;
	color:var(--main-color);
	box-shadow:0 1px 3px rgba(0,0,0,.08);
}

/* 內容卡片 */
.ainv_editor .content_flex.con_border{
	border:1px solid #e3e8ee;
	border-radius:12px;
	background:#fff;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ainv_editor .con_full{ padding:18px 20px 16px; }

/* 表單：三欄格線，span 包裹層透明化（沿用 p12ins_form 的做法） */
.ainv_editor .con_full{
	display:grid;
	grid-template-columns:repeat( 3, minmax( 0, 1fr ) );
	gap:14px 22px;
	align-items:start;
}
.ainv_editor .con_full > span{ display:contents; }
.ainv_editor .con_full > .importatitle,
.ainv_editor .con_full > .table_blcok,
.ainv_editor .con_full > .add_block,
.ainv_editor .con_full > .ainv_tablewrap,
.ainv_editor .con_full > .ainv_kpi,
.ainv_editor .con_full > .ainv_empty,
.ainv_editor .con_full > .ainv_nomatch,
.ainv_editor .con_full > center,
.ainv_editor .con_full > div[style],
.ainv_editor .con_full > .input_blcok:has( .form_flex ){ grid-column:1 / -1; }
.ainv_editor .con_full > .input_blcok:first-child{ grid-column:1 / -1; }

.ainv_editor .input_blcok{ margin:0; min-width:0; }
.ainv_editor .input_label{
	display:flex;
	align-items:center;
	gap:6px;
	margin:0 0 6px;
	font-size:13px;
	font-weight:600;
	color:#374151;
	letter-spacing:.3px;
}
.ainv_editor .is_required{ color:#dc2626; margin-right:-4px; }
.ainv_editor .field_info{
	margin:0;
	padding:1px 8px;
	border-radius:999px;
	background:#eef1f5;
	color:#6b7280;
	font-size:11.5px;
	font-weight:600;
	box-shadow:none;
	transition:all .15s;
}
.ainv_editor .field_info:hover{ background:var(--main-color); color:#fff; }

.ainv_editor .form_input_v1{
	height:38px;
	padding:0 12px;
	border:1px solid #d9dee5;
	border-radius:8px;
	background:#fff;
	font-size:14px;
	color:#1f2937;
	box-shadow:none;
}
.ainv_editor select.form_input_v1{ padding:0 10px !important; }
.ainv_editor .form_input_v1:hover{ border-color:#b9c3cf; }
.ainv_editor .form_input_v1:focus{ border-color:var(--main-color); box-shadow:0 0 0 3px rgba(0,122,176,.12); }
.ainv_editor .max_300form{ max-width:100%; }
.ainv_editor .dark_inputborder{ border-color:#c9d3de; font-weight:600; }

/* 唯讀值：直接放在 input_blcok 底下的純文字 span（沒有 id 的）與總價值 */
.ainv_editor .input_blcok > span:not([id]),
.ainv_editor .input_blcok > #show_aval{
	display:flex;
	align-items:center;
	min-height:38px;
	padding:0 12px;
	border-radius:8px;
	background:#f7f9fb;
	border:1px dashed #e3e8ee;
	color:#374151;
	font-size:14px;
	font-weight:600;
	font-variant-numeric:tabular-nums;
}
.ainv_editor .input_blcok > #show_aval{ color:var(--main-color); font-size:15px; }
.ainv_editor .input_blcok > span:empty{ display:none; }

/* 資產代碼 + 選擇已存在代碼 */
.ainv_editor .form_flex{ gap:10px; align-items:flex-start; }
.ainv_editor .ff_l{ width:auto; flex:1 1 320px; max-width:420px; }
.ainv_editor .ff_r{ width:auto; flex:0 0 auto; }
.ainv_editor .addv2_btn{
	display:inline-flex !important;
	align-items:center;
	gap:6px;
	height:38px;
	padding:0 14px;
	border-radius:8px;
	border:1px solid #d9dee5;
	background:#fff;
	color:#374151;
	font-size:13.5px;
	font-weight:600;
	line-height:1;
	cursor:pointer;
	transition:all .15s;
}
.ainv_editor .addv2_btn:hover{ border-color:var(--main-color); color:var(--main-color); background:#f4fafd; }

/* 區段標題 */
.ainv_editor .importatitle{
	display:flex;
	align-items:center;
	gap:8px;
	margin:6px 0 -6px;
	padding:0 0 8px;
	border-bottom:1px solid #eef1f5;
	font-size:15px;
	font-weight:700;
	color:#111827;
	text-align:left !important;
}
.ainv_editor .importatitle:before{
	content:'';
	width:4px;
	height:16px;
	border-radius:2px;
	background:var(--main-color);
}
.ainv_editor .con_full > div[style*='margin:0px 5px']{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 !important;
	font-size:13.5px;
	color:#374151;
}
.ainv_editor .numbers_text{ font-size:12.5px; color:#6b7280; }

/* 既有 rwdv1 表格（通路表、各頁籤計算表）柔化 */
.ainv_editor .table_blcok{ margin:0; }
.ainv_editor .rwdv1_table{ border:1px solid #e3e8ee; border-radius:10px; overflow:hidden; margin:0 auto; }
.ainv_editor .tablev1_thead{ background:#f7f9fb; color:#6b7280; font-size:12.5px; font-weight:700; }
.ainv_editor .tablev1_th{ padding:9px 8px; }
.ainv_editor .tablev1_td{ padding:8px; font-size:13.5px; border-right:1px solid #f1f4f8; }
.ainv_editor .tablev1_tr{ border-top:1px solid #f1f4f8; }
.ainv_editor .tablev1_tr:nth-child(even){ background:#fff; }
.ainv_editor .tablev1_tr:hover{ background:#f4fafd; }
.ainv_editor .tablev1_th .field_info{ margin-left:4px; }

/* 操作按鈕（新增通路／刪除） */
.ainv_editor .add_block{ display:flex; gap:8px; flex-wrap:wrap; margin:0; padding:0; }
.ainv_editor .add_block .sendv2_btn,
.ainv_editor .add_block .delv2_btn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	height:34px;
	padding:0 14px;
	margin:0;
	min-width:0;
	border-radius:8px;
	font-size:13.5px;
	font-weight:600;
	line-height:1;
	letter-spacing:0;
	box-shadow:none;
}
.ainv_editor .add_block .delv2_btn{ background:#fff; color:#b91c1c; border:1px solid #f3c5c5; }
.ainv_editor .add_block .delv2_btn:hover{ background:#fef2f2; border-color:#dc2626; }

/* 資產庫存頁籤：KPI 列與明細表 */
.ainv_kpi{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	padding:10px 14px;
	border-radius:10px;
	background:#e6f4fa;
	color:#006b9a;
}
.ainv_kpi_l{ font-size:13px; font-weight:600; }
.ainv_kpi_v{ font-size:20px; font-weight:700; color:var(--main-color); font-variant-numeric:tabular-nums; }
.ainv_kpi_h{ font-size:12px; color:#4f7f96; }
.ainv_table_sm td{ padding:10px 12px; }
.ainv_sub{ display:flex; gap:10px; flex-wrap:wrap; margin-top:3px; font-size:12px; color:#9aa3af; }
.ainv_sub_l{ font-size:13.5px; font-weight:600; color:#374151; }
.ainv_chips{ display:flex; gap:6px; flex-wrap:wrap; }
.ainv_chip{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:2px 8px;
	border-radius:999px;
	background:#f1f4f8;
	color:#4b5563;
	font-size:12px;
	white-space:nowrap;
}
.ainv_chip b{ color:#111827; font-variant-numeric:tabular-nums; }

@media screen and (max-width: 1100px)
{
	.ainv_editor .con_full{ grid-template-columns:repeat( 2, minmax( 0, 1fr ) ); }
}
@media screen and (max-width: 640px)
{
	.ainv_editor .con_full{ grid-template-columns:minmax( 0, 1fr ); padding:14px; }
	.ainv_editor .ainv_tabs .login_tab1{ flex:1 1 100%; white-space:normal; }
	.ainv_editor .ff_l{ flex:1 1 100%; max-width:none; }
}

/* =========================================================
   20260920 資產配置調整報告書 清單（plan_assets_list.php）
   ========================================================= */
.aal_page{ max-width:1100px; margin:0 auto; font-family:Arial, "Microsoft JhengHei", sans-serif; color:#1f2937; }
.aal_hero{
	display:flex; align-items:center; gap:14px;
	margin:16px 0 14px; padding:16px 20px;
	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);
}
.aal_hero_icon{
	flex:0 0 46px; width:46px; height:46px; border-radius:12px;
	background:#e6f4fa; color:var(--main-color);
	display:flex; align-items:center; justify-content:center; font-size:22px;
}
.aal_hero_body{ flex:1 1 auto; min-width:0; }
.aal_hero_tag{ display:inline-block; margin:0 0 4px; padding:2px 10px; border-radius:999px; background:#e6f4fa; color:#006b9a; font-size:12px; font-weight:600; }
.aal_hero_title{ font-size:21px; font-weight:700; color:#111827; letter-spacing:1px; line-height:1.3; }
.aal_hero_sub{ margin-top:3px; font-size:13px; color:#6b7280; }
.aal_hero_sub b{ color:#374151; }
.aal_hero_stat{ flex:0 0 auto; text-align:center; padding:8px 18px; border-radius:10px; background:#f7f9fb; border:1px solid #e9edf2; }
.aal_hero_stat b{ display:block; font-size:26px; line-height:1.1; color:var(--main-color); }
.aal_hero_stat span{ font-size:12px; color:#6b7280; letter-spacing:1px; }

.aal_intro{
	display:flex; align-items:flex-start; gap:10px;
	margin:0 0 14px; padding:12px 16px;
	border-radius:10px; background:#fff8e1; border-left:4px solid #f5b400;
	color:#8a5a00; font-size:13.5px; line-height:1.8; letter-spacing:.3px;
}
.aal_intro > i{ flex:0 0 auto; margin-top:3px; font-size:16px; color:#e07b00; }

.aal_list{ display:flex; flex-direction:column; gap:10px; }
.aal_card{
	display:flex; align-items:center; gap:14px; flex-wrap:wrap;
	padding:14px 18px;
	background:#fff; border:1px solid #e3e8ee; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.04);
	transition:box-shadow .15s, border-color .15s;
}
.aal_card:hover{ border-color:#c9d3de; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.aal_card_idx{
	flex:0 0 32px; width:32px; height:32px; border-radius:9px;
	background:#e6f4fa; color:var(--main-color);
	display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;
}
.aal_card_body{ flex:1 1 300px; min-width:0; }
.aal_card_title{ display:flex; align-items:center; gap:8px; font-size:15.5px; font-weight:700; color:#111827; }
.aal_badge{ padding:1px 8px; border-radius:999px; background:#e07b00; color:#fff; font-size:11px; font-weight:700; }
.aal_card_meta{ display:flex; gap:16px; flex-wrap:wrap; margin-top:5px; font-size:13px; color:#6b7280; }
.aal_card_meta span{ display:inline-flex; align-items:center; gap:5px; }
.aal_card_meta i{ color:#9aa3af; }
.aal_card_meta b{ color:#374151; font-weight:600; }
.aal_card_act{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }

.aal_btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	height:36px; padding:0 16px; border-radius:8px; border:1px solid transparent;
	font-size:13.5px; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer; user-select:none; transition:all .15s;
}
.aal_btn i{ font-size:14px; }
.aal_btn_lg{ height:40px; padding:0 20px; font-size:14.5px; }
.aal_btn_primary{ background:var(--main-color); color:#fff; box-shadow:0 2px 6px rgba(0,122,176,.25); }
.aal_btn_primary:hover{ background:#00699a; transform:translateY(-1px); }
.aal_btn_danger{ background:#fff; color:#b91c1c; border-color:#f3c5c5; }
.aal_btn_danger:hover{ background:#fef2f2; border-color:#dc2626; }
.aal_btn_ghost{ background:#fff; color:#6b7280; border-color:#d9dee5; }
.aal_btn_ghost:hover{ color:#111827; border-color:#9aa3af; }

.aal_empty{
	padding:48px 20px; text-align:center;
	border:1px dashed #cfd6de; border-radius:12px; background:#fbfcfd; color:#6b7280;
}
.aal_empty i{ font-size:36px; color:#c4ccd6; display:block; margin-bottom:10px; }
.aal_empty h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#374151; }
.aal_empty p{ max-width:560px; margin:0 auto 18px; font-size:13.5px; line-height:1.75; }

.aal_footer{ display:flex; justify-content:center; gap:10px; margin:22px 0 10px; }

@media screen and (max-width: 640px)
{
	.aal_hero{ flex-wrap:wrap; }
	.aal_hero_stat{ flex:1 1 100%; }
	.aal_card_act{ width:100%; }
	.aal_card_act .aal_btn{ flex:1 1 0; }
	.aal_footer{ flex-direction:column; }
}

/* =========================================================
   20260920 資產配置調整（plan_assets.php）
   ========================================================= */
.asa_page{ max-width:1180px; margin:0 auto; font-family:Arial, "Microsoft JhengHei", sans-serif; color:#1f2937; padding-bottom:20px; }
.asa_hero{
	display:flex; align-items:center; gap:14px;
	margin:16px 0 14px; padding:16px 20px;
	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);
}
.asa_hero_icon{ flex:0 0 46px; width:46px; height:46px; border-radius:12px; background:#e6f4fa; color:var(--main-color); display:flex; align-items:center; justify-content:center; font-size:22px; }
.asa_hero_body{ flex:1 1 auto; min-width:0; }
.asa_hero_tag{ display:inline-block; margin:0 0 4px; padding:2px 10px; border-radius:999px; background:#e6f4fa; color:#006b9a; font-size:12px; font-weight:600; }
.asa_hero_title{ font-size:21px; font-weight:700; color:#111827; letter-spacing:1px; line-height:1.3; }
.asa_hero_sub{ margin-top:3px; font-size:13px; color:#6b7280; }
.asa_hero_sub b{ color:#374151; }
.asa_intro{
	display:flex; align-items:flex-start; gap:10px;
	margin:0 0 14px; padding:12px 16px;
	border-radius:10px; background:#fff8e1; border-left:4px solid #f5b400;
	color:#8a5a00; font-size:13.5px; line-height:1.8; letter-spacing:.3px;
}
.asa_intro > i{ flex:0 0 auto; margin-top:3px; font-size:16px; color:#e07b00; }

.asa_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);
}
.asa_card_head{
	display:flex; align-items:center; gap:10px;
	margin:0 0 14px; padding:0 0 10px; border-bottom:1px solid #eef1f5;
	font-size:15.5px; font-weight:700; color:#111827;
}
.asa_step{
	flex:0 0 26px; width:26px; height:26px; border-radius:50%;
	background:var(--main-color); color:#fff; font-size:13px; font-weight:700;
	display:inline-flex; align-items:center; justify-content:center;
}
.asa_grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px 22px; align-items:start; }
.asa_field{ min-width:0; }
.asa_field > label{
	display:flex; align-items:center; gap:6px; margin:0 0 6px;
	font-size:13px; font-weight:600; color:#374151; line-height:1.4;
}
.asa_field .field_info{
	margin:0; padding:1px 8px; border-radius:999px;
	background:#eef1f5; color:#6b7280; font-size:11.5px; font-weight:600; box-shadow:none; white-space:nowrap;
}
.asa_field .field_info:hover{ background:var(--main-color); color:#fff; }
.asa_select, .asa_page .asa_input{
	width:100%; height:38px; padding:0 12px !important;
	border:1px solid #d9dee5; border-radius:8px; background:#fff;
	font-size:14px; color:#1f2937; box-shadow:none; max-width:none;
}
.asa_page .asa_input{ text-align:right; font-variant-numeric:tabular-nums; }
.asa_page .asa_input.dark_inputborder{ border-color:#c9d3de; }
.asa_select:focus, .asa_page .asa_input:focus{ border-color:var(--main-color); box-shadow:0 0 0 3px rgba(0,122,176,.12); outline:none; }
.asa_valrow{ display:flex; align-items:center; gap:8px; }
.asa_valrow > .asa_readonly, .asa_valrow > .asa_input{ flex:1 1 auto; min-width:0; }
.asa_readonly{
	display:flex; align-items:center; justify-content:flex-end;
	min-height:38px; padding:0 12px; border-radius:8px;
	background:#f7f9fb; border:1px dashed #e3e8ee;
	font-size:15px; font-weight:700; color:#374151; font-variant-numeric:tabular-nums;
}
.asa_readonly.accent{ color:var(--main-color); }
.asa_readonly.warn{ color:#b45309; }
.asa_readonly span:empty:before{ content:'\2014'; color:#c4ccd6; font-weight:400; }
.asa_btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	height:38px; padding:0 14px; border-radius:8px; border:1px solid transparent;
	font-size:13.5px; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer; user-select:none; transition:all .15s;
	flex:0 0 auto;
}
.asa_btn i{ font-size:14px; }
.asa_btn_light{ background:#fff; color:#374151; border-color:#d9dee5; }
.asa_btn_light:hover{ border-color:var(--main-color); color:var(--main-color); background:#f4fafd; }

.asa_msg{ margin-top:10px; }
.asa_msg:empty{ display:none; }
.asa_msg .caption_block{
	margin:0; padding:10px 14px; border-radius:8px;
	background:#fff8e1; border-left:3px solid #f5b400; color:#8a5a00;
	font-size:13.5px; line-height:1.7; letter-spacing:.3px;
}
.asa_slider{ margin:18px 6px 8px; }
.asa_slider .tmp_ywrrelative{ margin-bottom:34px; }

/* 結果頁籤與表格 */
.asa_result .asa_tabs{
	display:flex; flex-wrap:wrap; gap:4px; padding:4px; margin:0 0 12px;
	background:#eef1f5; border-radius:10px;
}
.asa_result .asa_tabs .login_tab1{
	float:none; width:auto !important; flex:1 1 auto;
	padding:9px 12px; border:0 !important; border-radius:8px;
	font-size:13.5px; font-weight:600; color:#6b7280; text-align:center; white-space:nowrap;
}
.asa_result .asa_tabs .login_tab1:hover{ color:var(--main-color); }
.asa_result .asa_tabs .login_tab1.active{ background:#fff; color:var(--main-color); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.asa_result #load_pagecon .table_blcok{ margin:0 0 10px; border:1px solid #e3e8ee; border-radius:10px; }
.asa_result #load_pagecon .rwdv1_table{ border:0; margin:0; min-width:100%; }
.asa_result #load_pagecon .tablev1_thead{ background:#f7f9fb; color:#6b7280; font-size:12.5px; font-weight:700; }
.asa_result #load_pagecon .tablev1_th{ padding:9px 8px; border-right:1px solid #eceff3; border-bottom:1px solid #e3e8ee; }
.asa_result #load_pagecon .tablev1_tr{ border-top:1px solid #f1f4f8; }
.asa_result #load_pagecon .tablev1_tr:nth-child(even){ background:#fff; }
.asa_result #load_pagecon .tablev1_tr:hover{ background:#f4fafd; }
.asa_result #load_pagecon .tablev1_td{ padding:8px; border-right:1px solid #f1f4f8; font-size:13.5px; font-variant-numeric:tabular-nums; }
.asa_result #load_pagecon .caption_block{
	margin:0 0 10px; padding:10px 14px; border-radius:8px;
	background:#fff8e1; border-left:3px solid #f5b400; color:#8a5a00; font-size:13.5px; line-height:1.7;
}
.asa_empty{
	padding:40px 20px; text-align:center;
	border:1px dashed #cfd6de; border-radius:12px; background:#fbfcfd; color:#6b7280;
}
.asa_empty i{ font-size:34px; color:#c4ccd6; display:block; margin-bottom:10px; }
.asa_empty h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#374151; }
.asa_empty p{ margin:0; font-size:13.5px; line-height:1.7; }
#load_pagecon .undercon_block{ border:1px dashed #cfd6de; border-radius:12px; background:#fbfcfd; }

/* 底部固定列按鈕 */
.asa_page ~ div .eflex_l_assets .sendv2_btn,
.eflex_l_assets .sendv2_btn, .eflex_r_assets .sendv2_btn{
	display:inline-flex !important; align-items:center; justify-content:center; gap:6px;
	min-width:0; height:38px; padding:0 16px; margin:4px; border-radius:8px;
	font-size:13.5px; font-weight:600; line-height:1; letter-spacing:0; box-shadow:none; border:1px solid transparent;
}
.eflex_l_assets .sendv2_btn{ background:#fff; color:#6b7280; border-color:#d9dee5; }
.eflex_l_assets .sendv2_btn:hover{ color:#111827; border-color:#9aa3af; background:#fff; }
.eflex_r_assets .sendv2_btn{ background:var(--main-color); color:#fff; box-shadow:0 2px 6px rgba(0,122,176,.25); }
.eflex_r_assets .sendv2_btn:hover{ background:#00699a; }

@media screen and (max-width: 1000px){ .asa_grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media screen and (max-width: 640px)
{
	.asa_grid{ grid-template-columns:minmax(0,1fr); }
	.asa_hero{ padding:12px 14px; }
	.asa_result .asa_tabs{ flex-direction:column; }
	.asa_result .asa_tabs .login_tab1{ white-space:normal; }
}
