/* ============================================
   服装批发订货系统 - 全局样式
   ============================================ */

:root {
  /* 品牌色 */
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #dbeafe;
  --danger: #ef4444;
  --danger-light: #fee2e2;
  --success: #22c55e;
  --success-light: #dcfce7;
  --warning: #f59e0b;
  --warning-light: #fef3c7;
  --info: #06b6d4;
  --info-light: #cffafe;

  /* 中性色 */
  --bg: #f8fafc;
  --bg-dark: #1e293b;
  --surface: #ffffff;
  --border: #e2e8f0;
  --text: #1e293b;
  --text-secondary: #64748b;
  --text-light: #94a3b8;

  /* 尺寸 */
  --radius: 8px;
  --radius-lg: 12px;
  --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
}

/* ============================================
   通用组件
   ============================================ */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border: none;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); }
.btn-secondary { background: var(--border); color: var(--text-secondary); }
.btn-secondary:hover { background: #cbd5e1; }
.btn-danger { background: var(--danger); color: #fff; }
.btn-success { background: var(--success); color: #fff; }
.btn-outline { background: transparent; border: 1px solid var(--border); color: var(--text-secondary); }
.btn-outline:hover { border-color: var(--primary); color: var(--primary); }
.btn-sm { padding: 6px 12px; font-size: 12px; }
.btn-block { width: 100%; margin-top: 12px; }

.price { color: var(--danger); font-weight: 600; }

.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.badge-pending { background: var(--warning-light); color: #92400e; }
.badge-confirmed { background: var(--info-light); color: #0e7490; }
.badge-production { background: var(--primary-light); color: var(--primary-dark); }
.badge-shipping { background: #e0e7ff; color: #4338ca; }
.badge-delivered { background: var(--success-light); color: #166534; }
.badge-cancelled { background: var(--danger-light); color: #991b1b; }

/* ============================================
   顶部导航
   ============================================ */

.header {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 700; }
.logo-icon { font-size: 24px; }

.cart-badge {
  position: relative;
  cursor: pointer;
  font-size: 24px;
  padding: 8px;
  border-radius: var(--radius);
  transition: background 0.2s;
}
.cart-badge:hover { background: var(--bg); }
.badge-count {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--danger);
  color: #fff;
  font-size: 12px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

/* ============================================
   筛选栏
   ============================================ */

.filter-bar {
  max-width: 1200px;
  margin: 16px auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.search-input {
  width: 100%;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.search-input:focus { border-color: var(--primary); }
.category-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.cat-btn {
  padding: 6px 16px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 20px;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}
.cat-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }

/* ============================================
   商品卡片网格
   ============================================ */

.product-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 40px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.loading { grid-column: 1 / -1; text-align: center; padding: 40px; color: var(--text-light); }

.product-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.product-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.product-card-image {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, #f0f4ff 0%, #e0e7ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
}
.product-card-info { padding: 12px; }
.product-card-name { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
.product-card-desc { font-size: 12px; color: var(--text-secondary); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.product-card-footer { display: flex; justify-content: space-between; align-items: center; }
.product-card-price { color: var(--danger); font-weight: 700; font-size: 16px; }
.product-card-sku-count { font-size: 12px; color: var(--text-light); }

/* ============================================
   弹窗 Modal
   ============================================ */

.modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.modal {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 24px;
  max-width: 600px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
}
.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--text-light);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-close:hover { background: var(--bg); }
.modal h2 { margin-bottom: 16px; }

/* 商品详情弹窗 */
.product-detail-header { margin-bottom: 16px; }
.product-detail-name { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.product-detail-desc { color: var(--text-secondary); margin-bottom: 12px; }

.sku-table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.sku-table th, .sku-table td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--border); }
.sku-table th { background: var(--bg); font-weight: 600; font-size: 13px; color: var(--text-secondary); }
.qty-input {
  width: 60px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  text-align: center;
}
.stock-tag { font-size: 12px; color: var(--text-light); }

/* 购物车 */
.cart-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.cart-item-info { flex: 1; }
.cart-item-name { font-weight: 500; }
.cart-item-sku { font-size: 12px; color: var(--text-secondary); }
.cart-item-qty { display: flex; align-items: center; gap: 8px; }
.cart-item-subtotal { font-weight: 600; min-width: 80px; text-align: right; }
.cart-summary { margin-top: 16px; padding-top: 16px; border-top: 2px solid var(--border); }
.cart-total { display: flex; justify-content: space-between; font-size: 16px; }
.cart-actions { display: flex; gap: 12px; margin-top: 16px; }

/* 下单弹窗 */
.checkout-items { margin: 16px 0; }
.checkout-item { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; }
.checkout-total { text-align: right; font-size: 18px; padding: 12px 0; border-top: 1px solid var(--border); }

/* 成功弹窗 */
.success-modal { text-align: center; padding: 40px; }
.success-icon { font-size: 64px; margin-bottom: 16px; }
.success-amount { font-size: 24px; font-weight: 700; color: var(--danger); margin-top: 8px; }

/* 表单 */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; margin-bottom: 6px; font-weight: 500; font-size: 13px; color: var(--text-secondary); }
.form-group input, .form-group select, .form-group textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 14px;
  outline: none;
  font-family: inherit;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--primary); }

/* ============================================
   管理后台布局
   ============================================ */

.admin-page { display: flex; }

.sidebar {
  width: 220px;
  min-height: 100vh;
  background: var(--bg-dark);
  color: #cbd5e1;
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 50;
}
.sidebar-logo {
  padding: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #334155;
}
.sidebar-nav { flex: 1; padding: 12px 0; }
.nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  color: #cbd5e1;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}
.nav-item:hover { background: #334155; color: #fff; }
.nav-item.active { background: var(--primary); color: #fff; }
.sidebar-footer { padding: 16px 20px; border-top: 1px solid #334155; }
.back-link { color: #64748b; text-decoration: none; font-size: 13px; }
.back-link:hover { color: #cbd5e1; }

.admin-main {
  flex: 1;
  margin-left: 220px;
  min-height: 100vh;
  padding: 24px;
}

.view { display: none; }
.view.active { display: block; }

.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.page-header h1 { font-size: 22px; }

/* 统计卡片 */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.stat-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow);
}
.stat-card-label { font-size: 13px; color: var(--text-secondary); margin-bottom: 8px; }
.stat-card-value { font-size: 28px; font-weight: 700; }
.stat-card-value.revenue { color: var(--danger); }
.stat-card-value.orders { color: var(--primary); }
.stat-card-value.products { color: var(--info); }
.stat-card-value.customers { color: var(--success); }

.dashboard-sections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.dashboard-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow);
}
.dashboard-card h3 { margin-bottom: 16px; font-size: 16px; }

.low-stock-list { display: flex; flex-direction: column; gap: 8px; }
.low-stock-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--danger-light);
  border-radius: var(--radius);
  font-size: 13px;
}

.recent-order-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}

/* 状态筛选 */
.admin-filter { margin-bottom: 16px; }
.status-filter { display: flex; gap: 8px; flex-wrap: wrap; }
.status-btn {
  padding: 6px 14px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 20px;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}
.status-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }

/* 数据表格 */
.table-wrapper {
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
  overflow-x: auto;
}
.data-table { width: 100%; border-collapse: collapse; }
.data-table th {
  background: var(--bg);
  padding: 12px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.data-table td { padding: 12px 16px; border-bottom: 1px solid var(--border); font-size: 13px; }
.data-table tr:hover { background: var(--bg); }

/* 商品管理网格 */
.product-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}
.product-admin-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow);
}
.product-admin-header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 12px; }
.product-admin-title { font-weight: 600; font-size: 15px; }
.product-admin-cat { font-size: 12px; color: var(--text-secondary); }
.sku-list { margin-top: 8px; }
.sku-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}

/* 订单详情 */
.order-detail-modal { max-width: 700px; }
.order-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.order-no { font-size: 20px; font-weight: 700; }
.order-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.order-meta-item { font-size: 13px; }
.order-meta-label { color: var(--text-secondary); }
.order-items-table { width: 100%; margin: 16px 0; }
.order-items-table th, .order-items-table td { padding: 8px; text-align: left; border-bottom: 1px solid var(--border); font-size: 13px; }
.order-status-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 2px solid var(--border); }
.status-action-btn {
  padding: 6px 14px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: var(--radius);
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}
.status-action-btn:hover { border-color: var(--primary); color: var(--primary); }

@media (max-width: 768px) {
  .sidebar { width: 60px; }
  .sidebar-logo span:not(.logo-icon) { display: none; }
  .nav-item span:not(:first-child) { display: none; }
  .admin-main { margin-left: 60px; }
  .dashboard-sections { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}

/* v2 auth / utility additions */
.header-actions{display:flex;align-items:center;gap:10px}.user-summary,.admin-summary{font-size:13px;color:#64748b}.auth-tabs{display:flex;gap:8px;margin-bottom:18px}.auth-tab{flex:1;border:0;border-bottom:2px solid #e2e8f0;background:transparent;padding:10px;cursor:pointer;font-weight:600}.auth-tab.active{border-bottom-color:#2563eb;color:#2563eb}.form-error{color:#dc2626;text-align:center;padding:10px}.empty-state{color:#94a3b8;text-align:center;padding:28px}.danger-text{color:#dc2626;font-weight:600}.muted-text{color:#64748b;font-size:12px}.text-right{text-align:right}.large-price{font-size:20px}.full-row{grid-column:1/3}.qty-value{min-width:30px;text-align:center}.toast-message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:12px 24px;border-radius:8px;z-index:400;font-size:14px}.auth-required{z-index:500;background:rgba(15,23,42,.72)}.sidebar-footer{display:flex;flex-direction:column;gap:10px}.address-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sku-stock{font-size:12px;margin-left:8px}.product-description{margin-bottom:8px}.product-card-image img{width:100%;height:100%;object-fit:cover}.back-link{display:block;margin-top:8px}
@media(max-width:768px){.header-inner{gap:8px}.header-actions{gap:6px}.user-summary{display:none}.header-actions .btn{padding:6px 8px}.admin-summary{font-size:11px}.full-row{grid-column:auto}}

/* ============================================
   V3：无价格电子选款册 + 询价系统
   ============================================ */
.logo { color: var(--text); text-decoration: none; }
.logo > span:last-child { display: flex; flex-direction: column; line-height: 1.15; }
.logo small { font-size: 11px; color: var(--text-secondary); font-weight: 500; margin-top: 3px; }
.logo-mark { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #111827; color: #fff; font-family: Georgia, serif; font-size: 21px; font-weight: 700; }
.logo-mark.small { width: 30px; height: 30px; font-size: 18px; flex: 0 0 auto; }

.catalog-hero { max-width: 1160px; margin: 24px auto 18px; padding: 32px 36px; border-radius: 20px; background: linear-gradient(120deg,#111827 0%,#1e293b 58%,#334155 100%); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 28px; box-shadow: var(--shadow-lg); }
.catalog-hero h1 { font-size: 34px; line-height: 1.15; margin: 8px 0 10px; }
.catalog-hero p { max-width: 720px; color: #cbd5e1; font-size: 15px; }
.hero-kicker { display: inline-block; padding: 5px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #e2e8f0; font-size: 12px; }
.catalog-filter { margin-top: 18px; }

.selection-badge { position: relative; border: 0; background: transparent; display: flex; align-items: center; gap: 5px; cursor: pointer; padding: 8px 12px; border-radius: var(--radius); color: var(--text); font-size: 14px; }
.selection-badge:hover { background: var(--bg); }
.selection-badge .badge-count { position: static; min-width: 20px; width: auto; padding: 0 6px; }
.selection-label { font-size: 13px; }

.product-card-image { height: 270px; position: relative; background: linear-gradient(135deg,#f8fafc,#e2e8f0); }
.product-card-image img { transition: transform .35s ease; }
.product-card:hover .product-card-image img { transform: scale(1.025); }
.product-placeholder { font-size: 72px; }
.supply-pill { position: absolute; top: 12px; right: 12px; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; backdrop-filter: blur(8px); }
.supply-available { background: #dcfce7; color: #166534; }
.supply-limited { background: #fef3c7; color: #92400e; }
.supply-restocking { background: #e2e8f0; color: #475569; }
.supply-text { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.style-code { color: #64748b; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.product-card-name { font-size: 17px; margin-top: 3px; }
.product-card-footer { color: var(--text-secondary); font-size: 12px; margin-top: 10px; }
.product-card-footer strong { color: var(--primary); }

.catalog-product-modal { max-width: 900px; }
.product-gallery { margin: -24px -24px 20px; }
.product-main-image { height: 440px; overflow: hidden; background: #eef2f7; display: flex; align-items: center; justify-content: center; border-radius: 12px 12px 0 0; }
.product-main-image img { width: 100%; height: 100%; object-fit: contain; background: #f8fafc; }
.product-empty-image { font-size: 90px; }
.product-thumbs { display: flex; gap: 8px; padding: 10px 16px; overflow-x: auto; background: #fff; border-bottom: 1px solid var(--border); }
.thumb-button { width: 68px; height: 68px; flex: 0 0 auto; border: 2px solid transparent; padding: 0; border-radius: 8px; overflow: hidden; background: #fff; cursor: pointer; }
.thumb-button.active { border-color: var(--primary); }
.thumb-button img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.no-price-note { margin-top: 10px; padding: 9px 12px; border-radius: 8px; background: #f1f5f9; color: #475569; font-size: 13px; }
.modal-intro { color: var(--text-secondary); font-size: 13px; margin: -7px 0 15px; }
.qty-input { width: 86px; }

.selection-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 0; padding: 14px 16px; background: #f8fafc; border-radius: 10px; }
.selection-item { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); }
.selection-thumb { width: 64px; height: 64px; border-radius: 8px; background: #f1f5f9; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.selection-thumb img { width: 100%; height: 100%; object-fit: cover; }
.selection-info { display: flex; flex-direction: column; min-width: 0; }
.selection-info span { color: var(--text-secondary); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.selection-control { display: flex; align-items: center; gap: 7px; }
.selection-control input { width: 72px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 7px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkout-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border); }
.record-card { border: 1px solid var(--border); border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.record-head,.record-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.record-head > div { display: flex; align-items: center; gap: 9px; }
.record-head > span,.record-foot { color: var(--text-secondary); font-size: 12px; }
.record-items { display: flex; flex-direction: column; gap: 3px; margin: 11px 0; color: #475569; font-size: 13px; }
.success-note { color: var(--text-secondary); }

.inquiry-pending { background: #fef3c7; color: #92400e; }
.inquiry-contacted { background: #dbeafe; color: #1d4ed8; }
.inquiry-quoted { background: #e0e7ff; color: #4338ca; }
.inquiry-considering { background: #fae8ff; color: #86198f; }
.inquiry-converted { background: #dcfce7; color: #166534; }
.inquiry-lost { background: #fee2e2; color: #991b1b; }

.page-header > div > p { color: var(--text-secondary); margin-top: 2px; }
.low-stock-item > div { display: flex; flex-direction: column; }
.low-stock-item span,.recent-order-item span { color: var(--text-secondary); font-size: 12px; }
.recent-order-item > div { display: flex; flex-direction: column; }

.product-admin-grid { grid-template-columns: repeat(auto-fill,minmax(360px,1fr)); }
.product-admin-card { padding: 0; overflow: hidden; }
.admin-product-cover { height: 220px; background: #f1f5f9; position: relative; display: flex; align-items: center; justify-content: center; }
.admin-product-cover img { width: 100%; height: 100%; object-fit: cover; }
.admin-product-cover > .badge { position: absolute; top: 10px; right: 10px; }
.admin-product-placeholder { font-size: 64px; }
.product-admin-content { padding: 16px; }
.product-admin-title { font-size: 18px; }
.product-admin-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.sku-row { align-items: center; gap: 8px; }
.sku-row > span:last-child { display: flex; align-items: center; white-space: nowrap; }

.image-manager-modal { max-width: 850px; }
.image-manager-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 12px; }
.image-manager-item { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.image-manager-item img { width: 100%; height: 180px; object-fit: cover; display: block; }
.image-manager-actions { padding: 9px; display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.upload-more-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); display: flex; align-items: end; gap: 12px; }
.upload-more-form .form-group { flex: 1; margin: 0; }
.share-modal { max-width: 680px; }
.share-product-summary { display: flex; gap: 12px; align-items: center; background: #f8fafc; border-radius: 10px; padding: 10px; margin-bottom: 12px; }
.share-product-summary img { width: 86px; height: 86px; object-fit: cover; border-radius: 8px; }
.share-product-summary p { color: var(--text-secondary); font-size: 12px; margin-top: 4px; }
.share-qr { display: block; width: 210px; height: 210px; margin: 8px auto 18px; border: 1px solid var(--border); border-radius: 8px; }
.copy-row { display: flex; gap: 8px; }
.copy-row input { flex: 1; }
.share-actions { display: flex; gap: 10px; }

.btn:disabled { opacity: .55; cursor: not-allowed; }

@media (max-width: 900px) {
  .catalog-hero { margin: 16px 16px 12px; padding: 25px; }
  .catalog-hero h1 { font-size: 28px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-card-image { height: 230px; }
}

@media (max-width: 640px) {
  .header-inner { padding: 10px 12px; align-items: flex-start; }
  .logo-text,.logo small { display: none; }
  .header-actions { flex-wrap: wrap; justify-content: flex-end; }
  .selection-label { display: none; }
  .catalog-hero { flex-direction: column; align-items: flex-start; padding: 22px; }
  .catalog-hero h1 { font-size: 26px; }
  .product-grid { grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 10px 30px; }
  .product-card-image { height: 190px; }
  .product-card-info { padding: 10px; }
  .product-card-name { font-size: 14px; }
  .product-card-desc { display: none; }
  .product-card-footer { align-items: flex-end; flex-direction: column; gap: 3px; }
  .product-main-image { height: 330px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .selection-item { grid-template-columns: 52px minmax(0,1fr); }
  .selection-thumb { width: 52px; height: 52px; }
  .selection-control { grid-column: 2; }
  .sku-table th,.sku-table td { padding: 7px 5px; font-size: 12px; }
  .qty-input { width: 66px; }
  .product-admin-grid { grid-template-columns: 1fr; }
  .upload-more-form { flex-direction: column; align-items: stretch; }
  .image-manager-grid { grid-template-columns: 1fr 1fr; }
  .share-actions { flex-direction: column; }
}


.form-note {
  display: block;
  margin: -2px 0 14px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .sku-row { align-items: flex-start; }
  .sku-row > span:last-child { flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
}

/* V3.3 商品运营与批量维护 */
.product-toolbar { display:flex; align-items:center; gap:12px; margin:-8px 0 18px; }
.product-toolbar input { max-width:520px; flex:1; }
.admin-cover-badges { position:absolute; top:10px; right:10px; display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.badge-new { background:#ede9fe; color:#6d28d9; }
.customer-note-admin { margin:8px 0; padding:8px 10px; border-left:3px solid #cbd5e1; background:#f8fafc; color:#64748b; font-size:12px; line-height:1.5; }
.sku-details { margin-top:10px; border-top:1px solid var(--border); padding-top:8px; }
.sku-details summary { cursor:pointer; color:#475569; font-size:13px; font-weight:600; user-select:none; }
.modal-action-row { display:flex; justify-content:space-between; gap:12px; margin-top:12px; }
.modal-action-row .btn { flex:1; }
.check-row { display:flex; align-items:flex-start; gap:8px; margin:10px 0 14px; color:#475569; font-size:13px; line-height:1.5; }
.check-row input { width:auto; margin-top:3px; }
.image-order-label { padding:5px 9px 0; color:#64748b; font-size:12px; }
.image-manager-actions { flex-wrap:wrap; justify-content:flex-start; }
.share-template-switch { display:flex; gap:8px; margin:4px 0 12px; }
.product-new-pill { position:absolute; top:12px; left:12px; padding:5px 10px; border-radius:999px; background:rgba(17,24,39,.85); color:#fff; font-size:11px; font-weight:700; letter-spacing:.04em; }
.product-card-meta { margin-top:5px; color:#7c3aed; font-size:12px; font-weight:600; }
.product-meta-chips { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.product-meta-chips span { padding:5px 9px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:12px; }
.customer-note { margin-top:10px; padding:10px 12px; border-radius:8px; background:#fff7ed; color:#9a3412; font-size:13px; line-height:1.6; }
@media (max-width:640px) {
  .product-toolbar { flex-direction:column; align-items:stretch; }
  .modal-action-row { flex-direction:column-reverse; }
  .image-manager-actions .btn { flex:1 1 auto; }
}
