/* admin.css —— 后台自己的样式。独立文件，【绝不进 dist】。
   单一强调色沿用站点主色（苹果蓝 #0066cc），中性色偏冷，与前台同一套语汇。 */

:root{
  --accent:#0066cc;
  --accent-d:#0055aa;
  --bg:#f5f5f7;
  --card:#ffffff;
  --fg:#1d1d1f;
  --fg2:#6e6e73;
  --line:#d2d2d7;
  --bad:#c0392b;
  --ok:#1a7f37;
  --info:#0066cc;
  --radius:12px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--fg);
  font:14px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC",
       "Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.awrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* ── 顶栏 ─────────────────────────────────────────────── */
.atop{
  background:rgba(29,29,31,.92); color:#fff;
  backdrop-filter:saturate(180%) blur(20px);
  position:sticky; top:0; z-index:10;
}
.atop .awrap{display:flex;align-items:center;gap:8px;height:52px;flex-wrap:wrap}
.abrand{color:#fff;font-weight:600;font-size:14px;letter-spacing:.01em;margin-right:10px}
.abrand:hover{text-decoration:none;opacity:.85}
.anav{display:flex;gap:2px;flex:1;flex-wrap:wrap}
.anav a{
  color:rgba(255,255,255,.72);font-size:13px;padding:6px 10px;border-radius:8px;
}
.anav a:hover{color:#fff;background:rgba(255,255,255,.08);text-decoration:none}
.anav a.on{color:#fff;background:rgba(255,255,255,.14)}
.auser{display:flex;align-items:center;gap:10px}
/* ★ 2026-10-12：回官网的入口（用户："应该有一个返回首页的菜单，方便管理进出"）。
   放在顶栏里、退出按钮左边 —— 与"离开后台"那几个动作同一区。
   开新窗口 ⇒ 后台这一页不丢，回来还停在刚才那一页。 */
.agosite{
  color:rgba(255,255,255,.8);font-size:13px;padding:6px 10px;border-radius:8px;
  white-space:nowrap;margin-right:4px;
}
.agosite:hover{color:#fff;background:rgba(255,255,255,.08);text-decoration:none}
.anm{color:rgba(255,255,255,.6);font-size:12px}
form.inline{display:inline;margin:0}

/* ── 主体 ─────────────────────────────────────────────── */
.amain{padding:24px 20px 40px}
.afoot{color:var(--fg2);font-size:12px;padding:0 0 40px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;margin:0 0 18px;
}
.card-h{margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:.01em}
.muted{color:var(--fg2);margin:6px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.kpi .n{font-size:26px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.kpi .l{color:var(--fg2);font-size:12px;margin-top:2px}

/* ── 表 ───────────────────────────────────────────────── */
.tw{overflow-x:auto}
.tbl{border-collapse:collapse;width:100%;font-size:13px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.tbl th{color:var(--fg2);font-weight:600;white-space:nowrap}
.tbl tr:last-child td{border-bottom:none}

/* ── 提示条 ───────────────────────────────────────────── */
.flash{border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:13px}
.flash-bad{background:#fdecea;color:var(--bad);border:1px solid #f5c6c2}
.flash-ok{background:#eaf6ec;color:var(--ok);border:1px solid #bfe3c6}
.flash-info{background:#eaf2fb;color:var(--info);border:1px solid #c2daf5}

/* ── 状态徽标 / 警示 ──────────────────────────────────── */
.pill{
  display:inline-block;font-size:12px;line-height:1.5;padding:1px 9px;border-radius:980px;
  border:1px solid transparent;white-space:nowrap;
}
.pill-ok{background:#eaf6ec;color:var(--ok);border-color:#bfe3c6}
.pill-bad{background:#fdecea;color:var(--bad);border-color:#f5c6c2}
.pill-wait{background:#f0f0f2;color:var(--fg2);border-color:var(--line)}
.warn{
  background:#fff8e6;color:#8a6100;border:1px solid #f0dca8;border-radius:10px;
  padding:10px 14px;margin:0 0 14px;font-size:13px;
}
#pubmsg:empty{display:none}

/* ── 按钮 ─────────────────────────────────────────────── */
.btn{
  font:inherit;font-size:13px;border-radius:980px;padding:7px 16px;cursor:pointer;
  border:1px solid transparent;line-height:1.3;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-d)}
.btn-quiet{background:transparent;color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.25)}
.btn-quiet:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.btn-line{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-line:hover{background:rgba(0,102,204,.06)}
.btn-block{display:block;width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ── 表单 ─────────────────────────────────────────────── */
.fld{display:block;margin:0 0 14px}
.fld > span{display:block;font-size:12px;color:var(--fg2);margin-bottom:5px}
.fld input[type=text],.fld input[type=password],.fld input[type=email],
.fld input[type=tel],.fld input[type=number],.fld input[type=search],
.fld input[type=date],.fld textarea,.fld select{
  width:100%;font:inherit;font-size:14px;color:var(--fg);background:#fff;
  border:1px solid var(--line);border-radius:9px;padding:9px 11px;
}
.fld textarea{min-height:180px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.fld input:focus,.fld textarea:focus,.fld select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,102,204,.15)
}
.fld .hint{display:block;font-style:normal;color:var(--fg2);font-size:12px;margin-top:5px}
.fld select{max-width:420px}

/* ── 内容编辑（阶段 5.5）───────────────────────────────── */
.sm{font-size:12px}
.btn-sm{font-size:12px;padding:4px 10px}
.btn-danger{background:transparent;color:var(--bad);border-color:var(--bad)}
.btn-danger:hover{background:rgba(192,57,43,.07)}
.btn-quiet2{background:transparent;color:var(--fg2);border-color:var(--line)}
.btn-quiet2:hover{color:var(--fg);border-color:var(--fg2)}

/* 列表页顶部工具条：搜索 + 分类 + 按钮，一行排开 */
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.toolbar .ti{
  font:inherit;font-size:13px;color:var(--fg);background:#fff;
  border:1px solid var(--line);border-radius:9px;padding:7px 11px;min-width:200px;
}
.toolbar select{
  font:inherit;font-size:13px;background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:7px 11px;max-width:260px;
}
.toolbar .ti:focus,.toolbar select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,102,204,.15)
}
.pager{display:flex;align-items:center;gap:10px;margin:12px 0 0}

/* 只读信息块（URL / slug / 来源表 …） */
.ro{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px}
.ro dt{color:var(--fg2);white-space:nowrap}
.ro dd{margin:0;font-family:ui-monospace,Consolas,monospace;word-break:break-all}

/* 表单底部按钮排 */
.editform{margin:0}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}

/* 缩略图条 */
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumb{
  width:96px;height:96px;object-fit:cover;border:1px solid var(--line);
  border-radius:9px;background:#fafafa;
}

/* ★ 就地预览：把管理员粘的富文本圈起来。sanitize 已经剥掉 class/id/style，
   所以它污染不了后台布局；这里只管溢出与尺寸。 */
.prev{
  border:1px dashed var(--line);border-radius:9px;padding:12px 14px;margin-top:10px;
  background:#fff;overflow-x:auto;
}
.prev img{max-width:100%;height:auto}
.prev table{max-width:100%}
.prev pre{overflow-x:auto}
details > summary{cursor:pointer;color:var(--accent);font-size:13px;margin-top:8px}

/* ── 独立预览页（新标签页）────────────────────────────── */
/* ★ 这一页链的是真站样式表，admin.css 只提供顶上那条说明带。
   它必须放在 site.css 【之前】，否则 admin 的 body 规则会盖掉真站的。 */
.pnote{
  background:rgba(29,29,31,.94);color:#fff;font-size:13px;line-height:1.7;
  padding:9px 20px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro SC",
    "PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
.pnote a{color:#9ecbff}
.pnote .dim{color:rgba(255,255,255,.6)}

/* ── 登录页 ───────────────────────────────────────────── */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.login-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:32px 28px;width:100%;max-width:380px;
}
.login-h1{margin:0 0 18px;font-size:19px;font-weight:600;letter-spacing:-.01em;text-align:center}
.login-form{margin:0}
.login-tip{color:var(--fg2);font-size:12px;text-align:center;margin:16px 0 0}
/* 登录页 / 错误页上那一条"回官网首页"（登录页开新窗口、错误页同窗口） */
.login-back{text-align:center;margin:14px 0 0;font-size:13px}
.login-back a{color:var(--fg2)}
.login-back a:hover{color:var(--fg)}
/* ★ 字段旁的「选文件 + 上传」（2026-10-12 用户要求站内上传视频）。
   与输入框同一行、可换行；进度条窄一点，不抢视线。 */
.up{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.up__f{font:inherit;font-size:12px;max-width:300px}
.up__p{width:170px;height:6px;border:0}
.up__msg{margin:0}
/* 字段里的直达链接（如「视频插件设置（加外链域名）→」） */
.fld__lk{display:inline-block;margin-top:4px}
/* ★ 「适用资料」多选（产品中心 ↔ 下载中心）：给足高度与宽度，
   163 条资料挤在默认的 4 行小框里没法用。 */
.dlsel{width:100%;max-width:640px;font:inherit;font-size:13px;padding:6px;
  border:1px solid var(--line);border-radius:8px;background:#fff}
.dlsel option{padding:2px 4px}
.errmsg{color:var(--fg2);text-align:center;margin:0}
.erref{color:#b0b0b5;font-size:11px;text-align:center;margin:14px 0 0;
       font-family:ui-monospace,Consolas,monospace}
