/* 干货007 - 后台样式 v3.0 */
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  min-height:100vh;color:#e0e0e0;
  background:linear-gradient(135deg,rgba(15,12,41,1),rgba(48,43,99,0.95),rgba(36,36,62,0.9));
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
input,select,textarea,button{font-family:inherit;}

/* ─── 导航栏 ─── */
.nav{
  background:rgba(255,255,255,0.04);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding:14px 20px;display:flex;align-items:center;gap:20px;
}
.nav h2{font-size:18px;color:#fff;display:flex;align-items:center;gap:6px;}
.nav h2 span{background:linear-gradient(90deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.nav-links{display:flex;gap:8px;margin-left:auto;}
.nav-links a{
  font-size:13px;padding:6px 14px;border-radius:8px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);
  transition:all 0.2s;color:#bbb;
}
.nav-links a:hover{background:rgba(245,87,108,0.1);border-color:#f5576c;color:#f5576c;}

.container{max-width:960px;margin:0 auto;padding:20px;}

/* ─── 卡片 ─── */
.card{
  background:rgba(255,255,255,0.05);backdrop-filter:blur(12px);
  border-radius:12px;padding:18px;margin-bottom:16px;
  border:1px solid rgba(255,255,255,0.04);
}
.card h3{font-size:16px;color:#eee;margin-bottom:12px;}

/* ─── 登录页 ─── */
.login-box{
  background:rgba(255,255,255,0.05);backdrop-filter:blur(16px);
  border-radius:16px;padding:32px;width:360px;max-width:90vw;
  border:1px solid rgba(255,255,255,0.06);
}
.login-box h1{font-size:26px;text-align:center;margin-bottom:6px;
  background:linear-gradient(90deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.login-box .sub{text-align:center;color:#888;font-size:13px;margin-bottom:20px;}
.login-error{text-align:center;padding:8px;background:rgba(245,87,108,0.15);border-radius:8px;color:#f5576c;font-size:13px;margin-bottom:12px;}
.login-links{text-align:center;margin-top:16px;font-size:13px;display:flex;gap:12px;justify-content:center;}
.login-links a{color:#888;transition:color 0.2s;}
.login-links a:hover{color:#f5576c;}

/* ─── 表单 ─── */
.form-group{margin-bottom:12px;}
.form-group label{display:block;font-size:12px;color:#999;margin-bottom:4px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:9px 12px;border-radius:8px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);
  color:#e0e0e0;font-size:14px;outline:none;transition:border-color 0.2s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f5576c;}
.form-group select option{background:#2a2a3e;color:#e0e0e0;}

/* ─── 按钮 ─── */
.btn{
  display:inline-block;padding:9px 20px;border-radius:8px;border:none;
  background:linear-gradient(135deg,#f093fb,#f5576c);
  color:#fff;font-size:13px;cursor:pointer;transition:opacity 0.2s;
}
.btn:hover{opacity:0.85;}
.btn-sm{padding:5px 12px;font-size:12px;}
.btn-block{display:block;width:100%;text-align:center;}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.12);color:#ccc;}
.btn-danger{background:rgba(245,87,108,0.15);color:#f5576c;border:1px solid rgba(245,87,108,0.2);}
.btn-danger:hover{background:rgba(245,87,108,0.25);}

/* ─── 消息 ─── */
.msg{padding:10px;background:rgba(0,200,120,0.1);border:1px solid rgba(0,200,120,0.2);border-radius:8px;color:#00c878;font-size:13px;margin-bottom:12px;}
.msg-error{padding:10px;background:rgba(245,87,108,0.1);border:1px solid rgba(245,87,108,0.2);border-radius:8px;color:#f5576c;font-size:13px;margin-bottom:12px;}
.empty{text-align:center;padding:30px;color:#666;font-size:14px;}

/* ─── 表格 ─── */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;padding:8px 10px;color:#999;border-bottom:1px solid rgba(255,255,255,0.04);font-weight:500;}
td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,0.03);}
tr:hover{background:rgba(255,255,255,0.02);}

/* ─── Badge ─── */
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;}
.badge-article{background:rgba(100,100,255,0.15);color:#8888ff;}
.badge-video{background:rgba(245,87,108,0.15);color:#f5576c;}
.badge-document{background:rgba(255,165,0,0.15);color:#ffa500;}
.badge-image{background:rgba(0,200,120,0.15);color:#00c878;}
.badge-approved{background:rgba(0,200,120,0.12);color:#00c878;}
.badge-pending{background:rgba(255,165,0,0.12);color:#ffa500;}
.badge-rejected{background:rgba(245,87,108,0.12);color:#f5576c;}
.badge-admin{background:rgba(245,87,108,0.12);color:#f5576c;}
.badge-user{background:rgba(100,100,255,0.12);color:#8888ff;}

/* ─── 类型卡片（发布页） ─── */
.type-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
.type-card{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;padding:16px 10px;text-align:center;cursor:pointer;
  transition:all 0.3s;user-select:none;
}
.type-card:hover{border-color:rgba(245,87,108,0.3);background:rgba(245,87,108,0.05);}
.type-card.active{border-color:#f5576c;background:rgba(245,87,108,0.1);}
.card-icon{font-size:28px;display:block;margin-bottom:4px;}
.card-label{font-size:14px;color:#ddd;font-weight:500;}
.card-hint{font-size:11px;color:#666;margin-top:2px;}

/* ─── 上传区 ─── */
.upload-zone{
  border:2px dashed rgba(255,255,255,0.08);border-radius:12px;
  padding:24px;text-align:center;cursor:pointer;transition:all 0.3s;
}
.upload-zone:hover{border-color:#f5576c;background:rgba(245,87,108,0.03);}
.upload-zone .icon{font-size:32px;margin-bottom:6px;}
.upload-zone .txt{font-size:14px;color:#ccc;}
.upload-zone .hint{font-size:11px;color:#666;margin-top:4px;}
.attach-preview{padding:6px 10px;margin-top:6px;background:rgba(255,255,255,0.04);border-radius:6px;font-size:12px;color:#aaa;}

/* ─── 发布页标题 ─── */
.post-title-lg{font-size:18px;color:#eee;font-weight:600;margin-bottom:2px;}
.post-sub{font-size:12px;color:#888;margin-bottom:16px;}
.post-textarea{min-height:180px;resize:vertical;}
.content-hint{color:#666;font-size:11px;}
.back-link{display:inline-block;margin-top:16px;color:#888;font-size:13px;transition:color 0.2s;}
.back-link:hover{color:#f5576c;}

/* ─── 用户信息 ─── */
.user-info{display:flex;gap:14px;align-items:center;}
.user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;align-items:center;justify-content:center;font-size:18px;}
.user-avatar img{width:100%;height:100%;object-fit:cover;}
.user-name{font-size:16px;color:#eee;font-weight:500;}

/* ─── 背景网格 ─── */
.bg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
.bg-preview{background:rgba(255,255,255,0.03);border-radius:8px;overflow:hidden;padding:5px;text-align:center;border:1px solid rgba(255,255,255,0.04);}
.bg-preview img,.bg-preview video{width:100%;height:80px;object-fit:cover;border-radius:4px;}
.bg-preview .label{font-size:11px;color:#888;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ─── 热搜项 ─── */
.hot-item{display:flex;align-items:center;gap:10px;padding:8px;background:rgba(255,255,255,0.02);border-radius:8px;margin-bottom:6px;border:1px solid rgba(255,255,255,0.03);}
.hot-item .order{font-size:12px;color:#888;width:24px;text-align:center;}
.hot-item .keyword{flex:1;font-size:13px;color:#ddd;}
.hot-item .actions{display:flex;gap:4px;}
.hot-item .actions a{font-size:14px;cursor:pointer;}
.hot-item .actions .del{color:#888;transition:color 0.2s;}
.hot-item .actions .del:hover{color:#f5576c;}

/* ─── 分类标签（后台） ─── */
.cat-tags{display:flex;flex-wrap:wrap;gap:8px;}
.cat-tag{display:inline-block;padding:4px 14px;border-radius:20px;font-size:13px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:#aaa;text-decoration:none;transition:all 0.3s;}
.cat-tag:hover,.cat-tag.active{background:rgba(245,87,108,0.18);border-color:#f5576c;color:#f5576c;}
