@charset "utf-8";
@import url("card_msg.css?ts=10");
/* 設定中文字體 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;700&display=swap');

/* CSS Document */
html, body, .modal-body
{
	scroll-behavior: smooth;
}
body
{
	font-size:14px;
}
.marginTop10px
{
	margin-top:10px;
}
.marginTop20px
{
	margin-top:20px;
}

.marginBtm5px
{
	margin-bottom:5px;
}
.marginBtm10px
{
	margin-bottom:10px;
}
.marginBtm20px
{
	margin-bottom:20px;
}
.padding10px
{
	padding:10px;
}
.cursor
{
	cursor:pointer;
}
.editor_style
{
	font-size:16px;
	font-weight:600;
	padding:5px;
}

.hr_line
{
	border:0;
	height:1px;
	background-color: #DDD;
	width:100%;
	margin:0;
}

.hr_dashed
{
	border:1px dashed #DDD;
	width:100%;
	margin:0;
}

.noticeTxt
{
	color: #FFB182;
}

.radius5px
{
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.radius10px
{
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
.radius30px
{
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border-radius: 30px;
}
.radius50px
{
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
}

.box_shadow_rt_btm
{
	-moz-box-shadow:1px 1px 5px #DDD;
	-webkit-box-shadow:1px 1px 5px #DDD;
	box-shadow:1px 1px 5px #DDD;
}

.box_border_DDD
{
	border:1px solid #DDD;
}

.box_border_blue
{
	border:1px solid #248DC1;
}

.addBtn
{
	display: inline-block;
	width:150px;
	padding:8px;
	border:1px solid #CCC;
	color: #FFF;
	cursor:pointer;
	
	margin:0;
}
.addBtn:hover
{
	background:#E8E8E8;
}

.removeBtn
{
	display: inline-block;
	width:60px;
	padding:3px;
	border:1px solid #CCC;
	color: #FFF;
	
	margin:0;
}
.removeBtn:hover
{
	background:#E8E8E8;
}

.loginBtn
{
	display: inline-block;
	font-size:14px;
	width:60px;
	padding:3px;
	border:1px solid #CCC;
	line-height: 1.7;
	color: #FFF;
	cursor:pointer;
}
.loginBtn:hover
{
	background:#E8E8E8;
}

.nextBtn
{
	display: inline-block;
	font-size:14px;
	width:100%;
	padding:3px;
	border:1px solid #CCC;
	line-height: 1.7;
	color: #FFF;
	cursor:pointer;
}
.nextBtn:hover
{
	background:#E8E8E8;
}

.btn_bg_blue
{
	background: #248DC1;
	background: -moz-linear-gradient(top,  #248DC1 0%, #4fa3cd 50%, #248DC1 100%);
	background: -webkit-linear-gradient(top,  #248DC1 0%,#4fa3cd 50%,#248DC1 100%);
	background: linear-gradient(to bottom,  #248DC1 0%,#4fa3cd 50%,#248DC1 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#248DC1', endColorstr='#248DC1',GradientType=0 );
	
	cursor:pointer;
	border:1px solid #207ead;
	
	padding:10px;
	margin-bottom:10px;
}

.btn_bg_blue:hover
{
	background: #4fa3cd;
	background: -moz-linear-gradient(top,  #4fa3cd 0%, #65afd3 50%, #4fa3cd 100%);
	background: -webkit-linear-gradient(top,  #4fa3cd 0%,#65afd3 50%,#4fa3cd 100%);
	background: linear-gradient(to bottom,  #4fa3cd 0%,#65afd3 50%,#4fa3cd 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4fa3cd', endColorstr='#4fa3cd',GradientType=0 );
}

.btn_bg_lblue
{
	background: #6190D5;
	background: -moz-linear-gradient(top,  #6190D5 0%, #7AA5E4 50%, #6190D5 100%);
	background: -webkit-linear-gradient(top,  #6190D5 0%,#7AA5E4 50%,#6190D5 100%);
	background: linear-gradient(to bottom,  #6190D5 0%,#7AA5E4 50%,#6190D5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6190D5', endColorstr='#6190D5',GradientType=0 );
	
	cursor:pointer;
	border:1px solid #207ead;
	
	padding:10px;
	margin-bottom:10px;
}

.btn_bg_lblue:hover
{
	background: #7AA5E4;
	background: -moz-linear-gradient(top,  #7AA5E4 0%, #95B7E9 50%, #7AA5E4 100%);
	background: -webkit-linear-gradient(top,  #7AA5E4 0%,#95B7E9 50%,#7AA5E4 100%);
	background: linear-gradient(to bottom,  #7AA5E4 0%,#95B7E9 50%,#7AA5E4 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7AA5E4', endColorstr='#7AA5E4',GradientType=0 );
}

.btn_bg_light_blue
{
	background: #6190D5;
	background: -moz-linear-gradient(top,  #6190D5 0%, #7AA5E4 50%, #6190D5 100%);
	background: -webkit-linear-gradient(top,  #6190D5 0%,#7AA5E4 50%,#6190D5 100%);
	background: linear-gradient(to bottom,  #6190D5 0%,#7AA5E4 50%,#6190D5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6190D5', endColorstr='#6190D5',GradientType=0 );
}

.btn_bg_light_blue:hover
{
	background: #7AA5E4;
	background: -moz-linear-gradient(top,  #7AA5E4 0%, #95B7E9 50%, #7AA5E4 100%);
	background: -webkit-linear-gradient(top,  #7AA5E4 0%,#95B7E9 50%,#7AA5E4 100%);
	background: linear-gradient(to bottom,  #7AA5E4 0%,#95B7E9 50%,#7AA5E4 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7AA5E4', endColorstr='#7AA5E4',GradientType=0 );
}

.btn_bg_light_red
{
	background: #FF9A9A;
	background: -moz-linear-gradient(top,  #FF9A9A 0%, #FFC3C3 50%, #FF9A9A 100%);
	background: -webkit-linear-gradient(top,  #FF9A9A 0%,#FFC3C3 50%,#FF9A9A 100%);
	background: linear-gradient(to bottom,  #FF9A9A 0%,#FFC3C3 50%,#FF9A9A 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FF9A9A', endColorstr='#FF9A9A',GradientType=0 );
	border-color: #FF9A9A;
}

.btn_bg_light_red:hover
{
	background: #FFC3C3;
	background: -moz-linear-gradient(top,  #FFC3C3 0%, #FFCBCB 50%, #FFC3C3 100%);
	background: -webkit-linear-gradient(top,  #FFC3C3 0%,#FFCBCB 50%,#FFC3C3 100%);
	background: linear-gradient(to bottom,  #FFC3C3 0%,#FFCBCB 50%,#FFC3C3 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFC3C3', endColorstr='#FFC3C3',GradientType=0 );
}
.btn_bg_lexcel
{
	background: #629e45;
	background: -moz-linear-gradient(top,  #629e45 0%, #abd299 50%, #629e45 100%);
	background: -webkit-linear-gradient(top,  #629e45 0%,#abd299 50%,#629e45 100%);
	background: linear-gradient(to bottom,  #629e45 0%,#abd299 50%,#629e45 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#629e45', endColorstr='#629e45',GradientType=0 );
	
	cursor:pointer;
	border:1px solid #207ead;
	
	padding:10px;
	margin-bottom:10px;
}

.btn_bg_lexcel:hover
{
	background: #abd299;
	background: -moz-linear-gradient(top,  #abd299 0%, #b5d7a4 50%, #abd299 100%);
	background: -webkit-linear-gradient(top,  #abd299 0%,#b5d7a4 50%,#abd299 100%);
	background: linear-gradient(to bottom,  #abd299 0%,#b5d7a4 50%,#abd299 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#abd299', endColorstr='#abd299',GradientType=0 );
}

.disable_btn
{
	opacity:0.4;
}

.inmodal .modal-title {
    font-size: 22px;
}
.modal-body
{
	font-size:14px;
}
.inmodal .modal-header {
  padding: 20px 15px;
}
.btn_edit_sm
{
	width:120px;
	margin-bottom:10px;
}
.mfooter_hidden
{
	display:none;
}

.modal_fullw
{
	width:98% !important;
}
/* ================================================
* spin loading icon
* built at https://loading.io/spinner/custom/279283
* License under cc0
================================================ */
#loadingMask
{
	position:fixed;
	top: 0;
	width:100vw;
	height:100vh;
	background:rgba( 0 , 0 , 0 , 0.8 );
	z-index:9999;
	
	visibility:hidden;
}
#loadingMask_v1
{
	position:fixed;
	top: 0;
	width:100vw;
	height:100vh;
	background:rgba( 0 , 0 , 0 , 0.8 );
	z-index:9999;
	
	visibility:hidden;
}
.loadingFx
{
	position:absolute;
	width:50vw;
	height:fit-content;
	
	margin:auto;
	right:0;
	left:0;
	top:0;
	bottom:0;
	
	color: #FFF;
	letter-spacing:5px;
}


@keyframes lds-spin {
  0% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-webkit-keyframes lds-spin {
  0% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
.lds-spin {
  position: relative;
}
.lds-spin div > div {
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #9acdec;
  -webkit-animation: lds-spin 1.7s linear infinite;
  animation: lds-spin 1.7s linear infinite;
}
.lds-spin div:nth-child(1) > div {
  left: 160px;
  top: 88px;
  -webkit-animation-delay: -1.53s;
  animation-delay: -1.53s;
}
.lds-spin > div:nth-child(1) {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transform-origin: 172px 100px;
  transform-origin: 172px 100px;
}
.lds-spin div:nth-child(2) > div {
  left: 146.249223568px;
  top: 130.320538144px;
  -webkit-animation-delay: -1.36s;
  animation-delay: -1.36s;
}
.lds-spin > div:nth-child(2) {
  -webkit-transform: rotate(36deg);
  transform: rotate(36deg);
  -webkit-transform-origin: 158.249223568px 142.320538144px;
  transform-origin: 158.249223568px 142.320538144px;
}
.lds-spin div:nth-child(3) > div {
  left: 110.24922356799999px;
  top: 156.47606915199998px;
  -webkit-animation-delay: -1.19s;
  animation-delay: -1.19s;
}
.lds-spin > div:nth-child(3) {
  -webkit-transform: rotate(72deg);
  transform: rotate(72deg);
  -webkit-transform-origin: 122.24922356799999px 168.47606915199998px;
  transform-origin: 122.24922356799999px 168.47606915199998px;
}
.lds-spin div:nth-child(4) > div {
  left: 65.75077643200001px;
  top: 156.47606915199998px;
  -webkit-animation-delay: -1.02s;
  animation-delay: -1.02s;
}
.lds-spin > div:nth-child(4) {
  -webkit-transform: rotate(108deg);
  transform: rotate(108deg);
  -webkit-transform-origin: 77.75077643200001px 168.47606915199998px;
  transform-origin: 77.75077643200001px 168.47606915199998px;
}
.lds-spin div:nth-child(5) > div {
  left: 29.750776431999995px;
  top: 130.320538144px;
  -webkit-animation-delay: -0.85s;
  animation-delay: -0.85s;
}
.lds-spin > div:nth-child(5) {
  -webkit-transform: rotate(144deg);
  transform: rotate(144deg);
  -webkit-transform-origin: 41.750776431999995px 142.320538144px;
  transform-origin: 41.750776431999995px 142.320538144px;
}
.lds-spin div:nth-child(6) > div {
  left: 16px;
  top: 88px;
  -webkit-animation-delay: -0.68s;
  animation-delay: -0.68s;
}
.lds-spin > div:nth-child(6) {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: 28px 100px;
  transform-origin: 28px 100px;
}
.lds-spin div:nth-child(7) > div {
  left: 29.750776431999995px;
  top: 45.679461856px;
  -webkit-animation-delay: -0.51s;
  animation-delay: -0.51s;
}
.lds-spin > div:nth-child(7) {
  -webkit-transform: rotate(216deg);
  transform: rotate(216deg);
  -webkit-transform-origin: 41.750776431999995px 57.679461856px;
  transform-origin: 41.750776431999995px 57.679461856px;
}
.lds-spin div:nth-child(8) > div {
  left: 65.75077643200001px;
  top: 19.523930848000006px;
  -webkit-animation-delay: -0.34s;
  animation-delay: -0.34s;
}
.lds-spin > div:nth-child(8) {
  -webkit-transform: rotate(252deg);
  transform: rotate(252deg);
  -webkit-transform-origin: 77.75077643200001px 31.523930848000006px;
  transform-origin: 77.75077643200001px 31.523930848000006px;
}
.lds-spin div:nth-child(9) > div {
  left: 110.24922356799999px;
  top: 19.523930848000006px;
  -webkit-animation-delay: -0.17s;
  animation-delay: -0.17s;
}
.lds-spin > div:nth-child(9) {
  -webkit-transform: rotate(288deg);
  transform: rotate(288deg);
  -webkit-transform-origin: 122.24922356799999px 31.523930848000006px;
  transform-origin: 122.24922356799999px 31.523930848000006px;
}
.lds-spin div:nth-child(10) > div {
  left: 146.249223568px;
  top: 45.679461856px;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.lds-spin > div:nth-child(10) {
  -webkit-transform: rotate(324deg);
  transform: rotate(324deg);
  -webkit-transform-origin: 158.249223568px 57.679461856px;
  transform-origin: 158.249223568px 57.679461856px;
}
.lds-spin div:nth-child(11) > div {
  left: 160px;
  top: 88px;
  -webkit-animation-delay: 0.17s;
  animation-delay: 0.17s;
}
.lds-spin > div:nth-child(11) {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  -webkit-transform-origin: 172px 100px;
  transform-origin: 172px 100px;
}
.lds-spin {
  width: 111px !important;
  height: 111px !important;
  -webkit-transform: translate(-55.5px, -55.5px) scale(0.555) translate(55.5px, 55.5px);
  transform: translate(-55.5px, -55.5px) scale(0.555) translate(55.5px, 55.5px);
}


/* =============== 進度載入遮罩 =============== */
#loadingMask_newload {
	position: fixed;
	top: 0; left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.85);
	z-index: 9999;
	visibility: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-family: Arial, "Microsoft JhengHei", sans-serif;
}

#statusText {
	font-size: 24px;
	letter-spacing: 3px;
	margin-bottom: 30px;
	opacity: 0;
	transition: opacity 0.6s ease;
}

#statusText.active {
	opacity: 1;
}

.newloadprogress-container {
	width: 70%;
	max-width: 600px;
}

.nv2progress-bar {
	height: 36px;
	background: #333;
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 0 15px rgba(154, 205, 236, 0.4);
}

#progressFill {
	width: 0%;
	height: 100%;
	background: linear-gradient(90deg, #9acdec, #4a90e2);
	transition: width 0.4s ease;
}

#progressPercent {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-shadow: 1px 1px 3px #000;
}

/*20210802 add*/
.is_required
{
	color:var( --red1-color );
}

.is_vplan_1_2_bg
{
	background-color:#fff;
}
.tool_title
{
	color:#fff;
	background-color:#777;
	padding:10px;
	text-align:center;
	font-size:16px;
	margin-top:20px;
}
.tool_con
{
	padding:10px;
}

/*20210830 add*/
.book_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
.book_flex_btnblock
{
	width:calc( 100% / 3 );
	position:relative;
}
/*20211230 add*/
.p17_flex_btnblock
{
	width:calc( 100% / 2 );
	position:relative;
}

.money_color
{
	color:#FF5151;
}

/*20210831 */
/* FLOT CHART  */
.flot-chart {
  display: block;
  height: 200px;
}
.flot-chart.dashboard-chart {
  display: block;
  height: 120px;
  margin-top: 40px;
}
.flot-chart.dashboard-chart {
  display: block;
  height: 180px;
  margin-top: 40px;
}
.flot-chart-content {
  width: 100%;
  height: 100%;
}
.flot-chart-pie-content {
  width: 200px;
  height: 200px;
  margin: auto;
}

/*20211102 處理表格表頭固定 */
table.fixed_th tbody
{
	display: block;
	height: 400px;
	/* overflow-y: scroll; */
	overflow-y: overlay;
}
table.fixed_th tr
{
	width: 100%;
    display: table;
}


.switch_block
{
	padding:10px;
	background-color:#fff;
}

.table_title
{
	font-weight:600;
	font-size:18px;
	padding:10px;
}

/*20211125 資產輸入一般介面.資產代碼下拉 */
.vd19_block
{
	display:none;
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	background-color:#fff;
	z-index:10;
	border:1px solid #666;
	
	-webkit-box-shadow: 0 2px 2px 0 rgb(0 0 0 / 11%), 0 0px 1px -1px rgb(0 0 0 / 10%), 0 1px 1px 0 rgb(0 0 0 / 10%);
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 11%), 0 0px 1px -1px rgb(0 0 0 / 10%), 0 1px 1px 0 rgb(0 0 0 / 10%);
}
.vd19_datascroll
{
	width:100%;
	max-height:300px;
	overflow-y:scroll;
}
.vd19_search
{
	padding:0 10px;
}
.vd19_li
{
	width:100%;
	padding:10px;
	background-color:#fff;
	border-bottom:1px solid var( --fonts7-color );
	cursor:pointer;
	
	transition: all .15s ease-in-out;
}
.vd19_li:hover
{
	background-color:var( --fonts7-color );
}

@media screen and (max-width: 767px)
{
	#navbar .pull-right>li
	{
		float:left;
	}
}

/*------資產配置調整----------*/
.assets_show_msg
{
	color:#e74c3c;
	letter-spacing:1px;
	line-height:1.5;
}
.ashowmsg_hidde
{
	display:none;
	margin:3px 5px;
}
.field_hidden
{
	display:none;
}
.assets_smsg_input
{
	color:#e74c3c;
	letter-spacing:1px;
	line-height:1.5;
	padding:0px 12px;
}
.show_yrdata
{
	font-weight:600;
	color:#e1264a;
	letter-spacing:1px;
}

.assets_report
{
	font-size:20px;
	color:#666;
	letter-spacing:1px;
	line-height:1.5;
	padding:20px;
	text-align:center;
	border:1px solid #666;
	cursor:pointer;
	
	transition: all .15s ease-in-out;
}

.assets_report:hover
{
	color:#fff;
	background-color:rgba( 0, 0, 0, 0.45 );
}

.foucs_value
{
	font-weight:600;
	color:#FF6969;
}
.form_inline
{
	display:inline-block;
	width:100px;
}

/*menu*/
.navbar
{
	min-height:45px;
}
.navbar-brand
{
	height:45px;
	padding:10px;
}
.menuLiDiv
{
	font-size:14px;
	line-height:2;
	white-space:nowrap;
	padding: 0 10px;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center; 
	
	transition: all .15s ease-in-out;
}
.nav > li.active
{
	border-width:0px;
}
.nav > li > a:hover .menuLiDiv, .nav > li.active .menuLiDiv
{
	background-color:var( --sub-color );
}
.menuhr
{
	padding: 0 2px;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center; 
}

.nav > li > a
{
	height:100%;
	padding:0px;
}
.navbar-nav
{
	height:45px;
}
.navbar-nav>li
{
	height:100%;
}

.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse
{
	max-height:none !important;
}
.three_menu
{
	position:relative;
}
.menuLiDiv_sub
{
	position:absolute;
	top:45px;
	right:-190px;
	font-size:15px;
	font-weight:400;
	width:520px;
	color:#777;
	background-color:#fff;
	border:1px solid var( --fonts7-color );
	padding:10px;
	text-align:left;
	
	display: none;
}
.sm_menuliDiv
{
	width:400px;
}
.msub_title
{
	color:var( --main-color );
	font-weight:600;
	margin-bottom:10px;
	position: relative;
}
.msub_title:after {
    content: '';
    display: block;
    border-bottom: 2px solid var( --main-color );
    width: 35px;
    margin: 5px 0;
}
.msub_block_full
{
	width:100%;
}
.msub_block_1
{
	padding-left:5px;
	width:36%;
}
.msub_block_2
{
	padding-left:8px;
	width:32%;
	border-left:1px solid var( --fonts7-color );
}
.sm_menuliDiv .msub_block_1, .sm_menuliDiv .msub_block_2
{
	width:50%;
}
.msub_msg
{
	text-align:center;
	font-size:15px;
	font-weight:600;
	color:var( --fonts6-color );
	background-color:var( --bg3-color );
	padding:5px;
	margin-bottom:10px;
}
ul.msub_li
{
	padding-left: 10px;
}
ul.msub_li li
{
	position:relative;
	padding:8px 10px;
	
	-webkit-transition: all linear 0.2s;
    transition: all linear 0.2s;
}
ul.msub_li li:hover
{
	padding-left: 5px;
}
ul.msub_li li:before 
{
    position: absolute;
    left: -10px;
    display: block;
    content: "\e930";
    font-family: 'icomoon' !important;
    font-size: 18px;
    color: #777;
}
.nav > li.three_menu > a:hover .menuLiDiv_sub
{
	display:flex;
	flex-wrap:wrap;
}
@media screen and (max-width: 767px)
{
	#navbar .pull-right>li {
		float: none;
	}
	.navbar-nav
	{
		height:auto;
	}
	.nav.pull-right
	{
		float:none !important;
	}
	.menuLiDiv
	{
		padding-top:10px;
		padding-bottom:10px;
	}
	.hr_li
	{
		display:none !important;
	}
}


.caption_block_bigerror
{
	font-size:18px;
	font-weight:600;
	color:var( --red5-color );
	padding:10px;
	margin:5px 0px;
	background-color:var( --red4-color );
	line-height:1.5;
	letter-spacing:2px;
	display:hidden;
}
.caption_block_error
{
	font-size:15px;
	color:var( --red5-color );
	padding:10px;
	margin:5px 0px;
	background-color:var( --red4-color );
	line-height:1.5;
	letter-spacing:2px;
	display:hidden;
}
.caption_block
{
	font-size:15px;
	color:var( --fonts6-color );
	padding:10px;
	margin:5px 0px;
	background-color:var( --bg3-color );
	line-height:1.5;
	letter-spacing:2px;
}
.caption_v1_block
{
	font-size:15px;
	color:#fff;
	padding:10px;
	margin:5px 0px;
	background-color:var( --y1-color );
	line-height:1.5;
	letter-spacing:2px;
}
.caption_v1_block a
{
	color:var( --fofonts2-color );
}
.captitle
{
	font-size:20px;
	font-weight:600;
	margin-bottom:10px;
}
.capinfo
{
	line-height:1.5;
}
.flex_block
{
	width:100%;
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	/* align-items: center;  */
	align-items: stretch; 
}
.area_showarea
{
	/* width:calc( 100% / 3 - 20px ); */
	width:100%;
	margin:10px;
	padding:10px;
	background-color:#fff;
	border:1px solid var( --fonts7-color );
	
	cursor:pointer;
	
	transition: all .15s ease-in-out;
	
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: center; 
}
.area_showarea:hover, .area_showarea.active
{
	color:#fff;
	background-color:var( --main-color );
}
.area_title, .area_info
{
	line-height:1.5;
	letter-spacing:2px;
}
.area_title
{
	width:100%;
	font-size:20px;
	font-weight:600;
	margin-bottom:10px;
}
.area_info
{
	width:100%;
	font-size:15px;
	margin-bottom:10px;
}
.area_btnblock
{
	margin-top:20px;
}
.area_nownums
{
	width:100%;
	text-align:right;
	font-size:12px;
	color:var( --fonts-color );
	line-height:1.5;
	letter-spacing:2px;
	margin-top:20px;
}

.area_showarea:hover .area_nownums, .area_showarea.active .area_nownums
{
	color:#fff;
}

@media screen and (max-width: 700px)
{
	.area_showarea
	{
		width:calc( 100% - 10px );
		margin:10px 5px;
	}
}

.wrapper_con
{
	position: relative;
    min-height: 100%;
    padding-bottom: 100px;
}
@media screen and (max-width: 1000px)
{
	.wrapper_con
	{
		padding-bottom: 120px;
	}
}
@media screen and (max-width: 580px)
{
	.wrapper_con
	{
		padding-bottom: 150px;
	}
}
@media screen and (max-width: 330px)
{
	.wrapper_con
	{
		padding-bottom: 170px;
	}
}

/*-------under construction START----------*/
.undercon_block
{
	padding:60px 0;
}
.undercon_img
{
	opacity:0.4;
}
.undercon_img img
{
	max-width:200px;
}
.undercon_chtext
{
	margin-top:20px;
	color:rgba( 0,0,0, 0.5 );
	font-size:20px;
	font-weight:600;
}
.undercon_entext
{
	color:rgba( 0,0,0, 0.4 );
	margin-top:10px;
	font-size:16px;
	font-weight:600;
}
.undercon_importantchtext
{
	margin-bottom:20px;
	color: rgba( 188,66,0, 0.9 );
	font-size:20px;
	font-weight:600;
}
/*-------under construction End----------*/

.add_block
{
	width:100%;
	text-align:left;
	padding:0px 10px;
	margin-bottom:10px;
}
.insertbtn_flex
{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
.insertbtn_leftareav1
{
	width:450px;
}
.insertbtn_rightarea
{
	width:calc(100% - 450px);
}
.insertbtn_leftareav6
{
	width:275px;
}
.insertbtn_rightarea6
{
	width:calc(100% - 275px);
}

.insertbtn_outblock
{
	width:100%;
	position:relative;
	overflow-x:scroll;
	overflow-y:hidden;
}
.marginlr5
{
	margin:5px;
}

.bottom_tab
{
	bottom:0px;
}
.editor_block
{
	width:100%;
	background-color:#fff;
	border: 1px solid #E5E5E5;
	padding:0px;
	
	z-index:4;
}

.sticky_bottom
{
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	z-index: 2;
}
.editor_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content:center;
	align-items:stretch;
	
	width:100%;
	
	margin-top:10px;
}

.editor_lbarrow, .editor_rbarrow
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	justify-content:center;
	align-items:center;
	
	width:25px;
	color:var( --main-color );
	font-size:30px;
	line-height: 1.5;
	
	cursor:pointer;
	transition: all .15s ease-in-out;
}
.editor_lbarrow:hover, .editor_rbarrow:hover
{
	color:var( --sub-color );
}
.save_block
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	justify-content:center;
	align-items:center;
	
	width:160px;
}
.editor_center
{
	position:relative;
	width:calc( 100% - 210px );
	overflow-x: auto;
}
.editor_center.not_saveblock
{
	width:calc( 100% - 50px );
}
.edcenter_flex
{
	position: relative;
	padding: 0;
	margin: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	flex-wrap: nowrap;
	
	justify-content:flex-start;
	align-items:center;
}
.edcenter_li
{
	position:relative;
	width:100px;
	
	flex-shrink: 0;
}
.edcenli_fonts
{
	font-size:16px;
	text-align:center;
	color: var( --fonts1-color );
    font-weight: 600;
	line-height:1.5;
	letter-spacing:2px;
}
.edcenli_btn
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	
	justify-content:center;
	align-items:center;
	
	font-size:16px;
	height:37px;
	text-align:center;
	color: var( --fonts1-color );
	background-color:#fff;
	border:2px solid var( --main-color );
	cursor:pointer;
	border-right-width:0px;
	
	-webkit-user-select:none;
	-moz-user-select:none;
	-o-user-select:none;
	user-select:none;
	
	transition: all .15s ease-in-out;
}
.edcenli_btn_end
{
	border-right-width:2px;
}
.edcenli_btn.is_now, .edcenli_btn:hover
{
	background-color:var( --sub2-color );
}
.edcenter_li.active .edcenli_btn
{
	color:#fff;
	background-color:var( --main-color );
}

.eflex_l, .eflex_r
{
	display: flex;
	width:50%;
}
.eflex_l_assets, .eflex_r_assets
{
	display: flex;
}
.eflex_l_assets
{
	width:220px;
}
.eflex_r_assets
{
	width:calc( 100% - 220px );
	justify-content: flex-end;
}
.eflex_r
{
	justify-content: flex-end;
}
.eflex_rfull
{
	display: flex;
	width:100%;
	justify-content: flex-end;
}
@media screen and (max-width: 767px)
{
	.eflex_l, .eflex_r, .eflex_l_assets, .eflex_r_assets
	{
		width:100%;
		justify-content:center;
	}
	.eflex_l, .eflex_l_assets
	{
		padding-bottom:5px;
		border-bottom:1px solid var( --bg2-color );
	}
	.eflex_r, .eflex_r_assets
	{
		padding-top:5px;
	}
	
	.eflex_l .sendv2_btn, .eflex_r .sendv2_btn, .eflex_r .btn_group
	{
		width:50%;
	}
	.eflex_l.only_full .sendv2_btn, .eflex_r.only_full .sendv2_btn
	{
		width:100%;
	}
	.eflex_r .btn_group .zero_marign
	{
		width:calc( 100% - 30px );
	}
	.eflex_r .btn_group .only_icon
	{
		width:30px;
	}
}
.other_list
{
	display:none;
	width:100%;
	position:absolute;
	top:-90px;
	left:0px;
	background-color:#fff;
	border: 1px solid #E5E5E5;
	cursor:pointer;
}
.other_list.in
{
	display:block;
}
.list_ul
{
	padding:10px;
	border-bottom:1px solid #E5E5E5;
	
	transition: all .15s ease-in-out;
}
.list_ul:first-child
{
	border-width:0px;
}
.list_ul:hover
{
	background-color:var( --bg-color );
}

.max_width1000
{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}
.content_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	width:100%;
}
.con_fl
{
	width:calc( 100% - 300px );
	padding:10px;
}
.con_fr
{
	width:300px;
	padding:10px;
	padding-left:0px;
}
.con_full
{
	width:100%;
	padding:10px;
}
.con_border
{
	border:1px solid var( --bg5-color );
}
.confrtitle
{
	margin-bottom:10px;
}
.confrtitle h2
{
	font-size:22px;
	font-weight:600;
	margin:0px;
}

.asset_allblock
{
	width:100%;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: flex-start;
	align-items: flex-end;
}
.aallblock_left
{
	width:175px;
}
.aallblock_right
{
	width:calc( 100% - 175px );
}
@media screen and (max-width: 650px)
{
	.aallblock_left
	{
		width:100%;
	}
	.aallblock_right
	{
		width:100%;
	}
}

.input_blcok
{
	margin-bottom:5px;
}
.input_label
{
	color:var( --fonts1-color );
	font-weight:600;
	margin-bottom:3px;
}
.input_label_note
{
	font-size:13px;
	font-weight:500;
	color:var( --red1-color );
}

.title_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
.tflex_l
{
	width:calc( 100% - 120px );
}
.tflex_l h2
{
	font-size:22px;
	font-weight:600;
	margin:0px;
}
.tflex_r
{
	width:120px;
	text-align:right;
}

.pc_none
{
	display:none !important;
}
@media screen and (max-width: 767px)
{
	.con_fl, .con_fr
	{
		width:100%;
	}
	.pc_none
	{
		display:block !important;
	}
	.momile_none
	{
		display:none !important;
	}
}
.onlyText_block
{
	width:400px;
	margin:0 auto;
}
@media screen and (max-width: 767px)
{
	.onlyText_block
	{
		width:100%;
	}
}
.no_dynamic
{
	text-align:center;
	border:1px dashed var( --fonts7-color );
	padding:5px;
}

.note_block
{
	background-color:#fff;
	
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
    padding: 10px;
	margin-top:5px;
}
.note_block_moblie
{
	background-color:#fff;
	
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
	border:1px solid var( --fonts7-color );
    padding: 10px;
	margin-top:5px;
}
.notetitle
{
	font-size:20px;
	font-weight:600;
	margin-bottom:10px;
}
.notetitle i
{
	color:var( --fofonts-color );
}
.noteinfo
{
	line-height:1.5;
}

.field_info
{
	color:#fff;
	background-color:var( --fonts-color );
	font-size:12px;
	display:inline-block;
	padding:2px 5px;
	margin:2px;
	cursor:pointer;
	border-radius:10px;
	
	-webkit-box-shadow: 0px 1px 2px rgb(0 0 0 / 23%);
	box-shadow: 0px 1px 2px rgb(0 0 0 / 23%);
	
	transition: all .15s ease-in-out;
}
.field_info:hover
{
	color:var( --fonts-color );
	background-color:#fff;
}

#dynamic_msgblock
{
	position: fixed;
	top: 80px;
	right:-336px;

	width:300px;
	border-top:1px solid var( --fonts-color );
	border-bottom:1px solid var( --fonts-color );
	
	z-index:9999;
}
.dynamic_close
{
	position: absolute;
	font-size: 15px;
	top: 0px;
	left: -36px;
	padding: 10px;
	color: #fff;
	background: var( --fonts8-color );
	box-shadow: 1px 1px 5px rgb(0 0 0 / 30%);
	width:35px;
	z-index: 10;
	/* opacity: 0;
	visibility: hidden; */
}
#dynamic_msgblock .note_block
{
	margin-top:0px;
}
#dynamic_msgblock .noteinfo
{
	min-height:83px;
}

#dynamic_msgblock.in
{
	visibility: visible;
	opacity: 1;
	
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	animation-fill-mode:forwards;
	-webkit-animation-name: classMenuFadeInDown;
	animation-name: classMenuFadeInDown;
}
@-webkit-keyframes classMenuFadeInDown {
  0% {
    opacity: 0;
    right:-336px;
  }

  100% {
	opacity: 1;
	right:0px;
  }
}

@keyframes classMenuFadeInDown {
  0% {
    opacity: 0;
   right:-336px;
  }

  100% {
    opacity: 1;
    right:0px;
  }
}
#dynamic_msgblock.out
{
	visibility: visible;
	opacity: 1;
	
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	animation-fill-mode:forwards;
	-webkit-animation-name: classMenuFadeInUp;
	animation-name: classMenuFadeInUp;
}
@-webkit-keyframes classMenuFadeInUp {
  0% {
	right:0px;
  }

  100% {
   right:-336px;
  }
}

@keyframes classMenuFadeInUp {
  0% {
	right:0px;
  }

  100% {
   right:-336px;
  }
}

.block_relative
{
	position:relative;
	width:100%;
}

.add_dynamic_block
{
	text-align:left;
	background-color: #fff;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 10%);
    padding: 10px;
    margin-top: 5px;
	border-bottom:1px solid var( --fonts7-color );
}
.removefonts
{
	color:var( --red1-color );
}
.form_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
.ff_l
{
	width:300px;
}
.ff_r
{
	width:calc( 100% - 300px );
}
.flex_fullheight
{
	display:flex;
	height:100%;
	
	align-items: center; 
}
.btninput_wmax
{
	width:210px;
}
.center_flexblock
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: flex-start;
	align-items: center; 
}

.in_con_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
.in_confl
{
	width:calc( 100% - 450px );
}
.in_confr
{
	width:450px;
}

.tmp_ywrrelative
{
	width:100%;
	position:relative;
	margin-bottom:30px;
}
.show_yr
{
	display:none;
	position: absolute;
	left:calc( 100% - 75px );
	bottom:-30px;
	font-size:10px;
	width:75px;
	padding: 1px 2px;
	border-radius: 4px;
	color:#fff;
	text-align:center;
	background-color:#e8273b;
}

.auxiliary_flex
{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: center;
	align-items: start; 
}
.aflex_ul
{
	width:20%;
}
.aflex_li
{
	font-size:14px;
	width:calc( 100% - 10px );
	text-align:center;
	color:#2b3340;
	border:1px solid #edf0f2;
	margin:3px;
	padding:3px;
	cursor:pointer;
	
	transition: all .15s ease-in-out;
}
.aflex_li:hover, .aflex_li.active
{
	background-color:#edf0f2;
}
.aflex_li.disabled
{
	color:#CFCFCF;
}
@media only screen and (max-width: 720px)
{
	.aflex_ul
	{
		width:33%;
	}
}

.all_flexaddblock
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: flex-start;
	align-items: center; 
}

#newv1_title, #newv1_list, #newv1_editor, .subnewv1_title
{
	position:relative;
	width:100%;
}
#newv1_title, .subnewv1_title
{
	font-size:18px;
	color:#0e1318;
	font-weight:600;
	text-align:center;
	padding:5px 0;
}
.modify_checks_block
{
	display:inline-block;
}
.numbers_text
{
	color:rgba( 0,0,0, .45 );
	display:inline-block;
	margin-left:5px;
	letter-spacing: 1px;/* 設定文字間距 */
	font-size:14px;
}


.pagination_block
{
	width:100%;
	background-color:#fff;
}
.pagination_block_sticy
{
	position:sticky;
	top:45px;
	left:0;
	width:100%;
	background-color:#fff;
	z-index:10;
}
.pagination_block_fixed
{
	position:fixed;
	top:41px;
	left:0;
	width:calc( 100% - 20px );
	background-color:#fff;
	z-index:10;
}
.pagination_h
{
	height:41px;
}
.login_tab1, .assets_tab1
{
	cursor: pointer;
    display: block;
    font-size: 16px;
    font-weight: 600;
    float: left;
    width: 100px;
    padding: 5px;
    text-align: center;
	
	color: #999;
    border-bottom: 3px solid #e7e7e7;
	
	transition: all .15s ease-in-out;
}
.assets_tab1
{
	width:175px;
}
.assets_obb_color
{
	color: #808080;
    border-bottom: 3px solid #d6d6d6;
}
.login_tab1.active, .login_tab1:hover, .assets_tab1.active, .assets_tab1:hover
{
	color:var( --main-color );
	border-bottom: 3px solid var( --main-color );
}

.show_ageiarea
{
	display: flex;
	align-items: center; 
	
	height:34px;
}

.importatitle
{
	font-size:18px;
	color:#0e1318;
	font-weight:600;
	text-align:center;
	padding:5px 0;
}

#show_list
{
	padding:10px;
}

.plan13width
{
	width:100%;
}
.clearx
{
	clear:both;
}

.border_hr
{
	border-top: 1px dashed rgba(0,0,0,0.1);
	height:2px;
	margin:10px 0;
}
.calc_style
{
	color:#999;
}

/*進度條*/
.bar_block
{
	position:relative;
	width:100%;
	padding:10px;
	margin:10px 0;
}
.iphone_bar
{
	position:relative;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	width:100%;
	height:25px;
	
	border-top-left-radius:8px;
	border-top-right-radius:8px;
	border-bottom-left-radius:8px;
	border-bottom-right-radius:8px;
	
	background-color:#f2f1f7;
}
.one_pec1
{
	background-color:#FF5151;
}
.one_pec2
{
	background-color:#ffcc03;
}
.one_pec3
{
	background-color:#01B468;
}
.one_pec4
{
	background-color:#8F4586;
}
.one_pec5
{
	background-color:#004B97;
}
.one_other
{
	background-color:#7B7B7B;
}
.leftradius
{
	border-top-left-radius:8px;
	border-bottom-left-radius:8px;
}
.rightradius
{
	border-top-right-radius:8px;
	border-bottom-right-radius:8px;
}
.square_div
{
	width:10px;
	height:10px;
	margin-right:5px;
	display:inline-block;
}

.msgshow, #target_anyresult
{
	text-align: left;
}

.main_p13
{
	max-width:760px;
	margin:0 auto;
	background-color: #fff;
	padding:10px;
}

.plan14width
{
	position:relative;
	width:100%;
}

.area_block
{
	text-align:center;
}

.search_inputblock
{
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}
.search_result
{
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}
.assets_ul
{
	padding: 0;
	margin: 0;
	list-style: none;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content:flex-start;
	align-items: center;
}
.assets_ul li
{
	position:relative;
	background-color:#fff;
	border: 1px solid #e5e6e7;
	border-radius:4px;
	margin:5px;
	padding:10px;
	padding-left:30px;
	cursor:pointer;
}
.assets_ul .avar_color
{
	color:#007AB0;
}
.assets_ul li:before
{
	font-family: 'icomoon';
	content:'\e937';
	
	position:absolute;
	top:10px;
	left:10px;
}
.assets_ul li:hover, .assets_ul li.active
{
	color:#fff;
	background-color:#444444;
}
.assets_ul li:hover:before, .assets_ul li.active:before
{
	font-family: 'icomoon';
	content:'\e92c';
}
.assets_ul li:hover .avar_color, .assets_ul li.active .avar_color
{
	color:#fff;
}


.book_content
{
	position:relative;
	width:100%;
	padding:10px;
	line-height:2;
	letter-spacing:2px;
}
.book_h2
{
	font-size:20pt;
	text-align:center;
	font-weight:600;
	margin-bottom: 20px;
}
.book_h3
{
	font-size:16pt;
	text-align:center;
	font-weight:600;
}
.blank_paragraph
{
	width:100%;
	margin-bottom:20px;
}
.blank_inparagraph
{
	width:100%;
	margin-bottom:50px;
}
.paragraph_style
{
	font-size:12pt;
	text-indent:2.2em;
	text-align:justify;
}
.paragraph_noinstyle
{
	font-size:12pt;
	text-align:justify;
}
.paragraph_noindentstyle
{
	font-size:12pt;
	text-align:justify;
}
.paragraph_noboldintstyle
{
	font-size:12pt;
	font-weight:600;
	text-align:justify;
}
.ragraph_boldfontsstyle
{
	width:100%;
	font-size:13pt;
	font-weight:600;
	text-align:justify;
}
.ragraph_boldfystyle
{
	width:100%;
	font-size:13pt;
	font-weight:600;
	text-align:justify;
}
.ragraph_boldfystyle_v1
{
	width:100%;
	font-size:14pt;
	font-weight:600;
	text-align:justify;
}
.y_bgcolor
{
	background-color:#FFE66F;
}
.paragraph_nmstyle
{
	font-size:12pt;
	text-align:justify;
	color:#007AB0;
}
.paragraph_nmstyle_v1
{
	width:100%;
	font-size:12pt;
	text-align:left;
	color:#007AB0;
}
.book_outline
{
	font-size:14pt;
	text-align:center;
	margin-top:20px;
}
ul.boutline_ul
{
	position: relative;
    width: 100%;
	list-style: none;
	padding-inline-start: 0px;
	
	counter-reset: myli 0;
}
ul.boutline_ul li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    font-size: 12pt;
	cursor:pointer;
    padding: 10px 5px;
    transition: all .1s ease-in-out;
}
ul.boutline_ul li:before {
    font-size: 12pt;
    color: #444;
    content: counter(myli)".";
    counter-increment: myli 1;
	width:29px;
}
ul.boutline_ul li:hover
{
	color:#007AB0;
}

ul.boutlinev1_ul
{
	position: relative;
    width: 100%;
	list-style: none;
	padding-inline-start: 0px;
	
	counter-reset: myli 0;
}
ul.boutlinev1_ul li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    font-size: 12pt;
	cursor:pointer;
    padding: 10px 5px;
    transition: all .1s ease-in-out;
}
ul.boutlinev1_ul li:hover
{
	color:#007AB0;
}

ul.boutlinev1_u2
{
	position: relative;
    width: 100%;
	list-style-type: disc !important; /* 强制恢复圆点 */
}
ul.boutlinev1_u2 li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    font-size: 12pt;
	cursor:pointer;
    padding: 10px 5px;
    transition: all .1s ease-in-out;
	
    padding-inline-start: 35px; /* 调整缩进 */
}
ul.boutlinev1_u2 li::before {
    content: '•'; /* 添加自定义圆点 */
    display: inline-block;
    margin-right: 5px; /* 项目文本与圆点之间的间距 */
}
ul.boutlinev1_u2 li:hover
{
	color:#007AB0;
}

ul.boutlinev1_u3
{
	position: relative;
    width: 100%;
	list-style-type: disc !important; /* 强制恢复圆点 */
}
ul.boutlinev1_u3 li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
	cursor:pointer;
    padding: 3px 5px;
    transition: all .1s ease-in-out;
	
    padding-inline-start: 35px; /* 调整缩进 */
}
ul.boutlinev1_u3 li::before {
    content: '•'; /* 添加自定义圆点 */
    display: inline-block;
    margin-right: 5px; /* 项目文本与圆点之间的间距 */
}
ul.boutlinev1_u3 li:hover
{
	color:#007AB0;
}

ul.boutlinev1_u4
{
	position: relative;
    width: 100%;
	list-style-type: disc !important; /* 强制恢复圆点 */
}
ul.boutlinev1_u4 li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
	cursor:pointer;
    padding: 3px 5px;
    transition: all .1s ease-in-out;
	
    padding-inline-start: 35px; /* 调整缩进 */
}
ul.boutlinev1_u4 li:hover
{
	color:#007AB0;
}

ul.boutlinev1_u5
{
	position: relative;
    width: 100%;
	list-style-type: disc !important; /* 强制恢复圆点 */
}
ul.boutlinev1_u5 li {
	color:#444;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
	cursor:pointer;
    padding: 3px 5px;
    transition: all .1s ease-in-out;
	
    padding-inline-start: 35px; /* 调整缩进 */
}

ul.boutlinev1_u6
{
	position: relative;
    width: 100%;
	list-style-type: disc !important; /* 强制恢复圆点 */
}
ul.boutlinev1_u6 li {
	color:#007AB0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
	cursor:pointer;
    padding: 3px 5px;
    transition: all .1s ease-in-out;
	
    padding-inline-start: 35px; /* 调整缩进 */
}

.book_inh2
{
	font-size:18pt;
	text-align:center;
	font-weight:600;
	margin-bottom: 20px;
}
.book_img_fonts
{
	font-size:12pt;
	text-align:center;
	margin-bottom: 10px;
}

.see_table_block
{
	width:100%;
	overflow-x:auto;
	margin:10px 0;
}
.see_table_hr
{
	width:100%;
	border-bottom:1px solid #333;
	margin:0 auto;
}
.see_table_nohrflex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch; 
	
	margin:0 auto;
}
.st_flex_cw180, .st_flex_cw200, .st_flex_cw220, .st_flex_cw250, .st_flex_cw280
{
	padding:8px;
}
.st_flex_cw180
{
	width:180px;
}
.st_flex_cw200
{
	width:200px;
}
.st_flex_cw220
{
	width:220px;
}
.st_flex_cw250
{
	width:250px;
}
.st_flex_cw280
{
	width:280px;
}
.st_flex_cwhr
{
	border-bottom:1px solid #333;
}
.see_table_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center; 
	
	border-bottom:1px solid #333;
	
	margin:0 auto;
}
.st_align_left
{
	text-align:left;
}
.st_align_right
{
	text-align:right;
}
.st_align_center
{
	text-align:center;
}
.st_valign_fcenter
{
	display: flex;
	justify-content: center;
	align-items: center; 
}
.st_flex_w180, .st_flex_w140, .st_flex_w120, .st_flex_w90, .st_flex_w200, .st_flex_w240
{
	padding:8px;
}
.st_flex_w240
{
	width:240px;
}
.st_flex_w200
{
	width:200px;
}
.st_flex_w180
{
	width:180px;
}
.st_flex_w140
{
	width:140px;
}
.st_flex_w120
{
	width:120px;
}
.st_flex_w90
{
	width:90px;
}
.st_merge_w600
{
	width:600px;
}

.st_flex_margin20b
{
	margin-bottom:20px;
}

.setbgcolor_1
{
	background-color:#daeef3;
}
.setbgcolor_2
{
	background-color:#f2dbdb;
}
.setbgcolor_3
{
	background-color:#daf2d0;
}
.setbgcolor_4
{
	background-color:#fde9d9;
}
.setbgcolor_5
{
	background-color:#fbd4b4;
}

.chart_scrolblock
{
	width:100%;
	overflow-x:auto;
	min-height: 350px;
}
.chart_block
{
	position:relative;
	min-width:900px;
}


.book_listflex
{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start; 
	
	font-size:12pt;
}
.book_listno
{
	width:25px;
}
.book_listfonts
{
	width:calc( 100% - 25px );
	text-align:justify;
}

.math_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center; 
}
.st_formula
{
	width:calc( 100% - 15px );
	text-align:center;
}
.st_operator
{
	width:15px;
}
.st_math_hr
{
	border-bottom:1px solid #5e5e5e;
}


.arr_block
{
	width:95%;
	position:relative;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center; 
	
	border-bottom:6px dotted #8F8F8F;
	margin:0 auto;
	margin-top:40px;
	margin-bottom:40px;
}
.block_min_fonts
{
	color:var( --main-color );
	position:absolute;
	top:0px;
	left:0px;
	border-top:6px dotted transparent;
}
.block_min_dot
{
	position:absolute;
	top:0px;
	left:-3px;
	width:10px;
	border-top:8px dotted var( --main-color );
}
.block_max_fonts
{
	color:var( --main-color );
	position:absolute;
	top:0px;
	right:0px;
	border-top:6px dotted transparent;
}
.block_max_dot
{
	position:absolute;
	top:0px;
	right:-3px;
	width:10px;
	border-top:8px dotted var( --main-color );
}
.block_arr_fonts
{
	color:var( --red-color );
	position:absolute;
	top:-30px;
	left:0px;
	border-top:6px dotted transparent;
}
.block_arr_dot
{
	position:absolute;
	top:-24px;
	left:-3px;
	width:10px;
	border-bottom:8px dotted var( --red-color );
}
.block_target_fonts
{
	color:var( --green-color );
	position:absolute;
	top:0px;
	left:0px;
	border-top:6px dotted transparent;
}
.block_target_dot
{
	position:absolute;
	top:-24px;
	left:-3px;
	width:10px;
	border-bottom:8px dotted var( --green-color );
}
.other_fontsv1
{
	color:var( --main-color );
}

.cookie_block
{
	position: fixed;
	padding: 20px 16px;
	background: rgb(242, 242, 242);
	color: rgb(136, 136, 136);
	box-shadow: rgb(151 151 151 / 50%) 0px 1px 4px;
	border-radius: 4px;
	display: flex;
	left: 0;
	right: 0;
	bottom:0;
	margin:0 auto;
	z-index: 100;
}
.cookie_block.hiddenblock
{
	display: none;
}
.cookie_con
{
	width:calc( 100% - 80px );
}
.cookie_btn
{
	width:80px;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.5;
	-webkit-box-align: center;
	align-items: center;
	text-align: center;
	color: rgb(136, 136, 136);
	margin: auto;
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.div_flex
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: flex-start;
	align-items: center; 
}
.div_flex_in50
{
	width:50%;
	display: flex;
	
	justify-content: center;
	align-items: center; 
}
.show_areamsg
{
	font-size:14px;
	color:var( --y3-color );
}

.floatisFixed
{
	position: fixed;
    bottom: 20%;
    right: 0;
    margin-right: 0;
	z-index:100;
}
.list_unstyled
{
	padding-left: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #ddd;
}
.float_item
{
	font-size:12px;
	letter-spacing:1px;
	color: var( --fonts-color );
	text-align: center;
	position: relative;
	padding: 5px 0;
	border: 0;
	width:60px;
	border-bottom: 1px solid #ddd;
	
	cursor:pointer;
	
	transition: all .3s ease-in-out;
}
.flitem_icon
{
	font-size:24px;
	text-align:center;
	margin-bottom:0px;
}
.float_item:hover
{
	color: #fff;
	background-color:var( --fonts-color );
}
.float_item:hover a
{
	color: #fff;
}

.modal_pre
{
	z-index:2051 !important;
}
/* 20240320 chisheng add */
/* rule */
.rule_img{
	width: 100%;
	margin-bottom: 10px;
}

.paragraph_style span{
	font-weight: 700;
	color: #0e1318;			
}

.rule_btn_box{
	width: 100%;
	display: flex;
}

.rule_btn{
	cursor: pointer;
    display: block;
    font-size: 16px;
    font-weight: 600;
    width: 100%;
    padding: 5px;
    text-align: center;
    color: #999;
    border-bottom: 3px solid #e7e7e7;
    transition: all .15s ease-in-out;
}

.rule_btn:hover{
	color: var(--main-color );
    border-bottom: 3px solid var(--main-color );
}

.rule_btn.active{
	color: var(--main-color );
    border-bottom: 3px solid var(--main-color );
}

.rule_blank_inparagraph{
	width: 100%;
	height: 70px;
}
/* rule */
.import_btn_box{
	width: 100%;
	display: flex;
}

.import_btn{
	cursor: pointer;
    display: block;
    font-size: 16px;
    font-weight: 600;
    width: 100%;
    padding: 5px;
    text-align: center;
    color: #999;
    border-bottom: 3px solid #e7e7e7;
    transition: all .15s ease-in-out;
}

.import_btn:hover{
	color: var(--main-color );
    border-bottom: 3px solid var(--main-color );
}

.import_btn.active{
	color: var(--main-color );
    border-bottom: 3px solid var(--main-color );
}


.e_important {
	font-size: 13px;
	color: var(--red1-color);
	margin-top: 8px;
}
.del_msg_block {
    text-align: center;
    padding: 30px;
    overflow: auto;
}
.editor_table {
	width: 100%;
	position: relative;
	border: 1px solid var(--fonts8-color);

	margin-top: 10px;
}

.editor_tr {
	font-size: 15px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;

	width: 100%;
	position: relative;
	border-bottom: 1px solid var(--fonts8-color);
}

.editor_tr:last-child {
	border-bottom-width: 0px;
}

.editor_ltd {
	color: var(--footertop-color);
	text-align: center;
	font-weight: 600;
	width: 80px;
	background-color: var(--fonts9-color);
	padding: 12px 0px;
}

.editor_rtd {
	color: var(--fonts1-color);
	width: calc(100% - 80px);
	background-color: #fff;
	padding: 12px 4px;
	padding-left: 10px;
}

.editorv1_btn {
	font-size: 13px;
	position: relative;

	text-align: center;
	border-radius: 5px;
	padding: 3px 5px;
	margin-left: 5px;
	background-color: var(--main-color);
	color: #FFF;
	cursor: pointer;

	-webkit-user-select: none;

	-webkit-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.editorv1_btn:hover {
	background-color: var(--sub-color);

	-webkit-box-shadow: 0px 2px 3px rgb(0 0 0 / 33%);
	box-shadow: 0px 2px 3px rgb(0 0 0 / 33%);
}


.login_div
{
	text-align:center;
	padding:5px;
	margin-top:5px;
	background-color:#e5e6e7;
}
.login_div a
{
	color:#007AB0;
}



.assetv1_allblock
{
	width:100%;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	
	justify-content: flex-start;
	align-items: center;
}
.aallblockv1_left
{
	width:330px;
}
.aallblockv1_right
{
	width:calc( 100% - 330px );
}
@media screen and (max-width: 650px)
{
	.aallblockv1_left
	{
		width:100%;
	}
	.aallblockv1_right
	{
		width:100%;
	}
}

.red_color
{
	color:#e03f19 !important;
}
.text_decor
{
	text-decoration:underline;
}
.fonts_italic
{
	font-style:italic;
}


/*------buycheck---------*/
/* 20240320 chisheng add */
ul
{
	padding-inline-start:0px;
}
#order {
	width: 620px;
	margin: 0 auto;
}

.subtitle {
	color: var(--footertop-color);
	font-weight: 600;
}

.content_box {
	border: 1px solid #d3d5d7;
	font-size: 16px;
	margin-bottom: 20px;
	background-color: #fff;
}

.content_group {
	padding: 15px 20px;
}

.content_group p {
	font-weight: 600;
	color: var(--footertop-color);
}

.content_item {
	display: inline-flex;
	justify-content: space-between;
	padding: 5px 0px;
	font-weight: 600;
}

.member_item {
	display: flex;
	justify-content: space-between;
	padding: 5px 0px;
	font-weight: 600;
}

.content_group .carrier_item:last-child {
	margin-bottom: 0px;
}

.msg_box {
	padding: 15px 20px;
	margin-bottom: 20px;
	background-color: #E5E5E5;
	font-size: 16px;
	font-weight: 600;
}

.tab {
	position: relative;
	display: flex;
}

ul.tab li {
	width: 100%;
	text-align: center;
	cursor: pointer;
	padding: 5px;
	font-weight: 600;
	color: var(--footertop-color);
	line-height: 40px;
	border-bottom: 1px solid #d3d5d7;
}

ul.tab li:hover {
	color: #d60c18;
}

ul.tab li.active {
	color: #d60c18;
	border-bottom: 3px solid #d60c18;
}

.cue {
	cursor: pointer;
	padding-left: 19px;
	width: 100%;
	font-size: 14px;
	color: #757575;
}

.carrier {
	cursor: pointer;
	width: calc(100% - 20px);
	color: var(--footertop-color);
	margin: 0px;
	font-weight: 600;
}

.carrier_item {
	margin-bottom: 15px;
}

.input_label {
	cursor: pointer;
	color: var(--footertop-color);
	width: calc(100% - 20px);
	font-weight: 600;
}

.addr_content {
	width: 100%;
	display: flex;
}

.city_addr,
.area_addr {
	margin-right: 10px;
}

.full_addr {
	Flex-grow: 1;
}

.price_box {
	position: sticky;
	bottom: 0px;
	width: 100%;
	padding: 15px;
	z-index: 1;
	background-color: #E5E5E5;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.price {
	font-weight: 600;
	color: var(--footertop-color);
	font-size: 20px;
	padding: 16PX 0px;
}

.hint {
	color: #d60c18;
	font-size: 14px;
	display: none;
}

.error {
	border: 1px solid #d60c18 !important;
}

.input-disabled {
	pointer-events: none;
	opacity: 0.6;
	/* 可選：使禁用的元素半透明以示區別 */
}

@media (max-width: 767px) {
	#order {
		width: 100%;
	}

	.content_item {
		display: block;
		padding: 5px 0px;
		font-weight: 600;
	}

	.addr_content {
		width: 100%;
		display: block;
	}

	.city_addr,
	.area_addr {
		margin: 0px 0px 10px 0px;
	}
}

/*------buycheck---------*/
/*------buyok---------*/
.ok_icon {
	color: green;
	font-size: 48px;
	text-align: center;
}

.ok_text {
	font-weight: 600;
	text-align: center;
}

/*------buyok---------*/
/* 20240320 chisheng add */
/*---------------*/
.noticeTxt {
	color: #FFB182;
}



/*----------20251115 add-------*/
.example_container {
    max-width: 900px;
    margin: 0 auto;
	margin-top:10px;
    background-color: #fff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.example_title {
    font-size: 16px;
    font-weight: bold;
    color: #d32f2f;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}

.bigexample_title {
    font-size: 18px;
    font-weight: bold;
    color: #007AB0;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}

/* 所有數字底線樣式 */
.num {
    text-decoration: underline;
    text-decoration-color: #d32f2f;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 2px;
    font-weight: bold;
    color: #d32f2f;
}

/* 特別強調的數字（如結果金額） */
.result .num {
    color: #e65100;
    text-decoration-color: #e65100;
}

.conclusion .num {
    color: #1b5e20;
    text-decoration-color: #1b5e20;
}

/* 列表樣式 */
.list {
    list-style: none;
    margin: 20px 0;
}

.list li {
    margin-bottom: 14px;
    /* display: flex;
    align-items: flex-start; */
    font-size: 16px;
}

.bullet {
    color: #d32f2f;
    font-weight: bold;
    margin-right: 10px;
    font-size: 16px;
    flex-shrink: 0;
}

.text {
    flex: 1;
}

.text u {
    text-decoration: underline;
    color: #555;
}

/* 結果區塊 */
.result {
    background-color: #fff8e1;
    padding: 12px 16px;
    border-left: 4px solid #ffb300;
    margin: 12px 0 20px 30px;
    font-size: 16px;
    border-radius: 4px;
    color: #5d4037;
}

/* 結論區塊 */
.conclusion {
    background-color: #e8f5e9;
    padding: 16px;
    border-radius: 6px;
    font-size: 16px;
    color: #2e7d32;
    text-align: center;
    margin-top: 25px;
    border: 1px solid #a5d6a7;
}

/* 響應式 */
@media (max-width: 768px) {
    .example_container {
        padding: 15px;
    }
    
    .example_title {
        font-size: 14px;
    }
    .bigexample_title {
        font-size: 16px;
    }
    
    .list li,
    .result,
    .conclusion {
        font-size: 14px;
    }

    .num {
        text-decoration-thickness: 1.2px;
        text-underline-offset: 1.5px;
    }
}
/*----------20251115 start-------*/
.clean-accordion { 
  max-width: 960px; 
  margin: 30px auto; 
  border-radius: 12px; 
  overflow: hidden; 
  box-shadow: 0 6px 20px rgba(0,0,0,0.1); 
  font-family:'Microsoft JhengHei',sans-serif;
  border:1px solid #c3c3c3;
}
.acc-item { background:#fff; border-bottom:1px solid #eee; }
.acc-item.highlight { background: linear-gradient(135deg, #ff9500, #f80); color:#fff; }
.acc-item.highlight .acc-header { color:#fff; }
.acc-header {
  padding:12px 14px;
  cursor:pointer;
  font-size:15px;
  font-weight:600;
  display:flex;
  align-items:center;
  transition:background 0.3s;
}
.acc-header:hover { background:rgba(0,0,0,0.06); }
.acc-item.highlight .acc-header:hover { background:rgba(255,255,255,0.15); }
.acc-icon {
  font-size:12px;
  margin-right:12px;
  transition:transform 0.3s;
  display:inline-block;
}
.acc-header.active .acc-icon { transform:rotate(90deg); }
.acc-content {
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  background:#fdfdfd;
}
.acc-header.active + .acc-content {
  max-height:800px; /* 足夠大即可 */
}

/* 保留你原本的樣式 */
.caption_v1_block, .caption_block {
  font-size:15px;
  line-height:1.7;
  letter-spacing:2px;
  padding:15px;
  margin:0;
}
.caption_v1_block { background:var(--y1-color); color:#fff; }
.caption_v1_block a { color:#fff; text-decoration:underline; }
.caption_block { background:var(--bg3-color); color:var(--fonts6-color); }
.download_btn {
  display:inline-block;
  background:#fa8b00;
  color:#fff!important;
  padding:14px 30px;
  font-size:18px;
  font-weight:600;
  border-radius:8px;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(250,139,0,0.3);
  transition:0.3s;
}
.download_btn:hover {
  background:#e67e00;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(250,139,0,0.4);
}
/*----------20251129 end-------*/



/* 定義主色系 */
:root {
    --primaryinv3-color: #007AB0;
    --primaryinv3-light: #e6f6ff;
    --textinv3-dark: #333333;
    --textinv3-medium: #555555;
    --borderinv3-light: #eeeeee;
    --highlightinv3-red: #dc3545;
	--font-size-base: 16px; 
	--text-light: #ffffff;
	--fs-highlight-green: #28a745;
    --fs-highlight-red: #dc3545;
    --ds-border-light: #dddddd;
    --ds-bg-odd: #f8f8f8; /* 奇數行背景 */
    --ds-bg-even: #ffffff; /* 偶數行背景 */
	--fm-border-color: #d1d1d1; 
    --fm-shadow-color: rgba(0, 0, 0, 0.3); /* 強化陰影 */
    --fm-font-size: 14px; 
	
	--ied-alert-color: #e67e22; /* 負債警示使用橘色 */
	--ied-border-color: #e0e0e0;
	--ied-bg-light: #f7f7f7;
	
	--shadow-color: rgba(0, 0, 0, 0.15); /* 較明顯的陰影 */
}

/* 核心樣式 */
.financial-dashboard {
    font-family: 'Noto Sans TC', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 30px;
    max-width: 1000px; /* 增加寬度以容納所有內容 */
    margin: 20px auto;
    color: var(--textinv3-dark);
}

.dashboard-title {
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--primaryinv3-color);
    border-bottom: 3px solid var(--primaryinv3-light);
    padding-bottom: 15px;
    margin-bottom: 25px;
}

/* 數據分組樣式 */
.data-group {
    margin-bottom: 20px;
    border: 1px solid var(--borderinv3-light);
    border-radius: 8px;
    overflow: hidden;
}

/* 核心：使用 CSS Grid 確保對齊 */
.data-row {
    display: grid;
    /* 定義三欄的寬度比例：標籤(佔3份) / 數值(佔2份) / 操作(佔4份) */
    grid-template-columns: 3fr 2fr 4fr; 
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid var(--borderinv3-light);
    transition: background-color 0.2s;
}

.data-row:last-child {
    border-bottom: none;
}

.data-row:hover {
    background-color: #f8f9fa;
}

/* 1. 標籤欄位 (Label) */
.data-label-col {
    font-weight: 400;
    color: var(--textinv3-medium);
    font-size: 1.55rem;
    display: flex;
    align-items: center;
    gap: 15px; /* 標籤與 Icon 說明間距 */
}

.required-indicator {
    color: var(--highlightinv3-red);
    font-weight: 700;
    margin-right: -3px;
}

.data-label-col.subtract-item {
    color: #888888;
}

/* 2. 數值欄位 (Value) */
.data-value-col {
    text-align: right;
    font-weight: 700;
    font-size: 1.45rem;
    color: var(--textinv3-dark);
    padding: 0 20px; /* 增加左右間隔，避免太靠近邊緣 */
}

.input-money {
    width: 100%;
    border: 1px solid #ced4da;
    text-align: right;
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--textinv3-dark);
    padding: 8px 10px;
    border-radius: 4px;
    transition: border-color 0.2s;
}

.input-money:focus {
    border-color: var(--primaryinv3-color);
    outline: none;
}

/* 3. 行動按鈕欄位 (Action) */
.data-action-col {
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap; 
}

.action-with-info {
    display: flex;
    align-items: center;
    gap: 5px;
}

.action-group-col {
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

/* 按鈕樣式 */
.action-btn {
    padding: 8px 15px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1.25rem;
    transition: all 0.2s;
    font-weight: 500;
    white-space: nowrap;
    border: 1px solid transparent;
}

.primary-btn {
    background-color: var(--primaryinv3-color);
    color: #ffffff;
}

.primary-btn:hover {
    background-color: #006394;
}

.secondary-btn {
    background-color: #f8f9fa;
    color: var(--primaryinv3-color);
    border: 1px solid var(--primaryinv3-color);
}

.secondary-btn:hover {
    background-color: var(--primaryinv3-color);
    color: #ffffff;
}

.action-btn i {
    margin-right: 5px;
}

/* --- 說明 Icon 重新設計 --- */
.field_info_v3 {
    cursor: pointer;
    color: var(--primaryinv3-color);
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    font-weight: 400;
    gap: 4px;
    white-space: nowrap;
}

.info-icon {
    /* 使用純 CSS 模擬一個圓形問號 Icon (資訊 Icon) */
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--primaryinv3-color);
    position: relative;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    color: var(--primaryinv3-color);
}

.info-icon::before {
    content: 'i'; /* 使用 'i' 或 '?' 模擬 Icon 內容 */
    display: block;
}

/* --- 摘要行 (Summary) 樣式 --- */
.data-summary {
    display: grid;
    /* 保持與 data-row 相同的 Grid 結構 */
    grid-template-columns: 3fr 2fr 4fr;
    align-items: center;
    padding: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
    border-radius: 8px;
    background-color: var(--primaryinv3-light);
    border: 2px solid var(--primaryinv3-color);
}

.data-summary.final-summary {
    background-color: #fff3f3; 
    border-color: var(--highlightinv3-red);
}

.summary-label-col {
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--primaryinv3-color);
    display: flex;
    align-items: center;
    gap: 15px;
}

.data-summary.final-summary .summary-label-col {
    color: var(--highlightinv3-red);
}

.summary-value-col {
    grid-column: 2 / 3; /* 確保對齊到第二欄 */
    text-align: right;
    font-size: 2rem;
    font-weight: 700;
    color: var(--textinv3-dark);
    padding: 0 20px;
}

.data-summary.final-summary .summary-value-col {
    color: var(--highlightinv3-red);
}

.summary-action-col {
    grid-column: 3 / 4; /* 確保對齊到第三欄 */
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

/* RWD 調整：在小螢幕上退回單欄排列 */
@media (max-width: 768px) {
    .data-row, .data-summary {
        grid-template-columns: 1fr; /* 單欄排列 */
        padding: 15px;
        gap: 0;
    }

    .data-label-col, .summary-label-col {
        order: 1; /* 標籤最先 */
        margin-bottom: 5px;
        grid-column: 1 / -1;
    }

    .data-value-col, .summary-value-col {
        order: 2; /* 數值次之 */
        text-align: left;
        padding: 0;
        margin-bottom: 10px;
        font-size: 1.3rem;
        grid-column: 1 / -1;
    }

    .data-action-col, .summary-action-col {
        order: 3; /* 操作按鈕最後 */
        justify-content: flex-start;
        grid-column: 1 / -1;
    }

    .action-group-col {
        flex-direction: row;
        flex-wrap: wrap;
    }
}


/*下方選單樣式*/
/* --- 基礎容器與排版 --- */
.nav-editor-block.fixed-sticky-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 -3px 10px var(--shadow-color); /* 清晰的頂部陰影 */
    z-index: 1000;
    font-family: 'Noto Sans TC', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: var(--font-size-base);
}

.nav-editor-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    padding: 0;
    margin: 0 auto;
}

/* --- 箭頭導航區塊 --- */
.nav-editor-arrow {
    width: 50px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: #f0f0f0; /* 淺灰色背景 */
    color: var(--primaryinv3-color);
    font-size: 24px;
    transition: background-color 0.2s, color 0.2s;
}

.nav-editor-arrow:hover {
    background-color: var(--primaryinv3-color);
    color: var(--text-light);
}

/* --- 中央步驟導航區塊 --- */
.nav-editor-center {
    flex: 1;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

.step-center-flex {
    display: flex;
    height: 100%;
    align-items: center;
}

.step-center-li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    min-width: 100px;
    cursor: pointer;
    transition: background-color 0.2s;
    height: 100%;
    border-right: 1px solid var(--primaryinv3-light); /* 使用淺色主色系線條 */
}

.step-center-li:hover, .step-center-li.is-active {
    background-color: var(--primaryinv3-light);
}

.step-label {
    font-size: calc(var(--font-size-base) - 2px); 
    color: var(--textinv3-medium);
    margin-bottom: 3px;
    font-weight: 500;
}

.step-number {
    width: 26px; /* 略微放大 */
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #888888;
    border: 2px solid #ced4da;
    background-color: #ffffff;
    font-size: var(--font-size-base);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* 平滑過渡 */
}

.step-number.is-active {
    background-color: var(--primaryinv3-color);
    color: var(--text-light);
    border-color: var(--primaryinv3-color);
    transform: scale(1.1); /* 輕微放大強調 */
}

.step-center-li.is-end .step-label {
    color: #e67e22; /* 橘色強調結束 */
}

.step-center-li.is-end .end-number {
    border-color: #e67e22;
    color: #e67e22;
    background-color: #fff8f0;
}


/* --- 右側儲存區塊 (質感提升重點) --- */
.nav-save-block {
    position: relative;
    padding: 0 20px;
}

.btn-group-container {
    display: flex;
    /* 移除 box-shadow，改為使用按鈕本身的樣式和顏色對比 */
    border-radius: 8px; /* 圓角化整個按鈕組 */
    height: 44px; /* 標準按鈕高度 */
    overflow: visible; 
}

.nav-save-btn {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.2s, box-shadow 0.2s;
    font-size: var(--font-size-base);
    white-space: nowrap;
    position: relative;
}

/* 主要存檔按鈕 */
.main-save-btn {
    background-color: var(--primaryinv3-color);
    color: var(--text-light);
    padding: 0 20px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.main-save-btn i {
    font-size: 1.1em;
    margin-right: 8px;
}

.main-save-btn:hover {
    background-color: #006394;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 增加 hover 陰影 */
}

/* 展開切換按鈕 */
.save-toggle-btn {
    width: 44px;
    background-color: #006394; /* 比主色深一點 */
    color: var(--text-light);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.2); /* 分隔線 */
    font-size: 14px;
}

.save-toggle-btn:hover {
    background-color: #004c73;
}

/* 儲存選項清單 (下拉菜單) */
.other-save-list {
    position: absolute;
    bottom: calc(100% + 10px); /* 向上移動，與按鈕保持間隙 */
    right: 20px; /* 從右側對齊 */
    min-width: 180px;
    background-color: #ffffff;
    border-radius: 6px;
    box-shadow: 0 4px 12px var(--shadow-color);
    z-index: 1001;
    opacity: 0;
    pointer-events: none; 
    transform: translateY(10px); /* 初始狀態稍微向下，準備向上彈出 */
    transition: opacity 0.2s, transform 0.2s;
    border: 1px solid #e0e0e0;
}

/* 假設 JS 會添加 .is-open 類來展開清單 */
.nav-save-block .other-save-list.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.list-item {
    padding: 12px 15px; /* 增加 padding 提升質感 */
    cursor: pointer;
    color: var(--textinv3-dark);
    font-size: var(--font-size-base);
    white-space: nowrap;
}

.list-item:first-child {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.list-item:last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.list-item:hover {
    background-color: var(--primaryinv3-light);
    color: var(--primaryinv3-color);
}

.list-item i {
    margin-right: 10px;
    color: var(--primaryinv3-color);
}
/*下方選單樣式*/



/*---------------------財富表-----------------------------------*/
.finance_titlearea
{
	max-width: 900px;
    margin: 20px auto;
}
/* --- 優化後的標題樣式 --- */
.finance-dashboard-title {
    font-weight: 700;
    font-size: 1.6rem; /* 稍微縮小，更精緻 */
    color: var(--primaryinv3-color); /* 使用主色調 */
    padding: 20px 20px 15px; /* 增加底部間距 */
    margin-bottom: 0;
    position: relative;
    text-transform: uppercase; /* 專業感的小寫字母轉大寫（視覺上） */
    letter-spacing: 0.5px; /* 增加一點字間距 */
}

/* 增加底部線條，提升專業與質感 */
.finance-dashboard-title::after {
    content: '';
    display: block;
    width: 60px; /* 線條長度 */
    height: 3px; /* 線條厚度 */
    background-color: var(--primaryinv3-color);
    position: absolute;
    left: 20px;
    bottom: 0;
    border-radius: 1.5px;
}


/* 調整內層內容，與標題的 padding 保持一致 */
.finance-body-group {
    padding: 0 20px;
    padding-top: 15px; /* 增加一點內容與表頭之間的緩衝 */
}

/* --- 整體容器樣式 --- */
.finance-statement-dashboard {
    font-family: 'Noto Sans TC', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    max-width: 900px;
    margin: 20px auto;
    overflow: hidden;
}

/* --- 表頭樣式 --- */
.finance-header {
    display: grid;
    /* 使用 Grid 定義三欄：資產(3份) / 中間(2份) / 負債(3份) */
    grid-template-columns: 3fr 2fr 3fr;
    background-color: var(--primaryinv3-color);
    color: white;
    font-weight: 700;
    font-size: 1.55rem;
    padding: 15px 20px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.header-col.middle-col {
    text-align: center;
}

.header-col.liability-col {
    text-align: right;
}

/* --- 數據行樣式 --- */
.finance-body-group {
    padding: 0 20px;
}

.finance-data-row {
    display: grid;
    grid-template-columns: 3fr 2fr 3fr;
    align-items: stretch;
    border-bottom: 1px solid var(--borderinv3-light);
    transition: background-color 0.2s;
}

.finance-data-row:hover {
    background-color: #f8f9fa;
}

.finance-data-row:last-of-type {
    border-bottom: none;
}

.data-cell {
    padding: 15px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* --- 標籤與數值排版 --- */
.data-cell.asset-col, .data-cell.liability-col {
    padding-right: 10px;
    padding-left: 10px;
}

.data-label {
    display: flex;
    align-items: center;
    font-weight: 400;
    color: var(--textinv3-medium);
    font-size: 1.55rem;
    margin-bottom: 3px;
    gap: 8px;
}

.data-value {
    font-weight: 700;
    font-size: 1.45rem;
    color: var(--textinv3-dark);
}

.data-cell.liability-col .data-value {
    text-align: right;
}

.liability-value {
    color: var(--fs-highlight-red); /* 負債使用紅色 */
}

/* --- 總結行 (Total Row) 樣式 --- */
.summary-row {
    background-color: var(--primaryinv3-light);
    border-top: 2px solid var(--primaryinv3-color);
}

.summary-label {
    font-weight: 700;
    color: var(--primaryinv3-color) !important;
}

.net-worth-value {
    color: var(--fs-highlight-green) !important; /* 淨財富使用綠色強調 */
}

/* --- 關鍵指標行 (Metric Row) 樣式 --- */
.metric-row {
    font-size: 0.9rem;
    color: var(--textinv3-medium);
}

.metric-row .data-value {
    font-size: 1.45rem;
    font-weight: 500;
}

/* --- 行動按鈕區塊 (Middle Column) --- */
.action-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.statement-action-btn {
    background-color: var(--primaryinv3-color);
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    transition: background-color 0.2s, transform 0.1s;
    white-space: nowrap;
}

.statement-action-btn:hover {
    background-color: #006394;
}

.statement-action-btn i {
    margin-right: 5px;
}

.secondary-btn {
    background-color: transparent;
    border: 1px solid var(--primaryinv3-color);
    color: var(--primaryinv3-color);
}

.secondary-btn:hover {
    background-color: var(--primaryinv3-light);
    color: var(--primaryinv3-color);
}

/* --- 說明 Icon (沿用前次設計風格) --- */
.info-tag {
    cursor: pointer;
    color: var(--primaryinv3-color);
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    font-weight: 400;
    gap: 4px;
    white-space: nowrap;
}

.info-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--primaryinv3-color);
    font-size: 9px;
    line-height: 14px;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    color: var(--primaryinv3-color);
}

.info-icon::before {
    content: 'i';
    display: block;
}

/* --- RWD 調整 --- */
@media (max-width: 768px) {
    .finance-header {
        display: none; /* 在手機上隱藏表頭，節省空間 */
    }

    .finance-body-group {
        padding: 0 10px;
    }

    .finance-data-row {
        grid-template-columns: 1fr; /* 轉換為單欄堆疊 */
        padding: 10px 0;
    }
    
    .data-cell {
        padding: 5px 0;
        align-items: flex-start;
        flex-direction: row; /* 標籤和數值並排顯示 */
        justify-content: space-between;
    }
    
    .data-label {
        font-size: 1rem;
        margin-bottom: 0;
    }
    
    .data-value {
        font-size: 1.1rem;
    }

    .action-col {
        justify-content: flex-start;
        padding-top: 5px;
    }
    
    .data-cell.liability-col .data-value {
        text-align: left; /* 數值左對齊 */
    }

    .summary-row, .metric-row {
        margin-top: 5px;
        padding-top: 10px;
    }
}
/*---------------------財富表-----------------------------------*/
/*---------------------財富表-----------------------------------*/
/* --- 容器與標題 --- */
.detailed-statement-container {
    font-family: 'Noto Sans TC', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    max-width: 900px;
    margin: 20px auto;
    overflow: hidden;
}

.detailed-statement-title {
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--primaryinv3-color);
    padding: 20px 20px 15px;
    margin-bottom: 0;
    position: relative;
    letter-spacing: 0.5px;
}

/* 標題強調線條 */
.detailed-statement-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--primaryinv3-color);
    position: absolute;
    left: 20px;
    bottom: 0;
    border-radius: 1.5px;
}

/* --- 表頭樣式 --- */
.statement-header {
    display: grid;
    /* 定義四欄：名稱(230px) / 金額(160px) / 名稱(230px) / 金額(160px) - 使用 Grid Template Columns 精確對齊*/
    grid-template-columns: 230px 160px 230px 160px; 
    background-color: var(--primaryinv3-color);
    color: white;
    font-weight: 600;
    font-size: 1.55rem;
    padding: 10px 0;
    border-top: 2px solid var(--primaryinv3-light);
}

.header-col {
    padding: 0 10px;
    display: flex;
    align-items: center;
}

.asset-amount-col, .liability-amount-col {
    text-align: right;
    justify-content: flex-end;
}

/* --- 數據行樣式 --- */
.statement-body-group {
    border-top: 1px solid var(--ds-border-light);
	padding:0px 20px;
}

.statement-data-row {
    display: grid;
    grid-template-columns: 230px 160px 230px 160px;
    border-bottom: 1px solid var(--ds-border-light);
    transition: background-color 0.2s;
    min-height: 50px;
}

.statement-data-row:nth-child(odd) {
    background-color: var(--ds-bg-odd);
}

.statement-data-row:hover {
    background-color: #f0f0f0;
}

.important-row
{
	background-color: var(--primaryinv3-light) !important;
    border-top: 2px solid var(--primaryinv3-color) !important;
}

.data-cell {
    padding: 10px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.55rem;
    color: var(--textinv3-dark);
}

.data-cell span {
    font-weight: 600;
    font-size: 1.45rem;
    white-space: nowrap;
}

.asset-amount-col, .liability-amount-col {
    text-align: right;
}

.data-cell.liability-value span {
    color: var(--fs-highlight-red); /* 負債金額使用紅色 */
}

/* --- 總負債行 (Total Liability Row) --- */
.total-liability-row {
    border-top: 1px dashed var(--ds-border-light);
    background-color: var(--primaryinv3-light);
}

.total-liability-row .total-label {
    font-weight: 600;
    color: var(--textinv3-dark);
}

.total-liability-value span {
    font-weight: 700;
    color: var(--fs-highlight-red);
}

/* --- 總結行 (Final Summary Row) --- */
.final-summary-row {
    background-color: var(--primaryinv3-light);
    border-top: 2px solid var(--primaryinv3-color);
    font-weight: 700;
    font-size: 1.1rem;
}


.final-summary-row .total-label {
    color: var(--primaryinv3-color);
    font-weight: 700;
}

.final-summary-row .total-value {
    font-size: 1.3rem;
}

.net-worth-value span {
    color: var(--fs-highlight-green) !important; /* 淨財富使用綠色強調 */
}

/* --- 關鍵指標區塊 (Footer Group) --- */
.statement-footer-group {
    padding: 10px 0 5px 0;
	padding-right:20px;
	padding-left:20px;
}

.statement-metric-row {
    display: grid;
    /* 只顯示兩欄數據，但仍佔滿表格寬度 */
    grid-template-columns: 230px 160px 230px 160px;
    padding: 8px 10px;
}

.metric-label {
    grid-column: 1 / 2;
    font-weight: 500;
    color: var(--textinv3-medium);
    font-size: 1.55rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.metric-value {
    grid-column: 2 / 3;
    text-align: right;
    font-weight: 700;
    color: var(--textinv3-dark);
}

.metric-spacer {
    grid-column: span 2;
}

.info-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--primaryinv3-color);
    font-size: 9px;
    line-height: 14px;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    color: var(--primaryinv3-color);
}

.info-icon::before {
    content: 'i';
    display: block;
}

/* --- 新增合併欄位樣式 --- */
.data-cell.merged-liability-col {
    /* 讓這個單元格從第三個欄位開始，橫跨 2 個欄位 */
    grid-column: 3 / span 2; 
}

.total-value {
    font-size: 2rem !important;
    font-weight: 800;
    color: var(--primaryinv3-color);
}

/* --- RWD 調整 --- */
@media (max-width: 768px) {
    .statement-header {
        display: none;
    }
    
    .statement-data-row {
        grid-template-columns: 1fr;
    }

    .data-cell {
        flex-direction: row;
        justify-content: space-between;
        padding: 8px 10px;
    }
    
    .data-cell.liability-name-col {
        border-top: 1px dotted var(--ds-border-light);
        margin-top: 5px;
        padding-top: 10px;
    }

    .asset-amount-col, .liability-amount-col {
        text-align: left;
    }
    
    .data-cell.asset-name-col {
        padding-bottom: 0;
    }
    
    .total-liability-row {
        margin-top: 10px;
    }

    .final-summary-row {
        margin-top: 15px;
    }

    .statement-metric-row {
        grid-template-columns: 1fr;
        padding: 5px 10px;
    }

    .metric-label {
        font-weight: 600;
        margin-bottom: 3px;
    }
}
/*---------------------財富表-----------------------------------*/

/*---------------------浮動-----------------------------------*/
/* 浮動選單容器與定位 - 提升立體感和位置 */
.corner-float-menu.fixed-position {
    position: fixed;
    bottom: 20%; /* 稍微降低，更靠近常見的浮動按鈕位置 */
    right: 0;
    z-index: 1000;
    
    /* 容器樣式 */
    padding: 0;
    list-style: none;
    background: #ffffff;
    /* 移除邊框，完全依賴陰影來界定邊界 */
    border: none; 
    border-top-left-radius: 10px; /* 增加圓角 */
    border-bottom-left-radius: 10px; 
    box-shadow: -4px 4px 15px var(--fm-shadow-color); /* 陰影更深、更明顯 */
    overflow: hidden; 
}

/* 選單單一項目 - 增加點擊區域 */
.float-menu-item {
    font-size: var(--fm-font-size);
    letter-spacing: 0.5px;
    color: var(--textinv3-dark);
    text-align: center;
    position: relative;
    padding: 10px 15px; /* 增加 padding，增大點擊面積 */
    width: 90px; /* 增加寬度 */
    border-bottom: 1px solid var(--fm-border-color); /* 較清晰的分隔線 */
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.float-menu-item:last-child {
    border-bottom: none; 
}

/* Icon 區塊 - 放大 Icon */
.menu-icon-wrap {
    font-size: 24px; /* Icon 放大，更顯眼 */
    text-align: center;
    margin-bottom: 4px;
    color: var(--primaryinv3-color); 
    transition: color 0.3s;
}

/* 標籤文字 */
.menu-label {
    font-weight: 500;
}

/* Hover 互動效果 (強調主色調) */
.float-menu-item:hover {
    color: white;
    background-color: var(--primaryinv3-color);
    /* 移除懸浮陰影，因為容器陰影已經足夠明顯 */
}

.float-menu-item:hover .menu-icon-wrap {
    color: white; 
}
/*---------------------浮動-----------------------------------*/

/*---------------------財富表-----------------------------------*/
/* 容器樣式 */
.asset-input-dashboard {
    max-width: 900px;
    margin: 20px auto;
    font-family: 'Noto Sans TC', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* --- 1. 頁籤與警示區塊 (使用 ied 樣式) --- */
.ied-tab-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--ied-border-color);
    margin-bottom: 0;
    padding: 15px 20px 5px; /* 調整 padding */
    background-color: var(--ied-bg-light);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.ied-tab-group {
    display: flex;
}

.ied-tab {
    padding: 8px 15px;
    cursor: pointer;
    font-weight: 500;
    color: var(--textinv3-medium);
    transition: all 0.2s;
    border-bottom: 3px solid transparent;
    margin-right: 5px;
    font-size: 16px;
}

.ied-tab.active {
    color: var(--primaryinv3-color);
    border-bottom: 3px solid var(--primaryinv3-color);
    font-weight: 700;
}

.ied-alert-text {
    font-size: 14px;
    color: var(--ied-alert-color);
    background-color: #fff8f0;
    padding: 8px 15px;
    border-radius: 6px;
    border: 1px solid #f9d7b4;
    flex-shrink: 1;
}

/* --- 2. 數據組和輸入行 --- */
.ied-data-group {
    padding: 0 20px; /* 只在左右兩側保留 padding */
    background-color: #ffffff;
}

.ied-data-row {
    display: grid;
    /* 佈局: 標籤(2.5份) / 數值(1.5份) / 操作按鈕(3份) */
    grid-template-columns: 2.5fr 1.5fr 3fr; 
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid var(--ied-border-color); 
}

.ied-data-row.final-row {
    border-bottom: none;
    padding-bottom: 25px;
}


/* --- 4. 輔助區塊 (生活金下方) --- */

/* 使用 Grid Span 讓輔助區塊橫跨三欄 */
.ied-supplement-area {
    grid-column: 1 / span 3; 
    margin-top: 15px;
    border-top: 1px dashed var(--ied-border-color);
    padding-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.full-width-btn {
    width: 100%;
    justify-content: center;
    padding: 10px 20px;
}

.asset-diagram-placeholder {
    padding: 20px;
    background-color: var(--ied-bg-light);
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    text-align: center;
    color: var(--textinv3-medium);
    font-style: italic;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* RWD 調整 (與 ied.css 保持一致) */
@media (max-width: 768px) {
    .ied-tab-block {
        flex-direction: column;
        align-items: flex-start;
        padding-left: 10px;
        padding-right: 10px;
    }
    .ied-alert-text {
        margin-top: 10px;
        max-width: 100%;
    }

    .ied-data-row {
        grid-template-columns: 1fr; /* 單欄堆疊 */
        padding: 10px 0;
        gap: 5px;
    }

    .ied-data-group {
        padding: 0 10px;
    }

    .ied-supplement-area {
        grid-column: 1 / span 1; /* RWD 單欄模式下只佔一欄 */
    }
}
/*---------------------財富表-----------------------------------*/


/*---------------------新手專區-----------------------------------*/
.step-center-li.disabled
{
	background-color:#e3e3e3;
	cursor: not-allowed;             /* 滑鼠變禁止圖示 */
}
.disabled .step-label
{
	color:#B2B2B2;
}
.disabled .step-number {
    border:2px solid #e9ecef;
	color:#888888;
}

.disabled .acc-header
{
	color:#B2B2B2;
	cursor: not-allowed;             /* 滑鼠變禁止圖示 */
}

.primary-btn.disabled
{
	background-color: #e3e3e3;
	cursor: not-allowed;             /* 滑鼠變禁止圖示 */
}


/* 按鈕群組外層 */
.buttons-group-wrapper {
    position: relative;              /* 讓 ::after 能絕對定位覆蓋 */
    display: inline-flex;            /* 讓兩個按鈕並排（可改 flex / inline-block） */
}
/* 按鈕群組外層 */
.buttons-group-wrapper_noinline {
    position: relative;              /* 讓 ::after 能絕對定位覆蓋 */
}

/* 禁用時：產生遮罩層（純 CSS ::after） */
.buttons-group-wrapper.disabled::after, .buttons-group-wrapper_noinline.disabled::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);   /* 白色半透明遮罩（淺色背景用） */
    /* 如果你的頁面背景較深，可改成 rgba(0, 0, 0, 0.3) */
    border-radius: inherit;          /* 繼承 wrapper 圓角 */
    z-index: 9999;               /* 關鍵：極高 z-index，確保蓋在最上面 */
    cursor: not-allowed;
    pointer-events: auto;        /* 遮罩本身要能接收事件，才能阻擋穿透 */
}

/* 禁用時的視覺強化 */
.buttons-group-wrapper.disabled, .buttons-group-wrapper_noinline.disabled {
    opacity: 0.65;                   /* 整體變淡 */
    filter: grayscale(70%);          /* 轉灰階，更明顯不能按 */
}

/* 雙重保險：禁用時阻擋所有點擊事件穿透到內部按鈕 */
.buttons-group-wrapper.disabled .addv2_btn,
.buttons-group-wrapper.disabled .delv2sim_btn,
.buttons-group-wrapper_noinline.disabled .addv2_btn,
.buttons-group-wrapper_noinline.disabled .delv2sim_btn,
.buttons-group-wrapper.disabled *,
.buttons-group-wrapper.disabled input,
.buttons-group-wrapper.disabled textarea,
.buttons-group-wrapper.disabled select,
.buttons-group-wrapper.disabled button,
.buttons-group-wrapper_noinline.disabled *,
.buttons-group-wrapper_noinline.disabled input,
.buttons-group-wrapper_noinline.disabled textarea,
.buttons-group-wrapper_noinline.disabled select,
.buttons-group-wrapper_noinline.disabled button {
   pointer-events: none !important;   /* 這行最重要！強制阻擋所有點擊 */
   user-select: none !important;      /* 防止文字被選取 */
}
/* 讓 input 外觀明確顯示為禁用狀態（避免使用者誤以為可編輯） */
.buttons-group-wrapper_noinline.disabled input, .buttons-group-wrapper.disabled input {
    background-color: #f8f9fa !important;   /* 淺灰背景 */
    color: #999 !important;                 /* 文字變灰 */
    border-color: #ced4da !important;
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;           /* 移除聚焦藍框 */
}

/* 禁用時隱藏點擊波紋效果 */
.buttons-group-wrapper.disabled .effects_block, ..buttons-group-wrapper_noinline.disabled .effects_block {
    display: none;
}



.new_flex_block
{
	display: flex;
	justify-content: center;
	align-items: flex-start; 
	width:100%;
}
.nfb_left
{
	width:calc( 40% - 10px );
	margin:5px;
}
.nfb_right
{
	width:60%;
}
@media (max-width: 600px) {
    .nfb_left
	{
		width:100%;
		margin:0px;
	}
	.nfb_right
	{
		width:100%;
	}
}


/* --- 優化後的標題樣式 --- */
.finance-innewv10-title {
    font-weight: 700;
    font-size: 30px; /* 稍微縮小，更精緻 */
    color: var(--primaryinv3-color); /* 使用主色調 */
    padding: 20px 20px 15px; /* 增加底部間距 */
    margin-bottom: 0;
    position: relative;
    text-transform: uppercase; /* 專業感的小寫字母轉大寫（視覺上） */
    letter-spacing: 0.5px; /* 增加一點字間距 */
	text-align:center;
}

.finance-msginfo-block
{
	background-color:#daf2d0;
	text-align:center;
	font-weight:600;
	padding:10px;
	letter-spacing:2px;
	font-size:20px;
}
.color_2200AA
{
	color:#2200AA;
}
.color_red
{
	color:red;
}
.color_00AA55
{
	color:#00AA55;
}



/* 外層容器 */
.financial-info-wrapper {
    max-width: 1000px;
    margin: 10px auto;
    line-height: 1.8;
    color: #333;
}

/* 警語區塊樣式 */
.warning-section {
    background-color: #fff5f5;
    border-left: 5px solid #ff4d4f;
    padding: 15px 20px;
    margin-bottom: 25px;
    border-radius: 4px;
}

.warning-title {
    color: #ff4d4f;
    font-weight: bold;
    font-size: 1.1em;
    display: block;
    margin-bottom: 5px;
}

.warning-section p {
    margin: 0;
    font-size: 15px;
    color: #555;
}

/* 主要藍色說明區塊 */
.content-section {
    background-color: #005a87; /* 調整為更深邃的專業藍 */
    color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.content-section p {
    margin-bottom: 20px;
    font-size: 16px;
    text-align: justify;
}

.content-section strong {
    color: #ffd700; /* 使用金黃色強調關鍵字 */
    font-weight: 600;
}

/* 核心建議框 */
.suggestion-box {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px dashed rgba(255, 255, 255, 0.5);
    padding: 15px;
    margin: 25px 0;
    border-radius: 6px;
    text-align: center;
    font-size: 17px;
}

/* 結尾祝賀 */
.footer-blessing {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    color: #e0f2f7;
}

/* 響應式微調 */
@media (max-width: 600px) {
    .content-section {
        padding: 20px;
    }
}
/*---------------------新手專區-----------------------------------*/

/*---------------------傳統收入支出-----------------------------------*/
/* 專業白底報表全域設定 */
.fin-report-master {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 30px;
    max-width: 1000px;
    margin: 20px auto;
    color: var(--textinv3-dark);
}

.fin-main-title {
	color:#007AB0;
    font-size: 26px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 25px;
    border-bottom: 2px solid #007AB0;
    padding-bottom: 15px;
    letter-spacing: 10px;
}

.fin-flex-container {
    display: flex;
    gap: 30px;
}

.fin-col {
    flex: 1;
}

/* 區塊標題樣式 */
.fin-sec-header {
    background-color: #f8f9fa;
    font-weight: bold;
    color: #005a87;
    border: 1px solid #dee2e6;
    border-left: 5px solid #005a87;
    margin-bottom: 5px;
	
	display: grid;
    grid-template-columns: 1.8fr 80px 100px 90px;
}

/* 網格行佈局：項目名稱 / 月金額 / 年金額 / 佔比 */
.fin-grid-row {
    display: grid;
    grid-template-columns: 1.8fr 80px 100px 90px;
    border-bottom: 1px solid #eee;
}

.fin-cell {
    padding: 8px 12px;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.cell-name { color: #444; }
.cell-val { justify-content: flex-end; font-family: "Arial", sans-serif; }
.cell-pct { justify-content: flex-end; color: #666; font-size: 13px; }

/* 藍色重點結算列 */
.fin-row-total {
    background-color: #f0f7ff;
    font-weight: bold;
    border-bottom: 1px solid #005a87;
}
.fin-row-total .cell-name, .fin-row-total .cell-val {
    color: #005a87;
}

.fin-row-total_last {
    background-color: #fff3cd;
    font-weight: bold;
    border-bottom: 1px solid #f39c12;
}
.fin-row-total_last .cell-name, .fin-row-total_last .cell-val {
    color: #e1264a;
}

/* 底部最終結算區 */
.fin-footer-summary {
    margin-top: 25px;
    padding: 20px;
    background-color: #fffde7;
    border: 2px solid #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-formula {
    font-size: 16px;
    font-weight: bold;
    color: #d32f2f;
}

.footer-stats {
    display: flex;
    gap: 25px;
    align-items: center;
}

.stat-item {
    text-align: right;
}

.stat-label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 2px;
}

.stat-value {
    font-size: 15px;
    font-weight: bold;
    color: #333;
}

.total-amount {
    font-size: 28px;
    color: #d32f2f;
    font-weight: bold;
    margin-left: 10px;
}


/* 底部獨立區塊：保險、貸款與最終儲蓄 */
.fin-summary-bottom {
    border-top: 2px solid #333;
    margin-top: 10px;
}

.fin-final-save-row {
    background-color: #fffde7;
    border: 2px solid #d32f2f;
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
}

.final-label { font-size: 18px; font-weight: bold; color: #d32f2f; }
.final-stats { display: flex; gap: 30px; align-items: center; }
.stat-box { text-align: right; }
.stat-tag { font-size: 11px; color: #666; display: block; }
.stat-num { font-size: 15px; font-weight: bold; }
.final-money { font-size: 30px; color: #d32f2f; font-weight: bold; }


 /* 第一排：總收入與總支出 (雙欄) */
.summary-row-first {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	margin-top: 20px;
}

.summary-item {
	flex: 1;
	padding: 20px;
	border: 1px solid #dee2e6;
	background-color: #f8f9fa;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.label-text { font-size: 18px; font-weight: bold; color: #444; }
.val-text { font-size: 24px; font-family: Arial; font-weight: bold; }
.pct-sub { font-size: 14px; color: #666; margin-left: 8px; }

.income-color { border-left: 6px solid #005a87; }
.income-val { color: #005a87; }
.expense-color { border-left: 6px solid #d32f2f; }
.expense-val { color: #d32f2f; }

/* 第二排：可支配所得 (單欄橫跨) */
.summary-row-second {
	padding: 20px;
	background-color: #e3f2fd;
	border: 1px solid #90caf9;
	border-left: 6px solid #1976d2;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
}


/* 針對資產負債表的三欄位佈局設定 (項目 1.8fr / 金額 100px / 佔比 90px) */
.fin-grid-row-3col {
    display: grid;
    grid-template-columns: 1.8fr 100px 100px;
    border-bottom: 1px solid #eee;
}

/* 淨值專用深色統計區 */
.fin-net-worth-row {
    background-color: #fffde7;
    color: #333;
    margin-top: 20px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 4px;
	border:1px solid #f39c12;
}

.net-worth-label { font-size: 20px; font-weight: bold; letter-spacing: 2px; }
.net-worth-val { font-size: 32px; color: #d32f2f; font-weight: bold; font-family: Arial; }
.net-worth-pct { font-size: 16px; color: #666; margin-left: 15px; }
/*---------------------傳統收入支出-----------------------------------*/