/* ==========================================================
 * 教师工作台 · 工作台页面样式
 * ========================================================== */

:root {
	--twb-primary: #e43030;
	--twb-primary-dark: #c02727;
	--twb-primary-light: #fdeeee;
	--twb-text: #1f2328;
	--twb-text-sub: #5b6470;
	--twb-text-hint: #9aa3ae;
	--twb-border: #dfe4ea;
	--twb-bg: #f6f6f7;
	--twb-card: #fff;
	--twb-error: #c0392b;
	--twb-warn: #b8860b;
	--twb-ok: #1e8e5a;
	--twb-radius: 10px;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
	background: var(--twb-bg);
	color: var(--twb-text);
	line-height: 1.6;
}

.twb-app {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* ── 顶栏 ─────────────────────────────────────────── */
.twb-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 58px;
	padding: 0 22px;
	background: #fff;
	border-bottom: 1px solid var(--twb-border);
	position: sticky;
	top: 0;
	z-index: 100;
}

.twb-topbar__left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.twb-topbar__logo {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.twb-topbar__name {
	font-size: 16px;
	font-weight: 600;
	color: var(--twb-text);
}

.twb-topbar__right {
	display: flex;
	align-items: center;
	gap: 14px;
}

.twb-topbar__user {
	font-size: 14px;
	color: var(--twb-text-sub);
}

/* ── 主体 ─────────────────────────────────────────── */
.twb-main {
	flex: 1;
	padding: 24px;
	max-width: 1280px;
	margin: 0 auto;
	width: 100%;
}

/* ── 统计卡 ───────────────────────────────────────── */
.twb-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.twb-cardstat {
	background: var(--twb-card);
	border: 1px solid var(--twb-border);
	border-radius: var(--twb-radius);
	padding: 18px 20px;
}

.twb-cardstat__num {
	font-size: 28px;
	font-weight: 600;
	color: var(--twb-primary);
	line-height: 1.2;
}

.twb-cardstat__label {
	margin-top: 4px;
	font-size: 13px;
	color: var(--twb-text-sub);
}

/* ── 占位区 ───────────────────────────────────────── */
.twb-placeholder {
	background: var(--twb-card);
	border: 1px solid var(--twb-border);
	border-radius: var(--twb-radius);
	padding: 32px 28px;
}

.twb-placeholder h2 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 600;
	color: var(--twb-primary);
}

.twb-placeholder p {
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--twb-text-sub);
}

@media (max-width: 640px) {
	.twb-main {
		padding: 16px;
	}

	.twb-topbar {
		padding: 0 14px;
	}

	.twb-topbar__name {
		font-size: 15px;
	}
}
