/* 建设优化链 · 服务端渲染版补充样式（基于原站 app.css 设计系统扩展） */

/* 分销 / 团队卡片 */
.card{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:14px;box-shadow:0 1px 2px rgba(20,40,80,.03)}
.card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.card-h h3{font-size:15px;margin:0}
.card-h .muted{font-size:12px;color:var(--ink3);margin-left:8px}
.card-b{display:flex;gap:18px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:10px 0;margin-bottom:10px}
.card-b .kv{display:flex;flex-direction:column;gap:3px}
.card-b .kv span{font-size:12px;color:var(--ink3)}
.card-b .kv b{font-size:17px;color:var(--blue)}
.card-f{display:flex;gap:8px;align-items:center}
.card-f .ipt{flex:1}

/* 导航 li 包裹后保持原有布局 */
.nav ul li{display:flex}
.nav ul li a{padding:0 14px;height:42px;display:flex;align-items:center;font-size:13.5px;border-radius:3px;white-space:nowrap}
.nav ul li a:hover,.nav ul li a.on{background:rgba(255,255,255,.16)}

/* 筛选 / tabs */
.tabs{display:flex;gap:6px;align-items:center}
.tabs a,.tabs button{display:inline-flex;align-items:center;padding:4px 14px;border:1px solid var(--line);background:#fff;
  border-radius:20px;font-size:12.5px;color:var(--ink2);cursor:pointer}
.tabs a:hover,.tabs button:hover{border-color:var(--blue);color:var(--blue)}
.tabs a.on,.tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.sorts a{display:inline-flex;align-items:center;height:28px;padding:0 12px;border:1px solid var(--line);
  background:#fff;border-radius:3px;font-size:12.5px;color:var(--ink2)}
.sorts a:hover{border-color:var(--blue);color:var(--blue)}
.sorts a.on{background:var(--blue);border-color:var(--blue);color:#fff}

/* 面包屑 */
.crumb{font-size:12px;color:var(--ink3);padding:12px 0}
.crumb a{color:var(--ink3)}
.crumb a:hover{color:var(--blue)}

/* 通用卡片栅格 */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}

/* 空态 */
.empty{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:48px 20px;text-align:center;
  color:var(--ink4);font-size:13px}

/* 表单 */
.form-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.form-grid .field{grid-column:span 1}
.form-grid .field.full{grid-column:1/-1}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}}
.form-title{font-size:16px;margin-bottom:4px}
.form-sub{font-size:12.5px;color:var(--ink3);margin-bottom:18px}
.req{color:var(--red);font-style:normal}

/* 后台工具条 */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.toolbar .sp{flex:1}
.toolbar input,.toolbar select{height:32px;border:1px solid var(--line);border-radius:var(--r);padding:0 10px;font-size:12.5px;outline:none}
.toolbar input:focus,.toolbar select:focus{border-color:var(--blue)}

/* 后台统计卡 */
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat-cards .sc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.stat-cards .sc .t{font-size:12px;color:var(--ink3)}
.stat-cards .sc .v{font-size:24px;font-weight:700;color:var(--blue);margin-top:4px}
@media(max-width:1000px){.stat-cards{grid-template-columns:repeat(2,1fr)}}

/* 提示条 */
.alert{background:var(--blue-bg);border:1px solid #cfe0f5;color:var(--blue-d);border-radius:var(--r);
  padding:10px 14px;font-size:12.5px;margin-bottom:12px}
.alert.warn{background:var(--orange-bg);border-color:#ffd9bf;color:var(--orange-d)}

/* Toast */
.toast{position:fixed;left:50%;top:88px;transform:translateX(-50%);z-index:9999;
  background:rgba(27,34,44,.94);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;
  box-shadow:0 6px 24px rgba(16,24,40,.28);opacity:0;transition:.2s;pointer-events:none}
.toast.show{opacity:1}
.toast.err{background:var(--red)}

/* 上传占位 */
.drop{border:1px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center;color:var(--ink4);font-size:12.5px;background:var(--bg)}

/* 详情页规格表 */
.spec-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.spec-tbl th,.spec-tbl td{border-bottom:1px solid var(--line2);padding:9px 12px;text-align:left}
.spec-tbl th{width:130px;color:var(--ink3);font-weight:600;background:var(--bg)}

/* 步骤条 */
.steps{display:flex;flex-wrap:wrap;gap:8px}
.steps span{background:var(--blue-bg);color:var(--blue);border-radius:3px;padding:5px 12px;font-size:12.5px}

/* 页面标题 */
.page-hd2{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:12px}
.page-hd2 h1{font-size:19px;margin-bottom:4px}
.page-hd2 .sub{font-size:12.5px;color:var(--ink3)}
