:root {
  --bg: #f3f6fa;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --ink: #172033;
  --ink-strong: #0d1525;
  --muted: #66758c;
  --muted-2: #8b98aa;
  --line: #e2e8f0;
  --line-strong: #d4dde8;
  --nav: #0b1629;
  --nav-soft: #14223a;
  --nav-muted: #98a8c1;
  --blue: #2563eb;
  --blue-hover: #1d4ed8;
  --blue-soft: #edf4ff;
  --teal: #0f766e;
  --teal-soft: #eafaf7;
  --green: #16835a;
  --green-soft: #eaf8f1;
  --amber: #b56a08;
  --amber-soft: #fff7e8;
  --red: #c33d45;
  --red-soft: #fff0f1;
  --purple: #7155c5;
  --purple-soft: #f4f0ff;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 8px rgba(15, 23, 42, 0.025);
  --shadow-lg: 0 24px 70px rgba(15, 23, 42, 0.18);
  --radius: 14px;
  --radius-sm: 9px;
  --sidebar-width: 244px;
  font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

/* Real monitoring workspace: diagnostics, crawler traffic and production health. */
.monitor-real-page { display: grid; gap: 16px; }
.monitor-real-page > .page-head { margin-bottom: 0; }
.monitor-real-note { display: flex; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid #d9e3ef; border-radius: 12px; color: #56677d; background: #f7f9fc; }
.monitor-real-note > svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--blue); }
.monitor-real-note.success { border-color: #cae8dc; background: #f2fbf7; }
.monitor-real-note.success > svg { color: var(--green); }
.monitor-real-note.warning { border-color: #eedfb9; background: #fffbef; }
.monitor-real-note.warning > svg { color: var(--amber); }
.monitor-real-note b, .monitor-real-note small { display: block; }
.monitor-real-note b { color: var(--ink-strong); font-size: 11px; }
.monitor-real-note small { margin-top: 3px; font-size: 9px; line-height: 1.55; }
.monitor-real-diagnostic, .monitor-real-traffic { overflow: hidden; padding: 0; }
.monitor-real-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.monitor-real-section-head h3 { margin: 4px 0 5px; color: var(--ink-strong); font-size: 16px; }
.monitor-real-section-head p { max-width: 720px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.monitor-real-eyebrow { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.monitor-real-score { display: grid; min-width: 104px; grid-template-columns: auto auto; align-items: baseline; justify-content: end; text-align: right; }
.monitor-real-score small { grid-column: 1 / -1; color: var(--muted); font-size: 9px; }
.monitor-real-score b { color: var(--blue); font-size: 34px; line-height: 1; }
.monitor-real-score span { color: var(--muted-2); font-size: 10px; }
.monitor-real-diagnostic-body { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 20px; padding: 20px 22px; }
.monitor-real-score-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.monitor-real-score-grid > div { padding: 15px; border: 1px solid #e2e9f2; border-radius: 11px; background: #f9fbfd; }
.monitor-real-score-grid span { display: block; color: var(--muted); font-size: 9px; }
.monitor-real-score-grid b { display: block; margin-top: 5px; color: var(--ink-strong); font-size: 22px; }
.monitor-real-run label { display: block; margin-bottom: 6px; color: var(--ink); font-size: 9px; font-weight: 700; }
.monitor-real-run > div { display: flex; gap: 8px; }
.monitor-real-run .input { min-width: 0; }
.monitor-real-run small { display: block; margin-top: 8px; color: var(--muted); font-size: 8px; }
.monitor-real-history { padding: 0 22px 20px; }
.monitor-real-history > b { display: block; margin-bottom: 9px; font-size: 10px; }
.monitor-real-history .table-scroll { border: 1px solid var(--line); border-radius: 10px; }
.monitor-real-empty { display: grid; min-height: 100px; place-items: center; padding: 20px; border: 1px dashed #d8e1eb; border-radius: 10px; color: var(--muted); background: #fafbfd; font-size: 9px; text-align: center; }
.monitor-real-pv { min-width: 150px; padding: 12px 15px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); text-align: right; }
.monitor-real-pv small, .monitor-real-pv b { display: block; }
.monitor-real-pv small { font-size: 8px; }
.monitor-real-pv b { margin-top: 2px; font-size: 28px; line-height: 1.1; }
.monitor-real-traffic-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(210px, .65fr)); gap: 16px; padding: 20px 22px 22px; }
.monitor-real-traffic-grid h4 { margin: 0 0 12px; color: var(--ink-strong); font-size: 10px; }
.monitor-real-bars { display: flex; height: 165px; align-items: flex-end; gap: 7px; padding: 14px 10px 0; border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(180deg, #fbfdff, #f6f9fd); }
.monitor-real-bar { display: flex; min-width: 0; height: 100%; flex: 1 1 0; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.monitor-real-bar i { display: block; width: min(22px, 72%); min-height: 5px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #4d83e6, #2563eb); }
.monitor-real-bar small { overflow: hidden; width: 100%; color: var(--muted-2); font-size: 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.monitor-real-list { padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.monitor-real-list ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.monitor-real-list li { display: flex; min-height: 35px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); font-size: 9px; }
.monitor-real-list li:last-child { border-bottom: 0; }
.monitor-real-list li span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.monitor-real-list li b { color: var(--ink-strong); }
.monitor-real-list li.empty b { color: var(--muted-2); }
.monitor-real-production { padding-top: 3px; }
.monitor-real-production > .monitor-real-section-head { padding: 4px 0 13px; border: 0; }
.monitor-real-production-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.monitor-real-production-grid article { position: relative; min-height: 130px; padding: 17px; }
.monitor-real-production-grid article > svg { position: absolute; top: 16px; right: 16px; width: 18px; height: 18px; color: var(--blue); }
.monitor-real-production-grid small { display: block; color: var(--muted); font-size: 9px; }
.monitor-real-production-grid b { display: block; margin: 12px 0 8px; color: var(--ink-strong); font-size: 27px; line-height: 1; }
.monitor-real-production-grid p { margin: 0; color: var(--muted-2); font-size: 8px; line-height: 1.55; }

@media (max-width: 1100px) {
  .monitor-real-diagnostic-body, .monitor-real-traffic-grid { grid-template-columns: 1fr; }
  .monitor-real-production-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .monitor-real-section-head { flex-direction: column; gap: 12px; padding: 16px; }
  .monitor-real-score, .monitor-real-pv { width: 100%; text-align: left; }
  .monitor-real-score { justify-content: start; }
  .monitor-real-diagnostic-body, .monitor-real-traffic-grid { padding: 16px; }
  .monitor-real-score-grid, .monitor-real-production-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monitor-real-run > div { align-items: stretch; flex-direction: column; }
  .monitor-real-history { padding: 0 16px 16px; }
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--bg); }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--bg);
  font-size: 14px;
  line-height: 1.5;
}

button,
input,
select,
textarea { font: inherit; }

button,
select { cursor: pointer; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.24);
  outline-offset: 2px;
}

a { color: inherit; text-decoration: none; }

.skip-link {
  position: fixed;
  z-index: 300;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  color: white;
  background: var(--blue);
  transform: translateY(-150%);
  transition: transform 0.2s ease;
}

.skip-link:focus { transform: translateY(0); }

.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  z-index: 80;
  inset: 0 auto 0 0;
  display: flex;
  width: var(--sidebar-width);
  flex-direction: column;
  color: white;
  background: var(--nav);
  border-right: 1px solid rgba(255, 255, 255, 0.045);
}

.brand {
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 0 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.brand-mark {
  position: relative;
  display: grid;
  width: 36px;
  height: 36px;
  margin-right: 11px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 11px;
  background: #1f5ee8;
}

.brand-mark span { position: absolute; display: block; width: 5px; border-radius: 8px; background: white; transform: rotate(32deg); }
.brand-mark span:nth-child(1) { height: 14px; left: 10px; top: 13px; opacity: 0.68; }
.brand-mark span:nth-child(2) { height: 22px; left: 16px; top: 8px; }
.brand-mark span:nth-child(3) { height: 12px; right: 8px; top: 8px; opacity: 0.78; }

.brand strong { display: block; font-size: 15px; letter-spacing: 0.3px; }
.brand small { display: block; margin-top: 1px; color: var(--nav-muted); font-size: 11px; }
.sidebar-close { display: none !important; margin-left: auto; color: white !important; }

.workspace-switcher {
  display: flex;
  align-items: center;
  margin: 16px 14px 10px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.045);
}

.workspace-avatar {
  display: grid;
  width: 30px;
  height: 30px;
  margin-right: 9px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #dbe8ff;
  background: #233758;
  font-size: 13px;
  font-weight: 700;
}

.workspace-switcher > span:nth-child(2) { min-width: 0; flex: 1; }
.workspace-switcher b { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-switcher small { display: block; color: var(--nav-muted); font-size: 10px; }
.workspace-switcher .chevron { color: var(--nav-muted); font-size: 17px; }

.nav-main,
.nav-secondary { padding: 4px 12px; }

.nav-main a,
.nav-secondary a {
  position: relative;
  display: flex;
  min-height: 44px;
  align-items: center;
  margin: 2px 0;
  padding: 0 12px;
  border-radius: 9px;
  color: #aab7cc;
  transition: background 0.16s ease, color 0.16s ease;
}

.nav-main a:hover,
.nav-secondary a:hover { color: white; background: rgba(255, 255, 255, 0.055); }

.nav-main a.active,
.nav-secondary a.active { color: white; background: #1a2c49; box-shadow: inset 3px 0 0 #5b8cff; }

.nav-icon { display: grid; width: 19px; height: 19px; margin-right: 12px; place-items: center; }
.nav-icon svg { width: 18px; height: 18px; }
.nav-count { min-width: 21px; margin-left: auto; padding: 1px 6px; border-radius: 999px; color: #bed2ff; background: rgba(73, 119, 220, 0.2); font-size: 10px; font-style: normal; text-align: center; }
.nav-dot { width: 7px; height: 7px; margin-left: auto; border-radius: 50%; background: #7b8aa2; }
.nav-dot.warning { background: #f3aa43; box-shadow: 0 0 0 3px rgba(243, 170, 67, 0.12); }
.nav-secondary em { display: flex; align-items: center; gap: 5px; margin-left: auto; color: #70d5ad; font-size: 10px; font-style: normal; }
.nav-secondary em i { width: 6px; height: 6px; border-radius: 50%; background: #43c990; }
.nav-secondary em.is-offline { color: #9eabc0; }
.nav-secondary em.is-offline i { background: #7f8ca1; box-shadow: none; }
.nav-spacer { flex: 1; }
.nav-secondary { padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.07); }

.sidebar-footer { padding: 12px 16px 18px; }
.deploy-badge { display: flex; justify-content: space-between; color: #6f819d; font-size: 9px; }
.deploy-badge b { font-weight: 500; }

.main-column { min-height: 100vh; margin-left: var(--sidebar-width); }

.topbar {
  position: sticky;
  z-index: 50;
  top: 0;
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
}

.topbar-left { display: flex; align-items: center; min-width: 0; }
.topbar h1 { margin: 1px 0 0; color: var(--ink-strong); font-size: 20px; line-height: 1.2; letter-spacing: -0.3px; }
.breadcrumbs { display: flex; align-items: center; gap: 7px; color: var(--muted-2); font-size: 10px; }
.breadcrumbs b { color: #bdc7d4; font-weight: 400; }
.breadcrumbs strong { color: var(--muted); font-weight: 500; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }

.icon-button {
  display: inline-grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
}

.icon-button:hover { color: var(--ink); background: var(--panel-soft); border-color: var(--line); }
.icon-button svg { width: 18px; height: 18px; }
.menu-button { display: none; margin-right: 12px; }
.menu-button span { display: block; width: 17px; height: 1.5px; margin: 2px 0; background: currentColor; }

.assistant-pill,
.soft-button,
.search-trigger {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted);
  background: white;
}

.assistant-pill { border-color: #ccebdd; color: #28775c; background: #f5fcf8; font-size: 12px; }
.assistant-pill i { width: 7px; height: 7px; border-radius: 50%; background: #2caf7b; box-shadow: 0 0 0 3px rgba(44, 175, 123, 0.13); }
.assistant-pill.is-offline { border-color: #d8dee8; color: #66758c; background: #f7f9fc; }
.assistant-pill.is-offline i { background: #8c98aa; box-shadow: 0 0 0 3px rgba(140, 152, 170, 0.13); }
.soft-button:hover,
.search-trigger:hover { border-color: var(--line-strong); color: var(--ink); background: var(--panel-soft); }
.soft-button svg,
.search-trigger svg { width: 15px; height: 15px; }
.search-trigger { min-width: 176px; justify-content: flex-start; color: var(--muted-2); }
.search-trigger kbd { margin-left: auto; padding: 1px 5px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted-2); background: var(--panel-soft); font-family: inherit; font-size: 9px; }
.notification-button { position: relative; border-color: var(--line); background: white; }
.notification-button i { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border: 2px solid white; border-radius: 50%; background: var(--red); }
.avatar-button { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 0; border-radius: 10px; color: #244477; background: #e6eefb; font-weight: 700; }

body.auth-locked { overflow: hidden; }
.production-auth-root { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 24px; color: #17253d; background: radial-gradient(circle at 15% 10%, rgba(63, 111, 214, .24), transparent 32%), linear-gradient(145deg, #081426, #10264a 55%, #17386d); }
.production-auth-card { width: min(440px, 100%); padding: 32px; border: 1px solid rgba(255, 255, 255, .75); border-radius: 24px; background: rgba(255, 255, 255, .98); box-shadow: 0 30px 80px rgba(0, 0, 0, .32); }
.production-auth-brand { display: flex; align-items: center; gap: 12px; }
.production-auth-brand > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #2f67da, #174497); font-size: 19px; font-weight: 800; box-shadow: 0 8px 20px rgba(35, 89, 190, .28); }
.production-auth-brand div { display: grid; gap: 2px; }
.production-auth-brand b { font-size: 17px; }
.production-auth-brand small { color: #76849a; }
.production-auth-copy { margin: 30px 0 22px; }
.production-auth-kicker { color: #2f67da; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.production-auth-copy h1 { margin: 8px 0; font-size: 28px; line-height: 1.2; }
.production-auth-copy p, .production-auth-failure p { margin: 0; color: #69788e; font-size: 14px; line-height: 1.7; }
.production-auth-card form { display: grid; gap: 15px; }
.production-auth-card label { display: grid; gap: 7px; color: #34445d; font-size: 13px; font-weight: 700; }
.production-auth-card input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #d5deeb; border-radius: 11px; outline: none; color: #17253d; background: #fff; font: inherit; box-sizing: border-box; }
.production-auth-card input:focus { border-color: #4d78d3; box-shadow: 0 0 0 3px rgba(77, 120, 211, .13); }
.production-auth-card button { min-height: 46px; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #356dde, #1b4fa9); font: inherit; font-weight: 800; cursor: pointer; }
.production-auth-card button:disabled { cursor: wait; opacity: .65; }
.production-auth-message { min-height: 20px; color: #c33645; font-size: 13px; line-height: 1.5; }
.production-auth-message.info { color: #45648f; }
.production-auth-card footer { display: flex; justify-content: space-between; gap: 14px; margin-top: 23px; padding-top: 18px; border-top: 1px solid #e8edf5; color: #7a899e; font-size: 11px; }
.production-auth-failure { display: grid; gap: 24px; }
@media (max-width: 540px) { .production-auth-root { padding: 0; background: #fff; } .production-auth-card { min-height: 100%; padding: 28px 22px; border: 0; border-radius: 0; box-shadow: none; } }

#main-content { min-height: calc(100vh - 76px); padding: 28px 30px 48px; }
.page-container { width: 100%; max-width: 1480px; margin: 0 auto; }

.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.page-head h2 { margin: 0 0 5px; color: var(--ink-strong); font-size: 24px; line-height: 1.3; letter-spacing: -0.55px; }
.page-head p { max-width: 760px; margin: 0; color: var(--muted); }
.page-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }

.primary-button,
.secondary-button,
.ghost-button,
.danger-button,
.text-button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-weight: 600;
  transition: all 0.15s ease;
}

.primary-button { color: white; background: var(--blue); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.16); }
.primary-button:hover { background: var(--blue-hover); }
.primary-button:disabled { cursor: not-allowed; opacity: 0.54; box-shadow: none; }
.secondary-button { color: var(--ink); border-color: var(--line-strong); background: white; }
.secondary-button:hover { border-color: #b8c4d3; background: var(--panel-soft); }
.ghost-button { color: var(--muted); border-color: var(--line); background: transparent; }
.ghost-button:hover { color: var(--ink); background: var(--panel-soft); }
.danger-button { color: var(--red); border-color: #f0c8cc; background: var(--red-soft); }
.text-button { min-height: 30px; padding: 0 4px; color: var(--blue); background: transparent; }
.text-button { white-space: nowrap; }
.text-button:hover { color: var(--blue-hover); }
.primary-button svg,
.secondary-button svg,
.ghost-button svg,
.text-button svg { width: 15px; height: 15px; }
.button-small { min-height: 31px; padding: 0 10px; border-radius: 7px; font-size: 12px; }

.card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: var(--shadow-sm); }
.card-header { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 16px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.card-header h3 { margin: 0; color: var(--ink-strong); font-size: 15px; }
.card-header p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.card-body { padding: 20px; }
.card-footer { padding: 14px 20px; border-top: 1px solid var(--line); background: #fbfcfe; }

.status-badge,
.small-tag,
.source-tag {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.status-badge::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; opacity: 0.75; }
.status-draft { color: #68778b; background: #edf1f5; }
.status-review { color: var(--amber); background: var(--amber-soft); }
.status-approved,
.status-success,
.status-online { color: var(--green); background: var(--green-soft); }
.status-publishing,
.status-running,
.status-queued { color: var(--blue); background: var(--blue-soft); }
.status-error,
.status-login { color: var(--red); background: var(--red-soft); }
.status-pending { color: var(--purple); background: var(--purple-soft); }
.small-tag { color: var(--muted); border: 1px solid var(--line); background: var(--panel-soft); font-weight: 500; }
.small-tag.blue { color: var(--blue); border-color: #d9e5ff; background: var(--blue-soft); }
.small-tag.teal { color: var(--teal); border-color: #cdebe6; background: var(--teal-soft); }
.source-tag { color: #49607e; border-radius: 6px; background: #eef3f9; font-size: 10px; font-weight: 500; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { position: relative; min-height: 128px; overflow: hidden; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.metric-card::after { position: absolute; right: -22px; bottom: -35px; width: 86px; height: 86px; border-radius: 50%; background: var(--panel-soft); content: ""; }
.metric-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 12px; }
.metric-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--blue); background: var(--blue-soft); }
.metric-icon.amber { color: var(--amber); background: var(--amber-soft); }
.metric-icon.green { color: var(--green); background: var(--green-soft); }
.metric-icon.purple { color: var(--purple); background: var(--purple-soft); }
.metric-icon svg { width: 16px; height: 16px; }
.metric-value { position: relative; z-index: 1; margin-top: 10px; color: var(--ink-strong); font-size: 29px; font-weight: 700; line-height: 1; }
.metric-note { position: relative; z-index: 1; margin-top: 8px; color: var(--muted-2); font-size: 11px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.85fr); gap: 18px; align-items: start; }
.stack { display: grid; gap: 18px; }
.todo-list { padding: 4px 20px 10px; }
.todo-item { display: grid; width: 100%; grid-template-columns: 35px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 66px; padding: 0; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: left; }
.todo-item:is(button):hover { background: #fbfdff; }
.todo-item:last-child { border-bottom: 0; }
.todo-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--blue); background: var(--blue-soft); }
.todo-icon.amber { color: var(--amber); background: var(--amber-soft); }
.todo-icon.red { color: var(--red); background: var(--red-soft); }
.todo-icon svg { width: 16px; height: 16px; }
.todo-copy { min-width: 0; }
.todo-copy strong { display: block; color: var(--ink); font-size: 13px; }
.todo-copy span { display: block; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.todo-meta { display: flex; align-items: center; gap: 10px; }
.todo-meta b { color: var(--ink-strong); font-size: 18px; }
.todo-arrow { color: var(--muted-2); }

.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 18px 20px 20px; }
.quick-action { min-height: 92px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--panel-soft); text-align: left; }
.quick-action:hover { border-color: #c7d5e8; background: #f4f8ff; }
.quick-action span { display: grid; width: 30px; height: 30px; margin-bottom: 10px; place-items: center; border-radius: 8px; color: var(--blue); background: white; box-shadow: var(--shadow-sm); }
.quick-action span svg { width: 15px; height: 15px; }
.quick-action b { display: block; font-size: 12px; }
.quick-action small { color: var(--muted); font-size: 10px; }

.system-list { padding: 8px 20px 14px; }
.system-item { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }
.system-item:last-child { border-bottom: 0; }
.system-name { display: flex; min-width: 0; align-items: center; gap: 10px; }
.system-name > span:first-child { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: #49617f; background: #edf2f7; }
.system-name svg { width: 14px; height: 14px; }
.system-name b { display: block; font-size: 12px; }
.system-name small { display: block; color: var(--muted-2); font-size: 10px; }
.health { display: flex; align-items: center; gap: 6px; color: var(--green); font-size: 11px; }
.health i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.health.warning { color: var(--amber); }

.activity-list { padding: 10px 20px 18px; }
.activity-item { position: relative; display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 8px 0; }
.activity-item:not(:last-child)::before { position: absolute; top: 35px; bottom: -7px; left: 13px; width: 1px; background: var(--line); content: ""; }
.activity-dot { position: relative; z-index: 1; display: grid; width: 28px; height: 28px; place-items: center; border: 4px solid white; border-radius: 50%; color: var(--blue); background: var(--blue-soft); }
.activity-dot svg { width: 11px; height: 11px; }
.activity-copy b { display: block; font-size: 11px; }
.activity-copy p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }

.toolbar-card { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 16px; padding: 16px; }
.field { display: grid; min-width: 0; gap: 6px; }
.field.grow { flex: 1; }
.field label { color: #526177; font-size: 11px; font-weight: 600; }
.field small { color: var(--muted-2); font-size: 10px; }
.input,
.select,
.textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  color: var(--ink);
  background: white;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input,
.select { height: 40px; padding: 0 11px; }
.textarea { min-height: 104px; padding: 10px 11px; resize: vertical; }
.input::placeholder,
.textarea::placeholder { color: #a2adbc; }
.input:focus,
.select:focus,
.textarea:focus { outline: none; border-color: #7ba2f4; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); }
.input-error { border-color: #e28a91 !important; box-shadow: 0 0 0 3px rgba(195, 61, 69, 0.08) !important; }
.error-text { color: var(--red) !important; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.topic-center-tab-row { margin-bottom: 12px; }
.topic-center-tabs { max-width: 100%; }
.business-scope-card { display: grid; grid-template-columns: 230px minmax(260px, 1fr) auto auto; gap: 16px; align-items: center; margin-bottom: 14px; padding: 14px 16px; }
.business-scope-copy { min-width: 0; }
.business-scope-copy b { display: block; color: var(--ink-strong); font-size: 12px; }
.business-scope-copy span { display: block; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.business-scope-stats { display: flex; gap: 12px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.business-scope-stats b { margin-right: 3px; color: var(--ink); font-size: 14px; }
.business-scope-actions { display: flex; gap: 7px; justify-self: end; }
.business-line-manage-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.business-line-manage-head h3 { margin: 0; color: var(--ink-strong); font-size: 13px; }
.business-line-manage-head p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.business-line-manage-head.archived-head { margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.business-line-manage-list { display: grid; gap: 8px; }
.business-line-manage-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.business-line-manage-row.archived { background: var(--panel-soft); }
.business-line-manage-row > div b { display: block; color: var(--ink-strong); font-size: 11px; }
.business-line-manage-row > div p { margin: 3px 0; color: var(--muted); font-size: 9px; }
.business-line-manage-row > div small { display: block; color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.business-line-manage-row .business-avatar { width: 38px; height: 38px; }
.danger-button:disabled { cursor: not-allowed; opacity: .48; }
.delete-business-line-warning { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid #efc7cb; border-radius: 11px; background: var(--red-soft); }
.delete-business-line-warning > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--red); background: white; }
.delete-business-line-warning svg { width: 18px; height: 18px; }
.delete-business-line-warning b { display: block; color: #8f2933; font-size: 12px; }
.delete-business-line-warning p { margin: 5px 0 0; color: #8b4b52; font-size: 10px; line-height: 1.65; }
.delete-impact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.delete-impact-grid > div { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.delete-impact-grid span { display: block; color: var(--muted); font-size: 8px; }
.delete-impact-grid b { display: block; margin-top: 4px; color: var(--ink-strong); font-size: 17px; }
.privacy-note.warning { border-color: #ecd4ae; color: #7b5c26; background: var(--amber-soft); }
.keyword-manager-card { margin-bottom: 14px; }
.keyword-manager-body { padding: 14px 16px 16px; }
.keyword-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.keyword-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.keyword-chip { display: inline-flex; max-width: 100%; min-height: 30px; align-items: center; gap: 5px; padding: 3px 5px 3px 9px; border: 1px solid #d8e4f5; border-radius: 999px; background: #f7faff; }
.keyword-name-button { max-width: 240px; padding: 0; overflow: hidden; border: 0; color: #315784; background: transparent; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.keyword-name-button:hover { color: var(--blue); }
.keyword-chip small { color: var(--muted-2); font-size: 8px; }
.keyword-archive-button { display: grid; width: 21px; height: 21px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: var(--muted-2); background: transparent; }
.keyword-archive-button:hover { color: var(--red); background: var(--red-soft); }
.keyword-chip { transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.keyword-chip.selected { border-color: #8eb5ff; background: #eef5ff; box-shadow: 0 0 0 2px rgba(60, 116, 224, .08); }
.keyword-chip > .checkbox { flex: 0 0 auto; width: 15px; height: 15px; }
.keyword-selection-hint { margin-top: 12px; color: var(--muted); font-size: 10px; }
.keyword-manager-actions, .seed-input-row { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 14px; }
.form-hint { color: var(--muted); font-size: 10px; }
.seed-manager-card { margin-bottom: 14px; }
.seed-candidate-list { display: grid; gap: 0; padding: 4px 16px 0; }
.seed-candidate-row { display: flex; min-height: 48px; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.seed-candidate-row:last-child { border-bottom: 0; }
.seed-candidate-row.selected { margin: 0 -8px; padding-right: 8px; padding-left: 8px; border-radius: 8px; background: #f4f8ff; }
.seed-candidate-row > .checkbox { flex: 0 0 auto; }
.seed-candidate-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.seed-candidate-copy strong { overflow: hidden; color: var(--ink-strong); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.seed-candidate-copy small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.seed-input-row { margin-top: 0; padding: 14px 16px 16px; border-top: 0; }
.package-item-wrap { display: flex; align-items: stretch; gap: 4px; }
.package-item-wrap .package-item { flex: 1; }
.package-delete-button { width: 34px; padding: 0; border: 0; border-radius: 8px; color: var(--muted-2); background: transparent; font-size: 10px; }
.package-delete-button:hover { color: var(--red); background: var(--red-soft); }
.empty-inline { color: var(--muted-2); font-size: 10px; }
.topic-center-table { min-width: 920px; }
.selection-bar { position: sticky; z-index: 20; bottom: 14px; display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 10px 14px; border: 1px solid #cddcf5; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 12px 35px rgba(31, 52, 83, .15); backdrop-filter: blur(10px); }
.selection-bar > span { color: var(--muted); font-size: 11px; }
.selection-bar > span b { color: var(--blue); font-size: 15px; }
.selection-bar > div { display: flex; gap: 8px; }
.topic-plan-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.bulk-select-row { display: flex; min-width: 0; align-items: center; justify-content: flex-start; gap: 10px; margin: 10px 0; padding: 8px 10px; border: 1px solid #dce5f0; border-radius: 9px; color: var(--muted); background: #f8fafc; }
.table-select-row { margin: 0 18px 10px; }
.select-all-control { display: inline-flex; min-width: 0; align-items: center; gap: 7px; color: #3f5c7f; font-size: 10px; font-weight: 600; cursor: pointer; }
.select-all-control .checkbox { margin: 0; }
.select-all-control span { white-space: nowrap; }
.select-all-control small { color: var(--muted-2); font-size: 8px; font-weight: 500; }
.select-all-control:hover { color: var(--blue); }
.plan-topic-list { display: grid; gap: 7px; margin-top: 15px; }
.plan-topic-item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; align-items: center; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.plan-topic-item > span:first-child { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.plan-topic-item svg { width: 14px; height: 14px; }
.plan-topic-item b { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.plan-topic-item small { display: block; margin-top: 3px; color: var(--muted-2); font-size: 9px; }
.topic-direct-button { color: var(--teal); font-weight: 600; }
.topic-plan-picker-body { display: grid; gap: 15px; }
.topic-plan-picker-topic { display: flex; gap: 11px; align-items: flex-start; padding: 13px 14px; border: 1px solid #d8e6f7; border-radius: 11px; background: #f7fbff; }
.topic-plan-picker-topic > svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; color: var(--blue); }
.topic-plan-picker-topic small, .topic-plan-picker-topic em { display: block; color: var(--muted); font-size: 9px; font-style: normal; }
.topic-plan-picker-topic b { display: block; margin-top: 3px; color: var(--ink-strong); font-size: 13px; line-height: 1.45; }
.topic-plan-picker-topic em { margin-top: 4px; color: var(--muted-2); }
.topic-plan-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.topic-plan-picker-heading h3 { margin: 0; color: var(--ink-strong); font-size: 13px; }
.topic-plan-picker-heading p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.topic-plan-picker-list { display: grid; gap: 8px; }
.topic-plan-picker-row { display: grid; grid-template-columns: 18px 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 67px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: white; transition: border-color .15s, background .15s; }
.topic-plan-picker-row:hover { border-color: #9bb8f6; background: #f8faff; }
.topic-plan-picker-row:has(input:checked) { border-color: #7da5ef; background: #f4f8ff; box-shadow: 0 0 0 2px rgba(77, 123, 224, .08); }
.topic-plan-picker-row.disabled { cursor: not-allowed; opacity: .58; background: #f7f8fa; }
.topic-plan-picker-row.disabled:hover { border-color: var(--line); background: #f7f8fa; }
.topic-plan-picker-row > .checkbox { margin: 0; }
.topic-plan-picker-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.topic-plan-picker-icon svg { width: 15px; height: 15px; }
.topic-plan-picker-copy { min-width: 0; }
.topic-plan-picker-copy b { display: block; overflow: hidden; color: var(--ink-strong); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.topic-plan-picker-copy small, .topic-plan-picker-copy em { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-style: normal; }
.topic-plan-picker-copy em { color: var(--muted-2); }
.topic-plan-picker-state { display: grid; min-width: 88px; justify-items: end; gap: 4px; }
.topic-plan-picker-state small { color: var(--muted-2); font-size: 9px; text-align: right; }
.topic-plan-picker-empty { padding: 20px 0; }

.planning-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr) 292px; gap: 16px; align-items: start; }
.planning-layout > * { min-width: 0; }
.package-list { padding: 10px; }
.package-item { width: 100%; padding: 12px; border: 1px solid transparent; border-radius: 9px; color: var(--ink); background: transparent; text-align: left; }
.package-item:hover { background: var(--panel-soft); }
.package-item.active { border-color: #d8e5ff; background: var(--blue-soft); }
.package-item strong { display: block; font-size: 12px; }
.package-item span { display: flex; justify-content: space-between; margin-top: 5px; color: var(--muted); font-size: 10px; }
.empty-package { padding: 24px 14px; color: var(--muted); font-size: 11px; text-align: center; }

.category-tabs { display: flex; gap: 6px; padding: 12px 16px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.category-tab { min-height: 31px; padding: 0 10px; border: 1px solid transparent; border-radius: 7px; color: var(--muted); background: transparent; font-size: 11px; white-space: nowrap; }
.category-tab:hover { color: var(--ink); background: var(--panel-soft); }
.category-tab.active { color: var(--blue); border-color: #dbe6fb; background: var(--blue-soft); font-weight: 600; }
.category-tab i { margin-left: 4px; font-style: normal; opacity: 0.68; }

.model-note { display: flex; align-items: flex-start; gap: 8px; margin: 14px 16px 0; padding: 10px 11px; border: 1px solid #dde7f5; border-radius: 8px; color: #65748b; background: #f7faff; font-size: 10px; }
.model-note svg { width: 14px; height: 14px; flex: 0 0 auto; margin-top: 1px; color: var(--blue); }

.topic-list { padding: 8px 16px 16px; }
.topic-item { display: grid; grid-template-columns: 24px minmax(0, 1fr) 82px auto; gap: 10px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--line); }
.topic-item:last-child { border-bottom: 0; }
.keyword-bulk-row { justify-content: space-between; flex-wrap: wrap; }
.keyword-bulk-delete { min-height: 27px; color: var(--red); }
.keyword-bulk-delete:hover { color: #9f2732; background: var(--red-soft); }
.keyword-result-actions { display: flex; min-width: 56px; align-items: flex-start; justify-content: flex-end; }
.keyword-delete-button { display: inline-flex; min-height: 26px; align-items: center; gap: 4px; padding: 3px 7px; border: 1px solid #f0cfd3; border-radius: 7px; color: var(--red); background: #fff9f9; font-size: 10px; }
.keyword-delete-button:hover { border-color: #e8abb2; color: #9f2732; background: var(--red-soft); }
.keyword-delete-button svg { width: 13px; height: 13px; }
.checkbox {
  appearance: none;
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  border: 1.5px solid #aeb9c8;
  border-radius: 5px;
  background: white;
}
.checkbox:checked { border-color: var(--blue); background-color: var(--blue); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m5 10 3 3 7-7'/%3E%3C/svg%3E"); }
.checkbox:indeterminate { border-color: var(--blue); background-color: var(--blue-soft); background-image: linear-gradient(var(--blue), var(--blue)); background-position: center; background-repeat: no-repeat; background-size: 8px 2px; }
.select-all-control:focus-within { color: var(--blue); }
.topic-copy strong { display: block; color: var(--ink-strong); font-size: 13px; line-height: 1.45; }
.topic-copy p { margin: 5px 0 8px; color: var(--muted); font-size: 11px; }
.topic-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.topic-score { text-align: right; }
.topic-score b { display: block; color: var(--blue); font-size: 16px; }
.topic-score small { color: var(--muted-2); font-size: 9px; }
.strength-bar { width: 70px; height: 4px; margin: 6px 0 0 auto; overflow: hidden; border-radius: 99px; background: #e9edf3; }
.strength-bar i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }

.basket-list { padding: 9px 14px; }
.basket-empty { display: grid; min-height: 190px; place-items: center; padding: 20px; color: var(--muted); text-align: center; }
.basket-empty span { display: grid; width: 44px; height: 44px; margin: 0 auto 10px; place-items: center; border-radius: 12px; color: var(--muted-2); background: var(--panel-soft); }
.basket-empty svg { width: 20px; height: 20px; }
.basket-empty b { display: block; color: var(--ink); font-size: 12px; }
.basket-empty p { margin: 4px 0; font-size: 10px; }
.basket-item { position: relative; margin: 8px 0; padding: 11px 30px 11px 11px; border: 1px solid #dce6f7; border-radius: 9px; background: #f8faff; }
.basket-item b { display: block; font-size: 11px; line-height: 1.45; }
.basket-item span { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.basket-remove { position: absolute; top: 7px; right: 7px; display: grid; width: 22px; height: 22px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: var(--muted-2); background: transparent; }
.basket-remove:hover { color: var(--red); background: var(--red-soft); }
.basket-actions { display: grid; gap: 8px; padding: 12px 14px 14px; border-top: 1px solid var(--line); }

.tabs-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.tabs { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #eaf0f6; }
.tab-button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 11px; }
.tab-button.active { color: var(--ink); background: white; box-shadow: var(--shadow-sm); font-weight: 600; }
.filter-tools { display: flex; gap: 8px; }
.compact-search { position: relative; }
.compact-search svg { position: absolute; top: 50%; left: 10px; width: 14px; height: 14px; color: var(--muted-2); transform: translateY(-50%); }
.compact-search .input { width: 210px; height: 36px; padding-left: 31px; }

.table-card { overflow: hidden; }
.table-scroll { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { height: 41px; padding: 0 16px; color: var(--muted); background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 600; text-align: left; white-space: nowrap; }
.data-table td { height: 66px; padding: 10px 16px; border-bottom: 1px solid var(--line); color: #48576c; font-size: 11px; vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfdff; }
.article-title-cell { min-width: 320px; }
.article-title-cell button { max-width: 520px; padding: 0; overflow: hidden; border: 0; color: var(--ink-strong); background: transparent; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.article-title-cell button:hover { color: var(--blue); }
.article-title-cell small { display: block; margin-top: 4px; color: var(--muted-2); }
.table-actions { display: flex; justify-content: flex-end; gap: 5px; }
.link-button { padding: 4px 5px; border: 0; color: var(--blue); background: transparent; font-size: 11px; }
.link-button:hover { text-decoration: underline; }
.empty-state { display: grid; min-height: 260px; place-items: center; padding: 30px; color: var(--muted); text-align: center; }
.empty-state span { display: grid; width: 52px; height: 52px; margin: 0 auto 12px; place-items: center; border-radius: 15px; color: var(--muted-2); background: var(--panel-soft); }
.empty-state svg { width: 23px; height: 23px; }
.empty-state h3 { margin: 0; color: var(--ink); font-size: 14px; }
.empty-state p { margin: 5px 0 14px; font-size: 11px; }

/* 问题 / 选题的日常管理、归档和引用关系 */
.topic-management-table { min-width: 1080px; }
.topic-management-table .article-title-cell { min-width: 280px; }
.topic-row-actions { min-width: 300px; flex-wrap: wrap; align-items: center; row-gap: 4px; }
.topic-reference-count { display: inline-block; min-width: 88px; color: #4f6178; line-height: 1.55; white-space: normal; }
.danger-text { color: var(--red); }
.danger-text:hover { color: #9f2732; }
.status-archived { color: #65748a; background: #edf1f5; }

.archive-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.archive-summary .summary-card { min-width: 0; }
.archive-type-tabs { display: flex; gap: 4px; padding: 12px 16px; overflow-x: auto; border-bottom: 1px solid var(--line); background: #fbfcfe; scrollbar-width: thin; }
.archive-type-tabs .tab-button { flex: 0 0 auto; }
.archive-type-tabs .tab-button:hover { color: var(--ink); background: white; }
.topic-row-archived { background: #fbfcfe; }
.data-table tbody .topic-row-archived:hover { background: #f5f8fb; }
.topic-row-archived .article-title-cell b { color: #4e5d71; }
.archive-empty { min-height: 220px; }

.planning-editor-form { display: grid; gap: 14px; }
.relation-chain { display: grid; gap: 8px; }
.relation-step { display: grid; min-width: 0; grid-template-columns: 58px minmax(0, 1fr); gap: 11px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.relation-step > div { min-width: 0; }
.relation-step b { display: block; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 12px; line-height: 1.5; }
.relation-step small { display: block; margin-top: 3px; overflow-wrap: anywhere; color: var(--muted); font-size: 9px; line-height: 1.55; }
.relation-step-index { display: inline-flex; min-height: 25px; align-items: center; justify-content: center; padding: 3px 7px; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 700; white-space: nowrap; }
.relation-arrow { color: var(--muted-2); font-size: 16px; line-height: 1; text-align: center; }
.archive-impact-note { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; align-items: start; padding: 11px 12px; border: 1px solid #d6e2f4; border-radius: 9px; color: #536982; background: #f7faff; font-size: 10px; line-height: 1.65; }
.archive-impact-note > span:first-child { color: var(--blue); }
.archive-impact-note svg { width: 15px; height: 15px; }

.publish-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.summary-card { display: flex; min-height: 82px; align-items: center; gap: 12px; padding: 15px; }
.summary-card span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); }
.summary-card span.amber { color: var(--amber); background: var(--amber-soft); }
.summary-card span.red { color: var(--red); background: var(--red-soft); }
.summary-card span.green { color: var(--green); background: var(--green-soft); }
.summary-card svg { width: 17px; height: 17px; }
.summary-card b { display: block; color: var(--ink-strong); font-size: 20px; line-height: 1.1; }
.summary-card small { color: var(--muted); font-size: 10px; }

.publish-list { display: grid; gap: 12px; }
.publish-task { overflow: hidden; }
.publish-task-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 16px 18px; }
.publish-task-title { min-width: 0; }
.publish-task-title > div:first-child { display: flex; align-items: center; gap: 8px; }
.publish-task-title h3 { margin: 0; overflow: hidden; color: var(--ink-strong); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.publish-task-title p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.publish-task-actions { display: flex; align-items: center; gap: 8px; }
.publish-targets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); background: #fbfcfe; }
.publish-target { min-height: 92px; padding: 14px 16px; border-right: 1px solid var(--line); }
.publish-target:last-child { border-right: 0; }
.platform-name { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.platform-label { display: flex; min-width: 0; align-items: center; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 600; }
.platform-logo { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: white; background: #2e65dd; font-size: 10px; font-weight: 700; }
.platform-logo.web { background: #0f766e; }
.platform-logo.wechat { background: #18a667; }
.platform-logo.zhihu { background: #1772f6; }
.platform-logo.toutiao { background: #ef4c48; }
.platform-logo.blog { background: #2e7d32; }
.platform-logo.csdn { background: #d43b2c; }
.platform-logo.tiktok,
.platform-logo.douyin { background: #111827; }
.platform-logo.juejin { background: #4f7cff; }
.platform-logo.pinduoduo { background: #e64242; }
.platform-logo.jianshu { background: #ef7c5b; }
.platform-logo.netease,
.platform-logo.sohu { background: #d92835; }
.platform-logo.baijia { background: #244f8f; }
.platform-logo.bilibili { background: #f06c9b; }
.platform-logo.microvideo { background: #4ba9df; }
.platform-logo.tencent-media { background: #1593e6; }
.platform-logo.xiaohongshu { background: #ef4444; }
.platform-logo.kuaishou { background: #ff6b22; }
.platform-logo.weixin-video { background: #15a85a; }
.platform-logo.third-party { background: #6b7280; }
.target-result { margin-top: 9px; color: var(--muted); font-size: 10px; }
.target-result a { color: var(--blue); }
.target-result a:hover { text-decoration: underline; }

/* 内容资产：文章版本与多平台信源的长期管理 */
.asset-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.asset-demo-note { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 9px; align-items: start; margin-bottom: 14px; padding: 11px 13px; border: 1px solid #d8e5f6; border-radius: 10px; color: #4d6686; background: #f7faff; font-size: 10px; line-height: 1.55; }
.asset-demo-note > span { color: var(--blue); }
.asset-demo-note svg { width: 16px; height: 16px; }
.asset-demo-note b { display: block; color: #294c7d; font-size: 10px; }
.asset-demo-note small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.asset-workspace { overflow: hidden; }
.asset-toolbar { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 14px; padding: 0 16px; border-bottom: 1px solid var(--line); background: #fbfcfe; }
.asset-toolbar .tabs { display: flex; min-width: 0; gap: 3px; overflow-x: auto; }
.asset-filter-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.asset-filter-tools .compact-search .input { width: 220px; }
.asset-list { display: grid; gap: 10px; padding: 12px; background: #f6f8fb; }
.asset-card { overflow: hidden; border: 1px solid var(--line); box-shadow: none; }
.asset-card.is-expanded { border-color: #c8d8f2; box-shadow: 0 8px 22px rgba(43, 86, 145, .08); }
.asset-card-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 17px 18px 14px; }
.asset-card-title { display: flex; min-width: 0; align-items: flex-start; gap: 11px; }
.asset-kind-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); }
.asset-kind-icon svg { width: 16px; height: 16px; }
.asset-title-line { display: flex; min-width: 0; align-items: center; gap: 8px; }
.asset-title-button { max-width: min(720px, 100%); padding: 0; overflow: hidden; border: 0; color: var(--ink-strong); background: transparent; font-size: 14px; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.asset-title-button:hover { color: var(--blue); }
.asset-card-title p { margin: 6px 0 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.asset-card-actions { display: flex; align-items: center; gap: 8px; }
.asset-card-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); background: #fbfcfe; }
.asset-card-metrics > div { min-width: 0; min-height: 82px; padding: 13px 16px; border-right: 1px solid var(--line); }
.asset-card-metrics > div:last-child { border-right: 0; }
.asset-card-metrics small { display: block; color: var(--muted-2); font-size: 9px; }
.asset-card-metrics b { display: block; min-width: 0; margin-top: 6px; overflow: hidden; color: var(--ink-strong); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.asset-card-metrics b.asset-citation-value { color: #385b8d; }
.asset-card-metrics span { display: block; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.asset-source-status { display: inline-flex; margin-top: 0 !important; color: inherit; font-weight: 600; }
.asset-source-status.status-approved { color: var(--green); background: var(--green-soft); }
.asset-source-status.status-pending { color: var(--amber); background: var(--amber-soft); }
.asset-detail { border-top: 1px solid var(--line); background: white; }
.asset-detail-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 18px; padding: 18px; }
.asset-detail-grid > section { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.asset-detail-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.asset-detail-head h4 { margin: 0; color: var(--ink-strong); font-size: 12px; }
.asset-detail-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.asset-platform-list { display: grid; gap: 7px; }
.asset-platform-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: center; min-height: 52px; padding: 8px 9px; border: 1px solid #e4eaf2; border-radius: 8px; background: white; }
.asset-platform-name { display: flex; min-width: 0; align-items: center; gap: 8px; }
.asset-platform-name > span:last-child { min-width: 0; }
.asset-platform-name b { display: block; color: var(--ink); font-size: 10px; }
.asset-platform-name small { display: block; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.asset-platform-row > div:nth-child(2) { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.asset-url { color: var(--blue); font-size: 9px; }
.asset-url:hover { text-decoration: underline; }
.asset-url-muted { color: var(--muted-2); font-size: 9px; }
.asset-platform-time { color: var(--muted-2); font-size: 8px; white-space: nowrap; }
.asset-publications { margin-top: 14px; padding-top: 13px; border-top: 1px solid #e4eaf2; }
.asset-publication-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.asset-publication-head b { display: block; color: var(--ink-strong); font-size: 10px; }
.asset-publication-head small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.asset-publication-row { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.4fr) auto; gap: 9px; align-items: center; min-height: 47px; padding: 7px 8px; border: 1px solid #e4eaf2; border-radius: 8px; background: #fff; }
.asset-publication-row + .asset-publication-row { margin-top: 6px; }
.asset-publication-url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-publication-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; white-space: nowrap; }
.danger-text { color: #b42318 !important; }
.asset-publication-empty { padding: 9px; border: 1px dashed #dce4ee; border-radius: 8px; color: var(--muted); background: #fff; font-size: 9px; }
.asset-citation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 18px 18px; }
.asset-citation-facts > section { min-width: 0; overflow: hidden; border: 1px solid #dce5f2; border-radius: 10px; background: #fbfcfe; }
.asset-citation-facts > section > header { padding: 12px 13px 10px; border-bottom: 1px solid #e4eaf2; background: #f7faff; }
.asset-citation-facts > section > header b { display: block; color: var(--ink-strong); font-size: 10px; }
.asset-citation-facts > section > header small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.asset-citation-facts .asset-publication-empty { margin: 10px; }
.asset-citation-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: center; min-height: 53px; padding: 9px 12px; border-bottom: 1px solid #e8edf4; background: #fff; }
.asset-citation-row:last-child { border-bottom: 0; }
.asset-citation-row > div { min-width: 0; }
.asset-citation-row b { display: block; overflow: hidden; color: var(--ink); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.asset-citation-row small { display: block; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.asset-citation-row > span { color: var(--muted-2); font-size: 8px; white-space: nowrap; }
.asset-citation-row > a { color: var(--blue); font-size: 8px; white-space: nowrap; }
.asset-alert-row { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; align-items: start; min-height: 53px; padding: 10px 12px; border-bottom: 1px solid #e8edf4; background: #fff; }
.asset-alert-row:last-child { border-bottom: 0; }
.asset-alert-row > span { color: #9a6a19; }
.asset-alert-row.critical > span { color: #b42318; }
.asset-alert-row svg { width: 15px; height: 15px; }
.asset-alert-row b { display: block; color: var(--ink); font-size: 9px; }
.asset-alert-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.asset-empty-note { display: flex; align-items: center; gap: 7px; padding: 12px; border: 1px dashed #d6e0ec; border-radius: 8px; color: var(--muted); background: white; font-size: 9px; line-height: 1.5; }
.asset-empty-note svg { width: 15px; height: 15px; flex: 0 0 auto; color: var(--muted-2); }
.asset-monitor-card { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #dce6f5; border-radius: 9px; background: white; }
.asset-monitor-icon { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.asset-monitor-icon svg { width: 15px; height: 15px; }
.asset-monitor-card b { display: block; color: var(--ink-strong); font-size: 12px; }
.asset-monitor-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.asset-detail-links { display: flex; gap: 8px; margin-top: 9px; }
.asset-detail-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); background: #fbfcfe; font-size: 9px; }
.asset-detail-footer > span { padding-right: 12px; border-right: 1px solid var(--line); }
.asset-detail-footer > span:last-of-type { border-right: 0; }
.asset-detail-footer b { color: var(--ink); font-weight: 600; }
.asset-detail-actions { display: flex; gap: 7px; margin-left: auto; }

/* 新建发布批次 */
.publish-composer-page { max-width: 1540px; }
.publish-flow-steps { display: flex; align-items: center; gap: 10px; margin: -4px 0 18px; color: var(--muted-2); font-size: 10px; }
.publish-flow-steps span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.publish-flow-steps span.active { color: var(--blue); font-weight: 700; }
.publish-flow-steps i { display: inline-grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: var(--muted); background: #edf1f6; font-size: 9px; font-style: normal; }
.publish-flow-steps span.active i { color: white; background: var(--blue); }
.publish-flow-steps b { color: #b4c0d0; font-weight: 400; }
.publish-composer-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 16px; align-items: start; }
.publish-composer-section { overflow: hidden; }
.publish-composer-section-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.publish-composer-section-head h3 { margin: 0; color: var(--ink-strong); font-size: 13px; }
.publish-composer-section-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.publish-picker-toolbar,
.publish-platform-actions { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border-bottom: 1px solid var(--line); background: #fbfcfe; }
.publish-picker-toolbar .compact-search,
.publish-platform-actions .compact-search { flex: 1; }
.publish-picker-toolbar .compact-search .input,
.publish-platform-actions .compact-search .input { width: 100%; }
.publish-article-list { max-height: 530px; overflow-y: auto; padding: 8px; }
.publish-article-row { display: grid; grid-template-columns: 21px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 68px; padding: 9px 10px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; }
.publish-article-row:hover { background: #f7faff; }
.publish-article-row.selected { border-color: #c9daf6; background: #f5f9ff; }
.publish-article-row.disabled { cursor: not-allowed; opacity: .62; }
.publish-article-row .checkbox { align-self: start; margin-top: 3px; }
.publish-article-row-copy { min-width: 0; }
.publish-article-row-copy b { display: block; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.publish-article-row-copy small { display: block; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.publish-article-row-status { display: grid; justify-items: end; gap: 4px; min-width: 82px; }
.publish-article-row-status small { max-width: 120px; color: var(--muted-2); font-size: 8px; text-align: right; }
.publish-category-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 10px 14px 0; background: #fbfcfe; }
.publish-category-tab { display: grid; min-height: 48px; align-content: center; gap: 3px; padding: 5px 8px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: transparent; text-align: left; }
.publish-category-tab:hover { background: #f4f7fc; }
.publish-category-tab.active { border-color: #cbdcf5; color: var(--blue); background: #f3f8ff; }
.publish-category-tab b { font-size: 10px; }
.publish-category-tab small { font-size: 8px; }
.publish-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px 14px 14px; }
.publish-platform-card { position: relative; display: block; min-height: 104px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; transition: border-color .15s, box-shadow .15s, background .15s; }
.publish-platform-card:hover { border-color: #bdd1ee; box-shadow: 0 4px 13px rgba(47, 85, 140, .08); }
.publish-platform-card.selected { border-color: #80aef0; background: #f5f9ff; box-shadow: inset 0 0 0 1px rgba(74, 126, 218, .12); }
.publish-platform-card.disabled { cursor: not-allowed; background: #f8fafc; opacity: .66; }
.publish-platform-card-top { display: flex; min-width: 0; align-items: center; gap: 7px; }
.publish-platform-card-top .checkbox { flex: 0 0 auto; }
.publish-platform-card-top .platform-logo { width: 27px; height: 27px; }
.publish-platform-card-name { min-width: 0; flex: 1; }
.publish-platform-card-name b { display: block; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.publish-platform-card-name small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.publish-platform-card-top .status-badge { flex: 0 0 auto; font-size: 8px; }
.publish-platform-card-meta { display: grid; gap: 3px; margin: 10px 0 0 25px; }
.publish-platform-card-meta span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.publish-platform-card-meta span:last-child { color: var(--muted-2); }
.publish-platform-role { position: absolute; right: 9px; bottom: 8px; color: var(--green); font-size: 8px; font-style: normal; }
.publish-platform-note { display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 7px; align-items: start; margin: 0 14px 14px; padding: 9px 10px; border: 1px solid #dce8f8; border-radius: 8px; color: #58708e; background: #f7faff; font-size: 9px; line-height: 1.55; }
.publish-platform-note > span:first-child { color: var(--blue); }
.publish-platform-note svg { width: 14px; height: 14px; }
.publish-delivery-config { margin-top: 16px; }
.publish-config-grid { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(170px, .5fr) minmax(330px, 1.2fr); gap: 14px; padding: 16px 18px 12px; }
.publish-config-grid .field { display: grid; align-content: start; gap: 6px; }
.publish-config-grid .field > span,
.publish-mode-picker > span,
.publish-order-config > span { color: var(--muted); font-size: 9px; font-weight: 600; }
.publish-config-grid .field small { color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.publish-mode-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 7px; }
.publish-mode-option { display: grid; min-height: 67px; align-content: center; gap: 3px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; cursor: pointer; }
.publish-mode-option.active { border-color: #9ebce9; background: #f5f9ff; }
.publish-mode-option input { position: absolute; opacity: 0; pointer-events: none; }
.publish-mode-option b { color: var(--ink); font-size: 10px; }
.publish-mode-option small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.publish-order-config { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 10px; align-items: start; padding: 0 18px 16px; }
.publish-order-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.publish-order-chip { display: inline-flex; min-height: 26px; align-items: center; gap: 4px; padding: 2px 4px 2px 8px; border: 1px solid #d4e1f5; border-radius: 999px; color: #315a92; background: #f5f9ff; font-size: 9px; font-weight: 600; }
.publish-order-chip button { display: grid; width: 18px; height: 18px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #6e88ad; background: transparent; font-size: 10px; }
.publish-order-chip button:hover:not(:disabled) { color: var(--blue); background: #e2ecff; }
.publish-order-chip button:disabled { cursor: not-allowed; opacity: .35; }
.publish-batch-summary { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 13px 18px; border-color: #c8d9f2; background: #f7faff; }
.publish-batch-summary > div:first-child { display: flex; min-width: 0; align-items: center; gap: 10px; }
.publish-summary-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 9px; color: var(--blue); background: #e5efff; }
.publish-summary-icon svg { width: 16px; height: 16px; }
.publish-batch-summary b { display: block; color: var(--ink-strong); font-size: 12px; }
.publish-batch-summary small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.publish-summary-actions { display: flex; flex: 0 0 auto; gap: 8px; }

@media (max-width: 1180px) {
  .publish-composer-grid { grid-template-columns: 1fr; }
  .publish-platform-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .publish-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-mode-picker { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .publish-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .publish-batch-summary { align-items: stretch; flex-direction: column; }
  .publish-summary-actions { width: 100%; }
  .publish-summary-actions > button { flex: 1; }
}

@media (max-width: 640px) {
  .publish-flow-steps { gap: 5px; overflow-x: auto; }
  .publish-flow-steps b { display: none; }
  .publish-flow-steps span { min-width: max-content; }
  .publish-composer-section-head { padding: 14px; }
  .publish-picker-toolbar,
  .publish-platform-actions { display: grid; grid-template-columns: 1fr; padding: 10px 12px; }
  .publish-article-list { max-height: 420px; padding: 7px; }
  .publish-article-row { grid-template-columns: 21px minmax(0, 1fr); }
  .publish-article-row-status { grid-column: 2; justify-items: start; }
  .publish-article-row-status small { max-width: none; text-align: left; }
  .publish-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px 12px 12px; }
  .publish-category-tabs { padding: 9px 12px 0; }
  .publish-category-tab { min-height: 44px; }
  .publish-category-tab small { display: none; }
  .publish-config-grid { grid-template-columns: 1fr; padding: 14px; }
  .publish-mode-picker { grid-column: auto; }
  .publish-order-config { grid-template-columns: 1fr; padding: 0 14px 14px; }
  .publish-batch-summary { margin-top: 12px; padding: 13px 14px; }
  .publish-summary-actions { display: grid; grid-template-columns: 1fr; }
}

.site-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, 0.72fr); gap: 18px; align-items: start; }
.browser-frame { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 12px; background: white; }
.browser-bar { display: flex; height: 38px; align-items: center; gap: 7px; padding: 0 12px; border-bottom: 1px solid var(--line); background: #f5f7fa; }
.browser-dots { display: flex; gap: 5px; }
.browser-dots i { width: 7px; height: 7px; border-radius: 50%; background: #c3ccd8; }
.browser-address { flex: 1; margin-left: 5px; padding: 4px 10px; border: 1px solid #e2e7ed; border-radius: 6px; color: var(--muted); background: white; font-size: 9px; }
.site-preview { min-height: 470px; background: white; }
.preview-nav { display: flex; height: 58px; align-items: center; justify-content: space-between; padding: 0 26px; border-bottom: 1px solid #edf0f3; }
.preview-brand { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; }
.preview-brand i { width: 22px; height: 22px; border-radius: 7px; background: var(--blue); }
.preview-links { display: flex; gap: 18px; color: #728095; font-size: 8px; }
.preview-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 18px; min-height: 245px; padding: 38px 34px; background: #f7f9fc; }
.preview-kicker { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.preview-hero h3 { max-width: 430px; margin: 9px 0 11px; color: #101827; font-size: clamp(21px, 2.2vw, 34px); line-height: 1.2; letter-spacing: -1px; }
.preview-hero p { max-width: 430px; margin: 0; color: #677489; font-size: 9px; line-height: 1.7; }
.preview-cta { display: inline-block; margin-top: 17px; padding: 7px 13px; border-radius: 5px; color: white; background: var(--blue); font-size: 8px; }
.preview-visual { position: relative; display: grid; min-height: 170px; place-items: center; overflow: hidden; border-radius: 14px; background: #102343; }
.preview-visual::before,
.preview-visual::after { position: absolute; border: 1px solid rgba(128, 171, 255, 0.22); border-radius: 50%; content: ""; }
.preview-visual::before { width: 210px; height: 210px; }
.preview-visual::after { width: 135px; height: 135px; }
.visual-core { position: relative; z-index: 1; display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: white; background: rgba(54, 104, 208, 0.36); font-size: 18px; font-weight: 700; }
.preview-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 0 24px 20px; background: #f7f9fc; }
.preview-feature { min-height: 90px; padding: 16px; border: 1px solid #e8edf3; background: white; }
.preview-feature b { display: block; color: #152033; font-size: 9px; }
.preview-feature p { margin: 5px 0 0; color: #7b8798; font-size: 7px; }

.site-side-list { padding: 7px 18px 14px; }
.site-side-item { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.site-side-item:last-child { border-bottom: 0; }
.site-side-item b { display: block; font-size: 11px; }
.site-side-item small { display: block; color: var(--muted); font-size: 9px; }
.site-side-item > span:last-child { color: var(--muted-2); font-size: 10px; }
.site-health { margin-top: 18px; padding: 16px 18px; border: 1px solid #d8ebdf; border-radius: 12px; background: #f6fcf8; }
.site-health-head { display: flex; align-items: center; justify-content: space-between; }
.site-health h4 { margin: 0; font-size: 12px; }
.site-health p { margin: 6px 0 12px; color: var(--muted); font-size: 10px; }

.knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.knowledge-card { min-height: 184px; padding: 18px; }
.knowledge-card-head { display: flex; align-items: flex-start; justify-content: space-between; }
.knowledge-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.knowledge-icon.teal { color: var(--teal); background: var(--teal-soft); }
.knowledge-icon.amber { color: var(--amber); background: var(--amber-soft); }
.knowledge-icon.purple { color: var(--purple); background: var(--purple-soft); }
.knowledge-icon svg { width: 18px; height: 18px; }
.knowledge-card h3 { margin: 17px 0 4px; color: var(--ink-strong); font-size: 14px; }
.knowledge-card p { min-height: 34px; margin: 0; color: var(--muted); font-size: 10px; }
.knowledge-card-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.knowledge-card-foot b { color: var(--ink); font-size: 13px; }

/* Enterprise knowledge: libraries, inheritance, evidence and citations */
.small-tag.purple { color: var(--purple); border-color: #e1d9fb; background: var(--purple-soft); }
.small-tag.amber { color: var(--amber); border-color: #f1d8b4; background: var(--amber-soft); }
.summary-card span.purple { color: var(--purple); background: var(--purple-soft); }

.knowledge-tabs-row { margin-bottom: 16px; }
.knowledge-tabs-row .tabs { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.knowledge-tabs-row .small-tag { flex: 0 0 auto; }

.knowledge-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.knowledge-metrics .summary-card { min-width: 0; }
.knowledge-metrics .summary-card > div { min-width: 0; }
.knowledge-metrics .summary-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.knowledge-toolbar { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, .72); }
.knowledge-toolbar p { min-width: 0; margin: 0; color: var(--muted); font-size: 10px; text-align: right; }
.segmented-control { display: inline-flex; max-width: 100%; flex: 0 0 auto; gap: 3px; padding: 3px; overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; background: #eaf0f6; scrollbar-width: thin; }
.segmented-control button { min-width: 68px; min-height: 31px; padding: 0 11px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 11px; white-space: nowrap; }
.segmented-control button:hover { color: var(--ink); background: rgba(255, 255, 255, .58); }
.segmented-control button.active { color: var(--ink-strong); background: white; box-shadow: var(--shadow-sm); font-weight: 600; }

.knowledge-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.knowledge-library-card { display: flex; min-width: 0; min-height: 254px; flex-direction: column; overflow: hidden; padding: 18px; }
.knowledge-library-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.knowledge-library-badges { display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.knowledge-library-card h3 { margin: 16px 0 5px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 14px; line-height: 1.45; }
.knowledge-library-card > p { min-height: 34px; margin: 0 0 12px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.knowledge-library-scope { display: grid; min-width: 0; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 8px 9px; border: 1px solid #dce6f4; border-radius: 8px; color: #53667f; background: #f7faff; font-size: 9px; }
.knowledge-library-scope > span:first-child { display: grid; place-items: center; color: var(--blue); }
.knowledge-library-scope svg { width: 14px; height: 14px; }
.knowledge-library-scope b { color: var(--blue); font-size: 9px; letter-spacing: .3px; }
.knowledge-library-stats { display: flex; flex-wrap: wrap; gap: 7px 16px; margin-top: 12px; color: var(--muted); font-size: 9px; }
.knowledge-library-stats b { margin-right: 2px; color: var(--ink); font-size: 12px; }
.knowledge-library-open { display: flex; width: calc(100% + 36px); min-height: 43px; align-items: center; justify-content: space-between; gap: 12px; margin: auto -18px -18px; padding: 0 18px; border: 0; border-top: 1px solid var(--line); color: #315a99; background: #fbfdff; font-size: 10px; font-weight: 600; text-align: left; }
.knowledge-library-open:hover { color: var(--blue); background: var(--blue-soft); }
.knowledge-library-open svg { width: 14px; height: 14px; }
.knowledge-empty { grid-column: 1 / -1; }

.public-knowledge-banner { display: grid; grid-template-columns: auto minmax(180px, .8fr) minmax(260px, 1.25fr); gap: 14px; align-items: center; margin-bottom: 14px; padding: 16px 18px; border-color: #cfe4fb; background: linear-gradient(105deg, #f7fbff 0%, #ffffff 62%); }
.public-knowledge-banner > div { min-width: 0; }
.public-knowledge-banner h3 { margin: 0; color: var(--ink-strong); font-size: 14px; }
.public-knowledge-banner p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.public-base-list { display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.public-base-list button { display: inline-flex; max-width: 100%; min-height: 31px; align-items: center; gap: 8px; padding: 0 9px; overflow: hidden; border: 1px solid #dce8f8; border-radius: 8px; color: #36516f; background: white; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.public-base-list button:hover { border-color: #aac7f4; color: var(--blue); background: var(--blue-soft); }
.public-base-list button b { color: var(--blue); font-size: 9px; font-weight: 600; }

.knowledge-package-card { min-width: 0; overflow: hidden; padding: 17px 18px 0; }
.knowledge-package-head { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: center; }
.business-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #31558e; background: #e8f0fc; font-weight: 700; }
.knowledge-package-head > div { min-width: 0; }
.knowledge-package-head h3 { margin: 0; overflow: hidden; color: var(--ink-strong); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-package-head p { margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.inherit-chain { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; margin: 14px 0 11px; padding: 9px 11px; border: 1px solid #dce6f4; border-radius: 9px; color: #5c6f88; background: #f8faff; font-size: 9px; }
.inherit-chain svg { width: 13px; height: 13px; color: #a0aec0; }
.inherit-chain b { color: var(--teal); font-size: 10px; }
.knowledge-package-list { display: flex; min-height: 30px; align-items: center; flex-wrap: wrap; gap: 7px; }
.knowledge-package-chip { display: inline-flex; max-width: 100%; min-height: 29px; align-items: center; gap: 6px; padding: 3px 9px; border: 1px solid var(--line); border-radius: 999px; color: #40536c; background: var(--panel-soft); font-size: 9px; }
.knowledge-package-chip svg { width: 13px; height: 13px; color: var(--blue); }
.knowledge-package-note { margin: 14px -18px 0; padding: 11px 18px; border-top: 1px solid var(--line); color: var(--muted); background: #fbfcfe; font-size: 9px; }

.facts-layout { display: grid; min-width: 0; gap: 14px; }
.fact-summary { display: flex; min-width: 0; align-items: center; gap: 19px; padding: 20px; border-color: #d5e6fa; background: linear-gradient(110deg, #f7fbff, white); }
.fact-summary > div { min-width: 0; }
.fact-summary h3 { margin: 0; color: var(--ink-strong); font-size: 15px; }
.fact-summary p { margin: 4px 0 12px; color: var(--muted); font-size: 10px; }
.completion-ring { display: grid; width: 72px; height: 72px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: conic-gradient(var(--blue) 0 86%, #dce8f7 86%); }
.completion-ring::before { grid-area: 1 / 1; width: 54px; height: 54px; border-radius: 50%; background: white; content: ""; }
.completion-ring b { z-index: 1; grid-area: 1 / 1; color: var(--blue); font-size: 15px; }
.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fact-card { min-width: 0; min-height: 124px; padding: 16px; }
.fact-card > span { display: block; color: var(--muted); font-size: 9px; }
.fact-card > b { display: block; margin-top: 7px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 13px; line-height: 1.45; }
.fact-card p { margin: 8px 0 0; color: var(--muted-2); font-size: 9px; line-height: 1.6; }

.knowledge-review-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: 14px; align-items: start; }
.knowledge-review-grid > * { min-width: 0; }
.empty-state.compact { min-height: 190px; padding: 22px; }
.empty-state.compact span { width: 42px; height: 42px; border-radius: 12px; }
.knowledge-gap-list { display: grid; gap: 9px; padding: 12px 14px 14px; }
.knowledge-gap-card { display: grid; min-width: 0; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #efd9b7; border-radius: 10px; background: #fffdf8; }
.gap-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--amber); background: var(--amber-soft); }
.gap-icon svg { width: 15px; height: 15px; }
.knowledge-gap-card > div { min-width: 0; }
.knowledge-gap-card b { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 10px; }
.knowledge-gap-card p { margin: 3px 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.knowledge-gap-card small { display: block; color: var(--muted-2); font-size: 8px; }

.knowledge-type-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.knowledge-type-picker label { position: relative; display: grid; min-width: 0; grid-template-columns: 40px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--line-strong); border-radius: 11px; background: white; cursor: pointer; }
.knowledge-type-picker label:hover { border-color: #b7c9e6; background: #fbfdff; }
.knowledge-type-picker label:has(input:checked) { border-color: #8fb0f1; background: #f7faff; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08); }
.knowledge-type-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.knowledge-type-picker .knowledge-icon { grid-row: 1 / 3; }
.knowledge-type-picker b { min-width: 0; overflow: hidden; color: var(--ink-strong); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-type-picker small { min-width: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }

.knowledge-detail-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
.knowledge-detail-summary > div { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.knowledge-detail-summary span { display: block; color: var(--muted); font-size: 9px; }
.knowledge-detail-summary b { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 16px; }
.inline-head { min-width: 0; padding: 0 0 12px; border-bottom: 0; }
.inline-head > div { min-width: 0; }
.inline-head p { overflow-wrap: anywhere; }
.knowledge-detail-table { border: 1px solid var(--line); border-radius: 10px; }
.knowledge-detail-table .data-table { min-width: 700px; }

.source-document { padding: 18px; border: 1px solid #d8e4f4; border-radius: 12px; background: linear-gradient(135deg, #fbfdff, #f7faff); }
.source-document > span { display: inline-flex; min-height: 24px; align-items: center; padding: 2px 8px; border-radius: 999px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 600; }
.source-document h3 { margin: 15px 0 8px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 14px; }
.source-document p { margin: 12px 0 0; overflow-wrap: anywhere; color: #3c4d64; font-size: 11px; line-height: 1.85; white-space: pre-wrap; }

.knowledge-scope-block + .knowledge-scope-block { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.knowledge-scope-block h3 { margin: 0; color: var(--ink-strong); font-size: 13px; }
.knowledge-scope-block > p { margin: 3px 0 10px; color: var(--muted); font-size: 9px; }
.knowledge-check-row { display: grid; min-width: 0; grid-template-columns: 18px 34px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 61px; margin-top: 8px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.knowledge-check-row:hover { border-color: #b9cae4; background: #fbfdff; }
.knowledge-check-row.locked { border-color: #d8e8e3; background: #f8fdfa; cursor: default; }
.knowledge-check-row > input { margin: 0; }
.knowledge-check-row.locked > input { width: 17px; height: 17px; accent-color: var(--teal); }
.knowledge-check-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--blue); background: var(--blue-soft); }
.knowledge-check-icon svg { width: 15px; height: 15px; }
.knowledge-check-row > span:nth-of-type(2) { min-width: 0; }
.knowledge-check-row b { display: block; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-check-row small { display: block; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-check-row em { max-width: 130px; overflow: hidden; color: var(--muted-2); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }

.section-title { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; }
.section-title > div { min-width: 0; }
.section-title h3 { margin: 0; color: var(--ink-strong); font-size: 12px; }
.section-title p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.section-title > .small-tag { flex: 0 0 auto; }
.plan-knowledge-panel { margin-top: 16px; padding: 14px; border: 1px solid #d7e5f7; border-radius: 12px; background: #f8fbff; }
.plan-knowledge-list { display: grid; gap: 8px; margin-top: 12px; }
.plan-knowledge-row { margin-top: 0; background: rgba(255, 255, 255, .92); }

.knowledge-count-button { max-width: 100%; padding: 0; border: 0; color: var(--blue); background: transparent; font-size: 10px; text-align: left; white-space: nowrap; }
.knowledge-count-button:hover { text-decoration: underline; }
.knowledge-count-button b { font-size: 12px; }

.generation-preview { min-width: 0; }
.generation-chain { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid #dce7f7; border-radius: 10px; color: #536880; background: #f8faff; font-size: 9px; }
.generation-chain svg { width: 13px; height: 13px; color: #9aa9bc; }
.generation-chain b { color: var(--blue); font-size: 10px; }
.generation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.generation-summary > div { min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.generation-summary span { display: block; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.generation-summary b { display: block; margin-top: 3px; color: var(--ink-strong); font-size: 18px; }
.generation-summary b.good { color: var(--green); }
.generation-section { margin-top: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.geo-brief-preview { border-color: #cfe2f5; background: #f8fbff; }
.geo-brief-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 11px; }
.geo-brief-grid > div { min-width: 0; padding: 9px 10px; border: 1px solid #dce8f5; border-radius: 8px; background: rgba(255,255,255,.82); }
.geo-brief-grid span { display: block; color: var(--muted); font-size: 8px; }
.geo-brief-grid b { display: block; margin-top: 3px; overflow-wrap: anywhere; color: var(--ink); font-size: 10px; line-height: 1.45; }
.geo-brief-preview .topic-tags { margin-top: 10px; }
.generation-base-list,
.generation-evidence-list { display: grid; gap: 7px; margin-top: 11px; }
.generation-base-row { display: grid; min-width: 0; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 54px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.generation-base-row > span:nth-child(2) { min-width: 0; }
.generation-base-row b { display: block; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.generation-base-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.generation-base-row em { color: var(--teal); font-size: 8px; font-style: normal; white-space: nowrap; }
.generation-evidence-row { display: grid; min-width: 0; grid-template-columns: 29px minmax(0, 1fr); gap: 10px; padding: 11px; border: 1px solid #dce5f2; border-radius: 9px; background: #fbfcfe; }
.generation-evidence-row > b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); font-size: 9px; }
.generation-evidence-row > span { min-width: 0; }
.generation-evidence-row strong { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 10px; }
.generation-evidence-row small { display: block; margin-top: 2px; overflow: hidden; color: var(--muted-2); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.generation-evidence-row p { margin: 6px 0 0; overflow-wrap: anywhere; color: #526277; font-size: 9px; line-height: 1.6; }
.knowledge-gap-warning { display: grid; min-width: 0; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; margin-top: 13px; padding: 12px; border: 1px solid #efd5ad; border-radius: 10px; background: var(--amber-soft); }
.knowledge-gap-warning > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--amber); background: white; }
.knowledge-gap-warning svg { width: 16px; height: 16px; }
.knowledge-gap-warning b { display: block; color: #845008; font-size: 10px; }
.knowledge-gap-warning p { margin: 3px 0 0; overflow-wrap: anywhere; color: #8b641f; font-size: 9px; line-height: 1.55; }
.strict-mode-row { display: grid; min-width: 0; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; margin-top: 10px; padding: 11px 12px; border: 1px solid #cde4d9; border-radius: 10px; background: #f8fdfa; cursor: pointer; }
.strict-mode-row .checkbox { margin: 1px 0 0; }
.strict-mode-row b { display: block; color: var(--ink); font-size: 10px; }
.strict-mode-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.55; }

.knowledge-update-banner { display: grid; min-width: 0; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; margin-bottom: 14px; padding: 12px; border: 1px solid #ecd4ae; border-radius: 10px; background: #fffaf1; }
.knowledge-update-banner > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: var(--amber); background: white; }
.knowledge-update-banner svg { width: 17px; height: 17px; }
.knowledge-update-banner b { display: block; color: #7e510e; font-size: 10px; }
.knowledge-update-banner p { margin: 3px 0 0; color: #816a43; font-size: 9px; line-height: 1.55; }
.knowledge-update-banner.danger { border-color: #efc7cb; background: var(--red-soft); }
.knowledge-update-banner.danger > span { color: var(--red); }
.knowledge-update-banner.danger b { color: #8f2933; }
.knowledge-update-banner.danger p { color: #8b4b52; }
.article-content.read-only { cursor: default; opacity: .9; }

.article-citation-list { display: grid; gap: 6px; }
.article-citation-row { display: grid; width: 100%; min-width: 0; grid-template-columns: 26px minmax(0, 1fr) 14px; gap: 7px; align-items: center; padding: 7px; border: 1px solid var(--line); border-radius: 8px; color: inherit; background: white; text-align: left; }
.article-citation-row:hover { border-color: #b8cdec; background: #f8fbff; }
.article-citation-row > b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 8px; }
.article-citation-row > span:nth-child(2) { min-width: 0; }
.article-citation-row strong { display: block; overflow: hidden; color: var(--ink); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.article-citation-row small { display: block; margin-top: 1px; overflow: hidden; color: var(--muted-2); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.article-citation-row > span:last-child { color: var(--muted-2); }
.article-citation-row svg { width: 12px; height: 12px; }
.article-asset-row { grid-template-columns: 26px minmax(0, 1fr) auto; }
.article-asset-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.article-asset-actions .link-button { padding: 2px 3px; font-size: 7px; }
.citation-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 7px; margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--line); }
.citation-summary span { color: var(--muted); font-size: 8px; }
.citation-summary b { color: var(--green); font-size: 10px; }
.citation-summary small { grid-column: 1 / -1; color: var(--muted-2); font-size: 7px; }
.snapshot-note { display: flex; align-items: flex-start; gap: 5px; margin: 8px 0 0; color: var(--muted-2) !important; font-size: 7px !important; line-height: 1.5 !important; }
.snapshot-note svg { width: 11px; height: 11px; flex: 0 0 auto; margin-top: 1px; color: var(--teal); }
.knowledge-missing-inline { display: flex; align-items: flex-start; gap: 7px; padding: 8px; border: 1px solid #efd8b9; border-radius: 8px; color: #8c641f; background: var(--amber-soft); font-size: 8px; line-height: 1.5; }
.knowledge-missing-inline > span:first-child { flex: 0 0 auto; }
.knowledge-missing-inline svg { width: 13px; height: 13px; }
.citation-marker { display: inline-flex; min-height: 20px; align-items: center; justify-content: center; margin: 0 2px; padding: 1px 5px; border: 1px solid #bdd1f5; border-radius: 5px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 700; line-height: 1; vertical-align: .12em; }
.citation-marker:hover { border-color: var(--blue); background: #dfeaff; }
.knowledge-omission-note { padding: 9px 11px; border-left: 3px solid var(--amber); border-radius: 0 7px 7px 0; color: #765c32; background: var(--amber-soft); font-size: 10px; }
.agent-article-cta { margin-top: 18px !important; padding-top: 12px; border-top: 1px solid var(--line); color: #365f9d; font-weight: 600; }

.citation-proof { padding: 16px; border: 1px solid #d8e5f6; border-radius: 11px; background: #f8fbff; }
.citation-proof > span { display: block; margin-bottom: 8px; color: var(--blue); font-size: 9px; font-weight: 600; }
.citation-proof blockquote { margin: 0; overflow-wrap: anywhere; color: #34465d; font-size: 12px; line-height: 1.8; white-space: pre-wrap; }
.citation-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.citation-map > span { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.citation-map small { display: block; color: var(--muted); font-size: 8px; }
.citation-map b { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--ink); font-size: 9px; line-height: 1.45; }

/* Writing agents: reusable writing profiles, frozen plan snapshots and article revisions */
.content-section-tabs {
  display: grid;
  width: min(100%, 620px);
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 17px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #eaf0f6;
}
.content-section-tabs button {
  display: grid;
  min-width: 0;
  min-height: 52px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 7px 11px;
  border: 0;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
  text-align: left;
}
.content-section-tabs button:hover { color: var(--ink); background: rgba(255, 255, 255, .62); }
.content-section-tabs button.active { color: var(--blue); background: white; box-shadow: var(--shadow-sm); }
.content-section-tabs button > span:first-child { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: inherit; background: rgba(255, 255, 255, .68); }
.content-section-tabs button.active > span:first-child { background: var(--blue-soft); }
.content-section-tabs svg { width: 16px; height: 16px; }
.content-section-tabs button > span:last-child { min-width: 0; }
.content-section-tabs b,
.content-section-tabs small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-section-tabs b { color: var(--ink); font-size: 11px; }
.content-section-tabs button.active b { color: var(--blue); }
.content-section-tabs small { margin-top: 1px; color: var(--muted-2); font-size: 8px; }

.writing-agent-principle {
  display: grid;
  min-width: 0;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  margin-bottom: 20px;
  padding: 13px 15px;
  border: 1px solid #d3e2f8;
  border-radius: 12px;
  color: #49617f;
  background: linear-gradient(110deg, #f6faff, #fbfdff);
}
.writing-agent-principle > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--blue); background: white; box-shadow: var(--shadow-sm); }
.writing-agent-principle svg { width: 17px; height: 17px; }
.writing-agent-principle div { min-width: 0; }
.writing-agent-principle b { display: block; color: #25476f; font-size: 11px; }
.writing-agent-principle p { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 9px; line-height: 1.6; }

.writing-agent-group { min-width: 0; }
.writing-agent-group + .writing-agent-group { margin-top: 27px; padding-top: 23px; border-top: 1px solid var(--line); }
.writing-agent-group-head { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.writing-agent-group-head > div { min-width: 0; }
.writing-agent-group-head h3 { margin: 0; color: var(--ink-strong); font-size: 15px; }
.writing-agent-group-head p { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 9px; line-height: 1.55; }
.writing-agent-group-head > span { display: inline-flex; min-width: 47px; min-height: 25px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 2px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: white; font-size: 9px; font-weight: 600; }
.writing-agent-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.writing-agent-grid > * { min-width: 0; }

.writing-agent-card { display: flex; min-width: 0; min-height: 320px; flex-direction: column; overflow: hidden; padding: 17px 17px 0; }
.writing-agent-card.inactive { border-style: dashed; background: #fbfcfe; }
.writing-agent-card.inactive > :not(.writing-agent-card-foot) { opacity: .66; }
.writing-agent-card-head { display: grid; min-width: 0; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 11px; align-items: start; }
.writing-agent-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 12px; color: #315caa; background: var(--blue-soft); font-size: 14px; font-weight: 700; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .07); }
.writing-agent-avatar.blue { color: #315caa; background: var(--blue-soft); }
.writing-agent-avatar.teal { color: var(--teal); background: var(--teal-soft); box-shadow: inset 0 0 0 1px rgba(15, 118, 110, .07); }
.writing-agent-avatar.amber { color: var(--amber); background: var(--amber-soft); box-shadow: inset 0 0 0 1px rgba(181, 106, 8, .07); }
.writing-agent-avatar.violet { color: var(--purple); background: var(--purple-soft); box-shadow: inset 0 0 0 1px rgba(113, 85, 197, .07); }
.writing-agent-avatar.rose { color: var(--red); background: var(--red-soft); box-shadow: inset 0 0 0 1px rgba(195, 61, 69, .07); }
.writing-agent-title { min-width: 0; }
.writing-agent-title > div { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 5px; }
.writing-agent-title h3 { min-width: 0; margin: 0 2px 0 0; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 13px; line-height: 1.4; }
.writing-agent-title p { min-height: 31px; margin: 5px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 9px; line-height: 1.6; }
.writing-agent-version { display: inline-flex; min-height: 23px; align-items: center; padding: 2px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--panel-soft); font-size: 8px; font-weight: 700; white-space: nowrap; }
.writing-agent-profile { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 15px; }
.writing-agent-profile > div { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.writing-agent-profile span,
.writing-agent-profile b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.writing-agent-profile span { color: var(--muted-2); font-size: 8px; }
.writing-agent-profile b { margin-top: 3px; color: var(--ink); font-size: 9px; font-weight: 600; }
.writing-agent-tags { display: flex; min-width: 0; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.agent-default-note { display: flex; min-width: 0; align-items: center; gap: 6px; margin-top: 11px; padding: 7px 9px; border: 1px solid #cfe8dc; border-radius: 8px; color: #34745d; background: #f6fcf9; font-size: 8px; line-height: 1.5; }
.agent-default-note svg { width: 12px; height: 12px; flex: 0 0 auto; }
.writing-agent-card-foot { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; margin: auto -17px 0; padding: 12px 17px; border-top: 1px solid var(--line); background: #fbfcfe; }
.writing-agent-card-foot > span { flex: 0 1 auto; color: var(--muted-2); font-size: 8px; white-space: nowrap; }
.writing-agent-card-foot > div { display: flex; min-width: 0; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.writing-agent-card-foot button { min-width: 0; }

.article-agent-cell { display: grid; min-width: 120px; max-width: 220px; gap: 2px; }
.article-agent-cell b,
.article-agent-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.article-agent-cell b { color: var(--ink); font-size: 10px; }
.article-agent-cell small { color: var(--muted-2); font-size: 8px; }
.article-agent-cell.legacy b { color: var(--muted); font-weight: 500; }

.content-task-switcher { display: inline-grid; width: min(100%, 430px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-bottom: 15px; padding: 4px; border: 1px solid var(--line); border-radius: 11px; background: #eaf0f6; }
.content-task-switcher button { display: grid; min-width: 0; min-height: 45px; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; align-items: center; padding: 6px 10px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; text-align: left; }
.content-task-switcher button:hover { color: var(--ink); background: rgba(255,255,255,.62); }
.content-task-switcher button.active { color: var(--blue); background: white; box-shadow: var(--shadow-sm); }
.content-task-switcher button > span:first-child { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: inherit; background: rgba(255,255,255,.72); }
.content-task-switcher button.active > span:first-child { background: var(--blue-soft); }
.content-task-switcher svg { width: 14px; height: 14px; }
.content-task-switcher b,
.content-task-switcher small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-task-switcher b { color: var(--ink); font-size: 10px; }
.content-task-switcher button.active b { color: var(--blue); }
.content-task-switcher small { margin-top: 1px; color: var(--muted-2); font-size: 8px; }
.content-plan-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 15px; }
.content-plan-table { min-width: 1040px; }
.content-plan-table td:nth-child(1) { min-width: 235px; }
.content-plan-table td:nth-child(3) { min-width: 245px; }
.plan-name-button { max-width: 330px; overflow: hidden; border: 0; color: var(--ink-strong); background: transparent; font-size: 11px; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.plan-name-button:hover { color: var(--blue); }
.plan-progress { display: grid; min-width: 205px; grid-template-columns: minmax(90px, 1fr) auto; gap: 8px; align-items: center; }
.plan-progress-track { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: #e7edf5; }
.plan-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #5d8cf2); }
.plan-progress-meta { display: flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.plan-progress-meta b { color: var(--ink); font-size: 9px; }
.plan-progress-meta small { color: var(--muted-2); font-size: 8px; }
.plan-progress-meta .plan-progress-complete { color: var(--green); }
.plan-progress-meta .plan-progress-missing { color: var(--amber); }
.plan-status-list { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.content-article-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.content-article-toolbar .filter-tools { flex-wrap: wrap; justify-content: flex-end; }
.content-article-header-actions { flex-wrap: wrap; }
.content-plan-filter { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.content-plan-filter .select { width: 190px; height: 34px; min-height: 34px; padding-top: 4px; padding-bottom: 4px; font-size: 9px; }
.content-advanced-filters { display: flex; align-items: end; gap: 10px; padding: 10px 12px; margin: -4px 0 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.content-advanced-filters label { display: grid; gap: 5px; min-width: 172px; color: var(--muted); font-size: 10px; }
.content-advanced-filters .select { min-height: 34px; font-size: 11px; }
.knowledge-structured-section { margin-top: 16px; }
.knowledge-structured-section > .card-header { margin: 0 0 10px; }
.content-article-table { min-width: 1480px; }
.content-article-table td:nth-child(1) { min-width: 280px; }
.content-article-table td:nth-child(2) { min-width: 220px; }
.article-title-select { display: flex; min-width: 0; align-items: flex-start; gap: 8px; }
.article-title-select > span { min-width: 0; }
.article-title-select .checkbox { flex: 0 0 auto; margin-top: 1px; }
.article-select-checkbox:disabled { cursor: not-allowed; opacity: .45; }
.article-bulk-row { justify-content: flex-start; flex-wrap: wrap; gap: 12px; margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: #fbfcfe; }
.article-bulk-row .article-bulk-summary { margin-right: auto; color: var(--muted); font-size: 10px; }
.article-bulk-row .article-bulk-summary b { color: var(--blue); }
.batch-review-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.batch-review-summary > div { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); }
.batch-review-summary > div.ready { border-color: #cde8d8; background: var(--green-soft); }
.batch-review-summary > div.blocked { border-color: #efd6b1; background: var(--amber-soft); }
.batch-review-summary span, .batch-review-summary small { display: block; color: var(--muted); font-size: 8px; }
.batch-review-summary b { display: block; margin: 3px 0; color: var(--ink-strong); font-size: 19px; }
.batch-review-list { display: grid; max-height: 330px; gap: 7px; overflow: auto; }
.batch-review-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.batch-review-item.blocked { background: #fffaf4; }
.batch-review-state { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--green); background: var(--green-soft); }
.batch-review-item.blocked .batch-review-state { color: var(--amber); background: var(--amber-soft); }
.batch-review-state svg { width: 14px; height: 14px; }
.batch-review-item b, .batch-review-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.batch-review-item b { color: var(--ink-strong); font-size: 10px; }
.batch-review-item small { margin-top: 3px; color: var(--muted-2); font-size: 8px; }
.article-source-cell { display: grid; max-width: 245px; gap: 3px; }
.article-source-cell .link-button { max-width: 100%; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.article-source-cell b { color: var(--ink); font-size: 9px; }
.article-source-cell small { display: block; overflow: hidden; color: var(--muted-2); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.article-source-cell.direct b { color: var(--purple); }
.article-task-placeholder { display: grid; gap: 3px; }
.article-task-placeholder b { color: var(--ink); font-size: 10px; }
.article-task-placeholder small { color: var(--muted-2); font-size: 8px; }
.article-task-uncreated { background: #fbfcfe; }

.plan-agent-panel { min-width: 0; margin-top: 16px; padding: 14px; border: 1px solid #d4e1f6; border-radius: 12px; background: linear-gradient(120deg, #f7faff, #fbfdff); }
.plan-agent-panel > .select { margin-top: 12px; }
.plan-agent-summary { display: grid; min-width: 0; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: center; margin-top: 9px; padding: 10px; border: 1px solid #dae5f4; border-radius: 10px; background: white; }
.plan-agent-summary .writing-agent-avatar { width: 38px; height: 38px; border-radius: 10px; font-size: 12px; }
.plan-agent-summary > span:last-child { min-width: 0; }
.plan-agent-summary b,
.plan-agent-summary small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-agent-summary b { color: var(--ink); font-size: 10px; }
.plan-agent-summary small { margin-top: 2px; color: var(--muted); font-size: 8px; }

.plan-platform-hints { min-width: 0; margin-top: 12px; overflow: hidden; border: 1px solid #d9e3ef; border-radius: 11px; background: #fbfcfe; }
.plan-platform-hints summary { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto 18px; gap: 10px; align-items: center; padding: 12px 14px; cursor: pointer; list-style: none; }
.plan-platform-hints summary::-webkit-details-marker { display: none; }
.plan-platform-hints summary:focus-visible { outline: 3px solid rgba(37, 99, 235, .24); outline-offset: -3px; }
.plan-platform-hints summary::after { color: var(--muted-2); content: "+"; font-size: 17px; font-weight: 400; text-align: center; }
.plan-platform-hints[open] summary { border-bottom: 1px solid var(--line); background: white; }
.plan-platform-hints[open] summary::after { content: "−"; }
.plan-platform-hints summary > span:first-child { min-width: 0; }
.plan-platform-hints summary b,
.plan-platform-hints summary small { display: block; }
.plan-platform-hints summary b { color: var(--ink-strong); font-size: 11px; }
.plan-platform-hints summary small { margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 400; line-height: 1.5; }
.plan-platform-hint-body { padding: 12px 14px 14px; }
.plan-platform-hint-body > p { margin: 0 0 10px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.plan-platform-hint-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.plan-platform-hint-option { display: grid; min-width: 0; grid-template-columns: 17px 25px minmax(0, 1fr); gap: 8px; align-items: center; min-height: 52px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; }
.plan-platform-hint-option:hover { border-color: #b9cae4; background: #f8fbff; }
.plan-platform-hint-option:has(input:checked) { border-color: #9eb9eb; background: #f4f8ff; }
.plan-platform-hint-option .checkbox { margin: 0; }
.plan-platform-hint-option > span:last-child { min-width: 0; }
.plan-platform-hint-option b,
.plan-platform-hint-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-platform-hint-option b { color: var(--ink); font-size: 9px; }
.plan-platform-hint-option small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.generation-platform-hint { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 10px 12px; border: 1px solid #d8e4f6; border-radius: 10px; color: #526b8f; background: #f7faff; }
.generation-platform-hint > span:first-child { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.generation-platform-hint svg { width: 14px; height: 14px; }
.generation-platform-hint b,
.generation-platform-hint small { display: block; }
.generation-platform-hint b { color: var(--ink); font-size: 9px; }
.generation-platform-hint small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.5; }

.writing-agent-form { display: grid; min-width: 0; gap: 14px; }
.writing-agent-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.agent-form-section { display: grid; min-width: 0; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; }
.agent-form-section .field-row.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agent-form-section .field label small { margin-left: 4px; font-weight: 400; }
.agent-check-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.agent-check-grid label { display: grid; min-width: 0; min-height: 38px; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; align-items: center; padding: 8px 10px; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: 8px; color: #526177; background: white; font-size: 9px; font-weight: 500; cursor: pointer; }
.agent-check-grid label:hover { border-color: #b8cae5; background: #f8fbff; }
.agent-check-grid label:has(input:checked) { border-color: #a9c1ee; color: #315a99; background: #f7faff; }
.agent-check-grid .checkbox { margin: 0; }
.agent-prompt-details { min-width: 0; overflow: hidden; border: 1px solid #d8e3f2; border-radius: 10px; background: white; }
.agent-prompt-details summary { position: relative; padding: 11px 36px 11px 12px; color: #345276; font-size: 10px; font-weight: 700; cursor: pointer; list-style: none; }
.agent-prompt-details summary::-webkit-details-marker { display: none; }
.agent-prompt-details summary::after { position: absolute; top: 50%; right: 13px; color: var(--muted-2); content: "+"; font-size: 16px; font-weight: 400; transform: translateY(-50%); }
.agent-prompt-details[open] summary { border-bottom: 1px solid var(--line); }
.agent-prompt-details[open] summary::after { content: "−"; }
.agent-prompt-details > p { margin: 10px 12px 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.agent-prompt-details > .textarea { width: calc(100% - 24px); min-height: 148px; margin: 9px 12px 12px; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 10px; line-height: 1.65; }
.agent-policy-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.agent-policy-grid .strict-mode-row { height: 100%; margin-top: 0; }
.agent-knowledge-list { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.agent-knowledge-option { display: grid; min-width: 0; min-height: 52px; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; }
.agent-knowledge-option:hover { border-color: #b9cae4; background: #fbfdff; }
.agent-knowledge-option:has(input:checked) { border-color: #9db9ed; background: #f7faff; }
.agent-knowledge-option .checkbox { margin: 0; }
.agent-knowledge-option > span { min-width: 0; }
.agent-knowledge-option b,
.agent-knowledge-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agent-knowledge-option b { color: var(--ink); font-size: 9px; }
.agent-knowledge-option small { margin-top: 2px; color: var(--muted); font-size: 8px; }

.generation-agent-section { min-width: 0; margin-top: 13px; overflow: hidden; border: 1px solid #ceddf3; border-radius: 12px; background: linear-gradient(120deg, #f7faff, white); }
.generation-agent-section.invalid { border-color: #efc7cb; background: var(--red-soft); }
.generation-agent-main { display: grid; min-width: 0; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 14px; }
.generation-agent-main > div { min-width: 0; }
.generation-agent-main > div > span { display: block; color: var(--muted); font-size: 8px; }
.generation-agent-main h3 { margin: 2px 0 0; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 13px; }
.generation-agent-main h3 em { color: var(--blue); font-size: 9px; font-style: normal; }
.generation-agent-main p { margin: 2px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 8px; }
.generation-agent-main > .status-badge { justify-self: end; }
.generation-agent-rules { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-top: 1px solid #dae5f4; border-bottom: 1px solid #dae5f4; background: #dae5f4; }
.generation-agent-rules > span { min-width: 0; padding: 10px 12px; overflow-wrap: anywhere; color: #475a72; background: rgba(255, 255, 255, .94); font-size: 8px; line-height: 1.55; }
.generation-agent-rules b { display: block; margin-bottom: 3px; color: var(--muted-2); font-size: 8px; font-weight: 500; }
.agent-priority-note { margin: 0; padding: 10px 14px; overflow-wrap: anywhere; color: #566981; background: rgba(248, 251, 255, .8); font-size: 8px; line-height: 1.6; }
.agent-priority-note b { color: var(--teal); }
.agent-version-update { display: grid; min-width: 0; grid-template-columns: 17px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 9px 14px; border-top: 1px solid #ead6b5; color: #765c32; background: var(--amber-soft); font-size: 8px; }
.agent-version-update > span:first-child { display: grid; place-items: center; color: var(--amber); }
.agent-version-update svg { width: 14px; height: 14px; }
.agent-version-update .text-button { min-height: 27px; font-size: 9px; }

.current-agent-chip { display: grid; min-width: 0; grid-template-columns: 36px minmax(0, 1fr); gap: 9px; align-items: center; padding: 9px; border: 1px solid #d4e1f4; border-radius: 9px; background: white; }
.current-agent-chip .writing-agent-avatar { width: 36px; height: 36px; border-radius: 9px; font-size: 11px; }
.current-agent-chip > span:last-child { min-width: 0; }
.current-agent-chip b,
.current-agent-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.current-agent-chip b { color: var(--ink); font-size: 9px; }
.current-agent-chip small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.agent-switch-label { display: block; margin: 11px 0 5px; color: #526177; font-size: 9px; font-weight: 600; }
.agent-regenerate-button { width: 100%; margin-top: 7px; white-space: normal; }

.article-version-list { display: grid; min-width: 0; gap: 6px; }
.article-version-row { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; color: inherit; background: white; text-align: left; }
button.article-version-row:hover { border-color: #b8cdec; background: #f8fbff; }
.article-version-row.current { border-color: #c9ddf8; background: var(--blue-soft); }
.article-version-row > span { min-width: 0; }
.article-version-row b,
.article-version-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.article-version-row b { color: var(--ink); font-size: 8px; }
.article-version-row small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.article-version-row em { color: var(--muted-2); font-size: 7px; font-style: normal; white-space: nowrap; }

.agent-regenerate-compare { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr); gap: 9px; align-items: stretch; }
.agent-regenerate-compare > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.agent-regenerate-compare > div:last-child { border-color: #bed4f5; background: #f7faff; }
.agent-regenerate-compare > div > span { display: block; color: var(--muted-2); font-size: 8px; }
.agent-regenerate-compare b { display: block; margin-top: 5px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 11px; line-height: 1.45; }
.agent-regenerate-compare small { display: block; margin-top: 5px; overflow-wrap: anywhere; color: var(--muted); font-size: 8px; line-height: 1.55; }
.agent-regenerate-compare > span { display: grid; width: 28px; place-items: center; color: var(--blue); }
.agent-regenerate-compare svg { width: 16px; height: 16px; }
.article-version-preview { min-width: 0; }
.article-version-preview > .generation-agent-section { margin-top: 0; }
.article-version-title { margin: 22px 2px 3px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 22px; line-height: 1.4; }
.article-version-preview .article-content { min-width: 0; overflow-wrap: anywhere; }

.workflow-card { margin-bottom: 18px; overflow: hidden; }
.workflow-steps { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 18px 20px 20px; }
.workflow-step { min-width: 112px; flex: 1; padding: 0; border: 0; color: var(--ink); background: transparent; text-align: center; }
.workflow-step > span { position: relative; display: grid; width: 44px; height: 44px; margin: 0 auto 9px; place-items: center; border: 1px solid #dce6f7; border-radius: 12px; color: var(--blue); background: var(--blue-soft); }
.workflow-step > span i { position: absolute; top: -6px; left: -6px; display: grid; width: 19px; height: 19px; place-items: center; border: 2px solid white; border-radius: 50%; color: white; background: var(--blue); font-size: 9px; font-style: normal; }
.workflow-step svg { width: 19px; height: 19px; }
.workflow-step strong { display: block; font-size: 12px; }
.workflow-step small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.workflow-step:hover > span { border-color: #a9c2f4; background: #e7f0ff; transform: translateY(-1px); }
.workflow-arrow { color: #b8c4d4; font-size: 16px; font-style: normal; }

.onboarding-card { padding: 17px; }
.onboarding-card-head { display: flex; align-items: center; gap: 11px; }
.onboarding-card-head > span:last-child { flex: 1; }
.onboarding-card-head small { display: block; color: var(--muted); font-size: 10px; }
.onboarding-card-head b { display: block; color: var(--ink-strong); font-size: 23px; }
.onboarding-progress { height: 6px; margin: 13px 0 9px; overflow: hidden; border-radius: 99px; background: #e8edf3; }
.onboarding-progress i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.onboarding-card p { margin: 0 0 12px; color: var(--muted); font-size: 10px; }

.monitor-filters { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; gap: 12px; align-items: end; margin-bottom: 14px; padding: 15px; }
.monitor-filter-meta { min-width: 110px; padding: 0 5px 4px; text-align: right; }
.monitor-filter-meta span { display: block; color: var(--muted); font-size: 9px; }
.monitor-filter-meta b { display: block; margin-top: 3px; font-size: 11px; }
.monitoring-tabs { max-width: 100%; overflow-x: auto; }
.monitor-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 15px; }
.monitor-kpi { display: flex; min-height: 105px; align-items: center; gap: 13px; padding: 16px; }
.monitor-kpi-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.monitor-kpi-icon.green { color: var(--green); background: var(--green-soft); }
.monitor-kpi-icon.amber { color: var(--amber); background: var(--amber-soft); }
.monitor-kpi-icon.purple { color: var(--purple); background: var(--purple-soft); }
.monitor-kpi-icon svg { width: 18px; height: 18px; }
.monitor-kpi small { display: block; color: var(--muted); font-size: 10px; }
.monitor-kpi b { display: block; margin: 3px 0 1px; color: var(--ink-strong); font-size: 24px; line-height: 1.1; }
.monitor-kpi b i { color: var(--muted-2); font-size: 13px; font-style: normal; font-weight: 600; }
.monitor-kpi em { color: var(--muted-2); font-size: 9px; font-style: normal; }
.monitor-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 15px; align-items: start; margin-bottom: 15px; }
.monitor-layout-bottom { grid-template-columns: minmax(0, 1.25fr) minmax(330px, .85fr); }
.monitor-chart-card { overflow: hidden; }
.trend-svg { display: block; width: 100%; min-height: 210px; }
.trend-svg text { fill: #8491a3; font-family: inherit; font-size: 9px; }
.chart-legend { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; color: var(--muted); font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 18px; height: 3px; border-radius: 99px; background: var(--blue); }
.chart-legend b { color: var(--ink); }
.platform-performance-list { padding: 5px 18px 10px; }
.platform-performance-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 68px; gap: 9px; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); }
.platform-performance-row:last-child { border-bottom: 0; }
.ai-platform-mark { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: #2656a7; background: #eaf1fd; font-size: 11px; font-weight: 700; }
.platform-performance-copy { min-width: 0; }
.platform-performance-copy b { display: block; font-size: 11px; }
.platform-performance-copy small { display: block; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.platform-performance-value { text-align: right; }
.platform-performance-value b { display: block; font-size: 11px; }
.mini-progress { display: block; width: 64px; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 99px; background: #e8edf3; }
.mini-progress i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.monitor-question-list { padding: 5px 18px 10px; }
.monitor-question-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 84px; gap: 10px; align-items: center; min-height: 64px; border-bottom: 1px solid var(--line); }
.monitor-question-row:last-child { border-bottom: 0; }
.question-state { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: var(--muted); background: #eef2f6; }
.question-state.mentioned { color: var(--green); background: var(--green-soft); }
.question-state svg { width: 13px; height: 13px; }
.monitor-question-row b { display: block; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-question-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.monitor-question-row > span:last-child { text-align: right; }
.monitor-task-list { padding: 6px 15px 12px; }
.monitor-task-row { display: grid; width: 100%; grid-template-columns: 32px minmax(0, 1fr) auto auto; gap: 9px; align-items: center; min-height: 61px; padding: 8px 4px; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: left; }
.monitor-task-row:last-child { border-bottom: 0; }
.monitor-task-row:hover { background: var(--panel-soft); }
.monitor-task-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.monitor-task-icon svg { width: 14px; height: 14px; }
.monitor-task-row b { display: block; font-size: 10px; }
.monitor-task-row small { display: block; color: var(--muted); font-size: 8px; }
.sentiment-layout { display: grid; gap: 15px; }
.sentiment-summary { display: flex; align-items: center; gap: 22px; padding: 22px; }
.sentiment-ring { display: grid; width: 116px; height: 116px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) 0 72%, #cdd6e2 72% 96%, #e58b91 96%); }
.sentiment-ring::before { grid-area: 1 / 1; width: 80px; height: 80px; border-radius: 50%; background: white; content: ""; }
.sentiment-ring span { z-index: 1; grid-area: 1 / 1; text-align: center; }
.sentiment-ring b { display: block; font-size: 20px; }
.sentiment-ring small { color: var(--muted); font-size: 9px; }
.sentiment-summary h3 { margin: 0; font-size: 15px; }
.sentiment-summary p { margin: 5px 0 12px; color: var(--muted); font-size: 10px; }
.sentiment-legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 9px; }
.sentiment-legend span { display: flex; align-items: center; gap: 5px; }
.sentiment-legend i { width: 7px; height: 7px; border-radius: 50%; }
.sentiment-legend .positive { background: var(--green); }
.sentiment-legend .neutral { background: #a5b1c1; }
.sentiment-legend .negative { background: var(--red); }

.onboarding-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); min-height: 390px; }
.onboarding-steps { padding: 18px 12px; border-right: 1px solid var(--line); background: #f8fafc; }
.onboarding-step { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 9px; min-height: 70px; }
.onboarding-step:not(:last-child)::after { position: absolute; top: 31px; bottom: 5px; left: 14px; width: 1px; background: var(--line-strong); content: ""; }
.onboarding-step > span { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line-strong); border-radius: 9px; color: var(--muted); background: white; font-size: 10px; font-weight: 700; }
.onboarding-step > span svg { width: 14px; height: 14px; }
.onboarding-step.active > span { color: white; border-color: var(--blue); background: var(--blue); }
.onboarding-step.done > span { color: var(--green); border-color: #b7e2ce; background: var(--green-soft); }
.onboarding-step b { display: block; margin-top: 3px; font-size: 10px; }
.onboarding-step small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.onboarding-form h3 { margin: 0; color: var(--ink-strong); font-size: 17px; }
.onboarding-lead { margin: 3px 0 17px; color: var(--muted); font-size: 10px; }
.onboarding-evidence-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.evidence-card { display: grid; min-height: 110px; place-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; }
.evidence-card > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.evidence-card svg { width: 15px; height: 15px; }
.evidence-card b { font-size: 11px; }
.evidence-card small { color: var(--muted); font-size: 9px; }
.evidence-card.complete { border-color: #cde6d9; background: #fbfefc; }
.evidence-card.pending { border-color: #f0d9b8; background: #fffdf8; }
.monitor-baseline { display: grid; gap: 9px; }
.monitor-baseline > div { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.monitor-baseline p { margin: 0; }
.monitor-baseline p b { display: block; font-size: 11px; }
.monitor-baseline p small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.monitor-platform-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.risk-overview { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #cfe7db; border-radius: 11px; background: #f8fdfa; }
.risk-overview.warning { border-color: #f0d5ad; background: var(--amber-soft); }
.risk-overview b { display: block; font-size: 12px; }
.risk-overview p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.risk-issue { display: grid; grid-template-columns: auto 1fr; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid #efd8b8; border-radius: 10px; background: #fffdf8; }
.risk-issue b { display: block; font-size: 11px; }
.risk-issue p { margin: 5px 0; color: var(--ink); font-size: 10px; }
.risk-issue small { color: var(--muted); font-size: 9px; }
.risk-rule-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px; }
.risk-rule-grid div { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-soft); text-align: center; }
.risk-rule-grid b { display: block; font-size: 15px; }
.risk-rule-grid span { color: var(--muted); font-size: 8px; }

.assistant-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-bottom: 16px; padding: 22px; border-color: #cfe8db; background: #f8fdfa; }
.device-state { display: flex; align-items: center; gap: 14px; }
.device-icon { position: relative; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; color: var(--green); background: white; box-shadow: var(--shadow-sm); }
.device-icon svg { width: 22px; height: 22px; }
.device-icon i { position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; border: 3px solid #f8fdfa; border-radius: 50%; background: #2db17c; }
.device-state h3 { margin: 0; font-size: 15px; }
.device-state p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.assistant-meta { display: flex; gap: 28px; }
.assistant-meta span { color: var(--muted); font-size: 9px; }
.assistant-meta b { display: block; margin-top: 3px; color: var(--ink); font-size: 11px; }

.account-group { overflow: hidden; }
.account-group-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; }
.group-title { display: flex; align-items: center; gap: 10px; }
.group-avatar { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #254b8c; background: #e7effc; font-weight: 700; }
.group-title b { display: block; font-size: 12px; }
.group-title small { display: block; color: var(--muted); font-size: 9px; }
.account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); background: #fbfcfe; }
.account-item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 72px; padding: 12px 16px; border-right: 1px solid var(--line); }
.account-item:last-child { border-right: 0; }
.account-item b { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.account-item small { display: block; color: var(--muted); font-size: 9px; }
.privacy-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 14px 16px; border: 1px solid #dce5ef; border-radius: 11px; color: var(--muted); background: #f8fafc; font-size: 10px; }
.privacy-note svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--teal); }
.publisher-offline-note { align-items: center; margin: 0 0 16px; }
.publisher-offline-note > span:nth-child(2) { flex: 1; }

.settings-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 16px; align-items: start; }
.settings-nav { padding: 8px; }
.settings-nav button { display: flex; width: 100%; min-height: 40px; align-items: center; gap: 9px; padding: 0 10px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; text-align: left; font-size: 11px; }
.settings-nav button:hover { color: var(--ink); background: var(--panel-soft); }
.settings-nav button.active { color: var(--blue); background: var(--blue-soft); font-weight: 600; }
.settings-nav svg { width: 15px; height: 15px; }
.setting-section { padding: 20px; }
.setting-section + .setting-section { border-top: 1px solid var(--line); }
.setting-row { display: grid; grid-template-columns: minmax(180px, 0.62fr) minmax(0, 1fr) auto; gap: 20px; align-items: center; min-height: 62px; }
.setting-row b { display: block; font-size: 12px; }
.setting-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.setting-value { color: #45556b; font-size: 11px; }
.toggle { position: relative; width: 38px; height: 22px; padding: 0; border: 0; border-radius: 999px; background: #cbd4df; }
.toggle::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.2); content: ""; transition: left .15s; }
.toggle.on { background: var(--blue); }
.toggle.on::after { left: 19px; }

.modal-backdrop { position: fixed; z-index: 150; inset: 0; background: rgba(8, 18, 34, 0.42); animation: fade-in .14s ease; }
.modal-dialog { position: fixed; z-index: 160; top: 50%; left: 50%; display: flex; width: min(620px, calc(100vw - 32px)); max-height: calc(100vh - 40px); flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow-lg); transform: translate(-50%, -50%); animation: modal-in .18s ease; }
.modal-dialog.wide { width: min(780px, calc(100vw - 32px)); }
.drawer-dialog { position: fixed; z-index: 160; top: 0; right: 0; display: flex; width: min(960px, calc(100vw - 18px)); height: 100vh; flex-direction: column; overflow: hidden; border-left: 1px solid var(--line); background: white; box-shadow: -20px 0 60px rgba(15, 23, 42, 0.15); animation: drawer-in .2s ease; }
.modal-head { position: sticky; z-index: 2; top: 0; display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 18px; padding: 0 20px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.modal-head h2 { margin: 0; color: var(--ink-strong); font-size: 17px; }
.modal-head p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.modal-body { min-width: 0; min-height: 0; padding: 20px; overflow: auto; overscroll-behavior: contain; }
.modal-foot { position: sticky; z-index: 2; bottom: 0; display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }
.modal-foot-right { display: flex; gap: 8px; }

.article-drawer-grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 16px; align-items: start; }
.editor-title { width: 100%; padding: 0 0 14px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink-strong); background: transparent; font-size: 23px; font-weight: 700; line-height: 1.35; resize: none; }
.editor-title:focus { outline: none; border-color: var(--blue); }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 3px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.editor-toolbar button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: 11px; }
.editor-toolbar button:hover { color: var(--ink); background: var(--panel-soft); }
.article-content { min-height: 430px; padding: 16px 2px; color: #344155; font-size: 13px; line-height: 1.9; outline: none; }
.article-content h2 { margin: 24px 0 7px; color: var(--ink-strong); font-size: 17px; }
.article-content p { margin: 0 0 12px; }
.article-side { display: grid; gap: 10px; }
.side-panel { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.side-panel h4 { margin: 0 0 9px; color: var(--ink); font-size: 11px; }
.side-panel p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.side-list { display: grid; gap: 7px; }
.side-list div { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; }
.side-list b { color: var(--ink); font-weight: 600; }
.risk-score { display: flex; align-items: center; gap: 9px; }
.score-ring { display: grid; width: 39px; height: 39px; place-items: center; border: 4px solid #d9f1e5; border-top-color: var(--green); border-radius: 50%; color: var(--green); font-size: 10px; font-weight: 700; }
.risk-state-icon { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: var(--green); background: var(--green-soft); }
.risk-state-icon.warning { color: var(--amber); background: var(--amber-soft); }
.risk-state-icon svg { width: 18px; height: 18px; }

.publish-article { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.publish-article b { display: block; color: var(--ink-strong); font-size: 12px; }
.publish-article span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.publish-platforms { display: grid; gap: 9px; margin-top: 16px; }
.platform-choice { position: relative; display: grid; grid-template-columns: 24px 34px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 64px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.platform-choice:hover { border-color: #cbd8ea; }
.platform-choice.selected { border-color: #9bb8f6; background: #f8faff; }
.platform-choice.disabled { cursor: not-allowed; opacity: 0.62; background: #f6f7f9; }
.platform-choice .checkbox { margin: 0; }
.platform-choice b { display: block; font-size: 11px; }
.platform-choice small { display: block; color: var(--muted); font-size: 9px; }
.security-inline { display: flex; gap: 8px; margin-top: 14px; padding: 10px; border-radius: 8px; color: #4f657f; background: #f0f5fa; font-size: 9px; }
.security-inline svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--teal); }

.log-list { display: grid; gap: 8px; }
.log-item { display: grid; grid-template-columns: 72px 80px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.log-item:last-child { border-bottom: 0; }
.log-item b { color: var(--ink); }

.search-dialog { top: 16%; transform: translate(-50%, 0); }
.search-box { position: relative; padding: 13px; border-bottom: 1px solid var(--line); }
.search-box svg { position: absolute; top: 50%; left: 27px; width: 18px; height: 18px; color: var(--muted); transform: translateY(-50%); }
.search-box input { width: 100%; height: 44px; padding: 0 14px 0 43px; border: 0; color: var(--ink); font-size: 14px; outline: none; }
.command-list { padding: 8px; }
.command-item { display: flex; width: 100%; min-height: 46px; align-items: center; gap: 10px; padding: 0 11px; border: 0; border-radius: 8px; color: var(--ink); background: transparent; text-align: left; }
.command-item:hover { background: var(--panel-soft); }
.command-item span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); }
.command-item svg { width: 14px; height: 14px; }
.command-item b { display: block; font-size: 11px; }
.command-item small { display: block; color: var(--muted); font-size: 9px; }
.command-item kbd { margin-left: auto; color: var(--muted-2); font-family: inherit; font-size: 9px; }

.toast-root { position: fixed; z-index: 250; right: 20px; bottom: 20px; display: grid; width: min(360px, calc(100vw - 32px)); gap: 8px; pointer-events: none; }
.toast { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 12px 34px rgba(15,23,42,.15); animation: toast-in .22s ease; pointer-events: auto; }
.toast > span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--green); background: var(--green-soft); }
.toast.error > span:first-child { color: var(--red); background: var(--red-soft); }
.toast svg { width: 14px; height: 14px; }
.toast b { display: block; font-size: 11px; }
.toast small { display: block; color: var(--muted); font-size: 9px; }
.toast button { width: 25px; height: 25px; border: 0; color: var(--muted); background: transparent; }

.loading-spinner { width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.45); border-top-color: white; border-radius: 50%; animation: spin .7s linear infinite; }
.skeleton { position: relative; overflow: hidden; border-radius: 6px; background: #edf1f5; }
.skeleton::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent); content: ""; transform: translateX(-100%); animation: shimmer 1.1s infinite; }

.sidebar-overlay { display: none; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes fade-in { from { opacity: 0; } }
@keyframes modal-in { from { opacity: 0; transform: translate(-50%, calc(-50% + 10px)); } }
@keyframes drawer-in { from { opacity: 0; transform: translateX(28px); } }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } }
@keyframes shimmer { to { transform: translateX(100%); } }

@media (max-width: 1260px) {
  .metric-grid,
  .publish-summary,
  .monitor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .planning-layout > aside:last-child { grid-column: 1 / -1; }
  .basket-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .basket-actions { grid-template-columns: 1fr auto; }
  .search-trigger { min-width: 42px; width: 42px; padding: 0; justify-content: center; }
  .search-trigger > span:nth-child(2),
  .search-trigger kbd { display: none; }
}

@media (max-width: 1040px) {
  :root { --sidebar-width: 220px; }
  .topbar { padding: 0 22px; }
  #main-content { padding: 24px 22px 42px; }
  .business-scope-card { grid-template-columns: 210px minmax(0, 1fr) auto; }
  .business-scope-stats { grid-column: 2; }
  .business-scope-actions { grid-column: 3; grid-row: 1 / span 2; }
  .dashboard-grid,
  .site-layout,
  .monitor-layout { grid-template-columns: 1fr; }
  .monitor-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monitor-filter-meta { text-align: left; }
  .knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-targets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-target:nth-child(2) { border-right: 0; }
  .publish-target:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .website-link { display: none; }
}

@media (max-width: 820px) {
  .sidebar { width: 260px; transform: translateX(-102%); transition: transform .2s ease; box-shadow: 12px 0 40px rgba(8, 18, 34, .2); }
  body.sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-overlay { position: fixed; z-index: 70; inset: 0; display: block; visibility: hidden; background: rgba(8, 18, 34, .4); opacity: 0; transition: opacity .2s, visibility .2s; }
  body.sidebar-open .sidebar-overlay { visibility: visible; opacity: 1; }
  .sidebar-close { display: inline-grid !important; }
  .main-column { margin-left: 0; }
  .menu-button { display: inline-grid; }
  .topbar { min-height: 68px; padding: 0 16px; }
  .topbar h1 { font-size: 18px; }
  .assistant-pill span { display: none; }
  .assistant-pill { width: 38px; padding: 0; justify-content: center; }
  #main-content { min-height: calc(100vh - 68px); padding: 20px 16px 36px; }
  .page-head { align-items: flex-start; }
  .page-head h2 { font-size: 21px; }
  .planning-layout { grid-template-columns: 1fr; }
  .planning-layout > aside:last-child { grid-column: auto; }
  .package-list { display: flex; gap: 8px; overflow-x: auto; }
  .package-item { min-width: 180px; }
  .business-scope-card { grid-template-columns: minmax(190px, .75fr) minmax(0, 1.25fr); }
  .business-scope-stats { grid-column: 1; }
  .business-scope-actions { grid-column: 2; grid-row: 2; justify-self: end; }
  .article-drawer-grid { grid-template-columns: 1fr; }
  .article-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-layout { grid-template-columns: 1fr; }
  .settings-nav { display: flex; overflow-x: auto; }
  .settings-nav button { min-width: max-content; }
  .workflow-steps { justify-content: flex-start; overflow-x: auto; }
  .workflow-step { min-width: 105px; }
  .workflow-arrow { display: none; }
  .onboarding-layout { grid-template-columns: 1fr; }
  .onboarding-steps { display: flex; gap: 8px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .onboarding-step { min-width: 155px; min-height: 45px; }
  .onboarding-step:not(:last-child)::after { display: none; }
}

@media (max-width: 640px) {
  body { font-size: 13px; }
  .breadcrumbs { display: none; }
  .topbar-actions { gap: 6px; }
  .search-trigger,
  .notification-button { width: 36px; height: 36px; min-height: 36px; }
  .assistant-pill { display: none; }
  .avatar-button { width: 34px; height: 34px; }
  .page-head { display: grid; gap: 13px; margin-bottom: 17px; }
  .page-actions { width: 100%; }
  .page-actions > button { flex: 1; }
  .metric-grid,
  .publish-summary,
  .monitor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .metric-card { min-height: 112px; padding: 14px; }
  .metric-value { font-size: 24px; }
  .metric-note { font-size: 9px; }
  .dashboard-grid { gap: 14px; }
  .card-header { min-height: 56px; padding: 0 15px; }
  .card-body { padding: 15px; }
  .todo-list { padding: 3px 14px 8px; }
  .todo-item { grid-template-columns: 33px minmax(0, 1fr) auto; min-height: 64px; gap: 9px; }
  .todo-meta b { display: none; }
  .quick-grid { grid-template-columns: 1fr; padding: 14px; }
  .quick-action { display: grid; min-height: 64px; grid-template-columns: 34px 1fr; align-items: center; column-gap: 9px; }
  .quick-action span { grid-row: 1 / 3; margin: 0; }
  .quick-action b,
  .quick-action small { grid-column: 2; }
  .toolbar-card { display: grid; align-items: stretch; padding: 14px; }
  .toolbar-card .field { width: 100% !important; }
  .toolbar-card .primary-button { min-height: 42px; }
  .topic-center-tab-row { display: block; }
  .topic-center-tab-row .health { display: none; }
  .business-scope-card { grid-template-columns: 1fr; gap: 11px; padding: 14px; }
  .business-scope-copy span { white-space: normal; }
  .business-scope-stats { grid-column: 1; justify-content: flex-start; }
  .business-scope-actions { grid-column: 1; grid-row: auto; width: 100%; justify-self: stretch; }
  .business-scope-actions > button { min-height: 40px; flex: 1; }
  .business-line-manage-head { align-items: stretch; flex-direction: column; }
  .business-line-manage-head > button { width: 100%; min-height: 38px; }
  .business-line-manage-row { grid-template-columns: 36px minmax(0, 1fr); }
  .business-line-manage-row > button { grid-column: 1 / -1; width: 100%; min-height: 38px; }
  .delete-impact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .keyword-manager-body { padding: 12px 14px 14px; }
  .keyword-input-row { grid-template-columns: 1fr; }
  .keyword-input-row > button { min-height: 40px; }
  .keyword-name-button { max-width: 210px; }
  .keyword-manager-actions, .seed-input-row { align-items: stretch; flex-direction: column; }
  .keyword-manager-actions > button, .seed-input-row > button { width: 100%; min-height: 40px; }
  .topic-item { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .topic-item .topic-score { grid-column: 2; grid-row: 2; text-align: left; }
  .keyword-result-actions { grid-column: 3; grid-row: 1 / span 2; min-width: 50px; }
  .keyword-bulk-row { align-items: stretch; }
  .keyword-bulk-row .keyword-bulk-delete { width: 100%; }
  .topic-plan-summary { grid-template-columns: 1fr; gap: 8px; }
  .topic-plan-summary .summary-card { min-height: 68px; }
  .archive-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .archive-summary .summary-card { min-height: 72px; gap: 9px; padding: 11px; }
  .archive-summary .summary-card span { width: 32px; height: 32px; }
  .archive-summary .summary-card b { font-size: 18px; }
  .archive-type-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px 12px; }
  .archive-type-tabs .tab-button { min-width: 0; padding: 0 7px; }
  .topic-row-actions { min-width: 220px; justify-content: flex-start; }
  .relation-step { grid-template-columns: 50px minmax(0, 1fr); padding: 10px; }
  .selection-bar { bottom: 8px; align-items: stretch; flex-direction: column; }
  .selection-bar > div { display: grid; grid-template-columns: 1fr 1.5fr; }
  .selection-bar button { min-height: 38px; }
  .basket-list { grid-template-columns: 1fr; }
  .basket-actions { grid-template-columns: 1fr; }
  .tabs-row { align-items: flex-start; }
  .tabs { width: 100%; overflow-x: auto; }
  .tab-button { flex: 0 0 auto; }
  .filter-tools { display: none; }
  .publish-task-head { grid-template-columns: 1fr; }
  .publish-task-actions { justify-content: space-between; }
  .publish-targets { grid-template-columns: 1fr; }
  .publish-target { border-right: 0; border-bottom: 1px solid var(--line); }
  .publish-target:last-child { border-bottom: 0; }
  .preview-nav { padding: 0 14px; }
  .preview-links { display: none; }
  .preview-hero { grid-template-columns: 1fr; padding: 25px 20px; }
  .preview-visual { min-height: 140px; }
  .preview-features { grid-template-columns: 1fr; padding: 0 20px 20px; }
  .knowledge-grid { grid-template-columns: 1fr; }
  .monitor-filters { grid-template-columns: 1fr; }
  .monitor-filter-meta { padding: 0; text-align: left; }
  .monitor-kpi { min-height: 94px; gap: 8px; padding: 12px; }
  .monitor-kpi-icon { width: 32px; height: 32px; }
  .monitor-kpi b { font-size: 20px; }
  .monitor-question-row { grid-template-columns: 27px minmax(0, 1fr); padding: 9px 0; }
  .monitor-question-row > span:last-child { grid-column: 2; text-align: left; }
  .monitor-task-row { grid-template-columns: 30px minmax(0, 1fr) auto; }
  .monitor-task-row > span:nth-child(3) { display: none; }
  .sentiment-summary { align-items: flex-start; padding: 15px; }
  .sentiment-ring { width: 90px; height: 90px; }
  .sentiment-ring::before { width: 62px; height: 62px; }
  .onboarding-evidence-grid,
  .monitor-platform-choices { grid-template-columns: 1fr; }
  .risk-rule-grid { grid-template-columns: repeat(2, 1fr); }
  .assistant-hero { grid-template-columns: 1fr; padding: 16px; }
  .assistant-meta { justify-content: space-between; gap: 10px; }
  .account-group-head { align-items: flex-start; }
  .account-grid { grid-template-columns: 1fr; }
  .account-item { border-right: 0; border-bottom: 1px solid var(--line); }
  .account-item:last-child { border-bottom: 0; }
  .setting-row { grid-template-columns: 1fr auto; gap: 8px; padding: 8px 0; }
  .setting-value { grid-column: 1 / -1; grid-row: 2; }
  .modal-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); border-radius: 14px; }
  .drawer-dialog { top: auto; bottom: 0; width: 100vw; height: calc(100vh - 28px); border-top: 1px solid var(--line); border-left: 0; border-radius: 16px 16px 0 0; animation: modal-in-mobile .2s ease; }
  .modal-head { min-height: 62px; padding: 0 15px; }
  .modal-body { padding: 15px; }
  .modal-foot { padding: 10px 15px; }
  .modal-foot > span { display: none; }
  .modal-foot-right { width: 100%; }
  .modal-foot-right > button { flex: 1; }
  .article-side { grid-template-columns: 1fr; }
  .editor-title { font-size: 20px; }
  .platform-choice { grid-template-columns: 22px 32px minmax(0, 1fr); }
  .platform-choice > .status-badge { grid-column: 3; justify-self: start; }
  .log-item { grid-template-columns: 62px 62px 1fr; gap: 6px; font-size: 9px; }
  .toast-root { right: 10px; bottom: 10px; width: calc(100vw - 20px); }
}

@media (max-width: 1040px) {
  .knowledge-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .knowledge-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .knowledge-review-grid { grid-template-columns: 1fr; }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .citation-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .generation-agent-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .public-knowledge-banner { grid-template-columns: auto minmax(0, 1fr); }
  .public-base-list { grid-column: 1 / -1; justify-content: flex-start; }
  .knowledge-toolbar { align-items: flex-start; }
  .knowledge-toolbar p { text-align: left; }
}

@media (max-width: 640px) {
  .modal-dialog.wide { width: calc(100vw - 20px); }
  .modal-head > div { min-width: 0; }
  .modal-head > .icon-button { flex: 0 0 auto; }
  .modal-head h2,
  .modal-head p { overflow-wrap: anywhere; }
  .modal-head p { line-height: 1.35; }
  .modal-body .field-row { grid-template-columns: 1fr; }
  .modal-foot-right { min-width: 0; }
  .modal-foot-right > button { min-width: 0; padding-right: 9px; padding-left: 9px; font-size: 11px; }

  .knowledge-tabs-row { align-items: center; }
  .knowledge-tabs-row .small-tag { display: none; }
  .knowledge-metrics { gap: 8px; }
  .knowledge-metrics .summary-card { min-height: 74px; gap: 9px; padding: 11px; }
  .knowledge-metrics .summary-card > span { width: 32px; height: 32px; }
  .knowledge-metrics .summary-card b { font-size: 18px; }

  .knowledge-toolbar { display: grid; gap: 9px; padding: 11px; }
  .knowledge-toolbar .segmented-control { width: 100%; }
  .knowledge-toolbar .segmented-control button { min-width: 0; flex: 1; }
  .knowledge-toolbar p { line-height: 1.55; }
  .knowledge-library-grid { grid-template-columns: 1fr; }
  .knowledge-library-card { min-height: 240px; }

  .public-knowledge-banner { grid-template-columns: 38px minmax(0, 1fr); padding: 14px; }
  .public-knowledge-banner > .knowledge-icon { width: 38px; height: 38px; }
  .public-base-list { display: grid; width: 100%; }
  .public-base-list button { width: 100%; justify-content: space-between; }
  .knowledge-package-card { padding: 14px 14px 0; }
  .knowledge-package-head { grid-template-columns: 38px minmax(0, 1fr); }
  .knowledge-package-head > button { grid-column: 1 / -1; width: 100%; min-height: 37px; }
  .inherit-chain { align-items: flex-start; }
  .knowledge-package-note { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; }

  .fact-summary { align-items: flex-start; gap: 14px; padding: 16px; }
  .completion-ring { width: 62px; height: 62px; }
  .completion-ring::before { width: 46px; height: 46px; }
  .completion-ring b { font-size: 13px; }
  .fact-grid { grid-template-columns: 1fr; }
  .fact-card { min-height: 108px; }

  .knowledge-gap-list { padding: 10px; }
  .knowledge-gap-card { grid-template-columns: 32px minmax(0, 1fr); }
  .knowledge-gap-card > button { grid-column: 2; justify-self: start; }

  .knowledge-type-picker { grid-template-columns: 1fr; }
  .knowledge-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-head { display: grid; gap: 10px; align-items: stretch; }
  .inline-head > button { width: 100%; min-height: 37px; }
  .source-document { padding: 14px; }
  .source-document p { font-size: 10px; }

  .knowledge-check-row { grid-template-columns: 18px 32px minmax(0, 1fr); gap: 8px; }
  .knowledge-check-row > input { grid-column: 1; grid-row: 1 / 3; }
  .knowledge-check-row > .knowledge-check-icon { width: 32px; height: 32px; grid-column: 2; grid-row: 1 / 3; }
  .knowledge-check-row > span:nth-of-type(2) { grid-column: 3; }
  .knowledge-check-row > em { max-width: 100%; grid-column: 3; justify-self: start; }
  .knowledge-check-row b,
  .knowledge-check-row small { white-space: normal; }

  .section-title { display: grid; gap: 8px; }
  .section-title > .small-tag { justify-self: start; }
  .plan-knowledge-panel { padding: 12px; }
  .plan-knowledge-list { margin-top: 10px; }

  .generation-chain { align-items: flex-start; }
  .generation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .generation-section { padding: 12px; }
  .geo-brief-grid { grid-template-columns: 1fr; }
  .generation-base-row { grid-template-columns: 32px minmax(0, 1fr); }
  .generation-base-row > .knowledge-check-icon { width: 32px; height: 32px; grid-row: 1 / 3; }
  .generation-base-row > em { grid-column: 2; justify-self: start; }
  .generation-base-row b { white-space: normal; }
  .generation-evidence-row small { white-space: normal; }
  .knowledge-gap-warning { grid-template-columns: 32px minmax(0, 1fr); }
  .knowledge-gap-warning > span { width: 32px; height: 32px; }

  .knowledge-update-banner { grid-template-columns: 32px minmax(0, 1fr); }
  .knowledge-update-banner > span { width: 32px; height: 32px; }
  .citation-map { grid-template-columns: 1fr; }
  .citation-proof { padding: 14px; }
  .citation-proof blockquote { font-size: 11px; }

  .content-section-tabs { width: 100%; }
  .content-section-tabs button { min-height: 48px; grid-template-columns: 30px minmax(0, 1fr); gap: 7px; padding: 6px 8px; }
  .content-section-tabs button > span:first-child { width: 30px; height: 30px; }

  .writing-agent-principle { grid-template-columns: 34px minmax(0, 1fr); align-items: start; padding: 12px; }
  .writing-agent-principle > span:first-child { width: 34px; height: 34px; }
  .writing-agent-group-head { align-items: flex-start; }
  .writing-agent-grid { grid-template-columns: 1fr; gap: 10px; }
  .writing-agent-card { min-height: 0; padding: 14px 14px 0; }
  .writing-agent-card-head { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; }
  .writing-agent-card-head .writing-agent-avatar { width: 38px; height: 38px; border-radius: 10px; font-size: 12px; }
  .writing-agent-profile { grid-template-columns: 1fr; }
  .writing-agent-profile > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 8px; align-items: center; }
  .writing-agent-profile b { margin-top: 0; }
  .writing-agent-card-foot { align-items: stretch; flex-direction: column; margin-right: -14px; margin-left: -14px; padding: 11px 14px; }
  .writing-agent-card-foot > span { white-space: normal; }
  .writing-agent-card-foot > div { width: 100%; justify-content: flex-start; }
  .writing-agent-card-foot > div > button { min-height: 35px; flex: 1 1 118px; }

  .article-agent-cell { min-width: 0; max-width: 170px; }
  .plan-agent-panel { padding: 12px; }
  .plan-agent-summary b,
  .plan-agent-summary small { white-space: normal; }
  .plan-platform-hints summary { grid-template-columns: minmax(0, 1fr) 18px; padding: 11px 12px; }
  .plan-platform-hints summary > .small-tag { display: none; }
  .plan-platform-hint-body { padding: 11px 12px 12px; }
  .plan-platform-hint-grid { grid-template-columns: 1fr; }
  .plan-platform-hint-option b,
  .plan-platform-hint-option small { white-space: normal; }

  .writing-agent-form { gap: 10px; }
  .agent-form-section { gap: 11px; padding: 12px; }
  .writing-agent-form .field-row,
  .agent-form-section .field-row.three,
  .agent-check-grid,
  .agent-policy-grid,
  .agent-knowledge-list { grid-template-columns: 1fr; }
  .agent-knowledge-option b,
  .agent-knowledge-option small { white-space: normal; }
  .agent-prompt-details > .textarea { min-height: 170px; }

  .generation-agent-main { grid-template-columns: 38px minmax(0, 1fr); padding: 12px; }
  .generation-agent-main .writing-agent-avatar { width: 38px; height: 38px; border-radius: 10px; font-size: 12px; }
  .generation-agent-main > .status-badge { grid-column: 2; justify-self: start; }
  .generation-agent-rules { grid-template-columns: 1fr; }
  .generation-agent-rules > span { padding: 9px 12px; }
  .agent-priority-note { padding: 9px 12px; }
  .agent-version-update { grid-template-columns: 16px minmax(0, 1fr); padding: 9px 12px; }
  .agent-version-update .text-button { grid-column: 2; justify-self: start; }

  .agent-regenerate-compare { grid-template-columns: 1fr; }
  .agent-regenerate-compare > span { width: 100%; height: 22px; }
  .agent-regenerate-compare > span svg { transform: rotate(90deg); }
  .article-version-title { margin-top: 18px; font-size: 19px; }
}

@keyframes modal-in-mobile { from { opacity: 0; transform: translateY(28px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* AI 创作台：正文、协作对话和文章信息共用的全页工作区。 */
.content-studio-page {
  width: 100%;
  min-width: 0;
  color: var(--ink);
}

.studio-topbar {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-sm);
}

.studio-back-button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.studio-back-button:hover { color: var(--ink); border-color: var(--line); background: var(--panel-soft); }
.studio-back-button svg { width: 15px; height: 15px; transform: rotate(180deg); }

.studio-doc-meta { min-width: 0; }
.studio-doc-meta > span { display: block; overflow: hidden; color: var(--muted-2); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.studio-doc-title {
  display: block;
  min-width: 0;
  margin-top: 2px;
  overflow: hidden;
  color: var(--ink-strong);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.studio-save-state {
  display: inline-flex;
  min-height: 24px;
  max-width: 210px;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted-2);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.studio-save-state::before { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--green); content: ""; }
.studio-save-state.unsaved::before { background: var(--amber); box-shadow: 0 0 0 3px rgba(181, 106, 8, .1); }
.studio-save-state.saving::before { background: var(--blue); animation: studio-pulse 1.2s ease-in-out infinite; }
.studio-save-state.error::before { background: var(--red); }

.studio-context-chips {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

.studio-context-chip {
  display: inline-flex;
  min-width: 0;
  max-width: 240px;
  min-height: 24px;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--panel-soft);
  font-size: 9px;
  white-space: nowrap;
}

.studio-context-chip b { overflow: hidden; color: var(--ink); font-weight: 600; text-overflow: ellipsis; }
.studio-context-chip svg { width: 12px; height: 12px; flex: 0 0 auto; color: var(--blue); }
.studio-context-chip.teal { border-color: #cdebe6; color: var(--teal); background: var(--teal-soft); }
.studio-context-chip.blue { border-color: #d8e4fd; color: var(--blue); background: var(--blue-soft); }
.studio-context-chip.warning { border-color: #ecd4ae; color: var(--amber); background: var(--amber-soft); }

.studio-top-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 7px; }
.studio-top-actions > button { min-width: 0; white-space: nowrap; }

.studio-mobile-tabs {
  display: none;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin-bottom: 10px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-soft);
}

.studio-mobile-tabs button {
  min-width: 0;
  min-height: 36px;
  padding: 0 6px;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.studio-mobile-tabs button:hover { color: var(--ink); background: rgba(255,255,255,.75); }
.studio-mobile-tabs button.active { color: var(--blue); background: white; box-shadow: var(--shadow-sm); }

.studio-shell {
  display: grid;
  min-width: 0;
  min-height: 560px;
  height: min(780px, calc(100vh - 236px));
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 15px;
  align-items: stretch;
}

.studio-shell > * { min-width: 0; min-height: 0; }

.studio-editor-panel,
.studio-chat-panel,
.studio-info-pane {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow-sm);
}

.studio-editor-head {
  display: flex;
  min-width: 0;
  min-height: 49px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 15px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
}

.studio-editor-head > div { min-width: 0; }
.studio-editor-head h3 { margin: 0; overflow: hidden; color: var(--ink-strong); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.studio-editor-head p { margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.studio-editor-head > .status-badge { flex: 0 0 auto; }

.studio-editor-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfe;
}

.studio-toolbar-group { display: flex; min-width: 0; align-items: center; gap: 3px; }
.studio-toolbar-group + .studio-toolbar-group { margin-left: 5px; padding-left: 8px; border-left: 1px solid var(--line); }

.studio-format-button {
  display: grid;
  width: 29px;
  height: 29px;
  padding: 0;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
}

.studio-format-button:hover { color: var(--ink); border-color: var(--line); background: white; }
.studio-format-button.active { color: var(--blue); border-color: #cbdcfb; background: var(--blue-soft); }
.studio-format-button svg { width: 15px; height: 15px; }
.studio-editor-toolbar-rich { min-height: 42px; }
.studio-format-button.studio-format-wide { width: auto; padding: 0 8px; font-size: 10px; font-weight: 500; }

.studio-title-input {
  width: calc(100% - 40px);
  min-height: 54px;
  margin: 17px 20px 0;
  padding: 0 0 13px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink-strong);
  background: transparent;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  outline: none;
  resize: none;
}

.studio-title-input::placeholder { color: #a3afbe; font-weight: 600; }
.studio-title-input:focus { border-color: #89aaf0; }

.studio-editor-body {
  min-width: 0;
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: 18px 20px 38px;
  color: #344155;
  font-size: 14px;
  line-height: 1.9;
  outline: none;
  overflow-wrap: anywhere;
}

.studio-editor-body:focus { box-shadow: inset 0 0 0 2px rgba(37, 99, 235, .08); }
.studio-editor-body p { margin: 0 0 13px; }
.studio-editor-body h2 { margin: 26px 0 8px; color: var(--ink-strong); font-size: 18px; line-height: 1.45; }
.studio-editor-body h3 { margin: 20px 0 7px; color: var(--ink-strong); font-size: 15px; }
.studio-editor-body ul,
.studio-editor-body ol { margin: 0 0 14px; padding-left: 23px; }
.studio-editor-body img { display: block; max-width: 100%; height: auto; margin: 14px 0; border: 1px solid var(--line); border-radius: 10px; }
.studio-editor-body .citation-marker { margin: 0 2px; }

.studio-quick-content:empty::before {
  content: attr(data-placeholder);
  color: #a3afbe;
  font-style: italic;
  pointer-events: none;
}

.studio-quick-settings {
  flex: 0 0 auto;
  padding: 12px 16px 14px;
  border-top: 1px solid var(--line);
  background: #fbfcfe;
}

.studio-quick-settings-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.studio-quick-settings-grid .studio-field.full { grid-column: 1 / -1; }
.studio-quick-settings .studio-field > span { color: #526177; font-size: 10px; font-weight: 600; }
.studio-quick-settings .studio-knowledge-summary { margin-top: 9px; }
.studio-quick-generate { width: 100%; margin-top: 9px; }

.studio-empty-canvas {
  display: flex;
  flex: 1;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  padding: 34px 24px;
  background: radial-gradient(circle at 50% 0, #f7faff, transparent 52%);
}

.studio-empty-canvas > div { width: min(680px, 100%); }
.studio-empty-icon { display: grid; width: 50px; height: 50px; margin: 0 auto 13px; place-items: center; border: 1px solid #d9e5fb; border-radius: 14px; color: var(--blue); background: var(--blue-soft); box-shadow: var(--shadow-sm); }
.studio-empty-icon svg { width: 23px; height: 23px; }
.studio-empty-prompt { margin: 0 auto 18px; color: var(--muted); font-size: 12px; line-height: 1.65; text-align: center; }
.studio-empty-prompt strong { display: block; margin-bottom: 4px; color: var(--ink-strong); font-size: 17px; }

.studio-generate-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.studio-field { display: grid; min-width: 0; gap: 6px; }
.studio-field.full { grid-column: 1 / -1; }
.studio-field label { color: #526177; font-size: 10px; font-weight: 600; }
.studio-field .input,
.studio-field .select,
.studio-field .textarea { min-width: 0; }
.studio-field .textarea { min-height: 108px; }
.studio-field > small { color: var(--muted-2); font-size: 9px; line-height: 1.5; }
.studio-field > button { width: 100%; margin-top: 3px; }

.studio-knowledge-summary {
  display: flex;
  min-width: 0;
  min-height: 42px;
  grid-column: 1 / -1;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid #d8e5f8;
  border-radius: 10px;
  color: #536b87;
  background: #f8fbff;
  font-size: 9px;
  line-height: 1.5;
}

.studio-knowledge-summary > span:first-child { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.studio-knowledge-summary svg { width: 14px; height: 14px; }
.studio-knowledge-summary > span:last-child { min-width: 0; }
.studio-knowledge-summary b { color: var(--ink); }
.studio-knowledge-summary.warning { border-color: #ecd4ae; color: #806326; background: var(--amber-soft); }
.studio-knowledge-summary.warning > span:first-child { color: var(--amber); background: white; }

.studio-chat-head {
  display: flex;
  min-width: 0;
  min-height: 55px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(110deg, #f8fbff, #fff);
}

.studio-chat-head > div { min-width: 0; }
.studio-chat-head h3 { margin: 0; color: var(--ink-strong); font-size: 13px; }
.studio-chat-head p { margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.studio-chat-head > span,
.studio-chat-head > button { flex: 0 0 auto; }
.studio-chat-head-actions { display: flex; gap: 4px; }
.studio-chat-head-actions .icon-button { width: 30px; height: 30px; }

.studio-chat-context {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  background: #fbfcfe;
  font-size: 8px;
}

.studio-chat-context > b { color: var(--ink); font-size: 9px; }
.studio-chat-context .studio-context-chip { max-width: 190px; min-height: 22px; font-size: 8px; }

.studio-chat-messages {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  overflow: auto;
  padding: 13px 12px 15px;
  background: #fbfcfe;
}

.studio-message { display: flex; min-width: 0; align-items: flex-start; gap: 7px; }
.studio-message.user { justify-content: flex-end; }
.studio-message.user .studio-message-card { max-width: 88%; color: #204d97; border-color: #cfe0fb; background: var(--blue-soft); }
.studio-message.assistant .studio-message-card { max-width: 96%; }
.studio-message.system { align-items: center; justify-content: center; }
.studio-message.system .studio-message-card { width: 100%; max-width: none; color: var(--muted); border-style: dashed; background: white; font-size: 8px; }

.studio-message-avatar { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border: 1px solid #d9e5f8; border-radius: 8px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 700; }
.studio-message.user .studio-message-avatar { order: 2; color: #4772ba; background: #f1f6ff; }
.studio-message-card { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; color: #44556b; background: white; font-size: 10px; line-height: 1.65; box-shadow: 0 1px 1px rgba(15, 23, 42, .02); }
.studio-message-card p { margin: 0 0 6px; overflow-wrap: anywhere; }
.studio-message-card p:last-child { margin-bottom: 0; }
.studio-message-card h4 { margin: 0 0 5px; color: var(--ink-strong); font-size: 10px; }
.studio-message-card ul,
.studio-message-card ol { margin: 5px 0 0; padding-left: 17px; }
.studio-message-card.is-thinking { display: flex; align-items: center; gap: 6px; color: var(--muted); }
.studio-message-card.is-thinking::after { width: 24px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, #b8cceb 0 25%, #dce7f7 25% 50%, #b8cceb 50% 75%, #dce7f7 75%); content: ""; animation: studio-thinking 1.1s linear infinite; }

.studio-source-card {
  display: grid;
  min-width: 0;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid #d8e5f7;
  border-radius: 8px;
  color: #526780;
  background: #f8fbff;
  font-size: 8px;
}

.studio-source-card > b { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: var(--blue); background: white; font-size: 8px; }
.studio-source-card > span { min-width: 0; }
.studio-source-card strong { display: block; overflow: hidden; color: var(--ink); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.studio-source-card small { display: block; margin-top: 2px; overflow: hidden; color: var(--muted-2); text-overflow: ellipsis; white-space: nowrap; }
.studio-source-card.web { border-color: #d9e8de; background: #f7fcf9; }
.studio-source-card.web > b { color: var(--teal); }

.studio-proposal-card { min-width: 0; margin-top: 8px; padding: 9px; border: 1px solid #cbdcf8; border-radius: 9px; background: #f8fbff; }
.studio-proposal-card > header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.studio-proposal-card > header strong { min-width: 0; overflow: hidden; color: #234a87; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.studio-proposal-card > header small { flex: 0 0 auto; color: var(--muted-2); font-size: 8px; }
.studio-proposal-diff { display: grid; min-width: 0; gap: 5px; margin-top: 8px; padding: 8px; border: 1px dashed #b9cdeb; border-radius: 7px; color: #52647e; background: white; font-size: 9px; line-height: 1.55; }
.studio-proposal-diff .remove { color: var(--red); background: var(--red-soft); }
.studio-proposal-diff .add { color: var(--teal); background: var(--teal-soft); }
.studio-proposal-diff > div { min-width: 0; padding: 4px 6px; border-radius: 5px; overflow-wrap: anywhere; }
.studio-proposal-actions { display: flex; min-width: 0; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.studio-proposal-actions button { min-height: 27px; padding: 0 8px; border-radius: 7px; font-size: 9px; }

.studio-composer {
  position: relative;
  min-width: 0;
  padding: 9px 10px 10px;
  border-top: 1px solid var(--line);
  background: white;
}

.studio-selected-context { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 5px; min-height: 0; margin-bottom: 6px; }
.studio-selection-chip { display: inline-flex; min-width: 0; max-width: 100%; min-height: 22px; align-items: center; gap: 5px; padding: 2px 7px; overflow: hidden; border: 1px solid #d5e1f4; border-radius: 999px; color: #46658d; background: #f7faff; font-size: 8px; }
.studio-selection-chip b { overflow: hidden; color: var(--ink); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.studio-selection-chip button { display: grid; width: 17px; height: 17px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: var(--muted-2); background: transparent; }
.studio-selection-chip button:hover { color: var(--red); background: var(--red-soft); }
.studio-selection-chip svg { width: 10px; height: 10px; }

.studio-composer-input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  max-height: 180px;
  padding: 10px 11px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  color: var(--ink);
  background: #fbfcfe;
  font-size: 11px;
  line-height: 1.6;
  outline: none;
  resize: vertical;
}

.studio-composer-input::placeholder { color: #a5b1c1; }
.studio-composer-input:focus { border-color: #89aaf0; box-shadow: 0 0 0 3px rgba(37, 99, 235, .1); background: white; }
.studio-composer-toolbar { display: flex; min-width: 0; align-items: center; gap: 4px; margin-top: 7px; }
.studio-composer-toolbar > * { flex: 0 0 auto; }

.studio-tool-button {
  display: inline-flex;
  min-width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font-size: 9px;
  white-space: nowrap;
}

.studio-tool-button:hover { color: var(--ink); border-color: var(--line); background: var(--panel-soft); }
.studio-tool-button.active,
.studio-tool-button.has-value { color: var(--blue); border-color: #cadcfb; background: var(--blue-soft); }
.studio-tool-button.teal.active { color: var(--teal); border-color: #cdebe6; background: var(--teal-soft); }
.studio-tool-button svg { width: 14px; height: 14px; flex: 0 0 auto; }

.studio-agent-select {
  min-width: 0;
  max-width: 154px;
  height: 29px;
  padding: 0 24px 0 8px;
  border: 1px solid #d5e1f3;
  border-radius: 7px;
  color: #3b5c85;
  background: #f8fbff;
  font-size: 9px;
  font-weight: 600;
}

.studio-agent-select:focus { border-color: #89aaf0; outline: none; box-shadow: 0 0 0 3px rgba(37, 99, 235, .09); }
.studio-send-button { display: inline-grid; width: 31px; height: 31px; margin-left: auto; padding: 0; place-items: center; border: 0; border-radius: 9px; color: white; background: var(--blue); box-shadow: 0 4px 10px rgba(37, 99, 235, .18); }
.studio-send-button:hover { background: var(--blue-hover); }
.studio-send-button:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; }
.studio-send-button svg { width: 15px; height: 15px; }

.studio-inline-picker {
  position: absolute;
  z-index: 12;
  right: 10px;
  bottom: calc(100% + 8px);
  display: flex;
  width: min(350px, calc(100% - 20px));
  max-height: 340px;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  box-shadow: var(--shadow-lg);
}

.studio-picker-head { display: flex; min-width: 0; min-height: 45px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 11px; border-bottom: 1px solid var(--line); }
.studio-picker-head > div { min-width: 0; }
.studio-picker-head h4 { margin: 0; overflow: hidden; color: var(--ink-strong); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.studio-picker-head p { margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.studio-picker-head > button { flex: 0 0 auto; }
.studio-picker-list { min-width: 0; overflow: auto; padding: 7px; }

.studio-picker-item {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: inherit;
  background: transparent;
  text-align: left;
}

.studio-picker-item:hover { border-color: #d6e3f7; background: #f8fbff; }
.studio-picker-item.selected { border-color: #c5d9fa; background: var(--blue-soft); }
.studio-picker-item > span:nth-child(2) { min-width: 0; }
.studio-picker-item b,
.studio-picker-item small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-picker-item b { color: var(--ink); font-size: 9px; }
.studio-picker-item small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.studio-picker-item > em { color: var(--teal); font-size: 8px; font-style: normal; white-space: nowrap; }

.studio-picker-thumb { display: grid; width: 30px; height: 30px; place-items: center; overflow: hidden; border: 1px solid #dbe5f4; border-radius: 8px; color: var(--blue); background: #f3f7ff; font-size: 9px; font-weight: 700; }
.studio-picker-thumb img { width: 100%; height: 100%; object-fit: cover; }

.studio-info-pane { overflow: auto; padding: 12px; background: #fbfcfe; }
.studio-info-pane > h3 { margin: 1px 2px 9px; color: var(--ink-strong); font-size: 12px; }
.studio-info-card { min-width: 0; margin-bottom: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.studio-info-card:last-child { margin-bottom: 0; }
.studio-info-card h4 { margin: 0 0 8px; color: var(--ink); font-size: 10px; }
.studio-info-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.studio-info-card .side-list { gap: 6px; }
.studio-info-card .side-list div { font-size: 9px; }
.studio-empty-chat { display: grid; min-height: 180px; place-items: center; padding: 22px 16px; color: var(--muted); text-align: center; }
.studio-empty-chat > span { display: grid; width: 38px; height: 38px; margin: 0 auto 8px; place-items: center; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.studio-empty-chat svg { width: 18px; height: 18px; }
.studio-empty-chat b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 10px; }
.studio-empty-chat p { margin: 0; font-size: 9px; line-height: 1.55; }

@keyframes studio-pulse { 50% { opacity: .38; } }
@keyframes studio-thinking { from { background-position: 0 0; } to { background-position: 24px 0; } }

@media (min-width: 1041px) {
  .studio-shell > .studio-info-pane { display: none; }
}

@media (max-width: 1179px) and (min-width: 1041px) {
  .studio-shell { grid-template-columns: minmax(0, 1fr) 340px; gap: 12px; }
  .studio-topbar { gap: 10px; }
  .studio-context-chip { max-width: 180px; }
  .studio-title-input { font-size: 22px; }
  .studio-editor-body { padding-right: 16px; padding-left: 16px; }
  .studio-chat-messages { padding-right: 9px; padding-left: 9px; }
  .studio-composer { padding-right: 8px; padding-left: 8px; }
  .studio-composer-toolbar { overflow-x: auto; scrollbar-width: thin; }
  .studio-agent-select { max-width: 130px; }
}

@media (max-width: 1040px) {
  .content-studio-page { min-width: 0; }
  .studio-topbar { grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; padding: 8px 9px; }
  .studio-topbar .studio-context-chips { grid-column: 1 / -1; margin-top: 1px; }
  .studio-top-actions .ghost-button { display: none; }
  .studio-mobile-tabs { display: grid; }
  .studio-shell { display: block; height: auto; min-height: 0; }
  .studio-shell[data-active-pane="editor"] .studio-chat-panel,
  .studio-shell[data-active-pane="editor"] .studio-info-pane,
  .studio-shell[data-active-pane="chat"] .studio-editor-panel,
  .studio-shell[data-active-pane="chat"] .studio-info-pane,
  .studio-shell[data-active-pane="info"] .studio-editor-panel,
  .studio-shell[data-active-pane="info"] .studio-chat-panel { display: none; }
  .studio-editor-panel,
  .studio-chat-panel,
  .studio-info-pane { min-height: calc(100vh - 245px); }
  .studio-info-pane { display: block; overflow: auto; }
  .studio-chat-panel { height: calc(100vh - 245px); }
  .studio-editor-panel { min-height: calc(100vh - 245px); }
  .studio-title-input { font-size: 22px; }
  .studio-editor-body { padding-right: 18px; padding-left: 18px; }
  .studio-inline-picker { position: fixed; right: 12px; bottom: 12px; width: min(360px, calc(100vw - 24px)); max-height: min(420px, calc(100vh - 110px)); }
}

@media (max-width: 640px) {
  .studio-topbar { align-items: start; }
  .studio-back-button { width: 33px; padding: 0; justify-content: center; font-size: 0; }
  .studio-back-button svg { width: 16px; height: 16px; }
  .studio-doc-title { font-size: 13px; }
  .studio-doc-meta > span { font-size: 8px; }
  .studio-save-state { max-width: 150px; font-size: 8px; }
  .studio-context-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
  .studio-context-chip { flex: 0 0 auto; max-width: 190px; }
  .studio-top-actions { gap: 3px; }
  .studio-top-actions > button { min-height: 33px; padding: 0 8px; font-size: 10px; }
  .studio-top-actions > button span:not([data-icon]) { display: none; }
  .studio-mobile-tabs button { min-height: 34px; font-size: 10px; }
  .studio-editor-panel,
  .studio-chat-panel,
  .studio-info-pane { min-height: calc(100vh - 235px); }
  .studio-chat-panel { height: calc(100vh - 235px); }
  .studio-editor-toolbar { flex-wrap: nowrap; overflow-x: auto; padding-right: 8px; padding-left: 8px; scrollbar-width: thin; }
  .studio-toolbar-group { flex: 0 0 auto; }
  .studio-toolbar-group + .studio-toolbar-group { margin-left: 1px; padding-left: 5px; }
  .studio-format-button { flex: 0 0 auto; }
  .studio-title-input { width: calc(100% - 28px); min-height: 48px; margin: 14px 14px 0; font-size: 20px; }
  .studio-editor-body { padding: 14px 14px 32px; font-size: 13px; line-height: 1.85; }
  .studio-quick-settings { padding: 10px 10px 12px; }
  .studio-quick-settings-grid { grid-template-columns: 1fr; }
  .studio-quick-settings-grid .studio-field.full { grid-column: auto; }
  .studio-empty-canvas { padding: 24px 14px; }
  .studio-generate-grid { grid-template-columns: 1fr; gap: 9px; }
  .studio-field.full,
  .studio-knowledge-summary { grid-column: auto; }
  .studio-knowledge-summary { align-items: flex-start; }
  .studio-chat-head { min-height: 50px; padding: 0 11px; }
  .studio-chat-messages { padding: 10px 9px 12px; }
  .studio-composer { padding: 8px 8px 9px; }
  .studio-composer-input { min-height: 58px; max-height: 150px; font-size: 10px; }
  .studio-composer-toolbar { min-width: 0; overflow: visible; padding-bottom: 1px; flex-wrap: wrap; }
  .studio-tool-button { flex: 0 0 auto; }
  .studio-agent-select { flex: 1 0 100%; width: 100%; max-width: none; font-size: 8px; }
  .studio-send-button { margin-left: 1px; }
  .studio-inline-picker { right: 8px; bottom: 8px; width: calc(100vw - 16px); }
  .studio-picker-item { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .studio-picker-thumb { width: 28px; height: 28px; }
  .studio-info-pane { padding: 10px; }
}

/* 内容生产现在包含创作台、文章任务和写作智能体三个入口。 */
.content-section-tabs {
  width: min(100%, 820px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 选题中心的 tabs-row 自带 margin-bottom；显式收口，避免和 topic-center-tab-row 叠加。 */
.tabs-row.topic-center-tab-row { margin-bottom: 12px; }

/* 知识库图片：使用已审核资产或无外链占位卡，不在编辑器中注入远程图片。 */
.studio-knowledge-image {
  display: grid;
  min-width: 0;
  margin: 18px 0;
  overflow: hidden;
  border: 1px solid #cbdcf8;
  border-radius: 12px;
  background: #f8fbff;
}

.studio-knowledge-image.blue { border-color: #cbdcf8; background: #f8fbff; }
.studio-knowledge-image.violet { border-color: #ded5f4; background: #fbf9ff; }
.studio-knowledge-image.teal { border-color: #cbe8e0; background: #f7fcfa; }

.knowledge-image-placeholder {
  position: relative;
  display: grid;
  min-height: 176px;
  place-items: center;
  overflow: hidden;
  padding: 24px;
  color: #5d76a1;
  background: linear-gradient(135deg, #edf4ff, #fafdff 62%, #e8f1ff);
  text-align: center;
}

.knowledge-image-placeholder::before,
.knowledge-image-placeholder::after { position: absolute; border-radius: 50%; content: ""; pointer-events: none; }
.knowledge-image-placeholder::before { top: -66px; right: -42px; width: 170px; height: 170px; border: 1px solid rgba(37, 99, 235, .14); background: rgba(255, 255, 255, .34); }
.knowledge-image-placeholder::after { bottom: -74px; left: -48px; width: 190px; height: 190px; border: 1px solid rgba(37, 99, 235, .1); background: rgba(255, 255, 255, .22); }

.knowledge-image-placeholder > div { position: relative; z-index: 1; display: grid; min-width: 0; justify-items: center; gap: 5px; }
.knowledge-image-placeholder > div > span:first-child { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #d4e2fa; border-radius: 13px; color: var(--blue); background: rgba(255, 255, 255, .9); box-shadow: var(--shadow-sm); }
.knowledge-image-placeholder svg { width: 21px; height: 21px; }
.knowledge-image-placeholder b { overflow-wrap: anywhere; color: #315486; font-size: 11px; line-height: 1.45; }
.knowledge-image-placeholder small { max-width: 410px; color: #6e82a2; font-size: 9px; line-height: 1.55; }

.studio-knowledge-image.violet .knowledge-image-placeholder { color: #7560ae; background: linear-gradient(135deg, #f3efff, #fdfbff 62%, #eee9ff); }
.studio-knowledge-image.violet .knowledge-image-placeholder::before { border-color: rgba(113, 85, 197, .15); }
.studio-knowledge-image.violet .knowledge-image-placeholder::after { border-color: rgba(113, 85, 197, .1); }
.studio-knowledge-image.violet .knowledge-image-placeholder > div > span:first-child { border-color: #e0d7f5; color: var(--purple); }
.studio-knowledge-image.violet .knowledge-image-placeholder b { color: #5f4a99; }
.studio-knowledge-image.violet .knowledge-image-placeholder small { color: #8375aa; }

.studio-knowledge-image.teal .knowledge-image-placeholder { color: #3d8177; background: linear-gradient(135deg, #eaf9f5, #fbfefd 62%, #e2f5ef); }
.studio-knowledge-image.teal .knowledge-image-placeholder::before { border-color: rgba(15, 118, 110, .15); }
.studio-knowledge-image.teal .knowledge-image-placeholder::after { border-color: rgba(15, 118, 110, .1); }
.studio-knowledge-image.teal .knowledge-image-placeholder > div > span:first-child { border-color: #d0ebe4; color: var(--teal); }
.studio-knowledge-image.teal .knowledge-image-placeholder b { color: #2d6e65; }
.studio-knowledge-image.teal .knowledge-image-placeholder small { color: #668d87; }

.studio-knowledge-image figcaption {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border-top: 1px solid rgba(205, 220, 244, .85);
  color: var(--muted);
  background: rgba(255, 255, 255, .78);
  font-size: 9px;
  line-height: 1.5;
}

.studio-knowledge-image figcaption > span { min-width: 0; overflow-wrap: anywhere; }
.studio-knowledge-image figcaption b { color: var(--ink); font-weight: 600; }
.studio-knowledge-image figcaption small { flex: 0 0 auto; color: var(--muted-2); font-size: 8px; white-space: nowrap; }
.studio-knowledge-image.violet figcaption { border-top-color: #e4ddf3; }
.studio-knowledge-image.teal figcaption { border-top-color: #d5ebe5; }

@media (max-width: 640px) {
  .content-section-tabs { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 4px; }
  .content-section-tabs button { min-height: 47px; grid-template-columns: 28px minmax(0, 1fr); gap: 6px; padding: 5px 6px; }
  .content-section-tabs button > span:first-child { width: 28px; height: 28px; }
  .content-section-tabs b { font-size: 10px; }
  .content-section-tabs small { display: none; }
  .studio-knowledge-image { margin: 14px 0; }
  .knowledge-image-placeholder { min-height: 148px; padding: 19px 14px; }
  .studio-knowledge-image figcaption { display: grid; gap: 3px; }
  .studio-knowledge-image figcaption small { white-space: normal; }
  .content-task-switcher { width: 100%; }
  .content-task-switcher button { grid-template-columns: 27px minmax(0, 1fr); gap: 6px; padding: 5px 7px; }
  .content-task-switcher button > span:first-child { width: 27px; height: 27px; }
  .content-task-switcher small { display: none; }
  .content-plan-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .content-article-toolbar { display: grid; }
  .content-article-toolbar > .tabs { width: 100%; overflow-x: auto; }
  .content-article-toolbar .filter-tools { display: grid; width: 100%; grid-template-columns: 1fr auto; }
  .content-article-header-actions { width: 100%; justify-content: flex-start; }
  .content-plan-filter { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .content-plan-filter .select { width: 100%; }
  .content-advanced-filters { align-items: stretch; flex-wrap: wrap; }
  .content-advanced-filters label { flex: 1 1 180px; }
}

@media (max-width: 1260px) {
  .asset-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-card-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-card-metrics > div:nth-child(2) { border-right: 0; }
  .asset-card-metrics > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 1040px) {
  .asset-detail-grid { grid-template-columns: 1fr; }
  .asset-citation-facts { grid-template-columns: 1fr; }
  .asset-toolbar { align-items: stretch; flex-direction: column; padding: 10px 14px; }
  .asset-filter-tools { width: 100%; }
  .asset-filter-tools .compact-search { flex: 1; }
  .asset-filter-tools .compact-search .input { width: 100%; }
}

@media (max-width: 640px) {
  .asset-summary { gap: 8px; }
  .asset-summary .summary-card { min-height: 72px; gap: 9px; padding: 11px; }
  .asset-summary .summary-card span { width: 32px; height: 32px; }
  .asset-summary .summary-card b { font-size: 18px; }
  .asset-card-main { grid-template-columns: 1fr; gap: 11px; padding: 14px; }
  .asset-card-actions { justify-content: space-between; }
  .asset-title-button { white-space: normal; }
  .asset-card-title p { white-space: normal; }
  .asset-card-metrics { grid-template-columns: 1fr; }
  .asset-card-metrics > div { min-height: 68px; border-right: 0; border-bottom: 1px solid var(--line); }
  .asset-card-metrics > div:last-child { border-bottom: 0; }
  .asset-detail-grid { padding: 12px; }
  .asset-platform-row { grid-template-columns: minmax(0, 1fr) auto; }
  .asset-platform-time { grid-column: 1 / -1; }
  .asset-publication-row { grid-template-columns: minmax(0, 1fr) auto; }
  .asset-publication-url { grid-column: 1 / -1; order: 3; }
  .asset-citation-facts { padding: 0 12px 12px; }
  .asset-citation-row { grid-template-columns: minmax(0, 1fr) auto; }
  .asset-citation-row > a { grid-column: 1 / -1; }
  .asset-detail-footer { display: grid; gap: 8px; padding: 12px 14px; }
  .asset-detail-footer > span { padding: 0 0 7px; border-right: 0; border-bottom: 1px solid var(--line); }
  .asset-detail-actions { margin-left: 0; }
}

/* 定时发布排期 */
.schedule-modal-body { display: grid; gap: 14px; background: #f6f8fb; }
.schedule-section { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.schedule-section-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.schedule-section-head h3 { margin: 0; color: var(--ink-strong); font-size: 12px; }
.schedule-section-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.schedule-article-summary { display: flex; flex-wrap: wrap; gap: 6px; }
.schedule-article-summary span { max-width: 100%; padding: 6px 8px; overflow: hidden; border: 1px solid #dce6f6; border-radius: 7px; color: #3d5b84; background: #f7faff; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-warning { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 11px; padding: 9px 10px; border: 1px solid #ecd6ad; border-radius: 8px; color: #795b27; background: #fffaf0; font-size: 9px; line-height: 1.55; }
.schedule-warning svg { width: 14px; height: 14px; flex: 0 0 auto; }
.schedule-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 11px; }
.schedule-platform-choice { min-height: 58px; }
.schedule-order-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; margin-top: 12px; color: var(--muted); font-size: 9px; }
.schedule-order-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.schedule-order-chip { display: inline-flex; min-height: 26px; align-items: center; gap: 3px; padding: 2px 4px 2px 8px; border: 1px solid #d5e2f7; border-radius: 999px; color: #315a92; background: #f5f9ff; font-size: 9px; font-weight: 600; }
.schedule-order-chip button { display: grid; width: 19px; height: 19px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #6e88ad; background: transparent; font-size: 10px; }
.schedule-order-chip button:hover:not(:disabled) { color: var(--blue); background: #e2ecff; }
.schedule-order-chip button:disabled { cursor: not-allowed; opacity: .35; }
.schedule-mode-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.schedule-mode-card { position: relative; display: grid; min-height: 62px; gap: 4px; padding: 10px 11px 10px 31px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fbfcfe; cursor: pointer; }
.schedule-mode-card input { position: absolute; top: 12px; left: 11px; width: 15px; height: 15px; margin: 0; accent-color: var(--blue); }
.schedule-mode-card.active { border-color: #9ebaf1; color: var(--ink); background: #f6f9ff; box-shadow: 0 0 0 2px rgba(37, 99, 235, .06); }
.schedule-mode-card b { color: var(--ink-strong); font-size: 10px; }
.schedule-mode-card small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.schedule-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.schedule-rule-note { display: flex; align-items: flex-start; gap: 7px; margin-top: 12px; padding: 9px 10px; border-radius: 8px; color: #4f6787; background: #f3f7fc; font-size: 9px; line-height: 1.55; }
.schedule-rule-note svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--blue); }
.schedule-completion { display: flex; min-height: 54px; align-items: center; gap: 10px; margin-top: 10px; padding: 10px 12px; border: 1px solid #cde7da; border-radius: 9px; color: var(--green); background: #f5fbf8; }
.schedule-completion > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: var(--green-soft); }
.schedule-completion svg { width: 15px; height: 15px; }
.schedule-completion small, .schedule-completion b { display: block; }
.schedule-completion small { color: #668377; font-size: 8px; }
.schedule-completion b { margin-top: 3px; color: #24664f; font-size: 12px; }
.schedule-preview-section { overflow: hidden; }
.schedule-preview-table { min-width: 650px; }
.schedule-preview-title { min-width: 190px; }
.schedule-preview-title b, .schedule-preview-title small { display: block; }
.schedule-preview-title small { margin-top: 3px; color: var(--muted-2); font-size: 8px; }
.schedule-platform-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.schedule-platform-chips em { padding: 3px 5px; border: 1px solid #dce7f7; border-radius: 5px; color: #466890; background: #f7faff; font-size: 8px; font-style: normal; white-space: nowrap; }
.schedule-more-note { display: block; margin-top: 9px; color: var(--muted-2); font-size: 9px; }
.schedule-empty { padding: 25px 12px; border: 1px dashed #cdd9e8; border-radius: 9px; color: var(--muted); background: #fbfcfe; font-size: 10px; text-align: center; }
.publish-schedules { display: grid; gap: 10px; margin-bottom: 16px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.section-heading h2 { margin: 0; color: var(--ink-strong); font-size: 14px; }
.section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.publish-schedule-card { overflow: hidden; }
.publish-schedule-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 14px 16px; }
.publish-schedule-title { display: flex; min-width: 0; align-items: center; gap: 8px; }
.publish-schedule-title h3 { margin: 0; color: var(--ink-strong); font-size: 12px; }
.publish-schedule-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.publish-schedule-actions { flex: 0 0 auto; }
.publish-schedule-meta { display: flex; min-width: 0; flex-wrap: wrap; gap: 15px; padding: 10px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; background: #fbfcfe; }
.publish-schedule-meta > span { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; }
.publish-schedule-meta b { color: var(--ink); }
.publish-schedule-meta .publish-completion-time { padding: 4px 7px; border: 1px solid #cde7da; border-radius: 6px; color: #2c6d57; background: #f5fbf8; }
.publish-schedule-meta .publish-completion-time b { color: #2c6d57; }
.publish-schedule-meta span span { display: inline-flex; align-items: center; gap: 3px; color: #4b6790; }
.publish-schedule-meta .platform-logo { width: 18px; height: 18px; font-size: 7px; }
.schedule-item-list { display: grid; }
.schedule-item-row { display: grid; grid-template-columns: 28px minmax(150px, 1fr) 145px minmax(190px, 1.4fr) auto; gap: 10px; align-items: center; min-height: 49px; padding: 8px 16px; border-bottom: 1px solid var(--line); }
.schedule-item-row:last-child { border-bottom: 0; }
.schedule-item-index { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 700; }
.schedule-item-title b, .schedule-item-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-item-title b { color: var(--ink); font-size: 10px; }
.schedule-item-title small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.schedule-item-time { color: #385d8d; font-size: 9px; font-weight: 600; }
.schedule-item-platforms { display: flex; flex-wrap: wrap; gap: 4px; }
.schedule-item-platforms em { padding: 3px 5px; border: 1px solid #dce7f7; border-radius: 5px; color: #466890; background: #f7faff; font-size: 8px; font-style: normal; }
.publish-schedule-card > .schedule-more-note { padding: 0 16px 12px; }
.publish-schedule-empty { margin-bottom: 16px; }
.publish-schedule-empty > div { display: flex; min-height: 80px; align-items: center; gap: 12px; padding: 15px 17px; }
.publish-schedule-empty > div > span { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); }
.publish-schedule-empty h3 { margin: 0; color: var(--ink); font-size: 11px; }
.publish-schedule-empty p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.publish-schedule-empty button { margin-left: auto; }

@media (max-width: 760px) {
  .schedule-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .schedule-platforms { grid-template-columns: 1fr; }
  .schedule-item-row { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .schedule-item-platforms { grid-column: 2 / -1; }
  .schedule-item-row > .status-badge { grid-column: 3; grid-row: 1; }
}

@media (max-width: 520px) {
  .schedule-mode-tabs, .schedule-fields { grid-template-columns: 1fr; }
  .schedule-order-row { grid-template-columns: 1fr; gap: 6px; }
  .publish-schedule-head, .publish-schedule-empty > div { align-items: flex-start; flex-direction: column; }
  .publish-schedule-empty button { margin-left: 0; }
  .publish-schedule-meta { display: grid; gap: 8px; }
}

/* 官网运营 CMS */
.site-cms-tabs { flex-wrap: wrap; }
.site-release-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 12px 16px; border: 1px solid #dce7fb; border-radius: 12px; background: #f7faff; }
.site-release-bar.has-changes { border-color: #f0d9a1; background: #fffaf0; }
.site-release-state, .site-release-actions { display: flex; min-width: 0; align-items: center; gap: 10px; }
.site-release-state > div { display: grid; min-width: 0; gap: 3px; }
.site-release-state b { color: var(--ink); font-size: 11px; }
.site-release-state small { color: var(--muted); font-size: 8px; }
.site-release-indicator { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #31a66c; box-shadow: 0 0 0 4px rgba(49,166,108,.12); }
.site-release-bar.has-changes .site-release-indicator { background: #d18a17; box-shadow: 0 0 0 4px rgba(209,138,23,.12); }
.site-rendered-preview-body { display: grid; gap: 10px; min-height: 560px; }
.site-preview-address { display: flex; align-items: center; gap: 8px; min-width: 0; }
.site-preview-address code { min-width: 0; flex: 1; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.site-rendered-preview-frame { width: 100%; min-height: 520px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.site-release-history-list { display: grid; gap: 8px; }
.site-release-history-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.site-release-history-row.current { border-color: #c8d8f4; background: #f7faff; }
.site-release-history-version { display: grid; min-width: 70px; gap: 4px; }
.site-release-history-version b { color: var(--ink); font-size: 13px; }
.site-release-history-row > div:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 3px; }
.site-release-history-row strong { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.site-release-history-row small { color: var(--muted); font-size: 8px; }
.site-cms-overview { display: grid; gap: 16px; }
.site-hero-card { display: flex; min-height: 210px; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 30px; overflow: hidden; background: linear-gradient(135deg, #f5f8ff 0%, #fff 68%); }
.site-hero-copy { max-width: 680px; }
.site-hero-copy .eyebrow { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: 1.5px; }
.site-hero-copy h2 { max-width: 620px; margin: 11px 0 9px; color: var(--ink); font-size: clamp(22px, 2.5vw, 34px); letter-spacing: -.8px; line-height: 1.18; }
.site-hero-copy p { max-width: 630px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.site-hero-actions { display: flex; gap: 8px; margin-top: 18px; }
.site-health-score { display: flex; min-width: 155px; align-items: center; justify-content: center; gap: 13px; }
.site-health-score > span { display: grid; gap: 5px; }
.site-health-score > span small { color: var(--muted); font-size: 9px; }
.score-ring { display: grid; width: 104px; height: 104px; place-items: center; border: 9px solid #dbe7ff; border-top-color: var(--blue); border-right-color: #6f9eff; border-radius: 50%; background: #fff; box-shadow: 0 10px 25px rgba(29, 92, 255, .08); }
.score-ring b { color: var(--blue); font-size: 28px; line-height: 1; }
.score-ring small { margin-top: -22px; color: var(--muted); font-size: 8px; }
.site-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stats-grid { display: grid; gap: 12px; }
.site-stat-grid .stat-card { display: flex; min-height: 82px; align-items: center; gap: 11px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.stat-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); }
.stat-icon.purple { color: #7654d9; background: #f0ebff; }
.stat-icon.teal { color: #238c83; background: #e6f7f4; }
.stat-icon.orange { color: #bd7019; background: #fff0dc; }
.stat-icon svg { width: 16px; height: 16px; }
.stat-card > div { display: flex; min-width: 0; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.stat-card small { display: block; width: 100%; margin-bottom: 3px; color: var(--muted); font-size: 8px; }
.stat-card b { color: var(--ink); font-size: 22px; line-height: 1; }
.stat-card em { color: var(--muted-2); font-size: 8px; font-style: normal; }
.site-cms-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 16px; }
.site-publish-flow { display: flex; align-items: center; gap: 10px; padding: 18px 20px 22px; overflow-x: auto; }
.site-flow-step { display: grid; min-width: 124px; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.site-flow-step i { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; color: var(--muted); background: #f0f3f8; font-size: 9px; font-style: normal; font-weight: 800; }
.site-flow-step b { color: var(--ink); font-size: 10px; }
.site-flow-step small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.site-flow-step.done { border-color: #d9e9df; background: #fbfffc; }
.site-flow-step.done i, .site-flow-step.active i { color: #fff; background: #31a66c; }
.site-flow-step.active { border-color: #bfd2ff; background: #f8faff; }
.site-flow-step.active i { background: var(--blue); }
.site-flow-arrow { color: var(--muted-2); font-size: 17px; }
.site-check-list { display: grid; gap: 3px; padding: 8px 18px 16px; }
.site-check-item, .site-output-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.site-check-item:last-child, .site-output-row:last-child { border-bottom: 0; }
.site-check-item > span:last-child, .site-output-row > div { display: grid; gap: 3px; min-width: 0; }
.site-check-item b, .site-output-row b { color: var(--ink); font-size: 10px; }
.site-check-item small, .site-output-row small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.check-dot { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: #a9b3c1; font-size: 10px; font-weight: 800; }
.check-dot.ok { background: #31a66c; }
.check-dot.warn { color: #8a5b00; background: #ffe4a8; }
.site-recent-list { padding: 4px 18px 12px; }
.site-recent-item { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.site-recent-item:last-child { border-bottom: 0; }
.site-recent-item > div { min-width: 0; }
.site-recent-item b, .site-recent-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-recent-item b { color: var(--ink); font-size: 10px; }
.site-recent-item small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.site-recent-type { width: fit-content; padding: 4px 6px; border-radius: 5px; color: #496fa9; background: #f0f5ff; font-size: 8px; }
.site-page-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.site-page-toolbar h2 { margin: 0 0 5px; color: var(--ink); font-size: 18px; }
.site-page-toolbar p { margin: 0; color: var(--muted); font-size: 10px; }
.site-page-manager { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.6fr) minmax(250px, .8fr); gap: 15px; align-items: start; }
.site-page-tree, .site-page-editor, .site-page-settings { min-width: 0; }
.site-tree-list { padding: 6px 10px 12px; }
.site-tree-group-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 9px 5px; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.site-tree-group-label + .site-tree-item { margin-top: 2px; }
.site-tree-group-label:not(:first-child) { margin-top: 8px; border-top: 1px solid var(--line); }
.site-tree-group-label small { color: var(--muted-2); font-size: 7px; font-weight: 400; letter-spacing: 0; }
.site-tree-item { display: flex; width: 100%; align-items: center; gap: 8px; padding: 10px 9px; border: 0; border-radius: 9px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.site-tree-item:hover, .site-tree-item.active { background: #f0f5ff; }
.site-tree-item.active { box-shadow: inset 3px 0 0 var(--blue); }
.site-tree-icon { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: var(--blue); background: #eaf1ff; }
.site-tree-item > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.site-tree-item b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.site-tree-item small { color: var(--muted); font-size: 8px; }
.site-tree-status { margin-left: auto; color: #2e9866; font-size: 7px; font-style: normal; white-space: nowrap; }
.site-tree-status.draft { color: var(--muted-2); }
.site-editor-canvas { padding: 16px 18px 18px; background: #f8faff; }
.site-editor-canvas-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; color: var(--ink); font-size: 10px; font-weight: 700; }
.site-editor-canvas-head small { color: var(--muted); font-size: 8px; font-weight: 400; }
.site-module-row, .site-nav-row { display: flex; min-height: 59px; align-items: center; gap: 9px; margin-bottom: 7px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.site-module-row:last-child { margin-bottom: 0; }
.site-module-order { width: 20px; color: var(--muted-2); font-size: 8px; font-weight: 700; }
.site-module-grip { color: #b8c1ce; font-size: 14px; letter-spacing: -3px; }
.site-module-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.site-module-copy b { color: var(--ink); font-size: 10px; }
.site-module-copy small, .site-module-copy em { overflow: hidden; color: var(--muted); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.site-module-copy em { color: var(--muted-2); }
.site-add-module { display: flex; width: 100%; align-items: center; justify-content: center; gap: 6px; min-height: 38px; margin-top: 8px; border: 1px dashed #b9c9e8; border-radius: 9px; color: var(--blue); background: #f8fbff; font-size: 9px; cursor: pointer; }
.site-page-settings .card-body { display: grid; gap: 13px; }
.site-page-settings .field label { display: block; margin-bottom: 5px; color: var(--ink); font-size: 9px; font-weight: 700; }
.site-page-settings .setting-row { margin-top: 0; padding: 10px 0; }
.site-page-version { display: flex; align-items: center; gap: 8px; padding-top: 11px; border-top: 1px solid var(--line); }
.site-page-version > span:first-child { color: var(--blue); }
.site-page-version > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.site-page-version b { font-size: 9px; }
.site-page-version small { color: var(--muted); font-size: 8px; }
.site-source-note { display: flex; align-items: flex-start; gap: 11px; padding: 13px 16px; border-color: #dce8ff; background: #f6f9ff; }
.site-source-note-icon { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--blue); background: #e6efff; }
.site-source-note > div { min-width: 0; flex: 1; }
.site-source-note b { color: #254d92; font-size: 10px; }
.site-source-note p { margin: 4px 0 0; color: #6680a9; font-size: 9px; line-height: 1.55; }
.site-content-tabs { display: flex; gap: 2px; margin: 16px 0 10px; border-bottom: 1px solid var(--line); }
.site-content-tab { padding: 9px 14px; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: transparent; font-size: 10px; cursor: pointer; }
.site-content-tab.active { border-bottom-color: var(--blue); color: var(--blue); font-weight: 700; }
.site-content-tab small { margin-left: 4px; color: var(--muted-2); font-size: 8px; }
.site-filter-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.filter-chip { padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: #fff; font-size: 8px; cursor: pointer; }
.filter-chip.active { border-color: #b8cdfa; color: var(--blue); background: var(--blue-soft); }
.site-article-table .article-title-cell { max-width: 360px; }
.site-article-table .article-title-cell b, .site-article-table .article-title-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-article-table .article-title-cell small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.site-tag-list { display: flex; flex-wrap: wrap; gap: 4px; }
.site-tag-list em { padding: 3px 5px; border-radius: 4px; color: #62748d; background: #f2f5f9; font-size: 8px; font-style: normal; }
.table-subtext { display: block; margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.table-action-divider { margin: 0 4px; color: var(--muted-2); }
.site-category-tip { display: flex; align-items: center; gap: 7px; margin: 0 17px 16px; padding: 10px; border-radius: 8px; color: var(--muted); background: #f8fafc; font-size: 8px; }
.site-category-tip > span:first-child { color: var(--blue); }
.site-navigation-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 16px; }
.site-nav-list { padding: 7px 16px 14px; }
.site-nav-row { margin-bottom: 7px; }
.site-nav-row:last-child { margin-bottom: 0; }
.site-nav-row > div { display: grid; min-width: 0; flex: 1; gap: 3px; }
.site-nav-row b { color: var(--ink); font-size: 10px; }
.site-nav-row small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.site-nav-row.compact { min-height: 55px; }
.site-theme-card { margin-top: 16px; }
.color-setting { display: flex; align-items: center; gap: 6px; }
.color-setting i { width: 28px; height: 28px; border: 3px solid #fff; border-radius: 8px; background: #1d5cff; box-shadow: 0 0 0 1px var(--line); }
.color-setting .input { flex: 1; }
.site-lead-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 0 18px 15px; }
.site-lead-summary > div { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafcff; }
.site-lead-summary b { color: var(--ink); font-size: 19px; }
.site-lead-summary span { color: var(--muted); font-size: 8px; }
.site-settings-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 16px; }
.site-settings-grid > .site-advanced-card { grid-column: 1 / -1; }
.site-settings-grid .field { margin-bottom: 12px; }
.site-settings-grid .field label { display: block; margin-bottom: 5px; color: var(--ink); font-size: 9px; font-weight: 700; }
.site-output-list { padding: 5px 18px 7px; }
.site-output-row > div { flex: 1; }
.site-settings-footnote { display: flex; align-items: flex-start; gap: 7px; margin: 3px 18px 16px; padding: 10px; border-radius: 8px; color: var(--muted); background: #f7f9fc; font-size: 8px; line-height: 1.5; }
.site-settings-footnote > span:first-child { color: var(--blue); }
.advanced-setting-row { display: flex; min-height: 60px; align-items: center; gap: 11px; margin: 0 18px; border-bottom: 1px solid var(--line); }
.advanced-setting-row > div { display: grid; flex: 1; gap: 3px; }
.advanced-setting-row b { color: var(--ink); font-size: 10px; }
.advanced-setting-row small { color: var(--muted); font-size: 8px; }
.site-health-quiet { margin: 15px 18px 16px; }
.site-publish-modal-body { display: grid; gap: 15px; }
.site-publish-modal-body .field label { display: block; margin-bottom: 5px; color: var(--ink); font-size: 9px; font-weight: 700; }
.site-publish-modal-body .field-help { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.site-slug-input { display: flex; align-items: center; gap: 6px; }
.site-slug-input > span { padding: 9px 0 9px 10px; color: var(--muted); background: #f8fafc; font-size: 9px; }
.site-slug-input .input { flex: 1; }
.site-publish-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding-top: 3px; }
.site-publish-checks > div { display: flex; align-items: flex-start; gap: 7px; padding: 9px; border: 1px solid #dce9df; border-radius: 8px; background: #f8fcf9; }
.site-publish-checks > div > span:last-child { display: grid; gap: 3px; }
.site-publish-checks b { color: #317454; font-size: 8px; }
.site-publish-checks small { color: #6b8d78; font-size: 7px; line-height: 1.4; }

@media (max-width: 1100px) {
  .site-page-manager { grid-template-columns: minmax(190px, .65fr) minmax(0, 1.35fr); }
  .site-page-settings { grid-column: 1 / -1; }
  .site-cms-grid, .site-navigation-grid, .site-settings-grid { grid-template-columns: 1fr; }
  .site-settings-grid > .site-advanced-card { grid-column: auto; }
}

@media (max-width: 760px) {
  .site-release-bar { align-items: stretch; flex-direction: column; }
  .site-release-actions { justify-content: flex-end; flex-wrap: wrap; }
  .site-rendered-preview-body { min-height: 420px; }
  .site-rendered-preview-frame { min-height: 390px; }
  .site-release-history-row { align-items: flex-start; flex-wrap: wrap; }
  .site-hero-card { align-items: flex-start; flex-direction: column; padding: 22px; }
  .site-health-score { justify-content: flex-start; }
  .site-stat-grid, .site-lead-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-cms-grid { grid-template-columns: 1fr; }
  .site-page-manager { grid-template-columns: 1fr; }
  .site-page-settings { grid-column: auto; }
  .site-page-toolbar { align-items: flex-start; flex-direction: column; }
  .site-filter-chips { justify-content: flex-start; margin-top: 8px; }
  .site-publish-checks { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .site-stat-grid, .site-lead-summary { grid-template-columns: 1fr 1fr; gap: 7px; }
  .site-hero-actions { align-items: stretch; flex-direction: column; }
  .site-publish-flow { align-items: stretch; flex-direction: column; }
  .site-flow-arrow { display: none; }
  .site-flow-step { min-width: 0; }
  .site-recent-item { grid-template-columns: 1fr auto; }
  .site-recent-type { display: none; }
  .site-recent-item > div { grid-column: 1; }
  .site-recent-item > span:last-child { grid-column: 2; grid-row: 1; }
}

/* 内容生产：提交后进入人工审核 */
.manual-review-banner { display: flex; align-items: center; gap: 10px; margin: 0 0 15px; padding: 11px 13px; border: 1px solid #dce7fb; border-radius: 10px; background: #f7faff; }
.manual-review-step { display: flex; min-width: 0; align-items: center; gap: 7px; }
.manual-review-step i { display: grid; width: 23px; height: 23px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #718096; background: #e9eef6; font-size: 9px; font-style: normal; font-weight: 800; }
.manual-review-step b, .manual-review-step small { display: block; }
.manual-review-step b { color: var(--ink); font-size: 9px; }
.manual-review-step small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.manual-review-step.active i { color: #fff; background: var(--blue); }
.manual-review-step.active b { color: var(--blue); }
.manual-review-arrow { color: #9aabc4; font-size: 14px; }
.manual-review-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: -7px 0 10px; padding: 10px 12px; border: 1px solid #e4eaf4; border-radius: 10px; background: #fff; }
.manual-review-meta > div { min-width: 0; }
.manual-review-meta span, .manual-review-meta b { display: block; }
.manual-review-meta span { color: var(--muted); font-size: 9px; }
.manual-review-meta b:not(.status-badge) { margin-top: 4px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.manual-review-checklist { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 15px; padding: 9px 12px; border: 1px dashed #cbd8ec; border-radius: 9px; background: #fbfdff; color: var(--muted); font-size: 9px; }
.manual-review-checklist b { color: var(--ink); font-size: 10px; }
.manual-review-checklist span { padding: 4px 7px; border-radius: 999px; color: #9a4e1c; background: #fff5e8; }
.manual-review-checklist span::before { content: "!"; margin-right: 3px; font-weight: 800; }
.manual-review-checklist span.ok { color: #276749; background: #edf9f2; }
.manual-review-checklist span.ok::before { content: "✓"; }
.manual-review-checklist small { flex-basis: 100%; color: var(--muted-2); font-size: 8px; }
.manual-review-checklist small.manual-review-note { color: #9a4e1c; }
.manual-review-complete { display: flex; align-items: center; gap: 10px; margin: 0 0 15px; padding: 12px 14px; border: 1px solid #c9ebd6; border-radius: 10px; background: #f2fbf5; }
.manual-review-complete > [data-icon] { width: 21px; height: 21px; flex: 0 0 auto; color: #25834d; }
.manual-review-complete b, .manual-review-complete p { display: block; }
.manual-review-complete b { color: #1f6d40; font-size: 11px; }
.manual-review-complete p { margin: 3px 0 0; color: #587466; font-size: 9px; }

@media (max-width: 680px) {
  .manual-review-banner { align-items: stretch; flex-direction: column; }
  .manual-review-arrow { display: none; }
  .manual-review-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 本地发布器下载与配对流程 */
.assistant-download-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 18px; padding: 24px 26px; border: 1px solid #dce7f7; background: linear-gradient(135deg, #f8fbff 0%, #ffffff 72%); }
.assistant-download-copy { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.assistant-download-copy h3 { margin: 5px 0 7px; font-size: 19px; }
.assistant-download-copy p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.7; }
.download-app-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 13px; color: #1d5cff; background: #e9f0ff; }
.download-app-icon svg { width: 22px; height: 22px; }
.assistant-download-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.assistant-download-actions { display: flex; flex-direction: column; align-items: stretch; gap: 9px; min-width: 190px; }
.assistant-download-actions small { color: var(--muted-2); line-height: 1.5; }
.assistant-download-actions .primary-button, .assistant-download-actions .secondary-button { justify-content: center; }
.assistant-flow { margin-bottom: 18px; }
.assistant-flow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 22px 22px; }
.assistant-flow-steps > div { position: relative; min-height: 90px; padding: 15px 14px 13px 50px; border: 1px solid #e2eaf5; border-radius: 12px; background: #fbfdff; }
.assistant-flow-steps i { position: absolute; left: 14px; top: 15px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: #1d5cff; font-style: normal; font-size: 12px; font-weight: 800; }
.assistant-flow-steps b { display: block; margin-bottom: 5px; font-size: 13px; }
.assistant-flow-steps small { display: block; color: var(--muted); line-height: 1.55; }
.assistant-platform-catalog { margin-top: 18px; overflow: hidden; }
.assistant-platform-catalog .card-header { padding-bottom: 14px; }
.assistant-catalog-tools { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.assistant-catalog-tools label { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.assistant-catalog-tools .select { min-width: 132px; min-height: 30px; padding-top: 4px; padding-bottom: 4px; font-size: 11px; }
.assistant-platform-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; max-height: 430px; overflow: auto; padding: 0 22px 22px; }
.assistant-platform-row { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 8px; align-items: center; min-height: 64px; padding: 10px 11px; border: 1px solid #e2eaf5; border-radius: 10px; background: #fbfdff; }
.assistant-platform-name { min-width: 0; overflow: hidden; color: var(--ink); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.assistant-platform-row .status-badge { font-size: 8px; }
.assistant-platform-row small { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 960px) {
  .assistant-download-card { align-items: flex-start; flex-direction: column; }
  .assistant-download-actions { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .assistant-download-actions small { flex-basis: 100%; }
  .assistant-flow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assistant-platform-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assistant-catalog-tools { justify-content: flex-start; }
}
@media (max-width: 600px) { .assistant-flow-steps, .assistant-platform-list { grid-template-columns: 1fr; } .assistant-platform-list { max-height: none; padding: 0 14px 14px; } }

/*
 * 2026 visual refresh
 *
 * The product information architecture is intentionally unchanged. This layer
 * gives every workspace the same visual rhythm: readable type, stronger
 * hierarchy, softer surfaces and a calmer enterprise SaaS palette.
 */
:root {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --panel-soft: #f8faff;
  --ink: #1c2940;
  --ink-strong: #10213d;
  --muted: #61718a;
  --muted-2: #8795aa;
  --line: #e3e9f2;
  --line-strong: #ccd6e5;
  --nav: #101d34;
  --nav-soft: #1b2d4d;
  --nav-muted: #9cabc2;
  --blue: #356ae6;
  --blue-hover: #2858c9;
  --blue-soft: #edf3ff;
  --shadow-sm: 0 1px 2px rgba(20, 36, 63, .035), 0 8px 24px rgba(20, 36, 63, .055);
  --shadow-md: 0 12px 32px rgba(20, 36, 63, .09);
  --radius: 16px;
  --radius-sm: 10px;
}

html,
body { background: var(--bg); }

body {
  color: var(--ink);
  font-size: 14px;
  background:
    radial-gradient(circle at 82% -10%, rgba(82, 125, 232, .10), transparent 30rem),
    linear-gradient(180deg, #f8faff 0, var(--bg) 28rem);
}

.sidebar {
  width: 252px;
  background:
    radial-gradient(circle at 100% 0, rgba(61, 110, 222, .25), transparent 20rem),
    linear-gradient(180deg, #12213c 0%, #0d192e 58%, #0b1629 100%);
  border-right-color: rgba(255, 255, 255, .08);
  box-shadow: 14px 0 42px rgba(9, 22, 43, .14);
}

.brand {
  min-height: 82px;
  padding: 0 22px;
  border-bottom-color: rgba(255, 255, 255, .09);
}

.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(145deg, #4b82f4, #2455c7);
  box-shadow: 0 8px 20px rgba(40, 92, 209, .30);
}

.brand strong { font-size: 16px; }
.brand small { font-size: 12px; }

.workspace-switcher {
  margin: 18px 16px 12px;
  padding: 12px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .065);
}

.nav-main,
.nav-secondary { padding-right: 14px; padding-left: 14px; }

.nav-main a,
.nav-secondary a {
  min-height: 46px;
  margin: 3px 0;
  padding: 0 13px;
  border-radius: 11px;
  font-size: 14px;
}

.nav-main a:hover,
.nav-secondary a:hover { background: rgba(255, 255, 255, .085); }

.nav-main a.active,
.nav-secondary a.active {
  background: linear-gradient(90deg, rgba(75, 130, 244, .28), rgba(75, 130, 244, .12));
  box-shadow: inset 3px 0 0 #79a1ff, 0 6px 18px rgba(8, 24, 55, .16);
}

.nav-icon { width: 20px; height: 20px; margin-right: 13px; }
.nav-icon svg { width: 19px; height: 19px; }
.nav-count { font-size: 11px; }

.main-column {
  margin-left: 252px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(244, 247, 251, .72));
}

.topbar {
  min-height: 82px;
  padding: 0 38px;
  border-bottom-color: rgba(208, 218, 232, .82);
  background: rgba(255, 255, 255, .90);
  box-shadow: 0 4px 20px rgba(30, 52, 86, .035);
}

.topbar h1 { font-size: 22px; letter-spacing: -.4px; }
.breadcrumbs { font-size: 11px; }
.topbar-actions { gap: 10px; }
.icon-button { border-radius: 11px; }
.assistant-pill,
.soft-button,
.search-trigger { min-height: 40px; border-radius: 10px; }
.search-trigger { min-width: 208px; }
.avatar-button { width: 40px; height: 40px; border-radius: 12px; }

#main-content {
  min-height: calc(100vh - 82px);
  padding: 36px 38px 60px;
}

.page-container { max-width: 1560px; }
.page-head { gap: 28px; margin-bottom: 28px; }
.page-head h2 { margin-bottom: 7px; font-size: 28px; letter-spacing: -.7px; }
.page-head p { max-width: 860px; font-size: 14px; line-height: 1.7; }
.page-actions { gap: 10px; }

.primary-button,
.secondary-button,
.ghost-button,
.danger-button,
.text-button { min-height: 42px; border-radius: 10px; }
.primary-button { padding: 0 17px; background: linear-gradient(135deg, #467cf1, #2f60d8); box-shadow: 0 7px 18px rgba(53, 106, 230, .20); }
.primary-button:hover { background: linear-gradient(135deg, #3d70e2, #2858c9); }
.secondary-button { padding: 0 16px; }
.button-small { min-height: 34px; padding: 0 11px; border-radius: 8px; }

.card {
  border-color: rgba(214, 224, 237, .9);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
}
.card:hover { border-color: #d4dfef; }
.card-header { min-height: 70px; padding: 0 24px; }
.card-header h3 { font-size: 16px; }
.card-header p { font-size: 12px; line-height: 1.5; }
.card-body { padding: 24px; }
.card-footer { padding: 16px 24px; background: #fbfcfe; }

.status-badge,
.small-tag,
.source-tag { min-height: 26px; padding: 3px 10px; font-size: 12px; }
.source-tag { font-size: 11px; }

.metric-grid { gap: 16px; margin-bottom: 22px; }
.metric-card {
  min-height: 142px;
  padding: 22px;
  border-color: rgba(214, 224, 237, .9);
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 0%, #fbfdff 100%);
}
.metric-card::after { background: #f0f5ff; }
.metric-top { font-size: 13px; }
.metric-icon { width: 38px; height: 38px; border-radius: 11px; }
.metric-icon svg { width: 18px; height: 18px; }
.metric-value { margin-top: 13px; font-size: 34px; }
.metric-note { margin-top: 10px; font-size: 12px; }

.dashboard-grid { gap: 22px; }
.stack { gap: 22px; }
.todo-list { padding: 6px 24px 12px; }
.todo-item { min-height: 76px; gap: 14px; }
.todo-copy strong { font-size: 14px; }
.todo-copy span { margin-top: 4px; font-size: 12px; }
.todo-meta b { font-size: 20px; }
.quick-grid { gap: 12px; padding: 20px 24px 24px; }
.quick-action { min-height: 104px; padding: 16px; border-radius: 12px; }
.quick-action b { font-size: 13px; }
.quick-action small { font-size: 11px; }
.system-list { padding: 10px 24px 16px; }
.system-item { min-height: 60px; }
.system-name b { font-size: 13px; }
.system-name small { font-size: 11px; }
.activity-list { padding: 12px 24px 20px; }
.activity-copy b { font-size: 12px; }
.activity-copy p { font-size: 11px; }

.toolbar-card { gap: 14px; margin-bottom: 20px; padding: 18px; border-radius: 14px; }
.field { gap: 7px; }
.field label { font-size: 12px; }
.field small { font-size: 11px; }
.input,
.select { height: 42px; padding: 0 12px; border-radius: 10px; }
.textarea { padding: 11px 12px; border-radius: 10px; }

.tabs-row { margin-bottom: 18px; }
.tabs { padding: 4px; border-radius: 10px; }
.tab-button { min-height: 36px; padding: 0 14px; font-size: 12px; }
.filter-tools { gap: 9px; }
.compact-search .input { width: 240px; height: 38px; }

.data-table th { height: 48px; padding: 0 18px; font-size: 12px; letter-spacing: .1px; }
.data-table td { height: 76px; padding: 12px 18px; font-size: 13px; }
.article-title-cell button { font-size: 13px; }
.article-title-cell small { margin-top: 5px; font-size: 11px; }
.table-actions { gap: 7px; }
.link-button { padding: 5px 6px; font-size: 12px; }

.content-section-tabs { gap: 9px; padding: 6px; border-radius: 14px; }
.content-section-tabs button { min-height: 54px; gap: 10px; padding: 7px 13px; border-radius: 10px; }
.content-section-tabs button > span:first-child { width: 38px; height: 38px; border-radius: 10px; }
.content-section-tabs b { font-size: 13px; }
.content-section-tabs small { font-size: 11px; }
.content-plan-summary { gap: 16px; margin-bottom: 20px; }
.content-article-toolbar { margin-bottom: 18px; }
.content-plan-filter { gap: 8px; font-size: 12px; }
.content-plan-filter .select { height: 38px; font-size: 12px; }

.content-studio-page { padding-bottom: 16px; }
.studio-topbar { padding: 12px 18px; border-radius: 14px 14px 0 0; }
.studio-doc-meta > span { font-size: 11px; }
.studio-editor-head h3 { font-size: 14px; }
.studio-editor-head p { font-size: 11px; }
.studio-title-input,
.editor-title { font-size: 26px; }
.studio-editor-body { font-size: 15px; line-height: 1.85; }
.studio-field label { font-size: 12px; }
.studio-field > small { font-size: 11px; }
.studio-chat-head h3 { font-size: 15px; }
.studio-chat-head p { font-size: 11px; }
.studio-chat-context > b { font-size: 11px; }
.studio-message-card { padding: 11px 13px; font-size: 13px; line-height: 1.72; }
.studio-message-card.system { font-size: 11px; }

.publish-composer-grid { gap: 20px; }
.publish-composer-section-head { padding: 20px 22px; }
.publish-composer-section-head h3 { font-size: 15px; }
.publish-composer-section-head p { font-size: 12px; }
.publish-picker-toolbar,
.publish-platform-actions { padding: 14px 18px; }
.publish-article-list { padding: 10px; }
.publish-article-row { min-height: 76px; padding: 11px 12px; border-radius: 11px; }
.publish-article-row-copy b { font-size: 13px; }
.publish-article-row-copy small,
.publish-article-row-status small { font-size: 11px; }
.publish-platform-grid { gap: 12px; padding: 16px 18px 18px; }
.publish-platform-card { min-height: 120px; padding: 14px; border-radius: 12px; }
.publish-platform-card-name b { font-size: 13px; }
.publish-platform-card-name small,
.publish-platform-card-meta span { font-size: 11px; }
.publish-platform-card-top .status-badge { font-size: 11px; }
.publish-platform-card-meta { margin-top: 12px; }
.publish-platform-role { right: 12px; bottom: 11px; font-size: 10px; }
.publish-platform-note { margin: 0 18px 18px; padding: 11px 12px; font-size: 11px; }
.publish-config-grid { gap: 16px; padding: 20px 22px 16px; }
.publish-config-grid .field > span,
.publish-mode-picker > span,
.publish-order-config > span { font-size: 12px; }
.publish-config-grid .field small { font-size: 11px; }
.publish-mode-options { gap: 9px; margin-top: 9px; }
.publish-mode-option { min-height: 76px; padding: 10px 12px; border-radius: 10px; }
.publish-mode-option b { font-size: 12px; }
.publish-mode-option small { font-size: 11px; }
.publish-order-config { gap: 12px; padding: 0 22px 18px; }
.publish-order-chip { min-height: 29px; font-size: 11px; }
.publish-batch-summary { min-height: 88px; padding: 16px 20px; }
.publish-batch-summary b { font-size: 13px; }
.publish-batch-summary small { font-size: 11px; }

.publish-summary { gap: 16px; margin-bottom: 20px; }
.summary-card { min-height: 94px; padding: 18px; border-radius: 14px; }
.summary-card span { width: 42px; height: 42px; border-radius: 12px; }
.summary-card b { font-size: 23px; }
.summary-card small { font-size: 11px; }
.publish-list { gap: 16px; }
.publish-task-head { padding: 20px 22px; }
.publish-task-title h3 { font-size: 16px; }
.publish-task-title p { margin-top: 7px; font-size: 11px; }
.publish-targets { background: #fbfcfe; }
.publish-target { min-height: 108px; padding: 18px; }
.platform-label { font-size: 13px; }

.site-hero-card { min-height: 248px; padding: 34px 38px; border-radius: 18px; background: linear-gradient(135deg, #eef4ff 0%, #fff 72%); box-shadow: var(--shadow-md); }
.site-hero-copy .eyebrow { font-size: 11px; letter-spacing: 1.8px; }
.site-hero-copy h2 { margin-top: 13px; font-size: clamp(25px, 2.5vw, 38px); }
.site-hero-copy p { font-size: 13px; line-height: 1.75; }
.site-hero-actions { gap: 10px; margin-top: 22px; }
.site-stat-grid { gap: 12px; }
.site-stat-grid .stat-card { min-height: 100px; gap: 13px; padding: 17px 18px; border-radius: 14px; box-shadow: var(--shadow-sm); }
.stat-icon { width: 40px; height: 40px; border-radius: 11px; }
.stat-card small { font-size: 11px; }
.stat-card b { font-size: 25px; }
.stat-card em { font-size: 10px; }
.site-cms-grid { gap: 20px; }
.site-publish-flow { gap: 12px; padding: 20px 24px 24px; }
.site-flow-step { min-width: 138px; gap: 7px; padding: 14px; border-radius: 13px; }
.site-flow-step b { font-size: 13px; }
.site-flow-step small { font-size: 11px; }
.site-check-list { padding: 10px 24px 20px; }
.site-check-item, .site-output-row { gap: 12px; padding: 13px 0; }
.site-check-item b, .site-output-row b { font-size: 12px; }
.site-check-item small, .site-output-row small { font-size: 10px; }
.site-recent-list { padding: 6px 24px 16px; }
.site-recent-item { padding: 14px 0; }
.site-recent-item b { font-size: 12px; }
.site-recent-item small { font-size: 10px; }
.site-page-toolbar h2 { font-size: 21px; }
.site-page-toolbar p { font-size: 12px; }
.site-tree-item b { font-size: 12px; }
.site-tree-item small { font-size: 10px; }
.site-editor-canvas { padding: 20px 22px 22px; }
.site-editor-canvas-head { font-size: 12px; }
.site-editor-canvas-head small { font-size: 10px; }
.site-module-row, .site-nav-row { min-height: 68px; padding: 12px 14px; border-radius: 12px; }
.site-module-copy b, .site-nav-row b { font-size: 12px; }
.site-module-copy small, .site-module-copy em, .site-nav-row small { font-size: 10px; }
.site-content-tab { padding: 11px 16px; font-size: 12px; }
.filter-chip { padding: 6px 10px; font-size: 10px; }

.knowledge-grid { gap: 16px; }
.knowledge-card { border-radius: 14px; }
.knowledge-card h3 { font-size: 15px; }
.knowledge-card p,
.knowledge-card small { font-size: 12px; line-height: 1.65; }
.monitor-kpi-grid { gap: 16px; }
.monitor-kpi { min-height: 108px; padding: 17px; border-radius: 14px; }
.monitor-kpi b { font-size: 25px; }
.assistant-download-card { padding: 28px 30px; border-radius: 18px; box-shadow: var(--shadow-md); }
.assistant-download-copy h3 { font-size: 21px; }
.assistant-download-copy p { font-size: 13px; }
.assistant-flow-steps { gap: 14px; padding: 0 26px 26px; }
.assistant-flow-steps > div { min-height: 104px; padding: 18px 16px 15px 56px; border-radius: 13px; }
.assistant-flow-steps b { font-size: 14px; }
.assistant-flow-steps small { font-size: 11px; }
.assistant-platform-list { gap: 12px; padding: 0 26px 26px; }
.assistant-platform-row { min-height: 76px; padding: 13px; border-radius: 12px; }
.assistant-platform-name { font-size: 13px; }
.assistant-platform-row small { font-size: 10px; }

.settings-model-actions { display: flex; align-items: center; gap: 8px; }
.setting-value-sub { display: block; margin-top: 5px; color: var(--green); font-size: 11px !important; }
.setting-value-sub.warning { color: var(--amber); }
.ai-provider-section { margin-top: 20px; overflow: hidden; }
/* The models tab renders the default-model card and the provider card as
   siblings inside .settings-layout. Keep the provider card in the content
   column; otherwise CSS grid auto-placement puts it in the 210px settings
   navigation column and all provider text wraps vertically. */
.settings-layout > .ai-provider-section { grid-column: 2; }
.ai-provider-list { display: grid; gap: 11px; padding: 18px 22px 22px; }
.ai-provider-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 13px; align-items: start; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.ai-provider-row:hover { border-color: #c8d8f4; background: #f8fbff; }
.ai-provider-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--blue); background: var(--blue-soft); }
.ai-provider-icon svg { width: 19px; height: 19px; }
.ai-provider-copy { min-width: 0; }
.ai-provider-title { display: flex; align-items: center; gap: 9px; }
.ai-provider-title b { color: var(--ink-strong); font-size: 14px; }
.ai-provider-title .status-badge { min-height: 23px; font-size: 11px; }
.ai-provider-copy p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.ai-provider-meta { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 9px; color: var(--muted-2); font-size: 11px; }
.ai-provider-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-provider-defaults { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.ai-provider-actions { display: flex; align-items: center; gap: 7px; }
.ai-provider-empty { display: grid; min-height: 180px; place-items: center; align-content: center; gap: 8px; padding: 26px; color: var(--muted); text-align: center; }
.ai-provider-empty > span:first-child { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--blue); background: var(--blue-soft); }
.ai-provider-empty > span:first-child svg { width: 20px; height: 20px; }
.ai-provider-empty b { color: var(--ink-strong); font-size: 14px; }
.ai-provider-empty p { max-width: 520px; margin: 0; font-size: 12px; line-height: 1.6; }
.ai-provider-empty.error { color: var(--red); }
.ai-provider-empty.error > span:first-child { color: var(--red); background: var(--red-soft); }
.loading-spinner.dark { border-color: rgba(53, 106, 230, .22); border-top-color: var(--blue); }
.ai-provider-form { display: grid; gap: 15px; }
.ai-provider-form-note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 13px; border: 1px solid #d9e6fb; border-radius: 11px; color: #46658d; background: #f6f9ff; }
.ai-provider-form-note > span { flex: 0 0 auto; color: var(--blue); }
.ai-provider-form-note b, .ai-provider-form-note small { display: block; }
.ai-provider-form-note b { color: #2b538d; font-size: 12px; }
.ai-provider-form-note small { margin-top: 3px; font-size: 11px; line-height: 1.55; }
.model-editor-body { display: grid; gap: 14px; }

@media (max-width: 760px) {
  .settings-model-actions { align-items: stretch; flex-direction: column; }
  .settings-model-actions button { width: 100%; }
  .settings-layout > .ai-provider-section { grid-column: auto; }
  .ai-provider-row { grid-template-columns: 36px minmax(0, 1fr); }
  .ai-provider-icon { width: 36px; height: 36px; border-radius: 10px; }
  .ai-provider-actions { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 1260px) {
  .metric-grid,
  .publish-summary,
  .monitor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .main-column { margin-left: 252px; }
  .topbar { padding-right: 28px; padding-left: 28px; }
  #main-content { padding-right: 28px; padding-left: 28px; }
}

@media (max-width: 1180px) {
  .publish-composer-grid { grid-template-columns: 1fr; }
  .publish-platform-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .publish-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-mode-picker { grid-column: 1 / -1; }
  .site-cms-grid,
  .site-navigation-grid,
  .site-settings-grid { grid-template-columns: 1fr; }
  .site-settings-grid > .site-advanced-card { grid-column: auto; }
}

@media (max-width: 1280px) {
  .site-page-manager { grid-template-columns: 240px minmax(0, 1fr); }
  .site-page-settings { grid-column: 1 / -1; }
  .site-stat-grid,
  .site-lead-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .sidebar { width: 260px; }
  .main-column { margin-left: 0; }
  .topbar { min-height: 70px; padding: 0 18px; }
  .topbar h1 { font-size: 19px; }
  #main-content { min-height: calc(100vh - 70px); padding: 24px 18px 42px; }
  .page-head { margin-bottom: 22px; }
  .page-head h2 { font-size: 24px; }
  .page-head p { font-size: 13px; }
  .site-hero-card { padding: 28px; }
  .assistant-download-card { padding: 24px; }
  .publish-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  body { font-size: 14px; }
  .topbar { padding: 0 14px; }
  #main-content { padding: 20px 14px 34px; }
  .page-head h2 { font-size: 22px; }
  .page-head p { font-size: 13px; }
  .card-header { min-height: 62px; padding: 0 17px; }
  .card-header h3 { font-size: 15px; }
  .card-body { padding: 17px; }
  .metric-card { min-height: 124px; padding: 16px; }
  .metric-value { font-size: 29px; }
  .metric-note { font-size: 11px; }
  .data-table th { padding: 0 14px; }
  .data-table td { padding: 10px 14px; }
  .site-hero-card { padding: 24px 20px; }
  .site-hero-copy h2 { font-size: 27px; }
  .site-hero-copy p { font-size: 12px; }
  .site-stat-grid .stat-card { min-height: 88px; padding: 13px; }
  .stat-card b { font-size: 22px; }
  .site-editor-canvas { padding: 16px; }
  .assistant-download-card { padding: 20px; }
  .metric-grid,
  .publish-summary,
  .monitor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px 14px 14px; }
  .publish-config-grid { grid-template-columns: 1fr; padding: 16px; }
  .publish-mode-picker { grid-column: auto; }
  .publish-order-config { grid-template-columns: 1fr; padding: 0 16px 16px; }
}

@media (max-width: 600px) {
  .assistant-flow-steps,
  .assistant-platform-list { grid-template-columns: 1fr; }
  .assistant-platform-list { max-height: none; padding: 0 16px 16px; }
}

/* 官网 CMS：服务、案例与问题地图管理 */
.site-problem-admin-groups { display: grid; gap: 18px; }
.site-problem-admin-group { overflow: hidden; }
.site-problem-admin-group .card-header { align-items: flex-start; padding-top: 18px; padding-bottom: 18px; }
.site-problem-admin-group .card-header h3 { margin-top: 6px; }
.site-problem-admin-list { border-top: 1px solid var(--border, #e8edf4); }
.site-problem-admin-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 15px 20px; border-bottom: 1px solid var(--border, #edf0f5); }
.site-problem-admin-row:last-child { border-bottom: 0; }
.site-problem-admin-row > div { min-width: 0; }
.site-problem-admin-row b,
.site-problem-admin-row small,
.site-problem-admin-row em { display: block; }
.site-problem-admin-row b { color: #172033; font-size: 14px; }
.site-problem-admin-row small { margin-top: 5px; color: #667085; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-problem-admin-row em { margin-top: 5px; color: #98a2b3; font-size: 11px; font-style: normal; }
.site-contact-settings-card { margin-top: 18px; }
.site-cms-tabs { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.site-cms-tabs .tab-button { flex: 0 0 auto; }

@media (max-width: 900px) {
  .site-problem-admin-row { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .site-problem-admin-row > .status-badge { display: none; }
  .site-problem-admin-group .card-header { display: grid; gap: 12px; }
}

@media (max-width: 640px) {
  .site-problem-admin-row { grid-template-columns: 28px minmax(0, 1fr); padding: 14px; }
  .site-problem-admin-row .link-button { grid-column: 2; justify-self: start; }
}

/* 运营诊断：研究基线、企业实测与实时采样分层 */
.diagnostic-page { gap: 14px; }
.diagnostic-tabs { display: flex; min-width: 0; gap: 5px; padding: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.diagnostic-tab { display: inline-flex; min-height: 37px; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 15px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 700; }
.diagnostic-tab:hover { color: var(--ink); background: #f5f7fa; }
.diagnostic-tab.active { color: #174fae; background: var(--blue-soft); box-shadow: inset 0 0 0 1px #d6e4fb; }
.diagnostic-tab em { display: grid; min-width: 18px; height: 18px; place-items: center; padding: 0 5px; border-radius: 99px; color: inherit; background: rgba(37, 99, 235, .09); font-size: 8px; font-style: normal; }
.diagnostic-content { display: grid; min-width: 0; gap: 16px; }

.diagnostic-hero { position: relative; display: grid; min-height: 218px; grid-template-columns: minmax(0, 1fr) 240px; gap: 28px; align-items: center; padding: 28px 30px; overflow: hidden; background: radial-gradient(circle at 78% -25%, rgba(67, 117, 238, .2), transparent 42%), linear-gradient(135deg, #f6f9ff 0%, #fff 56%, #f3f8ff 100%); }
.diagnostic-hero::after { position: absolute; width: 220px; height: 220px; right: -85px; bottom: -140px; border: 34px solid rgba(37, 99, 235, .05); border-radius: 50%; content: ""; }
.diagnostic-hero > div { position: relative; z-index: 1; min-width: 0; }
.diagnostic-kicker { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.diagnostic-hero h2 { max-width: 720px; margin: 9px 0 10px; color: var(--ink-strong); font-size: clamp(22px, 2.25vw, 32px); letter-spacing: -.035em; line-height: 1.25; }
.diagnostic-hero p { max-width: 720px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.diagnostic-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.diagnostic-range-control { display: flex; width: fit-content; align-items: center; gap: 9px; margin-top: 18px; color: var(--muted); font-size: 9px; font-weight: 700; }
.diagnostic-range-control .select { width: 138px; min-height: 34px; background: rgba(255, 255, 255, .86); }
.diagnostic-package-badge { display: grid; min-height: 138px; align-content: center; justify-items: center; padding: 18px; border: 1px solid rgba(128, 159, 218, .35); border-radius: 16px; background: rgba(255, 255, 255, .8); box-shadow: 0 15px 35px rgba(42, 83, 160, .09); backdrop-filter: blur(10px); text-align: center; }
.diagnostic-package-badge > svg { width: 25px; height: 25px; margin-bottom: 10px; color: var(--blue); }
.diagnostic-package-badge small { color: var(--muted); font-size: 8px; }
.diagnostic-package-badge b { margin-top: 3px; color: var(--ink-strong); font-size: 14px; }
.diagnostic-package-badge em { margin-top: 8px; padding: 4px 7px; border-radius: 99px; color: #32608e; background: #edf5ff; font-size: 8px; font-style: normal; }

.diagnostic-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.diagnostic-stat-grid article { min-height: 108px; padding: 16px 18px; }
.diagnostic-stat-grid small { color: var(--muted); font-size: 9px; }
.diagnostic-stat-grid b { display: block; margin-top: 8px; color: var(--ink-strong); font-size: 25px; line-height: 1; }
.diagnostic-stat-grid b.diagnostic-unavailable { color: var(--muted); font-size: 16px; }
.diagnostic-stat-grid p { margin: 8px 0 0; color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.diagnostic-workspace-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 14px; }
.diagnostic-recent, .diagnostic-method { overflow: hidden; }
.diagnostic-recent > div:last-child { padding: 5px 16px 13px; }
.diagnostic-project-mini { display: grid; width: 100%; min-height: 59px; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 2px; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: left; }
.diagnostic-project-mini:last-child { border-bottom: 0; }
.diagnostic-project-mini:hover { background: #f9fbfe; }
.diagnostic-project-mini > svg { width: 16px; height: 16px; padding: 8px; box-sizing: content-box; border-radius: 9px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-project-mini > span { min-width: 0; }
.diagnostic-project-mini b, .diagnostic-project-mini small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.diagnostic-project-mini b { color: var(--ink); font-size: 10px; }
.diagnostic-project-mini small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.diagnostic-method-list { display: grid; gap: 2px; padding: 8px 17px 17px; }
.diagnostic-method-list > div { display: grid; min-height: 60px; grid-template-columns: 29px minmax(0, 1fr); gap: 10px; align-items: center; padding: 8px; border-radius: 9px; color: var(--muted); background: #fafbfd; }
.diagnostic-method-list i { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: white; font-size: 9px; font-style: normal; font-weight: 800; }
.diagnostic-method-list .ready i { color: var(--green); border-color: #cde6da; background: var(--green-soft); }
.diagnostic-method-list b, .diagnostic-method-list small { display: block; }
.diagnostic-method-list b { color: var(--ink); font-size: 10px; }
.diagnostic-method-list small { margin-top: 2px; font-size: 8px; line-height: 1.45; }

.diagnostic-evidence-section { display: grid; gap: 12px; padding-top: 4px; }
.diagnostic-section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.diagnostic-section-title > div { min-width: 0; }
.diagnostic-section-title span { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.diagnostic-section-title h3 { margin: 4px 0 3px; color: var(--ink-strong); font-size: 15px; }
.diagnostic-section-title p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.diagnostic-evidence-grid { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); gap: 12px; }
.diagnostic-evidence-card { min-width: 0; padding: 17px; overflow: hidden; }
.diagnostic-evidence-card-head { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.diagnostic-evidence-card-head > svg { width: 17px; height: 17px; padding: 8px; box-sizing: content-box; border-radius: 9px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-evidence-card-head small, .diagnostic-evidence-card-head h4 { display: block; margin: 0; }
.diagnostic-evidence-card-head small { color: var(--muted); font-size: 8px; }
.diagnostic-evidence-card-head h4 { margin-top: 2px; color: var(--ink); font-size: 11px; }
.diagnostic-evidence-card-head > b { color: var(--ink-strong); font-size: 22px; }
.diagnostic-evidence-card-head > b em { color: var(--muted-2); font-size: 9px; font-style: normal; }
.diagnostic-mini-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 14px 0; }
.diagnostic-mini-metrics span { padding: 9px; border-radius: 8px; color: var(--muted); background: #f7f9fc; font-size: 8px; }
.diagnostic-mini-metrics b { display: block; margin-top: 3px; color: var(--ink); font-size: 13px; }
.diagnostic-run-row { display: flex; gap: 7px; }
.diagnostic-run-row .input { min-width: 0; }
.diagnostic-card-foot { display: block; margin-top: 9px; color: var(--muted-2); font-size: 8px; }
.diagnostic-evidence-card .monitor-real-bars { height: 95px; margin-top: 13px; }
.diagnostic-list-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 7px; }
.diagnostic-list-pair .monitor-real-list { padding: 9px 11px; }
.diagnostic-list-pair .monitor-real-list h4 { margin: 0 0 4px; font-size: 8px; }
.diagnostic-list-pair .monitor-real-list li { min-height: 26px; font-size: 8px; }
.diagnostic-production-grid { gap: 10px; }
.diagnostic-production-grid article { min-height: 110px; }

.diagnostic-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.diagnostic-list-head h3 { margin: 0; color: var(--ink-strong); font-size: 16px; }
.diagnostic-list-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.diagnostic-wizard { overflow: hidden; border-color: #cbdcf5; box-shadow: 0 14px 38px rgba(35, 78, 151, .09); }
.diagnostic-wizard-head { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 19px; border-bottom: 1px solid #dce6f4; background: linear-gradient(100deg, #f5f8ff, white); }
.diagnostic-wizard-head span { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.diagnostic-wizard-head h3 { margin: 4px 0 0; color: var(--ink-strong); font-size: 14px; }
.diagnostic-wizard-body { display: grid; gap: 18px; padding: 18px 20px; }
.diagnostic-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.diagnostic-goal-field { grid-column: 1 / -1; }
.diagnostic-field-label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 9px; font-weight: 700; }
.diagnostic-type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.diagnostic-type-card { position: relative; display: grid; min-height: 104px; grid-template-columns: 30px minmax(0, 1fr); gap: 5px 9px; align-content: center; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; cursor: pointer; }
.diagnostic-type-card:hover { border-color: #b7cbed; }
.diagnostic-type-card.selected { border-color: #91afe6; background: #f4f8ff; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08); }
.diagnostic-type-card input { position: absolute; top: 9px; right: 9px; width: 14px; height: 14px; accent-color: var(--blue); }
.diagnostic-type-card > svg { grid-row: 1 / span 2; width: 15px; height: 15px; padding: 7px; box-sizing: content-box; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-type-card b { align-self: end; padding-right: 12px; color: var(--ink); font-size: 9px; }
.diagnostic-type-card small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.diagnostic-question-picker { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; }
.diagnostic-question-head { display: flex; min-height: 57px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 13px; border-bottom: 1px solid var(--line); background: #fafbfd; }
.diagnostic-question-head b, .diagnostic-question-head small { display: block; }
.diagnostic-question-head b { font-size: 10px; }
.diagnostic-question-head small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.diagnostic-question-list { display: grid; max-height: 280px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow-y: auto; background: var(--line); }
.diagnostic-question-option { display: grid; min-height: 61px; grid-template-columns: 17px minmax(0, 1fr); gap: 9px; align-items: center; padding: 10px 12px; background: white; cursor: pointer; }
.diagnostic-question-option:hover { background: #f9fbff; }
.diagnostic-question-option:has(input:checked) { background: #f3f7ff; }
.diagnostic-question-option input { margin: 0; }
.diagnostic-question-option b, .diagnostic-question-option small { display: block; }
.diagnostic-question-option b { color: var(--ink); font-size: 9px; line-height: 1.45; }
.diagnostic-question-option small { margin-top: 3px; color: var(--muted-2); font-size: 7px; }
.diagnostic-wizard-foot { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 20px; border-top: 1px solid var(--line); background: #fafbfd; }
.diagnostic-wizard-foot > span { color: var(--muted); font-size: 8px; }
.diagnostic-wizard-foot > div { display: flex; flex: 0 0 auto; gap: 8px; }

.diagnostic-project-list { display: grid; gap: 10px; }
.diagnostic-project-card { display: grid; min-height: 146px; grid-template-columns: 48px minmax(0, 1fr) 128px; gap: 14px; align-items: stretch; padding: 17px; }
.diagnostic-project-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-project-icon > svg { width: 20px; height: 20px; }
.diagnostic-project-icon[data-tone="source_ecology"] { color: var(--teal); background: var(--teal-soft); }
.diagnostic-project-icon[data-tone="site_content"] { color: var(--purple); background: var(--purple-soft); }
.diagnostic-project-main { display: grid; gap: 14px; }
.diagnostic-project-main > div:first-child > span { color: var(--blue); font-size: 8px; font-weight: 700; }
.diagnostic-project-main h3 { margin: 3px 0 4px; color: var(--ink-strong); font-size: 13px; }
.diagnostic-project-main p { max-width: 780px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.diagnostic-project-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; }
.diagnostic-project-meta span { color: var(--muted); font-size: 8px; }
.diagnostic-project-meta b { margin-left: 3px; color: var(--ink); }
.diagnostic-project-side { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; border-left: 1px solid var(--line); padding-left: 14px; }
.diagnostic-project-side > small { color: var(--muted-2); font-size: 8px; }
.diagnostic-project-side .primary-button { margin-top: auto; }
.diagnostic-empty { min-height: 270px; }
.diagnostic-empty > div { display: grid; justify-items: center; }
.diagnostic-empty svg { width: 25px; height: 25px; margin-bottom: 8px; color: var(--blue); }
.diagnostic-empty h3 { margin: 4px 0; color: var(--ink); font-size: 13px; }
.diagnostic-empty p { max-width: 460px; margin: 0 0 13px; line-height: 1.65; }

.diagnostic-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.diagnostic-report-card { display: grid; min-height: 160px; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 17px; color: inherit; text-align: left; }
.diagnostic-report-card:hover { border-color: #b8ccec; box-shadow: 0 8px 25px rgba(26, 66, 130, .07); transform: translateY(-1px); }
.diagnostic-report-icon { width: 18px; height: 18px; padding: 10px; box-sizing: content-box; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-report-card > span:nth-child(2) { min-width: 0; }
.diagnostic-report-card small, .diagnostic-report-card b, .diagnostic-report-card em { display: block; }
.diagnostic-report-card small { color: var(--blue); font-size: 8px; }
.diagnostic-report-card b { margin-top: 4px; overflow: hidden; color: var(--ink-strong); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.diagnostic-report-card p { display: -webkit-box; margin: 7px 0; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.diagnostic-report-card em { color: var(--muted-2); font-size: 8px; font-style: normal; }
.diagnostic-report-detail { display: grid; gap: 16px; }
.diagnostic-back { width: fit-content; }
.diagnostic-back svg { transform: rotate(180deg); }
.diagnostic-report-cover { display: flex; min-height: 210px; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px; background: radial-gradient(circle at 98% 0, rgba(66, 111, 224, .16), transparent 35%), #fff; }
.diagnostic-report-cover > div { max-width: 850px; }
.diagnostic-report-cover > div > span { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.diagnostic-report-cover h2 { margin: 8px 0 9px; color: var(--ink-strong); font-size: 23px; line-height: 1.32; }
.diagnostic-report-cover p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.diagnostic-report-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.diagnostic-report-tags em { padding: 4px 7px; border-radius: 6px; color: #536985; background: #f1f5fa; font-size: 8px; font-style: normal; }
.diagnostic-report-block { display: grid; gap: 11px; }
.diagnostic-evidence-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.diagnostic-evidence-layers article { display: grid; min-height: 145px; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-content: start; padding: 15px; border-top: 3px solid #dce3ec; }
.diagnostic-evidence-layers article.ready { border-top-color: var(--green); }
.diagnostic-evidence-layers i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: var(--muted); background: #eef2f6; font-size: 9px; font-style: normal; font-weight: 800; }
.diagnostic-evidence-layers .ready i { color: var(--green); background: var(--green-soft); }
.diagnostic-evidence-layers small, .diagnostic-evidence-layers b, .diagnostic-evidence-layers p { display: block; }
.diagnostic-evidence-layers small { color: var(--muted); font-size: 8px; }
.diagnostic-evidence-layers b { margin-top: 3px; color: var(--ink); font-size: 10px; }
.diagnostic-evidence-layers p { margin: 7px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.diagnostic-evidence-layers em { grid-column: 2; width: fit-content; margin-top: 3px; padding: 3px 6px; border-radius: 5px; color: var(--muted); background: #f0f3f7; font-size: 7px; font-style: normal; }
.diagnostic-evidence-layers .ready em { color: var(--green); background: var(--green-soft); }
.diagnostic-scope-note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #d7e3f5; border-radius: 10px; color: #49617f; background: #f7faff; }
.diagnostic-scope-note > svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--blue); }
.diagnostic-scope-note b { display: block; color: #274568; font-size: 9px; }
.diagnostic-scope-note p { margin: 3px 0 0; font-size: 8px; line-height: 1.6; }
.diagnostic-report-sections { display: grid; gap: 8px; }
.diagnostic-report-sections article { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 16px; }
.diagnostic-report-sections i { color: #9aabc1; font-size: 12px; font-style: normal; font-weight: 800; }
.diagnostic-report-sections h3 { margin: 0; color: var(--ink); font-size: 11px; }
.diagnostic-report-sections p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.7; white-space: pre-line; }
.diagnostic-section-body { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.65; }
.diagnostic-value-list { display: grid; gap: 5px; margin: 0; padding-left: 17px; }
.diagnostic-value-list > li::marker { color: #8ba5cc; }
.diagnostic-value-map { display: grid; gap: 5px; margin: 0; }
.diagnostic-value-map > div { display: grid; grid-template-columns: minmax(90px, .25fr) minmax(0, 1fr); gap: 9px; padding: 6px 0; border-bottom: 1px solid #edf1f6; }
.diagnostic-value-map > div:last-child { border-bottom: 0; }
.diagnostic-value-map dt { color: #526985; font-size: 8px; font-weight: 700; }
.diagnostic-value-map dd { min-width: 0; margin: 0; color: var(--muted); }
.diagnostic-value-empty { color: var(--muted-2); font-style: italic; }
.diagnostic-action-list { display: grid; gap: 7px; }
.diagnostic-action-row { display: grid; min-height: 72px; grid-template-columns: 28px minmax(0, 1fr) 145px auto; gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.diagnostic-action-row > svg { width: 14px; height: 14px; padding: 7px; box-sizing: content-box; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-action-row b, .diagnostic-action-row small { display: block; }
.diagnostic-action-row b { color: var(--ink); font-size: 9px; }
.diagnostic-action-row small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.diagnostic-action-target { padding: 7px 9px; border: 1px solid #dce5f1; border-radius: 8px; color: var(--muted); background: #f8fafc; font-size: 8px; white-space: nowrap; }
.diagnostic-action-target b { display: inline; margin-left: 2px; color: var(--ink); }

.diagnostic-rules-hero { display: flex; min-height: 128px; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 25px; background: linear-gradient(120deg, #f6f9ff, white); }
.diagnostic-rules-hero > div { display: flex; min-width: 0; align-items: center; gap: 14px; }
.diagnostic-rules-hero > div > svg { width: 22px; height: 22px; padding: 12px; box-sizing: content-box; border-radius: 13px; color: var(--blue); background: var(--blue-soft); }
.diagnostic-rules-hero small { color: var(--blue); font-size: 8px; font-weight: 700; }
.diagnostic-rules-hero h2 { margin: 4px 0; color: var(--ink-strong); font-size: 18px; }
.diagnostic-rules-hero p { margin: 0; color: var(--muted); font-size: 9px; }
.diagnostic-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.diagnostic-package-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0; padding: 6px 18px 18px; }
.diagnostic-package-meta > div { display: flex; min-height: 39px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.diagnostic-package-meta dt { color: var(--muted); font-size: 8px; }
.diagnostic-package-meta dd { margin: 0; color: var(--ink); font-size: 9px; font-weight: 700; text-align: right; }
.diagnostic-update-flow { display: grid; gap: 2px; margin: 0; padding: 6px 18px 18px; list-style: none; }
.diagnostic-update-flow li { display: grid; min-height: 58px; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: center; padding: 7px; border-bottom: 1px solid var(--line); }
.diagnostic-update-flow i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-style: normal; font-weight: 800; }
.diagnostic-update-flow b, .diagnostic-update-flow small { display: block; }
.diagnostic-update-flow b { color: var(--ink); font-size: 9px; }
.diagnostic-update-flow small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.diagnostic-boundaries { padding-bottom: 8px; }
.diagnostic-boundaries > div:not(.card-header) { display: flex; align-items: flex-start; gap: 10px; margin: 0 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.diagnostic-boundaries > div:last-child { border-bottom: 0; }
.diagnostic-boundaries > div > svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--amber); }
.diagnostic-boundaries p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.diagnostic-boundaries b { color: var(--ink); }

/* AI 分析工作台：受控工具、证据台账与持续追问 */
.diagnostic-tab-primary { margin-right: 4px; color: #214f9e; background: #f4f8ff; }
.diagnostic-tab-primary > svg { width: 14px; height: 14px; }
.diagnostic-tab-primary.active { color: #fff; background: linear-gradient(135deg, #2868d8, #174da7); box-shadow: 0 5px 14px rgba(32, 91, 191, .22); }
.analysis-workbench-shell { display: grid; min-height: 690px; grid-template-columns: 260px minmax(0, 1fr); overflow: hidden; border: 1px solid #d9e2ef; border-radius: 15px; background: #f7f9fc; box-shadow: 0 12px 35px rgba(32, 64, 110, .06); }
.analysis-session-panel { min-width: 0; border-right: 1px solid #dce4ef; background: #fff; }
.analysis-session-head { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 15px; border-bottom: 1px solid #e5eaf1; }
.analysis-session-head > span { min-width: 0; }
.analysis-session-head b, .analysis-session-head small { display: block; }
.analysis-session-head b { color: var(--ink-strong); font-size: 12px; }
.analysis-session-head small { margin-top: 3px; color: var(--muted-2); font-size: 8px; }
.analysis-session-head button { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border: 1px solid #d8e2f0; border-radius: 9px; color: var(--blue); background: #f6f9ff; }
.analysis-session-head button:hover { border-color: #a9bee1; background: #edf4ff; }
.analysis-session-head svg { width: 14px; height: 14px; }
.analysis-session-list { display: grid; max-height: 700px; gap: 3px; padding: 9px; overflow-y: auto; }
.analysis-session-item { display: grid; min-height: 72px; grid-template-columns: 31px minmax(0, 1fr) 12px; gap: 9px; align-items: center; padding: 9px; border: 1px solid transparent; border-radius: 10px; color: inherit; background: transparent; text-align: left; }
.analysis-session-item:hover { background: #f7f9fc; }
.analysis-session-item.active { border-color: #c9daf3; background: #f1f6ff; box-shadow: inset 3px 0 0 #2b67cc; }
.analysis-session-item > svg:first-child { width: 14px; height: 14px; padding: 8px; box-sizing: content-box; border-radius: 8px; color: #55708f; background: #eef2f7; }
.analysis-session-item.active > svg:first-child { color: var(--blue); background: #e2edff; }
.analysis-session-item > span { min-width: 0; }
.analysis-session-item b, .analysis-session-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analysis-session-item b { color: var(--ink); font-size: 9px; line-height: 1.45; }
.analysis-session-item small { margin-top: 5px; color: var(--muted-2); font-size: 7px; }
.analysis-session-item > svg:last-child { width: 11px; height: 11px; color: #9badc3; }
.analysis-session-empty { display: grid; min-height: 220px; align-content: center; justify-items: center; padding: 20px; text-align: center; }
.analysis-session-empty svg { width: 22px; height: 22px; margin-bottom: 9px; color: #8ea4c0; }
.analysis-session-empty b { color: var(--ink); font-size: 10px; }
.analysis-session-empty p { margin: 5px 0 0; color: var(--muted-2); font-size: 8px; line-height: 1.55; }
.analysis-workbench-main { min-width: 0; padding: 24px clamp(20px, 3vw, 42px) 38px; }
.analysis-composer { display: grid; max-width: 980px; gap: 22px; margin: 0 auto; }
.analysis-intro { position: relative; padding: 11px 2px 3px; }
.analysis-intro::after { position: absolute; width: 290px; height: 150px; top: -30px; right: -20px; z-index: 0; border-radius: 50%; background: radial-gradient(circle, rgba(64, 117, 223, .12), transparent 68%); content: ""; pointer-events: none; }
.analysis-intro > * { position: relative; z-index: 1; }
.analysis-kicker { display: inline-flex; align-items: center; gap: 6px; color: #2460c0; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.analysis-kicker svg { width: 13px; height: 13px; }
.analysis-intro h2 { margin: 10px 0 8px; color: #142a45; font-size: clamp(25px, 2.8vw, 38px); letter-spacing: -.045em; line-height: 1.12; }
.analysis-intro p { max-width: 700px; margin: 0; color: #60728a; font-size: 11px; line-height: 1.75; }
.analysis-prompt-card { padding: 18px 20px 12px; border-color: #c7d8ef; box-shadow: 0 13px 32px rgba(34, 78, 145, .08); }
.analysis-prompt-card > label { display: block; margin-bottom: 9px; color: #203b5d; font-size: 10px; font-weight: 800; }
.analysis-prompt-card textarea { width: 100%; min-height: 145px; padding: 0; resize: vertical; border: 0; outline: 0; color: #1f3045; background: transparent; font: inherit; font-size: 12px; line-height: 1.75; }
.analysis-prompt-card textarea::placeholder, .analysis-follow-up textarea::placeholder { color: #9aa9bb; }
.analysis-prompt-foot { display: flex; min-height: 31px; align-items: flex-end; justify-content: space-between; gap: 14px; padding-top: 9px; border-top: 1px solid #edf1f6; color: var(--muted-2); font-size: 8px; }
.analysis-prompt-foot > span { display: inline-flex; align-items: center; gap: 5px; }
.analysis-prompt-foot svg { width: 12px; height: 12px; }
.analysis-prompt-foot > b { font-size: 8px; font-weight: 600; }
.analysis-config-section { display: grid; gap: 11px; }
.analysis-config-section.is-muted { opacity: .48; }
.analysis-config-title { display: flex; align-items: center; gap: 10px; }
.analysis-config-title > i { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #d7e2f2; border-radius: 8px; color: #2c62b7; background: #f4f8ff; font-size: 8px; font-style: normal; font-weight: 800; }
.analysis-config-title b, .analysis-config-title small { display: block; }
.analysis-config-title b { color: var(--ink-strong); font-size: 10px; }
.analysis-config-title small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.analysis-model-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr) auto; gap: 8px; }
.analysis-model-row .input { min-width: 0; height: 41px; }
.analysis-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.analysis-choice-card { position: relative; display: grid; min-height: 112px; grid-template-columns: 34px minmax(0, 1fr); gap: 4px 9px; align-content: center; padding: 14px; border: 1px solid #dae2ec; border-radius: 11px; background: #fff; cursor: pointer; }
.analysis-choice-card:hover { border-color: #afc3e0; }
.analysis-choice-card.selected { border-color: #8eafe1; background: #f3f7ff; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .05); }
.analysis-choice-card > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.analysis-choice-card > svg { grid-row: 1 / span 2; width: 17px; height: 17px; padding: 8px; box-sizing: content-box; border-radius: 9px; color: #557391; background: #f0f3f7; }
.analysis-choice-card.selected > svg { color: #2361c7; background: #e1edff; }
.analysis-choice-card > b { align-self: end; color: var(--ink); font-size: 10px; }
.analysis-choice-card > small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.analysis-choice-card > i { position: absolute; width: 16px; height: 16px; top: 10px; right: 10px; border: 1px solid #c9d3df; border-radius: 5px; background: #fff; }
.analysis-choice-card.selected > i { border-color: var(--blue); background: var(--blue); }
.analysis-choice-card.selected > i::after { position: absolute; width: 6px; height: 3px; top: 4px; left: 4px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ""; transform: rotate(-45deg); }
.analysis-platform-row { display: flex; flex-wrap: wrap; gap: 8px; }
.analysis-platform-chip { display: inline-flex; min-width: 125px; height: 46px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #d9e2ec; border-radius: 10px; background: #fff; cursor: pointer; }
.analysis-platform-chip:hover { border-color: #acc1df; }
.analysis-platform-chip.selected { border-color: #91afe0; background: #f3f7ff; }
.analysis-platform-chip input { position: absolute; opacity: 0; }
.analysis-platform-chip > i { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; color: #48647e; background: #edf1f5; font-size: 9px; font-style: normal; font-weight: 800; }
.analysis-platform-chip.selected > i { color: #205ab8; background: #dfebff; }
.analysis-platform-chip > span { flex: 1; color: var(--ink); font-size: 9px; font-weight: 700; }
.analysis-platform-chip > svg { width: 12px; height: 12px; opacity: 0; color: var(--blue); }
.analysis-platform-chip.selected > svg { opacity: 1; }
.analysis-depth-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.analysis-depth-card { position: relative; display: grid; min-height: 73px; align-content: center; padding: 11px 36px 11px 13px; border: 1px solid #dae2ec; border-radius: 10px; background: #fff; cursor: pointer; }
.analysis-depth-card.selected { border-color: #8eafe1; background: #f3f7ff; }
.analysis-depth-card input { position: absolute; opacity: 0; }
.analysis-depth-card b { color: var(--ink); font-size: 9px; }
.analysis-depth-card small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.analysis-depth-card i { position: absolute; width: 15px; height: 15px; top: 50%; right: 14px; border: 1px solid #bdc9d6; border-radius: 50%; transform: translateY(-50%); }
.analysis-depth-card.selected i { border: 5px solid var(--blue); background: #fff; }
.analysis-custom-depth { min-height: 76px; padding: 11px 13px; resize: vertical; line-height: 1.6; }
.analysis-consent-box { padding: 14px 16px; border: 1px solid #d8e2ee; border-radius: 11px; background: #fff; }
.analysis-consent-box.checked { border-color: #9ec7b5; background: #f4fbf7; }
.analysis-consent-box label { display: flex; align-items: center; gap: 8px; color: var(--ink); cursor: pointer; }
.analysis-consent-box input { position: absolute; opacity: 0; }
.analysis-consent-box label > svg { width: 14px; height: 14px; padding: 3px; box-sizing: content-box; border: 1px solid #bdcad8; border-radius: 5px; color: transparent; background: #fff; }
.analysis-consent-box.checked label > svg { color: #fff; border-color: var(--green); background: var(--green); }
.analysis-consent-box label b { font-size: 9px; }
.analysis-consent-box p { margin: 6px 0 0 30px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.analysis-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 2px; }
.analysis-submit-row > span { display: inline-flex; max-width: 620px; align-items: center; gap: 6px; color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.analysis-submit-row > span svg { width: 13px; height: 13px; flex: 0 0 auto; }
.analysis-submit-button { min-width: 155px; height: 43px; box-shadow: 0 8px 20px rgba(35, 91, 190, .18); }
.analysis-loading { display: grid; min-height: 480px; align-content: center; justify-items: center; gap: 11px; color: var(--muted); }
.analysis-session-view { display: grid; max-width: 1050px; gap: 16px; margin: 0 auto; }
.analysis-session-toolbar { display: flex; min-height: 35px; align-items: center; justify-content: space-between; gap: 15px; }
.analysis-session-toolbar .text-button svg { transform: rotate(180deg); }
.analysis-session-toolbar > div { display: flex; align-items: center; gap: 8px; }
.analysis-session-toolbar > div > span { color: var(--muted); font-size: 8px; }
.analysis-run-badge { display: inline-flex; min-height: 25px; align-items: center; gap: 6px; padding: 0 8px; border-radius: 99px; color: #6d7d91; background: #edf1f5; font-size: 8px; font-weight: 700; }
.analysis-run-badge i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.analysis-run-badge.running { color: #215db6; background: #e9f1ff; }
.analysis-run-badge.completed { color: #248058; background: #eaf8f0; }
.analysis-run-badge.failed { color: #b84a4a; background: #fff0f0; }
.analysis-run-badge .loading-spinner { width: 11px; height: 11px; }
.analysis-run-card { overflow: hidden; padding: 20px; }
.analysis-run-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.analysis-run-head small { color: #2865c6; font-size: 8px; font-weight: 700; }
.analysis-run-head h3 { margin: 4px 0; color: var(--ink-strong); font-size: 15px; }
.analysis-run-head p { margin: 0; color: var(--muted); font-size: 8px; }
.analysis-progress { height: 5px; margin: 17px 0 13px; overflow: hidden; border-radius: 99px; background: #e8edf3; }
.analysis-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2a67cf, #67a0ff); transition: width .35s ease; }
.analysis-tool-list { display: grid; gap: 5px; }
.analysis-tool-row { display: grid; min-height: 55px; grid-template-columns: 29px minmax(0, 1fr) 20px; gap: 10px; align-items: center; padding: 7px 10px; border: 1px solid #e4e9ef; border-radius: 9px; background: #fafbfd; }
.analysis-tool-row > i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: #73869d; background: #edf1f5; font-size: 8px; font-style: normal; font-weight: 800; }
.analysis-tool-row.completed > i { color: #237b55; background: #e7f7ee; }
.analysis-tool-row.running { border-color: #b8ceee; background: #f4f8ff; }
.analysis-tool-row.running > i { color: #215db8; background: #dfeaff; }
.analysis-tool-row > span:nth-child(2) { min-width: 0; }
.analysis-tool-row b, .analysis-tool-row small { display: block; }
.analysis-tool-row b { color: var(--ink); font-size: 9px; }
.analysis-tool-row small { margin-top: 3px; overflow: hidden; color: var(--muted-2); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.analysis-tool-row > svg, .analysis-tool-row > .loading-spinner { width: 14px; height: 14px; justify-self: center; color: var(--green); }
.analysis-tool-row > svg.failed { color: var(--red); }
.analysis-tool-row > em { width: 7px; height: 7px; justify-self: center; border-radius: 50%; background: #cbd4df; }
.analysis-tool-empty { padding: 18px; color: var(--muted); font-size: 9px; text-align: center; }
.analysis-run-error { display: flex; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid #f0cccc; border-radius: 9px; color: #9c4747; background: #fff6f6; }
.analysis-run-error > svg { width: 17px; height: 17px; flex: 0 0 auto; }
.analysis-run-error b { font-size: 9px; }
.analysis-run-error p { margin: 4px 0 0; font-size: 8px; line-height: 1.5; }
.analysis-report { display: grid; gap: 17px; }
.analysis-report-cover { display: grid; min-height: 260px; grid-template-columns: minmax(0, 1fr) 125px; gap: 28px; align-items: center; padding: 30px 32px; overflow: hidden; border: 1px solid #cbdaf0; border-radius: 15px; background: radial-gradient(circle at 91% 6%, rgba(94, 143, 234, .22), transparent 28%), linear-gradient(135deg, #f5f8ff, #fff 55%, #f5f9ff); box-shadow: 0 14px 40px rgba(32, 76, 143, .08); }
.analysis-report-cover > div > span { color: #2964c0; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.analysis-report-cover h2 { margin: 9px 0 10px; color: #142b48; font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.035em; line-height: 1.25; }
.analysis-report-cover p { max-width: 800px; margin: 0; color: #526984; font-size: 10px; line-height: 1.8; white-space: pre-line; }
.analysis-report-cover > div > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.analysis-report-cover em { padding: 4px 8px; border-radius: 6px; color: #526a87; background: rgba(231, 238, 248, .8); font-size: 8px; font-style: normal; }
.analysis-report-cover aside { display: grid; min-height: 118px; align-content: center; justify-items: center; border: 1px solid rgba(121, 156, 213, .32); border-radius: 14px; background: rgba(255, 255, 255, .75); box-shadow: 0 10px 25px rgba(40, 80, 145, .07); text-align: center; }
.analysis-report-cover aside small { color: var(--muted); font-size: 8px; }
.analysis-report-cover aside b { margin-top: 5px; color: #235ab3; font-size: 30px; line-height: 1; }
.analysis-report-cover aside span { margin-top: 4px; color: var(--muted-2); font-size: 8px; }
.analysis-report-scope { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid #d7e2f0; border-radius: 11px; background: #f7faff; }
.analysis-report-scope > svg { width: 16px; height: 16px; padding: 8px; box-sizing: content-box; border-radius: 9px; color: #2662c0; background: #e3edff; }
.analysis-report-scope b { display: block; color: #274766; font-size: 9px; }
.analysis-report-scope p { margin: 3px 0 0; color: #64778e; font-size: 8px; line-height: 1.55; }
.analysis-evidence-ledger { display: grid; gap: 5px; padding: 13px; border: 1px solid #dce4ee; border-radius: 11px; background: #fff; }
.analysis-evidence-ledger[hidden] { display: none; }
.analysis-evidence-ledger > div { display: grid; min-height: 43px; grid-template-columns: minmax(190px, .5fr) minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 6px 9px; border-radius: 7px; background: #f8fafc; }
.analysis-evidence-ledger span { color: #2a61b2; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 7px; }
.analysis-evidence-ledger b { color: var(--ink); font-size: 8px; }
.analysis-evidence-ledger small { color: var(--muted-2); font-size: 7px; }
.analysis-report-body, .analysis-report-block { display: grid; gap: 10px; }
.analysis-report-heading span { color: #2863c1; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.analysis-report-heading h3 { margin: 4px 0 0; color: var(--ink-strong); font-size: 15px; }
.analysis-report-section { display: grid; gap: 12px; padding: 20px 22px; border: 1px solid #dfe5ed; border-radius: 12px; background: #fff; }
.analysis-report-section > header { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: center; }
.analysis-report-section > header > i { color: #8ca0b8; font-size: 12px; font-style: normal; font-weight: 800; }
.analysis-report-section > header small { color: #2c65be; font-size: 7px; text-transform: uppercase; }
.analysis-report-section h3 { margin: 3px 0 0; color: var(--ink-strong); font-size: 13px; }
.analysis-report-content { color: #445970; font-size: 10px; line-height: 1.75; }
.analysis-report-content > span { white-space: pre-line; }
.analysis-report-section > footer { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 9px; border-top: 1px solid #edf1f5; }
.analysis-report-section > footer span, .analysis-recommendation footer em { padding: 3px 6px; border-radius: 5px; color: #3466aa; background: #edf4ff; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 7px; font-style: normal; }
.analysis-value-list { display: grid; gap: 7px; margin: 0; padding-left: 18px; }
.analysis-value-list > li::marker { color: #7294c6; }
.analysis-value-map { display: grid; gap: 2px; margin: 0; }
.analysis-value-map > div { display: grid; grid-template-columns: minmax(110px, .25fr) minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf1f5; }
.analysis-value-map > div:last-child { border-bottom: 0; }
.analysis-value-map dt { color: #3f5c79; font-size: 9px; font-weight: 700; }
.analysis-value-map dd { min-width: 0; margin: 0; color: #5a6c80; }
.analysis-empty-value { color: var(--muted-2); font-style: italic; }
.analysis-recommendation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.analysis-recommendation { display: grid; min-height: 175px; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 17px; border: 1px solid #dfe5ed; border-top: 3px solid #8ba9cf; border-radius: 11px; background: #fff; }
.analysis-recommendation.critical { border-top-color: #d85656; }
.analysis-recommendation.high { border-top-color: #e19235; }
.analysis-recommendation.low { border-top-color: #4eaa7d; }
.analysis-recommendation > i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #375f91; background: #edf3fb; font-size: 9px; font-style: normal; font-weight: 800; }
.analysis-recommendation > div > span { color: #7a8ca0; font-size: 7px; font-weight: 700; }
.analysis-recommendation h4 { margin: 4px 0 6px; color: var(--ink); font-size: 11px; }
.analysis-recommendation p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.analysis-recommendation small { display: block; margin-top: 8px; color: #435f7a; font-size: 8px; line-height: 1.5; }
.analysis-recommendation footer { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
.analysis-limitations { display: flex; align-items: flex-start; gap: 11px; padding: 15px 17px; border: 1px solid #eadcba; border-radius: 11px; color: #775e2e; background: #fffaf0; }
.analysis-limitations > svg { width: 18px; height: 18px; flex: 0 0 auto; color: #b9872e; }
.analysis-limitations b { font-size: 9px; }
.analysis-limitations ul { display: grid; gap: 5px; margin: 7px 0 0; padding-left: 16px; font-size: 8px; line-height: 1.55; }
.analysis-follow-up { display: grid; gap: 12px; padding: 18px; border-color: #bfd3ef; background: linear-gradient(130deg, #f7faff, #fff); box-shadow: 0 10px 30px rgba(35, 78, 140, .06); }
.analysis-follow-up > div:first-child { display: flex; align-items: center; gap: 9px; }
.analysis-follow-up > div:first-child > svg { width: 16px; height: 16px; padding: 8px; box-sizing: content-box; border-radius: 9px; color: var(--blue); background: #e2edff; }
.analysis-follow-up b, .analysis-follow-up small { display: block; }
.analysis-follow-up b { color: var(--ink); font-size: 11px; }
.analysis-follow-up small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.analysis-suggestions { display: flex; flex-wrap: wrap; gap: 6px; }
.analysis-suggestions button { display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%; padding: 6px 8px; border: 1px solid #d7e2f0; border-radius: 7px; color: #4c6582; background: #fff; font-size: 8px; line-height: 1.4; text-align: left; }
.analysis-suggestions button:hover { color: #225ab5; border-color: #a9c0e2; background: #f4f8ff; }
.analysis-suggestions svg { width: 11px; height: 11px; flex: 0 0 auto; margin-top: 1px; }
.analysis-follow-up textarea { width: 100%; min-height: 90px; padding: 12px 13px; resize: vertical; border: 1px solid #d4dfea; border-radius: 10px; outline: none; color: var(--ink); background: #fff; font: inherit; font-size: 10px; line-height: 1.65; }
.analysis-follow-up textarea:focus { border-color: #8faee0; box-shadow: 0 0 0 3px rgba(37, 99, 235, .07); }
.analysis-follow-up-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.analysis-follow-up-foot label { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 8px; cursor: pointer; }
.analysis-follow-up-foot input { position: absolute; opacity: 0; }
.analysis-follow-up-foot label > svg { width: 12px; height: 12px; padding: 3px; box-sizing: content-box; border: 1px solid #bbc9d8; border-radius: 5px; color: transparent; background: #fff; }
.analysis-follow-up-foot label:has(input:checked) > svg { color: #fff; border-color: var(--green); background: var(--green); }

@media (max-width: 1120px) {
  .diagnostic-hero { grid-template-columns: minmax(0, 1fr) 210px; }
  .diagnostic-workspace-grid, .diagnostic-evidence-grid { grid-template-columns: 1fr; }
  .diagnostic-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-evidence-layers { grid-template-columns: 1fr; }
  .analysis-workbench-shell { grid-template-columns: 230px minmax(0, 1fr); }
  .analysis-source-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .diagnostic-hero { grid-template-columns: 1fr; padding: 22px; }
  .diagnostic-range-control { width: 100%; justify-content: space-between; }
  .diagnostic-package-badge { min-height: 100px; justify-items: start; text-align: left; }
  .diagnostic-stat-grid, .diagnostic-report-grid, .diagnostic-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-question-list { grid-template-columns: 1fr; }
  .diagnostic-project-card { grid-template-columns: 42px minmax(0, 1fr); }
  .diagnostic-project-side { grid-column: 2; align-items: center; flex-direction: row; flex-wrap: wrap; padding: 10px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .diagnostic-project-side .primary-button { margin: 0 0 0 auto; }
  .diagnostic-action-row { grid-template-columns: 28px minmax(0, 1fr); }
  .diagnostic-action-row .select, .diagnostic-action-row .secondary-button { grid-column: 2; }
  .diagnostic-form-grid { grid-template-columns: 1fr; }
  .diagnostic-goal-field { grid-column: auto; }
  .analysis-workbench-shell { grid-template-columns: 1fr; }
  .analysis-session-panel { border-right: 0; border-bottom: 1px solid #dce4ef; }
  .analysis-session-list { max-height: 170px; grid-auto-columns: minmax(225px, 1fr); grid-auto-flow: column; overflow-x: auto; overflow-y: hidden; }
  .analysis-workbench-main { padding: 22px; }
  .analysis-model-row { grid-template-columns: 1fr; }
  .analysis-depth-row, .analysis-recommendation-list { grid-template-columns: 1fr; }
  .analysis-report-cover { grid-template-columns: 1fr; }
  .analysis-report-cover aside { min-height: 86px; justify-items: start; padding: 14px 18px; }
}

@media (max-width: 620px) {
  .diagnostic-page .page-head { gap: 12px; }
  .diagnostic-page .page-actions { width: 100%; }
  .diagnostic-page .page-actions button { flex: 1; }
  .diagnostic-hero { padding: 19px; }
  .diagnostic-stat-grid, .diagnostic-report-grid, .diagnostic-rule-grid, .diagnostic-type-grid { grid-template-columns: 1fr; }
  .diagnostic-evidence-card-head { grid-template-columns: 34px minmax(0, 1fr); }
  .diagnostic-evidence-card-head > b { grid-column: 2; }
  .diagnostic-mini-metrics, .diagnostic-list-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-run-row, .diagnostic-wizard-foot, .diagnostic-list-head, .diagnostic-section-title { align-items: stretch; flex-direction: column; }
  .diagnostic-wizard-foot > div { width: 100%; }
  .diagnostic-wizard-foot button { flex: 1; }
  .diagnostic-project-card { grid-template-columns: 1fr; }
  .diagnostic-project-side { grid-column: 1; }
  .diagnostic-report-cover { flex-direction: column; padding: 20px; }
  .diagnostic-package-meta { grid-template-columns: 1fr; }
  .diagnostic-rules-hero { align-items: flex-start; flex-direction: column; }
  .analysis-workbench-main { padding: 17px 13px 25px; }
  .analysis-intro h2 { font-size: 26px; }
  .analysis-prompt-card, .analysis-run-card { padding: 15px; }
  .analysis-platform-chip { min-width: calc(50% - 4px); }
  .analysis-submit-row, .analysis-follow-up-foot, .analysis-session-toolbar { align-items: stretch; flex-direction: column; }
  .analysis-submit-button, .analysis-follow-up-foot .primary-button { width: 100%; }
  .analysis-report-cover { padding: 22px 19px; }
  .analysis-report-cover h2 { font-size: 22px; }
  .analysis-report-scope { grid-template-columns: 34px minmax(0, 1fr); }
  .analysis-report-scope .secondary-button { grid-column: 2; justify-self: start; }
  .analysis-evidence-ledger > div { grid-template-columns: 1fr; }
  .analysis-report-section { padding: 17px; }
  .analysis-value-map > div { grid-template-columns: 1fr; gap: 4px; }
}

/* 运营诊断报告阅读页 v2：将结构化模型结果呈现为可读报告，而不是键值数据块 */
.analysis-session-view { max-width: 1180px; }
.analysis-report { gap: 22px; color: #263b53; }
.analysis-report-cover {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 24px;
  align-items: stretch;
  padding: 28px;
  border-color: #c9d8ec;
  border-radius: 18px;
  background: radial-gradient(circle at 95% 0, rgba(67, 126, 230, .18), transparent 31%), linear-gradient(135deg, #f4f8ff 0%, #fff 56%, #f7faff 100%);
  box-shadow: 0 18px 45px rgba(34, 71, 128, .09);
}
.analysis-report-cover-copy { min-width: 0; }
.analysis-report-cover > .analysis-report-cover-copy > span { color: #225fbd; font-size: 11px; letter-spacing: .09em; }
.analysis-report-cover h2 { max-width: 860px; margin: 10px 0 17px; font-size: clamp(26px, 3vw, 38px); line-height: 1.22; }
.analysis-report-cover .analysis-executive-summary {
  display: block;
  max-width: 880px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid rgba(176, 198, 228, .65);
  border-radius: 12px;
  background: rgba(255, 255, 255, .75);
}
.analysis-executive-summary > b { color: #1e4f91; font-size: 12px; }
.analysis-report-cover .analysis-executive-summary > p { max-width: none; margin: 7px 0 0; color: #465e78; font-size: 14px; line-height: 1.85; }
.analysis-executive-summary details { margin-top: 9px; border-top: 1px solid #e0e8f3; }
.analysis-executive-summary summary { padding-top: 9px; color: #2862b7; font-size: 12px; font-weight: 700; cursor: pointer; }
.analysis-executive-summary details p { margin: 9px 0 0; color: #526881; font-size: 13px; line-height: 1.85; }
.analysis-report-cover .analysis-report-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.analysis-report-cover .analysis-report-meta em { padding: 5px 9px; font-size: 11px; }
.analysis-report-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; align-content: start; }
.analysis-report-facts > div {
  display: grid;
  min-height: 94px;
  align-content: center;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(154, 181, 219, .48);
  border-radius: 12px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 8px 20px rgba(49, 82, 130, .05);
}
.analysis-report-facts small { color: #71849a; font-size: 11px; }
.analysis-report-facts b { margin-top: 6px; color: #214f8d; font-size: 15px; line-height: 1.35; }
.analysis-report-scope { padding: 16px 18px; border-radius: 13px; }
.analysis-report-scope b { font-size: 13px; }
.analysis-report-scope p { margin-top: 5px; font-size: 12px; line-height: 1.65; }
.analysis-report-scope .secondary-button { min-width: 112px; }

.analysis-evidence-ledger { gap: 9px; padding: 16px; border-radius: 14px; background: #f7f9fc; }
.analysis-evidence-ledger > .analysis-evidence-entry { display: block; min-height: 0; padding: 0; overflow: hidden; border: 1px solid #dce5f0; border-radius: 10px; background: #fff; }
.analysis-evidence-entry > header { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 13px; }
.analysis-evidence-entry > header > span { padding: 5px 7px; border-radius: 6px; color: #285fae; background: #edf4ff; font-family: inherit; font-size: 11px; font-weight: 800; text-align: center; }
.analysis-evidence-entry > header b { display: block; color: #263e59; font-size: 12px; }
.analysis-evidence-entry > header small { display: block; margin-top: 3px; overflow: hidden; color: #7a8ca0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.analysis-evidence-entry > header em { color: #25805b; font-size: 11px; font-style: normal; font-weight: 700; }
.analysis-evidence-entry > details { border-top: 1px solid #e8edf3; }
.analysis-evidence-entry > details > summary { padding: 10px 13px; color: #4e6681; background: #fafbfd; font-size: 11px; cursor: pointer; }
.analysis-evidence-entry > details > div { max-height: 520px; padding: 14px; overflow: auto; font-size: 12px; }

.analysis-report-heading { display: grid; gap: 3px; }
.analysis-report-heading span { font-size: 11px; }
.analysis-report-heading h3 { font-size: 20px; }
.analysis-report-heading p { margin: 2px 0 0; color: #73859a; font-size: 12px; line-height: 1.6; }
.analysis-report-reading-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 16px; align-items: start; }
.analysis-report-toc {
  position: sticky;
  top: 78px;
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(32, 65, 111, .05);
}
.analysis-report-toc > b { padding: 2px 5px 8px; color: #314b68; font-size: 12px; }
.analysis-report-toc button { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 8px; align-items: center; width: 100%; padding: 8px; border: 0; border-radius: 8px; color: #596f88; background: transparent; font-size: 11px; line-height: 1.35; text-align: left; cursor: pointer; }
.analysis-report-toc button:hover { color: #205cb4; background: #f0f5fd; }
.analysis-report-toc button i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; color: #6f86a1; background: #f0f3f7; font-size: 9px; font-style: normal; font-weight: 800; }
.analysis-report-sections { display: grid; gap: 13px; min-width: 0; }
.analysis-report-section { scroll-margin-top: 80px; gap: 15px; padding: 24px 26px; border-radius: 14px; box-shadow: 0 6px 22px rgba(37, 66, 104, .045); }
.analysis-report-section > header { grid-template-columns: 42px minmax(0, 1fr); gap: 13px; }
.analysis-report-section > header > i { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; color: #3568ab; background: #eef4fc; font-size: 12px; }
.analysis-report-section > header small { font-size: 10px; letter-spacing: .06em; }
.analysis-report-section h3 { margin-top: 4px; font-size: 18px; line-height: 1.35; }
.analysis-report-content { color: #40566e; font-size: 14px; line-height: 1.8; }
.analysis-content-structured { display: grid; gap: 15px; }
.analysis-content-summary { margin: 0; padding: 15px 17px; border-left: 3px solid #4d80c9; border-radius: 0 10px 10px 0; color: #344e69; background: #f5f8fc; font-size: 14px; line-height: 1.85; }
.analysis-content-groups { display: grid; gap: 14px; }
.analysis-content-group { min-width: 0; }
.analysis-content-group > h4 { margin: 0 0 8px; color: #526b86; font-size: 12px; }
.analysis-value-list { gap: 8px; padding-left: 20px; }
.analysis-value-list li { padding-left: 2px; }
.analysis-inline-list { display: flex; flex-wrap: wrap; gap: 5px; }
.analysis-inline-list > span { padding: 3px 7px; border-radius: 99px; color: #45617f; background: #edf3fa; font-size: 11px; }
.analysis-value-map { gap: 0; border: 1px solid #e1e7ef; border-radius: 10px; background: #fff; }
.analysis-value-map > div { grid-template-columns: minmax(130px, .28fr) minmax(0, 1fr); gap: 16px; padding: 10px 13px; }
.analysis-value-map dt { color: #526b84; font-size: 12px; }
.analysis-value-map dd { color: #40566e; font-size: 13px; }
.analysis-data-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #dce5ef; border-radius: 10px; background: #fff; }
.analysis-data-table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: 12px; line-height: 1.5; }
.analysis-data-table th { padding: 10px 12px; color: #455f7c; background: #f2f6fb; font-weight: 800; text-align: left; white-space: nowrap; }
.analysis-data-table td { padding: 10px 12px; border-top: 1px solid #e6ebf1; color: #4c6178; vertical-align: top; }
.analysis-data-table tbody tr:nth-child(even) { background: #fbfcfe; }
.analysis-report-section > footer { align-items: center; gap: 6px; padding-top: 12px; }
.analysis-report-section > footer > b { margin-right: 3px; color: #8595a7; font-size: 10px; }
.analysis-report-section > footer span, .analysis-recommendation footer em { padding: 4px 8px; border-radius: 99px; font-family: inherit; font-size: 10px; font-weight: 700; }

.analysis-recommendation-list { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; }
.analysis-recommendation { display: block; min-height: 0; padding: 18px; border-top-width: 4px; border-radius: 13px; }
.analysis-recommendation > header { display: flex; align-items: center; gap: 8px; }
.analysis-recommendation > header > i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: #375f91; background: #edf3fb; font-size: 10px; font-style: normal; font-weight: 800; }
.analysis-recommendation > header > span { padding: 4px 8px; border-radius: 99px; color: #6d7f92; background: #f1f4f7; font-size: 10px; font-weight: 800; }
.analysis-recommendation > div { margin-top: 12px; }
.analysis-recommendation h4 { margin: 0 0 8px; font-size: 15px; line-height: 1.4; }
.analysis-recommendation p { font-size: 13px; line-height: 1.75; }
.analysis-recommendation small { margin-top: 12px; padding: 10px 12px; border-radius: 9px; color: #3f5873; background: #f6f8fb; font-size: 12px; line-height: 1.65; }
.analysis-recommendation small b { display: block; margin-bottom: 3px; color: #708398; font-size: 10px; }
.analysis-recommendation footer { margin-top: 12px; }
.analysis-limitations { padding: 18px 20px; border-radius: 13px; }
.analysis-limitations b { font-size: 13px; }
.analysis-limitations ul { gap: 7px; margin-top: 9px; font-size: 12px; line-height: 1.65; }
.analysis-report .analysis-follow-up { padding: 22px; border-radius: 14px; }
.analysis-report .analysis-follow-up b { font-size: 14px; }
.analysis-report .analysis-follow-up small { font-size: 11px; }
.analysis-report .analysis-suggestions button { padding: 8px 10px; font-size: 11px; }
.analysis-report .analysis-follow-up textarea { font-size: 13px; }
.analysis-report .analysis-follow-up-foot label { font-size: 11px; }

@media (max-width: 980px) {
  .analysis-report-cover { grid-template-columns: 1fr; }
  .analysis-report-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .analysis-report-facts > div { min-height: 76px; }
  .analysis-report-reading-layout { grid-template-columns: 1fr; }
  .analysis-report-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analysis-report-toc > b { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .analysis-workbench-shell.report-open .analysis-session-panel { display: none; }
  .analysis-workbench-shell.report-open .analysis-workbench-main { padding: 18px; }
  .analysis-session-view { max-width: none; }
}

@media (max-width: 620px) {
  .analysis-workbench-shell.report-open .analysis-workbench-main { padding: 13px 10px 24px; }
  .analysis-report { gap: 14px; }
  .analysis-report-cover { gap: 18px; padding: 20px 17px; border-radius: 14px; }
  .analysis-report-cover h2 { margin-bottom: 13px; font-size: 24px; }
  .analysis-report-cover .analysis-executive-summary { padding: 13px 14px; }
  .analysis-report-cover .analysis-executive-summary > p { font-size: 13px; }
  .analysis-report-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analysis-report-facts > div { min-height: 72px; padding: 11px; }
  .analysis-report-facts b { font-size: 13px; }
  .analysis-report-scope { grid-template-columns: 32px minmax(0, 1fr); padding: 13px; }
  .analysis-report-scope .secondary-button { grid-column: 1 / -1; width: 100%; }
  .analysis-evidence-entry > header { grid-template-columns: 64px minmax(0, 1fr); }
  .analysis-evidence-entry > header em { grid-column: 2; }
  .analysis-report-toc { display: none; }
  .analysis-report-section { padding: 18px 16px; border-radius: 12px; }
  .analysis-report-section > header { grid-template-columns: 36px minmax(0, 1fr); }
  .analysis-report-section > header > i { width: 34px; height: 34px; }
  .analysis-report-section h3 { font-size: 16px; }
  .analysis-report-content, .analysis-content-summary { font-size: 13px; }
  .analysis-value-map > div { grid-template-columns: 1fr; gap: 4px; }
  .analysis-data-table { min-width: 520px; }
  .analysis-recommendation-list { grid-template-columns: 1fr; }
  .analysis-recommendation { padding: 16px; }
  .analysis-report .analysis-follow-up { padding: 17px; }
}
/* Enterprise knowledge media library */
.knowledge-assets-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:24px 0 16px}.knowledge-assets-toolbar h2{margin:0 0 6px;font-size:20px}.knowledge-assets-toolbar p{margin:0;color:var(--muted,#6b7280)}.knowledge-assets-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.knowledge-assets-actions .input{min-width:240px}.knowledge-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.knowledge-image-card{overflow:hidden;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:var(--surface,#fff)}.knowledge-image-preview{height:170px;background:#f4f7fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.knowledge-image-preview img{width:100%;height:100%;object-fit:cover}.knowledge-image-card-body{padding:14px}.knowledge-image-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted,#6b7280);font-size:12px}.knowledge-image-card h3{margin:10px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.knowledge-image-card p{height:38px;margin:0;color:var(--muted,#6b7280);font-size:12px;line-height:19px;overflow:hidden}.knowledge-image-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:12px;color:var(--muted,#9ca3af);font-size:11px}.knowledge-image-dropzone{display:flex;min-height:180px;margin-top:18px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed #b9c7da;border-radius:14px;background:#f8fbff;text-align:center;cursor:pointer}.knowledge-image-dropzone [data-icon]{width:28px;height:28px;color:#3b82f6}.knowledge-image-dropzone b{font-size:16px}.knowledge-image-dropzone p{margin:0;color:var(--muted,#6b7280);font-size:12px}.knowledge-image-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.knowledge-upload-summary{display:flex;align-items:center;gap:8px;margin-top:14px;padding:11px 13px;border-radius:10px;background:#f5f7fa;color:var(--muted,#6b7280);font-size:13px}.studio-picker-image{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:0 0 44px}.studio-knowledge-image img{display:block;max-width:100%;max-height:360px;margin:0 auto;border-radius:10px;object-fit:contain}.studio-knowledge-image figcaption{margin-top:7px;color:var(--muted,#6b7280);font-size:12px;text-align:center}.studio-picker-item{align-items:center}
@media (max-width:1100px){.knowledge-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.knowledge-assets-toolbar{align-items:stretch;flex-direction:column}.knowledge-assets-actions{justify-content:flex-start}}
@media (max-width:720px){.knowledge-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-assets-actions .input{min-width:0;flex:1 1 100%}}

/* Compact file uploader inside the new knowledge modal */
.knowledge-file-dropzone {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 78px;
  padding: 14px 16px;
  border: 1px dashed #b9c7da;
  border-radius: 12px;
  background: #f8fbff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}
.knowledge-file-dropzone:hover { border-color: #6d9cf3; background: #f3f8ff; }
.knowledge-file-dropzone-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 10px;
  background: #e8f1ff;
  color: #2563eb;
}
.knowledge-file-dropzone > span:nth-child(2) { min-width: 0; flex: 1; }
.knowledge-file-dropzone b,
.knowledge-file-dropzone small { display: block; }
.knowledge-file-dropzone b { color: var(--ink-strong); font-size: 14px; }
.knowledge-file-dropzone small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.knowledge-file-dropzone em {
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid #c7d7ee;
  border-radius: 8px;
  background: #fff;
  color: #2459a7;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.knowledge-file-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.knowledge-file-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #f5f7fa;
  color: var(--muted);
  font-size: 12px;
}
.knowledge-file-summary.has-file { background: #eefaf5; color: #087a55; }
.knowledge-input-divider { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--muted-2); font-size: 12px; }
.knowledge-input-divider::before,
.knowledge-input-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }

@media (max-width: 640px) {
  .knowledge-file-dropzone { align-items: flex-start; flex-wrap: wrap; }
  .knowledge-file-dropzone > span:nth-child(2) { flex-basis: calc(100% - 54px); }
  .knowledge-file-dropzone em { margin-left: 52px; }
}
