*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#fff;color:#111;-webkit-font-smoothing:antialiased;
}
.mono{
  font-family:ui-monospace,"SF Mono","IBM Plex Mono",Menlo,monospace;
  letter-spacing:.12em;text-transform:uppercase;
}
a{color:#111}
.topbar{
  display:flex;align-items:center;gap:44px;height:64px;padding:0 40px;
  border-bottom:1px solid #111;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;letter-spacing:.16em;text-decoration:none}
.brand .mark{width:13px;height:13px;background:#111;flex:none}
.brand .sub{font-weight:400;font-size:10px;letter-spacing:.22em;color:#999}
.topbar nav{display:flex;gap:28px;flex:1}
.topbar nav a{
  font-size:13px;color:#777;text-decoration:none;padding:6px 0;
  border-bottom:2px solid transparent;
}
.topbar nav a.on{color:#111;border-bottom-color:#111}
.who{font-size:10px;color:#999}
.who a{color:#111;text-decoration:none;border-bottom:1px solid #111}
main{max-width:1160px;margin:0 auto;padding:44px 40px 80px}
.crumbs{font-size:10.5px;color:#999;margin-bottom:10px}
h1.page{font-size:24px;font-weight:700;letter-spacing:.02em;margin-bottom:34px}
h2.sect{font-size:11px;color:#888;font-weight:600;margin:38px 0 18px}
/* 统计 */
.stat{display:flex;gap:72px;border-top:1px solid #111;border-bottom:1px solid #e5e5e5;padding:30px 0}
.stat .num{font-size:46px;font-weight:500;line-height:1.1}
.stat .lbl{margin-top:8px;font-size:10px;color:#999}
/* 分布条 */
.drow{margin-bottom:18px}
.dhead{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}
.dhead .mono{font-size:12px;color:#555}
.dtrack{height:5px;background:#f0f0f0}
.dbar{height:5px;background:#111}
/* 表格 */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{
  font-family:ui-monospace,"SF Mono","IBM Plex Mono",Menlo,monospace;
  font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;
  color:#999;font-weight:600;text-align:left;
  padding:10px 14px 10px 0;border-bottom:1px solid #111;
}
td{padding:15px 14px 15px 0;border-bottom:1px solid #e8e8e8;vertical-align:middle}
tr:last-child td{border-bottom:1px solid #111}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:0}
.dot.published{background:#1a9e4b}
.dot.draft{background:#c0c0c0}
.dot.closed{background:#d43a2e}
/* 按钮 */
.btn{
  display:inline-block;padding:9px 20px;border:1px solid #111;background:#fff;
  color:#111;font-size:12.5px;letter-spacing:.06em;text-decoration:none;
  cursor:pointer;font-family:inherit;transition:background .2s,color .2s;
}
.btn:hover{background:#111;color:#fff}
.btn.sm{padding:4px 12px;font-size:11px}
.btn.danger{border-color:#d43a2e;color:#d43a2e}
.btn.danger:hover{background:#d43a2e;color:#fff}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.actions form{display:inline}
/* 表单 */
.form{max-width:640px}
.frow{margin-bottom:22px}
.frow label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:#888;margin-bottom:8px;font-family:ui-monospace,"SF Mono",Menlo,monospace}
.frow input,.frow select,.frow textarea{
  width:100%;border:1px solid #ccc;background:#fff;color:#111;
  font-size:14px;font-family:inherit;padding:11px 12px;outline:none;border-radius:0;
  transition:border-color .2s;
}
.frow input:focus,.frow select:focus,.frow textarea:focus{border-color:#111}
.frow textarea{min-height:110px;resize:vertical}
.frow .hint{margin-top:6px;font-size:11px;color:#aaa}
.err{border:1px solid #d43a2e;color:#d43a2e;font-size:12.5px;padding:12px 14px;margin-bottom:24px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
/* 筛选条 */
.filters{display:flex;gap:12px;align-items:flex-end;margin-bottom:26px;flex-wrap:wrap}
.filters select,.filters input{
  border:1px solid #ccc;padding:9px 12px;font-size:13px;font-family:inherit;border-radius:0;outline:none;
}
.filters input{width:220px}
/* 分页 */
.pager{display:flex;gap:8px;margin-top:26px;align-items:center;font-size:12.5px}
.pager a{padding:6px 13px;border:1px solid #ccc;text-decoration:none;color:#111}
.pager a.cur{border-color:#111;background:#111;color:#fff}
.pager .info{color:#999;margin-left:12px;font-size:11px}
/* 皮肤预览 */
.themes-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.theme-item .thead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.theme-item .tname{font-size:16px;font-weight:700}
.theme-item .tdesc{font-size:12.5px;color:#777;line-height:1.8;margin-bottom:12px}
.swatches{display:flex;gap:10px;margin-bottom:12px}
.sw{width:26px;height:26px;border:1px solid #ddd}
iframe.preview{width:100%;height:600px;border:1px solid #111;background:#0a0a0a}
/* 二维码页 */
.qr-wrap{display:flex;gap:48px;align-items:flex-start}
.qr-wrap img{width:260px;height:260px;border:1px solid #111}
.qr-meta{font-size:13px;line-height:2.1}
/* 登录页 */
.login-main{max-width:none;padding:0;min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-box{width:360px}
.login-box .brand{margin-bottom:44px}
/* 收集字段配置 */
.fields-cfg{border:1px solid #ccc}
.fc-row{display:flex;gap:26px;align-items:center;padding:12px 14px;border-bottom:1px solid #eee;font-size:13.5px}
.fc-row:last-child{border-bottom:none}
.fc-name{flex:1}
.fc-check{display:flex;gap:7px;align-items:center;font-size:12.5px;color:#555;cursor:pointer;white-space:nowrap}
.fc-check input{accent-color:#111;width:15px;height:15px}
