* { box-sizing: border-box; margin: 0; padding: 0; }

[data-lucide] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

html,
html.ai-ref-page,
body,
html.ai-ref-page body {
	min-height: 100dvh;
	margin: 0;
	font-family: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
	background: #f1f5ff !important;
}

.page,
.page.ai-ref-page {
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	background: #f1f5ff;
}

/* 顶栏 — 白底 sticky */
.bd-head {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid #e8edff;
	padding-top: env(safe-area-inset-top, 0);
}

.bd-head .bar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 16px;
}

.bd-back {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #3b82f6;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

.bd-back:active { background: #f1f5ff; }

.bd-head .page-tit {
	font-size: 16px;
	font-weight: 700;
	color: #1a1d2f;
	letter-spacing: -0.01em;
}

/* 子 Tab */
.bd-subnav {
	display: flex;
	background: #fff;
	border-bottom: 1px solid rgba(229, 231, 235, 0.6);
}

.bd-subtab {
	flex: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 12px 12px 10px;
	border: none;
	background: none;
	font-family: inherit;
	cursor: pointer;
	color: #9ca3af;
	-webkit-tap-highlight-color: transparent;
}

.bd-subtab svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bd-subtab span {
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
}

.bd-subtab.active { color: #2e5bff; }

.bd-subtab.active::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	height: 2px;
	border-radius: 999px;
	background: #2e5bff;
}

.bd-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	padding-bottom: calc(24px + env(safe-area-inset-bottom, 0));
}

.bd-panel { display: none; }
.bd-panel.active { display: block; }

.bd-stack {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bd-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-card.pad { padding: 20px; }

.bd-card-title {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 14px;
}

/* 表单字段 */
.bd-field-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	margin-bottom: 8px;
}

.bd-field {
	position: relative;
	margin-bottom: 14px;
}

.bd-field:last-of-type { margin-bottom: 0; }

.bd-field input {
	width: 100%;
	height: 40px;
	padding: 0 14px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	color: #1a1d2f;
	background: #fff;
	font-family: inherit;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.bd-field input::placeholder { color: #c4c8d0; }

.bd-field input:focus {
	border-color: #5b8ff9;
	box-shadow: 0 0 0 3px rgba(91, 143, 249, 0.1);
}

.bd-select-wrap {
	position: relative;
	margin-bottom: 14px;
}

.bd-select-wrap select {
	width: 100%;
	height: 40px;
	padding: 0 36px 0 14px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	color: #1a1d2f;
	background: #fff;
	font-family: inherit;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.bd-select-wrap select:focus {
	border-color: #5b8ff9;
	box-shadow: 0 0 0 3px rgba(91, 143, 249, 0.1);
}

.bd-select-wrap .chev {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	stroke: #9ca3af;
	fill: none;
	stroke-width: 2;
	pointer-events: none;
}

/* 上传区 */
.bd-upload-zone {
	position: relative;
	display: block;
	border: 1.5px dashed #c7d2fe;
	border-radius: 12px;
	padding: 28px 16px;
	text-align: center;
	cursor: pointer;
	background: #f8faff;
	margin-bottom: 14px;
	-webkit-tap-highlight-color: transparent;
	transition: border-color 0.15s, background 0.15s;
}

.bd-upload-zone:active {
	border-color: #5b8ff9;
	background: #f1f5ff;
}

.bd-upload-zone input[type="file"] {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
}

.bd-upload-ico {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
}

.bd-upload-ico svg {
	width: 24px;
	height: 24px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bd-upload-zone .t1 {
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 6px;
}

.bd-upload-tags {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
}

.bd-upload-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: #9ca3af;
	background: #f1f5ff;
	padding: 2px 8px;
	border-radius: 999px;
}

.bd-upload-tag svg {
	width: 12px;
	height: 12px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-upload-zone .t2 {
	font-size: 11px;
	color: #c4c8d0;
	line-height: 1.5;
	margin-top: 8px;
}

.bd-file-name,
.ls-file-name {
	margin-top: 10px;
	font-size: 12px;
	color: #5b8ff9;
	font-weight: 500;
	word-break: break-all;
}

.bd-quota-tip {
	font-size: 11px;
	color: #9ca3af;
	text-align: center;
	margin: 4px 0 12px;
	line-height: 1.5;
}

/* 主按钮 / 描边按钮 */
.bd-primary-btn {
	width: 100%;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(90deg, #5b8ff9, #3b6fd9);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(59, 111, 217, 0.35);
	-webkit-tap-highlight-color: transparent;
	margin-bottom: 10px;
}

.bd-primary-btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	flex-shrink: 0;
}

.bd-primary-btn:active { opacity: 0.92; }
.bd-primary-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.bd-outline-btn {
	width: 100%;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #fff;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bd-outline-btn svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-outline-btn:active { background: #f9fafb; }

/* 示例报告头 */
.bd-sample-hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid #f3f4f6;
}

.bd-sample-hd strong {
	font-size: 13px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-sample-hd .tag {
	font-size: 10px;
	color: #9ca3af;
	background: #f1f5ff;
	padding: 2px 8px;
	border-radius: 999px;
}

/* 征信示例 — 信用环 + 指标 */
.bd-credit-sample .bd-credit-bd { padding: 16px; }

.bd-credit-top {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 16px;
}

.bd-credit-ring-wrap {
	flex-shrink: 0;
	text-align: center;
}

.bd-credit-ring {
	--pct: 87;
	position: relative;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: conic-gradient(#5b8ff9 calc(var(--pct) * 1%), #e8edff 0);
	display: flex;
	align-items: center;
	justify-content: center;
}

.bd-credit-ring::before {
	content: "";
	position: absolute;
	inset: 6px;
	border-radius: 50%;
	background: #fff;
}

.bd-credit-ring .score {
	position: relative;
	z-index: 1;
	font-size: 22px;
	font-weight: 700;
	color: #2e5bff;
	line-height: 1;
}

.bd-credit-ring-wrap .level {
	font-size: 11px;
	font-weight: 600;
	color: #10b981;
	margin-top: 6px;
}

.bd-credit-meters {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.bd-meter-top {
	display: flex;
	justify-content: space-between;
	font-size: 11px;
	color: #6b7280;
	margin-bottom: 4px;
}

.bd-meter-top .val {
	font-weight: 600;
	color: #1a1d2f;
}

.bd-meter-bar {
	height: 4px;
	border-radius: 999px;
	background: #e8edff;
	overflow: hidden;
}

.bd-meter-bar > div {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #5b8ff9, #3b6fd9);
}

.bd-cap-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.bd-cap-item {
	background: #f1f5ff;
	border-radius: 8px;
	padding: 10px 12px;
}

.bd-cap-item .lbl {
	font-size: 11px;
	color: #6b7280;
}

.bd-cap-item .val {
	font-size: 13px;
	font-weight: 600;
	color: #1a1d2f;
	margin-top: 4px;
}

.bd-cap-item.ok .val { color: #10b981; }
.bd-cap-item.warn .val { color: #f59e0b; }

/* 分析能力 */
.bd-sec-tit-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	padding: 0 2px;
}

.bd-sec-tit {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-feat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.bd-feat-card {
	background: #fff;
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-feat-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.bd-feat-ico {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-feat-ico svg {
	width: 18px;
	height: 18px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-feat-metric {
	font-size: 10px;
	color: #9ca3af;
	background: #f1f5ff;
	padding: 2px 6px;
	border-radius: 999px;
	white-space: nowrap;
}

.bd-feat-card h4 {
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-feat-card p {
	font-size: 11px;
	color: #6b7280;
	margin-top: 4px;
	line-height: 1.5;
}

/* 服务保障 */
.bd-service-card {
	background: #fff;
	border-radius: 16px;
	padding: 16px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-service-card h3 {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 12px;
}

.bd-svc-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bd-svc-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.bd-svc-ico {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-svc-ico svg {
	width: 18px;
	height: 18px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-svc-item strong {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-svc-item p {
	font-size: 11px;
	color: #6b7280;
	margin-top: 2px;
	line-height: 1.5;
}

/* 历史 / 样本 / 帮助面板 */
.bd-panel-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: none;
	background: none;
	color: #5b8ff9;
	font-size: 14px;
	font-family: inherit;
	cursor: pointer;
	margin-bottom: 12px;
	padding: 0;
}

.bd-sec-hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.bd-sec-hd strong {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-sec-hd a {
	font-size: 13px;
	color: #5b8ff9;
	font-weight: 600;
	text-decoration: none;
}

.bd-doc-card {
	background: #fff;
	border-radius: 16px;
	padding: 16px;
	margin-bottom: 12px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-doc-card h3 {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 12px;
}

.bd-steps {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bd-steps li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	color: #374151;
}

.bd-steps .num {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ebf1ff;
	color: #5b8ff9;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-faq dt {
	font-size: 13px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 4px;
}

.bd-faq dd {
	font-size: 12px;
	color: #6b7280;
	line-height: 1.55;
	margin-bottom: 12px;
}

.bd-warn {
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 12px;
	padding: 14px;
}

.bd-warn h3 {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #92400e;
	margin-bottom: 8px;
}

.bd-warn h3 svg {
	width: 16px;
	height: 16px;
	stroke: #d97706;
	fill: none;
	stroke-width: 2;
}

.bd-warn ul {
	padding-left: 18px;
	font-size: 12px;
	color: #78350f;
	line-height: 1.6;
}

.bd-sample-card {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border-radius: 16px;
	padding: 14px;
	margin-bottom: 10px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-sample-card .doc-ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-sample-card .doc-ico svg {
	width: 22px;
	height: 22px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-sample-card .mid { flex: 1; min-width: 0; }

.bd-sample-card .tit-row {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.bd-sample-card .tit-row strong {
	font-size: 13px;
	color: #1a1d2f;
}

.bd-tag-demo {
	font-size: 10px;
	padding: 2px 6px;
	border-radius: 4px;
	background: #fef3c7;
	color: #d97706;
	font-weight: 600;
}

.bd-sample-card .sub {
	font-size: 11px;
	color: #9ca3af;
	margin-top: 4px;
}

.bd-btn-view {
	flex-shrink: 0;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid #5b8ff9;
	background: #fff;
	color: #5b8ff9;
	font-size: 12px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
}

/* 历史列表 */
.bd-hist-row,
.ls-hist-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	background: #fff;
	border-radius: 12px;
	margin-bottom: 8px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	text-decoration: none;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}

.bd-hist-row:active,
.ls-hist-card:active { background: #f8faff; }

.bd-hist-row .user-ico,
.ls-hist-ico {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-hist-row .user-ico svg,
.ls-hist-ico svg {
	width: 18px;
	height: 18px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-hist-row .mid,
.ls-hist-mid { flex: 1; min-width: 0; }

.bd-hist-row .name,
.ls-hist-mid .tit {
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-hist-row .time,
.ls-hist-mid .time {
	font-size: 11px;
	color: #9ca3af;
	margin-top: 2px;
}

.ls-hist-right {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.ls-hist-right .status {
	font-size: 12px;
	font-weight: 600;
}

.ls-hist-right .status.done { color: #16a34a; }
.ls-hist-right .status.fail { color: #dc2626; }
.ls-hist-right .status.pending { color: #ea580c; }

.ls-hist-right .chev { color: #cbd5e1; }

.bd-empty,
.ls-login-tip {
	text-align: center;
	padding: 32px 16px;
	font-size: 13px;
	color: #9ca3af;
}

/* 上传格式标签 */
.bd-format-tags {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
}

.bd-format-tags span {
	font-size: 11px;
	color: #9ca3af;
	background: #f1f5ff;
	padding: 2px 8px;
	border-radius: 999px;
}

.bd-upload-hint {
	font-size: 11px;
	color: #c4c8d0;
	margin-top: 8px;
	line-height: 1.5;
}

/* 示例风险洞察 */
.bd-risk-bd { padding: 16px; }

.bd-risk-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
}

.bd-risk-row svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	stroke-width: 2.5;
	fill: none;
}

.bd-risk-row.ok svg { stroke: #10b981; }
.bd-risk-row.warn svg { stroke: #f59e0b; }

.bd-risk-row .lbl {
	flex: 1;
	font-size: 14px;
	color: #1a1d2f;
}

.bd-risk-row .val {
	font-size: 12px;
	font-weight: 500;
}

.bd-risk-row.ok .val { color: #10b981; }
.bd-risk-row.warn .val { color: #f59e0b; }

/* 分析能力 2x2 */
.bd-sec-tit {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
	margin-bottom: 12px;
	padding-left: 2px;
}

.bd-sec-hd-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	padding: 0 2px;
}

.bd-sec-hd-row h3 {
	font-size: 15px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-sec-hd-row .more {
	font-size: 12px;
	color: #5b8ff9;
	font-weight: 500;
	border: none;
	background: none;
	font-family: inherit;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 0;
}

.bd-sec-hd-row .more svg {
	width: 14px;
	height: 14px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-feat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.bd-feat {
	background: #fff;
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.bd-feat-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.bd-feat-ico {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #ebf1ff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bd-feat-ico svg {
	width: 18px;
	height: 18px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-feat-metric {
	font-size: 10px;
	color: #9ca3af;
	background: #f1f5ff;
	padding: 2px 6px;
	border-radius: 999px;
}

.bd-feat h4 {
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-feat p {
	font-size: 11px;
	color: #6b7280;
	margin-top: 4px;
	line-height: 1.5;
}

/* 渐变 Hero */
.bd-hero-card {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	padding: 20px;
	background: linear-gradient(135deg, #2a4a8c 0%, #3b6fd9 50%, #5b8ff9 100%);
}

.bd-hero-card::before,
.bd-hero-card::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.03);
	pointer-events: none;
}

.bd-hero-card::before {
	width: 144px;
	height: 144px;
	top: 0;
	right: 0;
	transform: translate(25%, -33%);
}

.bd-hero-card::after {
	width: 176px;
	height: 176px;
	bottom: 0;
	left: 0;
	transform: translate(-25%, 33%);
}

.bd-hero-inner { position: relative; z-index: 1; }

.bd-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 8px;
}

.bd-hero-badge svg {
	width: 16px;
	height: 16px;
	stroke: rgba(255, 255, 255, 0.7);
	fill: none;
	stroke-width: 2;
}

.bd-hero-card h2 {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 1.35;
}

.bd-hero-card .desc {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
	margin-top: 8px;
	line-height: 1.55;
}

.bd-hero-stats {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}

.bd-hero-stat {
	flex: 1;
	text-align: center;
}

.bd-hero-stat .val {
	font-size: 14px;
	font-weight: 700;
}

.bd-hero-stat .val.c-blue { color: #93bbff; }
.bd-hero-stat .val.c-purple { color: #c4b5fd; }
.bd-hero-stat .val.c-green { color: #6ee7b7; }
.bd-hero-stat .val.c-amber { color: #fcd34d; }

.bd-hero-stat .lbl {
	font-size: 9px;
	color: rgba(255, 255, 255, 0.4);
	margin-top: 2px;
}

.bd-hero-cta {
	width: 100%;
	height: 40px;
	margin-top: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(4px);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bd-hero-cta svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-hero-cta:active { background: rgba(255, 255, 255, 0.25); }

/* 手风琴 */
.bd-acc {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.bd-acc + .bd-acc { margin-top: 12px; }

.bd-acc-hd {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: none;
	background: none;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bd-acc-hd:active { background: rgba(249, 250, 251, 0.8); }

.bd-acc-ico {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bd-acc-ico.red { background: #fef2f2; }
.bd-acc-ico.red svg { stroke: #ef4444; }
.bd-acc-ico.green { background: #ecfdf5; }
.bd-acc-ico.green svg { stroke: #10b981; }

.bd-acc-ico svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke-width: 2;
}

.bd-acc-meta { flex: 1; min-width: 0; }

.bd-acc-meta strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-acc-meta span {
	display: block;
	font-size: 11px;
	color: #9ca3af;
	margin-top: 2px;
}

.bd-acc-chev {
	width: 20px;
	height: 20px;
	stroke: #d1d5db;
	fill: none;
	stroke-width: 2;
	flex-shrink: 0;
	transition: transform 0.2s;
}

.bd-acc.open .bd-acc-chev { transform: rotate(180deg); }

.bd-acc-bd {
	display: none;
	padding: 0 16px 16px;
}

.bd-acc.open .bd-acc-bd { display: block; }

.bd-acc-bd .divider {
	height: 1px;
	background: #f3f4f6;
	margin-bottom: 12px;
}

.bd-acc-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 0;
}

.bd-acc-item-ico {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: #f1f5ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.bd-acc-item-ico svg {
	width: 14px;
	height: 14px;
	stroke: #5b8ff9;
	fill: none;
	stroke-width: 2;
}

.bd-acc-item strong {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-acc-item span {
	display: block;
	font-size: 11px;
	color: #9ca3af;
	margin-top: 2px;
	line-height: 1.45;
}

/* 快捷操作 */
.bd-quick-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.bd-quick-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px;
	border: none;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	color: #374151;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bd-quick-btn .ico {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bd-quick-btn .ico.blue { background: #ebf1ff; }
.bd-quick-btn .ico.blue svg { stroke: #5b8ff9; }
.bd-quick-btn .ico.green { background: #ecfdf5; }
.bd-quick-btn .ico.green svg { stroke: #10b981; }

.bd-quick-btn .ico svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke-width: 2;
}

.bd-quick-btn:active { background: #f8faff; }

.ls-hist-right .status.gen { color: #16a34a; }

/* ── 大数据查询页 ── */
.bd-field--icon > [data-lucide] {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	line-height: 0;
	pointer-events: none;
}

.bd-field--icon svg {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	stroke: #c4c8d0;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

.bd-field--icon input {
	padding-left: 40px;
}

.bd-feat > .bd-feat-ico {
	margin-bottom: 10px;
}

.bd-agree {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding-top: 4px;
	margin-top: 14px;
}

.bd-check {
	margin-top: 2px;
	width: 16px;
	height: 16px;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #fff;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	font-family: inherit;
	-webkit-tap-highlight-color: transparent;
}

.bd-check.on {
	background: #5b8ff9;
	border-color: #5b8ff9;
}

.bd-check svg {
	width: 12px;
	height: 12px;
	stroke: #fff;
	fill: none;
	stroke-width: 2;
	display: none;
}

.bd-check.on svg { display: block; }

.bd-agree-text {
	font-size: 11px;
	color: #6b7280;
	line-height: 1.6;
}

.bd-agree-text a {
	color: #5b8ff9;
	text-decoration: none;
}

.bd-price {
	color: #f59e0b;
	font-weight: 600;
}

.bd-btn-row {
	display: flex;
	gap: 12px;
	margin-top: 4px;
}

.bd-query-btn {
	flex: 1;
	height: 44px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(90deg, #5b8ff9, #3b6fd9);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(59, 111, 217, 0.35);
	-webkit-tap-highlight-color: transparent;
}

.bd-query-btn:active { opacity: 0.92; }
.bd-query-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.bd-share-btn {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #9ca3af;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	font-family: inherit;
	-webkit-tap-highlight-color: transparent;
}

.bd-share-btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-share-btn:active { background: #f9fafb; }

.bd-coverage {
	padding: 16px;
	background: linear-gradient(135deg, #2a4a8c 0%, #3b6fd9 50%, #5b8ff9 100%);
	border-radius: 16px;
}

.bd-coverage .lbl {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 12px;
}

.bd-cov-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.bd-cov-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 8px 12px;
}

.bd-cov-item svg {
	width: 14px;
	height: 14px;
	stroke: #6ee7b7;
	fill: none;
	stroke-width: 2.5;
	flex-shrink: 0;
	margin-top: 2px;
}

.bd-cov-item strong {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: #fff;
}

.bd-cov-item span {
	display: block;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.4);
	margin-top: 2px;
	line-height: 1.35;
}

.bd-sample-bd { padding: 16px; }

.bd-sample-user {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.bd-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #5b8ff9, #3b6fd9);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	flex-shrink: 0;
}

.bd-sample-user .mid { flex: 1; min-width: 0; }

.bd-sample-user .name {
	font-size: 14px;
	font-weight: 600;
	color: #1a1d2f;
}

.bd-sample-user .time {
	font-size: 11px;
	color: #9ca3af;
	margin-top: 2px;
}

.bd-sample-score { text-align: right; flex-shrink: 0; }

.bd-sample-score .score {
	font-size: 18px;
	font-weight: 700;
	color: #f59e0b;
}

.bd-sample-score .level {
	font-size: 11px;
	font-weight: 500;
	color: #f59e0b;
}

.bd-sample-items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.bd-sample-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	background: #f1f5ff;
	border-radius: 8px;
	padding: 8px 12px;
}

.bd-sample-item svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	margin-top: 2px;
	stroke-width: 2.5;
	fill: none;
}

.bd-sample-item.ok svg { stroke: #10b981; }
.bd-sample-item.warn svg { stroke: #f59e0b; }

.bd-sample-item .lbl {
	font-size: 11px;
	color: #6b7280;
}

.bd-sample-item .val {
	font-size: 12px;
	font-weight: 500;
	margin-top: 2px;
}

.bd-sample-item.ok .val { color: #10b981; }
.bd-sample-item.warn .val { color: #f59e0b; }

.bd-hist-btn {
	width: 100%;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bd-hist-btn svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.bd-hist-btn:active { background: #f9fafb; }

.bd-hist-row .risk.low { color: #16a34a; }
.bd-hist-row .risk.mid { color: #ea580c; }
.bd-hist-row .risk.high { color: #dc2626; }

/* 支付弹窗 */
.dsj-pay-modal { display: none; position: fixed; inset: 0; z-index: 999; }
.dsj-pay-modal.show { display: block; }
.dsj-pay-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); }
.dsj-pay-box {
	position: relative;
	margin: 30vh 24px 0;
	background: #fff;
	border-radius: 16px;
	padding: 20px;
	text-align: center;
}

.dsj-pay-box h3 { font-size: 17px; margin-bottom: 8px; color: #1a1d2f; }
.dsj-pay-amt { font-size: 28px; font-weight: 700; color: #5b8ff9; margin: 8px 0; }
.dsj-pay-desc { font-size: 13px; color: #64748b; margin-bottom: 16px; }
.dsj-pay-actions { display: flex; gap: 10px; }

.dsj-pay-actions button {
	flex: 1;
	height: 42px;
	border-radius: 10px;
	border: none;
	font-size: 15px;
	font-family: inherit;
	cursor: pointer;
}

.dsj-pay-cancel { background: #f1f5f9; color: #334155; }
.dsj-pay-confirm { background: linear-gradient(90deg, #5b8ff9, #3b6fd9); color: #fff; }

.ai-ref-page .tabbar { display: none !important; }

/* 模块主题 Hero */
.bd-hero-card--flow {
	background: linear-gradient(135deg, #065f46 0%, #059669 50%, #34d399 100%);
}

.bd-hero-card--finance {
	background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 50%, #a78bfa 100%);
}

.bd-foot-note {
	text-align: center;
	font-size: 10px;
	color: #9ca3af;
	line-height: 1.55;
	padding: 4px 8px 0;
}
