/* Evanescia 应用服务 · 后台专用样式
   只补主站设计系统里没有的东西（表格、状态标签、日志详情），
   颜色一律用 global.css 的变量，所以深色模式自动跟着走。 */

.table-wrap { overflow-x: auto; }           /* 关键：窄屏时表格自己横向滚，不许把页面撑宽 */

table.admin {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  min-width: 560px;
}
table.admin th, table.admin td {
  border-bottom: 1px solid var(--line);
  padding: 9px 10px;
  text-align: left;
  vertical-align: top;
}
table.admin thead th {
  background: var(--surface-soft);
  color: var(--ink-soft);
  font-weight: 650;
  white-space: nowrap;
}
table.admin tbody tr:hover { background: var(--blue-50); }
table.admin a { font-weight: 600; }

/* ⚠️ 主站的 .badge 是给卡片角标用的（position:absolute; top/right），
   直接放进 <td> 会脱离文档流 → 「级别/状态」那一列看起来是空的。表格里必须掰回静态。 */
table.admin .badge {
  position: static;
  top: auto;
  right: auto;
  display: inline-block;
  white-space: nowrap;
}

.mono { font-family: var(--mono); }
.muted { color: var(--muted); font-size: 12.5px; }

.detail { max-width: 340px; white-space: pre-wrap; word-break: break-all; font-size: 12px; }

/* 文章状态 */
.badge.st-draft { background: var(--surface-soft); color: var(--muted); border-color: var(--line); }
.badge.st-pending { background: rgba(201, 130, 42, 0.12); color: #a5651a; border-color: rgba(201, 130, 42, 0.3); }
.badge.st-published { background: rgba(31, 157, 107, 0.12); color: #146b4a; border-color: rgba(31, 157, 107, 0.3); }
html[data-theme='dark'] .badge.st-pending { color: #e0a754; }
html[data-theme='dark'] .badge.st-published { color: #4fd1a0; }

/* 日志级别 */
.badge.lv-info { background: var(--blue-50); color: var(--blue-700); border-color: var(--blue-100); }
.badge.lv-warn { background: rgba(201, 130, 42, 0.12); color: #a5651a; border-color: rgba(201, 130, 42, 0.3); }
.badge.lv-error { background: rgba(207, 75, 75, 0.12); color: #a53232; border-color: rgba(207, 75, 75, 0.3); }
.badge.lv-security { background: rgba(255, 95, 158, 0.14); color: #b32a60; border-color: rgba(255, 95, 158, 0.32); }
html[data-theme='dark'] .badge.lv-warn { color: #e0a754; }
html[data-theme='dark'] .badge.lv-error { color: #f08a8a; }
html[data-theme='dark'] .badge.lv-security { color: #ffa8cb; }

/* 表单在后台里的排布（主站的 input 样式已由 global.css 提供） */
form.panel > .fld:first-of-type { margin-top: 0; }

/* ---------- 导航里的「退出」按钮：要和旁边的链接**完全对齐** ----------
   它是个 <form><button class="link-btn">，默认内边距/行高和 .site-nav a 不一致，
   看起来会矮一截、文字也不在同一基线上（用户反馈过）。
   这里把它做成"看起来就是一个链接"：同样的内边距、同样的 2px 下划线位、同样行高。 */
.site-nav form { display: inline-flex; align-items: center; margin: 0; }
.site-nav .link-btn {
  display: inline-flex;
  align-items: center;
  font-size: 13.5px;
  /* ⚠️ 不要写死 line-height：导航链接的行高来自 body 的 1.65（实测高度 38px），
     这里写 1.2 会让"退出"矮 6px、文字基线错位（用户反馈过"退出没对齐"）。 */
  line-height: inherit;
  padding: 7px 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
}
.site-nav .link-btn:hover { background: transparent; }
/* 深色皮肤下链接是浅色字，浅色皮肤下是墨字 —— 都跟邻居保持一致 */
body.prts .site-nav .link-btn { color: var(--pc-on-dark-soft, inherit); }
body.prts .site-nav .link-btn:hover { color: #101010; background: var(--pc-cyan, transparent); }
body.prts-dash .site-nav .link-btn { color: var(--pr-on-dark-soft, inherit); }
body.prts-dash .site-nav .link-btn:hover { color: #fff; background: transparent; border-bottom-color: var(--pr-blue); }

@media (max-width: 860px) {
  table.admin.logs .detail { display: none; }
}
@media (max-width: 620px) {
  table.admin { min-width: 0; }
  table.admin.logs th:nth-child(6), table.admin.logs td:nth-child(6) { display: none; } /* IP 列 */
}
