/* 默认白色主题 */
:root {
  --bg:#f8faff;
  --panel:#ffffff;
  --accent:#0b3d91;
  --text:#0f1b2d;
  --muted:#5b6b86;
  --danger:#e53935;
  --warning:#fb8c00;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, "Microsoft YaHei", sans-serif; }
a { color: var(--accent); text-decoration: none; }
.container { max-width: 1100px; margin: 0 auto; padding: 20px; }
.panel { background: var(--panel); border:1px solid #dbe3f0; border-radius: 10px; padding: 18px; box-shadow: 0 6px 24px rgba(11,61,145,0.08); }
.category-block { padding: 8px 0; border-top:1px solid #e2eaf6; border-bottom:1px solid #e2eaf6; margin-bottom:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:10px 14px; border-radius:8px; background:#f3f6fc; color:#0b1f44; border:1px solid #dbe3f0; cursor:pointer; }
.btn:hover { background:#e9effb; }
.btn-accent { background: linear-gradient(135deg, #e6f0ff 0%, #d3e2ff 40%, #b7ccff 100%); color:#0b1f44; border-color:transparent; }
.btn-danger { background:#fde7e7; color:#7a1b1b; border-color:transparent; }
.btn-warning { background:#fff1e0; color:#6a3a0b; border-color:transparent; }
/* 大尺寸按钮与输入框，适用于关键提交按钮与表单 */
.btn-lg { padding:12px 18px; font-size:16px; }
.input-lg { padding:12px; font-size:16px; }
input, select, textarea { width:100%; padding:10px; border-radius:8px; border:1px solid #dbe3f0; background:#f6f8fd; color:#0f1b2d; outline:none; }
label { display:block; margin-bottom:6px; font-size: 14px; color: var(--muted); }
.menu { display:flex; gap:10px; margin-bottom: 16px; }
.menu a, .menu form button { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:10px 12px; border-radius:8px; background:#f3f6fc; border:1px solid #dbe3f0; color:#0f1b2d; }
.menu .active { background:#e9effb; }
.list { display:flex; flex-direction:column; gap:10px; }
.item { padding:12px; border-radius:10px; border: 1px solid #e2eaf6; background:#f9fbff; }
.item-head { display:flex; justify-content:space-between; align-items:center; }
.grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.badge { display:inline-block; padding:4px 8px; border-radius: 999px; background:#eef3fc; border:1px solid #dbe3f0; font-size:12px; }
.badge.green { background:#e6f6f3; border-color:#cde9e3; color:#0b6b64; }
.badge.yellow { background:#fff9e6; border-color:#f2e6b8; color:#7a6a1b; }
.badge.red { background:#ffecec; border-color:#f5c5c5; color:#7a1b1b; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding:10px; border-bottom:1px solid #e2eaf6; text-align:left; }
.right { text-align:right; }
.space { height: 16px; }
.footer { margin-top: 20px; font-size: 12px; color: var(--muted); text-align:center; }
/* 顶部公告栏，固定高度不超过120px */
.banner { background:#f3f6fc; border:1px solid #dbe3f0; border-radius:8px; padding:10px; margin-bottom:16px; max-height:120px; overflow:auto; }
.banner .content { font-size: 13px; color: var(--muted); }
/* 登录页居中布局 */
.login-page { min-height: 100vh; display:flex; flex-direction:column; }
.login-main { flex:1; display:flex; align-items:center; justify-content:center; }
.login-box { width: 100%; max-width: 420px; }
/* 首页账户信息字体略微增大 */
.account-info { font-size: 15px; }
/* 简单的两端布局 */
.flex-between { display:flex; justify-content:space-between; align-items:center; }
.title { font-size: 20px; margin-bottom: 12px; }
.muted { color: var(--muted); }
.row { display: flex; gap: 16px; flex-wrap: wrap; }
.col { flex: 1; min-width: 280px; }

/* 分类标签与产品卡片布局 */
.tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.tab { padding:8px 12px; border-radius:20px; border:1px solid #dbe3f0; background:#f3f6fc; color:#0f1b2d; }
.tab.active { background:#e9effb; border-color:#c9d8f3; }
.card-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
.card { border:1px solid #e2eaf6; border-radius:12px; background:#ffffff; padding:12px; box-shadow: 0 6px 24px rgba(11,61,145,0.06); }
.card .head { display:flex; align-items:center; justify-content:space-between; }
.card .price { margin-left:8px; }
.card .desc { margin-top:8px; color: var(--muted); font-size: 14px; }

/* 二级 tabs 间距优化：同一 panel 中连续两行 tabs 提升层次 */
.panel .tabs + .tabs { margin-top: 8px; }

/* 分类与地区之间分隔线 */
.divider { height:2px; background:#c9d8f3; margin: 16px 0; }

/* 地区分块样式，与分类块保持一致间距 */
.region-block { padding: 4px 0 0; margin-bottom: 12px; }

/* 产品栅格优化：自适应列数与最小宽度 */
.card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.card .head strong { font-size: 16px; }
.card .head .btn { padding:8px 12px; }

@media (max-width: 640px) {
  .card-grid { grid-template-columns: 1fr; }
}