/* 会员管理模块统一 hero（F7，与 service-desk 同系） */
.member-hub-page {
	--mhub-primary: #0f4c81;
	--mhub-border: #e8edf3;
	--mhub-muted: #64748b;
	padding-bottom: 16px;
}
.mhub-hero {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	padding: 14px 16px;
	background: linear-gradient(135deg, #f8fafc 0%, #eef4fb 100%);
	border: 1px solid var(--mhub-border);
	border-radius: 10px;
}
.mhub-hero h2 { margin: 0 0 4px; font-size: 18px; font-weight: 600; color: #1e293b; }
.mhub-hero p { margin: 0; font-size: 13px; color: var(--mhub-muted); max-width: 720px; line-height: 1.55; }
.mhub-hero-links { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* 列表操作列：避免 primary 白底按钮在表格中不可见 */
.member-hub-page .mhub-op-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
	padding: 2px 0;
}
.member-hub-page .mhub-op-btns .layui-btn-xs {
	margin: 0;
	border: none;
	color: #fff !important;
}
.member-hub-page .mhub-op-btns .layui-btn-xs:hover {
	opacity: 0.92;
}

/* 入会驳回：快捷原因 */
.mhub-reject-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mhub-reject-presets .layui-btn {
	margin: 0;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1.4;
	height: auto;
	padding: 6px 10px;
	white-space: normal;
	text-align: left;
}
.mhub-reject-dialog .layui-textarea {
	min-height: 96px;
	resize: vertical;
}

/* 会议新建向导（X-1） */
.meeting-wizard-page {
	--wiz-accent: #2563eb;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
/* 修复 gougu.css .layui-btn.side-a{color:#fff} 导致 primary 按钮文字不可见 */
.meeting-wizard-page .layui-btn.layui-btn-primary,
.meeting-wizard-page .mhub-hero-links .layui-btn {
	color: #334155 !important;
	background: #fff !important;
	border: 1px solid #d1d5db !important;
}
.meeting-wizard-page .layui-btn.layui-btn-primary:hover,
.meeting-wizard-page .mhub-hero-links .layui-btn:hover {
	color: var(--mhub-primary) !important;
	border-color: #93c5fd !important;
	background: #eff6ff !important;
}
.meeting-wizard-page .layui-btn.layui-btn-normal {
	color: #fff !important;
}
.meeting-wizard-page .wiz-shell {
	background: #fff;
	border: 1px solid var(--mhub-border);
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(15, 76, 129, 0.06);
	overflow: visible;
}
.meeting-wizard-page .wiz-steps {
	display: flex;
	align-items: center;
	gap: 0;
	padding: 18px 24px;
	background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
	border-bottom: 1px solid var(--mhub-border);
}
.meeting-wizard-page .wiz-step {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--mhub-muted);
	white-space: nowrap;
}
.meeting-wizard-page .wiz-step em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	font-style: normal;
	font-size: 12px;
	font-weight: 600;
	background: #e2e8f0;
	color: #64748b;
	transition: 0.2s;
}
.meeting-wizard-page .wiz-step.active {
	color: #1e293b;
	font-weight: 600;
}
.meeting-wizard-page .wiz-step.active em {
	background: var(--mhub-primary);
	color: #fff;
}
.meeting-wizard-page .wiz-step-line {
	flex: 1;
	min-width: 24px;
	height: 2px;
	margin: 0 12px;
	background: linear-gradient(90deg, #cbd5e1 0%, #e2e8f0 100%);
	border-radius: 1px;
}
.meeting-wizard-page .wiz-body {
	padding: 24px;
}
.meeting-wizard-page .wiz-section-title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	color: #1e293b;
}
.meeting-wizard-page .wiz-section-desc {
	margin: 0 0 16px;
	font-size: 13px;
	color: var(--mhub-muted);
	line-height: 1.5;
}
.meeting-wizard-page .wiz-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 640px) {
	.meeting-wizard-page .wiz-cards {
		grid-template-columns: 1fr;
	}
}
.meeting-wizard-page .wiz-card {
	position: relative;
	border: 2px solid #e8edf3;
	border-radius: 12px;
	padding: 18px 18px 16px;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s, background 0.2s;
	background: #fff;
	outline: none;
}
.meeting-wizard-page .wiz-card:hover {
	border-color: #93c5fd;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.08);
	transform: translateY(-1px);
}
.meeting-wizard-page .wiz-card:focus-visible {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25);
}
.meeting-wizard-page .wiz-card.active {
	border-color: var(--wiz-accent);
	background: linear-gradient(145deg, #f8fbff 0%, #eff6ff 100%);
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.12);
}
.meeting-wizard-page .wiz-card.active::after {
	content: '✓';
	position: absolute;
	top: 12px;
	right: 12px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wiz-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}
.meeting-wizard-page .wiz-card-head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 10px;
}
.meeting-wizard-page .wiz-card-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}
.meeting-wizard-page .wiz-card[data-type="academic"] .wiz-card-icon {
	background: #ede9fe;
	color: #7c3aed;
}
.meeting-wizard-page .wiz-card[data-type="standard"] .wiz-card-icon {
	background: #dbeafe;
	color: #2563eb;
}
.meeting-wizard-page .wiz-card[data-type="governance"] .wiz-card-icon {
	background: #ffedd5;
	color: #ea580c;
}
.meeting-wizard-page .wiz-card[data-type="activity"] .wiz-card-icon {
	background: #d1fae5;
	color: #059669;
}
.meeting-wizard-page .wiz-card h3 {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.3;
}
.meeting-wizard-page .wiz-card .wiz-card-sub {
	margin: 0;
	font-size: 12px;
	color: var(--mhub-muted);
	line-height: 1.45;
}
.meeting-wizard-page .wiz-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}
.meeting-wizard-page .wiz-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1.5;
	background: #f1f5f9;
	color: #475569;
}
.meeting-wizard-page .wiz-card.active .wiz-tag {
	background: rgba(37, 99, 235, 0.1);
	color: #1d4ed8;
}
.meeting-wizard-page .wiz-panel {
	margin-top: 20px;
	padding: 18px 20px;
	background: #f8fafc;
	border: 1px solid #e8edf3;
	border-radius: 10px;
}
.meeting-wizard-page .wiz-panel-title {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 600;
	color: #334155;
}
.meeting-wizard-page .wiz-panel .layui-form-item:last-child {
	margin-bottom: 0;
}
.meeting-wizard-page .wiz-panel .layui-form-label {
	width: 88px;
	padding: 9px 0;
}
.meeting-wizard-page .wiz-panel .layui-input-block {
	margin-left: 104px;
}
.meeting-wizard-page .wiz-panel-subtitle {
	margin: 18px 0 10px;
	padding-top: 14px;
	border-top: 1px dashed #dbeafe;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}
.meeting-wizard-page .wiz-panel--reg {
	--wiz-reg-accent: var(--wiz-accent, #2563eb);
	--wiz-reg-pf-cols: minmax(0, 1fr) 44px 44px 44px 32px;
	padding-bottom: 4px;
}
.meeting-wizard-page .wiz-reg-head .wiz-section-desc { margin-bottom: 0; }
.meeting-wizard-page .wiz-reg-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 14px 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-wizard-page .wiz-reg-tab {
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	color: #64748b;
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.3;
	transition: border-color .15s, color .15s, background .15s;
}
.meeting-wizard-page .wiz-reg-tab:hover { border-color: var(--wiz-reg-accent); color: var(--wiz-reg-accent); }
.meeting-wizard-page .wiz-reg-tab.is-active {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: var(--wiz-reg-accent);
}
.meeting-wizard-page .wiz-reg-pane { display: none; }
.meeting-wizard-page .wiz-reg-pane.is-active { display: block; }
.meeting-wizard-page .wiz-reg-pipeline-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 14px;
}
.meeting-wizard-page .wiz-reg-field label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	margin-bottom: 6px;
}
.meeting-wizard-page .wiz-reg-field .layui-input { height: 36px; font-size: 13px; }
.meeting-wizard-page .wiz-reg-field--switch { grid-column: 1 / -1; }
.meeting-wizard-page .wiz-reg-hint {
	margin: 6px 0 0;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.45;
}
.meeting-wizard-page .wiz-reg-preset-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.meeting-wizard-page .wiz-reg-preset-bar__label {
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	flex-shrink: 0;
}
.meeting-wizard-page .wiz-reg-preset-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; }
.meeting-wizard-page .wiz-reg-preset-chip {
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #475569;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 11px;
	cursor: pointer;
	line-height: 1.3;
}
.meeting-wizard-page .wiz-reg-preset-chip:hover,
.meeting-wizard-page .wiz-reg-preset-chip.is-active { border-color: var(--wiz-reg-accent); color: var(--wiz-reg-accent); }
.meeting-wizard-page .wiz-reg-preset-chip.is-active { background: #eff6ff; }
.meeting-wizard-page .wiz-reg-mini-btn {
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #64748b;
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 10px;
	cursor: pointer;
	line-height: 1.3;
}
.meeting-wizard-page .wiz-reg-mini-btn:hover { border-color: var(--wiz-reg-accent); color: var(--wiz-reg-accent); }
.meeting-wizard-page .wiz-reg-profile-toolbar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.meeting-wizard-page .wiz-reg-profile-toolbar__search {
	position: relative;
	flex: 1;
	min-width: 0;
}
.meeting-wizard-page .wiz-reg-profile-toolbar__search .layui-icon-search {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 14px;
	pointer-events: none;
}
.meeting-wizard-page .wiz-reg-profile-toolbar__search .layui-input {
	height: 32px;
	padding-left: 30px;
	font-size: 12px;
	border-radius: 8px;
}
.meeting-wizard-page .wiz-reg-profile-toolbar__acts { display: flex; gap: 4px; flex-shrink: 0; }
.meeting-wizard-page .wiz-reg-profile-summary {
	margin: 0 0 8px;
	font-size: 11px;
	color: #64748b;
	font-weight: 500;
}
.meeting-wizard-page .wiz-reg-profile-groups {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	max-height: min(480px, 55vh);
	overflow-x: hidden;
	overflow-y: auto;
	padding-right: 2px;
	-webkit-overflow-scrolling: touch;
}
.meeting-wizard-page .wiz-reg-profile-group {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
	flex: 0 0 auto;
	min-height: 0;
}
.meeting-wizard-page .wiz-reg-profile-table {
	overflow: visible;
}
.meeting-wizard-page .wiz-reg-profile-fields {
	overflow: visible;
}
.meeting-wizard-page .wiz-reg-profile-group__head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	cursor: pointer;
	background: #f8fafc;
	border-bottom: 1px solid #eef2f7;
	user-select: none;
}
.meeting-wizard-page .wiz-reg-profile-group__head:hover { background: #f1f5f9; }
.meeting-wizard-page .wiz-reg-profile-group.is-collapsed .wiz-reg-profile-group__head { border-bottom: none; }
.meeting-wizard-page .wiz-reg-profile-group.is-collapsed .wiz-reg-profile-table { display: none; }
.meeting-wizard-page .wiz-reg-profile-group__chev {
	color: #94a3b8;
	transition: transform .2s;
	flex-shrink: 0;
}
.meeting-wizard-page .wiz-reg-profile-group.is-collapsed .wiz-reg-profile-group__chev { transform: rotate(-90deg); }
.meeting-wizard-page .wiz-reg-profile-group__icon { font-size: 16px; line-height: 1; flex-shrink: 0; }
.meeting-wizard-page .wiz-reg-profile-group__meta { min-width: 0; flex: 1; }
.meeting-wizard-page .wiz-reg-profile-group__meta h4 { margin: 0; font-size: 12px; font-weight: 700; color: #0f172a; }
.meeting-wizard-page .wiz-reg-profile-group__stat { margin: 0; font-size: 10px; color: #94a3b8; }
.meeting-wizard-page .wiz-reg-profile-group__bulk {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.meeting-wizard-page .wiz-reg-profile-thead,
.meeting-wizard-page .wiz-reg-pf-field {
	display: grid;
	grid-template-columns: var(--wiz-reg-pf-cols);
	align-items: center;
	gap: 6px;
}
.meeting-wizard-page .wiz-reg-profile-thead {
	padding: 6px 10px;
	background: #fafbfc;
	border-bottom: 1px solid #eef2f7;
	font-size: 10px;
	font-weight: 600;
	color: #94a3b8;
}
.meeting-wizard-page .wiz-reg-profile-thead span:nth-child(2),
.meeting-wizard-page .wiz-reg-profile-thead span:nth-child(3),
.meeting-wizard-page .wiz-reg-profile-thead span:nth-child(4),
.meeting-wizard-page .wiz-reg-pf-col { justify-self: center; }
.meeting-wizard-page .wiz-reg-sw--verify input:checked + .wiz-reg-sw__track { background: #059669; }
.meeting-wizard-page .wiz-reg-pf-col--verify-empty { min-height: 1px; }
.meeting-wizard-page .wiz-reg-pf-col--act { justify-self: center; }
.meeting-wizard-page .wiz-reg-pf-field {
	padding: 6px 10px;
	border-bottom: 1px solid #f1f5f9;
}
.meeting-wizard-page .wiz-reg-pf-field--custom { background: #fcfdff; }
.meeting-wizard-page .wiz-reg-pf-name--custom {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.meeting-wizard-page .wiz-pf-custom-label {
	height: 28px;
	line-height: 28px;
	font-size: 12px;
	flex: 1;
	min-width: 0;
	padding: 0 8px;
}
.meeting-wizard-page .wiz-pf-custom-type {
	height: 28px;
	font-size: 11px;
	max-width: 88px;
	flex-shrink: 0;
	padding: 0 6px;
}
.meeting-wizard-page .wiz-pf-remove,
.meeting-wizard-page .wiz-pf-remove-custom {
	border: none;
	background: none;
	color: #cbd5e1;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.meeting-wizard-page .wiz-pf-remove:hover,
.meeting-wizard-page .wiz-pf-remove-custom:hover { color: #ef4444; background: #fef2f2; }
.meeting-wizard-page .wiz-reg-mini-btn.wiz-pf-add-custom {
	border-color: #bfdbfe;
	color: var(--wiz-reg-accent);
	background: #eff6ff;
}
.meeting-wizard-page .wiz-reg-mini-btn.wiz-pf-add-custom:hover {
	border-color: var(--wiz-reg-accent);
	background: #dbeafe;
}
.meeting-wizard-page .wiz-reg-disabled-pool {
	margin-top: 10px;
	border: 1px dashed #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
	overflow: hidden;
}
.meeting-wizard-page .wiz-reg-disabled-pool.is-empty { display: none; }
.meeting-wizard-page .wiz-reg-disabled-pool__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	cursor: pointer;
	list-style: none;
}
.meeting-wizard-page .wiz-reg-disabled-pool__summary::-webkit-details-marker { display: none; }
.meeting-wizard-page .wiz-reg-disabled-pool__summary em {
	font-style: normal;
	font-size: 10px;
	font-weight: 700;
	background: #e2e8f0;
	color: #475569;
	padding: 1px 7px;
	border-radius: 999px;
	min-width: 18px;
	text-align: center;
}
.meeting-wizard-page .wiz-reg-disabled-pool__list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 12px 10px;
}
.meeting-wizard-page .wiz-reg-disabled-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px 4px 10px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #e2e8f0;
	font-size: 11px;
	color: #64748b;
}
.meeting-wizard-page .wiz-reg-link-btn {
	border: none;
	background: none;
	color: var(--wiz-reg-accent);
	font-size: 11px;
	cursor: pointer;
	padding: 0;
}
.meeting-wizard-page .wiz-reg-pf-field:last-child { border-bottom: none; }
.meeting-wizard-page .wiz-reg-pf-field:hover { background: #fafcff; }
.meeting-wizard-page .wiz-reg-pf-field.is-off { opacity: .45; }
.meeting-wizard-page .wiz-reg-pf-field.is-filtered-out { display: none !important; }
.meeting-wizard-page .wiz-reg-pf-name {
	font-size: 12px;
	font-weight: 500;
	color: #334155;
	min-width: 0;
}
.meeting-wizard-page .wiz-reg-sw {
	position: relative;
	display: inline-flex;
	cursor: pointer;
	width: 32px;
	height: 18px;
	margin: 0;
}
.meeting-wizard-page .wiz-reg-sw input { position: absolute; opacity: 0; width: 0; height: 0; }
.meeting-wizard-page .wiz-reg-sw__track {
	display: block;
	width: 32px;
	height: 18px;
	border-radius: 999px;
	background: #e2e8f0;
	transition: background .2s;
}
.meeting-wizard-page .wiz-reg-sw__track::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,.12);
	transition: transform .2s;
}
.meeting-wizard-page .wiz-reg-sw input:checked + .wiz-reg-sw__track { background: var(--wiz-reg-accent); }
.meeting-wizard-page .wiz-reg-sw--req input:checked + .wiz-reg-sw__track { background: #ef4444; }
.meeting-wizard-page .wiz-reg-sw input:checked + .wiz-reg-sw__track::after { transform: translateX(14px); }
.meeting-wizard-page .wiz-reg-sw input:disabled + .wiz-reg-sw__track { opacity: .35; cursor: not-allowed; }
.meeting-wizard-page .wiz-reg-sup-hint {
	margin: 0 0 10px;
	font-size: 11px;
	color: #64748b;
	line-height: 1.5;
}
.meeting-wizard-page .wiz-reg-sup-templates {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.meeting-wizard-page .wiz-reg-sup-templates__label {
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	flex-shrink: 0;
}
.meeting-wizard-page .wiz-reg-sup-templates__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.meeting-wizard-page .wiz-reg-sup-tpl-chip {
	border: 1px dashed #cbd5e1;
	background: #f8fafc;
	color: #475569;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 11px;
	cursor: pointer;
}
.meeting-wizard-page .wiz-reg-sup-tpl-chip:hover { border-color: var(--wiz-reg-accent); color: var(--wiz-reg-accent); background: #eff6ff; }
.meeting-wizard-page .wiz-reg-sup-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.meeting-wizard-page .wiz-reg-sup-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
}
.meeting-wizard-page .wiz-reg-sup-item__main { min-width: 0; flex: 1; }
.meeting-wizard-page .wiz-reg-sup-item__main strong { display: block; font-size: 13px; color: #0f172a; margin-bottom: 4px; }
.meeting-wizard-page .wiz-reg-sup-item__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11px; color: #64748b; }
.meeting-wizard-page .wiz-reg-sup-item__opts { color: #94a3b8; }
.meeting-wizard-page .wiz-reg-tag {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #64748b;
	font-size: 10px;
}
.meeting-wizard-page .wiz-reg-tag--req { background: #fef2f2; color: #b91c1c; }
.meeting-wizard-page .wiz-reg-tag--opt { background: #f0fdf4; color: #15803d; }
.meeting-wizard-page .wiz-reg-sup-item__del {
	border: none;
	background: #f8fafc;
	color: #94a3b8;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	cursor: pointer;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.meeting-wizard-page .wiz-reg-sup-item__del:hover { color: #ef4444; background: #fef2f2; }
.meeting-wizard-page .wiz-reg-sup-empty {
	margin: 0 0 12px;
	padding: 16px;
	text-align: center;
	font-size: 12px;
	color: #94a3b8;
	border: 1px dashed #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
}
.meeting-wizard-page .wiz-reg-sup-editor {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
	padding: 12px 14px;
}
.meeting-wizard-page .wiz-reg-sup-editor__title {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	color: #334155;
}
.meeting-wizard-page .wiz-reg-sup-form__row { margin-bottom: 10px; }
.meeting-wizard-page .wiz-reg-sup-form__row label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	margin-bottom: 5px;
}
.meeting-wizard-page .wiz-reg-sup-form__row label em { color: #ef4444; font-style: normal; }
.meeting-wizard-page .wiz-reg-sup-form__row--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.meeting-wizard-page .wiz-reg-sup-form__row--switch { margin-bottom: 8px; }
.meeting-wizard-page .wiz-reg-sup-req-label {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 12px !important;
	color: #475569 !important;
	margin: 0 !important;
	cursor: pointer;
}
@media (max-width: 640px) {
	.meeting-wizard-page .wiz-reg-pipeline-grid,
	.meeting-wizard-page .wiz-reg-sup-form__row--2 { grid-template-columns: 1fr; }
}
.meeting-wizard-page .wiz-field {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px dashed #e2e8f0;
}
.meeting-wizard-page .wiz-field-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #475569;
}
.meeting-wizard-page .wiz-field .layui-input {
	width: 100%;
	box-sizing: border-box;
}
.meeting-wizard-page .wiz-footer {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--mhub-border);
}
.meeting-wizard-page .wiz-footer-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	flex-shrink: 0;
}
.meeting-wizard-page .wiz-footer-actions .layui-btn {
	margin: 0;
	min-width: 96px;
}
.meeting-wizard-page .wiz-footer-hint {
	margin: 0;
	flex: 1 1 200px;
	min-width: 0;
	font-size: 12px;
	color: var(--mhub-muted);
	line-height: 1.5;
}
@media (max-width: 640px) {
	.meeting-wizard-page .wiz-panel .layui-form-label,
	.meeting-wizard-page .wiz-panel .layui-input-block {
		width: 100%;
		margin-left: 0;
		float: none;
		display: block;
	}
	.meeting-wizard-page .wiz-footer {
		flex-direction: column;
	}
	.meeting-wizard-page .wiz-footer-actions {
		width: 100%;
		justify-content: stretch;
	}
	.meeting-wizard-page .wiz-footer-actions .layui-btn {
		flex: 1;
	}
}
.meeting-wizard-page .wiz-preview {
	margin-top: 16px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	font-size: 12px;
	color: #166534;
	line-height: 1.55;
	display: none;
}
.meeting-wizard-page .wiz-preview.visible {
	display: block;
}
.meeting-wizard-page .wiz-preview-note {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	color: #b45309;
}
.meeting-wizard-page .wiz-preview-note .layui-icon {
	margin-right: 4px;
	font-size: 14px;
}
.meeting-wizard-page .wiz-tag--approval {
	background: #fff7ed;
	border-color: #fdba74;
	color: #c2410c;
}
.meeting-wizard-page .wiz-tag--direct {
	background: #ecfdf5;
	border-color: #6ee7b7;
	color: #047857;
}
.meeting-wizard-page .wiz-card.active .wiz-tag--approval {
	background: #ffedd5;
	border-color: #fb923c;
}

/* 会议列表 · Ant Design Pro 风格 */
.meeting-list-pro {
	--pro-primary: #1890ff;
	--pro-primary-hover: #40a9ff;
	--pro-success: #52c41a;
	--pro-warning: #faad14;
	--pro-error: #ff4d4f;
	--pro-text: rgba(0, 0, 0, 0.85);
	--pro-text-secondary: rgba(0, 0, 0, 0.45);
	--pro-border: #f0f0f0;
	--pro-bg: #f0f2f5;
	--pro-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
	background: var(--pro-bg);
	margin: -15px -12px 0;
	padding: 16px 16px 24px;
	min-height: calc(100vh - 80px);
	box-sizing: border-box;
}
.meeting-list-pro .pro-page-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 16px;
}
.meeting-list-pro .pro-page-header-main { flex: 1; min-width: 0; }
.meeting-list-pro .pro-page-header-title {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: 600;
	color: var(--pro-text);
	line-height: 1.4;
}
.meeting-list-pro .pro-page-header-desc {
	margin: 0;
	font-size: 14px;
	color: var(--pro-text-secondary);
	line-height: 1.5715;
}
.meeting-list-pro .pro-page-header-extra {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-list-pro .pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 15px;
	font-size: 14px;
	border-radius: 6px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s;
	white-space: nowrap;
}
.meeting-list-pro .pro-btn-primary {
	background: var(--pro-primary);
	border-color: var(--pro-primary);
	color: #fff !important;
	box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
}
.meeting-list-pro .pro-btn-primary:hover {
	background: var(--pro-primary-hover);
	border-color: var(--pro-primary-hover);
}
.meeting-list-pro .pro-btn-default {
	background: #fff;
	border-color: #d9d9d9;
	color: var(--pro-text) !important;
}
.meeting-list-pro .pro-btn-default:hover {
	color: var(--pro-primary) !important;
	border-color: var(--pro-primary);
}
.meeting-list-pro .pro-quick-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}
.meeting-list-pro .pro-quick-nav a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 30px;
	padding: 0 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--pro-text);
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: all 0.15s;
}
.meeting-list-pro .pro-quick-nav a .layui-icon {
	font-size: 14px;
	color: #64748b;
}
.meeting-list-pro .pro-quick-nav a:hover {
	color: #2563eb;
	border-color: #93c5fd;
	background: #f8fbff;
}
.meeting-list-pro .pro-quick-nav a:hover .layui-icon { color: #2563eb; }

/* 会议列表 · 指标卡 */
.meeting-list-pro .ml-stats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 1200px) {
	.meeting-list-pro .ml-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.meeting-list-pro .ml-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.meeting-list-pro .ml-stat {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	padding: 14px 16px;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	user-select: none;
}
.meeting-list-pro .ml-stat:hover {
	border-color: #93c5fd;
	box-shadow: 0 8px 20px -14px rgba(37, 99, 235, 0.4);
	transform: translateY(-1px);
}
.meeting-list-pro .ml-stat.is-active {
	border-color: #2563eb;
	background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
	box-shadow: 0 0 0 1px #2563eb inset;
}
.meeting-list-pro .ml-stat__label {
	font-size: 12px;
	color: #64748b;
	margin-bottom: 6px;
	font-weight: 500;
}
.meeting-list-pro .ml-stat__num {
	font-size: 24px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}
.meeting-list-pro .ml-stat--accent .ml-stat__num { color: #2563eb; }
.meeting-list-pro .ml-stat--ok .ml-stat__num { color: #16a34a; }
.meeting-list-pro .ml-stat--warn .ml-stat__num { color: #d97706; }
.meeting-list-pro .ml-stat--muted .ml-stat__num { color: #64748b; }
.meeting-list-pro .ml-stat--gov .ml-stat__num { color: #c2410c; }
.meeting-list-pro .ml-tip {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	line-height: 1.55;
}
.meeting-list-pro .ml-tip .layui-icon { flex-shrink: 0; margin-top: 1px; }
.meeting-list-pro .ml-table-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-bottom: 1px solid #eef2f6;
	background: #fafbfc;
}
.meeting-list-pro .ml-table-toolbar__hint {
	margin-left: auto;
	font-size: 12px;
	color: #94a3b8;
}
@media (max-width: 720px) {
	.meeting-list-pro .ml-table-toolbar__hint { margin-left: 0; width: 100%; }
}
.meeting-list-pro .pro-card {
	background: #fff;
	border-radius: var(--pro-radius);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);
	margin-bottom: 16px;
}
.meeting-list-pro .pro-card-head {
	padding: 16px 24px 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--pro-text);
}
.meeting-list-pro .pro-search-card { padding: 20px 24px 4px; }
.meeting-list-pro .pro-search-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 16px;
}
.meeting-list-pro .pro-search-item { margin-bottom: 16px; }
.meeting-list-pro .pro-search-item label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	color: var(--pro-text);
}
.meeting-list-pro .pro-search-item .layui-input,
.meeting-list-pro .pro-search-item select {
	height: 32px;
	border-radius: 6px;
	border-color: #d9d9d9;
	font-size: 14px;
}
.meeting-list-pro .pro-search-item .layui-input:focus,
.meeting-list-pro .pro-search-item select:focus {
	border-color: var(--pro-primary);
	box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}
.meeting-list-pro .pro-search-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 0 16px;
	border-top: 1px solid var(--pro-border);
	margin-top: 4px;
	padding-top: 16px;
}
.meeting-list-pro .pro-table-card { padding: 0; overflow: hidden; border-radius: 12px; }
.meeting-list-pro .pro-table-card .layui-table-view {
	margin: 0;
	border: none;
	border-radius: 12px;
}
.meeting-list-pro .pro-table-card .layui-table-box,
.meeting-list-pro .pro-table-card .layui-table-header,
.meeting-list-pro .pro-table-card .layui-table-body {
	border-color: #e2e8f0;
}
.meeting-list-pro .pro-table-card .layui-table thead tr {
	background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
}
.meeting-list-pro .pro-table-card .layui-table thead th {
	font-weight: 600;
	color: #1e40af;
	font-size: 12px;
	letter-spacing: 0.03em;
	border-bottom: 1px solid #bfdbfe !important;
	padding: 12px 0;
}
.meeting-list-pro .pro-table-card .layui-table tbody tr {
	transition: background 0.12s, box-shadow 0.12s;
}
.meeting-list-pro .pro-table-card .layui-table tbody tr:hover td {
	background: #f8fbff !important;
}
.meeting-list-pro .pro-table-card .layui-table td {
	font-size: 13px;
	color: var(--pro-text);
	border-bottom-color: #f1f5f9 !important;
	padding: 12px 0;
	vertical-align: middle;
}
.meeting-list-pro .pro-table-card .layui-table-cell {
	line-height: 1.45;
	overflow: hidden;
	height: auto !important;
	min-height: 48px;
	padding-top: 8px;
	padding-bottom: 8px;
	white-space: normal;
}
.meeting-list-pro .pro-table-card .layui-table tbody tr td .layui-table-cell {
	display: block;
}
.meeting-list-pro .pro-table-card .layui-table-view .layui-table[lay-size] td .layui-table-cell {
	height: auto !important;
}
.meeting-list-pro .ml-title-cell__lead {
	align-items: flex-start;
	padding: 2px 0;
}
.meeting-list-pro .pro-table-card td:last-child .layui-table-cell {
	overflow: visible;
}
.meeting-list-pro .pro-table-card .layui-table-page {
	border-top: 1px solid #e2e8f0;
	padding: 14px 16px;
	background: #fafbfc;
}
.meeting-list-pro .pro-table-card .layui-laypage a,
.meeting-list-pro .pro-table-card .layui-laypage span {
	border-radius: 6px;
}
/* 会议列表 · 行内单元格 */
.meeting-list-pro .ml-id-cell {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #64748b;
	padding: 1px 3px;
	border-radius: 4px;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.meeting-list-pro .ml-title-cell { min-width: 0; max-width: 100%; overflow: hidden; }
.meeting-list-pro .ml-title-cell__lead {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}
.meeting-list-pro .ml-title-cell__icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eff6ff, #dbeafe);
	border: 1px solid #bfdbfe;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08);
	color: #2563eb;
}
.meeting-list-pro .ml-title-cell__icon .layui-icon { font-size: 16px; }
.meeting-list-pro .ml-title-cell__icon--k1 {
	background: linear-gradient(135deg, #eff6ff, #dbeafe);
	border-color: #93c5fd;
	color: #1d4ed8;
}
.meeting-list-pro .ml-title-cell__icon--k2 {
	background: linear-gradient(135deg, #f5f3ff, #ede9fe);
	border-color: #c4b5fd;
	color: #6d28d9;
}
.meeting-list-pro .ml-title-cell__icon--k7 {
	background: linear-gradient(135deg, #ecfdf5, #d1fae5);
	border-color: #6ee7b7;
	color: #047857;
}
.meeting-list-pro .ml-title-cell__icon--k8 {
	background: linear-gradient(135deg, #fff7ed, #ffedd5);
	border-color: #fdba74;
	color: #c2410c;
}
.meeting-list-pro .ml-title-cell__main { flex: 1; min-width: 0; overflow: hidden; }
.meeting-list-pro .ml-title-link {
	display: block;
	color: #0f172a;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	line-height: 1.4;
	transition: color 0.12s;
}
.meeting-list-pro .ml-title-link:hover { color: #2563eb; }
.meeting-list-pro .ml-title-cell__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 3px;
	overflow: hidden;
	max-width: 100%;
}
.meeting-list-pro .ml-kind-chip,
.meeting-list-pro .ml-scope-chip,
.meeting-list-pro .ml-gov-chip {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	white-space: nowrap;
}
.meeting-list-pro .ml-kind-chip {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
}
.meeting-list-pro .ml-scope-chip {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #64748b;
}
.meeting-list-pro .ml-gov-chip {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #c2410c;
}
.meeting-list-pro .ml-time-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	line-height: 1.2;
}
.meeting-list-pro .ml-time-cell__date {
	font-size: 12px;
	font-weight: 600;
	color: #334155;
	font-variant-numeric: tabular-nums;
}
.meeting-list-pro .ml-time-cell__time {
	font-style: normal;
	font-size: 11px;
	color: #94a3b8;
	font-variant-numeric: tabular-nums;
}
.meeting-list-pro .ml-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 24px;
	line-height: 1;
	padding: 0 9px;
	border-radius: 999px;
}
.meeting-list-pro .ml-status-badge__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.85;
	flex-shrink: 0;
}
.meeting-list-pro .ml-quota-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	min-width: 0;
	width: 100%;
}
.meeting-list-pro .ml-quota-cell__num {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}
.meeting-list-pro .ml-quota-cell__num small {
	font-size: 10px;
	font-weight: 600;
	color: #94a3b8;
	margin-left: 1px;
}
.meeting-list-pro .ml-quota-cell__bar {
	width: 100%;
	max-width: 64px;
	height: 5px;
	border-radius: 999px;
	background: #e2e8f0;
	overflow: hidden;
}
.meeting-list-pro .ml-quota-cell__bar i {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #60a5fa, #2563eb);
	border-radius: inherit;
	transition: width 0.25s ease;
}
.meeting-list-pro .ml-quota-cell__bar--warn i {
	background: linear-gradient(90deg, #fbbf24, #f59e0b);
}
.meeting-list-pro .ml-quota-cell__bar--full i {
	background: linear-gradient(90deg, #f87171, #dc2626);
}
.meeting-list-pro .ml-quota-cell__wait {
	font-style: normal;
	font-size: 10px;
	font-weight: 600;
	color: #b45309;
}
.meeting-list-pro .ml-cell-location {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	font-size: 12px;
	color: #64748b;
	line-height: 1.4;
}
.meeting-list-pro .ml-time-cell--inline {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: #475569;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	line-height: 1.35;
}
.meeting-list-pro .ml-access-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	line-height: 1.15;
	padding: 3px 4px;
	border-radius: 6px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	max-width: 100%;
}
.meeting-list-pro .ml-access-cell strong {
	font-size: 14px;
	font-weight: 700;
	color: #2563eb;
	font-variant-numeric: tabular-nums;
}
.meeting-list-pro .ml-row-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 3px;
}
.meeting-list-pro .ml-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	height: 26px;
	padding: 0 6px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	color: #475569;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	flex-shrink: 0;
}
.meeting-list-pro .ml-action-btn .layui-icon { font-size: 12px; color: #64748b; }
.meeting-list-pro .ml-action-btn span { line-height: 1; }
.meeting-list-pro .ml-action-btn:hover {
	color: #2563eb;
	border-color: #93c5fd;
	background: #eff6ff;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.1);
}
.meeting-list-pro .ml-action-btn:hover .layui-icon { color: #2563eb; }
.meeting-list-pro .ml-action-btn--more {
	color: #2563eb;
	background: #eff6ff;
	border-color: #bfdbfe;
}
.meeting-list-pro .ml-action-btn--more:hover {
	background: #dbeafe;
	border-color: #93c5fd;
}
.meeting-list-pro .ml-action-btn--more.is-open {
	color: #64748b;
	background: #f1f5f9;
	border-color: #cbd5e1;
}
.meeting-list-pro .ml-cell-time {
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.meeting-list-pro .ml-cell-empty {
	color: #cbd5e1;
	font-size: 13px;
}
.meeting-list-pro .pro-badge {
	display: inline-block;
	padding: 0 8px;
	height: 22px;
	line-height: 22px;
	font-size: 12px;
	border-radius: 4px;
	border: 1px solid transparent;
	white-space: nowrap;
}
.meeting-list-pro .pro-badge-default { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
.meeting-list-pro .pro-badge-processing { background: #eff6ff; border-color: #bfdbfe; color: #2563eb; }
.meeting-list-pro .pro-badge-warning { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.meeting-list-pro .pro-badge-success { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.meeting-list-pro .pro-badge-error { background: #fef2f2; border-color: #fecaca; color: #dc2626; }
.meeting-list-pro .pro-title-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.meeting-list-pro .pro-title-link {
	color: var(--pro-primary);
	font-weight: 500;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}
.meeting-list-pro .pro-title-link:hover { color: var(--pro-primary-hover); }
.meeting-list-pro .pro-title-meta { font-size: 12px; color: var(--pro-text-secondary); }
.meeting-list-pro .pro-tag-gov {
	display: inline-block;
	margin-left: 6px;
	padding: 0 6px;
	height: 18px;
	line-height: 18px;
	font-size: 11px;
	border-radius: 4px;
	background: #fff7e6;
	border: 1px solid #ffd591;
	color: #d46b08;
	vertical-align: middle;
}
.meeting-list-pro .pro-table-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
}
.meeting-list-pro .pro-link {
	color: var(--pro-primary);
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	padding: 0 4px;
	background: none;
	border: none;
}
.meeting-list-pro .pro-link:hover { color: var(--pro-primary-hover); }
.meeting-list-pro .pro-link-btn {
	color: var(--pro-primary);
	font-size: 14px;
	cursor: pointer;
	padding: 0 4px;
	background: none;
	border: none;
}
.meeting-list-pro .pro-action-divider {
	display: inline-block;
	width: 1px;
	height: 14px;
	margin: 0 4px;
	background: #e8e8e8;
	vertical-align: middle;
}
.meeting-list-pro .pro-action-more { position: relative; display: inline-block; }
.meeting-list-pro .pro-action-menu {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	z-index: 100;
	min-width: 148px;
	padding: 4px 0;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05);
}
.meeting-list-pro .pro-action-more.open .pro-action-menu { display: block; }
.meeting-list-pro .pro-action-menu-floating,
.pro-action-menu-floating {
	display: block;
	min-width: 148px;
	padding: 4px 0;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05);
}
.pro-action-menu-floating a,
.pro-action-menu-floating button {
	display: block;
	width: 100%;
	padding: 8px 12px;
	font-size: 14px;
	color: rgba(0, 0, 0, 0.85);
	text-align: left;
	text-decoration: none;
	border: none;
	background: none;
	cursor: pointer;
	box-sizing: border-box;
}
.pro-action-menu-floating a:hover,
.pro-action-menu-floating button:hover {
	background: #f5f5f5;
	color: #1890ff;
}
.pro-action-menu-floating .danger { color: #ff4d4f; }
.pro-action-menu-floating .danger:hover { background: #fff2f0; color: #ff4d4f; }
.pro-action-menu-floating hr {
	margin: 4px 0;
	border: none;
	border-top: 1px solid #f0f0f0;
}
.layui-dropdown.pro-more-dropdown .layui-dropdown-menu {
	min-width: 148px;
	padding: 4px 0;
	border-radius: 8px;
	box-shadow: 0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05);
}
.layui-dropdown.pro-more-dropdown .layui-dropdown-menu li {
	font-size: 14px;
}
.layui-dropdown.pro-more-dropdown .layui-dropdown-menu li:hover {
	background: #f5f5f5;
	color: #1890ff;
}
.meeting-list-pro .pro-action-menu a,
.meeting-list-pro .pro-action-menu button {
	display: block;
	width: 100%;
	padding: 8px 12px;
	font-size: 14px;
	color: var(--pro-text);
	text-align: left;
	text-decoration: none;
	border: none;
	background: none;
	cursor: pointer;
}
.meeting-list-pro .pro-action-menu a:hover,
.meeting-list-pro .pro-action-menu button:hover {
	background: #f5f5f5;
	color: var(--pro-primary);
}
.meeting-list-pro .pro-action-menu .danger { color: var(--pro-error); }
.meeting-list-pro .pro-action-menu .danger:hover { background: #fff2f0; color: var(--pro-error); }
.meeting-list-pro .pro-action-menu hr {
	margin: 4px 0;
	border: none;
	border-top: 1px solid var(--pro-border);
}

/* 会议列表 — 行内展开操作面板 */
.meeting-list-pro .ml-more-toggle,
.meeting-list-pro .ml-action-btn.ml-more-toggle {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	min-height: 26px;
	height: 26px;
	padding: 0 6px;
	border-radius: 6px;
	font-size: 12px;
	color: #2563eb;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.meeting-list-pro .ml-more-toggle:hover,
.meeting-list-pro .ml-action-btn.ml-more-toggle:hover {
	background: #dbeafe;
	border-color: #93c5fd;
}
.meeting-list-pro .ml-more-toggle.is-open,
.meeting-list-pro .ml-action-btn.ml-more-toggle.is-open {
	color: #64748b;
	background: #f1f5f9;
	border-color: #cbd5e1;
}
.meeting-list-pro .ml-more-toggle__icon {
	font-size: 12px;
	transition: transform .2s;
}
.meeting-list-pro .ml-more-toggle.is-open .ml-more-toggle__icon {
	transform: rotate(180deg);
}

.meeting-list-pro .ml-row-expand td {
	padding: 0 !important;
	background: linear-gradient(180deg, #f0f7ff 0%, #f8fafc 100%);
	border-bottom: 1px solid #dbeafe !important;
	box-shadow: inset 3px 0 0 #2563eb;
	width: 100%;
}
.meeting-list-pro .ml-row-expand > td {
	max-width: none !important;
}
.meeting-list-pro .ml-row-expand .ml-expand-panel {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.meeting-list-pro .ml-row-expanded td {
	background: #f8fbff !important;
	border-bottom-color: transparent !important;
}
.meeting-list-pro .ml-expand-panel {
	padding: 16px 20px 14px;
	animation: mlExpandIn .22s ease-out;
}
@keyframes mlExpandIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

.meeting-list-pro .ml-expand-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px 20px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-list-pro .ml-expand-header__info { flex: 1; min-width: 220px; }
.meeting-list-pro .ml-expand-header__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.meeting-list-pro .ml-expand-status { font-size: 12px; }
.meeting-list-pro .ml-expand-tag {
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: #fff7e6;
	border: 1px solid #ffd591;
	color: #d46b08;
}
.meeting-list-pro .ml-expand-tag--muted {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #64748b;
}
.meeting-list-pro .ml-expand-title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.4;
}
.meeting-list-pro .ml-expand-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0;
	font-size: 12px;
	color: #64748b;
}
.meeting-list-pro .ml-expand-meta span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.meeting-list-pro .ml-expand-meta .layui-icon { font-size: 13px; color: #94a3b8; }

.meeting-list-pro .ml-expand-header__quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-list-pro .ml-expand-quick-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	color: #334155;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	text-decoration: none;
	transition: all .15s;
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.meeting-list-pro .ml-expand-quick-btn .layui-icon { font-size: 14px; }
.meeting-list-pro .ml-expand-quick-btn:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #fff;
	box-shadow: 0 4px 12px rgba(37,99,235,.1);
}
.meeting-list-pro .ml-expand-quick-btn--primary {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	border-color: #2563eb;
	color: #fff;
}
.meeting-list-pro .ml-expand-quick-btn--primary:hover {
	background: linear-gradient(135deg, #1d4ed8, #1e40af);
	color: #fff;
	border-color: #1d4ed8;
}

.meeting-list-pro .ml-expand-sections {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-bottom: 14px;
}
@media (min-width: 900px) {
	.meeting-list-pro .ml-expand-sections {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}
	.meeting-list-pro .ml-expand-section--access {
		grid-column: 1 / -1;
	}
	.meeting-list-pro .ml-expand-section--content {
		grid-column: span 6;
	}
	.meeting-list-pro .ml-expand-section--ops {
		grid-column: span 6;
	}
	.meeting-list-pro .ml-expand-section--gov {
		grid-column: 1 / -1;
	}
}
@media (min-width: 1280px) {
	.meeting-list-pro .ml-expand-section--content {
		grid-column: span 5;
	}
	.meeting-list-pro .ml-expand-section--ops {
		grid-column: span 7;
	}
}
.meeting-list-pro .ml-expand-section {
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 10px;
	padding: 12px 14px 14px;
	box-shadow: 0 1px 2px rgba(15,23,42,.03);
	min-width: 0;
}
.meeting-list-pro .ml-expand-section--access {
	padding: 10px 14px 12px;
}
.meeting-list-pro .ml-expand-section__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.meeting-list-pro .ml-expand-section__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.meeting-list-pro .ml-expand-section__dot--blue { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.meeting-list-pro .ml-expand-section__dot--green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.15); }
.meeting-list-pro .ml-expand-section__dot--purple { background: #a855f7; box-shadow: 0 0 0 3px rgba(168,85,247,.15); }
.meeting-list-pro .ml-expand-section__dot--amber { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.15); }
.meeting-list-pro .ml-access-cell__sub { font-size: 10px; color: #94a3b8; white-space: nowrap; }
.meeting-list-pro .ml-expand-meta__access { color: #2563eb !important; }
.meeting-list-pro .ml-expand-access {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 8px;
}
@media (min-width: 640px) {
	.meeting-list-pro .ml-expand-access {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (min-width: 900px) {
	.meeting-list-pro .ml-expand-section--access .ml-expand-access {
		grid-template-columns: repeat(4, minmax(120px, 1fr));
		max-width: 720px;
	}
}
.meeting-list-pro .ml-expand-access__item {
	display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 8px;
	border-radius: 8px; background: #f8fafc; border: 1px solid #eef2f7;
}
.meeting-list-pro .ml-expand-access__item strong { font-size: 18px; font-weight: 700; color: #0f172a; font-variant-numeric: tabular-nums; }
.meeting-list-pro .ml-expand-access__item em { font-size: 11px; color: #64748b; font-style: normal; font-weight: 500; }
.meeting-list-pro .ml-expand-access__item span { font-size: 10px; color: #94a3b8; }
.meeting-list-pro .ml-expand-access__hint { margin: 0; font-size: 11px; color: #94a3b8; }
.meeting-list-pro .ml-expand-section__head h4 {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
}
.meeting-list-pro .ml-expand-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
	gap: 8px;
	width: 100%;
}
.meeting-list-pro .ml-expand-section--content .ml-expand-tiles {
	grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}
.meeting-list-pro .ml-expand-section--ops .ml-expand-tiles {
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
}
@media (min-width: 900px) {
	.meeting-list-pro .ml-expand-section--content .ml-expand-tiles {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	.meeting-list-pro .ml-expand-section--ops .ml-expand-tiles {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
@media (min-width: 1280px) {
	.meeting-list-pro .ml-expand-section--ops .ml-expand-tiles {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
.meeting-list-pro .ml-expand-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 72px;
	padding: 10px 8px;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	cursor: pointer;
	transition: all .15s;
}
.meeting-list-pro .ml-expand-tile:hover {
	background: #eff6ff;
	border-color: #bfdbfe;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(37,99,235,.1);
}
.meeting-list-pro .ml-expand-tile__icon { font-size: 22px; line-height: 1; }
.meeting-list-pro .ml-expand-tile__label {
	font-size: 12px;
	font-weight: 500;
	color: #475569;
	text-align: center;
	line-height: 1.35;
}
.meeting-list-pro .ml-expand-tile__status {
	display: block;
	margin-top: 4px;
	font-size: 10px;
	font-weight: 600;
	color: #94a3b8;
}
.meeting-list-pro .ml-expand-tile__status--on { color: #059669; }
.meeting-list-pro .ml-expand-tile:hover .ml-expand-tile__label { color: #2563eb; }

.meeting-list-pro .ml-expand-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 10px;
}
.meeting-list-pro .ml-expand-footer__label {
	font-size: 12px;
	font-weight: 700;
	color: #94a3b8;
	flex-shrink: 0;
}
.meeting-list-pro .ml-expand-footer__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1;
}
.meeting-list-pro .ml-expand-chip {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	transition: all .15s;
}
.meeting-list-pro .ml-expand-chip:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #eff6ff;
}
.meeting-list-pro .ml-expand-chip--primary {
	border-color: #bfdbfe;
	color: #2563eb;
	background: #eff6ff;
}
.meeting-list-pro .ml-expand-chip--warn {
	border-color: #fde68a;
	color: #b45309;
	background: #fffbeb;
}
.meeting-list-pro .ml-expand-chip--warn:hover {
	border-color: #fcd34d;
	background: #fef3c7;
}
.meeting-list-pro .ml-expand-chip--danger {
	border-color: #fecaca;
	color: #dc2626;
	background: #fef2f2;
}
.meeting-list-pro .ml-expand-chip--danger:hover {
	border-color: #fca5a5;
	background: #fee2e2;
}
.meeting-list-pro .ml-expand-chip--success {
	border-color: #bbf7d0;
	color: #15803d;
	background: #f0fdf4;
}
.meeting-list-pro .ml-expand-chip--success:hover {
	border-color: #86efac;
	background: #dcfce7;
}
.meeting-list-pro .ml-status-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}
.meeting-list-pro .ml-approval-badge {
	display: inline-block;
	max-width: 72px;
	padding: 1px 6px;
	border-radius: 999px;
	font-size: 10px;
	line-height: 1.4;
	text-align: center;
	white-space: normal;
}
.meeting-list-pro .ml-approval-badge--pending {
	background: #fff7ed;
	color: #c2410c;
	border: 1px solid #fdba74;
}
.meeting-list-pro .ml-approval-badge--ok {
	background: #ecfdf5;
	color: #047857;
	border: 1px solid #6ee7b7;
}
.meeting-list-pro .ml-approval-badge--reject {
	background: #fef2f2;
	color: #dc2626;
	border: 1px solid #fecaca;
}
.meeting-list-pro .ml-expand-tag--approval {
	background: #fff7ed;
	color: #c2410c;
	border-color: #fdba74;
}

@media (max-width: 768px) {
	.meeting-list-pro .ml-expand-section--content .ml-expand-tiles,
	.meeting-list-pro .ml-expand-section--ops .ml-expand-tiles {
		grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	}
	.meeting-list-pro .ml-expand-header__quick { width: 100%; }
	.meeting-list-pro .ml-expand-quick-btn { flex: 1; justify-content: center; }
}

@media (max-width: 1200px) {
	.meeting-list-pro .pro-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.meeting-list-pro { padding: 12px; margin: -15px -12px 0; }
	.meeting-list-pro .pro-search-grid { grid-template-columns: 1fr; }
	.meeting-list-pro .pro-search-card { padding: 16px 16px 4px; }
}

/* 会议微站配置 · Ant Design Pro 风格 */
.meeting-minisite-pro {
	--pro-primary: #1890ff;
	--pro-primary-hover: #40a9ff;
	--pro-text: rgba(0, 0, 0, 0.85);
	--pro-text-secondary: rgba(0, 0, 0, 0.45);
	--pro-border: #f0f0f0;
	--pro-bg: #f0f2f5;
	--pro-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
	background: var(--pro-bg);
	margin: -15px -12px 0;
	padding: 16px 16px 80px;
	min-height: calc(100vh - 60px);
	box-sizing: border-box;
}
.meeting-minisite-pro .pro-page-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 16px;
}
.meeting-minisite-pro .pro-page-header-main { flex: 1; min-width: 0; }
.meeting-minisite-pro .pro-page-header-title {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: 600;
	color: var(--pro-text);
}
.meeting-minisite-pro .pro-page-header-desc {
	margin: 0;
	font-size: 14px;
	color: var(--pro-text-secondary);
	line-height: 1.5715;
}
.meeting-minisite-pro .pro-page-header-extra {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-minisite-pro .pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 15px;
	font-size: 14px;
	border-radius: 6px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s;
	white-space: nowrap;
	box-sizing: border-box;
}
.meeting-minisite-pro .pro-btn-primary {
	background: var(--pro-primary);
	border-color: var(--pro-primary);
	color: #fff !important;
}
.meeting-minisite-pro .pro-btn-primary:hover:not(:disabled) {
	background: var(--pro-primary-hover);
	border-color: var(--pro-primary-hover);
}
.meeting-minisite-pro .pro-btn-default {
	background: #fff;
	border-color: #d9d9d9;
	color: var(--pro-text) !important;
}
.meeting-minisite-pro .pro-btn-default:hover:not(:disabled) {
	color: var(--pro-primary) !important;
	border-color: var(--pro-primary);
}
.meeting-minisite-pro .pro-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
.meeting-minisite-pro .pro-card {
	background: #fff;
	border-radius: var(--pro-radius);
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03), 0 1px 6px -1px rgba(0,0,0,0.02), 0 2px 4px 0 rgba(0,0,0,0.02);
}
.meeting-minisite-pro .pro-card-head {
	padding: 14px 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--pro-text);
	border-bottom: 1px solid var(--pro-border);
}
.meeting-minisite-pro .pro-card-body { padding: 20px; }
.meeting-minisite-pro .ms-status-tag {
	display: inline-block;
	padding: 0 10px;
	height: 24px;
	line-height: 22px;
	font-size: 12px;
	border-radius: 4px;
	border: 1px solid #ffd591;
	background: #fff7e6;
	color: #d46b08;
}
.meeting-minisite-pro .ms-url-card {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 20px;
	margin-bottom: 16px;
	background: linear-gradient(135deg, #e6f7ff 0%, #f0f5ff 100%);
	border: 1px solid #91d5ff;
	border-radius: var(--pro-radius);
}
.meeting-minisite-pro .ms-url-card-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: #1890ff;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.meeting-minisite-pro .ms-url-card-icon .layui-icon { font-size: 20px; }
.meeting-minisite-pro .ms-url-card-label {
	font-size: 13px;
	color: var(--pro-text-secondary);
	margin-bottom: 6px;
}
.meeting-minisite-pro .ms-url-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.meeting-minisite-pro .ms-url-text {
	font-size: 14px;
	color: #0958d9;
	background: rgba(255,255,255,0.85);
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid #bae0ff;
	word-break: break-all;
}
.meeting-minisite-pro .ms-btn-copy { height: 30px; padding: 0 12px; font-size: 13px; }
.meeting-minisite-pro .ms-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 16px;
	align-items: start;
}
.meeting-minisite-pro .ms-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.meeting-minisite-pro .ms-aside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 12px; }
.meeting-minisite-pro .ms-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}
.meeting-minisite-pro .ms-form-grid--single { grid-template-columns: 1fr; }
.meeting-minisite-pro .ms-form-item { margin-bottom: 18px; min-width: 0; }
.meeting-minisite-pro .ms-form-item--full { grid-column: 1 / -1; }
.meeting-minisite-pro .ms-form-item label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	color: var(--pro-text);
	font-weight: 500;
}
.meeting-minisite-pro .ms-form-item .layui-input,
.meeting-minisite-pro .ms-form-item select,
.meeting-minisite-pro .ms-form-item .layui-textarea {
	border-radius: 6px;
	border-color: #d9d9d9;
	font-size: 14px;
}
.meeting-minisite-pro .ms-form-item .layui-input:focus,
.meeting-minisite-pro .ms-form-item select:focus,
.meeting-minisite-pro .ms-form-item .layui-textarea:focus {
	border-color: var(--pro-primary);
	box-shadow: 0 0 0 2px rgba(24,144,255,0.1);
}
.meeting-minisite-pro .ms-field-hint {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--pro-text-secondary);
	line-height: 1.5;
}
.meeting-minisite-pro .ms-form-item--switch label { margin-bottom: 8px; }
.meeting-minisite-pro .ms-slug-input {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
	background: #fafafa;
	border: 1px solid #d9d9d9;
	border-radius: 6px;
	overflow: hidden;
}
.meeting-minisite-pro .ms-slug-prefix,
.meeting-minisite-pro .ms-slug-suffix {
	padding: 0 10px;
	font-size: 13px;
	color: var(--pro-text-secondary);
	background: #f5f5f5;
	height: 32px;
	line-height: 32px;
	border-right: 1px solid #e8e8e8;
	white-space: nowrap;
}
.meeting-minisite-pro .ms-slug-suffix { border-right: none; border-left: 1px solid #e8e8e8; }
.meeting-minisite-pro .ms-slug-input .layui-input {
	flex: 1;
	min-width: 120px;
	border: none;
	border-radius: 0;
	background: #fff;
	height: 32px;
}
.meeting-minisite-pro .ms-slug-input .layui-input:focus { box-shadow: none; }
.meeting-minisite-pro .ms-color-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
.meeting-minisite-pro .ms-color-swatch {
	width: 32px;
	height: 32px;
	border-radius: 6px;
	border: 1px solid rgba(0,0,0,0.08);
	flex-shrink: 0;
}
.meeting-minisite-pro .ms-color-row .layui-input { flex: 1; }
.meeting-minisite-pro .ms-textarea { min-height: 120px; resize: vertical; }
.meeting-minisite-pro .ms-phone {
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}
.meeting-minisite-pro .ms-phone-bar { height: 6px; }
.meeting-minisite-pro .ms-phone-body { padding: 14px 12px 16px; }
.meeting-minisite-pro .ms-phone-title {
	font-size: 13px;
	font-weight: 600;
	color: var(--pro-text);
	line-height: 1.4;
	margin-bottom: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.meeting-minisite-pro .ms-phone-org {
	font-size: 11px;
	color: var(--pro-text-secondary);
	margin-bottom: 12px;
}
.meeting-minisite-pro .ms-phone-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 12px;
}
.meeting-minisite-pro .ms-phone-tabs span {
	font-size: 10px;
	padding: 2px 8px;
	border-radius: 10px;
	background: #f5f5f5;
	color: #8c8c8c;
}
.meeting-minisite-pro .ms-phone-tabs span.active {
	background: #e6f7ff;
	color: #1890ff;
}
.meeting-minisite-pro .ms-phone-block {
	height: 28px;
	background: #f5f5f5;
	border-radius: 4px;
	margin-bottom: 8px;
}
.meeting-minisite-pro .ms-phone-block.short { width: 65%; height: 20px; }
.meeting-minisite-pro .ms-preview-hint { text-align: center; margin-top: 12px; }
.meeting-minisite-pro .ms-preview-open {
	width: 100%;
	margin-top: 8px;
}
.meeting-minisite-pro .ms-tips-list p {
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--pro-text-secondary);
	line-height: 1.55;
}
.meeting-minisite-pro .ms-tips-list p:last-child { margin-bottom: 0; }
.meeting-minisite-pro .ms-footer {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	background: #fff;
	border-top: 1px solid var(--pro-border);
	box-shadow: 0 -2px 8px rgba(0,0,0,0.06);
}
.meeting-minisite-pro .ms-portal-editor { display: flex; flex-direction: column; gap: 28px; }
.meeting-minisite-pro .ms-portal-block { border-top: 1px solid #f0f0f0; padding-top: 20px; }
.meeting-minisite-pro .ms-portal-block:first-child { border-top: none; padding-top: 0; }
.meeting-minisite-pro .ms-portal-block-head h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px; color: #262626; }
.meeting-minisite-pro .ms-portal-block-head .ms-field-hint { margin-bottom: 12px; }
.meeting-minisite-pro .ms-announce-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.meeting-minisite-pro .ms-announce-item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 14px; background: #fafafa; border: 1px solid #f0f0f0; border-radius: 8px;
}
.meeting-minisite-pro .ms-announce-item-main { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.meeting-minisite-pro .ms-announce-item-main strong { font-size: 14px; color: #262626; }
.meeting-minisite-pro .ms-announce-date { font-size: 12px; color: #8c8c8c; }
.meeting-minisite-pro .ms-announce-item-actions { display: flex; gap: 8px; flex-shrink: 0; }
.meeting-minisite-pro .ms-tag { font-size: 11px; padding: 2px 8px; border-radius: 10px; }
.meeting-minisite-pro .ms-tag--on { background: #f6ffed; color: #52c41a; border: 1px solid #b7eb8f; }
.meeting-minisite-pro .ms-tag--off { background: #fff7e6; color: #fa8c16; border: 1px solid #ffd591; }
.meeting-minisite-pro .ms-announce-editor {
	padding: 16px; background: #f8fafc; border: 1px dashed #d9d9d9; border-radius: 8px;
}
.meeting-minisite-pro .ms-editor-grid {
	display: grid; grid-template-columns: 1fr 160px 120px; gap: 12px; margin-bottom: 12px;
}
.meeting-minisite-pro .ms-editor-actions { display: flex; gap: 10px; margin-top: 12px; }
.meeting-minisite-pro .ms-empty-tip { font-size: 13px; color: #bfbfbf; margin: 0 0 12px; }
.meeting-minisite-pro .ms-link-head,
.meeting-minisite-pro .ms-link-row {
	display: grid; grid-template-columns: 1fr 1.2fr 180px 40px; gap: 10px; align-items: start;
}
.meeting-minisite-pro .ms-link-head {
	font-size: 12px; color: #8c8c8c; margin-bottom: 8px; padding: 0 2px;
}
.meeting-minisite-pro .ms-link-row { margin-bottom: 10px; }
.meeting-minisite-pro .ms-link-logo-cell { display: flex; flex-direction: column; gap: 6px; }
.meeting-minisite-pro .ms-link-logo-cell .link-upload-btn { width: 100%; height: 30px; padding: 0 8px; font-size: 12px; }
.meeting-minisite-pro .ms-link-remove {
	width: 32px; height: 32px; padding: 0; font-size: 18px; line-height: 1; color: #ff4d4f;
}
.meeting-minisite-pro #btnLinkAdd { margin-top: 4px; }
.meeting-minisite-pro .ms-footer-toolbar {
	display: grid; grid-template-columns: 140px 1fr; gap: 12px; margin-bottom: 16px; align-items: end;
}
.meeting-minisite-pro .ms-footer-cols-editor {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px;
}
.meeting-minisite-pro .ms-footer-col-card {
	padding: 12px; background: #fafafa; border: 1px solid #f0f0f0; border-radius: 8px;
}
.meeting-minisite-pro .ms-footer-col-head {
	display: flex; gap: 8px; align-items: center; margin-bottom: 8px;
}
.meeting-minisite-pro .ms-footer-col-head .footer-col-title { flex: 1; min-width: 0; }
.meeting-minisite-pro .ms-footer-col-remove {
	width: 32px; height: 32px; padding: 0; font-size: 18px; line-height: 1; flex-shrink: 0; color: #ff4d4f;
}
.meeting-minisite-pro .footer-col-lines { min-height: 88px; resize: vertical; }
@media (max-width: 960px) {
	.meeting-minisite-pro .ms-footer-toolbar { grid-template-columns: 1fr; }
	.meeting-minisite-pro .ms-footer-cols-editor { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.meeting-minisite-pro .ms-editor-grid { grid-template-columns: 1fr; }
	.meeting-minisite-pro .ms-link-head { display: none; }
	.meeting-minisite-pro .ms-link-row { grid-template-columns: 1fr; }
	.meeting-minisite-pro .ms-announce-item { flex-direction: column; align-items: stretch; }
}
@media (max-width: 960px) {
	.meeting-minisite-pro .ms-layout { grid-template-columns: 1fr; }
	.meeting-minisite-pro .ms-aside { position: static; }
	.meeting-minisite-pro .ms-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.meeting-minisite-pro { padding: 12px 12px 72px; }
	.meeting-minisite-pro .pro-card-body { padding: 16px; }
}

/* 微站模板管理 */
.meeting-list-pro.meeting-template-pro {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}
.meeting-template-pro {
	--mtpl-radius: 12px;
	padding-bottom: 24px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}
.meeting-template-pro .pro-card,
.meeting-template-pro .mtpl-table-card,
.meeting-template-pro .mtpl-search-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.meeting-template-pro .mtpl-table-card {
	overflow: hidden;
}
.meeting-template-pro .mtpl-table-card .layui-table-view {
	margin: 12px 0 0;
	border: none;
	border-radius: 0;
	width: 100% !important;
	max-width: 100%;
	overflow-x: hidden !important;
}
.meeting-template-pro .mtpl-table-card .layui-table {
	table-layout: fixed;
	width: 100% !important;
}
.meeting-template-pro .mtpl-page-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.meeting-template-pro .mtpl-page-header__main {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-width: 0;
	flex: 1;
}
.meeting-template-pro .mtpl-page-header__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	background: linear-gradient(145deg, #eff6ff, #dbeafe);
	flex-shrink: 0;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.12);
}
.meeting-template-pro .mtpl-page-header__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
}
.meeting-template-pro .mtpl-page-header__desc {
	margin: 0;
	font-size: 13px;
	color: #64748b;
	line-height: 1.65;
	max-width: 640px;
}
.meeting-template-pro .mtpl-page-header__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-template-pro .mtpl-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}
.meeting-template-pro .mtpl-stat {
	flex: 1;
	min-width: 120px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: var(--mtpl-radius);
	padding: 14px 16px;
	text-align: center;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-template-pro .mtpl-stat--filter {
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
	font: inherit;
	color: inherit;
}
.meeting-template-pro .mtpl-stat--filter:hover {
	border-color: #93c5fd;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}
.meeting-template-pro .mtpl-stat--filter.is-active {
	border-color: #2563eb;
	background: linear-gradient(180deg, #fff, #f8fbff);
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}
.meeting-template-pro .mtpl-stat strong {
	display: block;
	font-size: 24px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}
.meeting-template-pro .mtpl-stat em {
	display: block;
	font-style: normal;
	font-size: 12px;
	color: #64748b;
	margin-top: 4px;
}
.meeting-template-pro .mtpl-stat--accent strong { color: #2563eb; }
.meeting-template-pro .mtpl-search-card { padding: 20px 24px 4px; }
.meeting-template-pro .mtpl-search-grid {
	grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(120px, 1fr));
}
.meeting-template-pro .mtpl-table-card { padding: 0; overflow: hidden; }
.meeting-template-pro .mtpl-table-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px 0;
}
.meeting-template-pro .mtpl-table-toolbar__title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	color: #0f172a;
}
.meeting-template-pro .mtpl-table-toolbar__hint {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
}
.meeting-template-pro .mtpl-table-card .layui-table thead tr {
	background: #f8fafc;
}
.meeting-template-pro .mtpl-table-card .layui-table thead th {
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-template-pro .mtpl-table-card .layui-table td {
	padding: 12px 12px;
	vertical-align: middle;
	border-bottom: 1px solid #f1f5f9;
	height: auto !important;
}
.meeting-template-pro .mtpl-table-card .layui-table-body .layui-table tr {
	height: auto !important;
}
.meeting-template-pro .mtpl-table-card .layui-table-body .layui-table-cell,
.meeting-template-pro .mtpl-table-card .layui-table-header .layui-table-cell {
	height: auto !important;
	max-height: none !important;
	min-height: 38px;
	overflow: hidden !important;
	white-space: normal !important;
	text-overflow: clip !important;
	line-height: 1.45 !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	box-sizing: border-box;
}
.meeting-template-pro .mtpl-col-ops .layui-table-cell {
	overflow: visible !important;
}
/* 可变行高时禁用右侧固定列，避免与主表错位叠加 */
.meeting-template-pro .mtpl-table-card .layui-table-fixed,
.meeting-template-pro .mtpl-table-card .layui-table-fixed-r {
	display: none !important;
}
.meeting-template-pro .mtpl-table-card .layui-table tbody tr:hover td {
	background: #fafbff !important;
}
.meeting-template-pro .mtpl-table-card .layui-table-page {
	border-top: 1px solid #f1f5f9;
	padding: 12px 16px;
}
.meeting-template-pro .mtpl-main-cell {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	min-width: 0;
}
.meeting-template-pro .mtpl-main-cell__swatch {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	flex-shrink: 0;
	background: var(--tpl-color, #2563eb);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25), 0 2px 8px color-mix(in srgb, var(--tpl-color, #2563eb) 35%, transparent);
}
.meeting-template-pro .mtpl-main-cell__body { min-width: 0; flex: 1; }
.meeting-template-pro .mtpl-main-cell__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}
.meeting-template-pro .mtpl-main-cell__title {
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	text-decoration: none;
	line-height: 1.4;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}
.meeting-template-pro .mtpl-main-cell__title:hover { color: #2563eb; }
.meeting-template-pro .mtpl-chip {
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	line-height: 1.5;
}
.meeting-template-pro .mtpl-chip--system {
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
}
.meeting-template-pro .mtpl-chip--custom {
	background: #f5f3ff;
	color: #6d28d9;
	border: 1px solid #ddd6fe;
}
.meeting-template-pro .mtpl-main-cell__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.meeting-template-pro .mtpl-code {
	font-size: 11px;
	padding: 2px 6px;
	border-radius: 4px;
	background: #f1f5f9;
	color: #475569;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.meeting-template-pro .mtpl-sort { font-size: 11px; color: #94a3b8; }
.meeting-template-pro .mtpl-desc {
	margin: 0;
	font-size: 12px;
	color: #64748b;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.meeting-template-pro .mtpl-layout-cell {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.meeting-template-pro .mtpl-layout-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e8edf3;
	border-radius: 6px;
	padding: 4px 8px;
	line-height: 1.3;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.meeting-template-pro .mtpl-layout-chip .layui-icon {
	font-size: 12px;
	color: #94a3b8;
	flex-shrink: 0;
}
.meeting-template-pro .mtpl-nav-cell { min-width: 0; }
.meeting-template-pro .mtpl-nav-cell--expandable {
	cursor: pointer;
	border-radius: 8px;
	padding: 2px 4px;
	transition: background 0.15s, box-shadow 0.15s;
}
.meeting-template-pro .mtpl-nav-cell--expandable:hover {
	background: #f8fbff;
	box-shadow: inset 0 0 0 1px #dbeafe;
}
.meeting-template-pro .mtpl-row-expanded .mtpl-nav-cell--expandable {
	background: #eff6ff;
	box-shadow: inset 0 0 0 1px #93c5fd;
}
.meeting-template-pro .mtpl-nav-cell__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 11px;
	color: #64748b;
}
.meeting-template-pro .mtpl-nav-toggle {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 2px 6px;
	border: none;
	border-radius: 999px;
	background: #eff6ff;
	color: #2563eb;
	font-size: 10px;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.4;
	transition: background 0.15s;
}
.meeting-template-pro .mtpl-nav-toggle:hover { background: #dbeafe; }
.meeting-template-pro .mtpl-nav-toggle__icon {
	font-size: 11px;
	transition: transform 0.2s;
}
.meeting-template-pro .mtpl-nav-toggle.is-open .mtpl-nav-toggle__icon {
	transform: rotate(180deg);
}
.meeting-template-pro .mtpl-nav-cell__bar-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.meeting-template-pro .mtpl-nav-cell__bar-row .mtpl-nav-bar {
	flex: 1;
	margin-bottom: 0;
}
.meeting-template-pro .mtpl-nav-count strong {
	color: #0f172a;
	font-size: 13px;
}
.meeting-template-pro .mtpl-nav-percent {
	font-variant-numeric: tabular-nums;
	color: #2563eb;
	font-weight: 600;
}
.meeting-template-pro .mtpl-nav-bar {
	height: 4px;
	border-radius: 999px;
	background: #e8edf3;
	overflow: hidden;
	margin-bottom: 8px;
}
.meeting-template-pro .mtpl-nav-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #2563eb, #38bdf8);
}
.meeting-template-pro .mtpl-nav-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}
.meeting-template-pro .mtpl-nav-ico {
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 6px;
	line-height: 1;
}
.meeting-template-pro .mtpl-nav-more {
	font-size: 10px;
	color: #64748b;
	padding: 0 4px;
}
.meeting-template-pro .mtpl-usage-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}
.meeting-template-pro .mtpl-usage-num {
	font-size: 18px;
	font-weight: 700;
	color: #94a3b8;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.meeting-template-pro .mtpl-usage-num--active { color: #2563eb; }
.meeting-template-pro .mtpl-usage-cell em {
	font-style: normal;
	font-size: 10px;
	color: #94a3b8;
}
.meeting-template-pro .mtpl-status {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
}
.meeting-template-pro .mtpl-status--on {
	background: #f0fdf4;
	color: #15803d;
	border: 1px solid #bbf7d0;
}
.meeting-template-pro .mtpl-status--off {
	background: #f8fafc;
	color: #64748b;
	border: 1px solid #e2e8f0;
}
.meeting-template-pro .mtpl-actions {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: nowrap;
}
.meeting-template-pro .mtpl-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 30px;
	padding: 0 8px;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #475569;
	font-size: 12px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.12s, border-color 0.12s, color 0.12s;
	white-space: nowrap;
}
.meeting-template-pro .mtpl-action .layui-icon { font-size: 14px; }
.meeting-template-pro .mtpl-action:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #f8fbff;
}
.meeting-template-pro .mtpl-action--primary {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1d4ed8;
	font-weight: 600;
}
.meeting-template-pro .mtpl-action--primary:hover {
	background: #dbeafe;
	border-color: #93c5fd;
}
.meeting-template-pro .mtpl-action--danger {
	padding: 0 8px;
	border-color: transparent;
	background: transparent;
	color: #94a3b8;
}
.meeting-template-pro .mtpl-action--danger:hover {
	color: #dc2626;
	background: #fef2f2;
	border-color: #fecaca;
}
.meeting-template-pro .mtpl-col-nav .layui-table-cell {
	min-height: 0;
}
.meeting-template-pro .mtpl-col-main .layui-table-cell {
	min-height: 0;
}
.meeting-template-pro .mtpl-col-layout .layui-table-cell {
	min-height: 0;
}
.meeting-template-pro .mtpl-col-usage .layui-table-cell,
.meeting-template-pro .mtpl-col-status .layui-table-cell,
.meeting-template-pro .mtpl-col-ops .layui-table-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
}
.meeting-template-pro .mtpl-col-ops .layui-table-cell {
	overflow: visible !important;
}

/* 模板列表 · 栏目展开详情 */
.meeting-template-pro .mtpl-row-expand td {
	padding: 0 !important;
	background: linear-gradient(180deg, #f0f7ff 0%, #f8fafc 100%);
	border-bottom: 1px solid #dbeafe !important;
	box-shadow: inset 3px 0 0 #2563eb;
}
.meeting-template-pro .mtpl-row-expanded td {
	background: #f8fbff !important;
	border-bottom-color: transparent !important;
}
.meeting-template-pro .mtpl-expand-panel {
	padding: 16px 20px 18px;
	animation: mtplExpandIn 0.22s ease-out;
}
@keyframes mtplExpandIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}
.meeting-template-pro .mtpl-expand-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px 20px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-template-pro .mtpl-expand-header__main { flex: 1; min-width: 240px; }
.meeting-template-pro .mtpl-expand-header__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.meeting-template-pro .mtpl-expand-swatch {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--tpl-color, #2563eb);
	border: 1px solid rgba(0, 0, 0, 0.08);
	flex-shrink: 0;
}
.meeting-template-pro .mtpl-expand-title {
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}
.meeting-template-pro .mtpl-expand-desc {
	margin: 0 0 10px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.55;
}
.meeting-template-pro .mtpl-expand-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	font-size: 12px;
	color: #64748b;
}
.meeting-template-pro .mtpl-expand-meta code {
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 4px;
	background: #f1f5f9;
	color: #475569;
}
.meeting-template-pro .mtpl-expand-meta span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.meeting-template-pro .mtpl-expand-meta .layui-icon {
	font-size: 13px;
	color: #94a3b8;
}
.meeting-template-pro .mtpl-expand-header__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-template-pro .mtpl-expand-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	color: #334155;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.15s;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-template-pro .mtpl-expand-btn .layui-icon { font-size: 14px; }
.meeting-template-pro .mtpl-expand-btn:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #fff;
}
.meeting-template-pro .mtpl-expand-btn--primary {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	border-color: #2563eb;
	color: #fff;
}
.meeting-template-pro .mtpl-expand-btn--primary:hover {
	background: linear-gradient(135deg, #1d4ed8, #1e40af);
	color: #fff;
	border-color: #1d4ed8;
}
.meeting-template-pro .mtpl-expand-btn--ghost {
	background: transparent;
	box-shadow: none;
}
.meeting-template-pro .mtpl-expand-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.meeting-template-pro .mtpl-expand-section__head h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-template-pro .mtpl-expand-section__stat {
	font-size: 12px;
	color: #64748b;
}
.meeting-template-pro .mtpl-expand-section__stat strong {
	color: #2563eb;
	font-size: 14px;
}
.meeting-template-pro .mtpl-expand-nav-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}
.meeting-template-pro .mtpl-expand-nav-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-template-pro .mtpl-expand-nav-item.is-off {
	opacity: 0.62;
	background: #f8fafc;
	border-style: dashed;
}
.meeting-template-pro .mtpl-expand-nav-item__icon {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	flex-shrink: 0;
}
.meeting-template-pro .mtpl-expand-nav-item__body {
	flex: 1;
	min-width: 0;
}
.meeting-template-pro .mtpl-expand-nav-item__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
}
.meeting-template-pro .mtpl-expand-nav-item__title strong {
	font-size: 13px;
	color: #0f172a;
}
.meeting-template-pro .mtpl-expand-nav-item__title code {
	font-size: 10px;
	padding: 1px 5px;
	border-radius: 4px;
	background: #f1f5f9;
	color: #64748b;
}
.meeting-template-pro .mtpl-expand-nav-item__desc {
	margin: 0;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.meeting-template-pro .mtpl-expand-nav-item__tile {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: 10px;
	color: #64748b;
}
.meeting-template-pro .mtpl-expand-nav-item__tile em { font-style: normal; }
.meeting-template-pro .mtpl-expand-nav-item__color {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	border: 1px solid rgba(0, 0, 0, 0.08);
}
.meeting-template-pro .mtpl-expand-nav-item__badge {
	flex-shrink: 0;
	font-size: 10px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: #ecfdf5;
	color: #059669;
	border: 1px solid #a7f3d0;
	align-self: flex-start;
}
.meeting-template-pro .mtpl-expand-nav-item.is-off .mtpl-expand-nav-item__badge {
	background: #f1f5f9;
	color: #94a3b8;
	border-color: #e2e8f0;
}
@media (max-width: 960px) {
	.meeting-template-pro .mtpl-search-grid { grid-template-columns: 1fr 1fr; }
	.meeting-template-pro .mtpl-search-item--wide { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.meeting-template-pro .mtpl-stats { display: grid; grid-template-columns: repeat(2, 1fr); }
	.meeting-template-pro .mtpl-search-grid { grid-template-columns: 1fr; }
	.meeting-template-pro .mtpl-action span { display: none; }
	.meeting-template-pro .mtpl-action { width: 30px; padding: 0; }
	.meeting-template-pro .mtpl-nav-icons { display: none; }
	.meeting-template-pro .mtpl-expand-nav-grid { grid-template-columns: 1fr; }
	.meeting-template-pro .mtpl-expand-header__actions { width: 100%; }
}

.meeting-template-pro .pro-search-card { padding: 20px 24px 4px; }

/* 微站模板 — 设计页 */
.meeting-template-design { padding-bottom: 24px; }
.meeting-template-design .mtd-design-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.meeting-template-design .mtd-design-header__main {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-width: 0;
	flex: 1;
}
.meeting-template-design .mtd-design-header__icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	background: linear-gradient(145deg, #f5f3ff, #ede9fe);
	box-shadow: 0 4px 12px rgba(109, 40, 217, 0.1);
	flex-shrink: 0;
}
.meeting-template-design .mtd-design-header__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-template-design .mtd-design-header__desc {
	margin: 0 0 8px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.6;
	max-width: 560px;
}
.meeting-template-design .mtd-design-header__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.meeting-template-design .mtd-design-tag {
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
}
.meeting-template-design .mtd-design-tag code {
	font-size: 11px;
	background: transparent;
	padding: 0;
	color: inherit;
}
.meeting-template-design .mtd-design-tag--system {
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
}
.meeting-template-design .mtd-design-tag--custom {
	background: #f5f3ff;
	color: #6d28d9;
	border: 1px solid #ddd6fe;
}
.meeting-template-design .mtd-design-header__actions {
	display: flex;
	gap: 8px;
}
.meeting-template-design .ms-inline-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.meeting-template-design .mtd-nav-card { overflow: hidden; }
.meeting-template-design .mtd-nav-card .pro-card-head { display: none; }
.meeting-template-design .mtd-nav-panel { padding: 0; }
.meeting-template-design .mtd-nav-panel__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #fafbff, #fff);
}
.meeting-template-design .mtd-nav-panel__title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 600;
	color: #0f172a;
}
.meeting-template-design .mtd-nav-panel__hint {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.5;
}
.meeting-template-design .mtd-nav-panel__stats {
	display: flex;
	gap: 10px;
}
.meeting-template-design .mtd-nav-stat {
	min-width: 72px;
	padding: 10px 14px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #e8edf3;
	text-align: center;
}
.meeting-template-design .mtd-nav-stat strong {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.1;
}
.meeting-template-design .mtd-nav-stat em {
	font-style: normal;
	font-size: 11px;
	color: #64748b;
}
.meeting-template-design .mtd-nav-stat--accent {
	background: #eff6ff;
	border-color: #bfdbfe;
}
.meeting-template-design .mtd-nav-stat--accent strong { color: #2563eb; }
.meeting-template-design .mtd-nav-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	background: #fff;
	border-bottom: 1px solid #f1f5f9;
}
.meeting-template-design .mtd-nav-toolbar__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.meeting-template-design .mtd-nav-toolbar__copy label {
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	margin: 0;
}
.meeting-template-design .ms-copy-from-select {
	width: min(260px, 100%);
	height: 34px;
}
.meeting-template-design .mtd-nav-toolbar__search {
	position: relative;
	flex: 1;
	min-width: 180px;
	max-width: 280px;
}
.meeting-template-design .mtd-nav-toolbar__search .layui-icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 14px;
	pointer-events: none;
}
.meeting-template-design .mtd-nav-toolbar__search .layui-input {
	height: 34px;
	padding-left: 32px;
	border-radius: 8px;
}
.meeting-template-design .mtd-nav-toolbar-note {
	margin: 0;
	padding: 8px 20px 0;
	font-size: 11px;
	color: #94a3b8;
}
.meeting-template-design .mtd-nav-list-head {
	display: grid;
	grid-template-columns: 32px 52px 56px minmax(0, 1fr) 140px 64px;
	gap: 10px;
	align-items: center;
	padding: 10px 16px;
	margin: 12px 16px 0;
	background: #f8fafc;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.meeting-template-design .mtd-nav-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 16px 16px;
}
.meeting-template-design .mtd-nav-item {
	display: grid;
	grid-template-columns: 32px 52px 56px minmax(0, 1fr) 140px 64px;
	gap: 10px;
	align-items: center;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s, box-shadow 0.15s, opacity 0.15s;
}
.meeting-template-design .mtd-nav-item:hover {
	border-color: #cbd5e1;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}
.meeting-template-design .mtd-nav-item--off {
	opacity: 0.72;
	background: #fafafa;
}
.meeting-template-design .mtd-nav-item--off .nav-title {
	color: #94a3b8;
}
.meeting-template-design .mtd-nav-item.dragging {
	opacity: 0.55;
	border-color: #93c5fd;
	background: #eff6ff;
}
.meeting-template-design .mtd-nav-item.drag-over {
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.meeting-template-design .mtd-nav-item__drag {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 8px;
	background: #f1f5f9;
	color: #94a3b8;
	cursor: grab;
	font-size: 14px;
	letter-spacing: -2px;
	padding: 0;
}
.meeting-template-design .mtd-nav-item__drag:active { cursor: grabbing; }
.meeting-template-design .mtd-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}
.meeting-template-design .mtd-toggle input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	margin: 0;
	cursor: pointer;
	z-index: 1;
}
.meeting-template-design .mtd-toggle__ui {
	width: 40px;
	height: 22px;
	border-radius: 999px;
	background: #cbd5e1;
	position: relative;
	transition: background 0.2s;
}
.meeting-template-design .mtd-toggle__ui::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	transition: transform 0.2s;
}
.meeting-template-design .mtd-toggle input:checked + .mtd-toggle__ui {
	background: #2563eb;
}
.meeting-template-design .mtd-toggle input:checked + .mtd-toggle__ui::after {
	transform: translateX(18px);
}
.meeting-template-design .mtd-nav-item__enable {
	display: flex;
	justify-content: center;
}
.meeting-template-design .nav-icon-picker {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}
.meeting-template-design .nav-icon-picker .nav-icon-select {
	display: none !important;
}
.meeting-template-design .nav-icon-trigger {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s, transform 0.1s;
}
.meeting-template-design .nav-icon-chevron {
	font-size: 10px;
	color: #94a3b8;
	line-height: 1;
}
.meeting-template-design .nav-icon-trigger:hover {
	border-color: #93c5fd;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
}
.meeting-template-design .nav-icon-display {
	font-size: 22px;
	line-height: 1;
}
.meeting-template-design .mtd-nav-item__main { min-width: 0; }
.meeting-template-design .mtd-nav-item__main .nav-title {
	height: 34px;
	font-weight: 600;
	font-size: 13px;
}
.meeting-template-design .mtd-nav-item__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}
.meeting-template-design .mtd-nav-item__meta .col-code {
	font-size: 10px;
	padding: 1px 6px;
	border-radius: 4px;
	background: #f1f5f9;
	color: #64748b;
	font-family: ui-monospace, monospace;
}
.meeting-template-design .mtd-nav-item__meta .col-desc {
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.meeting-template-design .mtd-nav-item__meta .col-maintain-hint {
	flex: 1 1 100%;
	display: flex;
	align-items: flex-start;
	gap: 4px;
	margin-top: 4px;
	padding: 6px 8px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #dbeafe;
	font-size: 11px;
	color: #1d4ed8;
	line-height: 1.45;
}
.meeting-template-design .mtd-nav-item__meta .col-maintain-hint[hidden] {
	display: none !important;
}
.meeting-template-design .mtd-nav-item__meta .col-maintain-hint .layui-icon {
	font-size: 13px;
	margin-top: 1px;
	flex-shrink: 0;
}
.mtd-icon-layer { padding: 4px 4px 8px; }
.mtd-icon-layer__sub {
	margin: 0 0 12px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.55;
}
.mtd-icon-layer .ms-icon-grid {
	padding: 0;
	max-height: min(60vh, 420px);
}
.meeting-template-design .mtd-nav-item__tile {
	display: flex;
	gap: 8px;
	align-items: flex-end;
}
.meeting-template-design .mtd-mini-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	min-width: 0;
}
.meeting-template-design .mtd-mini-field > span {
	font-size: 10px;
	color: #94a3b8;
	font-weight: 600;
}
.meeting-template-design .nav-tile-color {
	width: 100%;
	height: 30px;
	padding: 2px;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	cursor: pointer;
	background: #fff;
}
.meeting-template-design .nav-tile-span {
	height: 30px;
	font-size: 11px;
	border-radius: 6px;
}
.meeting-template-design .mtd-nav-item__sort.ms-sort-btns {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.meeting-template-design .ms-sort-btns button {
	width: 28px;
	height: 28px;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	background: #fff;
	color: #64748b;
	cursor: pointer;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.meeting-template-design .ms-sort-btns button .layui-icon {
	font-size: 14px;
}
.meeting-template-design .ms-sort-btns button:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #f8fbff;
}
.meeting-template-design .mtd-nav-empty {
	text-align: center;
	padding: 24px 16px 32px;
	color: #94a3b8;
	font-size: 13px;
}
.meeting-template-design .ms-card-head-tip { display: none; }
.meeting-minisite-pro .ms-upload-box { margin-top: 8px; }

/* 栏目图标宫格选择（小屏底部面板 / 大屏居中弹层） */
body.ms-icon-sheet-open { overflow: hidden; }
.ms-icon-sheet {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	pointer-events: none;
}
.ms-icon-sheet[hidden] { display: none !important; }
.ms-icon-sheet.show { pointer-events: auto; }
.ms-icon-sheet-mask {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.45);
	opacity: 0;
	transition: opacity .25s;
}
.ms-icon-sheet.show .ms-icon-sheet-mask { opacity: 1; }
.ms-icon-sheet-panel {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: min(72vh, 520px);
	background: #fff;
	border-radius: 16px 16px 0 0;
	box-shadow: 0 -8px 32px rgba(0,0,0,.12);
	display: flex;
	flex-direction: column;
	transform: translateY(100%);
	transition: transform .28s cubic-bezier(.32,.72,0,1);
}
.ms-icon-sheet.show .ms-icon-sheet-panel { transform: translateY(0); }
.ms-icon-sheet-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 16px 8px;
	border-bottom: 1px solid #f0f0f0;
}
.ms-icon-sheet-head strong {
	font-size: 16px;
	font-weight: 600;
	color: rgba(0,0,0,.88);
}
.ms-icon-sheet-close {
	width: 32px;
	height: 32px;
	border: none;
	background: #f5f5f5;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
	color: #595959;
	cursor: pointer;
}
.ms-icon-sheet-sub {
	margin: 0;
	padding: 0 16px 12px;
	font-size: 13px;
	color: rgba(0,0,0,.45);
}
.ms-icon-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	padding: 4px 16px 20px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.ms-icon-grid-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 72px;
	padding: 10px 6px;
	border: 1px solid #f0f0f0;
	border-radius: 10px;
	background: #fafafa;
	cursor: pointer;
	transition: border-color .2s, background .2s, transform .15s;
}
.ms-icon-grid-item:active { transform: scale(.96); }
.ms-icon-grid-item.active {
	border-color: #1890ff;
	background: #e6f7ff;
	box-shadow: inset 0 0 0 1px rgba(24,144,255,.2);
}
.ms-icon-grid-emoji {
	font-size: 26px;
	line-height: 1;
}
.ms-icon-grid-label {
	font-size: 11px;
	color: rgba(0,0,0,.55);
	text-align: center;
	line-height: 1.2;
	word-break: keep-all;
}
@media (min-width: 961px) {
	.ms-icon-sheet { align-items: center; }
	.ms-icon-sheet-panel {
		border-radius: 12px;
		max-height: min(80vh, 560px);
		transform: translateY(16px) scale(.96);
		opacity: 0;
		transition: transform .22s, opacity .22s;
	}
	.ms-icon-sheet.show .ms-icon-sheet-panel {
		transform: translateY(0) scale(1);
		opacity: 1;
	}
	.ms-icon-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		padding-bottom: 24px;
	}
}
/* 模板设计页 · 右侧导航预览 mockup */
.meeting-template-design .mtd-preview-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.meeting-template-design .mtd-preview-live {
	font-style: normal;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, #ecfdf5, #d1fae5);
	color: #059669;
	border: 1px solid #a7f3d0;
	letter-spacing: 0.02em;
}
.meeting-template-design .ms-preview-stack {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.meeting-template-design .ms-preview-mode-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	align-self: center;
}
.meeting-template-design .ms-preview-mode-tag .layui-icon {
	font-size: 13px;
	color: #64748b;
}
.meeting-template-design .ms-phone-shell {
	padding: 10px 8px 6px;
	background: linear-gradient(160deg, #1e293b 0%, #0f172a 55%, #334155 100%);
	border-radius: 28px;
	box-shadow:
		0 18px 40px rgba(15, 23, 42, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.meeting-template-design .ms-phone {
	--preview-theme: #2563eb;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 360px;
	max-width: 260px;
	margin: 0 auto;
	border-radius: 22px;
	overflow: hidden;
	background: #f8fafc;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.meeting-template-design .ms-phone-status {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 8px 14px 4px;
	background: #fff;
	font-size: 10px;
	font-weight: 600;
	color: #0f172a;
}
.meeting-template-design .ms-phone-status__time { justify-self: start; }
.meeting-template-design .ms-phone-status__island {
	width: 52px;
	height: 14px;
	border-radius: 999px;
	background: #0f172a;
	justify-self: center;
}
.meeting-template-design .ms-phone-status__icons {
	justify-self: end;
	display: inline-flex;
	gap: 3px;
	align-items: flex-end;
}
.meeting-template-design .ms-phone-status__icons i {
	display: block;
	background: #0f172a;
	border-radius: 1px;
}
.meeting-template-design .ms-phone-status__icons i:nth-child(1) { width: 10px; height: 6px; }
.meeting-template-design .ms-phone-status__icons i:nth-child(2) { width: 8px; height: 8px; border-radius: 2px; }
.meeting-template-design .ms-phone-status__icons i:nth-child(3) { width: 14px; height: 7px; border-radius: 2px; }
.meeting-template-design .ms-phone-header {
	padding: 10px 14px 12px;
	background: linear-gradient(135deg, var(--preview-theme), color-mix(in srgb, var(--preview-theme) 55%, #0f172a));
	color: #fff;
}
.meeting-template-design .ms-phone-header__title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.meeting-template-design .ms-phone-header__sub {
	margin-top: 2px;
	font-size: 10px;
	opacity: 0.82;
}
.meeting-template-design .ms-phone-scroll {
	flex: 1;
	overflow: hidden;
	background: #fff;
}
.meeting-template-design .ms-preview-content {
	min-height: 140px;
	padding: 10px 12px 12px;
}
.meeting-template-design .ms-preview-hero {
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 10px;
	background: linear-gradient(135deg, var(--preview-theme), color-mix(in srgb, var(--preview-theme) 50%, #0f172a));
	color: #fff;
}
.meeting-template-design .ms-preview-hero em {
	display: block;
	font-style: normal;
	font-size: 9px;
	opacity: 0.85;
	margin-bottom: 2px;
}
.meeting-template-design .ms-preview-hero strong {
	display: block;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 700;
}
.meeting-template-design .ms-preview-page-hint {
	font-size: 10px;
	font-weight: 600;
	color: #94a3b8;
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.meeting-template-design .ms-preview-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}
.meeting-template-design .ms-preview-nav-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 10px;
	padding: 5px 10px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	border: 1px solid #e2e8f0;
	max-width: 100%;
}
.meeting-template-design .ms-preview-nav-item.active {
	background: color-mix(in srgb, var(--preview-theme) 12%, #fff);
	color: var(--preview-theme);
	border-color: color-mix(in srgb, var(--preview-theme) 35%, #fff);
	font-weight: 600;
}
.meeting-template-design .ms-preview-nav-ico { font-size: 12px; line-height: 1; }
.meeting-template-design .ms-preview-nav-txt {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 72px;
}
.meeting-template-design .ms-preview-skeleton { display: flex; flex-direction: column; gap: 6px; }
.meeting-template-design .ms-preview-skeleton__line {
	height: 8px;
	border-radius: 4px;
	background: linear-gradient(90deg, #f1f5f9, #e2e8f0, #f1f5f9);
	background-size: 200% 100%;
	animation: mtd-preview-shimmer 1.6s ease infinite;
}
.meeting-template-design .ms-preview-skeleton__line--short { width: 62%; }
.meeting-template-design .ms-preview-skeleton__block {
	height: 48px;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px dashed #e2e8f0;
}
@keyframes mtd-preview-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
.meeting-template-design .ms-preview-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: #94a3b8;
	text-align: center;
	padding: 32px 12px;
	margin: 0;
}
.meeting-template-design .ms-preview-empty .layui-icon { font-size: 22px; color: #cbd5e1; }
.meeting-template-design .ms-preview-bento-hero {
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 10px;
	background: linear-gradient(135deg, var(--preview-theme), color-mix(in srgb, var(--preview-theme) 45%, #0f172a));
	color: #fff;
}
.meeting-template-design .ms-preview-bento-hero__badge {
	display: inline-block;
	font-size: 9px;
	padding: 1px 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	margin-bottom: 4px;
}
.meeting-template-design .ms-preview-bento-hero strong {
	display: block;
	font-size: 12px;
	line-height: 1.35;
}
.meeting-template-design .ms-preview-bento-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
.meeting-template-design .ms-preview-bento-tile {
	--tile-color: #64748b;
	position: relative;
	border-radius: 10px;
	color: #fff;
	padding: 10px 6px;
	text-align: center;
	font-size: 10px;
	line-height: 1.2;
	min-height: 58px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	background: linear-gradient(145deg, var(--tile-color), color-mix(in srgb, var(--tile-color) 70%, #0f172a));
	box-shadow: 0 4px 10px color-mix(in srgb, var(--tile-color) 35%, transparent);
}
.meeting-template-design .ms-preview-bento-tile.wide { grid-column: span 2; }
.meeting-template-design .ms-preview-bento-tile .ico { font-size: 18px; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15)); }
.meeting-template-design .ms-preview-bento-tile .lbl {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	font-weight: 600;
}
.meeting-template-design .ms-preview--bento .ms-phone-header { display: none; }
.meeting-template-design .ms-preview--bento .ms-phone-scroll { background: #f8fafc; }
.meeting-template-design .ms-preview--bento .ms-preview-content { padding-top: 12px; }
.meeting-template-design .ms-preview-tabbar {
	display: none;
	border-top: 1px solid #e2e8f0;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(8px);
	padding: 6px 0 2px;
}
.meeting-template-design .ms-preview--tabbar .ms-preview-tabbar { display: block; }
.meeting-template-design .ms-preview-tabbar-inner {
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
	gap: 2px;
	padding: 0 4px;
}
.meeting-template-design .ms-preview-tab {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 9px;
	color: #94a3b8;
	padding: 2px 4px 4px;
	flex: 1;
	min-width: 0;
}
.meeting-template-design .ms-preview-tab i {
	font-style: normal;
	font-size: 16px;
	line-height: 1.15;
}
.meeting-template-design .ms-preview-tab em {
	font-style: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	margin-top: 2px;
}
.meeting-template-design .ms-preview-tab.active {
	color: var(--preview-theme);
	font-weight: 600;
}
.meeting-template-design .ms-preview-tab.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 16px;
	height: 2px;
	border-radius: 999px;
	background: var(--preview-theme);
}
.meeting-template-design .ms-preview-tab--more { opacity: 0.75; }
.meeting-template-design .ms-phone-home-indicator {
	height: 14px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.meeting-template-design .ms-phone-home-indicator::after {
	content: '';
	width: 72px;
	height: 4px;
	border-radius: 999px;
	background: #cbd5e1;
}
.meeting-template-design .ms-preview-pc-shell {
	padding: 8px;
	background: linear-gradient(180deg, #f1f5f9, #e2e8f0);
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}
.meeting-template-design .ms-preview-pc {
	--preview-theme: #2563eb;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	font-size: 10px;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}
.meeting-template-design .ms-preview-pc-chrome {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 6px 8px;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-template-design .ms-preview-pc-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #cbd5e1;
}
.meeting-template-design .ms-preview-pc-dot:nth-child(1) { background: #fca5a5; }
.meeting-template-design .ms-preview-pc-dot:nth-child(2) { background: #fcd34d; }
.meeting-template-design .ms-preview-pc-dot:nth-child(3) { background: #86efac; }
.meeting-template-design .ms-preview-pc-url {
	flex: 1;
	font-style: normal;
	font-size: 9px;
	color: #64748b;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	padding: 3px 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-template-design .ms-preview-pc-topnav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 8px 10px;
	background: #fff;
	border-bottom: 1px solid #f1f5f9;
}
.meeting-template-design .ms-preview-pc-tab {
	padding: 3px 10px;
	border-radius: 999px;
	background: #f8fafc;
	color: #64748b;
	border: 1px solid #e2e8f0;
}
.meeting-template-design .ms-preview-pc-tab.active {
	background: color-mix(in srgb, var(--preview-theme) 12%, #fff);
	color: var(--preview-theme);
	border-color: color-mix(in srgb, var(--preview-theme) 30%, #fff);
	font-weight: 600;
}
.meeting-template-design .ms-preview-pc-body {
	padding: 14px 12px 16px;
	background: #fff;
}
.meeting-template-design .ms-preview-pc-body__title {
	font-size: 12px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 10px;
}
.meeting-template-design .ms-preview-pc-body__lines {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.meeting-template-design .ms-preview-pc-body__lines span {
	display: block;
	height: 8px;
	border-radius: 4px;
	background: #f1f5f9;
}
.meeting-template-design .ms-preview-pc-body__lines span.short { width: 55%; }
.meeting-template-design .ms-preview-pc-hero {
	color: #fff;
	text-align: center;
	padding: 18px 10px 16px;
	background: linear-gradient(135deg, var(--preview-theme), color-mix(in srgb, var(--preview-theme) 40%, #0f172a));
}
.meeting-template-design .ms-preview-pc-hero__tag {
	display: inline-block;
	font-size: 9px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	margin-bottom: 6px;
}
.meeting-template-design .ms-preview-pc-hero strong {
	display: block;
	font-size: 12px;
	line-height: 1.35;
}
.meeting-template-design .ms-preview-pc-actions {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	padding: 10px;
	background: #fff;
}
.meeting-template-design .ms-preview-pc-act {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
	padding: 8px 4px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	color: #475569;
	overflow: hidden;
}
.meeting-template-design .ms-preview-pc-act i {
	font-style: normal;
	font-size: 16px;
	line-height: 1;
}
.meeting-template-design .ms-preview-pc-act em {
	font-style: normal;
	font-size: 9px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}
.meeting-template-design .ms-preview-pc-block {
	padding: 10px;
	background: #fff;
	border-top: 1px solid #f1f5f9;
}
.meeting-template-design .ms-preview-pc-block strong {
	display: block;
	font-size: 10px;
	color: #0f172a;
	margin-bottom: 8px;
	font-weight: 700;
}
.meeting-template-design .ms-preview-pc-news {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
}
.meeting-template-design .ms-preview-pc-news span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	padding: 8px 4px;
	text-align: center;
}
.meeting-template-design .ms-preview-pc-news b {
	font-size: 14px;
	color: var(--preview-theme);
	line-height: 1;
}
.meeting-template-design .ms-preview-pc-news em {
	font-style: normal;
	font-size: 8px;
	color: #64748b;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}
.meeting-template-design .ms-preview-pc-links {
	display: flex;
	gap: 6px;
}
.meeting-template-design .ms-preview-pc-links em {
	flex: 1;
	font-style: normal;
	background: #f8fafc;
	border: 1px dashed #e2e8f0;
	border-radius: 6px;
	padding: 10px 2px;
	text-align: center;
	color: #94a3b8;
	font-size: 9px;
}
.meeting-template-design .ms-preview-pc-footer {
	color: #fff;
	text-align: center;
	padding: 10px 8px;
	font-size: 9px;
	background: linear-gradient(135deg, var(--preview-theme), color-mix(in srgb, var(--preview-theme) 55%, #1e3a8a));
}
.meeting-template-design .ms-preview-hint {
	text-align: center;
	margin-top: 12px;
	font-size: 12px;
}
.meeting-template-design .ms-tips-card .pro-card-body { padding-top: 4px; }
@media (max-width: 960px) {
	.meeting-template-design .mtd-nav-panel__head {
		flex-direction: column;
	}
	.meeting-template-design .mtd-nav-toolbar {
		flex-direction: column;
		align-items: stretch;
	}
	.meeting-template-design .mtd-nav-toolbar__search {
		max-width: none;
	}
	.meeting-template-design .mtd-nav-list-head { display: none; }
	.meeting-template-design .mtd-nav-item {
		grid-template-columns: 32px 44px 48px minmax(0, 1fr) 56px;
		grid-template-areas:
			"drag on icon main sort"
			"tile tile tile tile tile";
	}
	.meeting-template-design .mtd-nav-item__drag { grid-area: drag; }
	.meeting-template-design .mtd-nav-item__enable { grid-area: on; }
	.meeting-template-design .mtd-nav-item__icon { grid-area: icon; }
	.meeting-template-design .mtd-nav-item__main { grid-area: main; }
	.meeting-template-design .mtd-nav-item__sort { grid-area: sort; flex-direction: row; }
	.meeting-template-design .mtd-nav-item__tile {
		grid-area: tile;
		padding-top: 4px;
		border-top: 1px dashed #f1f5f9;
		margin-top: 4px;
	}
}
@media (max-width: 640px) {
	.meeting-template-design .mtd-nav-item {
		grid-template-columns: 32px 44px 1fr;
		grid-template-areas:
			"drag on main"
			"icon icon icon"
			"tile tile tile"
			"sort sort sort";
	}
	.meeting-template-design .mtd-nav-item__icon { justify-content: flex-start; }
	.meeting-template-design .mtd-nav-item__sort {
		flex-direction: row;
		justify-content: flex-end;
	}
}

/* 会后问卷管理 */
.meeting-survey-pro .ms-layout--survey { display: grid; grid-template-columns: 1fr 280px; gap: 16px; align-items: start; }
.meeting-survey-pro .sv-mode-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.meeting-survey-pro .sv-mode-tab {
	display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 2px solid #e8edf3; border-radius: 10px;
	cursor: pointer; transition: border-color .2s, background .2s; position: relative;
}
.meeting-survey-pro .sv-mode-tab input { position: absolute; opacity: 0; pointer-events: none; }
.meeting-survey-pro .sv-mode-tab.active { border-color: var(--mhub-primary, #0f4c81); background: #f0f7ff; }
.meeting-survey-pro .sv-mode-tab-icon { font-size: 22px; line-height: 1; }
.meeting-survey-pro .sv-mode-tab strong { font-size: 14px; color: #1e293b; }
.meeting-survey-pro .sv-mode-tab em { font-size: 12px; color: var(--mhub-muted); font-style: normal; }
.meeting-survey-pro .sv-q-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.meeting-survey-pro .sv-q-toolbar-hint { font-size: 12px; color: var(--mhub-muted); margin-left: auto; }
.meeting-survey-pro .sv-q-list { display: flex; flex-direction: column; gap: 10px; }
.meeting-survey-pro .sv-q-row {
	display: grid; grid-template-columns: 28px 1fr 32px; gap: 10px; align-items: start;
	padding: 14px; border: 1px solid #e8edf3; border-radius: 8px; background: #fafbfc;
}
.meeting-survey-pro .sv-q-row.dragging { opacity: .55; background: #e6f7ff; }
.meeting-survey-pro .sv-q-drag { cursor: grab; color: #94a3b8; text-align: center; padding-top: 8px; user-select: none; }
.meeting-survey-pro .sv-q-main { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.meeting-survey-pro .sv-q-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-survey-pro .sv-q-meta select, .meeting-survey-pro .sv-q-meta .layui-input { height: 32px; font-size: 13px; }
.meeting-survey-pro .sv-q-type { width: 120px; }
.meeting-survey-pro .sv-q-max { width: 96px; }
.meeting-survey-pro .sv-q-options { flex: 1; min-width: 160px; }
.meeting-survey-pro .sv-q-req { font-size: 12px; color: #64748b; display: flex; align-items: center; gap: 4px; }
.meeting-survey-pro .sv-q-del {
	width: 28px; height: 28px; border: 1px solid #fecaca; background: #fff; color: #dc2626;
	border-radius: 6px; cursor: pointer; font-size: 18px; line-height: 1;
}
.meeting-survey-pro .sv-external-tip {
	display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; padding: 12px 14px;
	background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; font-size: 13px; color: #92400e;
}
.meeting-survey-pro .sv-stats-summary { display: flex; gap: 12px; margin-bottom: 16px; }
.meeting-survey-pro .sv-stat-pill {
	display: flex; flex-direction: column; align-items: center; min-width: 88px; padding: 12px 16px;
	background: linear-gradient(135deg, #0f4c81, #1d6eb5); color: #fff; border-radius: 10px;
}
.meeting-survey-pro .sv-stat-pill span { font-size: 28px; font-weight: 700; line-height: 1.1; }
.meeting-survey-pro .sv-stat-pill em { font-size: 12px; opacity: .85; font-style: normal; }
.meeting-survey-pro .sv-stat-item { padding: 14px 0; border-bottom: 1px solid #f0f0f0; }
.meeting-survey-pro .sv-stat-item:last-child { border-bottom: none; }
.meeting-survey-pro .sv-stat-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.meeting-survey-pro .sv-stat-avg { font-size: 13px; color: var(--mhub-primary); }
.meeting-survey-pro .sv-stat-avg em { color: var(--mhub-muted); font-style: normal; }
.meeting-survey-pro .sv-bar-row { display: grid; grid-template-columns: 36px 1fr 32px; gap: 8px; align-items: center; margin: 4px 0; font-size: 12px; }
.meeting-survey-pro .sv-bar { height: 8px; background: #f1f5f9; border-radius: 4px; overflow: hidden; }
.meeting-survey-pro .sv-bar i { display: block; height: 100%; background: linear-gradient(90deg, #3b82f6, #0f4c81); border-radius: 4px; }
.meeting-survey-pro .sv-text-answers { margin: 8px 0 0; padding-left: 18px; font-size: 13px; color: #475569; }
.meeting-survey-pro .sv-refresh-btn { float: right; margin-top: -4px; }
.meeting-survey-pro .sv-portal-url { display: block; font-size: 12px; word-break: break-all; padding: 8px; background: #f8fafc; border-radius: 6px; }
.meeting-survey-pro .sv-aside-actions { display: flex; flex-direction: column; gap: 8px; }
.meeting-survey-pro .pro-btn-block { width: 100%; justify-content: center; }
@media (max-width: 960px) {
	.meeting-survey-pro .ms-layout--survey { grid-template-columns: 1fr; }
	.meeting-survey-pro .sv-mode-tabs { grid-template-columns: 1fr; }
}

/* 会议公告管理 */
.meeting-announce-pro .ms-layout--announce { display: grid; grid-template-columns: 1fr 360px; gap: 16px; align-items: start; }
.meeting-announce-pro .ann-stats { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.meeting-announce-pro .ann-stat-pill {
	display: flex; flex-direction: column; align-items: center; min-width: 88px; padding: 12px 18px;
	background: #f8fafc; border: 1px solid #e8edf3; border-radius: 10px;
}
.meeting-announce-pro .ann-stat-pill span { font-size: 26px; font-weight: 700; color: #1e293b; line-height: 1.1; }
.meeting-announce-pro .ann-stat-pill em { font-size: 12px; color: #64748b; font-style: normal; margin-top: 2px; }
.meeting-announce-pro .ann-stat-pill--on { background: #ecfdf5; border-color: #a7f3d0; }
.meeting-announce-pro .ann-stat-pill--on span { color: #059669; }
.meeting-announce-pro .ann-stat-pill--off { background: #fffbeb; border-color: #fde68a; }
.meeting-announce-pro .ann-stat-pill--off span { color: #d97706; }
.meeting-announce-pro .ann-head-btn { float: right; margin-top: -2px; }
.meeting-announce-pro .ann-list { display: flex; flex-direction: column; gap: 12px; }
.meeting-announce-pro .ann-item {
	padding: 16px 18px; border: 1px solid #e8edf3; border-radius: 10px; background: #fff;
	transition: box-shadow .2s, border-color .2s;
}
.meeting-announce-pro .ann-item:hover { border-color: #bae0ff; box-shadow: 0 4px 12px rgba(15,76,129,.06); }
.meeting-announce-pro .ann-item-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.meeting-announce-pro .ann-tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px;
}
.meeting-announce-pro .ann-tag--default { background: #f1f5f9; color: #475569; }
.meeting-announce-pro .ann-tag--warning { background: #fef3c7; color: #b45309; }
.meeting-announce-pro .ann-tag--danger { background: #fee2e2; color: #dc2626; }
.meeting-announce-pro .ann-status { margin-left: auto; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; }
.meeting-announce-pro .ann-status--on { background: #dcfce7; color: #16a34a; }
.meeting-announce-pro .ann-status--off { background: #f1f5f9; color: #64748b; }
.meeting-announce-pro .ann-item-title { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: #1e293b; line-height: 1.45; }
.meeting-announce-pro .ann-item-summary { margin: 0 0 10px; font-size: 13px; color: #64748b; line-height: 1.55; }
.meeting-announce-pro .ann-item-meta {
	display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: #94a3b8; margin-bottom: 12px;
}
.meeting-announce-pro .ann-item-meta .layui-icon { font-size: 12px; margin-right: 2px; }
.meeting-announce-pro .ann-item-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.meeting-announce-pro .ann-empty { text-align: center; padding: 40px 20px; color: #64748b; }
.meeting-announce-pro .ann-empty-icon { font-size: 40px; margin-bottom: 8px; }
.meeting-announce-pro .ann-editor-card { position: sticky; top: 12px; }
.meeting-announce-pro .ann-editor-card--edit { box-shadow: 0 0 0 2px rgba(15,76,129,.15); }
.meeting-announce-pro .ann-req { color: #dc2626; font-style: normal; }
.meeting-announce-pro .ann-editor-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.meeting-announce-pro .pro-btn-block { width: 100%; justify-content: center; }
.ann-preview-body { padding: 20px 24px 24px; max-height: 70vh; overflow-y: auto; }
.ann-preview-tag {
	display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px;
	background: #e0f2fe; color: #0369a1; border-radius: 4px; margin-bottom: 10px;
}
.ann-preview-title { margin: 0 0 16px; font-size: 18px; color: #1e293b; line-height: 1.4; }
.ann-preview-content { font-size: 14px; color: #334155; line-height: 1.7; }
.ann-preview-content p { margin: 0 0 10px; }
@media (max-width: 960px) {
	.meeting-announce-pro .ms-layout--announce { grid-template-columns: 1fr; }
	.meeting-announce-pro .ann-editor-card { position: static; }
}

/* 发布通知队列 */
.meeting-list-pro.meeting-notify-pro .pro-card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px -18px rgba(15, 23, 42, 0.16);
	margin-bottom: 16px;
	border: 1px solid #e8eef5;
	overflow: hidden;
}
.meeting-list-pro.meeting-notify-pro .pro-card-head {
	padding: 14px 18px;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	border-bottom: 1px solid #eef2f6;
	background: #fafbfc;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.meeting-list-pro.meeting-notify-pro .pro-card-head .ms-field-hint {
	font-size: 12px;
	font-weight: 400;
	color: #94a3b8;
}
.meeting-list-pro.meeting-notify-pro .pro-card-body { padding: 16px 18px; }
.meeting-notify-pro .nq-context {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
	margin-bottom: 8px;
}
.meeting-notify-pro .nq-filter-card .pro-card-body { padding: 14px 18px; }
.meeting-notify-pro .nq-filter-form {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.meeting-notify-pro .nq-filter-label {
	font-size: 13px;
	font-weight: 700;
	color: #475569;
	margin: 0;
}
.meeting-notify-pro .nq-filter-form .layui-form-select,
.meeting-notify-pro .nq-filter-form select {
	width: min(480px, 100%);
}
.meeting-notify-pro .nq-filter-form .layui-input {
	height: 34px;
	border-radius: 8px;
}
.meeting-notify-pro .nq-overview { margin-bottom: 16px; }
.meeting-notify-pro .nq-progress-card {
	padding: 18px 20px;
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	margin-bottom: 12px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-notify-pro .nq-progress-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 12px;
}
.meeting-notify-pro .nq-progress-label {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-notify-pro .nq-progress-head strong {
	font-size: 28px;
	font-weight: 700;
	color: #2563eb;
	font-variant-numeric: tabular-nums;
}
.meeting-notify-pro .nq-progress-bar {
	height: 10px;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}
.meeting-notify-pro .nq-progress-bar i {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #60a5fa, #2563eb);
	border-radius: inherit;
	transition: width 0.3s ease;
}
.meeting-notify-pro .nq-progress-bar--sm { height: 6px; flex: 1; min-width: 80px; }
.meeting-notify-pro .nq-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 900px) {
	.meeting-notify-pro .nq-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.meeting-notify-pro .nq-stat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	min-height: 88px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.meeting-notify-pro .nq-stat:hover {
	border-color: #93c5fd;
	box-shadow: 0 8px 20px -14px rgba(37, 99, 235, 0.35);
}
.meeting-notify-pro .nq-stat__ico {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	background: #f1f5f9;
	color: #64748b;
}
.meeting-notify-pro .nq-stat__ico .layui-icon { font-size: 15px; }
.meeting-notify-pro .nq-stat--pending .nq-stat__ico { background: #fffbeb; color: #d97706; }
.meeting-notify-pro .nq-stat--sent .nq-stat__ico { background: #ecfdf5; color: #059669; }
.meeting-notify-pro .nq-stat--failed .nq-stat__ico { background: #fef2f2; color: #dc2626; }
.meeting-notify-pro .nq-stat--total .nq-stat__ico { background: #eff6ff; color: #2563eb; }
.meeting-notify-pro .nq-stat-num {
	font-size: 26px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.meeting-notify-pro .nq-stat em {
	font-size: 12px;
	color: #64748b;
	font-style: normal;
	margin-top: 4px;
	font-weight: 500;
}
.meeting-notify-pro .nq-stat--pending .nq-stat-num { color: #d97706; }
.meeting-notify-pro .nq-stat--sent .nq-stat-num { color: #059669; }
.meeting-notify-pro .nq-stat--failed .nq-stat-num { color: #dc2626; }
.meeting-notify-pro .nq-stat--total .nq-stat-num { color: #2563eb; }
.meeting-notify-pro .nq-channel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px;
}
.meeting-notify-pro .nq-channel-item {
	padding: 14px;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	background: #f8fafc;
	transition: border-color 0.15s, background 0.15s;
}
.meeting-notify-pro .nq-channel-item:hover {
	border-color: #93c5fd;
	background: #f8fbff;
}
.meeting-notify-pro .nq-channel-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
	margin-bottom: 8px;
}
.meeting-notify-pro .nq-channel-label .layui-icon {
	font-size: 15px;
	color: #64748b;
}
.meeting-notify-pro .nq-channel-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
}
.meeting-notify-pro .nq-ch-success {
	padding: 1px 7px;
	border-radius: 4px;
	background: #dcfce7;
	color: #15803d;
}
.meeting-notify-pro .nq-ch-failed {
	padding: 1px 7px;
	border-radius: 4px;
	background: #fee2e2;
	color: #b91c1c;
}
.meeting-notify-pro .nq-ch-skipped {
	padding: 1px 7px;
	border-radius: 4px;
	background: #f1f5f9;
	color: #64748b;
}
.meeting-notify-pro .nq-ch-empty { color: #94a3b8; font-weight: 500; }
.meeting-notify-pro .nq-channel-link { margin-top: 12px; margin-bottom: 0; }
.meeting-notify-pro .nq-channel-link a {
	color: #2563eb;
	font-weight: 600;
	text-decoration: none;
}
.meeting-notify-pro .nq-channel-link a:hover { text-decoration: underline; }
.meeting-notify-pro .nq-meeting-list { display: flex; flex-direction: column; gap: 10px; }
.meeting-notify-pro .nq-meeting-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.meeting-notify-pro .nq-meeting-item:hover {
	border-color: #93c5fd;
	box-shadow: 0 6px 16px -12px rgba(37, 99, 235, 0.35);
}
.meeting-notify-pro .nq-meeting-main { flex: 1; min-width: 0; }
.meeting-notify-pro .nq-meeting-title {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-notify-pro .nq-meeting-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12px;
	color: #64748b;
	margin-bottom: 10px;
}
.meeting-notify-pro .nq-meeting-meta > span {
	padding: 1px 8px;
	border-radius: 4px;
	background: #f1f5f9;
	font-weight: 600;
}
.meeting-notify-pro .nq-meta-sent { background: #dcfce7 !important; color: #15803d; }
.meeting-notify-pro .nq-meta-pending { background: #fef3c7 !important; color: #b45309; }
.meeting-notify-pro .nq-meta-failed { background: #fee2e2 !important; color: #b91c1c; }
.meeting-notify-pro .nq-meeting-progress { display: flex; align-items: center; gap: 10px; }
.meeting-notify-pro .nq-meeting-status {
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	padding: 2px 8px;
	border-radius: 999px;
}
.meeting-notify-pro .nq-meeting-status--pending { background: #fef3c7; color: #b45309; }
.meeting-notify-pro .nq-meeting-status--done { background: #dcfce7; color: #16a34a; }
.meeting-notify-pro .nq-meeting-status--partial { background: #e0e7ff; color: #4338ca; }
.meeting-notify-pro .nq-meeting-status--empty { background: #f1f5f9; color: #64748b; }
.meeting-notify-pro .nq-meeting-actions { flex-shrink: 0; }
.meeting-notify-pro .nq-tip {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 16px;
}
.meeting-notify-pro .nq-tip .layui-icon { flex-shrink: 0; margin-top: 2px; }
.meeting-notify-pro .nq-tip p { margin: 0 0 4px; }
.meeting-notify-pro .nq-tip p:last-child { margin: 0; }
.meeting-notify-pro .nq-tip a { color: #1d4ed8; font-weight: 700; }
.meeting-notify-pro .nq-tip .ms-field-hint { color: #3b82f6; font-size: 12px; }
.meeting-notify-pro .nq-empty-state {
	text-align: center;
	padding: 48px 24px;
	color: #64748b;
}
.meeting-notify-pro .nq-empty-state--inline { padding: 36px 16px; }
.meeting-notify-pro .nq-empty-state h3 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-notify-pro .nq-empty-ico {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eff6ff;
	color: #2563eb;
	border: 1px solid #bfdbfe;
}
.meeting-notify-pro .nq-empty-ico .layui-icon { font-size: 26px; }
.meeting-notify-pro .pro-btn.is-loading { opacity: 0.65; pointer-events: none; }
.meeting-notify-pro .pro-btn .layui-icon { margin-right: 2px; }
@media (max-width: 720px) {
	.meeting-notify-pro .nq-meeting-item { flex-direction: column; align-items: stretch; }
	.meeting-notify-pro .nq-meeting-actions { width: 100%; }
	.meeting-notify-pro .nq-meeting-actions .pro-btn { width: 100%; }
}

/* 议程与材料 */
.meeting-extras-pro .ex-header-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.meeting-extras-pro .ex-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.meeting-extras-pro .ex-stat-pill {
	display: flex; flex-direction: column; align-items: center; min-width: 80px; padding: 10px 16px;
	background: #f8fafc; border: 1px solid #e8edf3; border-radius: 10px;
}
.meeting-extras-pro .ex-stat-pill span { font-size: 22px; font-weight: 700; color: #1e293b; line-height: 1.1; }
.meeting-extras-pro .ex-stat-pill em { font-size: 11px; color: #64748b; font-style: normal; margin-top: 2px; }
.meeting-extras-pro .ex-stat-pill--muted { background: #fff; }
.meeting-extras-pro .ex-tabs { margin-top: 0; }
.meeting-extras-pro .ex-tab-title { border-bottom: 2px solid #e8edf3; padding: 0 4px; }
.meeting-extras-pro .ex-tab-title li { font-size: 14px; font-weight: 500; padding: 0 18px; line-height: 42px; }
.meeting-extras-pro .ex-tab-content { padding-top: 16px; }
.meeting-extras-pro .ex-split { display: grid; grid-template-columns: 1fr 320px; gap: 16px; align-items: start; }
.meeting-extras-pro .ex-split--single { grid-template-columns: 1fr; }
.meeting-extras-pro .ex-aside { display: flex; flex-direction: column; gap: 12px; }
.meeting-extras-pro .ex-editor-card { position: sticky; top: 12px; }
.meeting-extras-pro .ex-editor-card--edit { box-shadow: 0 0 0 2px rgba(15,76,129,.12); }
.meeting-extras-pro .ex-req { color: #dc2626; font-style: normal; }
.meeting-extras-pro .ex-empty { text-align: center; padding: 36px 16px; color: #64748b; }
.meeting-extras-pro .ex-empty--inline { padding: 24px 12px; }
.meeting-extras-pro .ex-empty-icon { font-size: 36px; margin-bottom: 8px; }
.meeting-extras-pro .ex-agenda-list, .meeting-extras-pro .ex-material-list { display: flex; flex-direction: column; gap: 10px; }
.meeting-extras-pro .ex-agenda-item, .meeting-extras-pro .ex-material-item {
	display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px;
	border: 1px solid #e8edf3; border-radius: 10px; background: #fafbfc;
}
.meeting-extras-pro .ex-agenda-no {
	flex-shrink: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
	background: #e0f2fe; color: #0369a1; font-weight: 700; font-size: 13px; border-radius: 8px;
}
.meeting-extras-pro .ex-agenda-body, .meeting-extras-pro .ex-material-body { flex: 1; min-width: 0; }
.meeting-extras-pro .ex-agenda-body h3, .meeting-extras-pro .ex-material-body h3 {
	margin: 0 0 6px; font-size: 14px; font-weight: 600; color: #1e293b; line-height: 1.45;
}
.meeting-extras-pro .ex-agenda-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: #64748b; }
.meeting-extras-pro .ex-agenda-meta .layui-icon { font-size: 12px; margin-right: 2px; }
.meeting-extras-pro .ex-material-icon { font-size: 28px; line-height: 1; flex-shrink: 0; }
.meeting-extras-pro .ex-material-head { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.meeting-extras-pro .ex-material-meta { margin: 0 0 6px; font-size: 12px; color: #64748b; }
.meeting-extras-pro .ex-file-link { font-size: 12px; color: #0f4c81; text-decoration: none; }
.meeting-extras-pro .ex-item-actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
.meeting-extras-pro .ex-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; }
.meeting-extras-pro .ex-tag--vote { background: #fef3c7; color: #b45309; }
.meeting-extras-pro .ex-tag--public { background: #ecfdf5; color: #059669; }
.meeting-extras-pro .ex-tag--type-1 { background: #e0f2fe; color: #0369a1; }
.meeting-extras-pro .ex-tag--type-2 { background: #f3e8ff; color: #7c3aed; }
.meeting-extras-pro .ex-tag--type-3 { background: #f1f5f9; color: #475569; }
.meeting-extras-pro .ex-tag--type-4 { background: #fef3c7; color: #b45309; }
.meeting-extras-pro .ex-tag--type-5 { background: #f1f5f9; color: #64748b; }
.meeting-extras-pro .ex-import-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.meeting-extras-pro .ex-file-input { max-width: 100%; font-size: 12px; }
.meeting-extras-pro .ex-check { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #64748b; margin-bottom: 10px; cursor: pointer; }
.meeting-extras-pro .ex-upload-box { margin-top: 8px; }
.meeting-extras-pro .pro-btn-block { width: 100%; justify-content: center; margin-top: 8px; }
.meeting-extras-pro .ex-invite-tip { margin-bottom: 12px; }
.meeting-extras-pro .ex-invite-picker { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.meeting-extras-pro .ex-invite-picker .layui-input { flex: 1; min-width: 200px; }
.meeting-extras-pro .ex-invite-list { display: flex; flex-direction: column; gap: 8px; }
.meeting-extras-pro .ex-invite-item {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px;
	border: 1px solid #e8edf3; border-radius: 8px; background: #fff;
}
.meeting-extras-pro .ex-invite-avatar {
	width: 36px; height: 36px; border-radius: 50%; background: #f1f5f9;
	display: flex; align-items: center; justify-content: center; color: #64748b;
}
.meeting-extras-pro .ex-invite-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.meeting-extras-pro .ex-invite-info strong { font-size: 14px; color: #1e293b; }
.meeting-extras-pro .ex-invite-info span { font-size: 12px; color: #64748b; }
.meeting-extras-pro .ex-invite-info em { font-size: 11px; color: #94a3b8; font-style: normal; }
.meeting-extras-pro .ex-vote-toolbar { float: right; display: flex; flex-wrap: wrap; gap: 6px; margin-top: -2px; }
.meeting-extras-pro .ex-head-link { float: right; margin-top: -2px; }
.meeting-extras-pro .ex-vote-preview {
	margin: 12px 0 16px; border: 1px solid #e8edf3; border-radius: 8px; overflow: hidden;
}
.meeting-extras-pro .ex-vote-preview-head {
	padding: 10px 14px; background: #f8fafc; font-size: 13px; font-weight: 600; color: #475569;
}
.meeting-extras-pro .ex-vote-preview-body {
	margin: 0; padding: 14px; font-size: 13px; line-height: 1.6; white-space: pre-wrap;
	font-family: inherit; color: #334155; max-height: 200px; overflow-y: auto;
}
.meeting-extras-pro .ex-vote-list { display: flex; flex-direction: column; gap: 14px; }
.meeting-extras-pro .ex-vote-item {
	padding: 16px 18px; border: 1px solid #e8edf3; border-radius: 10px; background: #fafbfc;
}
.meeting-extras-pro .ex-vote-title { margin: 0 0 12px; font-size: 15px; font-weight: 600; color: #1e293b; }
.meeting-extras-pro .ex-vote-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 10px;
}
.meeting-extras-pro .ex-audit-list { display: flex; flex-direction: column; gap: 8px; }
.meeting-extras-pro .ex-audit-item {
	display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; align-items: center;
	padding: 12px 14px; border: 1px solid #f1f5f9; border-radius: 8px; font-size: 13px;
}
.meeting-extras-pro .ex-audit-time { color: #94a3b8; font-size: 12px; }
.meeting-extras-pro .ex-audit-main { display: flex; flex-direction: column; gap: 2px; }
.meeting-extras-pro .ex-audit-main strong { color: #1e293b; }
.meeting-extras-pro .ex-audit-main span { color: #64748b; font-size: 12px; }
.meeting-extras-pro .ex-audit-src { font-size: 12px; color: #94a3b8; }
@media (max-width: 960px) {
	.meeting-extras-pro .ex-split { grid-template-columns: 1fr; }
	.meeting-extras-pro .ex-editor-card { position: static; }
	.meeting-extras-pro .ex-vote-grid { grid-template-columns: 1fr 1fr; }
	.meeting-extras-pro .ex-audit-item { grid-template-columns: 1fr; }
}

/* ========== 嘉宾讲者管理 Pro ========== */
.meeting-speakers-pro { --spk-accent: #2563eb; --spk-accent-soft: #eff6ff; }

.meeting-speakers-pro .spk-page-header {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px;
	margin-bottom: 20px; padding: 20px 22px; border-radius: 14px;
	background: linear-gradient(135deg, #eff6ff 0%, #fff 55%);
	border: 1px solid #dbeafe; box-shadow: 0 1px 3px rgba(15,23,42,.05);
}
.meeting-speakers-pro .spk-page-header__main { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.meeting-speakers-pro .spk-page-header__icon {
	width: 48px; height: 48px; border-radius: 12px; background: #fff; border: 1px solid #bfdbfe;
	display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(37,99,235,.12);
}
.meeting-speakers-pro .spk-page-header__title { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.meeting-speakers-pro .spk-page-header__desc { margin: 0; font-size: 13px; color: #64748b; line-height: 1.6; max-width: 640px; }
.meeting-speakers-pro .spk-page-header__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-speakers-pro .spk-page-header__actions .pro-btn .layui-icon { margin-right: 4px; font-size: 14px; }

.meeting-speakers-pro .spk-stats {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-bottom: 16px;
}
.meeting-speakers-pro .spk-stat {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px;
	background: #fff; border: 1px solid #e8edf3; box-shadow: 0 1px 2px rgba(15,23,42,.04);
	transition: box-shadow .15s, border-color .15s;
}
.meeting-speakers-pro .spk-stat:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,.06); }
.meeting-speakers-pro .spk-stat--accent { border-color: #bfdbfe; background: linear-gradient(180deg, #fff, #f8fbff); }
.meeting-speakers-pro .spk-stat--accent strong { color: var(--spk-accent); }
.meeting-speakers-pro .spk-stat--warn { border-color: #fde68a; background: linear-gradient(180deg, #fff, #fffbeb); }
.meeting-speakers-pro .spk-stat--warn strong { color: #d97706; }
.meeting-speakers-pro .spk-stat__icon {
	width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
	font-size: 18px; background: #f1f5f9; flex-shrink: 0;
}
.meeting-speakers-pro .spk-stat__icon--photo { background: #dbeafe; }
.meeting-speakers-pro .spk-stat__icon--bio { background: #ede9fe; }
.meeting-speakers-pro .spk-stat__icon--warn { background: #fef3c7; }
.meeting-speakers-pro .spk-stat__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.meeting-speakers-pro .spk-stat__body strong { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.1; font-variant-numeric: tabular-nums; }
.meeting-speakers-pro .spk-stat__body em { font-size: 12px; color: #64748b; font-style: normal; }

.meeting-speakers-pro .spk-intro-card {
	margin-bottom: 16px; border-radius: 12px; background: #fff; border: 1px solid #e8edf3;
	box-shadow: 0 1px 2px rgba(15,23,42,.04); overflow: hidden;
}
.meeting-speakers-pro .spk-intro-card__head {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px;
	padding: 14px 18px; cursor: pointer; list-style: none; font-weight: 600; color: #1e293b; background: #fafbfc;
	border-bottom: 1px solid transparent;
}
.meeting-speakers-pro .spk-intro-card[open] .spk-intro-card__head { border-bottom-color: #e8edf3; }
.meeting-speakers-pro .spk-intro-card__head::-webkit-details-marker { display: none; }
.meeting-speakers-pro .spk-intro-card__head .layui-icon { color: var(--spk-accent); margin-right: 6px; }
.meeting-speakers-pro .spk-intro-card__head em { font-size: 12px; font-weight: 400; color: #94a3b8; font-style: normal; }
.meeting-speakers-pro .spk-intro-card__body { padding: 16px 18px 18px; }
.meeting-speakers-pro .spk-intro-editor-wrap { border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0; }
.meeting-speakers-pro .spk-intro-actions { margin-top: 12px; }

.meeting-speakers-pro .spk-workspace {
	display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start;
}
.meeting-speakers-pro .spk-list-card .pro-card-body { padding-top: 0; }
.meeting-speakers-pro .spk-list-head {
	display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px;
	padding: 16px 18px; border-bottom: 1px solid #f1f5f9;
}
.meeting-speakers-pro .spk-list-head__title { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-speakers-pro .spk-list-head__hint { margin: 0; font-size: 12px; color: #94a3b8; }
.meeting-speakers-pro .spk-list-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-speakers-pro .spk-search {
	min-width: 200px; height: 36px; padding: 0 12px; border: 1px solid #d9d9d9; border-radius: 8px; font-size: 13px;
}
.meeting-speakers-pro .spk-search:focus { outline: none; border-color: var(--spk-accent); box-shadow: 0 0 0 2px rgba(37,99,235,.12); }

.meeting-speakers-pro .spk-list { display: flex; flex-direction: column; gap: 10px; padding: 14px 18px 18px; }
.meeting-speakers-pro .spk-item {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center;
	padding: 16px; border-radius: 12px; border: 1px solid #e8edf3; background: #fff;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.meeting-speakers-pro .spk-item:hover {
	border-color: #bfdbfe; box-shadow: 0 6px 18px rgba(37,99,235,.08); transform: translateY(-1px);
}
.meeting-speakers-pro .spk-item__avatar { position: relative; flex-shrink: 0; }
.meeting-speakers-pro .spk-item__photo,
.meeting-speakers-pro .spk-item__initials {
	width: 64px; height: 64px; border-radius: 50%; object-fit: cover;
	border: 3px solid #fff; box-shadow: 0 4px 12px rgba(15,23,42,.1);
}
.meeting-speakers-pro .spk-item__initials {
	display: flex; align-items: center; justify-content: center;
	font-size: 22px; font-weight: 700; color: #fff;
	background: linear-gradient(135deg, var(--spk-accent), #1e40af);
}
.meeting-speakers-pro .spk-item__idx {
	position: absolute; top: -4px; right: -6px; font-size: 10px; font-weight: 700; color: #64748b;
	background: #fff; border: 1px solid #e2e8f0; border-radius: 999px; padding: 1px 6px;
}
.meeting-speakers-pro .spk-item__title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 4px; }
.meeting-speakers-pro .spk-item__name { margin: 0; font-size: 16px; font-weight: 700; color: #0f172a; line-height: 1.35; }
.meeting-speakers-pro .spk-item__sort-tag {
	font-size: 11px; color: #94a3b8; background: #f8fafc; border: 1px solid #e8edf3;
	border-radius: 999px; padding: 1px 8px;
}
.meeting-speakers-pro .spk-item__org {
	margin: 0 0 8px; font-size: 13px; color: #64748b; line-height: 1.5;
	display: flex; align-items: flex-start; gap: 4px;
}
.meeting-speakers-pro .spk-item__org .layui-icon { font-size: 13px; margin-top: 2px; color: #94a3b8; }
.meeting-speakers-pro .spk-item__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.meeting-speakers-pro .spk-tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
}
.meeting-speakers-pro .spk-tag--ok { background: #ecfdf5; color: #059669; }
.meeting-speakers-pro .spk-tag--muted { background: #f1f5f9; color: #94a3b8; }
.meeting-speakers-pro .spk-item__bio { margin: 0; font-size: 12px; color: #94a3b8; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.meeting-speakers-pro .spk-item__actions { display: flex; flex-direction: column; gap: 6px; }
.meeting-speakers-pro .spk-action {
	width: 36px; height: 36px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff;
	display: flex; align-items: center; justify-content: center; cursor: pointer; color: #64748b;
	transition: border-color .15s, color .15s, background .15s;
}
.meeting-speakers-pro .spk-action:hover { border-color: var(--spk-accent); color: var(--spk-accent); background: var(--spk-accent-soft); }
.meeting-speakers-pro .spk-action--del:hover { border-color: #fca5a5; color: #dc2626; background: #fef2f2; }
.meeting-speakers-pro .spk-action .layui-icon { font-size: 16px; }

.meeting-speakers-pro .spk-empty,
.meeting-speakers-pro .spk-empty-filter {
	text-align: center; padding: 48px 24px; color: #64748b;
}
.meeting-speakers-pro .spk-empty__icon { font-size: 48px; margin-bottom: 12px; line-height: 1; }
.meeting-speakers-pro .spk-empty h3 { margin: 0 0 8px; font-size: 17px; color: #0f172a; }
.meeting-speakers-pro .spk-empty p { margin: 0 0 16px; font-size: 13px; }
.meeting-speakers-pro .spk-empty-filter { padding: 24px; border-top: 1px dashed #e8edf3; }

.meeting-speakers-pro .spk-aside { display: flex; flex-direction: column; gap: 12px; }
.meeting-speakers-pro .spk-editor-card { position: sticky; top: 12px; overflow: hidden; }
.meeting-speakers-pro .spk-editor-card--edit { box-shadow: 0 0 0 2px rgba(37,99,235,.18); }
.meeting-speakers-pro .spk-editor-head {
	display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px;
	background: linear-gradient(180deg, #f8fbff, #fff); border-bottom: 1px solid #e8edf3;
}
.meeting-speakers-pro .spk-editor-head__icon { font-size: 22px; line-height: 1; margin-top: 2px; }
.meeting-speakers-pro .spk-editor-head h2 { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-speakers-pro .spk-editor-head p { margin: 0; font-size: 12px; color: #94a3b8; }

.meeting-speakers-pro .spk-form-section { margin-bottom: 18px; }
.meeting-speakers-pro .spk-form-section__title {
	margin: 0 0 10px; font-size: 12px; font-weight: 700; color: #64748b;
	text-transform: uppercase; letter-spacing: .04em;
}
.meeting-speakers-pro .spk-form-grid {
	display: grid; grid-template-columns: 88px 1fr; gap: 10px 12px;
}
.meeting-speakers-pro .spk-form-item--full { grid-column: 1 / -1; }
.meeting-speakers-pro .spk-form-item--name { grid-column: 2; }
.meeting-speakers-pro .spk-req { color: #dc2626; font-style: normal; }

.meeting-speakers-pro .spk-photo-panel {
	display: flex; gap: 14px; align-items: flex-start; padding: 12px;
	background: #f8fafc; border-radius: 10px; border: 1px dashed #e2e8f0;
}
.meeting-speakers-pro .spk-photo-preview { flex-shrink: 0; }
.meeting-speakers-pro .spk-photo-preview__placeholder,
.meeting-speakers-pro .spk-photo-preview__img {
	width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
	border: 3px solid #fff; box-shadow: 0 4px 12px rgba(15,23,42,.1);
}
.meeting-speakers-pro .spk-photo-preview__placeholder {
	display: flex; align-items: center; justify-content: center;
	font-size: 26px; font-weight: 700; color: #fff;
	background: linear-gradient(135deg, var(--spk-accent), #1e40af);
}
.meeting-speakers-pro .spk-photo-upload { flex: 1; min-width: 0; }
.meeting-speakers-pro .spk-upload-box { margin-top: 8px; }
.meeting-speakers-pro .spk-bio-editor { border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0; }
.meeting-speakers-pro .spk-form-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.meeting-speakers-pro .spk-form-actions .pro-btn-block { width: 100%; justify-content: center; }

.meeting-speakers-pro .spk-tip-card .pro-card-body {
	font-size: 12px; color: #64748b; line-height: 1.65; padding: 12px 14px;
	background: #fffbeb; border-radius: 0 0 12px 12px;
}
.meeting-speakers-pro .spk-tip-card .layui-icon { color: #d97706; margin-right: 4px; }

@media (max-width: 960px) {
	.meeting-speakers-pro .spk-workspace { grid-template-columns: 1fr; }
	.meeting-speakers-pro .spk-editor-card { position: static; }
	.meeting-speakers-pro .spk-form-grid { grid-template-columns: 1fr; }
	.meeting-speakers-pro .spk-form-item--sort,
	.meeting-speakers-pro .spk-form-item--name { grid-column: 1; }
	.meeting-speakers-pro .spk-item { grid-template-columns: auto 1fr; }
	.meeting-speakers-pro .spk-item__actions { flex-direction: row; grid-column: 1 / -1; justify-content: flex-end; }
}

/* ========== 分会场管理 Pro ========== */
.meeting-tracks-pro { --trk-accent: #0d9488; --trk-accent-soft: #ecfdf5; }

.meeting-tracks-pro .trk-page-header {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 16px 24px; margin-bottom: 18px;
}
.meeting-tracks-pro .trk-page-header__main { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.meeting-tracks-pro .trk-page-header__icon {
	font-size: 36px; line-height: 1; flex-shrink: 0;
	filter: drop-shadow(0 2px 4px rgba(13,148,136,.15));
}
.meeting-tracks-pro .trk-page-header__title { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.meeting-tracks-pro .trk-page-header__desc { margin: 0; font-size: 13px; color: #64748b; line-height: 1.6; max-width: 640px; }
.meeting-tracks-pro .trk-page-header__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-tracks-pro .trk-page-header__actions .pro-btn .layui-icon { margin-right: 4px; font-size: 14px; }

.meeting-tracks-pro .trk-stats {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-bottom: 16px;
}
.meeting-tracks-pro .trk-stat {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px;
	background: #fff; border: 1px solid #e8edf3; border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15,23,42,.04); transition: border-color .15s, box-shadow .15s;
}
.meeting-tracks-pro .trk-stat:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,.06); }
.meeting-tracks-pro .trk-stat--accent { border-color: #99f6e4; background: linear-gradient(180deg, #fff, #f0fdfa); }
.meeting-tracks-pro .trk-stat--accent strong { color: var(--trk-accent); }
.meeting-tracks-pro .trk-stat--warn { border-color: #fde68a; background: linear-gradient(180deg, #fff, #fffbeb); }
.meeting-tracks-pro .trk-stat--warn strong { color: #d97706; }
.meeting-tracks-pro .trk-stat__icon {
	width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
	font-size: 20px; flex-shrink: 0; background: #f1f5f9;
}
.meeting-tracks-pro .trk-stat__icon--session { background: #ccfbf1; }
.meeting-tracks-pro .trk-stat__icon--summary { background: #ede9fe; }
.meeting-tracks-pro .trk-stat__icon--warn { background: #fef3c7; }
.meeting-tracks-pro .trk-stat__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.meeting-tracks-pro .trk-stat__body strong { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.1; font-variant-numeric: tabular-nums; }
.meeting-tracks-pro .trk-stat__body em { font-size: 12px; color: #64748b; font-style: normal; }

.meeting-tracks-pro .trk-intro-card {
	margin-bottom: 16px; background: #fff; border: 1px solid #e8edf3; border-radius: 12px; overflow: hidden;
}
.meeting-tracks-pro .trk-intro-card__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 18px; cursor: pointer; font-size: 14px; font-weight: 600; color: #334155;
	background: #fafbfc; border-bottom: 1px solid transparent; list-style: none;
}
.meeting-tracks-pro .trk-intro-card[open] .trk-intro-card__head { border-bottom-color: #e8edf3; }
.meeting-tracks-pro .trk-intro-card__head::-webkit-details-marker { display: none; }
.meeting-tracks-pro .trk-intro-card__head .layui-icon { color: var(--trk-accent); margin-right: 6px; }
.meeting-tracks-pro .trk-intro-card__head em { font-size: 12px; font-weight: 400; color: #94a3b8; font-style: normal; }
.meeting-tracks-pro .trk-intro-card__body { padding: 16px 18px 18px; }
.meeting-tracks-pro .trk-intro-editor-wrap { border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0; }
.meeting-tracks-pro .trk-intro-actions { margin-top: 10px; }

.meeting-tracks-pro .trk-workspace {
	display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start;
}
.meeting-tracks-pro .trk-list-card { overflow: hidden; }
.meeting-tracks-pro .trk-list-head {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 12px 16px; padding: 16px 18px; border-bottom: 1px solid #e8edf3;
	background: linear-gradient(180deg, #fafbfc, #fff);
}
.meeting-tracks-pro .trk-list-head__title { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-tracks-pro .trk-list-head__hint { margin: 0; font-size: 12px; color: #94a3b8; }
.meeting-tracks-pro .trk-list-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-tracks-pro .trk-search {
	width: 180px; height: 32px; padding: 0 12px; border-radius: 8px;
	border: 1px solid #e2e8f0; font-size: 13px; outline: none;
}
.meeting-tracks-pro .trk-search:focus { border-color: #5eead4; box-shadow: 0 0 0 3px rgba(13,148,136,.12); }

.meeting-tracks-pro .trk-list { display: flex; flex-direction: column; gap: 0; padding: 0 !important; }
.meeting-tracks-pro .trk-item {
	display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start;
	padding: 16px 18px; border-bottom: 1px solid #f1f5f9; transition: background .12s;
}
.meeting-tracks-pro .trk-item:last-child { border-bottom: none; }
.meeting-tracks-pro .trk-item:hover { background: #fafbfc; }
.meeting-tracks-pro .trk-item.is-editing {
	background: var(--trk-accent-soft); box-shadow: inset 3px 0 0 var(--trk-accent);
}
.meeting-tracks-pro .trk-item__badge {
	display: flex; flex-direction: column; align-items: center; gap: 6px; flex-shrink: 0;
}
.meeting-tracks-pro .trk-item__idx {
	font-size: 11px; font-weight: 700; color: #94a3b8; font-variant-numeric: tabular-nums;
}
.meeting-tracks-pro .trk-item__icon {
	width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
	font-size: 22px; background: linear-gradient(135deg, #ecfdf5, #ccfbf1); border: 1px solid #99f6e4;
}
.meeting-tracks-pro .trk-item__body { min-width: 0; }
.meeting-tracks-pro .trk-item__title-row {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 6px;
}
.meeting-tracks-pro .trk-item__name { margin: 0; font-size: 15px; font-weight: 700; color: #0f172a; line-height: 1.4; }
.meeting-tracks-pro .trk-item__sort-tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
	background: #f1f5f9; color: #64748b;
}
.meeting-tracks-pro .trk-item__summary {
	margin: 0 0 8px; font-size: 13px; color: #64748b; line-height: 1.55;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.meeting-tracks-pro .trk-item__summary--empty { color: #cbd5e1; font-style: italic; }
.meeting-tracks-pro .trk-item__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.meeting-tracks-pro .trk-tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
}
.meeting-tracks-pro .trk-tag--ok { background: #ecfdf5; color: #0f766e; border: 1px solid #99f6e4; }
.meeting-tracks-pro .trk-tag--muted { background: #f8fafc; color: #94a3b8; border: 1px solid #e2e8f0; }

.meeting-tracks-pro .trk-item__actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
.meeting-tracks-pro .trk-action {
	width: 32px; height: 32px; border-radius: 8px; border: 1px solid #e2e8f0;
	background: #fff; color: #64748b; cursor: pointer; display: flex; align-items: center; justify-content: center;
	transition: all .15s;
}
.meeting-tracks-pro .trk-action .layui-icon { font-size: 16px; }
.meeting-tracks-pro .trk-action--edit:hover { border-color: #5eead4; color: var(--trk-accent); background: #ecfdf5; }
.meeting-tracks-pro .trk-action--del:hover { border-color: #fca5a5; color: #dc2626; background: #fef2f2; }

.meeting-tracks-pro .trk-empty,
.meeting-tracks-pro .trk-empty-filter {
	text-align: center; padding: 48px 24px; color: #64748b;
}
.meeting-tracks-pro .trk-empty__icon { font-size: 48px; margin-bottom: 12px; line-height: 1; }
.meeting-tracks-pro .trk-empty h3 { margin: 0 0 8px; font-size: 17px; color: #0f172a; }
.meeting-tracks-pro .trk-empty p { margin: 0 0 16px; font-size: 13px; }
.meeting-tracks-pro .trk-empty-filter { padding: 24px; border-top: 1px dashed #e8edf3; }

.meeting-tracks-pro .trk-aside { display: flex; flex-direction: column; gap: 12px; }
.meeting-tracks-pro .trk-editor-card { position: sticky; top: 12px; overflow: hidden; }
.meeting-tracks-pro .trk-editor-head {
	display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px;
	background: linear-gradient(180deg, #f0fdfa, #fff); border-bottom: 1px solid #e8edf3;
}
.meeting-tracks-pro .trk-editor-head__icon { font-size: 22px; line-height: 1; margin-top: 2px; }
.meeting-tracks-pro .trk-editor-head h2 { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-tracks-pro .trk-editor-head p { margin: 0; font-size: 12px; color: #94a3b8; }

.meeting-tracks-pro .trk-form-section { margin-bottom: 18px; }
.meeting-tracks-pro .trk-form-section__title {
	margin: 0 0 10px; font-size: 12px; font-weight: 700; color: #64748b;
	text-transform: uppercase; letter-spacing: .04em;
}
.meeting-tracks-pro .trk-form-grid { display: grid; grid-template-columns: 88px 1fr; gap: 10px 12px; }
.meeting-tracks-pro .trk-form-item--full { grid-column: 1 / -1; }
.meeting-tracks-pro .trk-req { color: #dc2626; font-style: normal; }
.meeting-tracks-pro .trk-form-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.meeting-tracks-pro .trk-form-actions .pro-btn-block { width: 100%; justify-content: center; }

.meeting-tracks-pro .trk-tip-card .pro-card-body {
	font-size: 12px; color: #64748b; line-height: 1.65; padding: 12px 14px;
	background: #f0fdfa; border-radius: 0 0 12px 12px;
}
.meeting-tracks-pro .trk-tip-card .layui-icon { color: var(--trk-accent); margin-right: 4px; }
.meeting-tracks-pro .trk-tip-card__sub { margin: 8px 0 0; font-size: 11px; color: #94a3b8; }
.meeting-tracks-pro .trk-tip-card a { color: var(--trk-accent); }

@media (max-width: 960px) {
	.meeting-tracks-pro .trk-workspace { grid-template-columns: 1fr; }
	.meeting-tracks-pro .trk-editor-card { position: static; }
	.meeting-tracks-pro .trk-form-grid { grid-template-columns: 1fr; }
	.meeting-tracks-pro .trk-item { grid-template-columns: auto 1fr; }
	.meeting-tracks-pro .trk-item__actions { flex-direction: row; grid-column: 1 / -1; justify-content: flex-end; }
}

/* ========== 会议运营看板 Pro ========== */
.meeting-ops-dash-pro { --dash-accent: #2563eb; --dash-accent-soft: #eff6ff; }

.meeting-ops-dash-pro .pro-badge {
	display: inline-block; padding: 0 8px; height: 22px; line-height: 20px;
	font-size: 12px; border-radius: 4px; border: 1px solid transparent; font-weight: 500;
}
.meeting-ops-dash-pro .pro-badge-default { background: #fafafa; border-color: #d9d9d9; color: rgba(0,0,0,0.65); }
.meeting-ops-dash-pro .pro-badge-processing { background: #e6f7ff; border-color: #91d5ff; color: #1890ff; }
.meeting-ops-dash-pro .pro-badge-warning { background: #fffbe6; border-color: #ffe58f; color: #d48806; }
.meeting-ops-dash-pro .pro-badge-success { background: #f6ffed; border-color: #b7eb8f; color: #389e0d; }
.meeting-ops-dash-pro .pro-badge-error { background: #fff2f0; border-color: #ffccc7; color: #cf1322; }

.meeting-ops-dash-pro .dash-page-header {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 16px 24px; margin-bottom: 14px;
}
.meeting-ops-dash-pro .dash-page-header__main { display: flex; gap: 14px; align-items: flex-start; min-width: 0; flex: 1; }
.meeting-ops-dash-pro .dash-page-header__icon {
	font-size: 36px; line-height: 1; flex-shrink: 0;
	filter: drop-shadow(0 2px 4px rgba(37,99,235,.15));
}
.meeting-ops-dash-pro .dash-page-header__top {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px;
}
.meeting-ops-dash-pro .dash-page-header__tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
	background: var(--dash-accent-soft); color: var(--dash-accent); border: 1px solid #bfdbfe;
}
.meeting-ops-dash-pro .dash-page-header__title { margin: 0 0 8px; font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.meeting-ops-dash-pro .dash-page-header__meta {
	display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; font-size: 13px; color: #64748b;
}
.meeting-ops-dash-pro .dash-page-header__meta span { display: inline-flex; align-items: center; gap: 4px; }
.meeting-ops-dash-pro .dash-page-header__meta .layui-icon { font-size: 14px; color: #94a3b8; }
.meeting-ops-dash-pro .dash-page-header__actions {
	display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end;
}
.meeting-ops-dash-pro .dash-page-header__actions .pro-btn .layui-icon { margin-right: 4px; font-size: 14px; }
.meeting-ops-dash-pro .dash-shortcut {
	position: relative; gap: 6px; padding-right: 10px;
}
.meeting-ops-dash-pro .dash-shortcut--on {
	border-color: #bbf7d0; background: linear-gradient(180deg, #fff, #f0fdf4);
}
.meeting-ops-dash-pro .dash-shortcut--lodging.dash-shortcut--on { border-color: #bfdbfe; background: linear-gradient(180deg, #fff, #eff6ff); }
.meeting-ops-dash-pro .dash-shortcut--travel.dash-shortcut--on { border-color: #ddd6fe; background: linear-gradient(180deg, #fff, #f5f3ff); }
.meeting-ops-dash-pro .dash-shortcut__tag {
	font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 999px;
	background: #f1f5f9; color: #94a3b8; line-height: 1.4;
}
.meeting-ops-dash-pro .dash-shortcut__tag--on { background: #dcfce7; color: #059669; }
.meeting-ops-dash-pro .dash-shortcut--lodging .dash-shortcut__tag--on { background: #dbeafe; color: #2563eb; }
.meeting-ops-dash-pro .dash-shortcut--travel .dash-shortcut__tag--on { background: #ede9fe; color: #7c3aed; }
.meeting-ops-dash-pro .dash-shortcut__badge {
	position: absolute; top: -6px; right: -4px; min-width: 16px; height: 16px; padding: 0 4px;
	border-radius: 999px; background: #ef4444; color: #fff; font-size: 10px; font-weight: 700;
	line-height: 16px; text-align: center; box-shadow: 0 1px 3px rgba(239,68,68,.35);
}

.meeting-ops-dash-pro .dash-toolbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 10px; margin-bottom: 14px; padding: 10px 14px;
	background: #fff; border: 1px solid #e8edf3; border-radius: 10px;
}
.meeting-ops-dash-pro .dash-toolbar__hint {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
	font-size: 13px; color: #64748b;
}
.meeting-ops-dash-pro .dash-toolbar__hint em { font-style: normal; color: #94a3b8; font-size: 12px; }
.meeting-ops-dash-pro .dash-live-dot {
	width: 8px; height: 8px; border-radius: 50%; background: #22c55e;
	box-shadow: 0 0 0 3px rgba(34,197,94,.2); flex-shrink: 0;
}
.meeting-ops-dash-pro .dash-live-dot.is-loading { animation: dashPulse 1s ease-in-out infinite; background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.2); }
@keyframes dashPulse { 0%,100%{ opacity:1; } 50%{ opacity:.45; } }

.meeting-ops-dash-pro .dash-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 132px), 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
/* 已收 / 待收：独立两列均分，侧栏与宽屏都按容器宽度自适应 */
.meeting-ops-dash-pro .dash-kpi-grid--money {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
	container-type: inline-size;
	container-name: dash-money-grid;
}
.meeting-ops-dash-pro .dash-kpi {
	display: flex; align-items: center; gap: 10px; padding: 12px 14px;
	background: #fff; border: 1px solid #e8edf3; border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15,23,42,.04); transition: border-color .15s, box-shadow .15s;
	min-width: 0;
}
.meeting-ops-dash-pro .dash-kpi:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15,23,42,.06); }
.meeting-ops-dash-pro .dash-kpi__icon {
	width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
	font-size: 18px; flex-shrink: 0; background: #f1f5f9;
}
.meeting-ops-dash-pro .dash-kpi--blue { border-color: #bfdbfe; background: linear-gradient(180deg, #fff, #f8fbff); }
.meeting-ops-dash-pro .dash-kpi--blue strong { color: #2563eb; }
.meeting-ops-dash-pro .dash-kpi--green strong { color: #059669; }
.meeting-ops-dash-pro .dash-kpi--amber strong { color: #d97706; }
.meeting-ops-dash-pro .dash-kpi--teal strong { color: #0d9488; }
.meeting-ops-dash-pro .dash-kpi--purple strong { color: #7c3aed; }
.meeting-ops-dash-pro .dash-kpi--money { border-color: #bbf7d0; background: linear-gradient(180deg, #fff, #f0fdf4); }
.meeting-ops-dash-pro .dash-kpi--money-pending { border-color: #fde68a; background: linear-gradient(180deg, #fff, #fffbeb); }
.meeting-ops-dash-pro .dash-kpi--money .dash-kpi__body,
.meeting-ops-dash-pro .dash-kpi--money-pending .dash-kpi__body {
	flex: 1 1 auto;
	min-width: 0;
}
.meeting-ops-dash-pro .dash-kpi-grid--money .dash-kpi--money strong,
.meeting-ops-dash-pro .dash-kpi-grid--money .dash-kpi--money-pending strong {
	font-size: clamp(13px, 5.2cqi, 18px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	display: block;
	line-height: 1.2;
}
.meeting-ops-dash-pro .dash-kpi--money strong { color: #059669; }
.meeting-ops-dash-pro .dash-kpi--money-pending strong { color: #d97706; }
/* 极窄侧栏：金额卡改为上下排布，金额占满整行 */
@container dash-money-grid (max-width: 380px) {
	.meeting-ops-dash-pro .dash-kpi-grid--money .dash-kpi--money,
	.meeting-ops-dash-pro .dash-kpi-grid--money .dash-kpi--money-pending {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}
@media (max-width: 420px) {
	.meeting-ops-dash-pro .dash-kpi-grid--money {
		grid-template-columns: 1fr;
	}
}
.meeting-ops-dash-pro .dash-kpi--sky strong { color: #0284c7; }
.meeting-ops-dash-pro .dash-kpi--indigo strong { color: #4f46e5; }
.meeting-ops-dash-pro .dash-kpi--violet strong { color: #7c3aed; }
.meeting-ops-dash-pro .dash-kpi--cyan strong { color: #0891b2; }
.meeting-ops-dash-pro .dash-insights--access {
	grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 14px;
}
.meeting-ops-dash-pro .dash-access-bars {
	display: flex; align-items: flex-end; gap: 8px; min-height: 88px; padding-top: 4px;
}
.meeting-ops-dash-pro .dash-access-bar {
	flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 88px;
}
.meeting-ops-dash-pro .dash-access-bar__fill {
	width: 100%; max-width: 28px; min-height: 8px; border-radius: 6px 6px 2px 2px;
	background: linear-gradient(180deg, #60a5fa, #2563eb); transition: height .3s ease;
}
.meeting-ops-dash-pro .dash-access-bar__label { font-size: 10px; color: #94a3b8; white-space: nowrap; }
.meeting-ops-dash-pro .dash-access-sections { display: flex; flex-direction: column; gap: 8px; }
.meeting-ops-dash-pro .dash-access-sec {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 8px 10px; border-radius: 8px; background: #f8fafc; border: 1px solid #eef2f7;
}
.meeting-ops-dash-pro .dash-access-sec__title { font-size: 13px; color: #475569; }
.meeting-ops-dash-pro .dash-access-sec__pv { font-size: 14px; font-weight: 700; color: #2563eb; font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-kpi__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.meeting-ops-dash-pro .dash-kpi__body strong { font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.1; font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-kpi__body em { font-size: 12px; color: #64748b; font-style: normal; }

.meeting-ops-dash-pro .dash-insights {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px;
}
.meeting-ops-dash-pro .dash-insight-card { overflow: hidden; }
.meeting-ops-dash-pro .dash-insight-card__head {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 14px 16px 0; background: linear-gradient(180deg, #fafbfc, #fff);
}
.meeting-ops-dash-pro .dash-insight-card__head h2 { margin: 0; font-size: 14px; font-weight: 700; color: #334155; }
.meeting-ops-dash-pro .dash-insight-card__val { font-size: 20px; font-weight: 700; color: var(--dash-accent); font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-insight-card .pro-card-body { padding: 12px 16px 16px; }
.meeting-ops-dash-pro .dash-insight-card__sub { margin: 10px 0 0; font-size: 12px; color: #64748b; }
.meeting-ops-dash-pro .dash-insight-card__sub strong { color: #334155; }

.meeting-ops-dash-pro .dash-progress {
	height: 10px; background: #e2e8f0; border-radius: 999px; overflow: hidden;
}
.meeting-ops-dash-pro .dash-progress--green .dash-progress__bar { background: linear-gradient(90deg, #34d399, #059669); }
.meeting-ops-dash-pro .dash-progress--thin { height: 6px; margin-top: 8px; }
.meeting-ops-dash-pro .dash-progress__bar {
	height: 100%; background: linear-gradient(90deg, #60a5fa, #2563eb);
	border-radius: 999px; transition: width .35s ease;
}

.meeting-ops-dash-pro .dash-finance-summary { display: flex; flex-direction: column; gap: 8px; }
.meeting-ops-dash-pro .dash-finance-row {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 8px 10px; border-radius: 8px; background: #f8fafc; font-size: 13px; color: #64748b;
}
.meeting-ops-dash-pro .dash-finance-row strong { font-size: 15px; color: #0f172a; font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-finance-row--ok strong { color: #059669; }
.meeting-ops-dash-pro .dash-finance-row--warn strong { color: #d97706; }

.meeting-ops-dash-pro .dash-panels { display: flex; flex-direction: column; gap: 14px; }
.meeting-ops-dash-pro .dash-panel { overflow: hidden; }
.meeting-ops-dash-pro .dash-panel__head {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 10px 16px; padding: 16px 18px; border-bottom: 1px solid #e8edf3;
	background: linear-gradient(180deg, #fafbfc, #fff);
}
.meeting-ops-dash-pro .dash-panel__title { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-ops-dash-pro .dash-panel__desc { margin: 0; font-size: 12px; color: #94a3b8; }

.meeting-ops-dash-pro .dash-channel-list {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px;
}
.meeting-ops-dash-pro .dash-ch-card {
	padding: 14px 16px; background: #f8fafc; border: 1px solid #eef2f7; border-radius: 10px;
	transition: border-color .15s, box-shadow .15s;
}
.meeting-ops-dash-pro .dash-ch-card:hover {
	border-color: #bfdbfe; box-shadow: 0 6px 16px rgba(37,99,235,.08); background: #fff;
}
.meeting-ops-dash-pro .dash-ch-card__head {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 12px;
	margin-bottom: 10px;
}
.meeting-ops-dash-pro .dash-ch-card__title { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: #0f172a; }
.meeting-ops-dash-pro .ch-status { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; display: inline-block; }
.meeting-ops-dash-pro .ch-status--open { background: #dcfce7; color: #16a34a; }
.meeting-ops-dash-pro .ch-status--closed { background: #f1f5f9; color: #64748b; }
.meeting-ops-dash-pro .ch-status--scheduled { background: #fef3c7; color: #b45309; }
.meeting-ops-dash-pro .ch-status--expired { background: #fee2e2; color: #dc2626; }
.meeting-ops-dash-pro .dash-ch-card__metrics { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.meeting-ops-dash-pro .dash-ch-card__metrics span { display: flex; flex-direction: column; gap: 2px; text-align: right; }
.meeting-ops-dash-pro .dash-ch-card__metrics em { font-size: 11px; color: #94a3b8; font-style: normal; }
.meeting-ops-dash-pro .dash-ch-card__metrics strong { font-size: 14px; color: #334155; font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-ch-card__share {
	display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: #64748b; margin-bottom: 4px;
}

.meeting-ops-dash-pro .dash-table-wrap { overflow-x: auto; }
.meeting-ops-dash-pro .dash-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.meeting-ops-dash-pro .dash-table th,
.meeting-ops-dash-pro .dash-table td { padding: 11px 14px; border-bottom: 1px solid #f1f5f9; text-align: left; }
.meeting-ops-dash-pro .dash-table th {
	font-size: 12px; font-weight: 700; color: #64748b; background: #fafbfc;
	text-transform: uppercase; letter-spacing: .03em;
}
.meeting-ops-dash-pro .dash-table tbody tr:hover { background: #f8fbff; }
.meeting-ops-dash-pro .dash-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.meeting-ops-dash-pro .dash-table th.num { text-align: right; }
.meeting-ops-dash-pro .dash-table td.muted { color: #94a3b8; }
.meeting-ops-dash-pro .dash-table td.ok { color: #059669; font-weight: 600; }
.meeting-ops-dash-pro .dash-table td.warn { color: #d97706; font-weight: 600; }
.meeting-ops-dash-pro .dash-table td.money { color: #059669; font-weight: 600; }
.meeting-ops-dash-pro .dash-table td.money-pending { color: #d97706; }
.meeting-ops-dash-pro .dash-table-empty { text-align: center; color: #94a3b8; padding: 32px 16px !important; }

.meeting-ops-dash-pro .dash-empty {
	grid-column: 1 / -1; text-align: center; padding: 40px 24px; color: #64748b;
}
.meeting-ops-dash-pro .dash-empty__icon { font-size: 44px; margin-bottom: 10px; line-height: 1; }
.meeting-ops-dash-pro .dash-empty h3 { margin: 0 0 8px; font-size: 16px; color: #0f172a; }
.meeting-ops-dash-pro .dash-empty p { margin: 0 0 14px; font-size: 13px; }

@media (max-width: 1100px) {
	.meeting-ops-dash-pro .dash-insights { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.meeting-ops-dash-pro .dash-page-header__actions { width: 100%; }
	.meeting-ops-dash-pro .dash-page-header__actions .pro-btn { flex: 1; justify-content: center; }
	.meeting-ops-dash-pro .dash-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.meeting-ops-dash-pro .dash-kpi-grid--money { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.meeting-ops-dash-pro .dash-channel-list { grid-template-columns: 1fr; }
}

/* ========== 会议报名管理 Pro ========== */
.meeting-reg-pro { --reg-accent: #2563eb; --reg-accent-soft: #eff6ff; }

.meeting-reg-pro .pro-badge {
	display: inline-block; padding: 0 8px; height: 22px; line-height: 20px;
	font-size: 12px; border-radius: 4px; border: 1px solid transparent; font-weight: 500;
}
.meeting-reg-pro .pro-badge-default { background: #fafafa; border-color: #d9d9d9; color: rgba(0,0,0,0.65); }
.meeting-reg-pro .pro-badge-processing { background: #e6f7ff; border-color: #91d5ff; color: #1890ff; }
.meeting-reg-pro .pro-badge-warning { background: #fffbe6; border-color: #ffe58f; color: #d48806; }
.meeting-reg-pro .pro-badge-success { background: #f6ffed; border-color: #b7eb8f; color: #389e0d; }
.meeting-reg-pro .pro-badge-error { background: #fff2f0; border-color: #ffccc7; color: #cf1322; }

.meeting-reg-pro .reg-page-header {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 16px 24px; margin-bottom: 14px;
}
.meeting-reg-pro .reg-page-header--global { margin-bottom: 12px; }
.meeting-reg-pro .reg-page-header__main { display: flex; gap: 14px; align-items: flex-start; min-width: 0; flex: 1; }
.meeting-reg-pro .reg-page-header__icon { font-size: 36px; line-height: 1; flex-shrink: 0; }
.meeting-reg-pro .reg-page-header__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.meeting-reg-pro .reg-page-header__tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
	background: var(--reg-accent-soft); color: var(--reg-accent); border: 1px solid #bfdbfe;
}
.meeting-reg-pro .reg-page-header__title { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.meeting-reg-pro .reg-page-header__desc { margin: 0; font-size: 13px; color: #64748b; line-height: 1.6; max-width: 640px; }
.meeting-reg-pro .reg-page-header__meta {
	display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; font-size: 13px; color: #64748b;
}
.meeting-reg-pro .reg-page-header__meta span { display: inline-flex; align-items: center; gap: 4px; }
.meeting-reg-pro .reg-page-header__meta .layui-icon { font-size: 14px; color: #94a3b8; }
.meeting-reg-pro .reg-page-header__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-reg-pro .reg-page-header__actions .pro-btn .layui-icon { margin-right: 4px; font-size: 14px; }

.meeting-reg-pro .reg-hint-banner {
	display: flex; align-items: flex-start; gap: 8px; margin-bottom: 14px; padding: 12px 16px;
	background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; font-size: 13px; color: #92400e; line-height: 1.55;
}
.meeting-reg-pro .reg-hint-banner .layui-icon { color: #d97706; margin-top: 2px; }

.meeting-reg-pro .reg-stats {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-bottom: 14px;
}
.meeting-reg-pro .reg-stat {
	display: flex; align-items: center; gap: 10px; padding: 12px 14px;
	background: #fff; border: 1px solid #e8edf3; border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.meeting-reg-pro .reg-stat__icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; background: #f1f5f9; flex-shrink: 0; }
.meeting-reg-pro .reg-stat--ok { border-color: #bbf7d0; background: linear-gradient(180deg, #fff, #f0fdf4); }
.meeting-reg-pro .reg-stat--ok strong { color: #059669; }
.meeting-reg-pro .reg-stat--warn { border-color: #fde68a; background: linear-gradient(180deg, #fff, #fffbeb); }
.meeting-reg-pro .reg-stat--warn strong { color: #d97706; }
.meeting-reg-pro .reg-stat--teal strong { color: #0d9488; }
.meeting-reg-pro .reg-stat--purple strong { color: #7c3aed; }
.meeting-reg-pro .reg-stat--danger { border-color: #fecaca; background: linear-gradient(180deg, #fff, #fef2f2); }
.meeting-reg-pro .reg-stat--danger strong { color: #dc2626; }
.meeting-reg-pro .reg-stat__body { display: flex; flex-direction: column; gap: 2px; }
.meeting-reg-pro .reg-stat__body strong { font-size: 22px; font-weight: 700; color: #0f172a; font-variant-numeric: tabular-nums; line-height: 1.1; }
.meeting-reg-pro .reg-stat__body em { font-size: 12px; color: #64748b; font-style: normal; }

.meeting-reg-pro .reg-extra-panels { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.meeting-reg-pro .reg-panel {
	background: #fff; border: 1px solid #e8edf3; border-radius: 12px; overflow: hidden;
}
.meeting-reg-pro .reg-panel__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 16px; cursor: pointer; font-size: 14px; font-weight: 600; color: #334155;
	background: #fafbfc; list-style: none;
}
.meeting-reg-pro .reg-panel[open] .reg-panel__head { border-bottom: 1px solid #e8edf3; }
.meeting-reg-pro .reg-panel__head::-webkit-details-marker { display: none; }
.meeting-reg-pro .reg-panel__head .layui-icon { color: var(--reg-accent); margin-right: 6px; }
.meeting-reg-pro .reg-panel__head em { font-size: 12px; font-weight: 400; color: #94a3b8; font-style: normal; }
.meeting-reg-pro .reg-panel__body { padding: 14px 16px 16px; }
.meeting-reg-pro .reg-panel__empty { margin: 0; font-size: 13px; color: #94a3b8; }

/* —— 待办收件箱 —— */
.meeting-reg-pro .reg-panel--inbox { margin-bottom: 14px; }
.meeting-reg-pro .reg-panel--inbox-hot {
	border-color: #bfdbfe;
	box-shadow: 0 4px 18px -8px rgba(37, 99, 235, 0.22);
}
.meeting-reg-pro .reg-panel--inbox-hot .reg-panel__head {
	background: linear-gradient(90deg, #eff6ff 0%, #fafbfc 55%, #fff 100%);
}
.meeting-reg-pro .reg-panel--inbox .reg-panel__head-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.meeting-reg-pro .reg-inbox-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: linear-gradient(135deg, #3b82f6, #2563eb);
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
}
.meeting-reg-pro .reg-panel--inbox:not(.reg-panel--inbox-hot) .reg-inbox-count {
	background: #e2e8f0;
	color: #64748b;
	box-shadow: none;
}
.meeting-reg-pro .reg-panel__body--inbox {
	padding: 14px 16px 16px;
	background: linear-gradient(180deg, #fafcff 0%, #fff 100%);
}
.meeting-reg-pro .reg-inbox-overview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
.meeting-reg-pro .reg-inbox-stat {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #e8edf3;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, transform .12s;
	text-align: left;
}
.meeting-reg-pro .reg-inbox-stat:hover {
	border-color: #93c5fd;
	box-shadow: 0 4px 12px -6px rgba(37, 99, 235, 0.25);
	transform: translateY(-1px);
}
.meeting-reg-pro .reg-inbox-stat--active {
	border-color: #bfdbfe;
	background: linear-gradient(180deg, #fff, #f8fbff);
}
.meeting-reg-pro .reg-inbox-stat__icon {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f5f9;
	color: #64748b;
	flex-shrink: 0;
}
.meeting-reg-pro .reg-inbox-stat--active .reg-inbox-stat__icon {
	background: var(--reg-accent-soft);
	color: var(--reg-accent);
}
.meeting-reg-pro .reg-inbox-stat__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.meeting-reg-pro .reg-inbox-stat__body em {
	font-size: 11px;
	font-style: normal;
	color: #94a3b8;
}
.meeting-reg-pro .reg-inbox-stat__body strong {
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
.meeting-reg-pro .reg-inbox-stat--active .reg-inbox-stat__body strong { color: #1d4ed8; }
.meeting-reg-pro .reg-inbox-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 320px;
	overflow-y: auto;
	padding-right: 2px;
}
.meeting-reg-pro .reg-inbox-list::-webkit-scrollbar { width: 6px; }
.meeting-reg-pro .reg-inbox-list::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 999px;
}
.meeting-reg-pro .reg-inbox-loading {
	margin: 0;
	padding: 28px 12px;
	text-align: center;
	font-size: 13px;
	color: #94a3b8;
}
.meeting-reg-pro .reg-inbox-loading .layui-icon { margin-right: 6px; color: #93c5fd; }
.meeting-reg-pro .reg-inbox-item {
	display: flex;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #e8edf3;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	text-align: left;
	transition: border-color .15s, box-shadow .15s, transform .12s;
	box-sizing: border-box;
}
.meeting-reg-pro .reg-inbox-item:hover {
	border-color: #93c5fd;
	box-shadow: 0 6px 16px -10px rgba(37, 99, 235, 0.35);
	transform: translateY(-1px);
}
.meeting-reg-pro .reg-inbox-item__icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 18px;
}
.meeting-reg-pro .reg-inbox-item--audit .reg-inbox-item__icon { background: #eff6ff; color: #2563eb; }
.meeting-reg-pro .reg-inbox-item--draft .reg-inbox-item__icon { background: #fffbeb; color: #d97706; }
.meeting-reg-pro .reg-inbox-item--change .reg-inbox-item__icon { background: #fff7ed; color: #ea580c; }
.meeting-reg-pro .reg-inbox-item--cancel .reg-inbox-item__icon { background: #fef2f2; color: #dc2626; }
.meeting-reg-pro .reg-inbox-item--default .reg-inbox-item__icon { background: #f1f5f9; color: #64748b; }
.meeting-reg-pro .reg-inbox-item--audit { border-left: 3px solid #2563eb; }
.meeting-reg-pro .reg-inbox-item--draft { border-left: 3px solid #f59e0b; }
.meeting-reg-pro .reg-inbox-item--change { border-left: 3px solid #ea580c; }
.meeting-reg-pro .reg-inbox-item--cancel { border-left: 3px solid #ef4444; }
.meeting-reg-pro .reg-inbox-item__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.meeting-reg-pro .reg-inbox-item__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	min-width: 0;
}
.meeting-reg-pro .reg-inbox-item__badge {
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	letter-spacing: .02em;
	flex-shrink: 0;
}
.meeting-reg-pro .reg-inbox-item--audit .reg-inbox-item__badge { background: #dbeafe; color: #1d4ed8; }
.meeting-reg-pro .reg-inbox-item--draft .reg-inbox-item__badge { background: #fef3c7; color: #b45309; }
.meeting-reg-pro .reg-inbox-item--change .reg-inbox-item__badge { background: #ffedd5; color: #c2410c; }
.meeting-reg-pro .reg-inbox-item--cancel .reg-inbox-item__badge { background: #fee2e2; color: #b91c1c; }
.meeting-reg-pro .reg-inbox-item__title {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-reg-pro .reg-inbox-item__sub {
	font-size: 12px;
	color: #64748b;
	font-variant-numeric: tabular-nums;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-reg-pro .reg-inbox-item__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	font-size: 12px;
	color: #94a3b8;
}
.meeting-reg-pro .reg-inbox-item__summary { color: #64748b; }
.meeting-reg-pro .reg-inbox-item__time {
	font-variant-numeric: tabular-nums;
	color: #94a3b8;
	flex-shrink: 0;
}
.meeting-reg-pro .reg-inbox-item__go {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	color: #cbd5e1;
	flex-shrink: 0;
	transition: color .12s, transform .12s;
}
.meeting-reg-pro .reg-inbox-item:hover .reg-inbox-item__go {
	color: #2563eb;
	transform: translateX(2px);
}
.meeting-reg-pro .reg-inbox-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 28px 16px;
	border: 1px dashed #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
	text-align: center;
}
.meeting-reg-pro .reg-inbox-empty__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ecfdf5;
	color: #10b981;
	font-size: 26px;
}
.meeting-reg-pro .reg-inbox-empty__title {
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: #334155;
}
.meeting-reg-pro .reg-inbox-empty__hint {
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.5;
}
.meeting-reg-pro .reg-inbox-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
}
@media (max-width: 768px) {
	.meeting-reg-pro .reg-inbox-overview { grid-template-columns: 1fr; }
	.meeting-reg-pro .reg-inbox-list { max-height: 260px; }
}

.meeting-reg-pro .reg-cert-list { display: flex; flex-direction: column; gap: 8px; }
.meeting-reg-pro .reg-cert-item {
	display: grid; grid-template-columns: 1fr auto auto; gap: 10px 16px; align-items: center;
	padding: 10px 12px; background: #f8fafc; border: 1px solid #eef2f7; border-radius: 8px;
}
.meeting-reg-pro .reg-cert-item__main { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
.meeting-reg-pro .reg-cert-item__main strong { font-size: 14px; color: #0f172a; }
.meeting-reg-pro .reg-cert-item__status { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #ecfdf5; color: #059669; }
.meeting-reg-pro .reg-cert-item__meta { font-size: 12px; color: #94a3b8; white-space: nowrap; }
.meeting-reg-pro .reg-cert-item__actions { display: flex; gap: 6px; }

.meeting-reg-pro .reg-delegate-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
}
.meeting-reg-pro .reg-delegate-card {
	padding: 12px 14px; background: #f8fafc; border: 1px solid #eef2f7; border-radius: 10px;
}
.meeting-reg-pro .reg-delegate-card h3 { margin: 0 0 10px; font-size: 14px; font-weight: 700; color: #0f172a; }
.meeting-reg-pro .reg-delegate-card__nums { display: flex; gap: 12px; flex-wrap: wrap; }
.meeting-reg-pro .reg-delegate-card__nums span { display: flex; flex-direction: column; gap: 2px; }
.meeting-reg-pro .reg-delegate-card__nums em { font-size: 11px; color: #94a3b8; font-style: normal; }
.meeting-reg-pro .reg-delegate-card__nums strong { font-size: 16px; color: #334155; font-variant-numeric: tabular-nums; }

.meeting-reg-pro .reg-search-card { padding: 18px 20px 14px; margin-bottom: 14px; border-radius: 12px; border: 1px solid #e8edf3; background: #fff; }
.meeting-reg-pro .reg-search-head {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 8px 16px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f1f5f9;
}
.meeting-reg-pro .reg-search-head__title {
	margin: 0 0 4px; font-size: 15px; font-weight: 700; color: #0f172a;
	display: flex; align-items: center; gap: 6px;
}
.meeting-reg-pro .reg-search-head__title .layui-icon { color: var(--reg-accent); font-size: 16px; }
.meeting-reg-pro .reg-search-head__hint { font-size: 12px; color: #94a3b8; }
.meeting-reg-pro .reg-search-head__count {
	font-size: 12px; font-weight: 600; color: #2563eb; background: #eff6ff;
	padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
.meeting-reg-pro .reg-search-grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px;
}
.meeting-reg-pro .reg-search-grid--primary { margin-bottom: 4px; }
.meeting-reg-pro .reg-search-grid--advanced { padding-top: 12px; }
.meeting-reg-pro .reg-search-item--wide { grid-column: span 1; }
@media (min-width: 960px) {
	.meeting-reg-pro .reg-search-grid--primary {
		grid-template-columns: minmax(260px, 1.6fr) repeat(5, minmax(110px, 1fr));
	}
}
.meeting-reg-pro .reg-search-meeting-pick {
	margin-bottom: 12px; padding: 12px 14px; border-radius: 10px;
	background: #fffbeb; border: 1px solid #fde68a;
}
.meeting-reg-pro .reg-search-meeting-pick label {
	display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; color: #92400e;
}
.meeting-reg-pro .reg-search-advanced {
	margin: 8px 0 0; border: 1px dashed #e2e8f0; border-radius: 10px; background: #fafbfc;
}
.meeting-reg-pro .reg-search-advanced[open] { background: #f8fafc; border-color: #cbd5e1; }
.meeting-reg-pro .reg-search-advanced__toggle {
	display: flex; align-items: center; gap: 6px; padding: 10px 14px;
	font-size: 13px; font-weight: 600; color: #475569; cursor: pointer; list-style: none;
}
.meeting-reg-pro .reg-search-advanced__toggle::-webkit-details-marker { display: none; }
.meeting-reg-pro .reg-search-advanced[open] .reg-search-advanced__toggle .layui-icon { transform: rotate(180deg); }
.meeting-reg-pro .reg-search-advanced__toggle .layui-icon { transition: transform .15s; color: #94a3b8; }
.meeting-reg-pro .reg-search-advanced .reg-search-grid { padding: 0 14px 14px; }
.meeting-reg-pro .reg-filter-tags {
	display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0;
}
.meeting-reg-pro .reg-filter-tag {
	display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px 4px 10px;
	border-radius: 999px; font-size: 12px; color: #1e40af; background: #eff6ff; border: 1px solid #bfdbfe;
}
.meeting-reg-pro .reg-filter-tag__close {
	border: none; background: transparent; color: #64748b; cursor: pointer;
	font-size: 14px; line-height: 1; padding: 0 2px; margin-left: 2px;
}
.meeting-reg-pro .reg-filter-tag__close:hover { color: #dc2626; }
.meeting-reg-pro .reg-search-quick {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px;
}
.meeting-reg-pro .reg-search-quick__label {
	font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em;
	margin-right: 2px;
}
.meeting-reg-pro .reg-search-quick__chip {
	display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px;
	border-radius: 999px; font-size: 12px; font-weight: 500; color: #475569;
	background: #fff; border: 1px solid #e2e8f0; cursor: pointer; transition: all .12s;
}
.meeting-reg-pro .reg-search-quick__chip:hover { border-color: #93c5fd; color: #2563eb; background: #eff6ff; }
.meeting-reg-pro .reg-search-quick__chip--muted { color: #94a3b8; }
.meeting-reg-pro .reg-search-quick__chip--muted:hover { color: #64748b; background: #f8fafc; border-color: #cbd5e1; }
.meeting-reg-pro .reg-stat--clickable { cursor: pointer; transition: transform .12s, box-shadow .12s; }
.meeting-reg-pro .reg-stat--clickable:hover {
	transform: translateY(-2px); box-shadow: 0 6px 16px -8px rgba(37, 99, 235, 0.28);
}
.meeting-reg-pro .reg-search-item label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; color: #64748b; }
.meeting-reg-pro .reg-search-item .layui-input,
.meeting-reg-pro .reg-search-item select { border-radius: 8px; border-color: #e2e8f0; }
.meeting-reg-pro .reg-search-actions {
	display: flex; gap: 8px; padding: 8px 0 12px; border-top: 1px solid #f1f5f9; margin-top: 4px;
}
.meeting-reg-pro .reg-search-actions .pro-btn .layui-icon { margin-right: 4px; font-size: 14px; }

.meeting-reg-pro .reg-table-card { overflow: hidden; border-radius: 12px; border: 1px solid #e8edf3; background: #fff; }
.meeting-reg-pro .reg-table-meta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px;
	padding: 10px 16px; border-bottom: 1px solid #f1f5f9; background: #fafbfc;
}
.meeting-reg-pro .reg-table-meta__hint {
	display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #64748b;
}
.meeting-reg-pro .reg-table-meta__hint .layui-icon { color: #94a3b8; font-size: 14px; }
.meeting-reg-pro .reg-table-meta__actions { display: flex; flex-wrap: wrap; gap: 6px; }

.meeting-reg-pro .reg-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; }
.meeting-reg-pro .reg-table-scroll .layui-table-view {
	margin: 0; border: none; width: 100% !important;
}
.meeting-reg-pro .reg-table-scroll .layui-table-box { width: 100% !important; }
.meeting-reg-pro .reg-table-scroll .layui-table-header .layui-table,
.meeting-reg-pro .reg-table-scroll .layui-table-body .layui-table {
	table-layout: fixed;
}
.meeting-reg-pro .layui-table-header.layui-table-main {
	overflow: hidden !important;
}
.meeting-reg-pro .layui-table-body.layui-table-main {
	overflow-x: auto;
}
.meeting-reg-pro .reg-col-meeting .layui-table-cell,
.meeting-reg-pro .reg-col-member .layui-table-cell {
	min-width: 0;
}
.meeting-reg-pro .reg-table-card { width: 100%; box-sizing: border-box; position: relative; }
.meeting-reg-pro .reg-toolbar {
	display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 12px 16px;
	border-bottom: 1px solid #e8edf3; background: linear-gradient(180deg, #fafbfc, #fff);
}
.meeting-reg-pro .reg-toolbar__group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.meeting-reg-pro .reg-toolbar__label {
	font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em;
	margin-right: 4px; flex-shrink: 0;
}
.meeting-reg-pro .reg-chip {
	display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px;
	border-radius: 999px; font-size: 12px; font-weight: 500; color: #475569;
	background: #fff; border: 1px solid #e2e8f0; cursor: pointer; text-decoration: none;
	transition: all .15s;
}
.meeting-reg-pro .reg-chip:hover { border-color: #93c5fd; color: #2563eb; background: #eff6ff; }
.meeting-reg-pro .reg-chip--primary { border-color: #bfdbfe; color: #2563eb; background: #eff6ff; }
.meeting-reg-pro .reg-chip--warm { border-color: #fed7aa; color: #c2410c; background: #fff7ed; }
.meeting-reg-pro .reg-chip--warm:hover { border-color: #fdba74; background: #ffedd5; }
.meeting-reg-pro .reg-chip--danger { border-color: #fecaca; color: #b91c1c; background: #fef2f2; }
.meeting-reg-pro .reg-chip--danger:hover { border-color: #fca5a5; background: #fee2e2; }

.meeting-reg-pro .reg-table-card .layui-table-view { margin: 0; border: none; }
.meeting-reg-pro .reg-table-card .layui-table thead tr { background: #fafafa; }
.meeting-reg-pro .reg-table-card .layui-table thead th { font-weight: 600; font-size: 13px; }
.meeting-reg-pro .reg-table-card .layui-table td .layui-table-cell {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-reg-pro .reg-table-card .layui-table-body tbody tr {
	height: auto !important;
}
.meeting-reg-pro .reg-table-card .layui-table-body tbody tr td {
	height: auto !important;
	vertical-align: middle;
}
.meeting-reg-pro .reg-col-ops,
.meeting-reg-pro .reg-col-_ops {
	position: sticky;
	right: 0;
	z-index: 3;
	background: #fff;
	box-shadow: -6px 0 10px -8px rgba(15, 23, 42, 0.18);
}
.meeting-reg-pro .reg-table-card .layui-table thead th.reg-col-ops,
.meeting-reg-pro .reg-table-card .layui-table thead th.reg-col-_ops {
	position: sticky;
	right: 0;
	z-index: 4;
	background: #fafafa;
	box-shadow: -6px 0 10px -8px rgba(15, 23, 42, 0.12);
}
.meeting-reg-pro tr.reg-row-expanded:not(.reg-row-expand) td.reg-col-ops,
.meeting-reg-pro tr.reg-row-expanded:not(.reg-row-expand) td.reg-col-_ops {
	background: #f8fbff !important;
}
.meeting-reg-pro .reg-row-expand td.reg-expand-host {
	padding: 0 !important;
	height: auto !important;
	overflow: visible !important;
	cursor: default;
	box-sizing: border-box;
	border-bottom: 1px solid #dbeafe !important;
	vertical-align: top;
	background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%) !important;
	box-shadow: inset 3px 0 0 #2563eb;
}
.meeting-reg-pro .reg-row-expand td.reg-expand-host .layui-table-cell {
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
	line-height: inherit !important;
}
.meeting-reg-pro .reg-row-expand .reg-expand-spacer {
	width: 1px;
	min-height: 1px;
	visibility: hidden;
}
.meeting-reg-pro .reg-expand-portal {
	display: none;
	position: fixed;
	z-index: 120;
	box-sizing: border-box;
	pointer-events: auto;
}
.meeting-reg-pro .reg-expand-portal .reg-expand-panel-wrap {
	position: relative;
	box-sizing: border-box;
	background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
	border: 1px solid #dbeafe;
	border-top: none;
	box-shadow: inset 3px 0 0 #2563eb, 0 8px 24px -12px rgba(15, 23, 42, 0.18);
}
.meeting-reg-pro .reg-col-ops .layui-table-cell,
.meeting-reg-pro .reg-col-_ops .layui-table-cell {
	overflow: visible;
	white-space: normal;
	text-overflow: clip;
	height: auto !important;
	min-height: 38px;
	line-height: 1.35;
	padding-top: 7px;
	padding-bottom: 7px;
}
.meeting-reg-pro .reg-col-ops .layui-table-cell,
.meeting-reg-pro .reg-col-_ops .layui-table-cell {
	padding-left: 10px;
	padding-right: 10px;
}
.meeting-reg-pro .reg-col-tight .layui-table-cell,
.meeting-reg-pro .reg-col-member .layui-table-cell,
.meeting-reg-pro .reg-col-meeting .layui-table-cell {
	padding-left: 8px;
	padding-right: 8px;
}

.meeting-reg-pro.reg-side-embed .reg-page-header__actions { display: none; }
.meeting-reg-pro.reg-side-embed .reg-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.meeting-reg-pro.reg-side-embed .reg-toolbar { gap: 8px; }
.meeting-reg-pro.reg-side-embed .reg-table-meta__hint { display: none; }

.meeting-reg-pro .reg-ellipsis-cell {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	font-size: 13px;
	color: #334155;
}
.meeting-reg-pro .reg-member-cell {
	display: flex; flex-direction: column; gap: 2px; min-width: 0; max-width: 100%; overflow: hidden;
}
.meeting-reg-pro .reg-member-cell__name {
	font-size: 13px; font-weight: 600; color: #0f172a;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.meeting-reg-pro .reg-member-cell__no {
	font-size: 11px; color: #94a3b8; font-variant-numeric: tabular-nums;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.meeting-reg-pro .reg-member-cell__sub {
	font-size: 11px; color: #64748b; line-height: 1.35;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.meeting-reg-pro .reg-sync-banner {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
	margin: 0 0 12px; padding: 10px 14px; border-radius: 8px;
	background: #eff6ff; border: 1px solid #bfdbfe; font-size: 13px; color: #1e40af;
}
.meeting-reg-pro .reg-sync-banner .layui-icon { font-size: 16px; color: #2563eb; }
.meeting-reg-pro .reg-sync-banner__link {
	margin-left: auto; font-size: 12px; font-weight: 600; color: #2563eb; text-decoration: none;
}
.meeting-reg-pro .reg-sync-banner__link:hover { text-decoration: underline; }

.meeting-reg-pro .reg-col-picker { padding: 8px 4px 4px; }
.meeting-reg-pro .reg-col-picker__tip { margin: 0 0 12px; font-size: 13px; color: #64748b; line-height: 1.55; }
.meeting-reg-pro .reg-col-picker__grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px;
}
.meeting-reg-pro .reg-col-picker__item {
	display: flex; align-items: center; gap: 8px; padding: 8px 10px;
	background: #f8fafc; border: 1px solid #eef2f7; border-radius: 8px; cursor: pointer;
	font-size: 13px; color: #334155;
}
.meeting-reg-pro .reg-col-picker__item input { margin: 0; accent-color: #2563eb; }

.meeting-reg-pro .reg-pay { font-size: 12px; font-weight: 600; }
.meeting-reg-pro .reg-pay--ok { color: #059669; }
.meeting-reg-pro .reg-pay--pending { color: #d97706; }
.meeting-reg-pro .reg-pay--muted { color: #94a3b8; }

.meeting-reg-pro .reg-checkin { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 600; }
.meeting-reg-pro .reg-checkin--ok { color: #059669; }
.meeting-reg-pro .reg-checkin--ok .layui-icon { font-size: 14px; }
.meeting-reg-pro .reg-checkin--no { color: #94a3b8; }

.meeting-reg-pro .reg-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.meeting-reg-pro .reg-tag--ok { background: #ecfdf5; color: #059669; }
.meeting-reg-pro .reg-tag--muted { color: #cbd5e1; }

.meeting-reg-pro .reg-row-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	padding: 1px 0;
}
.meeting-reg-pro .reg-act {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 8px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #475569;
	cursor: pointer;
	text-decoration: none;
	transition: all .12s;
	flex-shrink: 0;
	white-space: nowrap;
}
.meeting-reg-pro .reg-act--more {
	min-width: 28px;
	padding: 0 6px;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 1px;
	color: #64748b;
}
.meeting-reg-pro .reg-act-dropdown {
	position: relative;
	flex-shrink: 0;
}
.meeting-reg-pro .reg-act-dropdown__menu {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	min-width: 128px;
	padding: 4px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
	z-index: 30;
	flex-direction: column;
	gap: 2px;
}
.meeting-reg-pro .reg-act-dropdown.is-open .reg-act-dropdown__menu {
	display: flex;
	position: fixed;
}
.meeting-reg-pro .reg-act-dropdown__item {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 7px 10px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #334155;
	font-size: 12px;
	font-weight: 500;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}
.meeting-reg-pro .reg-act-dropdown__item:hover {
	background: #f1f5f9;
	color: #2563eb;
}
.meeting-reg-pro .reg-act-dropdown__item--ok { color: #059669; }
.meeting-reg-pro .reg-act-dropdown__item--ok:hover { background: #ecfdf5; color: #047857; }
.meeting-reg-pro .reg-act-dropdown__item--danger { color: #dc2626; }
.meeting-reg-pro .reg-act-dropdown__item--danger:hover { background: #fef2f2; color: #b91c1c; }
.meeting-reg-pro .reg-act:hover { border-color: #93c5fd; color: #2563eb; background: #eff6ff; }
.meeting-reg-pro .reg-act--ok { border-color: #bbf7d0; color: #059669; background: #f0fdf4; }
.meeting-reg-pro .reg-act--ok:hover { background: #dcfce7; }
.meeting-reg-pro .reg-act--danger { border-color: #fecaca; color: #dc2626; background: #fef2f2; }
.meeting-reg-pro .reg-act--danger:hover { background: #fee2e2; }
.meeting-reg-pro .reg-act--warm { border-color: #fed7aa; color: #c2410c; background: #fff7ed; }
.meeting-reg-pro .reg-act--detail {
	border-color: #bfdbfe; color: #2563eb; background: #eff6ff; font-weight: 600;
	display: inline-flex; align-items: center; gap: 2px; min-width: 52px;
}
.meeting-reg-pro .reg-act--detail:hover { background: #dbeafe; }
.meeting-reg-pro .reg-act--detail.is-open { border-color: #93c5fd; background: #dbeafe; }
.meeting-reg-pro .btnRegDetail__icon { font-size: 12px; transition: transform .15s; }
.meeting-reg-pro .btnRegDetail.is-open .btnRegDetail__icon { transform: rotate(180deg); }

.meeting-reg-pro .reg-table-scroll .layui-table-body tbody tr[data-index]:not(.reg-row-expand) { cursor: pointer; }
.meeting-reg-pro tr.reg-row-expanded:not(.reg-row-expand) td {
	background: #f8fbff !important;
	border-bottom-color: transparent !important;
}
.meeting-reg-pro tr.reg-row-expanded:not(.reg-row-expand) td:not(.reg-col-ops):not(.reg-col-_ops) .layui-table-cell {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	box-sizing: border-box;
}
.meeting-reg-pro .reg-expand-panel-wrap {
	box-sizing: border-box;
}
.meeting-reg-pro .reg-expand-panel,
.meeting-reg-pro .reg-expand-field dd,
.meeting-reg-pro .reg-expand-note p {
	white-space: normal;
	word-break: break-word;
}

.meeting-reg-pro .reg-expand-panel { padding: 16px 20px 18px; animation: regExpandIn .22s ease-out; }
@keyframes regExpandIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}
.meeting-reg-pro .reg-expand-panel__head {
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 12px 20px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #e2e8f0;
}
.meeting-reg-pro .reg-expand-panel__head-main { flex: 1; min-width: 200px; }
.meeting-reg-pro .reg-expand-panel__head-actions {
	display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.meeting-reg-pro .reg-expand-close {
	display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px;
	border: 1px solid #e2e8f0; border-radius: 8px; font-size: 12px; font-weight: 600;
	color: #475569; background: #fff; cursor: pointer; transition: all .12s;
}
.meeting-reg-pro .reg-expand-close:hover { border-color: #93c5fd; color: #2563eb; background: #eff6ff; }
.meeting-reg-pro .reg-expand-close .layui-icon { font-size: 14px; }
.meeting-reg-pro .reg-expand-header__top {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px;
}
.meeting-reg-pro .reg-expand-tag {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
	background: #f1f5f9; color: #475569;
}
.meeting-reg-pro .reg-expand-tag--muted { background: #f8fafc; color: #94a3b8; }
.meeting-reg-pro .reg-expand-title {
	margin: 0; font-size: 17px; font-weight: 700; color: #0f172a; line-height: 1.35;
}
.meeting-reg-pro .reg-expand-title em {
	margin-left: 8px; font-size: 13px; font-weight: 500; color: #64748b; font-style: normal;
}
.meeting-reg-pro .reg-expand-sub {
	margin: 6px 0 0; font-size: 13px; color: #64748b; display: flex; align-items: center; gap: 4px;
}
.meeting-reg-pro .reg-expand-sub .layui-icon { font-size: 14px; color: #94a3b8; }
.meeting-reg-pro .reg-expand-header__aside { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.meeting-reg-pro .reg-expand-link {
	display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px;
	border: 1px solid #e2e8f0; border-radius: 8px; font-size: 12px; font-weight: 600;
	color: #2563eb; background: #fff; text-decoration: none; transition: all .12s;
}
.meeting-reg-pro .reg-expand-link:hover { border-color: #93c5fd; background: #eff6ff; }
.meeting-reg-pro .reg-expand-link .layui-icon { font-size: 14px; }

.meeting-reg-pro .reg-expand-fields {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin-bottom: 12px;
}
.meeting-reg-pro .reg-expand-field-group__title {
	margin: 0 0 8px; font-size: 12px; font-weight: 700; color: #64748b; letter-spacing: .02em;
}
.meeting-reg-pro .reg-expand-field-group--profile {
	grid-column: 1 / -1;
	padding: 12px 14px;
	border-radius: 10px;
	background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
	border: 1px solid #dbeafe;
}
.meeting-reg-pro .reg-expand-field-group--profile .reg-expand-dl {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 0 16px;
}
.meeting-reg-pro .reg-expand-field-group__hint {
	margin-left: 6px;
	font-size: 11px;
	font-weight: 500;
	font-style: normal;
	color: #93c5fd;
}
.meeting-reg-pro .reg-expand-section__hint {
	margin-left: 8px;
	font-size: 11px;
	font-weight: 500;
	font-style: normal;
	color: #94a3b8;
}
.meeting-reg-pro .reg-expand-attendees {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.meeting-reg-pro .reg-expand-attendee-card {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}
.meeting-reg-pro .reg-expand-attendee-card__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	padding: 10px 12px;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
}
.meeting-reg-pro .reg-expand-attendee-card__no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: 11px;
	font-weight: 700;
}
.meeting-reg-pro .reg-expand-attendee-card__name {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-reg-pro .reg-expand-attendee-card__mobile {
	font-size: 12px;
	color: #64748b;
}
.meeting-reg-pro .reg-expand-dl--attendee {
	padding: 8px 12px 10px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 0 14px;
}
.meeting-reg-pro .reg-expand-dl { margin: 0; }
.meeting-reg-pro .reg-expand-field {
	display: flex; align-items: flex-start; gap: 10px; padding: 7px 0;
	border-bottom: 1px dashed #e2e8f0;
}
.meeting-reg-pro .reg-expand-field:last-child { border-bottom: none; }
.meeting-reg-pro .reg-expand-field dt {
	flex: 0 0 84px; margin: 0; font-size: 12px; font-weight: 600; color: #94a3b8; line-height: 1.45;
}
.meeting-reg-pro .reg-expand-field dd {
	flex: 1; margin: 0; font-size: 13px; font-weight: 500; color: #334155; line-height: 1.45; word-break: break-word;
}
.meeting-reg-pro .reg-expand-dl--extra {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px;
}

.meeting-reg-pro .reg-expand-notes {
	display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px;
}
.meeting-reg-pro .reg-expand-note {
	padding: 10px 12px; border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0;
}
.meeting-reg-pro .reg-expand-note--warn { background: #fffbeb; border-color: #fde68a; }
.meeting-reg-pro .reg-expand-note label {
	display: block; font-size: 11px; font-weight: 700; color: #64748b; margin-bottom: 4px;
}
.meeting-reg-pro .reg-expand-note p { margin: 0; font-size: 13px; color: #334155; line-height: 1.55; white-space: pre-wrap; }

.meeting-reg-pro .reg-expand-section { margin-top: 4px; }
.meeting-reg-pro .reg-expand-section__head {
	display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.meeting-reg-pro .reg-expand-section__dot {
	width: 8px; height: 8px; border-radius: 50%; background: #2563eb;
	box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
.meeting-reg-pro .reg-expand-section__dot--green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.15); }
.meeting-reg-pro .reg-expand-section__head h4 {
	margin: 0; font-size: 13px; font-weight: 700; color: #334155;
}
.meeting-reg-pro .reg-expand-table-wrap {
	overflow-x: auto; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff;
}
.meeting-reg-pro .reg-expand-table {
	width: 100%; border-collapse: collapse; font-size: 13px;
}
.meeting-reg-pro .reg-expand-table th,
.meeting-reg-pro .reg-expand-table td {
	padding: 8px 12px; text-align: left; border-bottom: 1px solid #f1f5f9;
}
.meeting-reg-pro .reg-expand-table th {
	font-size: 11px; font-weight: 700; color: #64748b; background: #fafafa;
}
.meeting-reg-pro .reg-expand-table tr:last-child td { border-bottom: none; }

@media (max-width: 960px) {
	.meeting-reg-pro .reg-expand-fields,
	.meeting-reg-pro .reg-expand-dl--extra { grid-template-columns: 1fr; }
	.meeting-reg-pro .reg-search-grid { grid-template-columns: 1fr; }
	.meeting-reg-pro .reg-cert-item { grid-template-columns: 1fr; }
	.meeting-reg-pro .reg-page-header__actions { width: 100%; }
}
@media (max-width: 768px) {
	.meeting-reg-pro .reg-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ========== 会议内容管理 Hub ========== */
.meeting-content-hub-pro .mch-stats {
	display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px;
}
.meeting-content-hub-pro .mch-stat {
	flex: 1; min-width: 100px; background: #fff; border: 1px solid #e8edf3; border-radius: 10px;
	padding: 14px 12px; text-align: center; box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.meeting-content-hub-pro .mch-stat strong { display: block; font-size: 22px; font-weight: 700; color: #0f172a; line-height: 1.1; }
.meeting-content-hub-pro .mch-stat em { font-size: 11px; color: #64748b; font-style: normal; margin-top: 4px; display: block; }
.meeting-content-hub-pro .mch-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-bottom: 16px;
}
.meeting-content-hub-pro .mch-card {
	display: flex; gap: 14px; padding: 18px; background: #fff; border: 1px solid #e8edf3; border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15,23,42,.04); transition: border-color .15s, box-shadow .15s;
}
.meeting-content-hub-pro .mch-card:hover {
	border-color: #bfdbfe; box-shadow: 0 6px 18px rgba(37,99,235,.08);
}
.meeting-content-hub-pro .mch-card__icon { font-size: 28px; line-height: 1; flex-shrink: 0; }
.meeting-content-hub-pro .mch-card__body { flex: 1; min-width: 0; }
.meeting-content-hub-pro .mch-card__title { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: #0f172a; }
.meeting-content-hub-pro .mch-card__desc { margin: 0 0 12px; font-size: 13px; color: #64748b; line-height: 1.55; }
.meeting-content-hub-pro .mch-card__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.meeting-content-hub-pro .mch-tip .pro-card-body {
	font-size: 13px; color: #64748b; line-height: 1.6;
}
.meeting-content-hub-pro .mch-tip .layui-icon { color: #0f4c81; margin-right: 4px; }

/* ========== 注册通道 Pro ========== */
.meeting-channels-pro .ch-header-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.meeting-channels-pro .ch-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.meeting-channels-pro .ch-stat-pill {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-width: 88px; padding: 12px 16px; background: #f8fafc; border-radius: 10px; border: 1px solid #e8edf3;
}
.meeting-channels-pro .ch-stat-pill span { font-size: 22px; font-weight: 700; color: #1e293b; line-height: 1.1; }
.meeting-channels-pro .ch-stat-pill em { font-size: 11px; color: #64748b; font-style: normal; margin-top: 2px; }
.meeting-channels-pro .ch-stat-pill--open span { color: #059669; }
.meeting-channels-pro .ch-tabs { margin-top: 0; }
.meeting-channels-pro .ch-tab-title { border-bottom: 2px solid #e8edf3; padding: 0 4px; }
.meeting-channels-pro .ch-tab-title li { font-size: 14px; font-weight: 500; padding: 0 18px; line-height: 42px; }
.meeting-channels-pro .ch-tab-content { padding-top: 16px; }
.meeting-channels-pro .ch-split { display: grid; grid-template-columns: 1fr 320px; gap: 16px; align-items: start; }
.meeting-channels-pro .ch-split--single { grid-template-columns: 1fr 300px; }
.meeting-channels-pro .ch-aside { display: flex; flex-direction: column; gap: 12px; }
.meeting-channels-pro .ch-editor-card { position: sticky; top: 12px; }
.meeting-channels-pro .ch-editor-card--edit { box-shadow: 0 0 0 2px rgba(15,76,129,.12); }
.meeting-channels-pro .ch-req { color: #dc2626; font-style: normal; }
.meeting-channels-pro .ch-head-btn { float: right; margin-top: -2px; }
.meeting-channels-pro .ch-channel-list { display: flex; flex-direction: column; gap: 14px; }
.meeting-channels-pro .ch-channel-item {
	padding: 16px; border: 1px solid #e8edf3; border-radius: 10px; background: #fff;
}
.meeting-channels-pro .ch-channel-head { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.meeting-channels-pro .ch-channel-title { margin: 0 0 6px; font-size: 16px; font-weight: 600; color: #1e293b; }
.meeting-channels-pro .ch-channel-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.meeting-channels-pro .ch-channel-actions { display: flex; flex-wrap: wrap; gap: 6px; flex-shrink: 0; }
.meeting-channels-pro .ch-channel-meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: #64748b; margin-bottom: 12px; }
.meeting-channels-pro .ch-channel-meta .layui-icon { font-size: 12px; margin-right: 2px; }
.meeting-channels-pro .ch-url-hint { color: #0f4c81; cursor: default; }
.meeting-channels-pro .ch-status { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; }
.meeting-channels-pro .ch-status--open { background: #dcfce7; color: #16a34a; }
.meeting-channels-pro .ch-status--closed { background: #f1f5f9; color: #64748b; }
.meeting-channels-pro .ch-status--scheduled { background: #fef3c7; color: #b45309; }
.meeting-channels-pro .ch-status--expired { background: #fee2e2; color: #dc2626; }
.meeting-channels-pro .ch-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; }
.meeting-channels-pro .ch-tag--default { background: #e0f2fe; color: #0369a1; }
.meeting-channels-pro .ch-tag--req { background: #fef3c7; color: #b45309; }
.meeting-channels-pro .ch-tag--opt { background: #f1f5f9; color: #64748b; }
.meeting-channels-pro .ch-type-section { border-top: 1px dashed #e8edf3; padding-top: 12px; }
.meeting-channels-pro .ch-type-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 13px; color: #475569; }
.meeting-channels-pro .ch-type-list { display: flex; flex-direction: column; gap: 8px; }
.meeting-channels-pro .ch-type-item {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between;
	padding: 10px 12px; background: #f8fafc; border-radius: 8px;
}
.meeting-channels-pro .ch-type-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.meeting-channels-pro .ch-type-main strong { font-size: 14px; color: #1e293b; }
.meeting-channels-pro .ch-type-main span { font-size: 12px; color: #64748b; }
.meeting-channels-pro .ch-type-actions { display: flex; gap: 6px; flex-shrink: 0; }
.meeting-channels-pro .ch-type-empty { margin: 0; font-size: 12px; color: #94a3b8; padding: 8px 0; }
.meeting-channels-pro .ch-editor-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.meeting-channels-pro .pro-btn-block { width: 100%; justify-content: center; }
.meeting-channels-pro .ch-tip-card .pro-card-body { font-size: 13px; color: #475569; line-height: 1.6; }
.meeting-channels-pro .ch-tip-card .layui-icon { color: #0f4c81; margin-right: 4px; }
.meeting-channels-pro .ch-empty-state { text-align: center; padding: 48px 24px; color: #64748b; }
.meeting-channels-pro .ch-empty-state--inline { padding: 32px 16px; }
.meeting-channels-pro .ch-empty-state h3 { margin: 0 0 8px; font-size: 16px; color: #1e293b; }
.meeting-channels-pro .ch-empty-icon { font-size: 40px; margin-bottom: 12px; }
.meeting-channels-pro .ch-field-list { display: flex; flex-direction: column; gap: 10px; }
.meeting-channels-pro .ch-field-item {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between;
	padding: 14px 16px; border: 1px solid #e8edf3; border-radius: 8px;
}
.meeting-channels-pro .ch-field-main { flex: 1; min-width: 0; }
.meeting-channels-pro .ch-field-main strong { font-size: 14px; color: #1e293b; display: block; margin-bottom: 6px; }
.meeting-channels-pro .ch-field-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.meeting-channels-pro .ch-field-opts { font-size: 12px; color: #94a3b8; }
.meeting-channels-pro .ms-form-grid--stack { grid-template-columns: 1fr; }
@media (max-width: 960px) {
	.meeting-channels-pro .ch-split,
	.meeting-channels-pro .ch-split--single { grid-template-columns: 1fr; }
	.meeting-channels-pro .ch-editor-card { position: static; }
}

/* ========== 签到大屏 Pro ========== */
.meeting-checkin-board-pro .chk-header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.meeting-checkin-board-pro .chk-live-tag {
	display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #64748b;
	padding: 4px 10px; background: #f8fafc; border-radius: 999px; border: 1px solid #e8edf3;
}
.meeting-checkin-board-pro .chk-live-tag.is-pulse { color: #059669; border-color: #86efac; background: #ecfdf5; }
.meeting-checkin-board-pro .chk-live-dot {
	width: 8px; height: 8px; border-radius: 50%; background: #22c55e;
	animation: chk-pulse 2s ease-in-out infinite;
}
@keyframes chk-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.85)} }
.meeting-checkin-board-pro .chk-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.meeting-checkin-board-pro .chk-progress-card {
	background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.meeting-checkin-board-pro .chk-progress-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.meeting-checkin-board-pro .chk-progress-head span { font-size: 14px; font-weight: 600; color: #1e293b; }
.meeting-checkin-board-pro .chk-progress-head strong { font-size: 28px; color: var(--mhub-primary, #0f4c81); }
.meeting-checkin-board-pro .chk-progress-bar { height: 10px; background: #f1f5f9; border-radius: 5px; overflow: hidden; }
.meeting-checkin-board-pro .chk-progress-bar i {
	display: block; height: 100%; border-radius: 5px;
	background: linear-gradient(90deg, #22c55e, #0f4c81); transition: width .4s ease;
}
.meeting-checkin-board-pro .chk-progress-hint { margin: 10px 0 0; font-size: 12px; color: #64748b; }
.meeting-checkin-board-pro .chk-stat-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.meeting-checkin-board-pro .chk-stat {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.meeting-checkin-board-pro .chk-stat-num { font-size: 26px; font-weight: 700; color: #1e293b; line-height: 1.1; }
.meeting-checkin-board-pro .chk-stat em { font-size: 12px; color: #64748b; font-style: normal; margin-top: 4px; }
.meeting-checkin-board-pro .chk-stat--ok .chk-stat-num { color: #059669; }
.meeting-checkin-board-pro .chk-stat--pending .chk-stat-num { color: #d97706; }
.meeting-checkin-board-pro .chk-layout { display: grid; grid-template-columns: 320px 1fr; gap: 16px; align-items: start; }
.meeting-checkin-board-pro .chk-qr-panel { display: flex; flex-direction: column; gap: 12px; }
.meeting-checkin-board-pro .chk-qr-wrap {
	display: flex; align-items: center; justify-content: center;
	padding: 16px; background: #f8fafc; border-radius: 12px; min-height: 240px;
}
.meeting-checkin-board-pro .chk-qr-wrap canvas { border-radius: 8px; }
.meeting-checkin-board-pro .chk-qr-fail { font-size: 13px; color: #94a3b8; }
.meeting-checkin-board-pro .chk-qr-tip { margin: 12px 0 0; font-size: 12px; color: #64748b; line-height: 1.55; text-align: center; }
.meeting-checkin-board-pro .chk-url-box label { display: block; font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.meeting-checkin-board-pro .chk-url-row { display: flex; gap: 8px; }
.meeting-checkin-board-pro .chk-url-row input { flex: 1; font-size: 12px; }
.meeting-checkin-board-pro .chk-recent-list { display: flex; flex-direction: column; gap: 8px; max-height: 220px; overflow: auto; }
.meeting-checkin-board-pro .chk-recent-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #f8fafc; border-radius: 8px; }
.meeting-checkin-board-pro .chk-recent-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.meeting-checkin-board-pro .chk-recent-main strong { font-size: 13px; color: #1e293b; }
.meeting-checkin-board-pro .chk-recent-main span { font-size: 11px; color: #64748b; }
.meeting-checkin-board-pro .chk-recent-empty { margin: 0; font-size: 12px; color: #94a3b8; text-align: center; padding: 12px 0; }
.meeting-checkin-board-pro .chk-avatar {
	width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 600; color: #64748b; background: #e2e8f0;
}
.meeting-checkin-board-pro .chk-avatar--ok { color: #fff; background: linear-gradient(135deg, #22c55e, #059669); }
.meeting-checkin-board-pro .chk-filter-tabs { float: right; display: flex; gap: 4px; margin-top: -2px; }
.meeting-checkin-board-pro .chk-filter-tab {
	border: 1px solid #e8edf3; background: #fff; border-radius: 6px;
	padding: 4px 10px; font-size: 12px; color: #64748b; cursor: pointer;
}
.meeting-checkin-board-pro .chk-filter-tab.active { background: #eff6ff; border-color: #93c5fd; color: #0f4c81; font-weight: 600; }
.meeting-checkin-board-pro .chk-attendee-list { display: flex; flex-direction: column; gap: 8px; max-height: 520px; overflow: auto; }
.meeting-checkin-board-pro .chk-attendee-item {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px;
	border: 1px solid #e8edf3; border-radius: 10px; background: #fff;
	transition: border-color .2s, background .2s;
}
.meeting-checkin-board-pro .chk-attendee-item.is-checked { background: #f0fdf4; border-color: #bbf7d0; }
.meeting-checkin-board-pro .chk-attendee-main { flex: 1; min-width: 0; }
.meeting-checkin-board-pro .chk-attendee-main strong { display: block; font-size: 14px; color: #1e293b; }
.meeting-checkin-board-pro .chk-attendee-no { font-size: 12px; color: #94a3b8; }
.meeting-checkin-board-pro .chk-attendee-status { text-align: right; flex-shrink: 0; }
.meeting-checkin-board-pro .chk-badge { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 999px; }
.meeting-checkin-board-pro .chk-badge--ok { background: #dcfce7; color: #16a34a; }
.meeting-checkin-board-pro .chk-badge--wait { background: #f1f5f9; color: #64748b; }
.meeting-checkin-board-pro .chk-method { display: block; font-size: 11px; color: #94a3b8; font-style: normal; margin-top: 4px; }
.meeting-checkin-board-pro .chk-filter-empty { text-align: center; color: #94a3b8; font-size: 13px; padding: 24px; }
.meeting-checkin-board-pro .chk-empty-state { text-align: center; padding: 48px 24px; color: #64748b; }
.meeting-checkin-board-pro .chk-empty-state--inline { padding: 32px 16px; }
.meeting-checkin-board-pro .chk-empty-icon { font-size: 40px; margin-bottom: 12px; }
.meeting-checkin-board-pro .chk-empty-state h3 { margin: 0 0 8px; font-size: 16px; color: #1e293b; }

/* 现场大屏层 */
body.chk-present-open { overflow: hidden; }
.chk-present-layer {
	position: fixed; inset: 0; z-index: 99999; display: flex; align-items: stretch;
}
.chk-present-layer[hidden] { display: none !important; }
.chk-present-bg {
	position: absolute; inset: 0;
	background: linear-gradient(145deg, #0f172a 0%, #1e3a5f 45%, #0f4c81 100%);
}
.chk-present-inner { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; padding: 28px 36px; color: #fff; }
.chk-present-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.chk-present-label { margin: 0 0 6px; font-size: 14px; opacity: .75; letter-spacing: .08em; }
.chk-present-title { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 700; line-height: 1.3; }
.chk-present-window { margin: 8px 0 0; font-size: 14px; opacity: .8; }
.chk-present-exit {
	width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%;
	background: rgba(255,255,255,.1); color: #fff; font-size: 20px; cursor: pointer;
}
.chk-present-body {
	flex: 1; display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 28px; align-items: center; min-height: 0;
}
.chk-present-qr { text-align: center; }
.chk-present-qr-box {
	display: inline-flex; padding: 20px; background: #fff; border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.chk-present-qr p { margin: 16px 0 0; font-size: 15px; opacity: .9; }
.chk-present-stats { display: flex; flex-direction: column; gap: 20px; }
.chk-present-stat { text-align: center; }
.chk-present-stat span { display: block; font-size: clamp(3rem, 8vw, 5rem); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.chk-present-stat em { font-size: 16px; opacity: .75; font-style: normal; }
.chk-present-stat--dim span { font-size: clamp(2rem, 5vw, 3rem); opacity: .55; }
.chk-present-rate { text-align: center; }
.chk-present-rate strong { display: block; font-size: 2rem; margin-bottom: 10px; }
.chk-present-bar { height: 12px; background: rgba(255,255,255,.15); border-radius: 6px; overflow: hidden; }
.chk-present-bar i { display: block; height: 100%; background: linear-gradient(90deg, #4ade80, #22d3ee); border-radius: 6px; transition: width .4s; }
.chk-present-feed h3 { margin: 0 0 14px; font-size: 16px; opacity: .85; font-weight: 600; }
.chk-present-feed-list { display: flex; flex-direction: column; gap: 10px; max-height: 360px; overflow: auto; }
.chk-present-feed-item {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px;
	background: rgba(255,255,255,.08); border-radius: 10px; border: 1px solid rgba(255,255,255,.12);
}
.chk-present-feed-item strong { flex: 1; font-size: 15px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chk-present-feed-item em { font-size: 13px; opacity: .7; font-style: normal; flex-shrink: 0; }
.chk-present-feed-empty { opacity: .6; font-size: 14px; padding: 20px 0; }
@media (max-width: 960px) {
	.meeting-checkin-board-pro .chk-overview { grid-template-columns: 1fr; }
	.meeting-checkin-board-pro .chk-layout { grid-template-columns: 1fr; }
	.meeting-checkin-board-pro .chk-stat-grid { grid-template-columns: 1fr 1fr 1fr; }
	.chk-present-body { grid-template-columns: 1fr; overflow: auto; padding-bottom: 20px; }
}

/* 会议报名 / 治理台账 Pro 扩展 */
.meeting-list-pro .pro-stat-row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}
@media (max-width: 1200px) {
	.meeting-list-pro .pro-stat-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.meeting-list-pro .pro-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.meeting-list-pro .pro-stat-card {
	background: #fff;
	border-radius: var(--pro-radius);
	padding: 16px 20px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);
	border: 1px solid transparent;
}
.meeting-list-pro .pro-stat-title {
	font-size: 14px;
	color: var(--pro-text-secondary);
	margin-bottom: 4px;
}
.meeting-list-pro .pro-stat-value {
	font-size: 24px;
	font-weight: 600;
	color: var(--pro-text);
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}
.meeting-list-pro .pro-stat-card--success .pro-stat-value { color: #389e0d; }
.meeting-list-pro .pro-stat-card--warning .pro-stat-value { color: #d48806; }
.meeting-list-pro .pro-stat-card--danger .pro-stat-value { color: #cf1322; }
.meeting-list-pro .pro-btn-sm { height: 28px; padding: 0 12px; font-size: 13px; }
.meeting-list-pro .pro-btn-warm {
	background: #fa8c16;
	border-color: #fa8c16;
	color: #fff !important;
}
.meeting-list-pro .pro-btn-warm:hover { background: #ffa940; border-color: #ffa940; }
.meeting-list-pro .pro-table-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding: 12px 16px;
	border-bottom: 1px solid var(--pro-border);
}
.meeting-list-pro .pro-table-toolbar a.pro-btn { text-decoration: none; }
.meeting-list-pro .pro-link-danger { color: var(--pro-error); }
.meeting-list-pro .pro-link-danger:hover { color: #ff7875; }
.meeting-list-pro .pro-link-success { color: #389e0d; }
.meeting-list-pro .pro-link-success:hover { color: #52c41a; }
.meeting-list-pro .pro-link-warm { color: #d48806; }
.meeting-list-pro .pro-link-warm:hover { color: #fa8c16; }
.meeting-list-pro .pro-sub-card { margin-bottom: 16px; }
.meeting-list-pro .pro-sub-card .pro-card-head {
	padding: 14px 20px;
	font-size: 15px;
	font-weight: 600;
	border-bottom: 1px solid var(--pro-border);
}
.meeting-list-pro .pro-sub-card .pro-card-body { padding: 16px 20px; }
.meeting-list-pro .pro-mini-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.meeting-list-pro .pro-mini-table th,
.meeting-list-pro .pro-mini-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--pro-border);
	text-align: left;
}
.meeting-list-pro .pro-mini-table th {
	background: #fafafa;
	font-weight: 600;
	color: var(--pro-text);
}
.meeting-list-pro .pro-mini-table tr:last-child td { border-bottom: none; }
.meeting-list-pro .pro-text-muted { color: var(--pro-text-secondary); font-size: 13px; }
.meeting-list-pro .gov-plan-table { margin: 0; }
.meeting-list-pro .gov-plan-table .layui-table { margin: 0; }
.meeting-list-pro .gov-empty {
	padding: 48px 24px;
	text-align: center;
	color: var(--pro-text-secondary);
	font-size: 14px;
}

/* 治理日历 */
.meeting-gov-cal-pro .gcal-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 900px) {
	.meeting-gov-cal-pro .gcal-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.meeting-gov-cal-pro .gcal-stat {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	padding: 16px 18px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-cal-pro .gcal-stat__label {
	font-size: 12px;
	font-weight: 500;
	color: #64748b;
	margin-bottom: 6px;
}
.meeting-gov-cal-pro .gcal-stat__num {
	font-size: 26px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}
.meeting-gov-cal-pro .gcal-stat--accent .gcal-stat__num { color: #2563eb; }
.meeting-gov-cal-pro .gcal-stat--ok .gcal-stat__num { color: #16a34a; }
.meeting-gov-cal-pro .gcal-stat--warn .gcal-stat__num { color: #d97706; }
.meeting-gov-cal-pro .gcal-tip {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	line-height: 1.55;
}
.meeting-gov-cal-pro .gcal-tip .layui-icon { flex-shrink: 0; margin-top: 1px; }
.meeting-gov-cal-pro .gcal-yearbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	margin-bottom: 16px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-cal-pro .gcal-yearbar__label {
	font-size: 13px;
	font-weight: 700;
	color: #475569;
}
.meeting-gov-cal-pro .gcal-yearbar .layui-input {
	width: 100px;
	height: 32px;
	border-radius: 8px;
	text-align: center;
	font-weight: 700;
}
.meeting-gov-cal-pro .gcal-yearbar .pro-btn { height: 32px; }
.meeting-gov-cal-pro .gcal-yearbar__hint {
	margin-left: auto;
	font-size: 12px;
	color: #94a3b8;
}
@media (max-width: 720px) {
	.meeting-gov-cal-pro .gcal-yearbar__hint { margin-left: 0; width: 100%; }
}
.meeting-gov-cal-pro .gcal-month {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	margin-bottom: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-cal-pro .gcal-month__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
	border-bottom: 1px solid #eef2f6;
}
.meeting-gov-cal-pro .gcal-month__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 28px;
	padding: 0 10px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	font-weight: 700;
}
.meeting-gov-cal-pro .gcal-month__count {
	font-size: 12px;
	color: #94a3b8;
	font-weight: 500;
}
.meeting-gov-cal-pro .gcal-month__body {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.meeting-gov-cal-pro .gcal-plan {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	transition: background 0.12s;
}
.meeting-gov-cal-pro .gcal-plan:last-child { border-bottom: none; }
.meeting-gov-cal-pro .gcal-plan:hover { background: #f8fbff; }
.meeting-gov-cal-pro .gcal-plan__main { flex: 1; min-width: 0; }
.meeting-gov-cal-pro .gcal-plan__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
}
.meeting-gov-cal-pro .gcal-type {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	background: #f1f5f9;
	color: #475569;
}
.meeting-gov-cal-pro .gcal-type--2 { background: #eff6ff; color: #1d4ed8; }
.meeting-gov-cal-pro .gcal-type--3 { background: #f5f3ff; color: #6d28d9; }
.meeting-gov-cal-pro .gcal-type--4 { background: #fff7ed; color: #c2410c; }
.meeting-gov-cal-pro .gcal-type--5 { background: #ecfdf5; color: #047857; }
.meeting-gov-cal-pro .gcal-plan__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-gov-cal-pro .gcal-plan__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 12px;
	color: #64748b;
	margin-top: 4px;
}
.meeting-gov-cal-pro .gcal-plan__meta .layui-icon { font-size: 12px; margin-right: 2px; }
.meeting-gov-cal-pro .gcal-plan__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	flex-shrink: 0;
}
.meeting-gov-cal-pro .gcal-empty {
	padding: 56px 24px;
	text-align: center;
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
}
.meeting-gov-cal-pro .gcal-empty__ico {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #2563eb;
}
.meeting-gov-cal-pro .gcal-empty__ico .layui-icon { font-size: 26px; }
.meeting-gov-cal-pro .gcal-empty h3 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-gov-cal-pro .gcal-empty p {
	margin: 0 0 16px;
	font-size: 13px;
	color: #64748b;
}
.gcal-plan-layer.layui-layer {
	border-radius: 14px !important;
	overflow: hidden;
	box-shadow: 0 20px 48px -16px rgba(15, 23, 42, 0.28) !important;
}
.gcal-plan-layer .layui-layer-content { padding: 0; overflow: visible; }
.gcal-plan-dialog {
	color: #334155;
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.gcal-plan-dialog__head {
	padding: 20px 22px 16px;
	border-bottom: 1px solid #eef2f6;
	background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 48%, #fff 100%);
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.gcal-plan-dialog__ico {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #bfdbfe;
	color: #2563eb;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.1);
}
.gcal-plan-dialog__ico .layui-icon { font-size: 20px; }
.gcal-plan-dialog__head-main { flex: 1; min-width: 0; padding-right: 28px; }
.gcal-plan-dialog__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 4px;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	background: #dbeafe;
	color: #1d4ed8;
}
.gcal-plan-dialog__head h3 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}
.gcal-plan-dialog__head p {
	margin: 0;
	font-size: 12px;
	color: #64748b;
	line-height: 1.55;
}
.gcal-plan-dialog__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid #e2e8f0;
	color: #64748b;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.12s, color 0.12s;
}
.gcal-plan-dialog__close:hover {
	background: #f1f5f9;
	color: #0f172a;
}
.gcal-plan-form {
	padding: 18px 22px 8px;
}
.gcal-plan-field {
	margin-bottom: 16px;
}
.gcal-plan-field > label {
	display: block;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
}
.gcal-plan-field > label .req {
	color: #ef4444;
	margin-left: 2px;
}
.gcal-plan-field .hint {
	margin-top: 6px;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.45;
}
.gcal-plan-field .layui-input,
.gcal-plan-field .layui-form-select .layui-input {
	height: 38px;
	border-radius: 9px;
	border-color: #cbd5e1;
	font-size: 14px;
}
.gcal-plan-field .layui-input:focus {
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.gcal-plan-types {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.gcal-plan-type {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 11px 12px;
	border: 1.5px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
	user-select: none;
}
.gcal-plan-type:hover {
	border-color: #93c5fd;
	background: #f8fbff;
}
.gcal-plan-type.is-active {
	border-color: #2563eb;
	background: #eff6ff;
	box-shadow: 0 0 0 1px #2563eb inset;
}
.gcal-plan-type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gcal-plan-type__ico {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #e2e8f0;
	color: #64748b;
}
.gcal-plan-type.is-active .gcal-plan-type__ico {
	border-color: #93c5fd;
	color: #2563eb;
	background: #fff;
}
.gcal-plan-type__ico .layui-icon { font-size: 14px; }
.gcal-plan-type__text { min-width: 0; }
.gcal-plan-type__text strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
	margin-bottom: 2px;
}
.gcal-plan-type__text span {
	display: block;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.35;
}
.gcal-plan-dialog__foot {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	padding: 14px 22px 18px;
	border-top: 1px solid #eef2f6;
	background: #fafbfc;
}
.gcal-plan-dialog__foot .gcal-dlg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 36px;
	padding: 0 18px;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.gcal-plan-dialog__foot .gcal-dlg-btn--ghost {
	background: #fff;
	border-color: #d1d5db;
	color: #334155;
}
.gcal-plan-dialog__foot .gcal-dlg-btn--ghost:hover {
	border-color: #93c5fd;
	color: #2563eb;
}
.gcal-plan-dialog__foot .gcal-dlg-btn--primary {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}
.gcal-plan-dialog__foot .gcal-dlg-btn--primary:hover {
	background: #1d4ed8;
	border-color: #1d4ed8;
}
.gcal-plan-dialog__foot .gcal-dlg-btn--primary:disabled,
.gcal-plan-dialog__foot .gcal-dlg-btn--primary.is-loading {
	opacity: 0.65;
	pointer-events: none;
}
@media (max-width: 520px) {
	.gcal-plan-types { grid-template-columns: 1fr; }
	.gcal-plan-dialog__foot { flex-wrap: wrap; }
	.gcal-plan-dialog__foot .gcal-dlg-btn { flex: 1; }
}
@media (max-width: 720px) {
	.meeting-gov-cal-pro .gcal-plan { flex-direction: column; align-items: stretch; }
	.meeting-gov-cal-pro .gcal-plan__actions .pro-btn { flex: 1; }
}

/* 年度治理材料 */
.meeting-gov-materials-pro .gym-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 900px) {
	.meeting-gov-materials-pro .gym-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.meeting-gov-materials-pro .gym-stat {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	padding: 16px 18px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-materials-pro .gym-stat__label {
	font-size: 12px;
	font-weight: 500;
	color: #64748b;
	margin-bottom: 6px;
}
.meeting-gov-materials-pro .gym-stat__num {
	font-size: 26px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}
.meeting-gov-materials-pro .gym-stat__sub {
	margin-top: 4px;
	font-size: 12px;
	color: #94a3b8;
}
.meeting-gov-materials-pro .gym-stat--accent .gym-stat__num { color: #2563eb; }
.meeting-gov-materials-pro .gym-stat--ok .gym-stat__num { color: #16a34a; }
.meeting-gov-materials-pro .gym-stat--warn .gym-stat__num { color: #d97706; }
.meeting-gov-materials-pro .gym-tip {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	line-height: 1.55;
}
.meeting-gov-materials-pro .gym-tip .layui-icon { flex-shrink: 0; margin-top: 1px; }
.meeting-gov-materials-pro .gym-filter {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 16px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-materials-pro .gym-filter__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}
.meeting-gov-materials-pro .gym-chip {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	color: #475569;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.12s, background 0.12s, color 0.12s;
}
.meeting-gov-materials-pro .gym-chip:hover,
.meeting-gov-materials-pro .gym-chip.is-active {
	border-color: #93c5fd;
	background: #eff6ff;
	color: #1d4ed8;
}
.meeting-gov-materials-pro .gym-filter__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
}
.meeting-gov-materials-pro .gym-filter__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 120px;
}
.meeting-gov-materials-pro .gym-filter__item label {
	font-size: 12px;
	font-weight: 700;
	color: #475569;
}
.meeting-gov-materials-pro .gym-filter__item .layui-input {
	height: 32px;
	width: 120px;
	border-radius: 8px;
}
.meeting-gov-materials-pro .gym-filter__actions {
	display: flex;
	gap: 8px;
	align-items: center;
}
.meeting-gov-materials-pro .gym-filter__hint {
	margin-left: auto;
	font-size: 12px;
	color: #94a3b8;
}
@media (max-width: 720px) {
	.meeting-gov-materials-pro .gym-filter__hint { margin-left: 0; width: 100%; }
}
.meeting-gov-materials-pro .gym-year {
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
	margin-bottom: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-gov-materials-pro .gym-year__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
	border-bottom: 1px solid #eef2f6;
}
.meeting-gov-materials-pro .gym-year__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	height: 28px;
	padding: 0 10px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
	font-weight: 700;
}
.meeting-gov-materials-pro .gym-year__count {
	font-size: 12px;
	color: #94a3b8;
	font-weight: 500;
}
.meeting-gov-materials-pro .gym-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	transition: background 0.12s;
}
.meeting-gov-materials-pro .gym-item:last-child { border-bottom: none; }
.meeting-gov-materials-pro .gym-item:hover { background: #f8fbff; }
.meeting-gov-materials-pro .gym-item__main { flex: 1; min-width: 0; }
.meeting-gov-materials-pro .gym-item__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
}
.meeting-gov-materials-pro .gym-type {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	background: #f1f5f9;
	color: #475569;
}
.meeting-gov-materials-pro .gym-type--2 { background: #eff6ff; color: #1d4ed8; }
.meeting-gov-materials-pro .gym-type--3 { background: #f5f3ff; color: #6d28d9; }
.meeting-gov-materials-pro .gym-type--4 { background: #fff7ed; color: #c2410c; }
.meeting-gov-materials-pro .gym-type--5 { background: #ecfdf5; color: #047857; }
.meeting-gov-materials-pro .gym-tag {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	background: #f1f5f9;
	color: #64748b;
}
.meeting-gov-materials-pro .gym-tag--ok { background: #dcfce7; color: #15803d; }
.meeting-gov-materials-pro .gym-tag--muted { background: #f1f5f9; color: #94a3b8; }
.meeting-gov-materials-pro .gym-item__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.meeting-gov-materials-pro .gym-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
	font-size: 12px;
	color: #64748b;
}
.meeting-gov-materials-pro .gym-item__meta .layui-icon { font-size: 12px; margin-right: 2px; }
.meeting-gov-materials-pro .gym-item__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	flex-shrink: 0;
	justify-content: flex-end;
}
.meeting-gov-materials-pro .gym-empty {
	padding: 56px 24px;
	text-align: center;
	background: #fff;
	border: 1px solid #e8eef5;
	border-radius: 10px;
}
.meeting-gov-materials-pro .gym-empty__ico {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #2563eb;
}
.meeting-gov-materials-pro .gym-empty__ico .layui-icon { font-size: 26px; }
.meeting-gov-materials-pro .gym-empty h3 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-gov-materials-pro .gym-empty p {
	margin: 0;
	font-size: 13px;
	color: #64748b;
}
@media (max-width: 720px) {
	.meeting-gov-materials-pro .gym-item { flex-direction: column; align-items: stretch; }
	.meeting-gov-materials-pro .gym-item__actions .pro-btn { flex: 1; }
}

/* 会员管理 · 数据治理 / 服务待办扩展 */
.member-mgmt-pro .mdg-card.pro-card { padding: 16px 20px; }
.member-mgmt-pro .pro-stat-card--clickable { cursor: pointer; transition: box-shadow 0.2s, border-color 0.2s; }
.member-mgmt-pro .pro-stat-card--clickable:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--pro-primary);
}
.member-mgmt-pro .pro-table-card .msd-tabs {
	display: flex;
	gap: 0;
	padding: 0 16px;
	border-bottom: 1px solid var(--pro-border);
}
.member-mgmt-pro .pro-table-card .msd-tab {
	padding: 12px 18px;
	font-size: 14px;
	color: var(--pro-text-secondary);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.member-mgmt-pro .pro-table-card .msd-tab.on {
	color: var(--pro-primary);
	font-weight: 600;
	border-bottom-color: var(--pro-primary);
}
.member-mgmt-pro .pro-table-card .msd-tab:hover { color: var(--pro-primary); }

/* 会议编辑/新建 · 侧栏表单（复用 meeting-minisite-pro 组件） */
.meeting-form-pro.meeting-minisite-pro {
	margin: 0;
	padding: 0 0 72px;
	min-height: 100%;
	background: #f0f2f5;
}
.meeting-form-pro .mtf-hero {
	margin-bottom: 0;
	border-radius: 0;
	border-left: none;
	border-right: none;
	border-top: none;
	padding: 18px 20px;
	background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 48%, #e6f4ff 100%);
}
.meeting-form-pro .mtf-hero-main { flex: 1; min-width: 0; }
.meeting-form-pro .mtf-hero-badge {
	display: inline-block;
	margin-bottom: 8px;
	padding: 2px 10px;
	font-size: 11px;
	font-weight: 600;
	line-height: 20px;
	border-radius: 999px;
	background: rgba(24, 144, 255, 0.12);
	color: #096dd9;
	letter-spacing: 0.02em;
}
.meeting-form-pro .mtf-hero-title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 600;
	color: #1f2937;
	line-height: 1.35;
	word-break: break-word;
}
.meeting-form-pro .mtf-hero-desc {
	margin: 0;
	font-size: 13px;
	color: var(--pro-text-secondary);
	line-height: 1.55;
	max-width: 560px;
}
.meeting-form-pro .mtf-approval-banner {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fff7ed;
	border: 1px solid #fdba74;
	color: #9a3412;
}
.meeting-form-pro .mtf-approval-banner .layui-icon {
	font-size: 18px;
	margin-top: 2px;
	color: #ea580c;
}
.meeting-form-pro .mtf-approval-banner strong {
	display: block;
	font-size: 14px;
	margin-bottom: 4px;
	color: #c2410c;
}
.meeting-form-pro .mtf-approval-banner p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #9a3412;
}
.meeting-form-pro .mtf-approval-banner__remark {
	margin-top: 6px !important;
	color: #7c2d12 !important;
}
.meeting-form-pro .mtf-hero-links {
	flex-shrink: 0;
	align-self: center;
}
.meeting-form-pro .pro-btn-sm {
	height: 28px;
	padding: 0 12px;
	font-size: 13px;
}
.meeting-form-pro .pro-btn-lg {
	height: 36px;
	padding: 0 20px;
	font-size: 15px;
	font-weight: 500;
}
.meeting-form-pro .pro-btn-lg .layui-icon {
	margin-right: 4px;
	font-size: 16px;
	vertical-align: -1px;
}
.meeting-form-pro .mtf-anchor-bar {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	overflow-x: auto;
	padding: 10px 16px;
	background: #fff;
	border-bottom: 1px solid var(--pro-border);
	position: sticky;
	top: 0;
	z-index: 20;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.meeting-form-pro .mtf-anchor-bar::-webkit-scrollbar { display: none; }
.meeting-form-pro .mtf-anchor {
	flex-shrink: 0;
	padding: 5px 12px;
	font-size: 13px;
	color: var(--pro-text-secondary);
	text-decoration: none;
	border-radius: 999px;
	background: #f5f5f5;
	transition: all 0.2s;
	white-space: nowrap;
}
.meeting-form-pro .mtf-anchor:hover {
	color: var(--pro-primary);
	background: #e6f7ff;
}
.meeting-form-pro .mtf-anchor.active {
	color: #fff;
	background: var(--pro-primary);
	box-shadow: 0 2px 6px rgba(24, 144, 255, 0.35);
}
.meeting-form-pro .mtf-form {
	padding: 16px 16px 0;
}
.meeting-form-pro .mtf-form .ms-main {
	gap: 12px;
}
.meeting-form-pro .mtf-form .pro-card {
	scroll-margin-top: 52px;
}
.meeting-form-pro .mtf-form .pro-card-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	font-size: 14px;
}
.meeting-form-pro .mtf-form .pro-card-head .layui-icon {
	font-size: 16px;
	color: var(--pro-primary);
	opacity: 0.85;
}
.meeting-form-pro .mtf-form .pro-card-body {
	padding: 18px 20px 6px;
}
.meeting-form-pro .mtf-req {
	color: #ff4d4f;
	font-weight: 600;
}
.meeting-form-pro .mtf-input-lg {
	height: 40px;
	font-size: 15px;
	font-weight: 500;
}
.meeting-form-pro .mtf-live-tip {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 16px;
	padding: 10px 14px;
	font-size: 13px;
	line-height: 1.5;
	color: #0958d9;
	background: linear-gradient(135deg, #e6f7ff 0%, #f0f5ff 100%);
	border: 1px solid #91d5ff;
	border-radius: 8px;
}
.meeting-form-pro .mtf-live-tip .layui-icon {
	flex-shrink: 0;
	margin-top: 1px;
	font-size: 16px;
}
.meeting-form-pro .mtf-check-panel {
	margin-top: 4px;
	padding-top: 16px;
	border-top: 1px dashed var(--pro-border);
}
.meeting-form-pro .mtf-check-panel-title {
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pro-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.meeting-form-pro .mtf-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.meeting-form-pro .mtf-check-cell {
	padding: 10px 12px;
	background: #fafafa;
	border: 1px solid #f0f0f0;
	border-radius: 8px;
	transition: border-color 0.2s, background 0.2s;
}
.meeting-form-pro .mtf-check-cell:hover {
	background: #f5faff;
	border-color: #bae0ff;
}
.meeting-form-pro .mtf-check-cell .layui-form-checkbox[lay-skin=primary] {
	margin: 0;
	padding-left: 24px;
}
.meeting-form-pro .mtf-check-cell .layui-form-checkbox[lay-skin=primary] span {
	font-size: 13px;
	color: var(--pro-text);
}
.meeting-form-pro .mtf-fee-panel {
	margin-top: 8px;
	padding: 14px 16px;
	background: #fafafa;
	border: 1px solid #f0f0f0;
	border-radius: 8px;
}
.meeting-form-pro .mtf-fee-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px dashed #e8e8e8;
}
.meeting-form-pro .mtf-fee-switch-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--pro-text);
}
.meeting-form-pro .mtf-fee-fields {
	margin-bottom: 0;
}
.meeting-form-pro .mtf-fee-fields .ms-form-item {
	margin-bottom: 0;
}
.meeting-form-pro .mtf-editor-wrap {
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.meeting-form-pro .mtf-footer {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px;
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid var(--pro-border);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
	backdrop-filter: blur(8px);
}
.meeting-form-pro .mtf-footer-main {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}
.meeting-form-pro .mtf-footer-hint {
	font-size: 12px;
	color: var(--pro-text-secondary);
}
@media (max-width: 640px) {
	.meeting-form-pro .mtf-check-grid { grid-template-columns: 1fr; }
	.meeting-form-pro .mtf-hero-links { width: 100%; }
	.meeting-form-pro .ms-form-grid { grid-template-columns: 1fr; }
}

/* 章程版本 · 侧栏表单 */
.charter-form-pro .charter-current-panel {
	padding: 12px 14px;
}
.charter-form-pro .charter-meeting-tip { margin-top: 4px; margin-bottom: 16px; }
.charter-form-pro .charter-upload-box {
	margin-top: 12px;
	gap: 10px;
}
.charter-form-pro .charter-upload-box > [class*="layui-col"] {
	margin-bottom: 10px;
}

/* Ant Design Pro 风格校验弹窗 */
.layui-layer.member-pro-layer {
	border-radius: 8px;
	overflow: visible;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12);
}
.layui-layer.member-pro-layer .layui-layer-content {
	padding: 0;
	overflow: hidden;
	border-radius: 8px;
}
.layui-layer.member-pro-layer .layui-layer-setwin {
	top: 12px;
	right: 12px;
	z-index: 2;
}
.layui-layer.member-pro-layer .layui-layer-setwin .layui-layer-close1 {
	width: 32px;
	height: 32px;
	margin-left: 0;
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.04) !important;
	background-image: none !important;
	opacity: 1;
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}
.layui-layer.member-pro-layer .layui-layer-setwin .layui-layer-close1:hover {
	opacity: 1;
	background: rgba(0, 0, 0, 0.08) !important;
}
.layui-layer.member-pro-layer .layui-layer-setwin .layui-layer-close1::after {
	content: '\1006';
	font-family: layui-icon !important;
	font-size: 16px;
	line-height: 1;
	color: rgba(0, 0, 0, 0.45);
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.member-pro-modal { background: #fff; }
.member-pro-modal-head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 20px 52px 12px 24px;
	border-bottom: 1px solid #f0f0f0;
}
.member-pro-modal-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 20px;
}
.member-pro-modal-icon.warn {
	background: #fff7e6;
	color: #fa8c16;
}
.member-pro-modal-title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.88);
	line-height: 1.4;
}
.member-pro-modal-desc {
	margin: 4px 0 0;
	font-size: 13px;
	color: rgba(0, 0, 0, 0.45);
	line-height: 1.5;
}
.member-pro-modal-body {
	padding: 12px 24px 8px;
	max-height: 360px;
	overflow: auto;
}
.member-pro-check-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.member-pro-check-table thead th {
	padding: 10px 12px;
	text-align: left;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.65);
	background: #fafafa;
	border-bottom: 1px solid #f0f0f0;
}
.member-pro-check-table tbody td {
	padding: 10px 12px;
	border-bottom: 1px solid #f5f5f5;
	color: rgba(0, 0, 0, 0.88);
	vertical-align: top;
}
.member-pro-check-table tbody tr:last-child td { border-bottom: none; }
.member-pro-check-msg { color: rgba(0, 0, 0, 0.65); line-height: 1.55; }
.member-pro-check-empty {
	text-align: center;
	color: rgba(0, 0, 0, 0.25);
	padding: 24px 12px !important;
}
.member-pro-modal-foot {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	padding: 12px 24px 20px;
	border-top: 1px solid #f0f0f0;
	background: #fafafa;
}
/* 弹窗内按钮（layer 挂 body，不在 .meeting-list-pro 内） */
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 80px;
	height: 32px;
	padding: 0 16px;
	font-size: 14px;
	line-height: 1;
	border-radius: 6px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
	white-space: nowrap;
	box-sizing: border-box;
	font-family: inherit;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn .layui-icon {
	font-size: 14px;
	line-height: 1;
}
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn-primary {
	background: #1677ff;
	border-color: #1677ff;
	color: #fff;
	box-shadow: 0 2px 0 rgba(5, 145, 255, 0.1);
}
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn-primary:hover {
	background: #4096ff;
	border-color: #4096ff;
}
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn-default {
	background: #fff;
	border-color: #d9d9d9;
	color: rgba(0, 0, 0, 0.88);
}
.layui-layer.member-pro-layer .member-pro-modal-foot .pro-btn-default:hover {
	color: #1677ff;
	border-color: #1677ff;
}

/* ========== 通知中心 · 通道设置 ========== */
.notify-settings-pro .nset-layout {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 16px;
	align-items: start;
}
.notify-settings-pro .nset-nav {
	position: sticky;
	top: 12px;
	padding: 8px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 10px;
}
.notify-settings-pro .nset-nav-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	padding: 10px 12px;
	margin: 0 0 4px;
	border: none;
	border-radius: 8px;
	background: transparent;
	font-size: 13px;
	color: #475569;
	cursor: pointer;
	text-align: left;
	transition: background .15s, color .15s;
}
.notify-settings-pro .nset-nav-item:last-child { margin-bottom: 0; }
.notify-settings-pro .nset-nav-item:hover { background: #f8fafc; color: #1e293b; }
.notify-settings-pro .nset-nav-item.is-active {
	background: #eff6ff;
	color: #0f4c81;
	font-weight: 600;
}
.notify-settings-pro .nset-nav-badge {
	font-size: 10px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #64748b;
	flex-shrink: 0;
}
.notify-settings-pro .nset-nav-badge--on { background: #dcfce7; color: #16a34a; }
.notify-settings-pro .nset-nav-badge--off { background: #f1f5f9; color: #94a3b8; }
.notify-settings-pro .nset-main { min-width: 0; }
.notify-settings-pro .nset-panel { display: none; }
.notify-settings-pro .nset-panel.is-active { display: block; }
.notify-settings-pro .nset-panel-head {
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #eef2f7;
}
.notify-settings-pro .nset-panel-head h2 {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 600;
	color: #1e293b;
}
.notify-settings-pro .nset-panel-head p {
	margin: 0;
	font-size: 13px;
	color: #64748b;
	line-height: 1.55;
}
.notify-settings-pro .nset-fields {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 640px;
}
.notify-settings-pro .nset-field label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 6px;
}
.notify-settings-pro .nset-field .nset-hint {
	margin-top: 6px;
	font-size: 12px;
	color: #64748b;
	line-height: 1.55;
}
.notify-settings-pro .nset-readiness-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #eef2f7;
	border-radius: 8px;
	background: #fafafa;
}
.notify-settings-pro .nset-readiness-list li {
	padding: 10px 12px;
	border-bottom: 1px dashed #e2e8f0;
	font-size: 13px;
	color: #475569;
	line-height: 1.5;
}
.notify-settings-pro .nset-readiness-list li:last-child { border-bottom: none; }
.notify-settings-pro .nset-readiness-list li.is-ok { color: #166534; }
.notify-settings-pro .nset-readiness-list li.is-bad { color: #991b1b; }
.notify-settings-pro .nset-field-grid {
	display: grid;
	gap: 8px;
}
.notify-settings-pro .nset-field-grid--2 {
	grid-template-columns: 1fr 1fr;
}
.notify-settings-pro .nset-checks {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.notify-settings-pro .nset-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #eef2f7;
}
.notify-settings-pro .nset-footer-tip {
	font-size: 12px;
	color: #94a3b8;
}
.notify-settings-pro .nset-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}
.notify-settings-pro .nset-event-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	margin-top: 8px;
}
.notify-settings-pro .nset-event-table th,
.notify-settings-pro .nset-event-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #eef2f7;
	text-align: left;
}
.notify-settings-pro .nset-event-table th {
	font-weight: 600;
	color: #64748b;
	background: #f8fafc;
}
.notify-settings-pro .nset-event-code {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: #475569;
}
@media (max-width: 900px) {
	.notify-settings-pro .nset-layout { grid-template-columns: 1fr; }
	.notify-settings-pro .nset-nav {
		position: static;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		padding: 10px;
	}
	.notify-settings-pro .nset-nav-item {
		width: auto;
		margin: 0;
		flex: 1 1 calc(50% - 6px);
		min-width: 120px;
	}
	.notify-settings-pro .nset-field-grid--2 { grid-template-columns: 1fr; }
}

/* ========== 通知中心 · 事件配置编辑弹窗 (Ant Design Pro) ========== */
.layui-layer.notify-event-edit-layer {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
}
.layui-layer.notify-event-edit-layer .layui-layer-title {
	height: auto;
	line-height: 1.4;
	padding: 16px 48px 16px 24px;
	font-size: 16px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.88);
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
}
.layui-layer.notify-event-edit-layer .layui-layer-content {
	padding: 0;
	overflow: hidden;
	background: #fff;
}
.layui-layer.notify-event-edit-layer .layui-layer-btn {
	padding: 12px 24px 16px;
	border-top: 1px solid #f0f0f0;
	background: #fafafa;
	text-align: right;
}
.layui-layer.notify-event-edit-layer .layui-layer-btn a {
	height: 32px;
	line-height: 32px;
	padding: 0 16px;
	margin: 0 0 0 8px;
	border-radius: 6px;
	font-size: 14px;
	border: 1px solid transparent;
}
.layui-layer.notify-event-edit-layer .layui-layer-btn .layui-layer-btn0 {
	background: #1677ff;
	border-color: #1677ff;
	color: #fff;
}
.layui-layer.notify-event-edit-layer .layui-layer-btn .layui-layer-btn0:hover {
	background: #4096ff;
	border-color: #4096ff;
}
.layui-layer.notify-event-edit-layer .layui-layer-btn .layui-layer-btn1 {
	background: #fff;
	border-color: #d9d9d9;
	color: rgba(0, 0, 0, 0.88);
}
.layui-layer.notify-event-edit-layer .layui-layer-btn .layui-layer-btn1:hover {
	color: #1677ff;
	border-color: #1677ff;
}

.notify-ev-modal { display: flex; flex-direction: column; max-height: calc(90vh - 120px); }
.notify-ev-modal-head {
	padding: 20px 24px 16px;
	border-bottom: 1px solid #f0f0f0;
	background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
	flex-shrink: 0;
}
.notify-ev-modal-kicker {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	color: #1677ff;
	background: #e6f4ff;
	padding: 2px 8px;
	border-radius: 4px;
	margin-bottom: 8px;
}
.notify-ev-modal-title {
	display: block;
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.88);
	line-height: 1.35;
}
.notify-ev-modal-code {
	display: inline-block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.65);
	background: #f5f5f5;
	border: 1px solid #f0f0f0;
	border-radius: 4px;
	padding: 2px 8px;
}
.notify-ev-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.notify-ev-meta-tag {
	font-size: 12px;
	line-height: 20px;
	padding: 0 8px;
	border-radius: 4px;
	border: 1px solid #d9d9d9;
	background: #fafafa;
	color: rgba(0, 0, 0, 0.65);
}
.notify-ev-meta-tag--audience { border-color: #b7eb8f; background: #f6ffed; color: #389e0d; }
.notify-ev-meta-tag--off { border-color: #ffccc7; background: #fff2f0; color: #cf1322; }

.notify-ev-modal-body {
	flex: 1;
	overflow: auto;
	padding: 0 24px 20px;
}
.notify-ev-section {
	padding-top: 20px;
}
.notify-ev-section + .notify-ev-section {
	margin-top: 4px;
	padding-top: 20px;
	border-top: 1px dashed #f0f0f0;
}
.notify-ev-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.notify-ev-section-title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.88);
}
.notify-ev-section-title::before {
	content: '';
	display: inline-block;
	width: 3px;
	height: 14px;
	margin-right: 8px;
	vertical-align: -2px;
	background: #1677ff;
	border-radius: 2px;
}
.notify-ev-section-desc {
	margin: 0 0 12px;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.45);
	line-height: 1.6;
}
.notify-ev-alert {
	display: flex;
	gap: 10px;
	padding: 10px 12px;
	margin-bottom: 12px;
	background: #e6f4ff;
	border: 1px solid #91caff;
	border-radius: 8px;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.65);
	line-height: 1.55;
}
.notify-ev-alert-icon { color: #1677ff; font-size: 14px; flex-shrink: 0; }

.notify-ev-channel-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.notify-ev-channel-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid #d9d9d9;
	border-radius: 6px;
	background: #fff;
	font-size: 13px;
	color: rgba(0, 0, 0, 0.65);
	cursor: pointer;
	transition: all .2s;
	user-select: none;
}
.notify-ev-channel-tag:hover {
	color: #1677ff;
	border-color: #1677ff;
}
.notify-ev-channel-tag.is-active {
	color: #1677ff;
	border-color: #1677ff;
	background: #e6f4ff;
	font-weight: 500;
}
.notify-ev-channel-tag.is-active::before {
	content: '✓';
	font-size: 11px;
	font-weight: 700;
}

.notify-ev-options {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
}
.notify-ev-switch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0;
}
.notify-ev-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.notify-ev-switch-track {
	position: relative;
	width: 44px;
	height: 22px;
	background: rgba(0, 0, 0, 0.25);
	border-radius: 11px;
	transition: background .2s;
	flex-shrink: 0;
}
.notify-ev-switch-track::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transition: transform .2s;
}
.notify-ev-switch input:checked + .notify-ev-switch-track {
	background: #1677ff;
}
.notify-ev-switch input:checked + .notify-ev-switch-track::after {
	transform: translateX(22px);
}
.notify-ev-switch-text strong {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.88);
	line-height: 1.3;
}
.notify-ev-switch-text em {
	display: block;
	font-style: normal;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.45);
	margin-top: 2px;
}

.notify-ev-tpl-list { display: flex; flex-direction: column; gap: 12px; }
.notify-ev-tpl-card {
	border: 1px solid #f0f0f0;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	transition: box-shadow .2s, border-color .2s;
}
.notify-ev-tpl-card:hover {
	border-color: #d9d9d9;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 2px 8px rgba(0, 0, 0, 0.04);
}
.notify-ev-tpl-card.is-new { border-style: dashed; background: #fafafa; }
.notify-ev-tpl-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #fafafa;
	border-bottom: 1px solid #f0f0f0;
}
.notify-ev-tpl-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.notify-ev-tpl-dot--portal { background: #1677ff; }
.notify-ev-tpl-dot--admin { background: #722ed1; }
.notify-ev-tpl-dot--sms { background: #fa8c16; }
.notify-ev-tpl-dot--email { background: #13c2c2; }
.notify-ev-tpl-dot--wechat { background: #52c41a; }
.notify-ev-tpl-dot--default { background: #8c8c8c; }
.notify-ev-tpl-card-title { flex: 1; min-width: 0; }
.notify-ev-tpl-card-title strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.88);
}
.notify-ev-tpl-card-title code {
	font-size: 11px;
	color: rgba(0, 0, 0, 0.45);
}
.notify-ev-tpl-badge {
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 4px;
	background: #f6ffed;
	border: 1px solid #b7eb8f;
	color: #389e0d;
	flex-shrink: 0;
}
.notify-ev-tpl-badge--new {
	background: #fff7e6;
	border-color: #ffd591;
	color: #d46b08;
}
.notify-ev-tpl-card-body {
	padding: 16px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 16px;
}
.notify-ev-field { min-width: 0; }
.notify-ev-field--full { grid-column: 1 / -1; }
.notify-ev-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.65);
}
.notify-ev-field label span {
	font-weight: 400;
	color: rgba(0, 0, 0, 0.45);
}
.notify-ev-field .layui-input,
.notify-ev-field .layui-textarea {
	border-radius: 6px;
	border-color: #d9d9d9;
	font-size: 13px;
}
.notify-ev-field .layui-input:focus,
.notify-ev-field .layui-textarea:focus {
	border-color: #1677ff;
	box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.1);
}
.notify-ev-field .layui-textarea { min-height: 72px; resize: vertical; }
.notify-ev-tpl-card-foot {
	display: flex;
	justify-content: flex-end;
	padding: 0 16px 14px;
}
.notify-ev-tpl-empty {
	text-align: center;
	padding: 32px 16px;
	color: rgba(0, 0, 0, 0.45);
	font-size: 13px;
	background: #fafafa;
	border: 1px dashed #d9d9d9;
	border-radius: 8px;
}
.notify-ev-tpl-empty i { display: block; font-size: 28px; color: #d9d9d9; margin-bottom: 8px; }

.notify-event-pro .layui-table-view { border-radius: 8px; border-color: #f0f0f0; }
.notify-event-pro .layui-table-header { background: #fafafa; }
.notify-event-pro .layui-table-header th { font-weight: 600; color: rgba(0, 0, 0, 0.65); }

@media (max-width: 768px) {
	.layui-layer.notify-event-edit-layer { width: 96% !important; max-width: 96%; }
	.notify-ev-tpl-card-body { grid-template-columns: 1fr; }
	.notify-ev-modal-body { padding: 0 16px 16px; }
	.notify-ev-modal-head { padding: 16px; }
}

/* 住宿 / 行程管理 · 侧栏弹窗 */
.lod-side-page {
	min-height: 100%;
	background: #f5f7fa;
	padding-bottom: 24px;
}
.lod-side-page .copyright { display: none; }
.lod-side-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px 16px;
	background: linear-gradient(135deg, #fff 0%, #eff6ff 55%, #f8fafc 100%);
	border-bottom: 1px solid #e2e8f0;
}
.lod-side-hero__main { display: flex; gap: 14px; align-items: flex-start; flex: 1; min-width: 260px; }
.lod-side-hero__icon {
	width: 52px; height: 52px; border-radius: 14px;
	background: linear-gradient(135deg, #dbeafe, #bfdbfe);
	display: flex; align-items: center; justify-content: center;
	font-size: 26px; flex-shrink: 0;
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.15);
}
.lod-side-hero__eyebrow {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 600;
	color: #2563eb;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.lod-side-hero__title { margin: 0 0 6px; font-size: 20px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.lod-side-hero__desc { margin: 0 0 10px; font-size: 13px; color: #64748b; line-height: 1.5; }
.lod-side-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lod-side-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.lod-chip {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	background: #f1f5f9;
	color: #64748b;
	border: 1px solid #e2e8f0;
}
.lod-chip--on { background: #ecfdf5; color: #059669; border-color: #a7f3d0; }
.lod-chip--off { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
.lod-chip--hint { background: #fffbeb; color: #b45309; border-color: #fde68a; font-weight: 500; }
.lod-chip--accent { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; }
.lod-side-stats {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	padding: 16px 24px;
	background: #fff;
	border-bottom: 1px solid #f1f5f9;
}
.lod-side-stat {
	text-align: center;
	padding: 10px 8px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
}
.lod-side-stat strong { display: block; font-size: 20px; font-weight: 700; color: #0f172a; line-height: 1.2; }
.lod-side-stat em { display: block; margin-top: 2px; font-style: normal; font-size: 11px; color: #94a3b8; }
.lod-side-stat--accent strong { color: #2563eb; }
.lod-side-stat--warn strong { color: #d97706; }
.lod-side-stat--ok strong { color: #059669; }
.lod-side-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 12px 24px 0;
	background: #fff;
	border-bottom: 1px solid #e2e8f0;
}
.lod-side-tabs__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border: none;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: #64748b;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	margin-bottom: -1px;
	border-radius: 8px 8px 0 0;
	transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.lod-side-tabs__btn .layui-icon { font-size: 15px; }
.lod-side-tabs__btn:hover { color: #2563eb; background: #f8fbff; }
.lod-side-tabs__btn.is-active {
	color: #2563eb;
	font-weight: 600;
	border-bottom-color: #2563eb;
	background: #f8fbff;
}
.lod-side-tabs__badge {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #dc2626;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.lod-tab-panels { padding: 16px 24px 24px; }
.lod-tab-panel { display: none; }
.lod-tab-panel.is-active { display: block; animation: lodFadeIn 0.2s ease; }
@keyframes lodFadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}
.lod-panel-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.lod-panel-toolbar__hint { margin: 0; font-size: 12px; color: #94a3b8; flex: 1; min-width: 200px; }
.lod-hotel-list { display: flex; flex-direction: column; gap: 14px; }
.lod-hotel-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.lod-hotel-card__head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
	border-bottom: 1px solid #f1f5f9;
}
.lod-hotel-card__main { flex: 1; min-width: 0; }
.lod-hotel-card__head h3 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}
.lod-hotel-card__addr,
.lod-hotel-card__phone {
	margin: 0 0 4px;
	font-size: 12px;
	color: #64748b;
	display: flex;
	align-items: center;
	gap: 4px;
}
.lod-hotel-card__addr .layui-icon,
.lod-hotel-card__phone .layui-icon { font-size: 13px; color: #94a3b8; }
.lod-hotel-card__actions { display: flex; gap: 6px; flex-shrink: 0; }
.lod-tag {
	font-size: 10px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
}
.lod-tag--default { background: #fef3c7; color: #b45309; }
.lod-tag--share { background: #dbeafe; color: #1d4ed8; }
.lod-tag--muted { background: #f1f5f9; color: #94a3b8; }
.lod-tag--warn { background: #fffbeb; color: #b45309; }
.lod-icon-btn {
	width: 34px; height: 34px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #64748b;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.12s;
}
.lod-icon-btn:hover { border-color: #93c5fd; color: #2563eb; background: #f8fbff; }
.lod-icon-btn--danger:hover { border-color: #fecaca; color: #dc2626; background: #fef2f2; }
.lod-hotel-card__rooms { padding: 14px 18px 18px; background: #fcfdfe; }
.lod-hotel-card__rooms-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #e2e8f0;
	font-size: 13px;
	color: #475569;
}
.lod-hotel-card__rooms-head strong {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: #334155;
}
.lod-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: #eff6ff;
	color: #2563eb;
	font-size: 11px;
	font-weight: 700;
}
.lod-room-card {
	display: flex;
	align-items: stretch;
	gap: 12px;
	padding: 12px 14px;
	margin-bottom: 10px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.lod-room-card:hover {
	border-color: #bfdbfe;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}
.lod-room-card:last-child { margin-bottom: 0; }
.lod-room-card__lead {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	font-size: 18px;
	line-height: 1;
	align-self: center;
}
.lod-room-card__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.lod-room-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.lod-room-card__name-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.lod-room-card__title {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}
.lod-room-card__price {
	flex-shrink: 0;
	font-size: 15px;
	font-weight: 700;
	color: #2563eb;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}
.lod-room-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.lod-room-chip {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}
.lod-room-chip .layui-icon {
	font-size: 12px;
	color: #94a3b8;
}
.lod-room-chip--pay {
	color: #1d4ed8;
	background: #eff6ff;
	border-color: #bfdbfe;
}
.lod-room-chip--qty {
	color: #0f766e;
	background: #f0fdfa;
	border-color: #99f6e4;
}
.lod-room-chip--ok {
	color: #047857;
	background: #ecfdf5;
	border-color: #a7f3d0;
}
.lod-room-chip--share {
	color: #1d4ed8;
	background: #dbeafe;
	border-color: #93c5fd;
}
.lod-room-chip--warn {
	color: #b45309;
	background: #fffbeb;
	border-color: #fde68a;
}
.lod-room-chip--off,
.lod-room-chip--muted {
	color: #94a3b8;
	background: #f1f5f9;
	border-color: #e2e8f0;
}
.lod-room-card__ops {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	flex-shrink: 0;
	padding-left: 8px;
	border-left: 1px solid #f1f5f9;
}
.lod-room-act {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 68px;
	padding: 5px 10px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: #475569;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.lod-room-act .layui-icon { font-size: 14px; color: #64748b; }
.lod-room-act:hover {
	background: #f8fafc;
	border-color: #e2e8f0;
	color: #2563eb;
}
.lod-room-act:hover .layui-icon { color: #2563eb; }
.lod-room-act--danger:hover {
	background: #fef2f2;
	border-color: #fecaca;
	color: #dc2626;
}
.lod-room-act--danger:hover .layui-icon { color: #dc2626; }
.lod-room-act--danger:hover .layui-icon { color: #dc2626; }

/* 住宿后勤：分房 / 房态 / 对账 */
.lod-ops-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lod-ops-toolbar .layui-input { width: auto; min-width: 140px; max-width: 200px; }
.lod-ops-grid { display: grid; grid-template-columns: minmax(260px, 320px) 1fr; gap: 16px; align-items: start; }
.lod-ops-col { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; min-height: 320px; }
.lod-ops-col--wide { min-width: 0; }
.lod-ops-col__title { margin: 0 0 12px; font-size: 13px; font-weight: 600; color: #334155; display: flex; align-items: center; gap: 6px; }
.lod-ops-list { display: flex; flex-direction: column; gap: 8px; max-height: 520px; overflow-y: auto; }
.lod-pending-item { display: flex; gap: 10px; padding: 10px 12px; border: 1px solid #f1f5f9; border-radius: 10px; cursor: pointer; transition: border-color 0.12s, background 0.12s; }
.lod-pending-item:hover { border-color: #bfdbfe; background: #f8fbff; }
.lod-pending-item__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lod-pending-item__body strong { font-size: 13px; color: #0f172a; }
.lod-pending-item__body em, .lod-pending-item__body small { font-size: 11px; color: #64748b; font-style: normal; }
.lod-assign-table-wrap { overflow-x: auto; }
.lod-share-suggest { margin-top: 16px; padding: 14px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; }
.lod-share-suggest h4 { margin: 0 0 10px; font-size: 13px; }
.lod-share-pair { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #fde68a; font-size: 12px; }
.lod-share-pair:last-child { border-bottom: none; }
.lod-board-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.lod-board-stat { min-width: 100px; padding: 12px 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; }
.lod-board-stat strong { display: block; font-size: 20px; color: #0f172a; }
.lod-board-stat em { font-style: normal; font-size: 11px; color: #94a3b8; }
.lod-board-stat--ok strong { color: #059669; }
.lod-board-stat--warn strong { color: #d97706; }
.lod-board-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.lod-board-card { padding: 12px 14px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.lod-board-card strong { display: block; font-size: 15px; color: #2563eb; margin-bottom: 4px; }
.lod-board-card p { margin: 0 0 4px; font-size: 13px; color: #334155; }
.lod-board-card em { font-size: 11px; color: #94a3b8; font-style: normal; }
.lod-reconcile-layout { display: grid; grid-template-columns: 280px 1fr; gap: 14px; align-items: start; }
.lod-reconcile-list { display: flex; flex-direction: column; gap: 8px; }
.lod-stmt-item { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; cursor: pointer; text-align: left; transition: border-color 0.12s, background 0.12s; }
.lod-stmt-item:hover, .lod-stmt-item.is-active { border-color: #93c5fd; background: #f8fbff; }
.lod-stmt-item strong { font-size: 13px; color: #0f172a; }
.lod-stmt-item em { font-size: 11px; color: #64748b; font-style: normal; }
.lod-reconcile-detail { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; min-height: 320px; }
.lod-stmt-head h4 { margin: 0 0 6px; }
.lod-stmt-head p { margin: 0 0 12px; font-size: 12px; color: #64748b; }
.lod-stmt-collection { color: #0f766e !important; font-weight: 500; }
.lod-stmt-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }

.lod-attrition-alert { padding: 12px 16px; border-radius: 10px; margin-bottom: 14px; font-size: 13px; }
.lod-attrition-alert--ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.lod-attrition-alert--warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.lod-attrition-alert--danger { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.lod-attrition-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.lod-attrition-stat { flex: 1 1 100px; min-width: 90px; padding: 12px 14px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; }
.lod-attrition-stat strong { display: block; font-size: 18px; color: #0f172a; }
.lod-attrition-stat em { font-size: 11px; color: #64748b; font-style: normal; }
.lod-attrition-stat--warn strong { color: #b45309; }
.lod-attrition-stat--danger strong { color: #b91c1c; }
.lod-attrition-suggest { margin-bottom: 16px; padding: 12px 14px; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; font-size: 12px; color: #475569; }
.lod-attrition-suggest h4 { margin: 0 0 8px; font-size: 13px; color: #0f172a; }
.lod-attrition-suggest ul { margin: 0; padding-left: 18px; }
.lod-attrition-grid { display: grid; grid-template-columns: 1fr 280px; gap: 16px; align-items: start; }
@media (max-width: 1100px) { .lod-attrition-grid { grid-template-columns: 1fr; } }
.lod-attrition-subtitle { margin: 16px 0 8px; font-size: 13px; color: #334155; }
.lod-attrition-params label { display: block; margin-bottom: 10px; font-size: 12px; color: #64748b; }
.lod-attrition-params .layui-input { margin-top: 4px; }
.lod-attrition-curve-row { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; padding: 6px 0; border-bottom: 1px solid #f1f5f9; color: #64748b; }
.lod-budget-warn { font-style: normal; font-weight: 600; color: inherit; }
.lod-s-curve-bench { color: #92400e; background: #fffbeb; margin-bottom: 2px; border-radius: 4px; padding: 4px 6px !important; }
.lod-s-curve-current { color: #1e40af; }
.lod-supplier-tag { color: #64748b; }
.lod-vip-tag { display:inline-block;font-size:10px;background:#ede9fe;color:#5b21b6;padding:1px 6px;border-radius:4px;margin-left:4px; }
.lod-attrition-block-hints { margin-bottom:14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:12px; }
.lod-attrition-block-hints h4 { margin:0 0 8px;font-size:13px; }
.lod-attrition-block-hints ul { margin:0;padding-left:18px; }
.lod-attrition-heatmap { margin-bottom:16px; }
.lod-heat-grid { display:flex;flex-wrap:wrap;gap:6px; }
.lod-heat-cell { width:72px;padding:6px;border-radius:6px;font-size:10px;text-align:center;border:1px solid #e2e8f0; }
.lod-heat-cell em { display:block;color:#64748b; }
.lod-heat-cell strong { display:block;font-size:12px;margin:2px 0; }
.lod-heat--ok { background:#ecfdf5; }
.lod-heat--yellow { background:#fffbeb;border-color:#fde68a; }
.lod-heat--red { background:#fef2f2;border-color:#fecaca; }
.lod-supplier-summary { margin-bottom:14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px; }
.lod-supplier-summary__title { margin:0 0 10px;font-size:13px; }
.lod-supplier-cards { display:flex;flex-direction:column;gap:8px; }
.lod-supplier-card { padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px; }
.lod-supplier-card p { margin:4px 0 0;color:#64748b; }
.lod-supplier-contract { font-size:11px;color:#94a3b8; }
.lod-travel-link { margin-bottom:16px;padding:12px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;font-size:12px; }
.lod-travel-link h4 { margin:0 0 8px;font-size:13px; }
.lod-travel-warn { color:#b45309; }
.lod-travel-link-actions { margin:10px 0 0; }
.trv-lodging-badge { display:inline-block;font-size:10px;padding:2px 8px;border-radius:4px; }
.trv-lodging-badge--lodging-ok { background:#ecfdf5;color:#047857; }
.trv-lodging-badge--lodging-pending { background:#fffbeb;color:#b45309; }
.trv-lodging-badge--lodging-warn { background:#fef2f2;color:#b91c1c; }
.lod-stmt-row-attrition { background: #fff7ed; }
.lod-stmt-row-attrition td { border-top: 1px solid #fed7aa; }
.lod-ops-migrate-hint { margin: 16px 0; padding: 14px 16px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; font-size: 13px; color: #92400e; }
.lod-assign-edit .lod-field { display: block; margin-bottom: 12px; }
.lod-policy-fields-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pad-16 { padding: 16px; }

.lod-text-btn {
	border: none;
	background: none;
	color: #2563eb;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 6px;
	transition: background 0.12s;
}
.lod-text-btn:hover { background: #eff6ff; }
.lod-text-btn--danger { color: #dc2626; }
.lod-text-btn--danger:hover { background: #fef2f2; }
.lod-empty-hint { text-align: center; color: #94a3b8; font-size: 12px; padding: 12px; margin: 0; }
.lod-empty-state {
	text-align: center;
	padding: 48px 24px;
	background: #fff;
	border: 1px dashed #e2e8f0;
	border-radius: 12px;
}
.lod-empty-state__icon { font-size: 40px; margin-bottom: 12px; opacity: 0.7; }
.lod-empty-state p { margin: 0 0 16px; color: #64748b; font-size: 14px; }
.lod-order-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; width: 100%; }
.lod-search-box {
	position: relative;
	flex: 1;
	min-width: 180px;
	max-width: 280px;
}
.lod-search-box .layui-icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 14px;
	pointer-events: none;
}
.lod-search-box .layui-input { padding-left: 32px; height: 34px; border-radius: 8px; }
.lod-order-filters .layui-input { width: auto; min-width: 120px; height: 34px; border-radius: 8px; }
.lod-order-table-wrap {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: auto;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.lod-order-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lod-order-table th,
.lod-order-table td {
	padding: 12px 14px;
	border-bottom: 1px solid #f1f5f9;
	text-align: left;
	vertical-align: middle;
}
.lod-order-table th {
	background: #f8fafc;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	white-space: nowrap;
}
.lod-order-table tr:last-child td { border-bottom: none; }
.lod-order-table tr:hover td { background: #fafbff; }
.lod-order-id { font-size: 11px; color: #64748b; background: #f1f5f9; padding: 2px 6px; border-radius: 4px; }
.lod-order-hotel { display: block; font-weight: 600; color: #0f172a; font-size: 13px; }
.lod-order-table td em { display: block; font-style: normal; font-size: 11px; color: #94a3b8; margin-top: 2px; }
.lod-order-table td small { display: block; font-size: 11px; color: #94a3b8; margin-top: 2px; }
.lod-order-dates { font-size: 12px; line-height: 1.45; white-space: nowrap; }
.lod-order-ops { white-space: nowrap; }
.lod-order-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
}
.lod-order-badge--pending { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; }
.lod-order-badge--confirmed { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.lod-order-badge--waitlist { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }
.lod-order-badge--cancelled { background: #f1f5f9; color: #94a3b8; border: 1px solid #e2e8f0; }
.lod-order-badge--default { background: #f8fafc; color: #64748b; }
.lod-loading-cell,
.lod-empty-cell { text-align: center; color: #94a3b8; padding: 32px 16px !important; }
.lod-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lod-policy-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.lod-policy-card__head {
	padding: 16px 18px 12px;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.lod-policy-card__head h2 { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: #0f172a; }
.lod-policy-card__head p { margin: 0; font-size: 12px; color: #94a3b8; }
.lod-policy-card__body { padding: 16px 18px 18px; }
.lod-config-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}
.lod-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #475569; font-weight: 500; }
.lod-field--full { grid-column: 1 / -1; }
.lod-switch-field { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #475569; padding: 8px 0; }
.lod-intro-editor { min-height: 100px; border-radius: 8px; resize: vertical; }
.lod-req { color: #dc2626; }
.lod-editor-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.lod-editor-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed #e2e8f0;
	font-size: 13px;
	color: #475569;
}
.lod-editor-form .layui-input,
.lod-editor-form select,
.lod-editor-form .layui-textarea {
	margin-top: 0;
	border-radius: 8px;
	border-color: #e2e8f0;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.lod-editor-form .layui-input:focus,
.lod-editor-form .layui-textarea:focus {
	border-color: #93c5fd;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
}
.lod-field-hint {
	font-size: 11px;
	color: #94a3b8;
	font-weight: 400;
	line-height: 1.45;
}
.lod-editor-grid--single { grid-template-columns: 1fr; }
.lod-editor-section {
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px dashed #eef2f6;
}
.lod-editor-section--last {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.lod-editor-section__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.lod-editor-section__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #d97706;
	flex-shrink: 0;
}
.lod-flag-pick {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.lod-flag-card {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
	margin: 0;
}
.lod-flag-card:hover { border-color: #cbd5e1; background: #fff; }
.lod-flag-card:has(input:checked) {
	border-color: #2563eb;
	background: #eff6ff;
	box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.08);
}
.lod-flag-card--accent:has(input:checked) {
	border-color: #d97706;
	background: #fffbeb;
	box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.08);
}
.lod-flag-card--ok:has(input:checked) {
	border-color: #059669;
	background: #ecfdf5;
	box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.08);
}
.lod-flag-card input { flex-shrink: 0; margin-top: 1px; }
.lod-flag-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lod-flag-card__body strong { font-size: 12px; font-weight: 600; color: #334155; line-height: 1.35; }
.lod-flag-card__body em { font-style: normal; font-size: 11px; color: #94a3b8; line-height: 1.4; }
.lod-layer-dialog {
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 40px);
	min-height: 0;
	background: #fff;
}
.lod-layer-dialog__head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 56px 14px 20px;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
	flex-shrink: 0;
	position: relative;
}
.lod-layer-dialog__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.05);
	color: #64748b;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s, color 0.15s, transform 0.12s;
}
.lod-layer-dialog__close .layui-icon {
	font-size: 16px;
	line-height: 1;
}
.lod-layer-dialog__close:hover {
	background: rgba(15, 23, 42, 0.1);
	color: #334155;
}
.lod-layer-dialog__close:active {
	transform: scale(0.96);
}
.lod-layer-dialog__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	border-radius: 12px;
	background: linear-gradient(135deg, #fde68a, #fcd34d);
	box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.15);
}
.lod-layer-dialog__titles { min-width: 0; flex: 1; }
.lod-layer-dialog__titles h3 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}
.lod-layer-dialog__titles p {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.5;
}
.lod-layer-shell {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 16px 20px 8px;
}
.lod-room-form .lod-editor-section {
	padding-bottom: 12px;
	margin-bottom: 12px;
}
.lod-room-form .lod-editor-section--last {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.lod-flag-pick--room {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lod-flag-card.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
	background: #f8fafc;
	box-shadow: none;
}
.lod-flag-card.is-disabled input {
	pointer-events: none;
}
.lod-share-bed-hint {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 0;
	padding: 10px 12px;
	font-size: 12px;
	line-height: 1.55;
	color: #64748b;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}
.lod-share-bed-hint .layui-icon {
	flex-shrink: 0;
	margin-top: 1px;
	font-size: 14px;
	color: #94a3b8;
}
.lod-share-bed-hint.is-warn {
	color: #b45309;
	background: #fffbeb;
	border-color: #fde68a;
}
.lod-share-bed-hint.is-warn .layui-icon {
	color: #d97706;
}
.lod-share-bed-hint[hidden] {
	display: none !important;
}
.lod-layer-body { display: block; }
.lod-layer-head { padding: 18px 20px 12px; border-bottom: 1px solid #f1f5f9; background: linear-gradient(180deg, #fafbfc 0%, #fff 100%); }
.lod-layer-head h3 { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #0f172a; }
.lod-layer-head p { margin: 0; font-size: 12px; color: #94a3b8; }
.lod-hotel-form .lod-editor-grid { gap: 10px 12px; }
.lod-layer-foot {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 20px 18px;
	border-top: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
	flex-shrink: 0;
}
.lod-layer-foot .pro-btn-primary {
	min-width: 108px;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.12);
}
.lod-layer-foot .pro-btn-default { min-width: 80px; }

/* 高德地图选点 */
.lod-amap-field { gap: 8px !important; }
.lod-field-hint--inline { font-weight: 400; margin-left: 4px; }
.lod-amap-picker {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.lod-amap-search-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 10px 8px;
	background: #fafbfc;
	border-bottom: 1px solid #f1f5f9;
}
.lod-amap-search-bar .layui-icon-search { color: #94a3b8; font-size: 16px; flex-shrink: 0; }
.lod-amap-search__input { flex: 1; min-width: 0; border-radius: 8px !important; }
.lod-amap-search__btn {
	flex-shrink: 0;
	padding: 0 12px;
	height: 36px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #475569;
	font-size: 12px;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}
.lod-amap-search__btn:hover { border-color: #cbd5e1; background: #f8fafc; }
.lod-amap-search__btn--primary {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
}
.lod-amap-search__btn--primary:hover { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.lod-amap-search-bar { flex-wrap: wrap; }
.lod-amap-suggest {
	border-bottom: 1px solid #f1f5f9;
	background: #fff;
	max-height: 180px;
	overflow-y: auto;
}
.lod-amap-suggest__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 100%;
	padding: 8px 12px;
	border: none;
	border-bottom: 1px solid #f8fafc;
	background: #fff;
	text-align: left;
	cursor: pointer;
}
.lod-amap-suggest__item:hover { background: #eff6ff; }
.lod-amap-suggest__item strong { font-size: 13px; color: #334155; font-weight: 600; }
.lod-amap-suggest__item span { font-size: 11px; color: #94a3b8; line-height: 1.4; }
.lod-amap-map-wrap { position: relative; background: #f1f5f9; }
.lod-amap-map { width: 100%; height: min(220px, 32vh); min-height: 160px; }
.lod-amap-empty {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 8px 12px;
	font-size: 12px;
	color: #64748b;
	background: rgba(255, 255, 255, 0.92);
	border-radius: 8px;
	border: 1px dashed #e2e8f0;
	pointer-events: none;
	white-space: nowrap;
}
.lod-amap-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 10px 10px;
	background: #fafbfc;
	border-top: 1px solid #f1f5f9;
}
.lod-amap-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 12px;
	border-radius: 8px;
	background: #2563eb;
	color: #fff !important;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
}
.lod-amap-nav-btn:hover { background: #1d4ed8; color: #fff !important; }
.lod-amap-coord { font-size: 11px; color: #94a3b8; }
.lod-amap-key-hint {
	margin: 8px 0 0;
	padding: 8px 10px;
	font-size: 11px;
	color: #64748b;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 8px;
	line-height: 1.5;
}
.lod-amap-key-hint code {
	padding: 1px 5px;
	background: #fff;
	border-radius: 4px;
	font-size: 10px;
}
.lod-inv-panel { padding: 16px 20px; }
.lod-inv-shell { padding-top: 12px !important; }
.lod-layer-dialog__head--inv {
	background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
}
.lod-inv-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 12px;
	margin-bottom: 10px;
	padding: 12px 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}
.lod-inv-toolbar__batch {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.lod-inv-toolbar__label {
	font-size: 13px;
	font-weight: 600;
	color: #475569;
}
.lod-inv-toolbar__batch .lod-inv-batch-q {
	width: 88px;
	height: 34px;
	margin: 0;
	border-radius: 8px;
	text-align: center;
}
.lod-inv-toolbar__unit {
	font-size: 12px;
	color: #94a3b8;
}
.lod-inv-summary {
	margin: 0 0 10px;
	font-size: 12px;
	color: #64748b;
}
.lod-inv-summary strong { color: #2563eb; font-weight: 700; }
.lod-inv-table-wrap {
	max-height: min(52vh, 420px);
	overflow: auto;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
}
.lod-inv-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.lod-inv-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 10px 12px;
	text-align: left;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
}
.lod-inv-table tbody td {
	padding: 8px 12px;
	border-bottom: 1px solid #f1f5f9;
	vertical-align: middle;
}
.lod-inv-table tbody tr:last-child td { border-bottom: none; }
.lod-inv-table tbody tr:hover { background: #fafbfc; }
.lod-inv-row--full { background: #fff7ed; }
.lod-inv-row--full:hover { background: #ffedd5; }
.lod-inv-date__main {
	display: block;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
}
.lod-inv-date__sub {
	display: block;
	font-size: 11px;
	color: #94a3b8;
	margin-top: 2px;
}
.lod-inv-q-input {
	width: 100%;
	height: 34px;
	margin: 0;
	border-radius: 8px;
	text-align: center;
}
.lod-inv-used,
.lod-inv-left {
	text-align: center;
	font-variant-numeric: tabular-nums;
	color: #475569;
}
.lod-inv-left { font-weight: 600; color: #059669; }
.lod-inv-row--full .lod-inv-left { color: #d97706; }
.lod-inv-footnote {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 12px;
	padding: 10px 12px;
	font-size: 12px;
	line-height: 1.55;
	color: #64748b;
	background: #f8fafc;
	border-radius: 8px;
}
.lod-inv-footnote .layui-icon {
	flex-shrink: 0;
	margin-top: 2px;
	font-size: 14px;
	color: #94a3b8;
}
.lod-inv-textarea { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; border-radius: 8px; }
.lod-editor-layer.layui-layer {
	border-radius: 14px !important;
	overflow: visible !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 24px 56px rgba(15, 23, 42, 0.16) !important;
	max-height: calc(100vh - 24px) !important;
	display: flex;
	flex-direction: column;
}
.lod-editor-layer .layui-layer-content {
	padding: 0 !important;
	overflow: hidden !important;
	flex: 1 1 auto;
	min-height: 0;
	max-height: calc(100vh - 24px);
	border-radius: 14px;
	background: #fff;
}
.lod-editor-layer .layui-layer-content > .lod-layer-dialog {
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	border-radius: 14px;
	overflow: hidden;
}
.lod-editor-layer .layui-layer-setwin {
	display: none !important;
}

@media (max-width: 640px) {
	.lod-flag-pick--room { grid-template-columns: 1fr; }
	.lod-layer-dialog__head { padding-right: 52px; }
	.lod-room-card {
		flex-wrap: wrap;
	}
	.lod-room-card__ops {
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		padding-left: 0;
		padding-top: 10px;
		margin-top: 2px;
		border-left: none;
		border-top: 1px solid #f1f5f9;
	}
	.lod-room-act {
		flex: 1;
		min-width: calc(33.33% - 4px);
	}
	.lod-ops-grid { grid-template-columns: 1fr; }
	.lod-reconcile-layout { grid-template-columns: 1fr; }
	.lod-policy-fields-row--3 { grid-template-columns: 1fr; }
}

/* 行程管理 · 侧栏主题 */
.trv-side-page .trv-side-hero {
	background: linear-gradient(135deg, #fff 0%, #ecfdf5 55%, #f8fafc 100%);
}
.trv-side-page .lod-side-hero__icon {
	background: linear-gradient(135deg, #d1fae5, #a7f3d0);
	box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.12);
}
.trv-side-page .lod-chip--accent { background: #d1fae5; color: #047857; }
.trv-seg-filters { width: 100%; }
.trv-filter-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #475569;
	padding: 6px 10px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	user-select: none;
}
.trv-filter-check input { margin: 0; }
.trv-seg-table-wrap { margin-top: 0; }

/* 行程策略配置 */
.trv-policy-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 16px;
	align-items: start;
}
.trv-policy-main {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.trv-policy-form { padding: 0; }
.trv-policy-section {
	padding: 18px 20px;
	border-bottom: 1px solid #f1f5f9;
}
.trv-policy-section:last-of-type { border-bottom: none; }
.trv-policy-section__head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
}
.trv-policy-section__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	border-radius: 10px;
	line-height: 1;
}
.trv-policy-section__icon--collect { background: #eff6ff; box-shadow: inset 0 0 0 1px #bfdbfe; }
.trv-policy-section__icon--shuttle { background: #ecfdf5; box-shadow: inset 0 0 0 1px #a7f3d0; }
.trv-policy-section__icon--guide { background: #fff7ed; box-shadow: inset 0 0 0 1px #fed7aa; }
.trv-policy-section__icon--lodging { background: #fff7ed; box-shadow: inset 0 0 0 1px #fed7aa; }
.trv-policy-section__icon--rule { background: #eff6ff; box-shadow: inset 0 0 0 1px #bfdbfe; }
.trv-policy-section__icon--time { background: #f5f3ff; box-shadow: inset 0 0 0 1px #ddd6fe; }
.trv-policy-section__title {
	margin: 0 0 2px;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.trv-policy-section__desc {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.5;
}
.trv-toggle-grid {
	display: grid;
	gap: 10px;
}
.trv-toggle-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trv-toggle-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
	margin: 0;
}
.trv-toggle-card:hover { border-color: #cbd5e1; background: #fff; }
.trv-toggle-card:has(input:checked) {
	border-color: #059669;
	background: #ecfdf5;
	box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.12);
}
.trv-toggle-card--master:has(input:checked) {
	border-color: #2563eb;
	background: #eff6ff;
	box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
}
.trv-toggle-card--lodging:has(input:checked) {
	border-color: #d97706;
	background: #fffbeb;
	box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.12);
}
.trv-toggle-card--inline { width: 100%; margin-top: 0; }
.trv-policy-form .trv-native-check,
.trv-policy-form .trv-toggle-card input[type=checkbox],
.trv-policy-form .trv-shuttle-card input[type=checkbox] {
	display: inline-block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex-shrink: 0;
	pointer-events: auto;
}
.trv-policy-form .trv-shuttle-card input[type=checkbox] { accent-color: #7c3aed; }
.trv-policy-form .trv-toggle-card .layui-form-checkbox,
.trv-policy-form .trv-shuttle-card .layui-form-checkbox { display: none !important; }
.trv-toggle-card input { flex-shrink: 0; margin-top: 2px; }
.trv-toggle-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.trv-toggle-card__title { font-size: 13px; font-weight: 600; color: #334155; line-height: 1.35; }
.trv-toggle-card__hint { font-size: 11px; color: #94a3b8; line-height: 1.45; font-weight: 400; }
.trv-shuttle-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}
.trv-shuttle-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 14px 14px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s;
	margin: 0;
	overflow: hidden;
}
.trv-shuttle-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: #e2e8f0;
	transition: background 0.15s;
}
.trv-shuttle-card--pickup::before { background: #93c5fd; }
.trv-shuttle-card--dropoff::before { background: #c4b5fd; }
.trv-shuttle-card--pickup:has(input:checked) {
	border-color: #2563eb;
	box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.1);
	background: linear-gradient(135deg, #fff 0%, #eff6ff 100%);
}
.trv-shuttle-card--dropoff:has(input:checked) {
	border-color: #7c3aed;
	box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.1);
	background: linear-gradient(135deg, #fff 0%, #f5f3ff 100%);
}
.trv-shuttle-card input { flex-shrink: 0; }
.trv-shuttle-card__icon { font-size: 22px; line-height: 1; flex-shrink: 0; }
.trv-shuttle-card__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.trv-shuttle-card__body strong { font-size: 13px; font-weight: 600; color: #334155; }
.trv-shuttle-card__body em { font-style: normal; font-size: 11px; color: #94a3b8; }
.trv-shuttle-card__badge {
	flex-shrink: 0;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 999px;
	letter-spacing: 0.02em;
}
.trv-shuttle-card--pickup .trv-shuttle-card__badge { background: #dbeafe; color: #2563eb; }
.trv-shuttle-card--dropoff .trv-shuttle-card__badge { background: #ede9fe; color: #7c3aed; }
.trv-cutoff-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}
.trv-cutoff-field__label {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	color: #475569;
}
.trv-cutoff-field__label .layui-icon { font-size: 14px; color: #94a3b8; }
.trv-cutoff-field .layui-input { border-radius: 8px; }
.trv-traffic-fields { display: flex; flex-direction: column; gap: 12px; }
.trv-traffic-venue-panel {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	overflow: hidden;
}
.trv-traffic-venue-panel__head {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	background: #fafbfc;
}
.trv-traffic-venue-panel__icon {
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 2px;
}
.trv-traffic-venue-panel__head strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 2px;
}
.trv-traffic-venue-panel__head p {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.45;
}
.trv-traffic-venue-panel__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 16px 16px;
}
.trv-traffic-venue-panel__body .lod-amap-map { height: 200px; }
.trv-traffic-row { display: flex; flex-direction: column; gap: 10px; }
.trv-traffic-row--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.trv-traffic-field__label {
	display: flex;
	align-items: center;
	gap: 6px;
}
.trv-traffic-field__emoji { font-size: 14px; line-height: 1; }
.trv-traffic-textarea {
	min-height: 64px;
	border-radius: 8px;
	resize: vertical;
	font-size: 13px;
}
.trv-policy-actions {
	display: flex;
	justify-content: flex-end;
	padding: 14px 20px;
	background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
	border-top: 1px solid #f1f5f9;
}
.trv-policy-aside {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.trv-intro-card { margin: 0; }
.trv-intro-editor {
	min-height: 160px;
	border-radius: 8px;
	resize: vertical;
	font-size: 13px;
	line-height: 1.55;
}
.trv-intro-save { width: 100%; margin-top: 10px; }
.trv-policy-tips {
	padding: 14px 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	font-size: 12px;
	color: #64748b;
	line-height: 1.55;
}
.trv-policy-tips h4 {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	display: flex;
	align-items: center;
	gap: 4px;
}
.trv-policy-tips h4 .layui-icon { font-size: 14px; color: #94a3b8; }
.trv-policy-tips ul { margin: 0; padding-left: 18px; }
.trv-policy-tips li { margin-bottom: 4px; }
.trv-policy-tips li:last-child { margin-bottom: 0; }
.trv-policy-tips strong { color: #334155; font-weight: 600; }
.trv-policy-tips a { color: #059669; text-decoration: none; }
.trv-policy-tips a:hover { text-decoration: underline; }
.trv-policy-tips--lodging a { color: #d97706; }

/* 住宿 · 预订模式卡片 */
.meet-mode-pick {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}
.meet-mode-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
	margin: 0;
	min-height: 88px;
}
.meet-mode-card:hover { border-color: #cbd5e1; background: #fff; }
.meet-mode-card:has(input:checked) {
	border-color: #2563eb;
	background: #eff6ff;
	box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.1);
}
.meet-mode-card--accent:has(input:checked) {
	border-color: #059669;
	background: #ecfdf5;
	box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.1);
}
.meet-mode-card input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}
.meet-mode-card__icon { font-size: 18px; line-height: 1; }
.meet-mode-card__title { font-size: 13px; font-weight: 600; color: #334155; line-height: 1.35; }
.meet-mode-card__hint { font-size: 11px; color: #94a3b8; line-height: 1.45; font-weight: 400; }
.lod-policy-fields-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 10px;
	align-items: start;
}
.lod-policy-fields-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.trv-dir-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	white-space: nowrap;
}
.trv-dir-badge--arrival { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }
.trv-dir-badge--return { background: #f5f3ff; color: #7c3aed; border: 1px solid #ddd6fe; }
.trv-shuttle-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	white-space: nowrap;
}
.trv-shuttle-badge--none { background: #f8fafc; color: #94a3b8; border: 1px solid #e2e8f0; }
.trv-shuttle-badge--pickup-wait { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; }
.trv-shuttle-badge--pickup-done { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.trv-shuttle-badge--dropoff-wait { background: #f5f3ff; color: #7c3aed; border: 1px solid #ddd6fe; }
.trv-shuttle-badge--dropoff-done { background: #ede9fe; color: #6d28d9; border: 1px solid #c4b5fd; }
.trv-side-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.trv-transport { font-size: 12px; color: #475569; }
.trv-flight-no {
	font-size: 11px;
	color: #334155;
	background: #f1f5f9;
	padding: 2px 6px;
	border-radius: 4px;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.trv-route { font-size: 12px; line-height: 1.45; }
.trv-route span { color: #334155; }
.trv-route em { font-style: normal; color: #94a3b8; margin: 0 4px; }

@media (max-width: 1100px) {
	.lod-side-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.trv-side-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lod-policy-grid { grid-template-columns: 1fr; }
	.trv-policy-layout { grid-template-columns: 1fr; }
	.trv-toggle-grid--2,
	.trv-shuttle-pair,
	.trv-traffic-row--2,
	.meet-mode-pick,
	.lod-policy-fields-row,
	.lod-policy-fields-row--2 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
	.lod-side-hero,
	.lod-side-stats,
	.lod-side-tabs,
	.lod-tab-panels { padding-left: 16px; padding-right: 16px; }
	.lod-side-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lod-config-grid,
	.lod-editor-grid,
	.lod-flag-pick { grid-template-columns: 1fr; }
}

/* 治理工作台 G1 */
.meeting-gov-hub-pro .gov-hub-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 16px;
}
.meeting-gov-hub-pro .gov-hub-header__main {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	flex: 1;
	min-width: 280px;
}
.meeting-gov-hub-pro .gov-hub-header__icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, #eff6ff, #dbeafe);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}
.meeting-gov-hub-pro .gov-hub-header__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
}
.meeting-gov-hub-pro .gov-hub-header__desc {
	margin: 0;
	font-size: 14px;
	color: #64748b;
	line-height: 1.6;
	max-width: 640px;
}
.meeting-gov-hub-pro .gov-hub-header__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-gov-hub-pro .gov-hub-quick-nav { margin-bottom: 16px; }
.meeting-gov-hub-pro .gov-hub-stats { margin-bottom: 20px; }
.meeting-gov-hub-pro .gov-hub-stat-card {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s;
	border: 1px solid transparent;
}
.meeting-gov-hub-pro .gov-hub-stat-card:hover {
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.1);
	border-color: #bfdbfe;
	transform: translateY(-1px);
}
.meeting-gov-hub-pro .gov-hub-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}
.meeting-gov-hub-pro .gov-hub-panel { overflow: hidden; }
.meeting-gov-hub-pro .gov-hub-panel__head {
	padding: 16px 20px 12px;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.meeting-gov-hub-pro .gov-hub-panel__head--row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 16px;
}
.meeting-gov-hub-pro .gov-hub-panel__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}
.meeting-gov-hub-pro .gov-hub-panel__title h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}
.meeting-gov-hub-pro .gov-hub-panel__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.meeting-gov-hub-pro .gov-hub-panel__dot--blue { background: #2563eb; }
.meeting-gov-hub-pro .gov-hub-panel__dot--red { background: #dc2626; }
.meeting-gov-hub-pro .gov-hub-panel__dot--amber { background: #d97706; }
.meeting-gov-hub-pro .gov-hub-panel__dot--purple { background: #7c3aed; }
.meeting-gov-hub-pro .gov-hub-panel__dot--green { background: #059669; }
.meeting-gov-hub-pro .gov-hub-panel__count {
	font-size: 12px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	background: #eff6ff;
	color: #2563eb;
}
.meeting-gov-hub-pro .gov-hub-panel__count--danger { background: #fef2f2; color: #dc2626; }
.meeting-gov-hub-pro .gov-hub-panel__count--warning { background: #fffbeb; color: #d97706; }
.meeting-gov-hub-pro .gov-hub-panel__hint {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.5;
}
.meeting-gov-hub-pro .gov-hub-panel__body { padding: 12px 16px 16px; }
.meeting-gov-hub-pro .gov-hub-task-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 420px;
	overflow: auto;
}
.meeting-gov-hub-pro .gov-hub-task {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid #e8edf3;
	border-radius: 10px;
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.meeting-gov-hub-pro .gov-hub-task:hover {
	border-color: #cbd5e1;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.meeting-gov-hub-pro .gov-hub-task--focus {
	border-color: #93c5fd;
	background: #f8fbff;
	box-shadow: inset 3px 0 0 #2563eb;
}
.meeting-gov-hub-pro .gov-hub-task__main { flex: 1; min-width: 180px; }
.meeting-gov-hub-pro .gov-hub-task__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
}
.meeting-gov-hub-pro .gov-hub-task__title {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}
.meeting-gov-hub-pro .gov-hub-task__title a { color: #0f172a; text-decoration: none; }
.meeting-gov-hub-pro .gov-hub-task__title a:hover { color: #2563eb; }
.meeting-gov-hub-pro .gov-hub-task__meta {
	margin: 0;
	font-size: 12px;
	color: #64748b;
	display: flex;
	align-items: center;
	gap: 4px;
}
.meeting-gov-hub-pro .gov-hub-task__meta .layui-icon { font-size: 13px; color: #94a3b8; }
.meeting-gov-hub-pro .gov-hub-task__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	justify-content: flex-end;
}
.meeting-gov-hub-pro .gov-hub-task__actions--wrap { max-width: 280px; }
.meeting-gov-hub-pro .gov-hub-tag {
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #64748b;
	border: 1px solid #e2e8f0;
}
.meeting-gov-hub-pro .gov-hub-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	color: #475569;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.12s;
	white-space: nowrap;
}
.meeting-gov-hub-pro .gov-hub-chip:hover {
	border-color: #93c5fd;
	color: #2563eb;
	background: #f8fbff;
}
.meeting-gov-hub-pro .gov-hub-chip--primary {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1d4ed8;
}
.meeting-gov-hub-pro .gov-hub-chip--primary:hover {
	background: #dbeafe;
	border-color: #93c5fd;
	color: #1e40af;
}
.meeting-gov-hub-pro .gov-hub-chip--warm {
	background: #fff7ed;
	border-color: #fed7aa;
	color: #c2410c;
}
.meeting-gov-hub-pro .gov-hub-chip--warm:hover {
	background: #ffedd5;
	border-color: #fdba74;
}
.meeting-gov-hub-pro .gov-hub-tool-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.meeting-gov-hub-pro .gov-hub-tool-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px;
	border-radius: 10px;
	border: 1px solid #e8edf3;
	background: #f8fafc;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.meeting-gov-hub-pro .gov-hub-tool-card:hover {
	border-color: #93c5fd;
	background: #fff;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}
.meeting-gov-hub-pro .gov-hub-tool-card__icon { font-size: 22px; line-height: 1; }
.meeting-gov-hub-pro .gov-hub-tool-card strong {
	font-size: 13px;
	color: #0f172a;
	line-height: 1.4;
}
.meeting-gov-hub-pro .gov-hub-tool-card em {
	font-style: normal;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.45;
}
.meeting-gov-hub-pro .gov-hub-publish-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.meeting-gov-hub-pro .gov-hub-publish-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	background: #fafbfc;
}
.meeting-gov-hub-pro .gov-hub-publish-item__main {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.meeting-gov-hub-pro .gov-hub-publish-item__main strong { font-size: 13px; color: #0f172a; }
.meeting-gov-hub-pro .gov-hub-publish-item__main span { font-size: 11px; color: #94a3b8; }
.meeting-gov-hub-pro .gov-hub-calendar-card { margin-bottom: 8px; }
.meeting-gov-hub-pro .gov-hub-plan-table-wrap { overflow: auto; }
.meeting-gov-hub-pro .gov-hub-plan-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.meeting-gov-hub-pro .gov-hub-plan-table th,
.meeting-gov-hub-pro .gov-hub-plan-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #f1f5f9;
	text-align: left;
	vertical-align: middle;
}
.meeting-gov-hub-pro .gov-hub-plan-table th {
	background: #f8fafc;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
}
.meeting-gov-hub-pro .gov-hub-plan-table tr:last-child td { border-bottom: none; }
.meeting-gov-hub-pro .gov-hub-plan-table strong {
	font-weight: 600;
	color: #0f172a;
	display: block;
}
.meeting-gov-hub-pro .gov-hub-plan-term {
	display: block;
	font-size: 11px;
	color: #94a3b8;
	font-style: normal;
	margin-top: 2px;
}
.meeting-gov-hub-pro .gov-hub-plan-status {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: #eff6ff;
	color: #2563eb;
}
.meeting-gov-hub-pro .gov-hub-plan-status--done { background: #ecfdf5; color: #059669; }
.meeting-gov-hub-pro .gov-hub-plan-status--delay { background: #fffbeb; color: #d97706; }
.meeting-gov-hub-pro .gov-hub-plan-status--cancel { background: #f1f5f9; color: #94a3b8; }
.meeting-gov-hub-pro .gov-hub-plan-muted { font-size: 12px; color: #cbd5e1; }
@media (max-width: 1100px) {
	.meeting-gov-hub-pro .gov-hub-grid { grid-template-columns: 1fr; }
	.meeting-gov-hub-pro .gov-hub-tool-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.meeting-gov-hub-pro .gov-hub-header__actions { width: 100%; }
	.meeting-gov-hub-pro .gov-hub-task__actions { width: 100%; justify-content: flex-start; max-width: none; }
}

/* 班车座位可视化 */
.trv-seat-cell { min-width: 120px; }
.trv-seat-mini { display: flex; flex-direction: column; gap: 4px; font-size: 11px; color: #64748b; }
.trv-seat-mini__bar { height: 6px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.trv-seat-mini__bar i { display: block; height: 100%; background: linear-gradient(90deg, #22c55e, #16a34a); border-radius: inherit; }
.trv-seat-mini--over .trv-seat-mini__bar i { background: linear-gradient(90deg, #f97316, #dc2626); }
.trv-seat-mini--unlimited { font-weight: 600; color: #475569; }
.trv-shuttle-seat-panel { margin-top: 16px; padding: 16px 18px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
.trv-shuttle-seat-panel__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.trv-shuttle-seat-panel__head p { margin: 4px 0 0; font-size: 12px; color: #64748b; }
.trv-shuttle-seat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 8px; max-width: 640px; }
.trv-shuttle-seat { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; border-radius: 8px; border: 1px solid #cbd5e1; background: #fff; font-size: 10px; color: #64748b; cursor: default; }
.trv-shuttle-seat__no { font-size: 11px; font-weight: 700; color: #334155; }
.trv-shuttle-seat__label { margin-top: 2px; font-size: 10px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trv-shuttle-seat--occupied { background: #ecfdf5; border-color: #6ee7b7; color: #047857; }
.trv-shuttle-seat--occupied .trv-shuttle-seat__no { color: #047857; }
.trv-shuttle-seat--free { background: #fff; border-style: dashed; }
.trv-shuttle-seat--overflow { background: #fef2f2; border-color: #fca5a5; color: #b91c1c; }
.trv-shuttle-seat-legend { display: flex; align-items: center; gap: 12px; margin: 12px 0 0; font-size: 11px; color: #64748b; }
.trv-shuttle-seat-legend .trv-shuttle-seat { min-height: 20px; width: 20px; min-width: 20px; border-radius: 4px; display: inline-block; }
.trv-shuttle-passenger-list { margin: 0; padding-left: 18px; font-size: 12px; color: #475569; }

/* Block 合同条款可视化编辑器 */
.lod-contract-editor { margin: 12px 0; padding: 12px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; }
.lod-contract-editor__title { margin: 0 0 10px; font-size: 13px; font-weight: 600; color: #0f172a; }
.lod-contract-editor__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 520px) { .lod-contract-editor__grid { grid-template-columns: 1fr; } }
.lod-contract-rw-table { width: 100%; margin-bottom: 8px; border-collapse: collapse; font-size: 12px; }
.lod-contract-rw-table th, .lod-contract-rw-table td { padding: 6px 4px; border-bottom: 1px solid #e2e8f0; text-align: left; }
.lod-contract-rw-table .layui-input { height: 32px; font-size: 12px; }
.lod-contract-preview { margin-top: 10px; }
.lod-contract-preview pre { margin: 4px 0 0; padding: 8px 10px; background: #0f172a; color: #e2e8f0; border-radius: 8px; font-size: 11px; max-height: 120px; overflow: auto; }
.lod-contract-sync { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #cbd5e1; }
.lod-contract-sync__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* 餐饮 M0 */
.din-side-hero .lod-side-hero__icon { background: linear-gradient(135deg, #fff7ed, #ffedd5); }
.din-rsvp-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.din-rsvp-badge.din-rsvp--yes { background: #ecfdf5; color: #047857; }
.din-rsvp-badge.din-rsvp--no { background: #f1f5f9; color: #64748b; }
.din-rsvp-badge.din-rsvp--pending { background: #fffbeb; color: #b45309; }
.din-rsvp-badge.din-rsvp--wait { background: #fef3c7; color: #92400e; }
.din-diet-cards { display: flex; flex-wrap: wrap; gap: 12px; padding: 8px 0; }
.din-diet-card { min-width: 100px; padding: 14px 18px; border-radius: 10px; background: #f8fafc; border: 1px solid #e2e8f0; text-align: center; }
.din-diet-card strong { display: block; font-size: 1.4rem; color: #0f172a; line-height: 1.2; }
.din-diet-card em { font-style: normal; font-size: 12px; color: #64748b; }
.din-diet-card--type { background: #fff7ed; border-color: #fed7aa; }
.din-checkin-recent { list-style: none; margin: 0; padding: 0; }
.din-checkin-recent li { padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.din-checkin-stats { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }

/* 核销现场 */
.din-checkin-board { display: flex; flex-direction: column; gap: 16px; }
.din-checkin-board__head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.din-checkin-board__meal { flex: 1; min-width: 200px; max-width: 320px; }
.din-checkin-board__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 6px;
}
.din-checkin-board__meal-select {
	border-radius: 10px;
	border-color: #e2e8f0;
	height: 38px;
	font-weight: 600;
	color: #334155;
}
.din-checkin-scan {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: 14px;
	background: linear-gradient(135deg, #fff7ed 0%, #fff 55%);
	border: 1px solid #fed7aa;
	box-shadow: 0 4px 16px rgba(234, 88, 12, 0.08);
}
.din-checkin-scan__icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #fb923c, #ea580c);
	color: #fff;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.28);
}
.din-checkin-scan__icon .layui-icon { font-size: 24px; }
.din-checkin-scan__field { flex: 1; min-width: 0; }
.din-checkin-scan__input {
	height: 44px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	border-radius: 10px;
	border-color: #fdba74;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}
.din-checkin-scan__input:focus {
	border-color: #ea580c;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12);
}
.din-checkin-scan__hint {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	color: #b45309;
}
.din-checkin-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 16px;
	height: 38px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.1s;
	white-space: nowrap;
}
.din-checkin-btn .layui-icon { font-size: 15px; }
.din-checkin-btn:active { transform: scale(0.98); }
.din-checkin-btn--primary {
	height: 44px;
	padding: 0 22px;
	font-size: 14px;
	color: #fff;
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	border-color: #1d4ed8;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
}
.din-checkin-btn--primary:hover {
	background: linear-gradient(135deg, #1d4ed8, #1e40af);
	box-shadow: 0 6px 18px rgba(37, 99, 235, 0.32);
	color: #fff;
}
.din-checkin-btn--default {
	color: #475569;
	background: #fff;
	border-color: #e2e8f0;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.din-checkin-btn--default:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	color: #334155;
}
.din-checkin-btn--warm {
	color: #fff;
	background: linear-gradient(135deg, #fb923c, #ea580c);
	border-color: #ea580c;
	box-shadow: 0 2px 8px rgba(234, 88, 12, 0.22);
}
.din-checkin-btn--warm:hover {
	background: linear-gradient(135deg, #f97316, #c2410c);
	color: #fff;
}
.din-checkin-btn--ghost {
	color: #64748b;
	background: transparent;
	border-color: #e2e8f0;
}
.din-checkin-btn--ghost:hover {
	background: #f8fafc;
	color: #475569;
}
.din-checkin-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 14px 16px;
	border-radius: 12px;
	background: #fafbfc;
	border: 1px solid #e2e8f0;
}
.din-checkin-actions__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.din-checkin-actions__title {
	font-size: 11px;
	font-weight: 700;
	color: #94a3b8;
	min-width: 32px;
	margin-right: 4px;
}
.din-checkin-overview {
	display: grid;
	grid-template-columns: minmax(220px, 280px) 1fr;
	gap: 16px;
	align-items: stretch;
}
@media (max-width: 768px) {
	.din-checkin-overview { grid-template-columns: 1fr; }
	.din-checkin-scan { flex-wrap: wrap; }
	.din-checkin-btn--primary { width: 100%; }
}
.din-checkin-progress {
	padding: 18px 20px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.din-checkin-progress__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 12px;
}
.din-checkin-progress__head span { font-size: 13px; font-weight: 600; color: #64748b; }
.din-checkin-progress__head strong { font-size: 28px; font-weight: 800; color: #ea580c; line-height: 1; }
.din-checkin-progress__bar {
	height: 10px;
	border-radius: 999px;
	background: #f1f5f9;
	overflow: hidden;
}
.din-checkin-progress__bar i {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #fb923c, #ea580c);
	border-radius: inherit;
	transition: width 0.35s ease;
}
.din-checkin-progress__hint {
	margin: 10px 0 0;
	font-size: 12px;
	color: #94a3b8;
}
.din-checkin-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
@media (max-width: 640px) {
	.din-checkin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.din-checkin-stat {
	position: relative;
	padding: 16px 14px 14px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	text-align: center;
	overflow: hidden;
}
.din-checkin-stat__icon {
	position: absolute;
	top: 8px;
	right: 10px;
	font-size: 14px;
	opacity: 0.45;
}
.din-checkin-stat strong {
	display: block;
	font-size: 26px;
	font-weight: 800;
	color: #0f172a;
	line-height: 1.15;
}
.din-checkin-stat em {
	display: block;
	font-style: normal;
	font-size: 11px;
	color: #64748b;
	margin-top: 4px;
	font-weight: 600;
}
.din-checkin-stat--ok {
	background: linear-gradient(180deg, #ecfdf5 0%, #fff 100%);
	border-color: #a7f3d0;
}
.din-checkin-stat--ok strong { color: #047857; }
.din-checkin-stat--pending {
	background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
	border-color: #fde68a;
}
.din-checkin-stat--pending strong { color: #b45309; }
.din-checkin-stat--walkin {
	background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
	border-color: #fed7aa;
}
.din-checkin-stat--walkin strong { color: #c2410c; }
.din-checkin-recent-panel {
	padding: 16px 18px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
}
.din-checkin-recent-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.din-checkin-recent-panel__head h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.din-checkin-live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	color: #94a3b8;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}
.din-checkin-live.is-pulse { color: #059669; border-color: #86efac; background: #ecfdf5; }
.din-checkin-live__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.din-checkin-live.is-pulse .din-checkin-live__dot {
	animation: din-chk-pulse 1.5s ease infinite;
}
@keyframes din-chk-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.5; transform: scale(0.85); }
}
.din-checkin-recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 280px;
	overflow-y: auto;
}
.din-checkin-recent-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	transition: background 0.12s;
}
.din-checkin-recent-item:hover { background: #f1f5f9; }
.din-checkin-recent-item__avatar {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, #22c55e, #059669);
}
.din-checkin-recent-item__main { flex: 1; min-width: 0; }
.din-checkin-recent-item__main strong {
	display: block;
	font-size: 13px;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.din-checkin-recent-item__main em {
	display: block;
	font-style: normal;
	font-size: 11px;
	color: #94a3b8;
	margin-top: 2px;
}
.din-checkin-recent-item__tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 6px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	color: #c2410c;
	background: #ffedd5;
	vertical-align: middle;
}
.din-checkin-recent-item__ok {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dcfce7;
	color: #16a34a;
}
.din-checkin-recent-item__ok .layui-icon { font-size: 14px; }
.din-checkin-recent-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px 16px;
	text-align: center;
	color: #94a3b8;
}
.din-checkin-recent-empty .layui-icon { font-size: 32px; color: #cbd5e1; margin-bottom: 8px; }
.din-checkin-recent-empty p { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: #64748b; }
.din-checkin-recent-empty em { font-style: normal; font-size: 11px; }
.din-guar-alert { padding: 10px 14px; border-radius: 8px; margin: 8px 0 12px; font-size: 13px; }
.din-guar-alert--ok { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.din-guar-alert--warn { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.din-guar-alert--danger { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.din-settle-form .layui-form-item { margin-bottom: 10px; }
.din-settle-form label { display: block; font-size: 13px; color: #64748b; margin-bottom: 4px; }
/* 分桌 · 列表入座进度 */
.din-seat-mini { display: inline-flex; flex-direction: column; gap: 4px; min-width: 88px; font-size: 11px; color: #64748b; vertical-align: middle; }
.din-seat-mini__text { font-weight: 600; color: #334155; }
.din-seat-mini__bar { height: 6px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.din-seat-mini__bar i { display: block; height: 100%; background: linear-gradient(90deg, #fb923c, #ea580c); border-radius: inherit; transition: width .2s; }
.din-seat-mini--full .din-seat-mini__bar i { background: linear-gradient(90deg, #22c55e, #16a34a); }
.din-seat-mini--over .din-seat-mini__bar i { background: linear-gradient(90deg, #f97316, #dc2626); }
.din-seat-mini--empty .din-seat-mini__text { color: #94a3b8; }
.din-seat-zone-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; background: #f1f5f9; color: #475569; }
.din-seat-zone-tag--vip { background: #fef3c7; color: #b45309; }
.din-seat-zone-tag--main { background: #dbeafe; color: #1d4ed8; }
.din-seat-zone-tag--unit { background: #ede9fe; color: #6d28d9; }

/* 分桌 · 宴会平面图 */
.din-seat-layout { margin-bottom: 16px; }
.din-seat-layout__panel {
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: linear-gradient(180deg, #fffbf7 0%, #fff 48px);
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}
.din-seat-layout__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	background: #fff;
}
.din-seat-layout__stats { display: flex; flex-wrap: wrap; gap: 10px; }
.din-seat-stat {
	min-width: 72px;
	padding: 8px 12px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	text-align: center;
}
.din-seat-stat strong { display: block; font-size: 18px; font-weight: 700; color: #0f172a; line-height: 1.2; }
.din-seat-stat em { display: block; font-style: normal; font-size: 11px; color: #94a3b8; margin-top: 2px; }
.din-seat-stat--warn { background: #fff7ed; border-color: #fed7aa; }
.din-seat-stat--warn strong { color: #c2410c; }
.din-seat-layout__tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.din-seat-snap-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #64748b;
	margin: 0;
	cursor: pointer;
	user-select: none;
}
.din-seat-layout__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 0;
	min-height: 420px;
}
@media (max-width: 960px) {
	.din-seat-layout__body { grid-template-columns: 1fr; }
	.din-seat-layout__aside { border-left: none !important; border-top: 1px solid #f1f5f9; }
}
.din-seat-layout__main { min-width: 0; padding: 16px; }
.din-seat-layout__venue {
	border-radius: 12px;
	border: 1px solid #e7e5e4;
	background: linear-gradient(180deg, #faf8f5 0%, #f5f5f4 100%);
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.din-seat-layout__stage {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	font-size: 13px;
	font-weight: 700;
	color: #57534e;
	letter-spacing: 0.12em;
	background: linear-gradient(180deg, #d6d3d1 0%, #c4b5a5 100%);
	border-bottom: 3px solid #92400e;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px rgba(120, 53, 15, 0.12);
}
.din-seat-layout__stage .layui-icon { font-size: 16px; color: #57534e; }
.din-seat-layout__viewport {
	overflow: auto;
	max-height: min(560px, calc(100vh - 320px));
	padding: 16px;
	background:
		radial-gradient(circle at 50% 0%, rgba(251, 146, 60, 0.06), transparent 55%),
		linear-gradient(var(--din-seat-grid, 20px) 1px, transparent 1px) 0 0 / var(--din-seat-grid, 20px) var(--din-seat-grid, 20px),
		linear-gradient(90deg, rgba(120, 113, 108, 0.08) 1px, transparent 1px) 0 0 / var(--din-seat-grid, 20px) var(--din-seat-grid, 20px),
		#fafaf9;
}
.din-seat-layout__canvas {
	position: relative;
	margin: 0 auto;
	min-height: 320px;
	border-radius: 8px;
}
.din-seat-layout__aisle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 0;
	margin-left: -1px;
	border-left: 2px dashed rgba(234, 88, 12, 0.22);
	pointer-events: none;
	z-index: 0;
}
.din-seat-layout__compass {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	font-size: 10px;
	font-weight: 700;
	color: #a8a29e;
	pointer-events: none;
	z-index: 0;
	letter-spacing: 0.06em;
}
.din-seat-compass__up { color: #c2410c; }
.din-seat-compass__down { color: #78716c; }
.din-seat-legend-dot--primary { border-color: #dc2626; background: #fef2f2; }
.din-seat-layout__empty {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: #94a3b8;
	text-align: center;
	padding: 24px;
}
.din-seat-layout__entrance {
	display: flex;
	justify-content: space-between;
	padding: 10px 24px;
	font-size: 11px;
	font-weight: 600;
	color: #78716c;
	background: linear-gradient(0deg, #e7e5e4 0%, #f5f5f4 100%);
	border-top: 2px dashed #d6d3d1;
}
.din-seat-node--primary {
	width: 108px;
	height: 108px;
	z-index: 2;
}
.din-seat-node--primary .din-seat-node__core {
	width: 78px;
	height: 78px;
	border-width: 3px;
	border-color: #dc2626;
	background: linear-gradient(180deg, #fff 0%, #fef2f2 100%);
	box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.12), 0 8px 20px rgba(15, 23, 42, 0.12);
}
.din-seat-node--primary .din-seat-node__no { color: #b91c1c; font-size: 15px; }
.din-seat-node__badge {
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	padding: 1px 6px;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, #ef4444, #dc2626);
	white-space: nowrap;
	box-shadow: 0 1px 3px rgba(185, 28, 28, 0.35);
}
.din-seat-node__facing {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 10px;
	font-weight: 800;
	color: #ea580c;
	opacity: 0.75;
	line-height: 1;
	pointer-events: none;
}
.din-seat-node--primary .din-seat-node__facing { color: #dc2626; opacity: 1; }
.din-seat-layout__aside {
	border-left: 1px solid #f1f5f9;
	background: #fff;
	padding: 16px;
	display: flex;
	flex-direction: column;
	min-height: 0;
}
.din-seat-layout__aside-empty {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #94a3b8;
	padding: 24px 12px;
}
.din-seat-layout__aside-empty .layui-icon { font-size: 36px; color: #cbd5e1; margin-bottom: 8px; }
.din-seat-layout__aside-empty p { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: #64748b; }
.din-seat-layout__aside-empty em { font-style: normal; font-size: 11px; }
.din-seat-aside__head strong { font-size: 20px; font-weight: 700; color: #0f172a; }
.din-seat-aside__head p { margin: 6px 0 0; font-size: 12px; color: #64748b; }
.din-seat-aside__zone {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	vertical-align: middle;
	background: #f1f5f9;
	color: #475569;
}
.din-seat-aside__zone--vip { background: #fef3c7; color: #b45309; }
.din-seat-aside__zone--main { background: #dbeafe; color: #1d4ed8; }
.din-seat-aside__zone--unit { background: #ede9fe; color: #6d28d9; }
.din-seat-aside__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 14px 0;
	padding-bottom: 12px;
	border-bottom: 1px dashed #e2e8f0;
}
.din-seat-aside__status {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #64748b;
}
.din-seat-aside__status--partial { background: #fff7ed; color: #c2410c; }
.din-seat-aside__status--full { background: #ecfdf5; color: #047857; }
.din-seat-aside__status--over { background: #fef2f2; color: #b91c1c; }
.din-seat-guest-list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	flex: 1;
	overflow: auto;
	max-height: 320px;
}
.din-seat-guest {
	padding: 10px 0;
	border-bottom: 1px solid #f8fafc;
}
.din-seat-guest strong { display: block; font-size: 13px; color: #0f172a; }
.din-seat-guest em { display: block; font-style: normal; font-size: 11px; color: #94a3b8; margin-top: 2px; }
.din-seat-guest--empty, .din-seat-guest--free { font-size: 12px; color: #94a3b8; font-style: italic; }
.din-seat-aside__edit { width: 100%; justify-content: center; }
.din-seat-layout__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 10px 16px;
	border-top: 1px solid #f1f5f9;
	background: #fafbfc;
	font-size: 11px;
	color: #64748b;
}
.din-seat-legend-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 4px;
	vertical-align: middle;
	border: 2px solid #cbd5e1;
	background: #fff;
}
.din-seat-legend-dot--partial { border-color: #fdba74; background: #fff7ed; }
.din-seat-legend-dot--full { border-color: #4ade80; background: #ecfdf5; }
.din-seat-legend-dot--vip { border-color: #fbbf24; background: #fef3c7; }
.din-seat-legend-dot--main { border-color: #60a5fa; background: #dbeafe; }
.din-seat-layout__hint {
	margin: 0;
	padding: 8px 16px 12px;
	font-size: 11px;
	color: #94a3b8;
	background: #fafbfc;
}

/* 平面图 · 桌次节点 */
.din-seat-node {
	position: absolute;
	width: 96px;
	height: 96px;
	cursor: grab;
	user-select: none;
	z-index: 1;
	transition: box-shadow .15s, transform .12s;
}
.din-seat-node--rect { width: 108px; height: 80px; }
.din-seat-node.is-dragging { cursor: grabbing; z-index: 10; transform: scale(1.04); }
.din-seat-node.is-selected { z-index: 5; }
.din-seat-node.is-selected .din-seat-node__core {
	border-color: #ea580c;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.18), 0 8px 20px rgba(15, 23, 42, 0.12);
}
.din-seat-node__core {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
	border: 2px solid #fdba74;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 6px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.din-seat-node--rect .din-seat-node__core {
	width: 80px;
	height: 52px;
	border-radius: 10px;
}
.din-seat-node__no { font-size: 14px; font-weight: 800; color: #9a3412; line-height: 1.1; }
.din-seat-node__name {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 9px;
	color: #78716c;
	margin-top: 1px;
}
.din-seat-node__count { font-style: normal; font-size: 10px; font-weight: 700; color: #64748b; margin-top: 2px; }
.din-seat-node__bar {
	display: block;
	width: 80%;
	height: 4px;
	margin-top: 4px;
	border-radius: 999px;
	background: #e2e8f0;
	overflow: hidden;
}
.din-seat-node__bar i { display: block; height: 100%; background: linear-gradient(90deg, #fb923c, #ea580c); border-radius: inherit; }
.din-seat-node--full .din-seat-node__core { border-color: #4ade80; background: linear-gradient(180deg, #fff, #ecfdf5); }
.din-seat-node--full .din-seat-node__no { color: #047857; }
.din-seat-node--full .din-seat-node__bar i { background: linear-gradient(90deg, #22c55e, #16a34a); }
.din-seat-node--empty .din-seat-node__core { border-color: #cbd5e1; background: #fff; }
.din-seat-node--empty .din-seat-node__no { color: #64748b; }
.din-seat-node--over .din-seat-node__core { border-color: #f87171; background: linear-gradient(180deg, #fff, #fef2f2); }
.din-seat-node--over .din-seat-node__no { color: #b91c1c; }
.din-seat-node--zone-vip .din-seat-node__core { border-color: #fbbf24; background: linear-gradient(180deg, #fff, #fef3c7); }
.din-seat-node--zone-vip .din-seat-node__no { color: #b45309; }
.din-seat-node--zone-main .din-seat-node__core { border-color: #60a5fa; background: linear-gradient(180deg, #fff, #eff6ff); }
.din-seat-node--zone-main .din-seat-node__no { color: #1d4ed8; }
.din-seat-node--zone-unit .din-seat-node__core { border-color: #a78bfa; background: linear-gradient(180deg, #fff, #f5f3ff); }
.din-seat-node--zone-unit .din-seat-node__no { color: #6d28d9; }
.din-seat-node__chairs {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.din-seat-chair {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #e7e5e4;
	border: 1px solid #d6d3d1;
	box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.din-seat-chair.is-occupied { background: #fdba74; border-color: #ea580c; }
.din-seat-node--full .din-seat-chair.is-occupied { background: #4ade80; border-color: #16a34a; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); background: #fed7aa; border-color: #ea580c; }
.din-seat-node--primary .din-seat-node__chairs--round .din-seat-chair:nth-child(1) { background: #fca5a5; border-color: #dc2626; box-shadow: 0 0 0 2px rgba(220,38,38,.2); }
.din-seat-node__chairs--round .din-seat-chair:nth-child(2) { top: 12%; right: 4%; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(3) { top: 38%; right: 0; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(4) { bottom: 12%; right: 4%; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(5) { bottom: 0; left: 50%; transform: translateX(-50%); }
.din-seat-node__chairs--round .din-seat-chair:nth-child(6) { bottom: 12%; left: 4%; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(7) { top: 38%; left: 0; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(8) { top: 12%; left: 4%; }
.din-seat-node__chairs--round .din-seat-chair:nth-child(n+9) { display: none; }
.din-seat-node__chairs--rect .din-seat-chair { width: 8px; height: 8px; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(odd) { top: -2px; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(even) { bottom: -2px; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(1) { left: 8%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(2) { left: 8%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(3) { left: 22%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(4) { left: 22%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(5) { left: 36%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(6) { left: 36%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(7) { left: 50%; transform: translateX(-50%); }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(8) { left: 50%; transform: translateX(-50%); }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(9) { right: 36%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(10) { right: 36%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(11) { right: 22%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(12) { right: 22%; }
.din-seat-node__chairs--rect .din-seat-chair:nth-child(n+13) { display: none; }
.din-bi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.din-bi-panel { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; }
.din-bi-panel h4 { margin: 0 0 8px; font-size: 14px; color: #0f172a; }
.din-bi-panel ul { margin: 0; padding-left: 18px; font-size: 13px; color: #475569; }
.din-bi-panel li { margin: 4px 0; }
@media (max-width: 960px) { .din-bi-grid { grid-template-columns: 1fr; } }
.din-snapshot-chart { padding: 8px 0 4px; }
.din-snapshot-chart__legend { font-size: 12px; color: #64748b; margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.din-snapshot-chart__dot { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: middle; }
.din-snapshot-chart__dot--rsvp { background: #2563eb; }
.din-snapshot-chart__dot--forecast { background: #f59e0b; }
.din-snapshot-chart__dot--min { background: #94a3b8; }
.din-snapshot-chart__bars { display: flex; align-items: flex-end; gap: 6px; min-height: 140px; overflow-x: auto; padding-bottom: 4px; }
.din-snapshot-chart__col { flex: 0 0 36px; text-align: center; }
.din-snapshot-chart__stack { display: flex; align-items: flex-end; justify-content: center; gap: 3px; height: 120px; }
.din-snapshot-chart__bar { width: 8px; min-height: 2px; border-radius: 2px 2px 0 0; transition: height .2s; }
.din-snapshot-chart__bar--rsvp { background: #2563eb; }
.din-snapshot-chart__bar--forecast { background: #f59e0b; }
.din-snapshot-chart__bar--min { background: #cbd5e1; }
.din-snapshot-chart__col em { display: block; font-style: normal; font-size: 10px; color: #94a3b8; margin-top: 4px; }

/* 餐饮弹窗（对齐 lod-editor-layer） */
.lod-layer-dialog__head--din {
	background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
}
.lod-layer-dialog__icon--din {
	background: linear-gradient(135deg, #fed7aa, #fdba74);
	box-shadow: inset 0 0 0 1px rgba(234, 88, 12, 0.18);
}
.din-editor-layer .lod-layer-shell {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 16px 20px 10px;
}
.din-editor-layer .lod-layer-dialog {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}
.din-editor-layer .layui-layer-content {
	display: flex !important;
	flex-direction: column !important;
}
.din-layer-form { display: block; }
.din-layer-form .lod-editor-section {
	padding-bottom: 12px;
	margin-bottom: 12px;
}
.din-layer-form .lod-editor-section--last {
	padding-bottom: 0;
	margin-bottom: 0;
}
.din-field { margin-bottom: 14px; }
.din-field__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 6px;
	line-height: 1.4;
}
.din-field__hint {
	margin: 4px 0 0;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.45;
}
.din-layer-form .layui-input,
.din-layer-form select.layui-input,
.din-layer-form .layui-textarea {
	width: 100%;
	margin-top: 0;
	border-radius: 8px;
	border-color: #e2e8f0;
}
.din-layer-form .layui-textarea {
	min-height: 72px;
	resize: vertical;
}
.din-field-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
}
.din-field-row--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 520px) {
	.din-field-row, .din-field-row--3 { grid-template-columns: 1fr; }
}
.din-check-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	padding: 10px 12px;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	font-size: 13px;
	color: #475569;
}
.din-check-row label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	cursor: pointer;
}
.din-meal-chk-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-height: 160px;
	overflow: auto;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fafbfc;
}
.din-meal-chk-list label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	color: #334155;
	cursor: pointer;
}
.din-rsvp-seat-block {
	margin-top: 4px;
	padding-top: 14px;
	border-top: 1px dashed #e2e8f0;
}
.din-rsvp-seat-block__title {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
	margin-bottom: 10px;
	letter-spacing: 0.03em;
}
.din-walkin-layer .lod-panel-toolbar__hint {
	margin: 0 0 10px;
	font-size: 12px;
	color: #64748b;
}
.din-walkin-results {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	max-height: 200px;
	overflow: auto;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
}
.din-walkin-results li {
	padding: 10px 12px;
	border-bottom: 1px solid #f1f5f9;
	font-size: 13px;
}
.din-walkin-results li:last-child { border-bottom: none; }
.din-walkin-item {
	cursor: pointer;
	transition: background 0.12s;
}
.din-walkin-item:hover { background: #fff7ed; }
.din-walkin-item.is-selected {
	background: #ffedd5;
	box-shadow: inset 3px 0 0 #ea580c;
}
.din-walkin-item strong { display: block; font-size: 13px; color: #0f172a; }
.din-walkin-item em { display: block; font-style: normal; font-size: 11px; color: #94a3b8; margin-top: 2px; }
.din-walkin-selected {
	margin: 8px 0 0;
	font-size: 12px;
	color: #64748b;
	min-height: 18px;
}

/* 餐次计划 · 新增/编辑餐次弹窗 */
.din-meal-form-tip {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 8px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	font-size: 12px;
	color: #9a3412;
	line-height: 1.5;
}
.din-meal-form-tip .layui-icon {
	font-size: 14px;
	color: #ea580c;
	margin-top: 1px;
	flex-shrink: 0;
}
.din-meal-form .lod-editor-section {
	padding-bottom: 14px;
	margin-bottom: 14px;
}
.din-meal-form .lod-editor-section--last {
	padding-bottom: 0;
	margin-bottom: 0;
}
.din-meal-type-pick {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
@media (max-width: 560px) {
	.din-meal-type-pick { grid-template-columns: 1fr; }
}
.din-meal-type-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 14px 10px 12px;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	background: #fafbfc;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.12s;
	margin: 0;
	text-align: center;
}
.din-meal-type-card input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.din-meal-type-card:hover {
	border-color: #fdba74;
	background: #fff;
	transform: translateY(-1px);
}
.din-meal-type-card.is-active {
	border-color: #ea580c;
	background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1);
}
.din-meal-type-card__icon {
	font-size: 28px;
	line-height: 1;
}
.din-meal-type-card__body strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
}
.din-meal-type-card__body em {
	display: block;
	font-style: normal;
	font-size: 11px;
	color: #94a3b8;
	margin-top: 2px;
	line-height: 1.35;
}
.din-meal-flag-pick {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 520px) {
	.din-meal-flag-pick { grid-template-columns: 1fr; }
}
.din-meal-i18n-details {
	margin-top: 4px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fafbfc;
	overflow: hidden;
}
.din-meal-i18n-details summary {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	cursor: pointer;
	list-style: none;
	user-select: none;
}
.din-meal-i18n-details summary::-webkit-details-marker { display: none; }
.din-meal-i18n-details summary::after {
	content: '';
	margin-left: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid #94a3b8;
	border-bottom: 2px solid #94a3b8;
	transform: rotate(45deg);
	transition: transform 0.15s;
	flex-shrink: 0;
}
.din-meal-i18n-details[open] summary::after {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.din-meal-i18n-details__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #d97706;
	flex-shrink: 0;
}
.din-meal-i18n-details summary small {
	font-weight: 400;
	font-size: 11px;
	color: #94a3b8;
	margin-left: 4px;
}
.din-meal-i18n-details__body {
	padding: 0 14px 14px;
	border-top: 1px dashed #e2e8f0;
}
.din-meal-menu-editor {
	min-height: 88px;
	font-size: 13px;
}
.din-editor-layer:has(.din-meal-form) .lod-layer-shell {
	padding: 14px 20px 10px;
}

/* 餐饮 Tab 页统一美化 */
.meeting-dining-pro .lod-side-hero__actions .pro-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, #fb923c, #ea580c);
	border-color: #ea580c;
	box-shadow: 0 2px 8px rgba(234, 88, 12, 0.22);
}
.meeting-dining-pro .lod-side-hero__actions .pro-btn-primary:hover {
	background: linear-gradient(135deg, #f97316, #c2410c);
	color: #fff;
}
.meeting-dining-pro .din-side-stats {
	background: linear-gradient(180deg, #fff 0%, #fffbf7 100%);
	border-bottom: 1px solid #fed7aa;
}
.meeting-dining-pro .lod-side-stat {
	background: #fff;
	border-color: #f1f5f9;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.meeting-dining-pro .lod-side-stat:hover {
	border-color: #fed7aa;
	box-shadow: 0 2px 8px rgba(234, 88, 12, 0.06);
}
.meeting-dining-pro .lod-side-stat--accent strong { color: #ea580c; }
.meeting-dining-pro .lod-side-stat--warn strong { color: #c2410c; }
.meeting-dining-pro .din-side-tabs {
	padding: 14px 24px 0;
	background: linear-gradient(180deg, #fffbf7 0%, #fff 100%);
	border-bottom: 1px solid #e2e8f0;
	gap: 6px;
}
.meeting-dining-pro .din-side-tabs__btn:hover {
	color: #c2410c;
	background: #fff7ed;
}
.meeting-dining-pro .din-side-tabs__btn.is-active {
	color: #c2410c;
	background: #fff7ed;
	border-bottom-color: #ea580c;
	font-weight: 600;
}
.meeting-dining-pro .din-tab-panels {
	padding: 20px 24px 28px;
	background: #f1f5f9;
	min-height: 320px;
}
.meeting-dining-pro .din-tab-panel.is-active {
	display: flex;
	flex-direction: column;
	gap: 16px;
	animation: dinTabFadeIn 0.22s ease;
}
@keyframes dinTabFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}
.meeting-dining-pro .lod-panel-toolbar {
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	margin-bottom: 0;
	gap: 12px;
}
.meeting-dining-pro .lod-panel-toolbar__hint {
	margin: 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
	font-size: 12px;
	flex: 1;
	min-width: 180px;
	line-height: 1.5;
}
.meeting-dining-pro .lod-panel-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-left: auto;
}
.meeting-dining-pro .din-toolbar-select {
	max-width: 240px;
	min-width: 160px;
	height: 38px;
	border-radius: 10px;
	border-color: #e2e8f0;
	font-weight: 500;
	color: #334155;
}
.meeting-dining-pro .pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 38px;
	padding: 0 16px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.1s;
	white-space: nowrap;
}
.meeting-dining-pro .pro-btn .layui-icon { font-size: 15px; }
.meeting-dining-pro .pro-btn:active { transform: scale(0.98); }
.meeting-dining-pro .pro-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, #fb923c, #ea580c);
	border-color: #ea580c;
	box-shadow: 0 2px 8px rgba(234, 88, 12, 0.22);
}
.meeting-dining-pro .pro-btn-primary:hover {
	background: linear-gradient(135deg, #f97316, #c2410c);
	color: #fff;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.28);
}
.meeting-dining-pro .pro-btn-default {
	color: #475569;
	background: #fff;
	border-color: #e2e8f0;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-dining-pro .pro-btn-default:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	color: #334155;
}
.meeting-dining-pro .pro-btn-warm {
	color: #fff;
	background: linear-gradient(135deg, #f59e0b, #d97706);
	border-color: #d97706;
	box-shadow: 0 2px 8px rgba(217, 119, 6, 0.22);
}
.meeting-dining-pro .pro-btn-warm:hover {
	background: linear-gradient(135deg, #d97706, #b45309);
	color: #fff;
}
.meeting-dining-pro .lod-order-filters {
	gap: 10px;
	width: 100%;
}
.meeting-dining-pro .lod-search-box {
	flex: 1;
	min-width: 180px;
	max-width: 280px;
}
.meeting-dining-pro .lod-search-box .layui-input {
	height: 38px;
	border-radius: 10px;
	border-color: #e2e8f0;
}
.meeting-dining-pro .lod-search-box .layui-input:focus {
	border-color: #fdba74;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1);
}
.meeting-dining-pro .lod-order-filters .layui-input {
	height: 38px;
	border-radius: 10px;
	border-color: #e2e8f0;
	min-width: 120px;
}
.meeting-dining-pro .lod-order-table-wrap {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}
.meeting-dining-pro .lod-order-table th {
	background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
	color: #9a3412;
	font-weight: 600;
	border-bottom: 1px solid #fed7aa;
	font-size: 12px;
	letter-spacing: 0.02em;
}
.meeting-dining-pro .lod-order-table td {
	border-bottom-color: #f1f5f9;
}
.meeting-dining-pro .lod-order-table tr:hover td {
	background: #fffbf7;
}
.meeting-dining-pro .lod-loading-cell,
.meeting-dining-pro .lod-empty-cell {
	padding: 32px 16px;
	color: #94a3b8;
	font-size: 13px;
	text-align: center;
}
.meeting-dining-pro .din-diet-cards {
	gap: 12px;
	padding: 0;
}
.meeting-dining-pro .din-diet-card {
	border-radius: 12px;
	padding: 18px 20px;
	min-width: 110px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	transition: transform 0.12s, box-shadow 0.12s, border-color 0.12s;
}
.meeting-dining-pro .din-diet-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.08);
	border-color: #fdba74;
}
.meeting-dining-pro .din-diet-card strong {
	font-size: 1.5rem;
	font-weight: 800;
}
.meeting-dining-pro .din-diet-card--type {
	background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
	border-color: #fed7aa;
}
.meeting-dining-pro .din-diet-card--type strong { color: #c2410c; }
.meeting-dining-pro .din-traffic-panel {
	margin-top: 0;
	padding: 16px 18px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: linear-gradient(180deg, #fff7ed 0%, #fff 48px);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-dining-pro .din-traffic-panel__summary {
	margin: 0 0 12px;
	font-size: 12px;
	color: #9a3412;
	padding: 8px 12px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #fed7aa;
}
.meeting-dining-pro .din-panel-section {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.meeting-dining-pro .din-panel-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.meeting-dining-pro .din-panel-section__head h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	padding-left: 10px;
	border-left: 3px solid #ea580c;
}
.meeting-dining-pro .din-panel-section__body {
	padding: 0;
}
.meeting-dining-pro .din-suggest-panel {
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-dining-pro .din-guar-alert {
	border-radius: 10px;
	margin: 0;
	font-weight: 500;
}
.meeting-dining-pro .din-settle-panel {
	padding: 18px 20px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-dining-pro .din-settle-form__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 16px 0;
}
@media (max-width: 640px) {
	.meeting-dining-pro .din-settle-form__grid { grid-template-columns: 1fr; }
}
.meeting-dining-pro .din-settle-form .layui-form-item { margin-bottom: 14px; }
.meeting-dining-pro .din-settle-form label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.meeting-dining-pro .din-settle-form .layui-input,
.meeting-dining-pro .din-settle-form .layui-textarea {
	border-radius: 10px;
	border-color: #e2e8f0;
}
.meeting-dining-pro .din-settle-form .layui-input:focus,
.meeting-dining-pro .din-settle-form .layui-textarea:focus {
	border-color: #fdba74;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1);
}
.meeting-dining-pro .din-settle-form__status {
	margin: 12px 0 0;
	font-size: 12px;
	color: #64748b;
	padding: 8px 12px;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px dashed #e2e8f0;
	min-height: 18px;
}
.meeting-dining-pro .din-policy-form .trv-policy-section {
	padding: 18px 20px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	margin-top: 0;
}
.meeting-dining-pro .din-policy-form .trv-policy-section + .trv-policy-section {
	margin-top: 16px;
}
.meeting-dining-pro .din-policy-form .trv-policy-section__head h3,
.meeting-dining-pro .din-policy-form .trv-policy-section h3 {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	padding-left: 10px;
	border-left: 3px solid #ea580c;
}
.meeting-dining-pro .din-policy-form .trv-toggle-card {
	border-radius: 10px;
	border-color: #e2e8f0;
	transition: border-color 0.12s, background 0.12s;
}
.meeting-dining-pro .din-policy-form .trv-toggle-card:hover {
	border-color: #fdba74;
	background: #fffbf7;
}
.meeting-dining-pro .din-policy-form .din-policy-toggle {
	margin-top: 8px;
}
.meeting-dining-pro .din-policy-form .layui-form-item {
	margin-top: 12px;
}
.meeting-dining-pro .din-policy-form .layui-form-label {
	color: #64748b;
	font-weight: 600;
}
.meeting-dining-pro .din-policy-form .layui-input,
.meeting-dining-pro .din-policy-form .layui-textarea {
	border-radius: 10px;
	border-color: #e2e8f0;
}
.meeting-dining-pro .din-bi-panel {
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	transition: border-color 0.12s, box-shadow 0.12s;
}
.meeting-dining-pro .din-bi-panel:hover {
	border-color: #fed7aa;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.06);
}
.meeting-dining-pro .din-bi-panel h4 {
	padding-left: 8px;
	border-left: 3px solid #ea580c;
}
.meeting-dining-pro .din-seat-layout__toolbar .pro-btn {
	height: 34px;
	padding: 0 14px;
	font-size: 12px;
	border-radius: 8px;
}
@media (max-width: 768px) {
	.meeting-dining-pro .din-tab-panels { padding: 16px; }
	.meeting-dining-pro .din-side-tabs { padding-left: 16px; padding-right: 16px; }
	.meeting-dining-pro .lod-panel-toolbar__actions { margin-left: 0; width: 100%; }
	.meeting-dining-pro .lod-panel-toolbar__hint { min-width: 100%; }
}

/* 住宿 / 行程 Tab 页统一美化（对齐餐饮 hub-tab 体系） */
.meeting-lodging-pro {
	--hub-accent: #2563eb;
	--hub-accent-dark: #1d4ed8;
	--hub-accent-soft: #eff6ff;
	--hub-accent-hover: #f8fbff;
	--hub-accent-border: #bfdbfe;
	--hub-accent-border-strong: #93c5fd;
	--hub-hint-bg: #eff6ff;
	--hub-hint-border: #bfdbfe;
	--hub-hint-text: #1e40af;
	--hub-th-start: #eff6ff;
	--hub-row-hover: #f8fbff;
	--hub-stat-hover-shadow: rgba(37, 99, 235, 0.06);
	--hub-input-focus: rgba(37, 99, 235, 0.1);
	--hub-primary-shadow: rgba(37, 99, 235, 0.22);
	--hub-warn-strong: #d97706;
}
.meeting-travel-pro {
	--hub-accent: #059669;
	--hub-accent-dark: #047857;
	--hub-accent-soft: #ecfdf5;
	--hub-accent-hover: #f0fdf4;
	--hub-accent-border: #a7f3d0;
	--hub-accent-border-strong: #6ee7b7;
	--hub-hint-bg: #ecfdf5;
	--hub-hint-border: #a7f3d0;
	--hub-hint-text: #065f46;
	--hub-th-start: #ecfdf5;
	--hub-row-hover: #f0fdf4;
	--hub-stat-hover-shadow: rgba(5, 150, 105, 0.06);
	--hub-input-focus: rgba(5, 150, 105, 0.1);
	--hub-primary-shadow: rgba(5, 150, 105, 0.22);
	--hub-warn-strong: #c2410c;
}
.meeting-lodging-pro .lod-side-hero__actions .pro-btn-primary,
.meeting-travel-pro .lod-side-hero__actions .pro-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-dark));
	border-color: var(--hub-accent-dark);
	box-shadow: 0 2px 8px var(--hub-primary-shadow);
}
.meeting-lodging-pro .lod-side-hero__actions .pro-btn-primary:hover,
.meeting-travel-pro .lod-side-hero__actions .pro-btn-primary:hover {
	filter: brightness(0.95);
	color: #fff;
}
.meeting-lodging-pro .lod-hub-stats,
.meeting-travel-pro .lod-hub-stats {
	background: linear-gradient(180deg, #fff 0%, var(--hub-accent-soft) 100%);
	border-bottom: 1px solid var(--hub-accent-border);
}
.meeting-lodging-pro .lod-hub-stats .lod-side-stat,
.meeting-travel-pro .lod-hub-stats .lod-side-stat {
	background: #fff;
	border-color: #f1f5f9;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.meeting-lodging-pro .lod-hub-stats .lod-side-stat:hover,
.meeting-travel-pro .lod-hub-stats .lod-side-stat:hover {
	border-color: var(--hub-accent-border);
	box-shadow: 0 2px 8px var(--hub-stat-hover-shadow);
}
.meeting-lodging-pro .lod-hub-stats .lod-side-stat--accent strong,
.meeting-travel-pro .lod-hub-stats .lod-side-stat--accent strong { color: var(--hub-accent); }
.meeting-lodging-pro .lod-hub-stats .lod-side-stat--warn strong,
.meeting-travel-pro .lod-hub-stats .lod-side-stat--warn strong { color: var(--hub-warn-strong); }
.meeting-lodging-pro .lod-hub-stats .lod-side-stat--ok strong,
.meeting-travel-pro .lod-hub-stats .lod-side-stat--ok strong { color: var(--hub-accent); }
.meeting-lodging-pro .lod-hub-tabs,
.meeting-travel-pro .lod-hub-tabs {
	padding: 14px 24px 0;
	background: linear-gradient(180deg, var(--hub-accent-soft) 0%, #fff 100%);
	border-bottom: 1px solid #e2e8f0;
	gap: 6px;
}
.meeting-lodging-pro .lod-hub-tabs__btn:hover,
.meeting-travel-pro .lod-hub-tabs__btn:hover,
.meeting-lodging-pro .lod-hub-tabs .lod-side-tabs__btn:hover,
.meeting-travel-pro .lod-hub-tabs .lod-side-tabs__btn:hover {
	color: var(--hub-accent-dark);
	background: var(--hub-accent-soft);
}
.meeting-lodging-pro .lod-hub-tabs .lod-side-tabs__btn.is-active,
.meeting-travel-pro .lod-hub-tabs .lod-side-tabs__btn.is-active {
	color: var(--hub-accent-dark);
	background: var(--hub-accent-soft);
	border-bottom-color: var(--hub-accent);
	font-weight: 600;
}
.meeting-lodging-pro .lod-hub-tab-panels,
.meeting-travel-pro .lod-hub-tab-panels {
	padding: 20px 24px 28px;
	background: #f1f5f9;
	min-height: 320px;
}
.meeting-lodging-pro .lod-hub-tab-panel.is-active,
.meeting-travel-pro .lod-hub-tab-panel.is-active {
	display: flex;
	flex-direction: column;
	gap: 16px;
	animation: hubTabFadeIn 0.22s ease;
}
@keyframes hubTabFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}
.meeting-lodging-pro .lod-panel-toolbar,
.meeting-travel-pro .lod-panel-toolbar {
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	margin-bottom: 0;
	gap: 12px;
}
.meeting-lodging-pro .lod-panel-toolbar__hint,
.meeting-travel-pro .lod-panel-toolbar__hint {
	margin: 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--hub-hint-bg);
	border: 1px solid var(--hub-hint-border);
	color: var(--hub-hint-text);
	font-size: 12px;
	flex: 1;
	min-width: 180px;
	line-height: 1.5;
}
.meeting-lodging-pro .lod-panel-toolbar__actions,
.meeting-travel-pro .lod-panel-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-left: auto;
}
.meeting-lodging-pro .lod-ops-toolbar,
.meeting-travel-pro .lod-ops-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.meeting-lodging-pro .lod-panel-toolbar__actions.lod-ops-toolbar,
.meeting-travel-pro .lod-panel-toolbar__actions.lod-ops-toolbar {
	margin-left: auto;
}
.meeting-lodging-pro .pro-btn,
.meeting-travel-pro .pro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 38px;
	padding: 0 16px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.1s;
	white-space: nowrap;
}
.meeting-lodging-pro .pro-btn .layui-icon,
.meeting-travel-pro .pro-btn .layui-icon { font-size: 15px; }
.meeting-lodging-pro .pro-btn:active,
.meeting-travel-pro .pro-btn:active { transform: scale(0.98); }
.meeting-lodging-pro .pro-btn-primary,
.meeting-travel-pro .pro-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-dark));
	border-color: var(--hub-accent-dark);
	box-shadow: 0 2px 8px var(--hub-primary-shadow);
}
.meeting-lodging-pro .pro-btn-primary:hover,
.meeting-travel-pro .pro-btn-primary:hover {
	filter: brightness(0.95);
	color: #fff;
	box-shadow: 0 4px 12px var(--hub-primary-shadow);
}
.meeting-lodging-pro .pro-btn-default,
.meeting-travel-pro .pro-btn-default {
	color: #475569;
	background: #fff;
	border-color: #e2e8f0;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-lodging-pro .pro-btn-default:hover,
.meeting-travel-pro .pro-btn-default:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	color: #334155;
}
.meeting-lodging-pro .pro-btn-warm,
.meeting-travel-pro .pro-btn-warm {
	color: #fff;
	background: linear-gradient(135deg, #f59e0b, #d97706);
	border-color: #d97706;
	box-shadow: 0 2px 8px rgba(217, 119, 6, 0.22);
}
.meeting-lodging-pro .lod-order-filters,
.meeting-travel-pro .lod-order-filters {
	gap: 10px;
	width: 100%;
}
.meeting-lodging-pro .lod-panel-toolbar__actions .lod-order-filters,
.meeting-travel-pro .lod-panel-toolbar__actions .lod-order-filters {
	width: auto;
	flex: 1;
	min-width: 0;
	justify-content: flex-end;
}
.meeting-lodging-pro .lod-search-box,
.meeting-travel-pro .lod-search-box {
	flex: 1;
	min-width: 180px;
	max-width: 280px;
}
.meeting-lodging-pro .lod-search-box .layui-input,
.meeting-travel-pro .lod-search-box .layui-input {
	height: 38px;
	border-radius: 10px;
	border-color: #e2e8f0;
}
.meeting-lodging-pro .lod-search-box .layui-input:focus,
.meeting-travel-pro .lod-search-box .layui-input:focus {
	border-color: var(--hub-accent-border-strong);
	box-shadow: 0 0 0 3px var(--hub-input-focus);
}
.meeting-lodging-pro .lod-order-filters .layui-input,
.meeting-travel-pro .lod-order-filters .layui-input,
.meeting-lodging-pro .lod-ops-toolbar .layui-input,
.meeting-travel-pro .lod-ops-toolbar .layui-input {
	height: 38px;
	border-radius: 10px;
	border-color: #e2e8f0;
	min-width: 120px;
}
.meeting-lodging-pro .lod-order-table-wrap,
.meeting-travel-pro .lod-order-table-wrap,
.meeting-lodging-pro .lod-assign-table-wrap,
.meeting-travel-pro .lod-assign-table-wrap {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}
.meeting-lodging-pro .lod-order-table th,
.meeting-travel-pro .lod-order-table th {
	background: linear-gradient(180deg, var(--hub-th-start) 0%, #fff 100%);
	color: var(--hub-hint-text);
	font-weight: 600;
	border-bottom: 1px solid var(--hub-hint-border);
	font-size: 12px;
	letter-spacing: 0.02em;
}
.meeting-lodging-pro .lod-order-table td,
.meeting-travel-pro .lod-order-table td {
	border-bottom-color: #f1f5f9;
}
.meeting-lodging-pro .lod-order-table tr:hover td,
.meeting-travel-pro .lod-order-table tr:hover td {
	background: var(--hub-row-hover);
}
.meeting-lodging-pro .lod-loading-cell,
.meeting-travel-pro .lod-loading-cell,
.meeting-lodging-pro .lod-empty-cell,
.meeting-travel-pro .lod-empty-cell {
	padding: 32px 16px;
	color: #94a3b8;
	font-size: 13px;
	text-align: center;
}
/* 住宿 · 协议酒店卡片 */
.meeting-lodging-pro .lod-hotel-card {
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	transition: box-shadow 0.15s, border-color 0.15s;
}
.meeting-lodging-pro .lod-hotel-card:hover {
	border-color: var(--hub-accent-border);
	box-shadow: 0 4px 16px var(--hub-stat-hover-shadow);
}
.meeting-lodging-pro .lod-empty-state {
	border-radius: 12px;
	border: 1px dashed var(--hub-accent-border);
	background: var(--hub-accent-soft);
}
/* 住宿 · 分房 / 房态 */
.meeting-lodging-pro .lod-ops-col {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	padding: 14px 16px;
}
.meeting-lodging-pro .lod-ops-col__title {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
	padding-left: 10px;
	border-left: 3px solid var(--hub-accent);
	margin: 0 0 12px;
}
.meeting-lodging-pro .lod-board-stats,
.meeting-lodging-pro .lod-board-cards {
	gap: 12px;
}
.meeting-lodging-pro .lod-reconcile-layout {
	gap: 16px;
}
.meeting-lodging-pro .lod-reconcile-list,
.meeting-lodging-pro .lod-reconcile-detail {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-lodging-pro .lod-attrition-subtitle {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	padding-left: 10px;
	border-left: 3px solid var(--hub-accent);
	margin: 16px 0 10px;
}
.meeting-lodging-pro .lod-attrition-alert {
	border-radius: 10px;
}
.meeting-lodging-pro .lod-share-suggest {
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 14px 16px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-lodging-pro .lod-hub-tab-panel[data-panel="policy"] .trv-policy-layout,
.meeting-travel-pro .lod-hub-tab-panel[data-panel="policy"] .trv-policy-layout {
	margin-top: 0;
}
.meeting-lodging-pro .lod-hub-tab-panel[data-panel="policy"] .trv-policy-main,
.meeting-travel-pro .lod-hub-tab-panel[data-panel="policy"] .trv-policy-main {
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.meeting-lodging-pro .lod-hub-tab-panel[data-panel="policy"] .lod-policy-card,
.meeting-travel-pro .lod-hub-tab-panel[data-panel="policy"] .lod-policy-card,
.meeting-travel-pro .lod-hub-tab-panel[data-panel="policy"] .trv-policy-tips {
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
/* 行程 · 班车座位面板 */
.meeting-travel-pro .trv-shuttle-seat-panel {
	border-radius: 12px;
	border-color: var(--hub-accent-border);
	background: linear-gradient(180deg, var(--hub-accent-soft) 0%, #fff 48px);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	margin-top: 0;
}
.meeting-travel-pro .trv-filter-check:hover {
	border-color: var(--hub-accent-border);
	background: var(--hub-accent-soft);
}
@media (max-width: 768px) {
	.meeting-lodging-pro .lod-hub-tab-panels,
	.meeting-travel-pro .lod-hub-tab-panels { padding: 16px; }
	.meeting-lodging-pro .lod-hub-tabs,
	.meeting-travel-pro .lod-hub-tabs { padding-left: 16px; padding-right: 16px; }
	.meeting-lodging-pro .lod-panel-toolbar__actions,
	.meeting-travel-pro .lod-panel-toolbar__actions { margin-left: 0; width: 100%; }
	.meeting-lodging-pro .lod-panel-toolbar__hint,
	.meeting-travel-pro .lod-panel-toolbar__hint { min-width: 100%; }
	.meeting-lodging-pro .lod-panel-toolbar__actions .lod-order-filters,
	.meeting-travel-pro .lod-panel-toolbar__actions .lod-order-filters { justify-content: flex-start; }
}

/* ========== 报名策略侧栏 · meeting-reg-settings-pro ========== */
.meeting-reg-settings-pro {
	--rgs-accent: #2563eb;
	--rgs-accent-soft: #eff6ff;
	--rgs-pf-cols: minmax(0, 1fr) 44px 44px 44px 32px;
	padding-bottom: 72px;
}
.meeting-reg-settings-pro .rgs-hero {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px;
	padding: 12px 14px; margin-bottom: 10px;
	background: linear-gradient(135deg, #eff6ff 0%, #fff 60%);
	border: 1px solid #dbeafe; border-radius: 12px;
}
.meeting-reg-settings-pro .rgs-hero__main { display: flex; gap: 10px; min-width: 0; flex: 1; align-items: center; }
.meeting-reg-settings-pro .rgs-hero__icon { font-size: 24px; line-height: 1; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-hero__tag {
	display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 999px;
	background: var(--rgs-accent-soft); color: var(--rgs-accent); border: 1px solid #bfdbfe; margin-bottom: 4px;
}
.meeting-reg-settings-pro .rgs-hero__title { margin: 0 0 2px; font-size: 15px; font-weight: 700; color: #0f172a; line-height: 1.35; }
.meeting-reg-settings-pro .rgs-hero__desc { margin: 0; font-size: 11px; color: #64748b; line-height: 1.45; }
.meeting-reg-settings-pro .rgs-hero__actions { display: flex; flex-wrap: wrap; gap: 6px; }
.meeting-reg-settings-pro .rgs-banner {
	display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; margin-bottom: 12px;
	border-radius: 10px; font-size: 13px; line-height: 1.5;
}
.meeting-reg-settings-pro .rgs-banner--warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.meeting-reg-settings-pro .rgs-tabs { margin: 0; }
.meeting-reg-settings-pro .rgs-tab-title { border-bottom-color: #e2e8f0; }
.meeting-reg-settings-pro .rgs-tab-title li { font-size: 13px; }
.meeting-reg-settings-pro .rgs-tab-content { padding: 12px 0 0; }
.meeting-reg-settings-pro .rgs-panel {
	background: #fff; border: 1px solid #e8edf3; border-radius: 12px; padding: 14px 16px;
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.meeting-reg-settings-pro .rgs-panel--profile { padding: 12px 14px; }
.meeting-reg-settings-pro .rgs-panel__head { margin-bottom: 12px; }
.meeting-reg-settings-pro .rgs-panel__head--compact { margin-bottom: 10px; }
.meeting-reg-settings-pro .rgs-panel__head h3 { margin: 0 0 3px; font-size: 14px; font-weight: 700; color: #0f172a; }
.meeting-reg-settings-pro .rgs-panel__head p { margin: 0; font-size: 11px; color: #64748b; line-height: 1.5; }
.meeting-reg-settings-pro .rgs-pipeline-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin-bottom: 14px;
}
.meeting-reg-settings-pro .rgs-pipeline-card { position: relative; cursor: pointer; margin: 0; }
.meeting-reg-settings-pro .rgs-pipeline-card input { position: absolute; opacity: 0; pointer-events: none; }
.meeting-reg-settings-pro .rgs-pipeline-card__body {
	display: block; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fafbfc;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.meeting-reg-settings-pro .rgs-pipeline-card__body strong { display: block; font-size: 13px; color: #0f172a; margin-bottom: 4px; }
.meeting-reg-settings-pro .rgs-pipeline-card__body em { display: block; font-size: 11px; color: #64748b; font-style: normal; line-height: 1.45; }
.meeting-reg-settings-pro .rgs-pipeline-card input:checked + .rgs-pipeline-card__body {
	border-color: var(--rgs-accent); background: var(--rgs-accent-soft); box-shadow: 0 0 0 1px rgba(37,99,235,.15);
}
.meeting-reg-settings-pro .rgs-form-row { display: grid; gap: 12px; margin-bottom: 12px; }
.meeting-reg-settings-pro .rgs-form-row--2 { grid-template-columns: 1fr 1fr; }
.meeting-reg-settings-pro .rgs-field label { display: block; font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.meeting-reg-settings-pro .rgs-readonly-pill {
	margin: 0; padding: 8px 12px; font-size: 12px; color: #334155; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px;
}
.meeting-reg-settings-pro .rgs-preset-bar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dashed #e2e8f0;
}
.meeting-reg-settings-pro .rgs-preset-bar__label { font-size: 11px; font-weight: 600; color: #64748b; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-preset-chips { display: flex; flex-wrap: wrap; gap: 5px; flex: 1; min-width: 0; }
.meeting-reg-settings-pro .rgs-preset-chip {
	border: 1px solid #cbd5e1; background: #fff; color: #334155; border-radius: 999px; padding: 4px 10px;
	font-size: 11px; cursor: pointer; transition: all .15s; line-height: 1.3;
}
.meeting-reg-settings-pro .rgs-preset-chip:hover { border-color: var(--rgs-accent); color: var(--rgs-accent); }
.meeting-reg-settings-pro .rgs-preset-chip.is-active { background: var(--rgs-accent); border-color: var(--rgs-accent); color: #fff; }
.meeting-reg-settings-pro .rgs-link-btn { border: none; background: none; color: var(--rgs-accent); font-size: 11px; cursor: pointer; padding: 4px 0; white-space: nowrap; }
.meeting-reg-settings-pro .rgs-mini-btn {
	border: 1px solid #e2e8f0; background: #fff; color: #64748b; border-radius: 6px; padding: 3px 8px;
	font-size: 11px; cursor: pointer; line-height: 1.3; transition: border-color .15s, color .15s;
}
.meeting-reg-settings-pro .rgs-mini-btn:hover { border-color: var(--rgs-accent); color: var(--rgs-accent); }
.meeting-reg-settings-pro .rgs-profile-toolbar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px;
}
.meeting-reg-settings-pro .rgs-profile-toolbar__search {
	position: relative; flex: 1; min-width: 140px;
}
.meeting-reg-settings-pro .rgs-profile-toolbar__search .layui-icon-search {
	position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: 14px; color: #94a3b8; pointer-events: none;
}
.meeting-reg-settings-pro .rgs-profile-toolbar__search .layui-input {
	height: 32px; line-height: 32px; padding-left: 30px; font-size: 12px; border-radius: 8px;
}
.meeting-reg-settings-pro .rgs-profile-toolbar__acts { display: flex; gap: 4px; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-profile-summary {
	margin: 0 0 10px; font-size: 11px; color: #64748b; padding: 6px 10px; background: #f8fafc; border-radius: 8px; border: 1px solid #eef2f7;
}
.meeting-reg-settings-pro .rgs-profile-groups { display: flex; flex-direction: column; gap: 8px; }
.meeting-reg-settings-pro .rgs-profile-group {
	border: 1px solid #eef2f7; border-radius: 10px; overflow: hidden; background: #fff;
}
.meeting-reg-settings-pro .rgs-profile-group__head {
	display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eef2f7;
	cursor: pointer; user-select: none; transition: background .15s;
}
.meeting-reg-settings-pro .rgs-profile-group__head:hover { background: #f1f5f9; }
.meeting-reg-settings-pro .rgs-profile-group.is-collapsed .rgs-profile-group__head { border-bottom: none; }
.meeting-reg-settings-pro .rgs-profile-group.is-collapsed .rgs-profile-table { display: none; }
.meeting-reg-settings-pro .rgs-profile-group__chev {
	width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; color: #94a3b8; flex-shrink: 0;
	transition: transform .2s;
}
.meeting-reg-settings-pro .rgs-profile-group.is-collapsed .rgs-profile-group__chev { transform: rotate(-90deg); }
.meeting-reg-settings-pro .rgs-profile-group__icon { font-size: 16px; line-height: 1; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-profile-group__meta { min-width: 0; flex: 1; }
.meeting-reg-settings-pro .rgs-profile-group__meta h4 { margin: 0; font-size: 12px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.meeting-reg-settings-pro .rgs-profile-group__stat { margin: 0; font-size: 10px; color: #94a3b8; line-height: 1.3; }
.meeting-reg-settings-pro .rgs-profile-group__bulk { display: flex; gap: 4px; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-profile-table { border-top: none; }
.meeting-reg-settings-pro .rgs-profile-thead,
.meeting-reg-settings-pro .rgs-profile-field {
	display: grid; grid-template-columns: var(--rgs-pf-cols); align-items: center; gap: 6px;
}
.meeting-reg-settings-pro .rgs-profile-thead {
	padding: 5px 10px; background: #fafbfc; border-bottom: 1px solid #f1f5f9;
}
.meeting-reg-settings-pro .rgs-pf-th { font-size: 10px; font-weight: 600; color: #94a3b8; text-transform: none; letter-spacing: 0; }
.meeting-reg-settings-pro .rgs-pf-th--vis,
.meeting-reg-settings-pro .rgs-pf-th--req,
.meeting-reg-settings-pro .rgs-pf-th--verify,
.meeting-reg-settings-pro .rgs-pf-col--vis,
.meeting-reg-settings-pro .rgs-pf-col--req,
.meeting-reg-settings-pro .rgs-pf-col--verify { justify-self: center; }
.meeting-reg-settings-pro .rgs-sw--verify input:checked + .rgs-sw__track { background: #059669; }
.meeting-reg-settings-pro .rgs-pf-col--verify-empty { min-height: 1px; }
.meeting-reg-settings-pro .rgs-profile-fields { display: flex; flex-direction: column; }
.meeting-reg-settings-pro .rgs-profile-field {
	padding: 4px 10px; min-height: 36px; border-bottom: 1px solid #f8fafc; transition: background .12s;
}
.meeting-reg-settings-pro .rgs-profile-field:hover { background: #fafcff; }
.meeting-reg-settings-pro .rgs-profile-field:last-child { border-bottom: none; }
.meeting-reg-settings-pro .rgs-profile-field.is-off { opacity: .45; }
.meeting-reg-settings-pro .rgs-profile-field.is-off .rgs-pf-input { color: #94a3b8; }
.meeting-reg-settings-pro .rgs-profile-field.is-filtered-out { display: none !important; }
.meeting-reg-settings-pro .rgs-pf-col--name {
	display: flex; align-items: center; gap: 4px; min-width: 0;
}
.meeting-reg-settings-pro .rgs-pf-col--name-custom { flex-wrap: wrap; gap: 4px; }
.meeting-reg-settings-pro .rgs-pf-input {
	height: 28px; line-height: 28px; font-size: 12px; font-weight: 500; color: #0f172a;
	border: 1px solid transparent; background: transparent; padding: 0 6px; border-radius: 6px; flex: 1; min-width: 0;
}
.meeting-reg-settings-pro .rgs-pf-input:hover { border-color: #e2e8f0; background: #fff; }
.meeting-reg-settings-pro .rgs-pf-input:focus { border-color: var(--rgs-accent); background: #fff; box-shadow: 0 0 0 2px rgba(37,99,235,.12); outline: none; }
.meeting-reg-settings-pro .rgs-pf-type { height: 26px; font-size: 11px; max-width: 100px; flex-shrink: 0; padding: 0 6px; }
.meeting-reg-settings-pro .rgs-pf-info {
	border: none; background: none; color: #cbd5e1; cursor: help; padding: 0; width: 20px; height: 20px;
	display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%;
}
.meeting-reg-settings-pro .rgs-pf-info:hover { color: var(--rgs-accent); background: var(--rgs-accent-soft); }
.meeting-reg-settings-pro .rgs-pf-info .layui-icon { font-size: 14px; }
.meeting-reg-settings-pro .rgs-pf-del {
	border: none; background: none; color: #cbd5e1; cursor: pointer; width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center; border-radius: 6px; padding: 0;
}
.meeting-reg-settings-pro .rgs-pf-del:hover { color: #ef4444; background: #fef2f2; }
.meeting-reg-settings-pro .rgs-sw {
	position: relative; display: inline-flex; cursor: pointer; width: 32px; height: 18px; margin: 0;
}
.meeting-reg-settings-pro .rgs-sw input { position: absolute; opacity: 0; width: 0; height: 0; }
.meeting-reg-settings-pro .rgs-sw__track {
	display: block; width: 32px; height: 18px; border-radius: 999px; background: #e2e8f0; transition: background .2s;
}
.meeting-reg-settings-pro .rgs-sw__track::after {
	content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%;
	background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.12); transition: transform .2s;
}
.meeting-reg-settings-pro .rgs-sw input:checked + .rgs-sw__track { background: var(--rgs-accent); }
.meeting-reg-settings-pro .rgs-sw--req input:checked + .rgs-sw__track { background: #ef4444; }
.meeting-reg-settings-pro .rgs-sw input:checked + .rgs-sw__track::after { transform: translateX(14px); }
.meeting-reg-settings-pro .rgs-sw input:disabled + .rgs-sw__track { opacity: .35; cursor: not-allowed; }
.meeting-reg-settings-pro .rgs-profile-pool {
	margin-top: 12px; border: 1px dashed #e2e8f0; border-radius: 10px; background: #fafbfc; overflow: hidden;
}
.meeting-reg-settings-pro .rgs-profile-pool.is-empty { display: none; }
.meeting-reg-settings-pro .rgs-profile-pool__summary {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px;
	font-size: 12px; font-weight: 600; color: #64748b; cursor: pointer; list-style: none;
}
.meeting-reg-settings-pro .rgs-profile-pool__summary::-webkit-details-marker { display: none; }
.meeting-reg-settings-pro .rgs-profile-pool__summary em {
	font-style: normal; font-size: 10px; font-weight: 700; background: #e2e8f0; color: #475569;
	padding: 1px 7px; border-radius: 999px; min-width: 18px; text-align: center;
}
.meeting-reg-settings-pro .rgs-profile-pool__list {
	display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 10px;
}
.meeting-reg-settings-pro .rgs-profile-pool-item {
	display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px 4px 10px; border-radius: 999px;
	background: #fff; border: 1px solid #e2e8f0; font-size: 11px; color: #64748b;
}
.meeting-reg-settings-pro .rgs-profile-custom {
	margin-top: 14px; padding-top: 12px; border-top: 1px solid #eef2f7;
}
.meeting-reg-settings-pro .rgs-profile-custom__head {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px;
}
.meeting-reg-settings-pro .rgs-profile-custom__head h4 { margin: 0; font-size: 12px; color: #0f172a; font-weight: 700; }
.meeting-reg-settings-pro .rgs-profile-custom__head p { margin: 0; font-size: 10px; color: #94a3b8; }
.meeting-reg-settings-pro .rgs-profile-table--custom { border: 1px solid #eef2f7; border-radius: 8px; overflow: hidden; }
.meeting-reg-settings-pro .rgs-profile-custom__empty { margin: 0; font-size: 11px; color: #94a3b8; padding: 10px 0 0; text-align: center; }
.meeting-reg-settings-pro .rgs-profile-role { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #e2e8f0; }
.meeting-reg-settings-pro .rgs-role-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 12px; margin-top: 10px; }
.meeting-reg-settings-pro .rgs-role-row { display: flex; flex-direction: column; gap: 4px; }
.meeting-reg-settings-pro .rgs-role-row__label { font-size: 11px; color: #64748b; font-weight: 600; }
.meeting-reg-settings-pro .rgs-profile-field--custom { background: #fcfdff; }
.meeting-reg-settings-pro .rgs-footer {
	position: sticky; bottom: 0; z-index: 5; margin-top: 12px; padding: 10px 0 4px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 24%);
	border-top: 1px solid #eef2f7;
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.meeting-reg-settings-pro .rgs-footer__hint { font-size: 11px; color: #94a3b8; flex: 1; min-width: 0; }
.meeting-reg-settings-pro .rgs-switch-card {
	display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 10px; cursor: pointer; background: #fafbfc;
}
.meeting-reg-settings-pro .rgs-switch-card input { margin-top: 4px; flex-shrink: 0; }
.meeting-reg-settings-pro .rgs-switch-card__body strong { display: block; font-size: 13px; color: #0f172a; margin-bottom: 3px; }
.meeting-reg-settings-pro .rgs-switch-card__body em { display: block; font-size: 11px; color: #64748b; font-style: normal; line-height: 1.45; }
@media (max-width: 720px) {
	.meeting-reg-settings-pro { --rgs-pf-cols: minmax(0, 1fr) 40px 40px 28px; }
	.meeting-reg-settings-pro .rgs-form-row--2 { grid-template-columns: 1fr; }
	.meeting-reg-settings-pro .rgs-pipeline-grid { grid-template-columns: 1fr; }
	.meeting-reg-settings-pro .rgs-profile-group__bulk { display: none; }
	.meeting-reg-settings-pro .rgs-footer { flex-direction: column; align-items: stretch; }
	.meeting-reg-settings-pro .rgs-footer__hint { text-align: center; }
}

/* ========== 通知中心 · 投递日志 / 事件配置 ========== */
.notify-hub-pro .nh-stat-row {
	margin-bottom: 16px;
}
.notify-hub-pro .nh-stat-sub {
	margin-top: 4px;
	font-size: 12px;
	color: var(--pro-text-secondary, rgba(0, 0, 0, 0.45));
}
.notify-hub-pro .nh-stat-card--click {
	cursor: pointer;
	transition: box-shadow 0.15s, border-color 0.15s;
}
.notify-hub-pro .nh-stat-card--click:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: var(--pro-primary, #1677ff);
}
.notify-hub-pro .nh-search-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.notify-hub-pro .nh-search-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.notify-hub-pro .nh-quick-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-left: auto;
}
.notify-hub-pro .nh-chip {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid var(--pro-border, #f0f0f0);
	background: #fff;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.65);
	cursor: pointer;
	transition: all 0.15s;
}
.notify-hub-pro .nh-chip:hover {
	color: var(--pro-primary, #1677ff);
	border-color: #91caff;
}
.notify-hub-pro .nh-chip.is-active {
	color: #fff;
	background: var(--pro-primary, #1677ff);
	border-color: var(--pro-primary, #1677ff);
}
.notify-hub-pro .nh-code {
	display: inline-block;
	font-size: 12px;
	background: #f5f5f5;
	padding: 2px 6px;
	border-radius: 4px;
	word-break: break-all;
	color: #475569;
}
.notify-hub-pro .nh-channel-tag {
	display: inline-block;
	margin: 0 4px 4px 0;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 18px;
	white-space: nowrap;
	background: #f5f5f5;
	color: rgba(0, 0, 0, 0.65);
}
.notify-hub-pro .nh-channel-tag--portal_site,
.notify-hub-pro .nh-channel-tag--portal { background: #e6f4ff; color: #1677ff; }
.notify-hub-pro .nh-channel-tag--admin_site,
.notify-hub-pro .nh-channel-tag--admin { background: #f9f0ff; color: #722ed1; }
.notify-hub-pro .nh-channel-tag--sms { background: #fff7e6; color: #d48806; }
.notify-hub-pro .nh-channel-tag--email { background: #e6fffb; color: #08979c; }
.notify-hub-pro .nh-channel-tag--wechat_mp,
.notify-hub-pro .nh-channel-tag--wechat_mini,
.notify-hub-pro .nh-channel-tag--wechat { background: #f6ffed; color: #389e0d; }
.notify-hub-pro .nh-channel-tag--wecom { background: #fff0f6; color: #c41d7f; }
.notify-hub-pro .nh-module-tag {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 4px;
	font-size: 12px;
	background: #fafafa;
	border: 1px solid #f0f0f0;
	color: rgba(0, 0, 0, 0.65);
}
.notify-hub-pro .nh-audience-tag {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 11px;
	background: #f6ffed;
	color: #389e0d;
}
.notify-hub-pro .pro-table-card .layui-table-view {
	border: 0;
	margin: 0;
}
.notify-hub-pro .pro-link-btn {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
	color: #1677ff;
	background: #e6f4ff;
	text-decoration: none;
	cursor: pointer;
}
.notify-hub-pro .pro-link-btn:hover { opacity: 0.85; }
.notify-hub-pro .nh-empty-card { margin-bottom: 16px; }
.notify-hub-pro .nh-detail-panel { padding: 4px 0; }
.notify-hub-pro .nh-detail-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.notify-hub-pro .nh-detail-list li {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 8px;
	padding: 8px 0;
	border-bottom: 1px solid #fafafa;
	font-size: 13px;
}
.notify-hub-pro .nh-detail-list li:last-child { border-bottom: 0; }
.notify-hub-pro .nh-detail-list li span {
	color: rgba(0, 0, 0, 0.45);
}
.notify-hub-pro .nh-detail-list li strong {
	color: rgba(0, 0, 0, 0.75);
	font-weight: 500;
	word-break: break-all;
}
.notify-hub-pro .nh-detail-list__full {
	grid-template-columns: 1fr;
}
.notify-hub-pro .nh-detail-list__full span {
	display: block;
	margin-bottom: 6px;
}
.notify-hub-pro .nh-detail-list pre {
	margin: 0;
	padding: 10px 12px;
	background: #fafafa;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.55;
	white-space: pre-wrap;
	word-break: break-all;
	max-height: 200px;
	overflow: auto;
}
@media (max-width: 1100px) {
	.notify-hub-pro .nh-search-grid,
	.notify-hub-pro .nh-search-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.notify-hub-pro .nh-search-grid,
	.notify-hub-pro .nh-search-grid--3 {
		grid-template-columns: 1fr;
	}
	.notify-hub-pro .pro-table-toolbar {
		flex-direction: column;
		align-items: stretch;
	}
	.notify-hub-pro .nh-quick-filters { margin-left: 0; }
}

/* ── 会议发布审批侧栏（flowapply） ── */
.meeting-flow-apply-pro {
	--mfa-accent: #2563eb;
	--mfa-accent-soft: #eff6ff;
	--mfa-ink: #0f172a;
	--mfa-muted: #64748b;
	--mfa-line: #e2e8f0;
	--mfa-warn: #ea580c;
	--mfa-warn-bg: #fff7ed;
	--mfa-ok: #059669;
	--mfa-reject: #dc2626;
	padding-bottom: 24px;
}
.meeting-flow-apply-pro .mfa-hero {
	margin: 0 0 16px;
	padding: 18px 20px;
	border-radius: 12px;
	border: 1px solid #dbeafe;
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(37, 99, 235, 0.10), transparent 55%),
		linear-gradient(135deg, #ffffff 0%, #f8fbff 55%, #f0fdf9 100%);
}
.meeting-flow-apply-pro .mfa-hero-badge {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 10px;
	margin-bottom: 8px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #1d4ed8;
	background: #dbeafe;
}
.meeting-flow-apply-pro .mfa-hero-title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
	color: var(--mfa-ink);
	line-height: 1.3;
}
.meeting-flow-apply-pro .mfa-hero-desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--mfa-muted);
	max-width: 560px;
}
.meeting-flow-apply-pro .mfa-inline-link {
	color: var(--mfa-accent);
	text-decoration: none;
	font-weight: 500;
}
.meeting-flow-apply-pro .mfa-inline-link:hover {
	text-decoration: underline;
}

.meeting-flow-apply-pro .mfa-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	list-style: none;
	margin: 0 0 16px;
	padding: 10px;
	border: 1px solid var(--mfa-line);
	border-radius: 12px;
	background: #fff;
}
.meeting-flow-apply-pro .mfa-step {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--mfa-muted);
	position: relative;
}
.meeting-flow-apply-pro .mfa-step-num {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	background: #f1f5f9;
	color: #64748b;
}
.meeting-flow-apply-pro .mfa-step-label {
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.meeting-flow-apply-pro .mfa-step.is-done {
	color: var(--mfa-ok);
	background: #ecfdf5;
}
.meeting-flow-apply-pro .mfa-step.is-done .mfa-step-num {
	background: #10b981;
	color: #fff;
}
.meeting-flow-apply-pro .mfa-step.is-active {
	color: var(--mfa-accent);
	background: var(--mfa-accent-soft);
}
.meeting-flow-apply-pro .mfa-step.is-active .mfa-step-num {
	background: var(--mfa-accent);
	color: #fff;
}
.meeting-flow-apply-pro .mfa-step.is-reject {
	color: var(--mfa-reject);
	background: #fef2f2;
}
.meeting-flow-apply-pro .mfa-step.is-reject .mfa-step-num {
	background: var(--mfa-reject);
	color: #fff;
}

.meeting-flow-apply-pro .mfa-summary {
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid var(--mfa-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.meeting-flow-apply-pro .mfa-summary-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.meeting-flow-apply-pro .mfa-summary-head strong {
	font-size: 16px;
	font-weight: 700;
	color: var(--mfa-ink);
	line-height: 1.4;
	word-break: break-word;
}
.meeting-flow-apply-pro .mfa-summary-sub {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px dashed var(--mfa-line);
	font-size: 13px;
	color: var(--mfa-muted);
	line-height: 1.55;
}
.meeting-flow-apply-pro .mfa-summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
}
.meeting-flow-apply-pro .mfa-meta {
	min-width: 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
}
.meeting-flow-apply-pro .mfa-meta--wide {
	grid-column: 1 / -1;
}
.meeting-flow-apply-pro .mfa-meta-label {
	display: block;
	font-size: 12px;
	color: var(--mfa-muted);
	margin-bottom: 4px;
}
.meeting-flow-apply-pro .mfa-meta-value {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.45;
	word-break: break-word;
}

.meeting-flow-apply-pro .mfa-status {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	background: #fff7ed;
	color: #c2410c;
	border: 1px solid #fdba74;
}
.meeting-flow-apply-pro .mfa-status--1,
.meeting-flow-apply-pro .mfa-status-check--1 {
	background: #eff6ff;
	color: #1d4ed8;
	border-color: #bfdbfe;
}
.meeting-flow-apply-pro .mfa-status--2,
.meeting-flow-apply-pro .mfa-status-check--2 {
	background: #ecfdf5;
	color: #047857;
	border-color: #a7f3d0;
}
.meeting-flow-apply-pro .mfa-status--3,
.meeting-flow-apply-pro .mfa-status-check--3 {
	background: #fef2f2;
	color: #b91c1c;
	border-color: #fecaca;
}
.meeting-flow-apply-pro .mfa-status-check--0 {
	background: #f8fafc;
	color: #475569;
	border-color: #e2e8f0;
}

.meeting-flow-apply-pro .mfa-alert {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid #fdba74;
	background: var(--mfa-warn-bg);
}
.meeting-flow-apply-pro .mfa-alert .layui-icon {
	font-size: 18px;
	margin-top: 2px;
	color: var(--mfa-warn);
}
.meeting-flow-apply-pro .mfa-alert-body strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	color: #9a3412;
}
.meeting-flow-apply-pro .mfa-alert-body p {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.55;
	color: #9a3412;
}
.meeting-flow-apply-pro .mfa-alert-link {
	font-size: 13px;
	font-weight: 600;
	color: #c2410c;
	text-decoration: none;
}
.meeting-flow-apply-pro .mfa-alert-link:hover {
	text-decoration: underline;
}

.meeting-flow-apply-pro .mfa-card {
	margin: 0 0 14px;
	border: 1px solid var(--mfa-line);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.meeting-flow-apply-pro .mfa-card-head {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	background: linear-gradient(90deg, #f8fafc 0%, #fff 100%);
}
.meeting-flow-apply-pro .mfa-card-step {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: var(--mfa-accent);
}
.meeting-flow-apply-pro .mfa-card-head strong {
	display: block;
	font-size: 14px;
	color: var(--mfa-ink);
	margin-bottom: 2px;
}
.meeting-flow-apply-pro .mfa-card-head p {
	margin: 0;
	font-size: 12px;
	color: var(--mfa-muted);
	line-height: 1.5;
}
.meeting-flow-apply-pro .mfa-card-body {
	padding: 16px;
}
.meeting-flow-apply-pro .mfa-textarea {
	min-height: 120px;
	border-radius: 8px;
	border-color: #cbd5e1;
	resize: vertical;
	line-height: 1.6;
}
.meeting-flow-apply-pro .mfa-textarea:focus {
	border-color: #93c5fd !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.meeting-flow-apply-pro .mfa-upload-box {
	margin-top: 12px;
	min-height: 8px;
}
.meeting-flow-apply-pro .mfa-content-block {
	font-size: 14px;
	line-height: 1.7;
	color: #334155;
	white-space: pre-wrap;
	word-break: break-word;
}
.meeting-flow-apply-pro .mfa-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	padding: 14px 16px;
	margin-top: 4px;
	border: 1px solid var(--mfa-line);
	border-radius: 12px;
	background: #fff;
	position: sticky;
	bottom: 8px;
	box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.04);
}
.meeting-flow-apply-pro .mfa-check-wrap {
	margin-top: 8px;
	padding: 14px 16px;
	border: 1px solid var(--mfa-line);
	border-radius: 12px;
	background: #fff;
}

@media (max-width: 640px) {
	.meeting-flow-apply-pro .mfa-steps {
		grid-template-columns: 1fr 1fr;
	}
	.meeting-flow-apply-pro .mfa-summary-grid {
		grid-template-columns: 1fr;
	}
	.meeting-flow-apply-pro .mfa-summary-head {
		flex-direction: column;
		align-items: flex-start;
	}
	.meeting-flow-apply-pro .mfa-actions {
		position: static;
	}
}

/* ===== 会务作战室：会前/会中/会后时间轴 (P0-1) ===== */
.ops-timeline {
	margin: 12px 0 18px;
	padding: 14px 16px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 55%);
}
.ops-timeline__phases {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 12px;
}
.ops-timeline__phase {
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #fff;
	min-width: 0;
}
.ops-timeline__phase em {
	display: block;
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: #64748b;
}
.ops-timeline__phase span {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: #94a3b8;
}
.ops-timeline__phase.is-active {
	border-color: #93c5fd;
	background: #eff6ff;
	box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.08);
}
.ops-timeline__phase.is-active em { color: #1d4ed8; }
.ops-timeline__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}
.ops-timeline__now {
	font-size: 12px;
	color: #64748b;
}
.ops-timeline__now strong { color: #0f172a; }
.ops-timeline__roles {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.ops-timeline__role {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
	background: #fff;
	font-size: 12px;
	color: #475569;
	text-decoration: none !important;
}
.ops-timeline__role.is-active,
.ops-timeline__role:hover {
	border-color: #93c5fd;
	background: #eff6ff;
	color: #1d4ed8;
}
.ops-timeline__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ops-timeline__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 9px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #334155;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	max-width: 100%;
}
.ops-timeline__link .layui-icon { font-size: 14px; color: #64748b; }
.ops-timeline__link:hover,
.ops-timeline__link.is-current {
	border-color: #93c5fd;
	background: #eff6ff;
	color: #1d4ed8;
}
.ops-timeline__link.is-current .layui-icon { color: #2563eb; }
@media (max-width: 720px) {
	.ops-timeline__phases { grid-template-columns: 1fr; }
}

/* ===== 环境能力体检 (P0-5) ===== */
.meeting-health-pro .health-summary {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 20px 22px;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	background: #fff;
	margin-bottom: 18px;
}
.meeting-health-pro .health-summary.is-ok { border-color: #bbf7d0; background: #f0fdf4; }
.meeting-health-pro .health-summary.is-warn { border-color: #fde68a; background: #fffbeb; }
.meeting-health-pro .health-summary__score strong {
	font-size: 36px;
	font-weight: 800;
	color: #0f172a;
	line-height: 1;
}
.meeting-health-pro .health-summary__score span { color: #94a3b8; font-size: 16px; }
.meeting-health-pro .health-summary__text h2 { margin: 0 0 6px; font-size: 18px; }
.meeting-health-pro .health-summary__text p { margin: 0; color: #64748b; font-size: 13px; }
.meeting-health-pro .health-groups {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 14px;
}
.meeting-health-pro .health-group {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 14px 16px;
}
.meeting-health-pro .health-group h3 {
	margin: 0 0 10px;
	font-size: 14px;
	color: #0f172a;
}
.meeting-health-pro .health-group ul { list-style: none; margin: 0; padding: 0; }
.meeting-health-pro .health-group li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid #f1f5f9;
}
.meeting-health-pro .health-group li:first-child { border-top: 0; }
.meeting-health-pro .health-dot {
	width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; flex-shrink: 0;
	background: #cbd5e1;
}
.meeting-health-pro .health-group li.is-ok .health-dot { background: #22c55e; }
.meeting-health-pro .health-group li.is-fail .health-dot { background: #f59e0b; }
.meeting-health-pro .health-group li strong { display: block; font-size: 13px; color: #1e293b; }
.meeting-health-pro .health-group li em { display: block; font-style: normal; font-size: 12px; color: #94a3b8; margin-top: 2px; }
.meeting-health-pro .health-flag { margin-left: auto; font-size: 12px; color: #94a3b8; white-space: nowrap; }
.meeting-health-pro .health-group li.is-ok .health-flag { color: #16a34a; }
.meeting-health-pro .health-group li.is-fail .health-flag { color: #d97706; }

/* ===== 志愿者运营 (P1.5) ===== */
.meeting-volunteer-pro .vol-panels {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 14px;
	margin-top: 16px;
}
.meeting-volunteer-pro .vol-panel { padding: 16px 18px; }
.meeting-volunteer-pro .vol-panel__head h2 { margin: 0 0 4px; font-size: 15px; }
.meeting-volunteer-pro .vol-panel__head p { margin: 0 0 12px; font-size: 12px; color: #94a3b8; }
.meeting-volunteer-pro .vol-actions a { margin-right: 8px; color: #2563eb; }
.meeting-volunteer-pro .vol-pack-list { list-style: none; margin: 0 0 12px; padding: 0; }
.meeting-volunteer-pro .vol-pack-list li {
	padding: 10px 0;
	border-top: 1px solid #f1f5f9;
}
.meeting-volunteer-pro .vol-pack-list li:first-child { border-top: 0; }
.meeting-volunteer-pro .vol-pack-list strong { display: block; font-size: 13px; }
.meeting-volunteer-pro .vol-pack-list em,
.meeting-volunteer-pro .vol-pack-list span {
	display: block;
	font-style: normal;
	font-size: 12px;
	color: #94a3b8;
	margin-top: 2px;
}
.meeting-volunteer-pro .vol-pack-list .is-empty { color: #94a3b8; font-size: 13px; }

/* ===== E-2 / P0-4：member-hub 表格响应式约定 ===== */
.hub-table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 8px;
}
.hub-table-scroll > .layui-table,
.hub-table-scroll > table.hub-table {
	min-width: 640px;
	margin: 0;
}
.member-hub-page .hub-table th,
.member-hub-page .hub-table td {
	white-space: nowrap;
}
.member-hub-page .hub-table td.hub-cell-wrap,
.member-hub-page .hub-table th.hub-cell-wrap {
	white-space: normal;
	min-width: 120px;
	max-width: 280px;
}
@media (max-width: 768px) {
	.hub-table-scroll {
		margin-left: -4px;
		margin-right: -4px;
		padding-bottom: 2px;
	}
	.member-hub-page .dash-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.meeting-volunteer-pro .vol-panel--wide {
	grid-column: 1 / -1;
}
.meeting-volunteer-pro .vol-board-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.meeting-volunteer-pro .vol-filter {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	color: #64748b;
	background: #f1f5f9;
	text-decoration: none;
}
.meeting-volunteer-pro .vol-filter.is-on {
	color: #0f172a;
	background: #e2e8f0;
	font-weight: 600;
}
.meeting-volunteer-pro .vol-cell {
	display: inline-block;
	min-width: 3.2em;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}
.meeting-volunteer-pro .vol-cell.is-ok { background: #dcfce7; color: #15803d; }
.meeting-volunteer-pro .vol-cell.is-miss { background: #ffedd5; color: #c2410c; }
.meeting-volunteer-pro .vol-cell.is-exempt { background: #e0e7ff; color: #4338ca; }
.meeting-volunteer-pro .vol-cell.is-na { background: #f8fafc; color: #94a3b8; }

/* P-MT1 minisite template gallery */
.meeting-template-pro .mtpl-gallery-card { padding: 16px 20px 24px; }
.meeting-template-pro .mtpl-view-toggle { display:flex; gap:8px; }
.meeting-template-pro .mtpl-gallery {
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
	gap:16px;
	margin-top:12px;
}
.meeting-template-pro .mtpl-card {
	border:1px solid #e2e8f0;
	border-radius:14px;
	overflow:hidden;
	background:#fff;
	display:flex;
	flex-direction:column;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.meeting-template-pro .mtpl-card__preview { height:128px; background:#f8fafc; }
.meeting-template-pro .mtpl-card__preview img { width:100%; height:100%; object-fit:cover; display:block; }
.meeting-template-pro .mtpl-card__mock {
	height:100%;
	background:
		linear-gradient(135deg,var(--c1,#2563eb),var(--c2,#1d4ed8) 55%,var(--c3,#38bdf8));
	display:flex;align-items:flex-end;padding:12px;color:#fff;font-size:12px;font-weight:600;
}
.meeting-template-pro .mtpl-card__body { padding:14px 14px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.meeting-template-pro .mtpl-card__chips { display:flex; flex-wrap:wrap; gap:6px; }
.meeting-template-pro .mtpl-chip--family { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.meeting-template-pro .mtpl-card__title { font-size:15px; font-weight:700; color:#0f172a; margin:0; line-height:1.35; }
.meeting-template-pro .mtpl-card__variant { font-size:12px; color:#64748b; margin:0; }
.meeting-template-pro .mtpl-card__variant code { font-size:11px; color:#94a3b8; }
.meeting-template-pro .mtpl-card__desc { font-size:12px; color:#64748b; margin:0; min-height:34px; }
.meeting-template-pro .mtpl-card__tags { display:flex; flex-wrap:wrap; gap:4px; }
.meeting-template-pro .mtpl-tag {
	font-size:11px; padding:2px 8px; border-radius:999px; background:#f1f5f9; color:#475569;
}
.meeting-template-pro .mtpl-card__meta {
	display:flex; gap:12px; font-size:12px; color:#94a3b8; margin-top:auto;
}
.meeting-template-pro .mtpl-card__actions { display:flex; gap:8px; margin-top:8px; }
.meeting-template-pro .mtpl-gallery-empty { text-align:center; color:#94a3b8; padding:40px 0; }
.meeting-template-pro .mtpl-gallery-pager { margin-top:16px; text-align:center; }
.meeting-template-pro .mtpl-table-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }

.ms-tpl-picker {
	display:flex; align-items:center; gap:12px;
	border:1px solid #e2e8f0; border-radius:12px; padding:12px 14px; background:#f8fafc;
}
.ms-tpl-picker__swatch { width:40px; height:40px; border-radius:10px; flex-shrink:0; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }
.ms-tpl-picker__meta { flex:1; min-width:0; }
.ms-tpl-picker__meta strong { display:block; font-size:14px; color:#0f172a; }
.ms-tpl-picker__meta em { display:block; font-style:normal; font-size:12px; color:#64748b; margin-top:2px; }
.ms-tpl-gallery-layer { padding:16px 18px 20px; }
.ms-tpl-gallery-toolbar { display:flex; gap:10px; margin-bottom:14px; }
.ms-tpl-gallery-toolbar .layui-input { height:38px; }
.ms-tpl-gallery-grid {
	display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; max-height:52vh; overflow:auto;
}
.ms-tpl-gcard {
	text-align:left; border:1px solid #e2e8f0; border-radius:12px; padding:12px; background:#fff; cursor:pointer;
	display:flex; flex-direction:column; gap:4px;
}
.ms-tpl-gcard i { display:block; width:100%; height:8px; border-radius:999px; margin-bottom:4px; }
.ms-tpl-gcard strong { font-size:13px; color:#0f172a; }
.ms-tpl-gcard em,.ms-tpl-gcard span { font-style:normal; font-size:11px; color:#64748b; }
.ms-tpl-gcard.is-active,.ms-tpl-gcard:hover { border-color:#2563eb; box-shadow:0 0 0 1px #2563eb22; }

/* P-MT4 template design: module order + gallery thumb */
.meeting-template-design .mtd-mod-order { display:flex; flex-direction:column; gap:8px; }
.meeting-template-design .mtd-mod-order__item { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; cursor:grab; }
.meeting-template-design .mtd-mod-order__item.dragging { opacity:.55; }
.meeting-template-design .mtd-mod-order__item.drag-over { border-color:#2563eb; box-shadow:0 0 0 1px #2563eb33; }
.meeting-template-design .mtd-mod-order__drag { color:#94a3b8; font-size:14px; letter-spacing:1px; user-select:none; }
.meeting-template-design .mtd-mod-order__item em { flex:1; font-style:normal; font-size:13px; color:#0f172a; }
.meeting-template-design .mtd-mod-order__btns { display:flex; gap:4px; }
.ms-tpl-gcard__img { display:block; width:100%; height:72px; object-fit:cover; border-radius:8px; margin-bottom:6px; background:#e2e8f0; }

/* P-MT4+ effect preview layer */
.meeting-template-pro .mtpl-card__preview { position:relative; display:block; width:100%; height:128px; padding:0; border:0; background:#f8fafc; cursor:pointer; overflow:hidden; }
.meeting-template-pro .mtpl-card__preview-mask { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:6px; background:rgba(15,23,42,.48); color:#fff; font-size:13px; font-weight:600; opacity:0; transition:opacity .18s ease; }
.meeting-template-pro .mtpl-card__preview:hover .mtpl-card__preview-mask,
.meeting-template-pro .mtpl-card__preview:focus-visible .mtpl-card__preview-mask { opacity:1; }
.layui-layer.mtpl-fx-layer {
	border-radius:14px;
	overflow:visible;
	box-shadow:0 24px 64px rgba(0,0,0,.45);
}
.layui-layer.mtpl-fx-layer .layui-layer-content {
	overflow:hidden;
	padding:0!important;
	height:100%;
	border-radius:14px;
}
/* 关闭钮落在顶栏内侧，避免被 overflow / 视口裁切 */
.layui-layer.mtpl-fx-layer .layui-layer-setwin {
	top:12px;
	right:12px;
	z-index:30;
}
.layui-layer.mtpl-fx-layer .layui-layer-setwin a {
	width:28px;
	height:28px;
	margin-left:0;
	background-color:rgba(255,255,255,.16)!important;
	border-radius:50%;
	background-position:center!important;
}
.layui-layer.mtpl-fx-layer .layui-layer-setwin .layui-layer-close1 {
	background-position:center!important;
	filter:brightness(0) invert(1);
}
.layui-layer.mtpl-fx-layer .layui-layer-setwin a:hover {
	background-color:rgba(255,255,255,.28)!important;
}
.mtpl-fx-preview { display:flex; flex-direction:column; height:100%; min-height:640px; background:#0f172a; border-radius:14px; overflow:hidden; }
.mtpl-fx-preview__bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 52px 12px 16px; background:#111827; color:#e2e8f0; border-bottom:1px solid #1f2937; }
.mtpl-fx-preview__meta strong { display:block; font-size:14px; }
.mtpl-fx-preview__meta em { display:block; font-style:normal; font-size:12px; color:#94a3b8; margin-top:2px; }
.mtpl-fx-preview__tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mtpl-fx-preview__seg { display:inline-flex; background:#1f2937; border-radius:999px; padding:3px; gap:2px; }
.mtpl-fx-preview__seg button { border:0; background:transparent; color:#94a3b8; border-radius:999px; padding:6px 12px; font-size:12px; cursor:pointer; }
.mtpl-fx-preview__seg button.is-active { background:#2563eb; color:#fff; }
.mtpl-fx-preview__stage { flex:1; min-height:0; display:flex; align-items:stretch; justify-content:center; padding:12px; background:linear-gradient(180deg,#111827,#0b1220); }
.mtpl-fx-preview__stage--pc .mtpl-fx-preview__frame { width:100%; height:100%; border:0; border-radius:10px; background:#fff; }
.mtpl-fx-preview__stage--mobile { align-items:center; }
.mtpl-fx-preview__stage--mobile .mtpl-fx-preview__frame { width:min(390px,100%); height:100%; border:0; border-radius:24px; background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.35); }
.ms-tpl-gcard { position:relative; }
.ms-tpl-gcard__acts { display:flex; gap:6px; margin-top:8px; }
.ms-tpl-gcard__preview,.ms-tpl-gcard__pick { flex:1; border:1px solid #e2e8f0; background:#fff; border-radius:8px; padding:6px 8px; font-size:12px; cursor:pointer; color:#334155; }
.ms-tpl-gcard__pick { background:#2563eb; border-color:#2563eb; color:#fff; }
.ms-tpl-gcard__preview:hover { border-color:#2563eb; color:#2563eb; }
