:root {
	color-scheme: light;
	font:
		14px / 1.45 system-ui,
		"Microsoft YaHei",
		sans-serif;
	color: #25334b;
	background: #f3f5f9;
}
* {
	box-sizing: border-box;
}
[hidden] {
	display: none !important;
}
body {
	margin: 0;
}
.topbar {
	background: #fff;
	border-bottom: 1px solid #e3e8f0;
	padding: 10px max(20px, calc((100% - 1360px) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.brand {
	display: flex;
	align-items: center;
	gap: 8px;
}
.brand-logo {
	width: 40px;
	height: 40px;
	object-fit: contain;
	flex: 0 0 40px;
}
.brand strong {
	font-size: 17px;
	display: block;
}
.brand div > span,
.muted,
small {
	color: #68768a;
}
main {
	max-width: 1400px;
	padding: 16px 20px;
	margin: auto;
}
.intro,
.section-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
h1 {
	margin: 0;
	font-size: 23px;
	letter-spacing: 0.02em;
}
h2 {
	margin: 0;
	font-size: 17px;
}
h3 {
	font-size: 14px;
	margin: 14px 0 8px;
}
p {
	margin: 6px 0 10px;
}
.intro p,
.auth p,
.diagnostics > p {
	color: #68768a;
}
.panel {
	background: #fff;
	border: 1px solid #e1e6ef;
	border-radius: 10px;
	padding: 16px;
	margin: 8px 0;
	box-shadow: 0 3px 14px #24304c04;
}
.pill {
	border-radius: 20px;
	padding: 5px 12px;
	color: #6155b8;
	background: #f0edff;
	white-space: nowrap;
	font-size: 12px;
}
form,
.filters {
	display: flex;
	gap: 8px;
	align-items: flex-end;
	flex-wrap: wrap;
}
label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	min-width: 140px;
}
.grow {
	flex: 1;
	min-width: 200px;
}
input,
select,
button {
	font: inherit;
	border: 1px solid #d8dfeb;
	border-radius: 7px;
	min-height: 34px;
	padding: 5px 10px;
	color: inherit;
	background: #fff;
}
input,
select {
	width: 100%;
}
input:focus,
select:focus,
button:focus-visible,
summary:focus-visible {
	outline: 3px solid #ddd7ff;
	outline-offset: 2px;
	border-color: #7566d8;
}
button {
	cursor: pointer;
	white-space: nowrap;
	font-weight: 500;
}
button:hover {
	border-color: #8274df;
	background: #f8f6ff;
}
button.primary {
	background: #6254cc;
	color: #fff;
	border-color: #6254cc;
}
button:disabled {
	opacity: 0.5;
	cursor: default;
}
.notice {
	border-radius: 9px;
	padding: 8px 12px;
	background: #edf2fa;
	color: #52647b;
	overflow-wrap: anywhere;
}
.records:empty::after {
	content: "当前查询暂无此类申请";
	display: block;
	padding: 10px 0;
	color: #8994a4;
}
article {
	border: 1px solid #e3e8ef;
	border-radius: 10px;
	padding: 12px;
	margin: 8px 0;
	overflow-wrap: anywhere;
}
article strong {
	font-size: 15px;
}
article p {
	color: #748094;
	font-size: 13px;
	margin: 6px 0;
}
article button {
	margin: 6px 6px 0 0;
	font-size: 13px;
}
article .badge {
	margin-left: 12px;
	display: inline-block;
	border-radius: 5px;
	padding: 2px 8px;
	font-size: 12px;
	background: #f0edff;
	color: #6554be;
}
article[data-status="pending"] .badge {
	background: #fff3dc;
	color: #936018;
}
article[data-status="failed"] .badge,
article[data-status="uncertain"] .badge {
	background: #fff0ec;
	color: #a94c3b;
}
summary {
	cursor: pointer;
	font-weight: 600;
}
.history {
	margin: 12px 0;
	border-top: 1px solid #edf0f5;
	padding-top: 10px;
}
.diagnostics > summary {
	font-size: 16px;
}
.diagnostics > summary .muted {
	font-size: 12px;
	font-weight: 400;
	margin-left: 16px;
}
.logs {
	overflow-wrap: anywhere;
	font-size: 12px;
}
.logs p {
	border-bottom: 1px solid #edf0f5;
	padding-bottom: 12px;
}
footer {
	color: #8994a4;
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	margin-top: 16px;
	gap: 8px;
}
.admin-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
#user-summary > button { margin: 4px 6px 4px 0; }
.history > .panel { padding: 12px 0 0; border: 0; box-shadow: none; margin-bottom: 0; }
.session-actions { display:flex; align-items:center; gap:12px; }
.admin-tabs button[aria-pressed="true"] { background:#6254cc; color:#fff; border-color:#6254cc; }
.metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.metric { background:#fff; border:1px solid #e1e6ef; border-radius:12px; padding:12px; }
.metric span { display:block; color:#68768a; font-size:13px; }
.metric strong { display:block; margin-top:6px; font-size:22px; color:#3b326c; overflow-wrap:anywhere; }
.chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.chart-grid .panel { min-width:0; margin:8px 0 0; overflow:auto; }
#transfer-chart, #distribution-chart { max-height:320px; overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; margin:8px 0; }
th,td { text-align:left; padding:7px 8px; border-bottom:1px solid #edf0f5; overflow-wrap:anywhere; }
th { color:#68768a; font-weight:500; white-space:nowrap; }
.table-scroll { overflow:auto; }
.table-scroll table { min-width:900px; }
.spark-bars { display:flex; gap:3px; height:110px; align-items:flex-end; border-bottom:1px solid #e1e6ef; margin:12px 0 12px; }
.spark-bar { flex:1; min-width:2px; background:#8070db; border-radius:3px 3px 0 0; }
.spark-bar[data-unknown="true"] { background:#dce1eb; }
.spark-bar.downloads { background:#409eaa; }
.space-track { min-width:64px; height:6px; background:#eeeaf9; border-radius:3px; margin-top:6px; }
.space-fill { height:100%; background:#8070db; border-radius:3px; }
.workspace-detail { padding:10px 0; border-top:1px solid #edf0f5; }
@media(max-width:900px) { .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .chart-grid { grid-template-columns:1fr; } }
@media (max-width: 640px) {
	input, select, button { min-height: 40px; }
	main {
		padding: 16px 16px;
	}
	.topbar {
		padding: 10px 12px;
	}
	.topbar > .pill {
		display: none;
	}
	.panel {
		padding: 12px;
	}
	form > label,
	.filters > label {
		width: 100%;
	}
	.intro h1 {
		font-size: 24px;
	}
	footer {
		flex-direction: column;
	}
	.diagnostics > summary .muted {
		display: block;
		margin-left: 18px;
	}
}
