/* FitWorks UI 原型共享样式 - 风格 A 专业科技蓝 */
* { box-sizing: border-box; }
body { margin:0; padding:0; background:#f0f2f5; font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; font-size:14px; color:#1f1f1f; }
.topbar { display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid #e8e8e8; padding:0 16px; height:46px; position:sticky; top:0; z-index:10; }
.topbar .logo { color:#1677ff; font-size:15px; font-weight:700; text-decoration:none; }
.topbar .crumb { color:#bbb; font-size:12px; margin-left:8px; }
.topbar .user { font-size:12px; color:#666; }
.layout { display:flex; min-height:calc(100vh - 46px); }
.sidebar { width:158px; background:#001529; color:#b3c0d1; font-size:13px; padding:6px 0; flex-shrink:0; }
.sidebar a { display:block; padding:10px 16px; color:#b3c0d1; text-decoration:none; }
.sidebar a:hover { background:#002033; color:#fff; }
.sidebar a.active { background:#1677ff; color:#fff; }
.content { flex:1; background:#f5f7fa; padding:16px; }
.page-title { font-size:18px; font-weight:600; margin:0 0 4px; }
.subtitle { margin:0 0 14px; color:#666; font-size:13px; }
.card { background:#fff; border-radius:6px; padding:14px; margin-bottom:12px; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
.stat-card { background:#fff; border-radius:6px; padding:14px; }
.stat-card .label { font-size:11px; color:#999; }
.stat-card .value { font-size:24px; font-weight:700; }
table { width:100%; font-size:12px; border-collapse:collapse; }
th { color:#999; font-weight:normal; padding:8px 4px; border-bottom:1px solid #f0f0f0; text-align:left; }
td { padding:8px 4px; border-bottom:1px solid #f5f5f5; }
.tag { padding:1px 6px; border-radius:3px; font-size:11px; }
.tag.green { background:#f6ffed; color:#52c41a; }
.tag.orange { background:#fff7e6; color:#fa8c16; }
.tag.red { background:#fff1f0; color:#ff4d4f; }
.tag.blue { background:#e6f7ff; color:#1677ff; }
.tabs { border-bottom:1px solid #f0f0f0; padding:0 14px; }
.tab { display:inline-block; padding:8px 16px; font-size:13px; color:#666; border-bottom:2px solid transparent; cursor:pointer; text-decoration:none; }
.tab:hover { color:#1677ff; }
.tab.active { color:#1677ff; border-bottom-color:#1677ff; }
.btn { background:#1677ff; color:#fff; border:none; border-radius:4px; padding:5px 12px; font-size:12px; cursor:pointer; text-decoration:none; display:inline-block; }
.btn:hover { background:#40a9ff; }
.btn-ghost { background:#fff; color:#1677ff; border:1px solid #1677ff; border-radius:4px; padding:4px 10px; font-size:12px; cursor:pointer; text-decoration:none; display:inline-block; }
.btn-link { background:none; border:none; color:#1677ff; font-size:12px; cursor:pointer; text-decoration:none; padding:0; }
input.sel, select.sel { border:1px solid #d9d9d9; border-radius:4px; padding:4px 8px; font-size:12px; margin-right:8px; }
.link { color:#1677ff; text-decoration:none; cursor:pointer; }
.timeline { position:relative; padding-left:20px; border-left:2px solid #e8e8e8; }
.timeline-item { margin-bottom:18px; position:relative; }
.timeline-dot { position:absolute; left:-25px; top:2px; width:10px; height:10px; border-radius:50%; background:#1677ff; }
.timeline-dot.hollow { background:#fff; border:2px solid #1677ff; }

/* 小程序手机外框 */
.phone { width:375px; margin:20px auto; background:#fff; border-radius:28px; box-shadow:0 6px 30px rgba(0,0,0,0.18); overflow:hidden; border:8px solid #1f1f1f; }
.phone-statusbar { height:28px; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 18px; font-size:11px; color:#1f1f1f; }
.phone-content { min-height:580px; background:#f5f7fa; }
.phone-tabbar { display:flex; background:#fff; border-top:1px solid #eee; }
.phone-tabbar a { flex:1; text-align:center; padding:8px 0 10px; font-size:11px; color:#999; text-decoration:none; }
.phone-tabbar a.active { color:#1677ff; }
.mp-nav { display:flex; align-items:center; padding:12px 16px; background:#fff; border-bottom:1px solid #f0f0f0; }
.mp-nav .back { color:#333; text-decoration:none; font-size:18px; margin-right:8px; }
.mp-nav .title { font-size:15px; font-weight:600; }
.wx-btn { display:block; width:100%; background:#07c160; color:#fff; border:none; border-radius:6px; padding:11px; font-size:14px; text-align:center; text-decoration:none; }
