/* =========================================================================
   project.css — Baston(BS4) 之上的换皮适配层（Silva 业务基准）
   仅做视觉协调，不承载业务逻辑
   ========================================================================= */

/* ---------- 全局字体 ---------- */
body,
.navigation,
.header {
	font-family: 'Fira Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* ---------- 左侧导航：图标栏 + 二级面板（Baston 双栏），桌面常驻 ---------- */
@media (min-width: 992px) {
	.navigation { left: 0 !important; }
}

/* 品牌 LOGO + 平台名（左上角 sidebar 顶部，白底深色可见） */
.navigation-header { padding: 0 16px; }
.navigation-header .navigation-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	overflow: hidden;
	/* 收起态下让 40px 的 LOGO 居中于 90px 图标栏：16px(header) + 9px = 25px 边距 */
	padding-left: 9px;
}
/* 收起态（small-navigation）下同样让 LOGO 居中于 90px 图标栏，
   覆盖 app.min.css 强制的 25px 内边距 */
body.small-navigation:not(.horizontal-navigation) .navigation .navigation-header .navigation-logo {
	padding-left: 9px;
}
.navigation-header .brand-logo {
	flex: 0 0 auto;
	width: 40px; height: 40px;
	border-radius: 11px;
	background: linear-gradient(135deg, #556ee6, #7d8bff);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(85, 110, 230, .35);
}
.navigation-header .brand-logo svg { width: 24px; height: 24px; display: block; }
.navigation-header .sys-name {
	font-size: 19px;
	font-weight: 600;
	color: #2b2f38;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 子菜单箭头 */
.navigation .sub-menu-arrow {
	margin-left: auto;
	font-size: 10px;
	transition: transform .25s ease;
	display: inline-flex;
	align-items: center;
}
.navigation .sub-menu-arrow.rotate-in {
	transform: rotate(90deg);
}

/* ---------- 页头 ---------- */
.page-header .page-title { display: flex; align-items: center; justify-content: space-between; }
.breadcrumb { background: transparent; padding: 0; margin: 0; }

/* ---------- 卡片头 ---------- */
.card .card-header {
	background: transparent;
	border-bottom: 1px solid rgba(0, 0, 0, .06);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.5rem;
}
.card .card-header h4,
.card .card-header .card-title { margin: 0; font-size: 16px; font-weight: 600; }

/* ---------- 概览统计卡（Dashboard / 余额） ---------- */
.stat-card { color: #fff; border: none; }
.stat-card .stat-label { opacity: .85; font-size: 13px; margin-bottom: 6px; }
.stat-card .stat-value { font-size: 24px; font-weight: 600; line-height: 1.15; word-break: break-all; }
.stat-card .stat-icon {
	width: 48px; height: 48px; border-radius: 50%; flex: 0 0 48px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .2); font-size: 22px;
}
.stat-card.bg-gradient-primary { background: linear-gradient(135deg, #556ee6, #6f86ff); }
.stat-card.bg-gradient-danger  { background: linear-gradient(135deg, #f46a6a, #ff8f8f); }
.stat-card.bg-gradient-success { background: linear-gradient(135deg, #34c38f, #55d6a8); }
.stat-card.bg-gradient-purple  { background: linear-gradient(135deg, #7c5cff, #a08bff); }
.stat-card.bg-gradient-info    { background: linear-gradient(135deg, #50a5f1, #78bcff); }
.stat-card.bg-gradient-warning { background: linear-gradient(135deg, #f1b44c, #f6c977); }

/* 商户信息列表 */
.info-list { display: grid; grid-template-columns: 120px 1fr; row-gap: 14px; }
.info-list dt { color: #74788d; font-weight: 500; }
.info-list dd { margin: 0; color: #495057; word-break: break-all; }

/* ---------- 搜索区 ---------- */
.search-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-end;
	margin-bottom: 1rem;
}
.search-toolbar .field { display: flex; flex-direction: column; }
.search-toolbar .form-control,
.search-toolbar .custom-select { width: 170px; }
.search-toolbar label { margin: 0 0 4px; color: #74788d; font-weight: 500; font-size: 13px; }
.search-toolbar .actions { display: flex; gap: 8px; align-items: flex-end; }

/* ---------- 状态徽章：控制器返回 BS5 subtle 类，这里补齐（BS4 无） ---------- */
.badge { font-size: 12px; font-weight: 500; padding: .4em .65em; border-radius: 4px; }
.bg-primary-subtle   { background-color: #eaeefb !important; }
.bg-secondary-subtle { background-color: #eceef1 !important; }
.bg-success-subtle   { background-color: #e3f6ef !important; }
.bg-warning-subtle   { background-color: #fdf3e2 !important; }
.bg-danger-subtle    { background-color: #fdeaea !important; }
.bg-info-subtle      { background-color: #e8f3fd !important; }
.bg-dark-subtle      { background-color: #e2e3e5 !important; }
.text-primary   { color: #556ee6 !important; }
.text-secondary { color: #6c757d !important; }
.text-success   { color: #34c38f !important; }
.text-warning   { color: #f1b44c !important; }
.text-danger    { color: #f46a6a !important; }
.text-info      { color: #50a5f1 !important; }
/* BS5 text-bg-* 兜底 */
.text-bg-primary   { background-color: #556ee6 !important; color: #fff !important; }
.text-bg-secondary { background-color: #6c757d !important; color: #fff !important; }
.text-bg-success   { background-color: #34c38f !important; color: #fff !important; }
.text-bg-warning   { background-color: #f1b44c !important; color: #fff !important; }
.text-bg-danger    { background-color: #f46a6a !important; color: #fff !important; }
.text-bg-info      { background-color: #50a5f1 !important; color: #fff !important; }

/* ---------- 表格 ---------- */
.table thead th { background: #f8f9fb; border-bottom: 1px solid rgba(0,0,0,.06); font-weight: 600; color: #495057; white-space: nowrap; }
.table td { vertical-align: middle; }
.table tr.summary-total td { border-top: 2px solid rgba(0,0,0,.1); font-weight: 600; background: #f8f9fb; }
.scrollable-table { overflow-x: auto; overflow-y: hidden; }
/* 表格查询/翻页时的淡入淡出过渡：loading 为 true 时淡出，数据返回后淡入 */
.scrollable-table { transition: opacity .28s ease; }
.scrollable-table.is-loading { opacity: .35; }

/* ---------- 分页 ---------- */
.pagination { flex-wrap: wrap; }
.pagination .page-item.active .page-link { background: #556ee6; border-color: #556ee6; color: #fff; }
.pagination .page-link { color: #556ee6; cursor: pointer; }

/* ---------- 币种选择（提现申请） ---------- */
.currency-select {
	cursor: pointer;
	border: 1px solid #e5e7ec;
	background: #f8f9fb;
	color: #495057;
	border-radius: 6px;
	padding: 6px 14px;
	font-weight: 500;
}
.currency-select.currency-selected { background: #556ee6; color: #fff; border-color: #556ee6; }

/* ---------- 申请页：资金明细 / 说明 ---------- */
.fee-note { border: 1px solid rgba(0,0,0,.06); border-radius: 8px; overflow: hidden; }
.fee-note-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; }
.fee-note-row + .fee-note-row { border-top: 1px solid rgba(0,0,0,.06); }
.alert-soft {
	background: #eef1fd; color: #4b5675; border: 1px solid #dbe1fb;
	border-radius: 8px; padding: 12px 14px; font-size: 13px; line-height: 1.6;
}
/* 商户头像 */
.profile-avatar {
	width: 72px; height: 72px; margin: 8px auto 0;
	border-radius: 50%;
	background: linear-gradient(135deg, #556ee6, #7d8bff);
	color: #fff; font-size: 34px;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 16px rgba(85,110,230,.35);
}

/* ---------- 帮助文档 ---------- */
.doc-anchor { cursor: pointer; }
.doc-section { scroll-margin-top: 90px; }
/* 左侧目录常驻，不随内容滚动消失 */
.doc-toc {
	position: sticky;
	top: 100px;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
}
.doc-toc .nav-link { color: #495057; padding: 6px 10px; border-radius: 6px; }
.doc-toc .nav-link:hover { background: #f2f4f9; color: #556ee6; }

/* ---------- 少量 BS5 工具类兜底（Silva 习惯） ---------- */
.fw-semibold { font-weight: 600 !important; }
.fw-medium { font-weight: 500 !important; }
.fw-bold { font-weight: 700 !important; }
.fw-normal { font-weight: 400 !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-22 { font-size: 22px !important; }
.text-black { color: #212529 !important; }
.me-1 { margin-right: .25rem !important; }
.me-2 { margin-right: .5rem !important; }
.me-3 { margin-right: 1rem !important; }
.ms-1 { margin-left: .25rem !important; }
.ms-2 { margin-left: .5rem !important; }
.ms-3 { margin-left: 1rem !important; }
.pe-4 { padding-right: 1.5rem !important; }
.ps-0 { padding-left: 0 !important; }
.border-end { border-right: 1px solid rgba(0,0,0,.1) !important; }
.border-start { border-left: 1px solid rgba(0,0,0,.1) !important; }
.rounded-2 { border-radius: .5rem !important; }
.form-select {
	display: block; width: 100%; padding: .45rem 1.75rem .45rem .75rem;
	font-size: .875rem; line-height: 1.5; color: #495057;
	background-color: #fff; border: 1px solid #ced4da; border-radius: .25rem;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat; background-position: right .75rem center; background-size: 12px;
}

/* ---------- 响应式 ---------- */
@media (max-width: 767.98px) {
	.search-toolbar .form-control,
	.search-toolbar .custom-select { width: 100%; }
	.search-toolbar .actions { margin-left: 0; width: 100%; }
	.info-list { grid-template-columns: 100px 1fr; }
}
