:root {
	--button-bg-color: #595D61 !important;
	--scrollbar-thumb: #787878 !important;
	--scrollbar-track: #ddd !important;

	--cr-main-1: #E9EAEC;
	--cr-main-2: #D3D6D9;
	/* --cr-main-2: #DCDEE1; */
	/* --cr-main-2: #D3D6D9; */
	/* --cr-main-2: #A7ADB2; */
	/* --cr-main-2: #A7ADB2; */
	/* --cr-main-2: #91989F; */

	--cr-1: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 20%);
	--cr-2: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 35%);
	--cr-3: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 50%);
	--cr-4: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 65%);
	--cr-5: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 80%);
	--cr-6: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 90%);
}

.auth-button-color		{ background:var(--button-bg-color) !important; }

/** Moving blobs **/
.blobs					      { position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; filter: blur(140px); opacity: .7; }  
.blob					        { width: max(240px, 20vw); aspect-ratio: 1; border-radius: 50%; position: absolute; top: 0; left: 0; transform-origin: center; }
.blob:nth-of-type(1) 	{ background: var(--cr-main-1); }
.blob:nth-of-type(2) 	{ background: var(--cr-main-2); }
.blob:nth-of-type(3) 	{ background: var(--cr-1); }
.blob:nth-of-type(4) 	{ background:  #F7F7F7; }
.blob:nth-of-type(5) 	{ background: var(--cr-3); }
.blob:nth-of-type(6) 	{ background: var(--cr-4); }
.blob:nth-of-type(7) 	{ background: var(--cr-2); }
.blob:hover				    { opacity: 0.5; transform: scale(1.1); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }

/** Fog & Grid background **/ 
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) {
    margin: 0;
    height: 100vh;
    background: url(../image/auth/login-bg-tile-large.jpg) repeat 50% 50% fixed;
    background-size: 260px 260px;
}

body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"])::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url(../image/auth/cloud-combination.jpg) no-repeat center center fixed;
    background-size: cover;
    opacity: 0.4;
    pointer-events: none; 
}

/*
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"])::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url(../image/auth/cloud2.png) no-repeat center center;
    background-size: cover;
    opacity: 0.5;
    pointer-events: none;
    animation: moveClouds 15s linear infinite alternate;
}

@keyframes moveClouds {
    from { transform: translateX(0px) translateY(0px); }
    to { transform: translateX(50px) translateY(20px); } 
}
*/

body[id ^= "auth-"]   { overflow-x: hidden; /** Prevent horizontal scrolling for selec2 */ }
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #header-wrapper,
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #nav-wrapper,
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #footer-wrapper			{ display: none;}
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #container				  { padding: 0; }
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #main-wrapper			 	{ padding: 20px 0; height: calc(100vh - 40px); display: flex; flex-direction: column; }
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #main-inner 				{ margin: auto; width: 92%; max-width: none; }
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) .auth-form 				  { margin: 60px auto 80px auto;}
body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #menu-button 				{ display: none;}


#auth-toolbar						            { flex-shrink: 0;}
#auth-toolbar .label .name			    { margin-left: 12px; white-space: nowrap; font-size: .96em; line-height: 1.33em; }
#auth-toolbar .label img 			      { width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0; flex-grow: 0; }
#auth-toolbar .menu > div 			    { padding: 0; border: 1px solid var(--light-border-color);}
#auth-toolbar .profile-info 		    { padding: 15px; border-bottom: 1px solid var(--light-border-color);}
#auth-toolbar .profile-info > a 	  { flex-shrink: 0; flex-grow: 0;}
#auth-toolbar .profile-info img 	  { margin-right: 10px; flex-shrink: 0; flex-grow: 0;}
#auth-toolbar .profile-info .name 	{ margin:0 0 4px 0; font-weight: 500; font-size: 1.05em; color: var(--theme-text-color);}
#auth-toolbar .profile-info .email 	{ color: #888; font-size: .95em;}
#auth-toolbar ul					          { padding: 10px 0; }
#auth-toolbar ul li					        { margin: 0; }
#auth-toolbar ul li a 				      { display: block; padding: .7em 20px; transition: all .2s;}
#auth-toolbar ul li a:hover 		    { background-color: var(--light-bg-color); color: var(--theme-text-color); }
#auth-toolbar ul li i 				      { width: 16px;}
#auth-toolbar-login-button          { font-size: 1.46em;}

.profile-box						            { padding: 30px 3% 50px 3%;}
.profile-box.no-padding 			      { padding: 0;}
.profile-box + .profile-box			    { margin-top: 25px;}
.profile-page .auth-form 			      { padding: 0; background: none;}
.profile-tabs						            { justify-content: center; margin: 0 0 30px 0; }
.profile-tabs li 					          { margin: 0; color: var(--neutral-mid); font-size: 1.05em; font-weight: 500; letter-spacing: .08em;}
.profile-tabs li a					        { display: block; padding: 1.85em 0; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.profile-tabs li a:hover			      { color: var(--dark-text-color); }
.profile-tabs li.active 			      { color: var(--dark-text-color);}
.profile-tabs li.active a			      { border-bottom-color: var(--neutral-1); }

.list-table.profile-table + .list-table.profile-table { margin-top: 20px;}
.list-table.profile-table li > div					          { padding: 30px 15px; text-align: center; border: none; font-size: 1.05em; }
.list-table.profile-table li:nth-child(odd) > div 	  { background-color: #f3f4f6;}
.list-table.profile-table li.header > div			        { padding: 20px 15px; background-color: var(--theme-bg-color); color: #fff; border: none;  }


.auth-form-logo					            { width: 100px; position: absolute; left: 4%; top: 30px; }
.auth-form 						              { width:100%; max-width:420px; margin:auto; padding:35px 30px 30px 30px; background-color: #fff; }
.auth-form legend 				          { font-size: 1.4em; font-weight: 500; letter-spacing: .05em; color: var(--dark-text-color); margin-bottom: 1.5em;}
.auth-form .label 				          { font-weight: 500; color: #444; line-height: 1.2em;}
.auth-form button 				          { /*width:100%;*/ min-width: 130px; margin: 0; background-color: var(--theme-bg-color); color: #fff; }
.auth-form input[type="text"],
.auth-form input[type="password"],
.auth-form input[type="email"]      { background-color: #fff; border:1px solid #CACACA; box-shadow: 2px 3px 4px rgba(0,0,0,.075);}
.auth-form .remember 			          { display:inline-block; color: #595D61; }
.auth-form .forget 				          { margin: 0 20px 0 auto; color: #595D61;}
.auth-form .receive-newsletter	    { margin-right: auto; color: #666; font-size: .9em;}
.auth-form .retry-login 		        { margin-left: 4px; margin-right: auto; }
.auth-form .retry-login a           { color: #91989F;}
.auth-form .retry-login a:hover     { color: #595D61;}
.auth-form .top p 				          { margin:20px 0; color:#666; line-height:1.25em; }
.auth-form .top p.err 			        { color: #d54449;}
.auth-form .bottom 				          { margin-top:30px; }
.auth-form .bottom p 			          { margin:15px 0 25px 0; color:#666; line-height:1.25em; }
.auth-form .bottom p a              { text-decoration:underline; color:#91989F; }
.auth-form .bottom p a:hover 	      { color:#595D61; }
.auth-form hr 					            { margin:25px 0 20px 0; border: none; border-top: 1px solid #ddd;}
.auth-form .scope-list 			        { list-style:inside; margin-bottom: 25px; }
.auth-form .scope-list li 		      { margin-bottom: 15px;}
.auth-form .input-label			        { border: 1px solid #ddd; border-radius: 4px; box-shadow: 2px 3px 4px rgba(0,0,0,.075); overflow: hidden; position: relative; }
.auth-form .input-label label	      { width: 42px; height: 42px; line-height: 38px; border-right: 1px solid #ddd; text-align: center; flex-grow: 0; flex-shrink: 0; overflow: hidden; transition: width .2s; }
.auth-form .input-label input	      { border-radius: 0; border: none; box-shadow: none; flex-grow: 1;}
.auth-form .show-password		        { width: 42px; height: 42px; line-height: 40px; text-align: center; flex-grow: 0; flex-shrink: 0; color: #888; cursor: pointer; }
.auth-form .show-password::before 		    { content: '\f06e'; font: var(--fa-font-regular); }
.auth-form .show-password.show::before 	  { content: '\f070';}

.auth-form.wide 				    { max-width: none;}
.auth-form.wide legend			{ font-size: 1.25em; }
.auth-form.wide button 			{ max-width: 160px; }
.auth-form.wide .buttons 		{ margin-top: 40px;}
.auth-form.wide .label 			{ margin-bottom: 15px;}
.auth-form.wide .bottom 		{ margin: 40px 0 0 0; }
.auth-form.wide .bottom p		{ margin: 0; color: var(--theme-text-color); font-size: 1.1em; font-weight: 500;}

.auth-form.large 				    { max-width: 680px;}

/* 毛玻璃效果 */
.frosted-glass-form         { position: relative; background: none;}
.frosted-glass-form::before { z-index: -1; content: ''; position: absolute; left: 0; top: 0; right: 0; bottom:0; background-color: rgba(255, 255, 255, 0.6);-webkit-backdrop-filter: blur(2px);backdrop-filter: blur(2px);transition: background-color 0.5s ease; }


/* 新的 auth-form-new */
.auth-form-new                                { padding: 60px 45px ; border: 0.5px solid #CACACA ; border-radius: 20px !important; }
.auth-form-new legend                         { font-weight: 600; font-size: 20px; line-height: 24px; color: #595D61; display: block; width: 100%; }
.auth-form-new input[type="text"],
.auth-form-new input[type="password"],
.auth-form-new input[type="email"]            { box-shadow: none; }
.auth-form-new input                          { border: 1px solid #CACACA; transition: border 0.2s ease-in-out; }
.auth-form-new input:focus                    { border: 1px solid #595D61; outline: none; }
.auth-form-new .space 				                { margin: 0 20px 0 auto;}

.auth-form-new .input-label                   { background-color: #fff; border: 1px solid #CACACA ; border-radius: 8px; box-shadow: none; overflow: visible; }

.auth-form-new .input-label:has(input:focus)  { border: 1px solid #595D61; }

.auth-form-new .input-label label,
.auth-form-new .input-label input             { color:#787878; border-radius: 8px; border: none; box-shadow: none; }
.auth-form-new .input-label label::after      { content: ""; position: absolute; left: 39px; top: 25%; height: 50%; width: 1px; background-color: #CACACA; }

.auth-form-new .show-password                 { color: #aaa !important; }
.auth-form-new .button			                  { height: 34px; line-height: 34px; }
.auth-form-new .button:hover 	                { filter: brightness(95%)!important; }
.auth-form-new .button .loading-icon          { margin-left: 8px; font-size: .95em; display:none;  }
.auth-form-new .button.loading                { opacity: .6;}
.auth-form-new .button.loading .loading-icon  { display:block; }
.auth-form-new .button.loading span           { display:none; }
.auth-form-new .row			                      { margin-bottom: 38px; position:relative; }
.auth-form-new .success                       { color: #595D61; }

.auth-form-new .list-table li.header > div    { background-color: #eee;}


/* 調整其他頁間距 */
#auth-register .auth-form-new  .row,
#auth-forget-password .auth-form-new  .row,
#auth-reset-password .auth-form-new  .row,
#auth-delete-complete  .auth-form-new  .row   { margin-bottom: 17px; position:relative; }
#auth-register .auth-form-new .bottom         { margin-top: 15px; }
#auth-register .auth-form-new .social-login   { margin: 50px auto 0 auto;}
#auth-register .auth-form-new                 { margin-bottom: 5px; }
#auth-verify-email .verify-email p            { margin: 15px 0; color: #595D61; }
/* 再會頁面（刪除帳號完成）：圖片縮小置中、文字尺寸與間距平衡 */
#auth-delete-complete .auth-form-new img      { display: block; width: 200px; max-width: 60%; height: auto; margin: 0 auto 6px auto; }
#auth-delete-complete .auth-form-new legend   { margin: 1.4em 0 0.6em 0; font-size: 21px; line-height: 1.4em; }
#auth-delete-complete #delete-account-msg     { color: var(--neutral-mid); font-size: 15px; line-height: 1.6em; }
#auth-delete-complete .auth-form-new .button  { margin-top: 22px; }

@media screen and (max-width: 480px) {
    #auth-delete-complete .auth-form-new img    { width: 170px; }
    #auth-delete-complete .auth-form-new legend { font-size: 19px; }
}


/* 設定驗證區塊的水平排列與間距 */
.auth-form-new  #verification-section { display: flex; align-items: center; /* 垂直置中 */ gap: 10px; /* 設定元素間距 */ }

/* 讓輸入框佔據最大空間 */
.auth-form-new  #verification-section .col:first-child { flex-grow: 1; }

/* 設定按鈕最小寬度，確保大小一致 */
.auth-form-new  #verification-section button { min-width: 90px; text-align: center; }

/* 統一左右間距，讓元素不會貼在一起 */
.auth-form-new  #verification-section .col { padding: 5px; }


/** 點選input時移動動畫 **/
/* 限制影響範圍 */
.auth-form-new  .input-container 	{ position: relative; }

/* 輸入框樣式 */
.auth-form-new  .input-container input   	{ width: 100%;padding:10px;font-size: 14px;border-radius: 8px;outline: none; }
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color:#595D61;
  -webkit-box-shadow:none;
  transition: background-color 5000s ease-in-out 0s;
}

/* 標籤初始狀態 */
.auth-form-new  .input-container .label		{ position: absolute;top: 50%;left: 12px;transform: translateY(-50%); font-size: 14px; font-weight: 400; color: #999;pointer-events: none; transition: all 0.3s ease; background-color:transparent; border-radius: 3px; padding: 0 2px; }
.auth-form-new  .input-container .label .short-text { display: none ;}

/* 針對 email 和 password 欄位調整位置 */
.auth-form-new  .input-container.has-icon .label	{ left: 48px; top: 47%; /* 將 email 和 password 的 label 往右移 */}

/* 輸入框聚焦、有值或自動填入時，標籤上移、置換文字內容、隱藏圖示 */
.auth-form-new  .input-container.is-focus .label .short-text,
.auth-form-new  .input-container.has-value .label .short-text,
.auth-form-new  .input-container:has(input:-webkit-autofill) .label .short-text { display: inline;}
.auth-form-new  .input-container.is-focus .label .long-text,
.auth-form-new  .input-container.has-value .label .long-text,
.auth-form-new  .input-container:has(input:-webkit-autofill) .label .long-text { display: none;}
.auth-form-new  .input-container.is-focus .label,
.auth-form-new  .input-container.has-value .label,
.auth-form-new  .input-container:has(input:-webkit-autofill) .label { top: 0px !important; font-size: 10px;color:#595D61; background-color:#f4f5f5;}
.auth-form-new  .input-container.has-icon.is-focus .label,
.auth-form-new  .input-container.has-icon.has-value .label,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .label { left: 12px; }
.auth-form-new  .input-container.has-icon.is-focus .icon,
.auth-form-new  .input-container.has-icon.has-value .icon,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .icon { width: 0;}
.auth-form-new  .input-container.has-icon.is-focus .icon,
.auth-form-new  .input-container.has-icon.has-value .icon,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .icon { width: 0;}
.auth-form-new  .input-container.has-icon.is-focus .icon::after,
.auth-form-new  .input-container.has-icon.has-value .icon::after,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .icon::after,
.auth-form-new  .input-container.has-icon.is-focus .icon i,
.auth-form-new  .input-container.has-icon.has-value .icon i,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .icon i { display: none; }

.auth-form-new  .input-container:has(input:-webkit-autofill) .label,
.auth-form-new  .input-container.has-icon:has(input:-webkit-autofill) .icon { transition: none; }


.auth-form-new  .input-container input[name="verification_code"] { height: 36px; }

/* 步驟指示 */
.auth-form-step-indicator         { display: flex; justify-content: center; gap: 8px; margin-top: 30px;}
.auth-form-dot                    { width: 8px; height: 8px; border-radius: 50%; background-color: #ccc; }
.auth-form-dot.active             {  background-color: #787878; }

.verify-email 					          { padding:35px 0; }
.verify-email p 				          { margin:0 0 20px 0; line-height:1.25em; color: #595D61; }
.verify-email p:last-child		    { margin-bottom: 0;} 
.verify-email input[type="text"]  { font-size: 18px; font-weight: 500; letter-spacing: .3em;}
.verify-email .button 			      { background-color: #595D61;}
.verify-email .error 			        { text-align: center; margin: 20px 0 0 0;}
.verify-remind					          { border: 1px solid #ddd; padding:25px; margin-bottom: 30px;}
.verify-remind p				          { line-height: 1.5em; margin: 10px 0;}
.verify-email-cancel,
.verify-email-resend			        { color: #888 !important; font-weight: normal !important; display: inline-block; margin:5px 15px; }

.social-login					            { width:100%; margin:30px auto 0 auto; gap:8px; }
.social-login p 				          { margin-right: auto; color:#666;}
.social-login-button 			        { background:#fff; color:#222; padding:.5em 0 .9em 0; margin:8px 0; text-align:center; display:block; border-radius:4px;border: 1px solid #CACACA; width: 90px; height: 30px; }
.social-login-button i 			      { margin-right:8px; }
.social-login-button.facebook,
.social-login-button.google,
.social-login-button.line 		    { background:#fff; color: #222; }

#survey-form .row					            { margin: 40px 0;}
#survey-form .row .label 			        { font-size: 1.2em; font-weight: 400; margin-bottom: 18px;}
#survey-form .row .contents 		      { font-size: 1em; line-height: 1.4em; color: #666; margin-bottom: 15px;}
#survey-form .survey-button 					{ position: relative; }
#survey-form .survey-button input 		{ display: none;}
#survey-form .survey-button div 			{ background-color: rgb(255 255 255 / 0.65); color: #666; padding: 12px 15px; cursor: pointer; gap: 10px;  display: flex; align-items: center; border-radius:4px }
#survey-form .check-circle            { width: 16px; height: 16px; flex-shrink: 0; flex-grow: 0; border-radius: 50%; border: 1px solid #91989F; display: inline-block; position: relative; }
#survey-form .survey-button input:checked + div .check-circle       { outline: 1px solid #91989F; border: 3px solid #fff; background-color: #666; }

/*
========================
Profile 版面：左側欄 + 右面板
========================
*/
.profile-page						              { display: flex; align-items: flex-start; gap: 50px; }
/* 純版面容器：卡片外觀改掛在各內層 .profile-box 上（見 theme.neutral.css） */
.profile-content					            { flex-grow: 1; min-width: 0; padding: 0; background: none; }

#profile-sidebar					            { width: 300px; flex-grow: 0; flex-shrink: 0; }

#profile-sidebar .user-card			      { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background-color: #fff; border: 1px solid var(--neutral-light); box-shadow: 2px 2px 5px #8282821A; border-radius: 12px; }
#profile-sidebar .user-card .info	    { min-width: 0; }
#profile-sidebar .user-card .name	    { font-weight: 500; color: var(--dark-text-color); line-height: 1.3em; }
#profile-sidebar .user-card .email    { margin-top: 3px; font-size: .92em; color: var(--neutral-mid); line-height: 1.3em; word-break: break-all; }
#profile-sidebar .user-card .identifier { margin-top: 6px; }
#profile-sidebar .user-card .tag	    { font-size: 10px; font-weight: 500; text-transform: uppercase; padding: 1px 4px; border-radius: 3px; background-color: var(--neutral-7); color: var(--neutral-mid); }

#profile-sidebar .avatar			        { width: 48px; height: 48px; flex-grow: 0; flex-shrink: 0; position: relative; }
#profile-sidebar .avatar .thumb		    { width: 100%; height: 100%; border-radius: 50%; background-color: var(--neutral-7); overflow: hidden; }
#profile-sidebar .avatar img		      { cursor: pointer; width: 100%; height: 100%; }
#profile-sidebar .avatar .dropzone	  { position: absolute; left: 0; top: 0; right: 0; bottom: 0; opacity: 0; }
#profile-sidebar .avatar .uploading	  { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 16px; color: #666; display: none; }
#profile-sidebar .avatar .remove-file { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; border-radius: 50%; background-color: #fff; color: #666; border: 1px solid var(--neutral-light); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .2s, visibility 0s .2s; }
#profile-sidebar .avatar .remove-file i	    { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 10px; }
#profile-sidebar .avatar:hover .remove-file { opacity: 1; visibility: visible; transition: opacity .2s, visibility 0s; }
#profile-sidebar .avatar.is-uploading	      { pointer-events: none; }

.avatar-toolbar .avatar-toolbar-button 		 		  { color: #888; margin: 7px 0; cursor: pointer; transition: all .2s;}
.avatar-toolbar .avatar-toolbar-button:hover 		{ color: #444;}

#profile-avatar-presets 			                  { padding: 10px 0;}
#profile-avatar-presets ul  		                { display: flex; flex-wrap: wrap; }
#profile-avatar-presets li			                { width: 25%; margin: 7px 0; position: relative; }
#profile-avatar-presets li img  	              { width: 60px; cursor: pointer; border-radius: 50%; }
#profile-avatar-presets li.is-selected::after   { content: '\f058'; position: absolute; right: 12px; top: 12px; width: 13px; height: 13px; font: var(--fa-font-solid); font-size: 13px; color: var(--theme-text-color); background-color: #fff; border-radius: 50%; overflow: hidden; }

#profile-nav					                        { margin-top: 22px; }
#profile-nav li					                      { margin-bottom: 4px; }
#profile-nav a					                      { display: flex; align-items: center; gap: 12px; padding: .95em 20px; border: 1px solid transparent; border-radius: 10px; color: var(--neutral-mid); font-size: 1.05em; font-weight: 500; }
#profile-nav a i				                      { width: 18px; text-align: center; font-size: 1.05em; }
#profile-nav a:hover			                    { background-color: rgba(255,255,255,.5); color: var(--dark-text-color); }
#profile-nav li.active a		                  { background-color: #fff; box-shadow: 2px 2px 5px #595D610D; border-color: var(--neutral-light); color: var(--dark-text-color); }

#auth-delete-account .workgroup-transfer-section  { margin-top: 30px;}
#auth-delete-account .workgroup-transfer-choice .wg-name { margin-right: 10px; white-space: nowrap; }
#auth-delete-account .warning 	                { color: var(--theme-text-color); font-size: 1.1em; margin-top: 30px;}

/* for 1024px or less */
@media screen and (max-width: 1024px) {

  body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) #header-inner		{ padding: 40px 0;}

  #main-inner									              { width: 92%;}

  /* 側欄收窄，仍維持左右兩欄 */
  .profile-page								              { gap: 30px; }
  #profile-sidebar							            { width: 240px; }
  #profile-nav a								            { padding: .85em 15px; font-size: 1em;}

  .profile-box								              { padding: 30px 4% 40px 4%;}


  

  /* 側欄改為上方橫向排列 */
  /* 轉為直向後交叉軸變水平，align-items 必須改回 stretch，
     否則子項目會依內容寬度撐開（寬表格會撐破整頁） */
  .profile-page								              { flex-direction: column; align-items: stretch; gap: 25px; }
  #profile-sidebar							            { width: 100%; }
  #profile-nav								              { margin-top: 15px; }
  #profile-nav ul							              { display: flex; gap: 8px; overflow-x: auto; }
  #profile-nav li							              { margin-bottom: 0; flex: 1; }
  #profile-nav a								            { justify-content: center; white-space: nowrap; }

  /* 寬表格在自己的區塊內橫向捲動，避免撐破版面造成整頁橫捲。
     排除 .auth-form：表單不需要捲動，且 overflow 會裁切 select2 之類的浮層 */
  .profile-content > div:not(.auth-form)	  { overflow-x: auto; }

  .profile-tabs								              { overflow-x: auto; justify-content: flex-start; }
  /* tabs 只有幾顆、可直接滑動，隱藏捲軸避免視覺雜訊 */
  .profile-tabs								              { scrollbar-width: none; }
  .profile-tabs::-webkit-scrollbar			    { display: none; }
  .profile-tabs li a						            { padding: 1.2em 0; white-space: nowrap; }

}


/* for 640px or less */
@media screen and (max-width: 640px) {

  body[id ^= "auth-"]:not([id="auth-profile"]):not([id="auth-change-password"]):not([id="auth-delete-account"]) .auth-form {
      margin: 60px auto;
  }

  #auth-toolbar .label .name		                { display: none;}
  .auth-form-logo					                      { top: 20px; }
  .auth-form 									                  { max-width: none; padding: 25px 6% 50px 6%;}	
  .auth-form-new 								                { max-width:420px; padding: 40px 6%;}
  .auth-form legend     			                  { font-size: 18px; margin-bottom: 1.2em; }
  .social-login								                  { max-width: none; }	
  .verify-remind								                { padding:10px 4% 25px 4%; margin-bottom: 20px; }

  #profile-avatar-presets li img  			        { width: 54px; }

  /* has-tabs 的 mobile 內距統一定義在 theme.neutral.css（載入順序在後才不被蓋） */
  #profile-nav a											          { padding: .8em 12px; font-size: .95em; }

  .profile-box												          { padding: 25px 4% 30px 4%;}
  .auth-form.wide .buttons						          { margin-top: 25px;}
  .auth-form.wide legend							          { font-size: 1.2em; margin-bottom: 1.2em;}

  #auth-register .auth-form-new .social-login   { margin-top: 40px;}
  #survey-form .row                             { margin: 30px 0;}
  #survey-form .row .label                      { font-size: 1.1em; margin-bottom: 12px; }
  #survey-form .survey-button div               { gap:7px; }
  #survey-form .check-circle                    { width: 14px; height: 14px; }

}


/* for 480px or less */
@media screen and (max-width: 480px) {

	.social-login	          { margin-top: 20px;}
	.social-login p	        { display: none;}
	.social-login-button	  { width: 48.5%;}
  .auth-form button       { min-width: 110px;}
	.auth-form .bottom p	  { margin: 10px 0;}

}

/* for 420px or less */
@media screen and (max-width: 420px) {

  #verification-section                             { flex-wrap: wrap; }
  #verification-section > .align-items-center       { width: 100%;}
  #verification-section [name="verification_code"]  { height: 43px;}

}

/* for 360px or less */
@media screen and (max-width: 360px) {

  .auth-form button                             { min-width: 90px;}
	#profile-sidebar .user-card					          { padding: 14px 15px; gap: 10px; }
	#profile-sidebar .avatar					            { width: 40px; height: 40px; }

}

/* 大於 768px 螢幕時保留水平排列 */
@media (min-width: 768px) {

	.auth-form-new  #verification-section { display: flex; align-items: center; gap: 10px; }
	.auth-form-new  #verification-section .col:first-child { flex-grow: 1; }
	.auth-form-new  #verification-section button { min-width: 100px; }

}
  
@media (max-width: 768px) {

  .auth-form.wide .label 			{ margin-bottom: 10px;}

	/* 使 .auth-form-new  #verification-section .col:first-child 充滿一整行 */
	.auth-form-new  #verification-section .col:first-child { width: 100%; display: block;  margin-bottom: 10px; /* 可選，根據需要調整間距 */ }
	/* 把 .auth-form-new  #verification-section 兩個按鈕置於下一行並且向右對齊 */
	.auth-form-new  #verification-section button { display: inline-block; width: auto; /* 取消按鈕的自動寬度 */ }
	.auth-form-new  #verification-section .btn-container { text-align: right; /* 按鈕容器右對齊 */ width: 100%; /* 容器充滿整行 */ }

  #auth-delete-account .warning { font-size: 1rem;}

}