/* 学生作品 · 公开展厅 / 分享页专用样式（免登录页面，不依赖 sp.css 的通用件） */

.sp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sp-table th {
  text-align: left; font-weight: 600; color: #6b7280; width: 96px;
  padding: 7px 10px 7px 0; vertical-align: top; white-space: nowrap;
}
.sp-table td { padding: 7px 0; color: #1f2937; }
.sp-table tr + tr th, .sp-table tr + tr td { border-top: 1px solid #f1f2f5; }

.sp-muted { color: #6b7280; font-size: 13.5px; }

.sp-filelist { list-style: none; padding: 0; margin: 0; }
.sp-filelist li {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; border-bottom: 1px solid #f1f2f5; font-size: 14px;
}
.sp-filelist li:last-child { border-bottom: 0; }
.sp-filelist a { color: #9c2b22; text-decoration: none; }
.sp-filelist a:hover { text-decoration: underline; }

/* 展厅卡片墙 */
.sp-grid3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 16px; }
.sp-pubcard {
  display: block; text-decoration: none; color: inherit; position: relative;
  margin-bottom: 0; transition: box-shadow .18s, transform .18s;
}
.sp-pubcard:hover { box-shadow: 0 8px 22px rgba(20, 24, 32, .09); transform: translateY(-2px); }
.sp-pubcard .code { font-size: 12px; color: #9c2b22; font-weight: 600; letter-spacing: .3px; }
.sp-pubcard h3 { font-size: 16.5px; margin: 6px 0 8px; line-height: 1.42; }
.sp-pubcard .meta { font-size: 12.5px; color: #6b7280; }
.sp-pubcard .sum { font-size: 13px; color: #4b5563; margin: 9px 0 0; line-height: 1.62; }
.sp-pubcard .badge {
  position: absolute; top: 14px; right: 14px;
  font-size: 11px; padding: 2px 8px; border-radius: 999px;
  background: #f3f4f6; color: #6b7280;
}
.sp-pubcard .badge.ok { background: #ecfdf5; color: #047857; }
