/* 用户前台专用样式（补充在 admin.css 之后） */
.user-layout .sidebar-brand{background:var(--primary)}
.user-sidebar .sidebar-nav a.active{background:var(--primary-light)}
.user-content-header{
  background:#fff;padding:16px 24px;border-radius:8px;
  box-shadow:var(--shadow);margin-bottom:20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.user-content-header .info h1{font-size:18px;font-weight:600;margin-bottom:2px}
.user-content-header .info .meta{font-size:13px;color:var(--text-light)}
.user-content-header .info .meta strong{color:var(--primary)}

/* 用户卡片（产品码概览） */
.code-card{
  background:#fff;border-radius:8px;box-shadow:var(--shadow);
  padding:20px;margin-bottom:16px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.code-card .code-info{flex:1;min-width:200px}
.code-card .code-name{font-size:16px;font-weight:600;margin-bottom:4px}
.code-card .code-meta{font-size:13px;color:var(--text-light);display:flex;gap:12px;flex-wrap:wrap}
.code-card .code-url{font-size:12px;color:var(--primary-dark);background:#fff7ed;padding:6px 10px;border-radius:4px;word-break:break-all;margin-top:6px}
.code-card .code-actions{display:flex;gap:8px;flex-wrap:wrap}

/* 图片上传组件 */
.upload-box{
  border:2px dashed var(--border);border-radius:8px;
  padding:20px;text-align:center;cursor:pointer;
  transition:all .2s;background:#fafbfc;
}
.upload-box:hover{border-color:var(--primary);background:#fff7ed}
.upload-box .upload-icon{font-size:32px;color:var(--text-light);margin-bottom:8px}
.upload-box .upload-text{font-size:13px;color:var(--text-light)}
.upload-box .upload-text strong{color:var(--primary)}

/* 图片列表（已上传） */
.image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:10px}
.image-list .img-item{
  position:relative;border:1px solid var(--border);border-radius:6px;
  overflow:hidden;background:#f9fafb;aspect-ratio:1;
}
.image-list .img-item img{width:100%;height:100%;object-fit:cover}
.image-list .img-item .del{
  position:absolute;top:4px;right:4px;
  background:rgba(220,38,38,.9);color:#fff;
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;cursor:pointer;border:none;
}
.image-list .img-item .del:hover{background:var(--danger)}

/* 上传中状态 */
.upload-progress{
  display:none;padding:8px;background:#f0f9ff;border-radius:4px;
  color:#075985;font-size:13px;margin-top:8px;
}
.upload-progress.show{display:block}

/* 模板选择卡片 */
.tpl-card{
  background:#fff;border:2px solid var(--border);border-radius:8px;
  overflow:hidden;cursor:pointer;transition:border-color .2s;position:relative;
}
.tpl-card:hover{border-color:var(--primary-light)}
.tpl-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(194,65,12,.1)}
.tpl-card img{width:100%;height:160px;object-fit:cover;background:#f3f4f6}
.tpl-card .body{padding:12px}
.tpl-card .name{font-weight:600;font-size:14px;margin-bottom:4px}
.tpl-card .desc{font-size:12px;color:var(--text-light)}

/* 数据小卡片 */
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.mini-stat{
  background:#fff;padding:16px;border-radius:8px;box-shadow:var(--shadow);
  text-align:center;
}
.mini-stat .num{font-size:24px;font-weight:700;color:var(--primary);line-height:1.2}
.mini-stat .label{font-size:12px;color:var(--text-light);margin-top:4px}

/* 响应式 */
@media (max-width:768px){
  .code-card{flex-direction:column;align-items:stretch}
  .code-card .code-actions{justify-content:center}
  .user-content-header{flex-direction:column;align-items:stretch}
}

/* 用户登录页面 */
.login-page{background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-box{background:#fff;border-radius:12px;max-width:380px;width:100%;padding:32px 28px;box-shadow:0 10px 40px rgba(0,0,0,.15)}
.login-box h1{font-size:20px;font-weight:700;text-align:center;margin-bottom:4px;color:#1f2937}
.login-box .subtitle{text-align:center;font-size:13px;color:#6b7280;margin-bottom:24px}

/* 用户过期页面 */
.expired-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.expired-box{background:#fff;border-radius:12px;max-width:420px;width:100%;padding:40px 28px;box-shadow:0 10px 40px rgba(0,0,0,.15);text-align:center}
.expired-box .icon{font-size:64px;margin-bottom:16px}
.expired-box h1{font-size:20px;color:#1f2937;margin-bottom:12px}
.expired-box p{color:#6b7280;font-size:14px;line-height:1.6}
.expired-box .info{background:#f9fafb;border-radius:8px;padding:16px;margin:20px 0;font-size:13px;color:#4b5563;text-align:left}
.expired-box .info div{margin-bottom:6px}
.expired-box .info div:last-child{margin-bottom:0}
