/**
 * Clone Info Member System - Frontend Styles
 *
 * 使用高特定性選擇器避免與 Elementor 和主題編輯器衝突
 * 參考 Members 和 Ultimate Member 外掛的命名規範
 *
 * @package Clone_Info_Member_System
 * @since 1.0.0
 */

/* ==========================================================================
   全域重置與容器
   ========================================================================== */

.cims-login-wrapper,
.cims-register-wrapper,
.cims-profile-wrapper {
	max-width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	box-sizing: border-box !important;
}

.cims-login-container,
.cims-register-container {
	max-width: 500px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	padding: 40px;
	box-sizing: border-box !important;
}

.cims-register-container {
	max-width: 700px;
}

/* ==========================================================================
   表單標頭
   ========================================================================== */

.cims-login-wrapper .cims-login-header,
.cims-register-wrapper .cims-register-header {
	text-align: center;
	margin-bottom: 30px;
}

.cims-login-wrapper .cims-login-header h2,
.cims-register-wrapper .cims-register-header h2 {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
}

.cims-register-wrapper .cims-register-subtitle {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	color: #666666 !important;
}

.cims-login-wrapper .cims-login-logo {
	margin-bottom: 20px;
}

.cims-login-wrapper .cims-login-logo img {
	max-width: 150px;
	height: auto;
}

/* ==========================================================================
   訊息區域
   ========================================================================== */

.cims-message {
	display: flex !important;
	align-items: center;
	padding: 12px 16px !important;
	margin-bottom: 20px !important;
	border-radius: 6px !important;
	border-left: 4px solid;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.cims-message-icon {
	margin-right: 10px !important;
	font-size: 18px !important;
	flex-shrink: 0;
}

.cims-message-text {
	flex: 1;
}

.cims-message-error {
	background-color: #fef2f2 !important;
	border-color: #ef4444 !important;
	color: #991b1b !important;
}

.cims-message-success {
	background-color: #f0fdf4 !important;
	border-color: #22c55e !important;
	color: #166534 !important;
}

.cims-message-info {
	background-color: #eff6ff !important;
	border-color: #3b82f6 !important;
	color: #1e40af !important;
}

.cims-message-warning {
	background-color: #fffbeb !important;
	border-color: #f59e0b !important;
	color: #92400e !important;
}

/* ==========================================================================
   表單樣式
   ========================================================================== */

.cims-form {
	margin: 0;
	padding: 0;
}

/* 表單區塊 */
.cims-form-section {
	margin-bottom: 30px;
	padding-bottom: 25px;
	border-bottom: 1px solid #e5e7eb;
}

.cims-form-section:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

.cims-form-section-title {
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cims-required-note {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
}

/* 表單群組 */
.cims-form-group {
	margin-bottom: 20px;
}

/* 標籤 */
.cims-label {
	display: block !important;
	margin-bottom: 6px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #374151 !important;
	line-height: 1.5 !important;
}

.cims-label .required {
	color: #ef4444 !important;
	margin-left: 2px;
}

/* 輸入框 */
.cims-input {
	width: 100% !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #1f2937 !important;
	background-color: #ffffff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	font-family: inherit !important;
}

.cims-input:focus {
	outline: none !important;
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

.cims-input::placeholder {
	color: #9ca3af !important;
}

textarea.cims-input {
	resize: vertical !important;
	min-height: 80px;
}

select.cims-input {
	cursor: pointer !important;
	padding-right: 30px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
}

/* 密碼輸入框包裝 */
.cims-password-wrapper {
	position: relative;
}

.cims-password-wrapper .cims-input {
	padding-right: 45px !important;
}

.cims-password-toggle {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 40px !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	color: #6b7280 !important;
	transition: color 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.cims-password-toggle:hover {
	color: #374151 !important;
}

.cims-password-toggle.active {
	color: #3b82f6 !important;
}

.cims-icon-eye::before {
	content: '👁';
	font-size: 18px;
	display: block;
}

.cims-password-toggle.active .cims-icon-eye::before {
	content: '👁️';
}

/* 密碼強度指示器 */
.cims-password-strength {
	margin-top: 6px;
	font-size: 13px !important;
	display: none;
}

.cims-password-strength .strength-weak {
	color: #ef4444 !important;
	font-weight: 500 !important;
}

.cims-password-strength .strength-medium {
	color: #f59e0b !important;
	font-weight: 500 !important;
}

.cims-password-strength .strength-strong {
	color: #22c55e !important;
	font-weight: 500 !important;
}

.cims-password-strength .strength-very-strong {
	color: #059669 !important;
	font-weight: 600 !important;
}

/* 欄位提示 */
.cims-field-hint {
	display: block !important;
	margin-top: 6px !important;
	font-size: 12px !important;
	color: #6b7280 !important;
	line-height: 1.4 !important;
}

/* 兩欄表單行 */
.cims-form-row {
	display: flex;
	gap: 15px;
	margin-bottom: 20px;
}

.cims-form-row-2 > .cims-form-group {
	flex: 1;
	margin-bottom: 0;
}

.cims-form-row-3 > .cims-form-group {
	flex: 1;
	margin-bottom: 0;
}

/* 複選框 */
.cims-checkbox-label {
	display: flex !important;
	align-items: flex-start !important;
	cursor: pointer !important;
	font-size: 14px !important;
	color: #374151 !important;
	line-height: 1.5 !important;
}

.cims-checkbox-label input[type="checkbox"] {
	margin-right: 8px !important;
	margin-top: 2px !important;
	flex-shrink: 0 !important;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer !important;
}

.cims-checkbox-label span {
	flex: 1;
}

.cims-checkbox-label a {
	color: #3b82f6 !important;
	text-decoration: none !important;
}

.cims-checkbox-label a:hover {
	text-decoration: underline !important;
}

/* 表單選項（記住我、忘記密碼） */
.cims-form-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.cims-forgot-password {
	font-size: 14px !important;
	color: #3b82f6 !important;
	text-decoration: none !important;
}

.cims-forgot-password:hover {
	text-decoration: underline !important;
}

/* ==========================================================================
   按鈕樣式
   ========================================================================== */

.cims-button,
.cims-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
}

.cims-button-primary,
.cims-btn-primary {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3) !important;
	position: relative !important;
	overflow: hidden !important;
}

.cims-button-primary::before,
.cims-btn-primary::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
	transition: left 0.5s ease !important;
}

.cims-button-primary:hover,
.cims-btn-primary:hover {
	background: linear-gradient(135deg, #5568d3 0%, #6a3f8f 100%) !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4) !important;
}

.cims-button-primary:hover::before,
.cims-btn-primary:hover::before {
	left: 100% !important;
}

.cims-button-primary:active,
.cims-btn-primary:active {
	transform: translateY(0) !important;
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3) !important;
}

.cims-button-primary:disabled,
.cims-btn-primary:disabled {
	background: #cbd5e0 !important;
	cursor: not-allowed !important;
	opacity: 0.6 !important;
	box-shadow: none !important;
}

.cims-button-secondary,
.cims-btn-secondary {
	background-color: #ffffff !important;
	color: #667eea !important;
	border: 2px solid #667eea !important;
	font-weight: 600 !important;
}

.cims-button-secondary:hover,
.cims-btn-secondary:hover {
	background-color: #667eea !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3) !important;
}

.cims-button-link,
.cims-btn-link {
	background-color: transparent !important;
	color: #3b82f6 !important;
	padding: 8px 12px !important;
}

.cims-button-link:hover,
.cims-btn-link:hover {
	background-color: #eff6ff !important;
	color: #2563eb !important;
}

.cims-button-block,
.cims-btn-block {
	width: 100% !important;
	display: flex !important;
}

.cims-button-text {
	display: inline-block;
}

.cims-button-loader {
	display: none;
}

/* Spinner */
.cims-spinner {
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid rgba(255, 255, 255, 0.3) !important;
	border-top-color: #ffffff !important;
	border-radius: 50% !important;
	animation: cims-spin 0.8s linear infinite !important;
}

@keyframes cims-spin {
	to { transform: rotate(360deg); }
}

/* ==========================================================================
   表單底部
   ========================================================================== */

.cims-form-submit {
	margin-bottom: 20px;
}

.cims-form-footer {
	text-align: center;
	padding-top: 20px;
	border-top: 1px solid #e5e7eb;
}

.cims-form-footer p {
	margin: 0 0 10px 0 !important;
	font-size: 14px !important;
	color: #6b7280 !important;
}

.cims-register-link a,
.cims-login-link a {
	color: #3b82f6 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.cims-register-link a:hover,
.cims-login-link a:hover {
	text-decoration: underline !important;
}

/* ==========================================================================
   已登入狀態
   ========================================================================== */

.cims-already-logged-in .cims-message {
	padding: 30px !important;
}

.cims-logged-in-actions {
	margin-top: 20px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

.cims-logged-in-actions .cims-button {
	min-width: 140px;
}

/* ==========================================================================
   個人資料頁面
   ========================================================================== */

.cims-profile-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

.cims-profile-wrapper * {
	box-sizing: border-box !important;
}

.cims-profile-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
}

.cims-profile-header {
	text-align: center !important;
	margin-bottom: 30px !important;
}

.cims-profile-header h2 {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
}

/* 佈局：Sidebar + Main */
.cims-profile-layout {
	display: grid !important;
	grid-template-columns: 300px 1fr !important;
	gap: 30px !important;
	align-items: start !important;
}

/* ==========================================================================
   Sidebar - 頭像和資訊
   ========================================================================== */

.cims-profile-sidebar {
	position: sticky !important;
	top: 20px !important;
}

.cims-profile-avatar-section {
	background: #ffffff !important;
	border-radius: 8px !important;
	padding: 24px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
	margin-bottom: 20px !important;
	text-align: center !important;
}

.cims-profile-avatar-wrapper {
	position: relative !important;
	width: 150px !important;
	height: 150px !important;
	margin: 0 auto 16px !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	border: 4px solid #f0f0f0 !important;
}

.cims-profile-avatar-wrapper:hover .cims-avatar-overlay {
	opacity: 1 !important;
}

.cims-avatar-large {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.cims-avatar-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: rgba(0, 0, 0, 0.7) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	transition: opacity 0.3s ease !important;
}

.cims-avatar-upload-btn {
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	padding: 8px 12px !important;
	text-align: center !important;
}

.cims-icon-camera::before {
	content: '📷' !important;
	display: block !important;
	font-size: 24px !important;
	margin-bottom: 4px !important;
}

.cims-profile-info-box {
	background: #ffffff !important;
	border-radius: 8px !important;
	padding: 24px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
}

.cims-profile-info-box h3 {
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	text-align: center !important;
	line-height: 1.4 !important;
}

.cims-profile-username {
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	color: #667eea !important;
	text-align: center !important;
	font-weight: 500 !important;
}

.cims-profile-company,
.cims-profile-industry {
	margin: 0 0 12px 0 !important;
	padding: 8px 12px !important;
	background: #f8f9fa !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	color: #495057 !important;
	text-align: center !important;
}

.cims-icon-building::before,
.cims-icon-tag::before {
	margin-right: 6px !important;
}

.cims-icon-building::before {
	content: '🏢' !important;
}

.cims-icon-tag::before {
	content: '🏷️' !important;
}

.cims-profile-meta {
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #e9ecef !important;
}

.cims-profile-meta p {
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	color: #6c757d !important;
	line-height: 1.6 !important;
}

.cims-profile-meta p:last-child {
	margin-bottom: 0 !important;
}

.cims-profile-meta strong {
	color: #495057 !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   Main Content - Tabs 和表單
   ========================================================================== */

.cims-profile-main {
	background: #ffffff !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
	overflow: hidden !important;
}

.cims-profile-tabs {
	display: flex !important;
	background: #f8f9fa !important;
	border-bottom: 2px solid #e9ecef !important;
}

.cims-tab-button {
	flex: 1 !important;
	padding: 16px 24px !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 3px solid transparent !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #6c757d !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	position: relative !important;
	bottom: -2px !important;
}

.cims-tab-button:hover {
	background: #ffffff !important;
	color: #495057 !important;
}

.cims-tab-button.active {
	background: #ffffff !important;
	color: #667eea !important;
	border-bottom-color: #667eea !important;
	font-weight: 600 !important;
}

.cims-tab-content {
	display: none !important;
	padding: 32px !important;
	animation: fadeIn 0.3s ease !important;
}

.cims-tab-content.active {
	display: block !important;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.cims-form-section {
	margin-bottom: 32px !important;
}

.cims-form-section:last-child {
	margin-bottom: 0 !important;
}

.cims-form-section-title {
	margin: 0 0 20px 0 !important;
	padding: 0 0 12px 0 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	border-bottom: 2px solid #f0f0f0 !important;
	line-height: 1.4 !important;
}

.cims-field-hint {
	display: block !important;
	margin-top: 6px !important;
	font-size: 13px !important;
	color: #6c757d !important;
	font-style: italic !important;
}

.cims-password-strength-meter {
	margin-top: 12px !important;
}

.cims-strength-bar {
	height: 4px !important;
	background: #e9ecef !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	margin-bottom: 8px !important;
}

.cims-strength-fill {
	height: 100% !important;
	width: 0 !important;
	transition: all 0.3s ease !important;
	border-radius: 2px !important;
}

.cims-strength-fill.weak {
	width: 33% !important;
	background: #dc3545 !important;
}

.cims-strength-fill.medium {
	width: 66% !important;
	background: #ffc107 !important;
}

.cims-strength-fill.strong {
	width: 100% !important;
	background: #28a745 !important;
}

.cims-strength-text {
	font-size: 13px !important;
	font-weight: 500 !important;
}

.cims-strength-text.weak {
	color: #dc3545 !important;
}

.cims-strength-text.medium {
	color: #ffc107 !important;
}

.cims-strength-text.strong {
	color: #28a745 !important;
}

.cims-form-actions {
	display: flex !important;
	gap: 12px !important;
	margin-top: 24px !important;
	padding-top: 24px !important;
	border-top: 1px solid #e9ecef !important;
}

/* ==========================================================================
   響應式設計
   ========================================================================== */

@media (max-width: 768px) {
	.cims-login-container,
	.cims-register-container {
		padding: 30px 20px;
		box-shadow: none;
		border-radius: 0;
	}

	.cims-login-wrapper .cims-login-header h2,
	.cims-register-wrapper .cims-register-header h2 {
		font-size: 24px !important;
	}

	.cims-form-row {
		flex-direction: column;
		gap: 0;
	}

	.cims-form-row-2 > .cims-form-group,
	.cims-form-row-3 > .cims-form-group {
		margin-bottom: 20px;
	}

	.cims-form-options {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.cims-logged-in-actions {
		flex-direction: column;
	}

	.cims-logged-in-actions .cims-button {
		width: 100%;
	}

	/* Profile 響應式 */
	.cims-profile-layout {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.cims-profile-sidebar {
		position: static !important;
	}

	.cims-tab-content {
		padding: 24px !important;
	}
}

@media (max-width: 480px) {
	.cims-login-wrapper,
	.cims-register-wrapper {
		padding: 10px 0;
	}

	.cims-login-container,
	.cims-register-container {
		padding: 20px 15px;
	}

	.cims-input {
		font-size: 16px !important; /* 防止 iOS Safari 自動縮放 */
	}
}

/* ==========================================================================
   與頁面編輯器相容性 (Elementor, WPBakery, etc.)
   ========================================================================== */

/* 確保在 Elementor 編輯器中正常顯示 */
.elementor-widget-container .cims-login-wrapper,
.elementor-widget-container .cims-register-wrapper,
.vc_column-inner .cims-login-wrapper,
.vc_column-inner .cims-register-wrapper {
	width: 100% !important;
}

/* 重置可能造成衝突的樣式 */
.cims-form * {
	box-sizing: border-box !important;
}

/* 確保按鈕不被主題覆蓋 */
.cims-button,
.cims-button:visited {
	box-shadow: none !important;
	text-shadow: none !important;
}

/* 確保連結樣式正確 */
.cims-form a:focus {
	outline: 2px solid #3b82f6;
	outline-offset: 2px;
}

/* ==========================================================================
   無障礙設計
   ========================================================================== */

.cims-form input:focus,
.cims-form select:focus,
.cims-form textarea:focus,
.cims-button:focus {
	outline: 2px solid #3b82f6 !important;
	outline-offset: 2px !important;
}

/* 螢幕閱讀器專用文字 */
.cims-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border-width: 0 !important;
}

/* ==========================================================================
   會員導航欄與登出按鈕
   ========================================================================== */

.cims-member-navbar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 16px 24px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
	transition: all 0.3s ease !important;
}

.cims-member-navbar:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.cims-member-info-nav {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	flex: 1 !important;
}

.cims-navbar-avatar {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 2px solid #e9ecef !important;
	flex-shrink: 0 !important;
	transition: all 0.3s ease !important;
}

.cims-member-navbar:hover .cims-navbar-avatar {
	border-color: #667eea !important;
	transform: scale(1.05) !important;
}

.cims-navbar-text {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	min-width: 0 !important;
}

.cims-navbar-text strong {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.cims-navbar-email {
	font-size: 13px !important;
	color: #6c757d !important;
	line-height: 1.3 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.cims-logout-button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 20px !important;
	background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3) !important;
	flex-shrink: 0 !important;
	position: relative !important;
	overflow: hidden !important;
}

.cims-logout-button::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
	transition: left 0.5s ease !important;
}

.cims-logout-button:hover {
	background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4) !important;
	color: #ffffff !important;
}

.cims-logout-button:hover::before {
	left: 100% !important;
}

.cims-logout-button:active {
	transform: translateY(0) !important;
	box-shadow: 0 2px 6px rgba(239, 68, 68, 0.3) !important;
}

.cims-logout-button .dashicons {
	font-size: 16px !important;
	width: 16px !important;
	height: 16px !important;
}

/* ==========================================================================
   會員中心 Dashboard
   ========================================================================== */

.cims-dashboard-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.cims-dashboard-wrapper * {
	box-sizing: border-box !important;
}

.cims-dashboard-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
}

/* 歡迎區塊 */
.cims-dashboard-welcome {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	color: #ffffff !important;
	padding: 40px !important;
	border-radius: 12px !important;
	margin-bottom: 30px !important;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3) !important;
}

.cims-welcome-content {
	flex: 1 !important;
}

.cims-welcome-title {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.3 !important;
}

.cims-welcome-subtitle {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	line-height: 1.5 !important;
}

.cims-welcome-avatar {
	flex-shrink: 0 !important;
	margin-left: 30px !important;
}

.cims-welcome-avatar img.cims-avatar-circle {
	width: 120px !important;
	height: 120px !important;
	border-radius: 50% !important;
	border: 4px solid rgba(255, 255, 255, 0.3) !important;
	object-fit: cover !important;
	display: block !important;
}

/* 統計卡片 */
.cims-dashboard-stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 24px !important;
	margin-bottom: 40px !important;
}

.cims-stat-card {
	display: flex !important;
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 24px !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-stat-card:hover {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
	transform: translateY(-4px) !important;
	border-color: #667eea !important;
}

.cims-stat-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	border-radius: 12px !important;
	margin-right: 20px !important;
	flex-shrink: 0 !important;
}

.cims-stat-icon .dashicons {
	color: #ffffff !important;
	font-size: 28px !important;
	width: 28px !important;
	height: 28px !important;
}

.cims-stat-content {
	flex: 1 !important;
	min-width: auto !important;
}

.cims-stat-label {
	margin: 0 0 8px 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #6c757d !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1.4 !important;
}

.cims-stat-value {
	margin: 0 0 12px 0 !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	overflow: visible !important;
}

.cims-stat-meta {
	margin-top: 12px !important;
}

/* 進度條 */
.cims-stat-progress {
	margin-top: 12px !important;
}

.cims-progress-bar {
	height: 8px !important;
	background: #e9ecef !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.cims-progress-fill {
	height: 100% !important;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 100%) !important;
	border-radius: 4px !important;
	transition: width 0.6s ease !important;
}

/* 徽章 */
.cims-badge {
	display: inline-block !important;
	padding: 6px 14px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1 !important;
}

.cims-badge-super_admin {
	background: #dc3545 !important;
	color: #ffffff !important;
}

.cims-badge-admin {
	background: #ffc107 !important;
	color: #000000 !important;
}

.cims-badge-member {
	background: #28a745 !important;
	color: #ffffff !important;
}

/* 快速連結區塊 */
.cims-dashboard-quick-links {
	margin-bottom: 40px !important;
}

.cims-section-title {
	margin: 0 0 24px 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
}

.cims-quick-links-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 24px !important;
}

.cims-quick-link-card {
	display: flex !important;
	align-items: center !important;
	background: #ffffff !important;
	border: 2px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 24px !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
}

.cims-quick-link-card:hover {
	border-color: #667eea !important;
	box-shadow: 0 8px 20px rgba(102, 126, 234, 0.15) !important;
	transform: translateY(-4px) !important;
}

.cims-link-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%) !important;
	border-radius: 12px !important;
	margin-right: 20px !important;
	flex-shrink: 0 !important;
	transition: all 0.3s ease !important;
}

.cims-quick-link-card:hover .cims-link-icon {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.cims-link-icon .dashicons {
	color: #667eea !important;
	font-size: 28px !important;
	width: 28px !important;
	height: 28px !important;
	transition: color 0.3s ease !important;
}

.cims-quick-link-card:hover .cims-link-icon .dashicons {
	color: #ffffff !important;
}

.cims-link-content {
	flex: 1 !important;
	min-width: 0 !important;
}

.cims-link-title {
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.4 !important;
	transition: color 0.3s ease !important;
}

.cims-quick-link-card:hover .cims-link-title {
	color: #667eea !important;
}

.cims-link-description {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	color: #6c757d !important;
	line-height: 1.5 !important;
}

/* 管理面板特殊樣式 */
.cims-quick-link-card.cims-admin-link {
	border-color: #dc3545 !important;
	background: linear-gradient(135deg, rgba(220, 53, 69, 0.03) 0%, rgba(220, 53, 69, 0.06) 100%) !important;
}

.cims-quick-link-card.cims-admin-link:hover {
	border-color: #dc3545 !important;
	box-shadow: 0 8px 20px rgba(220, 53, 69, 0.2) !important;
}

.cims-quick-link-card.cims-admin-link .cims-link-icon {
	background: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(220, 53, 69, 0.15) 100%) !important;
}

.cims-quick-link-card.cims-admin-link:hover .cims-link-icon {
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
}

.cims-quick-link-card.cims-admin-link .cims-link-icon .dashicons {
	color: #dc3545 !important;
}

.cims-quick-link-card.cims-admin-link:hover .cims-link-icon .dashicons {
	color: #ffffff !important;
}

.cims-quick-link-card.cims-admin-link:hover .cims-link-title {
	color: #dc3545 !important;
}

/* ==========================================================================
   會員名錄 Directory
   ========================================================================== */

.cims-directory-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.cims-directory-wrapper * {
	box-sizing: border-box !important;
}

.cims-directory-header {
	text-align: center !important;
	margin-bottom: 50px !important;
	padding: 40px 20px 0 20px !important;
	position: relative !important;
	animation: fadeInDown 0.6s ease-out !important;
}

.cims-directory-header::after {
	content: '' !important;
	display: block !important;
	width: 80px !important;
	height: 4px !important;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 100%) !important;
	margin: 20px auto 0 !important;
	border-radius: 2px !important;
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.cims-directory-header h2 {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 42px !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	line-height: 1.2 !important;
	letter-spacing: -0.5px !important;
}

.cims-directory-count {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	color: #6c757d !important;
	font-weight: 500 !important;
}

/* 篩選區域 */
.cims-directory-filters {
	max-width: 1200px !important;
	margin: 0 auto 50px !important;
	padding: 0 20px !important;
	animation: fadeIn 0.8s ease-out 0.2s backwards !important;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.cims-filter-form {
	background: #ffffff !important;
	border: 2px solid #e9ecef !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
}

.cims-filter-form:hover {
	border-color: #667eea !important;
	box-shadow: 0 6px 24px rgba(102, 126, 234, 0.15) !important;
}

.cims-filter-row {
	display: grid !important;
	grid-template-columns: 1fr auto auto auto !important;
	gap: 16px !important;
	align-items: center !important;
}

.cims-filter-search,
.cims-filter-industry {
	flex: 1 !important;
}

.cims-search-input,
.cims-industry-select {
	width: 100% !important;
}

.cims-filter-submit .cims-button,
.cims-filter-reset .cims-button {
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.cims-filter-submit .dashicons,
.cims-filter-reset .dashicons {
	font-size: 18px !important;
	width: 18px !important;
	height: 18px !important;
}

.cims-directory-grid {
	display: grid !important;
	gap: 32px !important;
	padding: 0 20px 40px 20px !important;
	margin-bottom: 40px !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	animation: fadeInUp 0.6s ease-out !important;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.cims-directory-grid.cims-columns-2 {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
}

.cims-directory-grid.cims-columns-3 {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
}

.cims-directory-grid.cims-columns-4 {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
}

.cims-directory-card {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 32px 24px !important;
	text-align: center !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
	position: relative !important;
	overflow: hidden !important;
	animation: cardFadeIn 0.5s ease-out backwards !important;
}

@keyframes cardFadeIn {
	from {
		opacity: 0;
		transform: translateY(30px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.cims-directory-card:nth-child(1) { animation-delay: 0.1s !important; }
.cims-directory-card:nth-child(2) { animation-delay: 0.15s !important; }
.cims-directory-card:nth-child(3) { animation-delay: 0.2s !important; }
.cims-directory-card:nth-child(4) { animation-delay: 0.25s !important; }
.cims-directory-card:nth-child(5) { animation-delay: 0.3s !important; }
.cims-directory-card:nth-child(6) { animation-delay: 0.35s !important; }
.cims-directory-card:nth-child(7) { animation-delay: 0.4s !important; }
.cims-directory-card:nth-child(8) { animation-delay: 0.45s !important; }
.cims-directory-card:nth-child(9) { animation-delay: 0.5s !important; }
.cims-directory-card:nth-child(10) { animation-delay: 0.55s !important; }
.cims-directory-card:nth-child(11) { animation-delay: 0.6s !important; }
.cims-directory-card:nth-child(12) { animation-delay: 0.65s !important; }

.cims-directory-card::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 100%) !important;
	transform: scaleX(0) !important;
	transform-origin: left !important;
	transition: transform 0.3s ease !important;
}

.cims-directory-card:hover {
	box-shadow: 0 12px 28px rgba(102, 126, 234, 0.25), 0 10px 10px rgba(0, 0, 0, 0.08) !important;
	transform: translateY(-8px) scale(1.02) !important;
	border-color: #667eea !important;
}

.cims-directory-card:hover::before {
	transform: scaleX(1) !important;
}

/* 頂部標籤容器（方案 A：並排顯示） */
.cims-card-badges {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	padding: 12px !important;
	z-index: 10 !important;
	pointer-events: none !important;
}

/* 會員代表徽章（左側） */
.cims-representative-badge {
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
	color: #ffffff !important;
	padding: 6px 14px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3) !important;
	pointer-events: auto !important;
	animation: badgeFadeIn 0.5s ease !important;
}

.cims-representative-badge span {
	display: inline-block !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* 商業會職稱徽章（右側） */
.cims-chamber-position-badge {
	color: #ffffff !important;
	padding: 6px 14px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
	pointer-events: auto !important;
	animation: badgeFadeIn 0.5s ease 0.1s both !important;
	max-width: 120px !important;
	text-overflow: ellipsis !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

.cims-chamber-position-badge span {
	display: inline-block !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* 徽章淡入動畫 */
@keyframes badgeFadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px) scale(0.9);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* 會員代表卡片特殊邊框 */
.cims-directory-card.cims-is-representative {
	border-color: #dc3545 !important;
	box-shadow: 0 2px 8px rgba(220, 53, 69, 0.15), 0 4px 16px rgba(220, 53, 69, 0.08) !important;
}

.cims-directory-card.cims-is-representative::before {
	background: linear-gradient(90deg, #dc3545 0%, #c82333 100%) !important;
	transform: scaleX(1) !important;
}

.cims-directory-card.cims-is-representative:hover {
	border-color: #c82333 !important;
	box-shadow: 0 4px 16px rgba(220, 53, 69, 0.2), 0 8px 32px rgba(220, 53, 69, 0.12) !important;
}

.cims-member-avatar {
	margin: 0 auto 20px !important;
	width: 120px !important;
	height: 120px !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	border: 4px solid #f0f0f0 !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.cims-directory-card:hover .cims-member-avatar {
	border-color: #667eea !important;
	transform: scale(1.05) !important;
	box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3) !important;
}

.cims-member-avatar img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.cims-default-avatar {
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.cims-default-avatar span {
	font-size: 40px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

.cims-member-info {
	text-align: center !important;
}

.cims-member-name {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
	transition: color 0.3s ease !important;
}

.cims-directory-card:hover .cims-member-name {
	color: #667eea !important;
}

.cims-member-company {
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	color: #6c757d !important;
	line-height: 1.5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
}

.cims-member-industry {
	margin: 0 0 16px 0 !important;
	padding: 6px 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #667eea !important;
	background: rgba(102, 126, 234, 0.1) !important;
	border-radius: 20px !important;
	line-height: 1.5 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	transition: all 0.3s ease !important;
}

.cims-directory-card:hover .cims-member-industry {
	background: rgba(102, 126, 234, 0.2) !important;
	transform: scale(1.05) !important;
}

.cims-member-description {
	margin: 12px 0 16px 0 !important;
	padding: 12px 0 0 0 !important;
	font-size: 13px !important;
	color: #6c757d !important;
	line-height: 1.6 !important;
	border-top: 1px solid #f0f0f0 !important;
}

.cims-member-contact {
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f0f0f0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.cims-contact-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 10px 16px !important;
	background: #f8f9fa !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #495057 !important;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	position: relative !important;
	overflow: hidden !important;
}

.cims-contact-item::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
	transition: left 0.5s ease !important;
}

.cims-contact-item:hover {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	color: #ffffff !important;
	border-color: #667eea !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4) !important;
}

.cims-contact-item:hover::before {
	left: 100% !important;
}

.cims-contact-item:active {
	transform: translateY(0) !important;
}

.cims-contact-item .dashicons {
	font-size: 16px !important;
	width: 16px !important;
	height: 16px !important;
}

.cims-contact-text {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.cims-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.cims-icon-building::before,
.cims-icon-tag::before {
	font-size: 14px !important;
}

/* 空狀態 */
.cims-directory-empty {
	text-align: center !important;
	padding: 80px 20px !important;
	grid-column: 1 / -1 !important;
}

.cims-empty-icon {
	margin-bottom: 20px !important;
}

.cims-empty-icon .dashicons {
	font-size: 64px !important;
	width: 64px !important;
	height: 64px !important;
	color: #cbd5e0 !important;
}

.cims-directory-empty h3 {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	color: #495057 !important;
}

.cims-directory-empty p {
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	color: #6c757d !important;
}

.cims-no-members {
	text-align: center !important;
	padding: 60px 20px !important;
	color: #6c757d !important;
	font-size: 16px !important;
	grid-column: 1 / -1 !important;
}

/* 分頁 */
.cims-directory-pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin: 40px 20px 20px !important;
	flex-wrap: wrap !important;
}

.cims-pagination-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 16px !important;
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #495057 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.cims-pagination-link:hover {
	background: #667eea !important;
	border-color: #667eea !important;
	color: #ffffff !important;
}

.cims-pagination-link .dashicons {
	font-size: 18px !important;
	width: 18px !important;
	height: 18px !important;
}

.cims-pagination-numbers {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.cims-pagination-number {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	padding: 0 12px !important;
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #495057 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.cims-pagination-number:hover {
	background: #f8f9fa !important;
	border-color: #667eea !important;
	color: #667eea !important;
}

.cims-pagination-current {
	background: #667eea !important;
	border-color: #667eea !important;
	color: #ffffff !important;
	cursor: default !important;
}

.cims-pagination-current:hover {
	background: #667eea !important;
	border-color: #667eea !important;
	color: #ffffff !important;
}

.cims-pagination-ellipsis {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	font-size: 14px !important;
	color: #6c757d !important;
}

/* ==========================================================================
   管理面板 Admin Panel
   ========================================================================== */

.cims-admin-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

.cims-admin-wrapper * {
	box-sizing: border-box !important;
}

.cims-admin-container {
	max-width: 1400px !important;
	margin: 0 auto !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
	padding: 40px !important;
}

.cims-admin-container h2 {
	margin: 0 0 30px 0 !important;
	padding: 0 0 20px 0 !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	border-bottom: 2px solid #f0f0f0 !important;
	line-height: 1.3 !important;
}

.cims-admin-container h3 {
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.4 !important;
}

.cims-admin-stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 24px !important;
	margin-bottom: 40px !important;
}

.cims-admin-members {
	margin-top: 30px !important;
}

.cims-admin-table {
	width: 100% !important;
	border-collapse: collapse !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.cims-admin-table thead {
	background: #f8f9fa !important;
}

.cims-admin-table thead tr {
	border-bottom: 2px solid #e9ecef !important;
}

.cims-admin-table th {
	padding: 16px !important;
	text-align: left !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #495057 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.cims-admin-table tbody tr {
	border-bottom: 1px solid #e9ecef !important;
	transition: background-color 0.2s ease !important;
}

.cims-admin-table tbody tr:hover {
	background-color: #f8f9fa !important;
}

.cims-admin-table tbody tr:last-child {
	border-bottom: none !important;
}

.cims-admin-table td {
	padding: 16px !important;
	font-size: 14px !important;
	color: #495057 !important;
	vertical-align: middle !important;
}

.cims-status-active {
	display: inline-block !important;
	padding: 4px 12px !important;
	background: #d4edda !important;
	color: #155724 !important;
	border-radius: 12px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

.cims-status-pending {
	display: inline-block !important;
	padding: 4px 12px !important;
	background: #fff3cd !important;
	color: #856404 !important;
	border-radius: 12px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

.cims-status-inactive {
	display: inline-block !important;
	padding: 4px 12px !important;
	background: #f8d7da !important;
	color: #721c24 !important;
	border-radius: 12px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   留言板 Message Board
   ========================================================================== */

.cims-message-board-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px !important;
	box-sizing: border-box !important;
}

.cims-message-board-wrapper * {
	box-sizing: border-box !important;
}

.cims-message-board-container {
	max-width: 900px !important;
	margin: 0 auto !important;
}

.cims-message-board-container h2 {
	margin: 0 0 30px 0 !important;
	padding: 0 !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	text-align: center !important;
	line-height: 1.3 !important;
}

.cims-message-board-container h3 {
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.4 !important;
}

.cims-message-form {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 8px !important;
	padding: 30px !important;
	margin-bottom: 30px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-message-form h3 {
	margin: 0 0 20px 0 !important;
}

.cims-message-form .cims-form-group {
	margin-bottom: 20px !important;
}

.cims-message-form .cims-form-group:last-child {
	margin-bottom: 0 !important;
}

.cims-message-form textarea {
	width: 100% !important;
	min-height: 120px !important;
	padding: 12px 16px !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-family: inherit !important;
	color: #495057 !important;
	line-height: 1.6 !important;
	resize: vertical !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.cims-message-form textarea:focus {
	border-color: #667eea !important;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
	outline: none !important;
}

.cims-message-form textarea::placeholder {
	color: #adb5bd !important;
}

.cims-message-login-notice {
	background: #fff3cd !important;
	border: 1px solid #ffeeba !important;
	border-radius: 8px !important;
	padding: 20px !important;
	margin-bottom: 30px !important;
	text-align: center !important;
}

.cims-message-login-notice p {
	margin: 0 !important;
	color: #856404 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
}

.cims-message-list {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 8px !important;
	padding: 30px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-messages {
	margin-top: 20px !important;
}

.cims-no-messages {
	text-align: center !important;
	padding: 40px 20px !important;
	color: #6c757d !important;
	font-size: 15px !important;
	font-style: italic !important;
}

/* ==========================================================================
   響應式設計 - Dashboard, Directory, Admin, Message Board
   ========================================================================== */

@media (max-width: 768px) {
	/* Dashboard 響應式 */
	.cims-dashboard-welcome {
		flex-direction: column !important;
		text-align: center !important;
		padding: 30px 24px !important;
	}

	.cims-welcome-avatar {
		margin-left: 0 !important;
		margin-top: 20px !important;
	}

	.cims-welcome-title {
		font-size: 26px !important;
	}

	.cims-dashboard-stats {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.cims-quick-links-grid {
		grid-template-columns: 1fr !important;
	}

	/* Admin Panel 響應式 */
	.cims-dashboard-container,
	.cims-admin-container {
		padding: 24px !important;
	}

	.cims-dashboard-container h2,
	.cims-admin-container h2 {
		font-size: 24px !important;
	}

	.cims-admin-stats {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	/* Directory 響應式 */
	.cims-directory-header h2 {
		font-size: 26px !important;
	}

	.cims-filter-row {
		grid-template-columns: 1fr !important;
	}

	.cims-filter-submit .cims-button,
	.cims-filter-reset .cims-button {
		width: 100% !important;
		justify-content: center !important;
	}

	.cims-directory-grid {
		grid-template-columns: 1fr !important;
		padding: 0 !important;
	}

	.cims-directory-pagination {
		flex-direction: column !important;
		gap: 12px !important;
	}

	.cims-pagination-numbers {
		flex-wrap: wrap !important;
		justify-content: center !important;
	}

	/* Admin Table 響應式 */
	.cims-admin-table {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.cims-admin-table thead {
		display: none !important;
	}

	.cims-admin-table tbody,
	.cims-admin-table tr,
	.cims-admin-table td {
		display: block !important;
		width: 100% !important;
	}

	.cims-admin-table tr {
		margin-bottom: 16px !important;
		border: 1px solid #e9ecef !important;
		border-radius: 8px !important;
		padding: 16px !important;
	}

	.cims-admin-table td {
		padding: 8px 0 !important;
		text-align: right !important;
		position: relative !important;
		padding-left: 50% !important;
	}

	.cims-admin-table td::before {
		content: attr(data-label) !important;
		position: absolute !important;
		left: 0 !important;
		width: 45% !important;
		padding-right: 10px !important;
		font-weight: 600 !important;
		text-align: left !important;
		color: #495057 !important;
	}

	/* Message Board 響應式 */
	.cims-message-board-container h2 {
		font-size: 26px !important;
	}

	.cims-message-form {
		padding: 20px !important;
	}
}

@media (max-width: 480px) {
	/* Dashboard 小螢幕 */
	.cims-dashboard-welcome {
		padding: 20px 16px !important;
	}

	.cims-welcome-title {
		font-size: 22px !important;
	}

	.cims-welcome-subtitle {
		font-size: 14px !important;
	}

	.cims-welcome-avatar img.cims-avatar-circle {
		width: 90px !important;
		height: 90px !important;
	}

	.cims-stat-card {
		flex-direction: column !important;
		text-align: center !important;
	}

	.cims-stat-icon {
		margin-right: 0 !important;
		margin-bottom: 16px !important;
	}

	.cims-stat-value {
		font-size: 28px !important;
	}

	.cims-quick-link-card {
		flex-direction: column !important;
		text-align: center !important;
	}

	.cims-link-icon {
		margin-right: 0 !important;
		margin-bottom: 16px !important;
	}

	/* 其他區塊小螢幕 */
	.cims-dashboard-container,
	.cims-admin-container,
	.cims-message-form,
	.cims-message-list {
		padding: 16px !important;
	}

	.cims-dashboard-container h2,
	.cims-admin-container h2 {
		font-size: 20px !important;
		margin-bottom: 20px !important;
	}

	.cims-section-title {
		font-size: 20px !important;
	}

	.cims-directory-header h2,
	.cims-message-board-container h2 {
		font-size: 22px !important;
	}

	.cims-member-avatar {
		width: 80px !important;
		height: 80px !important;
	}

	.cims-default-avatar span {
		font-size: 32px !important;
	}
}

/* ==========================================================================
   討論區 Discussions
   ========================================================================== */

/* 討論區容器 */
.cims-discussions-wrapper,
.cims-discussion-form-wrapper,
.cims-discussion-single-wrapper {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.cims-discussions-wrapper *,
.cims-discussion-form-wrapper *,
.cims-discussion-single-wrapper * {
	box-sizing: border-box !important;
}

.cims-discussions-container,
.cims-discussion-form-container,
.cims-discussion-single-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
}

/* 頁面標題 */
.cims-discussions-header {
	text-align: center !important;
	margin-bottom: 40px !important;
}

.cims-discussions-header h2 {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.2 !important;
}

.cims-discussions-count {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	color: #6c757d !important;
	font-weight: 500 !important;
}

/* 搜尋區域 */
.cims-discussions-search {
	margin-bottom: 24px !important;
}

.cims-search-form {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}

.cims-search-input {
	flex: 1 !important;
	min-width: 250px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	border: 2px solid #e9ecef !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
}

.cims-search-input:focus {
	border-color: #667eea !important;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
	outline: none !important;
}

/* 篩選區域 */
.cims-discussions-filters {
	margin-bottom: 24px !important;
}

.cims-filter-form {
	display: flex !important;
	gap: 12px !important;
	align-items: flex-end !important;
	flex-wrap: wrap !important;
	background: #f8f9fa !important;
	padding: 20px !important;
	border-radius: 12px !important;
	border: 1px solid #e9ecef !important;
}

.cims-filter-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.cims-filter-group.cims-filter-search {
	flex: 1 !important;
	min-width: 250px !important;
}

.cims-filter-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #495057 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cims-filter-select {
	padding: 10px 14px !important;
	font-size: 14px !important;
	border: 2px solid #e9ecef !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	color: #495057 !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
	min-width: 200px !important;
}

.cims-filter-select:focus {
	border-color: #667eea !important;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
	outline: none !important;
}

.cims-filter-actions {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
}

/* 操作按鈕區域 */
.cims-discussions-actions {
	margin-bottom: 30px !important;
	text-align: right !important;
}

/* 討論列表表格 */
.cims-discussions-list {
	margin-bottom: 40px !important;
}

.cims-discussions-table {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-discussions-table-header {
	display: grid !important;
	grid-template-columns: 1fr 150px 100px 100px 150px !important;
	gap: 16px !important;
	background: #f8f9fa !important;
	padding: 16px 20px !important;
	border-bottom: 2px solid #e9ecef !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #495057 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* 管理員模式時的表頭（增加操作欄） */
.cims-discussions-table-header:has(.cims-discussion-actions-col) {
	grid-template-columns: 1fr 150px 100px 100px 150px 180px !important;
}

.cims-discussion-row {
	display: grid !important;
	grid-template-columns: 1fr 150px 100px 100px 150px !important;
	gap: 16px !important;
	padding: 20px !important;
	border-bottom: 1px solid #e9ecef !important;
	transition: all 0.3s ease !important;
	align-items: center !important;
}

/* 管理員模式時的列（增加操作欄） */
.cims-discussion-row:has(.cims-discussion-actions-col) {
	grid-template-columns: 1fr 150px 100px 100px 150px 180px !important;
}

.cims-discussion-row:last-child {
	border-bottom: none !important;
}

.cims-discussion-row:hover {
	background: #f8f9fa !important;
}

.cims-discussion-row.cims-discussion-pinned {
	background: #fffbeb !important;
}

.cims-discussion-row.cims-discussion-pinned:hover {
	background: #fef3c7 !important;
}

.cims-discussion-row.cims-discussion-locked {
	opacity: 0.7 !important;
}

/* 討論標題欄 */
.cims-discussion-title-col {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.cims-discussion-title-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
}

.cims-discussion-link {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
}

.cims-discussion-link:hover {
	color: #667eea !important;
}

/* 徽章 */
.cims-discussion-badge {
	display: inline-block !important;
	padding: 4px 10px !important;
	border-radius: 12px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1 !important;
}

.cims-badge-pinned {
	background: #fef3c7 !important;
	color: #92400e !important;
}

.cims-badge-locked {
	background: #fee2e2 !important;
	color: #991b1b !important;
}

/* 分類徽章 */
.cims-discussion-category {
	display: inline-block !important;
	padding: 5px 12px !important;
	border-radius: 16px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #ffffff !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
	transition: all 0.3s ease !important;
}

.cims-discussion-category:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* 作者、統計、日期欄 */
.cims-discussion-author-col,
.cims-discussion-stats-col,
.cims-discussion-date-col {
	font-size: 14px !important;
	color: #6c757d !important;
}

.cims-author-name {
	font-weight: 500 !important;
	color: #495057 !important;
}

.cims-stat-number {
	font-weight: 600 !important;
	color: #667eea !important;
}

.cims-discussion-date {
	font-size: 13px !important;
}

/* 操作欄 */
.cims-discussion-actions-col {
	font-size: 13px !important;
}

.cims-discussion-quick-actions {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
}

.cims-action-link {
	font-size: 12px !important;
	color: #667eea !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	transition: color 0.3s ease !important;
	white-space: nowrap !important;
}

.cims-action-link:hover {
	color: #4c5fd7 !important;
	text-decoration: underline !important;
}

.cims-action-link.cims-action-pin,
.cims-action-link.cims-action-unpin {
	color: #f59e0b !important;
}

.cims-action-link.cims-action-pin:hover,
.cims-action-link.cims-action-unpin:hover {
	color: #d97706 !important;
}

.cims-action-link.cims-action-lock {
	color: #ef4444 !important;
}

.cims-action-link.cims-action-lock:hover {
	color: #dc2626 !important;
}

.cims-action-link.cims-action-unlock {
	color: #10b981 !important;
}

.cims-action-link.cims-action-unlock:hover {
	color: #059669 !important;
}

.cims-action-link.cims-action-edit {
	color: #667eea !important;
}

.cims-action-link.cims-action-edit:hover {
	color: #4c5fd7 !important;
}

.cims-action-link.cims-action-delete {
	color: #ef4444 !important;
}

.cims-action-link.cims-action-delete:hover {
	color: #dc2626 !important;
}

/* 空狀態 */
.cims-no-discussions {
	text-align: center !important;
	padding: 80px 20px !important;
	color: #6c757d !important;
	font-size: 16px !important;
}

/* 分頁 */
.cims-pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-top: 30px !important;
}

.cims-pagination-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 20px !important;
	background: #ffffff !important;
	border: 2px solid #e9ecef !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #495057 !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}

.cims-pagination-link:hover {
	background: #667eea !important;
	border-color: #667eea !important;
	color: #ffffff !important;
}

.cims-pagination-info {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #6c757d !important;
}

/* 討論表單 */
.cims-form-header {
	text-align: center !important;
	margin-bottom: 30px !important;
}

.cims-form-header h2 {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
}

.cims-form-description {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	color: #6c757d !important;
	font-weight: 400 !important;
}

.cims-discussion-form {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 32px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-form-label {
	display: block !important;
	margin-bottom: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #374151 !important;
}

.cims-required {
	color: #ef4444 !important;
	margin-left: 4px !important;
}

.cims-form-input,
.cims-form-textarea {
	width: 100% !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #1f2937 !important;
	background-color: #ffffff !important;
	border: 2px solid #d1d5db !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	font-family: inherit !important;
}

.cims-form-input:focus,
.cims-form-textarea:focus {
	outline: none !important;
	border-color: #667eea !important;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
}

.cims-form-textarea {
	resize: vertical !important;
	min-height: 120px !important;
}

.cims-field-description {
	display: block !important;
	margin-top: 6px !important;
	font-size: 13px !important;
	color: #6c757d !important;
	font-style: italic !important;
}

/* 單一討論頁面 */
.cims-discussion-back {
	margin-bottom: 24px !important;
}

.cims-discussion-main {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 32px !important;
	margin-bottom: 32px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-discussion-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	margin-bottom: 16px !important;
	padding-bottom: 16px !important;
	border-bottom: 2px solid #f0f0f0 !important;
}

.cims-discussion-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
}

.cims-discussion-admin-actions {
	display: flex !important;
	gap: 12px !important;
	flex-shrink: 0 !important;
}

.cims-discussion-meta {
	display: flex !important;
	gap: 20px !important;
	flex-wrap: wrap !important;
	font-size: 14px !important;
	color: #6c757d !important;
	margin-bottom: 24px !important;
}

.cims-discussion-author,
.cims-discussion-date,
.cims-discussion-stats {
	font-weight: 500 !important;
}

.cims-discussion-content {
	font-size: 16px !important;
	line-height: 1.8 !important;
	color: #374151 !important;
}

.cims-discussion-content p {
	margin: 0 0 16px 0 !important;
}

.cims-discussion-content p:last-child {
	margin-bottom: 0 !important;
}

/* 回覆區域 */
.cims-discussion-replies {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 32px !important;
	margin-bottom: 32px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-replies-title {
	margin: 0 0 24px 0 !important;
	padding: 0 0 16px 0 !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	border-bottom: 2px solid #f0f0f0 !important;
}

.cims-replies-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
}

.cims-reply-item {
	background: #f8f9fa !important;
	border: 1px solid #e9ecef !important;
	border-radius: 8px !important;
	padding: 20px !important;
	transition: all 0.3s ease !important;
}

.cims-reply-item:hover {
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.cims-reply-author {
	margin-bottom: 12px !important;
}

.cims-reply-author-name {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

.cims-reply-content {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: #374151 !important;
	margin-bottom: 12px !important;
}

.cims-reply-meta {
	display: flex !important;
	gap: 12px !important;
	font-size: 13px !important;
	color: #6c757d !important;
}

.cims-no-replies {
	text-align: center !important;
	padding: 40px 20px !important;
	color: #6c757d !important;
	font-size: 15px !important;
	font-style: italic !important;
}

/* 回覆表單 */
.cims-reply-form-wrapper {
	background: #ffffff !important;
	border: 1px solid #e9ecef !important;
	border-radius: 12px !important;
	padding: 32px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.cims-reply-form-wrapper h3 {
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

.cims-reply-form {
	margin: 0 !important;
}

/* 連結樣式 */
.cims-link {
	color: #667eea !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	transition: color 0.3s ease !important;
}

.cims-link:hover {
	color: #5568d3 !important;
	text-decoration: underline !important;
}

/* 響應式設計 - 討論區 */
@media (max-width: 768px) {
	.cims-discussions-table-header {
		display: none !important;
	}

	.cims-discussion-row {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		padding: 16px !important;
	}

	.cims-discussion-title-col {
		order: 1 !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.cims-discussion-meta {
		order: 2 !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		font-size: 12px !important;
	}

	.cims-discussion-header {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.cims-discussion-admin-actions {
		width: 100% !important;
		justify-content: flex-start !important;
	}

	.cims-discussion-title {
		font-size: 22px !important;
	}

	.cims-discussion-meta {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.cims-search-form {
		flex-direction: column !important;
	}

	.cims-search-input {
		width: 100% !important;
	}

	.cims-discussions-actions {
		text-align: center !important;
	}

	.cims-discussion-form {
		padding: 24px !important;
	}

	.cims-discussion-main,
	.cims-discussion-replies,
	.cims-reply-form-wrapper {
		padding: 24px !important;
	}

	.cims-pagination {
		flex-direction: column !important;
		gap: 12px !important;
	}
}

@media (max-width: 480px) {
	.cims-discussions-header h2 {
		font-size: 26px !important;
	}

	.cims-discussion-title {
		font-size: 20px !important;
	}

	.cims-discussion-link {
		font-size: 15px !important;
	}

	.cims-discussion-form,
	.cims-discussion-main,
	.cims-discussion-replies,
	.cims-reply-form-wrapper {
		padding: 16px !important;
	}

	.cims-form-header h2 {
		font-size: 24px !important;
	}

	.cims-replies-title {
		font-size: 20px !important;
	}
}
