.full-width-table td:not(:last-child) {
	border-right: 1px solid #fff;
}

/* 全局样式 - 禁用浏览器默认滚动条 */
html {
	overflow: hidden !important;
	height: 100%;
}

body {
	overflow: hidden !important;
	height: 100%;
	margin: 0;
	padding: 0;
}

/* 工具中心样式 */
.tools-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(15px, 3vw, 24px);
	padding: clamp(15px, 3vh, 24px) clamp(20px, 5vw, 40px);
	min-height: calc(100vh - 278px - 46px);
	height: calc(100vh - 278px - 46px);
	box-sizing: border-box;
	overflow: hidden;
}
.hero {
	flex: 1 1 60%;
	display: flex;
	gap: clamp(15px, 3vw, 24px);
	align-items: center;
}
.logos {
	display: flex;
	gap: clamp(10px, 2vw, 18px);
	align-items: center;
}
.logo-img {
	width: clamp(80px, 12vw, 120px);
	height: clamp(80px, 12vw, 120px);
	object-fit: contain;
}
.logo-img.round {
	border-radius: 50%;
}
.hero-text .subtitle {
	font-size: clamp(16px, 2.5vw, 20px);
	margin: 0 0 0px 0;
	color: #111;
}
.hero-title {
	font-size: clamp(32px, 5vw, 48px);
	margin: 0;
	font-weight: 800;
}
.tools-panel {
	width: clamp(300px, 40vw, 480px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: clamp(15px, 3vw, 28px);
	justify-items: center;
	align-items: center;
}
.tool-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(150px, 22vw, 240px);
	height: clamp(80px, 12vh, 120px);
	background: #d9d9d9;
	color: #000;
	text-decoration: none;
	font-size: clamp(20px, 3.5vw, 32px);
	border: 3px solid #16333a;
	border-radius: 24px;
	transition: transform .12s ease, background .12s ease;
	box-sizing: border-box;
}
.tool-button:hover {
	transform: translateY(-6px);
	background: #524e4e;
}

@media (max-width: 900px) {
	.tools-container { flex-direction: column; padding: 24px; gap: 24px; height: auto; min-height: auto; }
	.hero { flex-direction: row; align-items: center; }
	.tools-panel { width: 100%; grid-template-columns: 1fr 1fr; }
	.tool-button { width: 45vw; font-size: 22px; height: 100px; }
	.hero-title { font-size: 28px; }
}

/* 内嵌工具视图样式 */
.hidden { display: none !important; }
.tools-view { padding: 20px 40px; box-sizing: border-box; }
.tools-view-inner { max-width: 1100px; margin: 0 auto; }
.back-btn {
	display: inline-block;
	margin-bottom: 18px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
	cursor: pointer;
}
.tool-content { display: none; background: #9abef7; padding: 18px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
.tool-content.active { display: block; }
.action-btn { padding: 10px 14px; margin-top: 8px; background:#E40114;color:#fff;border:none;border-radius:6px;cursor:pointer }
.result { margin-top:12px; font-size:18px; color:#16333a }
.roll-area input { width: 100%; min-height: 72px; box-sizing: border-box; padding:8px; }

/* 优秀学生页面样式 */
.students-layout {
	display: flex;
	gap: 24px;
	padding: 20px;
	box-sizing: border-box;
	background: #f0f0f0;
	border: 2px solid #16333a;
}
.students-left {
	flex: 0 0 20%;
}
.students-right {
	flex: 1 1 80%;
	overflow-y: auto;
	height: calc(100vh - 230px - 46px - 40px);
	padding: 16px;
	background: #fff;
	border: 2px solid #16333a;
}
.categories {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: sticky;
	top: 260px;
	background: #f0f0f0;
	padding: 8px;
	border-radius: 6px;
}
.category-btn {
	padding: 10px 14px;
	border: 2px solid #E40114;
	background: #fff;
	color: #000;
	text-align: center;
	font-size: 18px;
	cursor: pointer;
	border-radius: 6px;
}
.category-btn:hover { background: #ffe5e5; }
.category-btn.active {
	background: #E40114;
	color: #fff;
	border-color: #E40114;
	font-weight:700;
}

.student-section { padding: 12px 0 32px 0; }
.placeholder { text-align: center; color: #888; font-size: 28px; margin: 40px 0; }

.section-title { margin: 0 0 12px 0; font-size: 22px; color: #16333a }
.students-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 16px; }
.student-card { background: #fff; padding: 12px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.stu-photo { width: 100%; height: 160px; object-fit: cover; border-radius: 6px; }
.stu-name { margin: 8px 0 4px 0; font-size: 18px; }
.stu-reason { margin:0; color:#555; font-size:14px }

/* 当视图较窄时调整 */
@media (max-width: 900px) {
	.students-layout { flex-direction: column; }
	.students-left { flex: none; width: 100%; }
	.students-right { height: auto; max-height: none; }
	.categories { flex-direction: row; overflow:auto; position: static; gap:8px; }
	.category-btn { white-space:nowrap }
}

/* 全屏适配优化 */
.students-layout {
	height: calc(100vh - 278px - 46px);
	overflow: hidden;
}

.students-right {
	height: calc(100vh - 278px - 46px);
	max-height: calc(100vh - 278px - 46px);
	overflow-y: auto;
}

.student-section {
	padding: clamp(8px, 1.5vh, 12px) 0 clamp(20px, 3vh, 32px) 0;
}

.section-title {
	margin: 0 0 clamp(8px, 1.5vh, 12px) 0;
	font-size: clamp(18px, 3vw, 22px);
	color: #16333a;
}

.students-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(clamp(180px, 25vw, 220px), 1fr));
	gap: clamp(10px, 2vw, 16px);
}

.student-card {
	background: #fff;
	padding: clamp(8px, 1.5vw, 12px);
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.stu-photo {
	width: 100%;
	height: clamp(120px, 18vh, 160px);
	object-fit: cover;
	border-radius: 6px;
}

.stu-name {
	margin: clamp(5px, 1vh, 8px) 0 4px 0;
	font-size: clamp(16px, 2.5vw, 18px);
}

.stu-reason {
	margin: 0;
	color: #555;
	font-size: clamp(12px, 1.5vw, 14px);
}

.categories {
	top: clamp(240px, 35vh, 260px);
}

.category-btn {
	padding: clamp(8px, 1.5vh, 10px) clamp(10px, 2vw, 14px);
	font-size: clamp(16px, 2.5vw, 18px);
}

.footer-title-center {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 46px;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	z-index: 10000;
}
.footer-title-center h6 {
	color: #fff;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: normal;
	background: none;
	border-radius: 0;
	pointer-events: auto;
}
.nav-bg {
	background: #E40114 !important;
}
.nav-link {
	color: #fff !important;
	display: block;
	padding: 12px 0;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.nav-link:hover {
	background: #b3000f;
	color: #fff;
}
.nav-link.active {
	background: #fff;
	color: #E40114 !important;
	font-weight: bold;
	border-radius: 4px;
}

.full-width-table {
	width: 100vw !important;
	min-width: 100vw;
	max-width: 100vw;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
    height: 48px;
}
.full-width-table td, .full-width-table th {
    width: auto;
    text-align: center;
    vertical-align: middle;
    height: 48px;
}

.fixed-bottom-img {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 46px;
	object-fit: cover;
	z-index: 9999;
}

body {
	padding-bottom: 46px;
}

.fixed-top-img {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	z-index: 1000;
	display: block;
	background-color: #ffffff;
}

/* 响应式封面高度调整 */
.nav-fixed {
	position: fixed;
	top: 230px;
	left: 0;
	width: 100vw;
	z-index: 1001;
	transition: top 0.3s ease;
	background: #E40114 !important;
}

body {
	padding-top: 278px;
	transition: padding-top 0.3s ease;
}

/* 小屏幕优化 */
@media (max-width: 768px) {
	body {
		padding-top: calc(230px * 0.8 + 48px);
	}
	
	.nav-fixed {
		top: calc(230px * 0.8);
	}
}

@media (max-width: 480px) {
	body {
		padding-top: calc(230px * 0.6 + 48px);
	}
	
	.nav-fixed {
		top: calc(230px * 0.6);
	}
}

/* 横屏模式优化 */
@media (max-height: 600px) and (orientation: landscape) {
	.fixed-top-img {
		max-height: 120px;
	}
}
