
* { margin: 0; padding: 0; box-sizing: border-box; font-family: "Microsoft YaHei", sans-serif; }
body { background-color: #f5f5f5; padding: 20px; }
.container { max-width: 1200px; margin: 0 auto; background-color: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
h1 { color: #333; margin-bottom: 20px; text-align: center; }

/* 顶部提示框 / 口令输入 */
.code-input { margin-bottom: 20px; padding: 15px; background-color: #f8f9fa; border-radius: 4px; text-align: center; }
.code-input input { padding: 8px 12px; width: 300px; border: 1px solid #ddd; border-radius: 4px; margin-right: 10px; }
.code-input button { padding: 8px 16px; background-color: #0ea5e9; color: white; border: none; border-radius: 4px; cursor: pointer; }

/* 按钮 */
.btn { background: #172036; color: #fff; border: 1px solid #334155; border-radius: 8px; padding: 8px 12px; cursor: pointer; }
.btn.primary { background: #0ea5e9; border-color: #0ea5e9; }

/* 导航 */
.nav { margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.nav-item { display: inline-block; padding: 8px 16px; margin-right: 10px; color: #333; text-decoration: none; border-radius: 4px; }
.nav-item.active { background-color: #0ea5e9; color: white; }
.logout-btn { float: right; padding: 8px 16px; background-color: #ef4444; color: white; border: none; border-radius: 4px; cursor: pointer; }

/* 进度条 */
.progress-bar { height: 8px; background-color: #eee; border-radius: 4px; margin-bottom: 20px; overflow: hidden; position: relative; }
.progress { height: 100%; background-color: #0ea5e9; transition: width 0.3s; }
.progress-text { position: absolute; left: 50%; transform: translateX(-50%); color: #333; font-size: 12px; }

/* 上传区域 */
.upload-area { border: 2px dashed #ccc; border-radius: 8px; padding: 50px; text-align: center; margin-bottom: 20px; cursor: pointer; transition: border-color 0.3s; }
.upload-area:hover { border-color: #0ea5e9; }
.upload-area button { padding: 10px 20px; background-color: #0ea5e9; color: white; border: none; border-radius: 4px; cursor: pointer; margin-bottom: 10px; }
.upload-area p { color: #666; margin-bottom: 10px; }

/* 文件列表 */
.file-list { margin-bottom: 30px; }
.file-list h2 { color: #333; margin-bottom: 10px; }
.file-list table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.file-list th, .file-list td { padding: 10px; border: 1px solid #ddd; text-align: left; }
.file-list th { background-color: #f8f9fa; }
.file-list a { color: #0ea5e9; text-decoration: none; }
.file-list a.del, .gallery-item-info a.del { color: #ef4444; }

/* 图库 */
.gallery-list { margin-bottom: 30px; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; margin-top: 10px; }
.gallery-item { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; transition: box-shadow 0.3s; }
.gallery-item:hover { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
.gallery-item img { width: 100%; height: 150px; object-fit: cover; }
.gallery-item-info { padding: 10px; background-color: #f8f9fa; }
.gallery-item-info span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 5px; }
.gallery-item-info a { margin-right: 10px; font-size: 12px; color: #0ea5e9; text-decoration: none; }

/* 管理区 */
.admin.admin-actions { margin-bottom: 30px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; }
.action-buttons button { padding: 10px 20px; margin-right: 10px; margin-top: 10px; background-color: #ef4444; color: white; border: none; border-radius: 4px; cursor: pointer; }
.action-buttons button:hover { background-color: #dc2626; }

/* 响应式 */
@media (max-width: 768px) {
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .code-input input { width: 200px; }
  .nav-item { display: block; margin-bottom: 5px; }
  .logout-btn { float: none; margin-top: 10px; display: block; width: 100%; }
}