/* Guanlan admin system v3: isolated, coherent backend design layer */
body.admin-page {
  --admin-ink: #173c32;
  --admin-ink-2: #315a4e;
  --admin-gold: #ad7f3e;
  --admin-gold-dark: #8d6229;
  --admin-paper: #f6f1e7;
  --admin-surface: #fffdf8;
  --admin-soft: #f2ecdf;
  --admin-line: #ded7c9;
  --admin-line-strong: #c9d8ce;
  --admin-danger: #a14b38;
  --admin-shadow: 0 16px 40px rgba(27, 49, 40, .08);
  --admin-radius: 18px;
  margin: 0;
  min-width: 320px;
  color: #173229;
  background:
    radial-gradient(circle at 92% 2%, rgba(173, 127, 62, .10), transparent 27rem),
    linear-gradient(180deg, #f8f4eb 0, #f1ecdf 100%);
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}
body.admin-page *, body.admin-page *::before, body.admin-page *::after { box-sizing: border-box; }
body.admin-page main { width: 100%; min-height: 100vh; overflow: clip; }
body.admin-page button, body.admin-page input, body.admin-page select, body.admin-page textarea { font: inherit; }
body.admin-page a { color: inherit; }

/* Shared header */
body.admin-page .admin-topbar,
body.admin-page .ai-editor-topbar {
  width: min(1560px, calc(100% - 40px));
  min-height: 118px;
  margin: 20px auto 0;
  padding: 25px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fff;
  background: linear-gradient(128deg, #153c31 0%, #285b4c 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(25, 55, 45, .18);
}
body.admin-page .admin-topbar h1,
body.admin-page .ai-editor-topbar h1 { margin: 2px 0 5px; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.2; letter-spacing: .02em; }
body.admin-page .admin-topbar p,
body.admin-page .ai-editor-topbar p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.7; }
body.admin-page .admin-topbar .eyebrow,
body.admin-page .ai-editor-topbar .eyebrow { color: #e0bc7b; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
body.admin-page .admin-top-actions,
body.admin-page .ai-editor-top-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
body.admin-page .admin-top-actions .btn,
body.admin-page .ai-editor-top-actions .btn { min-height: 42px; border-color: rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.08); }
body.admin-page .admin-top-actions .btn:hover,
body.admin-page .ai-editor-top-actions .btn:hover { border-color: #e0bc7b; background: rgba(224,188,123,.14); }

/* Buttons and fields */
body.admin-page .btn,
body.admin-page button.btn {
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--admin-line-strong);
  border-radius: 10px;
  color: var(--admin-ink);
  background: var(--admin-surface);
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: .18s ease;
}
body.admin-page .btn:hover { transform: translateY(-1px); border-color: var(--admin-gold); box-shadow: 0 8px 20px rgba(39,67,55,.10); }
body.admin-page .btn.primary { color: #fff; border-color: var(--admin-gold-dark); background: linear-gradient(135deg, #b78945, #987036); }
body.admin-page .btn.danger, body.admin-page .ai-danger-link { color: #973f31; border-color: #e4c3bb; background: #fff9f7; }
body.admin-page .admin-form,
body.admin-page .ai-form { display: grid; gap: 17px; min-width: 0; }
body.admin-page .admin-form > label,
body.admin-page .ai-form > label,
body.admin-page .admin-two-col > label,
body.admin-page .rich-editor-field { display: grid; gap: 7px; min-width: 0; color: #29483e; font-size: 14px; font-weight: 750; }
body.admin-page input:not([type="checkbox"]):not([type="radio"]),
body.admin-page select,
body.admin-page textarea {
  width: 100%; min-width: 0; min-height: 45px; padding: 10px 13px;
  border: 1px solid #cbd9cf; border-radius: 10px; outline: none;
  color: #18352c; background: #fffefb; box-shadow: inset 0 1px 2px rgba(25,55,44,.025);
  transition: border-color .18s, box-shadow .18s;
}
body.admin-page textarea { min-height: 90px; resize: vertical; line-height: 1.65; }
body.admin-page input:focus, body.admin-page select:focus, body.admin-page textarea:focus { border-color: #6f9a85; box-shadow: 0 0 0 3px rgba(62,113,91,.10); }
body.admin-page input[type="checkbox"], body.admin-page input[type="radio"] { width: 17px; height: 17px; accent-color: var(--admin-ink-2); }
body.admin-page .admin-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
body.admin-page .admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
body.admin-page .check-row { min-height: 38px; padding: 7px 11px; display: inline-flex !important; grid-auto-flow: column; align-items: center; justify-content: start; gap: 8px !important; border: 1px solid #dde3dc; border-radius: 9px; background: #faf9f3; font-weight: 650 !important; }

/* Main dashboard frame */
body.admin-page .admin-workbench {
  width: min(1560px, calc(100% - 40px));
  margin: 18px auto 50px;
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
}
body.admin-page .admin-menu {
  position: sticky; top: 18px; z-index: 10;
  padding: 20px 14px;
  display: grid; gap: 6px;
  border: 1px solid var(--admin-line); border-radius: 18px;
  background: rgba(255,253,248,.92); box-shadow: var(--admin-shadow); backdrop-filter: blur(12px);
}
body.admin-page .admin-menu > p { margin: 9px 12px 7px; color: var(--admin-gold-dark); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
body.admin-page .admin-menu hr { width: calc(100% - 22px); margin: 12px auto; border: 0; border-top: 1px solid var(--admin-line); }
body.admin-page .admin-menu button {
  width: 100%; min-height: 47px; padding: 10px 12px; display: flex; align-items: center; gap: 11px;
  border: 0; border-radius: 11px; color: #36574c; background: transparent; font-weight: 750; text-align: left; cursor: pointer;
}
body.admin-page .admin-menu button svg { width: 20px; height: 20px; flex: 0 0 auto; }
body.admin-page .admin-menu button b { min-width: 24px; margin-left: auto; padding: 3px 7px; border-radius: 999px; color: #fff; background: var(--admin-gold); font-size: 12px; text-align: center; }
body.admin-page .admin-menu button:hover { background: #f2eee4; }
body.admin-page .admin-menu button.active { color: #fff; background: linear-gradient(135deg, #1d4b3e, #315f51); box-shadow: 0 9px 20px rgba(30,76,62,.18); }
body.admin-page .admin-panel-wrap { min-width: 0; }
body.admin-page .admin-panel { display: none; min-width: 0; padding: 28px; border: 1px solid var(--admin-line); border-radius: 20px; background: rgba(255,253,248,.92); box-shadow: var(--admin-shadow); }
body.admin-page .admin-panel.active { display: block; }
body.admin-page .admin-panel-head { margin-bottom: 19px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
body.admin-page .admin-panel-head > div { min-width: 0; }
body.admin-page .admin-panel-head h2, body.admin-page .ai-panel-head h2 { margin: 2px 0 7px; color: var(--admin-ink); font-size: clamp(24px, 2.2vw, 34px); line-height: 1.2; }
body.admin-page .admin-panel-head p, body.admin-page .ai-panel-head p { max-width: 780px; margin: 0; color: #60766e; line-height: 1.75; }
body.admin-page .eyebrow { margin: 0 0 4px !important; color: var(--admin-gold-dark) !important; font-size: 11px; font-weight: 850; letter-spacing: .16em; }
body.admin-page .admin-count { flex: 0 0 auto; padding: 8px 13px; border: 1px solid #e1c89d; border-radius: 999px; color: #8e642c; background: #fff9ed; font-size: 13px; font-weight: 800; }
body.admin-page .admin-surface { padding: 22px; border: 1px solid #e0dbd0; border-radius: 14px; background: #fffefb; }
body.admin-page .admin-surface + .admin-surface { margin-top: 18px; }
body.admin-page .admin-news-stats { margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px; }
body.admin-page .admin-news-stats span { padding: 7px 10px; border-left: 2px solid #c49650; color: #5f736a; background: #fbf8f0; font-size: 12px; }
body.admin-page .admin-split { margin: 15px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.admin-page details.admin-create,
body.admin-page .admin-block-editor { min-width: 0; border: 1px solid #ddd8cd; border-radius: 13px; background: #fffefb; overflow: hidden; }
body.admin-page details.admin-create > summary { padding: 15px 17px; color: #254b3f; background: #f8f5ed; font-weight: 800; cursor: pointer; list-style-position: inside; }
body.admin-page details.admin-create[open] > summary { border-bottom: 1px solid #e3ddd1; }
body.admin-page details.admin-create > form,
body.admin-page details.admin-create > .admin-list,
body.admin-page details.admin-create > .admin-two-col,
body.admin-page details.admin-create > label,
body.admin-page details.admin-create > div:not(.admin-list) { margin: 0; padding: 17px; }
body.admin-page .admin-block-editor { padding: 16px; display: grid; gap: 12px; }
body.admin-page .admin-list { display: grid; gap: 10px; min-width: 0; }
body.admin-page .admin-inline,
body.admin-page .admin-row > summary { min-width: 0; padding: 14px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 13px; border: 1px solid #e2ded4; border-radius: 11px; background: #fffefa; }
body.admin-page .admin-inline > div, body.admin-page .admin-row > summary > div { min-width: 0; }
body.admin-page .admin-inline p, body.admin-page .admin-row p { margin: 4px 0 0; color: #6e7e78; line-height: 1.55; }
body.admin-page .admin-row { border: 0; background: transparent; }
body.admin-page .admin-row[open] > summary { border-radius: 11px 11px 0 0; }
body.admin-page .admin-row > form { padding: 17px; border: 1px solid #e2ded4; border-top: 0; border-radius: 0 0 11px 11px; background: #faf8f2; }
body.admin-page .empty-state, body.admin-page .ai-empty { padding: 28px; border: 1px dashed #d8d2c4; border-radius: 13px; color: #7b847f; background: #fbf9f4; text-align: center; }

/* Content list and compact batch controls */
body.admin-page .admin-panel .admin-news-toolbar { display: none !important; }
body.admin-page .content-toolbar { margin: 19px 0 14px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid #dcd5c8; border-radius: 13px; background: linear-gradient(135deg,#faf7ef,#f5efe2); }
body.admin-page .content-toolbar-copy { display: grid; gap: 3px; min-width: 160px; }
body.admin-page .content-toolbar-copy strong { color: var(--admin-ink); font-size: 16px; }
body.admin-page .content-toolbar-copy small { color: #687970; line-height: 1.5; }
body.admin-page .content-batch-inline { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
body.admin-page .content-batch-inline select { width: auto; min-width: 160px; }
body.admin-page .content-article-list { display: grid; gap: 10px; }
body.admin-page .content-article-card { border: 1px solid #dfdacf; border-radius: 14px; background: #fffefb; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
body.admin-page .content-article-card:hover { border-color: #bacdc1; box-shadow: 0 10px 24px rgba(33,64,52,.07); }
body.admin-page .content-article-row { min-height: 90px; padding: 16px; display: grid; grid-template-columns: 28px minmax(260px,1fr) 76px 176px 122px; align-items: center; gap: 14px; }
body.admin-page .content-select { display: grid; place-items: center; }
body.admin-page .content-article-info { min-width: 0; display: grid; gap: 7px; }
body.admin-page .content-article-info strong { min-width: 0; color: #17382e; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
body.admin-page .content-article-info small { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #75827c; }
body.admin-page .content-article-info small i { width: 3px; height: 3px; border-radius: 50%; background: #b08a52; }
body.admin-page .content-status { justify-self: start; padding: 6px 10px; border-radius: 999px; color: #6c5a38; background: #f4ead5; font-size: 12px; font-weight: 800; }
body.admin-page .content-status-published { color: #28634f; background: #e5f2eb; }
body.admin-page .content-status-review { color: #8a612d; background: #fff0d5; }
body.admin-page .content-view-control { margin: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 7px; }
body.admin-page .content-view-control label { display: grid; gap: 4px; color: #64766e; font-size: 12px; font-weight: 750; }
body.admin-page .content-view-control input { min-height: 40px !important; padding: 8px 10px !important; }
body.admin-page .content-view-control button { min-height: 40px; padding: 8px 11px; border: 1px solid #bdd0c4; border-radius: 9px; color: #285143; background: #f8fcf9; font-weight: 750; cursor: pointer; }
body.admin-page .content-row-actions { display: flex; justify-content: flex-end; gap: 7px; }
body.admin-page .content-row-actions button { min-height: 38px; padding: 7px 11px; border: 1px solid #d3ddd6; border-radius: 9px; color: #245043; background: #fff; font-weight: 750; cursor: pointer; }
body.admin-page .content-row-actions .content-delete { color: #9d4435; border-color: #e6c8c0; }
body.admin-page .content-edit-panel { padding: 20px; border-top: 1px solid #e3ded4; background: #faf8f2; }
body.admin-page .content-edit-panel[hidden] { display: none !important; }
body.admin-page .content-admin-pagination,
body.admin-page .pagination,
body.admin-page .ai-candidate-pages { margin: 20px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 7px; }
body.admin-page .content-admin-pagination a,
body.admin-page .pagination a,
body.admin-page .ai-candidate-pages a { min-width: 38px; min-height: 38px; padding: 7px 11px; display: inline-grid; place-items: center; border: 1px solid #d2dcd5; border-radius: 9px; color: #31594c; background: #fffefb; font-weight: 750; text-decoration: none; }
body.admin-page .content-admin-pagination a.active,
body.admin-page .pagination a.active,
body.admin-page .ai-candidate-pages a.active { color: #fff; border-color: #285446; background: #285446; }
body.admin-page .content-admin-pagination .page-direction { padding-inline: 14px; }

/* Standalone content editor */
body.admin-page .content-editor-page { width: min(1180px, calc(100% - 40px)); margin: 20px auto 50px; }
body.admin-page .content-editor-shell { width: 100%; padding: 28px; border: 1px solid var(--admin-line); border-radius: 20px; background: rgba(255,253,248,.95); box-shadow: var(--admin-shadow); }

/* Rich text editor */
body.admin-page .rich-editor-wrap { min-width: 0; border: 1px solid #cbd8cf; border-radius: 12px; background: #fff; overflow: hidden; }
body.admin-page .rich-editor-toolbar { padding: 9px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid #dfe6e0; background: #f5f7f3; }
body.admin-page .rich-editor-toolbar button { min-height: 34px; padding: 6px 10px; border: 1px solid #d6dfd9; border-radius: 7px; color: #315548; background: #fff; font-size: 12px; font-weight: 750; cursor: pointer; }
body.admin-page .rich-editor-toolbar button:hover { border-color: #7fa18f; background: #edf5f0; }
body.admin-page .rich-editor-toolbar button.active { color: #fff; border-color: #2f6d57; background: #2f6d57; box-shadow: 0 3px 8px rgba(36,85,67,.2); }
body.admin-page .rich-tool-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-right: 2px; padding-right: 8px; border-right: 1px solid #d6dfd9; }
body.admin-page .rich-tool-group:last-child { margin-right: 0; padding-right: 0; border-right: 0; }
body.admin-page .rich-editor-select, body.admin-page .rich-editor-color { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 0 7px; border: 1px solid #d6dfd9; border-radius: 7px; color: #486458; background: #fff; }
body.admin-page .rich-editor-select span, body.admin-page .rich-editor-color span { color: #6c8076; font-size: 11px; font-weight: 750; white-space: nowrap; }
body.admin-page .rich-editor-toolbar .rich-editor-select select { width: auto; min-width: 42px; min-height: 30px; margin: 0; padding: 0 16px 0 0; border: 0; border-radius: 0; color: #315548; background: transparent; box-shadow: none; font-size: 12px; font-weight: 750; }
body.admin-page .rich-editor-color input[type="color"] { width: 26px; min-width: 26px; height: 26px; min-height: 26px; margin: 0; padding: 2px; border: 1px solid #bdd0c4; border-radius: 5px; background: #fff; box-shadow: none; cursor: pointer; }
body.admin-page .rich-editor-input { display: none !important; }
body.admin-page .rich-editor { min-height: 360px; padding: 22px; outline: 0; color: #243b33; background: #fff; font: 16px/1.85 Georgia, "Noto Serif SC", serif; overflow-wrap: anywhere; }
body.admin-page .rich-editor:focus { box-shadow: inset 0 0 0 2px rgba(74,122,100,.12); }
body.admin-page .rich-editor > p { margin: 0 0 1em; color: #243b33; font: 17px/1.85 "Noto Serif SC", "Songti SC", SimSun, serif; text-indent: 0; }
body.admin-page .rich-editor > p:last-child { margin-bottom: 0; }
body.admin-page .rich-editor > h2 { margin: 1.55em 0 .72em; padding-left: 13px; border-left: 3px solid #b58443; color: #25483b; font: 600 26px/1.42 "Noto Serif SC", "Songti SC", SimSun, serif; text-indent: 0; }
body.admin-page .rich-editor > h2:first-child { margin-top: 0; }
body.admin-page .rich-editor > h3 { margin: 1.45em 0 .65em; padding-left: 11px; border-left: 2px solid rgba(181,132,67,.72); color: #315548; font: 600 21px/1.48 "Noto Serif SC", "Songti SC", SimSun, serif; text-indent: 0; }
body.admin-page .rich-editor > blockquote { margin: 1.2em 0; padding: 14px 17px; border-left: 3px solid #b58443; color: #40584e; background: #f6f0e5; font: 16px/1.85 "Noto Serif SC", "Songti SC", SimSun, serif; }
body.admin-page .rich-editor > ul, body.admin-page .rich-editor > ol { margin: 0 0 1em 1.55em; color: #243b33; font: 16px/1.8 "Noto Serif SC", "Songti SC", SimSun, serif; }
body.admin-page .rich-editor img, body.admin-page .rich-editor video { max-width: 100%; height: auto; }
body.admin-page .rich-editor audio { width: 100%; }

/* AI center */
body.admin-page .ai-editor-shell { width: min(1560px, calc(100% - 40px)); margin: 18px auto 50px; display: grid; grid-template-columns: 236px minmax(0,1fr); align-items: start; gap: 20px; }
body.admin-page .ai-editor-nav { position: sticky; top: 18px; padding: 16px; display: grid; gap: 6px; border: 1px solid var(--admin-line); border-radius: 18px; background: rgba(255,253,248,.94); box-shadow: var(--admin-shadow); }
body.admin-page .ai-editor-nav a { min-height: 44px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border-radius: 10px; color: #36584d; font-weight: 750; text-decoration: none; }
body.admin-page .ai-editor-nav a:hover { background: #f2eee4; }
body.admin-page .ai-editor-nav a.active { color: #fff; background: #285446; }
body.admin-page .ai-editor-main { min-width: 0; display: grid; gap: 16px; }
body.admin-page .ai-panel { min-width: 0; padding: 24px; border: 1px solid var(--admin-line); border-radius: 18px; background: rgba(255,253,248,.95); box-shadow: var(--admin-shadow); }
body.admin-page .ai-panel-head { margin-bottom: 18px; display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
body.admin-page .ai-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
body.admin-page .ai-metric-grid article { min-width: 0; padding: 18px; border: 1px solid #dfdbd0; border-radius: 14px; background: #fffefb; }
body.admin-page .ai-metric-grid strong { display: block; margin-top: 5px; color: var(--admin-ink); font-size: 26px; }
body.admin-page .ai-overview-actions,
body.admin-page .ai-pipeline-note,
body.admin-page .ai-trace-grid,
body.admin-page .ai-review-checks { display: flex; flex-wrap: wrap; gap: 9px; }
body.admin-page .ai-pipeline-note span,
body.admin-page .ai-trace-grid span { padding: 8px 10px; border-radius: 9px; color: #526c62; background: #f4f2eb; font-size: 12px; }
body.admin-page .ai-status-chip { display: inline-flex; width: fit-content; padding: 6px 10px; border-radius: 999px; color: #77613a; background: #f2e8d4; font-size: 11px; font-weight: 850; }
body.admin-page .ai-status-chip.published { color: #24614c; background: #e3f2ea; }
body.admin-page .ai-status-chip.review { color: #8b5e22; background: #ffedcf; }
body.admin-page .ai-status-chip.rejected, body.admin-page .ai-status-chip.offline { color: #924538; background: #f9e6e1; }
body.admin-page .ai-status-chip.draft { color: #4d6077; background: #e9eef4; }
body.admin-page .ai-candidate-list,
body.admin-page .ai-draft-list,
body.admin-page .ai-source-table,
body.admin-page .ai-job-list,
body.admin-page .ai-daily-list,
body.admin-page .ai-model-list,
body.admin-page .ai-token-list { display: grid; gap: 11px; min-width: 0; }
body.admin-page .ai-candidate-card,
body.admin-page .ai-draft-card,
body.admin-page .ai-source-table > details,
body.admin-page .ai-job-list > article,
body.admin-page .ai-daily-list > article,
body.admin-page .ai-model-list > article,
body.admin-page .ai-token-list > form { min-width: 0; padding: 17px; border: 1px solid #e0dcd2; border-radius: 13px; background: #fffefb; }
body.admin-page .ai-candidate-head,
body.admin-page .ai-draft-meta,
body.admin-page .ai-score-row,
body.admin-page .ai-model-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 9px; }
body.admin-page .ai-candidate-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 9px; }
body.admin-page .ai-candidate-actions form { display: flex; flex-wrap: wrap; gap: 8px; }
body.admin-page .ai-detail,
body.admin-page .ai-edit-drawer,
body.admin-page .ai-pipeline-settings,
body.admin-page .ai-access-grid > details,
body.admin-page .ai-add-source,
body.admin-page .ai-run-history,
body.admin-page .ai-log-drawer { margin-top: 12px; border: 1px solid #e0dcd2; border-radius: 12px; background: #faf8f2; overflow: hidden; }
body.admin-page .ai-detail > summary,
body.admin-page .ai-edit-drawer > summary,
body.admin-page .ai-pipeline-settings > summary,
body.admin-page .ai-access-grid > details > summary,
body.admin-page .ai-add-source > summary,
body.admin-page .ai-run-history > summary,
body.admin-page .ai-log-drawer > summary { padding: 13px 15px; color: #285144; font-weight: 800; cursor: pointer; }
body.admin-page .ai-detail > :not(summary),
body.admin-page .ai-edit-drawer > :not(summary),
body.admin-page .ai-pipeline-settings > :not(summary),
body.admin-page .ai-access-grid > details > :not(summary),
body.admin-page .ai-add-source > :not(summary),
body.admin-page .ai-run-history > :not(summary),
body.admin-page .ai-log-drawer > :not(summary) { margin: 0; padding: 16px; border-top: 1px solid #e5e0d6; }
body.admin-page .ai-model-config-grid,
body.admin-page .ai-access-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
body.admin-page .ai-source-checks,
body.admin-page .ai-collect-source-picks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
body.admin-page .ai-source-checks label,
body.admin-page .ai-collect-source-picks label { min-width: 0; padding: 10px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 3px 8px; border: 1px solid #e2ded4; border-radius: 10px; background: #fff; }
body.admin-page .ai-source-checks small,
body.admin-page .ai-collect-source-picks small { grid-column: 2; color: #78857f; }
body.admin-page .ai-draft-body { max-height: 520px; padding: 20px; overflow: auto; border: 1px solid #e4dfd5; border-radius: 11px; background: #fff; line-height: 1.8; }

/* Login */
body.admin-page .admin-login-page { min-height: 100vh; display: block; }
body.admin-page .admin-login-header { width: min(1180px, calc(100% - 40px)); margin: 18px auto 0; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--admin-line); border-radius: 16px; background: rgba(255,253,248,.9); }
body.admin-page .admin-login-home { min-height: 42px; padding: 9px 14px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #ccd9d0; border-radius: 9px; color: var(--admin-ink-2); background: #fffefb; font-weight: 750; text-decoration: none; }
body.admin-page .admin-login-hero { width: min(520px, calc(100% - 40px)); margin: 76px auto 0; padding: 0; background: transparent; text-align: center; }
body.admin-page .admin-login-hero h1 { margin: 5px 0 0; color: var(--admin-ink); font-size: 38px; }
body.admin-page .admin-login-form-wrap { width: min(460px, calc(100% - 40px)); margin: 20px auto 80px; padding: 0; }
body.admin-page .admin-login-form-wrap .auth-panel { padding: 26px; display: grid; gap: 17px; border: 1px solid var(--admin-line); border-radius: 18px; background: #fffdf8; box-shadow: var(--admin-shadow); }
body.admin-page .admin-login-form-wrap label { display: grid; gap: 7px; font-weight: 750; }

/* Flash */
body.admin-page .flash-wrap { position: fixed; top: 18px; right: 18px; z-index: 1000; width: min(420px, calc(100% - 36px)); }

@media (max-width: 1120px) {
  body.admin-page .admin-workbench, body.admin-page .ai-editor-shell { grid-template-columns: 210px minmax(0,1fr); }
  body.admin-page .content-article-row { grid-template-columns: 28px minmax(200px,1fr) 72px 156px; }
  body.admin-page .content-row-actions { grid-column: 2 / -1; justify-content: flex-end; }
  body.admin-page .ai-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  body.admin-page .admin-topbar, body.admin-page .ai-editor-topbar { width: calc(100% - 24px); margin-top: 12px; padding: 20px; align-items: flex-start; flex-direction: column; }
  body.admin-page .admin-top-actions, body.admin-page .ai-editor-top-actions { justify-content: flex-start; }
  body.admin-page .admin-workbench, body.admin-page .ai-editor-shell { width: calc(100% - 24px); grid-template-columns: 1fr; }
  body.admin-page .admin-menu, body.admin-page .ai-editor-nav { position: static; display: flex; overflow-x: auto; padding: 10px; scrollbar-width: thin; }
  body.admin-page .admin-menu > p, body.admin-page .admin-menu hr { display: none; }
  body.admin-page .admin-menu button, body.admin-page .ai-editor-nav a { width: auto; min-width: max-content; }
  body.admin-page .admin-panel, body.admin-page .ai-panel, body.admin-page .content-editor-shell { padding: 20px; }
  body.admin-page .content-editor-page { width: calc(100% - 24px); }
  body.admin-page .admin-two-col, body.admin-page .admin-split, body.admin-page .ai-model-config-grid, body.admin-page .ai-access-grid { grid-template-columns: 1fr; }
  body.admin-page .content-toolbar { align-items: flex-start; flex-direction: column; }
  body.admin-page .content-batch-inline { width: 100%; justify-content: flex-start; }
  body.admin-page .content-article-row { grid-template-columns: 28px minmax(0,1fr) auto; }
  body.admin-page .content-status { grid-column: 3; grid-row: 1; }
  body.admin-page .content-view-control { grid-column: 2 / -1; width: min(260px,100%); }
  body.admin-page .content-row-actions { grid-column: 2 / -1; justify-content: flex-start; }
}
@media (max-width: 560px) {
  body.admin-page .admin-panel-head, body.admin-page .ai-panel-head { flex-direction: column; }
  body.admin-page .admin-panel, body.admin-page .ai-panel, body.admin-page .content-editor-shell { padding: 16px; border-radius: 15px; }
  body.admin-page .admin-surface { padding: 16px; }
  body.admin-page .admin-inline, body.admin-page .admin-row > summary { grid-template-columns: 1fr; }
  body.admin-page .content-batch-inline > * { width: 100%; }
  body.admin-page .content-batch-inline select { width: 100%; }
  body.admin-page .content-article-row { padding: 14px; grid-template-columns: 24px minmax(0,1fr); }
  body.admin-page .content-status { grid-column: 2; grid-row: auto; }
  body.admin-page .content-view-control, body.admin-page .content-row-actions { grid-column: 2; width: 100%; }
  body.admin-page .content-view-control { grid-template-columns: minmax(0,1fr) auto; }
  body.admin-page .ai-metric-grid, body.admin-page .ai-source-checks, body.admin-page .ai-collect-source-picks { grid-template-columns: 1fr; }
  body.admin-page .rich-editor { min-height: 280px; padding: 16px; }
  body.admin-page .admin-login-header .academy-brand small { display: none; }
}

/* Standalone content editor: keep the same admin banner and navigation as the content desk. */
body.admin-page .content-editor-workbench { align-items: start; }
body.admin-page .content-editor-menu a { width: 100%; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 9px; color: #355b4b; font-weight: 750; text-decoration: none; transition: background .18s ease, color .18s ease, box-shadow .18s ease; }
body.admin-page .content-editor-menu a:hover { color: #214b3c; background: #edf3ed; }
body.admin-page .content-editor-menu a.active { color: #fffdf6; background: #2c6853; box-shadow: 0 9px 18px rgba(34,77,61,.18); }
body.admin-page .content-editor-menu a i { width: 19px; height: 19px; }
body.admin-page .content-editor-workbench .content-editor-page { width: auto; min-width: 0; margin: 0; padding: 0 0 64px; background: transparent; }
body.admin-page .content-editor-workbench .content-editor-shell { width: min(1180px, 100%); }
body.admin-page .content-editor-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 25px 28px; border: 1px solid #dcd5c6; border-radius: 14px; background: linear-gradient(120deg, #f5efe3, #fbf8f0); }
body.admin-page .content-editor-intro h2 { margin: 6px 0 8px; color: #244a3b; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(30px, 3vw, 42px); font-weight: 500; }
body.admin-page .content-editor-intro p { max-width: 700px; margin: 0; color: #62756b; line-height: 1.75; }
body.admin-page .content-editor-intro-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
body.admin-page .content-editor-form { display: grid; gap: 0; padding: 0; overflow: hidden; }
body.admin-page .editor-form-section { padding: 26px 28px; border-bottom: 1px solid #e5dfd2; }
body.admin-page .editor-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
body.admin-page .editor-section-heading > span, body.admin-page .editor-optional-section summary > span { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fffaf0; background: #a67b42; font-size: 12px; font-weight: 850; }
body.admin-page .editor-section-heading h3 { margin: 0 0 3px; color: #294d3e; font-size: 18px; }
body.admin-page .editor-section-heading p { margin: 0; color: #758178; font-size: 13px; line-height: 1.6; }
body.admin-page .content-editor-form small { color: #7b877e; font-size: 12px; line-height: 1.55; }
body.admin-page .content-editor-form select[multiple] { min-height: 118px; padding: 8px; }
body.admin-page .content-editor-form .rich-editor-field { margin: 0; }
body.admin-page .content-editor-form .rich-editor { min-height: 460px; }
body.admin-page .editor-optional-section { border: 0; border-bottom: 1px solid #e5dfd2; background: #f8f5ed; }
body.admin-page .editor-optional-section summary { display: flex; align-items: center; gap: 12px; padding: 19px 28px; cursor: pointer; list-style: none; }
body.admin-page .editor-optional-section summary::-webkit-details-marker { display: none; }
body.admin-page .editor-optional-section summary > div { display: grid; gap: 2px; margin-right: auto; }
body.admin-page .editor-optional-section summary strong { color: #2b5040; }
body.admin-page .editor-optional-section summary small { color: #77847b; }
body.admin-page .editor-optional-section summary > i { width: 18px; color: #957340; transition: transform .18s ease; }
body.admin-page .editor-optional-section[open] summary > i { transform: rotate(180deg); }
body.admin-page .editor-optional-body { padding: 4px 28px 26px; }
body.admin-page .editor-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px 28px; background: #f4eee2; }
body.admin-page .editor-visibility-options { display: flex; flex-wrap: wrap; gap: 8px; }
body.admin-page .editor-submit-bar .btn { min-width: 140px; min-height: 44px; }

/* Account and permission workspace */
body.admin-page .content-permission-note { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0; padding: 16px 18px; border: 1px solid #d7e4d9; border-radius: 13px; color: #456156; background: #f4f8f2; line-height: 1.65; }
body.admin-page .content-permission-note i { width: 20px; flex: 0 0 auto; margin-top: 2px; color: #356b56; }
body.admin-page .content-permission-note strong { display: block; margin-bottom: 2px; color: #254d3e; }
body.admin-page .account-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
body.admin-page .account-policy-grid article { min-height: 142px; padding: 18px; border: 1px solid #e3ddd0; border-radius: 14px; background: linear-gradient(145deg, #fffefb, #f6f1e7); }
body.admin-page .account-policy-grid i { display: block; width: 22px; margin-bottom: 13px; color: #a97831; }
body.admin-page .account-policy-grid strong { display: block; color: #294f40; font-size: 16px; }
body.admin-page .account-policy-grid p { margin: 7px 0 0; color: #68786f; font-size: 13px; line-height: 1.65; }
body.admin-page .account-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
body.admin-page .account-form-grid h3 { margin: 0 0 5px; color: #274d3f; font-size: 18px; }
body.admin-page .account-form-grid .muted-text { margin: 0 0 16px; min-height: 42px; color: #718076; line-height: 1.6; }
body.admin-page .editor-account-list { margin-top: 22px; overflow: hidden; border: 1px solid #e3ddd0; border-radius: 14px; background: #fffefb; }
body.admin-page .editor-account-list .section-label { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 17px 20px; border-bottom: 1px solid #e9e3d8; background: #faf7f0; }
body.admin-page .editor-account-list .section-label span { color: #284e40; font-weight: 800; }
body.admin-page .editor-account-list .section-label small { color: #77837b; line-height: 1.5; }
body.admin-page .editor-account-row { display: grid; grid-template-columns: minmax(145px, 1.2fr) minmax(150px, 1fr) minmax(130px, .85fr) minmax(150px, 1fr) auto auto; align-items: end; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #ece6db; }
body.admin-page .editor-account-row:last-child { border-bottom: 0; }
body.admin-page .editor-account-title { display: grid; gap: 4px; padding-bottom: 10px; }
body.admin-page .editor-account-title strong { color: #294f40; }
body.admin-page .editor-account-title small { color: #7b887f; font-size: 12px; }
body.admin-page .editor-account-row label { display: grid; gap: 7px; color: #52665c; font-size: 12px; font-weight: 750; }
body.admin-page .editor-account-row .check-row { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 4px; white-space: nowrap; }
body.admin-page .editor-account-row .btn { min-height: 43px; white-space: nowrap; }

/* Today at Guanlan has three summary cells, not the five used by article rows. */
body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary { display: grid !important; grid-template-columns: minmax(0, 1fr) 86px 64px !important; column-gap: 18px; align-items: center; min-height: 88px; padding: 16px 20px; }
body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary > div { min-width: 0; }
body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary strong { display: block; overflow: hidden; color: #284d3e; font-size: 15px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary small { display: block; max-width: 720px; overflow: hidden; color: #748178; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary > span { justify-self: end; white-space: nowrap; }
@media (max-width: 820px) {
  body.admin-page .content-editor-intro { align-items: flex-start; flex-direction: column; padding: 22px; }
  body.admin-page .content-editor-intro-actions { justify-content: flex-start; }
  body.admin-page .content-editor-workbench .content-editor-page { padding-bottom: 36px; }
  body.admin-page .editor-form-section { padding: 22px; }
  body.admin-page .editor-optional-section summary { padding: 18px 22px; }
  body.admin-page .editor-optional-body { padding: 0 22px 22px; }
  body.admin-page .editor-submit-bar { align-items: flex-start; flex-direction: column; padding: 18px 22px; }
  body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary { grid-template-columns: minmax(0, 1fr) auto !important; }
  body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary > span:last-child { display: none; }
  body.admin-page .account-policy-grid, body.admin-page .account-form-grid { grid-template-columns: 1fr; }
  body.admin-page .editor-account-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.admin-page .editor-account-title { grid-column: 1 / -1; padding-bottom: 0; }
}
@media (max-width: 560px) {
  body.admin-page .content-editor-menu a { width: auto; min-width: max-content; }
  body.admin-page .content-editor-form .rich-editor { min-height: 300px; }
  body.admin-page .editor-form-section { padding: 18px 16px; }
  body.admin-page .editor-optional-section summary { padding: 16px; }
  body.admin-page .editor-optional-body { padding: 0 16px 18px; }
  body.admin-page .editor-submit-bar { padding: 16px; }
  body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary { grid-template-columns: 1fr !important; gap: 7px; }
  body.admin-page [data-admin-panel="calendar"] .admin-article-list > .admin-row > summary > span { justify-self: start; }
  body.admin-page .editor-account-list .section-label { align-items: flex-start; flex-direction: column; gap: 4px; }
  body.admin-page .editor-account-row { grid-template-columns: 1fr; padding: 16px; }
}
