/* ============================================================
   AI获客 · 管理后台样式
   ============================================================ */
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; color: #1f2740; background: #eef1f7; }

/* ---------- 登录 ---------- */
.adm-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0b1230, #1b2150); }
.adm-login-card { width: 360px; background: #fff; border-radius: 16px; padding: 30px; box-shadow: 0 20px 60px rgba(8,15,40,.35); }
.adm-login-brand { font-size: 20px; font-weight: 800; color: #5b4bff; }
.adm-login-sub { color: #7c88a4; margin: 6px 0 20px; font-size: 13px; }
.adm-field { display: block; margin-bottom: 14px; }
.adm-field span { display: block; font-size: 13px; color: #5b6781; margin-bottom: 6px; }
.adm-field input { width: 100%; padding: 10px 12px; border: 1px solid #d8deea; border-radius: 9px; font-size: 14px; }
.adm-form-msg { font-size: 13px; min-height: 18px; margin-bottom: 8px; }
.adm-form-msg.err { color: #e0533d; } .adm-form-msg.ok { color: #1f9e7a; }
.adm-tip { font-size: 12px; color: #9aa6bd; margin-top: 16px; line-height: 1.7; }
.adm-tip code { background: #f1efff; color: #5b4bff; padding: 1px 6px; border-radius: 5px; }

/* ---------- 布局 ---------- */
.adm-side { position: fixed; left: 0; top: 0; bottom: 0; width: 244px; background: #0b1230; color: #cdd6f5; display: flex; flex-direction: column; }
.adm-brand { font-size: 17px; font-weight: 800; color: #fff; padding: 20px 18px 6px; }
.adm-side-tip { font-size: 12px; color: #8a96c4; padding: 0 18px 12px; }
.adm-nav { flex: 1; overflow-y: auto; padding: 6px 10px; }
.adm-nav a { display: block; padding: 9px 12px; border-radius: 9px; color: #cdd6f5; font-size: 13.5px; cursor: pointer; margin-bottom: 3px; text-decoration: none; }
.adm-nav a:hover { background: #18204a; }
.adm-nav a.active { background: #5b4bff; color: #fff; font-weight: 600; }
.adm-nav a .anch { font-size: 11px; color: #7e8bc0; margin-left: 6px; }
.adm-side-foot { padding: 14px 18px; border-top: 1px solid #1c2550; display: flex; align-items: center; justify-content: space-between; font-size: 13px; }
.adm-side-foot #admUser { color: #aeb9e6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.adm-main { margin-left: 244px; padding: 22px 26px 60px; min-height: 100vh; }
.adm-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.adm-top h2 { margin: 0; font-size: 20px; }
.adm-desc { margin: 4px 0 0; color: #7c88a4; font-size: 13px; }
.adm-top-actions { display: flex; align-items: center; gap: 10px; }

.adm-btn { padding: 9px 16px; border-radius: 9px; border: 1px solid transparent; font-size: 13.5px; cursor: pointer; text-decoration: none; display: inline-block; }
.adm-btn-primary { background: #5b4bff; color: #fff; font-weight: 600; }
.adm-btn-primary:hover { background: #4a3ce0; }
.adm-btn-ghost { background: #fff; border-color: #d8deea; color: #3a4566; }
.adm-btn-ghost:hover { border-color: #5b4bff; color: #5b4bff; }
.adm-btn-sm { padding: 6px 12px; font-size: 12.5px; }
.adm-save-msg { font-size: 13px; color: #1f9e7a; }

/* ---------- 编辑器 ---------- */
.adm-editor { background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 8px 24px rgba(20,30,60,.06); }
.adm-block { border: 1px solid #e9edf5; border-radius: 12px; padding: 16px; margin-bottom: 16px; }
.adm-block-h { font-size: 15px; font-weight: 700; margin: 0 0 12px; display: flex; align-items: center; justify-content: space-between; }
.adm-block-h .tag { font-size: 11px; color: #9aa6bd; font-weight: 500; }

.adm-field-row { margin-bottom: 12px; }
.adm-field-row > label { display: block; font-size: 12.5px; color: #5b6781; margin-bottom: 5px; }
.adm-input, .adm-textarea, .adm-select { width: 100%; padding: 9px 11px; border: 1px solid #d8deea; border-radius: 8px; font-size: 13.5px; font-family: inherit; }
.adm-textarea { min-height: 70px; resize: vertical; line-height: 1.6; }
.adm-input:focus, .adm-textarea:focus, .adm-select:focus { outline: none; border-color: #5b4bff; }

.adm-item { border: 1px solid #eef1f7; background: #fafbff; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.adm-item-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.adm-item-head .idx { font-size: 12px; color: #9aa6bd; font-weight: 600; }
.adm-del { background: #fff0ee; color: #e0533d; border: 1px solid #f6cfc8; border-radius: 7px; padding: 4px 10px; font-size: 12px; cursor: pointer; }
.adm-del:hover { background: #e0533d; color: #fff; }
.adm-add { background: #eef0ff; color: #5b4bff; border: 1px dashed #b9b2ff; border-radius: 9px; padding: 9px; width: 100%; cursor: pointer; font-size: 13px; font-weight: 600; }
.adm-add:hover { background: #e3e6ff; }

.adm-table { width: 100%; border-collapse: collapse; }
.adm-table th, .adm-table td { border: 1px solid #e9edf5; padding: 6px 8px; font-size: 12.5px; }
.adm-table th { background: #f5f7fc; color: #5b6781; font-weight: 600; }
.adm-table input { width: 100%; border: 1px solid #d8deea; border-radius: 6px; padding: 6px 8px; font-size: 12.5px; }
.adm-table .adm-del { padding: 3px 8px; }

.adm-note { font-size: 12px; color: #9aa6bd; background: #f6f8fc; border-radius: 8px; padding: 10px 12px; line-height: 1.6; }

@media (max-width: 720px) {
  .adm-side { width: 100%; position: static; flex-direction: row; flex-wrap: wrap; }
  .adm-nav { display: flex; flex-wrap: wrap; }
  .adm-nav a { margin: 2px; }
  .adm-side-foot { width: 100%; }
  .adm-main { margin-left: 0; }
}
