@charset "utf-8";
/* CSS Document */
*{
	font-family:Arial Narrow,Arial, Helvetica Neue,"微軟正黑體","新細明體";
	-webkit-overflow-scrolling: touch;
	font-size:1em;
	margin:0px;
	padding:0px;
}

label{
	font-size:1em;
	color: #005090;
	font-weight: bold;
	padding:0px;
	margin:0px;
}

.w-10{width:10% !important; display:inline-block;}
.w-15{width:15% !important; display:inline-block;}
.w-20{width:20% !important; display:inline-block;}
.w-30{width:30% !important; display:inline-block;}
.w-40{width:40% !important; display:inline-block;}
.w-60{width:60% !important; display:inline-block;}
.w-70{width:70% !important; display:inline-block;}
.w-80{width:80% !important; display:inline-block;}
.w-85{width:85% !important; display:inline-block;}
.w-90{width:90% !important; display:inline-block;}

.text-msg{color:#7fa9a6}
.text-main{color:#005090}
.text-org{color:#fb480c;}
.text-secon{color:#584abd}
.text-tree{color:#ff4520}
.text-pink{color:#1a91e1}
.text-gree{color:#bd9a4b}
.text-tab{color:#D8D8D8}
.text-grey{color:#111; font-family:Verdana, Geneva, sans-serif;}
.text-black{color:#000000}

.btn-msg{background-color:#e8f7f5;color:#005090}
.btn-main{background-color:#005090;color:#fff}
.btn-org{background-color:#fb480c;color:#fff}
.btn-secon{background-color:#584abd;color:#fff}
.btn-tree{background-color:#ff4520;color:#fff}
.btn-pink{background-color:#1a91e1;color:#fff}
.btn-gree{background-color:#bd9a4b;color:#fff}
.btn-tab{background-color:#D8D8D8;color:#fff}
.btn-black{background-color:#000000;color:#fff}

.btn-msg:hover{color:#fff;}
.btn-main:hover{color:#fff;}
.btn-org:hover{color:#fff;}
.btn-secon:hover{color:#fff;}
.btn-tree:hover{color:#fff;}
.btn-pink:hover{color:#fff;}
.btn-gree:hover{color:#fff;}
.btn-tab:hover{color:#fff;}

.bg-gray{background-color:#efefef;}
.bg-black{background-color:#000000;}
.bg-select{background-color:#EFF;}
.bg-main{background-color:#005090;}
.bg-msg{background-color:#e8f7f5;}
.bg-org{background-color:#fb480c;}

.border-main{border:1px solid #005090}
.border-msg{border:1px solid #cfe6e3}
.border-org{border:1px solid #fb480c}
.border-grey{border:1px solid #ccc}
.border-white{border:1px solid #fefefe}

.kindstyle:hover{background-color:#eFF;}
.kindstyle_sub{display:none;}
.kindstyle_sub.a{text-decoration:none;}
.kindstyle_sub.a:hover{background-color:fafafa}

@keyframes godown {
 from {top: -80px;}
  to {top:0px;}
}
.header{
	position:relative;
	width: 100%;
	background-color:#e8f7f5;
}
.header.fixed{
	position: fixed;
	top: 0px;
	animation-name:godown;
	background-color:rgba(232,247,245,0.94);
  	animation-duration: 0.5s;
}
.header,
.header .text-main,
.header a.text-main{
	color:#005090 !important;
}
.header .bg-main{
	background-color:#005090 !important;
}

#seozone{height:0px;max-height:0px;opacity:0;overflow:hidden;}

a:hover{opacity: 0.9;text-decoration:none;}

a.main{color:#005090}

input[type='radio'],
input[type='checkbox'] {
  display: none;
  cursor: pointer;
}
input[type='checkbox'].fix {
   display:inline-block;
   opacity:0;
   cursor: pointer;
}
input[type='radio']:focus, input[type='radio']:active,
input[type='checkbox']:focus,
input[type='checkbox']:active {
  outline: none;
}
input[type='radio'] + label,
input[type='checkbox'] + label {
	cursor: pointer;
	display: inline;
	position: relative;
	padding-left: 25px;
	margin-right: 10px;
	margin-top:3px;
	color: #666;
	font-size: 1rem;
}
.type-arr input[type='radio'] + label,
.type-arr input[type='checkbox'] + label {
  width:45%;
}
input[type='radio'] + label:before, input[type='radio'] + label:after,
input[type='checkbox'] + label:before,
input[type='checkbox'] + label:after {
  content: '';
  font-family: helvetica;
  display: inline-block;
  width: 18px;
  height: 18px;
  left: 0;
  bottom: 0;
  text-align: center;
  position: absolute;
}
input[type='radio'] + label:before,
input[type='checkbox'] + label:before {
  background-color: #fafafa;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  border: solid 1px #ccc;
}
input[type='radio'] + label:after,
input[type='checkbox'] + label:after {
  color: #fff;
}
input[type='radio']:checked + label:before,
input[type='checkbox']:checked + label:before {
  -moz-box-shadow: inset 0 0 0 10px #e3342f;
  -webkit-box-shadow: inset 0 0 0 10px #e3342f;
  box-shadow: inset 0 0 0 10px #e3342f;
   border: solid 1px #e3342f;
}

input[type='checkbox'] + label:before,input[type='radio'] + label:before {
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
input[type='checkbox'] + label:hover:after, input[type='checkbox']:checked + label:after,input[type='radio'] + label:hover:after, input[type='radio']:checked + label:after {
  content: "\2713";
  line-height: 18px;
  font-size: 14px;
}
input[type='checkbox'] + label:hover:after {
  color: #FFF;
}
input[type='checkbox']:checked + label:after, input[type='checkbox']:checked + label:hover:after {
  color: #fff;
}
.noti-list{
	height: auto;
	width: 100%;
	margin-top: -1px;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
	color: #666;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #eee;
	border-bottom-color: #eee;
	position: relative;
	font-size: 1.1rem;
	font-weight: bold;
}
.bg_loading {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background-color: rgba(155,155,155,0.3);
	background-image: url(../images/Ring.gif);
	background-repeat: no-repeat;
	background-position: center;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}
.btn-info {
	background-color: #57C462;
	border-color: #57C462;
}
.btn-info:hover,.btn-info:focus {
	background-color: #389E43;
	border-color:  #389E43;
}
.form-control {
	-webkit-appearance: none;
	display: block;
	width: 100%;
	height: 38px;
    padding: .275rem .55rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #005090;
	border-radius: 0;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
select.form-control {
	background-image: url(../images/sd.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}
.slidecontainer {
  width: 100%;
}
.good_zone div{
	width: 100%;
	background-color:#fff;
	padding:0px;
	margin:0px;
	overflow:hidden;
}
.good_zone div span.good_zone_apan{
	color:white;
	padding:0px 5px;
	border-radius:10%;
}
.good_zone div a{
	display:block;
	border:none;
}
good_zone div a b{
	position:absolute;
	top:3px;
	right:3px;
	z-index:9;
	padding:0px 3px;
	border-radius:10%;
	font-size:0.8em;
}
.chat-box{
	height:auto;width:100%;padding:4px 4px 70px;margin:10px 0;overflow-y:auto;
	background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);scrollbar-width:thin;
}
.chat-edit-shell{display:flex;flex-direction:column;position:relative;overflow:hidden;padding-left:0!important;padding-right:0!important;}
.chat-box-scroll{flex:1 1 auto;min-height:200px;max-height:none;height:auto!important;}
.chat-header{height:36px!important;line-height:1.2;box-shadow:0 2px 10px rgba(0,0,0,.08);background-color:#005090!important;z-index:2;}
.chat-header .h5{margin-bottom:0;vertical-align:middle;}
.chat-header .w-40{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto!important;max-width:calc(100% - 170px);display:block;padding-top:0!important;line-height:1.2;}
.chat-header a{top:50%!important;transform:translateY(-50%);}
.chat-helper{
	background:#edf4fb;border:1px solid rgba(86,119,165,.14);color:#214502;
}
.chat-bayer{
	background:linear-gradient(180deg,#6e8fb3 0%,#4f739b 100%);border:1px solid rgba(86,119,165,.18);color:#fff;
}
.chat-helper,.chat-bayer{display:inline-block;width:auto;max-width:none;padding:12px 14px;height:auto;border-radius:18px;margin:10px 0;box-shadow:0 8px 20px rgba(0,0,0,.08);word-break:break-word;vertical-align:top;}
.chat-row{display:flex;width:100%;}
.chat-row-left{justify-content:flex-start;}.chat-row-right{justify-content:flex-end;}
.chat-helper .text-sub,.chat-bayer .text-sub{font-size:12px;line-height:1.2;opacity:.8;margin-bottom:6px;}
.chat-helper a,.chat-bayer a,.chat-helper b,.chat-bayer b,.chat-helper span,.chat-bayer span{word-break:break-word;}
.chat-helper img,.chat-bayer img{max-width:100%;height:auto;}
.chat-room-list .chat-room-card{display:block;padding:14px!important;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none!important;min-height:92px;}
.chat-room-list .chat-room-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.08);}
.chat-room-list .chat-room-card .w-70{width:calc(100% - 120px)!important;}
.chat-composer{background:#fff;border:1px solid #c7d7e7;box-shadow:0 -6px 18px rgba(0,0,0,.08);display:flex;align-items:stretch;padding:0!important;box-sizing:border-box;height:60px;min-height:60px;border-radius:0;position:absolute;left:0;right:0;bottom:0;overflow:hidden;width:100%;z-index:5;}
.chat-composer-field{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 14px;background:#fff;}
.chat-composer #msg{border:none;border-radius:0;padding:10px 0!important;line-height:1.25!important;background:#fff;min-height:60px;height:60px;max-height:60px;resize:none;overflow-y:auto;}
.chat-composer #imgzone{display:flex;align-items:center;gap:6px;max-width:100%;overflow-x:auto;padding-right:0!important;position:static!important;height:auto!important;}
.chat-actionbar{display:flex;align-items:stretch;flex:0 0 156px;height:60px;}
.chat-btn{position:static;display:flex;align-items:center;justify-content:center;flex:1 1 52px;margin:0;height:60px;width:52px;border:0;border-left:1px solid #d6e1ee;box-shadow:none;color:#5a7191;background:#eff4fb;font-size:20px;}
.chat-btn.is-listening{color:#fff;background:#5c7ea8;}.chat-btn.is-disabled{opacity:.5;cursor:not-allowed;}
.chat-btn-upload{background:#e4edf8;}.chat-btn-send{background:linear-gradient(180deg,#5a88b4 0%,#3c6f9b 100%);color:#fff;flex-basis:60px;width:60px;font-size:22px;}
.chat-btn:focus{outline:none;}.chat-btn:hover{filter:brightness(.98);}
.chat-input{
	margin-bottom: 50px;
	position: relative;
}
.chat-input input{
	outline:none;
}
.chat-input textarea{
	height:40px;
}	
.send-chat{
	font-size: 20px;
	color: #FFF;
	background-color: #005090;
	text-align: center;
	height: 42px;
	width: 50px;
	position: absolute;
	right: 0px;
	z-index: 9;
	top: 0px;
	padding-top: 0px;
	padding-right: 15px;
	padding-left: 15px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
.upload{
	font-size: 20px;
	color: #005090;
	background-color: #F2F5EF;
	text-align: center;
	height: 42px;
	width: 50px;
	position: absolute;
	z-index: 9;
	right:50px;
	top: 0px;
	padding-top: 0px;
	border: 1px solid #005090;
	padding-right: 15px;
	padding-left: 15px;
}

input:focus{ outline: none; }
textarea:focus{ outline: none; }
buttom:focus{ outline: none; }

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 10px;
  border-radius: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider:hover {
  opacity: 1;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #005090;;
  cursor: pointer;
}

.slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #4CAF50;
  cursor: pointer;
}

.button{
	line-height: 42px;
	color: #FFF;
	background-color: #005090;
	text-align: center;
	height: 42px;
	width: 42px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
}

.login-bt{
	font-size: 1.1rem;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #005090;
	text-align: center;
	display: block;
	height: 50px;
	width: 100%;
	line-height: 50px;
	margin-bottom: 15px;
	border: 0;
	outline: none;
	cursor: pointer;
}
.modal-header {
	background-color: #005090;
	border: none;
}
.modal-body {
    padding: 1.5em;
	color: #333;
}
.modal-body p{
	margin-top: 0px;
	margin-bottom: 0px;
	padding-bottom: 10px;
}
.modal-title{
	font-weight: bold;
	color: #FFF;
	letter-spacing: 1px;
}
.modal-footer {
	border-top: 0px solid #e9ecef;
    border-bottom-right-radius: .3rem;
    border-bottom-left-radius: .3rem;
	padding-top: 0rem;
	padding-right: 1.5rem;
	padding-bottom: 1rem;
	padding-left: 1.5rem;
}
.text_justify{text-align: justify;text-justify:inter-ideograph;}
.login_a{
	color:white;
	position: absolute;
	top: 32%;
	right: 2%;
	cursor: pointer;
	z-index: 100;
	font-size:1.1em;
	text-decoration:none;
}
.login_a:hover{
	color: #ccc;
	text-decoration:none;
}
.btbg {
	position:fixed;
	left: 0px;
	top: 0px;
	background-color:rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	z-index: 11;
	display: none;
}
.kindbg {
	position:fixed;
	left: 0px;
	top: 0px;
	background-color:rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	z-index: 11;
	display: none;
}
.button_container {
	position: absolute;
	top: 22px;
	right: 2%;
	height: 27px;
	width: 27px;
	cursor: pointer;
	z-index: 100;
	transition: opacity .25s ease;
	display: inline-block;
}
.button_container:hover {
  opacity: .9;
}
.button_container.active .top {
	-webkit-transform: translateY(9px) translateX(0) rotate(45deg);
	transform: translateY(9px) translateX(0) rotate(45deg);
	background-color: #fff;
}
.button_container.active .middle {
  opacity: 0;
  background: #005090;
}
.button_container.active .bottom {
	-webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
	transform: translateY(-9px) translateX(0) rotate(-45deg);
	background-color: #fff;
}
.button_container span {
	border: none;
	height: 2.2px;
	width: 100%;
	position: absolute;
	top: 0px;
	left: 0;
	transition: all .35s ease;
	cursor: pointer;
	background-color: #005090;
}
.button_container span:nth-of-type(2) {
  top: 9px;
}
.button_container span:nth-of-type(3) {
  top: 18px;
}

@media (max-width:767px){
	.chat-header .w-40{width:calc(100% - 150px)!important;}
	.chat-header .h5{font-size:1rem;}.chat-composer{height:56px;min-height:56px;}
	.chat-helper,.chat-bayer{max-width:85%;}.chat-actionbar{flex-basis:144px;height:56px;}
	.chat-btn{height:56px;width:48px;font-size:18px;}.chat-btn-send{width:56px;flex-basis:56px;}
	.chat-composer #imgzone{max-width:100%;}.chat-edit-shell{padding-left:6px;padding-right:6px;}
}
@media (max-width: 774px) {
	.button_container {
		top: 23px;
	}
}
.main-menu {
	display:none;
	float: none;
	padding-right: 0px;
	position: absolute;
	top: 70px;
	height: auto;
	width: 100%;
	background-color: #FFF;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #eee;
	right: 0px;
	z-index: 100;
}
.menu-ul li{
	color: #333;
	height: auto;
	margin-right: 0px;
	margin-left: 0px;
	display: block;
	padding: 0px;
}
.menu-ul li a{
	display: block;
	color: #444;
	text-decoration: none;
	border-bottom: 1px solid #ddd;
	padding: 8px;
}
.menu-ul li a:hover{
	background-color: #efefef;
	color: #000;
}
.menu-ul li div.lf_menu a{
	padding-left: 20px;
}
.menu-section > a{border-left: 0 !important;}
.menu-section--admin > div.lf_menu a,
.menu-section--provider > div.lf_menu a,
.menu-section--member > div.lf_menu a{
	border-left: 3px solid #1976b5;
}
.menu-section--member > div.lf_menu > a:nth-child(1){border-left-color: #1976b5;}
.menu-section--member > div.lf_menu > a:nth-child(2){border-left-color: #8b63d1;}
.menu-section--member > div.lf_menu > a:nth-child(3){border-left-color: #2e9bd3;}
.menu-section--member > div.lf_menu > a:nth-child(4){border-left-color: #e4577c;}

.bg_loading {position:fixed;left:0px;top:0px;width:100%;height:100%;z-index:99999;background:rgba(255,255,255,0.32);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;}
.bg_loading:after {content:'';width:56px;height:56px;border-radius:50%;border:5px solid rgba(11,120,186,0.18);border-top-color:#0b78ba;animation:bgLoadingSpin 0.9s linear infinite;}
@keyframes bgLoadingSpin {from {transform:rotate(0deg);} to {transform:rotate(360deg);}}
.slider {
	-webkit-appearance: none;
	width: 100%;
	height: 10px;
	border-radius: 5px;
	background: #d3d3d3;
	outline: none;
	opacity: 0.7;
	-webkit-transition: .2s;
	transition: opacity .2s;
}
	
.slider:hover {
	 opacity: 1;
}

.slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #e3342f;;
	cursor: pointer;
}
.slider::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #4CAF50;
	cursor: pointer;
}
.video-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.products_img {
	position: relative;
	padding-bottom: 120%; 
	height: 0;
}
.products_img div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.image-container {
	position: relative;
	padding-bottom: 55%; /* 16:8 */
	height: 0;
}
.image-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.index-container {
	position: relative;
	padding-bottom: 120%; 
	height: 0;
	
}
.index-container div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.index-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.index-content-container {
	position: relative;
	padding-bottom: 100%; 
	height: 0;
}
.index-content-container div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.avatar-container {
	position: relative;
	padding-bottom: 100%;
	height: 0;
}
.avatar-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.banner-container {
	position: relative;
	padding-bottom: 27%;
	height: 0;
}
.banner-container div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.banner-container img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.banner-container-small {
	position: relative;
	padding-bottom: 120%;
	height: 0;
}
.banner-container-small div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.banner-container-small img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img-container {
	position: relative;
	padding-bottom: 80%;
	height: 0;
}
.img-container div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.img-container img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.goods-container {
	position: relative;
	padding-bottom: 150%; 
	height: 0;
}
.goods-container a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.goods-container section {
	position: relative;
	padding-bottom: 100%; 
	height: 0;
}

.goods-container section div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.studys-container {
	position: relative;
	padding-bottom: 133%; 
	height: 0;
}
.studys-container a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hideScroll::-webkit-scrollbar { width: 0 !important }
.hideScroll { overflow: -moz-scrollbars-none; }

input[type='checkbox'].dis_toggle {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 55px;
	height: 28px;
	background-color: #E6ECDE;
	position: absolute;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border-radius: 30px;
	border: 0px;
  @inlcude box-shadow(none);
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	right: 10px;
	top: 13px;
}

input[type='checkbox'].dis_toggle:hover:after {
	background-color: #FFF;
}
input[type='checkbox'].dis_toggle:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 24px;
	height: 24px;
	background-color: #FFF;
	top: 2px;
	left: 2px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

input[type='checkbox'].toggle {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 55px;
	height: 28px;
	background-color: #E6ECDE;
	position: absolute;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border-radius: 30px;
	border: 0px;
  @inlcude box-shadow(none);
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	right: 10px;
	top: 13px;
}
input[type='checkbox'].toggle:hover:after {
	background-color: #FFF;
}
input[type='checkbox'].toggle:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 24px;
	height: 24px;
	background-color: #FFF;
	top: 2px;
	left: 2px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
input[type='checkbox']:checked.toggle {
  -moz-box-shadow: inset 0 0 0 15px #e3342f;
  -webkit-box-shadow: inset 0 0 0 15px #e3342f;
  box-shadow: inset 0 0 0 15px #e3342f;
}
input[type='checkbox']:checked.toggle:after {
  left: 29px;
  background-color: #fff;
}

input[type='checkbox'].small_toggle {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 40px;
	height: 20px;
	background-color: #666;
	position: absolute;
	-moz-border-radius: 26px;
	-webkit-border-radius: 26px;
	border-radius: 26px;
	border: 0px;
  @inlcude box-shadow(none);
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	left: 4px;
	top: 2px;
}
input[type='checkbox'].small_toggle:hover:after {
	background-color: #FFF;
}
input[type='checkbox'].small_toggle:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 18px;
	height: 18px;
	background-color: #FFF;
	top: 1px;
	left: 1px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
input[type='checkbox']:checked.small_toggle {
  -moz-box-shadow: inset 0 0 0 15px #005090;
  -webkit-box-shadow: inset 0 0 0 15px #005090;
  box-shadow: inset 0 0 0 15px #005090;
}
input[type='checkbox']:checked.small_toggle:after {
  left: 21px;
  background-color: #fff;
}

input[type='checkbox'].dis_small_toggle {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 40px;
	height: 20px;
	background-color: #E6ECDE;
	position: absolute;
	-moz-border-radius: 26px;
	-webkit-border-radius: 26px;
	border-radius: 26px;
	border: 0px;
  @inlcude box-shadow(none);
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	right: 0px;
	top: -4px;
}

input[type='checkbox'].dis_small_toggle:hover:after {
	background-color: #FFF;
}
input[type='checkbox'].dis_small_toggle:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 18px;
	height: 18px;
	background-color: #FFF;
	top: 1px;
	left: 1px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.calendar{
	position: absolute;
	left: 0px;
	top: 42px;
	width: 100%;
	max-width : 300px;
	border: 1px solid #ccc;
	background-color:#fff; 
	text-decoration: none;
	text-align: center;
	z-index:2000;
}
.c_title{
	width:100%;
	position:relative;
	padding:5px 0px 5px 10px;
	background-color:#005090;
	color:#fff;
	text-align:left;
	display:table;	
}
.t_year{ font-size:10px; padding:0px;}
.t_monthday{ font-size:1.5em; padding:0px;}

.w_title div{
	display: block;
	float:left;
	width:14.28%;
	text-align:center;
	color:#666;
}
.c_body{
	width:100%;
	display:table;
	padding-bottom:10px;
}
.c_body div{
	display: block;
	float:left;
	width:14.28%;
	text-align:center;
	padding:0px 3px;
}
.c_body div a{
	color:#333; 
	width:100%;
	display:block;
	padding:5px 0px;
	border-radius:100%;
}
.c_body div a.fix{
	border-radius:100%;
	background-color:#005090;
	color:#fff;
	text-decoration: none; 
}
.c_body div a:hover{
	border-radius:100%;
	background-color:#999;
	color:#fff;
	text-decoration: none; 
}

.rest_body{
	width:100%;
	display:table;
}
.rest_body div{
	display: block;
	float:left;
	width:14.28%;
	text-align:left;
	padding:1px;
}
.rest_body div a{
	color:#aaa; 
	width:100%;
	font-size:0.8em;
	height:50px;
	display:block;
	background-color:#efefef;
	padding:2px;
}
.rest_body div a.fix{
	border-radius:100%;
	background-color:#005090;
	color:#fff;
	text-decoration: none; 
}
.rest_body div a:hover{
	background-color:#999;
	color:#fff;
}
.upload-container {
	position: relative;
	padding-bottom: 70%; 
	height: 0;
}
.upload-container div{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	height: 100%;
}
.photoZone{
	width:100%; 
	height:100%px; 
	overflow:hidden;
	padding:0px; 
	box-sizing:border-box;
	background:#f5f5f5 url('../images/016-camera.png')no-repeat; 
	background-position:center; 
	position:relative; 
	border:2px dashed #005090; 
	text-align:center;
}
.photoZone a{
	width:20px; 
	height:20px; 
	position:absolute; 
	top:-2px; 
	right:0px;
	z-index:100;
}
.photoZone span{
	width:100%; 
	height:100%; 
	display:block; 
}
.photoZone input[type='file']{
	width:100%;
	min-height:100%;
	position:absolute;
	top:0px;
	left:0px;
	opacity:0; 
	cursor:pointer;
	z-index:99;
}
.photoZone img{
	width:100%; 
	height:
	auto;
}
.goods-list{
	font-size: 1.1em;
	border-bottom:1px solid #eee;
	padding: 5px 10px;
	position: relative;
}
.good-edit{
	position: absolute;
	right: 70px;
	padding-top:4px;
	text-decoration: none;
	text-align: center;
	display: inline-block;
}
a.good-add,a.good-del{
	position: absolute;
	right: 10px;
	padding-top:4px;
	text-decoration: none;
	text-align: center;
	display: inline-block;
}

.cart-badge{
	background-color: #DF4635;
	height: 16px;
	width: 16px;
	font-size: 10px;
	line-height: 16px;
	color: #FFF;
	text-align: center;
	border-radius: 50%;
	display: inline-block;
	position: absolute;
	top: -5px;
	z-index: 99;
	font-style: normal;
	right: -10px;
}

.item-link{
	max-width:800px;
	overflow:auto;
	white-space:nowrap;
	text-align:center;
}
.item-link a{
	color: #005090;
	background-color: #e8f7f5;
	height: auto;
	width: 30%;
	max-width:150px;
	text-align: center;
	display: inline-block;
	margin-right: 1px;
	font-size: 1rem;
	line-height: 30px;
	padding-top: 7px;
	padding-bottom: 3px;
	border-bottom-width: 4px;
	border-bottom-style: solid;
	border-bottom-color:  #f5dfc6;
}
.item-link a:hover,.item-link a.active{
	font-weight: bold;
	text-decoration: none;
	border-bottom-width: 4px;
	border-bottom-style: solid;
	border-bottom-color: #005090;
}
.com-start .fa,.com-startb .fa{
	color: #CCC;
	cursor:pointer;
}
.alert.fix{margin-top: 0px;}
.com-start .fa.act,.com-startb .fa.act{
	color: #FC0;
}

.job-list{
	padding-top: 10px;
	padding-bottom: 10px;
}
.job-list span{
	text-decoration: none;
	background-color: #eee;
	display: inline-block;
	text-align: center;
	height: auto;
	width: auto;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	margin-right: 5px;
	border-radius: 3px;
	margin-top: 5px;
	color: #333;
	font-size: 0.95rem;
}
.jobs-info{
	padding-top: 10px;
	padding-bottom: 10px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #005090;
	text-align: center;
	font-size: 0.95rem;
	
}
.jobs-item{
	padding-top: 10px;
	padding-bottom: 10px;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #005090;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #005090;
	position: relative;
	font-size: 0.95rem;
	margin-top: -1px;
	padding-top: 3rem;
}
.jobs-item a{
	background-color: #eeac4d;
	line-height: 22px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	display: inline-block;
	height: auto;
	width: 60px;
	padding-top: 2px;
	padding-bottom: 2px;
	float: right;
	font-size: 0.95rem;
	margin-top: -2px;
}
.jobs-tit{
	font-size: 1.2rem;
	font-weight: bold;
	color: #005090;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: 20px;
}
.jobs-all{
	position: relative;
	font-size: 1.1rem;
	font-weight: bold;
	color: #005090;	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #005090;
}
.start-box{
	display: flex;
	text-align: center;
	padding-top: 10px;

}
.comm{
	font-weight: bold;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #005090;
	margin-top: 20px;
}
.comm-list{
	display: flex;
	text-align: center;
	padding-top: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #eee;
	padding-bottom: 10px;
}
.comm-face{width:80px;}	
.comm-name{
	font-size: 1rem;
	color: #000;
	font-weight: bold;
}
.comm-face img{width:50px;height:50px;border-radius:50%;}
.comm-date{
	font-size: 0.8rem;
	color: #999;
}
.comm-info{
	flec: 1;
	text-align: left;
}
.more{
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
}
.more button{
	background-color: #eee;
	width: 120px;
}	
.box-satrt{
	width: 80px;
	color: #005090;
	padding-right: 0px;
	padding-left: 0px;
	text-align: left;
}
.box-pros{
	flex:1;	
padding-right: 10px;
	padding-left: 10px;}
.box-pres{
	width:50px;	
	padding-right: 10px;
	padding-left: 10px;
	}
.start-all{
	position: absolute;
	color: #fb480c;
	right: 0px;

}
.progress {
	display: -ms-flexbox;
	display: flex;
	height: 0.5rem;
	overflow: hidden;
    font-size: .75rem;
	background-color: #e9ecef;
    border-radius: .25rem;
	margin-top: 7px;
}
.jobs-item a.ask{
	background-color: #eeac4d;	
	margin-right: 5px;
}
.jobs-item a:hover,a.ask-del:hover{
	opacity: 0.8;
	text-decoration: none;
}
.user-face{
	width: 30%;
	padding-left: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
}
.user-facex{
	width: 20%;
	padding-left: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
}
.user-face img{
	width: 100%;
	border-radius:50%;
}
.user-score{
	width: 70%;
	padding-left: 10px;
	padding-right: 15px;
	padding-bottom: 15px;
	padding-top: 15px;
}
.user-info{display:flex}
.user-name{
	font-size: 1rem;
	font-weight: bold;
	color: #000;
}	
.start{
	font-size: .7rem;
	color: #fb480c;
	letter-spacing: 1px;
	padding-left:10px;
}
.income{font-size:.95rem;
	color: #666;
	text-align: justify;
	line-height: 1.6em;
	letter-spacing: 1px;
}
.income a{
	font-weight: bold;
	text-decoration: underline;
}
/*-----li 滑鼠挪動順序------->*/
.draggable-list {
    list-style: none;
    padding: 0;
    /*width: 300px;
    border: 1px solid #ccc;*/
}

.draggable-item {
    /*padding: 10px;
    margin: 5px 0;
    background-color: #f4f4f4;*/
    cursor: grab; /* 鼠標顯示為可抓取 */
    border: 1px solid #ao2;
    transition: background-color 0.2s;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 拖曳開始時的樣式 */
.draggable-item:active, .sortable-ghost {
    cursor: grabbing;
}

/* 拖曳中的元素樣式 */
.sortable-ghost {
  opacity: 0.2; /* 讓虛影變得很淡 */
  background-color: #c9e0f3;
  border: 1px dashed #3498db;
}

.dragging {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 
  transform: scale(1.05);
}

/* 當拖曳元素進入目標放置區的樣式 */
.drag-over {
    border-top: 3px solid #3498db; /* 在目標上方顯示藍色邊框 */
}

.current-order {
    margin-top: 20px;
    padding: 10px;
    background-color: #e8f5e9;
    border: 1px solid #a5d6a7;
    font-size: 0.9em;
}
/* Keep the project search dropdown indicator visible even when the compiled Vue bundle is cached. */
.project-search-card__fields > .project-search-card__field:nth-child(1)::after,
.project-search-card__fields > .project-search-card__field:nth-child(2)::after {
	content: '';
	position: absolute;
	right: 16px;
	top: 22px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #2d607d;
	pointer-events: none;
}

.project-search-card__fields > .project-search-card__field:nth-child(1) > select,
.project-search-card__fields > .project-search-card__field:nth-child(2) > select {
	padding-right: 40px !important;
	background-image: none !important;
}
/* Use Bootstrap px-2 spacing for all project containers on phone screens. */
@media (max-width: 575.98px) {
	.container,
	.container-fluid {
		padding-left: .5rem !important;
		padding-right: .5rem !important;
	}
}
/* Prevent a cached confirm bundle from applying a second mobile horizontal gutter. */
@media (max-width: 575.98px) {
	#sendFrm > .w-100.px-2 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
/* Give first-level confirm cards Bootstrap p-2 spacing on phone screens. */
@media (max-width: 575.98px) {
	#sendFrm > .w-100.mt-3 {
		padding: .5rem !important;
	}
}

/* Use Bootstrap p-2 spacing for first-level cards across the project on phones. */
@media (max-width: 775px) {
	/* Bootstrap cards: adjust only cards that are not nested inside another card. */
	#app .card:not(.card .card) > .card-body {
		padding: .5rem !important;
	}

		/* The confirm page uses a form wrapper instead of a card class. */
	#sendFrm > .w-100.mt-3 {
		padding: .5rem !important;
	}

/* Legacy white panels that serve as the first-level page card. */
	#app .w-100.mx-auto.bg-white.rounded.shadow,
	#app .w-100.mx-auto.bg-white.rounded.shadow-sm,
	#app .w-100.mx-auto.bg-white.rounded.shadow-lg,
	#app .w-100.mx-auto.bg-white.rounded-lg.shadow,
	#app .w-100.bg-white.rounded.shadow,
	#app .w-100.bg-white.rounded.shadow-sm,
	#app .w-100.bg-white.rounded.shadow-lg {
		padding: .5rem !important;
	}
}
/* Keep the project card price row on one line on mobile widths. */
@media (max-width: 767px) {
	.project-card__aside {
		flex-wrap: nowrap !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 5px !important;
		overflow: hidden !important;
		text-align: left !important;
	}

	.project-card__price-label,
	.project-card__minimum-hours,
	.project-card__cta {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
	}

	.project-card__price-label {
		font-size: 11px !important;
	}

	.project-card__price {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		overflow: hidden !important;
		font-size: 1.08rem !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}

	.project-card__minimum-hours {
		font-size: 11px !important;
	}

	.project-card__cta {
		padding: 6px 8px !important;
		font-size: 11px !important;
	}
}
/* Keep the mobile profile avatar visible below the work banner. */
@media (max-width: 767.98px) {
	.work-banner {
		overflow: hidden !important;
	}
}
/* Keep the work status controls inside the profile banner. */
.work-banner-status {
	position: absolute;
	top: auto;
	right: 16px;
	bottom: 16px;
	width: min(460px, calc(100% - 32px));
	z-index: 4;
	margin: 0;
}

@media (min-width: 768px) {
	.work-banner {
		min-height: 310px;
	}

	.work-banner .work-avatar-wrap {
		top: auto;
		bottom: 28px;
		left: 32px;
		transform: none;
	}

}

@media (max-width: 767.98px) {
	.work-banner {
		min-height: 286px !important;
	}

	.work-banner-status {
		margin: 0 !important;
		top: auto;
		right: 10px;
		bottom: 10px;
		left: 50%;
		width: auto;
		padding: 12px !important;
	}

	.work-banner-status > .d-flex:first-child {
		margin-bottom: 10px !important;
	}
}
/* Keep the banner image action visible after removing the hero section. */
@media (max-width: 767.98px) {
	.work-banner-change {
		top: 10px !important;
		right: 10px !important;
	}

	.work-banner-change .btn {
		padding: 7px 11px !important;
		font-size: 11px !important;
	}
}
/* Mobile banner layout: give the status card a full-width, readable row. */
@media (max-width: 767.98px) {
	.work-banner {
		min-height: 350px !important;
	}

	.work-banner-status {
		top: auto !important;
		right: 10px !important;
		bottom: 10px !important;
		left: 10px !important;
		width: auto !important;
		max-width: none;
		padding: 12px !important;
	}

	.work-banner-status > .d-flex:first-child {
		align-items: center !important;
		margin-bottom: 10px !important;
	}

	.work-banner-status > .d-flex:first-child > .flex-grow-1 {
		min-width: 0;
	}

	.work-banner-status .h5 {
		margin-bottom: 2px !important;
		font-size: 1.05rem;
		white-space: nowrap;
	}

	.work-banner-status .small.text-muted {
		overflow: hidden;
		line-height: 1.4 !important;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.work-banner-status > .d-flex.flex-wrap {
		flex-wrap: nowrap !important;
		margin-right: -4px;
		padding-bottom: 2px;
		overflow-x: auto;
	}

	.work-banner-status > .d-flex.flex-wrap > a {
		flex: 0 0 auto;
	}

	.work-banner-change {
		top: 10px !important;
		right: 10px !important;
	}

	.work-avatar-wrap {
		bottom: 155px !important;
		left: 16px !important;
	}

}
/* Compact mobile banner: move the avatar to the upper-left profile area. */
@media (max-width: 767.98px) {
	.work-banner {
		min-height: 260px !important;
	}

	.work-avatar-wrap {
		top: 16px !important;
		bottom: auto !important;
		left: 16px !important;
	}


	.work-banner-status {
		bottom: 10px !important;
	}
}
/* Mobile category panels: keep an 8px outer gutter on both sides. */
@media (max-width: 767.98px) {
	#merchantKindBlock,
	#merchantSubKindBlock {
		margin-right: -8px !important;
		margin-left: -8px !important;
	}
}
/* Mobile shop images: show three equal-width cards per row. */
@media (max-width: 767.98px) {
	.work-shop-image-card,
	.work-shop-image-upload {
		flex: 0 0 calc((100% - 24px) / 3) !important;
		width: calc((100% - 24px) / 3) !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		min-width: 0;
	}

	.work-shop-image-card img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.work-shop-image-card .small {
		font-size: 11px;
	}
}
/* Keep the service name beside the avatar on phones. */
@media (max-width: 767.98px) {
}
.work-banner-profile {
	position: absolute;
	left: 190px;
	bottom: 42px;
	z-index: 3;
	color: #fff;
	text-shadow: 0 1px 5px rgba(0,0,0,.5);
}
/* Keep the service name beside the avatar on phones. */
@media (max-width: 767.98px) {
	.work-banner-profile {
		top: 42px !important;
		bottom: auto !important;
		left: 108px !important;
		max-width: calc(100% - 124px);
	}
}
/* Chat mobile composer: keep the message area usable and actions on a second row. */
.chat-page{min-height:0;}
.chat-edit-shell{min-height:0;}
.chat-box-scroll{min-height:200px;max-height:none;height:auto!important;overflow-y:auto;}
.chat-composer{position:relative;}
@media (max-width: 774px){
	.chat-edit-shell{height:calc(100dvh - 135px)!important;}
	.chat-box-scroll{margin-top:0;margin-bottom:0;padding-bottom:122px!important;}
	.chat-composer{display:block!important;position:fixed!important;left:0;right:0;bottom:0;width:100%;height:112px!important;min-height:112px;z-index:1000;}
	.chat-composer-field{display:flex!important;position:absolute;left:0;right:0;top:0;width:100%;height:60px;min-height:60px;padding:0 12px;z-index:1;}
	.chat-composer #msg{display:block!important;width:100%!important;min-width:0;min-height:60px;height:60px;max-height:60px;}
	.chat-actionbar{display:flex!important;position:absolute;left:0;right:0;bottom:0;width:100%!important;height:52px!important;flex:0 0 52px;z-index:3;}
	.chat-btn{height:52px;width:auto;flex:1 1 33.333%;font-size:18px;}
}
@supports not (height: 100dvh){
	@media (max-width: 774px){
		.chat-edit-shell{height:calc(100vh - 135px)!important;}
	}
}
/* Mobile project search selects: fit city and district labels beside the icons. */
@media (max-width: 767px) {
	.project-search-card__field > select.project-search-control {
		font-size: 14px !important;
		font-size: clamp(12px, 3.8vw, 14px) !important;
		line-height: 1.2;
		padding-left: 36px !important;
		padding-right: 32px !important;
		white-space: nowrap;
		text-overflow: clip;
		overflow: hidden;
	}
}
@media (max-width: 375px) {
	.project-search-card__field > select.project-search-control {
		font-size: 12px !important;
		padding-left: 32px !important;
		padding-right: 28px !important;
	}
}
/* Mobile project date input: fit the date beside the calendar icon. */
@media (max-width: 767px) {
	.project-search-card__field > input.project-search-control[type="date"] {
		font-size: 14px !important;
		font-size: clamp(12px, 3.8vw, 14px) !important;
		line-height: 1.2;
		padding-left: 36px !important;
		padding-right: 34px !important;
		white-space: nowrap;
	}
}
@media (max-width: 375px) {
	.project-search-card__field > input.project-search-control[type="date"] {
		font-size: 12px !important;
		padding-left: 32px !important;
		padding-right: 30px !important;
	}
}
/* Mobile date input: keep the complete YYYY/MM/DD value visible on narrow screens. */
@media (max-width: 430px) {
	.project-search-card__fields > .project-search-card__field:nth-child(3),
	.project-search-card__fields > .project-search-card__field--wide {
		grid-column: 1 / -1;
	}

	.project-search-card__field > input.project-search-control[type="date"] {
		min-width: 0;
		width: 100%;
		padding-right: 6px !important;
		font-size: clamp(12px, 3.6vw, 14px) !important;
	}

	.project-search-card__field > input.project-search-control[type="date"]::-webkit-datetime-edit,
	.project-search-card__field > input.project-search-control[type="date"]::-webkit-datetime-edit-fields-wrapper {
		padding: 0;
	}

	.project-search-card__field > input.project-search-control[type="date"]::-webkit-calendar-picker-indicator {
		width: 20px;
		margin-left: 0;
	}
}
/* Keep the mobile date field at the original 50% grid width. */
@media (max-width: 430px) {
	.project-search-card__fields > .project-search-card__field:nth-child(3) {
		grid-column: auto;
	}
	.project-search-card__fields > .project-search-card__field--wide {
		grid-column: auto;
	}


	.project-search-card__field > input.project-search-control[type="date"] {
		padding-left: 28px !important;
		padding-right: 0 !important;
		font-size: clamp(11px, 3.4vw, 13px) !important;
		letter-spacing: -0.02em;
	}
}
.chat-btn-voice.is-listening > .fa{display:none;}
.chat-voice-wave{display:none;align-items:center;justify-content:center;gap:2px;width:24px;height:30px;color:currentColor;}.chat-btn-voice.is-listening .chat-voice-wave{display:flex;}
.chat-voice-wave span{display:block;width:3px;height:10px;border-radius:3px;background:currentColor;animation:chatVoiceWave .8s ease-in-out infinite;}
.chat-voice-wave span:nth-child(1){animation-delay:-.32s;}
.chat-voice-wave span:nth-child(2){animation-delay:-.18s;}
.chat-voice-wave span:nth-child(3){animation-delay:-.05s;}
.chat-voice-wave span:nth-child(4){animation-delay:-.2s;}
.chat-voice-wave span:nth-child(5){animation-delay:-.38s;}
@keyframes chatVoiceWave{0%,100%{transform:scaleY(.45);}50%{transform:scaleY(1.65);}}
.chat-composer-field{position:relative;}
.chat-composer #msg{padding-right:40px!important;}
.chat-btn-clear{position:absolute;top:50%;right:28px;z-index:2;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#8a8a8a;font-size:18px;line-height:28px;text-align:center;transform:translateY(-50%);}
.chat-btn-clear:focus{outline:none;}
.chat-btn-clear:hover{color:#214502;background:#f1f5f8;}
/* Chat attachment previews: show selected files on the right side of the composer. */
.chat-composer #imgzone{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:auto!important;min-width:0;max-width:50%!important;height:100%!important;display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto;padding:0!important;z-index:2;background:#fff;border-left:1px solid #d6e1ee;}
.chat-composer #imgzone>span{flex:0 0 auto;height:calc(100% - 6px)!important;min-width:40px;}
.chat-composer #imgzone img{display:block;height:100%!important;width:auto;max-width:64px;object-fit:contain;border:1px solid #d6e1ee;}
.chat-composer #msgzone.has-attachments{display:flex!important;flex-direction:row!important;align-items:center;}
.chat-composer #msgzone.has-attachments #msg{flex:1 1 auto;width:auto!important;min-width:0;padding-right:0!important;}
.chat-composer #msgzone.has-attachments #imgzone{position:static!important;flex:0 1 auto;width:auto!important;max-width:50%!important;min-width:0;height:60px!important;}
.chat-composer #msgzone.has-attachments .chat-btn-clear{position:static;flex:0 0 28px;width:28px;height:28px;transform:none;}


.chat-btn.is-transcribing{color:#5279a1;background:#dbe9f6;opacity:1;animation:chatVoiceTranscribingPulse 1.1s ease-in-out infinite;}
.chat-btn.is-transcribing > .fa{animation:chatVoiceTranscribingSpin 1s linear infinite;}
@keyframes chatVoiceTranscribingPulse{0%,100%{opacity:.65;}50%{opacity:1;}}
@keyframes chatVoiceTranscribingSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
