:root {
  --ink: #0a100e;
  --ink-soft: #101c18;
  --brand: #92d866;
  --brand-light: rgba(146, 216, 102, .13);
  --accent: #c9ff68;
  --paper: #0b1210;
  --white: #121b18;
  --text: #edf5ed;
  --muted: #91a39a;
  --faint: #60746a;
  --line: #263833;
  --blue: #74d7d0;
  --blue-light: rgba(116, 215, 208, .12);
  --orange: #ffc078;
  --orange-light: rgba(255, 192, 120, .12);
  --red: #ff817e;
  --red-light: rgba(255, 129, 126, .12);
  --purple: #b9a5ff;
  --purple-light: rgba(185, 165, 255, .12);
  --surface-1: #111a17;
  --surface-2: #151f1b;
  --surface-3: #1a2722;
  --grid-line: rgba(142, 185, 154, .055);
  --shadow-sm: 0 0 0 1px rgba(255,255,255,.015);
  --shadow-md: 0 24px 70px rgba(0, 0, 0, .3);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --sidebar-width: 240px;
  --topbar-height: 72px;
  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--text);
  background: var(--paper);
  color-scheme: dark;
  font-synthesis: none;
}

/* JY Clean Ops v1 · 长文创作：把上下文、创作设置与预览结果拆成清晰的三层工作流。 */
#app .content-context-rail {
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1.25fr) minmax(190px, .9fr);
  min-height: 78px;
  margin-bottom: 14px;
  padding: 15px 18px;
  border: 1px solid #d7e1f3;
  border-radius: 14px;
  background: #f6f8ff;
  box-shadow: 0 5px 16px rgba(55, 84, 145, .05);
}
#app .content-context-rail > div > span { color: #7b89a5; font-size: 11px; letter-spacing: .04em; }
#app .content-context-rail > div > strong { color: #263a61; font-size: 13px; }
#app .content-context-rail > b { color: #315bea; font-size: 18px; }
#app .content-context-status { padding-left: 16px; border-left-color: #d8e1f1; }
#app .content-context-status strong { color: #315bea !important; }

#app .content-rule-alert {
  min-height: 48px;
  margin-bottom: 13px;
  padding: 9px 13px;
  border-color: #f0d49a;
  border-radius: 10px;
  color: #735c2b;
  background: #fffaf0;
}
#app .content-rule-alert strong { color: #765a1c; }
#app .content-rule-alert .panel-link { color: #315bea; font-weight: 800; }
#app .content-alert-mark { width: 23px; height: 23px; border-radius: 7px; color: #8a641a; background: #ffedbd; }

#app .content-spec-note {
  min-height: 38px;
  flex-wrap: wrap;
  margin-bottom: 17px;
  padding: 8px 12px;
  border: 1px solid #e1e7f2;
  border-radius: 9px;
  color: #687895;
  background: #fbfcff;
}
#app .content-spec-note span { color: #425477; font-weight: 850; }
#app .content-spec-note i { background: #d8e0ef; }

#app .content-longform-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
#app .content-form-panel,
#app .content-preview-panel {
  overflow: hidden;
  border: 1px solid #dce4f2;
  border-top: 3px solid #315bea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .07);
}
#app .content-preview-panel { border-top-color: #4b83c6; }
#app .content-form-panel .panel-header,
#app .content-preview-panel .panel-header {
  padding: 19px 22px 16px;
  border-bottom: 1px solid #e5eaf3;
  background: #fafbff;
}
#app .content-form-panel .panel-header h2,
#app .content-preview-panel .panel-header h2 { color: #1f3154; font-size: 18px; letter-spacing: -.01em; }
#app .content-form-panel .panel-header p,
#app .content-preview-panel .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
#app .content-form-badge {
  min-height: 26px;
  padding: 0 10px;
  border-color: #d5def4;
  color: #315bea;
  background: #f0f4ff;
}
#app .content-panel-body { padding: 18px 22px 22px; }

#app .content-scope-row {
  justify-content: flex-start;
  gap: 11px;
  margin-bottom: 18px;
  padding-bottom: 13px;
  border-bottom-color: #e5eaf3;
}
#app .content-scope-row::before {
  content: '工作方式';
  flex: 0 0 auto;
  color: #73819c;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
}
#app .content-form-panel .content-queue-link { display: none; }
#app .content-scope-tabs { gap: 6px; }
#app .content-scope-tabs button {
  min-height: 35px;
  padding: 0 13px;
  border: 1px solid #d9e1ef;
  border-radius: 8px;
  color: #6d7b96;
  background: #fff;
}
#app .content-scope-tabs button:hover { border-color: #b9c9ed; color: #315bea; background: #f7f9ff; }
#app .content-scope-tabs button.active {
  border-color: #315bea;
  color: #315bea;
  background: #eef2ff;
  box-shadow: inset 0 0 0 1px rgba(49, 91, 234, .08);
}

#app .content-form-panel .field { gap: 8px; margin-bottom: 16px; }
#app .content-form-panel .field > span:first-child,
#app .content-form-panel .content-choice-field > span { color: #3c4b68; font-size: 13px; font-weight: 850; }
#app .content-form-panel .field > span:first-child small { color: #8793aa; font-size: 11px; font-weight: 650; }
#app .content-form-panel .field input,
#app .content-form-panel .field textarea,
#app .content-form-panel .content-select-wrap select {
  border-color: #d5deec;
  border-radius: 9px;
  color: #263a61;
  background: #fff;
}
#app .content-form-panel .field input { height: 44px; padding: 0 13px; }
#app .content-form-panel .field textarea { min-height: 76px; padding: 11px 13px; line-height: 1.65; }
#app .content-form-panel .field input:focus,
#app .content-form-panel .field textarea:focus,
#app .content-form-panel .content-select-wrap select:focus {
  border-color: #7e9af0;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .11);
}
#app .content-form-panel .field input::placeholder,
#app .content-form-panel .field textarea::placeholder { color: #98a4b8; }
#app .content-keyword-field {
  margin-bottom: 17px !important;
  padding: 13px 14px 14px;
  border: 1px solid #dbe3f3;
  border-radius: 11px;
  background: #f8faff;
}
#app .content-keyword-field > span:first-child { color: #315bea; }
#app .content-form-grid-two { gap: 13px; margin-bottom: 16px; }
#app .content-form-grid-two > .field { margin-bottom: 0; }
#app .content-select-wrap i {
  right: 10px;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  color: #315bea;
  background: transparent;
}
#app .content-select-wrap i svg { width: 14px; height: 14px; }
#app .content-platform-tags { min-height: 44px; border-color: #d5deec; border-radius: 9px; }
#app .content-platform-tags span { color: #315bea; background: #eef2ff; }
#app .content-wide-action {
  min-height: 46px;
  margin-top: 4px;
  border: 1px solid #315bea;
  border-radius: 10px;
  color: #fff;
  background: #315bea;
  box-shadow: 0 6px 14px rgba(49, 91, 234, .18);
}
#app .content-wide-action:hover { border-color: #254ac7; background: #254ac7; box-shadow: 0 8px 18px rgba(49, 91, 234, .22); }

#app .content-preview-panel > .panel-header { border-bottom-color: #e5eaf3; }
#app .content-preview-empty {
  min-height: 432px;
  margin: 18px;
  padding: 35px;
  border: 1px dashed #d4ddec;
  border-radius: 13px;
  background: #f8faff;
}
#app .content-empty-icon {
  width: 52px;
  height: 52px;
  border-color: #d2dcf4;
  border-radius: 15px;
  color: #315bea;
  background: #eef2ff;
}
#app .content-preview-empty strong { color: #3a4a68; }
#app .content-preview-empty p { color: #7c89a1; line-height: 1.7; }
#app .content-preview-paper {
  margin: 18px;
  padding: 25px 27px;
  border-color: #dfe6f3;
  border-radius: 12px;
  color: #33425e;
  background: #fff;
}
#app .content-preview-paper h2 { color: #1f3154; font-size: 22px; line-height: 1.5; }
#app .content-preview-paper h3 { color: #315bea; }
#app .content-preview-paper p { color: #53627b; line-height: 1.85; }
#app .content-preview-meta { color: #7d8aa2; }
#app .content-preview-callout {
  border-left-color: #315bea;
  color: #53627b;
  background: #f0f4ff;
}
#app .content-preview-paper [contenteditable="true"] { border-color: #9bb0ef; background: #f7f9ff; }
#app .content-preview-paper [contenteditable="true"]:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .11); }
#app .content-preview-edit-hint { border-color: #d7e0f3; color: #53627b; background: #f4f7ff; }
#app .content-preview-footer {
  align-items: flex-start;
  flex-direction: column;
  padding: 14px 20px 16px;
  border-top-color: #e5eaf3;
  color: #71809b;
}
#app .content-preview-footer > span { color: #6e7c96; font-size: 11px; font-weight: 850; letter-spacing: .04em; }
#app .content-preview-footer > div { width: 100%; justify-content: flex-start; gap: 8px; }

@media (max-width: 900px) {
  #app .content-context-rail { grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); }
  #app .content-context-status { grid-column: 1 / -1; padding-top: 10px; padding-left: 0; border-top: 1px solid #d8e1f1; border-left: 0; }
}

@media (max-width: 760px) {
  #app .content-longform-grid { grid-template-columns: 1fr; gap: 14px; }
  #app .content-context-rail { grid-template-columns: 1fr; gap: 9px; }
  #app .content-context-rail > b { display: none; }
  #app .content-context-status { grid-column: auto; }
  #app .content-form-panel .panel-header, #app .content-preview-panel .panel-header { padding: 17px 18px 14px; }
  #app .content-panel-body { padding: 16px 18px 19px; }
  #app .content-form-grid-two { grid-template-columns: 1fr; gap: 14px; }
  #app .content-scope-row { align-items: flex-start; flex-wrap: wrap; }
  #app .content-scope-row::before { width: 100%; }
  #app .content-preview-empty { min-height: 330px; margin: 14px; padding: 28px 20px; }
  #app .content-preview-paper { margin: 14px; padding: 21px 19px; }
}

/* Admin cutover recovery surface: keep auth and recoverable failures explicit without changing app navigation. */
.admin-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 34px 18px;
  color: #71809b;
  background: #f6f8fb;
  font-size: 11px;
}
.auth-panel {
  max-width: 560px;
  margin: 24px auto;
  padding: 32px 36px;
  border: 1px solid #dce3ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .06);
}
.auth-panel-header h1 { margin: 0; color: #263a61; font-size: 28px; line-height: 1.3; }
.auth-panel-header p:not(.eyebrow) { margin: 10px 0 0; color: #71809b; font-size: 13px; line-height: 1.7; }
.auth-form { display: grid; gap: 8px; margin-top: 26px; }
.auth-form label { color: #3c4b68; font-size: 13px; font-weight: 600; }
.auth-form input { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #cfd9ec; border-radius: 8px; color: #263a61; background: #fff; font: inherit; }
.auth-form input:focus { border-color: #7e9af0; outline: 3px solid rgba(49, 91, 234, .12); }
.auth-form button { margin-top: 10px; }
.auth-status { min-height: 22px; margin: 2px 0 0; color: #a05f32; font-size: 12px; line-height: 1.6; }
.auth-request-id { margin: 0; color: #8a97ad; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.auth-panel-foot { margin: 24px 0 0; padding-top: 15px; border-top: 1px solid #e5eaf3; color: #7b89a5; font-size: 11px; line-height: 1.6; }
.auth-bootstrap-state { min-height: 220px; }
.admin-route-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 10px; border: 1px solid #dce3ef; border-radius: 12px; background: #fff; }
.admin-route-nav a { padding: 8px 12px; border-radius: 8px; color: #536b99; text-decoration: none; font-size: 12px; font-weight: 700; }
.admin-route-nav a:hover, .admin-route-nav a[aria-current="page"] { color: #315bea; background: #eef2ff; }
.access-page .panel, .topic-page .panel { margin-bottom: 16px; }
.access-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.access-table th, .access-table td { padding: 11px 12px; border-bottom: 1px solid #e7ebf3; text-align: left; vertical-align: top; }
.access-table th { color: #71809b; font-size: 11px; text-transform: uppercase; }
.access-table td strong, .access-table td small { display: block; }
.access-table td small { margin-top: 4px; color: #8995aa; }
.access-chip { display: inline-flex; padding: 3px 8px; border-radius: 999px; color: #39634c; background: #e8f5ec; font-size: 11px; font-weight: 700; }
.access-chip.is-muted { color: #687793; background: #eef1f6; }
.access-chip.is-danger { color: #9a4b3f; background: #fdeceb; }
.access-message { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; color: #735321; background: #fff6df; font-size: 12px; }
.context-strip { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: baseline; margin-top: 16px; padding: 10px 12px; border: 1px solid #dce3ef; border-radius: 8px; background: #f8faff; color: #536b99; font-size: 12px; }
.context-strip small { color: #8995aa; }
.field-help { margin: 10px 0 14px; color: #71809b; font-size: 11px; line-height: 1.6; }
.rbac-list { display: grid; gap: 12px; }
.rbac-card { display: grid; gap: 12px; padding: 14px; border: 1px solid #e1e7f1; border-radius: 10px; background: #fbfcff; }
.rbac-card > div:first-child { display: grid; gap: 4px; }
.rbac-card small, .role-check small { display: block; color: #8995aa; font-size: 11px; font-weight: 400; }
.role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.role-check { display: flex; gap: 8px; align-items: flex-start; padding: 9px; border: 1px solid #e1e7f1; border-radius: 8px; background: #fff; color: #405172; font-size: 12px; }
.role-check input { margin-top: 2px; }
@media (max-width: 760px) { .access-table { min-width: 720px; } .table-wrap { overflow-x: auto; } }
@media (max-width: 760px) {
  .admin-footer { align-items: flex-start; flex-direction: column; padding: 12px 18px 18px; }
  .auth-panel { margin: 16px 0; padding: 26px 20px; }
}

/* 发布连接器 */
#app .publish-connectors-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .publish-connectors-stat-card { min-height: 112px; }
#app .publish-connectors-stat-green .stat-value { color: #3b9560; }
#app .publish-connectors-stat-blue .stat-value { color: #3f79b6; }
#app .publish-connectors-stat-purple .stat-value { color: #7565ae; }
#app .publish-connectors-stat-orange .stat-value { color: #bd762b; }
#app .publish-connectors-tabs { display: flex; gap: 7px; margin-bottom: 16px; padding: 5px; border: 1px solid #dfeae2; border-radius: 10px; background: #f7fbf8; overflow-x: auto; }
#app .publish-connectors-tabs button { display: inline-flex; align-items: center; gap: 7px; min-width: max-content; padding: 9px 13px; border: 0; border-radius: 7px; color: #668273; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
#app .publish-connectors-tabs button span { display: inline-grid; min-width: 20px; height: 18px; place-items: center; border-radius: 10px; color: #789181; background: #e9f2eb; font-size: 10px; }
#app .publish-connectors-tabs button.active { color: #245e3d; background: #fff; box-shadow: 0 3px 10px rgba(56, 97, 70, .08); }
#app .publish-connectors-tabs button.active span { color: #fff; background: #5fa775; }
#app .publish-connectors-list-layout { display: grid; grid-template-columns: minmax(560px, 1.65fr) minmax(350px, .9fr); gap: 16px; align-items: start; }
#app .publish-connectors-table-panel, #app .publish-connectors-detail, #app .publish-connectors-queue-panel, #app .publish-connectors-monitor-panel { min-width: 0; }
#app .publish-connectors-result-count { color: #789181; font-size: 10px; }
#app .publish-connectors-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; padding: 0 18px 14px; }
#app .publish-connectors-search { position: relative; display: flex; min-width: 190px; flex: 1; }
#app .publish-connectors-search input, #app .publish-connectors-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .publish-connectors-search i { position: absolute; top: 8px; right: 10px; color: #6f8f7a; font-style: normal; }
#app .publish-connectors-select { display: grid; min-width: 118px; gap: 4px; color: #73907d; font-size: 10px; font-weight: 800; }
#app .publish-connectors-table-wrap { overflow-x: auto; }
#app .publish-connectors-table { min-width: 900px; }
#app .publish-connectors-enterprise-table { min-width: 1020px; }
#app .publish-connectors-queue-table { min-width: 1150px; }
#app .publish-connectors-monitor-table { min-width: 1020px; }
#app .publish-connectors-table tr.is-selected td { background: #f3fbf5; }
#app .publish-connectors-name-button { display: grid; gap: 3px; padding: 0; border: 0; color: #2a6242; background: transparent; text-align: left; cursor: pointer; }
#app .publish-connectors-name-button:hover strong { color: #2054a7; text-decoration: underline; }
#app .publish-connectors-name-button strong { font-size: 12px; }
#app .publish-connectors-name-button small, #app .publish-connectors-scope-cell small, #app .publish-connectors-table td small { display: block; margin-top: 3px; color: #789181; font-size: 10px; line-height: 1.45; }
#app .publish-connectors-scope-cell { display: grid; gap: 2px; min-width: 145px; }
#app .publish-connectors-scope-cell strong { color: #315e43; font-size: 11px; }
#app .publish-connectors-row-actions, #app .publish-connectors-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
#app .publish-connectors-table-footer, #app .publish-connectors-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 16px; color: #789181; font-size: 10px; }
#app .publish-connectors-detail { position: sticky; top: 18px; padding: 18px; }
#app .publish-connectors-kicker { color: #6c9279; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
#app .publish-connectors-detail h2 { margin: 5px 0 4px; color: #214b35; font-size: 22px; }
#app .publish-connectors-detail p { margin: 0; color: #789181; font-size: 11px; line-height: 1.6; }
#app .publish-connectors-detail-actions { margin: 16px 0; }
#app .publish-connectors-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
#app .publish-connectors-form-grid .field { min-width: 0; }
#app .publish-connectors-form-grid input, #app .publish-connectors-form-grid select, #app .publish-connectors-form-grid textarea { width: 100%; box-sizing: border-box; }
#app .publish-connectors-form-grid textarea { min-height: 78px; resize: vertical; }
#app .publish-connectors-field-wide { grid-column: 1 / -1; }
#app .publish-connectors-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
#app .publish-connectors-context-grid > div { display: grid; gap: 3px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .publish-connectors-context-grid span, #app .publish-connectors-preview span, #app .publish-connectors-audit-detail span { color: #789181; font-size: 10px; }
#app .publish-connectors-context-grid strong { color: #315e43; font-size: 12px; overflow-wrap: anywhere; }
#app .publish-connectors-context-grid small { color: #789181; font-size: 10px; line-height: 1.45; }
#app .publish-connectors-boundary-note { display: flex; gap: 8px; margin-top: 14px; padding: 10px 12px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; line-height: 1.55; }
#app .publish-connectors-boundary-note strong { color: #315e43; white-space: nowrap; }
#app .publish-connectors-section-label { margin-bottom: 8px; color: #668273; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
#app .publish-connectors-policy-list { margin-top: 16px; }
#app .publish-connectors-policy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid #e8f0ea; }
#app .publish-connectors-policy-row > span:first-child { display: grid; gap: 3px; min-width: 0; }
#app .publish-connectors-policy-row > span:first-child strong { color: #315e43; font-size: 11px; }
#app .publish-connectors-policy-row > span:first-child small { color: #789181; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
#app .publish-connectors-preview { display: grid; gap: 4px; margin-top: 14px; padding: 10px 12px; border: 1px solid #dcebe0; border-radius: 8px; color: #668273; background: #f7fcf8; font-size: 10px; line-height: 1.5; }
#app .publish-connectors-preview strong { color: #315e43; font-size: 11px; }
#app .publish-connectors-default-check { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; padding: 10px 12px; border: 1px solid #dcebe0; border-radius: 8px; background: #f8fcf9; cursor: pointer; }
#app .publish-connectors-default-check input { margin-top: 2px; accent-color: #5fa775; }
#app .publish-connectors-default-check span { display: grid; gap: 3px; }
#app .publish-connectors-default-check strong { color: #315e43; font-size: 11px; }
#app .publish-connectors-default-check small { color: #789181; font-size: 10px; line-height: 1.45; }
#app .publish-connectors-error { color: #c56155 !important; }
#app .publish-connectors-queue-panel, #app .publish-connectors-monitor-panel { padding: 18px; }
#app .publish-connectors-queue-panel .publish-connectors-toolbar, #app .publish-connectors-monitor-panel .publish-connectors-toolbar { margin: 14px -18px 0; padding-top: 14px; border-top: 1px solid #e5eee7; }
#app .publish-connectors-empty { display: grid; gap: 4px; padding: 28px 14px; color: #789181; text-align: center; }
#app .publish-connectors-empty strong { color: #4e735c; font-size: 12px; }
#app .publish-connectors-empty span { font-size: 10px; line-height: 1.5; }
#app .publish-connectors-modal-overlay { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(29, 61, 43, .22); }
#app .publish-connectors-modal { position: relative; width: min(760px, 100%); max-height: min(780px, calc(100vh - 48px)); overflow-y: auto; padding: 24px; border: 1px solid #d7e6da; border-radius: 14px; background: #fff; box-shadow: 0 20px 60px rgba(31, 73, 46, .2); }
#app .publish-connectors-modal-close { position: absolute; top: 13px; right: 15px; width: 28px; height: 28px; border: 0; border-radius: 50%; color: #668273; background: #eef6ef; font-size: 19px; line-height: 1; cursor: pointer; }
#app .publish-connectors-modal h2 { margin: 6px 0; color: #214b35; font-size: 22px; }
#app .publish-connectors-modal-copy { margin: 0 0 18px; color: #789181; font-size: 11px; line-height: 1.6; }
#app .publish-connectors-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
#app .publish-connectors-audit-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#app .publish-connectors-audit-detail > div { display: grid; gap: 4px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .publish-connectors-audit-detail strong { color: #315e43; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 1220px) {
  #app .publish-connectors-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .publish-connectors-list-layout { grid-template-columns: 1fr; }
  #app .publish-connectors-detail { position: static; }
}
@media (max-width: 760px) {
  #app .publish-connectors-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .publish-connectors-toolbar { align-items: stretch; }
  #app .publish-connectors-search { min-width: 100%; }
  #app .publish-connectors-select { flex: 1; }
  #app .publish-connectors-context-grid, #app .publish-connectors-form-grid, #app .publish-connectors-audit-detail { grid-template-columns: 1fr; }
  #app .publish-connectors-field-wide { grid-column: auto; }
  #app .publish-connectors-policy-row { grid-template-columns: 1fr; align-items: start; }
  #app .publish-connectors-table-footer, #app .publish-connectors-footer { align-items: flex-start; flex-direction: column; }
  #app .publish-connectors-modal-overlay { padding: 10px; }
  #app .publish-connectors-modal { padding: 20px 16px; }
}

/* JY Clean Ops v1 · 来源管理：先给出可执行结论，再展示模型路由。 */
.app-shell .collect-source-stat-grid {
  margin-bottom: 20px;
}

.app-shell .collect-source-stat-grid .stat-card {
  position: relative;
  min-height: 128px;
  overflow: hidden;
}

.app-shell .collect-source-stat-grid .stat-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
}

.app-shell .collect-source-stat-grid .stat-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .collect-source-stat-grid .stat-card:nth-child(2) { --card-accent: var(--accent); }
.app-shell .collect-source-stat-grid .stat-card:nth-child(3) { --card-accent: var(--purple); }
.app-shell .collect-source-stat-grid .stat-card:nth-child(4) { --card-accent: var(--orange); }

.app-shell .collect-source-stat-grid .stat-icon {
  color: var(--card-accent, var(--brand));
  border-color: #d6def3;
  background: var(--brand-light);
}

.app-shell .collect-source-stat-grid .stat-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.app-shell .collect-source-stat-grid .stat-value {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.05em;
}

.app-shell .collect-source-card {
  display: flex;
  min-height: 326px;
  flex-direction: column;
  border-radius: 12px;
  background: #fff;
}

.app-shell .collect-source-card.is-unavailable {
  opacity: 1;
  background: #fcfdff;
}

.app-shell .collect-source-header {
  min-height: 75px;
  padding: 17px 18px 15px;
  border-bottom-color: var(--line);
}

.app-shell .collect-platform-emoji {
  width: 38px;
  height: 38px;
  border: 1px solid #d7e0f4;
  border-radius: 10px;
  background: var(--brand-light);
  font-size: 18px;
}

.app-shell .collect-source-identity {
  min-width: 0;
}

.app-shell .collect-source-header h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .collect-source-header small {
  color: var(--admin-text-tertiary);
}

.app-shell .collect-source-state {
  display: inline-flex;
  min-height: 25px;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  padding: 0 8px;
  border: 1px solid #d8e0ef;
  border-radius: 999px;
  color: var(--admin-text-secondary);
  background: #f7f9fc;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.app-shell .collect-source-state.is-ready {
  border-color: #bde7ea;
  color: #087f8c;
  background: #e7f8f8;
}

.app-shell .collect-source-state.is-review {
  border-color: #f0dfbf;
  color: #a06b1f;
  background: #fff5e6;
}

.app-shell .collect-source-state.is-pending {
  color: var(--admin-text-tertiary);
  background: #f3f5f9;
}

.app-shell .collect-source-state .collect-health-dot {
  width: 7px;
  height: 7px;
  margin-left: 0;
  box-shadow: none;
}

.app-shell .collect-source-state .collect-health-dot.healthy {
  background: var(--accent);
}

.app-shell .collect-source-state .collect-health-dot:not(.healthy) {
  background: #aeb9cb;
}

.app-shell .collect-source-body {
  gap: 0;
  padding: 14px 18px 3px;
}

.app-shell .collect-source-row {
  min-height: 33px;
  padding: 0 0 9px;
  border-bottom: 1px solid #edf0f5;
}

.app-shell .collect-source-row + .collect-source-row {
  padding-top: 9px;
}

.app-shell .collect-source-row:last-child {
  border-bottom: 0;
}

.app-shell .collect-source-row strong {
  font-variant-numeric: tabular-nums;
}

.app-shell .collect-source-row-primary strong.is-ok {
  color: #087f8c;
}

.app-shell .collect-source-row-primary strong.is-warn {
  color: #a06b1f;
}

.app-shell .collect-models-section {
  padding: 11px 18px 12px;
}

.app-shell .collect-section-label {
  display: block;
  margin-bottom: 7px;
  color: var(--admin-text-tertiary);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
}

.app-shell .collect-models {
  gap: 6px;
  padding: 0;
}

.app-shell .collect-models span {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #dbe3f3;
  border-radius: 6px;
  color: #52688f;
  background: #f7f9ff;
  line-height: 1.25;
}

.app-shell .collect-source-footer {
  margin-top: auto;
  padding: 13px 18px 17px;
  border-top: 1px solid var(--line);
  background: #fafbfe;
}

.app-shell .collect-source-footer label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.app-shell .collect-source-footer label > span:first-child {
  color: var(--admin-text-secondary);
  font-size: 11px;
  white-space: nowrap;
}

.app-shell .collect-model-select {
  position: relative;
  display: flex;
  min-width: 0;
}

.app-shell .collect-source-footer select {
  width: 100%;
  min-height: 35px;
  padding: 0 36px 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--admin-text);
  background: #fff;
  font-size: 11px;
  font-weight: 750;
  appearance: none;
  outline: 0;
  cursor: pointer;
}

.app-shell .collect-source-footer select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .collect-model-select .collect-select-chevron {
  right: 9px;
  width: 18px;
  height: 18px;
  border-radius: 0;
  background: transparent;
}

.app-shell .collect-source-empty {
  margin: 11px 18px 18px;
  padding: 12px;
  border: 1px dashed #d7deeb;
  border-radius: 8px;
  color: var(--admin-text-secondary);
  background: #f7f9fc;
  line-height: 1.55;
}

.app-shell .collect-source-empty .collect-section-label {
  margin-bottom: 4px;
  color: var(--admin-text-tertiary);
}

.app-shell .collect-source-empty p {
  margin: 0;
}

@media (max-width: 700px) {
  .app-shell .collect-source-stat-grid .stat-card {
    min-height: 116px;
  }

  .app-shell .collect-source-header {
    padding-left: 15px;
    padding-right: 15px;
  }

  .app-shell .collect-source-state {
    padding: 0 7px;
  }

  .app-shell .collect-source-body,
  .app-shell .collect-models-section,
  .app-shell .collect-source-footer {
    padding-left: 15px;
    padding-right: 15px;
  }

  .app-shell .collect-source-empty {
    margin-left: 15px;
    margin-right: 15px;
  }
}

/* 壳层控件不在 #app 内容根节点内，也必须使用同一套焦点和稳定反馈。 */
.app-shell button:focus-visible,
.app-shell a:focus-visible,
.app-shell input:focus-visible,
.app-shell select:focus-visible,
.app-shell textarea:focus-visible,
.app-shell [role="button"]:focus-visible {
  outline: 2px solid rgba(49, 91, 234, .46) !important;
  outline-offset: 2px !important;
}

.app-shell :where(button, .button, [role="button"]):not(.workspace-switch):disabled,
.app-shell :where(button, .button, [role="button"]):not(.workspace-switch)[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .5 !important;
  transform: none !important;
  box-shadow: none !important;
}

.app-shell :where(button, .button, [role="button"]):not(.nav-group-toggle):hover {
  transform: none !important;
}

.app-shell :where(button, .button, [role="button"]) {
  transition-property: color, background-color, border-color, box-shadow !important;
}

/* 审计与安全：从风险发现到证据处置的安全运营工作台 */
#app:has(.audit-security-stat-grid) {
  --audit-ink: #182338;
  --audit-text: #30415f;
  --audit-muted: #71809b;
  --audit-faint: #8995aa;
  --audit-line: #dce3ee;
  --audit-blue: #315bea;
  --audit-blue-dark: #2447c3;
  --audit-purple: #7658df;
  --audit-green: #1fa78a;
  --audit-orange: #d28b22;
}
#app:has(.audit-security-stat-grid) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.audit-security-stat-grid) .page-heading h1 { color: var(--audit-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.audit-security-stat-grid) .page-heading p { max-width: 760px; margin-top: 8px; color: var(--audit-muted); font-size: 14px; line-height: 1.65; }
#app:has(.audit-security-stat-grid) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.audit-security-stat-grid) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.audit-security-stat-grid) .button-primary { border-color: var(--audit-blue); background: var(--audit-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.audit-security-stat-grid) .button-primary:hover { background: var(--audit-blue-dark); }
#app:has(.audit-security-stat-grid) .button-secondary,
#app:has(.audit-security-stat-grid) .button-quiet { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.audit-security-stat-grid) .button-secondary:hover,
#app:has(.audit-security-stat-grid) .button-quiet:hover { border-color: #9eb3ef; color: var(--audit-blue-dark); background: #f6f8ff; }

#app:has(.audit-security-stat-grid) .audit-security-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.audit-security-stat-grid) .audit-security-stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--audit-line); border-top: 3px solid var(--audit-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.audit-security-stat-grid) .audit-security-stat-orange { border-top-color: var(--audit-orange); background: #fff; }
#app:has(.audit-security-stat-grid) .audit-security-stat-green { border-top-color: var(--audit-green); background: #fff; }
#app:has(.audit-security-stat-grid) .audit-security-stat-purple { border-top-color: var(--audit-purple); background: #fff; }
#app:has(.audit-security-stat-grid) .audit-security-stat-card .stat-top { align-items: center; color: var(--audit-muted); font-size: 12px; font-weight: 700; }
#app:has(.audit-security-stat-grid) .audit-security-stat-card .stat-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--audit-blue); background: #edf2ff; font-size: 14px; font-weight: 800; }
#app:has(.audit-security-stat-grid) .audit-security-stat-orange .stat-icon { color: #b56e13; background: #fff4df; }
#app:has(.audit-security-stat-grid) .audit-security-stat-green .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.audit-security-stat-grid) .audit-security-stat-purple .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.audit-security-stat-grid) .audit-security-stat-card .stat-value { margin-top: 12px; color: #253b68; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.audit-security-stat-grid) .audit-security-stat-card .stat-meta { margin-top: 9px; color: var(--audit-faint); font-size: 12px; line-height: 1.45; }

#app:has(.audit-security-stat-grid) .audit-security-tabs { display: flex; gap: 28px; min-height: 55px; margin: 0 0 18px; padding: 0; overflow-x: auto; border: 0; border-bottom: 1px solid var(--audit-line); border-radius: 0; background: transparent; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; min-height: 55px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; box-shadow: none; font-size: 14px; font-weight: 800; white-space: nowrap; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ''; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button:hover { color: var(--audit-blue); background: transparent; box-shadow: none; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button.active { color: var(--audit-blue-dark); background: transparent; box-shadow: none; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button.active::after { background: var(--audit-blue); }
#app:has(.audit-security-stat-grid) .audit-security-tabs button span { display: inline-grid; min-width: 23px; height: 22px; place-items: center; padding: 0 6px; border-radius: 99px; color: #71809b; background: #eef2f8; font-size: 11px; font-weight: 800; }
#app:has(.audit-security-stat-grid) .audit-security-tabs button.active span { color: var(--audit-blue); background: #e8eeff; }

#app:has(.audit-security-stat-grid) .audit-security-posture-grid,
#app:has(.audit-security-stat-grid) .audit-security-access-grid,
#app:has(.audit-security-stat-grid) .audit-security-policy-layout,
#app:has(.audit-security-stat-grid) .audit-security-data-grid { grid-template-columns: minmax(0, 1.35fr) minmax(360px, .75fr); gap: 16px; margin-bottom: 18px; }
#app:has(.audit-security-stat-grid) .audit-security-posture-card,
#app:has(.audit-security-stat-grid) .audit-security-quick-card,
#app:has(.audit-security-stat-grid) .audit-security-session-policy,
#app:has(.audit-security-stat-grid) .audit-security-policy-explain,
#app:has(.audit-security-stat-grid) .audit-security-table-panel,
#app:has(.audit-security-stat-grid) .audit-security-risk-panel,
#app:has(.audit-security-stat-grid) .audit-security-enterprise-panel { min-width: 0; overflow: hidden; border: 1px solid var(--audit-line); border-top: 3px solid var(--audit-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.audit-security-stat-grid) .audit-security-quick-card,
#app:has(.audit-security-stat-grid) .audit-security-session-policy,
#app:has(.audit-security-stat-grid) .audit-security-policy-explain { border-top-color: var(--audit-purple); }
#app:has(.audit-security-stat-grid) .audit-security-risk-panel,
#app:has(.audit-security-stat-grid) .audit-security-enterprise-panel,
#app:has(.audit-security-stat-grid) .audit-security-table-panel { margin-bottom: 18px; }
#app:has(.audit-security-stat-grid) .audit-security-posture-card > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-quick-card > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-session-policy > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-policy-explain > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-table-panel > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-risk-panel > .panel-header,
#app:has(.audit-security-stat-grid) .audit-security-enterprise-panel > .panel-header { align-items: flex-start; gap: 14px; padding: 20px 22px 14px; border-bottom: 0; }
#app:has(.audit-security-stat-grid) .panel-header h2 { color: var(--audit-ink); font-size: 17px; line-height: 1.35; }
#app:has(.audit-security-stat-grid) .panel-header p { margin-top: 5px; color: var(--audit-muted); font-size: 12px; line-height: 1.55; }
#app:has(.audit-security-stat-grid) .audit-security-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin: 0 22px 17px; }
#app:has(.audit-security-stat-grid) .audit-security-result-count { flex: 0 0 auto; margin-top: 3px; color: var(--audit-faint); font-size: 12px; white-space: nowrap; }

#app:has(.audit-security-stat-grid) .audit-security-posture-list,
#app:has(.audit-security-stat-grid) .audit-security-policy-summary { gap: 10px; margin: 0 22px 16px; }
#app:has(.audit-security-stat-grid) .audit-security-posture-list > div,
#app:has(.audit-security-stat-grid) .audit-security-policy-summary > div { padding: 12px; border: 1px solid #dbe4f5; border-radius: 10px; background: #f8faff; }
#app:has(.audit-security-stat-grid) .audit-security-posture-list span,
#app:has(.audit-security-stat-grid) .audit-security-policy-summary span { color: var(--audit-faint); font-size: 11px; }
#app:has(.audit-security-stat-grid) .audit-security-posture-list strong,
#app:has(.audit-security-stat-grid) .audit-security-policy-summary strong { color: #2e4fa4; font-size: 20px; }
#app:has(.audit-security-stat-grid) .audit-security-posture-list small,
#app:has(.audit-security-stat-grid) .audit-security-policy-summary small { color: var(--audit-muted); font-size: 11px; line-height: 1.45; }
#app:has(.audit-security-stat-grid) .audit-security-boundary-note,
#app:has(.audit-security-stat-grid) .audit-security-quick-note { margin: 0 22px 20px; padding: 12px 13px; border-left: 3px solid var(--audit-blue); border-radius: 8px; color: var(--audit-muted); background: #f2f6ff; font-size: 12px; line-height: 1.55; }
#app:has(.audit-security-stat-grid) .audit-security-boundary-note strong { color: #3454a6; }
#app:has(.audit-security-stat-grid) .audit-security-quick-actions { gap: 9px; margin: 0 22px 16px; }
#app:has(.audit-security-stat-grid) .audit-security-quick-actions button { justify-content: flex-start; }
#app:has(.audit-security-stat-grid) .audit-security-quick-note { border-left-color: var(--audit-purple); background: #f7f4ff; }

#app:has(.audit-security-stat-grid) .audit-security-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, minmax(145px, 1fr)) auto; gap: 9px; align-items: end; margin: 0 22px 15px; padding: 12px; border: 1px solid #e4e9f2; border-radius: 10px; background: #f8faff; }
#app:has(.audit-security-stat-grid) .audit-security-toolbar .audit-security-search { grid-column: 1 / -1; }
#app:has(.audit-security-stat-grid) .audit-security-search { position: relative; display: block; min-width: 0; }
#app:has(.audit-security-stat-grid) .audit-security-search input,
#app:has(.audit-security-stat-grid) .audit-security-select select,
#app:has(.audit-security-stat-grid) .audit-security-scope-select select { width: 100%; min-height: 40px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--audit-text); background: #fff; font-size: 13px; }
#app:has(.audit-security-stat-grid) .audit-security-search input { padding: 0 36px 0 12px; }
#app:has(.audit-security-stat-grid) .audit-security-search input:focus,
#app:has(.audit-security-stat-grid) .audit-security-select select:focus,
#app:has(.audit-security-stat-grid) .audit-security-scope-select select:focus,
#app:has(.audit-security-stat-grid) .audit-security-form-grid input:focus,
#app:has(.audit-security-stat-grid) .audit-security-form-grid select:focus { border-color: var(--audit-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.audit-security-stat-grid) .audit-security-search i { position: absolute; top: 50%; right: 13px; color: var(--audit-blue); font-size: 16px; font-style: normal; transform: translateY(-50%); }
#app:has(.audit-security-stat-grid) .audit-security-select { display: grid; gap: 5px; min-width: 0; color: var(--audit-muted); font-size: 11px; font-weight: 700; }
#app:has(.audit-security-stat-grid) .audit-security-select select,
#app:has(.audit-security-stat-grid) .audit-security-scope-select select { padding: 0 10px; }
#app:has(.audit-security-stat-grid) .audit-security-toolbar > .button { align-self: end; white-space: nowrap; }
#app:has(.audit-security-stat-grid) .audit-security-policy-toolbar { display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); gap: 12px; align-items: stretch; margin: 0 22px 17px; }
#app:has(.audit-security-stat-grid) .audit-security-scope-select { min-width: 0; }
#app:has(.audit-security-stat-grid) .audit-security-scope-context { display: grid; gap: 4px; align-content: center; padding: 12px; border: 1px solid #dbe4f5; border-radius: 10px; background: #f7f9ff; }
#app:has(.audit-security-stat-grid) .audit-security-scope-context strong { color: var(--audit-ink); font-size: 14px; }
#app:has(.audit-security-stat-grid) .audit-security-scope-context span { color: var(--audit-muted); font-size: 11px; line-height: 1.45; }
#app:has(.audit-security-stat-grid) .audit-security-scope-context button { justify-self: start; margin-top: 3px; }

#app:has(.audit-security-stat-grid) .audit-security-table-wrap { overflow-x: auto; margin: 0 12px; border: 1px solid var(--audit-line); border-radius: 9px; }
#app:has(.audit-security-stat-grid) .audit-security-table { width: 100%; min-width: 1120px; border-collapse: collapse; color: var(--audit-text); font-size: 13px; }
#app:has(.audit-security-stat-grid) .audit-security-table th { padding: 12px 13px; border-bottom: 1px solid var(--audit-line); color: #627596; background: #f4f7ff; font-size: 11px; font-weight: 800; line-height: 1.35; text-align: left; white-space: nowrap; }
#app:has(.audit-security-stat-grid) .audit-security-table td { min-height: 61px; padding: 13px; border-bottom: 1px solid #e8edf5; vertical-align: middle; line-height: 1.5; }
#app:has(.audit-security-stat-grid) .audit-security-table tbody tr:last-child td { border-bottom: 0; }
#app:has(.audit-security-stat-grid) .audit-security-table tbody tr:hover { background: #f8faff; }
#app:has(.audit-security-stat-grid) .audit-security-table td strong { color: var(--audit-ink); font-weight: 800; }
#app:has(.audit-security-stat-grid) .audit-security-table td small { display: block; margin-top: 4px; color: var(--audit-muted); font-size: 11px; line-height: 1.4; }
#app:has(.audit-security-stat-grid) .audit-security-link-button { display: grid; gap: 4px; padding: 0; border: 0; color: var(--audit-text); background: transparent; text-align: left; cursor: pointer; }
#app:has(.audit-security-stat-grid) .audit-security-link-button:hover strong { color: var(--audit-blue); text-decoration: none; }
#app:has(.audit-security-stat-grid) .audit-security-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#app:has(.audit-security-stat-grid) .audit-security-row-actions .button { min-height: 32px; padding: 0 10px; font-size: 12px; }
#app:has(.audit-security-stat-grid) .audit-security-table-footer,
#app:has(.audit-security-stat-grid) .audit-security-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 22px 17px; color: var(--audit-faint); font-size: 11px; line-height: 1.5; }
#app:has(.audit-security-stat-grid) .audit-security-footer { margin-top: 16px; padding: 0 2px 4px; }
#app:has(.audit-security-stat-grid) .audit-security-empty { display: grid; min-height: 130px; place-content: center; gap: 6px; padding: 22px; color: var(--audit-muted); text-align: center; }
#app:has(.audit-security-stat-grid) .audit-security-empty strong { color: var(--audit-ink); font-size: 14px; }
#app:has(.audit-security-stat-grid) .audit-security-empty span { font-size: 12px; line-height: 1.5; }

#app:has(.audit-security-stat-grid) .audit-security-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 0 22px 16px; }
#app:has(.audit-security-stat-grid) .audit-security-form-grid .field { min-width: 0; color: var(--audit-ink); font-size: 13px; font-weight: 700; }
#app:has(.audit-security-stat-grid) .audit-security-form-grid .field > span { display: block; margin-bottom: 6px; }
#app:has(.audit-security-stat-grid) .audit-security-form-grid input,
#app:has(.audit-security-stat-grid) .audit-security-form-grid select { min-height: 41px; padding: 9px 11px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--audit-text); background: #fff; font: inherit; font-size: 13px; }
#app:has(.audit-security-stat-grid) .audit-security-field-wide { grid-column: 1 / -1; }
#app:has(.audit-security-stat-grid) .audit-security-policy-actions { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; margin: 0 22px 17px; }
#app:has(.audit-security-stat-grid) .audit-security-explain-list { gap: 10px; margin: 0 22px 20px; }
#app:has(.audit-security-stat-grid) .audit-security-explain-list > div { padding: 12px 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.audit-security-stat-grid) .audit-security-explain-list strong { color: #3454a6; font-size: 13px; }
#app:has(.audit-security-stat-grid) .audit-security-explain-list span { color: var(--audit-muted); font-size: 12px; line-height: 1.55; }

#app:has(.audit-security-stat-grid) .audit-security-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(21, 33, 58, .48); }
#app:has(.audit-security-stat-grid) .audit-security-modal { position: relative; width: min(720px, calc(100vw - 32px)); max-height: min(820px, calc(100vh - 32px)); overflow: auto; padding: 27px; border: 1px solid #d7dfef; border-top: 3px solid var(--audit-blue); border-radius: 14px; background: #fff; box-shadow: 0 24px 80px rgba(23, 41, 82, .28); }
#app:has(.audit-security-stat-grid) .audit-security-modal-close { position: absolute; top: 16px; right: 17px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #d7dfef; border-radius: 8px; color: #536b99; background: #f7f9ff; font-size: 21px; line-height: 1; cursor: pointer; }
#app:has(.audit-security-stat-grid) .audit-security-modal-close:hover { color: var(--audit-blue); border-color: #9eb3ef; }
#app:has(.audit-security-stat-grid) .audit-security-modal h2 { margin: 7px 40px 0 0; color: var(--audit-ink); font-size: 23px; line-height: 1.35; }
#app:has(.audit-security-stat-grid) .audit-security-modal .eyebrow { color: var(--audit-purple); font-size: 11px; font-weight: 800; letter-spacing: .05em; }
#app:has(.audit-security-stat-grid) .audit-security-modal-copy { margin-top: 8px; color: var(--audit-muted); font-size: 13px; line-height: 1.65; }
#app:has(.audit-security-stat-grid) .audit-security-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
#app:has(.audit-security-stat-grid) .audit-security-facts > div { padding: 12px; border: 1px solid #e0e6f0; border-radius: 9px; background: #f9fbff; }
#app:has(.audit-security-stat-grid) .audit-security-facts span { color: var(--audit-faint); font-size: 11px; }
#app:has(.audit-security-stat-grid) .audit-security-facts strong { color: var(--audit-text); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
#app:has(.audit-security-stat-grid) .audit-security-modal-actions { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; margin-top: 21px; padding-top: 16px; border-top: 1px solid #e5e9f2; }

@media (max-width: 1180px) {
  #app:has(.audit-security-stat-grid) .audit-security-posture-grid,
  #app:has(.audit-security-stat-grid) .audit-security-access-grid,
  #app:has(.audit-security-stat-grid) .audit-security-policy-layout,
  #app:has(.audit-security-stat-grid) .audit-security-data-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  #app:has(.audit-security-stat-grid) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.audit-security-stat-grid) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.audit-security-stat-grid) .audit-security-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.audit-security-stat-grid) .audit-security-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app:has(.audit-security-stat-grid) .audit-security-toolbar > .button { justify-self: start; }
  #app:has(.audit-security-stat-grid) .audit-security-policy-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app:has(.audit-security-stat-grid) .page-heading h1 { font-size: 28px; }
  #app:has(.audit-security-stat-grid) .audit-security-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #app:has(.audit-security-stat-grid) .audit-security-stat-card { min-height: 120px; padding: 14px; }
  #app:has(.audit-security-stat-grid) .audit-security-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  #app:has(.audit-security-stat-grid) .audit-security-search,
  #app:has(.audit-security-stat-grid) .audit-security-select { width: 100%; }
  #app:has(.audit-security-stat-grid) .audit-security-form-grid,
  #app:has(.audit-security-stat-grid) .audit-security-posture-list,
  #app:has(.audit-security-stat-grid) .audit-security-policy-summary,
  #app:has(.audit-security-stat-grid) .audit-security-facts { grid-template-columns: 1fr; }
  #app:has(.audit-security-stat-grid) .audit-security-field-wide { grid-column: auto; }
  #app:has(.audit-security-stat-grid) .audit-security-table-footer,
  #app:has(.audit-security-stat-grid) .audit-security-footer { align-items: flex-start; flex-direction: column; }
  #app:has(.audit-security-stat-grid) .audit-security-modal { padding: 22px 18px; }
  #app:has(.audit-security-stat-grid) .audit-security-posture-list,
  #app:has(.audit-security-stat-grid) .audit-security-policy-summary,
  #app:has(.audit-security-stat-grid) .audit-security-form-grid,
  #app:has(.audit-security-stat-grid) .audit-security-boundary-note,
  #app:has(.audit-security-stat-grid) .audit-security-quick-note,
  #app:has(.audit-security-stat-grid) .audit-security-explain-list { margin-right: 16px; margin-left: 16px; }
  #app:has(.audit-security-stat-grid) .audit-security-detail-actions,
  #app:has(.audit-security-stat-grid) .audit-security-policy-actions { justify-content: flex-start; margin-right: 16px; margin-left: 16px; }
  #app:has(.audit-security-stat-grid) .audit-security-facts { gap: 9px; }
}

/* 平台文章：源文章 → 平台规格 → 适配任务 → 平台版本回执 */
#app:has(.self-platform-stat-grid) {
  --self-platform-ink: #182338;
  --self-platform-text: #30415f;
  --self-platform-muted: #71809b;
  --self-platform-faint: #8995aa;
  --self-platform-line: #dce3ee;
  --self-platform-blue: #315bea;
  --self-platform-blue-dark: #2447c3;
  --self-platform-purple: #7658df;
  --self-platform-green: #1fa78a;
  --self-platform-orange: #d28b22;
}
#app:has(.self-platform-stat-grid) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.self-platform-stat-grid) .page-heading h1 { color: var(--self-platform-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.self-platform-stat-grid) .page-heading p { max-width: 820px; margin-top: 8px; color: var(--self-platform-muted); font-size: 14px; line-height: 1.65; }
#app:has(.self-platform-stat-grid) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.self-platform-stat-grid) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.self-platform-stat-grid) .button-primary { border-color: var(--self-platform-blue); background: var(--self-platform-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.self-platform-stat-grid) .button-primary:hover { background: var(--self-platform-blue-dark); }
#app:has(.self-platform-stat-grid) .button-secondary,
#app:has(.self-platform-stat-grid) .button-quiet { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.self-platform-stat-grid) .button-secondary:hover,
#app:has(.self-platform-stat-grid) .button-quiet:hover { border-color: #9eb3ef; color: var(--self-platform-blue-dark); background: #f6f8ff; }
#app:has(.self-platform-stat-grid) .button-danger { border-color: #efc7c3; color: #a84943; background: #fff7f6; }

#app:has(.self-platform-stat-grid) .self-platform-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--self-platform-line); border-top: 3px solid var(--self-platform-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(2) { border-top-color: var(--self-platform-green); }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(3) { border-top-color: var(--self-platform-orange); }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(4) { border-top-color: var(--self-platform-purple); }
#app:has(.self-platform-stat-grid) .self-platform-stat-card .stat-top { color: var(--self-platform-muted); font-size: 12px; font-weight: 700; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card .stat-icon { color: var(--self-platform-blue); background: #edf2ff; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(2) .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(3) .stat-icon { color: #b56e13; background: #fff4df; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card:nth-child(4) .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card .stat-value { margin-top: 12px; color: #253b68; font-family: inherit; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.self-platform-stat-grid) .self-platform-stat-card .stat-meta { margin-top: 9px; color: var(--self-platform-faint); font-size: 12px; line-height: 1.45; }

#app:has(.self-platform-stat-grid) .self-platform-rules-panel,
#app:has(.self-platform-stat-grid) .self-platform-generator-panel,
#app:has(.self-platform-stat-grid) .self-platform-list-panel { min-width: 0; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--self-platform-line); border-top: 3px solid var(--self-platform-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.self-platform-stat-grid) .self-platform-generator-panel { border-top-color: var(--self-platform-purple); }
#app:has(.self-platform-stat-grid) .self-platform-list-panel { border-top-color: var(--self-platform-green); }
#app:has(.self-platform-stat-grid) .self-platform-rules-panel .panel-header,
#app:has(.self-platform-stat-grid) .self-platform-generator-panel .panel-header,
#app:has(.self-platform-stat-grid) .self-platform-list-panel .panel-header { align-items: flex-start; gap: 14px; padding: 20px 22px 14px; border-bottom: 0; }
#app:has(.self-platform-stat-grid) .panel-header h3 { color: var(--self-platform-ink); font-size: 17px; line-height: 1.35; }
#app:has(.self-platform-stat-grid) .panel-header p { margin-top: 5px; color: var(--self-platform-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-platform-stat-grid) .self-platform-form-note { flex: 0 0 auto; margin-top: 3px; color: var(--self-platform-faint); font-size: 12px; font-weight: 700; white-space: nowrap; }
#app:has(.self-platform-stat-grid) .self-platform-rules-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 22px 20px; }
#app:has(.self-platform-stat-grid) .self-platform-rules-grid > div { min-height: 92px; padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-platform-stat-grid) .self-platform-rules-grid strong { color: #3454a6; font-size: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-rules-grid span { color: var(--self-platform-muted); font-size: 12px; line-height: 1.6; }

#app:has(.self-platform-stat-grid) .self-platform-form-fields { grid-template-columns: minmax(260px, 1.45fr) repeat(2, minmax(220px, 1fr)); gap: 13px; margin: 0 22px; }
#app:has(.self-platform-stat-grid) .self-platform-form-fields .field { min-width: 0; color: var(--self-platform-ink); font-size: 13px; font-weight: 700; }
#app:has(.self-platform-stat-grid) .self-platform-form-fields .field > span { display: block; margin-bottom: 6px; }
#app:has(.self-platform-stat-grid) .self-platform-form-fields input,
#app:has(.self-platform-stat-grid) .self-platform-form-fields select { width: 100%; min-height: 41px; padding: 9px 11px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-platform-text); background: #fff; font: inherit; font-size: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-form-fields input:focus,
#app:has(.self-platform-stat-grid) .self-platform-form-fields select:focus { border-color: var(--self-platform-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.self-platform-stat-grid) .self-platform-viewpoint-help { margin: 11px 22px 0; color: var(--self-platform-muted); font-size: 12px; line-height: 1.6; }
#app:has(.self-platform-stat-grid) .self-platform-targets { margin: 18px 22px 0; padding: 15px; border: 1px solid #dbe4f5; border-radius: 10px; background: #f8faff; }
#app:has(.self-platform-stat-grid) .self-platform-targets-heading { gap: 10px; color: var(--self-platform-ink); font-size: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-targets-heading > span { color: var(--self-platform-muted); font-size: 12px; }
#app:has(.self-platform-stat-grid) .self-platform-targets-heading > div { gap: 7px; }
#app:has(.self-platform-stat-grid) .self-platform-checkbox-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-checkbox { min-height: 38px; padding: 8px 10px; border: 1px solid #d6dfef; border-radius: 8px; color: #536b99; background: #fff; font-size: 12px; }
#app:has(.self-platform-stat-grid) .self-platform-checkbox:hover { border-color: #9eb3ef; background: #f2f6ff; }
#app:has(.self-platform-stat-grid) .self-platform-checkbox input { width: 16px; height: 16px; accent-color: var(--self-platform-blue); }
#app:has(.self-platform-stat-grid) .self-platform-generate-actions { justify-content: flex-end; margin: 20px 22px; padding-top: 16px; border-top-color: #e5e9f2; }

#app:has(.self-platform-stat-grid) .self-platform-list-actions { gap: 8px; }
#app:has(.self-platform-stat-grid) .self-platform-list { gap: 12px; padding: 0 22px; }
#app:has(.self-platform-stat-grid) .self-platform-source-group { border-color: var(--self-platform-line); border-radius: 10px; background: #fbfcff; }
#app:has(.self-platform-stat-grid) .self-platform-source-heading { gap: 15px; padding: 15px 17px; border-bottom-color: var(--self-platform-line); background: #f4f7ff; }
#app:has(.self-platform-stat-grid) .self-platform-source-heading strong { color: var(--self-platform-ink); font-size: 14px; line-height: 1.55; }
#app:has(.self-platform-stat-grid) .self-platform-source-heading span { color: var(--self-platform-muted); font-size: 11px; }
#app:has(.self-platform-stat-grid) .self-platform-group-viewpoint { border-color: #cbd8f4; color: #536b99 !important; background: #fff; font-size: 11px; }
#app:has(.self-platform-stat-grid) .self-platform-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; }
#app:has(.self-platform-stat-grid) .self-platform-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 12px; border: 1px solid #e0e6f0; border-radius: 9px; background: #fff; }
#app:has(.self-platform-stat-grid) .self-platform-row:last-child { border-bottom: 1px solid #e0e6f0; }
#app:has(.self-platform-stat-grid) .self-platform-row:hover { border-color: #9eb3ef; background: #f8faff; }
#app:has(.self-platform-stat-grid) .self-platform-row-copy { gap: 5px; }
#app:has(.self-platform-stat-grid) .self-platform-row-copy strong { color: var(--self-platform-ink); font-size: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-row-copy span { color: var(--self-platform-muted); font-size: 11px; line-height: 1.45; white-space: normal; }
#app:has(.self-platform-stat-grid) .self-platform-row-copy small { color: #187d68; font-size: 11px; }
#app:has(.self-platform-stat-grid) .self-platform-row-actions { gap: 6px; }
#app:has(.self-platform-stat-grid) .self-platform-row-actions .button { min-height: 32px; padding: 0 9px; font-size: 11px; }
#app:has(.self-platform-stat-grid) .self-platform-footer { padding: 14px 22px 17px; color: var(--self-platform-faint); font-size: 11px; line-height: 1.5; }
#app:has(.self-platform-stat-grid) .self-platform-empty { min-height: 160px; color: var(--self-platform-muted); font-size: 13px; }
#app:has(.self-platform-stat-grid) .self-platform-empty strong { color: var(--self-platform-ink); font-size: 14px; }

#app:has(.self-platform-stat-grid) .self-platform-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(21, 33, 58, .48); }
#app:has(.self-platform-stat-grid) .self-platform-modal { width: min(900px, calc(100vw - 32px)); max-height: min(850px, calc(100vh - 32px)); overflow: auto; padding: 27px; border: 1px solid #d7dfef; border-top: 3px solid var(--self-platform-blue); border-radius: 14px; background: #fff; box-shadow: 0 24px 80px rgba(23, 41, 82, .28); }
#app:has(.self-platform-stat-grid) .self-platform-modal-close { top: 16px; right: 17px; width: 30px; height: 30px; border: 1px solid #d7dfef; border-radius: 8px; color: #536b99; background: #f7f9ff; }
#app:has(.self-platform-stat-grid) .self-platform-modal h2 { margin: 7px 40px 0 0; color: var(--self-platform-ink); font-size: 23px; line-height: 1.4; }
#app:has(.self-platform-stat-grid) .self-platform-preview-meta { gap: 8px; color: var(--self-platform-muted); font-size: 12px; }
#app:has(.self-platform-stat-grid) .self-platform-preview-meta span { padding: 5px 8px; border-color: #dbe4f5; border-radius: 6px; background: #f8faff; }
#app:has(.self-platform-stat-grid) .self-platform-preview-content { margin-top: 18px; padding: 16px; border-color: #dbe4f5; border-radius: 9px; color: var(--self-platform-text); background: #fbfcff; font-size: 14px; line-height: 1.9; }
#app:has(.self-platform-stat-grid) .self-platform-preview-content h3,
#app:has(.self-platform-stat-grid) .self-platform-preview-content h4 { color: var(--self-platform-ink); }
#app:has(.self-platform-stat-grid) .self-platform-preview-facts { gap: 10px; margin-top: 18px; }
#app:has(.self-platform-stat-grid) .self-platform-preview-facts > div { padding: 12px; border-color: #e0e6f0; border-radius: 9px; background: #f9fbff; }
#app:has(.self-platform-stat-grid) .self-platform-preview-facts span { color: var(--self-platform-faint); font-size: 11px; }
#app:has(.self-platform-stat-grid) .self-platform-preview-facts strong { color: var(--self-platform-text); font-size: 13px; line-height: 1.55; }
#app:has(.self-platform-stat-grid) .self-platform-modal-actions { gap: 9px; margin-top: 20px; padding-top: 16px; border-top-color: #e5e9f2; }

@media (max-width: 1100px) {
  #app:has(.self-platform-stat-grid) .self-platform-form-fields { grid-template-columns: 1fr 1fr; }
  #app:has(.self-platform-stat-grid) .self-platform-form-fields .field:first-child { grid-column: 1 / -1; }
  #app:has(.self-platform-stat-grid) .self-platform-checkbox-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  #app:has(.self-platform-stat-grid) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.self-platform-stat-grid) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.self-platform-stat-grid) .self-platform-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-platform-stat-grid) .self-platform-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-platform-stat-grid) .self-platform-rows { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app:has(.self-platform-stat-grid) .page-heading h1 { font-size: 28px; }
  #app:has(.self-platform-stat-grid) .self-platform-stat-grid { gap: 10px; }
  #app:has(.self-platform-stat-grid) .self-platform-stat-card { min-height: 116px; padding: 14px; }
  #app:has(.self-platform-stat-grid) .self-platform-form-fields,
  #app:has(.self-platform-stat-grid) .self-platform-rules-grid,
  #app:has(.self-platform-stat-grid) .self-platform-preview-facts { grid-template-columns: 1fr; }
  #app:has(.self-platform-stat-grid) .self-platform-form-fields .field:first-child { grid-column: auto; }
  #app:has(.self-platform-stat-grid) .self-platform-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-platform-stat-grid) .self-platform-form-fields,
  #app:has(.self-platform-stat-grid) .self-platform-viewpoint-help,
  #app:has(.self-platform-stat-grid) .self-platform-targets,
  #app:has(.self-platform-stat-grid) .self-platform-generate-actions,
  #app:has(.self-platform-stat-grid) .self-platform-list { margin-right: 16px; margin-left: 16px; }
  #app:has(.self-platform-stat-grid) .self-platform-generate-actions { align-items: stretch; flex-direction: column; }
  #app:has(.self-platform-stat-grid) .self-platform-generate-actions .button { width: 100%; }
  #app:has(.self-platform-stat-grid) .self-platform-source-heading { display: grid; }
  #app:has(.self-platform-stat-grid) .self-platform-modal { padding: 22px 18px; }
}

/* 网站文章：文章资产 → 质量核验 → 预览编辑 → 发布回执 */
#app:has(.self-article-stat-grid) {
  --self-article-ink: #182338;
  --self-article-text: #30415f;
  --self-article-muted: #71809b;
  --self-article-faint: #8995aa;
  --self-article-line: #dce3ee;
  --self-article-blue: #315bea;
  --self-article-blue-dark: #2447c3;
  --self-article-purple: #7658df;
  --self-article-green: #1fa78a;
  --self-article-orange: #d28b22;
}
#app:has(.self-article-stat-grid) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.self-article-stat-grid) .page-heading h1 { color: var(--self-article-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.self-article-stat-grid) .page-heading p { max-width: 820px; margin-top: 8px; color: var(--self-article-muted); font-size: 14px; line-height: 1.65; }
#app:has(.self-article-stat-grid) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.self-article-stat-grid) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.self-article-stat-grid) .button-primary { border-color: var(--self-article-blue); background: var(--self-article-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.self-article-stat-grid) .button-primary:hover { background: var(--self-article-blue-dark); }
#app:has(.self-article-stat-grid) .button-secondary,
#app:has(.self-article-stat-grid) .button-quiet { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.self-article-stat-grid) .button-secondary:hover,
#app:has(.self-article-stat-grid) .button-quiet:hover { border-color: #9eb3ef; color: var(--self-article-blue-dark); background: #f6f8ff; }
#app:has(.self-article-stat-grid) .button-danger { border-color: #efc7c3; color: #a84943; background: #fff7f6; }

#app:has(.self-article-stat-grid) .self-article-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.self-article-stat-grid) .self-article-stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--self-article-line); border-top: 3px solid var(--self-article-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(2) { border-top-color: var(--self-article-orange); }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(3) { border-top-color: var(--self-article-green); }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(4) { border-top-color: var(--self-article-purple); }
#app:has(.self-article-stat-grid) .self-article-stat-card .stat-top { color: var(--self-article-muted); font-size: 12px; font-weight: 700; }
#app:has(.self-article-stat-grid) .self-article-stat-card .stat-icon { color: var(--self-article-blue); background: #edf2ff; }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(2) .stat-icon { color: #b56e13; background: #fff4df; }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(3) .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.self-article-stat-grid) .self-article-stat-card:nth-child(4) .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.self-article-stat-grid) .self-article-stat-card .stat-value { margin-top: 12px; color: #253b68; font-family: inherit; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.self-article-stat-grid) .self-article-stat-card .stat-meta { margin-top: 9px; color: var(--self-article-faint); font-size: 12px; line-height: 1.45; }

#app:has(.self-article-stat-grid) .self-article-rules-panel,
#app:has(.self-article-stat-grid) .self-article-generate-panel,
#app:has(.self-article-stat-grid) .self-article-list-panel { min-width: 0; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--self-article-line); border-top: 3px solid var(--self-article-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.self-article-stat-grid) .self-article-generate-panel { border-top-color: var(--self-article-purple); }
#app:has(.self-article-stat-grid) .self-article-list-panel { border-top-color: var(--self-article-green); }
#app:has(.self-article-stat-grid) .self-article-rules-panel .panel-header,
#app:has(.self-article-stat-grid) .self-article-generate-panel .panel-header,
#app:has(.self-article-stat-grid) .self-article-list-panel .panel-header { align-items: flex-start; gap: 14px; padding: 20px 22px 14px; border-bottom: 0; }
#app:has(.self-article-stat-grid) .panel-header h3 { color: var(--self-article-ink); font-size: 17px; line-height: 1.35; }
#app:has(.self-article-stat-grid) .panel-header p { margin-top: 5px; color: var(--self-article-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-article-stat-grid) .self-article-count-note { flex: 0 0 auto; margin-top: 3px; color: var(--self-article-faint); font-size: 12px; font-weight: 700; white-space: nowrap; }
#app:has(.self-article-stat-grid) .self-article-rules-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 22px 20px; }
#app:has(.self-article-stat-grid) .self-article-rules-grid > div { min-height: 92px; padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-article-stat-grid) .self-article-rules-grid strong { color: #3454a6; font-size: 13px; }
#app:has(.self-article-stat-grid) .self-article-rules-grid span { color: var(--self-article-muted); font-size: 12px; line-height: 1.6; }

#app:has(.self-article-stat-grid) .self-article-generate-rule { margin: 0 22px; padding: 13px 14px; border-color: #cbd8f4; border-radius: 9px; color: #536b99; background: #f5f8ff; font-size: 12px; line-height: 1.65; }
#app:has(.self-article-stat-grid) .self-article-generate-rule strong { color: var(--self-article-blue-dark); }
#app:has(.self-article-stat-grid) .self-article-generate-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 17px 22px 0; }
#app:has(.self-article-stat-grid) .self-article-generate-fields .field { min-width: 0; color: var(--self-article-ink); font-size: 13px; font-weight: 700; }
#app:has(.self-article-stat-grid) .self-article-generate-fields .field > span { display: block; margin-bottom: 6px; }
#app:has(.self-article-stat-grid) .self-article-generate-fields input,
#app:has(.self-article-stat-grid) .self-article-generate-fields select { width: 100%; min-height: 41px; padding: 9px 11px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-article-text); background: #fff; font: inherit; font-size: 13px; }
#app:has(.self-article-stat-grid) .self-article-generate-fields input:focus,
#app:has(.self-article-stat-grid) .self-article-generate-fields select:focus,
#app:has(.self-article-stat-grid) .self-article-edit-fields input:focus,
#app:has(.self-article-stat-grid) .self-article-edit-fields select:focus,
#app:has(.self-article-stat-grid) .self-article-edit-fields textarea:focus { border-color: var(--self-article-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.self-article-stat-grid) .self-article-image-option { min-height: 41px; color: var(--self-article-text); font-size: 12px; }
#app:has(.self-article-stat-grid) .self-article-image-option input { width: 16px; height: 16px; accent-color: var(--self-article-blue); }
#app:has(.self-article-stat-grid) .self-article-generate-actions { gap: 9px; margin: 20px 22px 20px; padding-top: 16px; border-top-color: #e5e9f2; }

#app:has(.self-article-stat-grid) .self-article-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .6fr); gap: 12px; align-items: center; margin: 0 22px; padding: 0 0 14px; border-top: 0; border-bottom: 1px solid var(--self-article-line); }
#app:has(.self-article-stat-grid) .self-article-filter-tabs { gap: 7px; }
#app:has(.self-article-stat-grid) .self-article-filter-tabs .filter-pill { min-height: 34px; padding: 0 11px; border: 1px solid #d6dfef; border-radius: 8px; color: #607396; background: #fff; font-size: 12px; font-weight: 700; }
#app:has(.self-article-stat-grid) .self-article-filter-tabs .filter-pill:hover { border-color: #9eb3ef; color: var(--self-article-blue); background: #f6f8ff; }
#app:has(.self-article-stat-grid) .self-article-filter-tabs .filter-pill.active { border-color: #9eb3ef; color: var(--self-article-blue-dark); background: #edf2ff; }
#app:has(.self-article-stat-grid) .self-article-filter-tabs .filter-pill span { color: var(--self-article-faint); }
#app:has(.self-article-stat-grid) .self-article-search input { width: 100%; min-width: 0; min-height: 40px; padding: 0 12px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-article-text); background: #fff; font-size: 13px; }
#app:has(.self-article-stat-grid) .self-article-search input:focus { border-color: var(--self-article-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.self-article-stat-grid) .self-article-list { gap: 10px; padding: 16px 22px 0; }
#app:has(.self-article-stat-grid) .self-article-row { grid-template-columns: minmax(0, 1fr) minmax(330px, auto); gap: 20px; padding: 17px; border: 1px solid var(--self-article-line); border-radius: 10px; background: #fbfcff; }
#app:has(.self-article-stat-grid) .self-article-row:hover { border-color: #9eb3ef; box-shadow: 0 8px 18px rgba(49, 91, 234, .07); }
#app:has(.self-article-stat-grid) .self-article-row.is-published { background: #f8fcfb; }
#app:has(.self-article-stat-grid) .self-article-copy h3 { color: var(--self-article-ink); font-size: 15px; line-height: 1.55; }
#app:has(.self-article-stat-grid) .self-article-meta { gap: 7px 14px; margin-top: 8px; color: var(--self-article-muted); font-size: 12px; }
#app:has(.self-article-stat-grid) .self-article-quality { gap: 7px; margin-top: 11px; }
#app:has(.self-article-stat-grid) .self-article-flag { padding: 4px 8px; border-radius: 6px; font-size: 11px; }
#app:has(.self-article-stat-grid) .self-article-image-link { padding: 4px 8px; border-color: #b8c9ef; border-radius: 6px; color: var(--self-article-blue); background: #f3f6ff; font-size: 11px; }
#app:has(.self-article-stat-grid) .self-article-actions { gap: 7px; align-items: center; }
#app:has(.self-article-stat-grid) .self-article-actions .button { min-height: 34px; padding: 0 11px; font-size: 12px; white-space: nowrap; }
#app:has(.self-article-stat-grid) .self-article-footer { padding: 14px 22px 17px; color: var(--self-article-faint); font-size: 11px; line-height: 1.5; }
#app:has(.self-article-stat-grid) .self-article-empty { min-height: 160px; color: var(--self-article-muted); font-size: 13px; }
#app:has(.self-article-stat-grid) .self-article-empty strong { color: var(--self-article-ink); font-size: 14px; }

#app:has(.self-article-stat-grid) .self-article-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(21, 33, 58, .48); }
#app:has(.self-article-stat-grid) .self-article-modal { width: min(900px, calc(100vw - 32px)); max-height: min(850px, calc(100vh - 32px)); overflow: auto; padding: 27px; border: 1px solid #d7dfef; border-top: 3px solid var(--self-article-blue); border-radius: 14px; background: #fff; box-shadow: 0 24px 80px rgba(23, 41, 82, .28); }
#app:has(.self-article-stat-grid) .self-article-modal-close { top: 16px; right: 17px; width: 30px; height: 30px; border: 1px solid #d7dfef; border-radius: 8px; color: #536b99; background: #f7f9ff; }
#app:has(.self-article-stat-grid) .self-article-modal h2 { margin: 7px 40px 0 0; color: var(--self-article-ink); font-size: 23px; line-height: 1.4; }
#app:has(.self-article-stat-grid) .self-article-preview-meta { gap: 8px; color: var(--self-article-muted); font-size: 12px; }
#app:has(.self-article-stat-grid) .self-article-preview-meta span { padding: 5px 8px; border-color: #dbe4f5; border-radius: 6px; background: #f8faff; }
#app:has(.self-article-stat-grid) .self-article-summary { margin-top: 18px; padding: 14px 16px; border-left-color: var(--self-article-blue); color: #536b99; background: #f5f8ff; font-size: 14px; line-height: 1.8; }
#app:has(.self-article-stat-grid) .self-article-preview-content { margin-top: 18px; color: var(--self-article-text); font-size: 14px; line-height: 2; }
#app:has(.self-article-stat-grid) .self-article-preview-facts { gap: 10px; margin-top: 20px; }
#app:has(.self-article-stat-grid) .self-article-preview-facts > div { padding: 12px; border-color: #e0e6f0; border-radius: 9px; background: #f9fbff; }
#app:has(.self-article-stat-grid) .self-article-preview-facts span { color: var(--self-article-faint); font-size: 11px; }
#app:has(.self-article-stat-grid) .self-article-preview-facts strong { color: var(--self-article-text); font-size: 13px; line-height: 1.5; }
#app:has(.self-article-stat-grid) .self-article-edit-fields { gap: 13px; }
#app:has(.self-article-stat-grid) .self-article-edit-fields .field { color: var(--self-article-ink); font-size: 13px; font-weight: 700; }
#app:has(.self-article-stat-grid) .self-article-edit-fields .field > span { display: block; margin-bottom: 6px; }
#app:has(.self-article-stat-grid) .self-article-edit-fields input,
#app:has(.self-article-stat-grid) .self-article-edit-fields select,
#app:has(.self-article-stat-grid) .self-article-edit-fields textarea { width: 100%; padding: 9px 11px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-article-text); background: #fff; font: inherit; font-size: 13px; line-height: 1.55; }
#app:has(.self-article-stat-grid) .self-article-modal-actions { gap: 9px; padding-top: 16px; margin-top: 20px; border-top-color: #e5e9f2; }

@media (max-width: 1100px) {
  #app:has(.self-article-stat-grid) .self-article-row { grid-template-columns: 1fr; }
  #app:has(.self-article-stat-grid) .self-article-actions { justify-content: flex-start; }
}
@media (max-width: 900px) {
  #app:has(.self-article-stat-grid) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.self-article-stat-grid) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.self-article-stat-grid) .self-article-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-article-stat-grid) .self-article-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-article-stat-grid) .self-article-generate-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-article-stat-grid) .self-article-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app:has(.self-article-stat-grid) .page-heading h1 { font-size: 28px; }
  #app:has(.self-article-stat-grid) .self-article-stat-grid { gap: 10px; }
  #app:has(.self-article-stat-grid) .self-article-stat-card { min-height: 116px; padding: 14px; }
  #app:has(.self-article-stat-grid) .self-article-rules-grid,
  #app:has(.self-article-stat-grid) .self-article-generate-fields,
  #app:has(.self-article-stat-grid) .self-article-edit-fields,
  #app:has(.self-article-stat-grid) .self-article-preview-facts { grid-template-columns: 1fr; }
  #app:has(.self-article-stat-grid) .self-article-list { padding-right: 16px; padding-left: 16px; }
  #app:has(.self-article-stat-grid) .self-article-toolbar { margin-right: 16px; margin-left: 16px; }
  #app:has(.self-article-stat-grid) .self-article-generate-rule,
  #app:has(.self-article-stat-grid) .self-article-generate-fields { margin-right: 16px; margin-left: 16px; }
  #app:has(.self-article-stat-grid) .self-article-generate-actions { align-items: stretch; flex-direction: column; margin-right: 16px; margin-left: 16px; }
  #app:has(.self-article-stat-grid) .self-article-generate-actions .button { width: 100%; }
  #app:has(.self-article-stat-grid) .self-article-modal { padding: 22px 18px; }
}

/* 话题库：候选确认 → 待写队列 → 文章回写 */
#app:has(.self-topic-stat-grid) {
  --self-topic-ink: #182338;
  --self-topic-text: #30415f;
  --self-topic-muted: #71809b;
  --self-topic-faint: #8995aa;
  --self-topic-line: #dce3ee;
  --self-topic-blue: #315bea;
  --self-topic-blue-dark: #2447c3;
  --self-topic-purple: #7658df;
  --self-topic-green: #1fa78a;
  --self-topic-orange: #d28b22;
}
#app:has(.self-topic-stat-grid) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.self-topic-stat-grid) .page-heading h1 { color: var(--self-topic-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.self-topic-stat-grid) .page-heading p { max-width: 820px; margin-top: 8px; color: var(--self-topic-muted); font-size: 14px; line-height: 1.65; }
#app:has(.self-topic-stat-grid) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.self-topic-stat-grid) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.self-topic-stat-grid) .button-primary { border-color: var(--self-topic-blue); background: var(--self-topic-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.self-topic-stat-grid) .button-primary:hover { background: var(--self-topic-blue-dark); }
#app:has(.self-topic-stat-grid) .button-secondary,
#app:has(.self-topic-stat-grid) .button-quiet { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.self-topic-stat-grid) .button-secondary:hover,
#app:has(.self-topic-stat-grid) .button-quiet:hover { border-color: #9eb3ef; color: var(--self-topic-blue-dark); background: #f6f8ff; }

#app:has(.self-topic-stat-grid) .self-topic-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--self-topic-line); border-top: 3px solid var(--self-topic-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.self-topic-stat-grid) .self-topic-stat-card:nth-child(2) { border-top-color: var(--self-topic-green); }
#app:has(.self-topic-stat-grid) .self-topic-stat-card:nth-child(3) { border-top-color: var(--self-topic-purple); }
#app:has(.self-topic-stat-grid) .self-topic-stat-card .stat-top { color: var(--self-topic-muted); font-size: 12px; font-weight: 700; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card .stat-icon { color: var(--self-topic-blue); background: #edf2ff; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card:nth-child(2) .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card:nth-child(3) .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card .stat-value { margin-top: 12px; color: #253b68; font-family: inherit; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.self-topic-stat-grid) .self-topic-stat-card .stat-meta { margin-top: 9px; color: var(--self-topic-faint); font-size: 12px; line-height: 1.45; }

#app:has(.self-topic-stat-grid) .self-topic-rules-panel,
#app:has(.self-topic-stat-grid) .self-topic-candidate-panel,
#app:has(.self-topic-stat-grid) .self-topic-article-receipt,
#app:has(.self-topic-stat-grid) .self-topic-table-panel { min-width: 0; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--self-topic-line); border-top: 3px solid var(--self-topic-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.self-topic-stat-grid) .self-topic-candidate-panel { border-top-color: var(--self-topic-purple); }
#app:has(.self-topic-stat-grid) .self-topic-article-receipt { border-top-color: var(--self-topic-green); }
#app:has(.self-topic-stat-grid) .self-topic-rules-panel .panel-header,
#app:has(.self-topic-stat-grid) .self-topic-candidate-panel .panel-header,
#app:has(.self-topic-stat-grid) .self-topic-article-receipt .panel-header,
#app:has(.self-topic-stat-grid) .self-topic-table-panel .panel-header { align-items: flex-start; gap: 14px; padding: 20px 22px 14px; border-bottom: 0; }
#app:has(.self-topic-stat-grid) .panel-header h3 { color: var(--self-topic-ink); font-size: 17px; line-height: 1.35; }
#app:has(.self-topic-stat-grid) .panel-header p { margin-top: 5px; color: var(--self-topic-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-topic-stat-grid) .self-topic-panel-actions { justify-content: flex-end; gap: 8px; }
#app:has(.self-topic-stat-grid) .self-topic-task-status { margin: 0 22px 18px; border-color: #f2d6a9; color: #83530e; background: #fff9ed; font-size: 12px; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-hint { margin: 0 22px 13px; color: var(--self-topic-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-list { gap: 10px; padding: 0 22px 18px; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-row { min-height: 118px; padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-row:hover { border-color: #9eb3ef; background: #f2f6ff; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-row input { width: 16px; height: 16px; margin-top: 3px; accent-color: var(--self-topic-blue); }
#app:has(.self-topic-stat-grid) .self-topic-candidate-copy { gap: 6px; min-width: 0; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-copy strong { color: var(--self-topic-ink); font-size: 14px; line-height: 1.5; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-copy span { padding: 4px 8px; color: #4f63ac; background: #eaf0ff; font-size: 11px; }
#app:has(.self-topic-stat-grid) .self-topic-candidate-copy small { color: var(--self-topic-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-topic-stat-grid) .self-topic-result-summary { margin: 0 22px 20px; padding: 12px 14px; border-color: #cbd8f4; color: #536b99; background: #f5f8ff; font-size: 12px; }
#app:has(.self-topic-stat-grid) .self-topic-result-summary strong { color: var(--self-topic-ink); }

#app:has(.self-topic-stat-grid) .self-topic-receipt-grid { gap: 10px; padding: 0 22px 14px; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-grid > div { padding: 12px; border-color: #cde8df; border-radius: 9px; background: #f5fbf9; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-grid span,
#app:has(.self-topic-stat-grid) .self-topic-receipt-title span { color: var(--self-topic-faint); font-size: 11px; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-grid strong { color: #187d68; font-size: 13px; overflow-wrap: anywhere; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-title { margin: 0 22px 15px; padding: 13px; border-color: #cde8df; border-radius: 9px; background: #f5fbf9; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-title strong { color: var(--self-topic-ink); font-size: 14px; line-height: 1.55; }
#app:has(.self-topic-stat-grid) .self-topic-receipt-actions { gap: 9px; padding: 0 22px 20px; }

#app:has(.self-topic-stat-grid) .self-topic-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .6fr); gap: 12px; align-items: center; padding: 0 22px 14px; }
#app:has(.self-topic-stat-grid) .self-topic-filter-tabs { gap: 7px; }
#app:has(.self-topic-stat-grid) .self-topic-filter-tabs .filter-pill { min-height: 34px; padding: 0 11px; border: 1px solid #d6dfef; border-radius: 8px; color: #607396; background: #fff; font-size: 12px; font-weight: 700; }
#app:has(.self-topic-stat-grid) .self-topic-filter-tabs .filter-pill:hover { border-color: #9eb3ef; color: var(--self-topic-blue); background: #f6f8ff; }
#app:has(.self-topic-stat-grid) .self-topic-filter-tabs .filter-pill.active { border-color: #9eb3ef; color: var(--self-topic-blue-dark); background: #edf2ff; }
#app:has(.self-topic-stat-grid) .self-topic-filter-tabs .filter-pill span { color: var(--self-topic-faint); }
#app:has(.self-topic-stat-grid) .self-topic-search input { width: 100%; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-topic-text); background: #fff; font-size: 13px; }
#app:has(.self-topic-stat-grid) .self-topic-search input:focus { border-color: var(--self-topic-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.self-topic-stat-grid) .self-topic-table-wrap { overflow-x: auto; margin: 0 12px; border: 1px solid var(--self-topic-line); border-radius: 9px; }
#app:has(.self-topic-stat-grid) .self-topic-table { width: 100%; min-width: 980px; border-collapse: collapse; color: var(--self-topic-text); font-size: 13px; }
#app:has(.self-topic-stat-grid) .self-topic-table th { padding: 12px 13px; border-bottom: 1px solid var(--self-topic-line); color: #627596; background: #f4f7ff; font-size: 11px; font-weight: 800; text-align: left; white-space: nowrap; }
#app:has(.self-topic-stat-grid) .self-topic-table td { min-height: 64px; padding: 13px; border-bottom: 1px solid #e8edf5; vertical-align: middle; line-height: 1.5; }
#app:has(.self-topic-stat-grid) .self-topic-table tbody tr:hover { background: #f8faff; }
#app:has(.self-topic-stat-grid) .self-topic-table tr.is-generating { background: #fffaf1; }
#app:has(.self-topic-stat-grid) .self-topic-num { width: 70px; color: var(--self-topic-faint); font-size: 13px; font-weight: 700; }
#app:has(.self-topic-stat-grid) .self-topic-category { padding: 5px 9px; border: 1px solid #d9d0fa; color: #5e4aa8; background: #f3efff; font-size: 11px; }
#app:has(.self-topic-stat-grid) .self-topic-title-cell { min-width: 420px; gap: 6px; }
#app:has(.self-topic-stat-grid) .self-topic-title-cell strong { color: var(--self-topic-ink); font-size: 14px; line-height: 1.55; }
#app:has(.self-topic-stat-grid) .self-topic-title-cell small { color: var(--self-topic-muted); font-size: 11px; }
#app:has(.self-topic-stat-grid) .self-topic-row-actions { gap: 7px; }
#app:has(.self-topic-stat-grid) .self-topic-row-actions .button { min-height: 34px; padding: 0 11px; font-size: 12px; }
#app:has(.self-topic-stat-grid) .self-topic-footer { padding: 14px 22px 17px; color: var(--self-topic-faint); font-size: 11px; line-height: 1.5; }
#app:has(.self-topic-stat-grid) .self-topic-empty { min-height: 130px; padding: 22px; color: var(--self-topic-muted); font-size: 13px; }

@media (max-width: 900px) {
  #app:has(.self-topic-stat-grid) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.self-topic-stat-grid) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.self-topic-stat-grid) .self-topic-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app:has(.self-topic-stat-grid) .self-topic-candidate-list,
  #app:has(.self-topic-stat-grid) .self-topic-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-topic-stat-grid) .self-topic-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app:has(.self-topic-stat-grid) .page-heading h1 { font-size: 28px; }
  #app:has(.self-topic-stat-grid) .self-topic-stat-grid { grid-template-columns: 1fr; gap: 10px; }
  #app:has(.self-topic-stat-grid) .self-topic-stat-card { min-height: 116px; padding: 14px; }
  #app:has(.self-topic-stat-grid) .self-topic-candidate-list,
  #app:has(.self-topic-stat-grid) .self-topic-rules-grid,
  #app:has(.self-topic-stat-grid) .self-topic-receipt-grid { grid-template-columns: 1fr; }
  #app:has(.self-topic-stat-grid) .self-topic-panel-actions,
  #app:has(.self-topic-stat-grid) .self-topic-receipt-actions,
  #app:has(.self-topic-stat-grid) .self-topic-row-actions { justify-content: flex-start; }
  #app:has(.self-topic-stat-grid) .self-topic-candidate-list,
  #app:has(.self-topic-stat-grid) .self-topic-rules-grid,
  #app:has(.self-topic-stat-grid) .self-topic-receipt-grid,
  #app:has(.self-topic-stat-grid) .self-topic-receipt-title,
  #app:has(.self-topic-stat-grid) .self-topic-candidate-hint,
  #app:has(.self-topic-stat-grid) .self-topic-result-summary,
  #app:has(.self-topic-stat-grid) .self-topic-task-status { margin-right: 16px; margin-left: 16px; }
  #app:has(.self-topic-stat-grid) .self-topic-candidate-list { padding-right: 0; padding-left: 0; }
}

/* 关键词：词库健康 → 候选操作 → 提问导出 → 关键词档案 */
#app:has(.self-kw-stat-grid) {
  --self-kw-ink: #182338;
  --self-kw-text: #30415f;
  --self-kw-muted: #71809b;
  --self-kw-faint: #8995aa;
  --self-kw-line: #dce3ee;
  --self-kw-blue: #315bea;
  --self-kw-blue-dark: #2447c3;
  --self-kw-purple: #7658df;
  --self-kw-green: #1fa78a;
  --self-kw-orange: #d28b22;
}
#app:has(.self-kw-stat-grid) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.self-kw-stat-grid) .page-heading h1 { color: var(--self-kw-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.self-kw-stat-grid) .page-heading p { max-width: 820px; margin-top: 8px; color: var(--self-kw-muted); font-size: 14px; line-height: 1.65; }
#app:has(.self-kw-stat-grid) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.self-kw-stat-grid) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.self-kw-stat-grid) .button-primary { border-color: var(--self-kw-blue); background: var(--self-kw-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.self-kw-stat-grid) .button-primary:hover { background: var(--self-kw-blue-dark); }
#app:has(.self-kw-stat-grid) .button-secondary,
#app:has(.self-kw-stat-grid) .button-quiet { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.self-kw-stat-grid) .button-secondary:hover,
#app:has(.self-kw-stat-grid) .button-quiet:hover { border-color: #9eb3ef; color: var(--self-kw-blue-dark); background: #f6f8ff; }
#app:has(.self-kw-stat-grid) .button-danger { border-color: #efc7c3; color: #a84943; background: #fff7f6; }

#app:has(.self-kw-stat-grid) .self-kw-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--self-kw-line); border-top: 3px solid var(--self-kw-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(2) { border-top-color: var(--self-kw-purple); }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(3) { border-top-color: var(--self-kw-orange); }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(4) { border-top-color: var(--self-kw-green); }
#app:has(.self-kw-stat-grid) .self-kw-stat-card .stat-top { color: var(--self-kw-muted); font-size: 12px; font-weight: 700; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card .stat-icon { color: var(--self-kw-blue); background: #edf2ff; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(2) .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(3) .stat-icon { color: #b56e13; background: #fff4df; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card:nth-child(4) .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card .stat-value { margin-top: 12px; color: #253b68; font-family: inherit; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.self-kw-stat-grid) .self-kw-stat-card .stat-meta { margin-top: 9px; color: var(--self-kw-faint); font-size: 12px; line-height: 1.45; }

#app:has(.self-kw-stat-grid) .self-kw-pool-grid { grid-template-columns: minmax(0, 1.22fr) minmax(380px, .78fr); gap: 16px; margin-bottom: 18px; }
#app:has(.self-kw-stat-grid) .self-kw-pool-grid > .panel,
#app:has(.self-kw-stat-grid) .self-kw-rules-panel,
#app:has(.self-kw-stat-grid) .self-kw-actions-panel,
#app:has(.self-kw-stat-grid) .self-kw-result-panel,
#app:has(.self-kw-stat-grid) .self-kw-export-panel,
#app:has(.self-kw-stat-grid) .self-kw-table-panel { min-width: 0; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--self-kw-line); border-top: 3px solid var(--self-kw-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.self-kw-stat-grid) .self-kw-pool-grid > .self-kw-heartbeat { border-top-color: var(--self-kw-purple); }
#app:has(.self-kw-stat-grid) .self-kw-pool-grid .panel-header,
#app:has(.self-kw-stat-grid) .self-kw-rules-panel .panel-header,
#app:has(.self-kw-stat-grid) .self-kw-actions-panel .panel-header,
#app:has(.self-kw-stat-grid) .self-kw-result-panel .panel-header,
#app:has(.self-kw-stat-grid) .self-kw-export-panel .panel-header,
#app:has(.self-kw-stat-grid) .self-kw-table-panel .panel-header { align-items: flex-start; gap: 14px; padding: 20px 22px 14px; border-bottom: 0; }
#app:has(.self-kw-stat-grid) .panel-header h3 { color: var(--self-kw-ink); font-size: 17px; line-height: 1.35; }
#app:has(.self-kw-stat-grid) .panel-header p { margin-top: 5px; color: var(--self-kw-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-kw-stat-grid) .self-kw-pool-metrics { gap: 10px; padding: 0 22px 17px; }
#app:has(.self-kw-stat-grid) .self-kw-pool-metrics > div { padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-kw-stat-grid) .self-kw-pool-metrics span { color: var(--self-kw-faint); font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-pool-metrics strong { margin-top: 8px; color: #2e4fa4; font-size: 21px; }
#app:has(.self-kw-stat-grid) .self-kw-pool-metrics strong small { color: var(--self-kw-muted); font-size: 10px; font-weight: 600; }
#app:has(.self-kw-stat-grid) .self-kw-category-chips { gap: 8px; padding: 0 22px 20px; }
#app:has(.self-kw-stat-grid) .self-kw-category-chip { padding: 7px 10px; border-color: #d7e1f1; color: #405b94; background: #f5f8ff; font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-category-chip small { color: var(--self-kw-muted); font-size: 10px; }
#app:has(.self-kw-stat-grid) .self-kw-category-chip.is-low { border-color: #efd2a4; color: #85520c; background: #fff9ed; }
#app:has(.self-kw-stat-grid) .self-kw-category-chip.is-high { border-color: #efb3af; color: #963b36; background: #fff4f3; }
#app:has(.self-kw-stat-grid) .self-kw-heartbeat .data-table { margin: 0 12px 12px; width: calc(100% - 24px); min-width: 520px; border: 1px solid var(--self-kw-line); border-radius: 9px; overflow: hidden; }
#app:has(.self-kw-stat-grid) .self-kw-heartbeat .data-table th { padding: 11px 10px; color: #627596; background: #f4f7ff; font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-heartbeat .data-table td { padding: 11px 10px; color: var(--self-kw-text); font-size: 12px; }

#app:has(.self-kw-stat-grid) .self-kw-rules-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 22px 20px; }
#app:has(.self-kw-stat-grid) .self-kw-rules-grid > div { min-height: 92px; padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-kw-stat-grid) .self-kw-rules-grid strong { color: #3454a6; font-size: 13px; }
#app:has(.self-kw-stat-grid) .self-kw-rules-grid span { margin-top: 6px; color: var(--self-kw-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-kw-stat-grid) .self-kw-action-row,
#app:has(.self-kw-stat-grid) .self-kw-result-actions,
#app:has(.self-kw-stat-grid) .self-kw-export-actions { gap: 9px; padding: 0 22px 20px; }
#app:has(.self-kw-stat-grid) .self-kw-action-row .button,
#app:has(.self-kw-stat-grid) .self-kw-result-actions .button,
#app:has(.self-kw-stat-grid) .self-kw-export-actions .button { min-height: 36px; }
#app:has(.self-kw-stat-grid) .self-kw-task-status { margin: 0 22px 20px; border-color: #f2d6a9; color: #83530e; background: #fff9ed; font-size: 12px; }
#app:has(.self-kw-stat-grid) .self-kw-feedback-form { gap: 12px; margin: 0 22px 20px; padding: 14px; border-color: #dbe4f5; background: #f8faff; }
#app:has(.self-kw-stat-grid) .self-kw-feedback-form label > span { margin-bottom: 7px; color: var(--self-kw-ink); font-size: 12px; }
#app:has(.self-kw-stat-grid) .self-kw-feedback-form textarea,
#app:has(.self-kw-stat-grid) .self-kw-export-panel textarea { width: 100%; padding: 11px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-kw-text); background: #fff; font-size: 13px; line-height: 1.6; }
#app:has(.self-kw-stat-grid) .self-kw-result-summary { margin: 0 22px 20px; padding: 12px 14px; border-color: #cbd8f4; color: #536b99; background: #f5f8ff; font-size: 12px; }
#app:has(.self-kw-stat-grid) .self-kw-result-summary strong { color: var(--self-kw-ink); }
#app:has(.self-kw-stat-grid) .self-kw-result-actions > span { color: var(--self-kw-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-kw-stat-grid) .self-kw-cleanup-grid { gap: 10px; padding: 0 22px 16px; }
#app:has(.self-kw-stat-grid) .self-kw-cleanup-grid > div { border-color: #e5ded0; background: #fffaf1; }

#app:has(.self-kw-stat-grid) .self-kw-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .6fr); gap: 12px; align-items: center; padding: 0 22px 13px; }
#app:has(.self-kw-stat-grid) .self-kw-status-filters,
#app:has(.self-kw-stat-grid) .self-kw-category-filters { gap: 7px; }
#app:has(.self-kw-stat-grid) .self-kw-status-filters .filter-pill,
#app:has(.self-kw-stat-grid) .self-kw-category-filters .filter-pill { min-height: 34px; padding: 0 11px; border: 1px solid #d6dfef; border-radius: 8px; color: #607396; background: #fff; font-size: 12px; font-weight: 700; }
#app:has(.self-kw-stat-grid) .self-kw-status-filters .filter-pill:hover,
#app:has(.self-kw-stat-grid) .self-kw-category-filters .filter-pill:hover { border-color: #9eb3ef; color: var(--self-kw-blue); background: #f6f8ff; }
#app:has(.self-kw-stat-grid) .self-kw-status-filters .filter-pill.active,
#app:has(.self-kw-stat-grid) .self-kw-category-filters .filter-pill.active { border-color: #9eb3ef; color: var(--self-kw-blue-dark); background: #edf2ff; }
#app:has(.self-kw-stat-grid) .self-kw-status-filters .filter-pill span,
#app:has(.self-kw-stat-grid) .self-kw-category-filters .filter-pill span { color: var(--self-kw-faint); }
#app:has(.self-kw-stat-grid) .self-kw-search input { width: 100%; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid #cfd9ec; border-radius: 8px; color: var(--self-kw-text); background: #fff; font-size: 13px; }
#app:has(.self-kw-stat-grid) .self-kw-search input:focus { border-color: var(--self-kw-blue); outline: 3px solid rgba(49, 91, 234, .12); }
#app:has(.self-kw-stat-grid) .self-kw-category-filters { padding: 0 22px 15px; border-bottom: 1px solid var(--self-kw-line); }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap { overflow-x: auto; margin: 0 12px; border: 1px solid var(--self-kw-line); border-radius: 9px; }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap .data-table { width: 100%; min-width: 1020px; border-collapse: collapse; color: var(--self-kw-text); font-size: 13px; }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap .data-table th { padding: 12px 13px; border-bottom: 1px solid var(--self-kw-line); color: #627596; background: #f4f7ff; font-size: 11px; font-weight: 800; text-align: left; white-space: nowrap; }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap .data-table td { min-height: 62px; padding: 13px; border-bottom: 1px solid #e8edf5; vertical-align: middle; line-height: 1.5; }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap .data-table tbody tr:hover { background: #f8faff; }
#app:has(.self-kw-stat-grid) .self-kw-table-wrap .data-table tr.is-unscored { opacity: .72; }
#app:has(.self-kw-stat-grid) .self-kw-check-cell { width: 48px; }
#app:has(.self-kw-stat-grid) .self-kw-keyword-cell { min-width: 260px; gap: 5px; }
#app:has(.self-kw-stat-grid) .self-kw-keyword-cell strong { color: var(--self-kw-ink); font-size: 14px; line-height: 1.45; }
#app:has(.self-kw-stat-grid) .self-kw-keyword-cell small { color: var(--self-kw-muted); font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-gold-score { color: #a86e16; font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-unscored { color: #a86e16; font-weight: 700; }
#app:has(.self-kw-stat-grid) .self-kw-status { color: #71809b; font-size: 12px; }
#app:has(.self-kw-stat-grid) .self-kw-status.exported { color: #187d68; font-weight: 700; }
#app:has(.self-kw-stat-grid) .self-kw-audit { display: block; margin-top: 4px; color: #b56e13; font-size: 11px; }
#app:has(.self-kw-stat-grid) .self-kw-table-footer { padding: 14px 22px 17px; color: var(--self-kw-faint); font-size: 11px; line-height: 1.5; }
#app:has(.self-kw-stat-grid) .self-kw-audit-badges { display: flex; gap: 6px; flex-wrap: wrap; }

@media (max-width: 1180px) {
  #app:has(.self-kw-stat-grid) .self-kw-pool-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  #app:has(.self-kw-stat-grid) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.self-kw-stat-grid) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.self-kw-stat-grid) .self-kw-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-kw-stat-grid) .self-kw-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-kw-stat-grid) .self-kw-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app:has(.self-kw-stat-grid) .page-heading h1 { font-size: 28px; }
  #app:has(.self-kw-stat-grid) .self-kw-stat-grid { gap: 10px; }
  #app:has(.self-kw-stat-grid) .self-kw-stat-card { min-height: 120px; padding: 14px; }
  #app:has(.self-kw-stat-grid) .self-kw-rules-grid { grid-template-columns: 1fr; }
  #app:has(.self-kw-stat-grid) .self-kw-category-filters { overflow-x: auto; flex-wrap: nowrap; }
  #app:has(.self-kw-stat-grid) .self-kw-category-filters .filter-pill { flex: 0 0 auto; }
  #app:has(.self-kw-stat-grid) .self-kw-action-row,
  #app:has(.self-kw-stat-grid) .self-kw-result-actions,
  #app:has(.self-kw-stat-grid) .self-kw-export-actions { align-items: stretch; flex-direction: column; }
  #app:has(.self-kw-stat-grid) .self-kw-action-row .button,
  #app:has(.self-kw-stat-grid) .self-kw-result-actions .button,
  #app:has(.self-kw-stat-grid) .self-kw-export-actions .button { width: 100%; }
}

/* 内容总览：自营内容计划与生产的蓝靛色运营首页 */
#app:has(.self-content-overview-hero) {
  --self-content-ink: #182338;
  --self-content-text: #30415f;
  --self-content-muted: #71809b;
  --self-content-faint: #8995aa;
  --self-content-line: #dce3ee;
  --self-content-blue: #315bea;
  --self-content-blue-dark: #2447c3;
  --self-content-purple: #7658df;
  --self-content-green: #1fa78a;
  --self-content-orange: #d28b22;
}
#app:has(.self-content-overview-hero) .page-heading { align-items: flex-end; margin-bottom: 22px; }
#app:has(.self-content-overview-hero) .page-heading h1 { color: var(--self-content-ink); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.12; }
#app:has(.self-content-overview-hero) .page-heading p { max-width: 760px; margin-top: 8px; color: var(--self-content-muted); font-size: 14px; line-height: 1.65; }
#app:has(.self-content-overview-hero) .page-heading-actions { gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
#app:has(.self-content-overview-hero) .button { min-height: 38px; border-radius: 9px; font-size: 13px; font-weight: 700; }
#app:has(.self-content-overview-hero) .button-primary { border-color: var(--self-content-blue); background: var(--self-content-blue); box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.self-content-overview-hero) .button-primary:hover { background: var(--self-content-blue-dark); }
#app:has(.self-content-overview-hero) .button-secondary { border-color: #cfd9ec; color: #35517f; background: #fff; }
#app:has(.self-content-overview-hero) .button-secondary:hover { border-color: #9eb3ef; color: var(--self-content-blue-dark); background: #f6f8ff; }

#app:has(.self-content-overview-hero) .self-content-overview-hero { min-height: 178px; margin-bottom: 20px; padding: 27px 30px; border: 1px solid #b8c8f1; border-radius: 14px; background: radial-gradient(circle at 84% 12%, rgba(107, 140, 255, .3), transparent 28%), linear-gradient(120deg, #172d61 0%, #24458d 62%, #3d5db1 100%); box-shadow: 0 16px 42px rgba(36, 64, 133, .18); }
#app:has(.self-content-overview-hero) .self-content-overview-hero::after { border-color: rgba(181, 198, 255, .4); box-shadow: 0 0 0 26px rgba(181, 198, 255, .08), 0 0 0 52px rgba(181, 198, 255, .04); }
#app:has(.self-content-overview-hero) .self-content-overview-hero::before { background: linear-gradient(90deg, transparent 0%, rgba(119, 159, 255, .04) 49.8%, rgba(119, 159, 255, .2) 50%, rgba(119, 159, 255, .04) 50.2%, transparent 100%); }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-copy { max-width: 670px; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-copy h2 { color: #f6f8ff; font-size: 23px; line-height: 1.35; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-copy p { margin-top: 10px; color: #d5e0ff; font-size: 13px; line-height: 1.7; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .self-badge { color: #d8e3ff; background: rgba(255, 255, 255, .12); font-size: 11px; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .self-badge::before { background: #aebfff; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-progress { min-width: 245px; gap: 14px; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .progress-ring { background: conic-gradient(#9eb3ff 0 64%, rgba(255,255,255,.16) 64% 100%); }
#app:has(.self-content-overview-hero) .self-content-overview-hero .progress-ring::before { background: #213f83; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .progress-ring strong { color: #d9e3ff; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-progress-copy strong { color: #f6f8ff; font-size: 14px; }
#app:has(.self-content-overview-hero) .self-content-overview-hero .hero-progress-copy span { margin-top: 6px; color: #c9d6f7; font-size: 12px; line-height: 1.5; }

#app:has(.self-content-overview-hero) > .stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card { min-height: 133px; padding: 17px 18px 15px; border: 1px solid var(--self-content-line); border-top: 3px solid var(--self-content-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .045); }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(2) { border-top-color: var(--self-content-orange); }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(3) { border-top-color: var(--self-content-purple); }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(4) { border-top-color: var(--self-content-green); }
#app:has(.self-content-overview-hero) > .stat-grid .stat-top { color: var(--self-content-muted); font-size: 12px; font-weight: 700; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-icon { color: var(--self-content-blue); background: #edf2ff; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(2) .stat-icon { color: #b56e13; background: #fff4df; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(3) .stat-icon { color: #694bd2; background: #f0ecff; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-card:nth-child(4) .stat-icon { color: #159277; background: #e8f7f2; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-value { margin-top: 12px; color: #253b68; font-family: inherit; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app:has(.self-content-overview-hero) > .stat-grid .stat-meta { margin-top: 9px; color: var(--self-content-faint); font-size: 12px; line-height: 1.45; }

#app:has(.self-content-overview-hero) .self-focus-grid { grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr); gap: 16px; }
#app:has(.self-content-overview-hero) .self-callout,
#app:has(.self-content-overview-hero) .self-focus-grid > .panel { min-width: 0; border: 1px solid var(--self-content-line); border-top: 3px solid var(--self-content-blue); border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(35, 57, 100, .04); }
#app:has(.self-content-overview-hero) .self-callout { padding: 22px; }
#app:has(.self-content-overview-hero) .self-callout .self-badge { margin-bottom: 12px; color: #4f63ac; background: #edf2ff; font-size: 11px; }
#app:has(.self-content-overview-hero) .self-callout .self-badge::before { background: var(--self-content-blue); }
#app:has(.self-content-overview-hero) .self-callout h3 { color: var(--self-content-ink); font-size: 20px; line-height: 1.35; }
#app:has(.self-content-overview-hero) .self-callout p { max-width: 680px; margin-top: 9px; color: var(--self-content-muted); font-size: 13px; line-height: 1.7; }
#app:has(.self-content-overview-hero) .self-task-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
#app:has(.self-content-overview-hero) .self-task { padding: 13px; border: 1px solid #dbe4f5; border-radius: 9px; background: #f8faff; }
#app:has(.self-content-overview-hero) .self-task strong { color: var(--self-content-ink); font-size: 13px; }
#app:has(.self-content-overview-hero) .self-task span { margin-top: 6px; color: var(--self-content-muted); font-size: 12px; }
#app:has(.self-content-overview-hero) .self-content-primary-action { margin-top: 20px; }
#app:has(.self-content-overview-hero) .self-focus-grid > .panel { border-top-color: var(--self-content-purple); }
#app:has(.self-content-overview-hero) .self-focus-grid > .panel .panel-header { align-items: flex-start; padding: 20px 22px 12px; }
#app:has(.self-content-overview-hero) .self-focus-grid > .panel .panel-header h3 { color: var(--self-content-ink); font-size: 17px; }
#app:has(.self-content-overview-hero) .self-focus-grid > .panel .panel-header p { margin-top: 5px; color: var(--self-content-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-list { gap: 4px; padding: 4px 12px 15px; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-item { min-height: 64px; padding: 13px 11px; border: 1px solid transparent; border-radius: 9px; background: transparent; text-align: left; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-item:hover { border-color: #d5deff; background: #f7f9ff; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-index { width: 30px; height: 30px; flex: 0 0 30px; color: var(--self-content-blue); background: #edf2ff; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-index.done { color: #fff; background: var(--self-content-green); }
#app:has(.self-content-overview-hero) .self-focus-grid .task-content strong { color: var(--self-content-ink); font-size: 13px; }
#app:has(.self-content-overview-hero) .self-focus-grid .task-content span { margin-top: 4px; color: var(--self-content-muted); font-size: 12px; }

@media (max-width: 1180px) {
  #app:has(.self-content-overview-hero) .self-focus-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  #app:has(.self-content-overview-hero) .page-heading { align-items: flex-start; flex-direction: column; }
  #app:has(.self-content-overview-hero) .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app:has(.self-content-overview-hero) > .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.self-content-overview-hero) .self-content-overview-hero { align-items: flex-start; flex-direction: column; }
  #app:has(.self-content-overview-hero) .self-content-overview-hero .hero-progress { width: 100%; }
}
@media (max-width: 650px) {
  #app:has(.self-content-overview-hero) .page-heading h1 { font-size: 28px; }
  #app:has(.self-content-overview-hero) .self-content-overview-hero { padding: 22px; }
  #app:has(.self-content-overview-hero) .self-content-overview-hero .hero-copy h2 { font-size: 20px; }
  #app:has(.self-content-overview-hero) .self-content-overview-hero .hero-progress { min-width: 0; }
  #app:has(.self-content-overview-hero) > .stat-grid { gap: 10px; }
  #app:has(.self-content-overview-hero) > .stat-grid .stat-card { min-height: 120px; padding: 14px; }
  #app:has(.self-content-overview-hero) .self-task-grid { grid-template-columns: 1fr; }
  #app:has(.self-content-overview-hero) .self-callout { padding: 18px; }
}

/* Help center: clear, bright and task-oriented information architecture. */
.app-shell .help-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 28px;
  align-items: center;
  min-height: 210px;
  margin-bottom: 18px;
  padding: 28px 32px;
  border: 1px solid #cfe3d8;
  border-radius: 16px;
  background: linear-gradient(115deg, #eff9f4 0%, #f8fbff 54%, #edf4ff 100%);
  box-shadow: 0 10px 26px rgba(30, 81, 61, .06);
}

.app-shell .help-hero-copy h2 {
  margin: 5px 0 9px;
  color: var(--ink);
  font-size: clamp(22px, 3vw, 31px);
  letter-spacing: -.04em;
}

.app-shell .help-hero-copy > p:not(.eyebrow) {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.app-shell .help-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 18px;
  color: #648177;
  font-size: 10px;
  font-weight: 700;
}

.app-shell .help-hero-meta b {
  margin-right: 3px;
  color: var(--brand);
  font-size: 15px;
}

.app-shell .help-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 15px;
  border: 1px solid #b9d6c7;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 20px rgba(32, 83, 64, .08);
}

.app-shell .help-search > span {
  color: var(--brand);
  font-size: 20px;
  line-height: 1;
}

.app-shell .help-search input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font-size: 13px;
  font-weight: 700;
}

.app-shell .help-search input::placeholder {
  color: #789188;
  font-weight: 600;
}

.app-shell .help-search kbd {
  flex: none;
  padding: 4px 7px;
  border: 1px solid #d6e5dc;
  border-radius: 5px;
  color: #789188;
  background: #f7fbf8;
  font-size: 9px;
  font-family: inherit;
}

.app-shell .help-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 16px;
  padding: 5px;
  border: 1px solid #d4e5dc;
  border-radius: 11px;
  background: #f5faf7;
}

.app-shell .help-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: #6b8077;
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.app-shell .help-tabs button:hover {
  color: var(--brand);
  background: #e9f5ee;
}

.app-shell .help-tabs button.active {
  color: #fff;
  background: var(--brand);
  box-shadow: 0 5px 12px rgba(26, 111, 78, .18);
}

.app-shell .help-tabs button span {
  display: inline-grid;
  min-width: 17px;
  height: 17px;
  place-items: center;
  padding: 0 4px;
  border-radius: 9px;
  color: var(--brand);
  background: #dcf5a0;
  font-size: 9px;
}

.app-shell .help-tabs button.active span {
  color: #fff;
  background: rgba(255, 255, 255, .2);
}

.app-shell .help-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.app-shell .help-category-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  min-height: 102px;
  padding: 15px;
  border: 1px solid #d1e3d9;
  border-radius: 12px;
  color: var(--text);
  text-align: left;
  background: #fff;
  box-shadow: 0 7px 17px rgba(35, 74, 57, .045);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.app-shell .help-category-card:hover {
  border-color: #98c7ae;
  box-shadow: 0 10px 24px rgba(35, 74, 57, .1);
  transform: translateY(-2px);
}

.app-shell .help-category-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 11px;
  color: #176a4c;
  background: #e4f4ea;
  font-size: 18px;
  font-weight: 800;
}

.app-shell .help-category-geo .help-category-icon { color: #5546af; background: #eeebff; }
.app-shell .help-category-publish .help-category-icon { color: #a75b1d; background: #fff1de; }
.app-shell .help-category-account .help-category-icon { color: #176d99; background: #e5f3fb; }
.app-shell .help-category-billing .help-category-icon { color: #8a3a82; background: #f7eafb; }

.app-shell .help-category-card > span:nth-child(2) {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.app-shell .help-category-card strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .help-category-card small {
  overflow: hidden;
  color: #72877e;
  font-size: 10px;
  line-height: 1.55;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .help-category-card em {
  color: #4a9971;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.app-shell .help-category-card > b {
  color: #83a495;
  font-size: 18px;
}

.app-shell .help-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 18px;
}

.app-shell .help-article-list {
  display: grid;
  gap: 2px;
}

.app-shell .help-article-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 33px;
  align-items: stretch;
  min-width: 0;
  border-bottom: 1px solid #edf3ef;
}

.app-shell .help-article-card:last-child {
  border-bottom: 0;
}

.app-shell .help-article-main {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 15px;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 13px 5px;
  border: 0;
  color: var(--text);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.app-shell .help-article-main:hover .help-article-copy strong {
  color: var(--brand);
}

.app-shell .help-article-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  color: #176a4c;
  background: #eaf6ee;
  font-size: 15px;
  font-weight: 800;
}

.app-shell .help-tone-geo { color: #5546af; background: #efecff; }
.app-shell .help-tone-publish { color: #a75b1d; background: #fff1df; }
.app-shell .help-tone-account { color: #176d99; background: #e5f3fb; }
.app-shell .help-tone-billing { color: #8a3a82; background: #f7eafb; }

.app-shell .help-article-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.app-shell .help-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.app-shell .help-article-meta em,
.app-shell .help-article-meta .help-read-mark {
  padding: 3px 6px;
  border-radius: 5px;
  color: #4b8e6e;
  background: #eff8f2;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.app-shell .help-article-meta .help-kind-rule { color: #5b4aa8; background: #f0edff; }
.app-shell .help-article-meta .help-kind-faq { color: #9c5d1e; background: #fff3e5; }
.app-shell .help-article-meta .help-read-mark { color: #216e9c; background: #eaf5fb; }

.app-shell .help-article-copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .help-article-copy small {
  overflow: hidden;
  color: #72877e;
  font-size: 10px;
  line-height: 1.55;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .help-article-date {
  color: #9aaea5;
  font-size: 9px;
}

.app-shell .help-article-arrow {
  color: #88a295;
  font-size: 18px;
}

.app-shell .help-favorite {
  align-self: center;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: 7px;
  color: #8ba095;
  background: transparent;
  font-size: 16px;
  cursor: pointer;
}

.app-shell .help-favorite:hover,
.app-shell .help-favorite.is-favorite {
  color: #dc9d2d;
  background: #fff7e7;
}

.app-shell .help-tab-panel,
.app-shell .help-feedback-history {
  min-width: 0;
}

.app-shell .help-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  min-height: 43px;
  margin: 2px 0 10px;
  padding: 8px 0;
  border-top: 1px solid #eef3f0;
  border-bottom: 1px solid #eef3f0;
}

.app-shell .help-category-select {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6d8279;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .help-category-select select {
  min-height: 31px;
  padding: 0 28px 0 9px;
  border: 1px solid #cbded3;
  border-radius: 7px;
  color: var(--ink);
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .help-filterbar > .subtle-note {
  margin-left: auto;
}

.app-shell .button-ghost {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #d2e3d9;
  border-radius: 7px;
  color: #638176;
  background: #f8fbf9;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.app-shell .help-faq-list {
  display: grid;
  gap: 8px;
}

.app-shell .help-faq-row {
  border: 1px solid #e1ece5;
  border-radius: 9px;
  background: #fff;
}

.app-shell .help-faq-row.is-open {
  border-color: #b9dac5;
  background: #fbfefc;
}

.app-shell .help-faq-row > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
  min-height: 49px;
  padding: 0 13px;
  border: 0;
  color: var(--ink);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.app-shell .help-faq-row > button strong {
  font-size: 11px;
}

.app-shell .help-faq-row > button span {
  color: var(--brand);
  font-size: 18px;
  font-weight: 400;
}

.app-shell .help-faq-answer {
  padding: 0 13px 14px;
  color: #6b8177;
  font-size: 11px;
  line-height: 1.8;
}

.app-shell .help-empty {
  display: grid;
  place-items: center;
  min-height: 190px;
  padding: 30px 18px;
  color: #799087;
  text-align: center;
}

.app-shell .help-empty > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  color: #4b9271;
  background: #eaf6ee;
  font-size: 20px;
}

.app-shell .help-empty strong {
  margin-top: 10px;
  color: var(--ink);
  font-size: 12px;
}

.app-shell .help-empty p {
  margin: 6px 0 0;
  font-size: 10px;
}

.app-shell .help-empty.compact {
  min-height: 130px;
}

.app-shell .help-feedback-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 18px;
  margin-bottom: 18px;
}

.app-shell .help-panel-mark {
  align-self: flex-start;
  padding: 5px 8px;
  border: 1px solid #cfe5d8;
  border-radius: 6px;
  color: #4b8d6d;
  background: #eff9f2;
  font-size: 9px;
  font-weight: 800;
}

.app-shell .help-feedback-empty {
  display: grid;
  justify-items: start;
  gap: 7px;
  padding: 26px 7px 12px;
}

.app-shell .help-feedback-empty-icon {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border-radius: 11px;
  color: #4b5ab6;
  background: #eeefff;
  font-size: 20px;
}

.app-shell .help-feedback-empty strong {
  color: var(--ink);
  font-size: 14px;
}

.app-shell .help-feedback-empty p {
  margin: 0 0 6px;
  color: #738980;
  font-size: 11px;
  line-height: 1.7;
}

.app-shell .help-feedback-form {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}

.app-shell .help-feedback-form label {
  display: grid;
  gap: 7px;
  color: #567266;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .help-feedback-form select,
.app-shell .help-feedback-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cbded3;
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 11px;
  outline: 0;
}

.app-shell .help-feedback-form select {
  min-height: 36px;
  padding: 0 9px;
}

.app-shell .help-feedback-form textarea {
  min-height: 125px;
  padding: 10px;
  resize: vertical;
  line-height: 1.7;
}

.app-shell .help-feedback-form select:focus,
.app-shell .help-feedback-form textarea:focus {
  border-color: #82b998;
  box-shadow: 0 0 0 3px rgba(111, 176, 137, .12);
}

.app-shell .help-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}

.app-shell .help-feedback-guide ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 3px 0 0 22px;
}

.app-shell .help-feedback-guide li {
  padding-left: 4px;
  color: #618074;
}

.app-shell .help-feedback-guide li::marker {
  color: var(--brand);
  font-weight: 900;
}

.app-shell .help-feedback-guide li strong,
.app-shell .help-feedback-guide li span {
  display: block;
}

.app-shell .help-feedback-guide li strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .help-feedback-guide li span {
  margin-top: 4px;
  color: #789087;
  font-size: 10px;
  line-height: 1.5;
}

.app-shell .help-feedback-list {
  display: grid;
  gap: 0;
}

.app-shell .help-feedback-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 3px;
  border-bottom: 1px solid #edf3ef;
}

.app-shell .help-feedback-row:last-child { border-bottom: 0; }
.app-shell .help-feedback-row > div:first-child { display: grid; gap: 5px; min-width: 0; }
.app-shell .help-feedback-row > div:last-child { display: grid; flex: none; justify-items: end; gap: 5px; }
.app-shell .help-feedback-row strong { color: var(--ink); font-size: 11px; }
.app-shell .help-feedback-row span { overflow: hidden; max-width: 650px; color: #748980; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .help-feedback-row em { padding: 3px 6px; border-radius: 5px; color: #4d8e6d; background: #eff8f2; font-size: 9px; font-style: normal; font-weight: 800; }
.app-shell .help-feedback-row small { color: #9aada5; font-size: 9px; }

.app-shell .help-modal-overlay {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(19, 43, 33, .32);
  backdrop-filter: blur(3px);
}

.app-shell .help-modal {
  position: relative;
  width: min(650px, 100%);
  max-height: min(700px, calc(100vh - 48px));
  overflow: auto;
  padding: 30px;
  border: 1px solid #cfe3d7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(23, 67, 49, .2);
}

.app-shell .help-modal-close {
  position: absolute;
  top: 14px;
  right: 15px;
  width: 29px;
  height: 29px;
  border: 0;
  border-radius: 50%;
  color: #6d8278;
  background: #f1f7f3;
  font-size: 19px;
  cursor: pointer;
}

.app-shell .help-modal-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #678278;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .help-modal-eyebrow .help-article-icon {
  width: 31px;
  height: 31px;
  border-radius: 8px;
}

.app-shell .help-modal h2 {
  margin: 18px 0 8px;
  color: var(--ink);
  font-size: 21px;
  letter-spacing: -.03em;
}

.app-shell .help-modal-summary {
  margin: 0;
  color: #6f877c;
  font-size: 11px;
  line-height: 1.75;
}

.app-shell .help-modal-content {
  margin-top: 21px;
  padding: 17px;
  border-left: 3px solid #98c9aa;
  border-radius: 0 9px 9px 0;
  color: #3f5e50;
  background: #f5faf7;
  font-size: 12px;
  line-height: 1.9;
}

.app-shell .help-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 23px;
  padding-top: 16px;
  border-top: 1px solid #edf3ef;
}

.app-shell .help-support-icon {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: var(--brand);
  font-size: 18px;
  font-weight: 900;
}

.app-shell .help-support-options {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.app-shell .help-support-options > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #e2ece6;
  border-radius: 9px;
  background: #fbfdfb;
}

.app-shell .help-support-options strong { color: var(--ink); font-size: 11px; }
.app-shell .help-support-options span { color: #748a80; font-size: 10px; line-height: 1.5; }

@media (max-width: 980px) {
  .app-shell .help-hero,
  .app-shell .help-home-grid,
  .app-shell .help-feedback-layout {
    grid-template-columns: 1fr;
  }

  .app-shell .help-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .app-shell .help-hero {
    padding: 22px 18px;
  }

  .app-shell .help-tabs {
    overflow-x: auto;
  }

  .app-shell .help-tabs button {
    flex: none;
    padding: 0 12px;
  }

  .app-shell .help-category-grid {
    grid-template-columns: 1fr;
  }

  .app-shell .help-modal-overlay {
    padding: 12px;
  }

  .app-shell .help-modal {
    padding: 23px 17px;
  }

  .app-shell .help-feedback-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .app-shell .help-feedback-row > div:last-child {
    align-items: flex-start;
    justify-items: start;
  }

  .app-shell .help-feedback-row span {
    max-width: 100%;
    white-space: normal;
  }
}

/* 自营网站文章：对齐 VGE 的“生成 · 预览 · 发布”操作密度，同时把本地规则和质检状态保留在页面内。 */
#app .self-article-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-article-stat-card { min-height: 112px; }
#app .self-article-stat-card:nth-child(2) .stat-value { color: #a8681d; }
#app .self-article-stat-card:nth-child(3) .stat-value { color: #2d8a5c; }
#app .self-article-stat-card:nth-child(4) .stat-value { color: #b55543; }
#app .self-article-rules-panel,
#app .self-article-generate-panel,
#app .self-article-list-panel { margin-bottom: 18px; }
#app .self-article-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#app .self-article-rules-grid > div { display: grid; gap: 5px; min-height: 90px; padding: 13px 14px; border: 1px solid #dcebe0; border-radius: 10px; background: #f9fdf9; }
#app .self-article-rules-grid strong { color: #275c40; font-size: 13px; }
#app .self-article-rules-grid span { color: #668273; font-size: 12px; line-height: 1.65; }
#app .self-article-count-note { color: #72897b; font-size: 12px; font-weight: 700; }
#app .self-article-generate-rule { display: flex; gap: 11px; align-items: flex-start; margin: 16px 0 0; padding: 12px 14px; border: 1px solid #d6e8f1; border-radius: 10px; color: #466b7d; background: #f4fbff; font-size: 12px; line-height: 1.65; }
#app .self-article-generate-rule strong { flex: 0 0 auto; color: #2d6c8b; }
#app .self-article-generate-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-top: 17px; }
#app .self-article-generate-fields .field { min-width: 0; }
#app .self-article-image-option { display: flex; gap: 8px; align-items: center; align-self: end; min-height: 42px; color: #496c59; font-size: 12px; font-weight: 700; }
#app .self-article-image-option input { accent-color: #358e62; }
#app .self-article-generate-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-article-toolbar { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 15px 0; border-top: 1px solid #e0ece3; border-bottom: 1px solid #e0ece3; }
#app .self-article-filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#app .self-article-search { display: flex; min-width: min(340px, 100%); }
#app .self-article-search input { width: 100%; min-height: 38px; padding: 8px 12px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 13px; }
#app .self-article-list { display: grid; gap: 10px; padding-top: 16px; }
#app .self-article-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 17px; border: 1px solid #d9e8dc; border-radius: 10px; background: #fbfefc; transition: border-color .18s ease, box-shadow .18s ease; }
#app .self-article-row:hover { border-color: #8fc3a0; box-shadow: 0 8px 18px rgba(37, 91, 59, .06); }
#app .self-article-row.is-published { background: #fbfffc; }
#app .self-article-copy { min-width: 0; }
#app .self-article-copy h3 { margin: 0; color: #244d38; font-size: 15px; font-weight: 800; line-height: 1.55; }
#app .self-article-meta { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 7px; color: #779081; font-size: 11px; line-height: 1.45; }
#app .self-article-quality { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 10px; }
#app .self-article-flag { display: inline-flex; align-items: center; padding: 3px 7px; border: 1px solid transparent; border-radius: 5px; font-size: 10px; font-weight: 800; line-height: 1.4; }
#app .self-article-flag.success { color: #287449; border-color: #b8ddc1; background: #edf9f0; }
#app .self-article-flag.warning { color: #98611b; border-color: #efd2a1; background: #fff8ea; }
#app .self-article-flag.danger { color: #a7473a; border-color: #edc1bb; background: #fff2f0; }
#app .self-article-flag.info { color: #2b6c8c; border-color: #b8dce9; background: #effaff; }
#app .self-article-image-link { padding: 3px 7px; border: 1px solid #9bd2e4; border-radius: 5px; color: #28789c; background: #f3fbff; font-size: 10px; font-weight: 800; cursor: pointer; }
#app .self-article-image-link:hover { background: #e5f7fd; }
#app .self-article-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
#app .self-article-published-link { text-decoration: none; }
#app .self-article-empty { display: grid; gap: 6px; place-items: center; min-height: 160px; color: #718b7c; text-align: center; }
#app .self-article-empty strong { color: #315e43; font-size: 14px; }
#app .self-article-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; color: #718879; font-size: 11px; }
#app .self-article-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .38); }
#app .self-article-modal { position: relative; width: min(880px, 100%); max-height: min(88vh, 820px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .self-article-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .self-article-modal h2 { max-width: calc(100% - 42px); margin: 6px 0 15px; color: #214b35; font-size: 24px; line-height: 1.4; }
#app .self-article-preview-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #648172; font-size: 11px; }
#app .self-article-preview-meta span { padding: 4px 7px; border: 1px solid #d8e9dc; border-radius: 5px; background: #f7fcf8; }
#app .self-article-summary { margin: 17px 0 0; padding: 13px 15px; border-left: 3px solid #53a16d; color: #466a54; background: #f3faf4; font-size: 14px; line-height: 1.8; }
#app .self-article-preview-content { margin-top: 17px; color: #355b43; font-size: 14px; line-height: 2; }
#app .self-article-preview-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
#app .self-article-preview-facts > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #dfebe2; border-radius: 8px; background: #fbfefc; }
#app .self-article-preview-facts span { color: #789183; font-size: 11px; }
#app .self-article-preview-facts strong { color: #315d42; font-size: 12px; overflow-wrap: anywhere; }
#app .self-article-edit-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
#app .self-article-field-wide { grid-column: 1 / -1; }
#app .self-article-edit-fields textarea { min-height: 88px; resize: vertical; }
#app .self-article-edit-fields .self-article-field-wide textarea { min-height: 280px; }
#app .self-article-modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 18px; margin-top: 19px; border-top: 1px solid #e0ebe3; }

@media (max-width: 980px) {
  #app .self-article-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-article-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-article-generate-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-article-preview-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  #app .self-article-stat-grid,
  #app .self-article-rules-grid,
  #app .self-article-generate-fields,
  #app .self-article-edit-fields,
  #app .self-article-preview-facts { grid-template-columns: 1fr; }
  #app .self-article-toolbar { align-items: stretch; flex-direction: column; }
  #app .self-article-search { min-width: 0; }
  #app .self-article-row { grid-template-columns: 1fr; }
  #app .self-article-actions { justify-content: flex-start; }
  #app .self-article-footer { align-items: flex-start; flex-direction: column; }
  #app .self-article-modal-overlay { padding: 10px; }
  #app .self-article-modal { padding: 20px 15px; }
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--paper); overflow-x: hidden; scrollbar-width: thin; scrollbar-color: transparent transparent; }

body { margin: 0; min-height: 100vh; overflow-x: hidden; background: var(--paper); scrollbar-width: thin; scrollbar-color: transparent transparent; }

html::-webkit-scrollbar, body::-webkit-scrollbar { width: 8px; height: 8px; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background: transparent; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: transparent; }
html.is-scrolling, body.is-scrolling { scrollbar-color: rgba(38, 112, 82, .58) #e4eee7; }
html.is-scrolling::-webkit-scrollbar-track, body.is-scrolling::-webkit-scrollbar-track { background: #e4eee7; }
html.is-scrolling::-webkit-scrollbar-thumb, body.is-scrolling::-webkit-scrollbar-thumb { border-color: #e4eee7; background: rgba(38, 112, 82, .58); }
html.is-scrolling::-webkit-scrollbar-thumb:hover, body.is-scrolling::-webkit-scrollbar-thumb:hover { background: var(--brand); }

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

button { cursor: pointer; }

button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid rgba(216, 242, 74, 0.78);
  outline-offset: 2px;
}

.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; width: var(--sidebar-width); flex-direction: column;
  padding: 24px 14px 16px; color: #dce9e0; background: var(--ink); overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: transparent transparent;
}

.sidebar::-webkit-scrollbar { width: 7px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: transparent; background-clip: padding-box; }
.sidebar.is-scrolling { scrollbar-color: rgba(188, 233, 94, .55) rgba(255, 255, 255, .06); }
.sidebar.is-scrolling::-webkit-scrollbar-track { background: rgba(255, 255, 255, .045); }
.sidebar.is-scrolling::-webkit-scrollbar-thumb { background: rgba(188, 233, 94, .48); background-clip: padding-box; }
.sidebar.is-scrolling::-webkit-scrollbar-thumb:hover { background: var(--accent); background-clip: padding-box; }

.brand-lockup { position: relative; display: flex; align-items: center; gap: 10px; padding: 0 10px 25px; }
.brand-lockup strong { display: block; color: #fff; font-size: 15px; letter-spacing: .04em; }
.brand-lockup span:not(.prototype-label) { display: block; margin-top: 3px; color: #9eb5a9; font-size: 11px; }
.brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(216,242,74,.34); border-radius: 10px; color: var(--accent); background: rgba(216,242,74,.1); font-size: 11px; font-weight: 800; letter-spacing: -.05em; }
.prototype-label { position: absolute; top: -15px; right: 8px; color: rgba(216,242,74,.65); font-size: 8px; letter-spacing: .12em; }

.workspace-switch { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px; border: 1px solid rgba(218, 239, 225, .15); border-radius: var(--radius-md); color: #fff; background: rgba(255,255,255,.06); text-align: left; }
.workspace-switch:hover { border-color: rgba(216,242,74,.45); background: rgba(255,255,255,.1); }
.workspace-dot, .menu-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(216,242,74,.12); }
.workspace-switch-copy { min-width: 0; flex: 1; }
.workspace-switch-copy small { display: block; color: #8fa89a; font-size: 10px; }
.workspace-switch-copy strong { display: block; margin-top: 2px; overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.chevron { color: #9eb5a9; font-size: 16px; line-height: 1; }
.workspace-menu { position: absolute; top: 123px; left: 14px; right: 14px; z-index: 30; padding: 6px; border: 1px solid #cfded3; border-radius: 12px; background: #fff; box-shadow: var(--shadow-md); }
.workspace-menu button { display: flex; width: 100%; align-items: center; gap: 9px; padding: 9px; border: 0; border-radius: 8px; color: var(--text); background: transparent; text-align: left; font-size: 12px; }
.workspace-menu button:hover { background: var(--brand-light); }
.menu-dot { width: 7px; height: 7px; box-shadow: none; }
.tenant-dot { background: var(--brand); }
.admin-dot { background: var(--orange); }
.self-dot { background: var(--blue); }

.side-nav { display: flex; flex: 1; flex-direction: column; gap: 19px; margin-top: 25px; }
.nav-group-title { padding: 0 11px 6px; color: #718e80; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.nav-list { display: grid; gap: 3px; }
.nav-item { display: flex; width: 100%; align-items: center; gap: 10px; padding: 9px 11px; border: 0; border-radius: 9px; color: #afc5b8; background: transparent; text-align: left; font-size: 12px; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-item.active { color: var(--ink); background: var(--accent); font-weight: 700; }
.nav-icon { display: grid; width: 17px; place-items: center; color: currentColor; font-size: 14px; opacity: .92; }
.nav-item-label { flex: 1; }
.nav-badge { min-width: 18px; padding: 2px 5px; border-radius: 10px; color: var(--ink); background: rgba(216,242,74,.9); font-size: 9px; text-align: center; }
.nav-item.active .nav-badge { color: var(--accent); background: var(--ink); }

.sidebar-bottom { position: relative; display: grid; gap: 13px; margin-top: 22px; }
.profile-mini { display: flex; width: 100%; align-items: center; gap: 9px; padding: 11px 8px 0; border: 0; border-top: 1px solid rgba(255,255,255,.1); color: inherit; background: transparent; text-align: left; cursor: pointer; }
.profile-mini:hover { background: rgba(255,255,255,.05); }
.profile-mini strong, .profile-mini span { display: block; }
.profile-mini strong { color: #edf7ef; font-size: 11px; }
.profile-mini span { margin-top: 2px; color: #819c8e; font-size: 9px; }
.profile-mini > .profile-copy { flex: 1; }

.avatar { display: grid; width: 29px; height: 29px; flex: 0 0 29px; place-items: center; border-radius: 9px; color: var(--brand); background: var(--accent); font-size: 12px; font-weight: 800; }
.avatar-small { width: 28px; height: 28px; flex-basis: 28px; border-radius: 50%; color: #fff; background: var(--brand); font-size: 11px; }
.icon-button { display: inline-grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 8px; color: var(--muted); background: transparent; }
.icon-button:hover { color: var(--brand); background: var(--brand-light); }
.profile-more { margin-left: auto; color: #779286; letter-spacing: .08em; }

.main-content { grid-column: 2; min-width: 0; }
.topbar { display: flex; position: sticky; top: 0; z-index: 10; height: var(--topbar-height); align-items: center; justify-content: space-between; padding: 0 34px; border-bottom: 1px solid rgba(223,231,223,.85); background: rgba(246,248,243,.9); backdrop-filter: blur(14px); }
.topbar-left, .topbar-right, .breadcrumbs, .topbar-user { display: flex; align-items: center; }
.topbar-left { gap: 15px; }
.breadcrumbs { gap: 9px; color: var(--faint); font-size: 12px; }
.breadcrumbs strong { color: var(--text); font-weight: 600; }
.topbar-right { gap: 13px; }
.save-state { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }
.status-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(28,85,68,.1); }
.topbar-action { border: 0; color: var(--muted); background: transparent; font-size: 11px; }
.topbar-action:hover { color: var(--brand); }
.topbar-count { display: inline-grid; min-width: 18px; height: 18px; margin-left: 4px; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-light); font-size: 9px; font-weight: 700; }
.notification-button { position: relative; font-size: 17px; }
.notification-button i { position: absolute; top: 6px; right: 5px; width: 5px; height: 5px; border: 1px solid var(--paper); border-radius: 50%; background: var(--orange); }
.topbar-divider { width: 1px; height: 23px; background: var(--line); }
.topbar-user { gap: 7px; color: var(--text); font-size: 11px; }
.topbar-account { position: relative; }
.topbar-user { padding: 4px 6px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; }
.topbar-user:hover { background: var(--brand-light); }
.account-menu { position: absolute; z-index: 100; width: 254px; overflow: hidden; border: 1px solid #c9ddd0; border-radius: 13px; background: #fff; box-shadow: 0 18px 48px rgba(28, 76, 51, .18); }
.topbar-account-menu { top: calc(100% + 10px); right: 0; }
.sidebar-account-menu { bottom: calc(100% + 10px); left: 0; }
.account-menu-heading { padding: 14px 15px 11px; border-bottom: 1px solid #e4eee7; }
.account-menu-heading strong, .account-menu-heading span { display: block; }
.account-menu-heading strong { color: var(--ink); font-size: 13px; font-weight: 800; }
.account-menu-heading span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.account-menu > button { display: block; width: 100%; padding: 10px 15px; border: 0; color: var(--text); background: #fff; text-align: left; }
.account-menu > button:hover { background: #f1f8f3; }
.account-menu > button strong, .account-menu > button small { display: block; }
.account-menu > button strong { color: var(--ink); font-size: 12px; font-weight: 800; }
.account-menu > button small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.account-menu > button:last-child { border-top: 1px solid #edf3ef; }
.account-menu > button:last-child strong { color: #a34d43; }
.mobile-menu-button { display: none; }

.page-container { width: min(100%, 1480px); margin: 0 auto; padding: 36px 42px 72px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.eyebrow { margin: 0 0 8px; color: var(--brand); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.page-heading h1 { margin: 0; color: var(--ink); font-size: clamp(24px, 3vw, 34px); letter-spacing: -.045em; line-height: 1.15; }
.page-heading p { max-width: 560px; margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.page-heading-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.page-heading-actions .button { white-space: nowrap; }

.button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; gap: 7px; padding: 0 14px; border: 1px solid transparent; border-radius: 9px; font-size: 11px; font-weight: 700; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--ink); background: var(--accent); box-shadow: 0 6px 15px rgba(216,242,74,.22); }
.button-primary:hover { box-shadow: 0 9px 20px rgba(216,242,74,.34); }
.button-secondary { border-color: var(--line); color: var(--brand); background: #fff; }
.button-secondary:hover { border-color: #bdd1c4; background: var(--brand-light); }
.button-dark { color: #fff; background: var(--ink); }
.button-danger { color: var(--red); background: var(--red-light); }
.button-small { min-height: 29px; padding: 0 10px; font-size: 10px; }

.hero-banner { position: relative; display: flex; min-height: 142px; align-items: center; justify-content: space-between; gap: 20px; overflow: hidden; margin-bottom: 18px; padding: 24px 29px; border-radius: var(--radius-lg); color: #fff; background: var(--ink); box-shadow: var(--shadow-md); }
.hero-banner::after { content: ""; position: absolute; right: 10%; bottom: -75px; width: 220px; height: 220px; border: 1px solid rgba(216,242,74,.3); border-radius: 50%; box-shadow: 0 0 0 26px rgba(216,242,74,.045), 0 0 0 52px rgba(216,242,74,.035); }
.hero-banner > * { position: relative; z-index: 1; }
.hero-copy { max-width: 620px; }
.hero-copy .eyebrow { color: var(--accent); }
.hero-copy h2 { margin: 0; font-size: 21px; letter-spacing: -.035em; }
.hero-copy p { margin: 9px 0 0; color: #afc8b9; font-size: 11px; line-height: 1.7; }
.hero-progress { display: flex; min-width: 200px; align-items: center; gap: 13px; }
.progress-ring { display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.14) 72% 100%); }
.progress-ring::before { content: ""; position: absolute; width: 54px; height: 54px; border-radius: 50%; background: var(--ink); }
.progress-ring strong { position: relative; color: var(--accent); font-size: 18px; }
.hero-progress-copy strong, .hero-progress-copy span { display: block; }
.hero-progress-copy strong { font-size: 12px; }
.hero-progress-copy span { margin-top: 5px; color: #afc8b9; font-size: 10px; }

.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.stat-card { min-height: 116px; padding: 18px 19px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.stat-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; }
.stat-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--brand); background: var(--brand-light); font-size: 14px; }
.stat-value { margin-top: 14px; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 27px; letter-spacing: -.06em; }
.stat-meta { display: flex; align-items: center; gap: 5px; margin-top: 5px; color: var(--muted); font-size: 10px; }
.trend-up { color: var(--brand); font-weight: 700; }
.trend-warn { color: var(--orange); font-weight: 700; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .75fr); gap: 18px; margin-bottom: 18px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 19px 20px 14px; }
.panel-header h3 { margin: 0; color: var(--ink); font-size: 13px; letter-spacing: -.015em; }
.panel-header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.panel-link { padding: 0; border: 0; color: var(--brand); background: transparent; font-size: 10px; font-weight: 700; }
.panel-link:hover { color: var(--ink); }

.task-list { display: grid; gap: 1px; padding: 2px 9px 11px; }
.task-item { display: flex; align-items: center; gap: 12px; padding: 12px 11px; border-radius: 10px; }
.task-item:hover { background: var(--paper); }
.task-index { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-light); font-size: 11px; font-weight: 800; }
.task-index.done { color: #fff; background: var(--brand); }
.task-content { min-width: 0; flex: 1; }
.task-content strong { display: block; overflow: hidden; color: var(--text); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.task-content span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.task-arrow { color: var(--faint); font-size: 16px; }

.health-panel { padding-bottom: 18px; }
.health-score { display: flex; align-items: center; gap: 17px; padding: 4px 20px 18px; }
.score-circle { display: grid; width: 82px; height: 82px; place-items: center; border: 7px solid var(--brand-light); border-top-color: var(--brand); border-right-color: var(--brand); border-radius: 50%; }
.score-circle strong { color: var(--brand); font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.health-score-copy strong, .health-score-copy span { display: block; }
.health-score-copy strong { color: var(--ink); font-size: 13px; }
.health-score-copy span { max-width: 190px; margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.health-bars { display: grid; gap: 10px; padding: 0 20px; }
.health-row { display: grid; grid-template-columns: 68px 1fr 34px; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.health-track, .mini-track { height: 6px; overflow: hidden; border-radius: 10px; background: var(--brand-light); }
.health-track i, .mini-track i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.health-row b { color: var(--text); font-size: 10px; font-weight: 700; text-align: right; }

.pipeline-panel { margin-bottom: 18px; }
.pipeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 3px 20px 24px; }
.pipeline-step { position: relative; padding-right: 18px; }
.pipeline-step:not(:last-child)::after { content: ""; position: absolute; top: 14px; left: 35px; right: 8px; height: 1px; background: var(--line); }
.pipeline-step.done:not(:last-child)::after { background: var(--brand); }
.pipeline-number { position: relative; z-index: 1; display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #fff; font-size: 10px; font-weight: 800; }
.pipeline-step.done .pipeline-number { border-color: var(--brand); color: #fff; background: var(--brand); }
.pipeline-step.current .pipeline-number { border-color: var(--accent); color: var(--ink); background: var(--accent); box-shadow: 0 0 0 5px rgba(216,242,74,.18); }
.pipeline-step strong { display: block; margin-top: 11px; color: var(--text); font-size: 11px; }
.pipeline-step span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }

.content-list { padding: 0 9px 10px; }
.content-row { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) 100px 82px 70px; align-items: center; gap: 12px; padding: 13px 11px; border: 0; border-top: 1px solid #edf1ed; color: inherit; background: transparent; text-align: left; }
.content-row:first-child { border-top: 0; }
.content-row:hover { border-radius: 9px; background: var(--paper); }
.content-row:focus-visible { position: relative; z-index: 1; border-radius: 9px; outline: 3px solid rgba(216,242,74,.78); outline-offset: -2px; }
.content-title strong, .content-title span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-title strong { color: var(--text); font-size: 11px; }
.content-title span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.content-date { color: var(--muted); font-size: 10px; }
.row-more { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--muted); font-size: 13px; letter-spacing: 2px; }
.content-row:hover .row-more { color: var(--brand); background: var(--brand-light); }

.chip { display: inline-flex; width: fit-content; align-items: center; justify-content: center; min-height: 22px; padding: 0 8px; border-radius: 20px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.chip-green { color: var(--brand); background: var(--brand-light); }
.chip-blue { color: var(--blue); background: var(--blue-light); }
.chip-orange { color: var(--orange); background: var(--orange-light); }
.chip-red { color: var(--red); background: var(--red-light); }
.chip-gray { color: var(--muted); background: #eef1ee; }

.alert-list { display: grid; gap: 8px; padding: 0 20px 19px; }
.alert-item { display: flex; align-items: flex-start; gap: 9px; padding: 9px; border-radius: 9px; background: #fff8f0; }
.alert-item.blue { background: #f1f6f7; }
.alert-dot { width: 7px; height: 7px; flex: 0 0 7px; margin-top: 4px; border-radius: 50%; background: var(--orange); }
.alert-item.blue .alert-dot { background: var(--blue); }
.alert-item strong { display: block; color: var(--text); font-size: 10px; }
.alert-item span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.subtle-note { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; }
.subtle-note::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }

/* Brand page */
.brand-overview { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; margin-bottom: 18px; }
.completion-card { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 240px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--ink); }
.completion-ring { display: grid; width: 126px; height: 126px; place-items: center; border-radius: 50%; background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.12) 72% 100%); }
.completion-ring::before { content: ""; position: absolute; width: 99px; height: 99px; border-radius: 50%; background: var(--ink); }
.completion-ring strong { position: relative; color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 34px; letter-spacing: -.08em; }
.completion-card > strong { margin-top: 17px; color: #fff; font-size: 13px; }
.completion-card > span { margin-top: 5px; color: #a7beb0; font-size: 10px; }
.brand-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fact-card { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.fact-card h3 { margin: 0; color: var(--ink); font-size: 12px; }
.fact-card p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.fact-progress { height: 5px; margin-top: 15px; overflow: hidden; border-radius: 10px; background: var(--brand-light); }
.fact-progress i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.fact-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; color: var(--muted); font-size: 9px; }
.fact-footer b { color: var(--brand); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0 20px 20px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--text); font-size: 10px; font-weight: 700; }
.field label span { margin-left: 4px; color: var(--faint); font-weight: 400; }
.field input, .field textarea, .field select { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--paper); font-size: 11px; }
.field textarea { min-height: 74px; resize: vertical; line-height: 1.6; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--brand); background: #fff; outline: none; box-shadow: 0 0 0 3px rgba(28,85,68,.1); }
.tag-input { display: flex; min-height: 42px; flex-wrap: wrap; align-items: center; gap: 5px; padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.tag-input .chip { min-height: 25px; }
.tag-input input { min-width: 80px; flex: 1; padding: 5px; border: 0; outline: 0; background: transparent; font-size: 10px; }
.panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid #edf1ed; }

/* Content workbench */
.stepper { display: flex; align-items: center; margin-bottom: 18px; padding: 15px 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.step { display: flex; min-width: 0; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.step:not(:last-child) { flex: 1; }
.step:not(:last-child)::after { content: ""; height: 1px; flex: 1; margin: 0 11px; background: var(--line); }
.step-number { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; font-size: 9px; font-weight: 800; }
.step.done { color: var(--brand); }
.step.done .step-number { border-color: var(--brand); color: #fff; background: var(--brand); }
.step.current { color: var(--ink); font-weight: 700; }
.step.current .step-number { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.workbench-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr) minmax(260px, .7fr); gap: 14px; align-items: start; }
.workbench-panel { min-width: 0; overflow: hidden; }
.panel-header-tight { padding-bottom: 12px; }
.panel-body { padding: 0 17px 18px; }
.section-label { display: flex; align-items: center; justify-content: space-between; margin: 13px 0 8px; color: var(--muted); font-size: 10px; font-weight: 700; }
.section-label:first-child { margin-top: 0; }
.segmented { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 4px; border-radius: 9px; background: var(--paper); }
.segmented button { min-height: 28px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: 10px; }
.segmented button.active { color: var(--brand); background: #fff; box-shadow: 0 2px 7px rgba(16,44,37,.08); font-weight: 700; }
.fake-select { display: flex; min-height: 36px; align-items: center; justify-content: space-between; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--paper); font-size: 10px; }
.keyword-box { display: flex; min-height: 36px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--brand); background: var(--brand-light); font-size: 10px; }
.keyword-box strong { flex: 1; color: var(--text); }
.range-row { display: flex; align-items: center; gap: 9px; }
.range-row input { width: 100%; accent-color: var(--brand); }
.range-value { color: var(--brand); font-size: 10px; font-weight: 700; }
.title-options { display: grid; gap: 7px; }
.title-option { display: flex; align-items: flex-start; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.title-option.selected { border-color: var(--brand); background: var(--brand-light); box-shadow: 0 0 0 2px rgba(28,85,68,.08); }
.radio { width: 13px; height: 13px; flex: 0 0 13px; margin-top: 1px; border: 1px solid var(--faint); border-radius: 50%; }
.title-option.selected .radio { border: 4px solid var(--brand); }
.title-option strong { display: block; color: var(--text); font-size: 10px; line-height: 1.55; }
.title-option span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.editor-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; border-bottom: 1px solid var(--line); background: #fbfcfa; }
.toolbar-left { display: flex; align-items: center; gap: 5px; }
.toolbar-button { width: 25px; height: 25px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 700; }
.toolbar-button:hover { color: var(--brand); background: var(--brand-light); }
.editor-label { color: var(--muted); font-size: 9px; }
.editor-paper { min-height: 420px; padding: 24px 25px 27px; background: #fff; }
.editor-paper h2 { margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 20px; letter-spacing: -.025em; line-height: 1.35; }
.editor-paper .article-meta { display: flex; gap: 10px; margin: 11px 0 18px; color: var(--muted); font-size: 9px; }
.editor-paper h4 { margin: 19px 0 8px; color: var(--brand); font-size: 12px; }
.editor-paper p { margin: 0 0 11px; color: #4d5b54; font-size: 11px; line-height: 1.9; }
.editor-highlight { padding: 11px 13px; border-left: 3px solid var(--accent); background: #f8fbe9; color: var(--text) !important; }
.quality-score { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 9px; background: var(--brand-light); }
.quality-score strong { color: var(--brand); font-family: Georgia, "Times New Roman", serif; font-size: 23px; }
.quality-score span { color: var(--muted); font-size: 9px; line-height: 1.5; }
.check-list { display: grid; gap: 9px; margin-top: 14px; }
.check-item { display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.check-item::before { content: "✓"; display: grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-light); font-size: 9px; font-weight: 800; }
.check-item.warn::before { content: "!"; color: var(--orange); background: var(--orange-light); }
.evidence-list { display: grid; gap: 8px; }
.evidence-item { padding: 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.evidence-item strong { display: block; color: var(--text); font-size: 10px; }
.evidence-item span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.5; }

/* Admin and self overview */
.admin-hero { border-radius: var(--radius-lg); background: linear-gradient(118deg, #163b31, #102c25 65%, #244b3c); }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.kpi-card { padding: 17px 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.kpi-card small { color: var(--muted); font-size: 10px; }
.kpi-card strong { display: block; margin-top: 12px; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: -.05em; }
.kpi-card span { display: block; margin-top: 5px; color: var(--brand); font-size: 9px; font-weight: 700; }
.table-wrap { overflow: auto; padding: 0 10px 10px; }
.data-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.data-table th { padding: 10px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 600; text-align: left; white-space: nowrap; }
.data-table td { padding: 13px 10px; border-bottom: 1px solid #edf1ed; color: var(--text); white-space: nowrap; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: var(--paper); }
.tenant-cell strong, .tenant-cell span { display: block; }
.tenant-cell span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.mini-bar { width: 70px; height: 5px; overflow: hidden; border-radius: 10px; background: var(--brand-light); }
.mini-bar i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.self-focus-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 18px; }
.self-callout { padding: 22px; border: 1px solid #cad9cf; border-radius: var(--radius-md); background: #fff; }
.self-callout h3 { margin: 0; color: var(--ink); font-size: 15px; }
.self-callout p { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.self-badge { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 13px; padding: 5px 8px; border-radius: 20px; color: var(--blue); background: var(--blue-light); font-size: 9px; font-weight: 800; }
.self-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.self-task-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 19px; }
.self-task { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.self-task strong { display: block; color: var(--ink); font-size: 11px; }
.self-task span { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; }

.empty-state { display: grid; min-height: 350px; place-items: center; padding: 32px; text-align: center; }
.empty-state > div { max-width: 330px; }
.empty-icon { display: grid; width: 50px; height: 50px; margin: 0 auto 15px; place-items: center; border-radius: 16px; color: var(--brand); background: var(--brand-light); font-size: 22px; }
.empty-state h3 { margin: 0; color: var(--ink); font-size: 15px; }
.empty-state p { margin: 8px 0 17px; color: var(--muted); font-size: 10px; line-height: 1.7; }

.toast { position: fixed; right: 25px; bottom: 25px; z-index: 50; max-width: 300px; padding: 12px 15px; border-radius: 10px; color: #fff; background: var(--ink); box-shadow: var(--shadow-md); font-size: 11px; opacity: 0; pointer-events: none; transform: translateY(9px); transition: opacity .2s ease, transform .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
  .page-container { padding-right: 28px; padding-left: 28px; }
  .workbench-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .workbench-grid > :last-child { grid-column: 1 / -1; }
  .evidence-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 920px) {
  :root { --sidebar-width: 220px; }
  .topbar { padding: 0 22px; }
  .page-container { padding: 29px 21px 60px; }
  .stat-grid, .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .content-grid, .self-focus-grid { grid-template-columns: 1fr; }
  .brand-overview { grid-template-columns: 1fr; }
  .completion-card { min-height: 190px; }
  .completion-ring { width: 104px; height: 104px; }
  .completion-ring::before { width: 81px; height: 81px; }
}

@media (max-width: 700px) {
  .app-shell { display: block; }
  .sidebar { width: min(82vw, 280px); transform: translateX(-105%); transition: transform .22s ease; box-shadow: 12px 0 35px rgba(16,44,37,.16); }
  .sidebar.open { transform: translateX(0); }
  .main-content { width: 100%; }
  .topbar { height: 62px; padding: 0 15px; }
  .mobile-menu-button { display: inline-grid; color: var(--brand); font-size: 16px; }
  .topbar-right { gap: 7px; }
  .save-state, .topbar-action, .topbar-divider, .topbar-user > span:not(.chevron):not(.avatar-small) { display: none; }
  .page-container { padding: 25px 15px 50px; }
  .page-heading { display: block; margin-bottom: 21px; }
  .page-heading-actions { margin-top: 16px; }
  .hero-banner { display: block; padding: 22px; }
  .hero-progress { margin-top: 19px; }
  .stat-grid, .admin-kpi-grid, .brand-facts, .form-grid { grid-template-columns: 1fr; }
  .form-grid { padding-right: 15px; padding-left: 15px; }
  .field.full { grid-column: auto; }
  .pipeline { grid-template-columns: 1fr; gap: 13px; }
  .pipeline-step { display: grid; grid-template-columns: 29px 1fr; gap: 10px; padding: 0; }
  .pipeline-step:not(:last-child)::after { top: 30px; left: 14px; right: auto; width: 1px; height: 21px; }
  .pipeline-step strong { margin-top: 1px; }
  .pipeline-step span { grid-column: 2; margin-top: -8px; }
  .content-row { grid-template-columns: minmax(0,1fr) auto; }
  .content-row > :nth-child(2), .content-row > :nth-child(3) { display: none; }
  .stepper { overflow-x: auto; gap: 8px; }
  .step { flex: 0 0 auto !important; }
  .step:not(:last-child)::after { width: 25px; flex: 0 0 25px; }
  .workbench-grid { grid-template-columns: 1fr; }
  .workbench-grid > :last-child { grid-column: auto; }
  .evidence-list, .self-task-grid { grid-template-columns: 1fr; }
  .editor-paper { min-height: 0; padding: 20px 17px; }
  .panel-footer { align-items: flex-start; flex-direction: column; }
}

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

/* Tech console theme: the admin product has its own visual language and does
   not reuse the public site's paper/editorial treatment. */
body::before {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-position: 0 0, 0 0;
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 76%);
}

.app-shell { position: relative; z-index: 1; }
.sidebar { border-right: 1px solid rgba(143, 184, 155, .12); background: #0a100e; }
.brand-mark { border-color: rgba(201,255,104,.36); background: rgba(201,255,104,.08); }
.workspace-switch { border-color: rgba(143,184,155,.16); background: rgba(255,255,255,.035); }
.workspace-switch:hover { border-color: rgba(201,255,104,.55); background: rgba(201,255,104,.07); }
.workspace-menu { border-color: var(--line); background: var(--surface-2); }
.workspace-menu button { color: var(--text); }
.workspace-menu button:hover { background: var(--brand-light); }
.nav-item { color: #879b91; }
.nav-item:hover { color: #dce9df; background: rgba(255,255,255,.045); }
.nav-item.active { color: var(--accent); background: rgba(201,255,104,.075); box-shadow: inset 2px 0 var(--accent); }
.nav-item.active .nav-badge { color: var(--ink); background: var(--accent); }
.nav-badge { color: var(--ink); background: var(--accent); }
.topbar { border-color: rgba(143,184,155,.12); background: rgba(11,18,16,.86); }
.breadcrumbs span { color: #5f7469; }
.breadcrumbs strong { color: #e5f0e7; }
.console-context { display: inline-flex; align-items: center; gap: 7px; margin-left: 8px; padding-left: 13px; border-left: 1px solid var(--line); color: #60766b; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; letter-spacing: .08em; }
.console-context b { color: var(--accent); font-weight: 700; }
.console-context i { color: #40564a; font-style: normal; }
.command-search { display: inline-flex; min-width: 185px; align-items: center; gap: 8px; padding: 6px 8px; border: 1px solid rgba(143,184,155,.13); border-radius: 7px; color: var(--muted); background: rgba(255,255,255,.035); text-align: left; }
.command-search:hover { border-color: rgba(201,255,104,.4); background: rgba(201,255,104,.05); }
.command-search span { padding: 3px 5px; border: 1px solid rgba(143,184,155,.22); border-radius: 4px; color: #b7c7bc; background: rgba(255,255,255,.06); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; }
.command-search b { overflow: hidden; font-size: 10px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.topbar-user { color: #dce9df; }
.topbar-count { color: var(--ink); background: rgba(201,255,104,.82); }
.page-heading h1, .panel-header h3, .fact-card h3, .self-callout h3, .empty-state h3 { color: #eff7f0; }
.page-heading p, .panel-header p { color: #82958b; }
.hero-banner { border: 1px solid rgba(201,255,104,.18); background: radial-gradient(circle at 80% 18%, rgba(116,215,208,.1), transparent 29%), linear-gradient(125deg, #101c18 0%, #0c1512 66%, #13251d 100%); box-shadow: 0 0 0 1px rgba(255,255,255,.018), 0 18px 58px rgba(0,0,0,.2); }
.hero-banner::after { border-color: rgba(201,255,104,.25); box-shadow: 0 0 0 26px rgba(201,255,104,.035), 0 0 0 52px rgba(201,255,104,.02); }
.hero-banner::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 0%, rgba(201,255,104,.035) 49.8%, rgba(201,255,104,.14) 50%, rgba(201,255,104,.035) 50.2%, transparent 100%); opacity: .8; }
.hero-copy h2 { color: #f1f8f0; font-family: inherit; font-weight: 650; }
.hero-copy p { color: #91a79a; }
.progress-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.09) 72% 100%); }
.progress-ring::before { background: #101c18; }
.hero-progress-copy strong { color: #eff7f0; }
.hero-progress-copy span { color: #8ea398; }
.stat-card, .panel, .kpi-card, .fact-card, .self-callout { border-color: rgba(143,184,155,.14); background: var(--surface-1); box-shadow: var(--shadow-sm); }
.stat-card:hover, .kpi-card:hover, .fact-card:hover { border-color: rgba(201,255,104,.24); }
.stat-top, .stat-meta, .content-date, .fact-card p, .fact-footer, .subtle-note { color: #81958a; }
.stat-icon { color: var(--accent); background: rgba(201,255,104,.1); }
.stat-value, .kpi-card strong, .score-circle strong, .completion-ring strong { color: #f2f8f1; font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; letter-spacing: -.06em; }
.trend-up { color: var(--accent); }
.trend-warn { color: var(--orange); }
.panel-link { color: var(--accent); }
.panel-link:hover { color: #efffd2; }
.task-item:hover, .content-row:hover { background: rgba(201,255,104,.045); }
.task-index { color: var(--accent); background: rgba(201,255,104,.1); }
.task-index.done { color: var(--ink); background: var(--accent); }
.task-content strong, .content-title strong, .alert-item strong, .health-score-copy strong, .pipeline-step strong { color: #e9f3eb; }
.task-content span, .alert-item span, .health-score-copy span, .pipeline-step span { color: #7f9488; }
.health-track, .mini-track { background: rgba(143,184,155,.12); }
.health-track i, .mini-track i, .mini-bar i { background: var(--accent); }
.score-circle { border-color: rgba(143,184,155,.14); border-top-color: var(--accent); border-right-color: var(--brand); }
.pipeline-step:not(:last-child)::after { background: rgba(143,184,155,.17); }
.pipeline-step.done:not(:last-child)::after { background: var(--brand); }
.pipeline-number { border-color: rgba(143,184,155,.22); color: #80958a; background: var(--surface-2); }
.pipeline-step.done .pipeline-number { border-color: var(--brand); color: var(--ink); background: var(--brand); }
.pipeline-step.current .pipeline-number { border-color: var(--accent); color: var(--ink); background: var(--accent); box-shadow: 0 0 0 5px rgba(201,255,104,.1); }
.alert-item { background: rgba(255,192,120,.08); }
.alert-item.blue { background: rgba(116,215,208,.075); }
.content-row { color: var(--text); }
.content-row { border-color: rgba(143,184,155,.1); }
.row-more { color: #768b80; }
.content-row:hover .row-more { color: var(--accent); background: rgba(201,255,104,.1); }
.chip-green { color: var(--brand); background: rgba(146,216,102,.12); }
.chip-blue { color: var(--blue); background: rgba(116,215,208,.12); }
.chip-orange { color: var(--orange); background: rgba(255,192,120,.12); }
.chip-red { color: var(--red); background: rgba(255,129,126,.12); }
.chip-gray { color: #8b9e93; background: rgba(143,184,155,.1); }
.chip-purple { color: var(--purple); background: var(--purple-light); }
.completion-card { border: 1px solid rgba(201,255,104,.18); background: #0d1713; }
.completion-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.08) 72% 100%); }
.completion-ring::before { background: #0d1713; }
.completion-card > strong { color: #eff7f0; }
.completion-card > span { color: #87a094; }
.fact-progress { background: rgba(143,184,155,.12); }
.fact-progress i { background: var(--accent); }
.fact-footer b { color: var(--accent); }
.field label { color: #dbe9de; }
.field label span { color: #708479; }
.field input, .field textarea, .field select, .tag-input, .fake-select { border-color: rgba(143,184,155,.18); color: #e8f2e9; background: var(--surface-2); }
.field input::placeholder, .field textarea::placeholder { color: #62776b; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--accent); background: var(--surface-3); box-shadow: 0 0 0 3px rgba(201,255,104,.1); }
.tag-input .chip { background: rgba(201,255,104,.1); }
.panel-footer { border-color: rgba(143,184,155,.1); }
.button-secondary { border-color: rgba(143,184,155,.22); color: #c3d8c8; background: rgba(255,255,255,.035); }
.button-secondary:hover { border-color: rgba(201,255,104,.46); color: var(--accent); background: rgba(201,255,104,.07); }
.button-primary { color: #0b120e; background: var(--accent); box-shadow: 0 0 22px rgba(201,255,104,.12); }
.button-primary:hover { box-shadow: 0 0 28px rgba(201,255,104,.25); }
.button-dark { color: #edf7ee; background: #0a100e; }
.stepper { border-color: rgba(143,184,155,.14); background: var(--surface-1); }
.step { color: #71867a; }
.step:not(:last-child)::after { background: rgba(143,184,155,.17); }
.step-number { border-color: rgba(143,184,155,.2); color: #82968a; background: var(--surface-2); }
.step.done .step-number { border-color: var(--brand); color: var(--ink); background: var(--brand); }
.step.current { color: var(--accent); }
.step.current .step-number { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.segmented { background: #0d1512; }
.segmented button { color: #778c80; }
.segmented button.active { color: var(--accent); background: var(--surface-3); box-shadow: 0 0 0 1px rgba(201,255,104,.12); }
.fake-select, .keyword-box { background: var(--surface-2); }
.fake-select { color: #dce9df; }
.keyword-box { border-color: rgba(116,215,208,.22); color: var(--blue); background: rgba(116,215,208,.08); }
.keyword-box strong { color: #e3f0e8; }
.title-option { border-color: rgba(143,184,155,.16); background: var(--surface-2); }
.title-option.selected { border-color: var(--accent); background: rgba(201,255,104,.07); box-shadow: 0 0 0 2px rgba(201,255,104,.08); }
.title-option strong { color: #e5f0e7; }
.title-option span { color: #7d9286; }
.editor-toolbar { border-color: rgba(143,184,155,.12); background: var(--surface-2); }
.toolbar-button { color: #84998d; }
.toolbar-button:hover { color: var(--accent); background: rgba(201,255,104,.08); }
.editor-label { color: #6f8579; }
.editor-paper { background: var(--surface-1); }
.editor-paper h2 { color: #f0f7f0; font-family: inherit; font-weight: 650; }
.editor-paper .article-meta { color: #778c80; }
.editor-paper h4 { color: var(--accent); }
.editor-paper p { color: #a2b3a8; }
.editor-highlight { border-color: var(--accent); color: #dcecd9 !important; background: rgba(201,255,104,.06); }
.quality-score { border: 1px solid rgba(146,216,102,.18); background: rgba(146,216,102,.08); }
.quality-score strong { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.quality-score span { color: #96ab9d; }
.check-item { color: #9aac9f; }
.check-item::before { color: var(--accent); background: rgba(201,255,104,.1); }
.check-item.warn::before { color: var(--orange); background: rgba(255,192,120,.12); }
.evidence-item { border-color: rgba(143,184,155,.14); background: var(--surface-2); }
.evidence-item strong { color: #e6f0e7; }
.evidence-item span { color: #7e9387; }
.data-table th { color: #779084; border-color: rgba(143,184,155,.15); }
.data-table td { color: #dce9df; border-color: rgba(143,184,155,.1); }
.data-table tbody tr:hover { background: rgba(201,255,104,.04); }
.tenant-cell span { color: #71877b; }
.admin-hero { border-color: rgba(201,255,104,.18); background: radial-gradient(circle at 76% 18%, rgba(185,165,255,.12), transparent 28%), linear-gradient(125deg, #111b22, #0c1512 70%, #14231d); }
.self-callout { background: var(--surface-1); }
.self-badge { color: var(--blue); background: rgba(116,215,208,.1); }
.self-task { border-color: rgba(143,184,155,.14); background: var(--surface-2); }
.self-task strong { color: #e6f0e8; }
.self-task span { color: #82978b; }
.empty-icon { color: var(--accent); background: rgba(201,255,104,.1); }
.empty-state p { color: #83978b; }
.toast { border: 1px solid rgba(201,255,104,.18); background: #14231d; }

@media (max-width: 920px) {
  .command-search { min-width: 0; }
  .command-search b { display: none; }
}

@media (max-width: 700px) {
  .console-context { display: none; }
}

/* Readable tech console v2: keep the control-plane identity without making
   the working canvas too dark for long-form daily operations. */
:root {
  --ink: #172b23;
  --ink-soft: #24483a;
  --brand: #267052;
  --brand-light: #e2f1e8;
  --accent: #bce95e;
  --paper: #eef3ef;
  --white: #ffffff;
  --text: #17241f;
  --muted: #64766c;
  --faint: #87968e;
  --line: #d7e3da;
  --blue: #2f7d85;
  --blue-light: #e2f1f2;
  --orange: #b9682f;
  --orange-light: #fff0df;
  --red: #b34c49;
  --red-light: #ffebea;
  --purple: #715cbd;
  --purple-light: #eeeafd;
  --surface-1: #ffffff;
  --surface-2: #f6faf7;
  --surface-3: #eaf3ed;
  --grid-line: rgba(38, 112, 82, .065);
  --shadow-sm: 0 2px 10px rgba(25, 63, 47, .055);
  --shadow-md: 0 18px 48px rgba(25, 63, 47, .12);
  --sidebar-width: 258px;
  color-scheme: light;
}

html, body { background: var(--paper); }
body::before { opacity: .52; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 78%); }
.sidebar { border-right-color: rgba(177, 212, 191, .18); background: #172b23; }
.brand-lockup strong { color: #f5fbf5; }
.brand-lockup span:not(.prototype-label) { color: #acc3b5; }
.prototype-label { color: rgba(188,233,94,.72); }
.workspace-switch { border-color: rgba(202,232,212,.2); background: rgba(255,255,255,.075); }
.workspace-switch:hover { border-color: var(--accent); background: rgba(188,233,94,.12); }
.workspace-menu { border-color: var(--line); background: #fff; }
.workspace-menu button { color: var(--text); }
.workspace-menu button:hover { background: var(--brand-light); }
.workspace-choice-copy { min-width: 0; flex: 1; }
.workspace-choice-copy strong, .workspace-choice-copy small { display: block; }
.workspace-choice-copy strong { color: var(--text); font-size: 12px; font-weight: 700; }
.workspace-choice-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.nav-group-title { color: #86a393; }
.nav-item { color: #b3c9bb; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.1); }
.nav-item.active { color: #15281f; background: var(--accent); box-shadow: inset 3px 0 #eefbbd, 0 4px 15px rgba(188,233,94,.12); }
.nav-item.active .nav-badge { color: #effbc9; background: #24483a; }
.nav-badge { color: #1a3025; background: var(--accent); }
.profile-mini { border-color: rgba(202,232,212,.18); }
.profile-mini strong { color: #f0faf1; }
.profile-mini span { color: #9db6a7; }
.topbar { border-color: var(--line); background: rgba(238,243,239,.92); }
.breadcrumbs span { color: #91a098; }
.breadcrumbs strong { color: var(--ink); }
.console-context { border-color: var(--line); color: #809188; }
.console-context b { color: var(--brand); }
.console-context i { color: #a6b4ab; }
.command-search { border-color: var(--line); color: var(--muted); background: rgba(255,255,255,.72); }
.command-search:hover { border-color: var(--brand); background: #fff; }
.command-search span { border-color: var(--line); color: var(--muted); background: var(--surface-2); }
.topbar-user { color: var(--ink); }
.save-state { color: var(--muted); }
.status-pulse { background: var(--brand); box-shadow: 0 0 0 4px rgba(38,112,82,.12); }
.icon-button { color: var(--muted); }
.icon-button:hover { color: var(--brand); background: var(--brand-light); }
.page-heading h1, .panel-header h3, .fact-card h3, .self-callout h3, .empty-state h3 { color: var(--ink); }
.page-heading p, .panel-header p { color: var(--muted); }
.hero-banner { border-color: rgba(188,233,94,.28); background: radial-gradient(circle at 82% 12%, rgba(116,215,208,.16), transparent 28%), linear-gradient(125deg, #234b3b 0%, #17372c 67%, #275641 100%); box-shadow: 0 16px 45px rgba(23,71,52,.17); }
.hero-banner::after { border-color: rgba(188,233,94,.32); box-shadow: 0 0 0 26px rgba(188,233,94,.055), 0 0 0 52px rgba(188,233,94,.03); }
.hero-banner::before { background: linear-gradient(90deg, transparent 0%, rgba(188,233,94,.035) 49.8%, rgba(188,233,94,.18) 50%, rgba(188,233,94,.035) 50.2%, transparent 100%); }
.hero-copy h2 { color: #f3fbf4; }
.hero-copy p { color: #c1d6c7; }
.hero-progress-copy strong { color: #f3fbf4; }
.hero-progress-copy span { color: #c1d6c7; }
.progress-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.17) 72% 100%); }
.progress-ring::before { background: #234b3b; }
.stat-card, .panel, .kpi-card, .fact-card, .self-callout { border-color: var(--line); background: var(--surface-1); box-shadow: var(--shadow-sm); }
.stat-card:hover, .kpi-card:hover, .fact-card:hover { border-color: #a6cbb1; box-shadow: 0 7px 22px rgba(25,63,47,.08); }
.stat-top, .stat-meta, .content-date, .fact-card p, .fact-footer, .subtle-note { color: var(--muted); }
.stat-icon { color: var(--brand); background: var(--brand-light); }
.stat-value, .kpi-card strong, .score-circle strong, .completion-ring strong { color: var(--ink); }
.trend-up { color: var(--brand); }
.trend-warn { color: var(--orange); }
.panel-link { color: var(--brand); }
.panel-link:hover { color: var(--ink); }
.task-item:hover, .content-row:hover { background: #f1f7f2; }
.task-index { color: var(--brand); background: var(--brand-light); }
.task-index.done { color: #fff; background: var(--brand); }
.task-content strong, .content-title strong, .alert-item strong, .health-score-copy strong, .pipeline-step strong { color: var(--text); }
.task-content span, .alert-item span, .health-score-copy span, .pipeline-step span { color: var(--muted); }
.health-track, .mini-track { background: #dfece3; }
.health-track i, .mini-track i, .mini-bar i { background: var(--brand); }
.score-circle { border-color: #dbe8de; border-top-color: var(--brand); border-right-color: var(--blue); }
.pipeline-step:not(:last-child)::after { background: #cfdfd4; }
.pipeline-step.done:not(:last-child)::after { background: var(--brand); }
.pipeline-number { border-color: #cbdccf; color: var(--muted); background: #fff; }
.pipeline-step.done .pipeline-number { border-color: var(--brand); color: #fff; background: var(--brand); }
.pipeline-step.current .pipeline-number { border-color: var(--accent); color: var(--ink); background: var(--accent); box-shadow: 0 0 0 5px rgba(188,233,94,.2); }
.alert-item { background: var(--orange-light); }
.alert-item.blue { background: var(--blue-light); }
.content-row { color: var(--text); border-color: #e5eee7; }
.content-row:hover .row-more { color: var(--brand); background: var(--brand-light); }
.chip-green { color: var(--brand); background: var(--brand-light); }
.chip-blue { color: var(--blue); background: var(--blue-light); }
.chip-orange { color: var(--orange); background: var(--orange-light); }
.chip-red { color: var(--red); background: var(--red-light); }
.chip-gray { color: var(--muted); background: #edf2ee; }
.chip-purple { color: var(--purple); background: var(--purple-light); }
.completion-card { border-color: rgba(188,233,94,.28); background: #1a382c; }
.completion-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.12) 72% 100%); }
.completion-ring::before { background: #1a382c; }
.completion-card > strong { color: #f2faf3; }
.completion-card > span { color: #b5cdbb; }
.fact-progress { background: #dfebe2; }
.fact-progress i { background: var(--brand); }
.fact-footer b { color: var(--brand); }
.field label { color: var(--text); }
.field label span { color: var(--faint); }
.field input, .field textarea, .field select, .tag-input, .fake-select { border-color: var(--line); color: var(--text); background: var(--surface-2); }
.field input::placeholder, .field textarea::placeholder { color: #99a99f; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px rgba(38,112,82,.11); }
.tag-input .chip { background: var(--brand-light); }
.panel-footer { border-color: #e5eee7; }
.button-secondary { border-color: #cbdccf; color: var(--brand); background: #fff; }
.button-secondary:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-light); }
.button-primary { color: #15271f; background: var(--accent); box-shadow: 0 6px 18px rgba(105,145,48,.16); }
.button-primary:hover { box-shadow: 0 8px 22px rgba(105,145,48,.25); }
.button-dark { color: #fff; background: var(--ink); }
.stepper { border-color: var(--line); background: #fff; }
.step { color: var(--muted); }
.step:not(:last-child)::after { background: #cfdfd4; }
.step-number { border-color: #cbdccf; color: var(--muted); background: #fff; }
.step.done .step-number { border-color: var(--brand); color: #fff; background: var(--brand); }
.step.current { color: var(--brand); }
.step.current .step-number { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.segmented { background: #edf4ef; }
.segmented button { color: var(--muted); }
.segmented button.active { color: var(--brand); background: #fff; box-shadow: 0 1px 6px rgba(25,63,47,.1); }
.fake-select, .keyword-box { background: var(--surface-2); }
.fake-select { color: var(--text); }
.keyword-box { border-color: #b7d9d7; color: var(--blue); background: var(--blue-light); }
.keyword-box strong { color: var(--text); }
.title-option { border-color: var(--line); background: #fff; }
.title-option.selected { border-color: var(--brand); background: var(--brand-light); box-shadow: 0 0 0 2px rgba(38,112,82,.09); }
.title-option strong { color: var(--text); }
.title-option span { color: var(--muted); }
.editor-toolbar { border-color: var(--line); background: var(--surface-2); }
.toolbar-button { color: var(--muted); }
.toolbar-button:hover { color: var(--brand); background: var(--brand-light); }
.editor-label { color: var(--muted); }
.editor-paper { background: #fff; }
.editor-paper h2 { color: var(--ink); }
.editor-paper .article-meta { color: var(--muted); }
.editor-paper h4 { color: var(--brand); }
.editor-paper p { color: #50635a; }
.editor-highlight { border-color: var(--brand); color: var(--text) !important; background: #f1f8e7; }
.quality-score { border-color: #c8dfc4; background: #edf8e9; }
.quality-score strong { color: var(--brand); }
.quality-score span { color: var(--muted); }
.check-item { color: #587066; }
.check-item::before { color: var(--brand); background: var(--brand-light); }
.check-item.warn::before { color: var(--orange); background: var(--orange-light); }
.evidence-item { border-color: var(--line); background: var(--surface-2); }
.evidence-item strong { color: var(--text); }
.evidence-item span { color: var(--muted); }
.data-table th { color: var(--muted); border-color: var(--line); }
.data-table td { color: var(--text); border-color: #e5eee7; }
.data-table tbody tr:hover { background: #f1f7f2; }
.tenant-cell span { color: var(--muted); }
.admin-hero { border-color: #b9d0c0; background: radial-gradient(circle at 76% 18%, rgba(113,92,189,.12), transparent 28%), linear-gradient(125deg, #244b3c, #17372c 70%, #2c5d46); }
.self-callout { background: #fff; }
.self-badge { color: var(--blue); background: var(--blue-light); }
.self-task { border-color: var(--line); background: var(--surface-2); }
.self-task strong { color: var(--text); }
.self-task span { color: var(--muted); }
.empty-icon { color: var(--brand); background: var(--brand-light); }
.empty-state p { color: var(--muted); }
.toast { border-color: #b9d0c0; color: #f2faf3; background: #1a382c; }

/* Navigation tree v2: make level-one work domains and level-two actions
   visually explicit, while keeping the sidebar compact. */
.side-nav { gap: 7px; margin-top: 24px; }
.nav-group { display: grid; gap: 2px; }
.nav-group-toggle { display: flex; width: 100%; min-height: 40px; align-items: center; gap: 9px; padding: 0 10px; border: 0; border-radius: 8px; color: #c7dbce; background: transparent; text-align: left; }
.nav-group-toggle:hover { color: #f1faf2; background: rgba(255,255,255,.07); }
.nav-group.is-current > .nav-group-toggle { color: #eff9f0; }
.nav-group-icon { display: grid; width: 18px; height: 18px; place-items: center; color: var(--accent); font-size: 14px; }
.nav-group-label { flex: 1; font-size: 13px; font-weight: 750; letter-spacing: .01em; }
.nav-group-count { min-width: 17px; padding: 2px 5px; border: 1px solid rgba(188,233,94,.22); border-radius: 10px; color: #abc2b2; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; text-align: center; }
.nav-group-chevron { color: #7e9a8a; font-size: 15px; line-height: 1; transform: rotate(0deg); transition: transform .16s ease; }
.nav-group-toggle[aria-expanded="false"] .nav-group-chevron { transform: rotate(-90deg); }
.nav-list { position: relative; display: grid; gap: 2px; margin: 0 0 4px 19px; padding: 2px 0 3px 10px; border-left: 1px solid rgba(188,233,94,.18); }
.nav-list:not(.open) { display: none; }
.nav-item { position: relative; min-height: 37px; padding: 0 8px; border-radius: 6px; color: #c2d5c8; font-size: 13px; }
.nav-item::before { content: ""; position: absolute; top: 50%; left: -11px; width: 8px; height: 1px; background: rgba(188,233,94,.22); }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-item.active { color: #173126; background: var(--accent); box-shadow: 0 4px 12px rgba(188,233,94,.16); font-weight: 750; }
.nav-item.active::before { background: var(--accent); }
.nav-item.active .nav-icon { color: #173126; }
.nav-icon { width: 15px; font-size: 11px; }
.nav-badge { border: 0; color: #173126; background: rgba(255,255,255,.65); font-size: 10px; }
.nav-item.active .nav-badge { color: var(--accent); background: #24483a; }

/* Custom range control: remove browser-native chrome and keep the value legible. */
.range-row input[type="range"] { width: 100%; height: 22px; margin: 0; appearance: none; cursor: pointer; background: transparent; }
.range-row input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 999px; background: linear-gradient(to right, var(--brand) 0 var(--range-progress, 50%), #dbe9df var(--range-progress, 50%) 100%); }
.range-row input[type="range"]::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -6px; appearance: none; border: 3px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 5px rgba(25, 63, 47, .26), 0 0 0 3px rgba(38, 112, 82, .12); }
.range-row input[type="range"]::-moz-range-track { height: 6px; border-radius: 999px; background: #dbe9df; }
.range-row input[type="range"]::-moz-range-progress { height: 6px; border-radius: 999px; background: var(--brand); }
.range-row input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 5px rgba(25, 63, 47, .26), 0 0 0 3px rgba(38, 112, 82, .12); }
.range-row input[type="range"]:focus-visible { outline: 0; }
.range-row input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(188, 233, 94, .45), 0 1px 5px rgba(25, 63, 47, .26); }
.range-row input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(188, 233, 94, .45), 0 1px 5px rgba(25, 63, 47, .26); }

/* The workspace is a product context, so it sits beside search in the top bar. */
.topbar-workspace { position: relative; display: flex; flex: 0 0 auto; align-items: center; }
.topbar-workspace .workspace-switch { min-width: 174px; gap: 8px; padding: 7px 9px; border-color: var(--line); border-radius: 10px; color: var(--text); background: var(--surface-2); }
.topbar-workspace .workspace-switch:hover { border-color: var(--brand); background: var(--brand-light); }
.topbar-workspace .workspace-dot { width: 7px; height: 7px; flex-basis: 7px; box-shadow: 0 0 0 4px rgba(38, 112, 82, .1); }
.topbar-workspace .workspace-switch-copy small { color: var(--faint); font-size: 9px; }
.topbar-workspace .workspace-switch-copy strong { color: var(--text); font-size: 11px; font-weight: 750; }
.topbar-workspace .chevron { color: var(--muted); font-size: 14px; }
.topbar-workspace .workspace-menu { top: calc(100% + 10px); right: auto; left: 0; width: 258px; max-width: calc(100vw - 32px); }

@media (max-width: 1080px) {
  .topbar-workspace .workspace-switch { min-width: 146px; }
  .topbar-workspace .workspace-switch-copy small { display: none; }
}

@media (max-width: 700px) {
  .topbar-workspace .workspace-switch { min-width: 136px; }
}

@media (max-width: 700px) {
  .nav-group-toggle { min-height: 37px; }
  .nav-item { min-height: 36px; }
}

/* Enterprise workbench IA components: keep qishixiong fields visible while
   separating the global monitoring entry from execution pages. */
.module-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: -8px 0 18px; padding: 5px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.module-tabs button { min-height: 30px; padding: 0 11px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 10px; }
.module-tabs button:hover, .module-tabs button.active { color: var(--brand); background: #fff; box-shadow: 0 1px 5px rgba(25,63,47,.08); font-weight: 750; }
.monitor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.monitor-card { min-height: 142px; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.monitor-card-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; }
.monitor-signal { width: 7px; height: 7px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px var(--brand-light); }
.monitor-card strong { display: block; margin-top: 18px; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing: -.04em; }
.monitor-card p { min-height: 30px; margin: 6px 0 12px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.monitor-card.blue .monitor-signal { background: var(--blue); box-shadow: 0 0 0 4px var(--blue-light); }
.monitor-card.purple .monitor-signal { background: var(--purple); box-shadow: 0 0 0 4px var(--purple-light); }
.monitor-card.orange .monitor-signal { background: var(--orange); box-shadow: 0 0 0 4px var(--orange-light); }
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 14px; }
.filter-bar.compact { justify-content: flex-end; margin: 0; }
.filter-pill { min-height: 30px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: #fff; font-size: 10px; }
.filter-pill:hover, .filter-pill.active { border-color: #b6d2bd; color: var(--brand); background: var(--brand-light); }
.todo-title { display: block; min-width: 220px; white-space: normal; }
.todo-title strong, .todo-title span { display: block; }
.todo-title strong { color: var(--text); font-size: 10px; line-height: 1.5; }
.todo-title span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.todo-rules { min-width: 280px; }
.rule-list { display: grid; gap: 2px; padding: 0 12px 14px; }
.rule-item { display: flex; align-items: flex-start; gap: 10px; padding: 11px 8px; border-bottom: 1px solid #edf1ed; }
.rule-item:last-child { border-bottom: 0; }
.rule-index { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 7px; color: var(--purple); background: var(--purple-light); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; font-weight: 800; }
.rule-item strong, .rule-item span { display: block; }
.rule-item strong { color: var(--text); font-size: 10px; }
.rule-item span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.onboarding-panel { margin-top: 18px; }
.onboarding-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
.onboarding-item { display: grid; grid-template-columns: 27px 1fr; gap: 8px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); }
.onboarding-number { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: var(--brand); background: var(--brand-light); font-size: 10px; font-weight: 800; }
.onboarding-item strong, .onboarding-item span { display: block; }
.onboarding-item strong { color: var(--text); font-size: 10px; }
.onboarding-item span { margin-top: 4px; color: var(--brand); font-size: 9px; }
.onboarding-item .panel-link { grid-column: 2; margin-top: 8px; text-align: left; }
.website-health { padding: 0 20px 20px; }

@media (max-width: 1180px) {
  .monitor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboarding-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .monitor-grid, .onboarding-grid { grid-template-columns: 1fr; }
  .filter-bar.compact { justify-content: flex-start; }
  .module-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .module-tabs button { flex: 0 0 auto; }
}

/* Brand assets use the left navigation as the sole module switcher. */
.context-strip, .diagnosis-context { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: -4px 0 18px; padding: 10px 13px; border: 1px solid #d8e7db; border-radius: 10px; color: var(--muted); background: #f7fbf8; font-size: 10px; }
.context-strip strong, .diagnosis-context strong { color: var(--text); font-size: 10px; }
.context-kicker { color: var(--brand); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.context-note { color: var(--faint); }
.field-group-panel { margin-top: 18px; }
.field-group-panel .panel-header { padding-bottom: 16px; }
.field-group-panel .panel-header h3 { display: flex; align-items: center; gap: 8px; }
.field-group-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 4px #edf2ee; }
.field-group-dot.required { background: var(--red); box-shadow: 0 0 0 4px var(--red-light); }
.field-group-dot.core { background: var(--blue); box-shadow: 0 0 0 4px var(--blue-light); }
.field-group-dot.bonus { background: var(--brand); box-shadow: 0 0 0 4px var(--brand-light); }
.field-group-dot.advanced { background: var(--purple); box-shadow: 0 0 0 4px var(--purple-light); }
.guided-field { min-width: 0; gap: 6px; }
.guided-field .field-label-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.guided-field .field-label-row label { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.guided-field .field-label-row label em { padding: 2px 5px; border-radius: 4px; color: var(--red); background: var(--red-light); font-size: 8px; font-style: normal; font-weight: 700; }
.field-usage-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.field-usage { display: inline-flex; align-items: center; min-height: 17px; padding: 0 5px; border-radius: 4px; font-size: 8px; font-weight: 700; white-space: nowrap; }
.usage-content { color: var(--blue); background: var(--blue-light); }
.usage-title { color: #8a651e; background: #fff4d8; }
.usage-output { color: var(--brand); background: var(--brand-light); }
.usage-internal { color: var(--purple); background: var(--purple-light); }
.field-help, .field-example { display: block; color: var(--muted); font-size: 9px; line-height: 1.5; }
.field-example { color: var(--faint); }
.guided-field input, .guided-field textarea { background: #fbfdfb; }
.diagnosis-context { margin-top: -4px; }
.diagnosis-context .context-note { margin-left: auto; }

@media (max-width: 700px) {
  .context-strip, .diagnosis-context { align-items: flex-start; flex-direction: column; gap: 4px; }
  .diagnosis-context .context-note { margin-left: 0; }
  .guided-field .field-label-row { align-items: flex-start; flex-direction: column; }
  .field-usage-list { justify-content: flex-start; }
}

/* Collect center v1: preserve the three qishixiong views while making the
   enterprise workflow readable at a glance. */
.collect-module-tabs { margin: 0 0 20px; padding: 6px; border-color: #cfe0d4; background: #edf5ef; }
.collect-module-tabs button { min-height: 38px; padding: 0 18px; color: #52695d; font-size: 12px; font-weight: 700; }
.collect-module-tabs button:hover { color: #173d2e; background: #f9fcf9; }
.collect-module-tabs button.active { color: #173d2e; background: #c8ed72; box-shadow: 0 2px 8px rgba(38, 80, 52, .12); }
.collect-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 16px; }
.collect-filter-bar select, .collect-search { min-height: 38px; border: 1px solid #bfd4c5; border-radius: 8px; color: #173d2e; background: #fff; font-size: 12px; }
.collect-filter-bar select { min-width: 132px; padding: 0 10px; font-weight: 650; }
.collect-search { display: flex; min-width: 260px; flex: 1 1 290px; align-items: center; gap: 7px; padding: 0 11px; }
.collect-search span { color: #387455; font-size: 15px; font-weight: 800; }
.collect-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: #173d2e; background: transparent; font-size: 12px; }
.collect-search input::placeholder { color: #789083; }
.collect-filter-caption { margin-left: auto; color: #61766b; font-size: 11px; }
.collect-table-panel { overflow: hidden; }
.collect-table-panel > .panel-header { padding-bottom: 15px; }
.collect-table-panel .panel-header h2, .collect-manual-panel .panel-header h2, .collect-task-form .panel-header h2, .collect-recent-panel .panel-header h2 { color: #16392c; font-size: 15px; }
.collect-table-panel .panel-header p, .collect-manual-panel .panel-header p, .collect-task-form .panel-header p, .collect-recent-panel .panel-header p { color: #62776c; font-size: 11px; }
.collect-readonly-badge, .collect-field-note { display: inline-flex; min-height: 24px; align-items: center; padding: 0 9px; border-radius: 99px; color: #426451; background: #e8f4e8; font-size: 10px; font-weight: 750; white-space: nowrap; }
.collect-table { min-width: 1250px; }
.collect-table th { height: 44px; color: #52695d; background: #f5faf6; font-size: 11px; font-weight: 800; white-space: nowrap; }
.collect-table td { height: 63px; color: #203e31; font-size: 12px; white-space: nowrap; }
.collect-table tbody tr:hover { background: #f2f9f3; }
.collect-keyword-cell, .collect-source-cell { display: block; min-width: 190px; white-space: normal; }
.collect-keyword-cell strong { display: block; color: #143b2c; font-size: 12px; line-height: 1.45; }
.collect-keyword-cell small, .collect-source-cell small { display: block; margin-top: 4px; color: #768a7e; font-size: 10px; line-height: 1.35; }
.collect-score { color: #246543; font-weight: 800; }
.collect-unscored { color: #7d8f84; }
.collect-actions { display: flex; align-items: center; gap: 6px; }
.collect-actions .button-small { min-height: 31px; padding: 0 9px; font-size: 11px; font-weight: 750; }
.button-quiet { border: 1px solid #d5e3d8; color: #496b57; background: #f6faf6; }
.button-quiet:hover { border-color: #8eb59a; color: #174a32; background: #eaf6e9; }
.collect-manual-panel, .collect-task-form { margin-bottom: 18px; border-color: #bad4c0; box-shadow: 0 8px 22px rgba(37, 82, 53, .07); }
.selection-panel { overflow: hidden; }
.selection-record { padding: 16px 20px; border-top: 1px solid #e5eee7; color: #294d3c; }
.selection-record:first-child { border-top: 0; }
.selection-record strong, .selection-record small, .selection-record p { display: block; }
.selection-record strong { color: #16392c; font-size: 13px; }
.selection-record small { margin-top: 4px; color: #71857a; font-size: 10px; }
.selection-record p { margin: 8px 0 0; color: #60766a; font-size: 11px; line-height: 1.5; }
.selection-panel > ul { margin: 0; padding: 0 20px 18px 38px; color: #60766a; font-size: 11px; }
.selection-panel > ul li { margin-top: 12px; }
.selection-panel > ul span, .selection-panel > ul strong { display: block; margin-top: 4px; }
.selection-panel > ul pre { overflow: auto; margin: 6px 0 0; padding: 8px; border-radius: 6px; color: #456452; background: #f4f9f4; font-size: 10px; white-space: pre-wrap; }
.collect-form-grid { padding-top: 0; }
.collect-form-grid .field > span { display: block; color: #294d3c; font-size: 12px; font-weight: 800; }
.collect-form-grid .field > span em { margin-left: 5px; color: #b33f35; font-size: 10px; font-style: normal; }
.collect-form-grid .field > span small { color: #789083; font-size: 10px; font-weight: 500; }
.collect-form-grid input, .collect-form-grid select { min-height: 40px; border-color: #bfd4c5; color: #193e2e; background: #fbfefb; font-size: 12px; }
.collect-form-grid input::placeholder { color: #8a9d91; }
.collect-form-hint { color: #6a7e72; font-size: 11px; line-height: 1.5; }
.button-row { display: flex; align-items: center; gap: 8px; }
.collect-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.collect-source-card { min-width: 0; overflow: hidden; border-color: #c9ddd0; }
.collect-source-card.is-unavailable { opacity: .78; }
.collect-source-header { display: flex; align-items: center; gap: 10px; padding: 17px 18px 14px; border-bottom: 1px solid #edf2ee; }
.collect-platform-emoji { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #eef7ef; font-size: 19px; }
.collect-source-header h2 { margin: 0; color: #173d2e; font-size: 14px; }
.collect-source-header small { display: block; margin-top: 4px; color: #789083; font-family: ui-monospace, Consolas, monospace; font-size: 10px; }
.collect-health-dot { width: 9px; height: 9px; margin-left: auto; border-radius: 50%; background: #d3ded6; box-shadow: 0 0 0 4px #f0f4f0; }
.collect-health-dot.healthy { background: #3e9b67; box-shadow: 0 0 0 4px #e6f5e9; }
.collect-source-body { display: grid; gap: 9px; padding: 15px 18px 8px; }
.collect-source-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #61766b; font-size: 11px; }
.collect-source-row strong { color: #254c39; font-size: 11px; }
.collect-source-row strong.is-ok { color: #2b7950; }
.collect-source-row strong.is-warn { color: #9a711f; }
.collect-models { display: flex; flex-wrap: wrap; gap: 5px; padding: 7px 18px 13px; }
.collect-models span { padding: 4px 7px; border-radius: 5px; color: #476552; background: #edf5ef; font-size: 10px; }
.collect-source-footer { padding: 0 18px 17px; }
.collect-source-footer label { display: flex; align-items: center; gap: 8px; color: #61766b; font-size: 11px; }
.collect-source-footer select { min-width: 0; flex: 1; min-height: 32px; padding: 0 7px; border: 1px solid #c7d9cb; border-radius: 6px; color: #214a37; background: #fff; font-size: 10px; }
.collect-source-refresh-state { display: inline-flex; min-height: 34px; align-items: center; padding: 0 4px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.collect-source-empty { margin: 5px 18px 18px; padding: 10px; border-radius: 7px; color: #7a8c82; background: #f5f8f5; font-size: 10px; line-height: 1.5; }
.collect-config-note { margin-top: 4px; padding: 14px 16px; border: 1px solid #d0dfd3; border-radius: 10px; color: #60766a; background: #f7fbf7; font-size: 11px; line-height: 1.6; }
.collect-config-note strong { color: #244b38; }
.collect-config-note p { margin: 4px 0 0; }
.collect-task-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 14px; color: #61766b; font-size: 11px; }
.collect-task-summary strong { color: #1e4935; font-size: 13px; }
.collect-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.collect-task-card { min-width: 0; overflow: hidden; border-color: #c9ddd0; }
.collect-task-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 17px 18px 13px; border-bottom: 1px solid #edf2ee; }
.collect-task-header h2 { margin: 0; color: #173d2e; font-size: 14px; line-height: 1.4; }
.collect-task-header small { display: block; margin-top: 5px; overflow: hidden; color: #83958b; font-family: ui-monospace, Consolas, monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.collect-task-statuses { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.collect-task-statuses .chip { min-height: 24px; font-size: 10px; }
.button-icon { border: 0; background: transparent; }
.collect-task-delete { width: 28px; height: 28px; border-radius: 6px; color: #82938a; font-size: 13px; }
.collect-task-delete:hover { color: #a2443a; background: #fff0ed; }
.collect-task-body { display: grid; gap: 9px; padding: 15px 18px 13px; }
.collect-task-row { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 10px; color: #708278; font-size: 10px; }
.collect-task-row > strong { min-width: 0; overflow: hidden; color: #315441; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.collect-platform-progress { display: flex; min-width: 0; align-items: center; gap: 4px; }
.collect-platform-progress i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #d8e4da; border-radius: 5px; color: #98a89e; background: #f7faf7; font-size: 9px; font-style: normal; }
.collect-platform-progress i.done { border-color: #9cc7a7; color: #236a43; background: #e9f7e9; }
.collect-platform-progress strong { margin-left: 4px; color: #335e45; font-size: 10px; }
.collect-progress { height: 6px; overflow: hidden; border-radius: 999px; background: #e1ece3; }
.collect-progress i { display: block; height: 100%; border-radius: inherit; background: #4c9e68; }
.collect-task-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 18px 14px; }
.collect-task-actions .button-small { min-height: 31px; padding: 0 10px; font-size: 11px; font-weight: 750; }
.collect-task-hint { color: #7b8d82; font-size: 10px; }
.collect-pipeline { display: flex; align-items: center; gap: 7px; padding: 10px 18px; border-top: 1px solid #edf2ee; color: #91a198; background: #f7fbf7; font-size: 10px; }
.collect-pipeline .done { color: #2e7b4e; font-weight: 800; }
.collect-pipeline .current { color: #9b721f; font-weight: 800; }
.collect-pipeline b { color: #c0cec3; font-weight: 500; }
.collect-platform-field { grid-column: 1 / -1; }
.collect-platform-checkboxes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.collect-platform-check { display: inline-flex; align-items: center; gap: 6px; min-height: 35px; padding: 0 10px; border: 1px solid #cbded0; border-radius: 7px; color: #315441; background: #fbfefb; font-size: 11px; font-weight: 650; }
.collect-platform-check:has(input:checked) { border-color: #6eaa78; color: #1e633d; background: #eaf7e9; }
.collect-platform-check.is-disabled { color: #9aa9a0; background: #f4f6f4; }
.collect-platform-check input { accent-color: #3e8c59; }
.collect-recent-panel { margin-top: 18px; }
.collect-recent-keywords { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 20px 19px; }
.collect-recent-keywords span { padding: 7px 9px; border: 1px solid #d8e6da; border-radius: 7px; color: #315441; background: #f8fcf8; font-size: 10px; }
.collect-recent-keywords small { margin-left: 4px; color: #7d9184; }
.collect-next-step { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 15px; padding: 12px 14px; border: 1px solid #d6e4d9; border-radius: 9px; color: #64796d; background: #f7fbf7; font-size: 11px; }
.collect-next-step button { border: 0; color: #33734c; background: transparent; font-size: 11px; font-weight: 750; }
.collect-next-step button:hover { color: #163e2b; text-decoration: underline; }
.collect-modal-overlay { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(19, 45, 33, .36); }
.collect-title-modal { position: relative; width: min(720px, 100%); max-height: min(780px, calc(100vh - 44px)); overflow: auto; padding: 26px; border: 1px solid #bcd4c1; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(23, 61, 46, .2); }
.collect-modal-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 21px; line-height: 1; }
.collect-modal-close:hover { color: #173d2e; background: #e2f0e4; }
.collect-title-modal h2 { margin: 5px 40px 7px 0; color: #16392c; font-size: 19px; }
.collect-modal-sub { margin: 0 0 15px; color: #62776c; font-size: 11px; line-height: 1.6; }
.collect-fallback-note { margin-bottom: 12px; padding: 8px 10px; border-radius: 7px; color: #8a671f; background: #fff7dd; font-size: 10px; }
.collect-title-cards { display: grid; gap: 9px; }
.collect-title-card { display: grid; grid-template-columns: 28px minmax(0, 1fr) 22px; gap: 10px; width: 100%; padding: 13px; border: 1px solid #d5e3d8; border-radius: 10px; color: #173d2e; background: #fff; text-align: left; }
.collect-title-card:hover { border-color: #8fbe9b; background: #f8fcf8; }
.collect-title-card.selected { border-color: #4a9360; background: #edf8e9; box-shadow: 0 0 0 2px rgba(74, 147, 96, .1); }
.collect-title-rank { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; color: #2f744a; background: #e2f2e2; font-size: 11px; font-weight: 850; }
.collect-title-copy strong, .collect-title-copy small, .collect-title-copy em { display: block; }
.collect-title-copy strong { color: #153b2c; font-size: 12px; line-height: 1.5; }
.collect-title-copy small { margin-top: 4px; color: #527060; font-size: 10px; line-height: 1.45; }
.collect-title-copy em { margin-top: 3px; color: #82938a; font-size: 9px; font-style: normal; line-height: 1.45; }
.collect-title-platforms { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.collect-title-platforms i { padding: 3px 6px; border-radius: 4px; color: #416b50; background: #eaf5ea; font-size: 9px; font-style: normal; }
.collect-title-check { display: grid; width: 20px; height: 20px; place-items: center; align-self: start; border: 1px solid #b9cfbd; border-radius: 50%; color: #fff; background: #fff; font-size: 12px; font-weight: 850; }
.collect-title-card.selected .collect-title-check { border-color: #4a9360; background: #4a9360; }
.collect-selected-count { margin: 13px 0 0; color: #36704a; font-size: 11px; text-align: center; }
.collect-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.collect-modal-actions .button { min-height: 35px; font-size: 11px; font-weight: 750; }

@media (max-width: 980px) {
  .collect-source-grid, .collect-task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .collect-source-grid, .collect-task-grid { grid-template-columns: 1fr; }
  .collect-filter-caption { width: 100%; margin-left: 0; }
  .collect-title-modal { padding: 20px 15px; }
  .collect-modal-actions { flex-wrap: wrap; }
  .collect-modal-actions .button { flex: 1; }
  .collect-task-row { grid-template-columns: 50px minmax(0, 1fr); }
  .collect-platform-progress i { width: 18px; height: 18px; }
}

/* Readability pass v3: remove development chrome and establish one contrast
   system for the daily working canvas. */
:root {
  --ink: #16382a;
  --text: #1d3e2f;
  --muted: #536f61;
  --faint: #71887b;
  --line: #c8ddd0;
  --paper: #f2f6f3;
  --white: #ffffff;
  --surface-1: #ffffff;
  --surface-2: #f7fbf8;
  --surface-3: #eaf4ed;
  --brand: #216c4c;
  --brand-light: #e1f1e7;
  --accent: #b9e95b;
  --blue: #236f7b;
  --blue-light: #e3f2f4;
  --orange: #9b5d25;
  --orange-light: #fff1df;
  --red: #a54442;
  --red-light: #ffebea;
  --purple: #6752ae;
  --purple-light: #eeeafd;
  --shadow-sm: 0 2px 12px rgba(28, 76, 51, .07);
  --shadow-md: 0 18px 48px rgba(28, 76, 51, .14);
}

html, body { color: var(--text); background: var(--paper); }
body { font-size: 14px; line-height: 1.55; }
.prototype-label, .console-context, .save-state { display: none !important; }
.topbar { min-height: 74px; padding: 0 30px; border-color: #d2e1d7; background: rgba(255,255,255,.94); }
.topbar-left { min-width: 210px; }
.breadcrumbs { gap: 10px; color: var(--faint); font-size: 13px; font-weight: 600; }
.breadcrumbs span { color: var(--faint); }
.breadcrumbs strong { color: var(--ink); font-weight: 800; }
.topbar-right { gap: 10px; }
.command-search-wrap { position: relative; flex: 0 0 auto; }
.topbar-workspace .workspace-switch { min-width: 174px; min-height: 42px; padding: 7px 11px; border-color: #bfd5c6; background: #f8fbf9; }
.topbar-workspace .workspace-switch-copy small { color: #678072; font-size: 10px; }
.topbar-workspace .workspace-switch-copy strong { color: var(--ink); font-size: 12px; }
.command-search { min-height: 42px; min-width: 228px; padding: 7px 10px; border-color: #bfd5c6; color: var(--muted); background: #f8fbf9; }
.command-search span { color: #426756; background: #eef6f0; }
.command-search b { color: var(--text); font-size: 11px; }
.command-search-panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 95; width: min(440px, calc(100vw - 32px)); overflow: hidden; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: 0 18px 48px rgba(28, 76, 51, .18); }
.command-search-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 17px 12px; border-bottom: 1px solid #e4eee7; }
.command-search-panel-header strong, .command-search-panel-header span { display: block; }
.command-search-panel-header strong { color: var(--ink); font-size: 14px; font-weight: 800; }
.command-search-panel-header span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.command-search-panel-header kbd { padding: 3px 7px; border: 1px solid #d5e4d9; border-radius: 5px; color: var(--faint); background: #f7fbf8; font-size: 10px; }
.global-search-field { display: flex; align-items: center; gap: 8px; margin: 13px 16px 9px; padding: 0 10px; border: 1px solid #bcd6c5; border-radius: 9px; background: #f8fbf9; }
.global-search-field:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(33,108,76,.1); background: #fff; }
.global-search-field span { color: var(--brand); font-size: 18px; }
.global-search-field input { width: 100%; min-height: 39px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.global-search-field input::placeholder { color: var(--faint); }
.global-search-results { max-height: 390px; overflow-y: auto; padding: 0 7px 7px; }
.global-search-result { display: grid; width: 100%; grid-template-columns: 28px minmax(0, 1fr) auto 16px; align-items: center; gap: 9px; padding: 10px 9px; border: 0; border-radius: 8px; color: var(--text); background: #fff; text-align: left; }
.global-search-result:hover { background: #f0f8f2; }
.global-search-result-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 7px; color: #357555; background: #e5f3e8; font-size: 15px; font-weight: 800; }
.global-search-result > span:nth-child(2), .global-search-result > span:nth-child(2) strong, .global-search-result > span:nth-child(2) small { display: block; min-width: 0; }
.global-search-result strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result em { color: var(--faint); font-size: 10px; font-style: normal; white-space: nowrap; }
.global-search-result i { color: #769281; font-size: 15px; font-style: normal; }
.global-search-empty { display: grid; place-items: center; padding: 30px 16px; text-align: center; }
.global-search-empty span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #347254; background: #e6f3e9; font-size: 20px; }
.global-search-empty strong { margin-top: 9px; color: var(--ink); font-size: 13px; }
.global-search-empty small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.command-search-panel-footer { display: flex; justify-content: flex-end; gap: 12px; padding: 9px 16px; border-top: 1px solid #e4eee7; color: var(--faint); background: #f7fbf8; font-size: 10px; }
.topbar-activity { position: relative; display: flex; align-items: center; gap: 5px; padding: 3px; border: 1px solid #d4e3d8; border-radius: 10px; background: #f7fbf8; overflow: visible; }
.activity-button { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 9px; border: 0; border-radius: 7px; color: #385b49; background: transparent; font-size: 12px; font-weight: 700; }
.activity-button:hover { color: var(--brand); background: #e6f3e9; }
.activity-symbol { color: var(--brand); font-size: 16px; line-height: 1; }
.activity-button .topbar-count { min-width: 19px; height: 19px; margin-left: 1px; color: #23452f; background: var(--accent); font-size: 10px; }
.notification-button { position: relative; font-size: 12px; }
.notification-button i { top: 4px; right: 5px; width: 6px; height: 6px; border-color: #f7fbf8; }
.notification-count { display: inline-grid; min-width: 18px; height: 18px; place-items: center; padding: 0 4px; border-radius: 999px; color: #27442e; background: var(--accent); font-size: 10px; font-weight: 800; line-height: 1; }
.notification-count[hidden], .notification-button i[hidden] { display: none; }
.notification-panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 90; width: min(380px, calc(100vw - 32px)); overflow: hidden; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: 0 18px 48px rgba(28, 76, 51, .18); }
.notification-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 17px 13px; border-bottom: 1px solid #e4eee7; }
.notification-panel-header strong, .notification-panel-header span { display: block; }
.notification-panel-header strong { color: var(--ink); font-size: 14px; font-weight: 800; }
.notification-panel-header span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.notification-mark-read { flex: 0 0 auto; padding: 2px 0; border: 0; color: var(--brand); background: transparent; font-size: 11px; font-weight: 750; }
.notification-mark-read:hover { color: #174d36; text-decoration: underline; }
.notification-list { max-height: 390px; overflow-y: auto; }
.notification-item { display: grid; width: 100%; grid-template-columns: 26px minmax(0, 1fr) 16px; align-items: start; gap: 9px; padding: 13px 16px; border: 0; border-bottom: 1px solid #edf3ef; color: var(--text); background: #fff; text-align: left; }
.notification-item:hover { background: #f3faf5; }
.notification-item.is-read { background: #fbfdfb; }
.notification-item-icon { display: grid; width: 24px; height: 24px; place-items: center; margin-top: 1px; border-radius: 8px; color: #fff; font-size: 15px; font-weight: 900; line-height: 1; }
.notification-tone-warn { background: #d6863f; }
.notification-tone-info { background: #4c91a0; }
.notification-tone-success { background: #52966b; }
.notification-tone-purple { background: #7968bd; }
.notification-item-copy, .notification-item-copy strong, .notification-item-copy small, .notification-item-copy em { display: block; }
.notification-item-copy { min-width: 0; }
.notification-item-copy strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.notification-item-copy small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.notification-item-copy em { margin-top: 5px; color: var(--faint); font-size: 10px; font-style: normal; }
.notification-item-arrow { align-self: center; color: #739181; font-size: 20px; line-height: 1; }
.notification-empty { display: grid; place-items: center; padding: 32px 16px; text-align: center; }
.notification-empty span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #347254; background: #e6f3e9; font-weight: 900; }
.notification-empty strong { margin-top: 10px; color: var(--ink); font-size: 13px; }
.notification-empty small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.notification-panel-footer { padding: 10px 16px; background: #f7fbf8; }
.notification-panel-footer button { width: 100%; padding: 8px; border: 0; border-radius: 7px; color: var(--brand); background: transparent; font-size: 11px; font-weight: 800; }
.notification-panel-footer button:hover { background: #e6f3e9; }
.task-queue-panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 90; width: min(420px, calc(100vw - 32px)); overflow: hidden; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: 0 18px 48px rgba(28, 76, 51, .18); }
.task-queue-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 17px 13px; border-bottom: 1px solid #e4eee7; }
.task-queue-panel-header strong, .task-queue-panel-header span { display: block; }
.task-queue-panel-header strong { color: var(--ink); font-size: 14px; font-weight: 800; }
.task-queue-panel-header span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.task-queue-live { flex: 0 0 auto; margin-top: 0 !important; padding: 4px 8px; border-radius: 999px; color: #357555 !important; background: #e5f3e8; font-size: 10px !important; font-weight: 800; }
.task-queue-list { max-height: 410px; overflow-y: auto; }
.task-queue-item { display: grid; width: 100%; grid-template-columns: 28px minmax(0, 1fr) auto 16px; align-items: center; gap: 9px; padding: 12px 16px; border: 0; border-bottom: 1px solid #edf3ef; color: var(--text); background: #fff; text-align: left; }
.task-queue-item:hover { background: #f3faf5; }
.task-queue-status { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; color: #fff; font-size: 14px; font-weight: 900; line-height: 1; }
.task-queue-tone-success { background: #52966b; }
.task-queue-tone-info { background: #4c91a0; }
.task-queue-tone-purple { background: #7968bd; }
.task-queue-tone-warn { background: #d6863f; }
.task-queue-tone-gray { color: #557263; background: #e4eee7; }
.task-queue-copy, .task-queue-copy strong, .task-queue-copy small { display: block; }
.task-queue-copy { min-width: 0; }
.task-queue-copy strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.task-queue-copy small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.task-queue-meta { display: grid; justify-items: end; gap: 3px; white-space: nowrap; }
.task-queue-meta b { color: var(--brand); font-size: 10px; font-weight: 800; }
.task-queue-meta em { color: var(--faint); font-size: 10px; font-style: normal; }
.task-queue-arrow { color: #739181; font-size: 20px; line-height: 1; }
.task-queue-panel-footer { padding: 10px 16px; background: #f7fbf8; }
.task-queue-panel-footer button { width: 100%; padding: 8px; border: 0; border-radius: 7px; color: var(--brand); background: transparent; font-size: 11px; font-weight: 800; }
.task-queue-panel-footer button:hover { background: #e6f3e9; }
.topbar-divider { background: #d4e3d8; }
.topbar-user { color: var(--ink); font-size: 12px; font-weight: 700; }
.page-container { padding: 32px 40px 72px; }
.page-heading { margin-bottom: 24px; }
.eyebrow { margin-bottom: 9px; color: var(--brand); font-size: 11px; letter-spacing: .12em; }
.page-heading h1 { color: var(--ink); font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
.page-heading p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.button { min-height: 40px; padding: 0 15px; font-size: 12px; font-weight: 750; }
.button-small { min-height: 33px; padding: 0 11px; font-size: 11px; }
.panel-header h2, .panel-header h3, .fact-card h3, .self-callout h3, .empty-state h3 { color: var(--ink); }
.panel-header h3 { font-size: 15px; }
.panel-header p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.stat-card { min-height: 126px; padding: 20px 21px; }
.stat-top { color: var(--muted); font-size: 12px; font-weight: 750; }
.stat-value { margin-top: 12px; color: var(--ink); font-size: 30px; }
.stat-meta { color: var(--muted); font-size: 11px; }
.stat-icon { color: var(--brand); background: var(--brand-light); }
.nav-group-label { color: #e2efe5; font-size: 14px; }
.nav-group-count { color: #b9d2c1; font-size: 11px; }
.nav-item { color: #d5e5da; font-size: 14px; }
.nav-item:hover { color: #fff; }
.nav-item.active { color: #173126; }
.data-table { font-size: 12px; }
.data-table th { padding: 12px 11px; color: #4b6859; font-size: 12px; font-weight: 800; }
.data-table td { padding: 14px 11px; color: var(--text); font-size: 13px; vertical-align: middle; }
.chip { min-height: 25px; padding: 0 9px; font-size: 10px; }
.field label, .field > span { color: var(--text); font-size: 12px; }
.field input, .field textarea, .field select { color: var(--text); font-size: 13px; }

/* A clear three-view switch: the active view is a filled control, not a
   subtle text change that users have to hunt for. */
.collect-tabs-shell { margin: -5px 0 22px; padding: 13px; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.collect-tabs-heading { display: flex; align-items: baseline; gap: 9px; margin: 0 2px 10px; }
.collect-tabs-heading strong { color: var(--ink); font-size: 13px; }
.collect-tabs-heading span { color: var(--muted); font-size: 11px; }
.collect-module-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; border: 0; background: transparent; }
.collect-module-tabs button { display: grid; grid-template-columns: 28px minmax(0, 1fr) 18px; min-height: 60px; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid #cbded1; border-radius: 10px; color: #365b48; background: #f7fbf8; text-align: left; }
.collect-module-tabs button:hover { border-color: #73a982; color: var(--brand); background: #edf7ef; box-shadow: 0 4px 12px rgba(33,108,76,.08); }
.collect-module-tabs button.active { border-color: #1f6748; color: #fff; background: #1f6748; box-shadow: 0 6px 16px rgba(31,103,72,.2); }
.collect-tab-index { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: var(--brand); background: #e0f0e5; font-family: ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 800; }
.collect-module-tabs button.active .collect-tab-index { color: #244932; background: var(--accent); }
.collect-tab-copy { min-width: 0; }
.collect-tab-copy strong, .collect-tab-copy small { display: block; }
.collect-tab-copy strong { color: inherit; font-size: 13px; font-weight: 800; }
.collect-tab-copy small { margin-top: 3px; color: #6f8879; font-size: 10px; }
.collect-module-tabs button.active .collect-tab-copy small { color: #d5ebda; }
.collect-tab-arrow { color: #71917e; font-size: 17px; }
.collect-module-tabs button.active .collect-tab-arrow { color: var(--accent); }
.collect-filter-bar { gap: 10px; margin-bottom: 17px; }
.collect-filter-bar select, .collect-search { min-height: 42px; color: var(--text); font-size: 13px; }
.collect-filter-bar select { min-width: 150px; }
.collect-search input { color: var(--text); font-size: 13px; }
.collect-filter-caption { color: var(--muted); font-size: 12px; }
.collect-table-panel .panel-header h2, .collect-manual-panel .panel-header h2, .collect-task-form .panel-header h2, .collect-recent-panel .panel-header h2 { color: var(--ink); font-size: 16px; }
.collect-table-panel .panel-header p, .collect-manual-panel .panel-header p, .collect-task-form .panel-header p, .collect-recent-panel .panel-header p { color: var(--muted); font-size: 12px; }
.collect-table { min-width: 1400px; table-layout: fixed; }
.collect-table th, .collect-table td { vertical-align: middle; }
.collect-table th:nth-child(1), .collect-table td:nth-child(1) { width: 48px; }
.collect-table th:nth-child(2), .collect-table td:nth-child(2) { width: 330px; }
.collect-table th:nth-child(3), .collect-table td:nth-child(3) { width: 125px; }
.collect-table th:nth-child(4), .collect-table td:nth-child(4) { width: 105px; }
.collect-table th:nth-child(5), .collect-table td:nth-child(5) { width: 100px; }
.collect-table th:nth-child(6), .collect-table td:nth-child(6) { width: 105px; }
.collect-table th:nth-child(7), .collect-table td:nth-child(7) { width: 150px; }
.collect-table th:nth-child(8), .collect-table td:nth-child(8) { width: 95px; }
.collect-table th:nth-child(9), .collect-table td:nth-child(9) { width: 95px; }
.collect-table th:nth-child(10), .collect-table td:nth-child(10) { width: 115px; }
.collect-table th:nth-child(11), .collect-table td:nth-child(11) { width: 200px; }
.collect-table th { height: 48px; padding: 12px; color: #3f6250; background: #eef6f0; font-size: 12px; }
.collect-table td { height: 70px; padding: 13px 12px; color: var(--text); font-size: 13px; }
.collect-keyword-cell { min-width: 0; }
.collect-keyword-cell strong { color: #183f2d; font-size: 13px; line-height: 1.55; }
.collect-keyword-cell small, .collect-source-cell small { color: #668074; font-size: 11px; }
.collect-actions { gap: 7px; }
.collect-actions .button-small { min-height: 34px; padding: 0 10px; font-size: 11px; }
.collect-score { color: #216a47; font-size: 12px; }
.collect-unscored { color: #60796c; }
.collect-readonly-badge, .collect-field-note { color: #2b5d41; background: #e5f3e7; font-size: 11px; }
.collect-source-row, .collect-task-row { color: #557164; font-size: 12px; }
.collect-source-row strong, .collect-task-row > strong { color: #2a583e; font-size: 12px; }
.collect-source-header h2, .collect-task-header h2 { color: var(--ink); font-size: 16px; }
.collect-source-header small, .collect-task-header small { color: #6b8275; font-size: 10px; }
.collect-task-summary { color: var(--muted); font-size: 12px; }
.collect-task-summary strong { color: var(--ink); font-size: 14px; }
.collect-task-hint, .collect-form-hint { color: #5d786a; font-size: 11px; }

/* Keep every keyword column inside the viewport. Long keywords wrap inside a
   fixed column while the action column remains visible beside it. */
.collect-table-wrap { overflow-x: hidden; overflow-y: visible; }
.collect-table { width: 100%; min-width: 0; table-layout: fixed; }
.collect-table th:nth-child(1), .collect-table td:nth-child(1) { width: 4%; }
.collect-table th:nth-child(2), .collect-table td:nth-child(2) { width: 18%; }
.collect-table th:nth-child(3), .collect-table td:nth-child(3) { width: 8%; }
.collect-table th:nth-child(4), .collect-table td:nth-child(4) { width: 7%; }
.collect-table th:nth-child(5), .collect-table td:nth-child(5) { width: 7%; }
.collect-table th:nth-child(6), .collect-table td:nth-child(6) { width: 7%; }
.collect-table th:nth-child(7), .collect-table td:nth-child(7) { width: 11%; }
.collect-table th:nth-child(8), .collect-table td:nth-child(8) { width: 7%; }
.collect-table th:nth-child(9), .collect-table td:nth-child(9) { width: 7%; }
.collect-table th:nth-child(10), .collect-table td:nth-child(10) { width: 8%; }
.collect-table th:nth-child(11), .collect-table td:nth-child(11) { width: 16%; }
.collect-table th, .collect-table td { white-space: normal; overflow-wrap: anywhere; }
.collect-table td:first-child, .collect-table th:first-child { text-align: center; }
.collect-keyword-cell, .collect-source-cell { width: 100%; min-width: 0; overflow-wrap: anywhere; }
.collect-keyword-cell strong { word-break: break-all; }
.collect-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.collect-actions .button { width: 100%; min-width: 0; justify-content: center; white-space: normal; line-height: 1.25; }

/* Replace one-character metric glyphs with a consistent line-icon family. */
.collect-stat-icon { width: 32px; height: 32px; border: 1px solid #d1e5d7; border-radius: 9px; color: #267650; background: #e7f4ea; }
.collect-stat-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.collect-stat-icon.stat-icon-priority { color: #a56d26; border-color: #f1dfbd; background: #fff4e4; }
.collect-stat-icon.stat-icon-score { color: #5e58a8; border-color: #ddd9f5; background: #f0edff; }
.collect-stat-icon.stat-icon-selected { color: #24745a; border-color: #cbe4d3; background: #e4f4e9; }

/* Equalize the two adjacent top controls by height, not by their content. */
.topbar-workspace .workspace-switch, .command-search { height: 44px; min-height: 44px; }
.topbar-workspace .workspace-switch { padding-top: 5px; padding-bottom: 5px; }
.command-search { padding-top: 7px; padding-bottom: 7px; }

@media (max-width: 1080px) {
  .topbar { padding: 0 22px; }
  .topbar-left { min-width: 0; }
  .command-search { min-width: 185px; }
}

@media (max-width: 700px) {
  .topbar { padding: 0 15px; }
  .breadcrumbs { display: none; }
  .topbar-activity { display: none; }
  .command-search { min-width: 42px; width: 42px; justify-content: center; padding: 5px; }
  .command-search b { display: none; }
  .topbar-workspace .workspace-switch { min-width: 150px; }
  .collect-tabs-shell { padding: 9px; }
  .collect-module-tabs { overflow-x: auto; grid-template-columns: repeat(3, minmax(190px, 1fr)); }
}

/* Collect center refinement: make the three views read as navigation tabs,
   not as three unrelated action cards. */
.collect-tabs-shell { margin: -5px 0 22px; padding: 0 16px; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.collect-tabs-heading { display: flex; min-height: 49px; align-items: center; justify-content: space-between; gap: 12px; margin: 0; border-bottom: 1px solid #e5eee7; }
.collect-tabs-heading > div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.collect-tabs-heading strong { color: var(--ink); font-size: 13px; }
.collect-tabs-heading span { color: var(--muted); font-size: 11px; }
.collect-tabs-context { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #dce9df; border-radius: 999px; color: #5d786a !important; background: #f5faf6; font-size: 10px !important; font-weight: 750; }
.collect-module-tabs { display: flex; gap: 0; margin: 0; padding: 0; border: 0; background: transparent; overflow: hidden; }
.collect-module-tabs button { position: relative; display: flex; flex: 1 1 0; min-width: 0; min-height: 62px; align-items: center; gap: 10px; padding: 9px 16px 10px; border: 0; border-radius: 0; color: #5d786a; background: transparent; box-shadow: none; text-align: left; }
.collect-module-tabs button::after { position: absolute; right: 16px; bottom: 0; left: 16px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.collect-module-tabs button:hover { color: var(--brand); background: #f7fbf8; box-shadow: none; }
.collect-module-tabs button:hover::after { background: #b9d8c0; }
.collect-module-tabs button.active { color: var(--ink); background: #f2faf4; box-shadow: none; }
.collect-module-tabs button.active::after { background: var(--brand); }
.collect-tab-index { flex: 0 0 auto; width: 29px; height: 29px; border: 1px solid #d5e7d9; border-radius: 8px; color: #4b765d; background: #edf6ef; font-size: 10px; }
.collect-module-tabs button.active .collect-tab-index { border-color: #c7e78a; color: #294c35; background: var(--accent); }
.collect-tab-copy { min-width: 0; }
.collect-tab-copy strong, .collect-tab-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collect-tab-copy strong { color: inherit; font-size: 13px; font-weight: 800; }
.collect-tab-copy small { margin-top: 3px; color: #789184; font-size: 10px; }
.collect-module-tabs button.active .collect-tab-copy small { color: #5a8066; }
.collect-tab-state { flex: 0 0 auto; margin-left: auto; color: #94a79a; font-size: 10px; font-weight: 700; }
.collect-module-tabs button.active .collect-tab-state { color: var(--brand); }

/* Give search and select controls a deliberate icon well and a safe arrow
   inset so native browser decorations never touch the field edge. */
.collect-filter-bar { display: grid; grid-template-columns: minmax(260px, 1fr) 178px 150px auto; align-items: center; gap: 10px; margin-bottom: 17px; }
.collect-search, .collect-select-control { height: 44px; min-height: 44px; border: 1px solid #bfd5c6; border-radius: 9px; color: var(--text); background: #fff; }
.collect-search { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 4px 10px 4px 7px; }
.collect-search-icon { display: inline-grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 7px; color: var(--brand); background: #eef7f0; }
.collect-search-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.collect-search input { min-width: 0; flex: 1; height: 32px; padding: 0 3px; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; }
.collect-search input::placeholder { color: #789083; }
.collect-select-control { position: relative; display: flex; min-width: 0; }
.collect-select-control select { width: 100%; min-width: 0; height: 42px; padding: 0 38px 0 13px; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; font-weight: 700; appearance: none; -webkit-appearance: none; cursor: pointer; }
.collect-select-control select::-ms-expand { display: none; }
.collect-select-chevron { position: absolute; top: 50%; right: 10px; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 5px; color: var(--brand); background: #eef7f0; pointer-events: none; transform: translateY(-50%); }
.collect-select-chevron svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.collect-filter-caption { margin-left: 0; color: var(--muted); font-size: 12px; white-space: nowrap; }
.collect-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 20px 16px; border-top: 1px solid #e7efe9; color: var(--muted); font-size: 12px; }
.collect-pagination > span { flex: 1; text-align: center; }
.collect-pagination .button { min-width: 92px; }
.collect-pagination .button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* Rebalance the metric cards: label first, value second, explanation last.
   The thin top rule gives each card a visual anchor without adding noise. */
.collect-stat-grid { gap: 15px; }
.collect-stat-grid .stat-card { position: relative; display: flex; min-height: 142px; flex-direction: column; padding: 21px 22px 17px; overflow: hidden; }
.collect-stat-grid .stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--card-accent, #72a981); content: ""; }
.collect-stat-grid .stat-card:nth-child(1) { --card-accent: #3d9565; }
.collect-stat-grid .stat-card:nth-child(2) { --card-accent: #d49a45; }
.collect-stat-grid .stat-card:nth-child(3) { --card-accent: #8178c8; }
.collect-stat-grid .stat-card:nth-child(4) { --card-accent: #4c9b7a; }
.collect-stat-grid .stat-top { min-height: 34px; align-items: center; color: var(--ink); font-size: 13px; letter-spacing: .01em; }
.collect-stat-grid .stat-value { margin-top: 16px; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size: 34px; font-weight: 700; letter-spacing: -.07em; line-height: 1; }
.collect-stat-grid .stat-meta { margin-top: auto; padding-top: 11px; border-top: 1px solid #e7efe9; color: var(--muted); font-size: 12px; line-height: 1.35; }
.collect-stat-icon { width: 34px; height: 34px; border-radius: 9px; }
.collect-stat-icon svg { width: 18px; height: 18px; }

/* Replace the handwritten-looking emoji before “衍生标题” with a small
   document-and-spark icon that aligns with the button text baseline. */
.collect-actions .button { gap: 6px; }
.collect-action-icon { display: inline-grid; flex: 0 0 auto; width: 17px; height: 17px; place-items: center; color: currentColor; }
.collect-action-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }

@media (max-width: 1080px) {
  .collect-filter-bar { grid-template-columns: minmax(220px, 1fr) 160px 140px; }
  .collect-filter-caption { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .collect-tabs-heading { min-height: 45px; }
  .collect-module-tabs { overflow-x: auto; }
  .collect-module-tabs button { flex: 0 0 190px; }
  .collect-filter-bar { grid-template-columns: 1fr; }
  .collect-select-control { width: 100%; }
  .collect-filter-caption { grid-column: auto; }
}

/* Final tab decision: page-level line tabs. The page title already names the
   module, so the switcher only carries the three sibling view labels. */
.collect-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; border-bottom: 1px solid #d9e8dd; border-radius: 0; background: transparent; box-shadow: none; }
.collect-module-tabs { display: flex; gap: 0; margin: 0; padding: 0; border: 0; background: transparent; overflow-x: auto; }
.collect-module-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; min-width: 0; min-height: 50px; align-items: center; justify-content: flex-start; padding: 0 22px; border: 0; border-radius: 0; color: #718a7c; background: transparent; box-shadow: none; text-align: left; }
.collect-module-tabs button:first-child { padding-left: 0; }
.collect-module-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.collect-module-tabs button:hover { color: var(--brand); background: transparent; box-shadow: none; }
.collect-module-tabs button:hover::after { background: #b8d7c0; }
.collect-module-tabs button.active { color: var(--ink); background: transparent; box-shadow: none; }
.collect-module-tabs button.active::after { background: var(--brand); }
.collect-tab-label { color: inherit; font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; }

@media (max-width: 700px) {
  .collect-module-tabs { overflow-x: auto; }
  .collect-module-tabs button { flex: 0 0 auto; min-height: 48px; padding: 0 18px; }
  .collect-module-tabs button:first-child { padding-left: 0; }
}

/* Selection workshop: keep the qishixiong field contract while using a
   clearer enterprise workflow hierarchy. */
.selection-view-tabs { display: flex; gap: 0; margin: -4px 0 22px; border-bottom: 1px solid #d9e8dd; overflow-x: auto; }
.selection-view-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; min-height: 50px; align-items: center; padding: 0 22px; border: 0; color: #718a7c; background: transparent; font-size: 14px; font-weight: 700; white-space: nowrap; }
.selection-view-tabs button:first-child { padding-left: 0; }
.selection-view-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.selection-view-tabs button:hover { color: var(--brand); }
.selection-view-tabs button:hover::after { background: #b8d7c0; }
.selection-view-tabs button.active { color: var(--ink); }
.selection-view-tabs button.active::after { background: var(--brand); }
.selection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.selection-total { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; }
.selection-total strong { color: var(--ink); font-size: 20px; font-weight: 800; }
.selection-total-icon { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--brand); background: var(--brand-light); }
.selection-icon { display: inline-grid; flex: 0 0 auto; width: 16px; height: 16px; place-items: center; color: currentColor; }
.selection-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.selection-total-icon .selection-icon { width: 16px; height: 16px; }
.selection-batch-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.selection-batch-button { min-height: 36px; padding: 0 12px; border-color: transparent; color: #fff; font-size: 11px; font-weight: 800; }
.selection-batch-long { background: #6554d8; }
.selection-batch-graphic { background: #cf3e85; }
.selection-batch-video { background: #39945d; }
.selection-batch-button:hover { color: #fff; filter: brightness(.96); }
.selection-batch-button:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(.15); transform: none; }
.selection-category-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.selection-category-filters button { min-height: 32px; padding: 0 14px; border: 1px solid #d1e1d5; border-radius: 999px; color: #5b7667; background: #fff; font-size: 12px; font-weight: 700; }
.selection-category-filters button:hover { border-color: #82ad8e; color: var(--brand); background: #f5faf6; }
.selection-category-filters button.active { border-color: var(--brand); color: #fff; background: var(--brand); box-shadow: 0 4px 10px rgba(33,108,76,.14); }
.selection-table-panel { overflow: hidden; }
.selection-table { width: 100%; min-width: 0; table-layout: fixed; }
.selection-table th, .selection-table td { white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.selection-table th:nth-child(1), .selection-table td:nth-child(1) { width: 4%; text-align: center; }
.selection-table th:nth-child(2), .selection-table td:nth-child(2) { width: 5%; text-align: center; }
.selection-table th:nth-child(3), .selection-table td:nth-child(3) { width: 28%; }
.selection-table th:nth-child(4), .selection-table td:nth-child(4) { width: 12%; }
.selection-table th:nth-child(5), .selection-table td:nth-child(5) { width: 7%; text-align: center; }
.selection-table th:nth-child(6), .selection-table td:nth-child(6) { width: 8%; text-align: center; }
.selection-table th:nth-child(7), .selection-table td:nth-child(7) { width: 8%; text-align: center; }
.selection-table th:nth-child(8), .selection-table td:nth-child(8) { width: 10%; text-align: center; }
.selection-table th:nth-child(9), .selection-table td:nth-child(9) { width: 18%; }
.selection-table input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--brand); cursor: pointer; }
.selection-keyword-cell { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.selection-keyword-cell strong { color: var(--ink); font-size: 13px; line-height: 1.5; }
.selection-keyword-cell > span { display: flex; flex-wrap: wrap; gap: 5px; }
.selection-keyword-cell b, .selection-keyword-cell em { padding: 3px 7px; border-radius: 5px; font-size: 10px; font-style: normal; font-weight: 750; line-height: 1.2; }
.selection-keyword-cell b { color: #5750a8; background: #efedff; }
.selection-keyword-cell em { color: #64806e; background: #eef6f0; }
.selection-score { color: #574bc1; font-size: 14px; }
.selection-row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.selection-action-button { min-height: 29px; justify-content: flex-start; gap: 4px; padding: 0 7px; border-color: transparent; border-radius: 6px; color: #fff; font-size: 10px; font-weight: 800; white-space: nowrap; }
.selection-action-button:hover { color: #fff; filter: brightness(.95); }
.selection-action-long { background: #6151d4; }
.selection-action-graphic { background: #c7397d; }
.selection-action-video { background: #36925c; }
.selection-action-remove { width: 29px; justify-content: center; padding: 0; color: #73877b; background: #f2f6f3; }
.selection-action-remove:hover { color: #a54442; background: #ffebe9; filter: none; }
.selection-action-button .selection-icon { width: 14px; height: 14px; }
.selection-action-button .selection-icon svg { width: 14px; height: 14px; stroke-width: 1.9; }
.selection-pagination { display: flex; align-items: center; justify-content: center; gap: 13px; padding: 17px 20px 19px; border-top: 1px solid #e5eee7; color: var(--muted); font-size: 12px; }
.selection-pagination .button:disabled { opacity: .48; cursor: not-allowed; transform: none; }

.selection-archive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.selection-archive-toolbar > div { display: flex; align-items: center; gap: 9px; }
.selection-archive-toolbar strong { color: var(--ink); font-size: 15px; }
.selection-select-control { position: relative; display: flex; width: 136px; height: 38px; align-items: center; }
.selection-select-control select { width: 100%; height: 38px; padding: 0 30px 0 12px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--text); background: #fff; font-size: 12px; font-weight: 700; appearance: none; -webkit-appearance: none; cursor: pointer; }
.selection-select-control > span { position: absolute; right: 10px; color: var(--brand); pointer-events: none; }
.selection-archive-stats { margin-bottom: 18px; }
.selection-archive-table th, .selection-archive-table td { white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.selection-archive-table th:nth-child(1), .selection-archive-table td:nth-child(1) { width: 7%; }
.selection-archive-table th:nth-child(2), .selection-archive-table td:nth-child(2) { width: 30%; }
.selection-archive-table th:nth-child(3), .selection-archive-table td:nth-child(3) { width: 8%; text-align: center; }
.selection-archive-table th:nth-child(4), .selection-archive-table td:nth-child(4) { width: 8%; text-align: center; }
.selection-archive-table th:nth-child(5), .selection-archive-table td:nth-child(5) { width: 8%; text-align: center; }
.selection-archive-table th:nth-child(6), .selection-archive-table td:nth-child(6) { width: 10%; text-align: center; }
.selection-archive-table th:nth-child(7), .selection-archive-table td:nth-child(7) { width: 8%; text-align: center; }
.selection-archive-table th:nth-child(8), .selection-archive-table td:nth-child(8) { width: 11%; text-align: center; }
.selection-archive-table th:nth-child(9), .selection-archive-table td:nth-child(9) { width: 10%; }
.selection-archive-keyword { display: block; color: var(--ink); font-size: 13px; line-height: 1.5; }
.selection-empty { color: #7a9083; }
.selection-timeline-button { min-height: 30px; gap: 5px; padding: 0 8px; border-color: #cbded1; color: var(--brand); background: #fff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.selection-timeline-button:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-light); }
.selection-archive-count { padding: 16px 20px 19px; border-top: 1px solid #e5eee7; color: var(--muted); font-size: 12px; text-align: center; }
.selection-empty-state { display: grid; justify-items: center; gap: 5px; padding: 30px 16px; color: #668074; }
.selection-empty-state strong { color: #315e46; font-size: 13px; }
.selection-empty-state span { font-size: 11px; }
.selection-timeline-overlay { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(19,45,33,.32); }
.selection-timeline-modal { position: relative; width: min(560px, 100%); padding: 26px; border: 1px solid #c2d9c8; border-radius: 16px; background: #fff; box-shadow: var(--shadow-md); }
.selection-modal-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 21px; line-height: 1; }
.selection-modal-close:hover { color: var(--ink); background: #e2f0e4; }
.selection-timeline-modal h2 { margin: 5px 40px 20px 0; color: var(--ink); font-size: 19px; line-height: 1.4; }
.selection-timeline-keyword { margin: -7px 40px 20px 0; color: #315e46; font-size: 14px; font-weight: 800; line-height: 1.55; overflow-wrap: anywhere; }
.selection-timeline-list { display: grid; gap: 0; margin: 0 0 18px 7px; }
.selection-timeline-list > div { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; min-height: 62px; }
.selection-timeline-list > div:not(:last-child)::before { position: absolute; top: 18px; bottom: 0; left: 6px; width: 1px; background: #d5e5d8; content: ""; }
.selection-timeline-list i { z-index: 1; display: block; width: 13px; height: 13px; margin-top: 3px; border: 3px solid #cfe7d4; border-radius: 50%; background: #fff; }
.selection-timeline-list i.done { border-color: #71ad83; background: #e4f3e7; }
.selection-timeline-list i.current { border-color: #b6df55; background: #f4fbdc; }
.selection-timeline-list strong, .selection-timeline-list small { display: block; }
.selection-timeline-list strong { color: var(--ink); font-size: 13px; }
.selection-timeline-list small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.5; }

@media (max-width: 900px) {
  .selection-table-panel .table-wrap, .selection-archive-panel .table-wrap { overflow-x: auto; }
  .selection-table, .selection-archive-table { min-width: 900px; }
}

@media (max-width: 700px) {
  .selection-toolbar, .selection-archive-toolbar { display: block; }
  .selection-batch-actions { justify-content: flex-start; margin-top: 12px; }
  .selection-category-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .selection-category-filters button { flex: 0 0 auto; }
  .selection-select-control { width: 100%; margin-top: 12px; }
  .selection-timeline-modal { padding: 21px 17px; }
}

/* Selection workshop polish: remove the nested native scrollbar, align the
   typography with Collect Center, and give the archive select the same inset
   chevron treatment as the collection filters. */
.selection-table-panel > .table-wrap, .selection-archive-panel > .table-wrap {
  overflow-x: hidden;
  overflow-y: visible;
  padding: 0;
  scrollbar-width: none;
}
.selection-table-panel > .table-wrap::-webkit-scrollbar, .selection-archive-panel > .table-wrap::-webkit-scrollbar { width: 0; height: 0; }
.selection-view-tabs button { color: #617b6c; font-size: 14px; font-weight: 750; letter-spacing: .01em; }
.selection-view-tabs button.active { color: #153d2c; font-weight: 850; }
.selection-toolbar, .selection-category-filters, .selection-table, .selection-archive-toolbar, .selection-archive-table { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.selection-total { color: #567366; font-size: 13px; }
.selection-total strong { color: #153d2c; font-size: 21px; }
.selection-category-filters button { color: #4f6f5d; font-size: 13px; font-weight: 750; }
.selection-table th, .selection-archive-table th { color: #3f624f; background: #f0f7f2; font-size: 12px; font-weight: 850; line-height: 1.4; }
.selection-table td, .selection-archive-table td { color: #244936; font-size: 13px; line-height: 1.55; }
.selection-keyword-cell strong, .selection-archive-keyword { color: #143b2b; font-size: 14px; font-weight: 800; line-height: 1.55; }
.selection-keyword-cell b, .selection-keyword-cell em { font-size: 11px; }
.selection-score { font-size: 14px; font-weight: 800; }
.selection-action-button, .selection-timeline-button { font-size: 11px; }
.selection-archive-toolbar strong { color: #173d2d; font-size: 16px; font-weight: 800; }
.selection-select-control { width: 148px; height: 42px; }
.selection-select-control select { height: 42px; padding: 0 40px 0 13px; border-color: #bfd5c6; border-radius: 9px; color: #214a37; font-size: 13px; font-weight: 750; }
.selection-select-chevron { position: absolute; top: 50%; right: 10px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; color: #216c4c; background: #eef7f0; pointer-events: none; transform: translateY(-50%); }
.selection-select-chevron svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.selection-empty { color: #668074; font-size: 13px; }

@media (max-width: 900px) {
  .selection-table-panel > .table-wrap, .selection-archive-panel > .table-wrap { overflow-x: auto; overflow-y: visible; }
}

@media (max-width: 700px) {
  .selection-select-control { width: 100%; margin-top: 12px; }
}

/* Chromium on Windows can keep native arrow buttons even when the track and
   thumb are transparent. Remove those buttons from every scroll context so a
   scroll indicator never turns into a misplaced little control panel. */
:root { color-scheme: light; }
html::-webkit-scrollbar-button, body::-webkit-scrollbar-button, .sidebar::-webkit-scrollbar-button, .table-wrap::-webkit-scrollbar-button, .collect-title-modal::-webkit-scrollbar-button { display: none; width: 0; height: 0; background: transparent; }
html::-webkit-scrollbar-corner, body::-webkit-scrollbar-corner, .sidebar::-webkit-scrollbar-corner, .table-wrap::-webkit-scrollbar-corner, .collect-title-modal::-webkit-scrollbar-corner { background: transparent; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 7px; height: 7px; }
.sidebar::-webkit-scrollbar { width: 6px; }

/* A horizontal tab strip must never create its own vertical scrollbar. The
   second axis becomes `auto` in browsers unless it is explicitly suppressed. */
.selection-view-tabs, .collect-module-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.selection-view-tabs::-webkit-scrollbar, .collect-module-tabs::-webkit-scrollbar { width: 0; height: 0; }

/* Content center: eight sibling views use the same readable page-level tab
   pattern as Collect Center. The tab strip is navigation; actions live in
   the page panels below it. */
.content-view-tabs { display: flex; gap: 0; margin: -4px 0 20px; border-bottom: 1px solid #d9e8dd; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.content-view-tabs::-webkit-scrollbar { width: 0; height: 0; }
.content-view-tabs button { position: relative; display: inline-flex; flex: 1 1 0; min-width: 0; min-height: 62px; align-items: center; gap: 8px; padding: 0 10px; border: 0; color: #617b6c; background: transparent; text-align: left; }
.content-view-tabs button:first-child { padding-left: 0; }
.content-view-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.content-view-tabs button:hover { color: var(--brand); background: #f7fbf8; }
.content-view-tabs button:hover::after { background: #b8d7c0; }
.content-view-tabs button.active { color: #153d2c; background: #f2faf4; font-weight: 800; }
.content-view-tabs button.active::after { background: var(--brand); }
.content-tab-index { display: grid; flex: 0 0 auto; width: 28px; height: 28px; place-items: center; border: 1px solid #d2e5d7; border-radius: 8px; color: #4f775f; background: #edf6ef; font-family: ui-monospace, Consolas, monospace; font-size: 10px; font-weight: 850; }
.content-view-tabs button.active .content-tab-index { border-color: #c7e78a; color: #294c35; background: var(--accent); }
.content-tab-copy { min-width: 0; }
.content-tab-copy strong, .content-tab-copy small { display: block; white-space: nowrap; }
.content-tab-copy strong { color: inherit; font-size: 12px; line-height: 1.25; }
.content-tab-copy small { margin-top: 4px; color: #789184; font-size: 10px; line-height: 1.2; }
.content-view-tabs button.active .content-tab-copy small { color: #5a8066; }
.content-rule-alert { display: flex; min-height: 44px; align-items: center; gap: 9px; margin: 0 0 14px; padding: 8px 13px; border: 1px solid #ebd98c; border-radius: 9px; color: #6e5b18; background: #fff9dc; font-size: 12px; line-height: 1.5; }
.content-rule-alert strong { color: #665313; font-size: 12px; white-space: nowrap; }
.content-rule-alert .panel-link { margin-left: auto; color: #826d13; font-size: 12px; white-space: nowrap; }
.content-alert-mark { display: inline-grid; flex: 0 0 auto; width: 22px; height: 22px; place-items: center; border-radius: 7px; color: #735d0a; background: #f8e5a2; font-family: ui-monospace, Consolas, monospace; font-size: 12px; font-weight: 900; }
.content-spec-note { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: #62796d; font-size: 11px; line-height: 1.5; }
.content-spec-note span { color: #355d48; font-weight: 800; }
.content-spec-note i { width: 1px; height: 13px; margin: 0 4px; background: #cbded1; }
.content-longform-grid { display: grid; grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr); gap: 16px; align-items: start; }
.content-form-panel, .content-preview-panel, .content-compact-form, .content-queue-panel, .content-title-table-panel, .content-industry-panel, .content-prompt-preview { overflow: hidden; border-color: #c9ddd0; box-shadow: 0 8px 24px rgba(37, 82, 53, .06); }
.content-form-panel .panel-header, .content-preview-panel .panel-header, .content-compact-form .panel-header, .content-queue-panel .panel-header, .content-title-table-panel .panel-header { padding: 18px 20px 14px; }
.content-form-panel .panel-header h2, .content-preview-panel .panel-header h2, .content-compact-form .panel-header h2, .content-queue-panel .panel-header h2, .content-prompt-preview .panel-header h2 { color: #16392c; font-size: 16px; }
.content-form-panel .panel-header p, .content-preview-panel .panel-header p, .content-compact-form .panel-header p, .content-queue-panel .panel-header p, .content-prompt-preview .panel-header p { color: #62776c; font-size: 12px; line-height: 1.55; }
.content-form-badge, .content-company-badge { display: inline-flex; min-height: 25px; align-items: center; padding: 0 10px; border: 1px solid #d4e5d8; border-radius: 999px; color: #2b6548; background: #eef7f0; font-size: 11px; font-weight: 800; white-space: nowrap; }
.content-panel-body { padding: 0 20px 20px; }
.content-scope-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #e8f0ea; }
.content-scope-tabs { display: flex; gap: 5px; }
.content-scope-tabs button { min-height: 34px; padding: 0 12px; border: 1px solid transparent; border-radius: 7px; color: #6a8174; background: transparent; font-size: 12px; font-weight: 750; }
.content-scope-tabs button:hover { color: var(--brand); background: #f3faf4; }
.content-scope-tabs button.active { border-color: #c4e0c9; color: #1e6445; background: #eaf6ed; }
.content-queue-link { padding: 0; border: 0; color: #507361; background: transparent; font-size: 11px; font-weight: 750; white-space: nowrap; }
.content-queue-link:hover { color: var(--brand); }
.content-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; margin: 0 0 14px; }
.content-field > span:first-child { color: #355d48; font-size: 12px; font-weight: 800; line-height: 1.35; }
.content-field > span:first-child small { color: #7a9184; font-size: 10px; font-weight: 600; }
.content-field em { color: #b24b42; font-style: normal; }
.content-field input, .content-field textarea { width: 100%; border: 1px solid #c5dbcb; border-radius: 8px; color: #214a37; background: #fff; font-size: 13px; line-height: 1.5; outline: 0; }
.content-field input { height: 42px; padding: 0 12px; }
.content-field textarea { min-height: 70px; padding: 10px 12px; resize: vertical; }
.content-field input:focus, .content-field textarea:focus, .content-search:focus-within, .content-header-search:focus-within { border-color: #6fa983; box-shadow: 0 0 0 3px rgba(93, 157, 112, .12); }
.content-field input::placeholder, .content-field textarea::placeholder, .content-search input::placeholder, .content-header-search input::placeholder { color: #8aa093; }
.content-form-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.content-select-wrap { position: relative; display: block; }
.content-select-wrap select { width: 100%; height: 42px; padding: 0 36px 0 12px; border: 1px solid #c5dbcb; border-radius: 8px; color: #214a37; background: #fff; font-size: 12px; font-weight: 700; outline: 0; appearance: none; -webkit-appearance: none; cursor: pointer; }
.content-select-wrap select:focus { border-color: #6fa983; box-shadow: 0 0 0 3px rgba(93, 157, 112, .12); }
.content-select-wrap i { position: absolute; top: 50%; right: 9px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; color: #267650; background: #eef7f0; pointer-events: none; transform: translateY(-50%); }
.content-select-wrap i svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.content-platform-tags { display: flex; min-height: 42px; flex-wrap: wrap; align-items: center; gap: 6px; padding: 5px 7px; border: 1px solid #c5dbcb; border-radius: 8px; background: #fff; }
.content-platform-tags span { display: inline-flex; min-height: 28px; align-items: center; gap: 4px; padding: 0 9px; border-radius: 999px; color: #2d6248; background: #eaf6ed; font-size: 11px; font-weight: 750; }
.content-platform-tags b { color: #83a18e; font-weight: 800; }
.content-wide-action { width: 100%; justify-content: center; margin-top: 3px; }
.content-wide-action span { margin-left: 4px; font-size: 16px; line-height: 1; }
.content-preview-panel { min-height: 100%; }
.content-preview-panel > .panel-header { border-bottom: 1px solid #e7efe9; }
.content-preview-empty { display: grid; min-height: 430px; place-items: center; align-content: center; padding: 40px; color: #71897b; text-align: center; }
.content-empty-icon { display: grid; width: 50px; height: 50px; place-items: center; margin: 0 auto 13px; border: 1px solid #cfe4d4; border-radius: 15px; color: #2d8057; background: #eef8f0; font-size: 22px; }
.content-preview-empty strong, .content-preview-empty p { display: block; }
.content-preview-empty strong { color: #365e4b; font-size: 14px; }
.content-preview-empty p { max-width: 320px; margin: 8px auto 0; color: #789184; font-size: 12px; line-height: 1.65; }
.content-preview-paper { margin: 18px 20px; padding: 25px 28px; border: 1px solid #e2ede4; border-radius: 11px; color: #294c3b; background: #fbfdfb; }
.content-preview-paper h2 { margin: 10px 0 14px; color: #163d2c; font-size: 22px; line-height: 1.45; }
.content-preview-paper h3 { margin: 22px 0 7px; color: #24583e; font-size: 15px; }
.content-preview-paper p { margin: 0 0 12px; color: #4b6859; font-size: 13px; line-height: 1.8; }
.content-preview-meta { display: flex; flex-wrap: wrap; gap: 7px; color: #709080; font-size: 11px; }
.content-preview-callout { margin-top: 18px; padding: 10px 12px; border-left: 3px solid #b6df55; color: #4d6d59; background: #f0f8dc; font-size: 12px; line-height: 1.55; }
.content-preview-paper [contenteditable="true"] { margin-right: -8px; margin-left: -8px; padding: 3px 8px; border: 1px dashed #91c9a2; border-radius: 6px; outline: 0; background: #f5fbf6; cursor: text; }
.content-preview-paper [contenteditable="true"]:focus { border-color: #4f9c6a; box-shadow: 0 0 0 3px rgba(79, 156, 106, .12); }
.content-preview-edit-hint { margin-top: 14px; padding: 9px 11px; border: 1px solid #cfe5d5; border-radius: 7px; color: #3e7554; background: #eff8f1; font-size: 12px; line-height: 1.55; }
.content-preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 20px; border-top: 1px solid #e7efe9; color: #688173; font-size: 11px; }
.content-preview-footer > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.content-preview-footer .button:disabled { opacity: .43; cursor: not-allowed; transform: none; }

/* Short-form and video views keep the same form rhythm while exposing the
   original qishixiong-specific options instead of collapsing them into a
   generic editor. */
.content-compact-form { margin-bottom: 18px; }
.content-note-row { display: grid; grid-template-columns: minmax(0, 1fr) 170px auto; align-items: end; gap: 12px; padding: 0 20px 16px; }
.content-note-row .content-field { margin-bottom: 0; }
.content-note-generate, .content-video-generate { min-width: 144px; }
.content-note-generate:disabled, .content-video-generate:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.content-platform-line { display: flex; min-height: 56px; align-items: center; gap: 8px; padding: 12px 20px; border-top: 1px solid #e7efe9; color: #6b8375; font-size: 11px; }
.content-platform-line strong { margin-right: 3px; color: #355d48; font-size: 12px; }
.content-platform-pill { min-height: 28px; padding: 0 11px; border: 1px solid #d0e2d5; border-radius: 999px; color: #6a8174; background: #fff; font-size: 11px; font-weight: 750; }
.content-platform-pill.active { border-color: #d36c9c; color: #fff; background: #c94a86; }
.content-platform-line > span { margin-left: 4px; white-space: nowrap; }
.content-note-output, .content-video-output { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 16px; align-items: start; }
.content-note-output .panel, .content-video-output .panel { overflow: hidden; border-color: #c9ddd0; }
.content-title-option { display: flex; flex-direction: column; gap: 5px; margin: 0 18px 10px; padding: 13px 14px; border: 1px solid #dbe9df; border-radius: 8px; color: #345c48; background: #fbfdfb; }
.content-note-title-list { display: grid; gap: 1px; }
.content-note-output .content-title-option { width: calc(100% - 36px); text-align: left; font: inherit; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.content-title-option.active { border-color: #c9e28b; box-shadow: inset 3px 0 #b6df55; background: #f5fbe9; }
.content-title-option strong { color: #214a37; font-size: 13px; line-height: 1.5; }
.content-title-option span { color: #789184; font-size: 11px; }
.content-title-option b { align-self: flex-start; color: #4c9666; font-size: 11px; }
.content-image-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 0 18px; }
.content-image-grid span { display: grid; min-height: 82px; place-items: center; align-content: center; border: 1px dashed #c5dbcb; border-radius: 8px; color: #43805b; background: #f2f9f3; font-family: ui-monospace, Consolas, monospace; font-size: 16px; font-weight: 800; text-align: center; }
.content-note-output .content-image-grid span { cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.content-note-output .content-image-grid span:hover { border-color: #82b995; background: #eaf6ed; transform: translateY(-1px); }
.content-note-output .content-image-grid span.active { border-style: solid; border-color: #79ad8a; box-shadow: inset 0 0 0 2px #d4ecd9; color: #276d47; background: #e5f4e8; }
.content-image-grid small { margin-top: 7px; color: #719080; font-family: inherit; font-size: 10px; font-weight: 500; }
.content-output-copy { margin: 15px 18px; color: #4f6f5d; font-size: 12px; line-height: 1.7; }
.content-note-output .content-output-copy[contenteditable="true"] { min-height: 76px; padding: 10px 11px; border: 1px dashed #c5dbcb; border-radius: 8px; outline: 0; background: #fbfdfb; }
.content-note-output .content-output-copy[contenteditable="true"]:focus { border-color: #6fa983; box-shadow: 0 0 0 3px rgba(93, 157, 112, .12); background: #fff; }
.content-note-edit-field { display: flex; flex-direction: column; gap: 7px; margin: 0 18px 12px; }
.content-note-edit-field > span { color: #355d48; font-size: 12px; font-weight: 800; }
.content-note-edit-field > span small { color: #7a9184; font-size: 10px; font-weight: 600; }
.content-note-edit-field input { width: 100%; height: 38px; padding: 0 11px; border: 1px solid #c5dbcb; border-radius: 8px; color: #214a37; background: #fff; font-size: 12px; outline: 0; }
.content-note-edit-field input:focus { border-color: #6fa983; box-shadow: 0 0 0 3px rgba(93, 157, 112, .12); }
.content-output-actions { display: flex; justify-content: flex-end; gap: 7px; padding: 13px 18px 16px; border-top: 1px solid #e7efe9; }
.content-empty-panel { min-height: 250px; padding: 36px 20px; text-align: center; }
.content-empty-panel h2 { margin: 0; color: #214a37; font-size: 17px; }
.content-empty-panel p { margin: 8px auto 0; color: #71897b; font-size: 12px; }
.content-video-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(190px, .75fr) minmax(170px, .7fr) minmax(190px, .8fr) auto; align-items: end; gap: 12px; padding: 0 20px 18px; }
.content-video-row .content-field { margin-bottom: 0; }
.content-choice-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.content-choice-field > span { color: #355d48; font-size: 12px; font-weight: 800; }
.content-choice-pills { display: flex; height: 42px; gap: 5px; }
.content-choice-pills button { min-width: 0; flex: 1 1 0; padding: 0 9px; border: 1px solid #c5dbcb; border-radius: 8px; color: #5b7667; background: #fff; font-size: 11px; font-weight: 750; white-space: nowrap; }
.content-choice-pills button.active { border-color: #5aaf78; color: #fff; background: #33a864; }
.content-video-output { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
.content-script-list { display: grid; gap: 0; margin: 0 18px 14px; }
.content-script-list > div { display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 11px; padding: 13px 0; border-bottom: 1px solid #e7efe9; }
.content-script-list > div:last-child { border-bottom: 0; }
.content-script-list b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: #2d684a; background: #eaf6ed; font-family: ui-monospace, Consolas, monospace; font-size: 10px; }
.content-script-list strong, .content-script-list span { display: block; }
.content-script-list strong { color: #244e39; font-size: 12px; }
.content-script-list span { margin-top: 4px; color: #5c7667; font-size: 12px; line-height: 1.55; }
.content-script-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 18px; padding: 10px 12px; border: 1px solid #e1ece4; border-radius: 8px; color: #5e7a6b; background: #f8fcf9; font-size: 11px; }
.content-script-toolbar b { margin-left: 4px; color: #216847; font-size: 13px; }
.content-script-toolbar small { color: #81968a; font-size: 10px; }
.content-script-fields { min-width: 0; }
.content-script-fields input, .content-script-fields textarea { width: 100%; border: 1px solid transparent; border-radius: 6px; color: #244e39; background: transparent; outline: 0; }
.content-script-fields input { height: 28px; padding: 0 7px; font-size: 12px; font-weight: 800; }
.content-script-fields textarea { min-height: 49px; padding: 6px 7px; resize: vertical; font-family: inherit; font-size: 12px; line-height: 1.55; }
.content-script-fields input:hover, .content-script-fields textarea:hover { border-color: #d7e8dc; background: #fbfefb; }
.content-script-fields input:focus, .content-script-fields textarea:focus { border-color: #83b997; box-shadow: 0 0 0 3px rgba(93, 157, 112, .1); background: #fff; }
.content-video-spec-panel { align-self: stretch; }
.content-video-spec { display: grid; gap: 10px; margin: 0 18px 18px; }
.content-video-spec span { display: flex; align-items: center; justify-content: space-between; min-height: 45px; padding: 0 12px; border: 1px solid #e1ece4; border-radius: 8px; color: #71897b; font-size: 11px; }
.content-video-spec strong { color: #2f6348; font-size: 12px; }
.content-video-spec-note { display: grid; gap: 5px; margin: 0 18px 18px; padding: 12px; border-left: 3px solid #b6df55; color: #617b6d; background: #f5fbe9; font-size: 11px; line-height: 1.55; }
.content-video-spec-note strong { color: #3f754f; font-size: 12px; }

/* Batch queue, works library, templates and title archive. */
.content-queue-panel { margin-bottom: 18px; }
.content-queue-count { color: #668173; font-size: 11px; font-weight: 750; }
.content-queue-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 155px 135px; gap: 9px; padding: 0 18px 14px; }
.content-search, .content-header-search { display: flex; min-width: 0; height: 42px; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid #c5dbcb; border-radius: 8px; color: #337052; background: #fff; }
.content-search > span, .content-header-search > span { font-size: 17px; line-height: 1; }
.content-search input, .content-header-search input { min-width: 0; flex: 1; height: 34px; padding: 0; border: 0; outline: 0; color: #214a37; background: transparent; font-size: 12px; }
.content-queue-toolbar .content-field { margin: 0; }
.content-queue-toolbar .content-field > span:first-child { display: none; }
.content-queue-table, .content-industry-table, .content-title-table { width: 100%; min-width: 0; table-layout: fixed; }
.content-queue-table td, .content-industry-table td, .content-title-table td { white-space: normal; overflow-wrap: anywhere; }
.content-table-wrap { overflow-x: hidden; overflow-y: visible; padding: 0; scrollbar-width: none; }
.content-table-wrap::-webkit-scrollbar { width: 0; height: 0; }
.content-queue-table th, .content-industry-table th, .content-title-table th { color: #3f624f; background: #f0f7f2; font-size: 12px; font-weight: 850; }
.content-queue-table td, .content-industry-table td, .content-title-table td { color: #244936; font-size: 13px; line-height: 1.55; }
.content-queue-table th:nth-child(1), .content-queue-table td:nth-child(1) { width: 30%; }
.content-queue-table th:nth-child(2), .content-queue-table td:nth-child(2) { width: 24%; }
.content-queue-table th:nth-child(3), .content-queue-table td:nth-child(3) { width: 21%; }
.content-queue-table th:nth-child(4), .content-queue-table td:nth-child(4) { width: 12%; }
.content-queue-table th:nth-child(5), .content-queue-table td:nth-child(5) { width: 13%; }
.content-queue-table strong { color: #173d2d; }
.content-cell-meta { display: block; margin-top: 5px; color: #799185; font-size: 11px; }
.content-keyword-cell { display: block; overflow-wrap: anywhere; color: #436954; }
.content-progress { height: 10px; overflow: hidden; border-radius: 999px; background: #e5edf0; }
.content-progress i { display: block; height: 100%; border-radius: inherit; background: #57a877; }
.content-modal-overlay { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(19, 45, 33, .34); }
.content-modal { position: relative; width: min(650px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: 28px; border: 1px solid #c2d9c8; border-radius: 16px; background: #fff; box-shadow: 0 18px 48px rgba(20, 61, 39, .2); scrollbar-width: none; }
.content-modal::-webkit-scrollbar { width: 0; height: 0; }
.content-modal-close { position: absolute; top: 15px; right: 15px; width: 32px; height: 32px; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 21px; line-height: 1; }
.content-modal-close:hover { color: #16392c; background: #e2f0e4; }
.content-modal h2 { margin: 4px 45px 7px 0; color: #173d2d; font-size: 21px; }
.content-factory-modal { display: flex; flex-direction: column; overflow: hidden; }
.content-factory-modal-body { min-height: 0; overflow: auto; padding-right: 4px; scrollbar-width: none; }
.content-factory-modal-body::-webkit-scrollbar { width: 0; height: 0; }
.content-modal-description, .content-template-modal > p { margin: 0 0 18px; color: #62796d; font-size: 12px; line-height: 1.65; }
.content-factory-keywords { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 17px; padding: 12px; border: 1px solid #d6e7da; border-radius: 9px; background: #f6fbf7; }
.content-factory-keyword-heading { display: flex !important; flex: 1 1 100% !important; align-items: center; justify-content: space-between; gap: 12px; }
.content-factory-keyword-heading > div:first-child { display: grid; min-width: 0; gap: 4px; }
.content-factory-keyword-heading > div:first-child span { white-space: nowrap; }
.content-factory-keyword-picker { display: grid; min-width: 220px; gap: 4px; }
.content-factory-keyword-picker > span { color: #789184; font-size: 10px; font-weight: 750; }
.content-factory-keyword-picker select { width: 100%; height: 34px; padding: 0 29px 0 10px; border: 1px solid #c5dbcb; border-radius: 7px; color: #315e46; background: #fff; font-size: 11px; font-weight: 750; outline: 0; }
.content-factory-keywords > div { display: flex; flex: 1 1 auto; align-items: baseline; gap: 7px; }
.content-factory-keywords strong { color: #28563f; font-size: 12px; }
.content-factory-keywords > div span { color: #789184; font-size: 11px; }
.content-factory-keywords > span { width: 100%; padding-top: 4px; color: #315e46; font-size: 12px; overflow-wrap: anywhere; }
.content-factory-keywords > span b { color: #96aa9d; }
.content-factory-keyword-list { display: grid !important; flex: 1 1 100% !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 7px; width: 100%; margin-top: 2px; }
.content-factory-keyword-list span { min-width: 0; padding: 8px 10px; border: 1px solid #d6e7da; border-radius: 7px; color: #315e46; background: #fff; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.content-factory-keyword-list button { float: right; width: 20px; height: 20px; margin: -1px -3px 0 8px; border: 0; border-radius: 5px; color: #789184; background: #eef6f0; font-size: 15px; line-height: 1; }
.content-factory-keyword-list button:hover { color: #b44d5e; background: #fbecee; }
.content-factory-keyword-empty { color: #789184 !important; background: #fbfdfb !important; }
.content-title-recommend { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: -4px; color: #71897b; font-size: 11px; }
.content-factory-title-hint { margin-top: 10px; padding: 9px 11px; border-left: 3px solid #b6df55; color: #668173; background: #f5fbe9; font-size: 11px; line-height: 1.5; }
.content-progress-label { display: block; margin-top: 4px; color: #71897b; font-size: 10px; }
.content-empty-table { padding: 30px 16px; color: #71897b; text-align: center; }
.content-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; padding-top: 16px; border-top: 1px solid #e5eee7; }
.content-factory-modal > .content-modal-actions { flex: 0 0 auto; margin: 14px 0 0; padding: 14px 0 0; background: #fff; }
.content-modal-actions .button:disabled { opacity: .43; cursor: not-allowed; transform: none; }
.content-library-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.content-library-stat { display: flex; min-height: 72px; flex-direction: column; justify-content: center; gap: 3px; padding: 12px 15px; border: 1px solid #d5e6d9; border-radius: 10px; color: #668173; background: #fff; }
.content-library-stat.active { border-color: #6caf80; background: #eef8f0; box-shadow: inset 3px 0 #3d9565; }
.content-library-stat strong { color: #193f2f; font-family: ui-monospace, Consolas, monospace; font-size: 22px; }
.content-library-stat span { font-size: 11px; font-weight: 750; }
.content-library-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.content-library-toolbar .content-search { flex: 1 1 240px; }
.content-filter-select { position: relative; display: flex; width: 128px; height: 42px; }
.content-filter-select select { width: 100%; height: 42px; padding: 0 31px 0 12px; border: 1px solid #c5dbcb; border-radius: 8px; color: #315e46; background: #fff; font-size: 12px; font-weight: 750; outline: 0; appearance: none; -webkit-appearance: none; }
.content-filter-select > span { position: absolute; top: 50%; right: 10px; color: #287052; pointer-events: none; transform: translateY(-50%); }
.content-library-filters { display: flex; gap: 5px; }
.content-library-filters button { min-height: 32px; padding: 0 11px; border: 1px solid transparent; border-radius: 7px; color: #668173; background: transparent; font-size: 11px; font-weight: 750; }
.content-library-filters button:hover { color: var(--brand); background: #f1f8f2; }
.content-library-filters button.active { border-color: #c4e0c9; color: #1e6445; background: #eaf6ed; }
.content-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.content-draft-card { padding: 18px; border-color: #c9ddd0; }
.content-draft-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.content-draft-type { color: #2e704e; font-size: 11px; font-weight: 800; }
.content-draft-card h2 { margin: 13px 0 8px; color: #193f2f; font-size: 15px; line-height: 1.55; }
.content-draft-card > p { min-height: 41px; margin: 0; color: #60796c; font-size: 12px; line-height: 1.7; }
.content-draft-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e5eee7; color: #789184; font-size: 10px; }
.content-draft-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.content-draft-actions .button { min-height: 31px; padding: 0 9px; font-size: 10px; }
.content-draft-delete { width: 31px; min-height: 31px; margin-left: auto; color: #758b7f; background: #f1f6f2; font-size: 17px; }
.content-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.content-template-card { min-height: 174px; padding: 16px; border-color: #c9ddd0; }
.content-template-heading { display: flex; align-items: center; gap: 9px; }
.content-template-heading h2 { margin: 0; color: #193f2f; font-size: 14px; }
.content-template-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #2d704e; background: #eaf6ed; font-family: ui-monospace, Consolas, monospace; font-size: 10px; font-weight: 850; }
.content-template-card p { min-height: 39px; margin: 11px 0 12px; color: #60796c; font-size: 11px; line-height: 1.6; }
.content-template-meta { display: flex; gap: 14px; color: #789184; font-size: 10px; }
.content-template-meta strong { color: #315e46; }
.content-template-actions { display: flex; gap: 7px; margin-top: 13px; }
.content-template-actions .button { min-height: 31px; font-size: 10px; }
.content-template-modal { max-width: 560px; }
.content-template-rule { display: grid; gap: 6px; margin-top: 17px; padding: 14px; border: 1px solid #d5e7d9; border-radius: 9px; background: #f5fbf6; }
.content-template-rule strong { color: #2c6446; font-size: 12px; }
.content-template-rule span, .content-template-rule small { color: #60796c; font-size: 11px; line-height: 1.55; }
.content-industry-note { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; padding: 12px 14px; border: 1px solid #d5e6d9; border-radius: 10px; background: #f7fbf8; }
.content-industry-note > div { flex: 1; }
.content-industry-note strong { color: #315e46; font-size: 12px; }
.content-industry-note p { margin: 3px 0 0; color: #71897b; font-size: 11px; }
.content-industry-panel { margin-bottom: 15px; }
.content-industry-toolbar { display: flex; align-items: center; gap: 12px; padding: 16px 18px 12px; color: #71897b; font-size: 11px; }
.content-industry-toolbar .content-filter-select { flex: 0 0 180px; }
.content-industry-table th:nth-child(1), .content-industry-table td:nth-child(1) { width: 7%; }
.content-industry-table th:nth-child(2), .content-industry-table td:nth-child(2) { width: 11%; }
.content-industry-table th:nth-child(3), .content-industry-table td:nth-child(3) { width: 19%; }
.content-industry-table th:nth-child(4), .content-industry-table td:nth-child(4) { width: 30%; }
.content-industry-table th:nth-child(5), .content-industry-table td:nth-child(5) { width: 9%; }
.content-industry-table th:nth-child(6), .content-industry-table td:nth-child(6) { width: 8%; }
.content-industry-table th:nth-child(7), .content-industry-table td:nth-child(7) { width: 16%; }
.content-code-chip { display: inline-flex; padding: 4px 7px; border-radius: 5px; color: #3f75a1; background: #ebf4fc; font-family: ui-monospace, Consolas, monospace; font-size: 11px; }
.content-schema { display: block; overflow-wrap: anywhere; color: #436954; font-size: 11px; }
.content-schema small { color: #789184; font-size: 10px; }
.content-industry-table tr.is-selected td { background: #f4fbf5; }
.content-industry-table td { vertical-align: middle; }
.content-table-subtext { display: block; margin-top: 4px; color: #789184; font-size: 11px; }
.content-industry-empty { display: grid; gap: 5px; padding: 24px 10px; color: #52705f; text-align: center; }
.content-industry-empty strong { color: #234b36; font-size: 13px; }
.content-industry-empty span { color: #789184; font-size: 12px; }
.content-prompt-preview { padding-bottom: 18px; }
.content-prompt-copy { margin: 0 20px 12px; padding: 14px; border: 1px solid #e0ede3; border-radius: 8px; background: #f6faf7; }
.content-prompt-copy p { margin: 0 0 9px; color: #355d48; font-size: 13px; line-height: 1.75; }
.content-prompt-copy small { display: block; color: #789184; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.content-prompt-actions { display: flex; align-items: center; gap: 10px; padding: 0 20px; }
.content-prompt-actions > span { color: #789184; font-size: 11px; }
.content-industry-generate-modal { max-width: 620px; }
.content-industry-modal-note { display: grid; gap: 5px; margin: 16px 0 17px; padding: 13px 14px; border: 1px solid #d9e9dc; border-radius: 10px; background: #f5fbf6; }
.content-industry-modal-note strong { color: #2d6247; font-size: 12px; }
.content-industry-modal-note span { color: #3e6b51; font-family: ui-monospace, Consolas, monospace; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.content-industry-modal-note small, .content-modal-helper { color: #789184; font-size: 11px; line-height: 1.6; }
.content-industry-modal-fields { display: grid; gap: 13px; }
.content-industry-modal-fields .field { margin: 0; }
.content-industry-modal-fields select, .content-industry-modal-fields input { width: 100%; min-height: 40px; }
.content-titles-heading { display: flex; align-items: center; gap: 8px; margin: 0 0 13px; }
.content-titles-heading > div { display: grid; gap: 3px; min-width: 0; flex: 1; }
.content-titles-heading > div > strong { color: #214936; font-size: 14px; font-weight: 850; }
.content-titles-heading p { margin: 0; color: #62796d; font-size: 12px; }
.content-title-readonly-note { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #d6e7da; border-radius: 999px; color: #4e765e; background: #f4faf5; font-size: 11px; font-weight: 750; }
.content-title-table th:nth-child(1), .content-title-table td:nth-child(1) { width: 8%; text-align: center; }
.content-title-table th:nth-child(2), .content-title-table td:nth-child(2) { width: 30%; }
.content-title-table th:nth-child(3), .content-title-table td:nth-child(3) { width: 34%; }
.content-title-table th:nth-child(4), .content-title-table td:nth-child(4) { width: 14%; text-align: center; }
.content-title-table th:nth-child(5), .content-title-table td:nth-child(5) { width: 14%; }
.content-title-table td { vertical-align: top; }
.content-title-table td:nth-child(2) strong { color: #173d2d; font-size: 13px; line-height: 1.55; }
.content-title-score { color: #594ec2; font-size: 17px; }
.content-title-reason { color: #587565; font-size: 11px; line-height: 1.6; }
.content-empty-value { color: #789184; }
.content-title-count { padding: 15px 20px 18px; border-top: 1px solid #e5eee7; color: #71897b; font-size: 11px; text-align: center; }

@media (max-width: 1120px) {
  .content-longform-grid { grid-template-columns: 1fr; }
  .content-video-row { grid-template-columns: minmax(0, 1fr) minmax(190px, .8fr) minmax(170px, .7fr); }
  .content-video-row > .content-field:nth-of-type(1) { grid-column: 1 / -1; }
  .content-video-generate { grid-column: 1 / -1; justify-self: end; }
  .content-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .content-view-tabs button { min-width: 132px; }
  .content-rule-alert { align-items: flex-start; flex-wrap: wrap; }
  .content-rule-alert .panel-link { margin-left: 31px; }
  .content-spec-note { flex-wrap: wrap; }
  .content-form-grid-two, .content-note-row, .content-note-output, .content-video-output, .content-library-grid { grid-template-columns: 1fr; }
  .content-note-row { align-items: stretch; }
  .content-note-generate { width: 100%; }
  .content-platform-line { flex-wrap: wrap; }
  .content-platform-line > span { width: 100%; margin-left: 0; }
  .content-video-row { grid-template-columns: 1fr; }
  .content-video-row > .content-field:nth-of-type(1), .content-video-generate { grid-column: auto; }
  .content-video-generate { width: 100%; }
  .content-queue-toolbar, .content-library-toolbar { display: grid; grid-template-columns: 1fr; }
  .content-library-filters { overflow-x: auto; padding-bottom: 2px; }
  .content-library-filters button { flex: 0 0 auto; }
  .content-library-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-template-grid { grid-template-columns: 1fr; }
  .content-industry-note { align-items: flex-start; flex-wrap: wrap; }
  .content-company-badge { margin-left: 32px; }
  .content-industry-toolbar { align-items: flex-start; flex-direction: column; }
  .content-industry-toolbar .content-filter-select { flex-basis: auto; width: 100%; }
  .content-preview-paper { margin: 13px; padding: 18px; }
  .content-preview-paper h2 { font-size: 18px; }
  .content-preview-footer { align-items: flex-start; flex-direction: column; }
  .content-preview-footer > div { justify-content: flex-start; }
  .content-modal { padding: 22px 17px; }
}

.content-library-filters, .content-queue-toolbar, .content-table-wrap { scrollbar-width: none; }
.content-library-filters::-webkit-scrollbar, .content-queue-toolbar::-webkit-scrollbar, .content-table-wrap::-webkit-scrollbar { width: 0; height: 0; }

/* Content center refinement: keep the collect-center line-tab language while
   giving creation work its own context rail and clearer type scale. */
.content-view-tabs { display: flex; gap: 0; margin: -4px 0 22px; border-bottom: 1px solid #d9e8dd; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.content-view-tabs::-webkit-scrollbar { width: 0; height: 0; }
.content-view-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; min-height: 50px; align-items: center; padding: 0 20px; border: 0; border-radius: 0; color: #718a7c; background: transparent; font-size: 14px; font-weight: 700; white-space: nowrap; }
.content-view-tabs button:first-child { padding-left: 0; }
.content-view-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.content-view-tabs button:hover { color: var(--brand); background: transparent; }
.content-view-tabs button:hover::after { background: #b8d7c0; }
.content-view-tabs button.active { color: var(--ink); background: transparent; }
.content-view-tabs button.active::after { background: var(--brand); }
.content-tab-label { color: inherit; font-size: 14px; font-weight: 750; line-height: 1; white-space: nowrap; }
.content-context-rail { display: grid; grid-template-columns: minmax(0, 1.05fr) auto minmax(0, 1.25fr) minmax(190px, .8fr); align-items: center; gap: 15px; min-height: 72px; margin: 0 0 18px; padding: 13px 16px; border: 1px solid #c9ddd0; border-radius: 12px; background: #f7fbf8; box-shadow: 0 5px 16px rgba(37, 82, 53, .04); }
.content-context-rail > div { display: grid; min-width: 0; gap: 4px; }
.content-context-rail > div > span { color: #6a8475; font-size: 11px; font-weight: 700; }
.content-context-rail > div > strong { overflow: hidden; color: #1d4b36; font-size: 13px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.content-context-rail > b { color: #6da17c; font-size: 19px; font-weight: 500; }
.content-context-status { padding-left: 15px; border-left: 1px solid #d9e8dd; }
.content-context-status strong { color: #326a4e !important; }
.content-longform-grid { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 20px; }
.content-form-panel { border-top: 3px solid #b8df63; }
.content-preview-panel { border-top: 3px solid #8b8fe2; }
.content-form-panel .panel-header h2, .content-preview-panel .panel-header h2, .content-compact-form .panel-header h2, .content-queue-panel .panel-header h2, .content-prompt-preview .panel-header h2 { font-size: 18px; }
.content-form-panel .panel-header p, .content-preview-panel .panel-header p, .content-compact-form .panel-header p, .content-queue-panel .panel-header p, .content-prompt-preview .panel-header p { font-size: 13px; }
.content-spec-note { color: #557263; font-size: 12px; }
.content-spec-note span { font-size: 12px; }
.content-rule-alert, .content-rule-alert strong { font-size: 13px; }
.content-field > span:first-child, .content-choice-field > span { font-size: 13px; }
.content-field > span:first-child small { font-size: 11px; }
.content-field input, .content-field textarea { font-size: 14px; }
.content-select-wrap select { font-size: 13px; }
.content-platform-tags span { font-size: 12px; }
.content-queue-link { font-size: 12px; }
.content-preview-footer { font-size: 12px; }
.content-preview-footer > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.content-library-stat span, .content-library-filters button, .content-draft-type { font-size: 12px; }
.content-draft-card h2 { font-size: 17px; }
.content-draft-card > p { font-size: 13px; }
.content-draft-meta { font-size: 11px; }
.content-draft-actions .button { font-size: 11px; }
.content-template-card p, .content-template-meta, .content-template-rule span, .content-template-rule small { font-size: 12px; }
.content-template-heading h2 { font-size: 16px; }
.content-industry-note p, .content-industry-toolbar, .content-title-count { font-size: 12px; }
.content-industry-table th, .content-title-table th { font-size: 13px; }
.content-industry-table td, .content-title-table td { font-size: 14px; }
.content-title-table td:nth-child(2) strong { font-size: 14px; }
.content-title-reason { font-size: 12px; }
.content-library-preview { width: min(760px, 100%); }
.content-library-preview-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: #5c7969; font-size: 12px; }
.content-library-preview > h2 { max-width: 650px; margin-right: 36px; font-size: 24px; line-height: 1.45; }
.content-library-preview-excerpt { margin: 0 0 18px; color: #526f60; font-size: 14px; line-height: 1.75; }
.content-library-preview .content-preview-paper { margin: 0; }

/* Platform selection is a real control, not a browser-default button. Keep
   the target name, platform hint and selected state visually grouped. */
.content-platform-tags > button { display: grid; min-width: 170px; min-height: 46px; flex: 1 1 calc(50% - 6px); grid-template-columns: minmax(0, 1fr) 22px; grid-template-rows: auto auto; align-items: center; gap: 2px 8px; padding: 7px 9px; border: 1px solid #d0e2d5; border-radius: 8px; color: #315e46; background: #fbfdfb; text-align: left; appearance: none; -webkit-appearance: none; }
.content-platform-tags > button:hover { border-color: #79ad87; background: #f1f9f2; box-shadow: 0 3px 9px rgba(37, 104, 64, .08); }
.content-platform-tags > button.selected { border-color: #3f9563; color: #194b34; background: #eaf7ec; box-shadow: inset 3px 0 #57a877; }
.content-platform-tags > button strong { min-width: 0; overflow: hidden; grid-column: 1; color: inherit; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.content-platform-tags > button small { min-width: 0; overflow: hidden; grid-column: 1; color: #789184; font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.content-platform-tags > button b { display: grid; width: 20px; height: 20px; place-items: center; grid-column: 2; grid-row: 1 / 3; border-radius: 50%; color: #6f8e7b; background: #edf5ef; font-size: 12px; font-weight: 850; }
.content-platform-tags > button.selected b { color: #fff; background: #3f9563; }
.content-platform-help { color: #71897b; font-size: 11px; line-height: 1.45; }
.content-platform-scope { margin: 0 0 18px; padding: 17px 18px 18px; border: 1px solid #c9ddd0; border-radius: 12px; background: #f7fbf8; box-shadow: 0 5px 16px rgba(37, 82, 53, .04); }
.content-platform-scope-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.content-platform-scope-head h3 { margin: 3px 0 4px; color: #193f2f; font-size: 17px; }
.content-platform-scope-head p { max-width: 720px; margin: 0; color: #60796c; font-size: 12px; line-height: 1.6; }
.content-section-kicker { color: #4b8a61; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.content-platform-scope-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.content-platform-scope-grid > button { display: grid; min-height: 70px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 4px 8px; padding: 10px 11px; border: 1px solid #cfe2d4; border-radius: 9px; color: #315e46; background: #fff; text-align: left; appearance: none; -webkit-appearance: none; }
.content-platform-scope-grid > button:hover { border-color: #74aa82; background: #f1f9f2; }
.content-platform-scope-grid > button.active { border-color: #3f9563; color: #194b34; background: #eaf7ec; box-shadow: inset 3px 0 #57a877; }
.content-platform-scope-grid > button > span { grid-column: 1; font-size: 13px; font-weight: 850; line-height: 1.25; }
.content-platform-scope-grid > button > small { grid-column: 1; color: #789184; font-size: 10px; line-height: 1.3; }
.content-platform-scope-grid > button > b { grid-column: 2; grid-row: 1 / 3; color: #789184; font-size: 10px; font-weight: 800; white-space: nowrap; }
.content-platform-scope-grid > button.active > b { color: #2e8055; }
.content-queue-detail-row td { padding: 0 !important; border-top: 0; background: #f7fbf8; }
.content-queue-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 16px 16px 18px; border-top: 1px solid #dcebe0; }
.content-queue-detail > div { display: grid; gap: 4px; min-width: 0; padding-left: 10px; border-left: 2px solid #b8df63; }
.content-queue-detail strong { color: #2c6045; font-size: 12px; }
.content-queue-detail span { color: #668173; font-size: 11px; line-height: 1.55; }

@media (max-width: 760px) {
  .content-view-tabs button { padding: 0 17px; }
  .content-view-tabs button:first-child { padding-left: 0; }
  .content-context-rail { grid-template-columns: 1fr; gap: 9px; }
  .content-context-rail > b { display: none; }
  .content-context-status { padding-top: 9px; padding-left: 0; border-top: 1px solid #d9e8dd; border-left: 0; }
  .content-library-preview > h2 { font-size: 20px; }
  .content-platform-tags > button { min-width: calc(50% - 6px); }
  .content-platform-scope-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .content-platform-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-queue-detail { grid-template-columns: 1fr; gap: 9px; }
}

/* 一键发布：沿用采词中心的明亮控制台语言，但把队列、策略和连接状态
   分成可读的层级，避免把企师兄的后台布局原样搬进来。 */
.publish-view-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 0 18px; padding: 0 16px; border: 1px solid #cfe2d5; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(37, 82, 53, .04); }
.publish-view-tabs button { display: grid; min-width: 0; min-height: 68px; align-content: center; gap: 4px; padding: 12px 16px; border: 0; border-bottom: 3px solid transparent; color: #789184; background: transparent; text-align: left; cursor: pointer; }
.publish-view-tabs button:hover { color: #2d7350; background: #f7fbf8; }
.publish-view-tabs button.active { border-bottom-color: #2e8055; color: #194b34; background: #f3faf5; }
.publish-view-tabs strong { overflow: hidden; font-size: 14px; font-weight: 850; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.publish-view-tabs span { overflow: hidden; color: #789184; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.publish-view-tabs button.active span { color: #57816a; }
.publish-plugin-alert { display: flex; align-items: center; gap: 13px; margin: 0 0 18px; padding: 13px 15px; border: 1px solid #ead9a7; border-radius: 12px; background: #fffcf2; color: #6e5b28; }
.publish-alert-icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 9px; color: #886813; background: #f9eec5; font-size: 15px; font-weight: 900; }
.publish-plugin-alert > div { min-width: 0; flex: 1; }
.publish-plugin-alert strong { display: block; color: #59491e; font-size: 13px; line-height: 1.35; }
.publish-plugin-alert p { margin: 3px 0 0; color: #826f3b; font-size: 12px; line-height: 1.5; }
.publish-plugin-alert .button { flex: 0 0 auto; color: #785e18; border-color: #e2cb81; background: #fff; }
.publish-plugin-alert.is-checked { border-color: #b9d9c1; background: #f4fbf5; color: #35694a; }
.publish-plugin-alert.is-checked .publish-alert-icon { color: #fff; background: #4b9a68; }
.publish-plugin-alert.is-checked strong { color: #245b3d; }
.publish-plugin-alert.is-checked p { color: #5e806a; }
.publish-plugin-alert.is-checked .button { color: #2e7450; border-color: #abd0b5; }
.publish-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.publish-stat-grid.publish-queue-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.publish-stat-card { min-width: 0; padding: 17px 18px 15px; border: 1px solid #c9ddd0; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(37, 82, 53, .045); }
.publish-stat-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #547563; font-size: 12px; font-weight: 800; }
.publish-stat-top b { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 8px; color: #2f8a5b; background: #e8f4eb; font-size: 13px; }
.publish-stat-card strong { display: block; margin-top: 12px; color: #173f2f; font-size: 25px; font-weight: 500; letter-spacing: -.03em; line-height: 1.1; }
.publish-stat-card small { display: block; margin-top: 8px; overflow: hidden; color: #6d8778; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.publish-center-layout { display: grid; grid-template-columns: minmax(245px, .82fr) minmax(320px, 1.1fr) minmax(260px, .92fr); gap: 14px; align-items: stretch; }
.publish-center-layout > .panel { min-width: 0; overflow: hidden; }
.publish-pending-panel, .publish-strategy-panel, .publish-preview-panel { border-top: 3px solid #b8df63; }
.publish-strategy-panel { border-top-color: #7db98e; }
.publish-preview-panel { border-top-color: #9b9de8; }
.publish-pending-panel .panel-header, .publish-strategy-panel .panel-header, .publish-preview-panel .panel-header { min-height: 74px; }
.publish-pending-panel h2, .publish-strategy-panel h2, .publish-preview-panel h2 { color: #194b34; font-size: 17px; }
.publish-pending-panel .panel-header p, .publish-strategy-panel .panel-header p, .publish-preview-panel .panel-header p { color: #668173; font-size: 12px; }
.publish-count-badge { padding: 5px 9px; border-radius: 999px; color: #2c7650; background: #eaf6ed; font-size: 11px; font-weight: 850; white-space: nowrap; }
.publish-inline-filter { display: flex; gap: 8px; padding: 0 16px 12px; border-bottom: 1px solid #e6f0e8; }
.publish-inline-filter input, .publish-search-field input { min-width: 0; border: 1px solid #cbded1; border-radius: 8px; outline: 0; color: #214b38; background: #fbfdfb; font: inherit; }
.publish-inline-filter input { width: 100%; height: 34px; padding: 0 10px; font-size: 12px; }
.publish-inline-filter input:focus, .publish-search-field input:focus { border-color: #61a878; box-shadow: 0 0 0 3px rgba(79, 153, 96, .12); }
.publish-article-list { display: grid; gap: 7px; padding: 12px; }
.publish-article-row { display: grid; min-width: 0; grid-template-columns: 28px minmax(0, 1fr) auto 12px; align-items: center; gap: 8px; padding: 10px 9px; border: 1px solid transparent; border-radius: 9px; color: #365f49; background: #fbfdfb; text-align: left; cursor: pointer; }
.publish-article-row:hover { border-color: #c2dcc9; background: #f3faf5; }
.publish-article-row.active { border-color: #75b28a; background: #eaf7ed; box-shadow: inset 3px 0 #3c9563; }
.publish-article-number { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; color: #478965; background: #e4f2e7; font-size: 10px; font-weight: 900; }
.publish-article-row.active .publish-article-number { color: #fff; background: #3b9562; }
.publish-article-copy { display: grid; min-width: 0; gap: 4px; }
.publish-article-copy strong { overflow: hidden; color: #234e39; font-size: 12px; font-weight: 800; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.publish-article-copy small { overflow: hidden; color: #708b7b; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.publish-row-side { display: grid; justify-items: end; gap: 5px; white-space: nowrap; }
.publish-row-side em { color: #5d7668; font-size: 10px; font-style: normal; font-weight: 850; }
.publish-article-row > i { color: #6aa37b; font-size: 16px; font-style: normal; }
.publish-strategy-body { display: grid; gap: 18px; padding: 1px 17px 17px; }
.publish-field-block { display: grid; gap: 8px; }
.publish-field-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.publish-field-label strong { color: #315e46; font-size: 12px; font-weight: 850; }
.publish-field-label span { color: #7b9283; font-size: 10px; text-align: right; }
.publish-selected-article { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid #d7e8da; border-radius: 8px; background: #f5fbf6; }
.publish-selected-article strong { color: #244d38; font-size: 13px; line-height: 1.5; }
.publish-selected-article span { color: #648071; font-size: 11px; }
.publish-mode-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.publish-mode-tabs button { display: grid; gap: 3px; padding: 10px 11px; border: 1px solid #d1e3d6; border-radius: 8px; color: #668173; background: #fff; text-align: left; cursor: pointer; }
.publish-mode-tabs button:hover { border-color: #85b991; background: #f5fbf6; }
.publish-mode-tabs button.active { border-color: #4c9b69; color: #1e5f3f; background: #eaf7ed; box-shadow: inset 3px 0 #4c9b69; }
.publish-mode-tabs strong { font-size: 12px; }
.publish-mode-tabs small { color: #7a9383; font-size: 10px; }
.publish-schedule-field, .publish-select-field { position: relative; display: grid; gap: 5px; }
.publish-schedule-field span { color: #6c8778; font-size: 11px; }
.publish-schedule-field input, .publish-select-field select { width: 100%; height: 36px; padding: 0 31px 0 10px; border: 1px solid #cbded1; border-radius: 8px; outline: 0; color: #315e46; background: #fbfdfb; font: inherit; font-size: 12px; }
.publish-select-field i { position: absolute; right: 11px; bottom: 10px; color: #609375; font-size: 12px; font-style: normal; pointer-events: none; }
.publish-platform-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.publish-platform-picker button { display: grid; grid-template-columns: 22px minmax(0, 1fr) 15px; align-items: center; gap: 6px; min-width: 0; padding: 7px 8px; border: 1px solid #d2e4d7; border-radius: 8px; color: #527562; background: #fff; text-align: left; cursor: pointer; }
.publish-platform-picker button:hover { border-color: #83b88e; background: #f5fbf6; }
.publish-platform-picker button.selected { border-color: #56a171; color: #1f6241; background: #eaf7ed; }
.publish-platform-picker button.is-unavailable { border-color: #e2e9e4; color: #9aa9a0; background: #f7f9f7; cursor: pointer; }
.publish-platform-picker button.is-unavailable:hover { border-color: #d6dfd8; color: #7f9185; background: #f4f7f4; }
.publish-platform-picker button.is-unavailable > span { color: #8b9c91; background: #e9efea; }
.publish-platform-picker button.is-unavailable > i { color: #9aa9a0; }
.publish-platform-picker button > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: #448861; background: #e4f2e7; font-size: 11px; font-weight: 900; }
.publish-platform-picker button.selected > span { color: #fff; background: #4c9b69; }
.publish-platform-picker button > i { color: #75a188; font-size: 12px; font-style: normal; text-align: center; }
.publish-platform-picker button.selected > i { color: #2f8a5b; font-weight: 900; }
.publish-platform-help { margin: -2px 0 0; color: #758d7f; font-size: 11px; line-height: 1.5; }
.publish-submit-button { width: 100%; justify-content: center; min-height: 41px; margin-top: -2px; }
.publish-submit-button span { margin-left: 7px; font-size: 16px; }
.publish-preview-paper { display: grid; gap: 14px; margin: 0 15px; padding: 15px; border: 1px solid #d7e5dd; border-radius: 10px; background: #fbfdfb; }
.publish-preview-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #6e897a; font-size: 11px; }
.publish-preview-paper h3 { margin: 0; color: #214b38; font-size: 17px; line-height: 1.55; }
.publish-preview-paper > p { margin: 0; color: #5d796a; font-size: 12px; line-height: 1.75; }
.publish-preview-facts { display: grid; gap: 9px; padding-top: 2px; }
.publish-preview-facts div { display: grid; gap: 3px; }
.publish-preview-facts span { color: #789184; font-size: 10px; }
.publish-preview-facts strong { color: #365f49; font-size: 11px; line-height: 1.4; }
.publish-preview-check { display: flex; align-items: flex-start; gap: 7px; padding-top: 10px; border-top: 1px solid #e2eee5; color: #3b7d59; font-size: 11px; line-height: 1.5; }
.publish-preview-check i { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; border-radius: 50%; color: #fff; background: #58a877; font-size: 10px; font-style: normal; }
.publish-preview-action { width: calc(100% - 30px); justify-content: center; margin: 14px 15px 15px; }
.publish-guide-steps { display: grid; gap: 12px; margin: 0; padding: 0 0 0 23px; color: #315e46; }
.publish-guide-steps li { padding-left: 5px; }
.publish-guide-steps strong { display: block; color: #244e39; font-size: 13px; line-height: 1.4; }
.publish-guide-steps span { display: block; margin-top: 3px; color: #698274; font-size: 12px; line-height: 1.6; }
.publish-preview-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }
.publish-preview-modal-grid > div { display: grid; gap: 4px; min-width: 0; padding: 11px 12px; border: 1px solid #d9e8dc; border-radius: 9px; background: #f7fbf8; }
.publish-preview-modal-grid span { color: #789184; font-size: 11px; }
.publish-preview-modal-grid strong { overflow-wrap: anywhere; color: #2b5d43; font-size: 12px; line-height: 1.5; }
.publish-preview-modal-copy { margin-top: 13px; padding: 12px 13px; border-left: 3px solid #b8df63; background: #f7fbe9; }
.publish-preview-modal-copy strong { color: #315e46; font-size: 12px; }
.publish-preview-modal-copy p { margin: 5px 0 0; color: #668173; font-size: 12px; line-height: 1.65; }
.publish-table-panel { overflow: hidden; }
.publish-toolbar, .publish-history-toolbar, .publish-platform-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 15px 17px; border-bottom: 1px solid #e0ece3; }
.publish-toolbar-filters { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 8px; }
.publish-filter-select { position: relative; display: grid; grid-template-columns: auto 130px; align-items: center; gap: 7px; }
.publish-filter-select span { color: #6b8677; font-size: 11px; font-weight: 750; }
.publish-filter-select select { width: 130px; height: 34px; padding: 0 24px 0 9px; border: 1px solid #cbded1; border-radius: 8px; outline: 0; color: #315e46; background: #fbfdfb; font: inherit; font-size: 12px; }
.publish-filter-select i { position: absolute; right: 9px; color: #629376; font-size: 12px; font-style: normal; pointer-events: none; }
.publish-search-field { position: relative; display: block; min-width: 210px; flex: 1 1 210px; }
.publish-search-field input { width: 100%; height: 34px; padding: 0 30px 0 10px; font-size: 12px; }
.publish-search-field i { position: absolute; top: 8px; right: 10px; color: #6ca17b; font-size: 15px; font-style: normal; pointer-events: none; }
.publish-cloud-button { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; height: 34px; padding: 0 11px; border: 1px solid #cbded1; border-radius: 8px; color: #5a7a68; background: #fff; font: inherit; font-size: 11px; cursor: pointer; }
.publish-cloud-button:hover, .publish-cloud-button.active { border-color: #65a77b; color: #2f7d53; background: #eaf7ed; }
.publish-cloud-button span { font-size: 14px; }
.publish-table-wrap { width: 100%; overflow-x: auto; }
.publish-data-table { width: 100%; min-width: 930px; border-collapse: collapse; color: #365f49; table-layout: fixed; }
.publish-data-table th { height: 43px; padding: 0 12px; border-bottom: 1px solid #cde2d3; color: #527563; background: #f0f8f2; font-size: 11px; font-weight: 850; text-align: left; white-space: nowrap; }
.publish-data-table td { min-height: 58px; padding: 11px 12px; border-bottom: 1px solid #e8f0e9; color: #4e6f5d; font-size: 12px; vertical-align: middle; }
.publish-data-table tbody tr:hover { background: #fbfefb; }
.publish-data-table tbody tr.is-expanded { background: #f7fbf8; }
.publish-data-table th:nth-child(1), .publish-data-table td:nth-child(1) { width: 42px; }
.publish-data-table th:nth-child(2), .publish-data-table td:nth-child(2) { width: 28%; }
.publish-data-table th:nth-child(3), .publish-data-table td:nth-child(3) { width: 80px; }
.publish-data-table th:nth-child(4), .publish-data-table td:nth-child(4) { width: 16%; }
.publish-data-table th:nth-child(5), .publish-data-table td:nth-child(5) { width: 12%; }
.publish-data-table th:nth-child(6), .publish-data-table td:nth-child(6) { width: 100px; }
.publish-data-table th:nth-child(7), .publish-data-table td:nth-child(7) { width: 120px; }
.publish-data-table th:last-child, .publish-data-table td:last-child { width: 110px; text-align: right; }
.publish-data-table input[type="checkbox"] { width: 15px; height: 15px; accent-color: #3f9563; }
.publish-title-cell { display: -webkit-box; overflow: hidden; color: #244e39; font-size: 13px; font-weight: 800; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.publish-priority { display: inline-flex; min-width: 27px; justify-content: center; padding: 4px 7px; border-radius: 5px; color: #7f6422; background: #fff2cd; font-size: 10px; font-weight: 850; }
.publish-muted { color: #91a399; }
.publish-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 17px; color: #718b7d; font-size: 11px; }
.publish-table-footer > div { display: flex; gap: 7px; }
.publish-detail-row td { padding: 0 !important; border-bottom: 1px solid #dcebe0; background: #f7fbf8; }
.publish-detail-card { display: grid; gap: 8px; padding: 14px 18px 15px 56px; border-left: 3px solid #b8df63; }
.publish-detail-card > strong { color: #2d6548; font-size: 12px; }
.publish-detail-card > span { color: #688274; font-size: 11px; line-height: 1.5; }
.publish-detail-card > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.publish-detail-platform { padding: 5px 8px; border-radius: 6px; font-size: 10px; font-weight: 750; }
.publish-detail-platform.done { color: #367b53; background: #e4f4e7; }
.publish-detail-platform.pending { color: #80681e; background: #fff3ce; }
.publish-detail-platform.failed { color: #a84b4b; background: #fce8e8; }
.publish-history-detail { display: grid; gap: 11px; padding: 15px 18px 16px; border-left: 3px solid #b8df63; background: #f7fbf8; }
.publish-history-detail-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.publish-history-detail-heading strong { color: #2d6548; font-size: 12px; }
.publish-history-detail-heading span { color: #688274; font-size: 11px; line-height: 1.5; text-align: right; }
.publish-history-detail-table-wrap { width: 100%; overflow-x: auto; scrollbar-width: none; }
.publish-history-detail-table-wrap::-webkit-scrollbar { width: 0; height: 0; }
.publish-history-detail-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; }
.publish-history-detail-table th { padding: 8px 9px; border-bottom: 1px solid #dcebe0; color: #648071; background: #edf7ef; font-size: 11px; font-weight: 850; text-align: left; white-space: nowrap; }
.publish-history-detail-table td { padding: 9px; border-bottom: 1px solid #e8f0e9; color: #527260; font-size: 11px; line-height: 1.45; vertical-align: middle; }
.publish-history-detail-table td:nth-child(5), .publish-history-detail-table td:nth-child(6), .publish-history-detail-table td:nth-child(7) { overflow-wrap: anywhere; }
.publish-history-detail-actions { display: flex; justify-content: flex-end; gap: 7px; }
.publish-empty-row { display: grid; min-height: 100px; place-items: center; align-content: center; gap: 5px; color: #6d8978; text-align: center; }
.publish-empty-row strong { color: #3b654e; font-size: 13px; }
.publish-empty-row span { font-size: 11px; }
.publish-history-toolbar { flex-wrap: wrap; }
.publish-status-tabs { display: flex; align-items: center; gap: 3px; }
.publish-status-tabs button { height: 31px; padding: 0 11px; border: 1px solid transparent; border-radius: 7px; color: #6f8b7b; background: transparent; font: inherit; font-size: 11px; cursor: pointer; }
.publish-status-tabs button:hover { color: #2f7d53; background: #f1f9f3; }
.publish-status-tabs button.active { border-color: #9bcaaa; color: #246542; background: #e9f6ed; font-weight: 850; }
.publish-platform-summary { display: flex; flex-wrap: wrap; gap: 4px; }
.publish-platform-summary span { padding: 3px 6px; border-radius: 5px; color: #527563; background: #eef6f0; font-size: 10px; }
.publish-platform-summary .publish-history-failure-count { padding: 3px 6px; border-radius: 5px; color: #a84b4b; background: #fce8e8; font-size: 10px; font-style: normal; font-weight: 800; }
.publish-failure-grid { display: grid; grid-template-columns: minmax(190px, 1.35fr) repeat(5, minmax(116px, 1fr)); gap: 10px; margin: 0 0 18px; }
.publish-failure-intro, .publish-failure-card { min-width: 0; padding: 13px; border: 1px solid #d8e7dc; border-radius: 10px; background: #fff; }
.publish-failure-intro { background: #f5fbf6; }
.publish-section-kicker { color: #4c8b61; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.publish-failure-intro h2 { margin: 7px 0 3px; color: #244e39; font-size: 15px; line-height: 1.35; }
.publish-failure-intro p { margin: 0; color: #6e8879; font-size: 11px; line-height: 1.5; }
.publish-failure-card { position: relative; display: grid; align-content: center; gap: 4px; text-align: left; cursor: pointer; }
.publish-failure-card:hover { border-color: #87b998; background: #f8fcf8; }
.publish-failure-card strong { color: #244e39; font-size: 21px; font-weight: 600; }
.publish-failure-card span { overflow: hidden; color: #6c8777; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.publish-failure-card small { display: block; overflow: hidden; color: #82968a; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.publish-failure-card i { position: absolute; top: 13px; right: 12px; color: #83a393; font-size: 13px; font-style: normal; }
.publish-failure-card.red { border-color: #efd0d0; background: #fffafa; }.publish-failure-card.red strong { color: #a84b4b; }
.publish-failure-card.orange { border-color: #ebdfbd; background: #fffdf5; }.publish-failure-card.orange strong { color: #967321; }
.publish-failure-card.purple { border-color: #ddd8f1; background: #fbfaff; }.publish-failure-card.purple strong { color: #6955a2; }
.publish-failure-card.blue { border-color: #d0e0ef; background: #fafdff; }.publish-failure-card.blue strong { color: #4071a3; }
.publish-platform-toolbar { padding-top: 0; border-bottom: 0; }
.publish-platform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.publish-platform-card { display: grid; min-width: 0; gap: 14px; padding: 15px; border: 1px solid #cfe2d5; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(37, 82, 53, .04); }
.publish-platform-card.is-pending { border-color: #e7d7a8; background: #fffef9; }
.publish-platform-card.is-disconnected { border-color: #e5caca; background: #fffafa; }
.publish-platform-card-head { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.publish-platform-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: #2f8056; font-size: 13px; font-weight: 900; }
.publish-platform-card:nth-child(3n) .publish-platform-icon { background: #7a76bf; }.publish-platform-card:nth-child(3n + 1) .publish-platform-icon { background: #39936a; }
.publish-platform-card-head h3 { overflow: hidden; margin: 0; color: #244e39; font-size: 14px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.publish-platform-card-head small { display: block; overflow: hidden; margin-top: 3px; color: #789184; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.publish-platform-quota { display: grid; gap: 8px; }
.publish-platform-quota > div:first-child { display: flex; align-items: center; justify-content: space-between; color: #6d8879; font-size: 11px; }
.publish-platform-quota strong { color: #2e6548; font-size: 12px; }
.publish-quota-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e9f2eb; }
.publish-quota-track i { display: block; height: 100%; border-radius: inherit; background: #64ab7b; }
.publish-platform-facts { display: grid; gap: 8px; margin: 0; padding: 11px 0; border-top: 1px solid #edf3ee; border-bottom: 1px solid #edf3ee; }
.publish-platform-facts div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.publish-platform-facts dt { color: #81998b; font-size: 10px; }.publish-platform-facts dd { min-width: 0; margin: 0; overflow: hidden; color: #4e705d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.publish-platform-facts input { width: 51px; height: 25px; padding: 0 5px; border: 1px solid #cbded1; border-radius: 6px; color: #315e46; background: #fbfdfb; text-align: right; font: inherit; font-size: 11px; }
.publish-platform-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.publish-platform-actions .button { min-height: 29px; padding: 0 8px; font-size: 10px; }
.publish-platform-actions .publish-danger-link { color: #9a6565; border-color: #eed7d7; background: #fffafa; }
.publish-platform-actions .publish-danger-link.is-confirming { color: #fff; border-color: #c56b67; background: #b9504c; }
.publish-platform-empty { grid-column: 1 / -1; min-height: 150px; border: 1px dashed #cbded1; border-radius: 10px; background: #fbfdfb; }
.publish-log-panel .panel-header { min-height: 65px; }
.publish-log-panel h2 { color: #244e39; font-size: 16px; }
.publish-log-panel p { color: #6e8879; font-size: 11px; }
.publish-platform-add-modal { width: min(560px, 100%); }
.publish-platform-add-grid { display: grid; gap: 13px; }
.publish-platform-add-grid label { display: grid; gap: 6px; color: #315e46; font-size: 13px; font-weight: 800; }
.publish-platform-add-grid select, .publish-platform-add-grid input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #c5ddcc; border-radius: 8px; color: #1f4935; background: #fbfefc; font: inherit; font-size: 13px; }
.publish-platform-add-grid select:focus, .publish-platform-add-grid input:focus { outline: 3px solid rgba(87, 174, 115, .18); border-color: #4d9a69; }
.publish-platform-add-grid select:disabled { color: #607b6b; background: #f0f6f1; cursor: not-allowed; }
.publish-platform-add-note { margin: 0; padding: 10px 12px; border-radius: 8px; color: #5d7968; background: #f0f7f1; font-size: 12px; line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 1180px) {
  .publish-center-layout { grid-template-columns: minmax(230px, .8fr) minmax(310px, 1fr); }
  .publish-preview-panel { grid-column: 1 / -1; }
  .publish-preview-paper { grid-template-columns: 1fr 1fr; }
  .publish-preview-paper h3, .publish-preview-paper > p { grid-column: 1 / -1; }
  .publish-preview-check { grid-column: 1 / -1; }
  .publish-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .publish-failure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .publish-failure-intro { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .publish-stat-grid.publish-queue-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .publish-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publish-center-layout { grid-template-columns: 1fr; }
  .publish-preview-panel { grid-column: auto; }
}
@media (max-width: 620px) {
  .publish-view-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 8px; }
  .publish-view-tabs button { min-height: 61px; padding: 10px; }
  .publish-stat-grid, .publish-stat-grid.publish-queue-stats, .publish-platform-grid, .publish-failure-grid { grid-template-columns: 1fr; }
  .publish-failure-intro { grid-column: auto; }
  .publish-plugin-alert { align-items: flex-start; flex-wrap: wrap; }
  .publish-plugin-alert > div { flex-basis: calc(100% - 42px); }
  .publish-plugin-alert .button { margin-left: 41px; }
  .publish-toolbar, .publish-history-toolbar, .publish-platform-toolbar { align-items: stretch; flex-direction: column; }
  .publish-toolbar-filters { display: grid; grid-template-columns: 1fr 1fr; }
  .publish-search-field { grid-column: 1 / -1; }
  .publish-cloud-button { align-self: flex-start; }
  .publish-preview-paper { grid-template-columns: 1fr; }
  .publish-preview-paper h3, .publish-preview-paper > p, .publish-preview-check { grid-column: auto; }
}

/* Matrix management follows the collect-center visual language: light canvas,
   high-contrast text, line tabs, and compact but readable enterprise tables. */
.matrix-tabs-shell { margin-bottom: 20px; }
.matrix-module-tabs { margin: 0; }
.matrix-stat-grid { margin-bottom: 18px; }
.matrix-stat-card { min-height: 118px; padding: 17px 18px; border-color: #c8dfd0; box-shadow: 0 7px 18px rgba(45, 92, 62, .045); }
.matrix-stat-card .stat-top > span:first-child { color: #456955; font-size: 12px; font-weight: 850; }
.matrix-stat-card .stat-value { margin-top: 12px; color: #174b35; font-size: 28px; font-weight: 650; letter-spacing: -.035em; }
.matrix-stat-card .stat-meta { margin-top: 5px; color: #6d8777; font-size: 11px; }
.matrix-stat-icon { display: inline-grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; color: #24704b; background: #e5f3e9; font-size: 15px; font-weight: 800; }
.matrix-stat-icon.purple { color: #6759a2; background: #eeeafd; }
.matrix-stat-icon.orange { color: #986a22; background: #fff2d9; }
.matrix-stat-icon.red { color: #a14c4c; background: #fdeaea; }
.matrix-form-panel, .matrix-detail-panel { margin-bottom: 18px; border-color: #c8dfd0; background: #fbfefc; }
.matrix-form-panel .panel-header, .matrix-detail-panel .panel-header { min-height: 62px; border-bottom-color: #e1eee4; }
.matrix-form-panel h3, .matrix-detail-panel h3 { color: #1f5138; font-size: 15px; }
.matrix-form-panel p, .matrix-detail-panel p { color: #6a8575; font-size: 11px; }
.matrix-form-grid { padding: 16px 18px 2px; }
.matrix-form-grid .field, .matrix-detail-grid label { display: grid; gap: 7px; min-width: 0; }
.matrix-form-grid .field > span, .matrix-detail-grid label > span, .matrix-detail-grid > div > span { color: #52715f; font-size: 11px; font-weight: 800; }
.matrix-form-grid input, .matrix-form-grid select, .matrix-detail-grid input { width: 100%; height: 36px; padding: 0 10px; border: 1px solid #cbded1; border-radius: 7px; color: #244e39; background: #fff; font: inherit; font-size: 12px; outline: 0; }
.matrix-form-grid input:focus, .matrix-form-grid select:focus, .matrix-detail-grid input:focus { border-color: #5eaa78; box-shadow: 0 0 0 3px rgba(94, 170, 120, .13); }
.matrix-form-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 18px 17px; }
.matrix-table-panel { overflow: hidden; border-color: #c8dfd0; box-shadow: 0 7px 18px rgba(45, 92, 62, .04); }
.matrix-panel-header { min-height: 67px; border-bottom-color: #e1eee4; }
.matrix-panel-header h3 { color: #1c4c35; font-size: 16px; }
.matrix-panel-header p { max-width: 760px; margin-top: 5px; color: #688274; font-size: 11px; line-height: 1.55; }
.matrix-result-count { flex: 0 0 auto; padding: 6px 10px; border: 1px solid #d5e8da; border-radius: 999px; color: #4d7860; background: #f2faf4; font-size: 11px; font-weight: 800; }
.matrix-toolbar { display: flex; align-items: end; gap: 9px; padding: 14px 18px; border-bottom: 1px solid #e5efe7; background: #fcfefc; }
.matrix-toolbar-row { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; width: 100%; }
.matrix-filter-field { position: relative; display: grid; flex: 0 0 142px; gap: 6px; min-width: 0; }
.matrix-filter-field > span { color: #557665; font-size: 10px; font-weight: 850; }
.matrix-filter-field select { width: 100%; height: 35px; padding: 0 28px 0 10px; border: 1px solid #c9ded0; border-radius: 7px; color: #315d46; background: #fff; appearance: none; font: inherit; font-size: 11px; font-weight: 750; outline: 0; }
.matrix-filter-field select:focus { border-color: #5ea978; box-shadow: 0 0 0 3px rgba(94, 169, 120, .12); }
.matrix-filter-field i { position: absolute; right: 10px; bottom: 9px; color: #6d907d; font-size: 12px; font-style: normal; pointer-events: none; }
.matrix-search-field { position: relative; display: block; flex: 1 1 260px; min-width: 180px; }
.matrix-search-field input { width: 100%; height: 35px; padding: 0 31px 0 11px; border: 1px solid #c9ded0; border-radius: 7px; color: #315d46; background: #fff; font: inherit; font-size: 11px; outline: 0; }
.matrix-search-field input::placeholder { color: #91a99a; }
.matrix-search-field input:focus { border-color: #5ea978; box-shadow: 0 0 0 3px rgba(94, 169, 120, .12); }
.matrix-search-field i { position: absolute; right: 11px; top: 9px; color: #5a8d6b; font-size: 14px; font-style: normal; pointer-events: none; }
.matrix-toolbar > .button, .matrix-toolbar-row > .button { height: 35px; white-space: nowrap; }
.matrix-table-wrap { overflow: hidden; padding: 0 12px; }
.matrix-data-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.matrix-data-table th { height: 44px; padding: 0 7px; border-bottom: 1px solid #cfe2d5; color: #416852; background: #eff8f1; font-size: 10px; font-weight: 900; letter-spacing: .01em; text-align: left; white-space: nowrap; }
.matrix-data-table td { min-width: 0; padding: 13px 7px; border-bottom: 1px solid #e7f0e9; color: #466856; font-size: 11px; line-height: 1.45; vertical-align: middle; }
.matrix-data-table tbody tr:hover { background: #fbfefb; }
.matrix-data-table tbody tr:last-child td { border-bottom: 0; }
.matrix-data-table th:nth-child(1), .matrix-data-table td:nth-child(1) { width: 4%; }
.matrix-data-table th:nth-child(2), .matrix-data-table td:nth-child(2) { width: 9%; }
.matrix-data-table th:nth-child(3), .matrix-data-table td:nth-child(3) { width: 17%; }
.matrix-data-table th:nth-child(4), .matrix-data-table td:nth-child(4) { width: 13%; }
.matrix-data-table th:nth-child(5), .matrix-data-table td:nth-child(5) { width: 9%; }
.matrix-data-table th:nth-child(6), .matrix-data-table td:nth-child(6) { width: 7%; }
.matrix-data-table th:nth-child(7), .matrix-data-table td:nth-child(7) { width: 8%; }
.matrix-data-table th:nth-child(8), .matrix-data-table td:nth-child(8) { width: 9%; }
.matrix-data-table th:nth-child(9), .matrix-data-table td:nth-child(9) { width: 12%; }
.matrix-data-table th:nth-child(10), .matrix-data-table td:nth-child(10) { width: 12%; }
.matrix-data-table td strong { color: #214f38; font-weight: 850; }
.matrix-spec-cell, .matrix-link-cell { display: block; overflow-wrap: anywhere; word-break: break-word; }
.matrix-link-cell { max-height: 3.2em; overflow: hidden; color: #6b8978; font-size: 10px; }
.matrix-weight { color: #2e7a51 !important; font-size: 13px; }
.matrix-row-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.matrix-row-actions .button { min-height: 28px; padding: 0 8px; border-color: #cddfd3; color: #3f7154; background: #fff; font-size: 10px; }
.matrix-row-actions .button:hover { border-color: #76b38a; color: #246642; background: #f1faf3; }
.matrix-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 18px; border-top: 1px solid #e5efe7; color: #789184; font-size: 10px; }
.matrix-empty-state { display: grid; justify-items: center; gap: 5px; min-height: 118px; padding: 38px 10px; text-align: center; }
.matrix-empty-state strong { color: #3d6650; font-size: 13px; }
.matrix-empty-state span { color: #81998b; font-size: 11px; }
.matrix-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 16px 18px 2px; }
.matrix-detail-grid > div { display: grid; align-content: start; gap: 7px; padding: 0 4px; }
.matrix-detail-grid > div > strong { color: #214f38; font-size: 13px; }
.matrix-inline-detail { display: grid; gap: 9px; padding: 12px 14px; border: 1px solid #d8e9dc; border-radius: 8px; background: #f7fcf8; }
.matrix-inline-detail strong { color: #2e6045; font-size: 12px; }
.matrix-inline-detail > span { color: #6f897b; font-size: 11px; }
.matrix-detail-row td { padding: 8px 7px 13px; background: #fbfefb; }
.matrix-detail-platform { display: inline-flex; margin: 0 5px 0 0; padding: 4px 7px; border: 1px solid #d5e7d9; border-radius: 5px; color: #4e7860; background: #fff; font-size: 10px; }
.matrix-platform-list { display: flex; flex-wrap: wrap; gap: 4px; max-height: 38px; overflow: hidden; }
.matrix-platform-list span { padding: 2px 5px; border-radius: 4px; color: #567963; background: #eef7f0; font-size: 9px; }
.matrix-queue-toolbar { display: grid; gap: 12px; align-items: stretch; }
.matrix-queue-toolbar .matrix-toolbar-row { align-items: end; }
.matrix-dispatch-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; padding-top: 1px; }
.matrix-draft-control { display: flex; align-items: center; min-height: 35px; }
.matrix-draft-control input { width: 132px; height: 35px; padding: 0 10px; border: 1px solid #c9ded0; border-radius: 7px; color: #315d46; background: #fff; font: inherit; font-size: 11px; }
.matrix-draft-control input::placeholder { color: #91a99a; }
.matrix-check-control, .matrix-number-control { display: flex; align-items: center; gap: 6px; min-height: 35px; color: #547462; font-size: 11px; font-weight: 750; white-space: nowrap; }
.matrix-check-control input { width: 15px; height: 15px; accent-color: #2d7b53; }
.matrix-number-control span { color: #688374; font-size: 10px; }
.matrix-number-control input { width: 66px; height: 35px; padding: 0 8px; border: 1px solid #c9ded0; border-radius: 7px; color: #315d46; background: #fff; font: inherit; font-size: 11px; }
.matrix-selection-count { align-self: center; margin-left: auto; color: #527860; font-size: 10px; font-weight: 800; }
.matrix-check-col { width: 34px !important; text-align: center !important; }
.matrix-queue-table th:nth-child(2), .matrix-queue-table td:nth-child(2) { width: 6%; }
.matrix-queue-table th:nth-child(3), .matrix-queue-table td:nth-child(3) { width: 14%; }
.matrix-queue-table th:nth-child(4), .matrix-queue-table td:nth-child(4) { width: 11%; }
.matrix-queue-table th:nth-child(5), .matrix-queue-table td:nth-child(5) { width: 10%; }
.matrix-queue-table th:nth-child(6), .matrix-queue-table td:nth-child(6) { width: 29%; }
.matrix-queue-table th:nth-child(7), .matrix-queue-table td:nth-child(7) { width: 15%; }
.matrix-queue-table th:nth-child(8), .matrix-queue-table td:nth-child(8) { width: 14%; }
.matrix-draft-title { display: block; overflow: hidden; margin-top: 3px; color: #799486; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.matrix-queue-table td:first-of-type input { width: 15px; height: 15px; accent-color: #2d7b53; }
.matrix-queue-table .chip { white-space: nowrap; }
.matrix-queue-table td { vertical-align: top; }
.matrix-queue-table .matrix-row-actions { align-items: flex-start; }
.matrix-queue-preview { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 12px 11px; padding: 13px 15px; border: 1px solid #c7e0ce; border-radius: 9px; background: #f0faf2; }
.matrix-queue-preview > div { display: grid; gap: 4px; min-width: 0; }
.matrix-queue-preview strong { overflow: hidden; color: #20583c; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.matrix-queue-preview small { color: #668474; font-size: 10px; }
.matrix-section-kicker { color: #37825a; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.matrix-pagination { display: flex; align-items: center; gap: 8px; }
.matrix-pagination span { min-width: 52px; color: #577966; font-size: 11px; font-weight: 800; text-align: center; }
.matrix-pagination .button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

@media (max-width: 1180px) {
  .matrix-data-table th, .matrix-data-table td { padding-right: 5px; padding-left: 5px; font-size: 10px; }
  .matrix-row-actions { gap: 3px; }
  .matrix-row-actions .button { padding: 0 6px; font-size: 9px; }
  .matrix-platform-list span { font-size: 8px; }
}
@media (max-width: 860px) {
  .matrix-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .matrix-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .matrix-toolbar-row, .matrix-dispatch-controls { align-items: stretch; }
  .matrix-filter-field, .matrix-search-field { flex-basis: calc(50% - 5px); }
  .matrix-selection-count { margin-left: 0; }
  .matrix-table-wrap { overflow-x: auto; }
  .matrix-data-table { min-width: 980px; }
}
@media (max-width: 620px) {
  .matrix-stat-grid { grid-template-columns: 1fr; }
  .matrix-detail-grid { grid-template-columns: 1fr; }
  .matrix-filter-field, .matrix-search-field { flex-basis: 100%; }
  .matrix-table-footer { align-items: flex-start; flex-direction: column; justify-content: center; padding-top: 10px; padding-bottom: 10px; }
  .matrix-queue-preview { align-items: flex-start; flex-direction: column; }
}

/* Global readability system v4: every admin surface uses the collect-center
   type scale and contrast, including legacy IA screens and action controls. */
:root {
  --admin-text-strong: #173d2d;
  --admin-text: #244936;
  --admin-text-secondary: #536f61;
  --admin-text-tertiary: #6b8476;
  --admin-border: #c8ddd0;
}

html, body, button, input, textarea, select { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { color: var(--admin-text); font-size: 15px; line-height: 1.6; }
#app { color: var(--admin-text); }
#app .page-container { font-size: 15px; }
#app .page-heading { margin-bottom: 25px; }
#app .page-heading .eyebrow { margin-bottom: 10px; color: #2b8055; font-size: 12px; font-weight: 850; letter-spacing: .1em; }
#app .page-heading h1 { color: var(--admin-text-strong); font-size: clamp(28px, 3vw, 37px); font-weight: 850; line-height: 1.22; }
#app .page-heading p { max-width: 930px; color: var(--admin-text-secondary); font-size: 14px; line-height: 1.75; }
#app .panel-header h2, #app .panel-header h3, #app .fact-card h3, #app .self-callout h3, #app .empty-state h3 { color: var(--admin-text-strong); }
#app .panel-header h3 { font-size: 16px; font-weight: 850; }
#app .panel-header p { color: var(--admin-text-secondary); font-size: 13px; line-height: 1.65; }
#app .panel-link { color: #267650; font-size: 13px; font-weight: 800; }
#app .button { min-height: 40px; padding-right: 15px; padding-left: 15px; font-size: 13px; font-weight: 800; line-height: 1.25; }
#app .button-small { min-height: 34px; padding-right: 11px; padding-left: 11px; font-size: 12px !important; }
#app .button-quiet { color: #3f7154; }
#app .button-secondary { color: #2f704d; }
#app .stat-top { color: var(--admin-text-secondary); font-size: 13px; font-weight: 800; }
#app .stat-value { color: var(--admin-text-strong); font-size: 32px; font-weight: 700; }
#app .stat-meta { color: var(--admin-text-tertiary); font-size: 12px; line-height: 1.45; }
#app .stat-icon { color: #267650; }
#app .data-table { color: var(--admin-text); font-size: 13px; }
#app .data-table th { padding: 13px 11px; color: #3f6250; font-size: 12px; font-weight: 850; line-height: 1.45; }
#app .data-table td { padding: 15px 11px; color: var(--admin-text); font-size: 13px; line-height: 1.6; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
#app .data-table td strong { color: var(--admin-text-strong); font-weight: 850; }
#app .data-table .button { font-size: 12px; }
#app .chip { min-height: 26px; padding-right: 9px; padding-left: 9px; color: #3c6750; font-size: 11px; font-weight: 800; line-height: 1.2; }
#app .chip-green { color: #257046; }
#app .chip-blue { color: #236a73; }
#app .chip-orange { color: #8e5a24; }
#app .chip-red { color: #984340; }
#app .chip-purple { color: #60509f; }
#app .chip-gray { color: #5f786b; }
#app .field label, #app .field > span { color: var(--admin-text); font-size: 13px; font-weight: 800; }
#app .field label span, #app .field > span small, #app .field > span em { color: var(--admin-text-tertiary); font-size: 11px; }
#app .field input, #app .field textarea, #app .field select { color: var(--admin-text); font-size: 14px; line-height: 1.55; }
#app .field input::placeholder, #app .field textarea::placeholder { color: #789184; opacity: 1; }
#app .filter-pill, #app .module-tabs button, #app .segmented button { color: #4f6f5d; font-size: 13px; font-weight: 800; }
#app .filter-pill.active, #app .module-tabs button.active, #app .segmented button.active { color: #216746; }
#app .task-content strong, #app .content-title strong, #app .alert-item strong, #app .health-score-copy strong, #app .pipeline-step strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
#app .task-content span, #app .alert-item span, #app .health-score-copy span, #app .pipeline-step span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
#app .subtle-note, #app .content-date, #app .editor-label { color: var(--admin-text-tertiary); font-size: 12px; }
#app .todo-title strong, #app .rule-item strong, #app .onboarding-item strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
#app .todo-title span, #app .rule-item span, #app .onboarding-item span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
#app .monitor-card-top, #app .monitor-card p, #app .content-cell-meta, #app .content-empty-value { color: var(--admin-text-secondary); font-size: 12px; }
#app .monitor-card strong, #app .kpi-card strong { color: var(--admin-text-strong); font-size: 25px; }
#app .kpi-card small { color: var(--admin-text-secondary); font-size: 12px; }
#app .kpi-card span { color: #2a7950; font-size: 11px; }
#app .context-strip, #app .diagnosis-context, #app .collect-config-note, #app .content-industry-note { color: var(--admin-text-secondary); font-size: 13px; line-height: 1.6; }
#app .content-search input, #app .content-header-search input, #app .content-filter-select select, #app .content-platform-pill { color: var(--admin-text); font-size: 13px; }
#app .content-platform-line, #app .content-choice-field > span, #app .content-template-meta, #app .content-titles-heading p { color: var(--admin-text-secondary); font-size: 12px; }
#app .content-draft-card > p, #app .content-template-card p, #app .content-template-rule span, #app .content-template-rule small, #app .content-prompt-preview > p { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.7; }
#app .content-draft-card h2, #app .content-template-heading h2, #app .content-modal h2 { color: var(--admin-text-strong); font-weight: 850; }
#app .content-draft-actions .button, #app .content-template-actions .button { font-size: 12px !important; }
#app .publish-data-table th { color: #3f6250; font-size: 12px !important; font-weight: 850; }
#app .publish-data-table td { color: var(--admin-text); font-size: 13px !important; line-height: 1.6; }
#app .publish-data-table td strong, #app .publish-title-cell { color: var(--admin-text-strong); font-weight: 850; }
#app .publish-toolbar-filters, #app .publish-search-field, #app .publish-status-tabs button, #app .publish-platform-card-head small, #app .publish-platform-quota > div:first-child, #app .publish-platform-facts dt { color: var(--admin-text-secondary); font-size: 12px; }
#app .publish-platform-card-head h3, #app .publish-platform-facts dd, #app .publish-preview-paper h3 { color: var(--admin-text-strong); }
#app .publish-platform-actions .button, #app .publish-status-tabs button { font-size: 12px !important; }
#app .nav-group-label { color: #e2efe5; font-size: 14px; font-weight: 800; }
#app .nav-group-count { color: #c4dbca; font-size: 11px; }
#app .nav-item { color: #d5e5da; font-size: 14px; font-weight: 650; }
#app .nav-item.active { color: #173126; font-weight: 850; }
#app .topbar-user, #app .activity-button { font-size: 13px; }
#app .breadcrumbs { font-size: 13px; }
#app .command-search b { color: #244936; font-size: 12px; }
#app .command-search span { font-size: 10px; }

@media (max-width: 700px) {
  #app .page-container { padding-right: 18px; padding-left: 18px; }
  #app .page-heading h1 { font-size: 29px; }
  #app .page-heading p { font-size: 13px; }
  #app .data-table th { font-size: 11px; }
  #app .data-table td { font-size: 12px; }
  #app .nav-item, #app .nav-group-label { font-size: 13px; }
}

/* Readability floor v4.1: legacy module-specific rules used 9–11px for
   secondary copy. Keep the collect-center rhythm, but make every operational
   label, table cell, hint and action readable without enlarging icon glyphs. */
#app .page-container > p,
#app .page-container label,
#app .page-container th,
#app .page-container td,
#app .page-container small { font-size: 12px; }
#app .page-container > p { color: var(--admin-text-secondary); line-height: 1.7; }
#app .page-container label { color: var(--admin-text); font-weight: 700; }
#app .page-container th { color: #3f6250; font-weight: 850; line-height: 1.45; }
#app .page-container td { color: var(--admin-text); line-height: 1.6; }
#app .page-container small { color: var(--admin-text-tertiary); line-height: 1.5; }

#app .content-tab-copy small,
#app .content-spec-note,
#app .content-platform-line,
#app .content-platform-pill,
#app .content-preview-meta,
#app .content-preview-footer,
#app .content-choice-pills button,
#app .content-video-spec span,
#app .content-queue-count,
#app .content-cell-meta,
#app .content-factory-keywords > div span,
#app .content-title-recommend,
#app .content-library-filters button,
#app .content-draft-type,
#app .content-template-card p,
#app .content-template-rule span,
#app .content-template-rule small,
#app .content-industry-note p,
#app .content-industry-toolbar,
#app .content-code-chip,
#app .content-schema,
#app .content-title-reason,
#app .content-title-count,
#app .content-context-rail > div > span,
#app .content-platform-help,
#app .content-queue-detail span { font-size: 12px; }
#app .content-image-grid small,
#app .content-platform-tags > button small,
#app .content-platform-scope-grid > button > small,
#app .content-platform-scope-grid > button > b,
#app .content-schema small,
#app .content-prompt-preview > small { font-size: 11px; }
#app .content-draft-meta,
#app .content-template-meta { font-size: 11px; }
#app .content-draft-actions .button,
#app .content-template-actions .button { min-height: 34px; font-size: 12px !important; }

#app .publish-view-tabs span,
#app .publish-stat-card small,
#app .publish-count-badge,
#app .publish-article-copy small,
#app .publish-row-side em,
#app .publish-field-label span,
#app .publish-selected-article span,
#app .publish-mode-tabs small,
#app .publish-schedule-field span,
#app .publish-preview-meta,
#app .publish-preview-facts span,
#app .publish-preview-facts strong,
#app .publish-preview-check,
#app .publish-filter-select span,
#app .publish-cloud-button,
#app .publish-data-table th,
#app .publish-data-table td,
#app .publish-table-footer,
#app .publish-detail-card > span,
#app .publish-empty-row span,
#app .publish-status-tabs button,
#app .publish-failure-intro p,
#app .publish-platform-quota > div:first-child,
#app .publish-platform-facts dt,
#app .publish-platform-facts dd,
#app .publish-log-panel p { font-size: 12px !important; }
#app .publish-article-number,
#app .publish-priority,
#app .publish-detail-platform,
#app .publish-platform-summary span,
#app .publish-failure-card span,
#app .publish-platform-card-head small,
#app .publish-platform-actions .button { font-size: 11px !important; }
#app .publish-platform-facts input { font-size: 12px; }

#app .matrix-form-panel p,
#app .matrix-detail-panel p,
#app .matrix-filter-field > span,
#app .matrix-search-field input,
#app .matrix-data-table th,
#app .matrix-data-table td,
#app .matrix-link-cell,
#app .matrix-row-actions .button,
#app .matrix-table-footer,
#app .matrix-number-control span,
#app .matrix-number-control input,
#app .matrix-selection-count,
#app .matrix-draft-control input,
#app .matrix-draft-title,
#app .matrix-queue-preview small,
#app .matrix-check-control,
#app .matrix-number-control { font-size: 12px; }
#app .matrix-detail-platform,
#app .matrix-platform-list span,
#app .matrix-section-kicker { font-size: 11px; }
#app .matrix-data-table th { font-weight: 850; }
#app .matrix-data-table td { color: #315d46; }
#app .matrix-data-table td strong { color: var(--admin-text-strong); }

#app .selection-keyword-cell b,
#app .selection-keyword-cell em,
#app .selection-action-button,
#app .selection-timeline-button,
#app .selection-timeline-list small,
#app .collect-filter-caption,
#app .collect-table-panel .panel-header p,
#app .collect-manual-panel .panel-header p,
#app .collect-task-form .panel-header p,
#app .collect-recent-panel .panel-header p,
#app .collect-form-hint,
#app .collect-source-row,
#app .collect-source-footer label,
#app .collect-config-note,
#app .collect-task-summary,
#app .collect-task-row,
#app .collect-task-hint,
#app .collect-next-step,
#app .collect-modal-sub,
#app .collect-selected-count { font-size: 12px; }

#app .task-content strong,
#app .content-title strong,
#app .alert-item strong,
#app .todo-title strong,
#app .rule-item strong,
#app .onboarding-item strong,
#app .self-task strong { font-size: 14px; }
#app .task-content span,
#app .content-title span,
#app .alert-item span,
#app .todo-title span,
#app .rule-item span,
#app .onboarding-item span,
#app .self-task span,
#app .health-score-copy span,
#app .pipeline-step span,
#app .fact-card p,
#app .self-callout p,
#app .empty-state p,
#app .check-item,
#app .evidence-item span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.6; }

#app .brand-lockup span:not(.prototype-label),
#app .workspace-switch-copy small,
#app .topbar-workspace .workspace-switch-copy small,
#app .breadcrumbs,
#app .save-state,
#app .topbar-action,
#app .topbar-user,
#app .profile-mini span { font-size: 12px; }
#app .brand-lockup strong,
#app .workspace-switch-copy strong,
#app .topbar-workspace .workspace-switch-copy strong,
#app .profile-mini strong { font-size: 13px; }

/* 普通企业账号只读当前空间；正式权限由服务端负责，本地仅用于上线前验收。 */
.topbar-workspace .workspace-switch.is-locked,
.topbar-workspace .workspace-switch:disabled {
  cursor: not-allowed;
  opacity: .92;
}

.topbar-workspace .workspace-switch.is-locked:hover,
.topbar-workspace .workspace-switch:disabled:hover {
  border-color: var(--line);
  background: var(--surface-2);
}

.topbar-workspace .workspace-switch .chevron[hidden] {
  display: none;
}

.topbar-workspace .workspace-menu button[hidden] {
  display: none;
}
#app .command-search b { font-size: 13px; }
#app .command-search span { font-size: 11px; }

@media (max-width: 700px) {
  #app .page-container > p,
  #app .page-container label,
  #app .page-container th,
  #app .page-container td,
  #app .page-container small,
  #app .content-spec-note,
  #app .content-platform-line,
  #app .content-preview-meta,
  #app .content-preview-footer,
  #app .matrix-data-table th,
  #app .matrix-data-table td { font-size: 12px; }
  #app .task-content strong,
  #app .content-title strong,
  #app .alert-item strong,
  #app .todo-title strong,
  #app .rule-item strong,
  #app .onboarding-item strong,
  #app .self-task strong { font-size: 13px; }
}

/* Brand basics interactions: preserve the field contract while giving
   service-line expansion, import, guided fill and editing a clear local UI. */
.brand-service-toggle { display: inline-flex; width: 100%; align-items: center; gap: 7px; padding: 3px 0; border: 0; color: var(--admin-text-strong); background: transparent; text-align: left; font: inherit; font-weight: 850; }
.brand-service-toggle:hover { color: #267650; }
.brand-service-caret { display: inline-grid; width: 18px; height: 18px; place-items: center; border-radius: 5px; color: #4e8a63; background: #edf7ef; font-size: 15px; line-height: 1; }
.brand-service-detail-row td { padding: 10px 11px 15px !important; background: #f8fcf9; }
.brand-service-detail { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border: 1px solid #d8e9dc; border-radius: 9px; background: #fff; }
.brand-service-detail > div { display: grid; gap: 4px; min-width: 0; }
.brand-service-detail strong { color: var(--admin-text-strong); font-size: 13px; }
.brand-service-detail span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.65; }
.brand-service-detail .button { flex: 0 0 auto; }

.brand-modal-overlay { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 24px; background: rgba(20, 52, 38, .28); backdrop-filter: blur(5px); }
.brand-modal { width: min(100%, 620px); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: 24px; border: 1px solid #c8ddd0; border-radius: 16px; background: #fff; box-shadow: 0 24px 70px rgba(32, 75, 51, .2); }
.brand-modal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.brand-modal-heading .eyebrow { margin-bottom: 8px; color: #328159; font-size: 11px; }
.brand-modal-heading h2 { margin: 0; color: var(--admin-text-strong); font-size: 22px; line-height: 1.3; }
.brand-modal-heading p:not(.eyebrow) { margin: 7px 0 0; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.65; }
.brand-modal-field, .brand-service-form label { display: grid; gap: 7px; color: var(--admin-text); font-size: 13px; font-weight: 800; }
.brand-modal-field textarea, .brand-service-form input, .brand-service-form select, .brand-service-form textarea { width: 100%; min-height: 40px; padding: 10px 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 13px; line-height: 1.6; outline: 0; }
.brand-modal-field textarea { min-height: 180px; resize: vertical; }
.brand-modal-field textarea:focus, .brand-service-form input:focus, .brand-service-form select:focus, .brand-service-form textarea:focus { border-color: #62aa7c; box-shadow: 0 0 0 3px rgba(98, 170, 124, .14); }
.brand-guide-list { display: grid; gap: 10px; }
.brand-guide-list > div { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid #dcebe0; border-radius: 9px; background: #f7fcf8; }
.brand-guide-list strong { color: var(--admin-text-strong); font-size: 13px; }
.brand-guide-list span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.6; }
.brand-context-strip { align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.brand-context-status { display: inline-flex; align-items: center; gap: 4px; }
.brand-context-status .chip { margin: 0; }
.brand-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.brand-service-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.brand-service-form label.full { grid-column: 1 / -1; }
.brand-service-form textarea { min-height: 90px; resize: vertical; }
.brand-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 16px 20px; }
.brand-edit-actions > div:first-child { display: grid; gap: 5px; min-width: 0; }
.brand-edit-actions strong { color: var(--admin-text-strong); font-size: 14px; }
.brand-edit-actions span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.brand-edit-actions > div:last-child { display: flex; flex: 0 0 auto; gap: 9px; }

@media (max-width: 700px) {
  .brand-modal-overlay { padding: 12px; }
  .brand-modal { padding: 18px; max-height: calc(100vh - 24px); }
  .brand-service-detail { align-items: flex-start; flex-direction: column; }
  .brand-service-form { grid-template-columns: 1fr; }
  .brand-service-form label.full { grid-column: auto; }
  .brand-edit-actions { align-items: flex-start; flex-direction: column; }
  .brand-edit-actions > div:last-child { width: 100%; }
  .brand-edit-actions .button { flex: 1; }
}

/* Business positioning: four-field contract verified against the reference
   positioning page. Keep the metrics and validation readable without turning
   read-only indicators into additional editable fields. */
.positioning-context { margin-bottom: 18px; }
.positioning-context .chip { margin-left: 1px; }
.positioning-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.positioning-stat-card { min-height: 134px; padding: 19px 20px 17px; }
.positioning-stat-card:nth-child(1) { border-top: 3px solid #4b9b76; }
.positioning-stat-card:nth-child(2) { border-top: 3px solid #6386c9; }
.positioning-stat-card:nth-child(3) { border-top: 3px solid #8a78bf; }
.positioning-stat-card:nth-child(4) { border-top: 3px solid #d1994a; }
.positioning-stat-card .stat-value { display: flex; align-items: baseline; gap: 4px; }
.positioning-stat-card .stat-value small { color: var(--admin-text-secondary); font-family: inherit; font-size: 14px; font-weight: 750; letter-spacing: 0; }
.positioning-form-panel { margin-bottom: 18px; }
.positioning-form-panel .panel-header { padding-bottom: 17px; }
.positioning-form-panel .panel-header .eyebrow { margin: 0 0 7px; color: #2b8055; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.positioning-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; padding: 0 20px 20px; }
.positioning-field { display: grid; min-width: 0; gap: 7px; }
.positioning-field.is-long { grid-column: 1 / -1; }
.positioning-field label { display: inline-flex; align-items: center; gap: 5px; color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.positioning-field label em { color: #b64d45; font-size: 16px; font-style: normal; line-height: 1; }
.positioning-field input, .positioning-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.65; outline: 0; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.positioning-field input { min-height: 45px; }
.positioning-field textarea { min-height: 116px; resize: vertical; }
.positioning-field textarea[data-positioning-field="differentiation"] { min-height: 142px; }
.positioning-field input::placeholder, .positioning-field textarea::placeholder { color: #7b9686; opacity: 1; }
.positioning-field input:focus, .positioning-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.positioning-field-help { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.positioning-form-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.positioning-form-footer > div { display: grid; gap: 3px; min-width: 0; }
.positioning-form-footer strong { color: var(--admin-text-strong); font-size: 13px; }
.positioning-form-footer span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.6; }
.positioning-rule-note { flex: 0 0 auto; padding-top: 1px; color: #3c7b57 !important; font-weight: 750; }
.positioning-validation-panel { margin-bottom: 18px; }
.positioning-validation-header { align-items: center; padding-bottom: 16px; }
.positioning-validation-header .eyebrow { margin: 0 0 7px; color: #2b8055; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.positioning-validation-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.positioning-example-label { padding: 5px 9px; border: 1px solid #eadbbd; border-radius: 99px; color: #8a682b; background: #fff9ed; font-size: 11px; font-weight: 750; white-space: nowrap; }
.positioning-detail-toggle { min-height: 36px; padding: 0 11px; border: 1px solid #bfdaca; border-radius: 8px; color: #287650; background: #fff; font-size: 12px; font-weight: 850; }
.positioning-detail-toggle:hover, .positioning-detail-toggle:focus-visible { border-color: #4c9a6e; color: #175a3b; background: #f0faf3; outline: 0; }
.positioning-platform-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
.positioning-platform-card { display: flex; min-width: 0; align-items: center; gap: 9px; min-height: 76px; padding: 11px 12px; border: 1px solid #d4e5d9; border-radius: 10px; background: #fbfefc; }
.positioning-platform-mark { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; color: #286d4d; background: #e7f3ea; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; font-weight: 850; }
.positioning-platform-copy { display: grid; min-width: 0; flex: 1; gap: 3px; }
.positioning-platform-copy strong { overflow: hidden; color: var(--admin-text-strong); font-size: 13px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.positioning-platform-copy span { overflow: hidden; color: var(--admin-text-secondary); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.positioning-platform-card .chip { flex: 0 0 auto; min-height: 24px; padding: 0 7px; font-size: 10px; }
.positioning-validation-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 20px 20px; padding: 13px; border: 1px solid #cfe3d4; border-radius: 10px; background: #f3faf5; }
.positioning-validation-details > div { display: grid; gap: 4px; }
.positioning-validation-details strong { color: var(--admin-text-strong); font-size: 12px; }
.positioning-validation-details span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.positioning-next-step { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border: 1px solid #cfe1d4; border-radius: 12px; background: linear-gradient(110deg, #f7fcf8, #eef8f0); box-shadow: var(--shadow-sm); }
.positioning-next-step > div:first-child { display: grid; min-width: 0; gap: 3px; }
.positioning-next-step .eyebrow { margin: 0 0 3px; color: #2b8055; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.positioning-next-step strong { color: var(--admin-text-strong); font-size: 15px; }
.positioning-next-step > div:first-child > span:last-child { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.positioning-next-actions { display: flex; flex: 0 0 auto; gap: 8px; }

@media (max-width: 1180px) {
  .positioning-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .positioning-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .positioning-stat-grid, .positioning-form-grid, .positioning-platform-grid, .positioning-validation-details { grid-template-columns: 1fr; }
  .positioning-form-grid { padding-right: 15px; padding-left: 15px; }
  .positioning-field.is-long { grid-column: auto; }
  .positioning-form-footer, .positioning-next-step { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .positioning-validation-header, .positioning-validation-actions { align-items: flex-start; flex-direction: column; }
  .positioning-platform-grid { padding-right: 15px; padding-left: 15px; }
  .positioning-validation-details { margin-right: 15px; margin-left: 15px; }
  .positioning-next-actions { width: 100%; }
  .positioning-next-actions .button { flex: 1; }
}

/* Target audience: keep the six reference fields, but turn the empty-state
   form into a clear creation flow rather than copying the reference layout. */
.audience-context { margin-bottom: 18px; }
.audience-persona-panel { margin-bottom: 18px; }
.audience-persona-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 22px 15px; }
.audience-persona-heading .eyebrow, .audience-form-card .eyebrow { margin: 0 0 7px; color: #2b8055; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.audience-persona-heading h2 { margin: 0; color: var(--admin-text-strong); font-size: 22px; font-weight: 850; line-height: 1.3; }
.audience-persona-heading p { max-width: 660px; margin: 7px 0 0; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.65; }
.audience-empty-state { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 7px; margin: 0 22px 21px; border: 1px dashed #d5e5da; border-radius: 11px; background: #fbfefc; text-align: center; }
.audience-empty-icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 3px; border-radius: 17px; color: #4d9169; background: #e9f5ec; font-size: 27px; }
.audience-empty-state strong { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; }
.audience-empty-state span { color: var(--admin-text-secondary); font-size: 12px; }
.audience-persona-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 22px 21px; }
.audience-persona-card { min-width: 0; padding: 16px; border: 1px solid #d6e6da; border-radius: 11px; background: #fbfefc; }
.audience-persona-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #e2eee5; }
.audience-persona-card-header .eyebrow { margin: 0 0 4px; color: #4b8962; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.audience-persona-card-header h3 { margin: 0; overflow-wrap: anywhere; color: var(--admin-text-strong); font-size: 16px; font-weight: 850; }
.audience-persona-card dl { display: grid; gap: 9px; margin: 13px 0 0; }
.audience-persona-card dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 10px; }
.audience-persona-card dt { color: var(--admin-text-tertiary); font-size: 12px; font-weight: 750; }
.audience-persona-card dd { min-width: 0; margin: 0; color: var(--admin-text); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.audience-form-card { margin-bottom: 18px; }
.audience-form-card .panel-header { padding-bottom: 17px; }
.audience-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; padding: 0 20px 20px; }
.audience-field { display: grid; min-width: 0; gap: 7px; }
.audience-field.is-long { grid-column: 1 / -1; }
.audience-field > span { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.audience-field input, .audience-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.65; outline: 0; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.audience-field input { min-height: 45px; }
.audience-field textarea { min-height: 84px; resize: vertical; }
.audience-field input::placeholder, .audience-field textarea::placeholder { color: #7b9686; opacity: 1; }
.audience-field input:focus, .audience-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.audience-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.audience-form-footer > span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.audience-next-step { margin-top: 0; }

@media (max-width: 900px) {
  .audience-persona-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .audience-persona-heading { align-items: stretch; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .audience-persona-heading .button { align-self: flex-start; }
  .audience-empty-state { margin-right: 15px; margin-left: 15px; }
  .audience-persona-list { padding-right: 15px; padding-left: 15px; }
  .audience-form-grid { grid-template-columns: 1fr; padding-right: 15px; padding-left: 15px; }
  .audience-field.is-long { grid-column: auto; }
  .audience-form-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
}

/* Brand story: separate display assets (milestones and current summary) from
   the three editable story fields confirmed on the reference page. */
.story-context { margin-bottom: 18px; }
.story-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.story-stat-card { min-height: 134px; padding: 19px 20px 17px; }
.story-stat-card:nth-child(1) { border-top: 3px solid #5d8fca; }
.story-stat-card:nth-child(2) { border-top: 3px solid #50a877; }
.story-stat-card:nth-child(3) { border-top: 3px solid #8a78bf; }
.story-stat-card:nth-child(4) { border-top: 3px solid #d1994a; }
.story-stat-card .stat-value { display: flex; align-items: baseline; gap: 4px; }
.story-stat-card .stat-value small { color: var(--admin-text-secondary); font-family: inherit; font-size: 14px; font-weight: 750; letter-spacing: 0; }
.story-milestone-panel, .story-summary-panel, .story-edit-panel { margin-bottom: 18px; }
.story-milestone-list { position: relative; display: grid; gap: 0; padding: 6px 24px 23px 33px; }
.story-milestone-list::before { position: absolute; top: 20px; bottom: 20px; left: 47px; width: 2px; background: #dce9df; content: ""; }
.story-milestone { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 13px; align-items: start; padding: 9px 0; }
.story-milestone-marker { position: relative; z-index: 1; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #cfe2d5; border-radius: 50%; color: #337d55; background: #eef8f0; font-size: 10px; font-weight: 850; }
.story-milestone strong { display: block; color: var(--admin-text-strong); font-size: 13px; font-weight: 800; line-height: 1.55; }
.story-milestone span { display: block; margin-top: 3px; color: var(--admin-text-tertiary); font-size: 12px; font-weight: 750; }
.story-summary-table { display: grid; gap: 0; margin: 0 20px 20px; border: 1px solid #dbe9df; border-radius: 10px; overflow: hidden; }
.story-summary-table > div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 14px 15px; border-top: 1px solid #e5efe8; }
.story-summary-table > div:first-child { border-top: 0; }
.story-summary-table strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.story-summary-table span { color: var(--admin-text); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.story-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; padding: 0 20px 20px; }
.story-field { display: grid; min-width: 0; gap: 7px; }
.story-field:first-child { grid-column: 1 / -1; }
.story-field > span { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.story-field textarea { width: 100%; min-height: 96px; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.7; outline: 0; resize: vertical; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.story-field:first-child textarea { min-height: 142px; }
.story-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.story-edit-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.story-edit-footer > span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.story-edit-footer .button { flex: 0 0 auto; }
.story-next-step { margin-top: 0; }

@media (max-width: 1180px) {
  .story-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .story-stat-grid, .story-edit-grid { grid-template-columns: 1fr; }
  .story-edit-grid { padding-right: 15px; padding-left: 15px; }
  .story-field:first-child { grid-column: auto; }
  .story-edit-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .story-edit-footer .button { align-self: flex-start; }
  .story-milestone-list { padding-right: 15px; padding-left: 23px; }
  .story-milestone-list::before { left: 37px; }
  .story-summary-table { margin-right: 15px; margin-left: 15px; }
}

/* Audience segmentation follows the reference page's customer-segmentation
   workflow, while keeping the comparison table and editor readable in the
   lighter enterprise-workbench design system. */
.segment-context { margin-bottom: 18px; }
.segment-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.segment-stat-card { min-height: 142px; padding: 19px 20px 17px; }
.segment-stat-card .stat-value { min-height: 41px; display: flex; align-items: baseline; gap: 4px; color: var(--ink); font-size: 25px; line-height: 1.22; letter-spacing: -.035em; }
.segment-stat-card .stat-value small { color: var(--admin-text-secondary); font-family: inherit; font-size: 13px; font-weight: 800; letter-spacing: 0; }
.segment-stat-card .stat-meta span { display: block; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.5; }
.segment-stat-1 { border-top: 3px solid #5d8fca; }
.segment-stat-2 { border-top: 3px solid #50a877; }
.segment-stat-3 { border-top: 3px solid #8a78bf; }
.segment-stat-4 { border-top: 3px solid #d1994a; }
.segment-stat-1 .stat-value, .segment-stat-3 .stat-value, .segment-stat-4 .stat-value { font-size: 21px; letter-spacing: -.025em; }
.segment-comparison-panel { margin-bottom: 18px; }
.segment-comparison-wrap { overflow-x: auto; overflow-y: hidden; margin: 0 20px 20px; border: 1px solid #dbe9df; border-radius: 10px; }
.segment-comparison-table { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; color: var(--admin-text); font-size: 13px; }
.segment-comparison-table th, .segment-comparison-table td { padding: 13px 14px; border-bottom: 1px solid #e4eee7; text-align: left; vertical-align: top; line-height: 1.6; }
.segment-comparison-table thead th { color: #456856; background: #eef7f0; font-size: 12px; font-weight: 850; white-space: nowrap; }
.segment-comparison-table thead th:first-child, .segment-comparison-table tbody th { width: 112px; }
.segment-comparison-table tbody th { color: var(--admin-text-strong); background: #f8fcf9; font-weight: 850; }
.segment-comparison-table tbody tr:last-child th, .segment-comparison-table tbody tr:last-child td { border-bottom: 0; }
.segment-comparison-table tbody tr:hover td, .segment-comparison-table tbody tr:hover th { background: #f8fcf9; }
.segment-comparison-table .segment-recommendation { color: #226c47; background: #f1faf3; font-weight: 800; }
.segment-list-block { margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-1); box-shadow: var(--shadow-sm); overflow: hidden; }
.segment-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 20px 14px; }
.segment-list-heading > div { display: grid; gap: 4px; }
.segment-list-heading strong { color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.segment-list-heading span:not(.chip) { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.5; }
.segment-list-wrap { padding: 0 10px 10px; }
.segment-data-table { font-size: 13px; }
.segment-data-table th { color: #4b6859; font-size: 12px; font-weight: 850; }
.segment-data-table td { color: var(--admin-text); font-size: 13px; white-space: normal; line-height: 1.55; }
.segment-data-table td:first-child { min-width: 170px; }
.segment-data-table td:nth-child(3) { min-width: 190px; }
.segment-draft-status { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border: 1px solid #cde4d4; border-radius: 999px; color: #28734b; background: #f0faf3; font-size: 11px; font-weight: 800; white-space: nowrap; }
.segment-empty-state { display: grid; place-items: center; gap: 6px; min-height: 144px; padding: 18px; color: var(--admin-text-secondary); text-align: center; }
.segment-empty-state strong { color: var(--admin-text-strong); font-size: 14px; }
.segment-empty-state > span:last-child { font-size: 12px; }
.segment-empty-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #4b9970; background: #edf8ef; font-size: 20px; }
.segment-form-card { margin-bottom: 18px; }
.segment-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; padding: 0 20px 20px; }
.segment-field { display: grid; min-width: 0; gap: 7px; }
.segment-field.is-long { grid-column: 1 / -1; }
.segment-field > span, .segment-priority-field legend { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.segment-field input, .segment-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.65; outline: 0; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.segment-field input { min-height: 45px; }
.segment-field textarea { min-height: 84px; resize: vertical; }
.segment-field input::placeholder, .segment-field textarea::placeholder { color: #7b9686; opacity: 1; }
.segment-field input:focus, .segment-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.segment-priority-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.segment-priority-field legend { margin-bottom: 7px; padding: 0; }
.segment-priority-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.segment-priority-option { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 7px; min-height: 45px; padding: 7px 10px; border: 1px solid #cfe1d4; border-radius: 9px; color: var(--admin-text); background: #fbfefc; cursor: pointer; }
.segment-priority-option input { width: 15px; height: 15px; margin: 0; accent-color: #287b51; }
.segment-priority-option span { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.segment-priority-option small { grid-column: 2; color: var(--admin-text-secondary); font-size: 10px; line-height: 1.3; }
.segment-priority-option.is-selected { border-color: #61a57d; background: #f0faf3; box-shadow: 0 0 0 2px rgba(97,165,125,.10); }
.segment-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.segment-form-footer > span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.segment-form-footer .button { flex: 0 0 auto; }
.segment-next-step { margin-top: 0; }

@media (max-width: 1180px) {
  .segment-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .segment-stat-grid, .segment-form-grid { grid-template-columns: 1fr; }
  .segment-form-grid { padding-right: 15px; padding-left: 15px; }
  .segment-field.is-long { grid-column: auto; }
  .segment-priority-options { grid-template-columns: 1fr; }
  .segment-form-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .segment-form-footer .button { align-self: flex-start; }
  .segment-list-heading { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .segment-list-wrap { padding-right: 5px; padding-left: 5px; }
  .segment-comparison-wrap { margin-right: 15px; margin-left: 15px; }
}

/* Professional library: readable knowledge inventory with the same
   field-level contract as the reference knowledge page. */
.knowledge-context { margin-bottom: 18px; }
.knowledge-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.knowledge-header > div:first-child { display: grid; gap: 6px; }
.knowledge-header-title { display: flex; align-items: center; gap: 10px; }
.knowledge-header-title h2 { margin: 0; color: var(--admin-text-strong); font-size: 23px; font-weight: 850; letter-spacing: -.025em; }
.knowledge-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.knowledge-header-actions .button { min-height: 38px; }
.knowledge-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.knowledge-stat-card { min-height: 130px; padding: 19px 20px 17px; }
.knowledge-stat-card .stat-value { display: flex; align-items: baseline; gap: 4px; }
.knowledge-stat-card .stat-value small { color: var(--admin-text-secondary); font-size: 14px; font-weight: 800; }
.knowledge-stat-card .stat-meta span { color: var(--admin-text-secondary); font-size: 12px; }
.knowledge-stat-accepted { border-top: 3px solid #50a877; }
.knowledge-stat-pending { border-top: 3px solid #d1994a; }
.knowledge-stat-capacity { border-top: 3px solid #5d8fca; }
.knowledge-form-card { margin-bottom: 18px; }
.knowledge-form-grid { display: grid; grid-template-columns: minmax(190px, .5fr) minmax(0, 1.5fr); gap: 17px 18px; padding: 0 20px 20px; }
.knowledge-form-field { display: grid; min-width: 0; gap: 7px; }
.knowledge-form-field-wide { grid-column: 2; }
.knowledge-form-field > span { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.knowledge-form-field select, .knowledge-form-field input, .knowledge-form-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.65; outline: 0; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.knowledge-form-field select, .knowledge-form-field input { min-height: 45px; }
.knowledge-form-field textarea { min-height: 104px; resize: vertical; }
.knowledge-form-field select:focus, .knowledge-form-field input:focus, .knowledge-form-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.knowledge-form-field input::placeholder, .knowledge-form-field textarea::placeholder { color: #7b9686; opacity: 1; }
.knowledge-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.knowledge-form-footer > span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.knowledge-form-footer .button { flex: 0 0 auto; }
.knowledge-list-panel { margin-bottom: 18px; }
.knowledge-filter-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 0 20px 16px; }
.knowledge-filter { display: grid; min-width: 170px; gap: 6px; }
.knowledge-filter > span { color: var(--admin-text-secondary); font-size: 12px; font-weight: 800; }
.knowledge-filter select { min-height: 38px; padding: 7px 34px 7px 11px; border: 1px solid #c4dbcc; border-radius: 8px; color: var(--admin-text-strong); background-color: #fbfefc; font: inherit; font-size: 13px; font-weight: 750; outline: 0; cursor: pointer; }
.knowledge-filter select:focus { border-color: #4e9b70; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.knowledge-table-wrap { padding: 0 10px 10px; }
.knowledge-data-table { table-layout: fixed; font-size: 13px; }
.knowledge-data-table th { color: #4b6859; font-size: 12px; font-weight: 850; }
.knowledge-data-table th:nth-child(1) { width: 110px; }
.knowledge-data-table th:nth-child(2) { width: 35%; }
.knowledge-data-table th:nth-child(3) { width: 20%; }
.knowledge-data-table th:nth-child(4) { width: 110px; }
.knowledge-data-table th:nth-child(5) { width: 75px; }
.knowledge-data-table th:nth-child(6) { width: 80px; }
.knowledge-data-table td { color: var(--admin-text); font-size: 13px; white-space: normal; line-height: 1.6; overflow-wrap: anywhere; }
.knowledge-content-cell { color: var(--admin-text-strong) !important; font-weight: 700; }
.button-danger-link { min-height: 28px; padding: 4px 8px; border: 0; color: #b54848; background: transparent; box-shadow: none; font-size: 12px; font-weight: 800; }
.button-danger-link:hover { color: #923434; background: #fff1f1; box-shadow: none; }
.knowledge-empty-state { display: grid; place-items: center; gap: 6px; min-height: 144px; padding: 18px; color: var(--admin-text-secondary); text-align: center; }
.knowledge-empty-state strong { color: var(--admin-text-strong); font-size: 14px; }
.knowledge-empty-state > span:last-child { font-size: 12px; }
.knowledge-empty-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #4b9970; background: #edf8ef; font-size: 20px; }

@media (max-width: 900px) {
  .knowledge-stat-grid { grid-template-columns: 1fr; }
  .knowledge-form-grid { grid-template-columns: 1fr; }
  .knowledge-form-field-wide { grid-column: auto; }
}

@media (max-width: 700px) {
  .knowledge-header { align-items: flex-start; flex-direction: column; }
  .knowledge-header-actions { justify-content: flex-start; }
  .knowledge-form-grid { padding-right: 15px; padding-left: 15px; }
  .knowledge-form-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .knowledge-form-footer .button { align-self: flex-start; }
  .knowledge-filter-bar { align-items: stretch; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .knowledge-filter { min-width: 0; }
  .knowledge-table-wrap { padding-right: 5px; padding-left: 5px; }
}

/* FAQ library: keep the reference page's compact three-field editor and
   five-column answer inventory, with stronger contrast for daily use. */
.faq-context { margin-bottom: 18px; }
.faq-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.faq-header > div:first-child { display: grid; gap: 6px; }
.faq-header-title { display: flex; align-items: center; gap: 10px; }
.faq-header-title h2 { margin: 0; color: var(--admin-text-strong); font-size: 23px; font-weight: 850; letter-spacing: -.025em; }
.faq-header > .button { min-height: 38px; }
.faq-form-card { margin-bottom: 18px; }
.faq-form-grid { display: grid; grid-template-columns: minmax(210px, .6fr) minmax(0, 1.4fr); gap: 17px 18px; padding: 0 20px 20px; }
.faq-form-field { display: grid; min-width: 0; gap: 7px; }
.faq-form-field-wide { grid-column: 2; }
.faq-form-field > span { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.4; }
.faq-form-field input, .faq-form-field textarea { width: 100%; padding: 11px 12px; border: 1px solid #c4dbcc; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 14px; line-height: 1.65; outline: 0; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.faq-form-field input { min-height: 45px; }
.faq-form-field textarea { min-height: 104px; resize: vertical; }
.faq-form-field input:focus, .faq-form-field textarea:focus { border-color: #4e9b70; background: #fff; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.faq-form-field input::placeholder, .faq-form-field textarea::placeholder { color: #7b9686; opacity: 1; }
.faq-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 17px; border-top: 1px solid #e1eee5; background: #f7fbf8; }
.faq-form-footer > span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.faq-form-footer .button { flex: 0 0 auto; }
.faq-list-panel { margin-bottom: 18px; }
.faq-table-wrap { padding: 0 10px 10px; }
.faq-data-table { table-layout: fixed; font-size: 13px; }
.faq-data-table th { color: #4b6859; font-size: 12px; font-weight: 850; }
.faq-data-table th:nth-child(1) { width: 23%; }
.faq-data-table th:nth-child(2) { width: 37%; }
.faq-data-table th:nth-child(3) { width: 23%; }
.faq-data-table th:nth-child(4) { width: 75px; }
.faq-data-table th:nth-child(5) { width: 80px; }
.faq-data-table td { color: var(--admin-text); font-size: 13px; white-space: normal; line-height: 1.65; overflow-wrap: anywhere; }
.faq-question-cell, .faq-answer-cell { color: var(--admin-text-strong) !important; font-weight: 700; }
.faq-empty-state { display: grid; place-items: center; gap: 6px; min-height: 144px; padding: 18px; color: var(--admin-text-secondary); text-align: center; }
.faq-empty-state strong { color: var(--admin-text-strong); font-size: 14px; }
.faq-empty-state > span:last-child { font-size: 12px; }
.faq-empty-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #4b9970; background: #edf8ef; font-size: 19px; font-weight: 850; }

@media (max-width: 900px) {
  .faq-form-grid { grid-template-columns: 1fr; }
  .faq-form-field-wide { grid-column: auto; }
}

@media (max-width: 700px) {
  .faq-header { align-items: flex-start; flex-direction: column; }
  .faq-header > .button { align-self: flex-start; }
  .faq-form-grid { padding-right: 15px; padding-left: 15px; }
  .faq-form-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .faq-form-footer .button { align-self: flex-start; }
  .faq-table-wrap { padding-right: 5px; padding-left: 5px; }
}

/* Brand diagnosis: keep the reference field contract, but turn the long
   monitoring page into a readable, action-oriented workbench. */
.brand-diagnosis-context { margin-bottom: 18px; }
.brand-diagnosis-scan-card { margin-bottom: 18px; padding: 20px; border: 1px solid #bddac6; border-radius: var(--radius-md); background: #fbfefc; box-shadow: var(--shadow-sm); }
.brand-diagnosis-scan-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid #e1eee5; }
.brand-diagnosis-scan-heading > div { display: grid; gap: 4px; }
.brand-diagnosis-scan-heading strong { color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.brand-diagnosis-scan-heading span { color: var(--admin-text-secondary); font-size: 13px; line-height: 1.55; }
.brand-diagnosis-scan-controls { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; align-items: end; gap: 12px; padding-top: 17px; }
.brand-diagnosis-scan-controls label { display: grid; gap: 6px; }
.brand-diagnosis-scan-controls label > span { color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
.brand-diagnosis-scan-controls input, .brand-diagnosis-scan-controls select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #c4dbcc; border-radius: 8px; color: var(--admin-text); background: #fff; font: inherit; font-size: 13px; outline: 0; }
.brand-diagnosis-scan-controls input:focus, .brand-diagnosis-scan-controls select:focus { border-color: #4e9b70; box-shadow: 0 0 0 3px rgba(78,155,112,.14); }
.brand-diagnosis-scan-controls .button { min-height: 42px; }
.brand-diagnosis-scan-note { margin: 12px 0 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.brand-diagnosis-board { margin-bottom: 18px; overflow: hidden; }
.brand-diagnosis-board-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 19px 20px 14px; }
.brand-diagnosis-board-heading > div:first-child { display: grid; gap: 4px; }
.brand-diagnosis-board-heading h3 { margin: 0; color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.brand-diagnosis-board-heading p { margin: 1px 0 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.brand-diagnosis-board-actions { display: flex; align-items: center; gap: 12px; }
.brand-diagnosis-board-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; padding: 0 20px 20px; }
.brand-diagnosis-board-section { min-width: 0; border: 1px solid #dbe9df; border-radius: 10px; overflow: hidden; }
.brand-diagnosis-board-section h4 { margin: 0; padding: 13px 14px; color: var(--admin-text-strong); background: #f7fbf8; font-size: 13px; font-weight: 850; }
.brand-diagnosis-table-wrap { padding: 0 8px 8px; overflow-x: auto; }
.brand-diagnosis-rule-table, .brand-diagnosis-action-table { table-layout: fixed; min-width: 0; }
.brand-diagnosis-rule-table th, .brand-diagnosis-action-table th { padding: 10px 8px; color: #4b6859; font-size: 11px; font-weight: 850; }
.brand-diagnosis-rule-table td, .brand-diagnosis-action-table td { padding: 12px 8px; color: var(--admin-text); font-size: 12px; line-height: 1.55; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.brand-diagnosis-rule-table th:nth-child(1) { width: 42%; }
.brand-diagnosis-rule-table th:nth-child(2) { width: 18%; }
.brand-diagnosis-rule-table th:nth-child(3) { width: 20%; }
.brand-diagnosis-rule-table th:nth-child(4) { width: 20%; }
.brand-diagnosis-action-table th:nth-child(1) { width: 39%; }
.brand-diagnosis-action-table th:nth-child(2) { width: 15%; }
.brand-diagnosis-action-table th:nth-child(3) { width: 18%; }
.brand-diagnosis-action-table th:nth-child(4) { width: 28%; }
.brand-diagnosis-action-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.brand-diagnosis-action-buttons .button { min-height: 28px; padding: 5px 8px; font-size: 11px; }
.brand-diagnosis-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.brand-diagnosis-kpi-card { min-height: 130px; padding: 19px 20px 17px; }
.brand-diagnosis-kpi-card:nth-child(1) { border-top: 3px solid #5d8fca; }
.brand-diagnosis-kpi-card:nth-child(2) { border-top: 3px solid #8a78bf; }
.brand-diagnosis-kpi-card:nth-child(3) { border-top: 3px solid #50a877; }
.brand-diagnosis-kpi-card:nth-child(4) { border-top: 3px solid #d1994a; }
.brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel { margin-bottom: 18px; }
.brand-diagnosis-dimension-table, .brand-diagnosis-platform-table { table-layout: fixed; min-width: 920px; }
.brand-diagnosis-dimension-table th, .brand-diagnosis-platform-table th { color: #4b6859; font-size: 12px; font-weight: 850; }
.brand-diagnosis-dimension-table td, .brand-diagnosis-platform-table td { color: var(--admin-text); font-size: 13px; line-height: 1.6; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.brand-diagnosis-dimension-table th:nth-child(1) { width: 115px; }
.brand-diagnosis-dimension-table th:nth-child(2) { width: 170px; }
.brand-diagnosis-dimension-table th:nth-child(3) { width: 92px; }
.brand-diagnosis-dimension-table th:nth-child(4) { width: 31%; }
.brand-diagnosis-dimension-table th:nth-child(5) { width: 19%; }
.brand-diagnosis-dimension-table th:nth-child(6) { width: 110px; }
.brand-diagnosis-score { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; }
.brand-diagnosis-score > span { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.brand-diagnosis-score-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e4efe7; }
.brand-diagnosis-score-track i { display: block; height: 100%; border-radius: inherit; background: #65aa7f; }
.brand-diagnosis-platform-table th:nth-child(1) { width: 170px; }
.brand-diagnosis-platform-table th:nth-child(2) { width: 95px; }
.brand-diagnosis-platform-table th:nth-child(3) { width: 130px; }
.brand-diagnosis-platform-table th:nth-child(4) { width: 110px; }
.brand-diagnosis-platform-table th:nth-child(5) { width: auto; }

@media (max-width: 1180px) {
  .brand-diagnosis-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .brand-diagnosis-board-grid { grid-template-columns: 1fr; }
  .brand-diagnosis-scan-controls { grid-template-columns: minmax(0, 1fr) 170px; }
  .brand-diagnosis-scan-controls > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 700px) {
  .brand-diagnosis-scan-card { padding: 15px; }
  .brand-diagnosis-scan-heading, .brand-diagnosis-board-heading { align-items: flex-start; flex-direction: column; }
  .brand-diagnosis-scan-controls { grid-template-columns: 1fr; }
  .brand-diagnosis-scan-controls > .button { grid-column: auto; }
  .brand-diagnosis-board-heading, .brand-diagnosis-board-grid { padding-right: 15px; padding-left: 15px; }
  .brand-diagnosis-board-actions { align-items: flex-start; flex-direction: column; gap: 7px; }
  .brand-diagnosis-kpi-grid { grid-template-columns: 1fr; }
}

/* Content diagnosis mirrors the verified qishixiong empty state while using
   the JY admin type scale and controls. */
.content-diagnosis-panel { overflow: hidden; margin-bottom: 18px; border: 1px solid #c8ddd0; border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(37, 91, 59, .05); }
.content-diagnosis-header { display: flex; align-items: center; min-height: 60px; padding: 0 20px; border-bottom: 1px solid #e0ece3; }
.content-diagnosis-status { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid #f0d6af; border-radius: 999px; color: #8e5a24; background: #fff8ec; font-size: 12px; font-weight: 850; line-height: 1.2; }
.content-diagnosis-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 18px 20px 0; }
.content-diagnosis-toolbar label { display: block; min-width: 156px; }
.content-diagnosis-toolbar select { width: 100%; min-height: 38px; padding: 0 34px 0 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text); background: #fff; font: inherit; font-size: 13px; font-weight: 750; outline: 0; }
.content-diagnosis-toolbar select:focus { border-color: #4e9b70; box-shadow: 0 0 0 3px rgba(78, 155, 112, .14); }
.content-diagnosis-toolbar .button { min-height: 38px; margin-left: auto; }
.content-diagnosis-empty { display: grid; justify-items: center; gap: 9px; padding: 78px 24px 88px; text-align: center; }
.content-diagnosis-empty-icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 4px; border: 1px solid #d5e6da; border-radius: 16px; color: #4d8d67; background: #f1f8f3; font-size: 26px; }
.content-diagnosis-empty h2 { margin: 0; color: var(--admin-text-strong); font-size: 19px; font-weight: 850; letter-spacing: -.02em; }
.content-diagnosis-empty p { max-width: 460px; margin: 0; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.75; }
.content-diagnosis-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
.content-diagnosis-empty-actions .button { min-width: 118px; min-height: 38px; }

@media (max-width: 700px) {
  .content-diagnosis-header { padding-right: 15px; padding-left: 15px; }
  .content-diagnosis-toolbar { align-items: stretch; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .content-diagnosis-toolbar label { width: 100%; }
  .content-diagnosis-toolbar .button { width: 100%; margin-left: 0; }
  .content-diagnosis-empty { padding: 62px 18px 70px; }
  .content-diagnosis-empty-actions { width: 100%; }
  .content-diagnosis-empty-actions .button { flex: 1; }
}

/* Platform diagnosis mirrors the verified qishixiong platform performance
   card fields without inheriting the generic diagnosis table layout. */
.platform-diagnosis-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.platform-diagnosis-kpi { display: grid; align-content: center; gap: 8px; min-height: 112px; padding: 17px 20px; border: 1px solid #c8ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.platform-diagnosis-kpi > span { color: var(--admin-text-secondary); font-size: 13px; font-weight: 800; }
.platform-diagnosis-kpi strong { color: var(--admin-text-strong); font-size: 28px; font-weight: 750; line-height: 1.1; }
.platform-diagnosis-kpi:nth-child(2) strong { color: #b06a18; }
.platform-diagnosis-kpi small { margin-left: 4px; color: var(--admin-text-secondary); font-size: 14px; font-weight: 750; }
.platform-diagnosis-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.platform-diagnosis-card { min-width: 0; padding: 18px 18px 20px; border: 1px solid #c8ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.platform-diagnosis-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 15px; border-bottom: 1px solid #e3eee6; }
.platform-diagnosis-card header strong { overflow-wrap: anywhere; color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.platform-diagnosis-card .chip { flex: 0 0 auto; min-height: 25px; font-size: 11px; }
.platform-diagnosis-metrics { display: grid; gap: 13px; padding-top: 16px; }
.platform-diagnosis-metric { display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; }
.platform-diagnosis-metric > span { color: var(--admin-text-secondary); font-size: 12px; font-weight: 750; }
.platform-diagnosis-metric > b { color: var(--admin-text); font-size: 13px; font-weight: 850; text-align: right; }
.platform-diagnosis-progress { display: flex; align-items: center; gap: 8px; min-width: 0; }
.platform-diagnosis-progress > i { display: block; flex: 1 1 auto; min-width: 0; height: 8px; overflow: hidden; border-radius: 999px; background: #f5d8a7; }
.platform-diagnosis-progress > i > span { display: block; height: 100%; border-radius: inherit; background: #f59e0b; }
.platform-diagnosis-progress b { flex: 0 0 auto; color: #8e5a24; font-size: 12px; font-weight: 850; }

@media (max-width: 1180px) {
  .platform-diagnosis-kpi-grid, .platform-diagnosis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .platform-diagnosis-kpi-grid, .platform-diagnosis-grid { grid-template-columns: 1fr; }
}

/* Keyword diagnosis keeps the verified field contract, but gives the scan
   workflow a clearer hierarchy than the source page. */
.keyword-diagnosis-heading { align-items: center; }
.keyword-diagnosis-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.keyword-diagnosis-title-row h1 { margin: 0; }
.keyword-diagnosis-title-row + p { margin-top: 9px; }
.keyword-diagnosis-badge { display: inline-flex; align-items: center; min-height: 27px; padding: 0 10px; border: 1px solid #cfe2d5; border-radius: 999px; color: #397052; background: #f3faf4; font-size: 11px; font-weight: 850; }
.keyword-diagnosis-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.keyword-diagnosis-toolbar label { display: block; min-width: 150px; }
.keyword-diagnosis-toolbar .keyword-diagnosis-search { flex: 1 1 280px; min-width: 220px; }
.keyword-diagnosis-toolbar input, .keyword-diagnosis-toolbar select { width: 100%; min-height: 39px; padding: 0 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text); background: #fff; font: inherit; font-size: 13px; outline: 0; }
.keyword-diagnosis-toolbar select { padding-right: 32px; }
.keyword-diagnosis-toolbar input:focus, .keyword-diagnosis-toolbar select:focus, .keyword-diagnosis-scan-row input:focus, .keyword-diagnosis-scan-row select:focus { border-color: #4e9b70; box-shadow: 0 0 0 3px rgba(78, 155, 112, .14); }
.keyword-diagnosis-toolbar .button { min-height: 39px; white-space: nowrap; }
.keyword-diagnosis-scan-card { margin-bottom: 18px; padding: 18px 20px 16px; border: 1px solid #c8ddd0; border-radius: 12px; background: #f8fcf9; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.keyword-diagnosis-scan-head { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-bottom: 13px; }
.keyword-diagnosis-scan-head strong { color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.keyword-diagnosis-scan-head > span:not(.keyword-diagnosis-scan-status) { color: var(--admin-text-secondary); font-size: 13px; }
.keyword-diagnosis-scan-status { margin-left: auto; padding: 4px 9px; border: 1px solid #f0d6af; border-radius: 999px; color: #8e5a24; background: #fff8ec; font-size: 11px; font-weight: 850; }
.keyword-diagnosis-scan-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px auto; align-items: center; gap: 10px; }
.keyword-diagnosis-scan-row input, .keyword-diagnosis-scan-row select { width: 100%; min-height: 41px; padding: 0 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text); background: #fff; font: inherit; font-size: 13px; outline: 0; }
.keyword-diagnosis-scan-row select { padding-right: 30px; }
.keyword-diagnosis-scan-row .button { min-height: 41px; white-space: nowrap; }
.keyword-diagnosis-scan-card > p { margin: 9px 0 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.55; }
.keyword-diagnosis-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.keyword-diagnosis-kpi-grid article { display: grid; align-content: center; gap: 8px; min-height: 112px; padding: 17px 20px; border: 1px solid #c8ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.keyword-diagnosis-kpi-grid article > span { color: var(--admin-text-secondary); font-size: 13px; font-weight: 800; }
.keyword-diagnosis-kpi-grid article > strong { color: var(--admin-text-strong); font-size: 28px; font-weight: 750; line-height: 1.1; }
.keyword-diagnosis-kpi-grid article:nth-child(2) > strong { color: #2d8a5c; }
.keyword-diagnosis-kpi-grid article:nth-child(3) > strong { color: #6b58ae; }
.keyword-diagnosis-kpi-grid article:nth-child(4) > strong { color: #b06a18; }
.keyword-diagnosis-kpi-grid small { margin-left: 4px; color: var(--admin-text-secondary); font-size: 14px; font-weight: 750; }
.keyword-diagnosis-section { margin-bottom: 20px; padding: 0; border: 1px solid #c8ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.keyword-diagnosis-section-heading { display: flex; align-items: center; gap: 10px; padding: 17px 20px 13px; }
.keyword-diagnosis-section-heading i { width: 4px; height: 21px; border-radius: 999px; background: #4d9a70; }
.keyword-diagnosis-section-heading h2 { margin: 0; color: var(--admin-text-strong); font-size: 16px; font-weight: 850; }
.keyword-diagnosis-table-wrap { overflow-x: auto; padding: 0 12px 12px; }
.keyword-diagnosis-table { min-width: 860px; table-layout: fixed; }
.keyword-diagnosis-table th { color: #3f6250; font-size: 12px; font-weight: 850; white-space: nowrap; }
.keyword-diagnosis-table td { color: var(--admin-text); font-size: 13px; line-height: 1.55; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.keyword-diagnosis-table th:nth-child(1) { width: 22%; }
.keyword-diagnosis-table th:nth-child(2) { width: 11%; }
.keyword-diagnosis-table th:nth-child(3) { width: 10%; }
.keyword-diagnosis-table th:nth-child(4) { width: 14%; }
.keyword-diagnosis-table th:nth-child(5) { width: 11%; }
.keyword-diagnosis-table th:nth-child(6) { width: 9%; }
.keyword-diagnosis-table th:nth-child(7) { width: 10%; }
.keyword-diagnosis-table th:nth-child(8) { width: 13%; }
.keyword-diagnosis-overview-card { margin: 0 20px 20px; padding: 18px 20px; border: 1px solid #d6e7da; border-radius: 10px; background: #f8fcf9; }
.keyword-diagnosis-overview-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #e0ece3; }
.keyword-diagnosis-overview-card header strong { color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.keyword-diagnosis-overview-card header span { padding: 4px 9px; border-radius: 999px; color: #8e5a24; background: #fff4e3; font-size: 11px; font-weight: 850; }
.keyword-diagnosis-overview-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 16px; }
.keyword-diagnosis-overview-metrics > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.keyword-diagnosis-overview-metrics span { color: var(--admin-text-secondary); font-size: 12px; font-weight: 750; }
.keyword-diagnosis-overview-metrics strong { color: var(--admin-text-strong); font-size: 20px; font-weight: 750; }

@media (max-width: 1180px) {
  .keyword-diagnosis-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .keyword-diagnosis-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .keyword-diagnosis-heading .page-heading-actions { width: 100%; }
  .keyword-diagnosis-heading .page-heading-actions .button { width: 100%; }
  .keyword-diagnosis-toolbar { align-items: stretch; flex-direction: column; }
  .keyword-diagnosis-toolbar label, .keyword-diagnosis-toolbar .keyword-diagnosis-search { width: 100%; min-width: 0; }
  .keyword-diagnosis-toolbar .button { width: 100%; }
  .keyword-diagnosis-scan-card { padding: 15px; }
  .keyword-diagnosis-scan-status { margin-left: 0; }
  .keyword-diagnosis-scan-row { grid-template-columns: 1fr; }
  .keyword-diagnosis-scan-row .button { width: 100%; }
  .keyword-diagnosis-kpi-grid { grid-template-columns: 1fr; }
  .keyword-diagnosis-section-heading { padding-right: 15px; padding-left: 15px; }
  .keyword-diagnosis-overview-card { margin-right: 15px; margin-left: 15px; padding-right: 14px; padding-left: 14px; }
  .keyword-diagnosis-overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Competitor diagnosis mirrors the verified empty competitor report and its
   keyword x competitor coverage matrix. */
.competitor-diagnosis-heading { align-items: center; }
.competitor-diagnosis-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.competitor-diagnosis-title-row h1 { margin: 0; }
.competitor-diagnosis-title-row + p { margin-top: 9px; }
.competitor-diagnosis-badge { display: inline-flex; align-items: center; min-height: 27px; padding: 0 10px; border: 1px solid #cfe2d5; border-radius: 999px; color: #397052; background: #f3faf4; font-size: 11px; font-weight: 850; }
.competitor-diagnosis-heading .button:disabled { border-color: #d9e5dc; color: #8aa092; background: #f5f8f5; opacity: 1; cursor: not-allowed; }
.competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel { margin-bottom: 18px; overflow: hidden; border: 1px solid #c8ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.competitor-diagnosis-mention-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 19px 20px 14px; }
.competitor-diagnosis-mention-heading h2, .competitor-diagnosis-matrix-heading h2 { margin: 0; color: var(--admin-text-strong); font-size: 16px; font-weight: 850; }
.competitor-diagnosis-mention-heading p { margin: 5px 0 0; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.6; }
.competitor-diagnosis-mention-heading > span { flex: 0 0 auto; padding: 5px 10px; border: 1px solid #dfeae2; border-radius: 999px; color: #688274; background: #f7fbf8; font-size: 12px; font-weight: 800; }
.competitor-diagnosis-table-wrap { overflow-x: auto; padding: 0 12px 12px; }
.competitor-diagnosis-table { min-width: 720px; table-layout: fixed; }
.competitor-diagnosis-table th { color: #3f6250; font-size: 12px; font-weight: 850; white-space: nowrap; }
.competitor-diagnosis-table td { color: var(--admin-text); font-size: 13px; line-height: 1.6; vertical-align: middle; }
.competitor-diagnosis-table th:nth-child(1) { width: 22%; }
.competitor-diagnosis-table th:nth-child(2) { width: 20%; }
.competitor-diagnosis-table th:nth-child(3) { width: 15%; }
.competitor-diagnosis-table th:nth-child(4) { width: 15%; }
.competitor-diagnosis-table th:nth-child(5) { width: 15%; }
.competitor-diagnosis-table th:nth-child(6) { width: 13%; }
.competitor-diagnosis-empty { display: grid; min-height: 86px; place-items: center; color: var(--admin-text-secondary); font-size: 13px; }
.competitor-diagnosis-matrix-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 19px 20px 14px; }
.competitor-matrix-table { min-width: 520px; table-layout: fixed; }
.competitor-matrix-table th { color: #3f6250; font-size: 12px; font-weight: 850; white-space: nowrap; }
.competitor-matrix-table td { color: var(--admin-text); font-size: 13px; line-height: 1.55; vertical-align: middle; }
.competitor-matrix-table th:nth-child(1) { width: 68%; }
.competitor-matrix-table th:nth-child(2), .competitor-matrix-table th:nth-child(3) { width: 16%; }
.competitor-matrix-table td:first-child { color: var(--admin-text-strong); font-weight: 750; }
.competitor-matrix-mark { display: inline-grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; color: #28734e; background: #eaf6ed; font-size: 14px; font-weight: 900; }
.competitor-diagnosis-matrix-footer { padding: 12px 20px 16px; border-top: 1px solid #e3eee6; color: var(--admin-text-tertiary); font-size: 12px; }

@media (max-width: 700px) {
  .competitor-diagnosis-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .competitor-diagnosis-heading .page-heading-actions { width: 100%; }
  .competitor-diagnosis-heading .page-heading-actions .button { width: 100%; }
  .competitor-diagnosis-mention-heading, .competitor-diagnosis-matrix-heading { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .competitor-diagnosis-mention-heading > span { order: -1; }
  .competitor-diagnosis-table-wrap { padding-right: 10px; padding-left: 10px; }
}

/* Intelligence center: keep the four remote views as one clear navigation
   group, then give each view its own information shape. Text intentionally
   uses the same high-contrast light control-console scale as Collect Center. */
.intel-tabs-shell { margin: -5px 0 20px; padding: 0 16px; border: 1px solid #c9ddd0; border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.intel-tabs-heading { display: flex; min-height: 49px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e5eee7; }
.intel-tabs-heading > div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.intel-tabs-heading strong { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; }
.intel-tabs-heading span { color: var(--admin-text-secondary); font-size: 12px; }
.intel-tabs-context { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #dce9df; border-radius: 999px; color: #557764 !important; background: #f5faf6; font-size: 11px !important; font-weight: 800; }
.intel-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.intel-tab { position: relative; display: flex; min-width: 0; min-height: 70px; align-items: center; gap: 10px; padding: 10px 15px; border: 0; border-radius: 0; color: #5d786a; background: transparent; text-align: left; }
.intel-tab::after { position: absolute; right: 15px; bottom: 0; left: 15px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.intel-tab:hover { color: #206345; background: #f7fbf8; }
.intel-tab:hover::after { background: #b9d8c0; }
.intel-tab.active { color: var(--admin-text-strong); background: #f2faf4; }
.intel-tab.active::after { background: #2c8a5d; }
.intel-tab-index { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid #d5e7d9; border-radius: 8px; color: #4b765d; background: #edf6ef; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; font-weight: 850; }
.intel-tab.active .intel-tab-index { border-color: #c7e78a; color: #294c35; background: var(--accent); }
.intel-tab-copy { min-width: 0; }
.intel-tab-copy strong, .intel-tab-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intel-tab-copy strong { color: inherit; font-size: 13px; font-weight: 850; }
.intel-tab-copy small { margin-top: 3px; color: #789184; font-size: 11px; }
.intel-tab-state { flex: 0 0 auto; margin-left: auto; color: #94a79a; font-size: 10px; font-weight: 800; }
.intel-tab.active .intel-tab-state { color: #2c8a5d; }
.intel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 11px 13px; border: 1px solid #c9ddd0; border-radius: 12px; background: #f8fcf9; }
.intel-toolbar-controls { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; flex-wrap: wrap; gap: 9px; }
.intel-toolbar-hint { flex: 0 1 auto; color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.45; text-align: right; }
.intel-select { position: relative; display: inline-flex; min-width: 142px; height: 42px; align-items: center; }
.intel-select select { width: 100%; height: 42px; padding: 0 34px 0 12px; border: 1px solid #bfd5c6; border-radius: 8px; color: var(--admin-text); background: #fff; font: inherit; font-size: 13px; font-weight: 750; appearance: none; outline: 0; cursor: pointer; }
.intel-select select:focus { border-color: #4e9b70; box-shadow: 0 0 0 3px rgba(78, 155, 112, .14); }
.intel-select-chevron { position: absolute; right: 10px; pointer-events: none; color: #2d7953; font-size: 16px; line-height: 1; }
.intel-toolbar .button { min-height: 42px; }
.intel-updated { color: var(--admin-text-secondary); font-size: 12px; white-space: nowrap; }
.intel-search { display: flex; min-width: 260px; flex: 1 1 330px; height: 42px; align-items: center; gap: 8px; padding: 4px 10px 4px 7px; border: 1px solid #bfd5c6; border-radius: 8px; background: #fff; }
.intel-search-icon { display: inline-grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 7px; color: #2d7953; background: #eef7f0; }
.intel-search-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.intel-search input { min-width: 0; flex: 1; height: 30px; padding: 0 3px; border: 0; outline: 0; color: var(--admin-text); background: transparent; font-size: 13px; }
.intel-search input::placeholder { color: #789083; }
.intel-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.intel-kpi { position: relative; display: grid; align-content: center; gap: 7px; min-height: 122px; padding: 18px 20px; overflow: hidden; border: 1px solid #c9ddd0; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.intel-kpi::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #4d9a70; content: ""; }
.intel-kpi-orange::before { background: #d49a45; }
.intel-kpi-blue::before { background: #4a9ba4; }
.intel-kpi-purple::before { background: #8178c8; }
.intel-kpi > span { color: var(--admin-text-secondary); font-size: 13px; font-weight: 800; }
.intel-kpi > strong { color: var(--admin-text-strong); font-size: 28px; font-weight: 750; line-height: 1.1; }
.intel-kpi > small { color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.45; }
.intel-kpi-orange > strong { color: #a96b21; }
.intel-kpi-blue > strong { color: #2a7881; }
.intel-kpi-purple > strong { color: #6554aa; }
.intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel { overflow: hidden; border-color: #c9ddd0; background: #fff; box-shadow: 0 8px 18px rgba(37, 91, 59, .04); }
.intel-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 19px 20px 14px; }
.intel-section-heading h2 { margin: 0; color: var(--admin-text-strong); font-size: 17px; font-weight: 850; letter-spacing: -.015em; }
.intel-section-heading h2 small { color: var(--admin-text-tertiary); font-size: 13px; font-weight: 750; }
.intel-section-heading p { margin: 5px 0 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.6; }
.intel-result-count { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #dce9df; border-radius: 999px; color: #557764; background: #f5faf6; font-size: 11px; font-weight: 800; }
.intel-platform-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 13px 15px; }
.intel-platform-card { min-width: 0; padding: 16px 17px 13px; border: 1px solid #d7e7db; border-radius: 11px; background: #fbfefc; }
.intel-platform-card.is-pinned { border-color: #c4dda1; background: #fbfef7; }
.intel-platform-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.intel-platform-title { display: flex; min-width: 0; align-items: flex-start; gap: 10px; }
.intel-platform-mark { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 8px; color: #2c7952; background: #e8f5eb; font-size: 13px; font-weight: 850; }
.intel-platform-title h3 { margin: 0; color: var(--admin-text-strong); font-size: 14px; font-weight: 850; line-height: 1.5; overflow-wrap: anywhere; }
.intel-platform-title p { margin: 4px 0 0; color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.4; }
.intel-platform-title p i { margin: 0 4px; color: #9aada0; font-style: normal; }
.intel-platform-badges { display: flex; flex: 0 0 auto; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.intel-pin { display: inline-flex; min-height: 25px; align-items: center; padding: 0 8px; border-radius: 999px; color: #8b6726; background: #fff4df; font-size: 10px; font-weight: 850; }
.intel-platform-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 13px 0 10px; }
.intel-category-tag { padding: 4px 8px; border-radius: 5px; color: #316d4b; background: #eaf6ed; font-size: 10px; font-weight: 800; }
.intel-tag-list { display: flex; flex-wrap: wrap; gap: 5px; }
.intel-tag-list span { padding: 4px 7px; border-radius: 5px; color: #5b7466; background: #f0f6f1; font-size: 10px; }
.intel-platform-summary { min-height: 46px; margin: 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.7; }
.intel-platform-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; padding-top: 11px; border-top: 1px solid #e6efe8; }
.intel-platform-card-footer > span { min-width: 0; color: var(--admin-text-tertiary); font-size: 10px; line-height: 1.45; }
.intel-platform-card-footer .button { flex: 0 0 auto; color: #28734e; }
.intel-empty-state { display: grid; min-height: 140px; place-items: center; gap: 5px; padding: 25px; color: var(--admin-text-secondary); text-align: center; }
.intel-empty-state strong { color: var(--admin-text-strong); font-size: 14px; }
.intel-empty-state span { font-size: 12px; }
.intel-trend-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .75fr); gap: 16px; margin-bottom: 16px; }
.intel-trend-table-wrap { overflow-x: hidden; padding: 0 12px 12px; }
.intel-trend-table { width: 100%; min-width: 0; table-layout: fixed; }
.intel-trend-table th, .intel-trend-table td { white-space: normal; overflow-wrap: anywhere; }
.intel-trend-table th { color: #3f6250; background: #f1f8f3; font-size: 11px; font-weight: 850; }
.intel-trend-table td { color: var(--admin-text); font-size: 12px; line-height: 1.55; }
.intel-trend-table th:nth-child(1) { width: 23%; }
.intel-trend-table th:nth-child(2) { width: 14%; }
.intel-trend-table th:nth-child(3) { width: 23%; }
.intel-trend-table th:nth-child(4) { width: 20%; }
.intel-trend-table th:nth-child(5) { width: 20%; }
.intel-coverage { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.intel-coverage.is-covered { color: #28734e; background: #e8f6eb; }
.intel-coverage.is-partial { color: #986b22; background: #fff4df; }
.intel-inline-action { padding: 0; border: 0; color: #287e86; background: transparent; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.intel-inline-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.intel-no-opportunity, .intel-muted-cell { color: var(--admin-text-tertiary); }
.intel-trend-side { display: grid; gap: 16px; }
.intel-insight-card { overflow: hidden; border-color: #c9ddd0; background: #fff; }
.intel-chart-badge { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; color: #28734e; background: #e8f6eb; font-size: 10px; font-weight: 850; }
.intel-empty-chart { display: flex; align-items: center; gap: 18px; padding: 4px 20px 22px; }
.intel-chart-ring { display: grid; width: 92px; height: 92px; flex: 0 0 92px; place-items: center; align-content: center; border: 10px solid #e1f1e4; border-top-color: #3d9565; border-radius: 50%; }
.intel-chart-ring strong { color: var(--admin-text-strong); font-size: 17px; line-height: 1; }
.intel-chart-ring span { margin-top: 4px; color: var(--admin-text-tertiary); font-size: 10px; }
.intel-empty-chart > div:last-child { min-width: 0; }
.intel-empty-chart > div:last-child > strong { color: var(--admin-text-strong); font-size: 13px; }
.intel-empty-chart p { margin: 6px 0 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.65; }
.intel-bar-list { display: grid; gap: 14px; padding: 3px 20px 21px; }
.intel-bar-list > div { display: grid; grid-template-columns: 58px minmax(0, 1fr) 40px; align-items: center; gap: 8px; }
.intel-bar-list span { color: var(--admin-text-secondary); font-size: 11px; }
.intel-bar-list i { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: #e5efe7; }
.intel-bar-list i b { display: block; height: 100%; border-radius: inherit; background: #4c9e68; }
.intel-bar-list strong { color: var(--admin-text); font-size: 11px; text-align: right; }
.intel-heat-panel { margin-bottom: 16px; }
.intel-heat-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding: 0 20px 15px; }
.intel-heat-item { display: grid; grid-template-columns: 30px minmax(0, 1fr) 38px 50px; align-items: center; gap: 7px; min-width: 0; min-height: 40px; border-top: 1px solid #e8f0ea; }
.intel-heat-rank { color: #4d8d67; font-family: ui-monospace, Consolas, monospace; font-size: 10px; font-weight: 850; }
.intel-heat-item strong { min-width: 0; overflow: hidden; color: var(--admin-text-strong); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.intel-heat-item > span:not(.intel-heat-rank) { color: var(--admin-text-tertiary); font-size: 10px; text-align: right; }
.intel-alert-list { display: grid; padding: 0 13px 15px; }
.intel-alert-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 45px auto; align-items: center; gap: 10px; min-width: 0; min-height: 70px; padding: 9px 8px; border-top: 1px solid #e8f0ea; }
.intel-alert-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #4c8d66; background: #e8f5eb; font-size: 14px; }
.intel-alert-icon.is-high { color: #a96b21; background: #fff3df; }
.intel-alert-copy { min-width: 0; }
.intel-alert-copy strong, .intel-alert-copy small { display: block; }
.intel-alert-copy strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.intel-alert-copy strong span { color: var(--admin-text-secondary); font-weight: 650; }
.intel-alert-copy small { margin-top: 4px; color: var(--admin-text-tertiary); font-size: 11px; }
.intel-alert-row time { color: var(--admin-text-tertiary); font-size: 11px; white-space: nowrap; }
.intel-alert-actions { display: flex; gap: 6px; }
.intel-alert-actions .button { min-width: 48px; }
.intel-competitor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 13px 15px; }
.intel-competitor-card { min-width: 0; padding: 17px; border: 1px solid #d7e7db; border-radius: 11px; background: #fbfefc; }
.intel-competitor-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 13px; border-bottom: 1px solid #e5eee7; }
.intel-competitor-card header h3 { margin: 0; color: var(--admin-text-strong); font-size: 15px; font-weight: 850; }
.intel-competitor-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.intel-competitor-tags span { padding: 3px 6px; border-radius: 4px; color: #587464; background: #edf6ef; font-size: 9px; }
.intel-mention-value { color: #28734e; font-size: 20px; font-weight: 850; }
.intel-competitor-card dl { display: grid; gap: 10px; margin: 15px 0; }
.intel-competitor-card dl > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.intel-competitor-card dt { color: var(--admin-text-tertiary); font-size: 11px; }
.intel-competitor-card dd { margin: 0; color: var(--admin-text); font-size: 12px; font-weight: 800; }
.intel-trend-up { color: #b45d4c !important; }
.intel-trend-down { color: #287e86 !important; }
.intel-trend-flat { color: #6a7c70 !important; }
.intel-competitor-card footer { display: flex; gap: 12px; padding-top: 12px; border-top: 1px solid #e5eee7; }
.intel-link-action { padding: 0; border: 0; color: #287e86; background: transparent; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.intel-link-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.intel-citation-mode-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; padding: 10px 13px; border: 1px solid #c9ddd0; border-radius: 12px; background: #fff; }
.intel-mode-copy { display: flex; min-width: 125px; align-items: baseline; gap: 8px; }
.intel-mode-copy span { color: var(--admin-text-tertiary); font-size: 12px; }
.intel-mode-copy strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.intel-mode-actions, .intel-view-actions { display: inline-flex; padding: 3px; border: 1px solid #d7e7db; border-radius: 8px; background: #f5faf6; }
.intel-mode-actions { margin-right: auto; }
.intel-mode-actions button, .intel-view-actions button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 6px; color: var(--admin-text-secondary); background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.intel-mode-actions button.active, .intel-view-actions button.active { color: #236543; background: #fff; box-shadow: 0 1px 5px rgba(25, 63, 47, .12); }
.intel-citation-panel { margin-top: 0; }
.intel-citation-table-wrap { overflow-x: hidden; padding: 0 10px 10px; }
.intel-citation-table { width: 100%; min-width: 0; table-layout: fixed; }
.intel-citation-table th, .intel-citation-table td { white-space: normal; overflow-wrap: anywhere; }
.intel-citation-table th { color: #3f6250; background: #f1f8f3; font-size: 10px; font-weight: 850; }
.intel-citation-table td { color: var(--admin-text); font-size: 11px; line-height: 1.5; }
.intel-citation-table th:nth-child(1) { width: 4%; }
.intel-citation-table th:nth-child(2) { width: 14%; }
.intel-citation-table th:nth-child(3) { width: 11%; }
.intel-citation-table th:nth-child(4) { width: 8%; }
.intel-citation-table th:nth-child(5) { width: 9%; }
.intel-citation-table th:nth-child(6) { width: 10%; }
.intel-citation-table th:nth-child(7) { width: 20%; }
.intel-citation-table th:nth-child(8) { width: 12%; }
.intel-citation-table th:nth-child(9) { width: 12%; }
.intel-rank-cell { color: #4d8d67 !important; font-family: ui-monospace, Consolas, monospace; font-weight: 850; text-align: center; }
.intel-source-domain { display: block; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; overflow-wrap: anywhere; }
.intel-category-cell { display: grid; gap: 5px; justify-items: start; }
.intel-category-cell > span { color: var(--admin-text); }
.intel-correct-button { padding: 0; border: 0; color: #287e86; background: transparent; font: inherit; font-size: 10px; font-weight: 850; cursor: pointer; }
.intel-correct-button:hover { text-decoration: underline; text-underline-offset: 3px; }
.intel-frequency { color: #28734e; font-size: 13px; }
.intel-platform-chip { display: inline-flex; margin: 2px 3px 2px 0; padding: 3px 5px; border-radius: 4px; color: #426c54; background: #eaf5ea; font-size: 9px; font-weight: 750; }
.intel-citation-keywords { display: grid; gap: 3px; }
.intel-citation-keywords span { color: var(--admin-text); }
.intel-citation-keywords small { color: var(--admin-text-tertiary); font-size: 10px; }
.intel-url-status { color: var(--admin-text-tertiary); font-size: 10px; }
.intel-citation-table .button { width: 100%; min-height: 30px; padding: 0 4px; font-size: 10px; white-space: normal; }
.intel-citation-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px 15px; border-top: 1px solid #e5eee7; color: var(--admin-text-tertiary); font-size: 11px; }
.intel-modal-overlay { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(19, 45, 33, .38); }
.intel-modal { position: relative; width: min(600px, 100%); max-height: min(760px, calc(100vh - 44px)); overflow: auto; padding: 28px; border: 1px solid #bcd4c1; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(23, 61, 46, .2); }
.intel-modal-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 21px; line-height: 1; cursor: pointer; }
.intel-modal-close:hover { color: #173d2e; background: #e2f0e4; }
.intel-modal-kicker { color: #3d8b5f; font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.intel-modal h2 { margin: 8px 42px 7px 0; color: var(--admin-text-strong); font-size: 20px; line-height: 1.4; }
.intel-modal-meta { margin: 0; color: var(--admin-text-tertiary); font-size: 12px; }
.intel-modal-summary { margin: 20px 0 15px; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.8; }
.intel-modal .intel-tag-list span { font-size: 11px; }
.intel-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 15px; border-top: 1px solid #e5eee7; color: var(--admin-text-tertiary); font-size: 11px; }
.intel-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.intel-detail-grid > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #e1ede4; border-radius: 8px; background: #f8fcf9; }
.intel-detail-grid span { color: var(--admin-text-tertiary); font-size: 11px; }
.intel-detail-grid strong { color: var(--admin-text-strong); font-size: 13px; }
.intel-modal-field { display: grid; gap: 7px; margin-top: 15px; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
.intel-modal-field input, .intel-modal-field select { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text); background: #fbfefc; font: inherit; font-size: 13px; outline: 0; }
.intel-reference-list { display: grid; gap: 8px; margin-top: 20px; }
.intel-reference-list > div { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 3px 9px; padding: 10px; border: 1px solid #e1ede4; border-radius: 8px; background: #f8fcf9; }
.intel-reference-list > div > span { grid-row: span 2; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: #28734e; background: #e5f3e7; font-size: 10px; font-weight: 850; }
.intel-reference-list strong { color: var(--admin-text-strong); font-size: 12px; overflow-wrap: anywhere; }
.intel-reference-list small { color: var(--admin-text-tertiary); font-size: 10px; }

@media (max-width: 1180px) {
  .intel-platform-list, .intel-competitor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-trend-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .intel-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-toolbar { align-items: stretch; flex-direction: column; }
  .intel-toolbar-hint { text-align: left; }
  .intel-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-heat-list { grid-template-columns: 1fr; }
  .intel-citation-mode-bar { align-items: stretch; flex-direction: column; }
  .intel-mode-actions { margin-right: 0; }
  .intel-mode-actions, .intel-view-actions { width: 100%; }
  .intel-mode-actions button, .intel-view-actions button { flex: 1; }
}

@media (max-width: 700px) {
  .intel-tabs-shell { padding: 0 9px; }
  .intel-tabs-heading { align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; padding: 10px 4px; }
  .intel-tabs-context { display: none; }
  .intel-tab { min-height: 64px; padding: 9px 8px; }
  .intel-tab::after { right: 8px; left: 8px; }
  .intel-tab-index { width: 26px; height: 26px; flex-basis: 26px; }
  .intel-tab-copy strong { font-size: 12px; }
  .intel-tab-copy small, .intel-tab-state { display: none; }
  .intel-toolbar-controls { align-items: stretch; flex-direction: column; }
  .intel-select, .intel-search, .intel-toolbar .button { width: 100%; min-width: 0; flex-basis: auto; }
  .intel-kpi-grid, .intel-platform-list, .intel-competitor-grid { grid-template-columns: 1fr; }
  .intel-section-heading { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .intel-platform-list, .intel-alert-list, .intel-competitor-grid { padding-right: 10px; padding-left: 10px; }
  .intel-platform-card-head { align-items: flex-start; flex-direction: column; }
  .intel-platform-badges { justify-content: flex-start; }
  .intel-platform-card-footer { align-items: flex-start; flex-direction: column; }
  .intel-platform-card-footer .button { width: 100%; }
  .intel-alert-row { grid-template-columns: 30px minmax(0, 1fr); align-items: start; }
  .intel-alert-row time { grid-column: 2; }
  .intel-alert-actions { grid-column: 2; }
  .intel-citation-table-wrap { overflow-x: auto; }
  .intel-citation-table { min-width: 850px; }
  .intel-citation-footer { align-items: flex-start; flex-direction: column; padding-right: 15px; padding-left: 15px; }
  .intel-modal { padding: 23px 17px; }
  .intel-detail-grid { grid-template-columns: 1fr; }
}

/* Website management uses the same page-level line tabs as the finished
   collect center: no nested card chrome, one clear active underline, and a
   horizontal overflow model that stays usable on narrow screens. */
.website-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; border-bottom: 1px solid #d9e8dd; border-radius: 0; background: transparent; box-shadow: none; }
.website-tabs { display: flex; gap: 0; margin: 0; padding: 0; border: 0; background: transparent; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.website-tabs::-webkit-scrollbar { width: 0; height: 0; }
.website-tab { position: relative; display: inline-flex; flex: 0 0 auto; min-width: 0; min-height: 50px; align-items: center; justify-content: flex-start; padding: 0 22px; border: 0; border-radius: 0; color: #718a7c; background: transparent; text-align: left; cursor: pointer; transition: color .18s ease, background .18s ease; }
.website-tab:first-child { padding-left: 0; }
.website-tab::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ''; }
.website-tab:hover { color: var(--brand); background: transparent; }
.website-tab:hover::after { background: #b8d7c0; }
.website-tab.active { color: var(--ink); background: transparent; box-shadow: none; }
.website-tab.active::after { background: var(--brand); }
.website-tab-label { color: inherit; font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; }
.website-metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.website-dashboard-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.website-metric-card { min-height: 142px; }
.website-metric-card .stat-value { font-size: 29px; }
.website-dashboard-identity { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: -7px 0 16px; padding: 0 3px; }
.website-dashboard-identity > div { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.website-dashboard-identity-icon { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #cfe4d5; border-radius: 8px; background: #eff8f1; font-size: 16px; }
.website-dashboard-identity strong { color: var(--admin-text-strong); font-size: 14px; font-weight: 850; }
.website-identity-badge { padding: 5px 10px; border: 1px solid #d4e7d9; border-radius: 999px; color: #397354; background: #f2faf4; font-size: 11px; font-weight: 800; }
.website-metric-card .stat-value { white-space: nowrap; }
.website-metric-green .stat-icon { color: #238254; }
.website-metric-purple .stat-icon { color: #6d5dd3; }
.website-metric-orange .stat-icon, .website-metric-yellow .stat-icon { color: #c17520; }
.website-dashboard-grid { align-items: stretch; }
.website-dashboard-tables-grid { grid-template-columns: 1fr; }
.website-baseline-list { display: grid; gap: 9px; margin: 3px 0 20px; }
.website-baseline-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid #e1ece5; border-radius: 9px; background: #fbfefc; }
.website-baseline-list span { color: var(--admin-text-secondary); font-size: 12px; }
.website-baseline-list strong { color: var(--admin-text-strong); font-size: 13px; text-align: right; }
.website-baseline-list .panel-link { padding: 0; border: 0; background: transparent; }
.website-health .health-track i { width: 0; background: #3d9360; }
.website-health .health-track i.is-green { background: #3d9360; }
.website-health .health-track i.is-blue { background: #4d8fc0; }
.website-health .health-track i.is-purple { background: #7d70d2; }
.website-health .health-track i.is-orange { background: #d58a35; }
.website-health .health-track i[data-progress="100"] { width: 100%; }
.website-health .health-track i[data-progress="86"] { width: 86%; }
.website-health .health-track i[data-progress="78"] { width: 78%; }
.website-health .health-track i[data-progress="62"] { width: 62%; }
.website-action-list, .website-recent-list { display: grid; gap: 8px; }
.website-action-list > button, .website-recent-list > button { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; align-items: center; gap: 8px; width: 100%; padding: 11px 12px; border: 1px solid #e0ece4; border-radius: 9px; color: var(--admin-text); background: #fbfefc; text-align: left; cursor: pointer; }
.website-action-list > button:hover, .website-recent-list > button:hover { border-color: #9fc8ae; background: #f2faf4; }
.website-action-list > button > span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #277852; background: #e5f3e8; font-size: 14px; }
.website-action-list strong, .website-recent-list strong { display: block; color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
.website-action-list small, .website-recent-list small { display: block; margin-top: 2px; color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.45; }
.website-action-list b, .website-recent-list b { color: #65957a; font-size: 18px; }
.website-dashboard-table-panel { min-width: 0; }
.website-dashboard-table-wrap { overflow-x: hidden; }
.website-dashboard-data-table { width: 100%; min-width: 0; table-layout: fixed; }
.website-dashboard-data-table th, .website-dashboard-data-table td { padding-right: 12px; padding-left: 12px; }
.website-dashboard-data-table th:first-child, .website-dashboard-data-table td:first-child { width: auto; }
.website-dashboard-data-table th:nth-child(2), .website-dashboard-data-table td:nth-child(2) { width: 96px; }
.website-dashboard-data-table th:nth-child(3), .website-dashboard-data-table td:nth-child(3) { width: 142px; }
.website-dashboard-data-table th:last-child, .website-dashboard-data-table td:last-child { width: 68px; }
.website-dashboard-data-table .website-title-cell { min-width: 0; max-width: none; }
.website-dashboard-data-table td { vertical-align: middle; }
.website-dashboard-leads-table th:nth-child(1), .website-dashboard-leads-table td:nth-child(1) { width: 78px; }
.website-dashboard-leads-table th:nth-child(2), .website-dashboard-leads-table td:nth-child(2) { width: 105px; }
.website-dashboard-leads-table th:nth-child(3), .website-dashboard-leads-table td:nth-child(3) { width: 70px; }
.website-dashboard-leads-table th:nth-child(4), .website-dashboard-leads-table td:nth-child(4) { width: 82px; }
.website-dashboard-leads-table th:nth-child(5), .website-dashboard-leads-table td:nth-child(5) { width: 120px; }
.website-recent-list > button { grid-template-columns: 9px minmax(0, 1fr) auto 12px; padding: 10px 11px; }
.website-recent-dot { width: 8px; height: 8px; border-radius: 50%; background: #29915d; box-shadow: 0 0 0 4px #e6f4ea; }
.website-recent-dot.draft { background: #d18a32; box-shadow: 0 0 0 4px #fff3df; }
.website-recent-dot.scheduled { background: #6c62c8; box-shadow: 0 0 0 4px #eeeaff; }
.website-recent-dot.lead { background: #4a8bb8; box-shadow: 0 0 0 4px #e9f3fa; }
.website-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding: 14px 0; border-top: 1px solid #e2ece5; border-bottom: 1px solid #e2ece5; }
.website-search-field { position: relative; display: flex; min-width: min(360px, 100%); flex: 1 1 280px; }
.website-search-field input { width: 100%; min-height: 40px; padding: 0 37px 0 13px; border: 1px solid #c2d9ca; border-radius: 8px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 13px; outline: 0; }
.website-search-field input:focus, .website-select-control select:focus, .website-note-input:focus, .website-domain-field input:focus { border-color: #45956a; box-shadow: 0 0 0 3px rgba(69, 149, 106, .12); }
.website-search-field i { position: absolute; top: 0; right: 12px; display: grid; height: 40px; place-items: center; color: #3f805b; font-size: 17px; font-style: normal; pointer-events: none; }
.website-select-control { display: flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 10px 0 12px; border: 1px solid #c2d9ca; border-radius: 8px; background: #fff; }
.website-select-control > span { color: var(--admin-text-secondary); font-size: 12px; font-weight: 800; }
.website-select-control select { min-width: 84px; border: 0; color: var(--admin-text-strong); background: transparent; font: inherit; font-size: 13px; font-weight: 750; outline: 0; cursor: pointer; }
.website-table-panel { overflow: hidden; }
.website-table-panel > .panel-header { align-items: flex-start; }
.website-panel-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.website-table-wrap { overflow-x: auto; overflow-y: hidden; margin: 0 -1px; border: 1px solid #dceae1; border-radius: 9px; scrollbar-width: none; }
.website-table-wrap::-webkit-scrollbar { height: 0; }
.website-table-wrap:hover { scrollbar-width: thin; }
.website-table-wrap:hover::-webkit-scrollbar { height: 6px; }
.website-table-wrap:hover::-webkit-scrollbar-thumb { border-radius: 999px; background: #9ec4ac; }
.website-data-table { min-width: 1080px; table-layout: auto; }
#app .website-dashboard-data-table { width: 100%; min-width: 0; table-layout: fixed; }
.website-data-table th { white-space: nowrap; background: #f0f8f2; }
.website-data-table td { color: var(--admin-text); }
.website-article-table th:nth-child(2), .website-article-table td:nth-child(2),
.website-article-table th:nth-child(5), .website-article-table td:nth-child(5),
.website-article-table th:nth-child(6), .website-article-table td:nth-child(6),
.website-article-table th:nth-child(7), .website-article-table td:nth-child(7),
.website-article-table th:nth-child(8), .website-article-table td:nth-child(8) { white-space: nowrap; }
.website-article-table td:nth-child(2) { width: 54px; font-variant-numeric: tabular-nums; }
.website-article-table td:nth-child(5) { min-width: 82px; }
.website-article-table td:nth-child(8) { min-width: 145px; }
.website-article-table td { vertical-align: middle; }
.website-data-table th:first-child, .website-data-table td:first-child { width: 48px; }
.website-check-col { text-align: center !important; }
.website-check-col input { width: 16px; height: 16px; accent-color: #267650; cursor: pointer; }
.website-title-cell { display: block; min-width: 210px; max-width: 310px; color: var(--admin-text-strong); line-height: 1.55; }
.website-slug-cell { display: block; min-width: 170px; max-width: 250px; color: var(--admin-text-secondary); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.website-check-result { color: #267650; font-weight: 850; white-space: nowrap; }
.website-check-result.muted { color: var(--admin-text-tertiary); font-weight: 600; }
.website-row-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 275px; }
.website-row-actions .button { white-space: nowrap; }
.website-row-actions .button-danger { color: #a54c49; border-color: #f0cbc9; background: #fff9f8; }
.website-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 2px 0; color: var(--admin-text-tertiary); font-size: 11px; }
.website-pagination { display: flex; align-items: center; gap: 8px; }
.website-pagination span { color: var(--admin-text-secondary); font-weight: 750; }
.website-section-note { padding: 5px 9px; border-radius: 999px; color: #3e7758; background: #eaf5ec; font-size: 11px; font-weight: 800; white-space: nowrap; }
.website-batch-panel, .website-precheck-panel { margin-top: 16px; }
.website-batch-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.website-batch-controls .field { width: 150px; }
.website-batch-controls .field input { width: 100%; }
.website-batch-summary, .website-precheck-input { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 11px 13px; border: 1px solid #e1ece5; border-radius: 8px; color: var(--admin-text-tertiary); background: #fbfefc; font-size: 12px; }
.website-batch-summary strong { color: var(--admin-text-secondary); font-size: 12px; }
.website-precheck-input input { flex: 1; min-height: 38px; padding: 0 11px; border: 1px solid #c8ddd0; border-radius: 7px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 13px; outline: 0; }
.website-rule-panel { margin-bottom: 16px; }
.website-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)) minmax(180px, 1.3fr) auto; align-items: end; gap: 12px; }
.website-rule-grid .field { position: relative; }
.website-rule-grid .field input { width: 100%; min-height: 40px; padding: 0 40px 0 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 14px; font-weight: 750; outline: 0; }
.website-rule-grid .field small { position: absolute; right: 12px; bottom: 10px; color: var(--admin-text-tertiary); font-size: 11px; }
.website-inline-check { display: flex; align-items: center; gap: 7px; min-height: 40px; color: var(--admin-text-secondary); font-size: 12px; font-weight: 750; cursor: pointer; }
.website-inline-check input { width: 16px; height: 16px; accent-color: #267650; }
.website-detail-row td { padding-top: 0 !important; border-top: 0 !important; background: #fbfefc; }
.website-inline-detail { display: grid; gap: 7px; margin: 0 10px 12px 48px; padding: 13px 15px; border-left: 3px solid #8ec19f; border-radius: 0 8px 8px 0; background: #f1f8f3; }
.website-inline-detail strong { color: var(--admin-text-strong); font-size: 13px; }
.website-inline-detail > span { color: var(--admin-text-secondary); font-size: 12px; }
.website-inline-detail > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--admin-text-tertiary); font-size: 11px; }
.website-empty-state { display: grid; place-items: center; gap: 8px; min-height: 150px; padding: 28px; color: var(--admin-text-tertiary); text-align: center; }
.website-empty-state strong { color: var(--admin-text-strong); font-size: 14px; }
.website-empty-state span, .website-empty-state p { max-width: 600px; margin: 0; color: var(--admin-text-tertiary); font-size: 12px; line-height: 1.7; }
.website-lead-tip { margin: 13px 0; padding: 10px 12px; border-left: 3px solid #8ab89a; color: var(--admin-text-secondary); background: #f4faf5; font-size: 12px; }
.website-leads-table { min-width: 1220px; }
.website-content-cell { display: block; max-width: 235px; line-height: 1.55; }
.website-lead-status-select { min-height: 32px; padding: 0 8px; border: 1px solid #c8ddd0; border-radius: 7px; color: var(--admin-text-strong); background: #fbfefc; font: inherit; font-size: 12px; font-weight: 750; outline: 0; cursor: pointer; }
.website-note-input { width: 150px; min-height: 32px; padding: 0 8px; border: 1px solid #c8ddd0; border-radius: 7px; color: var(--admin-text); background: #fff; font: inherit; font-size: 12px; outline: 0; }
.website-diagnosis-panel { overflow: hidden; }
.website-diagnosis-toolbar { display: flex; align-items: end; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid #e1ece5; }
.website-domain-field { display: grid; flex: 1 1 420px; gap: 6px; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
.website-domain-field input { min-height: 42px; padding: 0 12px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 14px; outline: 0; }
.website-diagnosis-status { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 13px; border: 1px solid #f0d6ac; border-radius: 8px; color: #9a681f; background: #fff9ed; font-size: 12px; font-weight: 850; white-space: nowrap; }
.website-diagnosis-status i { width: 8px; height: 8px; border-radius: 50%; background: #d78c2c; }
.website-diagnosis-status.ready { border-color: #bfe0c9; color: #2b7850; background: #f1faf3; }
.website-diagnosis-status.ready i { background: #32905d; }
.website-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; padding-top: 18px; }
.website-check-item { display: grid; gap: 8px; padding: 14px; border: 1px solid #dbe9df; border-radius: 10px; background: #fbfefc; }
.website-check-item > div { display: flex; align-items: center; gap: 9px; }
.website-check-item strong { color: var(--admin-text-strong); font-size: 13px; }
.website-check-item p { min-height: 36px; margin: 0; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.6; }
.website-check-icon { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; font-size: 13px; font-weight: 900; }
.website-check-icon.green { color: #267650; background: #e5f4e9; }
.website-check-icon.orange { color: #a86b1c; background: #fff0d7; }
.website-diagnosis-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding-top: 18px; }
.website-diagnosis-overview article { display: grid; gap: 7px; min-height: 88px; padding: 14px 15px; border: 1px solid #d9e9de; border-radius: 10px; background: #fbfefc; }
.website-diagnosis-overview span { color: var(--admin-text-secondary); font-size: 12px; font-weight: 750; }
.website-diagnosis-overview strong { color: var(--admin-text-strong); font-size: 25px; line-height: 1; }
.website-diagnosis-overview strong small { margin-left: 3px; color: var(--admin-text-tertiary); font-size: 12px; font-weight: 800; }
.website-diagnosis-filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 18px; padding: 10px 12px; border: 1px solid #e0ece4; border-radius: 9px; background: #f7fbf8; }
.website-diagnosis-filter-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.website-diagnosis-filter-pill { position: relative; display: inline-flex; align-items: center; min-height: 31px; padding: 0 12px; border: 1px solid transparent; border-radius: 7px; color: var(--admin-text-secondary); background: transparent; font-size: 12px; font-weight: 800; cursor: pointer; }
.website-diagnosis-filter-pill input { position: absolute; opacity: 0; pointer-events: none; }
.website-diagnosis-filter-pill.active { border-color: #a6cfb3; color: #206944; background: #e7f4ea; }
.website-diagnosis-pending-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--admin-text-secondary); font-size: 12px; font-weight: 750; cursor: pointer; }
.website-diagnosis-pending-toggle input { width: 15px; height: 15px; accent-color: #267650; }
.website-diagnosis-pending-toggle small { color: var(--admin-text-tertiary); font-size: 11px; }
.website-diagnosis-suggestion { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 11px 13px; border: 1px solid #dcebdd; border-radius: 9px; color: var(--admin-text-secondary); background: #f3faf4; }
.website-diagnosis-suggestion > span { font-size: 16px; line-height: 1.2; }
.website-diagnosis-suggestion strong { display: block; color: var(--admin-text-strong); font-size: 12px; }
.website-diagnosis-suggestion p { margin: 3px 0 0; color: var(--admin-text-secondary); font-size: 11px; line-height: 1.55; }
.website-check-item-heading { align-items: flex-start !important; }
.website-check-item-heading > div { display: grid; gap: 4px; min-width: 0; }
.website-check-item-heading strong { line-height: 1.35; }
.website-check-category { width: fit-content; padding: 2px 6px; border-radius: 4px; color: #2b7651; background: #e6f3e9; font-size: 10px; font-weight: 850; }
.website-check-category.geo { color: #5d55a5; background: #eeebff; }
.website-check-item > small { color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.website-diagnosis-filter-empty { min-height: 130px; margin-top: 12px; border: 1px dashed #c8ddd0; border-radius: 9px; background: #fbfefc; }
.website-diagnosis-empty { min-height: 290px; padding-right: 40px; padding-left: 40px; }
.website-empty-icon { font-size: 30px !important; }
.website-diagnosis-footer-grid { align-items: stretch; margin-top: 16px; }
.website-history-table-wrap { overflow-x: auto; scrollbar-width: none; }
.website-history-table-wrap::-webkit-scrollbar { width: 0; height: 0; }
.website-history-table { width: 100%; min-width: 460px; border-collapse: collapse; }
.website-history-table th { padding: 9px 10px; border-bottom: 1px solid #dbe9df; color: var(--admin-text-secondary); background: #f0f8f2; font-size: 11px; font-weight: 850; text-align: left; white-space: nowrap; }
.website-history-table td { padding: 10px; border-bottom: 1px solid #e8f0e9; color: var(--admin-text-secondary); font-size: 11px; vertical-align: middle; }
.website-history-table td:first-child { color: var(--admin-text-strong); }
.website-history-refresh-time { display: block; margin-top: 9px; color: var(--admin-text-tertiary); font-size: 11px; }
.website-history-empty { display: flex; align-items: center; gap: 13px; min-height: 74px; padding: 12px 14px; border: 1px dashed #c8ddd0; border-radius: 9px; background: #fbfefc; }
.website-history-empty strong { color: var(--admin-text-strong); font-size: 20px; }
.website-history-empty span { color: var(--admin-text-tertiary); font-size: 12px; }
.website-next-actions { display: grid; gap: 8px; }
.website-next-actions button { display: grid; grid-template-columns: 28px minmax(0, 1fr) 18px; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid #e0ece4; border-radius: 8px; color: var(--admin-text); background: #fbfefc; text-align: left; cursor: pointer; }
.website-next-actions button:hover { border-color: #9fc8ae; background: #f2faf4; }
.website-next-actions span { grid-row: span 2; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: #287650; background: #e5f3e8; }
.website-next-actions strong { color: var(--admin-text-strong); font-size: 12px; }
.website-next-actions small { color: var(--admin-text-tertiary); font-size: 11px; }
.website-next-actions button > strong, .website-next-actions button > small { grid-column: 2; }
.website-next-actions button::after { content: '→'; grid-column: 3; grid-row: 1 / span 2; color: #65957a; font-size: 16px; font-weight: 850; }
.website-modal-overlay { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(22, 55, 40, .38); }
.website-modal { position: relative; width: min(680px, 100%); max-height: min(760px, calc(100vh - 44px)); overflow: auto; padding: 28px; border: 1px solid #bcd8c5; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(23, 61, 46, .22); }
.website-modal-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 21px; line-height: 1; cursor: pointer; }
.website-modal-close:hover { color: var(--admin-text-strong); background: #e2f0e4; }
.website-modal h2 { margin: 8px 42px 8px 0; color: var(--admin-text-strong); font-size: 22px; line-height: 1.4; }
.website-modal-intro { margin: 0 0 16px; color: var(--admin-text-secondary); font-size: 13px; line-height: 1.7; }
.website-modal-fields, .website-article-fields, .website-seo-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.website-field-wide { grid-column: 1 / -1; }
.website-modal .field { display: grid; gap: 6px; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
.website-modal .field em { color: #ba6e22; font-size: 10px; font-style: normal; }
.website-modal .field input, .website-modal .field select, .website-modal .field textarea { width: 100%; padding: 10px 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text-strong); background: #fbfefc; font: inherit; font-size: 13px; outline: 0; }
.website-modal .field input, .website-modal .field select { min-height: 40px; }
.website-modal .field textarea { min-height: 110px; resize: vertical; line-height: 1.65; }
.website-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 21px; padding-top: 15px; border-top: 1px solid #e4eee7; }
.website-article-preview { margin-top: 18px; }
.website-preview-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--admin-text-tertiary); font-size: 11px; }
.website-article-preview > p { margin: 17px 0; padding: 15px; border: 1px solid #e1ece5; border-radius: 9px; color: var(--admin-text); background: #fbfefc; font-size: 14px; line-height: 1.85; }
.website-preview-facts, .website-lead-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.website-preview-facts > div, .website-lead-detail-grid > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #e1ece5; border-radius: 8px; background: #f8fcf9; }
.website-preview-facts span, .website-lead-detail-grid span, .website-lead-message > span { color: var(--admin-text-tertiary); font-size: 11px; }
.website-preview-facts strong, .website-lead-detail-grid strong { color: var(--admin-text-strong); font-size: 12px; overflow-wrap: anywhere; }
.website-lead-message { margin-top: 12px; padding: 13px; border: 1px solid #e1ece5; border-radius: 9px; background: #fbfefc; }
.website-lead-message p { margin: 6px 0 0; color: var(--admin-text); font-size: 13px; line-height: 1.75; }

@media (max-width: 1180px) {
  .website-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .website-dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .website-rule-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .website-inline-check { grid-column: span 2; }
}

@media (max-width: 820px) {
  .website-tabs { overflow-x: auto; }
  .website-metric-grid, .website-diagnosis-overview, .website-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .website-diagnosis-filter-bar { align-items: stretch; flex-direction: column; }
  .website-rule-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .website-inline-check { grid-column: auto; }
  .website-modal-fields, .website-article-fields, .website-seo-fields { grid-template-columns: 1fr; }
  .website-field-wide { grid-column: auto; }
}

@media (max-width: 620px) {
  .website-tabs-shell { margin-right: 0; margin-left: 0; padding: 0; }
  .website-tabs { gap: 0; }
  .website-tab { min-height: 48px; padding: 0 18px; }
  .website-tab:first-child { padding-left: 0; }
  .website-metric-grid, .website-diagnosis-overview, .website-check-grid { grid-template-columns: 1fr; }
  .website-dashboard-identity { align-items: flex-start; flex-direction: column; }
  .website-rule-grid { grid-template-columns: 1fr 1fr; }
  .website-toolbar { align-items: stretch; flex-direction: column; }
  .website-search-field, .website-select-control, .website-toolbar .button { width: 100%; min-width: 0; }
  .website-select-control { justify-content: space-between; }
  .website-table-footer, .website-batch-summary, .website-precheck-input { align-items: flex-start; flex-direction: column; }
  .website-batch-controls { align-items: stretch; flex-direction: column; }
  .website-batch-controls .field { width: 100%; }
  .website-batch-controls .button { width: 100%; }
  .website-diagnosis-toolbar { align-items: stretch; flex-direction: column; }
  .website-domain-field { flex-basis: auto; }
  .website-diagnosis-empty { padding-right: 17px; padding-left: 17px; }
  .website-preview-facts, .website-lead-detail-grid { grid-template-columns: 1fr; }
  .website-modal { padding: 23px 17px; }
}

/* Work library interaction states. Keep the card clean by opening platform
   adaptations inline, while regionalization stays in a focused two-step modal. */
#app .content-library-refresh-note { margin-left: auto; color: var(--admin-text-tertiary); font-size: 12px; white-space: nowrap; }
#app .content-library-adapt-panel { margin: 16px -18px -18px; padding: 14px 18px 16px; border-top: 1px solid #d8e9dd; background: #f7fbf8; }
#app .content-library-adapt-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#app .content-library-adapt-filters, #app .content-library-adapt-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
#app .content-library-adapt-panel .content-filter-select { width: 128px; height: 36px; }
#app .content-library-adapt-panel .content-filter-select select { height: 36px; font-size: 12px; }
#app .content-library-adapt-caption { margin: 8px 0 0; color: var(--admin-text-tertiary); font-size: 11px; }
#app .content-library-adapt-table-wrap { margin-top: 10px; overflow-x: auto; scrollbar-width: none; }
#app .content-library-adapt-table-wrap::-webkit-scrollbar { width: 0; height: 0; }
#app .content-library-adapt-table { width: 100%; min-width: 0; table-layout: fixed; }
#app .content-library-adapt-table th, #app .content-library-adapt-table td { padding: 10px 11px; }
#app .content-library-adapt-table th { color: #3f6250; background: #edf6ef; font-size: 12px; font-weight: 850; }
#app .content-library-adapt-table td { color: var(--admin-text); font-size: 12px; vertical-align: top; }
#app .content-library-adapt-table th:nth-child(1), #app .content-library-adapt-table td:nth-child(1) { width: 5%; }
#app .content-library-adapt-table th:nth-child(2), #app .content-library-adapt-table td:nth-child(2) { width: 12%; }
#app .content-library-adapt-table th:nth-child(3), #app .content-library-adapt-table td:nth-child(3) { width: 14%; }
#app .content-library-adapt-table th:nth-child(4), #app .content-library-adapt-table td:nth-child(4) { width: 39%; }
#app .content-library-adapt-table th:nth-child(5), #app .content-library-adapt-table td:nth-child(5) { width: 13%; }
#app .content-library-adapt-table th:nth-child(6), #app .content-library-adapt-table td:nth-child(6) { width: 17%; }
#app .content-library-adapt-table td strong { display: block; color: var(--admin-text-strong); overflow-wrap: anywhere; }
#app .content-library-adapt-empty { display: grid; gap: 4px; margin-top: 10px; padding: 22px 14px; border: 1px dashed #c8ddd0; border-radius: 8px; color: var(--admin-text-tertiary); background: #fbfefc; text-align: center; }
#app .content-library-adapt-empty strong { color: var(--admin-text-strong); font-size: 13px; }
#app .content-library-adapt-empty span { font-size: 12px; }
#app .content-library-stepper { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 16px 0; padding: 11px 13px; border: 1px solid #dcebe0; border-radius: 8px; color: var(--admin-text-tertiary); background: #f7fbf8; font-size: 12px; font-weight: 800; }
#app .content-library-stepper span { padding: 8px 10px; border-radius: 7px; text-align: center; }
#app .content-library-stepper span.active { color: #236b48; background: #e5f4e9; }
#app .content-library-stepper span.done { color: #5f806d; background: #edf6ef; }
#app .content-library-stepper i { color: #78a687; font-size: 17px; font-style: normal; }
#app .content-library-locale-section { display: grid; gap: 12px; }
#app .content-library-locale-tabs { display: flex; gap: 7px; border-bottom: 1px solid #dcebe0; }
#app .content-library-locale-tabs button { min-height: 34px; padding: 0 12px; border: 0; border-bottom: 3px solid transparent; color: var(--admin-text-tertiary); background: transparent; font-size: 12px; font-weight: 800; }
#app .content-library-locale-tabs button.active { border-bottom-color: #3f9563; color: #236b48; }
#app .content-library-locale-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--admin-text-tertiary); font-size: 12px; }
#app .content-library-locale-head strong { color: var(--admin-text-strong); font-size: 13px; }
#app .content-library-region-grid, #app .content-library-platform-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; max-height: 270px; overflow: auto; padding: 11px; border: 1px solid #dcebe0; border-radius: 8px; background: #fbfefc; scrollbar-width: none; }
#app .content-library-region-grid::-webkit-scrollbar, #app .content-library-platform-grid::-webkit-scrollbar { width: 0; height: 0; }
#app .content-library-region-option, #app .content-library-platform-option { display: flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 7px; border: 1px solid transparent; border-radius: 6px; color: var(--admin-text); background: #fff; font-size: 12px; cursor: pointer; }
#app .content-library-region-option:hover, #app .content-library-platform-option:hover { border-color: #b9d8c1; background: #f0f8f2; }
#app .content-library-region-option input, #app .content-library-platform-option input { accent-color: #3f9563; }
#app .content-library-locale-pills { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; background: #fbfefc; }
#app .content-library-locale-pills span { padding: 5px 8px; border-radius: 999px; color: #2d704e; background: #e8f5eb; font-size: 11px; font-weight: 750; }
#app .content-library-localize-modal { width: min(720px, 100%); }

@media (max-width: 760px) {
  #app .content-library-refresh-note { width: 100%; margin-left: 0; }
  #app .content-library-adapt-toolbar { align-items: stretch; flex-direction: column; }
  #app .content-library-adapt-filters, #app .content-library-adapt-bulk { width: 100%; }
  #app .content-library-adapt-panel .content-filter-select { flex: 1 1 140px; }
  #app .content-library-adapt-bulk .button { flex: 1 1 130px; }
  #app .content-library-region-grid, #app .content-library-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Model and compute administration. The page is intentionally table-first:
   provider configuration, enterprise authorization, and usage audit remain
   visible as three related but separate operational surfaces. */
#app .models-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
#app .models-stat-card { min-height: 112px; }
#app .models-stat-card .stat-icon { color: #4f8a64; font-size: 19px; font-weight: 900; }
#app .models-stat-green .stat-value { color: #28754e; }
#app .models-stat-blue .stat-value { color: #39739b; }
#app .models-stat-purple .stat-value { color: #6659a7; }
#app .models-stat-orange .stat-value { color: #ab6c25; }
#app .models-tabs { display: flex; gap: 4px; margin-bottom: 16px; padding: 4px; border: 1px solid #dcebe0; border-radius: 10px; background: #f3f9f4; overflow-x: auto; }
#app .models-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 0; border-radius: 7px; color: var(--admin-text-secondary); background: transparent; font: inherit; font-size: 12px; font-weight: 850; white-space: nowrap; cursor: pointer; }
#app .models-tabs button:hover { color: var(--admin-text-strong); background: #e8f4ea; }
#app .models-tabs button.active { color: #236b48; background: #fff; box-shadow: 0 1px 5px rgba(45, 97, 64, .1); }
#app .models-tabs button span { min-width: 20px; padding: 2px 6px; border-radius: 999px; color: #5d806a; background: #e3f1e6; font-size: 10px; text-align: center; }
#app .models-provider-layout, #app .models-enterprise-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); gap: 16px; align-items: start; }
#app .models-provider-table-panel, #app .models-enterprise-table-panel, #app .models-usage-panel, #app .models-routing-panel { overflow: hidden; }
#app .models-provider-table-panel > .panel-header, #app .models-enterprise-table-panel > .panel-header, #app .models-usage-panel > .panel-header { align-items: flex-start; }
#app .models-provider-table-panel > .panel-header p, #app .models-enterprise-table-panel > .panel-header p, #app .models-usage-panel > .panel-header p, #app .models-detail .panel-header p { max-width: 660px; }
#app .models-result-count { padding-top: 4px; color: var(--admin-text-tertiary); font-size: 11px; white-space: nowrap; }
#app .models-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding: 13px 0; border-top: 1px solid #e2ece5; border-bottom: 1px solid #e2ece5; }
#app .models-search { position: relative; display: flex; min-width: min(310px, 100%); flex: 1 1 250px; }
#app .models-search input { width: 100%; min-height: 38px; padding: 0 35px 0 11px; border: 1px solid #c6dccd; border-radius: 8px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 12px; outline: 0; }
#app .models-search input:focus, #app .models-select select:focus, #app .models-detail input:focus, #app .models-detail select:focus, #app .models-modal input:focus, #app .models-modal select:focus { border-color: #45956a; box-shadow: 0 0 0 3px rgba(69, 149, 106, .12); }
#app .models-search i { position: absolute; top: 0; right: 11px; display: grid; height: 38px; place-items: center; color: #3f805b; font-size: 16px; font-style: normal; pointer-events: none; }
#app .models-select { display: flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 9px 0 11px; border: 1px solid #c6dccd; border-radius: 8px; background: #fff; }
#app .models-select span { color: var(--admin-text-secondary); font-size: 11px; font-weight: 850; white-space: nowrap; }
#app .models-select select { min-width: 88px; border: 0; color: var(--admin-text-strong); background: transparent; font: inherit; font-size: 12px; font-weight: 750; outline: 0; cursor: pointer; }
#app .models-table-wrap, #app .models-inner-table-wrap { overflow-x: auto; scrollbar-width: thin; }
#app .models-provider-table, #app .models-enterprise-table, #app .models-usage-table { min-width: 930px; }
#app .models-model-table { min-width: 780px; }
#app .models-provider-table th, #app .models-enterprise-table th, #app .models-usage-table th, #app .models-model-table th { white-space: nowrap; background: #f0f8f2; }
#app .models-provider-table td, #app .models-enterprise-table td, #app .models-usage-table td, #app .models-model-table td { vertical-align: middle; }
#app .models-provider-table tr.is-selected td, #app .models-enterprise-table tr.is-selected td { background: #f4fbf5; }
#app .models-name-button { display: grid; gap: 3px; min-width: 145px; padding: 0; border: 0; color: var(--admin-text-strong); background: transparent; text-align: left; cursor: pointer; }
#app .models-name-button:hover strong { color: #22714a; }
#app .models-name-button small, #app .models-model-table td small, #app .models-usage-table td small { display: block; margin-top: 3px; color: var(--admin-text-tertiary); font-size: 10px; line-height: 1.35; }
#app .models-row-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: max-content; }
#app .models-table-footer, #app .models-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 2px 0; color: var(--admin-text-tertiary); font-size: 11px; }
#app .models-footer { margin-top: 14px; padding: 12px 2px; border-top: 1px solid #e1ece5; }
#app .models-detail { min-width: 0; }
#app .models-detail > .panel-header { align-items: flex-start; }
#app .models-kicker { display: block; margin-bottom: 5px; color: #37835a; font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
#app .models-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; margin: 0 0 15px; }
#app .models-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#app .models-form-grid .field { display: grid; gap: 6px; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
#app .models-form-grid .field input, #app .models-form-grid .field select, #app .models-modal .field input, #app .models-modal .field select { width: 100%; min-height: 39px; padding: 0 10px; border: 1px solid #c6dccd; border-radius: 8px; color: var(--admin-text-strong); background: #fbfefc; font: inherit; font-size: 12px; outline: 0; }
#app .models-form-grid .field input[readonly] { color: var(--admin-text-tertiary); background: #f4f8f5; }
#app .models-field-wide { grid-column: 1 / -1; }
#app .models-form-grid .field-help { color: var(--admin-text-tertiary); font-size: 11px; font-weight: 600; line-height: 1.5; }
#app .models-secret-note, #app .models-route-boundary, #app .models-modal-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; padding: 10px 12px; border: 1px solid #dcebe0; border-left: 3px solid #8bbd9a; border-radius: 8px; color: var(--admin-text-secondary); background: #f4faf5; font-size: 11px; line-height: 1.6; }
#app .models-secret-note strong, #app .models-route-boundary strong { color: #2f7651; white-space: nowrap; }
#app .models-model-panel, #app .models-binding-models, #app .models-enterprise-audit { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e1ece5; }
#app .models-model-panel > .panel-header, #app .models-binding-models > .panel-header, #app .models-enterprise-audit > .panel-header { align-items: flex-start; padding: 0 0 10px; }
#app .models-model-panel h3, #app .models-binding-models h3, #app .models-enterprise-audit h3 { margin: 0; color: var(--admin-text-strong); font-size: 14px; }
#app .models-model-panel p, #app .models-binding-models p, #app .models-enterprise-audit p { margin: 4px 0 0; color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.55; }
#app .models-enterprise-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0 0 15px; padding: 11px; border: 1px solid #dcebe0; border-radius: 8px; background: #f7fbf8; }
#app .models-enterprise-context > div { display: grid; gap: 4px; min-width: 0; }
#app .models-enterprise-context span, #app .models-modal-facts span { color: var(--admin-text-tertiary); font-size: 10px; }
#app .models-enterprise-context strong, #app .models-modal-facts strong { color: var(--admin-text-strong); font-size: 12px; overflow-wrap: anywhere; }
#app .models-enterprise-context small { color: var(--admin-text-secondary); font-size: 10px; line-height: 1.4; }
#app .models-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#app .models-check-field { display: flex; align-items: flex-start; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #dfebe2; border-radius: 8px; color: var(--admin-text); background: #fbfefc; font-size: 11px; cursor: pointer; }
#app .models-check-field:hover { border-color: #a9ceb3; background: #f3faf4; }
#app .models-check-field input { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 1px; accent-color: #3e9563; }
#app .models-check-field span { display: grid; gap: 3px; min-width: 0; }
#app .models-check-field strong { color: var(--admin-text-strong); font-size: 11px; }
#app .models-check-field small { color: var(--admin-text-tertiary); font-size: 10px; line-height: 1.45; }
#app .models-routing-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
#app .models-route-test-result { min-height: 70px; margin-top: 15px; padding: 12px; border: 1px dashed #a9cdb1; border-radius: 8px; color: var(--admin-text-secondary); background: #f7fcf8; font-size: 12px; line-height: 1.7; }
#app .models-route-test-result strong { color: var(--admin-text-strong); }
#app .models-usage-points { color: #ad6520; font-variant-numeric: tabular-nums; }
#app .models-empty { display: grid; place-items: center; gap: 5px; min-height: 120px; padding: 22px 14px; color: var(--admin-text-tertiary); text-align: center; }
#app .models-empty strong { color: var(--admin-text-strong); font-size: 13px; }
#app .models-empty span { font-size: 11px; line-height: 1.55; }
#app .models-modal-overlay { position: fixed; z-index: 45; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(22, 55, 40, .38); }
#app .models-modal { position: relative; width: min(700px, 100%); max-height: min(780px, calc(100vh - 44px)); overflow: auto; padding: 27px; border: 1px solid #bcd8c5; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(23, 61, 46, .22); }
#app .models-modal-close { position: absolute; top: 13px; right: 13px; width: 31px; height: 31px; border: 0; border-radius: 8px; color: #668073; background: #f0f6f1; font-size: 20px; line-height: 1; cursor: pointer; }
#app .models-modal-close:hover { color: var(--admin-text-strong); background: #e2f0e4; }
#app .models-modal h2 { margin: 7px 40px 8px 0; color: var(--admin-text-strong); font-size: 21px; line-height: 1.4; }
#app .models-modal-copy { margin: 0 0 16px; color: var(--admin-text-secondary); font-size: 12px; line-height: 1.7; }
#app .models-modal .field { display: grid; gap: 6px; color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
#app .models-secret-check { margin-top: 13px; }
#app .models-modal-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
#app .models-modal-facts > div { display: grid; gap: 4px; padding: 10px; border: 1px solid #e0ece4; border-radius: 8px; background: #f8fcf9; }
#app .models-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 19px; padding-top: 14px; border-top: 1px solid #e4eee7; }

@media (max-width: 1180px) {
  #app .models-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .models-provider-layout, #app .models-enterprise-layout { grid-template-columns: 1fr; }
  #app .models-routing-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  #app .models-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .models-toolbar { align-items: stretch; flex-direction: column; }
  #app .models-search, #app .models-select, #app .models-toolbar .button { width: 100%; min-width: 0; }
  #app .models-select { justify-content: space-between; }
  #app .models-detail-actions { justify-content: flex-start; }
  #app .models-form-grid, #app .models-enterprise-context, #app .models-check-grid, #app .models-modal-facts { grid-template-columns: 1fr; }
  #app .models-field-wide { grid-column: auto; }
  #app .models-routing-rule-grid { grid-template-columns: 1fr; }
  #app .models-table-footer, #app .models-footer { align-items: flex-start; flex-direction: column; }
  #app .models-modal { padding: 23px 17px; }
}

@media (max-width: 480px) {
  #app .models-stat-grid { grid-template-columns: 1fr; }
  #app .models-tabs button { flex: 1 0 auto; }
}

@media (max-width: 480px) {
  #app .content-library-region-grid, #app .content-library-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .content-library-stepper { grid-template-columns: 1fr; }
  #app .content-library-stepper i { display: none; }
}

/* GEO template workbench: keep the remote field contract while making the
   local prototype useful. Search, preview, use and create all have visible
   states; the modal exposes the three verified remote skeletons only. */
#app .content-template-overview { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid #d8e9dc; border-radius: 10px; color: var(--admin-text-secondary); background: #f7fbf8; }
#app .content-template-overview > div { display: grid; gap: 3px; min-width: 0; }
#app .content-template-overview strong { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
#app .content-template-overview span { color: var(--admin-text-secondary); font-size: 12px; line-height: 1.5; }
#app .content-template-count { flex: 0 0 auto; color: #287650 !important; font-weight: 800; white-space: nowrap; }
#app .content-template-heading > div { display: grid; gap: 3px; min-width: 0; }
#app .content-template-heading h2 { overflow-wrap: anywhere; }
#app .content-template-source { color: var(--admin-text-tertiary); font-size: 11px; line-height: 1.4; }
#app .content-template-card.is-custom { border-color: #b9d9ca; background: linear-gradient(180deg, #fbfefc, #f6fbf7); }
#app .content-template-card.is-custom .content-template-icon { color: #456ca1; background: #edf3fc; }
#app .content-template-card p { min-height: 43px; overflow-wrap: anywhere; }
#app .content-template-structure { display: grid; gap: 9px; margin-top: 17px; padding: 14px; border: 1px solid #d5e7d9; border-radius: 9px; background: #f8fcf9; }
#app .content-template-structure strong { color: var(--admin-text-strong); font-size: 12px; font-weight: 850; }
#app .content-template-structure ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 0; padding: 0 0 0 23px; color: var(--admin-text); }
#app .content-template-structure li { padding-left: 2px; font-size: 12px; line-height: 1.55; }
#app .content-template-structure > span { color: var(--admin-text-tertiary); font-size: 12px; }
#app .content-template-create-fields { display: grid; gap: 14px; margin-top: 18px; }
#app .content-template-create-modal { width: min(560px, 100%); }
#app .content-template-create-modal .field { display: grid; gap: 7px; }
#app .content-template-create-modal .field > span { color: var(--admin-text-strong); font-size: 13px; font-weight: 850; }
#app .content-template-create-modal .field em { color: #b36d21; font-size: 11px; font-style: normal; }
#app .content-template-create-modal input, #app .content-template-create-modal textarea { width: 100%; padding: 10px 11px; border: 1px solid #c8ddd0; border-radius: 8px; color: var(--admin-text-strong); background: #fbfefc; font: inherit; font-size: 13px; outline: 0; }
#app .content-template-create-modal input { min-height: 42px; }
#app .content-template-create-modal textarea { min-height: 108px; resize: vertical; line-height: 1.65; }
#app .content-template-create-modal input:focus, #app .content-template-create-modal textarea:focus { border-color: #55a476; box-shadow: 0 0 0 3px rgba(85, 164, 118, .13); }
#app .content-template-next-step { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 15px; padding: 13px 15px; border: 1px solid #e0ece3; border-radius: 10px; color: var(--admin-text-tertiary); background: #fbfefc; font-size: 12px; }
#app .content-template-next-step button { padding: 0; border: 0; color: #356f9f; background: transparent; font: inherit; font-weight: 850; cursor: pointer; }
#app .content-template-next-step button:hover { color: #1f4e78; text-decoration: underline; }
#app .content-template-empty { grid-column: 1 / -1; }

@media (max-width: 680px) {
  #app .content-template-overview { align-items: flex-start; flex-direction: column; }
  #app .content-template-count { white-space: normal; }
  #app .content-template-structure ol { grid-template-columns: 1fr; }
}

/* Website article table: preserve compact operational columns at the readable
   app-wide table baseline. The table may scroll horizontally, but IDs, status,
   category and schedule values must never collapse into vertical glyphs. */
#app .website-article-table td:nth-child(2),
#app .website-article-table td:nth-child(5),
#app .website-article-table td:nth-child(6),
#app .website-article-table td:nth-child(7),
#app .website-article-table td:nth-child(8) { white-space: nowrap !important; overflow-wrap: normal !important; }
#app .website-article-table td:nth-child(2) { min-width: 54px; width: 54px; }
#app .website-article-table td:nth-child(5) { min-width: 82px; }
#app .website-article-table td:nth-child(8) { min-width: 145px; }
#app .website-article-table th:last-child,
#app .website-article-table td:last-child { position: sticky; right: 0; z-index: 1; min-width: 297px; background: #fff; box-shadow: -8px 0 12px -12px rgba(31, 76, 53, .5); }
#app .website-article-table th:last-child { z-index: 2; background: #f0f8f2; }

/* Website leads keeps the remote field contract visible. It is intentionally
   a wide operational table; the action column stays pinned so status changes
   remain reachable without hunting for a hidden scrollbar. */
#app .website-leads-table { min-width: 1560px; }
#app .website-leads-table th,
#app .website-leads-table td { white-space: nowrap !important; overflow-wrap: normal !important; }
#app .website-leads-table td:nth-child(5) { min-width: 230px; max-width: 300px; white-space: normal !important; }
#app .website-leads-table td:nth-child(6) { min-width: 180px; max-width: 230px; }
#app .website-leads-table td:nth-child(13) { min-width: 170px; }
#app .website-leads-table td:nth-child(13),
#app .website-leads-table th:nth-child(13) { position: sticky; right: 118px; z-index: 1; min-width: 170px; background: #fff; box-shadow: -8px 0 12px -12px rgba(31, 76, 53, .45); }
#app .website-leads-table th:nth-child(13) { z-index: 2; background: #f0f8f2; }
#app .website-leads-table td:nth-child(15),
#app .website-leads-table th:nth-child(15) { position: sticky; right: 0; z-index: 1; min-width: 110px; background: #fff; box-shadow: -8px 0 12px -12px rgba(31, 76, 53, .5); }
#app .website-leads-table th:nth-child(15) { z-index: 2; background: #f0f8f2; }
#app .website-lead-description { display: block; max-width: 300px; overflow-wrap: anywhere; color: var(--admin-text); line-height: 1.55; }
#app .website-lead-source { display: block; max-width: 230px; overflow: hidden; color: var(--admin-text-secondary); text-overflow: ellipsis; }
#app .website-lead-type { color: var(--admin-text-strong); font-weight: 800; }
#app .website-lead-action-select { min-height: 32px; padding: 0 8px; border: 1px solid #c8ddd0; border-radius: 7px; color: var(--admin-text-strong); background: #fbfefc; font: inherit; font-size: 12px; font-weight: 750; outline: 0; cursor: pointer; }
#app .website-note-display { display: block; width: 170px; min-height: 32px; padding: 7px 8px; border: 1px solid transparent; border-radius: 7px; color: var(--admin-text); background: transparent; font: inherit; font-size: 12px; line-height: 1.45; text-align: left; cursor: pointer; }
#app .website-note-display:hover { border-color: #c8ddd0; background: #f7fbf8; }
#app .website-note-display.is-placeholder { color: #7c9687; }
#app .website-note-textarea { width: 170px; min-height: 32px; padding: 7px 8px; border: 1px solid #61a67b; border-radius: 7px; color: var(--admin-text-strong); background: #fff; font: inherit; font-size: 12px; line-height: 1.45; outline: 0; resize: vertical; box-shadow: 0 0 0 3px rgba(69, 149, 106, .12); }
#app .website-leads-table.is-empty th:nth-child(13),
#app .website-leads-table.is-empty td:nth-child(13),
#app .website-leads-table.is-empty th:nth-child(15),
#app .website-leads-table.is-empty td:nth-child(15) {
  position: static;
  right: auto;
  z-index: auto;
  min-width: 0;
  width: auto;
  background: #f0f8f2;
  box-shadow: none;
}
#app .website-leads-table.is-empty td:nth-child(13),
#app .website-leads-table.is-empty td:nth-child(15) { background: #fff; }

/* Growth overview benchmark v0.1: the first high-fidelity reference page for
   the enterprise workbench. Keep these rules scoped so other workbench pages
   can migrate deliberately instead of inheriting a partial redesign. */
#app .dashboard-benchmark { --dashboard-gap: 16px; }
#app .dashboard-benchmark .page-heading { align-items: flex-end; margin-bottom: 28px; }
#app .dashboard-benchmark .page-heading p { max-width: 760px; }
#app .dashboard-benchmark .hero-banner { min-height: 158px; align-items: center; margin-bottom: 20px; padding: 28px 30px; border-radius: 14px; }
#app .dashboard-benchmark .hero-copy { max-width: 760px; }
#app .dashboard-benchmark .hero-copy h2 { font-size: 24px; line-height: 1.3; }
#app .dashboard-benchmark .hero-copy p { max-width: 720px; margin-top: 10px; font-size: 14px; line-height: 1.7; }
#app .dashboard-benchmark .hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; margin-top: 15px; color: #c1d6c7; font-size: 12px; line-height: 1.45; }
#app .dashboard-benchmark .hero-demo-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid rgba(188,233,94,.24); border-radius: 999px; color: #e5f5c4; background: rgba(188,233,94,.1); font-weight: 800; }
#app .dashboard-benchmark .hero-progress { min-width: 220px; }
#app .dashboard-benchmark .stat-grid { gap: var(--dashboard-gap); margin-bottom: 24px; }
#app .dashboard-benchmark .stat-card { position: relative; min-height: 138px; padding: 20px 21px 18px; overflow: hidden; border-radius: 12px; }
#app .dashboard-benchmark .stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--dashboard-accent, var(--brand)); content: ""; }
#app .dashboard-benchmark .stat-card:nth-child(1) { --dashboard-accent: #2f8f9d; }
#app .dashboard-benchmark .stat-card:nth-child(2) { --dashboard-accent: #267052; }
#app .dashboard-benchmark .stat-card:nth-child(3) { --dashboard-accent: #a85a00; }
#app .dashboard-benchmark .stat-card:nth-child(4) { --dashboard-accent: #7856b8; }
#app .dashboard-benchmark .stat-value { margin-top: 18px; font-family: inherit; font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
#app .dashboard-benchmark .stat-meta { gap: 7px; }
#app .dashboard-benchmark .content-grid { gap: var(--dashboard-gap); margin-bottom: 24px; }
#app .dashboard-benchmark .panel { border-radius: 12px; }
#app .dashboard-benchmark .panel-header { padding: 20px 22px 14px; }
#app .dashboard-benchmark .task-list { gap: 3px; padding: 3px 12px 14px; }
#app .dashboard-benchmark .task-item { width: 100%; min-height: 62px; padding: 13px 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; text-align: left; }
#app .dashboard-benchmark .task-item:hover { border-color: #d5e7da; background: #f7fbf8; }
#app .dashboard-benchmark .task-item:focus-visible { position: relative; z-index: 1; border-color: #61a67b; outline: 3px solid rgba(97,166,123,.2); outline-offset: 1px; }
#app .dashboard-benchmark .task-item .task-index { width: 30px; height: 30px; flex: 0 0 30px; }
#app .dashboard-benchmark .task-item .task-arrow { padding-left: 4px; }
#app .dashboard-benchmark .health-panel { padding-bottom: 20px; }
#app .dashboard-benchmark .health-score { padding: 6px 22px 21px; }
#app .dashboard-benchmark .health-bars { gap: 12px; padding: 0 22px; }
#app .dashboard-benchmark .pipeline-panel { margin-bottom: 24px; }
#app .dashboard-benchmark .pipeline { padding: 4px 22px 27px; }
#app .dashboard-benchmark .pipeline-step strong { font-size: 13px; }
#app .dashboard-benchmark .pipeline-step span { font-size: 12px; }
#app .dashboard-benchmark .monitor-grid { gap: var(--dashboard-gap); margin-bottom: 24px; }
#app .dashboard-benchmark .monitor-card { position: relative; min-height: 154px; padding: 20px; overflow: hidden; border-radius: 12px; }
#app .dashboard-benchmark .monitor-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--monitor-accent, var(--brand)); content: ""; }
#app .dashboard-benchmark .monitor-card.green { --monitor-accent: #267052; }
#app .dashboard-benchmark .monitor-card.purple { --monitor-accent: #7856b8; }
#app .dashboard-benchmark .monitor-card.blue { --monitor-accent: #2f8f9d; }
#app .dashboard-benchmark .monitor-card.orange { --monitor-accent: #a85a00; }
#app .dashboard-benchmark .monitor-card strong { margin-top: 20px; color: var(--admin-text-strong); font-family: inherit; font-size: 24px; font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1.25; }
#app .dashboard-benchmark .monitor-card p { min-height: 40px; margin: 7px 0 13px; font-size: 13px; line-height: 1.55; }
#app .dashboard-benchmark .content-list { padding: 0 12px 13px; }
#app .dashboard-benchmark .content-row { grid-template-columns: minmax(0, 1fr) 90px 100px 32px; gap: 14px; min-height: 66px; padding: 13px 11px; border-top: 1px solid #e5eee7; }
#app .dashboard-benchmark .content-title strong { font-size: 14px; }
#app .dashboard-benchmark .content-title span { font-size: 12px; }
#app .dashboard-benchmark .content-row:hover { border-radius: 9px; background: #f7fbf8; }
#app .dashboard-benchmark .alert-list { gap: 10px; padding: 0 22px 22px; }
#app .dashboard-benchmark .alert-item { padding: 12px; border: 1px solid transparent; border-radius: 10px; }
#app .dashboard-benchmark .alert-item strong { font-size: 13px; }
#app .dashboard-benchmark .alert-item span { font-size: 12px; line-height: 1.55; }

@media (max-width: 920px) {
  #app .dashboard-benchmark .hero-banner { align-items: flex-start; flex-direction: column; }
  #app .dashboard-benchmark .hero-progress { width: 100%; }
  #app .dashboard-benchmark .monitor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  #app .dashboard-benchmark .page-heading { margin-bottom: 22px; }
  #app .dashboard-benchmark .hero-banner { padding: 22px; }
  #app .dashboard-benchmark .hero-copy h2 { font-size: 21px; }
  #app .dashboard-benchmark .hero-copy p { font-size: 13px; }
  #app .dashboard-benchmark .hero-meta { align-items: flex-start; flex-direction: column; gap: 7px; }
  #app .dashboard-benchmark .stat-grid,
  #app .dashboard-benchmark .monitor-grid { grid-template-columns: 1fr; }
  #app .dashboard-benchmark .content-row { grid-template-columns: minmax(0, 1fr) auto; }
  #app .dashboard-benchmark .content-row > :nth-child(2),
  #app .dashboard-benchmark .content-row > :nth-child(3) { display: none; }
}

/* --------------------------------------------------------------------------
   JY Clean Ops v1
   The admin console has its own visual language: cool white canvas, navy
   navigation, indigo actions, cyan data, and purple automation. QSX-aligned
   fields remain a data contract; this surface, spacing, and state language is
   deliberately independent.
   -------------------------------------------------------------------------- */
:root {
  --ink: #10182b;
  --ink-soft: #1a2742;
  --brand: #315bea;
  --brand-light: #e9eeff;
  --accent: #13b7c9;
  --paper: #f6f8fc;
  --white: #ffffff;
  --text: #182338;
  --muted: #53647a;
  --faint: #7b8799;
  --line: #dce3ee;
  --blue: #2f80ed;
  --blue-light: #e8f2ff;
  --orange: #c17800;
  --orange-light: #fff4df;
  --red: #c84c4c;
  --red-light: #fdecec;
  --coral: #d55d62;
  --coral-light: #fdebed;
  --purple: #7653d6;
  --purple-light: #f0ecff;
  --surface-1: #ffffff;
  --surface-2: #f7f9fc;
  --surface-3: #eef3ff;
  --grid-line: rgba(49, 91, 234, .045);
  --shadow-sm: 0 2px 12px rgba(24, 35, 56, .05);
  --shadow-md: 0 18px 50px rgba(24, 35, 56, .13);
  --admin-text-strong: #182338;
  --admin-text: #27364f;
  --admin-text-secondary: #53647a;
  --admin-text-tertiary: #7b8799;
  --admin-border: #dce3ee;
  color-scheme: light;
}

html,
body { background: var(--paper); color: var(--admin-text); }

body::before {
  background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  opacity: .35;
}

html.is-scrolling,
body.is-scrolling { scrollbar-color: rgba(49, 91, 234, .45) #edf1f7; }
html.is-scrolling::-webkit-scrollbar-track,
body.is-scrolling::-webkit-scrollbar-track { background: #edf1f7; }
html.is-scrolling::-webkit-scrollbar-thumb,
body.is-scrolling::-webkit-scrollbar-thumb { border-color: #edf1f7; background: rgba(49, 91, 234, .45); }

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline-color: rgba(49, 91, 234, .38); }

#app .sidebar {
  color: #dce5f6;
  background: var(--ink);
  border-right-color: rgba(163, 185, 235, .15);
}
#app .sidebar.is-scrolling { scrollbar-color: rgba(118, 155, 255, .62) rgba(255, 255, 255, .06); }
#app .sidebar.is-scrolling::-webkit-scrollbar-thumb { background: rgba(118, 155, 255, .62); }
#app .sidebar.is-scrolling::-webkit-scrollbar-thumb:hover { background: #9fb7ff; }
#app .brand-lockup strong { color: #fff; }
#app .brand-lockup span:not(.prototype-label) { color: #9eacd0; }
#app .brand-mark { color: #b8c8ff; border-color: rgba(159, 183, 255, .38); background: rgba(91, 126, 234, .18); }
#app .prototype-label { color: rgba(159, 183, 255, .72); }
#app .workspace-switch { border-color: rgba(163, 185, 235, .22); background: rgba(255, 255, 255, .055); }
#app .workspace-switch:hover { border-color: rgba(159, 183, 255, .62); background: rgba(79, 115, 224, .18); }
#app .workspace-switch-copy small,
#app .chevron { color: #93a4c9; }
#app .workspace-dot,
#app .menu-dot { background: #7d9bff; box-shadow: 0 0 0 4px rgba(125, 155, 255, .14); }
#app .tenant-dot { background: #7d9bff; }
#app .admin-dot { background: #e0a548; }
#app .self-dot { background: #22c2d3; }
#app .nav-group-title { color: #7789b0; }
#app .nav-item { color: #aab8d4; }
#app .nav-item:hover { color: #fff; background: rgba(137, 164, 235, .12); }
#app .nav-item.active { color: #fff; background: var(--brand); box-shadow: inset 3px 0 #b7c7ff, 0 5px 18px rgba(49, 91, 234, .2); }
#app .nav-badge { color: var(--ink); background: #9fb7ff; }
#app .nav-item.active .nav-badge { color: #b9c9ff; background: var(--ink); }
#app .profile-mini strong { color: #eef2ff; }
#app .profile-mini span { color: #8f9fc2; }
#app .profile-mini { border-color: rgba(163, 185, 235, .16); }
#app .avatar { color: #fff; background: var(--brand); }
#app .avatar-small { background: #4e70dd; }

#app .main-content { background: transparent; }
#app .topbar {
  border-bottom-color: rgba(220, 227, 238, .94);
  background: rgba(246, 248, 252, .92);
}
#app .breadcrumbs { color: var(--admin-text-tertiary); }
#app .breadcrumbs strong,
#app .topbar-user { color: var(--admin-text-strong); }
#app .topbar-action:hover,
#app .panel-link:hover { color: #2346c1; }
#app .save-state { color: var(--admin-text-secondary); }
#app .status-pulse { background: var(--accent); box-shadow: 0 0 0 4px rgba(19, 183, 201, .12); }
#app .topbar-count { color: #2447c7; background: var(--brand-light); }
#app .topbar-divider { background: var(--line); }
#app .command-search { border-color: var(--line); color: var(--admin-text-secondary); background: #fff; }
#app .command-search:hover { border-color: #aebdf0; background: var(--brand-light); }
#app .command-search span { border-color: var(--line); color: var(--admin-text-secondary); background: var(--surface-2); }

#app .page-container { color: var(--admin-text); }
#app .page-heading h1,
#app .panel-header h2,
#app .panel-header h3,
#app .fact-card h3,
#app .self-callout h3,
#app .empty-state h3 { color: var(--admin-text-strong); }
#app .page-heading p,
#app .panel-header p { color: var(--admin-text-secondary); }
#app .eyebrow { color: var(--brand); }

#app .button-primary { color: #fff; background: var(--brand); box-shadow: 0 7px 18px rgba(49, 91, 234, .2); }
#app .button-primary:hover { background: #264dd2; box-shadow: 0 10px 22px rgba(49, 91, 234, .28); }
#app .button-secondary { border-color: var(--line); color: var(--brand); background: #fff; }
#app .button-secondary:hover { border-color: #aebdf0; color: #2446c0; background: var(--brand-light); }
#app .button-dark { color: #fff; background: var(--ink); }
#app .button-danger { color: var(--red); background: var(--red-light); }
#app .button-quiet { color: var(--admin-text-secondary); }

#app .panel,
#app .stat-card,
#app .kpi-card,
#app .fact-card,
#app .self-callout,
#app .monitor-card,
#app .brand-diagnosis-scan-card,
#app .brand-modal {
  border-color: var(--line);
  border-radius: 11px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
#app .panel:hover,
#app .stat-card:hover,
#app .kpi-card:hover,
#app .fact-card:hover,
#app .monitor-card:hover { border-color: #c5d0eb; }
#app .panel-header { border-color: var(--line); }
#app .panel-link { color: var(--brand); }
#app .stat-top,
#app .stat-meta,
#app .content-date,
#app .fact-card p,
#app .fact-footer,
#app .subtle-note,
#app .monitor-card-top,
#app .monitor-card p { color: var(--admin-text-secondary); }
#app .stat-value,
#app .kpi-card strong,
#app .score-circle strong,
#app .completion-ring strong,
#app .monitor-card strong { color: var(--admin-text-strong); }
#app .stat-icon { color: var(--brand); background: var(--brand-light); }
#app .kpi-card span { color: #315bea; }

#app .hero-banner {
  border-color: rgba(113, 146, 236, .34);
  background: radial-gradient(circle at 82% 20%, rgba(72, 198, 218, .14), transparent 29%), linear-gradient(120deg, #15213a 0%, #22325a 68%, #3b4f93 100%);
  box-shadow: 0 16px 45px rgba(24, 35, 56, .18);
}
#app .hero-banner::after { border-color: rgba(159, 183, 255, .38); box-shadow: 0 0 0 26px rgba(159, 183, 255, .06), 0 0 0 52px rgba(159, 183, 255, .035); }
#app .hero-banner::before { background: linear-gradient(90deg, transparent 0%, rgba(93, 157, 255, .04) 49.8%, rgba(93, 157, 255, .2) 50%, rgba(93, 157, 255, .04) 50.2%, transparent 100%); }
#app .hero-copy .eyebrow { color: #9fe5ff; }
#app .hero-copy h2 { color: #f6f8ff; }
#app .hero-copy p,
#app .hero-progress-copy span { color: #cbd7f2; }
#app .hero-demo-badge { color: #c4d2f9; border-color: rgba(196, 210, 249, .28); background: rgba(255,255,255,.08); }
#app .progress-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.18) 72% 100%); }
#app .progress-ring::before { background: #1b2947; }
#app .progress-ring strong { color: #a8f4f8; }

#app .task-item:hover,
#app .content-row:hover,
#app .data-table tbody tr:hover { background: #f1f5ff; }
#app .task-item:hover { border-color: #d5deff; }
#app .task-item:focus-visible,
#app .content-row:focus-visible { outline-color: rgba(49, 91, 234, .34); }
#app .task-index { color: var(--brand); background: var(--brand-light); }
#app .task-index.done { color: #fff; background: var(--brand); }
#app .health-track,
#app .mini-track { background: #e5eaf2; }
#app .health-track i,
#app .mini-track i,
#app .mini-bar i { background: var(--brand); }
#app .content-row { border-color: #e5eaf2; }
#app .content-row:hover .row-more { color: var(--brand); background: var(--brand-light); }

#app .chip-green { color: #087f8c; background: #e5f7f7; }
#app .chip-blue { color: #2369c7; background: var(--blue-light); }
#app .chip-orange { color: #a15f00; background: var(--orange-light); }
#app .chip-red { color: #a63d3d; background: var(--red-light); }
#app .chip-purple { color: #6448bb; background: var(--purple-light); }
#app .chip-gray { color: #65748a; background: #eef1f6; }

#app .alert-item { border: 1px solid #f3e1bd; background: #fff7e8; }
#app .alert-item.blue { border-color: #c8e8ed; background: #eaf8fa; }
#app .alert-item .alert-dot { background: var(--orange); }
#app .alert-item.blue .alert-dot { background: var(--accent); }
#app .alert-item strong,
#app .task-content strong,
#app .health-score-copy strong,
#app .pipeline-step strong { color: var(--admin-text-strong); }
#app .alert-item span,
#app .task-content span,
#app .health-score-copy span { color: var(--admin-text-secondary); }

#app .field label,
#app .field-label-row label,
#app .brand-modal-field,
#app .brand-service-form label { color: var(--admin-text-strong); }
#app .field label span,
#app .field-help,
#app .field-example { color: var(--admin-text-tertiary); }
#app .field input,
#app .field textarea,
#app .field select,
#app .tag-input,
#app .fake-select,
#app .brand-modal-field textarea,
#app .brand-service-form input,
#app .brand-service-form select,
#app .brand-service-form textarea { border-color: var(--line); color: var(--admin-text); background: #fbfcfe; }
#app .field input::placeholder,
#app .field textarea::placeholder { color: #94a0b1; }
#app .field input:focus,
#app .field textarea:focus,
#app .field select:focus,
#app .brand-modal-field textarea:focus,
#app .brand-service-form input:focus,
#app .brand-service-form select:focus,
#app .brand-service-form textarea:focus { border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px rgba(49, 91, 234, .12); }
#app .panel-footer,
#app .positioning-form-footer,
#app .story-edit-footer { border-color: var(--line); }

#app .segmented,
#app .module-tabs { border-color: var(--line); background: #f1f4f8; }
#app .segmented button,
#app .module-tabs button,
#app .filter-pill { color: var(--admin-text-secondary); }
#app .segmented button.active,
#app .module-tabs button.active,
#app .filter-pill.active { color: var(--brand); background: #fff; box-shadow: 0 2px 8px rgba(24, 35, 56, .09); }
#app .data-table th { color: var(--admin-text-secondary); border-color: var(--line); background: #f7f9fc; }
#app .data-table td { color: var(--admin-text); border-color: #e7ebf2; }

#app .context-strip,
#app .diagnosis-context,
#app .collect-config-note,
#app .content-industry-note { border-color: #d6e0f2; color: var(--admin-text-secondary); background: #f5f8ff; }
#app .context-strip strong,
#app .diagnosis-context strong { color: var(--admin-text-strong); }
#app .brand-guide-list > div { border-color: #dbe3f1; background: #f6f8fc; }
#app .brand-service-detail-row td { background: #f7f9fc; }
#app .brand-service-detail { border-color: var(--line); background: #fff; }
#app .brand-service-toggle { color: var(--admin-text-strong); }
#app .brand-service-toggle:hover { color: var(--brand); }
#app .brand-service-caret { color: var(--brand); background: var(--brand-light); }
#app .brand-modal-overlay { background: rgba(16, 24, 43, .28); }
#app .brand-modal { box-shadow: 0 24px 70px rgba(24, 35, 56, .2); }
#app .brand-modal-heading .eyebrow { color: var(--brand); }

#app .monitor-card::before { background: var(--monitor-accent, var(--brand)); }
#app .monitor-card.green { --monitor-accent: var(--brand); }
#app .monitor-card.purple { --monitor-accent: var(--purple); }
#app .monitor-card.blue { --monitor-accent: var(--accent); }
#app .monitor-card.orange { --monitor-accent: var(--orange); }
#app .monitor-card.green .monitor-signal { background: var(--brand); box-shadow: 0 0 0 4px var(--brand-light); }

/* Step nodes are a separate visual primitive from the count text below them. */
#app .dashboard-benchmark .pipeline-step > .pipeline-number {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  flex: 0 0 36px;
  grid-column: auto !important;
  grid-row: auto !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #c9d4e5;
  color: var(--admin-text-secondary);
  background: #fff;
  font-size: 12px !important;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  line-height: 1 !important;
  text-align: center;
}
#app .dashboard-benchmark .pipeline-step > div > span {
  display: block;
  grid-column: auto !important;
  margin-top: 6px !important;
  color: var(--admin-text-secondary);
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#app .dashboard-benchmark .pipeline-step:not(:last-child)::after { top: 18px; left: 44px; background: #d7dfeb; }
#app .dashboard-benchmark .pipeline-step.done:not(:last-child)::after { background: var(--brand); }
#app .dashboard-benchmark .pipeline-step.done > .pipeline-number { border-color: var(--brand); color: #fff; background: var(--brand); }
#app .dashboard-benchmark .pipeline-step.current > .pipeline-number { border-color: var(--accent); color: #087f8c; background: #dff9fb; box-shadow: 0 0 0 5px rgba(19, 183, 201, .14); }
#app .dashboard-benchmark .pipeline-step strong { color: var(--admin-text-strong); }

#app .toast { color: #fff; border: 1px solid rgba(159, 183, 255, .18); background: var(--ink); }

@media (max-width: 700px) {
  #app .dashboard-benchmark .pipeline-step { grid-template-columns: 36px 1fr; gap: 11px; }
  #app .dashboard-benchmark .pipeline-step:not(:last-child)::after { top: 36px; left: 17px; width: 1px; height: 25px; }
}

/* 自营关键词模块：对应参考后台的词库、候选确认、提问导出与反哺闭环。 */
#app .self-kw-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-kw-stat-card { min-height: 128px; }
#app .self-kw-pool-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: 18px; margin-bottom: 18px; }
#app .self-kw-pool-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 20px 18px; }
#app .self-kw-pool-metrics > div { padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); }
#app .self-kw-pool-metrics span, #app .self-kw-pool-metrics strong { display: block; }
#app .self-kw-pool-metrics span { color: var(--muted); font-size: 11px; }
#app .self-kw-pool-metrics strong { margin-top: 8px; color: var(--ink); font-size: 21px; }
#app .self-kw-pool-metrics strong small { color: var(--muted); font-size: 10px; font-weight: 600; }
#app .self-kw-category-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 20px 20px; }
#app .self-kw-category-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid #d7e6da; border-radius: 999px; color: #315c43; background: #f5faf5; font-size: 11px; font-weight: 800; }
#app .self-kw-category-chip small { color: #6e8876; font-size: 9px; font-weight: 600; }
#app .self-kw-category-chip.is-low { border-color: #efd2a4; color: #85520c; background: #fff9ed; }
#app .self-kw-category-chip.is-high { border-color: #efb3af; color: #963b36; background: #fff4f3; }
#app .self-kw-heartbeat .data-table { margin-bottom: 4px; }
#app .self-kw-heartbeat .data-table th, #app .self-kw-heartbeat .data-table td { padding-left: 20px; padding-right: 20px; }
#app .self-kw-rules-panel, #app .self-kw-actions-panel, #app .self-kw-result-panel, #app .self-kw-export-panel, #app .self-kw-table-panel { margin-bottom: 18px; }
#app .self-kw-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
#app .self-kw-rules-grid > div { min-height: 86px; padding: 13px; border: 1px solid #dbe8de; border-radius: 9px; background: #f8fbf8; }
#app .self-kw-rules-grid strong, #app .self-kw-rules-grid span { display: block; }
#app .self-kw-rules-grid strong { color: var(--ink); font-size: 12px; }
#app .self-kw-rules-grid span { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.55; }
#app .self-kw-action-row, #app .self-kw-result-actions, #app .self-kw-export-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 0 20px 20px; }
#app .self-kw-action-row .button, #app .self-kw-result-actions .button, #app .self-kw-export-actions .button { min-height: 34px; }
#app .self-kw-action-row .button-danger { border-color: #edc6c3; color: #a74943; background: #fff7f6; }
#app .self-kw-task-status { display: flex; align-items: center; gap: 8px; margin: 0 20px 20px; padding: 11px 13px; border: 1px solid #f2d6a9; border-radius: 8px; color: #83530e; background: #fff9ed; font-size: 12px; }
#app .self-kw-spinner { width: 13px; height: 13px; border: 2px solid #f0d7a8; border-top-color: #bd7712; border-radius: 50%; animation: self-kw-spin .8s linear infinite; }
@keyframes self-kw-spin { to { transform: rotate(360deg); } }
#app .self-kw-feedback-form { display: grid; gap: 12px; margin: 0 20px 20px; padding: 14px; border: 1px solid #d8e8dc; border-radius: 9px; background: #f8fbf8; }
#app .self-kw-feedback-form label, #app .self-kw-feedback-form label span { display: block; }
#app .self-kw-feedback-form label > span { margin-bottom: 7px; color: var(--ink); font-size: 12px; font-weight: 800; }
#app .self-kw-feedback-form textarea, #app .self-kw-export-panel textarea { width: 100%; resize: vertical; padding: 11px; border: 1px solid #cfdfd3; border-radius: 7px; color: var(--text); background: #fff; font-size: 12px; line-height: 1.6; }
#app .self-kw-feedback-form > div { display: flex; gap: 8px; }
#app .self-kw-candidate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 20px 16px; }
#app .self-kw-candidate-card { min-height: 160px; padding: 12px; border: 1px solid #d8e8dc; border-radius: 9px; background: #fbfdfb; }
#app .self-kw-candidate-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
#app .self-kw-candidate-top strong { color: var(--ink); font-size: 12px; line-height: 1.45; }
#app .self-kw-candidate-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; color: var(--muted); font-size: 10px; }
#app .self-kw-score-bars { display: grid; gap: 5px; margin-top: 13px; color: #587263; font-size: 10px; }
#app .self-kw-result-actions > span { flex: 1 1 260px; color: var(--muted); font-size: 10px; line-height: 1.55; }
#app .self-kw-result-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 20px 20px; padding: 12px 14px; border: 1px solid #d7e7dc; border-radius: 8px; color: #547062; background: #f5faf5; font-size: 11px; line-height: 1.55; }
#app .self-kw-result-summary strong { color: var(--ink); }
#app .self-kw-cleanup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 20px 16px; }
#app .self-kw-cleanup-grid > div { display: grid; gap: 7px; padding: 12px; border: 1px solid #e5ded0; border-radius: 8px; background: #fffaf1; }
#app .self-kw-cleanup-grid strong { color: #764d12; font-size: 12px; }
#app .self-kw-cleanup-grid span { color: #8a7657; font-size: 11px; line-height: 1.55; }
#app .self-kw-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 20px 13px; }
#app .self-kw-status-filters, #app .self-kw-category-filters { display: flex; flex-wrap: wrap; gap: 7px; }
#app .self-kw-category-filters { padding: 0 20px 15px; border-bottom: 1px solid var(--line); }
#app .self-kw-status-filters .filter-pill, #app .self-kw-category-filters .filter-pill { min-height: 29px; }
#app .self-kw-status-filters .filter-pill span, #app .self-kw-category-filters .filter-pill span { margin-left: 3px; color: #709080; font-variant-numeric: tabular-nums; }
#app .self-kw-search input { min-width: 230px; height: 32px; padding: 0 10px; border: 1px solid #d5e3d8; border-radius: 7px; color: var(--text); background: #fff; font-size: 11px; }
#app .self-kw-table-wrap { overflow-x: auto; }
#app .self-kw-table-wrap .data-table { min-width: 960px; }
#app .self-kw-check-cell { width: 42px; text-align: center !important; }
#app .self-kw-keyword-cell { display: grid; gap: 4px; min-width: 220px; white-space: normal; }
#app .self-kw-keyword-cell strong { color: var(--ink); line-height: 1.45; }
#app .self-kw-keyword-cell small { color: var(--muted); font-size: 10px; }
#app .self-kw-gold-score, #app .self-kw-audit { display: block; margin-top: 4px; color: #a86e16; font-size: 10px; }
#app .self-kw-unscored { color: #a86e16; }
#app .self-kw-status { color: #788e7f; font-size: 11px; }
#app .self-kw-status.exported { color: #2e7954; }
#app .self-kw-table-wrap tr.is-unscored { opacity: .62; }
#app .self-kw-empty { display: grid; gap: 6px; padding: 34px 10px; text-align: center; }
#app .self-kw-empty strong { color: var(--ink); font-size: 13px; }
#app .self-kw-empty span { color: var(--muted); font-size: 11px; }
#app .self-kw-table-footer { display: flex; justify-content: space-between; gap: 12px; padding: 13px 20px 16px; color: var(--muted); font-size: 10px; }
#app .self-kw-audit-badges { display: flex; gap: 6px; }

@media (max-width: 1050px) {
  #app .self-kw-pool-grid { grid-template-columns: 1fr; }
  #app .self-kw-candidate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-kw-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #app .self-kw-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-kw-pool-metrics, #app .self-kw-cleanup-grid { grid-template-columns: 1fr; }
  #app .self-kw-toolbar { display: grid; }
  #app .self-kw-search input { min-width: 100%; width: 100%; }
  #app .self-kw-candidate-grid, #app .self-kw-rules-grid { grid-template-columns: 1fr; }
  #app .self-kw-table-footer { display: grid; }
}

/* 自营话题库：AI 选题候选、写作状态和确认/删除链路。 */
#app .self-topic-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-topic-stat-card { min-height: 128px; }
#app .self-topic-rules-panel, #app .self-topic-candidate-panel, #app .self-topic-article-receipt, #app .self-topic-table-panel { margin-bottom: 18px; }
#app .self-topic-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
#app .self-topic-rules-grid > div { min-height: 86px; padding: 13px; border: 1px solid #dbe8de; border-radius: 9px; background: #f8fbf8; }
#app .self-topic-rules-grid strong, #app .self-topic-rules-grid span { display: block; }
#app .self-topic-rules-grid strong { color: var(--ink); font-size: 12px; }
#app .self-topic-rules-grid span { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.55; }
#app .self-topic-panel-actions, #app .self-topic-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
#app .self-topic-task-status { display: flex; align-items: center; gap: 8px; margin: 0 20px 18px; padding: 11px 13px; border: 1px solid #f2d6a9; border-radius: 8px; color: #83530e; background: #fff9ed; font-size: 12px; }
#app .self-topic-candidate-hint { margin: 0 20px 12px; color: var(--muted); font-size: 11px; line-height: 1.55; }
#app .self-topic-candidate-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 0 20px 16px; }
#app .self-topic-candidate-row { display: flex; align-items: flex-start; gap: 9px; min-height: 104px; padding: 12px; border: 1px solid #d7e7dc; border-radius: 9px; background: #fbfdfb; cursor: pointer; }
#app .self-topic-candidate-row:hover { border-color: #a9cbb1; background: #f5faf5; }
#app .self-topic-candidate-row input { margin-top: 3px; accent-color: var(--brand); }
#app .self-topic-candidate-copy { display: grid; gap: 5px; }
#app .self-topic-candidate-copy strong { color: var(--ink); font-size: 12px; line-height: 1.45; }
#app .self-topic-candidate-copy span { width: fit-content; padding: 3px 7px; border-radius: 999px; color: #6752a5; background: #f0ecff; font-size: 10px; }
#app .self-topic-candidate-copy small { color: var(--muted); font-size: 10px; line-height: 1.5; }
#app .self-topic-result-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 20px 20px; padding: 12px 14px; border: 1px solid #d7e7dc; border-radius: 8px; color: #547062; background: #f5faf5; font-size: 11px; line-height: 1.55; }
#app .self-topic-result-summary strong { color: var(--ink); }
#app .self-topic-article-receipt { border-color: #b8d9c1; }
#app .self-topic-receipt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 20px 14px; }
#app .self-topic-receipt-grid > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #d8e8dc; border-radius: 8px; background: #f8fbf8; }
#app .self-topic-receipt-grid span, #app .self-topic-receipt-title span { color: var(--muted); font-size: 10px; }
#app .self-topic-receipt-grid strong { color: var(--ink); font-size: 12px; word-break: break-all; }
#app .self-topic-receipt-title { display: grid; gap: 6px; margin: 0 20px 14px; padding: 12px; border: 1px solid #d8e8dc; border-radius: 8px; background: #f8fbf8; }
#app .self-topic-receipt-title strong { color: var(--ink); font-size: 13px; line-height: 1.5; }
#app .self-topic-receipt-actions { display: flex; gap: 8px; padding: 0 20px 20px; }
#app .self-topic-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 20px 14px; }
#app .self-topic-filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
#app .self-topic-filter-tabs .filter-pill { min-height: 30px; }
#app .self-topic-filter-tabs .filter-pill span { margin-left: 4px; color: #709080; font-variant-numeric: tabular-nums; }
#app .self-topic-search input { min-width: 260px; height: 33px; padding: 0 10px; border: 1px solid #d5e3d8; border-radius: 7px; color: var(--text); background: #fff; font-size: 11px; }
#app .self-topic-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
#app .self-topic-table { min-width: 880px; }
#app .self-topic-num { width: 70px; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
#app .self-topic-category { display: inline-flex; padding: 4px 9px; border-radius: 999px; color: #6752a5; background: #f0ecff; font-size: 10px; white-space: nowrap; }
#app .self-topic-title-cell { display: grid; gap: 5px; min-width: 340px; white-space: normal; }
#app .self-topic-title-cell strong { color: var(--ink); font-size: 13px; line-height: 1.5; }
#app .self-topic-title-cell small { color: var(--muted); font-size: 10px; }
#app .self-topic-table tr.is-generating { background: #fffaf1; }
#app .self-topic-footer { display: flex; justify-content: space-between; gap: 12px; padding: 13px 20px 16px; color: var(--muted); font-size: 10px; }
#app .self-topic-empty { padding: 38px 12px; color: var(--muted); font-size: 12px; text-align: center; }
@media (max-width: 1050px) {
  #app .self-topic-candidate-list, #app .self-topic-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #app .self-topic-stat-grid, #app .self-topic-candidate-list, #app .self-topic-rules-grid, #app .self-topic-receipt-grid { grid-template-columns: 1fr; }
  #app .self-topic-toolbar { display: grid; }
  #app .self-topic-search input { width: 100%; min-width: 100%; }
  #app .self-topic-footer { display: grid; }
}

/* 自营平台文章：对应参考后台的源文章选择、多平台勾选和逐条输出操作。 */
#app .self-platform-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-platform-stat-card { min-height: 112px; }
#app .self-platform-stat-card:nth-child(2) .stat-value { color: #2d8a5c; }
#app .self-platform-stat-card:nth-child(3) .stat-value { color: #a8681d; }
#app .self-platform-stat-card:nth-child(4) .stat-value { color: #28789c; }
#app .self-platform-rules-panel, #app .self-platform-generator-panel, #app .self-platform-list-panel { margin-bottom: 18px; }
#app .self-platform-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#app .self-platform-rules-grid > div { display: grid; gap: 5px; min-height: 90px; padding: 13px 14px; border: 1px solid #dcebe0; border-radius: 10px; background: #f9fdf9; }
#app .self-platform-rules-grid strong { color: #275c40; font-size: 13px; }
#app .self-platform-rules-grid span { color: #668273; font-size: 12px; line-height: 1.65; }
#app .self-platform-form-note { color: #72897b; font-size: 12px; font-weight: 700; }
#app .self-platform-form-fields { display: grid; grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(220px, 1fr)); gap: 13px; }
#app .self-platform-form-fields .field { min-width: 0; }
#app .self-platform-viewpoint-help { margin: 12px 0 0; color: #72897b; font-size: 11px; line-height: 1.6; }
#app .self-platform-targets { margin-top: 18px; padding: 15px; border: 1px solid #dcebe0; border-radius: 10px; background: #f9fdf9; }
#app .self-platform-targets-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: #315e43; font-size: 12px; }
#app .self-platform-targets-heading > span { color: #72897b; font-size: 11px; }
#app .self-platform-targets-heading > div { display: flex; flex-wrap: wrap; gap: 7px; margin-left: auto; }
#app .self-platform-checkbox-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
#app .self-platform-checkbox { display: flex; align-items: center; gap: 7px; min-height: 35px; padding: 7px 9px; border: 1px solid #d7e7dc; border-radius: 7px; color: #496c59; background: #fff; font-size: 11px; cursor: pointer; }
#app .self-platform-checkbox:hover { border-color: #8fc3a0; background: #f5faf5; }
#app .self-platform-checkbox input { accent-color: #358e62; }
#app .self-platform-generate-actions { display: flex; justify-content: flex-end; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-platform-list-actions { display: flex; flex-wrap: wrap; gap: 7px; }
#app .self-platform-list { display: grid; gap: 12px; }
#app .self-platform-source-group { overflow: hidden; border: 1px solid #d9e8dc; border-radius: 10px; background: #fbfefc; }
#app .self-platform-source-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding: 15px 17px; border-bottom: 1px solid #e0ece3; background: #f7fcf8; }
#app .self-platform-source-heading > div { display: grid; gap: 5px; min-width: 0; }
#app .self-platform-source-heading strong { color: #244d38; font-size: 14px; line-height: 1.5; }
#app .self-platform-source-heading span { color: #779081; font-size: 11px; }
#app .self-platform-group-viewpoint { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #d8e9dc; border-radius: 5px; color: #52725e !important; background: #fff; }
#app .self-platform-rows { display: grid; }
#app .self-platform-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 13px 17px; border-bottom: 1px solid #e9f1eb; }
#app .self-platform-row:last-child { border-bottom: 0; }
#app .self-platform-row:hover { background: #fbfffc; }
#app .self-platform-row-copy { display: grid; gap: 4px; min-width: 0; }
#app .self-platform-row-copy strong { color: #244d38; font-size: 12px; }
#app .self-platform-row-copy span { overflow: hidden; color: #779081; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#app .self-platform-row-copy small { color: #2e7954; font-size: 10px; }
#app .self-platform-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
#app .self-platform-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; color: #718879; font-size: 11px; }
#app .self-platform-empty { display: grid; gap: 6px; place-items: center; min-height: 160px; color: #718b7c; text-align: center; }
#app .self-platform-empty strong { color: #315e43; font-size: 14px; }
#app .self-platform-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .38); }
#app .self-platform-modal { position: relative; width: min(880px, 100%); max-height: min(88vh, 820px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .self-platform-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .self-platform-modal h2 { max-width: calc(100% - 42px); margin: 6px 0 15px; color: #214b35; font-size: 24px; line-height: 1.4; }
#app .self-platform-preview-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #648172; font-size: 11px; }
#app .self-platform-preview-meta span { padding: 4px 7px; border: 1px solid #d8e9dc; border-radius: 5px; background: #f7fcf8; }
#app .self-platform-preview-content { margin-top: 17px; padding: 16px; border: 1px solid #e0ece3; border-radius: 9px; color: #466a54; background: #fbfefc; font-size: 14px; line-height: 1.85; }
#app .self-platform-preview-content h3, #app .self-platform-preview-content h4 { margin: 9px 0; color: #275c40; }
#app .self-platform-preview-content h3 { font-size: 18px; }
#app .self-platform-preview-content h4 { font-size: 14px; }
#app .self-platform-preview-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
#app .self-platform-preview-facts > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #d8e8dc; border-radius: 8px; background: #f8fbf8; }
#app .self-platform-preview-facts span { color: #72897b; font-size: 10px; }
#app .self-platform-preview-facts strong { color: #315e43; font-size: 11px; line-height: 1.5; }
#app .self-platform-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
@media (max-width: 1050px) {
  #app .self-platform-form-fields { grid-template-columns: 1fr 1fr; }
  #app .self-platform-form-fields .field:first-child { grid-column: 1 / -1; }
  #app .self-platform-checkbox-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .self-platform-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #app .self-platform-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-platform-form-fields, #app .self-platform-rules-grid, #app .self-platform-preview-facts { grid-template-columns: 1fr; }
  #app .self-platform-form-fields .field:first-child { grid-column: auto; }
  #app .self-platform-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-platform-targets-heading, #app .self-platform-footer { align-items: flex-start; flex-direction: column; }
  #app .self-platform-targets-heading > div { margin-left: 0; }
  #app .self-platform-row { grid-template-columns: 1fr; }
  #app .self-platform-row-actions { justify-content: flex-start; }
  #app .self-platform-source-heading { display: grid; }
}

/* 自营城市稿：城市草稿列表、排期参数和本地推送回执。 */
#app .self-city-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-city-stat-card { min-height: 112px; }
#app .self-city-stat-card:nth-child(2) .stat-value { color: #a8681d; }
#app .self-city-stat-card:nth-child(3) .stat-value { color: #b55543; }
#app .self-city-stat-card:nth-child(4) .stat-value { color: #28789c; }
#app .self-city-rules-panel, #app .self-city-batch-panel, #app .self-city-list-panel, #app .self-city-schedule-panel, #app .self-city-log-panel { margin-bottom: 18px; }
#app .self-city-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#app .self-city-rules-grid > div { display: grid; gap: 5px; min-height: 90px; padding: 13px 14px; border: 1px solid #dcebe0; border-radius: 10px; background: #f9fdf9; }
#app .self-city-rules-grid strong { color: #275c40; font-size: 13px; }
#app .self-city-rules-grid span { color: #668273; font-size: 12px; line-height: 1.65; }
#app .self-city-form-note { color: #72897b; font-size: 12px; font-weight: 700; }
#app .self-city-batch-fields { display: grid; grid-template-columns: minmax(260px, 1.3fr) minmax(260px, 1fr); gap: 13px; }
#app .self-city-batch-actions { display: flex; justify-content: flex-end; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-city-task-status { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 11px 13px; border: 1px solid #f2d6a9; border-radius: 8px; color: #83530e; background: #fff9ed; font-size: 12px; }
#app .self-city-toolbar { display: flex; align-items: center; gap: 14px; padding: 0 0 14px; border-bottom: 1px solid #e0ece3; }
#app .self-city-select-all { display: flex; align-items: center; gap: 7px; color: #496c59; font-size: 11px; font-weight: 800; white-space: nowrap; }
#app .self-city-select-all input, #app .self-city-row > input, #app .self-city-shuffle input { accent-color: #358e62; }
#app .self-city-filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
#app .self-city-search { display: flex; min-width: min(260px, 100%); margin-left: auto; }
#app .self-city-search input { width: 100%; min-height: 34px; padding: 8px 11px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .self-city-list { display: grid; gap: 7px; padding-top: 15px; }
#app .self-city-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid #d9e8dc; border-radius: 8px; background: #fbfefc; cursor: pointer; }
#app .self-city-row:hover { border-color: #8fc3a0; background: #f7fcf8; }
#app .self-city-row.is-published { background: #f8fdf9; }
#app .self-city-row.is-scheduled { border-color: #cddff0; background: #f7fbff; }
#app .self-city-row-copy { display: grid; gap: 5px; min-width: 0; }
#app .self-city-row-copy strong { overflow: hidden; color: #244d38; font-size: 12px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
#app .self-city-row-copy span { color: #779081; font-size: 10px; }
#app .self-city-view-button { justify-self: end; }
#app .self-city-list-footer, #app .self-city-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; color: #718879; font-size: 11px; }
#app .self-city-schedule-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)) minmax(160px, 1fr); gap: 13px; align-items: end; }
#app .self-city-shuffle { display: flex; align-items: center; gap: 8px; min-height: 38px; color: #496c59; font-size: 12px; font-weight: 700; }
#app .self-city-selection-summary { color: #668273; font-size: 12px; }
#app .self-city-selection-summary strong { color: #275c40; }
#app .self-city-schedule-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-city-log { display: grid; gap: 7px; }
#app .self-city-log-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e0ece3; border-radius: 8px; color: #496c59; background: #fbfefc; font-size: 11px; }
#app .self-city-log-row small { color: #779081; }
#app .self-city-empty { display: grid; gap: 6px; place-items: center; min-height: 120px; color: #718b7c; text-align: center; }
#app .self-city-empty strong { color: #315e43; font-size: 14px; }
#app .self-city-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .38); }
#app .self-city-modal { position: relative; width: min(820px, 100%); max-height: min(88vh, 760px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .self-city-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .self-city-modal h2 { max-width: calc(100% - 42px); margin: 6px 0 15px; color: #214b35; font-size: 23px; line-height: 1.4; }
#app .self-city-preview-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #648172; font-size: 11px; }
#app .self-city-preview-meta span { padding: 4px 7px; border: 1px solid #d8e9dc; border-radius: 5px; background: #f7fcf8; }
#app .self-city-preview-content { margin-top: 17px; padding: 16px; border: 1px solid #e0ece3; border-radius: 9px; color: #466a54; background: #fbfefc; font-size: 14px; line-height: 1.85; }
#app .self-city-preview-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
#app .self-city-preview-facts > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #d8e8dc; border-radius: 8px; background: #f8fbf8; }
#app .self-city-preview-facts span { color: #72897b; font-size: 10px; }
#app .self-city-preview-facts strong { color: #315e43; font-size: 11px; line-height: 1.5; }
#app .self-city-modal-actions { display: flex; justify-content: flex-end; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
@media (max-width: 1050px) {
  #app .self-city-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-city-toolbar { flex-wrap: wrap; }
  #app .self-city-search { min-width: 220px; }
}
@media (max-width: 700px) {
  #app .self-city-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-city-rules-grid, #app .self-city-batch-fields, #app .self-city-schedule-fields, #app .self-city-preview-facts { grid-template-columns: 1fr; }
  #app .self-city-toolbar { display: grid; }
  #app .self-city-search { width: 100%; min-width: 100%; margin-left: 0; }
  #app .self-city-row { grid-template-columns: 18px minmax(0, 1fr); }
  #app .self-city-view-button { grid-column: 2; justify-self: start; }
  #app .self-city-list-footer { display: grid; }
  #app .self-city-log-row { grid-template-columns: 1fr auto; }
  #app .self-city-log-row small { grid-column: 1; }
  #app .self-city-log-row button { grid-column: 2; grid-row: 1 / span 2; }
}

/* 城市稿发布 2.0：统一内容工作台蓝靛色，并让多城市稿件以双列承载。 */
#app:has(.self-city-stat-grid) {
  --self-city-ink: #182338;
  --self-city-text: #30415f;
  --self-city-muted: #71809b;
  --self-city-line: #d9e2ef;
  --self-city-blue: #315bea;
  --self-city-blue-dark: #2447c3;
  --self-city-soft: #f5f8ff;
}
#app:has(.self-city-stat-grid) .page-heading { margin-bottom: 22px; }
#app:has(.self-city-stat-grid) .page-heading h1 { color: var(--self-city-ink); font-size: clamp(25px, 2vw, 32px); letter-spacing: -.02em; }
#app:has(.self-city-stat-grid) .page-heading p { max-width: 760px; color: var(--self-city-muted); font-size: 13px; line-height: 1.7; }
#app:has(.self-city-stat-grid) .page-heading .page-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#app:has(.self-city-stat-grid) .self-city-stat-grid { gap: 16px; margin-bottom: 20px; }
#app:has(.self-city-stat-grid) .self-city-stat-card { min-height: 122px; border: 1px solid var(--self-city-line); border-top: 3px solid var(--self-city-blue); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(39, 67, 118, .06); }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(2) { border-top-color: #a46b22; }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(3) { border-top-color: #c5544f; }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(4) { border-top-color: #248aa2; }
#app:has(.self-city-stat-grid) .self-city-stat-card .stat-top { color: var(--self-city-muted); font-size: 13px; font-weight: 750; }
#app:has(.self-city-stat-grid) .self-city-stat-card .stat-value { margin-top: 10px; color: var(--self-city-ink); font-size: 30px; line-height: 1; }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(2) .stat-value { color: #a46b22; }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(3) .stat-value { color: #bd504c; }
#app:has(.self-city-stat-grid) .self-city-stat-card:nth-child(4) .stat-value { color: #24829b; }
#app:has(.self-city-stat-grid) .self-city-stat-card .stat-meta { color: var(--self-city-muted); font-size: 12px; }
#app:has(.self-city-stat-grid) .self-city-stat-card .stat-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dbe5ff; border-radius: 9px; color: var(--self-city-blue); background: #f2f5ff; font-size: 14px; }
#app:has(.self-city-stat-grid) .self-city-rules-panel,
#app:has(.self-city-stat-grid) .self-city-batch-panel,
#app:has(.self-city-stat-grid) .self-city-list-panel,
#app:has(.self-city-stat-grid) .self-city-schedule-panel,
#app:has(.self-city-stat-grid) .self-city-log-panel { margin-bottom: 20px; border: 1px solid var(--self-city-line); border-top: 3px solid var(--self-city-blue); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(39, 67, 118, .045); }
#app:has(.self-city-stat-grid) .self-city-rules-panel { border-top-color: #7658df; }
#app:has(.self-city-stat-grid) .self-city-schedule-panel { border-top-color: #248aa2; }
#app:has(.self-city-stat-grid) .self-city-log-panel { border-top-color: #71809b; }
#app:has(.self-city-stat-grid) .panel-header { gap: 18px; padding: 20px 22px 15px; }
#app:has(.self-city-stat-grid) .panel-header h3 { color: var(--self-city-ink); font-size: 17px; line-height: 1.45; }
#app:has(.self-city-stat-grid) .panel-header p { max-width: 780px; color: var(--self-city-muted); font-size: 13px; line-height: 1.65; }
#app:has(.self-city-stat-grid) .self-city-rules-grid { gap: 12px; padding: 0 22px 22px; }
#app:has(.self-city-stat-grid) .self-city-rules-grid > div { min-height: 104px; padding: 15px; border: 1px solid #dbe4f2; border-radius: 11px; background: #f8faff; }
#app:has(.self-city-stat-grid) .self-city-rules-grid strong { color: var(--self-city-text); font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-rules-grid span { color: var(--self-city-muted); font-size: 12px; line-height: 1.7; }
#app:has(.self-city-stat-grid) .self-city-form-note { padding: 5px 9px; border: 1px solid #cfe0ff; border-radius: 999px; color: var(--self-city-blue-dark); background: #f1f5ff; font-size: 12px; white-space: nowrap; }
#app:has(.self-city-stat-grid) .self-city-batch-fields { padding: 0 22px; gap: 16px; }
#app:has(.self-city-stat-grid) .self-city-batch-fields .field > span,
#app:has(.self-city-stat-grid) .self-city-schedule-fields .field > span { color: var(--self-city-text); font-size: 13px; font-weight: 750; }
#app:has(.self-city-stat-grid) .self-city-batch-fields input,
#app:has(.self-city-stat-grid) .self-city-batch-fields select,
#app:has(.self-city-stat-grid) .self-city-schedule-fields input { min-height: 42px; border: 1px solid #cbd8ea; border-radius: 9px; color: var(--self-city-text); background: #fbfcff; font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-batch-fields input:focus,
#app:has(.self-city-stat-grid) .self-city-batch-fields select:focus,
#app:has(.self-city-stat-grid) .self-city-schedule-fields input:focus,
#app:has(.self-city-stat-grid) .self-city-search input:focus { border-color: var(--self-city-blue); box-shadow: 0 0 0 3px rgba(49, 91, 234, .12); outline: none; }
#app:has(.self-city-stat-grid) .self-city-batch-actions { margin: 20px 22px 0; padding: 15px 0 22px; border-top: 1px solid #e5eaf2; }
#app:has(.self-city-stat-grid) .self-city-task-status { margin: 0 0 20px; padding: 13px 16px; border: 1px solid #c9dcff; border-radius: 10px; color: #35589e; background: #f3f7ff; font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-toolbar { margin: 0 22px; padding: 0 0 14px; border-bottom: 1px solid #e5eaf2; }
#app:has(.self-city-stat-grid) .self-city-select-all { color: var(--self-city-text); font-size: 12px; }
#app:has(.self-city-stat-grid) .self-city-select-all input,
#app:has(.self-city-stat-grid) .self-city-row > input,
#app:has(.self-city-stat-grid) .self-city-shuffle input { accent-color: var(--self-city-blue); }
#app:has(.self-city-stat-grid) .self-city-filter-tabs { gap: 6px; }
#app:has(.self-city-stat-grid) .self-city-filter-tabs .filter-pill { min-height: 33px; padding: 6px 11px; border: 1px solid #d5dfed; border-radius: 8px; color: var(--self-city-muted); background: #fff; font-size: 12px; font-weight: 700; }
#app:has(.self-city-stat-grid) .self-city-filter-tabs .filter-pill.active { border-color: #b9caff; color: var(--self-city-blue-dark); background: #eef3ff; }
#app:has(.self-city-stat-grid) .self-city-search { min-width: min(300px, 100%); }
#app:has(.self-city-stat-grid) .self-city-search input { min-height: 37px; padding: 8px 12px; border: 1px solid #cbd8ea; border-radius: 9px; color: var(--self-city-text); background: #fbfcff; font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px 22px 0; }
#app:has(.self-city-stat-grid) .self-city-row { min-width: 0; min-height: 74px; padding: 12px 13px; border: 1px solid #dbe4f0; border-radius: 10px; background: #fbfcff; }
#app:has(.self-city-stat-grid) .self-city-row:hover { border-color: #a9bdf5; background: #f5f8ff; box-shadow: 0 5px 14px rgba(49, 91, 234, .08); }
#app:has(.self-city-stat-grid) .self-city-row:has(> input:checked) { border-color: #8fa9f2; background: #f0f4ff; }
#app:has(.self-city-stat-grid) .self-city-row.is-scheduled { border-color: #b8dce3; background: #f3fbfc; }
#app:has(.self-city-stat-grid) .self-city-row-copy { gap: 6px; }
#app:has(.self-city-stat-grid) .self-city-row-copy strong { color: var(--self-city-text); font-size: 13px; line-height: 1.45; }
#app:has(.self-city-stat-grid) .self-city-row-copy span { color: var(--self-city-muted); font-size: 11px; line-height: 1.45; }
#app:has(.self-city-stat-grid) .self-city-view-button { min-height: 32px; padding: 6px 10px; color: var(--self-city-blue-dark); }
#app:has(.self-city-stat-grid) .self-city-list-footer,
#app:has(.self-city-stat-grid) .self-city-footer { margin: 0 22px; padding: 15px 0 20px; color: var(--self-city-muted); font-size: 12px; }
#app:has(.self-city-stat-grid) .self-city-schedule-fields { padding: 0 22px; gap: 16px; }
#app:has(.self-city-stat-grid) .self-city-shuffle { min-height: 42px; color: var(--self-city-text); font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-selection-summary { padding: 8px 11px; border: 1px solid #d5e0f3; border-radius: 8px; color: var(--self-city-muted); background: #f7f9fd; font-size: 12px; }
#app:has(.self-city-stat-grid) .self-city-selection-summary strong { color: var(--self-city-blue-dark); }
#app:has(.self-city-stat-grid) .self-city-schedule-actions { margin: 20px 22px 0; padding: 15px 0 22px; border-top: 1px solid #e5eaf2; }
#app:has(.self-city-stat-grid) .self-city-log { gap: 8px; padding: 0 22px 22px; }
#app:has(.self-city-stat-grid) .self-city-log-row { min-height: 48px; padding: 10px 13px; border: 1px solid #dbe4f0; border-radius: 9px; color: var(--self-city-text); background: #fbfcff; font-size: 12px; }
#app:has(.self-city-stat-grid) .self-city-log-row small { color: var(--self-city-muted); font-size: 11px; }
#app:has(.self-city-stat-grid) .self-city-empty { min-height: 140px; grid-column: 1 / -1; color: var(--self-city-muted); font-size: 13px; }
#app:has(.self-city-stat-grid) .self-city-empty strong { color: var(--self-city-text); font-size: 15px; }
#app:has(.self-city-stat-grid) .self-city-modal-overlay { background: rgba(15, 29, 59, .48); }
#app:has(.self-city-stat-grid) .self-city-modal { border: 1px solid #d2dced; border-radius: 16px; box-shadow: 0 24px 80px rgba(15, 35, 80, .24); }
#app:has(.self-city-stat-grid) .self-city-modal-close { border-color: #d5dfed; color: #536580; background: #f5f8fd; }
#app:has(.self-city-stat-grid) .self-city-modal h2 { color: var(--self-city-ink); }
#app:has(.self-city-stat-grid) .self-city-preview-meta span,
#app:has(.self-city-stat-grid) .self-city-preview-facts > div { border-color: #dbe4f0; background: #f7f9fd; }
#app:has(.self-city-stat-grid) .self-city-preview-content { border-color: #dbe4f0; color: var(--self-city-text); background: #fbfcff; }
#app:has(.self-city-stat-grid) .self-city-preview-facts strong { color: var(--self-city-text); }
@media (max-width: 900px) {
  #app:has(.self-city-stat-grid) .self-city-list { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #app:has(.self-city-stat-grid) .panel-header { padding: 17px 16px 13px; }
  #app:has(.self-city-stat-grid) .self-city-rules-grid,
  #app:has(.self-city-stat-grid) .self-city-batch-fields,
  #app:has(.self-city-stat-grid) .self-city-schedule-fields { padding-left: 16px; padding-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-batch-actions,
  #app:has(.self-city-stat-grid) .self-city-schedule-actions { margin-left: 16px; margin-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-toolbar { margin-left: 16px; margin-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-list { padding-left: 16px; padding-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-list-footer,
  #app:has(.self-city-stat-grid) .self-city-footer { margin-left: 16px; margin-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-log { padding-left: 16px; padding-right: 16px; }
  #app:has(.self-city-stat-grid) .self-city-row { grid-template-columns: 18px minmax(0, 1fr); }
  #app:has(.self-city-stat-grid) .self-city-view-button { grid-column: 2; justify-self: start; }
}

/* 自营口播与短视频：选题、生成、预览和数据看板本地闭环。 */
#app .self-video-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .self-video-stat-card { min-height: 112px; }
#app .self-video-stat-card:nth-child(2) .stat-value { color: #2a7b59; }
#app .self-video-stat-card:nth-child(3) .stat-value { color: #a8681d; }
#app .self-video-stat-card:nth-child(4) .stat-value { color: #28789c; }
#app .self-video-rules-panel, #app .self-video-generator-panel, #app .self-video-pains-panel, #app .self-video-list-panel { margin-bottom: 18px; }
#app .self-video-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#app .self-video-rules-grid > div { display: grid; gap: 5px; min-height: 90px; padding: 13px 14px; border: 1px solid #dcebe0; border-radius: 10px; background: #f9fdf9; }
#app .self-video-rules-grid strong { color: #275c40; font-size: 13px; }
#app .self-video-rules-grid span { color: #668273; font-size: 12px; line-height: 1.65; }
#app .self-video-top-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); gap: 14px; margin-bottom: 18px; }
#app .self-video-today-panel, #app .self-video-custom-panel { min-width: 0; }
#app .self-video-today-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
#app .self-video-today-facts > span { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #dcebe0; border-radius: 8px; color: #718879; background: #f9fdf9; font-size: 11px; }
#app .self-video-today-facts strong { color: #315e43; font-size: 13px; }
#app .self-video-rule-chip { align-self: flex-start; padding: 5px 8px; border: 1px solid #cae0d0; border-radius: 999px; color: #2e7750; background: #eef9f1; font-size: 11px; font-weight: 800; white-space: nowrap; }
#app .self-video-hook-note { margin: 10px 0 0; padding: 9px 11px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 12px; line-height: 1.65; }
#app .self-video-action-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-video-generator-panel .panel-header p { max-width: 880px; }
#app .self-video-mode-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; padding-bottom: 13px; border-bottom: 1px solid #e0ece3; }
#app .self-video-input-panel { display: grid; gap: 13px; }
#app .self-video-input-panel > .button { justify-self: start; }
#app .self-video-upload-zone { position: relative; display: grid; place-items: center; gap: 5px; min-height: 142px; padding: 22px; border: 1px dashed #9dc6aa; border-radius: 11px; color: #396b4d; background: #f7fcf8; text-align: center; cursor: pointer; }
#app .self-video-upload-zone:hover { border-color: #4b9b68; background: #eef9f1; }
#app .self-video-upload-zone > span { font-size: 28px; }
#app .self-video-upload-zone strong { font-size: 14px; }
#app .self-video-upload-zone small { color: #789181; font-size: 11px; }
#app .self-video-upload-zone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
#app .self-video-count { display: block; margin-top: 6px; color: #7b9082; font-size: 11px; text-align: right; }
#app .self-video-pipeline { display: flex; flex-wrap: wrap; gap: 6px; }
#app .self-video-pain-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#app .self-video-pain-card { overflow: hidden; border: 1px solid #dcebe0; border-radius: 10px; background: #fbfefc; }
#app .self-video-pain-card.is-expanded { border-color: #9ccbab; box-shadow: 0 7px 18px rgba(39, 101, 62, .08); }
#app .self-video-pain-head { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; width: 100%; padding: 12px; border: 0; color: #315e43; background: transparent; text-align: left; cursor: pointer; }
#app .self-video-pain-head:hover { background: #f2faf4; }
#app .self-video-pain-head > span { font-size: 13px; font-weight: 800; }
#app .self-video-pain-head > strong { color: #6b8574; font-size: 10px; white-space: nowrap; }
#app .self-video-pain-head > small { grid-column: 1 / -1; color: #7b9082; font-size: 11px; line-height: 1.5; }
#app .self-video-pain-body { display: grid; gap: 10px; padding: 0 12px 12px; }
#app .self-video-pain-body p { margin: 0; color: #668273; font-size: 11px; }
#app .self-video-pain-body > div { display: flex; flex-wrap: wrap; gap: 7px; }
#app .self-video-pain-body > small { color: #789181; font-size: 10px; line-height: 1.6; }
#app .self-video-list { display: grid; gap: 8px; }
#app .self-video-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; padding: 12px 13px; border: 1px solid #d9e8dc; border-radius: 9px; background: #fbfefc; }
#app .self-video-row:hover { border-color: #8fc3a0; background: #f7fcf8; }
#app .self-video-row-copy { display: grid; gap: 6px; min-width: 0; }
#app .self-video-row-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
#app .self-video-row-title strong { color: #244d38; font-size: 13px; line-height: 1.5; }
#app .self-video-row-title span, #app .self-video-row-meta, #app .self-video-row-copy small { color: #779081; font-size: 10px; line-height: 1.5; }
#app .self-video-row-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; }
#app .self-video-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
#app .self-video-cover-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding-top: 9px; border-top: 1px solid #e3eee6; color: #789181; font-size: 10px; }
#app .self-video-cover-actions button { padding: 0; border: 0; color: #397151; background: transparent; font-size: 10px; cursor: pointer; }
#app .self-video-cover-actions button:hover { color: #1e5435; text-decoration: underline; }
#app .self-video-list-note { color: #718879; font-size: 11px; }
#app .self-video-task-status { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 11px 13px; border: 1px solid #f2d6a9; border-radius: 8px; color: #83530e; background: #fff9ed; font-size: 12px; }
#app .self-video-empty, #app .self-video-data-empty { display: grid; gap: 6px; place-items: center; min-height: 110px; color: #718b7c; text-align: center; }
#app .self-video-empty strong { color: #315e43; font-size: 14px; }
#app .self-video-modal-overlay { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .42); }
#app .self-video-modal { position: relative; width: min(860px, 100%); max-height: min(88vh, 780px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .self-video-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .self-video-modal h2 { max-width: calc(100% - 42px); margin: 6px 0 15px; color: #214b35; font-size: 23px; line-height: 1.4; }
#app .self-video-preview-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #648172; font-size: 11px; }
#app .self-video-preview-meta span { padding: 4px 7px; border: 1px solid #d8e9dc; border-radius: 5px; background: #f7fcf8; }
#app .self-video-preview-content { margin-top: 17px; padding: 16px; border: 1px solid #e0ece3; border-radius: 9px; color: #466a54; background: #fbfefc; font-size: 14px; line-height: 1.85; }
#app .self-video-preview-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
#app .self-video-preview-facts > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #d8e8dc; border-radius: 8px; background: #f8fbf8; }
#app .self-video-preview-facts span { color: #72897b; font-size: 10px; }
#app .self-video-preview-facts strong { color: #315e43; font-size: 11px; line-height: 1.5; }
#app .self-video-modal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-video-data-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 15px; }
#app .self-video-data-summary > span { padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; color: #668273; background: #f9fdf9; font-size: 11px; }
#app .self-video-data-summary strong { display: block; margin-top: 4px; color: #275c40; font-size: 16px; }
#app .self-video-data-list { display: grid; gap: 6px; max-height: 220px; overflow: auto; }
#app .self-video-data-row { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 10px; padding: 9px 11px; border: 1px solid #e0ece3; border-radius: 7px; color: #668273; background: #fbfefc; font-size: 11px; }
#app .self-video-data-row strong { color: #315e43; }
#app .self-video-data-form { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .self-video-data-form h3 { margin: 0 0 12px; color: #315e43; font-size: 14px; }
#app .self-video-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }

@media (max-width: 1050px) {
  #app .self-video-top-grid { grid-template-columns: 1fr; }
  #app .self-video-pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-video-row-actions { justify-content: flex-start; }
}
@media (max-width: 700px) {
  #app .self-video-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .self-video-rules-grid, #app .self-video-today-facts, #app .self-video-preview-facts, #app .self-video-data-summary, #app .self-video-metric-grid { grid-template-columns: 1fr; }
  #app .self-video-pain-grid { grid-template-columns: 1fr; }
  #app .self-video-row { grid-template-columns: 1fr; }
  #app .self-video-row-actions { justify-content: flex-start; }
  #app .self-video-data-row { grid-template-columns: 1fr; gap: 3px; }
}

/* 口播与短视频 2.0：把选题、生成、处理与数据回收统一为蓝靛色工作台。 */
#app:has(.self-video-stat-grid) {
  --self-video-ink: #182338;
  --self-video-text: #30415f;
  --self-video-muted: #71809b;
  --self-video-line: #d9e2ef;
  --self-video-blue: #315bea;
  --self-video-blue-dark: #2447c3;
  --self-video-soft: #f5f8ff;
}
#app:has(.self-video-stat-grid) .page-heading { margin-bottom: 22px; }
#app:has(.self-video-stat-grid) .page-heading h1 { color: var(--self-video-ink); font-size: clamp(25px, 2vw, 32px); letter-spacing: -.02em; }
#app:has(.self-video-stat-grid) .page-heading p { max-width: 780px; color: var(--self-video-muted); font-size: 13px; line-height: 1.7; }
#app:has(.self-video-stat-grid) .page-heading .page-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#app:has(.self-video-stat-grid) .self-video-stat-grid { gap: 16px; margin-bottom: 20px; }
#app:has(.self-video-stat-grid) .self-video-stat-card { min-height: 122px; border: 1px solid var(--self-video-line); border-top: 3px solid var(--self-video-blue); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(39, 67, 118, .06); }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(2) { border-top-color: #1f9b82; }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(3) { border-top-color: #c4872c; }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(4) { border-top-color: #7658df; }
#app:has(.self-video-stat-grid) .self-video-stat-card .stat-top { color: var(--self-video-muted); font-size: 13px; font-weight: 750; }
#app:has(.self-video-stat-grid) .self-video-stat-card .stat-value { margin-top: 10px; color: var(--self-video-ink); font-size: 30px; line-height: 1; }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(2) .stat-value { color: #1b8c76; }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(3) .stat-value { color: #aa6f1f; }
#app:has(.self-video-stat-grid) .self-video-stat-card:nth-child(4) .stat-value { color: #6b50ca; }
#app:has(.self-video-stat-grid) .self-video-stat-card .stat-meta { color: var(--self-video-muted); font-size: 12px; }
#app:has(.self-video-stat-grid) .self-video-stat-card .stat-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dbe5ff; border-radius: 9px; color: var(--self-video-blue); background: #f2f5ff; font-size: 14px; }
#app:has(.self-video-stat-grid) .self-video-rules-panel,
#app:has(.self-video-stat-grid) .self-video-today-panel,
#app:has(.self-video-stat-grid) .self-video-custom-panel,
#app:has(.self-video-stat-grid) .self-video-generator-panel,
#app:has(.self-video-stat-grid) .self-video-pains-panel,
#app:has(.self-video-stat-grid) .self-video-list-panel { margin-bottom: 20px; border: 1px solid var(--self-video-line); border-top: 3px solid var(--self-video-blue); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(39, 67, 118, .045); }
#app:has(.self-video-stat-grid) .self-video-rules-panel { border-top-color: #7658df; }
#app:has(.self-video-stat-grid) .self-video-generator-panel { border-top-color: #1f9b82; }
#app:has(.self-video-stat-grid) .self-video-pains-panel { border-top-color: #c4872c; }
#app:has(.self-video-stat-grid) .self-video-list-panel { border-top-color: #71809b; }
#app:has(.self-video-stat-grid) .self-video-top-grid { gap: 16px; margin-bottom: 20px; }
#app:has(.self-video-stat-grid) .panel-header { gap: 18px; padding: 20px 22px 15px; }
#app:has(.self-video-stat-grid) .panel-header h2,
#app:has(.self-video-stat-grid) .panel-header h3 { color: var(--self-video-ink); font-size: 17px; line-height: 1.45; }
#app:has(.self-video-stat-grid) .panel-header p { max-width: 900px; color: var(--self-video-muted); font-size: 13px; line-height: 1.65; }
#app:has(.self-video-stat-grid) .self-video-rules-grid { gap: 12px; padding: 0 22px 22px; }
#app:has(.self-video-stat-grid) .self-video-rules-grid > div { min-height: 104px; padding: 15px; border: 1px solid #dbe4f2; border-radius: 11px; background: #f8faff; }
#app:has(.self-video-stat-grid) .self-video-rules-grid strong { color: var(--self-video-text); font-size: 13px; }
#app:has(.self-video-stat-grid) .self-video-rules-grid span { color: var(--self-video-muted); font-size: 12px; line-height: 1.7; }
#app:has(.self-video-stat-grid) .self-video-rule-chip { padding: 5px 10px; border: 1px solid #c9d6ff; border-radius: 999px; color: var(--self-video-blue-dark); background: #f0f4ff; font-size: 12px; font-weight: 800; white-space: nowrap; }
#app:has(.self-video-stat-grid) .self-video-today-panel .panel-header,
#app:has(.self-video-stat-grid) .self-video-custom-panel .panel-header { min-height: 91px; }
#app:has(.self-video-stat-grid) .self-video-today-panel > .field,
#app:has(.self-video-stat-grid) .self-video-custom-panel > .field { margin: 0 22px; }
#app:has(.self-video-stat-grid) .self-video-today-facts { gap: 10px; margin: 0 22px 15px; }
#app:has(.self-video-stat-grid) .self-video-today-facts > span { min-height: 62px; padding: 11px 13px; border: 1px solid #dbe4f2; border-radius: 9px; color: var(--self-video-muted); background: #f8faff; font-size: 12px; }
#app:has(.self-video-stat-grid) .self-video-today-facts strong { color: var(--self-video-text); font-size: 14px; }
#app:has(.self-video-stat-grid) .self-video-hook-note { margin: 14px 22px 0; padding: 10px 12px; border-left: 3px solid var(--self-video-blue); color: var(--self-video-muted); background: #f5f8ff; font-size: 12px; line-height: 1.7; }
#app:has(.self-video-stat-grid) .self-video-action-row { margin: 20px 22px 0; padding: 15px 0 22px; border-top: 1px solid #e5eaf2; }
#app:has(.self-video-stat-grid) .self-video-custom-panel > .button { margin: 20px 22px 22px; }
#app:has(.self-video-stat-grid) .self-video-generator-panel .panel-header p { max-width: 950px; }
#app:has(.self-video-stat-grid) .self-video-mode-tabs { gap: 6px; margin: 0 22px 16px; padding-bottom: 14px; border-bottom: 1px solid #e5eaf2; }
#app:has(.self-video-stat-grid) .self-video-mode-tabs .filter-pill { min-height: 35px; padding: 7px 13px; border: 1px solid #d5dfed; border-radius: 8px; color: var(--self-video-muted); background: #fff; font-size: 12px; font-weight: 750; }
#app:has(.self-video-stat-grid) .self-video-mode-tabs .filter-pill.active { border-color: #b9caff; color: var(--self-video-blue-dark); background: #eef3ff; }
#app:has(.self-video-stat-grid) .self-video-input-panel { gap: 15px; padding: 0 22px 22px; }
#app:has(.self-video-stat-grid) .self-video-input-panel > .button { justify-self: start; }
#app:has(.self-video-stat-grid) .self-video-input-panel .field > span { color: var(--self-video-text); font-size: 13px; font-weight: 750; }
#app:has(.self-video-stat-grid) .self-video-input-panel input,
#app:has(.self-video-stat-grid) .self-video-input-panel textarea,
#app:has(.self-video-stat-grid) .self-video-pain-body input,
#app:has(.self-video-stat-grid) .self-video-today-panel input,
#app:has(.self-video-stat-grid) .self-video-custom-panel input { border: 1px solid #cbd8ea; border-radius: 9px; color: var(--self-video-text); background: #fbfcff; font-size: 13px; }
#app:has(.self-video-stat-grid) .self-video-input-panel input:focus,
#app:has(.self-video-stat-grid) .self-video-input-panel textarea:focus,
#app:has(.self-video-stat-grid) .self-video-pain-body input:focus,
#app:has(.self-video-stat-grid) .self-video-today-panel input:focus,
#app:has(.self-video-stat-grid) .self-video-custom-panel input:focus { border-color: var(--self-video-blue); box-shadow: 0 0 0 3px rgba(49, 91, 234, .12); outline: none; }
#app:has(.self-video-stat-grid) .self-video-upload-zone { min-height: 154px; padding: 24px; border: 1px dashed #9eb6ef; border-radius: 11px; color: var(--self-video-blue-dark); background: #f6f8ff; }
#app:has(.self-video-stat-grid) .self-video-upload-zone:hover { border-color: var(--self-video-blue); background: #eef3ff; }
#app:has(.self-video-stat-grid) .self-video-upload-zone strong { font-size: 15px; }
#app:has(.self-video-stat-grid) .self-video-upload-zone small,
#app:has(.self-video-stat-grid) .self-video-count { color: var(--self-video-muted); font-size: 12px; }
#app:has(.self-video-stat-grid) .self-video-pains-panel .panel-header { padding-bottom: 14px; }
#app:has(.self-video-stat-grid) .self-video-pain-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 22px 22px; }
#app:has(.self-video-stat-grid) .self-video-pain-card { border: 1px solid #dbe4f2; border-radius: 10px; background: #fbfcff; }
#app:has(.self-video-stat-grid) .self-video-pain-card.is-expanded { border-color: #9eb3ef; box-shadow: 0 7px 18px rgba(49, 91, 234, .09); }
#app:has(.self-video-stat-grid) .self-video-pain-head { min-height: 82px; padding: 13px; color: var(--self-video-text); }
#app:has(.self-video-stat-grid) .self-video-pain-head:hover { background: #f4f7ff; }
#app:has(.self-video-stat-grid) .self-video-pain-head > span { font-size: 14px; }
#app:has(.self-video-stat-grid) .self-video-pain-head > strong { color: var(--self-video-blue-dark); font-size: 11px; }
#app:has(.self-video-stat-grid) .self-video-pain-head > small { color: var(--self-video-muted); font-size: 11px; line-height: 1.55; }
#app:has(.self-video-stat-grid) .self-video-pain-body { padding: 0 13px 13px; }
#app:has(.self-video-stat-grid) .self-video-pain-body p,
#app:has(.self-video-stat-grid) .self-video-pain-body > small { color: var(--self-video-muted); font-size: 11px; line-height: 1.6; }
#app:has(.self-video-stat-grid) .self-video-list-panel .panel-header { align-items: flex-start; }
#app:has(.self-video-stat-grid) .self-video-list { gap: 10px; padding: 0 22px 22px; }
#app:has(.self-video-stat-grid) .self-video-row { grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr); gap: 10px 18px; padding: 15px; border: 1px solid #dbe4f0; border-radius: 11px; background: #fbfcff; }
#app:has(.self-video-stat-grid) .self-video-row:hover { border-color: #a9bdf5; background: #f5f8ff; box-shadow: 0 5px 14px rgba(49, 91, 234, .07); }
#app:has(.self-video-stat-grid) .self-video-row-copy { gap: 7px; }
#app:has(.self-video-stat-grid) .self-video-row-title { gap: 7px 10px; }
#app:has(.self-video-stat-grid) .self-video-row-title strong { color: var(--self-video-text); font-size: 14px; line-height: 1.5; }
#app:has(.self-video-stat-grid) .self-video-row-title span,
#app:has(.self-video-stat-grid) .self-video-row-meta,
#app:has(.self-video-stat-grid) .self-video-row-copy small { color: var(--self-video-muted); font-size: 12px; line-height: 1.55; }
#app:has(.self-video-stat-grid) .self-video-row-meta { gap: 7px 14px; }
#app:has(.self-video-stat-grid) .self-video-row-actions { align-content: start; gap: 7px; }
#app:has(.self-video-stat-grid) .self-video-row-actions .button { min-height: 34px; }
#app:has(.self-video-stat-grid) .self-video-cover-actions { padding-top: 11px; border-top-color: #e5eaf2; color: var(--self-video-muted); font-size: 11px; }
#app:has(.self-video-stat-grid) .self-video-cover-actions button { color: var(--self-video-blue-dark); font-size: 11px; }
#app:has(.self-video-stat-grid) .self-video-list-note { padding: 5px 9px; border: 1px solid #d5dfed; border-radius: 999px; color: var(--self-video-muted); background: #f7f9fd; font-size: 12px; white-space: nowrap; }
#app:has(.self-video-stat-grid) .self-video-task-status { margin: 0 0 20px; padding: 13px 16px; border: 1px solid #c9dcff; border-radius: 10px; color: #35589e; background: #f3f7ff; font-size: 13px; }
#app:has(.self-video-stat-grid) .self-video-empty,
#app:has(.self-video-stat-grid) .self-video-data-empty { min-height: 150px; color: var(--self-video-muted); font-size: 13px; }
#app:has(.self-video-stat-grid) .self-video-empty strong { color: var(--self-video-text); font-size: 15px; }
#app:has(.self-video-stat-grid) .self-video-modal-overlay { background: rgba(15, 29, 59, .48); }
#app:has(.self-video-stat-grid) .self-video-modal { border: 1px solid #d2dced; border-radius: 16px; box-shadow: 0 24px 80px rgba(15, 35, 80, .24); }
#app:has(.self-video-stat-grid) .self-video-modal-close { border-color: #d5dfed; color: #536580; background: #f5f8fd; }
#app:has(.self-video-stat-grid) .self-video-modal h2 { color: var(--self-video-ink); }
#app:has(.self-video-stat-grid) .self-video-preview-meta span,
#app:has(.self-video-stat-grid) .self-video-data-summary > span,
#app:has(.self-video-stat-grid) .self-video-preview-facts > div,
#app:has(.self-video-stat-grid) .self-video-data-row { border-color: #dbe4f0; background: #f7f9fd; }
#app:has(.self-video-stat-grid) .self-video-preview-content { border-color: #dbe4f0; color: var(--self-video-text); background: #fbfcff; }
#app:has(.self-video-stat-grid) .self-video-data-summary strong,
#app:has(.self-video-stat-grid) .self-video-preview-facts strong,
#app:has(.self-video-stat-grid) .self-video-data-row strong { color: var(--self-video-text); }
#app:has(.self-video-stat-grid) .self-video-metric-grid { gap: 12px; }
@media (max-width: 1100px) {
  #app:has(.self-video-stat-grid) .self-video-pain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  #app:has(.self-video-stat-grid) .self-video-top-grid { grid-template-columns: 1fr; }
  #app:has(.self-video-stat-grid) .self-video-row { grid-template-columns: 1fr; }
  #app:has(.self-video-stat-grid) .self-video-row-actions { justify-content: flex-start; }
}
@media (max-width: 700px) {
  #app:has(.self-video-stat-grid) .panel-header { padding: 17px 16px 13px; }
  #app:has(.self-video-stat-grid) .self-video-rules-grid,
  #app:has(.self-video-stat-grid) .self-video-pain-grid,
  #app:has(.self-video-stat-grid) .self-video-mode-tabs,
  #app:has(.self-video-stat-grid) .self-video-input-panel,
  #app:has(.self-video-stat-grid) .self-video-list { padding-left: 16px; padding-right: 16px; }
  #app:has(.self-video-stat-grid) .self-video-today-panel > .field,
  #app:has(.self-video-stat-grid) .self-video-custom-panel > .field,
  #app:has(.self-video-stat-grid) .self-video-today-facts,
  #app:has(.self-video-stat-grid) .self-video-hook-note { margin-left: 16px; margin-right: 16px; }
  #app:has(.self-video-stat-grid) .self-video-action-row,
  #app:has(.self-video-stat-grid) .self-video-custom-panel > .button { margin-left: 16px; margin-right: 16px; }
  #app:has(.self-video-stat-grid) .self-video-pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  #app:has(.self-video-stat-grid) .self-video-pain-grid { grid-template-columns: 1fr; }
}

/* 平台运营：任务与告警监控、处理和规则配置。 */
#app .admin-ops-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .admin-ops-stat-card { min-height: 112px; }
#app .admin-ops-stat-2 .stat-value { color: #7b6bb6; }
#app .admin-ops-stat-3 .stat-value { color: #b45443; }
#app .admin-ops-stat-4 .stat-value { color: #bd762b; }
#app .admin-ops-stat-5 .stat-value { color: #28789c; }
#app .admin-ops-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 18px; padding: 4px; border: 1px solid #d6e3da; border-radius: 10px; background: #f3f8f4; }
#app .admin-ops-tabs button { padding: 9px 14px; border: 0; border-radius: 7px; color: #5a7565; background: transparent; font-size: 12px; font-weight: 800; cursor: pointer; }
#app .admin-ops-tabs button:hover { color: #235a3d; background: #e6f3e9; }
#app .admin-ops-tabs button.active { color: #fff; background: #367e56; box-shadow: 0 4px 10px rgba(49, 107, 70, .17); }
#app .admin-ops-tabs button span { display: inline-block; min-width: 18px; margin-left: 4px; padding: 2px 5px; border-radius: 999px; color: #4a7358; background: #dceee0; font-size: 10px; }
#app .admin-ops-tabs button.active span { color: #2f6d4a; background: #eaf8ee; }
#app .admin-ops-queue-control { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid #cfe5d4; border-radius: 10px; background: #f3fbf5; }
#app .admin-ops-queue-control > div:first-child { display: grid; grid-template-columns: 10px auto; gap: 2px 8px; align-items: center; }
#app .admin-ops-queue-control strong { color: #275c40; font-size: 13px; }
#app .admin-ops-queue-control small { grid-column: 2; color: #6b8574; font-size: 11px; }
#app .admin-ops-control-signal { width: 9px; height: 9px; border-radius: 50%; background: #47a469; box-shadow: 0 0 0 4px rgba(71, 164, 105, .15); }
#app .admin-ops-control-signal.is-paused { background: #c37b2a; box-shadow: 0 0 0 4px rgba(195, 123, 42, .15); }
#app .admin-ops-control-actions, #app .admin-ops-header-actions, #app .admin-ops-row-actions, #app .admin-ops-modal-actions, #app .admin-ops-config-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
#app .admin-ops-table-panel, #app .admin-ops-alert-preview { margin-bottom: 18px; }
#app .admin-ops-result-count { color: #6e8878; font-size: 11px; white-space: nowrap; }
#app .admin-ops-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(135px, 170px)); gap: 9px; padding: 0 18px 14px; }
#app .admin-ops-search { position: relative; display: flex; min-width: 0; }
#app .admin-ops-search input, #app .admin-ops-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .admin-ops-select { display: grid; gap: 4px; }
#app .admin-ops-select span { color: #718879; font-size: 10px; font-weight: 800; }
#app .admin-ops-table-wrap { overflow-x: auto; }
#app .admin-ops-table { min-width: 980px; }
#app .admin-ops-table th { color: #3f624f; background: #f0f7f2; font-size: 11px; }
#app .admin-ops-table td { color: #486c57; font-size: 11px; vertical-align: middle; }
#app .admin-ops-task-title, #app .admin-ops-scope, #app .admin-ops-progress-cell { display: grid; gap: 4px; min-width: 0; }
#app .admin-ops-task-title strong, #app .admin-ops-scope strong { overflow: hidden; color: #244936; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#app .admin-ops-task-title small, #app .admin-ops-scope small, #app .admin-ops-progress-cell small { color: #789181; font-size: 10px; }
#app .admin-ops-progress-cell i { display: block; width: 90px; height: 6px; overflow: hidden; border-radius: 999px; background: #e2eee5; }
#app .admin-ops-progress-cell i b { display: block; height: 100%; border-radius: inherit; background: #69a77a; }
#app .admin-ops-next { display: block; max-width: 150px; color: #557765; line-height: 1.45; }
#app .admin-ops-alert-list { display: grid; padding: 0 14px 14px; }
#app .admin-ops-alert-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px 8px; border: 0; border-top: 1px solid #e4eee7; color: #496d58; background: transparent; text-align: left; cursor: pointer; }
#app .admin-ops-alert-item:hover { background: #f6fbf7; }
#app .admin-ops-alert-item > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
#app .admin-ops-alert-item strong { overflow: hidden; color: #2d5b41; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#app .admin-ops-alert-item small { overflow: hidden; color: #779081; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#app .admin-ops-alert-item time { color: #87998d; font-size: 10px; white-space: nowrap; }
#app .admin-ops-alert-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; font-size: 13px; font-weight: 900; }
#app .admin-ops-alert-red { color: #a54f3e; background: #fdebe6; }
#app .admin-ops-alert-orange { color: #a26821; background: #fff3de; }
#app .admin-ops-alert-gray { color: #647c6c; background: #e8f0ea; }
#app .admin-ops-alert-blue { color: #327a91; background: #e5f5f7; }
#app .admin-ops-empty { display: grid; gap: 5px; place-items: center; min-height: 125px; color: #789181; text-align: center; }
#app .admin-ops-empty strong { color: #315e43; font-size: 14px; }
#app .admin-ops-config-layout { align-items: start; }
#app .admin-ops-config-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
#app .admin-ops-config-fields .field small { color: #789181; font-size: 10px; }
#app .admin-ops-toggle-field { display: flex; align-items: center; gap: 9px; min-height: 40px; color: #315e43; }
#app .admin-ops-toggle-field input, #app .admin-ops-toggle input { accent-color: #39825a; }
#app .admin-ops-toggle-field span { display: grid; gap: 3px; }
#app .admin-ops-toggle-field strong { font-size: 12px; }
#app .admin-ops-toggle-field small { color: #789181; font-size: 10px; }
#app .admin-ops-config-actions { justify-content: flex-end; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e1ece4; }
#app .admin-ops-rule-list { display: grid; gap: 9px; }
#app .admin-ops-rule-card { padding: 12px; border: 1px solid #dcebe0; border-radius: 9px; background: #fbfefc; }
#app .admin-ops-rule-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
#app .admin-ops-toggle { display: flex; align-items: center; gap: 8px; color: #2d5b41; font-size: 12px; cursor: pointer; }
#app .admin-ops-rule-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 7px 0 10px 24px; color: #789181; font-size: 10px; }
#app .admin-ops-rule-fields { display: grid; grid-template-columns: 120px minmax(0, 1fr) 165px; gap: 9px; margin-left: 24px; }
#app .admin-ops-rule-actions { display: flex; align-items: center; gap: 9px; margin: 10px 0 0 24px; }
#app .admin-ops-rule-actions span { color: #8a9b8f; font-size: 10px; }
#app .admin-ops-footer { display: flex; justify-content: space-between; gap: 12px; padding: 0 2px 18px; color: #789181; font-size: 10px; }
#app .admin-ops-modal-overlay { position: fixed; z-index: 95; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .42); }
#app .admin-ops-modal { position: relative; width: min(700px, 100%); max-height: min(88vh, 760px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .admin-ops-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .admin-ops-modal h2 { max-width: calc(100% - 40px); margin: 6px 0 13px; color: #214b35; font-size: 22px; line-height: 1.45; }
#app .admin-ops-modal-status { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #789181; font-size: 11px; }
#app .admin-ops-progress { height: 8px; margin: 16px 0; overflow: hidden; border-radius: 999px; background: #e2eee5; }
#app .admin-ops-progress i { display: block; height: 100%; border-radius: inherit; background: #69a77a; }
#app .admin-ops-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
#app .admin-ops-detail-grid > div { display: grid; gap: 4px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; background: #f9fdf9; }
#app .admin-ops-detail-grid span { color: #789181; font-size: 10px; }
#app .admin-ops-detail-grid strong { color: #315e43; font-size: 11px; line-height: 1.5; }
#app .admin-ops-detail-note { display: grid; gap: 5px; margin-top: 12px; padding: 13px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 12px; line-height: 1.6; }
#app .admin-ops-detail-note strong { color: #315e43; }
#app .admin-ops-detail-note small { color: #789181; }
#app .admin-ops-modal-actions { justify-content: flex-end; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
@media (max-width: 1100px) {
  #app .admin-ops-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .admin-ops-toolbar { grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(120px, 1fr)); }
}
@media (max-width: 800px) {
  #app .admin-ops-toolbar { grid-template-columns: 1fr 1fr; }
  #app .admin-ops-search { grid-column: 1 / -1; }
  #app .admin-ops-config-layout { grid-template-columns: 1fr; }
  #app .admin-ops-rule-fields { grid-template-columns: 1fr 1fr; }
  #app .admin-ops-rule-fields .field:nth-child(2) { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  #app .admin-ops-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .admin-ops-queue-control, #app .admin-ops-footer { align-items: flex-start; flex-direction: column; }
  #app .admin-ops-config-fields, #app .admin-ops-rule-fields, #app .admin-ops-detail-grid { grid-template-columns: 1fr; }
  #app .admin-ops-rule-meta, #app .admin-ops-rule-fields, #app .admin-ops-rule-actions { margin-left: 0; }
  #app .admin-ops-rule-fields .field:nth-child(2) { grid-column: auto; }
  #app .admin-ops-alert-item { grid-template-columns: 28px minmax(0, 1fr); }
  #app .admin-ops-alert-item time { grid-column: 2; }
}

/* 组织与规则：企业管理、订阅配置与企业工作台账号关联。 */
#app .tenant-admin-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .tenant-admin-stat-card { min-height: 112px; }
#app .tenant-admin-stat-green .stat-value { color: #3b9560; }
#app .tenant-admin-stat-blue .stat-value { color: #397fa0; }
#app .tenant-admin-stat-orange .stat-value { color: #bd762b; }
#app .tenant-admin-stat-purple .stat-value { color: #7565ae; }
#app .tenant-admin-tabs { display: flex; gap: 4px; margin-bottom: 18px; padding: 4px; border: 1px solid #d7e3db; border-radius: 10px; background: #f3f8f4; }
#app .tenant-admin-tabs button { padding: 9px 15px; border: 0; border-radius: 7px; color: #5e7868; background: transparent; font-size: 12px; font-weight: 800; cursor: pointer; }
#app .tenant-admin-tabs button:hover { color: #245b3d; background: #e7f3e9; }
#app .tenant-admin-tabs button.active { color: #fff; background: #367e56; box-shadow: 0 4px 10px rgba(49, 107, 70, .17); }
#app .tenant-admin-tabs button span { display: inline-block; min-width: 20px; margin-left: 4px; padding: 2px 6px; border-radius: 999px; color: #4a7358; background: #dceee0; font-size: 10px; }
#app .tenant-admin-tabs button.active span { color: #2f6d4a; background: #eaf8ee; }
#app .tenant-admin-list-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .85fr); gap: 16px; align-items: start; }
#app .tenant-admin-table-panel { min-width: 0; }
#app .tenant-admin-result-count { color: #6e8878; font-size: 11px; white-space: nowrap; }
#app .tenant-admin-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(120px, 150px)) auto; gap: 8px; padding: 0 18px 14px; }
#app .tenant-admin-search { position: relative; display: flex; min-width: 0; }
#app .tenant-admin-search input, #app .tenant-admin-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .tenant-admin-search i { position: absolute; top: 8px; right: 10px; color: #6f8f7a; font-style: normal; }
#app .tenant-admin-select { display: grid; gap: 4px; color: #73907d; font-size: 10px; font-weight: 800; }
#app .tenant-admin-table-wrap { overflow-x: auto; }
#app .tenant-admin-table { min-width: 980px; }
#app .tenant-admin-table tr.is-selected td { background: #f3fbf5; }
#app .tenant-admin-name-button { display: grid; gap: 3px; padding: 0; border: 0; color: #2a6242; background: transparent; text-align: left; cursor: pointer; }
#app .tenant-admin-name-button:hover strong { color: #2054a7; text-decoration: underline; }
#app .tenant-admin-name-button strong { font-size: 12px; }
#app .tenant-admin-name-button small, #app .tenant-admin-account-cell small, #app .tenant-admin-balance + small { color: #789181; font-size: 10px; }
#app .tenant-admin-stack { display: grid; gap: 4px; justify-items: start; }
#app .tenant-admin-account-cell { display: grid; gap: 3px; min-width: 140px; }
#app .tenant-admin-account-cell strong { color: #315e43; font-size: 11px; }
#app .tenant-admin-balance { display: block; color: #315e43; font-size: 12px; }
#app .tenant-admin-mini-progress { display: inline-block; width: 68px; height: 6px; margin-right: 5px; overflow: hidden; vertical-align: middle; border-radius: 999px; background: #e5efe7; }
#app .tenant-admin-mini-progress i { display: block; height: 100%; border-radius: inherit; background: #64a875; }
#app .tenant-admin-row-actions { display: flex; flex-wrap: wrap; gap: 5px; }
#app .tenant-admin-table-footer, #app .tenant-admin-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 16px; color: #789181; font-size: 10px; }
#app .tenant-admin-selected { position: sticky; top: 18px; }
#app .tenant-admin-kicker { color: #6c9279; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
#app .tenant-admin-selected h2, #app .tenant-admin-config-head h2 { margin: 5px 0 4px; color: #214b35; font-size: 22px; }
#app .tenant-admin-selected p, #app .tenant-admin-config-head p { margin: 0; color: #789181; font-size: 11px; line-height: 1.6; }
#app .tenant-admin-selected-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
#app .tenant-admin-selected-metrics > div, #app .tenant-admin-account-summary > div { display: grid; gap: 4px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; background: #f9fdf9; }
#app .tenant-admin-selected-metrics span, #app .tenant-admin-account-summary span { color: #789181; font-size: 10px; }
#app .tenant-admin-selected-metrics strong, #app .tenant-admin-account-summary strong { color: #315e43; font-size: 12px; overflow-wrap: anywhere; }
#app .tenant-admin-selected-metrics small, #app .tenant-admin-account-summary small { color: #84998b; font-size: 10px; }
#app .tenant-admin-account-summary { display: grid; gap: 7px; margin-top: 9px; }
#app .tenant-admin-health-note { display: grid; gap: 5px; margin-top: 12px; padding: 11px 12px; border-left: 3px solid #e0a548; color: #6d826f; background: #fff9ed; font-size: 11px; line-height: 1.55; }
#app .tenant-admin-health-note strong { color: #805d22; }
#app .tenant-admin-section-label { margin: 16px 0 8px; color: #5c8069; font-size: 11px; font-weight: 800; }
#app .tenant-admin-connector-list { display: grid; gap: 7px; }
#app .tenant-admin-connector-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid #e2ece5; border-radius: 8px; background: #fbfefc; }
#app .tenant-admin-connector-line span, #app .tenant-admin-connector-card > div:first-child { display: grid; gap: 3px; }
#app .tenant-admin-connector-line strong, #app .tenant-admin-connector-card strong { color: #315e43; font-size: 11px; }
#app .tenant-admin-connector-line small, #app .tenant-admin-connector-card small { color: #789181; font-size: 10px; }
#app .tenant-admin-selected-actions, #app .tenant-admin-config-head-actions, #app .tenant-admin-account-actions, #app .tenant-admin-danger-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
#app .tenant-admin-selected-actions { margin-top: 16px; }
#app .tenant-admin-config-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; margin-bottom: 17px; }
#app .tenant-admin-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
#app .tenant-admin-config-panel { min-width: 0; }
#app .tenant-admin-config-note { color: #6f8e7a; font-size: 10px; }
#app .tenant-admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
#app .tenant-admin-field-wide { grid-column: 1 / -1; }
#app .tenant-admin-form-grid .field { min-width: 0; }
#app .tenant-admin-form-grid input, #app .tenant-admin-form-grid select, #app .tenant-admin-form-grid textarea { width: 100%; box-sizing: border-box; }
#app .tenant-admin-feature-list { display: grid; gap: 7px; margin-top: 14px; }
#app .tenant-admin-feature { display: flex; gap: 9px; align-items: flex-start; padding: 9px 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; cursor: pointer; }
#app .tenant-admin-feature input { margin-top: 3px; accent-color: #4d9c65; }
#app .tenant-admin-feature span { display: grid; gap: 3px; }
#app .tenant-admin-feature strong { color: #315e43; font-size: 11px; }
#app .tenant-admin-feature small { color: #789181; font-size: 10px; }
#app .tenant-admin-account-panel { grid-column: 1 / -1; }
#app .tenant-admin-account-link-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; align-items: end; }
#app .tenant-admin-account-link-grid > div { display: grid; gap: 4px; min-height: 58px; padding: 9px 10px; border: 1px solid #dcebe0; border-radius: 8px; background: #f8fcf9; }
#app .tenant-admin-account-link-grid > div span { color: #789181; font-size: 10px; }
#app .tenant-admin-account-link-grid > div strong { color: #315e43; font-size: 12px; overflow-wrap: anywhere; }
#app .tenant-admin-account-link-grid > div small { color: #84998b; font-size: 10px; }
#app .tenant-admin-account-actions { justify-content: space-between; margin: 13px 0 10px; color: #789181; font-size: 10px; }
#app .tenant-admin-account-table-wrap { overflow-x: auto; }
#app .tenant-admin-account-table { min-width: 620px; }
#app .tenant-admin-account-table td strong, #app .tenant-admin-account-table td small { display: block; }
#app .tenant-admin-account-table td small { margin-top: 3px; color: #6d9279; font-size: 10px; }
#app .tenant-admin-connector-grid { display: grid; gap: 8px; }
#app .tenant-admin-connector-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .tenant-admin-connector-status { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
#app .tenant-admin-danger-zone { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: 15px; padding: 13px 15px; border: 1px solid #ecd9d0; border-radius: 10px; background: #fffaf7; }
#app .tenant-admin-danger-zone > div:first-child { display: grid; gap: 4px; }
#app .tenant-admin-danger-zone strong { color: #8c4c3b; font-size: 12px; }
#app .tenant-admin-danger-zone span { color: #92766d; font-size: 10px; }
#app .tenant-admin-modal-overlay { position: fixed; z-index: 96; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .42); }
#app .tenant-admin-modal { position: relative; width: min(620px, 100%); max-height: min(88vh, 760px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .tenant-admin-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .tenant-admin-modal h2 { margin: 6px 0 10px; color: #214b35; font-size: 22px; }
#app .tenant-admin-modal-copy { margin: 0 0 15px; color: #789181; font-size: 11px; line-height: 1.65; }
#app .tenant-admin-support-note { margin-top: 12px; padding: 10px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; }
#app .tenant-admin-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .tenant-admin-empty { display: grid; gap: 5px; padding: 25px; color: #789181; text-align: center; }
#app .tenant-admin-empty strong { color: #315e43; font-size: 12px; }
#app .tenant-admin-empty span { font-size: 11px; }
@media (max-width: 1180px) {
  #app .tenant-admin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .tenant-admin-list-layout { grid-template-columns: 1fr; }
  #app .tenant-admin-selected { position: static; }
}
@media (max-width: 800px) {
  #app .tenant-admin-toolbar { grid-template-columns: 1fr 1fr; }
  #app .tenant-admin-search { grid-column: 1 / -1; }
  #app .tenant-admin-config-grid { grid-template-columns: 1fr; }
  #app .tenant-admin-account-panel { grid-column: auto; }
  #app .tenant-admin-account-link-grid { grid-template-columns: 1fr 1fr; }
  #app .tenant-admin-account-link-grid > div { grid-column: 1 / -1; }
  #app .tenant-admin-config-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  #app .tenant-admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .tenant-admin-form-grid, #app .tenant-admin-account-link-grid { grid-template-columns: 1fr; }
  #app .tenant-admin-account-link-grid > div { grid-column: auto; }
  #app .tenant-admin-selected-metrics { grid-template-columns: 1fr; }
  #app .tenant-admin-toolbar, #app .tenant-admin-footer, #app .tenant-admin-table-footer, #app .tenant-admin-danger-zone { align-items: flex-start; flex-direction: column; }
  #app .tenant-admin-toolbar { display: flex; flex-direction: column; }
  #app .tenant-admin-search, #app .tenant-admin-select { width: 100%; }
  #app .tenant-admin-account-actions { align-items: flex-start; flex-direction: column; }
}

/* 组织与规则：规则中心、版本生命周期和企业工作台账号生效范围。 */
#app .rules-center-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .rules-center-stat-card { min-height: 112px; }
#app .rules-center-stat-green .stat-value { color: #3b9560; }
#app .rules-center-stat-blue .stat-value { color: #397fa0; }
#app .rules-center-stat-purple .stat-value { color: #7565ae; }
#app .rules-center-stat-orange .stat-value { color: #bd762b; }
#app .rules-center-layout { display: grid; grid-template-columns: minmax(390px, .92fr) minmax(0, 1.65fr); gap: 16px; align-items: start; }
#app .rules-center-registry, #app .rules-center-detail { min-width: 0; }
#app .rules-center-detail { display: grid; gap: 16px; }
#app .rules-center-result-count, #app .rules-center-config-note, #app .rules-center-muted { color: #789181; font-size: 10px; }
#app .rules-center-toolbar { display: grid; grid-template-columns: minmax(170px, 1fr) 120px 120px auto; gap: 8px; padding: 0 18px 14px; }
#app .rules-center-search { position: relative; display: flex; min-width: 0; }
#app .rules-center-search input, #app .rules-center-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .rules-center-search i { position: absolute; top: 8px; right: 10px; color: #6f8f7a; font-style: normal; }
#app .rules-center-select { display: grid; gap: 4px; color: #73907d; font-size: 10px; font-weight: 800; }
#app .rules-center-table-wrap { overflow-x: auto; }
#app .rules-center-package-table { min-width: 760px; }
#app .rules-center-package-table tr.is-selected td { background: #f3fbf5; }
#app .rules-center-name-button { display: grid; gap: 3px; padding: 0; border: 0; color: #2a6242; background: transparent; text-align: left; cursor: pointer; }
#app .rules-center-name-button:hover strong { color: #2054a7; text-decoration: underline; }
#app .rules-center-name-button strong { font-size: 12px; }
#app .rules-center-name-button small, #app .rules-center-package-table td small, #app .rules-center-binding-table td small { display: block; margin-top: 3px; color: #789181; font-size: 10px; }
#app .rules-center-bound-cell { display: grid; gap: 2px; color: #315e43; font-size: 11px; }
#app .rules-center-registry-foot, #app .rules-center-footer, #app .rules-center-binding-foot { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 16px; color: #789181; font-size: 10px; }
#app .rules-center-detail-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; }
#app .rules-center-kicker { color: #6c9279; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
#app .rules-center-detail-head h2 { margin: 5px 0 4px; color: #214b35; font-size: 22px; }
#app .rules-center-detail-head p { max-width: 700px; margin: 0; color: #789181; font-size: 11px; line-height: 1.65; }
#app .rules-center-detail-actions, #app .rules-center-row-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
#app .rules-center-config-grid, #app .rules-center-lower-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
#app .rules-center-panel { min-width: 0; }
#app .rules-center-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
#app .rules-center-form-grid .field { min-width: 0; }
#app .rules-center-form-grid input, #app .rules-center-form-grid select, #app .rules-center-form-grid textarea { width: 100%; box-sizing: border-box; }
#app .rules-center-field-wide { grid-column: 1 / -1; }
#app .rules-center-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#app .rules-center-check-field { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; cursor: pointer; }
#app .rules-center-check-field input { margin-top: 3px; accent-color: #4d9c65; }
#app .rules-center-check-field span { display: grid; gap: 3px; }
#app .rules-center-check-field strong { color: #315e43; font-size: 11px; }
#app .rules-center-check-field small, #app .rules-center-form-grid .field-help { color: #789181; font-size: 10px; line-height: 1.5; }
#app .rules-center-binding-panel { grid-column: 1 / -1; }
#app .rules-center-scope-note { display: flex; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; line-height: 1.55; }
#app .rules-center-scope-note strong { color: #315e43; white-space: nowrap; }
#app .rules-center-binding-table { min-width: 960px; }
#app .rules-center-binding-table td strong { color: #315e43; font-size: 11px; }
#app .rules-center-binding-foot { padding: 12px 0 0; }
#app .rules-center-version-table { min-width: 780px; }
#app .rules-center-audit-table { min-width: 560px; }
#app .rules-center-empty { display: grid; gap: 5px; padding: 25px; color: #789181; text-align: center; }
#app .rules-center-empty strong { color: #315e43; font-size: 12px; }
#app .rules-center-empty span { font-size: 11px; line-height: 1.55; }
#app .rules-center-modal-overlay { position: fixed; z-index: 96; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .42); }
#app .rules-center-modal { position: relative; width: min(680px, 100%); max-height: min(88vh, 760px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .rules-center-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .rules-center-modal h2 { margin: 6px 0 10px; color: #214b35; font-size: 22px; }
#app .rules-center-modal-copy { margin: 0 0 15px; color: #789181; font-size: 11px; line-height: 1.65; }
#app .rules-center-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .rules-center-modal-note { margin-top: 12px; padding: 10px; border-left: 3px solid #e0a548; color: #805d22; background: #fff9ed; font-size: 11px; line-height: 1.55; }
#app .rules-center-account-preview { display: grid; grid-column: 1 / -1; gap: 3px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; color: #6e8878; background: #f8fcf9; font-size: 11px; }
#app .rules-center-account-preview strong { color: #315e43; }
@media (max-width: 1250px) {
  #app .rules-center-layout { grid-template-columns: 1fr; }
  #app .rules-center-detail-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 1100px) {
  #app .rules-center-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .rules-center-toolbar { grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(120px, 1fr)) auto; }
}
@media (max-width: 800px) {
  #app .rules-center-toolbar { grid-template-columns: 1fr 1fr; }
  #app .rules-center-search { grid-column: 1 / -1; }
  #app .rules-center-config-grid, #app .rules-center-lower-grid { grid-template-columns: 1fr; }
  #app .rules-center-binding-panel { grid-column: auto; }
  #app .rules-center-detail-actions { width: 100%; }
}
@media (max-width: 600px) {
  #app .rules-center-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .rules-center-form-grid, #app .rules-center-check-grid { grid-template-columns: 1fr; }
  #app .rules-center-field-wide, #app .rules-center-account-preview { grid-column: auto; }
  #app .rules-center-toolbar, #app .rules-center-registry-foot, #app .rules-center-footer, #app .rules-center-binding-foot { align-items: flex-start; flex-direction: column; }
  #app .rules-center-toolbar { display: flex; }
  #app .rules-center-search, #app .rules-center-select { width: 100%; }
  #app .rules-center-scope-note { align-items: flex-start; flex-direction: column; }
}

/* 组织与规则：平台成员身份、客户企业支持范围和审计链路。 */
#app .platform-member-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .platform-member-stat-card { min-height: 112px; }
#app .platform-member-stat-green .stat-value { color: #3b9560; }
#app .platform-member-stat-orange .stat-value { color: #bd762b; }
#app .platform-member-stat-purple .stat-value { color: #7565ae; }
#app .platform-member-list-layout { display: grid; grid-template-columns: minmax(450px, 1.7fr) minmax(310px, .85fr); gap: 16px; align-items: start; }
#app .platform-member-table-panel, #app .platform-member-selected, #app .platform-member-config-panel, #app .platform-member-support-panel, #app .platform-member-audit-panel { min-width: 0; }
#app .platform-member-result-count, #app .platform-member-muted { color: #789181; font-size: 10px; }
#app .platform-member-toolbar { display: grid; grid-template-columns: minmax(210px, 1fr) 145px 125px auto; gap: 8px; padding: 0 18px 14px; }
#app .platform-member-search { position: relative; display: flex; min-width: 0; }
#app .platform-member-search input, #app .platform-member-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .platform-member-search i { position: absolute; top: 8px; right: 10px; color: #6f8f7a; font-style: normal; }
#app .platform-member-select { display: grid; gap: 4px; color: #73907d; font-size: 10px; font-weight: 800; }
#app .platform-member-table-wrap, #app .platform-member-scope-table-wrap, #app .platform-member-audit-table-wrap { overflow-x: auto; }
#app .platform-member-table { min-width: 940px; }
#app .platform-member-table tr.is-selected td { background: #f3fbf5; }
#app .platform-member-name-button { display: grid; gap: 3px; padding: 0; border: 0; color: #2a6242; background: transparent; text-align: left; cursor: pointer; }
#app .platform-member-name-button:hover strong { color: #2054a7; text-decoration: underline; }
#app .platform-member-name-button strong { font-size: 12px; }
#app .platform-member-name-button small, #app .platform-member-scope-cell small, #app .platform-member-table td small { display: block; margin-top: 3px; color: #789181; font-size: 10px; }
#app .platform-member-scope-cell { display: grid; gap: 2px; min-width: 145px; }
#app .platform-member-scope-cell strong { color: #315e43; font-size: 11px; }
#app .platform-member-row-actions, #app .platform-member-selected-actions, #app .platform-member-config-head-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
#app .platform-member-table-footer, #app .platform-member-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 16px; color: #789181; font-size: 10px; }
#app .platform-member-selected { position: sticky; top: 18px; }
#app .platform-member-kicker { color: #6c9279; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
#app .platform-member-selected h2, #app .platform-member-config-head h2 { margin: 5px 0 4px; color: #214b35; font-size: 22px; }
#app .platform-member-selected p, #app .platform-member-config-head p { margin: 0; color: #789181; font-size: 11px; line-height: 1.6; }
#app .platform-member-selected-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
#app .platform-member-selected-meta > div { display: grid; gap: 3px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .platform-member-selected-meta span, #app .platform-member-support-explain span, #app .platform-member-support-context span { color: #789181; font-size: 10px; }
#app .platform-member-selected-meta strong { color: #315e43; font-size: 12px; }
#app .platform-member-selected-meta small { color: #789181; font-size: 10px; }
#app .platform-member-boundary-note, #app .platform-member-scope-note { display: flex; gap: 8px; margin-top: 14px; padding: 10px 12px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; line-height: 1.55; }
#app .platform-member-boundary-note strong, #app .platform-member-scope-note strong { color: #315e43; white-space: nowrap; }
#app .platform-member-permission-list { display: grid; gap: 7px; margin-top: 14px; }
#app .platform-member-permission-list-large { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; }
#app .platform-member-permission { display: flex; gap: 7px; align-items: center; padding: 8px 10px; border: 1px solid #e0ebe3; border-radius: 8px; color: #4b7059; background: #fbfefc; font-size: 11px; }
#app .platform-member-permission i { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: #fff; background: #5fa775; font-size: 10px; font-style: normal; }
#app .platform-member-selected-actions { margin-top: 16px; }
#app .platform-member-config-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; margin-bottom: 16px; }
#app .platform-member-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
#app .platform-member-config-panel { min-width: 0; }
#app .platform-member-support-panel, #app .platform-member-audit-panel { grid-column: 1 / -1; }
#app .platform-member-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
#app .platform-member-form-grid .field { min-width: 0; }
#app .platform-member-form-grid input, #app .platform-member-form-grid select, #app .platform-member-form-grid textarea { width: 100%; box-sizing: border-box; }
#app .platform-member-field-wide { grid-column: 1 / -1; }
#app .platform-member-role-note { display: grid; gap: 4px; margin-top: 14px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; background: #f8fcf9; }
#app .platform-member-role-note strong { color: #315e43; font-size: 11px; }
#app .platform-member-role-note span { color: #789181; font-size: 10px; line-height: 1.5; }
#app .platform-member-support-explain { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; }
#app .platform-member-support-explain span { color: #547663; }
#app .platform-member-scope-table { min-width: 1050px; }
#app .platform-member-scope-table td strong, #app .platform-member-audit-table td strong { color: #315e43; font-size: 11px; }
#app .platform-member-audit-table { min-width: 620px; }

/* 平台与账号 */
#app .platform-accounts-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
#app .platform-accounts-stat-card { min-height: 112px; }
#app .platform-accounts-stat-green .stat-value { color: #3b9560; }
#app .platform-accounts-stat-blue .stat-value { color: #3f79b6; }
#app .platform-accounts-stat-purple .stat-value { color: #7565ae; }
#app .platform-accounts-stat-orange .stat-value { color: #bd762b; }
#app .platform-accounts-tabs { display: flex; gap: 7px; margin-bottom: 16px; padding: 5px; border: 1px solid #dfeae2; border-radius: 10px; background: #f7fbf8; overflow-x: auto; }
#app .platform-accounts-tabs button { display: inline-flex; align-items: center; gap: 7px; min-width: max-content; padding: 9px 13px; border: 0; border-radius: 7px; color: #668273; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
#app .platform-accounts-tabs button span { display: inline-grid; min-width: 20px; height: 18px; place-items: center; border-radius: 10px; color: #789181; background: #e9f2eb; font-size: 10px; }
#app .platform-accounts-tabs button.active { color: #245e3d; background: #fff; box-shadow: 0 3px 10px rgba(56, 97, 70, .08); }
#app .platform-accounts-tabs button.active span { color: #fff; background: #5fa775; }
#app .platform-accounts-list-layout { display: grid; grid-template-columns: minmax(560px, 1.65fr) minmax(350px, .9fr); gap: 16px; align-items: start; }
#app .platform-accounts-table-panel, #app .platform-accounts-detail, #app .platform-accounts-health-panel { min-width: 0; }
#app .platform-accounts-result-count, #app .platform-accounts-muted { color: #789181; font-size: 10px; }
#app .platform-accounts-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; padding: 0 18px 14px; }
#app .platform-accounts-account-toolbar { display: grid; grid-template-columns: minmax(190px, 1fr) 110px 110px 140px auto; }
#app .platform-accounts-search { position: relative; display: flex; min-width: 180px; flex: 1; }
#app .platform-accounts-search input, #app .platform-accounts-select select { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #cfdfd4; border-radius: 8px; color: #244e37; background: #fbfefc; font-size: 12px; }
#app .platform-accounts-search i { position: absolute; top: 8px; right: 10px; color: #6f8f7a; font-style: normal; }
#app .platform-accounts-select { display: grid; min-width: 105px; gap: 4px; color: #73907d; font-size: 10px; font-weight: 800; }
#app .platform-accounts-table-wrap { overflow-x: auto; }
#app .platform-accounts-table { min-width: 850px; }
#app .platform-accounts-account-table { min-width: 1060px; }
#app .platform-accounts-health-table { min-width: 930px; }
#app .platform-accounts-table tr.is-selected td { background: #f3fbf5; }
#app .platform-accounts-name-button { display: grid; gap: 3px; padding: 0; border: 0; color: #2a6242; background: transparent; text-align: left; cursor: pointer; }
#app .platform-accounts-name-button:hover strong { color: #2054a7; text-decoration: underline; }
#app .platform-accounts-name-button strong { font-size: 12px; }
#app .platform-accounts-name-button small, #app .platform-accounts-scope-cell small, #app .platform-accounts-table td small { display: block; margin-top: 3px; color: #789181; font-size: 10px; }
#app .platform-accounts-scope-cell { display: grid; gap: 2px; min-width: 140px; }
#app .platform-accounts-scope-cell strong { color: #315e43; font-size: 11px; }
#app .platform-accounts-row-actions, #app .platform-accounts-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
#app .platform-accounts-table-footer, #app .platform-accounts-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 16px; color: #789181; font-size: 10px; }
#app .platform-accounts-selected, #app .platform-accounts-detail { position: sticky; top: 18px; }
#app .platform-accounts-detail { padding: 18px; }
#app .platform-accounts-kicker { color: #6c9279; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
#app .platform-accounts-detail h2 { margin: 5px 0 4px; color: #214b35; font-size: 22px; }
#app .platform-accounts-detail p { margin: 0; color: #789181; font-size: 11px; line-height: 1.6; }
#app .platform-accounts-detail-actions { margin: 16px 0; }
#app .platform-accounts-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
#app .platform-accounts-form-grid .field { min-width: 0; }
#app .platform-accounts-form-grid input, #app .platform-accounts-form-grid select, #app .platform-accounts-form-grid textarea { width: 100%; box-sizing: border-box; }
#app .platform-accounts-form-grid textarea { min-height: 76px; resize: vertical; }
#app .platform-accounts-field-wide { grid-column: 1 / -1; }
#app .platform-accounts-context-grid, #app .platform-accounts-context-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
#app .platform-accounts-context-grid > div, #app .platform-accounts-context-card > div { display: grid; gap: 3px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .platform-accounts-context-grid span, #app .platform-accounts-context-card span { color: #789181; font-size: 10px; }
#app .platform-accounts-context-grid strong, #app .platform-accounts-context-card strong { color: #315e43; font-size: 12px; overflow-wrap: anywhere; }
#app .platform-accounts-context-grid small, #app .platform-accounts-context-card small { color: #789181; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
#app .platform-accounts-boundary-note, #app .platform-accounts-note { display: flex; gap: 8px; margin-top: 14px; padding: 10px 12px; border-left: 3px solid #7ab58d; color: #668273; background: #f7fcf8; font-size: 11px; line-height: 1.55; }
#app .platform-accounts-boundary-note strong, #app .platform-accounts-note strong { color: #315e43; white-space: nowrap; }
#app .platform-accounts-default-check { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; padding: 10px 12px; border: 1px solid #dcebe0; border-radius: 8px; background: #f8fcf9; cursor: pointer; }
#app .platform-accounts-default-check input { margin-top: 2px; accent-color: #5fa775; }
#app .platform-accounts-default-check span { display: grid; gap: 3px; }
#app .platform-accounts-default-check strong { color: #315e43; font-size: 11px; }
#app .platform-accounts-default-check small { color: #789181; font-size: 10px; line-height: 1.45; }
#app .platform-accounts-default-label { color: #7565ae !important; font-weight: 800; }
#app .platform-accounts-section-label { margin-bottom: 8px; color: #668273; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
#app .platform-accounts-linked-list { margin-top: 16px; }
#app .platform-accounts-linked-row { display: flex; justify-content: space-between; gap: 12px; width: 100%; padding: 11px 0; border: 0; border-top: 1px solid #e8f0ea; color: #315e43; background: transparent; text-align: left; cursor: pointer; }
#app .platform-accounts-linked-row span { display: grid; gap: 3px; }
#app .platform-accounts-linked-row strong { font-size: 11px; }
#app .platform-accounts-linked-row small { color: #789181; font-size: 10px; }
#app .platform-accounts-preview { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #dcebe0; border-radius: 8px; color: #668273; background: #f7fcf8; font-size: 10px; line-height: 1.5; }
#app .platform-accounts-preview strong { color: #315e43; font-size: 11px; }
#app .platform-accounts-health-panel { padding: 18px; }
#app .platform-accounts-health-panel > .panel-header { align-items: flex-end; }
#app .platform-accounts-health-panel .platform-accounts-toolbar { margin: 14px -18px 0; padding-top: 14px; border-top: 1px solid #e5eee7; }
#app .platform-accounts-empty { display: grid; gap: 4px; padding: 28px 14px; color: #789181; text-align: center; }
#app .platform-accounts-empty strong { color: #4e735c; font-size: 12px; }
#app .platform-accounts-empty span { font-size: 10px; line-height: 1.5; }
#app .platform-accounts-modal-overlay { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(29, 61, 43, .22); }
#app .platform-accounts-modal { position: relative; width: min(720px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow-y: auto; padding: 24px; border: 1px solid #d7e6da; border-radius: 14px; background: #fff; box-shadow: 0 20px 60px rgba(31, 73, 46, .2); }
#app .platform-accounts-modal-close { position: absolute; top: 13px; right: 15px; width: 28px; height: 28px; border: 0; border-radius: 50%; color: #668273; background: #eef6ef; font-size: 19px; line-height: 1; cursor: pointer; }
#app .platform-accounts-modal h2 { margin: 6px 0; color: #214b35; font-size: 22px; }
#app .platform-accounts-modal-copy { margin: 0 0 18px; color: #789181; font-size: 11px; line-height: 1.6; }
#app .platform-accounts-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
#app .platform-accounts-modal-note { margin-top: 14px; padding: 10px 12px; border-radius: 8px; color: #668273; background: #f7fcf8; font-size: 10px; line-height: 1.5; }
#app .platform-accounts-audit-list { display: grid; gap: 0; max-height: 390px; overflow-y: auto; border-top: 1px solid #e4eee6; }
#app .platform-accounts-audit-list > div { display: grid; grid-template-columns: 86px 80px 1fr; gap: 8px; padding: 11px 0; border-bottom: 1px solid #e4eee6; font-size: 10px; }
#app .platform-accounts-audit-list span { color: #789181; }
#app .platform-accounts-audit-list strong { color: #315e43; }
#app .platform-accounts-audit-list small { color: #668273; line-height: 1.45; }
@media (max-width: 1180px) {
  #app .platform-accounts-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .platform-accounts-list-layout { grid-template-columns: 1fr; }
  #app .platform-accounts-detail { position: static; }
}
@media (max-width: 760px) {
  #app .platform-accounts-stat-grid { grid-template-columns: 1fr; }
  #app .platform-accounts-account-toolbar { display: flex; }
  #app .platform-accounts-toolbar { align-items: stretch; }
  #app .platform-accounts-search { min-width: 100%; }
  #app .platform-accounts-select { flex: 1; }
  #app .platform-accounts-context-grid, #app .platform-accounts-context-card, #app .platform-accounts-form-grid { grid-template-columns: 1fr; }
  #app .platform-accounts-field-wide { grid-column: auto; }
  #app .platform-accounts-table-footer, #app .platform-accounts-footer { align-items: flex-start; flex-direction: column; }
  #app .platform-accounts-modal-overlay { padding: 10px; }
  #app .platform-accounts-modal { padding: 20px 16px; }
  #app .platform-accounts-audit-list > div { grid-template-columns: 1fr; gap: 3px; }
}
#app .platform-member-empty { display: grid; gap: 5px; padding: 25px; color: #789181; text-align: center; }
#app .platform-member-empty strong { color: #315e43; font-size: 12px; }
#app .platform-member-empty span { font-size: 11px; line-height: 1.55; }
#app .platform-member-modal-overlay { position: fixed; z-index: 96; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18, 40, 29, .42); }
#app .platform-member-modal { position: relative; width: min(680px, 100%); max-height: min(88vh, 760px); overflow: auto; padding: 25px; border: 1px solid #cddfd2; border-radius: 15px; background: #fff; box-shadow: 0 22px 70px rgba(20, 64, 39, .24); }
#app .platform-member-modal-close { position: absolute; top: 14px; right: 17px; width: 31px; height: 31px; border: 1px solid #d6e5da; border-radius: 50%; color: #52725e; background: #f7fbf8; font-size: 21px; line-height: 1; cursor: pointer; }
#app .platform-member-modal h2 { margin: 6px 0 10px; color: #214b35; font-size: 22px; }
#app .platform-member-modal-copy { margin: 0 0 15px; color: #789181; font-size: 11px; line-height: 1.65; }
#app .platform-member-modal-note { margin-top: 12px; padding: 10px; border-left: 3px solid #e0a548; color: #805d22; background: #fff9ed; font-size: 11px; line-height: 1.55; }
#app .platform-member-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3eee6; }
#app .platform-member-account-preview { display: grid; grid-column: 1 / -1; gap: 3px; padding: 10px; border: 1px solid #dcebe0; border-radius: 8px; color: #6e8878; background: #f8fcf9; font-size: 11px; }
#app .platform-member-account-preview strong { color: #315e43; }
#app .platform-member-support-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
#app .platform-member-support-context > div { display: grid; gap: 3px; padding: 10px; border: 1px solid #e0ebe3; border-radius: 8px; background: #fbfefc; }
#app .platform-member-support-context strong { color: #315e43; font-size: 11px; }
@media (max-width: 1250px) {
  #app .platform-member-list-layout { grid-template-columns: 1fr; }
  #app .platform-member-selected { position: static; }
}
@media (max-width: 1100px) {
  #app .platform-member-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .platform-member-toolbar { grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(120px, 1fr)) auto; }
}
@media (max-width: 800px) {
  #app .platform-member-toolbar { grid-template-columns: 1fr 1fr; }
  #app .platform-member-search { grid-column: 1 / -1; }
  #app .platform-member-config-grid { grid-template-columns: 1fr; }
  #app .platform-member-support-panel, #app .platform-member-audit-panel { grid-column: auto; }
  #app .platform-member-config-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  #app .platform-member-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .platform-member-form-grid, #app .platform-member-permission-list-large, #app .platform-member-support-context { grid-template-columns: 1fr; }
  #app .platform-member-field-wide, #app .platform-member-account-preview { grid-column: auto; }
  #app .platform-member-toolbar, #app .platform-member-footer, #app .platform-member-table-footer { align-items: flex-start; flex-direction: column; }
  #app .platform-member-toolbar { display: flex; }
  #app .platform-member-search, #app .platform-member-select { width: 100%; }
  #app .platform-member-selected-meta { grid-template-columns: 1fr; }
  #app .platform-member-support-explain { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* The prototype mounts into .app-shell (there is no #app root). Keep this
   final compatibility layer explicit so the visual contract also applies to
   the shell, navigation, and the benchmark page itself. */
.app-shell .sidebar { color: #dce5f6; background: var(--ink); border-right-color: rgba(163, 185, 235, .15); }
.app-shell .sidebar.is-scrolling { scrollbar-color: rgba(118, 155, 255, .62) rgba(255, 255, 255, .06); }
.app-shell .sidebar.is-scrolling::-webkit-scrollbar-track { background: rgba(255, 255, 255, .045); }
.app-shell .sidebar.is-scrolling::-webkit-scrollbar-thumb { background: rgba(118, 155, 255, .62); background-clip: padding-box; }
.app-shell .sidebar.is-scrolling::-webkit-scrollbar-thumb:hover { background: #9fb7ff; background-clip: padding-box; }

/* JY Foundation v1：颜色、间距、圆角和基础控件的最后收口。 */
:root {
  --jy-ink-900: #10182b;
  --jy-ink-800: #1a2742;
  --jy-canvas: #f6f8fc;
  --jy-surface: #ffffff;
  --jy-surface-muted: #f1f4f8;
  --jy-brand-700: #315bea;
  --jy-brand-600: #264dd2;
  --jy-accent: #13b7c9;
  --jy-text-900: #182338;
  --jy-text-700: #27364f;
  --jy-text-500: #53647a;
  --jy-text-400: #71809b;
  --jy-border: #dce3ee;
  --jy-border-strong: #c5d0eb;
  --jy-data: #2f80ed;
  --jy-ai: #7653d6;
  --jy-warning: #c17800;
  --jy-danger: #c84c4c;
  --jy-space-1: 4px;
  --jy-space-2: 8px;
  --jy-space-3: 12px;
  --jy-space-4: 16px;
  --jy-space-5: 20px;
  --jy-space-6: 24px;
  --jy-space-7: 32px;
  --jy-radius-sm: 8px;
  --jy-radius-md: 12px;
  --jy-radius-lg: 16px;
  --jy-control-height: 40px;
  --jy-shadow-sm: 0 2px 12px rgba(24, 35, 56, .05);
  --jy-shadow-md: 0 18px 50px rgba(24, 35, 56, .13);

  /* 旧变量映射到同一套 Token，避免模块级样式继续产生第二套颜色。 */
  --ink: var(--jy-ink-900);
  --ink-soft: var(--jy-ink-800);
  --brand: var(--jy-brand-700);
  --brand-light: #eef2ff;
  --accent: var(--jy-accent);
  --paper: var(--jy-canvas);
  --white: var(--jy-surface);
  --text: var(--jy-text-700);
  --muted: var(--jy-text-500);
  --faint: var(--jy-text-400);
  --line: var(--jy-border);
  --blue: var(--jy-data);
  --blue-light: #e8f2ff;
  --orange: var(--jy-warning);
  --orange-light: #fff4df;
  --red: var(--jy-danger);
  --red-light: #fdecec;
  --purple: var(--jy-ai);
  --purple-light: #f0ecff;
  --surface-1: var(--jy-surface);
  --surface-2: #f7f9fc;
  --surface-3: #eef3ff;
  --shadow-sm: var(--jy-shadow-sm);
  --shadow-md: var(--jy-shadow-md);
  --radius-sm: var(--jy-radius-sm);
  --radius-md: var(--jy-radius-md);
  --radius-lg: var(--jy-radius-lg);
}

html,
body { background: var(--jy-canvas); color: var(--jy-text-700); }

#app .panel,
#app .stat-card,
#app .kpi-card,
#app .fact-card,
#app .self-callout {
  border-color: var(--jy-border);
  border-radius: var(--jy-radius-lg);
  background: var(--jy-surface);
  box-shadow: var(--jy-shadow-sm);
}

#app .panel-header { gap: var(--jy-space-4); padding: 20px 22px 16px; }
#app .panel-header h2,
#app .panel-header h3 { color: var(--jy-text-900); }
#app .panel-header p { color: var(--jy-text-500); }

/* 主要按钮、次要按钮和轻量按钮只有三种基础层级。 */
#app .button {
  min-height: var(--jy-control-height);
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--jy-radius-sm);
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

#app .button:hover { transform: none; }
#app .button:active { transform: translateY(1px); }
#app .button:disabled,
#app .button[disabled] { cursor: not-allowed; opacity: .55; transform: none; }
#app .button-primary { border-color: var(--jy-brand-700); color: #fff; background: var(--jy-brand-700); box-shadow: 0 6px 14px rgba(49, 91, 234, .15); }
#app .button-primary:hover { border-color: var(--jy-brand-600); color: #fff; background: var(--jy-brand-600); box-shadow: 0 8px 18px rgba(49, 91, 234, .2); }
#app .button-secondary { border-color: var(--jy-border-strong); color: #3154a8; background: var(--jy-surface); }
#app .button-secondary:hover { border-color: #9eb3ef; color: var(--jy-brand-600); background: #f5f7ff; }
#app .button-quiet { border-color: var(--jy-border); color: var(--jy-text-500); background: var(--jy-surface-muted); }
#app .button-quiet:hover { border-color: var(--jy-border-strong); color: var(--jy-brand-600); background: #eef2ff; }
#app .button-danger { border-color: #efc1c1; color: var(--jy-danger); background: #fff7f7; }
#app .button-small { min-height: 34px; padding: 0 11px; font-size: 12px !important; }

/* 表单控件使用同一高度和焦点反馈，避免每个模块单独发明一套输入框。 */
#app input:not([type="checkbox"]):not([type="radio"]),
#app select,
#app textarea {
  border: 1px solid var(--jy-border-strong);
  border-radius: var(--jy-radius-sm);
  color: var(--jy-text-700);
  background: var(--jy-surface);
  font-family: var(--font-family-admin);
  font-size: 14px;
  font-weight: 400;
}

#app input:not([type="checkbox"]):not([type="radio"]),
#app select { min-height: var(--jy-control-height); padding: 0 12px; }
#app textarea { min-height: 96px; padding: 10px 12px; line-height: 1.6; }
#app input:not([type="checkbox"]):not([type="radio"]):focus,
#app select:focus,
#app textarea:focus {
  border-color: var(--jy-brand-700);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}
#app input::placeholder,
#app textarea::placeholder { color: #9aa6b7; opacity: 1; }

/* 普通表格采用同一表头、行高和悬浮反馈；宽表仍由各模块保留横向滚动。 */
#app .data-table { border-color: var(--jy-border); font-size: 13px !important; }
#app .data-table th { padding: 13px 12px; color: #5b6b88 !important; background: #f5f7fc; font-size: 13px !important; font-weight: 600 !important; }
#app .data-table td { padding: 14px 12px; color: var(--jy-text-700) !important; font-size: 13px !important; line-height: 1.6 !important; }
#app .data-table tbody tr:hover { background: #f7f9ff; }

#app .chip {
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
#app .chip-green { color: #188466; background: #e8f7f2; }
#app .chip-blue { color: #2764c9; background: #eaf2ff; }
#app .chip-orange { color: #a86405; background: #fff4df; }
#app .chip-red { color: #b74747; background: #fdecec; }
#app .chip-purple { color: #6545bd; background: #f0ecff; }
#app .chip-gray { color: #60708a; background: #eef1f6; }

/* 页面级 Tab：自然宽度、同一选中线；计数 Tab 与分段筛选另用独立组件。 */
#app .module-tabs,
#app .collect-module-tabs,
#app .selection-view-tabs,
#app .content-view-tabs,
#app .website-tabs,
#app .help-tabs,
#app .intel-module-tabs,
#app .matrix-module-tabs {
  display: flex;
  gap: 24px;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--jy-border);
  border-radius: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app .module-tabs::-webkit-scrollbar,
#app .collect-module-tabs::-webkit-scrollbar,
#app .selection-view-tabs::-webkit-scrollbar,
#app .content-view-tabs::-webkit-scrollbar,
#app .website-tabs::-webkit-scrollbar,
#app .help-tabs::-webkit-scrollbar,
#app .intel-module-tabs::-webkit-scrollbar,
#app .matrix-module-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app .module-tabs button,
#app .collect-module-tabs button,
#app .selection-view-tabs button,
#app .content-view-tabs button,
#app .website-tabs button,
#app .help-tabs button,
#app .intel-module-tabs button,
#app .matrix-module-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: max-content;
  min-height: 48px;
  align-items: center;
  padding: 0 2px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--jy-text-400);
  background: transparent;
  box-shadow: none;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35;
  white-space: nowrap;
}

#app .module-tabs button:hover,
#app .collect-module-tabs button:hover,
#app .selection-view-tabs button:hover,
#app .content-view-tabs button:hover,
#app .website-tabs button:hover,
#app .help-tabs button:hover,
#app .intel-module-tabs button:hover,
#app .matrix-module-tabs button:hover { color: var(--jy-brand-700); background: transparent; }

#app .module-tabs button.active,
#app .collect-module-tabs button.active,
#app .selection-view-tabs button.active,
#app .content-view-tabs button.active,
#app .website-tabs button.active,
#app .help-tabs button.active,
#app .intel-module-tabs button.active,
#app .matrix-module-tabs button.active,
#app .module-tabs button[aria-selected="true"],
#app .collect-module-tabs button[aria-selected="true"],
#app .selection-view-tabs button[aria-selected="true"],
#app .content-view-tabs button[aria-selected="true"],
#app .website-tabs button[aria-selected="true"],
#app .help-tabs button[aria-selected="true"],
#app .intel-module-tabs button[aria-selected="true"],
#app .matrix-module-tabs button[aria-selected="true"] {
  border-bottom-color: var(--jy-brand-700);
  color: var(--jy-brand-600);
  background: transparent;
  box-shadow: none;
  font-weight: 600 !important;
}

/* 计数/状态型 Tab 保留容器，但只允许统一的中性底和蓝色选中态。 */
#app .admin-ops-tabs,
#app .tenant-admin-tabs,
#app .platform-accounts-tabs,
#app .publish-connectors-tabs,
#app .models-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 20px;
  padding: 4px;
  border: 1px solid var(--jy-border);
  border-radius: var(--jy-radius-md);
  background: var(--jy-surface-muted);
  overflow-x: auto;
}

#app .admin-ops-tabs button,
#app .tenant-admin-tabs button,
#app .platform-accounts-tabs button,
#app .publish-connectors-tabs button,
#app .models-tabs button {
  min-height: 36px;
  padding: 0 13px;
  border: 0;
  border-radius: var(--jy-radius-sm);
  color: var(--jy-text-500);
  background: transparent;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap;
}

#app .admin-ops-tabs button:hover,
#app .tenant-admin-tabs button:hover,
#app .platform-accounts-tabs button:hover,
#app .publish-connectors-tabs button:hover,
#app .models-tabs button:hover { color: var(--jy-brand-600); background: #eaf0ff; }

#app .admin-ops-tabs button.active,
#app .tenant-admin-tabs button.active,
#app .platform-accounts-tabs button.active,
#app .publish-connectors-tabs button.active,
#app .models-tabs button.active {
  color: #fff;
  background: var(--jy-brand-700);
  box-shadow: 0 3px 8px rgba(49, 91, 234, .16);
  font-weight: 600 !important;
}

@media (max-width: 700px) {
  #app .panel-header { padding: 16px 16px 13px; }
  #app .module-tabs,
  #app .collect-module-tabs,
  #app .selection-view-tabs,
  #app .content-view-tabs,
  #app .website-tabs,
  #app .help-tabs,
  #app .intel-module-tabs,
  #app .matrix-module-tabs { gap: 20px; }
}

/* Final Tab lock：压过历史模块规则，所有页面级 Tab 统一采用采集中心的线性语法。 */
#app .module-tabs,
#app .collect-module-tabs,
#app .selection-view-tabs,
#app .content-view-tabs,
#app .website-tabs,
#app .help-tabs,
#app .intel-module-tabs,
#app .matrix-module-tabs,
#app .admin-ops-tabs,
#app .tenant-admin-tabs,
#app .platform-accounts-tabs,
#app .publish-connectors-tabs,
#app .models-tabs,
#app .audit-security-tabs {
  display: flex !important;
  gap: 24px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--jy-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
}

#app .module-tabs::-webkit-scrollbar,
#app .collect-module-tabs::-webkit-scrollbar,
#app .selection-view-tabs::-webkit-scrollbar,
#app .content-view-tabs::-webkit-scrollbar,
#app .website-tabs::-webkit-scrollbar,
#app .help-tabs::-webkit-scrollbar,
#app .intel-module-tabs::-webkit-scrollbar,
#app .matrix-module-tabs::-webkit-scrollbar,
#app .admin-ops-tabs::-webkit-scrollbar,
#app .tenant-admin-tabs::-webkit-scrollbar,
#app .platform-accounts-tabs::-webkit-scrollbar,
#app .publish-connectors-tabs::-webkit-scrollbar,
#app .models-tabs::-webkit-scrollbar,
#app .audit-security-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app .module-tabs button,
#app .collect-module-tabs button,
#app .selection-view-tabs button,
#app .content-view-tabs button,
#app .website-tabs button,
#app .help-tabs button,
#app .intel-module-tabs button,
#app .matrix-module-tabs button,
#app .admin-ops-tabs button,
#app .tenant-admin-tabs button,
#app .platform-accounts-tabs button,
#app .publish-connectors-tabs button,
#app .models-tabs button,
#app .audit-security-tabs button {
  position: relative;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 48px !important;
  align-items: center;
  gap: 7px;
  padding: 0 2px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--jy-text-400) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}

#app .module-tabs button:hover,
#app .collect-module-tabs button:hover,
#app .selection-view-tabs button:hover,
#app .content-view-tabs button:hover,
#app .website-tabs button:hover,
#app .help-tabs button:hover,
#app .intel-module-tabs button:hover,
#app .matrix-module-tabs button:hover,
#app .admin-ops-tabs button:hover,
#app .tenant-admin-tabs button:hover,
#app .platform-accounts-tabs button:hover,
#app .publish-connectors-tabs button:hover,
#app .models-tabs button:hover,
#app .audit-security-tabs button:hover { color: var(--jy-brand-700) !important; background: transparent !important; }

#app .module-tabs button.active,
#app .collect-module-tabs button.active,
#app .selection-view-tabs button.active,
#app .content-view-tabs button.active,
#app .website-tabs button.active,
#app .help-tabs button.active,
#app .intel-module-tabs button.active,
#app .matrix-module-tabs button.active,
#app .admin-ops-tabs button.active,
#app .tenant-admin-tabs button.active,
#app .platform-accounts-tabs button.active,
#app .publish-connectors-tabs button.active,
#app .models-tabs button.active,
#app .audit-security-tabs button.active,
#app .module-tabs button[aria-selected="true"],
#app .collect-module-tabs button[aria-selected="true"],
#app .selection-view-tabs button[aria-selected="true"],
#app .content-view-tabs button[aria-selected="true"],
#app .website-tabs button[aria-selected="true"],
#app .help-tabs button[aria-selected="true"],
#app .intel-module-tabs button[aria-selected="true"],
#app .matrix-module-tabs button[aria-selected="true"],
#app .admin-ops-tabs button[aria-selected="true"],
#app .tenant-admin-tabs button[aria-selected="true"],
#app .platform-accounts-tabs button[aria-selected="true"],
#app .publish-connectors-tabs button[aria-selected="true"],
#app .models-tabs button[aria-selected="true"],
#app .audit-security-tabs button[aria-selected="true"] {
  border-bottom-color: var(--jy-brand-700) !important;
  color: var(--jy-brand-600) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}

#app .module-tabs button > span,
#app .collect-module-tabs button > span,
#app .selection-view-tabs button > span,
#app .content-view-tabs button > span,
#app .website-tabs button > span,
#app .help-tabs button > span,
#app .intel-module-tabs button > span,
#app .matrix-module-tabs button > span,
#app .admin-ops-tabs button > span,
#app .tenant-admin-tabs button > span,
#app .platform-accounts-tabs button > span,
#app .publish-connectors-tabs button > span,
#app .models-tabs button > span,
#app .audit-security-tabs button > span {
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  color: var(--jy-text-500);
  background: #eef2f8;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

#app .module-tabs button.active > span,
#app .collect-module-tabs button.active > span,
#app .selection-view-tabs button.active > span,
#app .content-view-tabs button.active > span,
#app .website-tabs button.active > span,
#app .help-tabs button.active > span,
#app .intel-module-tabs button.active > span,
#app .matrix-module-tabs button.active > span,
#app .admin-ops-tabs button.active > span,
#app .tenant-admin-tabs button.active > span,
#app .platform-accounts-tabs button.active > span,
#app .publish-connectors-tabs button.active > span,
#app .models-tabs button.active > span,
#app .audit-security-tabs button.active > span { color: var(--jy-brand-700); background: #e8efff; }
.app-shell .brand-lockup strong { color: #fff; }
.app-shell .brand-lockup span:not(.prototype-label) { color: #9eacd0; }
.app-shell .brand-mark { color: #b8c8ff; border-color: rgba(159, 183, 255, .38); background: rgba(91, 126, 234, .18); }
.app-shell .workspace-switch { border-color: rgba(163, 185, 235, .22); background: rgba(255, 255, 255, .055); }
.app-shell .workspace-switch:hover { border-color: rgba(159, 183, 255, .62); background: rgba(79, 115, 224, .18); }
.app-shell .workspace-switch-copy small,
.app-shell .chevron { color: #93a4c9; }
.app-shell .workspace-dot,
.app-shell .menu-dot { background: #7d9bff; box-shadow: 0 0 0 4px rgba(125, 155, 255, .14); }
.app-shell .tenant-dot { background: #7d9bff; }
.app-shell .admin-dot { background: #e0a548; }
.app-shell .self-dot { background: #22c2d3; }
.app-shell .nav-group-title { color: #7789b0; }
.app-shell .nav-item { color: #aab8d4; }
.app-shell .nav-item:hover { color: #fff; background: rgba(137, 164, 235, .12); }
.app-shell .nav-item.active { color: #fff; background: var(--brand); box-shadow: inset 3px 0 #b7c7ff, 0 5px 18px rgba(49, 91, 234, .2); }
.app-shell .nav-badge { color: var(--ink); background: #9fb7ff; }
.app-shell .nav-item.active .nav-badge { color: #b9c9ff; background: var(--ink); }
.app-shell .profile-mini { border-color: rgba(163, 185, 235, .16); }
.app-shell .profile-mini strong { color: #eef2ff; }
.app-shell .profile-mini span { color: #8f9fc2; }
.app-shell .topbar { border-bottom-color: rgba(220, 227, 238, .94); background: rgba(246, 248, 252, .92); }
.app-shell .breadcrumbs { color: var(--admin-text-tertiary); }
.app-shell .breadcrumbs strong,
.app-shell .topbar-user { color: var(--admin-text-strong); }
.app-shell .command-search { border-color: var(--line); color: var(--admin-text-secondary); background: #fff; }
.app-shell .command-search:hover { border-color: #aebdf0; background: var(--brand-light); }
.app-shell .button-primary { color: #fff; background: var(--brand); box-shadow: 0 7px 18px rgba(49, 91, 234, .2); }
.app-shell .button-primary:hover { background: #264dd2; box-shadow: 0 10px 22px rgba(49, 91, 234, .28); }
.app-shell .button-secondary { border-color: var(--line); color: var(--brand); background: #fff; }
.app-shell .button-secondary:hover { border-color: #aebdf0; color: #2446c0; background: var(--brand-light); }
.app-shell .hero-banner { border-color: rgba(113, 146, 236, .34); background: radial-gradient(circle at 82% 20%, rgba(72, 198, 218, .14), transparent 29%), linear-gradient(120deg, #15213a 0%, #22325a 68%, #3b4f93 100%); box-shadow: 0 16px 45px rgba(24, 35, 56, .18); }
.app-shell .hero-banner::after { border-color: rgba(159, 183, 255, .38); box-shadow: 0 0 0 26px rgba(159, 183, 255, .06), 0 0 0 52px rgba(159, 183, 255, .035); }
.app-shell .hero-banner::before { background: linear-gradient(90deg, transparent 0%, rgba(93, 157, 255, .04) 49.8%, rgba(93, 157, 255, .2) 50%, rgba(93, 157, 255, .04) 50.2%, transparent 100%); }
.app-shell .hero-copy .eyebrow { color: #9fe5ff; }
.app-shell .hero-copy h2 { color: #f6f8ff; }
.app-shell .hero-copy p,
.app-shell .hero-progress-copy span { color: #cbd7f2; }
.app-shell .progress-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.18) 72% 100%); }
.app-shell .progress-ring::before { background: #1b2947; }
.app-shell .progress-ring strong { color: #a8f4f8; }
.app-shell .pipeline-step > .pipeline-number {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  flex: 0 0 36px;
  grid-column: auto !important;
  grid-row: auto !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #c9d4e5;
  color: var(--admin-text-secondary);
  background: #fff;
  font-size: 12px !important;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  line-height: 1 !important;
  text-align: center;
}
.app-shell .pipeline-step > div > span { display: block; grid-column: auto !important; margin-top: 6px !important; color: var(--admin-text-secondary); font-size: 12px !important; line-height: 1.4 !important; }
.app-shell .pipeline-step:not(:last-child)::after { top: 18px; left: 44px; background: #d7dfeb; }
.app-shell .pipeline-step.done:not(:last-child)::after { background: var(--brand); }
.app-shell .pipeline-step.done > .pipeline-number { border-color: var(--brand); color: #fff; background: var(--brand); }
.app-shell .pipeline-step.current > .pipeline-number { border-color: var(--accent); color: #087f8c; background: #dff9fb; box-shadow: 0 0 0 5px rgba(19, 183, 201, .14); }
.app-shell .pipeline-step strong { color: var(--admin-text-strong); }
.app-shell .pipeline-step > div > span { color: var(--admin-text-secondary); }
.app-shell .monitor-card::before { background: var(--monitor-accent, var(--brand)); }
.app-shell .monitor-card.green { --monitor-accent: var(--brand); }
.app-shell .monitor-card.purple { --monitor-accent: var(--purple); }
.app-shell .monitor-card.blue { --monitor-accent: var(--accent); }
.app-shell .monitor-card.orange { --monitor-accent: var(--orange); }
.app-shell .monitor-card.green .monitor-signal { background: var(--brand); box-shadow: 0 0 0 4px var(--brand-light); }
.app-shell .completion-card { border-color: rgba(118, 155, 255, .34); background: var(--ink); }
.app-shell .completion-ring { background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.12) 72% 100%); }
.app-shell .completion-ring::before { background: var(--ink); }
.app-shell .completion-ring strong { color: #a8f4f8; }
.app-shell .completion-card > strong { color: #f6f8ff; }
.app-shell .completion-card > span { color: #bdc9e3; }
.app-shell .fact-progress { background: #e5eaf2; }
.app-shell .fact-progress i { background: var(--brand); }
.app-shell .collect-tabs-shell { margin: -5px 0 22px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.app-shell .collect-module-tabs { display: flex; gap: 24px; margin: 0 0 18px; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.app-shell .collect-module-tabs button { display: inline-flex; min-height: 44px; align-items: center; padding: 0 0 9px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--admin-text-secondary); background: transparent; box-shadow: none; }
.app-shell .collect-module-tabs button:hover { color: var(--brand); background: transparent; box-shadow: none; }
.app-shell .collect-module-tabs button.active { border-bottom-color: var(--brand); color: var(--brand); background: transparent; box-shadow: none; }
.app-shell .collect-module-tabs button.active .collect-tab-copy small,
.app-shell .collect-module-tabs button.active .collect-tab-arrow { color: var(--brand); }
.app-shell .collect-tab-index,
.app-shell .collect-tab-arrow { display: none; }
.app-shell .collect-tab-copy small { color: var(--admin-text-tertiary); }
.app-shell .collect-filter-bar select,
.app-shell .collect-search,
.app-shell .collect-form-grid input,
.app-shell .collect-form-grid select { border-color: var(--line); color: var(--admin-text); background: #fff; }
.app-shell .collect-filter-bar { grid-template-columns: minmax(250px, 1fr) 178px 150px; row-gap: 9px; }
.app-shell .collect-filter-bar .collect-task-filter { grid-column: 1 / -1; }
.app-shell .collect-filter-bar .collect-filter-caption { grid-column: 1 / -1; }
.app-shell .collect-task-filter {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  min-height: 34px;
  align-items: center;
  gap: 9px;
  justify-self: start;
  padding: 0 7px 0 11px;
  border: 1px solid #cbd8f1;
  border-radius: 8px;
  color: #526889;
  background: #f7f9ff;
  font-size: 11px;
  line-height: 1.4;
}
.app-shell .collect-task-filter > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-shell .collect-task-filter button {
  display: inline-flex;
  min-height: 25px;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #cbd8f1;
  border-radius: 6px;
  color: var(--brand);
  background: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.app-shell .collect-task-filter button:hover { border-color: var(--brand); background: var(--brand-light); }
.app-shell .collect-select-chevron {
  right: 11px;
  border-radius: 0;
  color: var(--brand);
  background: transparent;
  line-height: 0;
}
.app-shell .collect-select-chevron svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}
.app-shell .collect-search span { color: var(--brand); }
.app-shell .collect-search input { color: var(--admin-text); }
.app-shell .collect-search input::placeholder { color: var(--admin-text-tertiary); }
.app-shell .collect-table th { color: var(--admin-text-secondary); background: #f7f9fc; }
.app-shell .collect-table td { color: var(--admin-text); }
.app-shell .collect-table tbody tr:hover { background: #f1f5ff; }
.app-shell .collect-table-panel { border-top: 3px solid var(--brand); }
.app-shell .collect-table td:first-child {
  color: var(--brand);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}
.app-shell .collect-table td:nth-child(4),
.app-shell .collect-table td:nth-child(5),
.app-shell .collect-table td:nth-child(6) {
  font-variant-numeric: tabular-nums;
}
.app-shell .collect-table .collect-unscored {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 7px;
  border: 1px solid #d8dfed;
  border-radius: 999px;
  color: #7a879d;
  background: #f8faff;
  font-size: 10px;
}
.app-shell .collect-table .collect-score {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 7px;
  border: 1px solid #c8e8ed;
  border-radius: 999px;
  color: #087f8c;
  background: #e5f7f7;
  font-size: 10px;
  font-weight: 850;
}
.app-shell .collect-table .collect-source-cell { display: grid; gap: 3px; }
.app-shell .collect-table .collect-source-cell small { font-size: 10px; }
@media (max-width: 700px) {
  .app-shell .collect-filter-bar { grid-template-columns: 1fr; }
  .app-shell .collect-filter-bar .collect-task-filter,
  .app-shell .collect-filter-bar .collect-filter-caption { grid-column: auto; }
  .app-shell .collect-task-filter { justify-self: stretch; }
}
.app-shell .collect-table-panel .panel-header h2,
.app-shell .collect-manual-panel .panel-header h2,
.app-shell .collect-task-form .panel-header h2,
.app-shell .collect-recent-panel .panel-header h2,
.app-shell .collect-keyword-cell strong,
.app-shell .collect-source-header h2,
.app-shell .collect-task-header h2 { color: var(--admin-text-strong); }
.app-shell .collect-table-panel .panel-header p,
.app-shell .collect-manual-panel .panel-header p,
.app-shell .collect-task-form .panel-header p,
.app-shell .collect-recent-panel .panel-header p,
.app-shell .collect-keyword-cell small,
.app-shell .collect-source-cell small { color: var(--admin-text-secondary); }
.app-shell .collect-readonly-badge,
.app-shell .collect-field-note { color: #2369c7; background: var(--blue-light); }
.app-shell .collect-manual-panel,
.app-shell .collect-task-form,
.app-shell .collect-source-card,
.app-shell .collect-task-card { border-color: var(--line); box-shadow: var(--shadow-sm); }
.app-shell .collect-stat-grid .stat-card::before { background: var(--card-accent, var(--brand)); }
.app-shell .collect-stat-grid .stat-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .collect-stat-grid .stat-card:nth-child(2) { --card-accent: var(--orange); }
.app-shell .collect-stat-grid .stat-card:nth-child(3) { --card-accent: var(--purple); }
.app-shell .collect-stat-grid .stat-card:nth-child(4) { --card-accent: var(--accent); }
.app-shell .collect-stat-icon { color: var(--brand); border-color: #d5def6; background: var(--brand-light); }
.app-shell .collect-stat-icon.stat-icon-priority { color: var(--orange); border-color: #f1dfbd; background: var(--orange-light); }
.app-shell .collect-stat-icon.stat-icon-score { color: var(--purple); border-color: #ddd9f5; background: var(--purple-light); }
.app-shell .collect-stat-icon.stat-icon-selected { color: #087f8c; border-color: #c8e8ed; background: #e5f7f7; }
.app-shell .collect-progress { background: #e5eaf2; }
.app-shell .collect-progress i { background: var(--brand); }
.app-shell .collect-platform-progress i.done { border-color: #b4c7f7; color: #2369c7; background: var(--brand-light); }
.app-shell .collect-platform-progress strong { color: var(--admin-text); }
.app-shell .collect-source-row,
.app-shell .collect-source-footer label,
.app-shell .collect-task-row { color: var(--admin-text-secondary); }
.app-shell .collect-source-row strong,
.app-shell .collect-task-row > strong { color: var(--admin-text-strong); }
.app-shell .collect-source-row strong.is-ok { color: #087f8c; }
.app-shell .collect-models span,
.app-shell .collect-source-empty { color: var(--admin-text-secondary); background: #f1f4f8; }
.app-shell .collect-platform-emoji { background: var(--brand-light); }
.app-shell .collect-health-dot.healthy { background: var(--accent); box-shadow: 0 0 0 4px #e5f7f7; }
.app-shell .collect-config-note,
.app-shell .collect-next-step { border-color: #d6e0f2; color: var(--admin-text-secondary); background: #f5f8ff; }
.app-shell .collect-config-note strong { color: var(--admin-text-strong); }
.app-shell .collect-pipeline { border-color: var(--line); color: var(--admin-text-tertiary); background: #f7f9fc; }
.app-shell .collect-pipeline .done { color: var(--brand); }
.app-shell .collect-next-step button { color: var(--brand); }
.app-shell .collect-next-step button:hover { color: #2346c1; }
.app-shell .collect-platform-check { border-color: var(--line); color: var(--admin-text); background: #fbfcfe; }
.app-shell .collect-platform-check:has(input:checked) { border-color: #aebdf0; color: #2446c0; background: var(--brand-light); }
.app-shell .collect-platform-check input { accent-color: var(--brand); }
.app-shell .collect-recent-keywords span { border-color: var(--line); color: var(--admin-text); background: #f7f9fc; }

@media (max-width: 700px) {
  .app-shell .pipeline-step { grid-template-columns: 36px 1fr; gap: 11px; }
  .app-shell .pipeline-step:not(:last-child)::after { top: 36px; left: 17px; width: 1px; height: 25px; }
}

/* JY Clean Ops v1 · 待办中心：把页面重组为“优先级—证据—行动”的任务队列 */
.app-shell .todo-stat-grid {
  gap: 14px;
  margin-bottom: 20px;
}

.app-shell .todo-stat-card {
  position: relative;
  min-height: 128px;
  overflow: hidden;
  border-radius: 12px;
}

.app-shell .todo-stat-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
}

.app-shell .todo-stat-card:nth-child(1) { --card-accent: var(--coral); }
.app-shell .todo-stat-card:nth-child(2) { --card-accent: var(--orange); }
.app-shell .todo-stat-card:nth-child(3) { --card-accent: var(--brand); }
.app-shell .todo-stat-card:nth-child(4) { --card-accent: var(--accent); }

.app-shell .todo-stat-card .stat-icon {
  color: var(--card-accent, var(--brand));
  border-color: color-mix(in srgb, var(--card-accent, var(--brand)) 22%, white);
  background: color-mix(in srgb, var(--card-accent, var(--brand)) 10%, white);
}

.app-shell .todo-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr);
  gap: 18px;
  align-items: start;
}

.app-shell .todo-queue-panel {
  border-top: 3px solid var(--brand);
}

.app-shell .todo-queue-panel .panel-header,
.app-shell .todo-rules .panel-header,
.app-shell .todo-onboarding-panel .panel-header {
  padding: 19px 22px 15px;
  border-bottom: 1px solid var(--line);
}

.app-shell .todo-queue-panel .panel-header .eyebrow,
.app-shell .todo-rules .panel-header .eyebrow,
.app-shell .todo-onboarding-panel .panel-header .eyebrow {
  margin-bottom: 7px;
}

.app-shell .todo-table-wrap {
  overflow-x: auto;
}

.app-shell .todo-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.app-shell .todo-table th {
  background: #f7f9fc;
  color: var(--admin-text-tertiary);
  font-size: 11px;
  letter-spacing: .04em;
}

.app-shell .todo-table th:nth-child(1),
.app-shell .todo-table td:nth-child(1) { width: 62px; }
.app-shell .todo-table th:nth-child(2),
.app-shell .todo-table td:nth-child(2) { width: auto; }
.app-shell .todo-table th:nth-child(3),
.app-shell .todo-table td:nth-child(3) { width: 90px; }
.app-shell .todo-table th:nth-child(4),
.app-shell .todo-table td:nth-child(4) { width: 72px; }
.app-shell .todo-table th:nth-child(5),
.app-shell .todo-table td:nth-child(5) { width: 84px; }
.app-shell .todo-table th:nth-child(6),
.app-shell .todo-table td:nth-child(6) { width: 76px; }

.app-shell .todo-table th:nth-child(1),
.app-shell .todo-table td:nth-child(1) { width: 9%; }
.app-shell .todo-table th:nth-child(2),
.app-shell .todo-table td:nth-child(2) { width: 31%; white-space: normal; }
.app-shell .todo-table th:nth-child(3),
.app-shell .todo-table td:nth-child(3) { width: 16%; }
.app-shell .todo-table th:nth-child(4),
.app-shell .todo-table td:nth-child(4) { width: 11%; }
.app-shell .todo-table th:nth-child(5),
.app-shell .todo-table td:nth-child(5) { width: 17%; }
.app-shell .todo-table th:nth-child(6),
.app-shell .todo-table td:nth-child(6) { width: 16%; }

.app-shell .todo-table td {
  padding: 15px 12px;
  vertical-align: middle;
}

.app-shell .todo-row {
  transition: background-color .16s ease;
}

.app-shell .todo-row:hover {
  background: #f3f6ff;
}

.app-shell .todo-row td:first-child {
  border-left: 3px solid transparent;
}

.app-shell .todo-row-p0 td:first-child { border-left-color: var(--coral); }
.app-shell .todo-row-p1 td:first-child { border-left-color: var(--orange); }
.app-shell .todo-row-p2 td:first-child { border-left-color: var(--brand); }

.app-shell .todo-title {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.app-shell .todo-title strong {
  overflow: hidden;
  color: var(--admin-text-strong);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: normal;
}

.app-shell .todo-title span {
  overflow: hidden;
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: normal;
}

.app-shell .todo-table .button-small {
  min-width: 60px;
  text-align: center;
}

.app-shell .todo-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.app-shell .todo-row-actions .button-small {
  min-width: 0;
  padding-right: 8px;
  padding-left: 8px;
  font-size: 11px;
}

.app-shell .todo-row.is-complete {
  opacity: .72;
}

.app-shell .todo-empty-state {
  display: grid;
  gap: 5px;
  place-items: center;
  padding: 36px 18px;
  color: var(--admin-text-secondary);
  text-align: center;
}

.app-shell .todo-empty-state strong {
  color: var(--admin-text-strong);
  font-size: 14px;
}

.app-shell .todo-empty-state span {
  font-size: 12px;
  line-height: 1.6;
}

.app-shell .todo-rule-modal {
  width: min(100%, 650px);
}

.app-shell .todo-rule-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.app-shell .todo-rule-form label {
  display: grid;
  gap: 7px;
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 800;
}

.app-shell .todo-rule-form label.full {
  grid-column: 1 / -1;
}

.app-shell .todo-rule-form input,
.app-shell .todo-rule-form select,
.app-shell .todo-rule-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 10px 11px;
  border: 1px solid #d5def0;
  border-radius: 8px;
  color: var(--admin-text);
  background: #fbfcff;
  font: inherit;
  font-size: 13px;
  line-height: 1.6;
  outline: 0;
}

.app-shell .todo-rule-form textarea {
  min-height: 98px;
  resize: vertical;
}

.app-shell .todo-rule-form input:focus,
.app-shell .todo-rule-form select:focus,
.app-shell .todo-rule-form textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .todo-rules .rule-item.is-custom {
  border-color: #cbd7f6;
  background: #f5f8ff;
}

@media (max-width: 700px) {
  .app-shell .todo-rule-form { grid-template-columns: 1fr; }
  .app-shell .todo-rule-form label.full { grid-column: auto; }
  .app-shell .todo-row-actions { align-items: stretch; flex-direction: column; }
}

.app-shell .todo-rules {
  border-top: 3px solid var(--purple);
}

.app-shell .todo-rules .rule-list {
  gap: 10px;
  padding: 17px 18px 18px;
}

.app-shell .todo-rules .rule-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8f9fd;
}

.app-shell .todo-rules .rule-item:last-child {
  border-bottom: 1px solid var(--line);
}

#app .todo-rules .rule-index {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #ddd9f5;
  border-radius: 50%;
  color: var(--purple);
  background: var(--purple-light);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.app-shell .todo-rules .rule-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--admin-text-strong);
  font-size: 13px;
  line-height: 1.45;
}

.app-shell .todo-rules .rule-item > div > span {
  display: block;
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.55;
}

.app-shell .todo-rules .rule-item .button-small {
  align-self: center;
  padding-right: 8px;
  padding-left: 8px;
  font-size: 11px;
}

.app-shell .todo-onboarding-panel {
  margin-top: 18px;
  border-top: 3px solid var(--accent);
}

.app-shell .todo-onboarding-panel .onboarding-grid {
  gap: 12px;
  padding: 18px 22px 22px;
}

.app-shell .todo-onboarding-panel .onboarding-item {
  min-height: 124px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfe;
}

.app-shell .todo-onboarding-panel .onboarding-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #bdcef8;
  border-radius: 50%;
  color: var(--brand);
  background: var(--brand-light);
  font-size: 12px;
  font-weight: 800;
}

.app-shell .todo-onboarding-panel .onboarding-item strong {
  color: var(--admin-text-strong);
  font-size: 12px;
  line-height: 1.5;
}

.app-shell .todo-onboarding-panel .onboarding-item p {
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.55;
}

.app-shell .todo-onboarding-panel .onboarding-item a {
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .app-shell .todo-layout { grid-template-columns: 1fr; }
  .app-shell .todo-rules { order: 2; }
}

@media (max-width: 700px) {
  .app-shell .todo-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .todo-layout { gap: 14px; }
  .app-shell .todo-table { min-width: 760px; }
  .app-shell .todo-queue-panel .panel-header,
  .app-shell .todo-rules .panel-header,
  .app-shell .todo-onboarding-panel .panel-header { padding-right: 16px; padding-left: 16px; }
  .app-shell .todo-onboarding-panel .onboarding-grid { padding-right: 16px; padding-left: 16px; }
}

/* 常见 1280px 工作区优先保证行动列完整；超宽屏再恢复并排信息层 */
.app-shell .todo-layout {
  grid-template-columns: minmax(0, 1fr);
}

.app-shell .todo-rules {
  order: 2;
}

@media (min-width: 1400px) {
  .app-shell .todo-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr);
  }

  .app-shell .todo-rules {
    order: initial;
  }
}

/* JY Clean Ops v1 · 业务定位：定位主档—平台证据—下一步动作 */
#app .page-heading .eyebrow {
  color: var(--brand);
}

.app-shell .positioning-context {
  margin-bottom: 20px;
  border-color: #d6e0f2;
  background: #f5f8ff;
  box-shadow: var(--shadow-sm);
}

.app-shell .positioning-context .context-kicker,
.app-shell .positioning-context strong {
  color: var(--brand);
}

.app-shell .positioning-context .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-stat-grid {
  gap: 14px;
  margin-bottom: 20px;
}

.app-shell .positioning-stat-card {
  position: relative;
  min-height: 128px;
  overflow: hidden;
  border-radius: 12px;
  border-top: 0;
}

.app-shell .positioning-stat-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
}

.app-shell .positioning-stat-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .positioning-stat-card:nth-child(2) { --card-accent: var(--purple); }
.app-shell .positioning-stat-card:nth-child(3) { --card-accent: var(--accent); }
.app-shell .positioning-stat-card:nth-child(4) { --card-accent: var(--orange); }

.app-shell .positioning-stat-card .stat-icon {
  color: var(--card-accent, var(--brand));
  border-color: #d5def6;
  background: #eef3ff;
}

.app-shell .positioning-stat-card:nth-child(2) .stat-icon {
  border-color: #ddd9f5;
  background: var(--purple-light);
}

.app-shell .positioning-stat-card:nth-child(3) .stat-icon {
  border-color: #c8e8ed;
  background: #e5f7f7;
}

.app-shell .positioning-stat-card:nth-child(4) .stat-icon {
  border-color: #f1dfbd;
  background: var(--orange-light);
}

.app-shell .positioning-form-panel {
  margin-bottom: 20px;
  border-top: 3px solid var(--brand);
}

.app-shell .positioning-form-panel .panel-header,
.app-shell .positioning-validation-panel .panel-header {
  padding: 20px 22px 16px;
  border-bottom-color: var(--line);
}

.app-shell .positioning-form-panel .panel-header .eyebrow,
.app-shell .positioning-validation-panel .panel-header .eyebrow {
  margin-bottom: 7px;
  color: var(--brand);
}

.app-shell .positioning-form-grid {
  gap: 18px;
  padding: 20px 22px 22px;
}

.app-shell .positioning-field label {
  color: var(--admin-text-strong);
}

.app-shell .positioning-field input,
.app-shell .positioning-field textarea {
  border-color: #d5def0;
  border-radius: 10px;
  color: var(--admin-text);
  background: #fbfcff;
}

.app-shell .positioning-field input::placeholder,
.app-shell .positioning-field textarea::placeholder {
  color: #8994aa;
}

.app-shell .positioning-field input:focus,
.app-shell .positioning-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .positioning-form-footer {
  padding: 15px 22px 18px;
  border-top-color: #d6e0f2;
  background: #f5f8ff;
}

.app-shell .positioning-rule-note {
  color: var(--brand) !important;
}

.app-shell .positioning-validation-panel {
  margin-bottom: 20px;
  border-top: 3px solid var(--purple);
}

.app-shell .positioning-validation-header .eyebrow {
  color: var(--purple);
}

.app-shell .positioning-example-label {
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .positioning-detail-toggle {
  border-color: #cbd7f3;
  color: var(--brand);
  background: #fff;
}

.app-shell .positioning-detail-toggle:hover,
.app-shell .positioning-detail-toggle:focus-visible {
  border-color: var(--brand);
  color: #2346c1;
  background: #f1f5ff;
}

.app-shell .positioning-platform-grid {
  gap: 12px;
  padding: 18px 22px 22px;
}

.app-shell .positioning-platform-card {
  min-height: 82px;
  padding: 12px 13px;
  border-color: var(--line);
  border-radius: 10px;
  background: #fbfcfe;
}

.app-shell .positioning-platform-mark {
  border: 1px solid #bdcef8;
  border-radius: 50%;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .positioning-platform-card:nth-child(2) .positioning-platform-mark {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-platform-card:nth-child(3) .positioning-platform-mark {
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .positioning-platform-card:nth-child(4) .positioning-platform-mark {
  border-color: #f1dfbd;
  color: #a96e14;
  background: var(--orange-light);
}

.app-shell .positioning-platform-card:nth-child(5) .positioning-platform-mark {
  border-color: #bdcef8;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .positioning-platform-card .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-validation-details {
  margin: 0 22px 22px;
  padding: 14px;
  border-color: #d6e0f2;
  border-radius: 10px;
  background: #f5f8ff;
}

.app-shell .positioning-next-step {
  border-color: #cddaf4;
  background: linear-gradient(110deg, #f5f8ff, #eef4ff);
}

.app-shell .positioning-next-step .eyebrow {
  color: var(--brand);
}

@media (max-width: 700px) {
  .app-shell .positioning-form-panel .panel-header,
  .app-shell .positioning-validation-panel .panel-header { padding-right: 16px; padding-left: 16px; }
  .app-shell .positioning-form-grid { padding-right: 16px; padding-left: 16px; }
  .app-shell .positioning-form-footer { padding-right: 16px; padding-left: 16px; }
  .app-shell .positioning-platform-grid { grid-template-columns: 1fr; padding-right: 16px; padding-left: 16px; }
  .app-shell .positioning-validation-details { margin-right: 16px; margin-left: 16px; }
}

/* JY Clean Ops v1 · 品牌诊断：检测任务—行动看板—健康证据 */
.app-shell .brand-diagnosis-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .brand-diagnosis-context .context-kicker {
  color: var(--brand);
}

.app-shell .brand-diagnosis-context strong {
  color: var(--ink);
}

.app-shell .brand-diagnosis-context .context-note {
  color: #65728a;
}

.app-shell .brand-diagnosis-scan-card {
  margin-bottom: 18px;
  overflow: hidden;
  padding: 0;
  border-color: #d6e0f2;
  border-top: 3px solid var(--brand);
  border-radius: 11px;
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .brand-diagnosis-scan-heading {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom-color: var(--line);
  background: #fbfcff;
}

.app-shell .brand-diagnosis-scan-heading > div {
  gap: 7px;
}

.app-shell .brand-diagnosis-scan-heading .eyebrow,
.app-shell .brand-diagnosis-board-heading .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .brand-diagnosis-scan-heading strong {
  color: var(--ink);
  font-size: 17px;
}

.app-shell .brand-diagnosis-scan-heading span:not(.chip) {
  color: #68758b;
}

.app-shell .brand-diagnosis-scan-controls {
  gap: 13px;
  padding: 20px;
}

.app-shell .brand-diagnosis-scan-controls label {
  gap: 8px;
}

.app-shell .brand-diagnosis-scan-controls label > span {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .brand-diagnosis-scan-controls input,
.app-shell .brand-diagnosis-scan-controls select {
  min-height: 44px;
  border-color: #c7d4e8;
  border-radius: 9px;
  color: #344159;
  background: #fff;
}

.app-shell .brand-diagnosis-scan-controls select {
  min-width: 0;
  padding: 0 40px 0 13px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%23526788' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  cursor: pointer;
}

.app-shell .brand-diagnosis-scan-controls select::-ms-expand {
  display: none;
}

.app-shell .brand-diagnosis-scan-controls input:focus,
.app-shell .brand-diagnosis-scan-controls select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .brand-diagnosis-scan-controls .button {
  min-height: 44px;
  min-width: 92px;
}

.app-shell .brand-diagnosis-scan-note {
  margin: -4px 20px 19px;
  color: #718097;
}

.app-shell .brand-diagnosis-board {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--accent);
}

.app-shell .brand-diagnosis-board-heading {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .brand-diagnosis-board-heading > div:first-child {
  gap: 7px;
}

.app-shell .brand-diagnosis-board-heading h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .brand-diagnosis-board-heading p:not(.eyebrow) {
  margin-top: 0;
  color: #68758b;
}

.app-shell .brand-diagnosis-board-actions {
  gap: 12px;
}

.app-shell .brand-diagnosis-board-actions .subtle-note {
  color: #718097;
}

.app-shell .brand-diagnosis-board-grid {
  gap: 14px;
  padding: 18px 20px 20px;
}

.app-shell .brand-diagnosis-board-section {
  border-color: #d6e0f2;
  border-radius: 11px;
}

.app-shell .brand-diagnosis-board-section h4 {
  padding: 13px 14px;
  color: #26334b;
  background: #f5f7fc;
}

.app-shell .brand-diagnosis-table-wrap {
  padding: 0 8px 8px;
}

.app-shell .brand-diagnosis-rule-table th,
.app-shell .brand-diagnosis-action-table th,
.app-shell .brand-diagnosis-dimension-table th,
.app-shell .brand-diagnosis-platform-table th {
  color: #52688d;
  background: #f5f7fc;
}

.app-shell .brand-diagnosis-rule-table td,
.app-shell .brand-diagnosis-action-table td,
.app-shell .brand-diagnosis-dimension-table td,
.app-shell .brand-diagnosis-platform-table td {
  color: #344159;
}

.app-shell .brand-diagnosis-action-buttons {
  gap: 7px;
}

.app-shell .brand-diagnosis-action-buttons .button {
  min-width: 48px;
}

.app-shell .brand-diagnosis-kpi-grid {
  gap: 14px;
  margin-bottom: 18px;
}

.app-shell .brand-diagnosis-kpi-card {
  min-height: 132px;
  padding: 18px 19px 17px;
  border-top: 3px solid var(--card-accent, var(--brand));
  border-color: #d6e0f2;
  border-top-color: var(--card-accent, var(--brand));
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .brand-diagnosis-kpi-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .brand-diagnosis-kpi-card:nth-child(2) { --card-accent: var(--purple); }
.app-shell .brand-diagnosis-kpi-card:nth-child(3) { --card-accent: var(--accent); }
.app-shell .brand-diagnosis-kpi-card:nth-child(4) { --card-accent: var(--orange); }

.app-shell .brand-diagnosis-kpi-card .stat-top {
  color: #61708a;
}

.app-shell .brand-diagnosis-kpi-card .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--card-accent, var(--brand)) 22%, white);
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: color-mix(in srgb, var(--card-accent, var(--brand)) 10%, white);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .brand-diagnosis-kpi-card .stat-value {
  color: var(--ink);
}

.app-shell .brand-diagnosis-kpi-card .stat-meta span {
  color: #718097;
}

.app-shell .brand-diagnosis-dimension-panel,
.app-shell .brand-diagnosis-platform-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--purple);
}

.app-shell .brand-diagnosis-platform-panel {
  border-top-color: var(--accent);
}

.app-shell .brand-diagnosis-dimension-panel .panel-header,
.app-shell .brand-diagnosis-platform-panel .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .brand-diagnosis-dimension-panel .eyebrow,
.app-shell .brand-diagnosis-platform-panel .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .brand-diagnosis-dimension-panel h3,
.app-shell .brand-diagnosis-platform-panel h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .brand-diagnosis-dimension-panel .panel-header p:not(.eyebrow),
.app-shell .brand-diagnosis-platform-panel .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .brand-diagnosis-dimension-table,
.app-shell .brand-diagnosis-platform-table {
  min-width: 920px;
}

.app-shell .brand-diagnosis-dimension-table td:first-child strong,
.app-shell .brand-diagnosis-platform-table td:first-child strong {
  color: var(--ink);
}

.app-shell .brand-diagnosis-score-track {
  background: #e0e7f3;
}

.app-shell .brand-diagnosis-score-track i {
  background: var(--brand);
}

.app-shell .brand-diagnosis-dimension-table .chip.green,
.app-shell .brand-diagnosis-platform-table .chip.green,
.app-shell .brand-diagnosis-rule-table .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

@media (max-width: 700px) {
  .app-shell .brand-diagnosis-scan-card {
    padding: 0;
  }

  .app-shell .brand-diagnosis-scan-heading,
  .app-shell .brand-diagnosis-board-heading,
  .app-shell .brand-diagnosis-board-grid,
  .app-shell .brand-diagnosis-scan-controls,
  .app-shell .brand-diagnosis-dimension-panel .panel-header,
  .app-shell .brand-diagnosis-platform-panel .panel-header {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .brand-diagnosis-scan-controls {
    grid-template-columns: 1fr;
  }

  .app-shell .brand-diagnosis-scan-controls > .button {
    grid-column: auto;
    justify-self: start;
  }

  .app-shell .brand-diagnosis-board-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .brand-diagnosis-board-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

}

/* JY Clean Ops v1 · FAQ 库：问答资产—库存量—结构化输入 */
.app-shell .faq-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .faq-context .context-kicker {
  color: var(--brand);
}

.app-shell .faq-context strong {
  color: var(--ink);
}

.app-shell .faq-context .context-note {
  color: #65728a;
}

.app-shell .faq-header {
  align-items: center;
  margin-bottom: 16px;
}

.app-shell .faq-header > div:first-child {
  gap: 7px;
}

.app-shell .faq-header .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .faq-header-title {
  gap: 10px;
}

.app-shell .faq-header-title h2 {
  color: var(--ink);
  font-size: 22px;
}

.app-shell .faq-header-title .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .faq-header > .button {
  min-width: 122px;
}

.app-shell .faq-form-card,
.app-shell .faq-list-panel {
  overflow: hidden;
  border-top: 3px solid var(--purple);
}

.app-shell .faq-form-card {
  margin-bottom: 18px;
}

.app-shell .faq-list-panel {
  margin-bottom: 0;
  border-top-color: var(--brand);
}

.app-shell .faq-form-card .panel-header,
.app-shell .faq-list-panel .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .faq-form-card .eyebrow,
.app-shell .faq-list-panel .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .faq-form-card h3,
.app-shell .faq-list-panel h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .faq-form-card .panel-header p:not(.eyebrow),
.app-shell .faq-list-panel .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .faq-form-grid {
  gap: 18px;
  padding: 20px 20px 22px;
}

.app-shell .faq-form-field {
  gap: 8px;
}

.app-shell .faq-form-field > span {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .faq-form-field input,
.app-shell .faq-form-field textarea {
  border-color: #c7d4e8;
  border-radius: 9px;
  background: #fbfcff;
}

.app-shell .faq-form-field input::placeholder,
.app-shell .faq-form-field textarea::placeholder {
  color: #8995a8;
}

.app-shell .faq-form-field input:focus,
.app-shell .faq-form-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .faq-form-footer {
  min-height: 66px;
  padding: 14px 20px 16px;
  border-top-color: var(--line);
  background: #f5f8ff;
}

.app-shell .faq-form-footer > span {
  max-width: 660px;
  color: #68758b;
}

.app-shell .faq-form-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
}

.app-shell .faq-form-actions .button {
  min-width: 94px;
}

.app-shell .faq-table-wrap {
  padding: 0 10px 10px;
}

.app-shell .faq-data-table th {
  color: #52688d;
  background: #f5f7fc;
}

.app-shell .faq-data-table td {
  color: #344159;
}

.app-shell .faq-question-cell,
.app-shell .faq-answer-cell {
  color: var(--ink) !important;
}

.app-shell .faq-empty-state {
  min-height: 150px;
  color: #6c7890;
}

.app-shell .faq-empty-state strong {
  color: var(--ink);
}

.app-shell .faq-empty-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #c5d3f3;
  border-radius: 12px;
  color: var(--brand);
  background: #edf2ff;
  font-size: 22px;
  font-weight: 650;
  line-height: 1;
}

@media (max-width: 700px) {
  .app-shell .faq-header {
    align-items: flex-start;
  }

  .app-shell .faq-header > .button {
    align-self: flex-start;
  }

  .app-shell .faq-form-card .panel-header,
  .app-shell .faq-list-panel .panel-header,
  .app-shell .faq-form-grid,
  .app-shell .faq-form-footer {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .faq-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .faq-form-actions {
    width: 100%;
  }

  .app-shell .faq-form-actions .button {
    flex: 1;
  }

  .app-shell .faq-table-wrap {
    padding-right: 5px;
    padding-left: 5px;
  }
}

/* JY Clean Ops v1 · 专业库：知识资产—库存量—结构化输入 */
.app-shell .knowledge-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .knowledge-context .context-kicker {
  color: var(--brand);
}

.app-shell .knowledge-context strong {
  color: var(--ink);
}

.app-shell .knowledge-context .context-note {
  color: #65728a;
}

.app-shell .knowledge-header {
  align-items: center;
  margin-bottom: 16px;
}

.app-shell .knowledge-header > div:first-child {
  gap: 7px;
}

.app-shell .knowledge-header .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .knowledge-header-title {
  gap: 10px;
}

.app-shell .knowledge-header-title h2 {
  color: var(--ink);
  font-size: 22px;
}

.app-shell .knowledge-header-title .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .knowledge-header-actions {
  gap: 9px;
}

.app-shell .knowledge-stat-grid {
  gap: 14px;
  margin-bottom: 18px;
}

.app-shell .knowledge-stat-card {
  min-height: 132px;
  padding: 18px 19px 17px;
  border-top: 3px solid var(--card-accent, var(--brand));
  border-color: #d6e0f2;
  border-top-color: var(--card-accent, var(--brand));
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .knowledge-stat-accepted { --card-accent: var(--brand); }
.app-shell .knowledge-stat-pending { --card-accent: var(--orange); }
.app-shell .knowledge-stat-capacity { --card-accent: var(--purple); }

.app-shell .knowledge-stat-card .stat-top {
  color: #61708a;
}

.app-shell .knowledge-stat-card .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--card-accent, var(--brand)) 22%, white);
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: color-mix(in srgb, var(--card-accent, var(--brand)) 10%, white);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .knowledge-stat-card .stat-value {
  color: var(--ink);
}

.app-shell .knowledge-stat-card .stat-value small,
.app-shell .knowledge-stat-card .stat-meta span {
  color: #718097;
}

.app-shell .knowledge-form-card,
.app-shell .knowledge-list-panel {
  overflow: hidden;
  border-top: 3px solid var(--purple);
}

.app-shell .knowledge-form-card {
  margin-bottom: 18px;
}

.app-shell .knowledge-form-card .panel-header,
.app-shell .knowledge-list-panel .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .knowledge-list-panel {
  border-top-color: var(--brand);
}

.app-shell .knowledge-form-card .eyebrow,
.app-shell .knowledge-list-panel .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .knowledge-form-card h3,
.app-shell .knowledge-list-panel h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .knowledge-form-card .panel-header p:not(.eyebrow),
.app-shell .knowledge-list-panel .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .knowledge-form-grid {
  gap: 18px;
  padding: 20px 20px 22px;
}

.app-shell .knowledge-form-field {
  gap: 8px;
}

.app-shell .knowledge-form-field > span {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .knowledge-form-field select,
.app-shell .knowledge-form-field input,
.app-shell .knowledge-form-field textarea {
  border-color: #c7d4e8;
  border-radius: 9px;
  background: #fbfcff;
}

.app-shell .knowledge-form-field input::placeholder,
.app-shell .knowledge-form-field textarea::placeholder {
  color: #8995a8;
}

.app-shell .knowledge-form-field select:focus,
.app-shell .knowledge-form-field input:focus,
.app-shell .knowledge-form-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .knowledge-form-footer {
  min-height: 66px;
  padding: 14px 20px 16px;
  border-top-color: var(--line);
  background: #f5f8ff;
}

.app-shell .knowledge-form-footer > span {
  max-width: 660px;
  color: #68758b;
}

.app-shell .knowledge-form-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
}

.app-shell .knowledge-form-actions .button {
  min-width: 104px;
}

.app-shell .knowledge-filter-bar {
  gap: 12px;
  padding: 18px 20px 16px;
  background: #fbfcff;
}

.app-shell .knowledge-filter > span {
  color: #718097;
}

.app-shell .knowledge-filter select {
  border-color: #c7d4e8;
  color: #344159;
  background-color: #fbfcff;
}

.app-shell .knowledge-filter select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .knowledge-table-wrap {
  padding: 0 10px 10px;
}

.app-shell .knowledge-data-table th {
  color: #52688d;
  background: #f5f7fc;
}

.app-shell .knowledge-data-table td {
  color: #344159;
}

.app-shell .knowledge-data-table td.knowledge-content-cell {
  color: var(--ink) !important;
}

.app-shell .knowledge-data-table .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .knowledge-data-table .chip.orange {
  border-color: #f1d59d;
  color: #9a6300;
  background: #fff5de;
}

.app-shell .knowledge-empty-state {
  min-height: 150px;
  color: #6c7890;
}

.app-shell .knowledge-empty-state strong {
  color: var(--ink);
}

.app-shell .knowledge-empty-icon {
  width: 42px;
  height: 42px;
  border: 1px solid #c5d3f3;
  border-radius: 12px;
  color: var(--brand);
  background: #edf2ff;
  font-size: 22px;
  font-weight: 650;
  line-height: 1;
}

@media (max-width: 700px) {
  .app-shell .knowledge-header {
    align-items: flex-start;
  }

  .app-shell .knowledge-header-actions {
    justify-content: flex-start;
  }

  .app-shell .knowledge-form-card .panel-header,
  .app-shell .knowledge-list-panel .panel-header,
  .app-shell .knowledge-form-grid,
  .app-shell .knowledge-form-footer,
  .app-shell .knowledge-filter-bar {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .knowledge-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .knowledge-form-actions {
    width: 100%;
  }

  .app-shell .knowledge-form-actions .button {
    flex: 1;
  }

  .app-shell .knowledge-table-wrap {
    padding-right: 5px;
    padding-left: 5px;
  }
}

/* JY Clean Ops v1 · 受众细分：策略判断—分群列表—结构化输入 */
.app-shell .segment-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .segment-context .context-kicker {
  color: var(--brand);
}

.app-shell .segment-context strong {
  color: var(--ink);
}

.app-shell .segment-context .context-note {
  color: #65728a;
}

.app-shell .segment-stat-grid {
  gap: 14px;
  margin-bottom: 18px;
}

.app-shell .segment-stat-card {
  min-height: 142px;
  padding: 18px 19px 17px;
  border-top: 3px solid var(--card-accent, var(--brand));
  border-color: #d6e0f2;
  border-top-color: var(--card-accent, var(--brand));
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .segment-stat-1 { --card-accent: var(--brand); }
.app-shell .segment-stat-2 { --card-accent: var(--accent); }
.app-shell .segment-stat-3 { --card-accent: var(--purple); }
.app-shell .segment-stat-4 { --card-accent: var(--orange); }

.app-shell .segment-stat-card .stat-top {
  color: #61708a;
}

.app-shell .segment-stat-card .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--card-accent, var(--brand)) 22%, white);
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: color-mix(in srgb, var(--card-accent, var(--brand)) 10%, white);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .segment-stat-card .stat-value {
  min-width: 0;
  color: var(--ink);
  white-space: nowrap;
}

.app-shell .segment-stat-card .stat-value small {
  color: #718097;
}

.app-shell .segment-stat-card .stat-meta span {
  color: #718097;
}

.app-shell .segment-comparison-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--brand);
}

.app-shell .segment-comparison-panel .panel-header,
.app-shell .segment-form-card .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .segment-comparison-panel .eyebrow,
.app-shell .segment-form-card .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .segment-comparison-panel h3,
.app-shell .segment-form-card h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .segment-comparison-panel .panel-header p:not(.eyebrow),
.app-shell .segment-form-card .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .segment-comparison-wrap {
  margin: 18px 20px 20px;
  border-color: #d6e0f2;
  border-radius: 11px;
}

.app-shell .segment-comparison-table {
  color: #344159;
}

.app-shell .segment-comparison-table th,
.app-shell .segment-comparison-table td {
  border-bottom-color: #e1e7f1;
}

.app-shell .segment-comparison-table thead th {
  color: #52688d;
  background: #f0f4ff;
}

.app-shell .segment-comparison-table tbody th {
  color: #26334b;
  background: #f8faff;
}

.app-shell .segment-comparison-table tbody tr:hover td,
.app-shell .segment-comparison-table tbody tr:hover th {
  background: #f8faff;
}

.app-shell .segment-comparison-table .segment-recommendation {
  color: var(--brand);
  background: #eff4ff;
}

.app-shell .segment-list-block {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--accent);
  border-color: #d6e0f2;
  border-top-color: var(--accent);
  background: #fbfcff;
}

.app-shell .segment-list-heading {
  padding: 19px 20px 14px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .segment-list-heading strong {
  color: var(--ink);
}

.app-shell .segment-list-heading span:not(.chip) {
  color: #68758b;
}

.app-shell .segment-list-heading .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .segment-list-wrap {
  padding: 0 10px 10px;
}

.app-shell .segment-data-table th {
  color: #52688d;
  background: #f5f7fc;
}

.app-shell .segment-data-table td {
  color: #344159;
}

.app-shell .segment-data-table td:first-child strong {
  color: var(--ink);
}

.app-shell .segment-draft-status {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .segment-empty-state {
  min-height: 150px;
  color: #6c7890;
}

.app-shell .segment-empty-state strong {
  color: var(--ink);
}

.app-shell .segment-empty-icon {
  width: 42px;
  height: 42px;
  border: 1px solid #c5d3f3;
  border-radius: 12px;
  color: var(--brand);
  background: #edf2ff;
  font-size: 22px;
  font-weight: 650;
  line-height: 1;
}

.app-shell .segment-form-card {
  margin-bottom: 0;
  overflow: hidden;
  border-top: 3px solid var(--purple);
}

.app-shell .segment-form-grid {
  gap: 18px;
  padding: 20px 20px 22px;
}

.app-shell .segment-field,
.app-shell .segment-priority-field {
  gap: 8px;
}

.app-shell .segment-field > span,
.app-shell .segment-priority-field legend {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .segment-field input,
.app-shell .segment-field textarea {
  border-color: #c7d4e8;
  border-radius: 9px;
  background: #fbfcff;
}

.app-shell .segment-field input::placeholder,
.app-shell .segment-field textarea::placeholder {
  color: #8995a8;
}

.app-shell .segment-field input:focus,
.app-shell .segment-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .segment-priority-options {
  gap: 9px;
}

.app-shell .segment-priority-option {
  border-color: #c7d4e8;
  background: #fbfcff;
}

.app-shell .segment-priority-option input {
  accent-color: var(--brand);
}

.app-shell .segment-priority-option span {
  color: #26334b;
}

.app-shell .segment-priority-option small {
  color: #718097;
}

.app-shell .segment-priority-option.is-selected {
  border-color: var(--brand);
  background: #f0f4ff;
  box-shadow: 0 0 0 2px rgba(49, 91, 234, .10);
}

.app-shell .segment-form-footer {
  min-height: 66px;
  padding: 14px 20px 16px;
  border-top-color: var(--line);
  background: #f5f8ff;
}

.app-shell .segment-form-footer > span {
  max-width: 660px;
  color: #68758b;
}

@media (max-width: 700px) {
  .app-shell .segment-comparison-panel .panel-header,
  .app-shell .segment-form-card .panel-header,
  .app-shell .segment-form-grid,
  .app-shell .segment-form-footer {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .segment-list-heading {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .segment-list-wrap,
  .app-shell .segment-comparison-wrap {
    margin-right: 16px;
    margin-left: 16px;
  }

  .app-shell .segment-list-wrap {
    padding-right: 0;
    padding-left: 0;
  }

  .app-shell .segment-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* JY Clean Ops v1 · 目标受众：受众档案—画像列表—结构化输入 */
.app-shell .audience-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .audience-context .context-kicker {
  color: var(--brand);
}

.app-shell .audience-context strong {
  color: var(--ink);
}

.app-shell .audience-context .context-note {
  color: #65728a;
}

.app-shell .audience-persona-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--brand);
}

.app-shell .audience-persona-heading {
  align-items: center;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .audience-persona-heading .eyebrow,
.app-shell .audience-form-card .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .audience-persona-heading h2 {
  color: var(--ink);
  font-size: 21px;
  letter-spacing: -.02em;
}

.app-shell .audience-persona-heading p {
  max-width: 700px;
  margin-top: 8px;
  color: #66748c;
}

.app-shell .audience-persona-heading .button {
  flex: 0 0 auto;
  min-width: 106px;
}

.app-shell .audience-empty-state {
  min-height: 190px;
  margin: 18px 22px 22px;
  border-color: #cbd8f2;
  border-radius: 12px;
  background: #f8faff;
}

.app-shell .audience-empty-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 5px;
  border: 1px solid #c5d3f3;
  border-radius: 14px;
  color: var(--brand);
  background: #edf2ff;
  font-size: 24px;
  font-weight: 650;
  line-height: 1;
}

.app-shell .audience-empty-state strong {
  color: var(--ink);
}

.app-shell .audience-empty-state span {
  color: #6c7890;
}

.app-shell .audience-persona-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: 14px;
  padding: 18px 22px 22px;
}

.app-shell .audience-persona-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 17px 18px 18px;
  border-color: #d6e0f2;
  border-radius: 12px;
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .audience-persona-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--brand);
  content: '';
}

.app-shell .audience-persona-card:nth-child(2n)::before {
  background: var(--accent);
}

.app-shell .audience-persona-card:nth-child(3n)::before {
  background: var(--purple);
}

.app-shell .audience-persona-card-header {
  padding-bottom: 13px;
  border-bottom-color: #e0e6f2;
}

.app-shell .audience-persona-card-header .eyebrow {
  color: var(--brand);
}

.app-shell .audience-persona-card-header h3 {
  color: var(--ink);
}

.app-shell .audience-persona-card-header .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .audience-persona-card dl {
  gap: 10px;
  margin-top: 14px;
}

.app-shell .audience-persona-card dt {
  color: #7a869b;
}

.app-shell .audience-persona-card dd {
  color: #27344c;
}

.app-shell .audience-form-card {
  margin-bottom: 0;
  overflow: hidden;
  border-top: 3px solid var(--purple);
}

.app-shell .audience-form-card .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfaff;
}

.app-shell .audience-form-card .panel-header h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .audience-form-card .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .audience-form-card .panel-header .chip {
  flex: 0 0 auto;
}

.app-shell .audience-form-grid {
  gap: 18px;
  padding: 20px 20px 22px;
}

.app-shell .audience-field {
  gap: 8px;
}

.app-shell .audience-field > span {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .audience-field input,
.app-shell .audience-field textarea {
  border-color: #c7d4e8;
  border-radius: 9px;
  background: #fbfcff;
}

.app-shell .audience-field input::placeholder,
.app-shell .audience-field textarea::placeholder {
  color: #8995a8;
}

.app-shell .audience-field input:focus,
.app-shell .audience-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .audience-form-footer {
  min-height: 66px;
  padding: 14px 20px 16px;
  border-top-color: var(--line);
  background: #f5f8ff;
}

.app-shell .audience-form-footer > span {
  max-width: 660px;
  color: #68758b;
}

.app-shell .audience-form-footer .button {
  min-width: 104px;
}

@media (max-width: 700px) {
  .app-shell .audience-persona-heading {
    align-items: stretch;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .audience-persona-heading .button {
    align-self: flex-start;
  }

  .app-shell .audience-empty-state {
    margin-right: 16px;
    margin-left: 16px;
  }

  .app-shell .audience-persona-list {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .audience-form-card .panel-header,
  .app-shell .audience-form-grid,
  .app-shell .audience-form-footer {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .audience-form-card .panel-header {
    align-items: flex-start;
  }
}

/* JY Clean Ops v1 · 品牌故事：时间证据—叙事摘要—结构化输入 */
.app-shell .story-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .story-context .context-kicker {
  color: var(--brand);
}

.app-shell .story-context strong {
  color: var(--ink);
}

.app-shell .story-context .context-note {
  color: #65728a;
}

.app-shell .story-stat-grid {
  gap: 14px;
  margin-bottom: 18px;
}

.app-shell .story-stat-card {
  min-height: 138px;
  padding: 18px 19px 17px;
  border-top: 3px solid var(--card-accent, var(--brand));
  border-color: #d6e0f2;
  border-top-color: var(--card-accent, var(--brand));
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .story-stat-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .story-stat-card:nth-child(2) { --card-accent: var(--accent); }
.app-shell .story-stat-card:nth-child(3) { --card-accent: var(--purple); }
.app-shell .story-stat-card:nth-child(4) { --card-accent: var(--orange); }

.app-shell .story-stat-card .stat-top {
  color: #61708a;
}

.app-shell .story-stat-card .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--card-accent, var(--brand)) 22%, white);
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: color-mix(in srgb, var(--card-accent, var(--brand)) 10%, white);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .story-stat-card .stat-value {
  color: var(--ink);
}

.app-shell .story-stat-card .stat-value small {
  color: #718097;
}

.app-shell .story-stat-card .stat-meta {
  color: #718097;
}

.app-shell .story-milestone-panel,
.app-shell .story-summary-panel,
.app-shell .story-edit-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 3px solid var(--brand);
}

.app-shell .story-summary-panel {
  border-top-color: var(--accent);
}

.app-shell .story-edit-panel {
  margin-bottom: 0;
  border-top-color: var(--purple);
}

.app-shell .story-milestone-panel .panel-header,
.app-shell .story-summary-panel .panel-header,
.app-shell .story-edit-panel .panel-header {
  align-items: flex-start;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .story-milestone-panel .eyebrow,
.app-shell .story-summary-panel .eyebrow,
.app-shell .story-edit-panel .eyebrow {
  margin: 0 0 7px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .story-milestone-panel h3,
.app-shell .story-summary-panel h3,
.app-shell .story-edit-panel h3 {
  color: var(--ink);
  font-size: 18px;
}

.app-shell .story-milestone-panel .panel-header p:not(.eyebrow),
.app-shell .story-summary-panel .panel-header p:not(.eyebrow),
.app-shell .story-edit-panel .panel-header p:not(.eyebrow) {
  margin-top: 7px;
  color: #68758b;
}

.app-shell .story-milestone-list {
  gap: 1px;
  padding: 14px 24px 22px 33px;
}

.app-shell .story-milestone-list::before {
  top: 28px;
  bottom: 28px;
  left: 47px;
  width: 2px;
  background: #d6e0f2;
}

.app-shell .story-milestone {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 13px;
  padding: 9px 0;
}

.app-shell .story-milestone-marker {
  display: grid;
  place-items: center;
  align-items: center;
  justify-items: center;
  width: 28px;
  height: 28px;
  margin: 0;
  box-sizing: border-box;
  border-color: #c5d3f3;
  color: var(--brand);
  background: #edf2ff;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.app-shell .story-milestone strong {
  color: #26334b;
}

.app-shell .story-milestone span {
  color: #7a869b;
}

.app-shell .story-summary-table {
  margin: 18px 20px 20px;
  border-color: #d6e0f2;
  border-radius: 11px;
  background: #fbfcff;
}

.app-shell .story-summary-table > div {
  grid-template-columns: 72px minmax(0, 1fr);
  padding: 14px 15px;
  border-top-color: #e4e9f2;
}

.app-shell .story-summary-table strong {
  color: var(--brand);
}

.app-shell .story-summary-table span {
  color: #344159;
}

.app-shell .story-edit-grid {
  gap: 18px;
  padding: 20px 20px 22px;
}

.app-shell .story-field {
  gap: 8px;
}

.app-shell .story-field > span {
  color: #26334b;
  font-size: 13px;
  letter-spacing: .01em;
}

.app-shell .story-field textarea {
  border-color: #c7d4e8;
  border-radius: 9px;
  background: #fbfcff;
}

.app-shell .story-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .story-edit-footer {
  min-height: 66px;
  padding: 14px 20px 16px;
  border-top-color: var(--line);
  background: #f5f8ff;
}

.app-shell .story-edit-footer > span {
  max-width: 660px;
  color: #68758b;
}

.app-shell .story-edit-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
}

.app-shell .story-edit-actions .button {
  min-width: 94px;
}

@media (max-width: 700px) {
  .app-shell .story-stat-grid,
  .app-shell .story-edit-grid { grid-template-columns: 1fr; }

  .app-shell .story-milestone-panel .panel-header,
  .app-shell .story-summary-panel .panel-header,
  .app-shell .story-edit-panel .panel-header,
  .app-shell .story-edit-grid,
  .app-shell .story-edit-footer { padding-right: 16px; padding-left: 16px; }

  .app-shell .story-edit-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .story-edit-actions {
    width: 100%;
  }

  .app-shell .story-edit-actions .button {
    flex: 1;
  }

  .app-shell .story-milestone-list {
    padding-right: 16px;
    padding-left: 23px;
  }

  .app-shell .story-milestone-list::before {
    left: 37px;
  }

  .app-shell .story-summary-table {
    margin-right: 16px;
    margin-left: 16px;
  }
}

/* JY Clean Ops v1 · 基础信息：事实主档—字段分组—服务证据—版本操作 */
.app-shell .brand-context-strip {
  border-color: #d6e0f2;
  background: #f5f8ff;
}

.app-shell .brand-context-strip .context-kicker,
.app-shell .brand-context-strip strong {
  color: var(--brand);
}

.app-shell .brand-context-strip .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .brand-overview {
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.8fr);
  gap: 16px;
  margin-bottom: 20px;
}

.app-shell .completion-card {
  min-height: 226px;
  padding: 22px;
  border: 1px solid #253a65;
  border-radius: 14px;
  background: linear-gradient(145deg, #10182b, #1b2c52);
  box-shadow: 0 12px 28px rgba(16, 24, 43, .16);
}

.app-shell .completion-ring {
  position: relative;
  width: 148px;
  height: 148px;
  background: conic-gradient(var(--accent) 0 72%, rgba(255,255,255,.12) 72% 100%);
}

.app-shell .completion-ring.completion-full { background: conic-gradient(var(--accent) 0 100%, rgba(255,255,255,.12) 100% 100%); }
.app-shell .completion-ring.completion-high { background: conic-gradient(var(--accent) 0 75%, rgba(255,255,255,.12) 75% 100%); }
.app-shell .completion-ring.completion-mid { background: conic-gradient(var(--accent) 0 50%, rgba(255,255,255,.12) 50% 100%); }
.app-shell .completion-ring.completion-low { background: conic-gradient(var(--accent) 0 25%, rgba(255,255,255,.12) 25% 100%); }
.app-shell .completion-ring.completion-empty { background: conic-gradient(var(--accent) 0 0%, rgba(255,255,255,.12) 0% 100%); }

.app-shell .completion-ring::before {
  inset: 11px;
  width: auto;
  height: auto;
  background: #10182b;
}

.app-shell .completion-ring strong {
  z-index: 1;
  color: #fff;
  font-family: inherit;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -.05em;
  text-shadow: 0 1px 8px rgba(0,0,0,.22);
}

#app .completion-ring strong {
  color: #fff;
}

.app-shell .completion-card > strong {
  margin-top: 16px;
  color: #fff;
  font-size: 13px;
}

.app-shell .completion-card > span {
  color: #b8c8e5;
  font-size: 11px;
}

.app-shell .brand-facts {
  gap: 14px;
}

.app-shell .fact-card {
  position: relative;
  min-height: 106px;
  overflow: hidden;
  padding: 18px;
  border-radius: 12px;
  background: #fff;
}

.app-shell .fact-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
}

.app-shell .fact-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .fact-card:nth-child(2) { --card-accent: var(--accent); }
.app-shell .fact-card:nth-child(3) { --card-accent: var(--purple); }

.app-shell .fact-card h3 {
  color: var(--admin-text-strong);
  font-size: 13px;
}

.app-shell .fact-card p {
  min-height: 32px;
  color: var(--admin-text-tertiary);
  font-size: 11px;
}

.app-shell .fact-progress {
  height: 6px;
  margin-top: 13px;
  background: #e8edf5;
}

.app-shell .fact-progress i {
  background: var(--card-accent, var(--brand));
}

.app-shell .fact-footer {
  margin-top: 9px;
  color: var(--admin-text-tertiary);
  font-size: 10px;
}

.app-shell .fact-footer b {
  color: var(--card-accent, var(--brand));
}

.app-shell .field-group-panel {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
  border-top: 3px solid var(--card-accent, var(--brand));
}

.app-shell .field-group-required { --card-accent: var(--coral); }
.app-shell .field-group-core { --card-accent: var(--brand); }
.app-shell .field-group-bonus { --card-accent: var(--purple); }

.app-shell .field-group-panel .panel-header {
  padding: 20px 22px 16px;
  border-bottom-color: var(--line);
}

.app-shell .field-group-panel .panel-header h3 {
  color: var(--admin-text-strong);
  font-size: 16px;
}

.app-shell .field-group-panel .panel-header p {
  color: var(--admin-text-tertiary);
  font-size: 11px;
}

.app-shell .field-group-dot {
  width: 9px;
  height: 9px;
  background: var(--card-accent, var(--brand));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--card-accent, var(--brand)) 12%, white);
}

.app-shell .field-group-panel .form-grid {
  gap: 18px 20px;
  padding: 20px 22px 24px;
}

.app-shell .guided-field .field-label-row label {
  color: var(--admin-text-strong);
  font-size: 13px;
}

.app-shell .guided-field input,
.app-shell .guided-field textarea {
  border-color: #d5def0;
  border-radius: 10px;
  color: var(--admin-text);
  background: #fbfcff;
  font-size: 13px;
}

.app-shell .guided-field input:focus,
.app-shell .guided-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .field-help,
.app-shell .field-example {
  color: var(--admin-text-tertiary);
  font-size: 11px;
}

.app-shell .field-example {
  color: #8994aa;
}

.app-shell .usage-content {
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .usage-title {
  color: #a96e14;
  background: var(--orange-light);
}

.app-shell .usage-output {
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .usage-internal {
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .brand-service-panel {
  margin-top: 20px;
  overflow: hidden;
  border-top: 3px solid var(--accent);
}

.app-shell .brand-service-panel .panel-header {
  padding: 20px 22px 16px;
  border-bottom-color: var(--line);
}

.app-shell .brand-service-panel .panel-header .eyebrow {
  margin-bottom: 7px;
  color: #087f8c;
}

.app-shell .brand-service-table {
  width: 100%;
  min-width: 920px;
  table-layout: fixed;
}

.app-shell .brand-service-table th {
  padding: 12px 11px;
  color: var(--admin-text-tertiary);
  background: #f7f9fc;
  font-size: 11px;
}

.app-shell .brand-service-table td {
  padding: 14px 11px;
  color: var(--admin-text);
  font-size: 12px;
  line-height: 1.55;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.app-shell .brand-service-table th:nth-child(1) { width: 18%; }
.app-shell .brand-service-table th:nth-child(2) { width: 9%; }
.app-shell .brand-service-table th:nth-child(3) { width: 22%; }
.app-shell .brand-service-table th:nth-child(4) { width: 16%; }
.app-shell .brand-service-table th:nth-child(5) { width: 13%; }
.app-shell .brand-service-table th:nth-child(6) { width: 11%; }
.app-shell .brand-service-table th:nth-child(7) { width: 11%; }

.app-shell .brand-service-toggle {
  color: var(--admin-text-strong);
}

.app-shell .brand-service-toggle:hover {
  color: var(--brand);
}

.app-shell .brand-service-caret {
  border: 1px solid #bdcef8;
  border-radius: 50%;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .brand-service-detail-row td {
  background: #f5f8ff;
}

.app-shell .brand-service-detail {
  border-color: #d6e0f2;
  background: #fff;
}

.app-shell .brand-edit-actions {
  margin-top: 20px;
  padding: 18px 22px;
  border-top: 3px solid var(--brand);
  background: #fff;
}

.app-shell .brand-modal-overlay {
  background: rgba(16, 24, 43, .36);
}

.app-shell .brand-modal {
  border-color: #d6e0f2;
  box-shadow: 0 24px 70px rgba(16, 24, 43, .22);
}

.app-shell .brand-modal-heading .eyebrow {
  color: var(--brand);
}

.app-shell .brand-modal-field textarea,
.app-shell .brand-service-form input,
.app-shell .brand-service-form select,
.app-shell .brand-service-form textarea {
  border-color: #d5def0;
  background: #fbfcff;
}

.app-shell .brand-modal-field textarea:focus,
.app-shell .brand-service-form input:focus,
.app-shell .brand-service-form select:focus,
.app-shell .brand-service-form textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .brand-guide-list > div {
  border-color: #d6e0f2;
  background: #f5f8ff;
}

/* AI 引导填写：把“静态填充建议”改成可暂停、可复核的本地访谈流程。 */
.app-shell .brand-guide-modal {
  width: min(100%, 760px);
}

.app-shell .brand-guide-intro,
.app-shell .brand-guide-interview,
.app-shell .brand-guide-review {
  display: grid;
  gap: 18px;
}

.app-shell .brand-guide-rule-hero {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px;
  border: 1px solid #ccd8f1;
  border-radius: 14px;
  background: linear-gradient(135deg, #f4f7ff, #f9fbff);
}

.app-shell .brand-guide-rule-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: var(--brand);
  font-size: 18px;
}

.app-shell .brand-guide-rule-hero strong,
.app-shell .brand-guide-status-card strong,
.app-shell .brand-guide-review-row strong {
  color: var(--admin-text-strong);
  font-size: 14px;
  line-height: 1.45;
}

.app-shell .brand-guide-rule-hero p,
.app-shell .brand-guide-status-card span,
.app-shell .brand-guide-review-heading p,
.app-shell .brand-guide-review-empty span {
  margin: 4px 0 0;
  color: var(--admin-text-secondary);
  font-size: 12px;
  line-height: 1.65;
}

.app-shell .brand-guide-promise-list {
  gap: 9px;
}

.app-shell .brand-guide-promise-list > div {
  position: relative;
  padding-left: 38px;
}

.app-shell .brand-guide-promise-list > div::before {
  position: absolute;
  top: 13px;
  left: 14px;
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border-radius: 50%;
  color: #315bea;
  background: #e6ecff;
  content: '✓';
  font-size: 10px;
  font-weight: 900;
}

.app-shell .brand-guide-status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  border: 1px solid #d8e1f2;
  border-radius: 11px;
  background: #fafbff;
}

.app-shell .brand-guide-status-card > div,
.app-shell .brand-guide-review-heading > div {
  min-width: 0;
}

.app-shell .brand-guide-save-state,
.app-shell .brand-guide-autosave,
.app-shell .brand-guide-review-count {
  flex: 0 0 auto;
  color: #5670a5;
  font-size: 11px;
  font-weight: 800;
}

.app-shell .brand-guide-stepbar {
  display: grid;
  grid-template-columns: auto minmax(100px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #d8e1f2;
  border-radius: 11px;
  background: #fafbff;
}

.app-shell .brand-guide-stepbar > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.app-shell .brand-guide-category {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
}

.app-shell .brand-guide-stepbar strong {
  color: var(--admin-text-strong);
  font-size: 12px;
}

.app-shell .brand-guide-progress {
  height: 6px;
  overflow: hidden;
  border-radius: 99px;
  background: #e8edf7;
}

.app-shell .brand-guide-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #315bea, #6b8cff);
  transition: width .2s ease;
}

.app-shell .brand-guide-question {
  display: grid;
  gap: 7px;
  padding: 3px 3px 0;
}

.app-shell .brand-guide-question .eyebrow {
  margin: 0;
  color: var(--brand);
}

.app-shell .brand-guide-question h3 {
  max-width: 620px;
  margin: 0;
  color: var(--admin-text-strong);
  font-size: 21px;
  line-height: 1.45;
}

.app-shell .brand-guide-hint,
.app-shell .brand-guide-shortcut,
.app-shell .brand-guide-example span,
.app-shell .brand-guide-review-note span {
  color: var(--admin-text-secondary);
  font-size: 12px;
  line-height: 1.65;
}

.app-shell .brand-guide-hint {
  margin: 0;
}

.app-shell .brand-guide-example {
  display: grid;
  gap: 4px;
  margin-top: 3px;
  padding: 10px 12px;
  border-left: 3px solid #8ba4f5;
  background: #f6f8ff;
}

.app-shell .brand-guide-example strong {
  color: #4665b0;
  font-size: 11px;
}

.app-shell .brand-guide-answer-field {
  display: grid;
  gap: 7px;
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 900;
}

.app-shell .brand-guide-answer-field span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.app-shell .brand-guide-answer-field em {
  color: var(--admin-text-secondary);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

.app-shell .brand-guide-answer-field textarea {
  width: 100%;
  min-height: 142px;
  padding: 12px 13px;
  border: 1px solid #cbd7ed;
  border-radius: 10px;
  color: var(--admin-text);
  background: #fff;
  font: inherit;
  font-size: 14px;
  line-height: 1.7;
  outline: 0;
  resize: vertical;
}

.app-shell .brand-guide-answer-field textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .brand-guide-shortcut {
  margin-top: -9px;
  color: #7683a0;
}

.app-shell .brand-guide-interview-actions {
  align-items: center;
}

.app-shell .brand-guide-interview-actions > span {
  flex: 1;
}

.app-shell .brand-guide-review-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.app-shell .brand-guide-review-heading h2 {
  margin: 0;
  color: var(--admin-text-strong);
  font-size: 20px;
}

.app-shell .brand-guide-review-heading .eyebrow {
  margin: 0 0 7px;
  color: var(--brand);
}

.app-shell .brand-guide-review-count {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eaf0ff;
}

.app-shell .brand-guide-review-list {
  display: grid;
  gap: 9px;
  max-height: 340px;
  overflow: auto;
  padding-right: 3px;
}

.app-shell .brand-guide-review-row {
  display: grid;
  gap: 7px;
  padding: 12px 14px;
  border: 1px solid #d8e1f2;
  border-radius: 10px;
  background: #fbfcff;
}

.app-shell .brand-guide-review-row > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.app-shell .brand-guide-review-row span {
  color: #6475a1;
  font-size: 11px;
}

.app-shell .brand-guide-review-row p {
  margin: 0;
  color: var(--admin-text);
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}

.app-shell .brand-guide-review-empty {
  display: grid;
  gap: 5px;
  padding: 20px;
  border: 1px dashed #cbd7ed;
  border-radius: 10px;
  text-align: center;
}

.app-shell .brand-guide-review-empty strong {
  color: var(--admin-text-strong);
  font-size: 13px;
}

.app-shell .brand-guide-review-note {
  display: grid;
  gap: 4px;
  padding: 11px 13px;
  border: 1px solid #f1d9a4;
  border-radius: 10px;
  background: #fff9ed;
}

.app-shell .brand-guide-review-note strong {
  color: #8a5d12;
  font-size: 12px;
}

@media (max-width: 700px) {
  .app-shell .brand-guide-status-card,
  .app-shell .brand-guide-review-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .brand-guide-stepbar {
    grid-template-columns: 1fr auto;
  }

  .app-shell .brand-guide-progress {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .app-shell .brand-guide-autosave {
    grid-column: 2;
    grid-row: 1;
  }

  .app-shell .brand-guide-answer-field span,
  .app-shell .brand-guide-review-row > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

@media (max-width: 980px) {
  .app-shell .brand-overview { grid-template-columns: 1fr; }
  .app-shell .completion-card { min-height: 210px; }
}

@media (max-width: 700px) {
  .app-shell .brand-overview { gap: 14px; }
  .app-shell .brand-facts { grid-template-columns: 1fr; }
  .app-shell .field-group-panel .panel-header,
  .app-shell .brand-service-panel .panel-header { padding-right: 16px; padding-left: 16px; }
  .app-shell .field-group-panel .form-grid { padding-right: 16px; padding-left: 16px; }
  .app-shell .brand-service-table { min-width: 920px; }
  .app-shell .brand-edit-actions { padding-right: 16px; padding-left: 16px; }
}

/* JY Clean Ops v1 · 基础信息局部保存与服务表第一列对齐修正 */
.app-shell .brand-group-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 22px 18px;
  border-top: 1px solid #e3e8f2;
  background: #fbfcff;
}

.app-shell .brand-group-actions > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.app-shell .brand-group-actions strong {
  color: var(--admin-text-strong);
  font-size: 12px;
}

.app-shell .brand-group-actions span {
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.5;
}

.app-shell .brand-group-actions > div:last-child {
  display: flex;
  flex: 0 0 auto;
  gap: 9px;
}

.app-shell .brand-service-toggle {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  justify-content: initial;
  min-width: 0;
  gap: 10px;
  white-space: normal;
}

.app-shell .brand-service-caret {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0;
  place-self: center;
  font-size: 0;
  line-height: 0;
}

.app-shell .brand-service-caret::before {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.app-shell .brand-service-caret.is-expanded::before {
  transform: rotate(135deg);
}

.app-shell .brand-service-name {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: inherit;
  line-height: 1.4;
  text-align: left;
}

.app-shell .brand-service-table td:first-child {
  min-width: 0;
}

@media (max-width: 700px) {
  .app-shell .brand-group-actions {
    align-items: flex-start;
    flex-direction: column;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .brand-group-actions > div:last-child {
    width: 100%;
  }

  .app-shell .brand-group-actions .button {
    flex: 1;
  }
}

/* JY Clean Ops v1 · 业务定位：定位主档—指标摘要—平台证据 */
.app-shell .positioning-context {
  border-color: #d6e0f2;
  background: #f5f8ff;
}

.app-shell .positioning-context .context-kicker,
.app-shell .positioning-context strong {
  color: var(--brand);
}

.app-shell .positioning-context .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-stat-grid {
  gap: 14px;
  margin-bottom: 20px;
}

.app-shell .positioning-stat-card {
  position: relative;
  min-height: 128px;
  overflow: hidden;
  border-top: 0;
  border-radius: 12px;
}

.app-shell .positioning-stat-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
  content: "";
}

.app-shell .positioning-stat-card:nth-child(1) { --card-accent: var(--brand); }
.app-shell .positioning-stat-card:nth-child(2) { --card-accent: var(--purple); }
.app-shell .positioning-stat-card:nth-child(3) { --card-accent: var(--accent); }
.app-shell .positioning-stat-card:nth-child(4) { --card-accent: var(--orange); }

.app-shell .positioning-stat-card .stat-icon {
  color: var(--card-accent, var(--brand));
  border-color: #d5def6;
  background: #eef3ff;
}

.app-shell .positioning-stat-card:nth-child(2) .stat-icon {
  border-color: #ddd9f5;
  background: var(--purple-light);
}

.app-shell .positioning-stat-card:nth-child(3) .stat-icon {
  border-color: #c8e8ed;
  background: #e5f7f7;
}

.app-shell .positioning-stat-card:nth-child(4) .stat-icon {
  border-color: #f1dfbd;
  background: var(--orange-light);
}

.app-shell .positioning-form-panel {
  margin-bottom: 20px;
  overflow: hidden;
  border-top: 3px solid var(--brand);
}

.app-shell .positioning-form-panel .panel-header,
.app-shell .positioning-validation-panel .panel-header {
  padding: 20px 22px 16px;
  border-bottom-color: var(--line);
}

.app-shell .positioning-form-panel .panel-header .eyebrow,
.app-shell .positioning-validation-panel .panel-header .eyebrow {
  margin-bottom: 7px;
  color: var(--brand);
}

.app-shell .positioning-form-grid {
  gap: 18px;
  padding: 20px 22px 22px;
}

.app-shell .positioning-field label {
  color: var(--admin-text-strong);
}

.app-shell .positioning-field input,
.app-shell .positioning-field textarea {
  border-color: #d5def0;
  border-radius: 10px;
  color: var(--admin-text);
  background: #fbfcff;
}

.app-shell .positioning-field input::placeholder,
.app-shell .positioning-field textarea::placeholder {
  color: #8994aa;
}

.app-shell .positioning-field input:focus,
.app-shell .positioning-field textarea:focus {
  border-color: var(--brand);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12);
}

.app-shell .positioning-form-footer {
  align-items: flex-end;
  padding: 15px 22px 18px;
  border-top-color: #d6e0f2;
  background: #f5f8ff;
}

.app-shell .positioning-form-footer > div:first-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.app-shell .positioning-form-footer > div:first-child > span {
  color: var(--admin-text-secondary);
}

.app-shell .positioning-rule-note {
  color: var(--brand) !important;
  font-weight: 750;
}

.app-shell .positioning-form-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 9px;
}

.app-shell .positioning-validation-panel {
  margin-bottom: 0;
  border-top: 3px solid var(--purple);
}

.app-shell .positioning-validation-header .eyebrow {
  color: var(--purple);
}

.app-shell .positioning-example-label {
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .positioning-detail-toggle {
  border-color: #cbd7f3;
  color: var(--brand);
  background: #fff;
}

.app-shell .positioning-detail-toggle:hover,
.app-shell .positioning-detail-toggle:focus-visible {
  border-color: var(--brand);
  color: #2346c1;
  background: #f1f5ff;
}

.app-shell .positioning-platform-grid {
  gap: 12px;
  padding: 18px 22px 22px;
}

.app-shell .positioning-platform-card {
  min-height: 82px;
  padding: 12px 13px;
  border-color: var(--line);
  border-radius: 10px;
  background: #fbfcfe;
}

.app-shell .positioning-platform-mark {
  border: 1px solid #bdcef8;
  border-radius: 50%;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .positioning-platform-card:nth-child(2) .positioning-platform-mark {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-platform-card:nth-child(3) .positioning-platform-mark {
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .positioning-platform-card:nth-child(4) .positioning-platform-mark {
  border-color: #f1dfbd;
  color: #a96e14;
  background: var(--orange-light);
}

.app-shell .positioning-platform-card:nth-child(5) .positioning-platform-mark {
  border-color: #bdcef8;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .positioning-platform-card .chip.green {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .positioning-validation-details {
  margin: 0 22px 22px;
  padding: 14px;
  border-color: #d6e0f2;
  border-radius: 10px;
  background: #f5f8ff;
}

@media (max-width: 700px) {
  .app-shell .positioning-form-panel .panel-header,
  .app-shell .positioning-validation-panel .panel-header,
  .app-shell .positioning-form-grid,
  .app-shell .positioning-form-footer,
  .app-shell .positioning-platform-grid { padding-right: 16px; padding-left: 16px; }
  .app-shell .positioning-form-footer { align-items: flex-start; flex-direction: column; }
  .app-shell .positioning-form-actions { width: 100%; }
  .app-shell .positioning-form-actions .button { flex: 1; }
  .app-shell .positioning-platform-grid { grid-template-columns: 1fr; }
  .app-shell .positioning-validation-details { margin-right: 16px; margin-left: 16px; }
}

/* JY Clean Ops v1 · 内容诊断：诊断准备—结果视图—空状态 */
.app-shell .content-diagnosis-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .content-diagnosis-context .context-kicker,
.app-shell .content-diagnosis-context strong {
  color: var(--brand);
}

.app-shell .content-diagnosis-context .context-note {
  color: #65728a;
}

.app-shell .content-diagnosis-panel {
  margin-bottom: 0;
  overflow: hidden;
  border-color: #d6e0f2;
  border-top: 3px solid var(--brand);
  border-radius: 11px;
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .content-diagnosis-header {
  min-height: 92px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 20px 17px;
  border-bottom-color: var(--line);
  background: #fbfcff;
}

.app-shell .content-diagnosis-header > div:first-child {
  display: grid;
  gap: 6px;
}

.app-shell .content-diagnosis-header .eyebrow,
.app-shell .content-diagnosis-toolbar-copy .eyebrow,
.app-shell .content-diagnosis-empty .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .content-diagnosis-header strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 850;
}

.app-shell .content-diagnosis-header > div:first-child > span {
  color: #68758b;
  font-size: 13px;
  line-height: 1.55;
}

.app-shell .content-diagnosis-status {
  min-height: 29px;
  padding: 0 10px;
  border-color: #f0d6af;
  color: #9a651e;
  background: #fff8ec;
  font-size: 12px;
}

.app-shell .content-diagnosis-toolbar {
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  border-bottom: 1px solid var(--line);
  background: #f7f9fd;
}

.app-shell .content-diagnosis-toolbar-copy {
  display: grid;
  min-width: 220px;
  gap: 4px;
}

.app-shell .content-diagnosis-toolbar-copy .eyebrow {
  color: var(--brand);
}

.app-shell .content-diagnosis-toolbar-copy strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
}

.app-shell .content-diagnosis-toolbar-copy > span {
  color: #718097;
  font-size: 12px;
  line-height: 1.45;
}

.app-shell .content-diagnosis-filters {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.app-shell .content-diagnosis-filters label {
  display: grid;
  min-width: 164px;
  gap: 7px;
}

.app-shell .content-diagnosis-filters label > span {
  color: #26334b;
  font-size: 12px;
  font-weight: 800;
}

.app-shell .content-diagnosis-filters select {
  width: 100%;
  min-height: 42px;
  padding: 0 38px 0 12px;
  border-color: #c7d4e8;
  border-radius: 9px;
  color: #344159;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%23526788' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  font-size: 13px;
  font-weight: 750;
  appearance: none;
  -webkit-appearance: none;
  outline: 0;
  cursor: pointer;
}

.app-shell .content-diagnosis-filters select::-ms-expand {
  display: none;
}

.app-shell .content-diagnosis-filters select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .content-diagnosis-empty {
  min-height: 318px;
  align-content: center;
  gap: 9px;
  padding: 56px 24px 64px;
  background: #fff;
}

.app-shell .content-diagnosis-empty-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 5px;
  border-color: #cbd7f3;
  border-radius: 17px;
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .content-diagnosis-empty-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
}

.app-shell .content-diagnosis-empty .eyebrow {
  color: var(--brand);
}

.app-shell .content-diagnosis-empty h2 {
  color: var(--ink);
  font-size: 21px;
  letter-spacing: -.025em;
}

.app-shell .content-diagnosis-empty p:not(.eyebrow) {
  max-width: 530px;
  color: #68758b;
  font-size: 13px;
  line-height: 1.75;
}

.app-shell .content-diagnosis-empty-actions {
  gap: 10px;
  margin-top: 9px;
}

.app-shell .content-diagnosis-empty-actions .button {
  min-width: 122px;
  min-height: 40px;
}

@media (max-width: 700px) {
  .app-shell .content-diagnosis-header,
  .app-shell .content-diagnosis-toolbar {
    align-items: flex-start;
    flex-direction: column;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .content-diagnosis-filters {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-shell .content-diagnosis-filters label {
    min-width: 0;
  }

  .app-shell .content-diagnosis-empty {
    min-height: 300px;
    padding-right: 18px;
    padding-left: 18px;
  }
}

/* JY Clean Ops v1 · 平台诊断：平台概览—平台证据 */
.app-shell .platform-diagnosis-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .platform-diagnosis-context .context-kicker,
.app-shell .platform-diagnosis-context strong {
  color: var(--brand);
}

.app-shell .platform-diagnosis-context .context-note {
  color: #65728a;
}

.app-shell .platform-diagnosis-overview,
.app-shell .platform-diagnosis-performance-panel {
  overflow: hidden;
  border: 1px solid #d6e0f2;
  border-radius: 11px;
  background: #fbfcff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .platform-diagnosis-overview {
  margin-bottom: 18px;
  border-top: 3px solid var(--brand);
}

.app-shell .platform-diagnosis-overview-heading,
.app-shell .platform-diagnosis-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 20px 17px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}

.app-shell .platform-diagnosis-overview-heading > div,
.app-shell .platform-diagnosis-section-heading > div {
  display: grid;
  gap: 6px;
}

.app-shell .platform-diagnosis-overview-heading .eyebrow,
.app-shell .platform-diagnosis-section-heading .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .platform-diagnosis-overview-heading h2,
.app-shell .platform-diagnosis-section-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 850;
}

.app-shell .platform-diagnosis-overview-heading p:not(.eyebrow),
.app-shell .platform-diagnosis-section-heading p:not(.eyebrow) {
  margin: 0;
  color: #68758b;
  font-size: 13px;
  line-height: 1.6;
}

.app-shell .platform-diagnosis-overview-badge,
.app-shell .platform-diagnosis-section-heading > span {
  flex: 0 0 auto;
  min-height: 29px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #cbd7f3;
  border-radius: 999px;
  color: var(--brand);
  background: #eef3ff;
  font-size: 12px;
  font-weight: 850;
  line-height: 29px;
  white-space: nowrap;
}

.app-shell .platform-diagnosis-kpi-grid {
  gap: 14px;
  margin-bottom: 0;
  padding: 18px 20px 20px;
}

.app-shell .platform-diagnosis-kpi {
  position: relative;
  display: block;
  min-height: 132px;
  padding: 18px 19px 17px;
  overflow: hidden;
  border-color: #d6e0f2;
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .platform-diagnosis-kpi::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
  content: "";
}

.app-shell .platform-diagnosis-kpi:nth-child(1) { --card-accent: var(--brand); }
.app-shell .platform-diagnosis-kpi:nth-child(2) { --card-accent: var(--purple); }
.app-shell .platform-diagnosis-kpi:nth-child(3) { --card-accent: var(--accent); }
.app-shell .platform-diagnosis-kpi:nth-child(4) { --card-accent: var(--orange); }

.app-shell .platform-diagnosis-kpi .stat-top {
  color: #61708a;
}

.app-shell .platform-diagnosis-kpi .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #d5def6;
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: #eef3ff;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .platform-diagnosis-kpi:nth-child(2) .stat-icon {
  border-color: #ddd9f5;
  background: var(--purple-light);
}

.app-shell .platform-diagnosis-kpi:nth-child(3) .stat-icon {
  border-color: #c8e8ed;
  background: #e5f7f7;
}

.app-shell .platform-diagnosis-kpi:nth-child(4) .stat-icon {
  border-color: #f1dfbd;
  background: var(--orange-light);
}

.app-shell .platform-diagnosis-kpi .stat-value {
  margin-top: 18px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.05;
}

.app-shell .platform-diagnosis-kpi .stat-value small {
  margin-left: 4px;
  color: #68758b;
  font-size: 14px;
  font-weight: 750;
}

.app-shell .platform-diagnosis-kpi:nth-child(2) .stat-value { color: var(--purple); }
.app-shell .platform-diagnosis-kpi:nth-child(3) .stat-value { color: #087f8c; }
.app-shell .platform-diagnosis-kpi:nth-child(4) .stat-value { color: #a96e14; }

.app-shell .platform-diagnosis-kpi .stat-meta {
  margin-top: 7px;
}

.app-shell .platform-diagnosis-kpi .stat-meta span {
  color: #718097;
}

.app-shell .platform-diagnosis-performance-panel {
  margin-bottom: 0;
  border-top: 3px solid var(--purple);
}

.app-shell .platform-diagnosis-grid {
  gap: 14px;
  margin-bottom: 0;
  padding: 18px 20px 20px;
}

.app-shell .platform-diagnosis-card {
  min-height: 194px;
  padding: 17px 17px 18px;
  border-color: #d6e0f2;
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .platform-diagnosis-card:nth-child(4n + 1) { border-top: 3px solid var(--brand); }
.app-shell .platform-diagnosis-card:nth-child(4n + 2) { border-top: 3px solid var(--purple); }
.app-shell .platform-diagnosis-card:nth-child(4n + 3) { border-top: 3px solid var(--accent); }
.app-shell .platform-diagnosis-card:nth-child(4n + 4) { border-top: 3px solid var(--orange); }

.app-shell .platform-diagnosis-card header {
  align-items: center;
  padding-bottom: 13px;
  border-bottom-color: var(--line);
}

.app-shell .platform-diagnosis-card-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.app-shell .platform-diagnosis-platform-mark {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid #cbd7f3;
  border-radius: 10px;
  color: var(--brand);
  background: #eef3ff;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
}

.app-shell .platform-diagnosis-card:nth-child(4n + 2) .platform-diagnosis-platform-mark {
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
}

.app-shell .platform-diagnosis-card:nth-child(4n + 3) .platform-diagnosis-platform-mark {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .platform-diagnosis-card:nth-child(4n + 4) .platform-diagnosis-platform-mark {
  border-color: #f1dfbd;
  color: #a96e14;
  background: var(--orange-light);
}

.app-shell .platform-diagnosis-card-title > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.app-shell .platform-diagnosis-card-title strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .platform-diagnosis-card-title small {
  color: #718097;
  font-size: 11px;
}

.app-shell .platform-diagnosis-card .chip {
  flex: 0 0 auto;
  min-height: 25px;
  padding-right: 8px;
  padding-left: 8px;
  font-size: 10px;
}

.app-shell .platform-diagnosis-metrics {
  gap: 12px;
  padding-top: 15px;
}

.app-shell .platform-diagnosis-metric {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 10px;
}

.app-shell .platform-diagnosis-metric > span {
  color: #61708a;
  font-size: 12px;
  font-weight: 750;
}

.app-shell .platform-diagnosis-metric > b {
  color: #344159;
  font-size: 13px;
  font-weight: 850;
}

.app-shell .platform-diagnosis-progress {
  gap: 8px;
}

.app-shell .platform-diagnosis-progress > i {
  height: 7px;
  background: #e0e7f3;
}

.app-shell .platform-diagnosis-progress > i > span {
  background: var(--brand);
}

.app-shell .platform-diagnosis-progress b {
  color: var(--brand);
}

@media (max-width: 700px) {
  .app-shell .platform-diagnosis-overview-heading,
  .app-shell .platform-diagnosis-section-heading {
    flex-direction: column;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .platform-diagnosis-kpi-grid,
  .app-shell .platform-diagnosis-grid {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .platform-diagnosis-overview-badge,
  .app-shell .platform-diagnosis-section-heading > span {
    align-self: flex-start;
  }
}

/* JY Clean Ops v1 · 关键词诊断：诊断准备—关键词证据 */
.app-shell .keyword-diagnosis-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .keyword-diagnosis-context .context-kicker,
.app-shell .keyword-diagnosis-context strong {
  color: var(--brand);
}

.app-shell .keyword-diagnosis-context .context-note {
  color: #65728a;
}

.app-shell .keyword-diagnosis-heading {
  align-items: center;
}

.app-shell .keyword-diagnosis-title-row {
  gap: 11px;
}

.app-shell .keyword-diagnosis-title-row h1 {
  color: var(--ink);
  letter-spacing: -.035em;
}

.app-shell .keyword-diagnosis-title-row + p {
  margin-top: 9px;
  color: #68758b;
}

.app-shell .keyword-diagnosis-badge {
  min-height: 27px;
  border-color: #cbd7f3;
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .keyword-diagnosis-toolbar {
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 16px 20px;
  border: 1px solid #d6e0f2;
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .keyword-diagnosis-toolbar-copy {
  display: grid;
  min-width: 188px;
  gap: 4px;
}

.app-shell .keyword-diagnosis-toolbar-copy .eyebrow,
.app-shell .keyword-diagnosis-scan-head .eyebrow,
.app-shell .keyword-diagnosis-section-heading .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .keyword-diagnosis-toolbar-copy strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
}

.app-shell .keyword-diagnosis-toolbar-copy > span {
  color: #718097;
  font-size: 12px;
  line-height: 1.45;
}

.app-shell .keyword-diagnosis-filters {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.app-shell .keyword-diagnosis-filters label {
  display: block;
  min-width: 142px;
}

.app-shell .keyword-diagnosis-filters .keyword-diagnosis-search {
  flex: 1 1 280px;
  min-width: 210px;
}

.app-shell .keyword-diagnosis-filters input,
.app-shell .keyword-diagnosis-filters select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border-color: #c7d4e8;
  border-radius: 9px;
  color: #344159;
  background-color: #fff;
  font-size: 13px;
  font-weight: 750;
  outline: 0;
}

.app-shell .keyword-diagnosis-filters select,
.app-shell .keyword-diagnosis-scan-row select {
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%23526788' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.app-shell .keyword-diagnosis-filters select::-ms-expand,
.app-shell .keyword-diagnosis-scan-row select::-ms-expand {
  display: none;
}

.app-shell .keyword-diagnosis-filters input:focus,
.app-shell .keyword-diagnosis-filters select:focus,
.app-shell .keyword-diagnosis-scan-row input:focus,
.app-shell .keyword-diagnosis-scan-row select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .keyword-diagnosis-filters .button {
  min-height: 42px;
  white-space: nowrap;
}

.app-shell .keyword-diagnosis-scan-card {
  margin-bottom: 18px;
  overflow: hidden;
  padding: 0;
  border-color: #d6e0f2;
  border-top: 3px solid var(--accent);
  border-radius: 11px;
  background: #fbfdff;
  box-shadow: 0 5px 16px rgba(35, 57, 103, .04);
}

.app-shell .keyword-diagnosis-scan-head {
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 0;
  padding: 18px 20px 15px;
  border-bottom: 1px solid var(--line);
}

.app-shell .keyword-diagnosis-scan-head > div {
  display: grid;
  gap: 5px;
}

.app-shell .keyword-diagnosis-scan-head strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 850;
}

.app-shell .keyword-diagnosis-scan-head > div > span {
  color: #718097;
  font-size: 12px;
  line-height: 1.5;
}

.app-shell .keyword-diagnosis-scan-status {
  flex: 0 0 auto;
  min-height: 29px;
  margin-left: auto;
  padding: 0 10px;
  border-color: #f0d6af;
  color: #9a651e;
  background: #fff8ec;
  font-size: 12px;
  line-height: 27px;
}

.app-shell .keyword-diagnosis-scan-row {
  grid-template-columns: minmax(0, 1fr) 142px auto;
  gap: 10px;
  padding: 16px 20px 0;
}

.app-shell .keyword-diagnosis-scan-row input,
.app-shell .keyword-diagnosis-scan-row select {
  min-height: 42px;
  padding-left: 12px;
  border-color: #c7d4e8;
  border-radius: 9px;
  color: #344159;
  background-color: #fff;
  font-size: 13px;
  font-weight: 750;
  outline: 0;
}

.app-shell .keyword-diagnosis-scan-row .button {
  min-height: 42px;
  white-space: nowrap;
}

.app-shell .keyword-diagnosis-scan-card > p {
  margin: 0;
  padding: 10px 20px 18px;
  color: #718097;
  font-size: 12px;
  line-height: 1.55;
}

.app-shell .keyword-diagnosis-kpi-grid {
  gap: 14px;
  margin-bottom: 18px;
}

.app-shell .keyword-diagnosis-kpi-grid article {
  position: relative;
  display: block;
  min-height: 132px;
  overflow: hidden;
  padding: 18px 19px 17px;
  border-color: #d6e0f2;
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .keyword-diagnosis-kpi-grid article::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--card-accent, var(--brand));
  content: "";
}

.app-shell .keyword-diagnosis-kpi-grid article:nth-child(1) { --card-accent: var(--brand); }
.app-shell .keyword-diagnosis-kpi-grid article:nth-child(2) { --card-accent: var(--purple); }
.app-shell .keyword-diagnosis-kpi-grid article:nth-child(3) { --card-accent: var(--accent); }
.app-shell .keyword-diagnosis-kpi-grid article:nth-child(4) { --card-accent: var(--orange); }

.app-shell .keyword-diagnosis-kpi-grid .stat-top {
  color: #61708a;
}

.app-shell .keyword-diagnosis-kpi-grid .stat-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cbd7f3;
  border-radius: 10px;
  color: var(--card-accent, var(--brand));
  background: #eef3ff;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
}

.app-shell .keyword-diagnosis-kpi-grid article:nth-child(2) .stat-icon {
  border-color: #ddd9f5;
  background: var(--purple-light);
}

.app-shell .keyword-diagnosis-kpi-grid article:nth-child(3) .stat-icon {
  border-color: #c8e8ed;
  background: #e5f7f7;
}

.app-shell .keyword-diagnosis-kpi-grid article:nth-child(4) .stat-icon {
  border-color: #f1dfbd;
  background: var(--orange-light);
}

.app-shell .keyword-diagnosis-kpi-grid .stat-value {
  margin-top: 18px;
  color: var(--ink);
  font-size: 28px;
  font-weight: 750;
  line-height: 1.05;
}

.app-shell .keyword-diagnosis-kpi-grid article:nth-child(2) .stat-value { color: var(--purple); }
.app-shell .keyword-diagnosis-kpi-grid article:nth-child(3) .stat-value { color: #087f8c; }
.app-shell .keyword-diagnosis-kpi-grid article:nth-child(4) .stat-value { color: #a96e14; }

.app-shell .keyword-diagnosis-kpi-grid .stat-value small {
  margin-left: 4px;
  color: #68758b;
  font-size: 14px;
  font-weight: 750;
}

.app-shell .keyword-diagnosis-kpi-grid .stat-meta {
  margin-top: 7px;
}

.app-shell .keyword-diagnosis-kpi-grid .stat-meta span {
  color: #718097;
}

.app-shell .keyword-diagnosis-section {
  margin-bottom: 18px;
  overflow: hidden;
  border-color: #d6e0f2;
  border-top: 3px solid var(--brand);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .keyword-diagnosis-table-section {
  border-top-color: var(--purple);
}

.app-shell .keyword-diagnosis-overview-section {
  border-top-color: var(--accent);
}

.app-shell .keyword-diagnosis-section-heading {
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--line);
}

.app-shell .keyword-diagnosis-section-heading > div {
  display: grid;
  gap: 5px;
}

.app-shell .keyword-diagnosis-section-heading h2 {
  color: var(--ink);
  font-size: 17px;
  font-weight: 850;
}

.app-shell .keyword-diagnosis-section-heading p:not(.eyebrow) {
  margin: 0;
  color: #718097;
  font-size: 12px;
  line-height: 1.55;
}

.app-shell .keyword-diagnosis-section-heading > span {
  flex: 0 0 auto;
  min-height: 29px;
  padding: 0 10px;
  border: 1px solid #cbd7f3;
  border-radius: 999px;
  color: var(--brand);
  background: #eef3ff;
  font-size: 12px;
  font-weight: 850;
  line-height: 27px;
  white-space: nowrap;
}

.app-shell .keyword-diagnosis-overview-section .keyword-diagnosis-section-heading > span {
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .keyword-diagnosis-table-wrap {
  padding: 0 12px 12px;
}

.app-shell .keyword-diagnosis-table {
  min-width: 860px;
}

.app-shell .keyword-diagnosis-table th {
  color: #526788;
  background: #f6f8fc;
  font-size: 12px;
  font-weight: 850;
}

.app-shell .keyword-diagnosis-table td {
  color: #344159;
  font-size: 13px;
  line-height: 1.55;
  vertical-align: middle;
}

.app-shell .keyword-diagnosis-table td:first-child strong {
  color: var(--ink);
  font-weight: 850;
}

.app-shell .keyword-diagnosis-table .button {
  min-width: 54px;
  min-height: 32px;
  border-color: #cbd7f3;
  color: var(--brand);
  background: #fff;
  font-size: 12px;
}

.app-shell .keyword-diagnosis-table .button:hover {
  border-color: var(--brand);
  background: #eef3ff;
}

.app-shell .keyword-diagnosis-overview-card {
  margin: 18px 20px 20px;
  padding: 17px 18px;
  border-color: #d6e0f2;
  border-radius: 10px;
  background: #f7f9fd;
}

.app-shell .keyword-diagnosis-overview-card header {
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom-color: var(--line);
}

.app-shell .keyword-diagnosis-overview-card header > div {
  display: grid;
  gap: 4px;
}

.app-shell .keyword-diagnosis-overview-card header strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
}

.app-shell .keyword-diagnosis-overview-card header small {
  color: #718097;
  font-size: 12px;
}

.app-shell .keyword-diagnosis-overview-card header > span {
  border: 1px solid #f0d6af;
  color: #9a651e;
  background: #fff8ec;
}

.app-shell .keyword-diagnosis-overview-metrics {
  gap: 0;
  padding-top: 16px;
}

.app-shell .keyword-diagnosis-overview-metrics > div {
  display: grid;
  justify-content: start;
  gap: 4px;
  padding-right: 16px;
  border-right: 1px solid #dfe6f2;
}

.app-shell .keyword-diagnosis-overview-metrics > div:last-child {
  border-right: 0;
}

.app-shell .keyword-diagnosis-overview-metrics > div > strong {
  order: 1;
  color: var(--ink);
  font-size: 21px;
  font-weight: 750;
}

.app-shell .keyword-diagnosis-overview-metrics > div > span {
  order: 2;
  color: #718097;
  font-size: 12px;
  font-weight: 750;
}

@media (max-width: 1180px) {
  .app-shell .keyword-diagnosis-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .app-shell .keyword-diagnosis-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }

  .app-shell .keyword-diagnosis-heading .page-heading-actions,
  .app-shell .keyword-diagnosis-heading .page-heading-actions .button {
    width: 100%;
  }

  .app-shell .keyword-diagnosis-toolbar {
    align-items: flex-start;
    flex-direction: column;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .keyword-diagnosis-toolbar-copy {
    min-width: 0;
  }

  .app-shell .keyword-diagnosis-filters {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-shell .keyword-diagnosis-filters label,
  .app-shell .keyword-diagnosis-filters .keyword-diagnosis-search {
    width: auto;
    min-width: 0;
  }

  .app-shell .keyword-diagnosis-filters .keyword-diagnosis-search {
    grid-column: 1 / -1;
  }

  .app-shell .keyword-diagnosis-filters .button {
    width: 100%;
    grid-column: 1 / -1;
  }

  .app-shell .keyword-diagnosis-scan-head,
  .app-shell .keyword-diagnosis-section-heading {
    flex-direction: column;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .keyword-diagnosis-scan-status,
  .app-shell .keyword-diagnosis-section-heading > span {
    align-self: flex-start;
    margin-left: 0;
  }

  .app-shell .keyword-diagnosis-scan-row {
    grid-template-columns: 1fr;
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .keyword-diagnosis-scan-row .button {
    width: 100%;
  }

  .app-shell .keyword-diagnosis-scan-card > p {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .keyword-diagnosis-kpi-grid {
    grid-template-columns: 1fr;
  }

  .app-shell .keyword-diagnosis-overview-card {
    margin-right: 16px;
    margin-left: 16px;
  }

  .app-shell .keyword-diagnosis-overview-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 14px;
  }

  .app-shell .keyword-diagnosis-overview-metrics > div:nth-child(2) {
    border-right: 0;
  }
}

/* JY Clean Ops v1 · 竞品诊断：竞品基线—覆盖证据 */
.app-shell .competitor-diagnosis-context {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  background: linear-gradient(105deg, #f2f6ff 0%, #f8fbff 100%);
}

.app-shell .competitor-diagnosis-context .context-kicker,
.app-shell .competitor-diagnosis-context strong {
  color: var(--brand);
}

.app-shell .competitor-diagnosis-context .context-note {
  color: #65728a;
}

.app-shell .competitor-diagnosis-heading {
  align-items: center;
}

.app-shell .competitor-diagnosis-title-row {
  gap: 11px;
}

.app-shell .competitor-diagnosis-title-row h1 {
  color: var(--ink);
  letter-spacing: -.035em;
}

.app-shell .competitor-diagnosis-title-row + p {
  margin-top: 9px;
  color: #68758b;
}

.app-shell .competitor-diagnosis-badge {
  min-height: 27px;
  border-color: #cbd7f3;
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .competitor-diagnosis-heading .button:disabled {
  border-color: #d6e0f2;
  color: #8190a8;
  background: #f5f7fb;
}

.app-shell .competitor-diagnosis-mention-panel,
.app-shell .competitor-diagnosis-matrix-panel {
  margin-bottom: 18px;
  border-color: #d6e0f2;
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .competitor-diagnosis-mention-panel {
  border-top: 3px solid var(--purple);
}

.app-shell .competitor-diagnosis-matrix-panel {
  border-top: 3px solid var(--accent);
}

.app-shell .competitor-diagnosis-mention-heading,
.app-shell .competitor-diagnosis-matrix-heading {
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--line);
}

.app-shell .competitor-diagnosis-mention-heading > div,
.app-shell .competitor-diagnosis-matrix-heading > div {
  display: grid;
  gap: 5px;
}

.app-shell .competitor-diagnosis-mention-heading .eyebrow,
.app-shell .competitor-diagnosis-matrix-heading .eyebrow {
  margin: 0;
  color: var(--purple);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
}

.app-shell .competitor-diagnosis-matrix-heading .eyebrow {
  color: #087f8c;
}

.app-shell .competitor-diagnosis-mention-heading h2,
.app-shell .competitor-diagnosis-matrix-heading h2 {
  color: var(--ink);
  font-size: 17px;
  font-weight: 850;
}

.app-shell .competitor-diagnosis-mention-heading p,
.app-shell .competitor-diagnosis-matrix-heading p {
  margin: 0;
  color: #718097;
  font-size: 12px;
  line-height: 1.55;
}

.app-shell .competitor-diagnosis-mention-heading > span {
  min-height: 29px;
  padding: 0 10px;
  border-color: #ddd9f5;
  color: var(--purple);
  background: var(--purple-light);
  font-size: 12px;
  line-height: 27px;
}

.app-shell .competitor-diagnosis-matrix-heading {
  align-items: flex-start;
}

.app-shell .competitor-diagnosis-matrix-heading .button {
  min-width: 76px;
  min-height: 36px;
  border-color: #c8e8ed;
  color: #087f8c;
  background: #e5f7f7;
  font-size: 12px;
}

.app-shell .competitor-diagnosis-matrix-heading .button:hover {
  border-color: #087f8c;
  background: #d9f2f2;
}

.app-shell .competitor-diagnosis-table-wrap {
  padding: 0 12px 12px;
}

.app-shell .competitor-diagnosis-table,
.app-shell .competitor-matrix-table {
  border-collapse: collapse;
}

.app-shell .competitor-diagnosis-table th,
.app-shell .competitor-matrix-table th {
  color: #526788;
  background: #f6f8fc;
  font-size: 12px;
  font-weight: 850;
}

.app-shell .competitor-diagnosis-table td,
.app-shell .competitor-matrix-table td {
  color: #344159;
  font-size: 13px;
  line-height: 1.55;
  vertical-align: middle;
}

.app-shell .competitor-diagnosis-table td:first-child,
.app-shell .competitor-matrix-table td:first-child {
  color: var(--ink);
  font-weight: 800;
}

.app-shell .competitor-diagnosis-empty {
  min-height: 108px;
  color: #718097;
  background: #fbfcff;
}

.app-shell .competitor-diagnosis-empty strong {
  color: #68758b;
  font-size: 13px;
  font-weight: 750;
}

.app-shell .competitor-matrix-table th:nth-child(1) {
  width: 68%;
}

.app-shell .competitor-matrix-table th:nth-child(2),
.app-shell .competitor-matrix-table th:nth-child(3) {
  width: 16%;
}

.app-shell .competitor-matrix-table td:nth-child(2),
.app-shell .competitor-matrix-table td:nth-child(3) {
  color: #718097;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.app-shell .competitor-matrix-mark {
  width: 25px;
  height: 25px;
  border: 1px solid #c8e8ed;
  border-radius: 8px;
  color: #087f8c;
  background: #e5f7f7;
  font-size: 13px;
}

.app-shell .competitor-diagnosis-matrix-footer {
  padding: 12px 20px 16px;
  border-top-color: var(--line);
  color: #718097;
  font-size: 12px;
}

@media (max-width: 700px) {
  .app-shell .competitor-diagnosis-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }

  .app-shell .competitor-diagnosis-heading .page-heading-actions,
  .app-shell .competitor-diagnosis-heading .page-heading-actions .button {
    width: 100%;
  }

  .app-shell .competitor-diagnosis-mention-heading,
  .app-shell .competitor-diagnosis-matrix-heading {
    padding-right: 16px;
    padding-left: 16px;
  }

  .app-shell .competitor-diagnosis-mention-heading {
    flex-direction: column;
  }

  .app-shell .competitor-diagnosis-mention-heading > span {
    align-self: flex-start;
  }

  .app-shell .competitor-diagnosis-matrix-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .competitor-diagnosis-matrix-heading .button {
    width: 100%;
  }
}

/* JY Clean Ops v1 · 情报中心：页面级线性 TAB—平台/趋势/竞品/引用 */
.app-shell .intel-tabs-shell {
  margin: -4px 0 22px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #d6e0f2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-shell .intel-module-tabs {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.app-shell .intel-module-tabs::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.app-shell .intel-tab {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 50px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px;
  border: 0;
  border-radius: 0;
  color: #66738e;
  background: transparent;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}

.app-shell .intel-tab:first-child {
  padding-left: 0;
}

.app-shell .intel-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

.app-shell .intel-tab:hover {
  color: var(--purple);
  background: #f7f7ff;
  box-shadow: none;
}

.app-shell .intel-tab:hover::after {
  background: #c9c7f4;
}

.app-shell .intel-tab.active {
  color: #27335a;
  background: #f5f6ff;
  box-shadow: none;
}

.app-shell .intel-tab.active::after {
  background: linear-gradient(90deg, var(--brand), var(--purple));
}

.app-shell .intel-tab-label {
  color: inherit;
  font-size: 14px;
  font-weight: 780;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;
}

.app-shell .intel-toolbar {
  margin-bottom: 16px;
  border-color: var(--line);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}

.app-shell .intel-select select,
.app-shell .intel-search {
  border-color: #c7d4e8;
  color: #344159;
  background: #fff;
}

.app-shell .intel-select select:focus,
.app-shell .intel-search:focus-within {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .13);
}

.app-shell .intel-select-chevron {
  top: 50%;
  right: 11px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: var(--brand);
  line-height: 0;
  transform: translateY(-50%);
}

.app-shell .intel-select-chevron svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.app-shell .intel-search-icon {
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .intel-search input::placeholder {
  color: #8995a9;
}

.app-shell .intel-kpi,
.app-shell .intel-platform-panel,
.app-shell .intel-trend-table-panel,
.app-shell .intel-heat-panel,
.app-shell .intel-alert-panel,
.app-shell .intel-competitor-panel,
.app-shell .intel-citation-panel,
.app-shell .intel-insight-card {
  border-color: var(--line);
  box-shadow: none;
}

.app-shell .intel-kpi {
  min-height: 132px;
  border-radius: 11px;
  background: #fff;
}

.app-shell .intel-kpi::before {
  background: var(--brand);
}

.app-shell .intel-kpi-orange::before { background: var(--orange); }
.app-shell .intel-kpi-blue::before { background: var(--accent); }
.app-shell .intel-kpi-purple::before { background: var(--purple); }
.app-shell .intel-kpi > span { color: #61708a; }
.app-shell .intel-kpi > strong { color: var(--ink); }
.app-shell .intel-kpi-orange > strong { color: #a96e14; }
.app-shell .intel-kpi-blue > strong { color: #087f8c; }
.app-shell .intel-kpi-purple > strong { color: var(--purple); }
.app-shell .intel-kpi > small { color: #718097; }

.app-shell .intel-section-heading {
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--line);
}

.app-shell .intel-section-heading h2 {
  color: var(--ink);
}

.app-shell .intel-section-heading p {
  color: #718097;
}

.app-shell .intel-result-count {
  border-color: #cbd7f3;
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .intel-platform-card,
.app-shell .intel-competitor-card {
  border-color: #d6e0f2;
  background: #fbfcff;
}

.app-shell .intel-platform-card.is-pinned {
  border-color: #cbd7f3;
  background: #f7f9ff;
}

.app-shell .intel-platform-mark {
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .intel-category-tag {
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .intel-tag-list span,
.app-shell .intel-competitor-tags span {
  color: #61708a;
  background: #f1f4f9;
}

.app-shell .intel-platform-card-footer,
.app-shell .intel-competitor-card footer {
  border-top-color: var(--line);
}

.app-shell .intel-platform-card-footer .button,
.app-shell .intel-link-action,
.app-shell .intel-inline-action,
.app-shell .intel-correct-button {
  color: var(--brand);
}

.app-shell .intel-chart-badge,
.app-shell .intel-coverage.is-covered {
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .intel-coverage.is-partial,
.app-shell .intel-pin {
  color: #9a651e;
  background: #fff8ec;
}

.app-shell .intel-chart-ring {
  border-color: #e0e7f3;
  border-top-color: var(--brand);
}

.app-shell .intel-bar-list i,
.app-shell .intel-heat-item,
.app-shell .intel-alert-row {
  border-top-color: var(--line);
}

.app-shell .intel-bar-list i {
  background: #e0e7f3;
}

.app-shell .intel-bar-list i b {
  background: var(--brand);
}

.app-shell .intel-heat-rank {
  color: var(--brand);
}

.app-shell .intel-alert-icon {
  color: var(--brand);
  background: #eef3ff;
}

.app-shell .intel-alert-icon.is-high {
  color: #a96e14;
  background: var(--orange-light);
}

.app-shell .intel-mode-actions,
.app-shell .intel-view-actions {
  border-color: var(--line);
  background: #f5f7fb;
}

.app-shell .intel-mode-actions button.active,
.app-shell .intel-view-actions button.active {
  color: var(--brand);
  box-shadow: 0 1px 5px rgba(35, 57, 103, .12);
}

.app-shell .intel-citation-table th,
.app-shell .intel-trend-table th {
  color: #526788;
  background: #f6f8fc;
}

.app-shell .intel-citation-table td,
.app-shell .intel-trend-table td {
  color: #344159;
}

.app-shell .intel-rank-cell,
.app-shell .intel-frequency {
  color: var(--brand) !important;
}

@media (max-width: 700px) {
  .app-shell .intel-module-tabs {
    overflow-x: auto;
  }

  .app-shell .intel-tab {
    min-height: 48px;
    padding: 0 18px;
  }

  .app-shell .intel-tab:first-child {
    padding-left: 0;
  }
}

/* JY Clean Ops v2 · 四个情报视图按工作任务建立独立的信息形状。
   共用的是页面级切换逻辑，页内不再使用同一套卡片模板。 */
.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-toolbar {
  border-left: 3px solid var(--brand);
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed {
  border-top: 3px solid var(--brand);
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-list {
  gap: 16px;
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned {
  grid-column: 1 / -1;
  display: grid;
  grid-template-areas: "head head" "meta summary" "foot foot";
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: 0 22px;
  padding: 20px 21px 15px;
  border-color: #cbd7f3;
  border-radius: 14px;
  background: linear-gradient(135deg, #f7f9ff 0%, #ffffff 70%);
  box-shadow: 0 8px 24px rgba(49, 91, 234, .06);
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned .intel-platform-card-head {
  grid-area: head;
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned .intel-platform-meta {
  grid-area: meta;
  align-content: start;
  margin-bottom: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned .intel-platform-summary {
  grid-area: summary;
  min-height: 0;
  padding: 2px 0 4px;
  color: #465676;
  font-size: 13px;
  line-height: 1.85;
}

.app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned .intel-platform-card-footer {
  grid-area: foot;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-toolbar {
  border-left: 3px solid var(--accent);
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
  gap: 20px;
  align-items: center;
  margin: -3px 0 16px;
  padding: 17px 20px;
  border: 1px solid #cbe9ed;
  border-left: 3px solid var(--accent);
  border-radius: 12px;
  background: linear-gradient(105deg, #f2fcfd 0%, #ffffff 72%);
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-lead {
  min-width: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-kicker {
  display: block;
  margin-bottom: 5px;
  color: #087f8c;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-lead strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: -.01em;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-lead p {
  margin: 5px 0 0;
  color: #61788a;
  font-size: 11px;
  line-height: 1.6;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  border-left: 1px solid #cbe9ed;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 2px 14px;
  border-right: 1px solid #cbe9ed;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics > div:last-child {
  border-right: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics span {
  color: #718b98;
  font-size: 10px;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics strong {
  overflow: hidden;
  color: #087f8c;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table-panel,
.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel {
  border-top: 3px solid var(--accent);
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-insight-card {
  border-color: #cbe9ed;
  background: #fcffff;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-insight-card .intel-section-heading {
  background: linear-gradient(90deg, #f1fcfd, #ffffff);
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-chart-badge,
.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-coverage.is-covered {
  color: #087f8c;
  background: #e5f7f7;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table tbody tr {
  transition: background .18s ease, box-shadow .18s ease;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table tbody tr.is-opportunity-row {
  background: #fffaf1;
  box-shadow: inset 3px 0 #d6a34d;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table tbody tr.is-opportunity-row:hover {
  background: #fff5df;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table tbody tr.is-covered-row:hover {
  background: #f8fcfd;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table td:first-child strong {
  color: #163b50;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-trend-table td:nth-child(2) {
  color: #087f8c;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 800;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-inline-action {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #efd59f;
  border-radius: 999px;
  color: #966218;
  background: #fff8e9;
  text-decoration: none;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-layout .intel-inline-action:hover {
  border-color: #d6a34d;
  background: #fff0d0;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-list {
  grid-template-columns: 1fr;
  gap: 0;
  padding-bottom: 8px;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-item {
  grid-template-columns: 36px minmax(170px, 1fr) minmax(110px, .65fr) 52px 60px;
  min-height: 54px;
  gap: 12px;
  padding: 0 2px;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-rank {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #bde3e7;
  border-radius: 9px;
  color: #087f8c;
  background: #f0fcfd;
  font-size: 10px;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-copy small {
  overflow: hidden;
  color: var(--admin-text-tertiary);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-bar i {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e0f1f3;
}

.app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #13b7c9, #73d9dc);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-toolbar {
  border-left: 3px solid var(--coral);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel,
.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel {
  border-top: 3px solid var(--coral);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-list {
  position: relative;
  padding-top: 2px;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-list::before {
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 27px;
  width: 1px;
  background: #f0cfd3;
  content: '';
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-row {
  position: relative;
  background: #fffdfd;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-icon {
  z-index: 1;
  border: 4px solid #fffdfd;
  box-sizing: content-box;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-icon.is-high {
  color: var(--coral);
  background: var(--coral-light);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card {
  padding: 20px;
  border-color: #efd5d8;
  border-radius: 14px;
  background: #fffdfd;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card header {
  align-items: flex-end;
  padding-bottom: 16px;
  border-bottom-color: #f2e1e2;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-mention-value {
  display: grid;
  justify-items: end;
  gap: 2px;
  color: var(--coral);
  font-size: 28px;
  letter-spacing: -.04em;
  line-height: 1;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-mention-value small {
  color: #9a6d72;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  margin: 16px 0 18px;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card dl > div {
  min-height: 44px;
  border-top: 1px solid #f2e1e2;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-trend-up {
  color: var(--coral) !important;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
  gap: 20px;
  align-items: center;
  margin: -3px 0 16px;
  padding: 17px 20px;
  border: 1px solid #f0d5d7;
  border-left: 3px solid var(--coral);
  border-radius: 12px;
  background: linear-gradient(105deg, #fff7f6 0%, #ffffff 72%);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-lead {
  min-width: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-kicker {
  display: block;
  margin-bottom: 5px;
  color: #aa5963;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-lead strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: -.01em;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-lead p {
  margin: 5px 0 0;
  color: #7b6870;
  font-size: 11px;
  line-height: 1.6;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  border-left: 1px solid #f0d5d7;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 2px 14px;
  border-right: 1px solid #f0d5d7;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics > div:last-child {
  border-right: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics span,
.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics small {
  overflow: hidden;
  color: #987a80;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics strong {
  overflow: hidden;
  color: var(--coral);
  font-size: 14px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-heading-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-legend {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #987a80;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-legend i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 3px #fdebed;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-copy small {
  color: #987a80;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card {
  position: relative;
  overflow: hidden;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #e6b4b9;
  content: '';
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card:has(.intel-trend-up)::before {
  background: var(--coral);
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card footer .intel-link-action {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid #efd5d8;
  border-radius: 7px;
  color: var(--coral);
  background: #fff8f7;
  text-decoration: none;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card footer .intel-link-action + .intel-link-action {
  color: #7e6870;
  background: #fff;
}

.app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-card footer .intel-link-action:hover {
  border-color: var(--coral);
  background: #fff0f1;
  text-decoration: none;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
  gap: 20px;
  align-items: center;
  margin: -3px 0 16px;
  padding: 17px 20px;
  border: 1px solid #ded7f4;
  border-left: 3px solid var(--purple);
  border-radius: 12px;
  background: linear-gradient(105deg, #faf8ff 0%, #ffffff 72%);
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-lead {
  min-width: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-kicker {
  display: block;
  margin-bottom: 5px;
  color: #7760bc;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-lead strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: -.01em;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-lead p {
  margin: 5px 0 0;
  color: #746c8c;
  font-size: 11px;
  line-height: 1.6;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  border-left: 1px solid #ded7f4;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 2px 14px;
  border-right: 1px solid #ded7f4;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics > div:last-child {
  border-right: 0;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics span,
.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics small {
  overflow: hidden;
  color: #837b9c;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics strong {
  overflow: hidden;
  color: var(--purple);
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel {
  border-top: 3px solid var(--purple);
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table tbody tr {
  transition: background .18s ease, box-shadow .18s ease;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table tbody tr:first-child {
  background: #fbfaff;
  box-shadow: inset 3px 0 var(--purple);
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table tbody tr:hover {
  background: #f5f1ff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table .intel-category-cell > span {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 0 7px;
  border: 1px solid #e0daf4;
  border-radius: 999px;
  color: #6856a5;
  background: #faf8ff;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table .intel-frequency {
  display: inline-block;
  min-width: 42px;
  color: var(--purple) !important;
  font-size: 15px;
  text-align: center;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table .intel-url-status {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 0 7px;
  border: 1px solid #d8dfed;
  border-radius: 999px;
  color: #7a879d;
  background: #f8faff;
  font-size: 10px;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-mode-bar {
  border-left: 3px solid var(--purple);
  border-color: #ddd6f6;
  background: #fcfbff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-mode-bar .intel-mode-actions,
.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-mode-bar .intel-view-actions {
  border-color: #ddd6f6;
  background: #f6f3ff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-mode-bar .intel-mode-actions button.active,
.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-mode-bar .intel-view-actions button.active {
  color: var(--purple);
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel {
  border-top: 3px solid var(--purple);
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table-wrap {
  overflow-x: auto;
  padding: 0 14px 12px;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table {
  min-width: 1100px;
  table-layout: fixed;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table th {
  color: #6753a8;
  background: #faf8ff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table tbody tr:nth-child(even) {
  background: #fcfbff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-table tbody tr:hover {
  background: #f5f1ff;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-rank-cell {
  color: var(--purple) !important;
}

.app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-panel .intel-citation-footer {
  background: #faf8ff;
}

@media (max-width: 700px) {
  .app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 15px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics {
    border-top: 1px solid #cbe9ed;
    border-left: 0;
    padding-top: 12px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-trend-brief .intel-trend-brief-metrics > div {
    padding: 0 10px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned {
    display: block;
  }

  .app-shell .intel-tabs-shell[data-intel-view="platform"] ~ .intel-signal-feed .intel-platform-card.is-pinned .intel-platform-meta {
    margin: 13px 0 10px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-item {
    grid-template-columns: 32px minmax(0, 1fr) 45px 52px;
    gap: 8px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="trend"] ~ .intel-heat-panel .intel-heat-bar {
    display: none;
  }

  .app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-panel .intel-competitor-grid {
    grid-template-columns: 1fr;
  }

  .app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 15px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics {
    border-top: 1px solid #f0d5d7;
    border-left: 0;
    padding-top: 12px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-competitor-brief .intel-competitor-brief-metrics > div {
    padding: 0 10px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="competitor"] ~ .intel-alert-panel .intel-alert-heading-meta {
    justify-content: flex-start;
  }

  .app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 15px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics {
    border-top: 1px solid #ded7f4;
    border-left: 0;
    padding-top: 12px;
  }

  .app-shell .intel-tabs-shell[data-intel-view="citation"] ~ .intel-citation-brief .intel-citation-brief-metrics > div {
    padding: 0 10px;
  }
}

/* Sidebar footer: keep policy scope and account identity as two clear,
   related controls instead of letting the dark-theme overrides flatten them. */
.app-shell .sidebar-bottom {
  gap: 8px;
  margin-top: auto;
  padding: 14px 4px 2px;
  border-top: 1px solid rgba(163, 185, 235, .12);
}

.app-shell .profile-mini {
  width: 100%;
  min-width: 0;
  min-height: 60px;
  gap: 10px;
  padding: 10px 8px;
  border: 1px solid rgba(163, 185, 235, .12);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .028));
  box-shadow: none;
  appearance: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.app-shell .profile-mini:hover,
.app-shell .profile-mini[aria-expanded="true"] {
  border-color: rgba(159, 183, 255, .3);
  background: linear-gradient(180deg, rgba(159, 183, 255, .1), rgba(159, 183, 255, .055));
  box-shadow: none;
}

.app-shell .profile-mini:focus-visible {
  outline: 2px solid #9fb7ff;
  outline-offset: 2px;
}

.app-shell .profile-mini .avatar {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  display: grid;
  align-content: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(145deg, #24b8c6 0%, #3c85df 62%, #4d64d9 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 4px 12px rgba(39, 113, 202, .2);
  font-size: 14px;
  text-shadow: 0 1px 2px rgba(11, 34, 76, .25);
}

.app-shell .profile-mini .avatar-label {
  display: block;
  margin: 1px 0 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  text-align: center;
  transform: translateY(1px);
}

.app-shell .profile-mini .profile-copy {
  flex: 1 1 auto;
  min-width: 0;
  width: 0;
  margin: 0;
}

.app-shell .profile-mini .profile-copy strong,
.app-shell .profile-mini .profile-copy span {
  display: block;
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .profile-mini .profile-copy strong {
  color: #f0f4ff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.app-shell .profile-mini .profile-copy span {
  margin-top: 3px;
  color: #9eacd0;
  font-size: 11px;
  line-height: 1.35;
}

.app-shell .profile-more {
  position: relative;
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  margin: 0;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: #aab9d9;
  background: transparent;
  font-size: 0;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.app-shell .profile-more::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.app-shell .profile-mini:hover .profile-more,
.app-shell .profile-mini[aria-expanded="true"] .profile-more {
  color: #d8e2ff;
  background: rgba(159, 183, 255, .1);
}

.app-shell .profile-mini[aria-expanded="true"] .profile-more {
  transform: rotate(180deg);
}

.app-shell .sidebar-account-menu {
  border-color: #2d4670;
  background: #16233e;
  box-shadow: 0 18px 44px rgba(5, 13, 30, .34);
}

.app-shell .sidebar-account-menu .account-menu-heading {
  border-color: rgba(163, 185, 235, .16);
}

.app-shell .sidebar-account-menu .account-menu-heading strong {
  color: #eff4ff;
}

.app-shell .sidebar-account-menu .account-menu-heading span {
  color: #a9b9da;
}

.app-shell .sidebar-account-menu > button {
  color: #dce5f6;
  background: transparent;
}

.app-shell .sidebar-account-menu > button:hover {
  background: rgba(159, 183, 255, .12);
}

.app-shell .sidebar-account-menu > button strong {
  color: #edf3ff;
}

.app-shell .sidebar-account-menu > button small {
  color: #9eacd0;
}

.app-shell .sidebar-account-menu > button:last-child {
  border-color: rgba(163, 185, 235, .16);
}

@media (max-width: 700px) {
  .app-shell .sidebar-bottom {
    padding-top: 11px;
  }
}

/* 企业工作台 · 子账号与权限：成员、角色和权限矩阵的统一浅色视觉层 */
.app-shell .team-summary-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
  margin-bottom: 16px;
}

.app-shell .team-identity-card,
.app-shell .team-seat-card {
  min-width: 0;
  padding: 17px 19px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-1);
  box-shadow: var(--shadow-sm);
}

.app-shell .team-identity-card {
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-shell .team-identity-mark {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #2db6c0, #4b71dc);
  font-size: 17px;
  font-weight: 800;
}

.app-shell .team-identity-card > div:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.app-shell .team-identity-card span,
.app-shell .team-seat-card > div > span,
.app-shell .team-seat-card > small {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-identity-card strong {
  color: var(--ink);
  font-size: 15px;
  letter-spacing: -.01em;
}

.app-shell .team-identity-card small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .team-identity-card > button {
  margin-left: auto;
  flex: 0 0 auto;
}

.app-shell .team-seat-card {
  display: grid;
  align-content: center;
  gap: 9px;
}

.app-shell .team-seat-card > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.app-shell .team-seat-card strong {
  color: var(--ink);
  font-size: 20px;
  letter-spacing: -.03em;
}

.app-shell .team-seat-card strong small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.app-shell .team-seat-track {
  overflow: hidden;
  height: 7px;
  border-radius: 999px;
  background: #edf2ef;
}

.app-shell .team-seat-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3eb6aa, #4d73dc);
}

.app-shell .team-help-panel {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  margin: -2px 0 16px;
  padding: 13px 15px;
  border: 1px solid #cbdcf9;
  border-radius: 10px;
  background: #f3f7ff;
}

.app-shell .team-help-icon {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: #4b71dc;
  font-size: 13px;
  font-weight: 800;
}

.app-shell .team-help-panel strong {
  color: #233f78;
  font-size: 12px;
}

.app-shell .team-help-panel p {
  margin: 3px 0 0;
  color: #5f7195;
  font-size: 11px;
  line-height: 1.7;
}

.app-shell .team-stat-grid {
  margin-bottom: 16px;
}

.app-shell .team-stat-card .stat-icon {
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .team-stat-card.team-stat-green .stat-icon {
  color: #258361;
  background: #e6f6ee;
}

.app-shell .team-stat-card.team-stat-orange .stat-icon {
  color: #a66a1e;
  background: #fff1dc;
}

.app-shell .team-stat-card.team-stat-gray .stat-icon {
  color: #67756f;
  background: #edf1ef;
}

.app-shell .team-tabs {
  display: flex;
  gap: 24px;
  margin: 0 0 16px;
  padding: 0 5px;
  border-bottom: 1px solid var(--line);
}

.app-shell .team-tabs button {
  position: relative;
  min-height: 45px;
  padding: 0 4px;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--muted);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
}

.app-shell .team-tabs button:hover,
.app-shell .team-tabs button.active {
  color: var(--brand);
}

.app-shell .team-tabs button.active {
  border-bottom-color: var(--brand);
}

.app-shell .team-tabs button span {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  color: var(--muted);
  background: #edf2ef;
  font-size: 10px;
}

.app-shell .team-tabs button.active span {
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .team-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin-bottom: 11px;
}

.app-shell .team-search {
  position: relative;
  display: flex;
  min-width: min(320px, 100%);
  flex: 1 1 290px;
}

.app-shell .team-search input {
  width: 100%;
  min-height: 37px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-1);
  font-size: 12px;
}

.app-shell .team-search input:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .team-search i {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--muted);
  font-size: 16px;
  font-style: normal;
  transform: translateY(-50%);
}

.app-shell .team-select {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface-1);
  font-size: 11px;
  font-weight: 700;
}

.app-shell .team-select select {
  min-width: 85px;
  border: 0;
  color: var(--text);
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  outline: none;
}

.app-shell .team-batch-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 13px;
  border: 1px solid #d7e5fa;
  border-radius: 9px;
  background: #f5f8ff;
}

.app-shell .team-batch-bar > div:first-child {
  display: grid;
  gap: 2px;
}

.app-shell .team-batch-bar strong {
  color: #294777;
  font-size: 12px;
}

.app-shell .team-batch-bar span {
  color: #7486a5;
  font-size: 10px;
}

.app-shell .team-batch-bar > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.app-shell .team-member-panel,
.app-shell .team-role-panel,
.app-shell .team-permission-panel {
  overflow: hidden;
}

.app-shell .team-member-panel .panel-header,
.app-shell .team-role-panel .panel-header,
.app-shell .team-permission-panel .panel-header {
  align-items: center;
}

.app-shell .team-member-panel .panel-header h2,
.app-shell .team-role-panel .panel-header h2,
.app-shell .team-permission-panel .panel-header h2 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}

.app-shell .team-member-panel .panel-header p,
.app-shell .team-role-panel .panel-header p,
.app-shell .team-permission-panel .panel-header p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.app-shell .team-result-count {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
}

.app-shell .team-table-wrap,
.app-shell .team-permission-table-wrap {
  overflow-x: auto;
  padding: 0 10px 10px;
}

.app-shell .team-table {
  min-width: 1050px;
}

.app-shell .team-table th,
.app-shell .team-table td {
  vertical-align: middle;
  padding: 11px 9px;
  font-size: 11px;
  white-space: nowrap;
}

.app-shell .team-table th {
  color: #536e60;
  background: #f3f8f4;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .team-table td {
  color: var(--text);
  border-bottom: 1px solid #edf2ef;
}

.app-shell .team-table tr.is-disabled td {
  color: #89978f;
}

.app-shell .team-check-cell {
  width: 42px;
  text-align: center !important;
}

.app-shell .team-check-cell input {
  width: 15px;
  height: 15px;
  accent-color: var(--brand);
}

.app-shell .team-member-cell {
  display: flex;
  min-width: 190px;
  align-items: center;
  gap: 9px;
}

.app-shell .team-avatar {
  display: inline-grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #2db6c0, #4b71dc);
  font-size: 13px;
  font-weight: 800;
}

.app-shell .team-avatar-large {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  border-radius: 12px;
  font-size: 16px;
}

.app-shell .team-member-cell > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.app-shell .team-member-cell strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .team-member-cell small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
}

.app-shell .team-owner-badge {
  display: inline-flex;
  margin-left: 5px;
  padding: 2px 5px;
  border-radius: 4px;
  color: #365e9d;
  background: #e8f0ff;
  font-size: 8px;
  font-weight: 800;
  vertical-align: 1px;
}

.app-shell .team-role-chip {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .team-role-blue { color: #3467b2; background: #e7f0ff; }
.app-shell .team-role-green { color: #237957; background: #e5f5eb; }
.app-shell .team-role-purple { color: #6d50a8; background: #f0eafe; }
.app-shell .team-role-orange { color: #9a651b; background: #fff1d9; }
.app-shell .team-role-gray { color: #65736c; background: #edf1ef; }

.app-shell .team-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.app-shell .team-row-actions .button {
  min-height: 28px;
  padding: 0 8px;
  font-size: 10px;
}

.app-shell .team-owner-note {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-table-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 0 20px 15px;
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-empty-state {
  display: grid;
  min-height: 150px;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: var(--muted);
  text-align: center;
}

.app-shell .team-empty-state span {
  color: var(--brand);
  font-size: 24px;
}

.app-shell .team-empty-state strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .team-empty-state small {
  font-size: 10px;
}

.app-shell .team-role-layout {
  display: grid;
  grid-template-columns: minmax(270px, .75fr) minmax(0, 1.35fr);
  gap: 14px;
}

.app-shell .team-role-list {
  display: grid;
  gap: 8px;
  padding: 0 12px 14px;
}

.app-shell .team-role-card {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--surface-1);
  text-align: left;
}

.app-shell .team-role-card:hover,
.app-shell .team-role-card.is-active {
  border-color: #9bcab4;
  background: #f2faf5;
}

.app-shell .team-role-card-icon {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 900;
}

.app-shell .team-role-card > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.app-shell .team-role-card strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .team-role-card small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .team-role-card em {
  color: var(--brand);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.app-shell .team-role-card b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.app-shell .team-permission-table {
  min-width: 560px;
}

.app-shell .team-permission-table th,
.app-shell .team-permission-table td {
  padding: 11px 10px;
  text-align: left;
}

.app-shell .team-permission-table th {
  color: #536e60;
  background: #f3f8f4;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .team-permission-table td {
  color: var(--text);
  border-bottom: 1px solid #edf2ef;
  font-size: 11px;
}

.app-shell .team-permission-table td:first-child {
  width: 50%;
}

.app-shell .team-permission-table td:first-child strong,
.app-shell .team-permission-table td:first-child small {
  display: block;
}

.app-shell .team-permission-table td:first-child strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .team-permission-table td:first-child small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.app-shell .team-permission-group-row th {
  color: var(--brand);
  background: #f4f9f5;
  font-size: 11px;
}

.app-shell .team-permission-toggle {
  display: inline-flex;
  min-width: 73px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}

.app-shell .team-permission-toggle.is-allowed {
  border-color: #b6dfc8;
  color: #277856;
  background: #eaf8ef;
}

.app-shell .team-permission-toggle i {
  font-style: normal;
  font-size: 12px;
}

.app-shell .team-permission-route {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-permission-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 20px 15px;
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-permission-actions > div {
  display: flex;
  gap: 7px;
}

.app-shell .team-modal-overlay {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22, 35, 31, .35);
}

.app-shell .team-modal {
  position: relative;
  width: min(680px, 100%);
  max-height: 88vh;
  overflow: auto;
  padding: 25px;
  border: 1px solid #d7e3da;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(19, 49, 37, .2);
}

.app-shell .team-modal-close {
  position: absolute;
  top: 14px;
  right: 15px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: #f2f6f3;
  font-size: 20px;
}

.app-shell .team-modal h2 {
  margin: 5px 35px 0 0;
  color: var(--ink);
  font-size: 20px;
}

.app-shell .team-modal-intro {
  max-width: 570px;
  margin: 8px 0 20px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.app-shell .team-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.app-shell .team-form-grid .field > span {
  display: block;
  margin-bottom: 6px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .team-form-grid .field > span em {
  margin-left: 5px;
  color: #b34a3e;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}

.app-shell .team-form-grid input,
.app-shell .team-form-grid select {
  width: 100%;
  min-height: 39px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 12px;
}

.app-shell .team-form-grid input:focus,
.app-shell .team-form-grid select:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .team-role-hint {
  display: grid;
  gap: 3px;
  margin-top: 15px;
  padding: 11px 12px;
  border: 1px solid #dbeae0;
  border-radius: 8px;
  background: #f6faf7;
}

.app-shell .team-role-hint strong {
  color: var(--brand);
  font-size: 10px;
}

.app-shell .team-role-hint span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.app-shell .team-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid #edf2ef;
}

.app-shell .team-detail-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 19px 0 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf8;
}

.app-shell .team-detail-identity > div {
  display: grid;
  flex: 1;
  gap: 3px;
}

.app-shell .team-detail-identity strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .team-detail-identity span:not(.chip):not(.team-avatar) {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-detail-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 19px;
}

.app-shell .team-detail-facts > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.app-shell .team-detail-facts span {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .team-detail-facts strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .team-modal-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
}

.app-shell .team-modal-section-heading strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .team-modal-section-heading span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .team-detail-permission-group {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.app-shell .team-detail-permission-group > strong {
  color: var(--brand);
  font-size: 10px;
}

.app-shell .team-detail-permission-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.app-shell .team-detail-permission {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 7px;
  border-radius: 6px;
  color: #718078;
  background: #f0f3f1;
  font-size: 10px;
}

.app-shell .team-detail-permission.is-allowed {
  color: #2b7656;
  background: #e8f6ed;
}

.app-shell .team-detail-permission i {
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 980px) {
  .app-shell .team-summary-layout,
  .app-shell .team-role-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .app-shell .team-identity-card {
    align-items: flex-start;
  }

  .app-shell .team-identity-card > button {
    margin-left: auto;
  }

  .app-shell .team-form-grid,
  .app-shell .team-detail-facts {
    grid-template-columns: 1fr;
  }

  .app-shell .team-modal-overlay {
    padding: 12px;
  }

  .app-shell .team-modal {
    padding: 20px 16px;
  }
}

/* 企业工作台 · 算力中心：余额、充值申请和算力流水的清晰操作层 */
.app-shell .compute-balance-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 14px;
  margin-bottom: 16px;
}

.app-shell .compute-balance-card,
.app-shell .compute-quick-card {
  min-width: 0;
  min-height: 142px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-1);
  box-shadow: var(--shadow-sm);
}

.app-shell .compute-balance-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: linear-gradient(135deg, #f6fbf8, #eff6ff);
}

.app-shell .compute-balance-card > div:first-child {
  display: grid;
  gap: 4px;
}

.app-shell .compute-kicker {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .compute-balance-card strong {
  color: #1d4f3b;
  font-size: 32px;
  letter-spacing: -.05em;
  line-height: 1;
}

.app-shell .compute-balance-card small,
.app-shell .compute-balance-side span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-balance-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.app-shell .compute-quick-card {
  display: grid;
  align-content: center;
  gap: 8px;
}

.app-shell .compute-quick-card > span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-quick-card strong {
  color: var(--ink);
  font-size: 21px;
  letter-spacing: -.03em;
}

.app-shell .compute-quick-card small {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-quick-track {
  overflow: hidden;
  height: 7px;
  margin-top: 3px;
  border-radius: 99px;
  background: #e8efeb;
}

.app-shell .compute-quick-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2ba991, #4e72db);
}

.app-shell .compute-stat-grid {
  margin-bottom: 16px;
}

.app-shell .compute-usage-panel,
.app-shell .compute-rule-panel,
.app-shell .compute-recent-panel,
.app-shell .compute-detail-panel {
  overflow: hidden;
}

.app-shell .compute-usage-panel h2,
.app-shell .compute-rule-panel h2,
.app-shell .compute-recent-panel h2,
.app-shell .compute-detail-panel h2 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}

.app-shell .compute-usage-panel .panel-header p,
.app-shell .compute-rule-panel .panel-header p,
.app-shell .compute-recent-panel .panel-header p,
.app-shell .compute-detail-panel .panel-header p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.app-shell .compute-usage-panel .health-bars {
  padding: 6px 20px 3px;
}

.app-shell .compute-usage-note {
  padding: 9px 20px 16px;
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-recent-panel {
  margin-top: 16px;
}

.app-shell .compute-recent-panel .data-table th,
.app-shell .compute-recent-panel .data-table td {
  padding: 11px 10px;
  font-size: 11px;
}

.app-shell .compute-detail-count {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-detail-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding: 0 20px 14px;
}

.app-shell .compute-detail-search {
  position: relative;
  display: flex;
  min-width: min(330px, 100%);
  flex: 1 1 300px;
}

.app-shell .compute-detail-search input {
  width: 100%;
  min-height: 37px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 11px;
}

.app-shell .compute-detail-search input:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .compute-detail-search i {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--muted);
  font-size: 16px;
  font-style: normal;
  transform: translateY(-50%);
}

.app-shell .compute-detail-select {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface-2);
  font-size: 10px;
  font-weight: 800;
}

.app-shell .compute-detail-select select {
  min-width: 90px;
  border: 0;
  color: var(--text);
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  outline: 0;
}

.app-shell .compute-detail-table-wrap {
  padding-top: 0;
}

.app-shell .compute-detail-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.app-shell .compute-detail-table th,
.app-shell .compute-detail-table td {
  padding: 11px 9px;
  vertical-align: middle;
  font-size: 10px;
  word-break: break-word;
}

.app-shell .compute-detail-table th {
  color: #536e60;
  background: #f3f8f4;
  font-weight: 800;
}

.app-shell .compute-detail-table td {
  color: var(--text);
  border-bottom: 1px solid #edf2ef;
}

.app-shell .compute-detail-table th:nth-child(1),
.app-shell .compute-detail-table td:nth-child(1) { width: 9%; }
.app-shell .compute-detail-table th:nth-child(2),
.app-shell .compute-detail-table td:nth-child(2) { width: 22%; }
.app-shell .compute-detail-table th:nth-child(3),
.app-shell .compute-detail-table td:nth-child(3) { width: 10%; }
.app-shell .compute-detail-table th:nth-child(4),
.app-shell .compute-detail-table td:nth-child(4) { width: 10%; }
.app-shell .compute-detail-table th:nth-child(5),
.app-shell .compute-detail-table td:nth-child(5) { width: 10%; }
.app-shell .compute-detail-table th:nth-child(6),
.app-shell .compute-detail-table td:nth-child(6) { width: 10%; }
.app-shell .compute-detail-table th:nth-child(7),
.app-shell .compute-detail-table td:nth-child(7) { width: 19%; }
.app-shell .compute-detail-table th:nth-child(8),
.app-shell .compute-detail-table td:nth-child(8) { width: 10%; }

.app-shell .compute-detail-table td:nth-child(2) {
  white-space: normal;
}

.app-shell .compute-detail-table td:nth-child(2) strong,
.app-shell .compute-detail-table td:nth-child(2) small {
  display: block;
}

.app-shell .compute-detail-table td:nth-child(2) strong {
  color: var(--ink);
  font-size: 11px;
  line-height: 1.45;
}

.app-shell .compute-detail-table td:nth-child(2) small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.app-shell .compute-detail-table .is-credit {
  color: #25805f;
}

.app-shell .compute-detail-table .is-debit {
  color: #6e4e86;
}

.app-shell .compute-detail-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 0 20px 16px;
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-empty-state {
  display: grid;
  min-height: 150px;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: var(--muted);
  text-align: center;
}

.app-shell .compute-empty-state strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .compute-empty-state span {
  font-size: 10px;
}

.app-shell .compute-modal-overlay {
  position: fixed;
  z-index: 110;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22, 35, 31, .35);
}

.app-shell .compute-modal {
  position: relative;
  width: min(720px, 100%);
  max-height: 88vh;
  overflow: auto;
  padding: 25px;
  border: 1px solid #d7e3da;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(19, 49, 37, .2);
}

.app-shell .compute-modal-close {
  position: absolute;
  top: 14px;
  right: 15px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: #f2f6f3;
  font-size: 20px;
}

.app-shell .compute-modal h2 {
  margin: 5px 35px 0 0;
  color: var(--ink);
  font-size: 20px;
}

.app-shell .compute-modal-copy {
  max-width: 620px;
  margin: 8px 0 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.app-shell .compute-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.app-shell .compute-plan-card {
  display: grid;
  min-height: 150px;
  align-content: start;
  gap: 5px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: #fff;
  text-align: left;
}

.app-shell .compute-plan-card:hover,
.app-shell .compute-plan-card.is-selected {
  border-color: #80bfa0;
  background: #f1faf4;
  box-shadow: 0 0 0 2px rgba(55, 145, 102, .08);
}

.app-shell .compute-plan-radio {
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  margin-bottom: 4px;
  border: 1px solid #c5d7cb;
  border-radius: 50%;
  color: #fff;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
}

.app-shell .compute-plan-card.is-selected .compute-plan-radio {
  border-color: var(--brand);
  background: var(--brand);
}

.app-shell .compute-plan-card strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .compute-plan-card strong em {
  margin-left: 5px;
  padding: 2px 5px;
  border-radius: 4px;
  color: #8b5b1c;
  background: #fff0d8;
  font-size: 8px;
  font-style: normal;
}

.app-shell .compute-plan-card b {
  color: var(--brand);
  font-size: 15px;
}

.app-shell .compute-plan-card small {
  min-height: 29px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.app-shell .compute-plan-card i {
  color: #516b5e;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.app-shell .compute-custom-points {
  display: grid;
  max-width: 320px;
  gap: 6px;
  margin-top: 14px;
}

.app-shell .compute-custom-points span {
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .compute-custom-points input {
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 12px;
}

.app-shell .compute-custom-points input:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .compute-custom-points small {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .compute-recharge-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #dbeae0;
  border-radius: 8px;
  background: #f6faf7;
}

.app-shell .compute-recharge-summary span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .compute-recharge-summary strong {
  color: var(--brand);
  font-size: 14px;
}

.app-shell .compute-record-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 19px;
}

.app-shell .compute-record-detail-grid > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
}

.app-shell .compute-record-detail-grid span {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .compute-record-detail-grid strong {
  color: var(--ink);
  font-size: 11px;
  line-height: 1.5;
}

.app-shell .compute-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 21px;
  padding-top: 14px;
  border-top: 1px solid #edf2ef;
}

@media (max-width: 980px) {
  .app-shell .compute-balance-layout {
    grid-template-columns: 1fr;
  }

  .app-shell .compute-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .app-shell .compute-balance-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .compute-balance-side {
    justify-items: start;
  }

  .app-shell .compute-plan-grid,
  .app-shell .compute-record-detail-grid {
    grid-template-columns: 1fr;
  }

  .app-shell .compute-modal-overlay {
    padding: 12px;
  }

  .app-shell .compute-modal {
    padding: 20px 16px;
  }
}

/* JY Clean Ops v1 · AI 监测扫描：把任务状态、平台进度和结果回流拆成三层。 */
.app-shell .collect-task-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 18px;
  border: 1px solid #d6e0f2;
  border-radius: 12px;
  color: var(--admin-text-secondary);
  background: #f7f9ff;
}

.app-shell .collect-task-summary-title {
  display: grid;
  gap: 4px;
  min-width: 130px;
}

.app-shell .collect-task-summary-title .collect-section-label {
  margin: 0;
  color: var(--admin-text-tertiary);
}

.app-shell .collect-task-summary-title strong {
  color: var(--admin-text-strong);
  font-size: 14px;
}

.app-shell .collect-task-summary-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.app-shell .collect-task-summary-metric {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  border: 1px solid #dbe3f2;
  border-radius: 999px;
  color: var(--admin-text-secondary);
  background: #fff;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.app-shell .collect-task-summary-metric i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #aeb9cb;
}

.app-shell .collect-task-summary-metric.is-good i { background: var(--accent); }
.app-shell .collect-task-summary-metric.is-running i { background: var(--brand); }
.app-shell .collect-task-summary-metric.is-attention i { background: var(--orange); }

.app-shell .collect-task-summary-note {
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

.app-shell .collect-task-grid {
  gap: 16px;
  align-items: stretch;
}

.app-shell .collect-task-card {
  position: relative;
  display: flex;
  min-height: 410px;
  flex-direction: column;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}

.app-shell .collect-task-card::before {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 3px;
  background: var(--task-accent, var(--brand));
}

.app-shell .collect-task-card.status-completed { --task-accent: var(--brand); }
.app-shell .collect-task-card.status-running { --task-accent: var(--accent); }
.app-shell .collect-task-card.status-partial { --task-accent: var(--orange); }
.app-shell .collect-task-card.status-failed { --task-accent: var(--coral); }

.app-shell .collect-task-header {
  min-height: 83px;
  padding: 19px 18px 15px;
  border-bottom-color: var(--line);
}

.app-shell .collect-task-identity {
  min-width: 0;
}

.app-shell .collect-task-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--admin-text-tertiary);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
}

.app-shell .collect-task-header h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .collect-task-header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .collect-task-statuses {
  gap: 6px;
}

.app-shell .collect-task-statuses .chip {
  min-height: 25px;
  padding: 0 8px;
  border: 1px solid #dbe3f2;
  font-size: 10px;
}

.app-shell .collect-task-statuses .chip-green { border-color: #bde7ea; }
.app-shell .collect-task-statuses .chip-orange { border-color: #f0dfbf; }
.app-shell .collect-task-statuses .chip-red { border-color: #f0c8c8; }

.app-shell .collect-task-delete {
  display: grid;
  width: 29px;
  height: 29px;
  min-width: 29px;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--admin-text-tertiary);
  font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
  font-size: 13px;
}

.app-shell .collect-task-delete:hover {
  border-color: #f0c8c8;
  color: #b35656;
  background: #fff5f4;
}

.app-shell .collect-task-delete svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.app-shell .collect-task-body {
  gap: 0;
  padding: 13px 18px 4px;
}

.app-shell .collect-task-row {
  grid-template-columns: 64px minmax(0, 1fr);
  min-height: 37px;
  padding: 0 0 10px;
  border-bottom: 1px solid #edf0f5;
}

.app-shell .collect-task-row + .collect-task-row {
  padding-top: 10px;
}

.app-shell .collect-task-row:last-child {
  border-bottom: 0;
}

.app-shell .collect-task-row > span {
  color: var(--admin-text-tertiary);
  font-size: 11px;
}

.app-shell .collect-task-row > strong {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.app-shell .collect-task-keyword-row > strong {
  color: var(--brand);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.app-shell .collect-platform-progress {
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px;
}

.app-shell .collect-platform-progress i {
  width: 24px;
  height: 24px;
  border-color: #dbe3f2;
  border-radius: 7px;
  color: #8290a6;
  background: #f7f9fc;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.app-shell .collect-platform-progress i.done {
  border-color: #b4c7f7;
  color: #2369c7;
  background: var(--brand-light);
}

.app-shell .collect-platform-progress strong {
  margin-left: auto;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.app-shell .collect-task-progress-row {
  align-items: center;
}

.app-shell .collect-progress-cell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.app-shell .collect-progress-cell strong {
  min-width: 37px;
  color: var(--brand);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.app-shell .collect-progress {
  height: 7px;
  background: #e7ebf3;
}

.app-shell .collect-task-actions {
  min-height: 62px;
  margin-top: auto;
  padding: 13px 18px;
  border-top: 1px solid var(--line);
  background: #fafbfe;
}

.app-shell .collect-task-actions .collect-task-hint {
  min-width: 0;
  color: var(--admin-text-tertiary);
  font-size: 10px;
  line-height: 1.45;
}

.app-shell .collect-task-actions .button-small {
  min-height: 34px;
  padding: 0 10px;
}

.app-shell .collect-pipeline {
  min-height: 43px;
  overflow-x: auto;
  padding: 10px 18px;
  border-top-color: var(--line);
  color: var(--admin-text-tertiary);
  background: #f7f9fc;
  font-size: 10px;
  white-space: nowrap;
}

.app-shell .collect-pipeline .done { color: var(--brand); }
.app-shell .collect-pipeline .current { color: #087f8c; }

.app-shell .collect-recent-panel {
  border-top: 3px solid var(--accent);
}

@media (max-width: 900px) {
  .app-shell .collect-task-summary {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .app-shell .collect-task-summary-note {
    text-align: left;
  }
}

@media (max-width: 700px) {
  .app-shell .collect-task-header,
  .app-shell .collect-task-body,
  .app-shell .collect-task-actions,
  .app-shell .collect-pipeline {
    padding-left: 15px;
    padding-right: 15px;
  }

  .app-shell .collect-task-header {
    min-height: 78px;
  }

  .app-shell .collect-task-statuses {
    gap: 4px;
  }

  .app-shell .collect-task-statuses .chip {
    display: none;
  }

  .app-shell .collect-task-delete {
    width: 27px;
    height: 27px;
    min-width: 27px;
  }
}

/* 企业工作台 · 订阅与账单：把套餐、权益、账单和发票拆成可理解的操作层 */
.app-shell .billing-tabs {
  display: flex;
  gap: 24px;
  margin: 0 0 16px;
  padding: 0 5px;
  border-bottom: 1px solid var(--line);
}

.app-shell .billing-tabs button {
  min-height: 45px;
  padding: 0 4px;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--muted);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
}

.app-shell .billing-tabs button:hover,
.app-shell .billing-tabs button.active {
  color: var(--brand);
}

.app-shell .billing-tabs button.active {
  border-bottom-color: var(--brand);
}

.app-shell .billing-tabs button span {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  color: var(--muted);
  background: #edf2ef;
  font-size: 10px;
}

.app-shell .billing-tabs button.active span {
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .billing-subscription-hero {
  display: flex;
  min-height: 158px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
  padding: 22px 24px;
  border: 1px solid #c9defb;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #f3f8ff, #f7fbf7);
  box-shadow: var(--shadow-sm);
}

.app-shell .billing-subscription-main {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
}

.app-shell .billing-plan-mark {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.app-shell .billing-plan-blue { background: linear-gradient(135deg, #5d8be8, #4569bd); }
.app-shell .billing-plan-green { background: linear-gradient(135deg, #35aa88, #21745a); }
.app-shell .billing-plan-purple { background: linear-gradient(135deg, #9a76db, #6c4ca4); }
.app-shell .billing-plan-gray { background: linear-gradient(135deg, #9aa9a2, #65736c); }

.app-shell .billing-subscription-main > div:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.app-shell .billing-kicker {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.app-shell .billing-subscription-main h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--ink);
  font-size: 20px;
}

.app-shell .billing-subscription-main p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.app-shell .billing-subscription-price {
  display: grid;
  align-items: baseline;
  justify-items: end;
  gap: 4px;
}

.app-shell .billing-subscription-price strong {
  color: var(--ink);
  font-size: 25px;
  letter-spacing: -.04em;
}

.app-shell .billing-subscription-price > span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .billing-subscription-price small {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .billing-stat-grid {
  margin-bottom: 16px;
}

.app-shell .billing-stat-card .stat-icon {
  color: #3d6ec9;
  background: #e8f0ff;
}

.app-shell .billing-stat-card.billing-stat-green .stat-icon {
  color: #258361;
  background: #e6f6ee;
}

.app-shell .billing-stat-card.billing-stat-purple .stat-icon {
  color: #7652a9;
  background: #f0eafe;
}

.app-shell .billing-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 14px;
}

.app-shell .billing-contract-panel,
.app-shell .billing-invoice-summary,
.app-shell .billing-recent-panel,
.app-shell .billing-bills-panel,
.app-shell .billing-invoice-form-panel,
.app-shell .billing-invoice-guide {
  overflow: hidden;
}

.app-shell .billing-contract-panel h2,
.app-shell .billing-invoice-summary h2,
.app-shell .billing-recent-panel h2,
.app-shell .billing-bills-panel h2,
.app-shell .billing-invoice-form-panel h2,
.app-shell .billing-invoice-guide h2 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}

.app-shell .billing-contract-panel .panel-header p,
.app-shell .billing-invoice-summary .panel-header p,
.app-shell .billing-recent-panel .panel-header p,
.app-shell .billing-bills-panel .panel-header p,
.app-shell .billing-invoice-form-panel .panel-header p,
.app-shell .billing-invoice-guide .panel-header p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.app-shell .billing-contract-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 0 20px 15px;
}

.app-shell .billing-contract-list > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #e1ebe4;
  border-radius: 8px;
  background: #f8fbf9;
}

.app-shell .billing-contract-list span,
.app-shell .billing-invoice-card span,
.app-shell .billing-invoice-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .billing-contract-list span {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-contract-list strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .billing-contract-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 20px 17px;
}

.app-shell .billing-invoice-card {
  display: grid;
  gap: 7px;
  margin: 0 20px 18px;
  padding: 14px;
  border: 1px solid #dbe8df;
  border-radius: 10px;
  background: #f6faf7;
}

.app-shell .billing-invoice-card strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .billing-invoice-card span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .billing-recent-panel {
  margin-top: 16px;
}

.app-shell .billing-recent-table th,
.app-shell .billing-recent-table td {
  padding: 11px 10px;
  font-size: 11px;
}

.app-shell .billing-recent-table td:nth-child(2) strong,
.app-shell .billing-recent-table td:nth-child(2) small {
  display: block;
}

.app-shell .billing-recent-table td:nth-child(2) small,
.app-shell .billing-table td:nth-child(4) small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-plans-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 3px 2px;
}

.app-shell .billing-plans-intro h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 19px;
}

.app-shell .billing-plans-intro p:not(.eyebrow) {
  max-width: 650px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.app-shell .billing-plans-intro > span {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .billing-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.app-shell .billing-plan-card {
  display: flex;
  min-height: 375px;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-1);
  box-shadow: var(--shadow-sm);
}

.app-shell .billing-plan-card.is-current {
  border-color: #94c9aa;
  box-shadow: 0 0 0 2px rgba(49, 136, 91, .08), var(--shadow-sm);
}

.app-shell .billing-plan-card-head {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.app-shell .billing-plan-card-head .billing-plan-mark {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-radius: 11px;
  font-size: 12px;
}

.app-shell .billing-plan-card h3 {
  margin: 15px 0 4px;
  color: var(--ink);
  font-size: 16px;
}

.app-shell .billing-plan-card > p {
  min-height: 35px;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.app-shell .billing-plan-price {
  display: block;
  margin-top: 16px;
  color: var(--ink);
  font-size: 24px;
  letter-spacing: -.04em;
}

.app-shell .billing-plan-price small {
  margin-left: 3px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0;
}

.app-shell .billing-plan-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 13px;
  padding: 9px 0;
  border-top: 1px solid #edf2ef;
  border-bottom: 1px solid #edf2ef;
}

.app-shell .billing-plan-facts span {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-plan-facts b {
  color: var(--text);
  font-size: 11px;
}

.app-shell .billing-plan-card ul {
  display: grid;
  flex: 1;
  gap: 7px;
  margin: 14px 0 17px;
  padding: 0;
  list-style: none;
  color: var(--text);
  font-size: 10px;
}

.app-shell .billing-plan-card .button {
  width: 100%;
}

.app-shell .billing-plan-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 14px;
  padding: 14px 17px;
}

.app-shell .billing-plan-notice div {
  display: grid;
  gap: 4px;
}

.app-shell .billing-plan-notice strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .billing-plan-notice span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.app-shell .billing-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding: 0 20px 14px;
}

.app-shell .billing-search {
  position: relative;
  display: flex;
  min-width: min(320px, 100%);
  flex: 1 1 300px;
}

.app-shell .billing-search input {
  width: 100%;
  min-height: 37px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 11px;
}

.app-shell .billing-search input:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .billing-search i {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--muted);
  font-size: 16px;
  font-style: normal;
  transform: translateY(-50%);
}

.app-shell .billing-select {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface-2);
  font-size: 10px;
  font-weight: 800;
}

.app-shell .billing-select select {
  min-width: 88px;
  border: 0;
  color: var(--text);
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  outline: 0;
}

.app-shell .billing-table-wrap {
  overflow-x: auto;
  padding-top: 0;
}

.app-shell .billing-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.app-shell .billing-table th,
.app-shell .billing-table td {
  padding: 11px 8px;
  vertical-align: middle;
  color: var(--text);
  font-size: 10px;
  word-break: break-word;
}

.app-shell .billing-table th {
  color: #536e60;
  background: #f3f8f4;
  font-weight: 800;
}

.app-shell .billing-table td {
  border-bottom: 1px solid #edf2ef;
}

.app-shell .billing-table th:nth-child(1), .app-shell .billing-table td:nth-child(1) { width: 13%; }
.app-shell .billing-table th:nth-child(2), .app-shell .billing-table td:nth-child(2) { width: 10%; }
.app-shell .billing-table th:nth-child(3), .app-shell .billing-table td:nth-child(3) { width: 18%; }
.app-shell .billing-table th:nth-child(4), .app-shell .billing-table td:nth-child(4) { width: 11%; }
.app-shell .billing-table th:nth-child(5), .app-shell .billing-table td:nth-child(5) { width: 9%; }
.app-shell .billing-table th:nth-child(6), .app-shell .billing-table td:nth-child(6) { width: 9%; }
.app-shell .billing-table th:nth-child(7), .app-shell .billing-table td:nth-child(7) { width: 10%; }
.app-shell .billing-table th:nth-child(8), .app-shell .billing-table td:nth-child(8) { width: 10%; }
.app-shell .billing-table th:nth-child(9), .app-shell .billing-table td:nth-child(9) { width: 10%; }

.app-shell .billing-table td:nth-child(1) strong,
.app-shell .billing-table td:nth-child(4) small {
  display: block;
}

.app-shell .billing-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.app-shell .billing-row-actions .button {
  min-height: 27px;
  padding: 0 7px;
  font-size: 10px;
}

.app-shell .billing-result-count,
.app-shell .billing-table-footer {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .billing-table-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 0 20px 16px;
}

.app-shell .billing-empty-state {
  display: grid;
  min-height: 150px;
  place-items: center;
  align-content: center;
  gap: 5px;
  color: var(--muted);
  text-align: center;
}

.app-shell .billing-empty-state strong {
  color: var(--ink);
  font-size: 13px;
}

.app-shell .billing-empty-state span {
  font-size: 10px;
}

.app-shell .billing-invoice-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 14px;
}

.app-shell .billing-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 2px 20px 16px;
}

.app-shell .billing-form-grid .field > span {
  display: block;
  margin-bottom: 6px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .billing-form-grid .field > span em {
  margin-left: 5px;
  color: #b34a3e;
  font-size: 9px;
  font-style: normal;
}

.app-shell .billing-form-grid input,
.app-shell .billing-form-grid textarea {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 11px;
}

.app-shell .billing-form-grid textarea {
  resize: vertical;
  line-height: 1.6;
}

.app-shell .billing-form-grid input:focus,
.app-shell .billing-form-grid textarea:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 112, 82, .1);
}

.app-shell .billing-field-wide {
  grid-column: 1 / -1;
}

.app-shell .billing-form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 20px 18px;
}

.app-shell .billing-guide-list {
  display: grid;
  gap: 12px;
  padding: 0 20px 17px;
}

.app-shell .billing-guide-list > div {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.app-shell .billing-guide-list b {
  display: grid;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  place-items: center;
  border-radius: 7px;
  color: #fff;
  background: var(--brand);
  font-size: 10px;
}

.app-shell .billing-guide-list span {
  display: grid;
  gap: 3px;
}

.app-shell .billing-guide-list strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .billing-guide-list small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.app-shell .billing-invoice-current {
  display: grid;
  gap: 4px;
  margin: 0 20px 18px;
  padding: 12px;
  border: 1px solid #dbe8df;
  border-radius: 9px;
  background: #f6faf7;
}

.app-shell .billing-invoice-current span,
.app-shell .billing-invoice-current small {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-invoice-current strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .billing-modal-overlay {
  position: fixed;
  z-index: 110;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22, 35, 31, .35);
}

.app-shell .billing-modal {
  position: relative;
  width: min(700px, 100%);
  max-height: 88vh;
  overflow: auto;
  padding: 25px;
  border: 1px solid #d7e3da;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(19, 49, 37, .2);
}

.app-shell .billing-modal-close {
  position: absolute;
  top: 14px;
  right: 15px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: #f2f6f3;
  font-size: 20px;
}

.app-shell .billing-modal h2 {
  margin: 5px 35px 0 0;
  color: var(--ink);
  font-size: 20px;
}

.app-shell .billing-modal-copy {
  margin: 8px 0 17px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.app-shell .billing-plan-compact-list {
  display: grid;
  gap: 8px;
}

.app-shell .billing-plan-compact {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: #fff;
  text-align: left;
}

.app-shell .billing-plan-compact:hover,
.app-shell .billing-plan-compact.is-selected {
  border-color: #8fc4a4;
  background: #f1faf4;
}

.app-shell .billing-plan-compact-radio {
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border: 1px solid #c5d7cb;
  border-radius: 50%;
  color: #fff;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
}

.app-shell .billing-plan-compact.is-selected .billing-plan-compact-radio {
  border-color: var(--brand);
  background: var(--brand);
}

.app-shell .billing-plan-compact > span:nth-child(2) {
  display: grid;
  gap: 3px;
}

.app-shell .billing-plan-compact strong {
  color: var(--ink);
  font-size: 12px;
}

.app-shell .billing-plan-compact small {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-plan-compact b {
  color: var(--brand);
  font-size: 12px;
}

.app-shell .billing-cycle-field {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.app-shell .billing-cycle-field select {
  min-height: 36px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface-2);
  font-size: 11px;
}

.app-shell .billing-modal-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
  padding: 12px;
  border: 1px solid #dbeae0;
  border-radius: 8px;
  background: #f6faf7;
}

.app-shell .billing-modal-summary span {
  color: var(--muted);
  font-size: 10px;
}

.app-shell .billing-modal-summary strong {
  color: var(--brand);
  font-size: 13px;
}

.app-shell .billing-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 21px;
  padding-top: 14px;
  border-top: 1px solid #edf2ef;
}

.app-shell .billing-bill-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 19px;
}

.app-shell .billing-bill-facts > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
}

.app-shell .billing-bill-facts span,
.app-shell .billing-bill-note > span {
  color: var(--muted);
  font-size: 9px;
}

.app-shell .billing-bill-facts strong {
  color: var(--ink);
  font-size: 11px;
}

.app-shell .billing-bill-note {
  display: grid;
  gap: 5px;
  margin-top: 13px;
  padding: 11px;
  border-radius: 8px;
  background: #f6faf7;
}

.app-shell .billing-bill-note p {
  margin: 0;
  color: var(--text);
  font-size: 10px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .app-shell .billing-overview-grid,
  .app-shell .billing-invoice-layout {
    grid-template-columns: 1fr;
  }

  .app-shell .billing-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .app-shell .billing-subscription-hero,
  .app-shell .billing-plans-intro,
  .app-shell .billing-plan-notice {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell .billing-subscription-price {
    justify-items: start;
  }

  .app-shell .billing-contract-list,
  .app-shell .billing-form-grid,
  .app-shell .billing-bill-facts {
    grid-template-columns: 1fr;
  }

  .app-shell .billing-field-wide {
    grid-column: auto;
  }

  .app-shell .billing-plan-grid {
    grid-template-columns: 1fr;
  }

  .app-shell .billing-modal-overlay {
    padding: 12px;
  }

  .app-shell .billing-modal {
    padding: 20px 16px;
  }
}

/* 企业工作台 · 订阅与账单 v2：先看当前权益，再处理套餐、账单和发票。 */
.app-shell:has(.billing-tabs) .page-heading .eyebrow { color: #315bea; }
.app-shell:has(.billing-tabs) .page-heading h1 { color: #243653; }
.app-shell:has(.billing-tabs) .page-heading p { color: #71809b; font-size: 13px; }
.app-shell:has(.billing-tabs) .page-heading-actions .button { min-height: 40px; font-size: 13px; }

.app-shell:has(.billing-tabs) .billing-tabs { gap: 28px; margin-bottom: 18px; padding: 0 12px; border-bottom-color: #dce3f2; }
.app-shell:has(.billing-tabs) .billing-tabs button { min-height: 48px; padding: 0 2px; color: #71809b; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-tabs button:hover,
.app-shell:has(.billing-tabs) .billing-tabs button.active { color: #315bea; }
.app-shell:has(.billing-tabs) .billing-tabs button.active { border-bottom-color: #315bea; }
.app-shell:has(.billing-tabs) .billing-tabs button span { min-width: 22px; height: 22px; color: #71809b; background: #eef2f8; font-size: 11px; }
.app-shell:has(.billing-tabs) .billing-tabs button.active span { color: #315bea; background: #eef2ff; }

.app-shell:has(.billing-tabs) .billing-subscription-hero { min-height: 174px; margin-bottom: 18px; padding: 26px 28px; border: 1px solid #cbd6f3; border-top: 3px solid #315bea; border-radius: 14px; background: linear-gradient(135deg, #f5f7ff 0%, #fff 68%); box-shadow: 0 12px 28px rgba(42, 65, 120, .07); }
.app-shell:has(.billing-tabs) .billing-subscription-main { gap: 16px; }
.app-shell:has(.billing-tabs) .billing-plan-mark { width: 54px; height: 54px; flex-basis: 54px; border-radius: 14px; background: #315bea; box-shadow: 0 8px 16px rgba(49, 91, 234, .18); font-size: 15px; }
.app-shell:has(.billing-tabs) .billing-plan-blue { background: #315bea; }
.app-shell:has(.billing-tabs) .billing-plan-green { background: #1f9476; }
.app-shell:has(.billing-tabs) .billing-plan-purple { background: #7653d6; }
.app-shell:has(.billing-tabs) .billing-plan-gray { background: #71809b; }
.app-shell:has(.billing-tabs) .billing-kicker { color: #5d6f97; font-size: 13px; letter-spacing: .02em; }
.app-shell:has(.billing-tabs) .billing-subscription-main h2 { color: #30415f; font-size: 23px; }
.app-shell:has(.billing-tabs) .billing-subscription-main p { color: #71809b; font-size: 13px; line-height: 1.6; }
.app-shell:has(.billing-tabs) .billing-subscription-price { gap: 5px; }
.app-shell:has(.billing-tabs) .billing-subscription-price strong { color: #263f73; font-size: 34px; }
.app-shell:has(.billing-tabs) .billing-subscription-price > span { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-subscription-price small { color: #71809b; font-size: 12px; }

.app-shell:has(.billing-tabs) .billing-stat-grid { gap: 12px; margin-bottom: 18px; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-card { min-height: 116px; padding: 17px 18px; border-color: #d5def0; border-radius: 12px; box-shadow: 0 8px 20px rgba(42, 65, 120, .05); }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-card:nth-child(1) { border-top: 3px solid #315bea; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-card:nth-child(2) { border-top: 3px solid #1ea6b5; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-card:nth-child(3) { border-top: 3px solid #258361; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-card:nth-child(4) { border-top: 3px solid #7653d6; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-top > span:first-child { color: #5d6f97; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-icon { width: 29px; height: 29px; color: #315bea; background: #eef2ff; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-stat-grid .billing-stat-green .stat-icon { color: #258361; background: #eaf8ef; }
.app-shell:has(.billing-tabs) .billing-stat-grid .billing-stat-purple .stat-icon { color: #7653d6; background: #f1edff; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-value { margin-top: 12px; color: #30415f; font-size: 30px; }
.app-shell:has(.billing-tabs) .billing-stat-grid .stat-meta { margin-top: 6px; color: #8995aa; font-size: 12px; }

.app-shell:has(.billing-tabs) .billing-overview-grid,
.app-shell:has(.billing-tabs) .billing-invoice-layout { gap: 16px; }
.app-shell:has(.billing-tabs) .billing-contract-panel,
.app-shell:has(.billing-tabs) .billing-invoice-summary,
.app-shell:has(.billing-tabs) .billing-recent-panel,
.app-shell:has(.billing-tabs) .billing-bills-panel,
.app-shell:has(.billing-tabs) .billing-invoice-form-panel,
.app-shell:has(.billing-tabs) .billing-invoice-guide { border: 1px solid #d5def0; border-top: 3px solid #315bea; border-radius: 13px; box-shadow: 0 10px 24px rgba(42, 65, 120, .05); }
.app-shell:has(.billing-tabs) .billing-contract-panel h2,
.app-shell:has(.billing-tabs) .billing-invoice-summary h2,
.app-shell:has(.billing-tabs) .billing-recent-panel h2,
.app-shell:has(.billing-tabs) .billing-bills-panel h2,
.app-shell:has(.billing-tabs) .billing-invoice-form-panel h2,
.app-shell:has(.billing-tabs) .billing-invoice-guide h2 { color: #30415f; font-size: 18px; }
.app-shell:has(.billing-tabs) .billing-contract-panel .panel-header p,
.app-shell:has(.billing-tabs) .billing-invoice-summary .panel-header p,
.app-shell:has(.billing-tabs) .billing-recent-panel .panel-header p,
.app-shell:has(.billing-tabs) .billing-bills-panel .panel-header p,
.app-shell:has(.billing-tabs) .billing-invoice-form-panel .panel-header p,
.app-shell:has(.billing-tabs) .billing-invoice-guide .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
.app-shell:has(.billing-tabs) .billing-contract-panel .panel-header,
.app-shell:has(.billing-tabs) .billing-invoice-summary .panel-header,
.app-shell:has(.billing-tabs) .billing-recent-panel .panel-header,
.app-shell:has(.billing-tabs) .billing-bills-panel .panel-header,
.app-shell:has(.billing-tabs) .billing-invoice-form-panel .panel-header,
.app-shell:has(.billing-tabs) .billing-invoice-guide .panel-header { padding: 18px 20px 15px; }
.app-shell:has(.billing-tabs) .billing-contract-list { gap: 10px; padding: 0 20px 16px; }
.app-shell:has(.billing-tabs) .billing-contract-list > div { min-height: 58px; padding: 12px; border-color: #dce3f2; background: #fbfcff; }
.app-shell:has(.billing-tabs) .billing-contract-list span { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-contract-list strong { color: #405172; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-contract-actions { gap: 8px; padding: 0 20px 18px; }
.app-shell:has(.billing-tabs) .billing-contract-actions .button,
.app-shell:has(.billing-tabs) .billing-invoice-summary .panel-header .button { min-height: 36px; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-invoice-card { gap: 8px; margin: 0 20px 19px; padding: 16px; border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-invoice-card strong { color: #30415f; font-size: 15px; }
.app-shell:has(.billing-tabs) .billing-invoice-card span { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-recent-panel { margin-top: 18px; }
.app-shell:has(.billing-tabs) .billing-recent-table { min-width: 760px; table-layout: fixed; }
.app-shell:has(.billing-tabs) .billing-recent-table th,
.app-shell:has(.billing-tabs) .billing-recent-table td { padding: 13px 12px; color: #536b99; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-recent-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-recent-table td:nth-child(2) strong { color: #30415f; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-recent-table td:nth-child(2) small { margin-top: 4px; color: #8995aa; font-size: 11px; }

.app-shell:has(.billing-tabs) .billing-plans-intro { margin-bottom: 17px; padding: 3px 2px; }
.app-shell:has(.billing-tabs) .billing-plans-intro h2 { color: #30415f; font-size: 21px; }
.app-shell:has(.billing-tabs) .billing-plans-intro p:not(.eyebrow) { color: #71809b; font-size: 13px; line-height: 1.7; }
.app-shell:has(.billing-tabs) .billing-plans-intro > span { color: #315bea; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-grid { gap: 14px; }
.app-shell:has(.billing-tabs) .billing-plan-card { min-height: 408px; padding: 20px; border-color: #d5def0; border-radius: 13px; box-shadow: 0 10px 24px rgba(42, 65, 120, .05); }
.app-shell:has(.billing-tabs) .billing-plan-card:hover { border-color: #8fa7ef; transform: translateY(-1px); }
.app-shell:has(.billing-tabs) .billing-plan-card.is-current { border-color: #8fa7ef; box-shadow: inset 0 3px #315bea, 0 10px 24px rgba(42, 65, 120, .07); }
.app-shell:has(.billing-tabs) .billing-plan-card-head .billing-plan-mark { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-card h3 { color: #30415f; font-size: 18px; }
.app-shell:has(.billing-tabs) .billing-plan-card > p { min-height: 43px; color: #71809b; font-size: 12px; line-height: 1.6; }
.app-shell:has(.billing-tabs) .billing-plan-price { margin-top: 18px; color: #263f73; font-size: 30px; }
.app-shell:has(.billing-tabs) .billing-plan-price small { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-plan-facts { margin-top: 15px; padding: 11px 0; border-color: #edf0f6; }
.app-shell:has(.billing-tabs) .billing-plan-facts span { color: #71809b; font-size: 11px; }
.app-shell:has(.billing-tabs) .billing-plan-facts b { color: #405172; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-card ul { gap: 8px; margin: 16px 0 19px; color: #536b99; font-size: 12px; line-height: 1.5; }
.app-shell:has(.billing-tabs) .billing-plan-card .button { min-height: 40px; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-notice { margin-top: 16px; padding: 16px 18px; border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-plan-notice strong { color: #30415f; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-notice span { color: #71809b; font-size: 12px; line-height: 1.6; }

.app-shell:has(.billing-tabs) .billing-bills-panel { overflow: hidden; }
.app-shell:has(.billing-tabs) .billing-result-count { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-toolbar { gap: 10px; margin: 0 12px 16px; padding: 12px; border: 1px solid #e0e6f2; border-radius: 10px; background: #f8faff; }
.app-shell:has(.billing-tabs) .billing-search input { min-height: 42px; border-color: #d5def0; color: #405172; background: #fff; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-search input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.billing-tabs) .billing-select { min-height: 42px; border-color: #d5def0; color: #71809b; background: #fff; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-select select { color: #405172; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-toolbar .button { min-height: 42px; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-table-wrap { margin: 0 12px; padding: 0; border: 1px solid #dce3f2; border-radius: 10px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bdcaef #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-table-wrap::-webkit-scrollbar { height: 8px; }
.app-shell:has(.billing-tabs) .billing-table-wrap::-webkit-scrollbar-thumb { border-radius: 99px; background: #bdcaef; }
.app-shell:has(.billing-tabs) .billing-table { min-width: 1260px; table-layout: fixed; }
.app-shell:has(.billing-tabs) .billing-table th,
.app-shell:has(.billing-tabs) .billing-table td { padding: 14px 12px; color: #536b99; font-size: 13px; line-height: 1.55; word-break: normal; }
.app-shell:has(.billing-tabs) .billing-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; white-space: nowrap; }
.app-shell:has(.billing-tabs) .billing-table td { border-bottom-color: #edf0f6; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(1), .app-shell:has(.billing-tabs) .billing-table td:nth-child(1) { width: 128px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(2), .app-shell:has(.billing-tabs) .billing-table td:nth-child(2) { width: 108px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(3), .app-shell:has(.billing-tabs) .billing-table td:nth-child(3) { width: 250px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(4), .app-shell:has(.billing-tabs) .billing-table td:nth-child(4) { width: 150px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(5), .app-shell:has(.billing-tabs) .billing-table td:nth-child(5) { width: 110px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(6), .app-shell:has(.billing-tabs) .billing-table td:nth-child(6) { width: 110px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(7), .app-shell:has(.billing-tabs) .billing-table td:nth-child(7) { width: 130px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(8), .app-shell:has(.billing-tabs) .billing-table td:nth-child(8) { width: 130px; }
.app-shell:has(.billing-tabs) .billing-table th:nth-child(9), .app-shell:has(.billing-tabs) .billing-table td:nth-child(9) { width: 150px; }
.app-shell:has(.billing-tabs) .billing-table td:nth-child(1) strong { color: #30415f; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-table td:nth-child(4) small { margin-top: 4px; color: #8995aa; font-size: 11px; }
.app-shell:has(.billing-tabs) .billing-table td:nth-child(5) strong { color: #30415f; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-row-actions { gap: 6px; flex-wrap: nowrap; }
.app-shell:has(.billing-tabs) .billing-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-table-footer { padding: 14px 14px 18px; color: #8995aa; font-size: 12px; }

.app-shell:has(.billing-tabs) .billing-form-grid { gap: 16px; padding: 4px 20px 19px; }
.app-shell:has(.billing-tabs) .billing-form-grid .field > span { margin-bottom: 7px; color: #30415f; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-form-grid .field > span em { color: #c45d4e; font-size: 11px; }
.app-shell:has(.billing-tabs) .billing-form-grid input,
.app-shell:has(.billing-tabs) .billing-form-grid textarea { min-height: 42px; padding: 10px 12px; border-color: #d5def0; color: #405172; background: #fbfcff; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-form-grid input:focus,
.app-shell:has(.billing-tabs) .billing-form-grid textarea:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.billing-tabs) .billing-form-actions { gap: 9px; padding: 0 20px 20px; }
.app-shell:has(.billing-tabs) .billing-form-actions .button { min-height: 40px; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-guide-list { gap: 14px; padding: 0 20px 18px; }
.app-shell:has(.billing-tabs) .billing-guide-list b { width: 28px; height: 28px; flex-basis: 28px; border-radius: 8px; background: #315bea; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-guide-list strong { color: #405172; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-guide-list small { color: #71809b; font-size: 12px; line-height: 1.55; }
.app-shell:has(.billing-tabs) .billing-invoice-current { margin: 0 20px 20px; padding: 14px; border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-invoice-current span,
.app-shell:has(.billing-tabs) .billing-invoice-current small { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-invoice-current strong { color: #30415f; font-size: 14px; }

.app-shell:has(.billing-tabs) .billing-modal { border-color: #cbd6f3; border-top: 3px solid #315bea; box-shadow: 0 24px 60px rgba(42, 65, 120, .22); }
.app-shell:has(.billing-tabs) .billing-modal-close { color: #5d6f97; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-modal h2 { color: #30415f; font-size: 24px; }
.app-shell:has(.billing-tabs) .billing-modal-copy { color: #71809b; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-compact-list { gap: 10px; }
.app-shell:has(.billing-tabs) .billing-plan-compact { padding: 13px; border-color: #d5def0; }
.app-shell:has(.billing-tabs) .billing-plan-compact:hover,
.app-shell:has(.billing-tabs) .billing-plan-compact.is-selected { border-color: #8fa7ef; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-plan-compact-radio { width: 23px; height: 23px; border-color: #bdcaef; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-plan-compact.is-selected .billing-plan-compact-radio { border-color: #315bea; background: #315bea; }
.app-shell:has(.billing-tabs) .billing-plan-compact strong { color: #30415f; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-plan-compact small { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-plan-compact b { color: #315bea; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-cycle-field { margin-top: 16px; color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-cycle-field select { min-height: 40px; border-color: #d5def0; color: #405172; background: #fbfcff; font-size: 13px; }
.app-shell:has(.billing-tabs) .billing-modal-summary { border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-modal-summary span { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-modal-summary strong { color: #315bea; font-size: 16px; }
.app-shell:has(.billing-tabs) .billing-modal-actions { border-top-color: #edf0f6; }
.app-shell:has(.billing-tabs) .billing-bill-facts > div { padding: 13px; border-color: #dce3f2; background: #fbfcff; }
.app-shell:has(.billing-tabs) .billing-bill-facts span,
.app-shell:has(.billing-tabs) .billing-bill-note > span { color: #71809b; font-size: 12px; }
.app-shell:has(.billing-tabs) .billing-bill-facts strong { color: #30415f; font-size: 14px; }
.app-shell:has(.billing-tabs) .billing-bill-note { background: #f5f7ff; }
.app-shell:has(.billing-tabs) .billing-bill-note p { color: #536b99; font-size: 13px; line-height: 1.7; }

@media (max-width: 980px) {
  .app-shell:has(.billing-tabs) .billing-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .app-shell:has(.billing-tabs) .billing-stat-grid { grid-template-columns: 1fr; }
  .app-shell:has(.billing-tabs) .billing-tabs { gap: 20px; overflow-x: auto; }
  .app-shell:has(.billing-tabs) .billing-tabs button { white-space: nowrap; }
  .app-shell:has(.billing-tabs) .billing-subscription-hero { align-items: flex-start; flex-direction: column; }
  .app-shell:has(.billing-tabs) .billing-subscription-price { justify-items: start; }
  .app-shell:has(.billing-tabs) .billing-toolbar { align-items: stretch; }
  .app-shell:has(.billing-tabs) .billing-search { min-width: 100%; flex-basis: 100%; }
  .app-shell:has(.billing-tabs) .billing-select,
  .app-shell:has(.billing-tabs) .billing-toolbar .button { flex: 1 1 0; justify-content: center; }
}

/* JY Clean Ops v1 · 选词工作台：命令区—筛选区—关键词表三层阅读。 */
.app-shell .selection-view-tabs {
  margin-bottom: 20px;
  border-bottom-color: var(--line);
}

.app-shell .selection-view-tabs button {
  min-height: 48px;
  padding-right: 22px;
  padding-left: 22px;
  color: var(--admin-text-secondary);
  font-size: 13px;
}

.app-shell .selection-view-tabs button:first-child {
  padding-left: 0;
}

.app-shell .selection-view-tabs button:hover {
  color: var(--brand);
}

.app-shell .selection-view-tabs button:hover::after {
  background: #b5c4f1;
}

.app-shell .selection-view-tabs button.active {
  color: var(--brand);
}

.app-shell .selection-view-tabs button.active::after {
  background: var(--brand);
}

.app-shell .selection-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid #d6e0f2;
  border-radius: 12px;
  background: #f7f9ff;
}

.app-shell .selection-total {
  min-height: 36px;
  gap: 8px;
  color: var(--admin-text-secondary);
}

.app-shell .selection-total-icon {
  width: 32px;
  height: 32px;
  border: 1px solid #d5def6;
  border-radius: 9px;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .selection-total-icon .selection-icon svg {
  stroke-width: 1.9;
}

.app-shell .selection-total strong {
  color: var(--admin-text-strong);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.app-shell .selection-batch-actions {
  justify-content: flex-end;
  gap: 7px;
}

.app-shell .selection-batch-button {
  min-height: 35px;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 11px;
}

.app-shell .selection-batch-long {
  border-color: #c8d2f4;
  color: #3157ca;
  background: #eef2ff;
}

.app-shell .selection-batch-graphic {
  border-color: #bce5e9;
  color: #087f8c;
  background: #e8f8f8;
}

.app-shell .selection-batch-video {
  border-color: #d9cef5;
  color: #7653d6;
  background: #f3efff;
}

.app-shell .selection-batch-button:hover {
  color: var(--admin-text-strong);
  background: #fff;
  filter: none;
}

.app-shell .selection-batch-button:disabled {
  opacity: .62;
  color: var(--admin-text-tertiary);
  border-color: var(--line);
  background: #f1f4f8;
  filter: none;
}

.app-shell .selection-category-filters {
  gap: 7px;
  align-items: center;
  margin-bottom: 16px;
}

.app-shell .selection-category-filters::before {
  margin-right: 3px;
  color: var(--admin-text-tertiary);
  content: "业务模块";
  font-size: 11px;
  font-weight: 850;
}

.app-shell .selection-category-filters button {
  min-height: 32px;
  padding: 0 13px;
  border-color: #d7e0ed;
  color: var(--admin-text-secondary);
  background: #fff;
  font-size: 11px;
}

.app-shell .selection-category-filters button:hover {
  border-color: #aebdf0;
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .selection-category-filters button.active {
  border-color: var(--brand);
  color: #fff;
  background: var(--brand);
  box-shadow: 0 4px 10px rgba(49, 91, 234, .16);
}

.app-shell .selection-table-panel {
  overflow: hidden;
  border-top: 3px solid var(--brand);
  border-radius: 12px;
}

.app-shell .selection-table-panel > .table-wrap,
.app-shell .selection-archive-panel > .table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
}

.app-shell .selection-table {
  min-width: 980px;
}

.app-shell .selection-table th,
.app-shell .selection-archive-table th {
  height: 46px;
  padding: 11px 10px;
  border-bottom-color: var(--line);
  color: var(--admin-text-secondary);
  background: #f7f9fc;
  font-size: 11px;
  letter-spacing: .01em;
}

.app-shell .selection-table td,
.app-shell .selection-archive-table td {
  min-height: 68px;
  padding: 13px 10px;
  border-bottom-color: #edf0f5;
  color: var(--admin-text);
  font-size: 12px;
  line-height: 1.5;
}

.app-shell .selection-table th:nth-child(1),
.app-shell .selection-table td:nth-child(1) { width: 4%; }
.app-shell .selection-table th:nth-child(2),
.app-shell .selection-table td:nth-child(2) { width: 5%; }
.app-shell .selection-table th:nth-child(3),
.app-shell .selection-table td:nth-child(3) { width: 25%; }
.app-shell .selection-table th:nth-child(4),
.app-shell .selection-table td:nth-child(4) { width: 10%; }
.app-shell .selection-table th:nth-child(5),
.app-shell .selection-table td:nth-child(5) { width: 7%; }
.app-shell .selection-table th:nth-child(6),
.app-shell .selection-table td:nth-child(6) { width: 8%; }
.app-shell .selection-table th:nth-child(7),
.app-shell .selection-table td:nth-child(7) { width: 8%; }
.app-shell .selection-table th:nth-child(8),
.app-shell .selection-table td:nth-child(8) { width: 9%; }
.app-shell .selection-table th:nth-child(9),
.app-shell .selection-table td:nth-child(9) { width: 24%; }

.app-shell .selection-table input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: var(--brand);
}

.app-shell .selection-table tbody tr:hover {
  background: #f8faff;
}

.app-shell .selection-table tbody tr:has(input[data-selection-row]:checked) {
  background: #f1f5ff;
}

.app-shell .selection-keyword-cell {
  gap: 7px;
}

.app-shell .selection-keyword-cell strong {
  color: var(--admin-text-strong);
  font-size: 13px;
  line-height: 1.55;
}

.app-shell .selection-keyword-cell b,
.app-shell .selection-keyword-cell em {
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid #dbe3f2;
  border-radius: 6px;
  line-height: 20px;
}

.app-shell .selection-keyword-cell b {
  border-color: #cbd6f5;
  color: #3157ca;
  background: #eef2ff;
}

.app-shell .selection-keyword-cell em {
  color: var(--admin-text-secondary);
  background: #f5f7fb;
}

.app-shell .selection-score {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #bde7ea;
  border-radius: 999px;
  color: #087f8c;
  background: #e7f8f8;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.app-shell .selection-table .chip-green { color: #087f8c; background: #e7f8f8; }
.app-shell .selection-table .chip-blue { color: #3157ca; background: #eef2ff; }
.app-shell .selection-table .chip-orange { color: #a06b1f; background: #fff5e6; }
.app-shell .selection-table .chip-gray { color: var(--admin-text-secondary); background: #f1f4f8; }

.app-shell .selection-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.app-shell .selection-action-button {
  min-height: 32px;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 1px solid;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.app-shell .selection-action-button:hover {
  color: var(--admin-text-strong);
  background: #fff;
  filter: none;
}

.app-shell .selection-action-long {
  border-color: #c8d2f4;
  color: #3157ca;
  background: #f5f7ff;
}

.app-shell .selection-action-graphic {
  border-color: #bce5e9;
  color: #087f8c;
  background: #f1fbfb;
}

.app-shell .selection-action-video {
  border-color: #d9cef5;
  color: #7653d6;
  background: #f8f5ff;
}

.app-shell .selection-action-remove {
  width: 32px;
  min-width: 32px;
  padding: 0;
  border-color: #d7deeb;
  color: var(--admin-text-tertiary);
  background: #f7f9fc;
}

.app-shell .selection-action-remove:hover {
  border-color: #f0c8c8;
  color: #b35656;
  background: #fff5f4;
}

.app-shell .selection-pagination,
.app-shell .selection-archive-count {
  border-top-color: var(--line);
  color: var(--admin-text-tertiary);
}

.app-shell .selection-pagination {
  min-height: 57px;
  padding: 12px 18px;
}

.app-shell .selection-pagination .button {
  min-width: 78px;
  min-height: 32px;
}

.app-shell .selection-archive-toolbar {
  margin-bottom: 14px;
  padding: 13px 15px;
  border: 1px solid #d6e0f2;
  border-radius: 10px;
  background: #f7f9ff;
}

.app-shell .selection-archive-toolbar strong {
  color: var(--admin-text-strong);
  font-size: 14px;
}

.app-shell .selection-select-control {
  width: 154px;
  height: 40px;
}

.app-shell .selection-select-control select {
  height: 40px;
  padding-right: 38px;
  border-color: var(--line);
  color: var(--admin-text);
  background: #fff;
  font-size: 12px;
}

.app-shell .selection-select-chevron {
  right: 10px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 0;
  color: var(--brand);
  background: transparent;
  line-height: 0;
  transform: translateY(-50%);
}

.app-shell .selection-select-chevron svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.app-shell .selection-archive-stats {
  gap: 14px;
  margin-bottom: 19px;
}

.app-shell .selection-archive-stats .stat-card {
  position: relative;
  min-height: 124px;
  overflow: hidden;
}

.app-shell .selection-archive-stats .stat-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--archive-accent, var(--brand));
}

.app-shell .selection-archive-stats .stat-card:nth-child(1) { --archive-accent: var(--brand); }
.app-shell .selection-archive-stats .stat-card:nth-child(2) { --archive-accent: var(--accent); }
.app-shell .selection-archive-stats .stat-card:nth-child(3) { --archive-accent: var(--orange); }
.app-shell .selection-archive-stats .stat-card:nth-child(4) { --archive-accent: var(--purple); }

.app-shell .selection-archive-stats .stat-value {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-variant-numeric: tabular-nums;
}

.app-shell .selection-archive-panel {
  border-top: 3px solid var(--brand);
  border-radius: 12px;
}

.app-shell .selection-archive-table {
  min-width: 920px;
}

.app-shell .selection-archive-keyword {
  color: var(--admin-text-strong);
  font-size: 13px;
}

.app-shell .selection-archive-table .chip-green { color: #087f8c; background: #e7f8f8; }
.app-shell .selection-archive-table .chip-gray { color: var(--admin-text-secondary); background: #f1f4f8; }
.app-shell .selection-archive-table .chip-purple { color: #7653d6; background: #f0ecff; }

.app-shell .selection-empty {
  color: var(--admin-text-tertiary);
}

.app-shell .selection-timeline-button {
  min-height: 32px;
  border-color: #c8d2f4;
  color: var(--brand);
  background: #f5f7ff;
}

.app-shell .selection-timeline-button:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: var(--brand-light);
}

@media (max-width: 700px) {
  .app-shell .selection-toolbar {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .app-shell .selection-batch-actions {
    justify-content: flex-start;
  }

  .app-shell .selection-category-filters::before {
    flex: 0 0 100%;
    margin-bottom: 1px;
  }

  .app-shell .selection-archive-toolbar {
    display: grid;
    gap: 8px;
  }

  .app-shell .selection-select-control {
    width: 100%;
    margin-top: 0;
  }
}

/* JY Clean Ops v1 · 关键词档案：把生命周期当作资产状态来阅读。 */
.app-shell .selection-archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 74px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #d6e0f2;
  border-radius: 12px;
  background: #f7f9ff;
}

.app-shell .selection-archive-toolbar-copy {
  display: grid;
  min-width: 0;
  align-items: start;
  gap: 3px;
}

.app-shell .selection-archive-toolbar-copy > span {
  color: #71809a;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-shell .selection-archive-toolbar-copy strong {
  color: var(--admin-text-strong);
  font-size: 14px;
  line-height: 1.35;
}

.app-shell .selection-archive-toolbar-copy small {
  overflow: hidden;
  color: var(--admin-text-tertiary);
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-shell .selection-archive-toolbar-filter {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
}

.app-shell .selection-archive-filter-label {
  color: var(--admin-text-tertiary);
  font-size: 11px;
  font-weight: 800;
}

.app-shell .selection-archive-toolbar .selection-select-control {
  width: 156px;
  height: 40px;
}

.app-shell .selection-archive-toolbar .selection-select-control select {
  height: 40px;
  padding-right: 38px;
  border-color: #cbd6ea;
  border-radius: 8px;
  color: var(--admin-text-strong);
  background: #fff;
  font-size: 12px;
  font-weight: 800;
}

.app-shell .selection-archive-toolbar .selection-select-chevron {
  right: 10px;
  width: 18px;
  height: 18px;
  color: var(--brand);
}

.app-shell .selection-archive-stats {
  gap: 12px;
  margin-bottom: 20px;
}

.app-shell .selection-archive-stats .stat-card {
  display: flex;
  min-height: 132px;
  flex-direction: column;
  padding: 18px 18px 16px;
  border-color: #dfe5f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(44, 67, 107, .045);
}

.app-shell .selection-archive-stats .stat-top {
  min-height: 25px;
  color: #71809a;
  font-size: 11px;
  font-weight: 850;
}

.app-shell .selection-archive-stats .stat-top > span:first-child {
  letter-spacing: .02em;
}

.app-shell .selection-archive-stats .stat-icon {
  width: 28px;
  height: 28px;
  border: 1px solid #d8e0f1;
  border-radius: 8px;
  color: var(--archive-accent, var(--brand));
  background: #f4f7ff;
}

.app-shell .selection-archive-stats .stat-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.app-shell .selection-archive-stats .stat-value {
  margin-top: 16px;
  color: var(--admin-text-strong);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
}

.app-shell .selection-archive-stats .stat-meta {
  margin-top: auto;
  color: var(--admin-text-tertiary);
  font-size: 10px;
  line-height: 1.4;
}

.app-shell .selection-archive-panel {
  border-color: #dfe5f0;
  border-top: 3px solid var(--brand);
  box-shadow: 0 8px 20px rgba(44, 67, 107, .045);
}

.app-shell .selection-archive-table th:nth-child(1),
.app-shell .selection-archive-table td:nth-child(1) { width: 6%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(2),
.app-shell .selection-archive-table td:nth-child(2) { width: 31%; }
.app-shell .selection-archive-table th:nth-child(3),
.app-shell .selection-archive-table td:nth-child(3) { width: 9%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(4),
.app-shell .selection-archive-table td:nth-child(4) { width: 8%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(5),
.app-shell .selection-archive-table td:nth-child(5) { width: 9%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(6),
.app-shell .selection-archive-table td:nth-child(6) { width: 12%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(7),
.app-shell .selection-archive-table td:nth-child(7) { width: 8%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(8),
.app-shell .selection-archive-table td:nth-child(8) { width: 10%; text-align: center; }
.app-shell .selection-archive-table th:nth-child(9),
.app-shell .selection-archive-table td:nth-child(9) { width: 11%; text-align: center; }

.app-shell .selection-archive-table tbody tr:hover {
  background: #f8faff;
}

.app-shell .selection-archive-table td:nth-child(1),
.app-shell .selection-archive-table td:nth-child(8) {
  color: var(--admin-text-tertiary);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.app-shell .selection-archive-keyword {
  display: block;
  color: var(--admin-text-strong);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
}

.app-shell .selection-archive-table .selection-score {
  min-width: 30px;
  justify-content: center;
}

.app-shell .selection-archive-table .chip {
  min-width: 58px;
  justify-content: center;
}

.app-shell .selection-timeline-button {
  min-width: 66px;
  min-height: 32px;
  justify-content: center;
  padding: 0 8px;
  border-color: #cbd6ea;
  border-radius: 7px;
  color: var(--brand);
  background: #f5f7ff;
  font-size: 10px;
}

.app-shell .selection-timeline-button .selection-icon {
  width: 14px;
  height: 14px;
}

.app-shell .selection-timeline-button .selection-icon svg {
  width: 14px;
  height: 14px;
  stroke-width: 1.9;
}

.app-shell .selection-timeline-button:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: var(--brand-light);
}

.app-shell .selection-archive-count {
  min-height: 52px;
  padding: 14px 18px;
  border-top-color: #e5e9f1;
  color: var(--admin-text-tertiary);
  font-size: 11px;
}

.app-shell .selection-empty-state {
  color: var(--admin-text-tertiary);
}

.app-shell .selection-empty-state strong {
  color: var(--admin-text-secondary);
}

@media (max-width: 700px) {
  .app-shell .selection-archive-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .app-shell .selection-archive-toolbar-filter {
    justify-content: space-between;
  }

  .app-shell .selection-archive-toolbar .selection-select-control {
    flex: 1;
    width: auto;
  }
}

/* JY Clean Ops v1 · 长文平台选择器：固定面板高度，避免平台数量增长后挤压主流程。 */
#app .content-form-panel .content-platform-field { margin-top: 2px; }
#app .content-form-panel .content-platform-tags {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 7px;
  max-height: 238px;
  min-height: 108px;
  overflow-y: auto;
  padding: 8px;
  border-color: #d5deec;
  border-radius: 10px;
  background: #fbfcff;
  scrollbar-color: #9eb0e6 #eef2f9;
  scrollbar-width: thin;
}
#app .content-form-panel .content-platform-tags:focus-within { border-color: #9eb0e6; box-shadow: 0 0 0 3px rgba(49, 91, 234, .08); }
#app .content-form-panel .content-platform-tags::-webkit-scrollbar { width: 7px; }
#app .content-form-panel .content-platform-tags::-webkit-scrollbar-track { border-radius: 999px; background: #eef2f9; }
#app .content-form-panel .content-platform-tags::-webkit-scrollbar-thumb { border: 2px solid #eef2f9; border-radius: 999px; background: #9eb0e6; }
#app .content-form-panel .content-platform-tags > button {
  display: grid;
  min-width: 0;
  min-height: 54px;
  flex: none;
  grid-template-columns: minmax(0, 1fr) 20px;
  grid-template-rows: auto auto;
  gap: 2px 6px;
  padding: 8px 9px;
  border-color: #d9e1ef;
  border-radius: 9px;
  color: #445776;
  background: #fff;
}
#app .content-form-panel .content-platform-tags > button:hover { border-color: #9eb0e6; color: #315bea; background: #f6f8ff; box-shadow: 0 3px 9px rgba(49, 91, 234, .08); }
#app .content-form-panel .content-platform-tags > button.selected {
  border-color: #6e8ce7;
  color: #315bea;
  background: #eef2ff;
  box-shadow: inset 3px 0 #315bea;
}
#app .content-form-panel .content-platform-tags > button strong { font-size: 12px; line-height: 1.25; }
#app .content-form-panel .content-platform-tags > button small { color: #7c89a1; font-size: 10px; line-height: 1.3; }
#app .content-form-panel .content-platform-tags > button b {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #8090aa;
  background: #f0f3f8;
  font-size: 11px;
}
#app .content-form-panel .content-platform-tags > button.selected b { color: #fff; background: #315bea; }
#app .content-form-panel .content-platform-help { margin-top: 2px; color: #7b89a2; }

@media (max-width: 900px) {
  #app .content-form-panel .content-platform-tags { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  #app .content-form-panel .content-platform-tags { max-height: 224px; }
}

/* JY Clean Ops v1 · 图文笔记：轻量输入先行，标题、图集和文案再分栏呈现。 */
#app .content-note-form {
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid #dce4f2;
  border-top: 3px solid #315bea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .07);
}
#app .content-note-form .panel-header {
  padding: 19px 22px 16px;
  border-bottom: 1px solid #e5eaf3;
  background: #fafbff;
}
#app .content-note-form .panel-header h2 { color: #1f3154; font-size: 18px; letter-spacing: -.01em; }
#app .content-note-form .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
#app .content-note-form .panel-header .chip { color: #315bea; background: #eef2ff; }
#app .content-note-row {
  grid-template-columns: minmax(0, 1fr) minmax(170px, .43fr) auto;
  align-items: end;
  gap: 14px;
  padding: 19px 22px 18px;
}
#app .content-note-row .field { min-width: 0; gap: 8px; margin-bottom: 0; }
#app .content-note-row .field > span:first-child,
#app .content-note-row .content-choice-field > span { color: #3c4b68; font-size: 13px; font-weight: 850; }
#app .content-note-row .field > span:first-child em { color: #d16c57; font-size: 11px; font-style: normal; }
#app .content-note-row .field input,
#app .content-note-row .content-select-wrap select {
  height: 44px;
  border-color: #d5deec;
  border-radius: 9px;
  color: #263a61;
  background: #fff;
  font-size: 14px;
}
#app .content-note-row .field input:focus,
#app .content-note-row .content-select-wrap select:focus { border-color: #7e9af0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .11); }
#app .content-note-row .content-select-wrap i { color: #315bea; background: transparent; }
#app .content-note-generate {
  min-width: 132px;
  min-height: 44px;
  border: 1px solid #315bea;
  border-radius: 9px;
  color: #fff;
  background: #315bea;
  box-shadow: 0 6px 14px rgba(49, 91, 234, .17);
}
#app .content-note-generate:hover { border-color: #254ac7; background: #254ac7; }
#app .content-platform-line {
  display: flex;
  min-height: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 14px 22px 17px;
  border-top-color: #e5eaf3;
  color: #71809b;
  background: #fbfcff;
}
#app .content-platform-line strong { width: 100%; margin: 0 0 1px; color: #4b5b78; font-size: 12px; font-weight: 850; }
#app .content-platform-pill {
  min-height: 30px;
  padding: 0 12px;
  border-color: #d5deec;
  border-radius: 999px;
  color: #6d7b96;
  background: #fff;
  font-size: 12px;
}
#app .content-platform-pill:hover { border-color: #9eb0e6; color: #315bea; background: #f6f8ff; }
#app .content-platform-pill.active { border-color: #315bea; color: #fff; background: #315bea; box-shadow: 0 3px 8px rgba(49, 91, 234, .14); }
#app .content-platform-line > span { flex: 1 1 100%; margin: 2px 0 0; color: #7b89a2; font-size: 11px; line-height: 1.5; white-space: normal; }

#app .content-note-output {
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
}
#app .content-note-output .panel {
  overflow: hidden;
  border: 1px solid #dce4f2;
  border-top: 3px solid #7b8fe0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .06);
}
#app .content-note-output .panel:nth-child(2) { border-top-color: #4b83c6; }
#app .content-note-output .panel .panel-header {
  padding: 17px 19px 14px;
  border-bottom-color: #e5eaf3;
  background: #fafbff;
}
#app .content-note-output .panel .panel-header h2 { color: #263a61; font-size: 17px; }
#app .content-note-output .panel .panel-header p { color: #7b89a2; font-size: 12px; line-height: 1.55; }
#app .content-note-output .panel .panel-header .chip { color: #315bea; background: #eef2ff; }
#app .content-note-output .content-title-option {
  margin: 0 16px 10px;
  padding: 13px 14px;
  border-color: #d9e1ef;
  border-radius: 10px;
  color: #53627b;
  background: #fbfcff;
}
#app .content-note-output .content-title-option:hover { border-color: #a8b8e9; background: #f7f9ff; }
#app .content-note-output .content-title-option.active {
  border-color: #6e8ce7;
  box-shadow: inset 3px 0 #315bea;
  color: #315bea;
  background: #eef2ff;
}
#app .content-note-output .content-title-option strong { color: #2d3f62; font-size: 13px; line-height: 1.55; }
#app .content-note-output .content-title-option.active strong { color: #263f86; }
#app .content-note-output .content-title-option span { color: #7c89a1; font-size: 11px; }
#app .content-note-output .content-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 16px 18px 0; }
#app .content-note-output .content-image-grid span {
  min-height: 92px;
  border-color: #d5deec;
  border-radius: 10px;
  color: #315bea;
  background: #f8faff;
  font-size: 14px;
}
#app .content-note-output .content-image-grid span:hover { border-color: #9eb0e6; background: #f0f4ff; }
#app .content-note-output .content-image-grid span.active { border-color: #6e8ce7; box-shadow: inset 0 0 0 2px #dce4ff; color: #315bea; background: #eef2ff; }
#app .content-note-output .content-image-grid small { color: #7c89a1; font-size: 11px; }
#app .content-note-output .content-output-copy {
  min-height: 76px;
  margin: 16px 18px;
  padding: 11px 12px;
  border: 1px dashed #d5deec;
  border-radius: 9px;
  color: #53627b;
  background: #fbfcff;
  font-size: 13px;
  line-height: 1.75;
}
#app .content-note-output .content-output-copy[contenteditable="true"]:focus { border-color: #7e9af0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); background: #fff; }
#app .content-note-output .content-output-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  padding: 13px 18px 16px;
  border-top-color: #e5eaf3;
}
#app .content-note-form ~ .content-empty-panel {
  min-height: 270px;
  padding: 42px 20px;
  border: 1px dashed #d4ddec;
  border-radius: 14px;
  background: #f8faff;
}
#app .content-note-form ~ .content-empty-panel h2 { color: #3a4a68; font-size: 17px; }
#app .content-note-form ~ .content-empty-panel p { color: #7c89a1; font-size: 12px; line-height: 1.7; }

@media (max-width: 900px) {
  #app .content-note-row { grid-template-columns: minmax(0, 1fr) minmax(150px, .5fr) auto; }
  #app .content-note-output { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
}

@media (max-width: 760px) {
  #app .content-note-row { grid-template-columns: 1fr; gap: 13px; padding: 17px 18px 18px; }
  #app .content-note-generate { width: 100%; }
  #app .content-note-form .panel-header { padding: 17px 18px 14px; }
  #app .content-platform-line { padding-right: 18px; padding-left: 18px; }
  #app .content-note-output { grid-template-columns: 1fr; gap: 14px; }
}

/* JY Clean Ops v1 · 口播视频：把脚本生产拆成输入配置、脚本编辑和发布前检查。 */
#app .content-video-form {
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid #dce4f2;
  border-top: 3px solid #7653d6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .07);
}
#app .content-video-form .panel-header {
  padding: 19px 22px 16px;
  border-bottom: 1px solid #e5eaf3;
  background: #fafbff;
}
#app .content-video-form .panel-header h2 { color: #1f3154; font-size: 18px; letter-spacing: -.01em; }
#app .content-video-form .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
#app .content-video-form .panel-header .chip { color: #7653d6; background: #f1eeff; }
#app .content-video-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(190px, .7fr);
  align-items: end;
  gap: 16px 14px;
  padding: 19px 22px 21px;
}
#app .content-video-row > .field,
#app .content-video-row > .content-choice-field { min-width: 0; margin-bottom: 0; }
#app .content-video-row > .field { gap: 8px; }
#app .content-video-row > .field > span:first-child,
#app .content-video-row > .content-choice-field > span { color: #3c4b68; font-size: 13px; font-weight: 850; }
#app .content-video-row > .field > span:first-child em { color: #d16c57; font-size: 11px; font-style: normal; }
#app .content-video-row > .field input,
#app .content-video-row > .field .content-select-wrap select {
  height: 44px;
  border-color: #d5deec;
  border-radius: 9px;
  color: #263a61;
  background: #fff;
  font-size: 14px;
}
#app .content-video-row > .field input:focus,
#app .content-video-row > .field .content-select-wrap select:focus { border-color: #8d7add; box-shadow: 0 0 0 3px rgba(118, 83, 214, .11); }
#app .content-video-row > .field input::placeholder { color: #98a4b8; }
#app .content-video-row .content-select-wrap i { color: #7653d6; background: transparent; }
#app .content-choice-pills {
  display: grid;
  height: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
#app .content-choice-pills button {
  min-height: 44px;
  padding: 0 10px;
  border-color: #d5deec;
  border-radius: 9px;
  color: #6d7b96;
  background: #fff;
  font-size: 12px;
  white-space: normal;
}
#app .content-choice-pills button:hover { border-color: #aa9be4; color: #7653d6; background: #faf8ff; }
#app .content-choice-pills button.active { border-color: #7653d6; color: #fff; background: #7653d6; box-shadow: 0 4px 10px rgba(118, 83, 214, .16); }
#app .content-video-generate {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 46px;
  border: 1px solid #315bea;
  border-radius: 10px;
  color: #fff;
  background: #315bea;
  box-shadow: 0 6px 14px rgba(49, 91, 234, .17);
}
#app .content-video-generate:hover { border-color: #254ac7; background: #254ac7; }

#app .content-video-output {
  grid-template-columns: minmax(0, 1.18fr) minmax(250px, .82fr);
  gap: 18px;
  align-items: stretch;
}
#app .content-video-output .panel {
  overflow: hidden;
  border: 1px solid #dce4f2;
  border-top: 3px solid #7653d6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(44, 71, 125, .06);
}
#app .content-video-output .content-video-spec-panel { border-top-color: #4b83c6; }
#app .content-video-output .panel .panel-header {
  padding: 17px 19px 14px;
  border-bottom-color: #e5eaf3;
  background: #fafbff;
}
#app .content-video-output .panel .panel-header h2 { color: #263a61; font-size: 17px; }
#app .content-video-output .panel .panel-header p { color: #7b89a2; font-size: 12px; line-height: 1.55; }
#app .content-video-output .panel .panel-header .chip { color: #7653d6; background: #f1eeff; }
#app .content-script-toolbar {
  margin: 16px 19px 5px;
  padding: 10px 12px;
  border-color: #d9e1ef;
  border-radius: 9px;
  color: #6d7b96;
  background: #f7f8ff;
}
#app .content-script-toolbar b { color: #7653d6; }
#app .content-script-toolbar small { color: #7c89a1; font-size: 11px; }
#app .content-script-list { margin: 0 19px 13px; }
#app .content-script-list > div {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  padding: 14px 0;
  border-bottom-color: #e8ecf4;
}
#app .content-script-list > div:hover { background: #fcfcff; }
#app .content-script-list b,
#app .content-script-list .content-script-index {
  width: 31px;
  height: 31px;
  place-self: start center;
  border: 1px solid #d4ccf2;
  border-radius: 50%;
  color: #7653d6;
  background: #f1eeff;
  font-size: 11px;
}
#app .content-script-fields input,
#app .content-script-fields textarea {
  border: 1px solid transparent;
  border-radius: 8px;
  color: #30415f;
}
#app .content-script-fields input { height: 32px; padding: 0 8px; color: #263a61; font-size: 13px; }
#app .content-script-fields textarea { min-height: 57px; padding: 8px; font-size: 13px; line-height: 1.65; }
#app .content-script-fields input:hover,
#app .content-script-fields textarea:hover { border-color: #d8e0ef; background: #fbfcff; }
#app .content-script-fields input:focus,
#app .content-script-fields textarea:focus { border-color: #9b8be1; box-shadow: 0 0 0 3px rgba(118, 83, 214, .1); background: #fff; }
#app .content-video-output .content-output-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  padding: 13px 19px 16px;
  border-top-color: #e5eaf3;
}
#app .content-video-spec { gap: 9px; margin: 16px 19px 18px; }
#app .content-video-spec span {
  min-height: 47px;
  padding: 0 13px;
  border-color: #d9e1ef;
  border-radius: 9px;
  color: #7b89a2;
  background: #fbfcff;
  font-size: 12px;
}
#app .content-video-spec strong { color: #315bea; font-size: 13px; }
#app .content-video-spec-note {
  gap: 6px;
  margin: 0 19px 19px;
  padding: 13px;
  border-left: 3px solid #7653d6;
  color: #64728b;
  background: #f5f2ff;
  font-size: 12px;
  line-height: 1.65;
}
#app .content-video-spec-note strong { color: #7653d6; font-size: 12px; }
#app .content-video-form ~ .content-empty-panel {
  min-height: 270px;
  padding: 42px 20px;
  border: 1px dashed #d4ddec;
  border-radius: 14px;
  background: #f8faff;
}
#app .content-video-form ~ .content-empty-panel h2 { color: #3a4a68; font-size: 17px; }
#app .content-video-form ~ .content-empty-panel p { color: #7c89a1; font-size: 12px; line-height: 1.7; }

@media (max-width: 900px) {
  #app .content-video-output { grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr); }
}

@media (max-width: 760px) {
  #app .content-video-form .panel-header { padding: 17px 18px 14px; }
  #app .content-video-row { grid-template-columns: 1fr; gap: 13px; padding: 17px 18px 19px; }
  #app .content-video-generate { grid-column: auto; }
  #app .content-video-output { grid-template-columns: 1fr; gap: 14px; }
  #app .content-video-output .panel .panel-header { padding: 16px 18px 13px; }
  #app .content-script-toolbar, #app .content-script-list { margin-right: 18px; margin-left: 18px; }
  #app .content-video-output .content-output-actions { padding-right: 18px; padding-left: 18px; }
  #app .content-video-spec, #app .content-video-spec-note { margin-right: 18px; margin-left: 18px; }
}

/* Video/note state colors remain semantic: status color describes state, not the module accent. */
#app .content-note-form .panel-header .chip-orange,
#app .content-video-form .panel-header .chip-orange { color: #946522; background: #fff5df; }
#app .content-note-form .panel-header .chip-green,
#app .content-video-form .panel-header .chip-green { color: #2d7a53; background: #edf8f1; }
#app .content-note-form .panel-header .chip-blue,
#app .content-video-form .panel-header .chip-blue { color: #315bea; background: #eef2ff; }
#app .content-note-form .panel-header .chip-purple,
#app .content-video-form .panel-header .chip-purple { color: #7653d6; background: #f1eeff; }
#app .content-note-output .panel .panel-header .chip-purple { color: #7653d6; background: #f1eeff; }
#app .content-note-output .panel .panel-header .chip-blue,
#app .content-video-output .panel .panel-header .chip-blue { color: #315bea; background: #eef2ff; }
#app .content-note-output .panel .panel-header .chip-green,
#app .content-video-output .panel .panel-header .chip-green { color: #2d7a53; background: #edf8f1; }

/* Batch factory: a calm production console with a clear batch -> evidence -> action hierarchy. */
#app:has(.content-queue-panel) .page-heading-actions > button[disabled] { display: none; }
#app:has(.content-queue-panel) .content-view-tabs { margin-bottom: 22px; border-bottom-color: #dce3f2; }
#app:has(.content-queue-panel) .content-view-tabs button { color: #7c89a2; }
#app:has(.content-queue-panel) .content-view-tabs button:hover { color: #315bea; }
#app:has(.content-queue-panel) .content-view-tabs button:hover::after { background: #aabcf1; }
#app:has(.content-queue-panel) .content-view-tabs button.active { color: #263a61; }
#app:has(.content-queue-panel) .content-view-tabs button.active::after { background: #315bea; }
#app:has(.content-queue-panel) .content-queue-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid #dce4f2;
  border-top: 3px solid #315bea;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(44, 66, 119, .07);
}
#app:has(.content-queue-panel) .content-queue-panel .panel-header {
  padding: 20px 22px 16px;
  border-bottom: 1px solid #edf0f7;
  background: linear-gradient(135deg, #fbfcff 0%, #f5f7ff 100%);
}
#app:has(.content-queue-panel) .content-queue-panel .panel-header h2 { color: #263a61; }
#app:has(.content-queue-panel) .content-queue-panel .panel-header p { color: #74819a; }
#app:has(.content-queue-panel) .content-queue-count {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #d6def5;
  border-radius: 999px;
  color: #315bea;
  background: #eef2ff;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
#app:has(.content-queue-panel) .content-queue-toolbar {
  grid-template-columns: minmax(260px, 1fr) 160px 146px;
  gap: 10px;
  padding: 16px 22px;
  border-bottom: 1px solid #edf0f7;
  background: #fafbff;
}
#app:has(.content-queue-panel) .content-queue-toolbar .content-search {
  height: 40px;
  border-color: #d7dfef;
  border-radius: 9px;
  color: #315bea;
  background: #fff;
}
#app:has(.content-queue-panel) .content-queue-toolbar .content-search:focus-within {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}
#app:has(.content-queue-panel) .content-queue-toolbar .content-search input { color: #30415f; font-size: 13px; }
#app:has(.content-queue-panel) .content-filter-select { width: auto; height: 40px; }
#app:has(.content-queue-panel) .content-filter-select select {
  height: 40px;
  border-color: #d7dfef;
  border-radius: 9px;
  color: #405172;
  background: #fff;
  font-size: 12px;
}
#app:has(.content-queue-panel) .content-filter-select select:focus {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}
#app:has(.content-queue-panel) .content-filter-select > span { color: #315bea; }
#app:has(.content-queue-panel) .content-table-wrap {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #9b8be1 #f1f3fa;
}
#app:has(.content-queue-panel) .content-table-wrap::-webkit-scrollbar { width: 7px; height: 7px; }
#app:has(.content-queue-panel) .content-table-wrap::-webkit-scrollbar-track { background: #f1f3fa; }
#app:has(.content-queue-panel) .content-table-wrap::-webkit-scrollbar-thumb { border-radius: 999px; background: #9b8be1; }
#app:has(.content-queue-panel) .content-queue-table { min-width: 820px; }
#app:has(.content-queue-panel) .content-queue-table th {
  padding: 12px 14px;
  color: #687793;
  border-bottom-color: #e2e7f1;
  background: #f7f8fc;
  font-size: 11px;
  letter-spacing: .02em;
}
#app:has(.content-queue-panel) .content-queue-table td {
  padding: 16px 14px;
  color: #30415f;
  border-bottom-color: #edf0f6;
  font-size: 13px;
  vertical-align: middle;
}
#app:has(.content-queue-panel) .content-queue-table th:nth-child(1),
#app:has(.content-queue-panel) .content-queue-table td:nth-child(1) { width: 28%; }
#app:has(.content-queue-panel) .content-queue-table th:nth-child(2),
#app:has(.content-queue-panel) .content-queue-table td:nth-child(2) { width: 29%; }
#app:has(.content-queue-panel) .content-queue-table th:nth-child(3),
#app:has(.content-queue-panel) .content-queue-table td:nth-child(3) { width: 17%; }
#app:has(.content-queue-panel) .content-queue-table th:nth-child(4),
#app:has(.content-queue-panel) .content-queue-table td:nth-child(4) { width: 12%; }
#app:has(.content-queue-panel) .content-queue-table th:nth-child(5),
#app:has(.content-queue-panel) .content-queue-table td:nth-child(5) { width: 14%; }
#app:has(.content-queue-panel) .content-queue-table tbody > tr:not(.content-queue-detail-row) { transition: background .18s ease; }
#app:has(.content-queue-panel) .content-queue-table tbody > tr:not(.content-queue-detail-row):hover { background: #fbfcff; }
#app:has(.content-queue-panel) .content-queue-table strong { color: #263a61; font-size: 13px; }
#app:has(.content-queue-panel) .content-cell-meta { margin-top: 5px; color: #8995aa; font-size: 11px; line-height: 1.45; }
#app:has(.content-queue-panel) .content-keyword-cell {
  display: -webkit-box;
  overflow: hidden;
  color: #61718c;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#app:has(.content-queue-panel) .content-progress { height: 8px; background: #e8edf8; }
#app:has(.content-queue-panel) .content-progress i { background: linear-gradient(90deg, #315bea 0%, #7653d6 100%); }
#app:has(.content-queue-panel) .content-progress-label { margin-top: 6px; color: #315bea; font-size: 11px; font-weight: 750; }
#app:has(.content-queue-panel) .content-queue-table .button-small {
  min-height: 31px;
  border-color: #d7dfef;
  border-radius: 8px;
  color: #4c5e82;
  background: #fff;
  font-size: 11px;
}
#app:has(.content-queue-panel) .content-queue-table .button-small:hover {
  border-color: #aabcf1;
  color: #315bea;
  background: #f4f6ff;
}
#app:has(.content-queue-panel) .content-queue-table .chip-blue { color: #315bea; background: #eef2ff; }
#app:has(.content-queue-panel) .content-queue-table .chip-green { color: #2d7a53; background: #edf8f1; }
#app:has(.content-queue-panel) .content-queue-table .chip-gray { color: #6f7d96; background: #f0f2f6; }
#app:has(.content-queue-panel) .content-queue-detail-row td { border-top: 0; border-bottom-color: #e0e6f2; background: #f7f8ff; }
#app:has(.content-queue-panel) .content-queue-detail {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 15px 18px 17px;
  border-top-color: #e1e6f3;
}
#app:has(.content-queue-panel) .content-queue-detail > div {
  padding-left: 12px;
  border-left-color: #8b9fe8;
}
#app:has(.content-queue-panel) .content-queue-detail strong { color: #40588e; font-size: 12px; }
#app:has(.content-queue-panel) .content-queue-detail span { color: #71809b; font-size: 11px; line-height: 1.6; }

/* The batch dialog keeps the keyword set bounded so large selections remain usable. */
#app:has(.content-queue-panel) .content-modal-overlay { background: rgba(29, 38, 76, .38); }
#app:has(.content-queue-panel) .content-factory-modal {
  width: min(760px, calc(100vw - 36px));
  max-height: min(780px, calc(100vh - 36px));
  padding: 27px 28px 22px;
  border-color: #dce4f2;
  border-top: 3px solid #7653d6;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(36, 47, 93, .22);
}
#app:has(.content-queue-panel) .content-factory-modal .eyebrow { color: #7653d6; }
#app:has(.content-queue-panel) .content-factory-modal h2 { color: #263a61; }
#app:has(.content-queue-panel) .content-factory-modal .content-modal-description { color: #71809b; }
#app:has(.content-queue-panel) .content-factory-keywords {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 19px;
  padding: 14px;
  border-color: #d9def3;
  border-radius: 11px;
  background: #f8f8ff;
}
#app:has(.content-queue-panel) .content-factory-keyword-heading { gap: 14px; }
#app:has(.content-queue-panel) .content-factory-keyword-heading > div:first-child span { color: #7a86a1; }
#app:has(.content-queue-panel) .content-factory-keyword-heading strong { color: #40588e; }
#app:has(.content-queue-panel) .content-factory-keyword-picker { min-width: 210px; }
#app:has(.content-queue-panel) .content-factory-keyword-picker > span { color: #7a86a1; }
#app:has(.content-queue-panel) .content-factory-keyword-picker select {
  height: 36px;
  border-color: #ccd5ee;
  border-radius: 8px;
  color: #405172;
  font-size: 12px;
}
#app:has(.content-queue-panel) .content-factory-keyword-list {
  max-height: 208px;
  overflow-y: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-right: 3px;
  scrollbar-width: thin;
  scrollbar-color: #9b8be1 #f0effa;
}
#app:has(.content-queue-panel) .content-factory-keyword-list::-webkit-scrollbar { width: 6px; height: 6px; }
#app:has(.content-queue-panel) .content-factory-keyword-list::-webkit-scrollbar-track { background: #f0effa; }
#app:has(.content-queue-panel) .content-factory-keyword-list::-webkit-scrollbar-thumb { border-radius: 999px; background: #9b8be1; }
#app:has(.content-queue-panel) .content-factory-keyword-list span {
  padding: 9px 10px;
  border-color: #dfe3f2;
  border-radius: 8px;
  color: #4c5e82;
  background: #fff;
  font-size: 12px;
}
#app:has(.content-queue-panel) .content-factory-keyword-list button { color: #8b97ae; background: #f0f2fa; }
#app:has(.content-queue-panel) .content-factory-keyword-list button:hover { color: #b44d5e; background: #fbecee; }
#app:has(.content-queue-panel) .content-factory-keyword-empty { color: #7c89a2 !important; background: #fbfcff !important; }
#app:has(.content-queue-panel) .content-factory-modal .content-form-grid-two { gap: 14px; }
#app:has(.content-queue-panel) .content-factory-modal .content-field > span:first-child { color: #40588e; }
#app:has(.content-queue-panel) .content-factory-modal .content-field input,
#app:has(.content-queue-panel) .content-factory-modal .content-field textarea,
#app:has(.content-queue-panel) .content-factory-modal .content-select-wrap select { border-color: #ccd5ee; color: #30415f; }
#app:has(.content-queue-panel) .content-factory-modal .content-field input:focus,
#app:has(.content-queue-panel) .content-factory-modal .content-field textarea:focus,
#app:has(.content-queue-panel) .content-factory-modal .content-select-wrap select:focus {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}
#app:has(.content-queue-panel) .content-factory-title-hint {
  border-left-color: #8b7ae0;
  color: #687793;
  background: #f5f2ff;
}
#app:has(.content-queue-panel) .content-factory-modal > .content-modal-actions {
  margin-top: 16px;
  padding-top: 16px;
  border-top-color: #e5e9f3;
}

@media (max-width: 760px) {
  #app:has(.content-queue-panel) .content-queue-panel .panel-header { padding: 17px 18px 14px; }
  #app:has(.content-queue-panel) .content-queue-toolbar { grid-template-columns: 1fr; padding: 14px 18px; }
  #app:has(.content-queue-panel) .content-queue-table th,
  #app:has(.content-queue-panel) .content-queue-table td { padding-right: 12px; padding-left: 12px; }
  #app:has(.content-queue-panel) .content-queue-detail { grid-template-columns: 1fr; gap: 11px; padding-right: 14px; padding-left: 14px; }
  #app:has(.content-queue-panel) .content-factory-modal { padding: 22px 17px 18px; }
  #app:has(.content-queue-panel) .content-factory-keyword-heading { align-items: stretch; flex-direction: column; }
  #app:has(.content-queue-panel) .content-factory-keyword-picker { width: 100%; }
  #app:has(.content-queue-panel) .content-factory-keyword-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.content-queue-panel) .content-factory-modal .content-form-grid-two { grid-template-columns: 1fr; gap: 0; }
}

/* Work library: make saved content feel like reusable assets, not a loose
   card list. Search, lifecycle, content type and actions each get a clear lane. */
#app:has(.content-library-grid) .content-view-tabs { margin-bottom: 22px; border-bottom-color: #dce3f2; }
#app:has(.content-library-grid) .content-view-tabs button { color: #7c89a2; }
#app:has(.content-library-grid) .content-view-tabs button:hover { color: #315bea; }
#app:has(.content-library-grid) .content-view-tabs button:hover::after { background: #aabcf1; }
#app:has(.content-library-grid) .content-view-tabs button.active { color: #263a61; }
#app:has(.content-library-grid) .content-view-tabs button.active::after { background: #315bea; }
#app:has(.content-library-grid) .content-library-summary { gap: 12px; margin-bottom: 16px; }
#app:has(.content-library-grid) .content-library-stat {
  position: relative;
  min-height: 86px;
  justify-content: space-between;
  gap: 6px;
  padding: 14px 16px 13px;
  overflow: hidden;
  border-color: #dce4f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(44, 66, 119, .05);
}
#app:has(.content-library-grid) .content-library-stat::after {
  position: absolute;
  right: -18px;
  bottom: -22px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--library-soft, #eef2ff);
  content: "";
  opacity: .72;
}
#app:has(.content-library-grid) .content-library-stat:nth-child(1) { --library-accent: #315bea; --library-soft: #eef2ff; }
#app:has(.content-library-grid) .content-library-stat:nth-child(2) { --library-accent: #b78337; --library-soft: #fff5df; }
#app:has(.content-library-grid) .content-library-stat:nth-child(3) { --library-accent: #7653d6; --library-soft: #f1eeff; }
#app:has(.content-library-grid) .content-library-stat:nth-child(4) { --library-accent: #2d7a53; --library-soft: #edf8f1; }
#app:has(.content-library-grid) .content-library-stat.active {
  border-color: #aabcf1;
  box-shadow: inset 4px 0 var(--library-accent, #315bea), 0 7px 20px rgba(44, 66, 119, .07);
  background: #f8faff;
}
#app:has(.content-library-grid) .content-library-stat strong {
  position: relative;
  z-index: 1;
  color: var(--library-accent, #315bea);
  font-family: ui-monospace, Consolas, monospace;
  font-size: 24px;
  line-height: 1;
}
#app:has(.content-library-grid) .content-library-stat span { position: relative; z-index: 1; color: #73819a; font-size: 12px; }
#app:has(.content-library-grid) .content-library-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 150px auto minmax(120px, auto);
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid #dce4f2;
  border-radius: 12px;
  background: #f8f9ff;
}
#app:has(.content-library-grid) .content-library-toolbar .content-search {
  height: 40px;
  border-color: #d7dfef;
  border-radius: 9px;
  color: #315bea;
}
#app:has(.content-library-grid) .content-library-toolbar .content-search:focus-within {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}
#app:has(.content-library-grid) .content-library-toolbar .content-search input { color: #30415f; font-size: 13px; }
#app:has(.content-library-grid) .content-library-toolbar .content-filter-select { width: auto; height: 40px; }
#app:has(.content-library-grid) .content-library-toolbar .content-filter-select select {
  height: 40px;
  border-color: #d7dfef;
  border-radius: 9px;
  color: #405172;
  background: #fff;
  font-size: 12px;
}
#app:has(.content-library-grid) .content-library-toolbar .content-filter-select select:focus {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}
#app:has(.content-library-grid) .content-library-toolbar .content-filter-select > span { color: #315bea; }
#app:has(.content-library-grid) .content-library-filters {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 40px;
  padding: 3px;
  border: 1px solid #e0e5f2;
  border-radius: 9px;
  background: #fff;
}
#app:has(.content-library-grid) .content-library-filters button {
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  color: #7c89a2;
  background: transparent;
  font-size: 12px;
  white-space: nowrap;
}
#app:has(.content-library-grid) .content-library-filters button:hover { color: #315bea; background: #f3f5ff; }
#app:has(.content-library-grid) .content-library-filters button.active {
  color: #315bea;
  background: #eef2ff;
  box-shadow: 0 1px 4px rgba(49, 91, 234, .1);
}
#app:has(.content-library-grid) .content-library-refresh-note {
  justify-self: end;
  color: #8995aa;
  font-size: 11px;
  white-space: nowrap;
}
#app:has(.content-library-grid) .content-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#app:has(.content-library-grid) .content-draft-card {
  position: relative;
  min-width: 0;
  min-height: 258px;
  padding: 20px;
  overflow: hidden;
  border-color: #dce4f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(44, 66, 119, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#app:has(.content-library-grid) .content-draft-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #315bea 0%, #7653d6 100%);
  content: "";
}
#app:has(.content-library-grid) .content-draft-card:hover {
  border-color: #bdcaef;
  box-shadow: 0 13px 30px rgba(44, 66, 119, .1);
  transform: translateY(-1px);
}
#app:has(.content-library-grid) .content-draft-top { min-height: 28px; }
#app:has(.content-library-grid) .content-draft-type { display: inline-flex; align-items: center; gap: 7px; color: #315bea; font-size: 12px; }
#app:has(.content-library-grid) .content-draft-type::before { width: 7px; height: 7px; border-radius: 50%; background: #8b9fe8; content: ""; }
#app:has(.content-library-grid) .content-draft-card h2 {
  min-height: 52px;
  margin: 14px 0 8px;
  color: #263a61;
  font-size: 17px;
  line-height: 1.55;
}
#app:has(.content-library-grid) .content-draft-card > p {
  min-height: 44px;
  margin: 0;
  color: #6e7c95;
  font-size: 13px;
  line-height: 1.7;
}
#app:has(.content-library-grid) .content-draft-card .chip-gray { color: #6f7d96; background: #f0f2f6; }
#app:has(.content-library-grid) .content-draft-card .chip-orange { color: #946522; background: #fff5df; }
#app:has(.content-library-grid) .content-draft-card .chip-green { color: #2d7a53; background: #edf8f1; }
#app:has(.content-library-grid) .content-draft-meta {
  align-items: center;
  gap: 7px;
  margin-top: 15px;
  padding-top: 12px;
  border-top-color: #edf0f6;
  color: #8995aa;
  font-size: 11px;
  line-height: 1.45;
}
#app:has(.content-library-grid) .content-draft-actions {
  align-items: center;
  gap: 7px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid #edf0f6;
}
#app:has(.content-library-grid) .content-draft-actions .button { min-height: 32px; border-radius: 8px; font-size: 11px; }
#app:has(.content-library-grid) .content-draft-actions .button-secondary { border-color: #d7dfef; color: #4c5e82; background: #fff; }
#app:has(.content-library-grid) .content-draft-actions .button-secondary:hover { border-color: #aabcf1; color: #315bea; background: #f4f6ff; }
#app:has(.content-library-grid) .content-draft-actions .button-quiet { border-color: #e0e5f2; color: #687793; background: #f8f9ff; }
#app:has(.content-library-grid) .content-draft-actions .button-quiet:hover { border-color: #c2cdf0; color: #7653d6; background: #f5f2ff; }
#app:has(.content-library-grid) .content-draft-delete { width: 32px; min-height: 32px; border-radius: 8px; color: #8b97ae; background: #f1f3f8; }
#app:has(.content-library-grid) .content-draft-delete:hover { color: #b44d5e; background: #fbecee; }
#app:has(.content-library-grid) .content-empty-panel {
  min-height: 250px;
  grid-column: 1 / -1;
  padding: 48px 20px;
  border: 1px dashed #ccd5ee;
  border-radius: 14px;
  background: #f8f9ff;
}
#app:has(.content-library-grid) .content-empty-panel .content-empty-icon { border-color: #d6def5; color: #315bea; background: #eef2ff; }
#app:has(.content-library-grid) .content-empty-panel h2 { color: #405172; }
#app:has(.content-library-grid) .content-empty-panel p { color: #7c89a2; }

/* Inline platform adaptation keeps the library accent and exposes its table as
   a secondary work surface instead of competing with the parent work. */
#app:has(.content-library-grid) .content-library-adapt-panel {
  margin: 18px -20px -20px;
  padding: 16px 20px 18px;
  border-top-color: #e1e6f3;
  background: #f7f8ff;
}
#app:has(.content-library-grid) .content-library-adapt-toolbar { align-items: flex-start; }
#app:has(.content-library-grid) .content-library-adapt-filters,
#app:has(.content-library-grid) .content-library-adapt-bulk { gap: 7px; }
#app:has(.content-library-grid) .content-library-adapt-panel .content-filter-select { width: 132px; height: 36px; }
#app:has(.content-library-grid) .content-library-adapt-panel .content-filter-select select {
  height: 36px;
  border-color: #d7dfef;
  color: #4c5e82;
  font-size: 12px;
}
#app:has(.content-library-grid) .content-library-adapt-panel .content-filter-select > span { color: #315bea; }
#app:has(.content-library-grid) .content-library-adapt-caption { color: #8995aa; }
#app:has(.content-library-grid) .content-library-adapt-table-wrap { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #9b8be1 #f0f1f8; }
#app:has(.content-library-grid) .content-library-adapt-table-wrap::-webkit-scrollbar { width: 6px; height: 6px; }
#app:has(.content-library-grid) .content-library-adapt-table-wrap::-webkit-scrollbar-track { background: #f0f1f8; }
#app:has(.content-library-grid) .content-library-adapt-table-wrap::-webkit-scrollbar-thumb { border-radius: 999px; background: #9b8be1; }
#app:has(.content-library-grid) .content-library-adapt-table { min-width: 720px; }
#app:has(.content-library-grid) .content-library-adapt-table th { color: #687793; background: #eef2ff; }
#app:has(.content-library-grid) .content-library-adapt-table td { border-bottom-color: #e8ebf4; }
#app:has(.content-library-grid) .content-library-adapt-empty { border-color: #ccd5ee; color: #7c89a2; background: #fbfcff; }
#app:has(.content-library-grid) .content-library-stepper { border-color: #d9def3; color: #7c89a2; background: #f8f9ff; }
#app:has(.content-library-grid) .content-library-stepper span.active { color: #315bea; background: #eef2ff; }
#app:has(.content-library-grid) .content-library-stepper span.done { color: #687793; background: #f0f2f8; }
#app:has(.content-library-grid) .content-library-stepper i { color: #8b9fe8; }
#app:has(.content-library-grid) .content-library-locale-tabs { border-bottom-color: #dce3f2; }
#app:has(.content-library-grid) .content-library-locale-tabs button.active { border-bottom-color: #315bea; color: #315bea; }
#app:has(.content-library-grid) .content-library-region-grid,
#app:has(.content-library-grid) .content-library-platform-grid { border-color: #d9def3; background: #fbfcff; scrollbar-color: #9b8be1 #f0f1f8; }
#app:has(.content-library-grid) .content-library-region-option:hover,
#app:has(.content-library-grid) .content-library-platform-option:hover { border-color: #bdcaef; background: #f4f6ff; }
#app:has(.content-library-grid) .content-library-region-option input,
#app:has(.content-library-grid) .content-library-platform-option input { accent-color: #315bea; }
#app:has(.content-library-grid) .content-library-locale-pills { border-color: #d9def3; background: #fbfcff; }
#app:has(.content-library-grid) .content-library-locale-pills span { color: #4c5e82; background: #eef2ff; }
#app:has(.content-library-grid) .content-modal-overlay { background: rgba(29, 38, 76, .38); }
#app:has(.content-library-grid) .content-library-preview,
#app:has(.content-library-grid) .content-library-localize-modal { border-color: #dce4f2; border-top: 3px solid #7653d6; box-shadow: 0 22px 60px rgba(36, 47, 93, .22); }
#app:has(.content-library-grid) .content-library-preview-meta { color: #687793; }
#app:has(.content-library-grid) .content-library-preview > h2 { color: #263a61; }
#app:has(.content-library-grid) .content-library-preview-excerpt { color: #71809b; }

@media (max-width: 900px) {
  #app:has(.content-library-grid) .content-library-toolbar { grid-template-columns: minmax(220px, 1fr) 145px; }
  #app:has(.content-library-grid) .content-library-filters { grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; }
  #app:has(.content-library-grid) .content-library-refresh-note { justify-self: end; }
}

@media (max-width: 760px) {
  #app:has(.content-library-grid) .content-library-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.content-library-grid) .content-library-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  #app:has(.content-library-grid) .content-library-toolbar .content-filter-select,
  #app:has(.content-library-grid) .content-library-filters { width: 100%; }
  #app:has(.content-library-grid) .content-library-filters { grid-column: auto; overflow-x: auto; }
  #app:has(.content-library-grid) .content-library-refresh-note { justify-self: start; }
  #app:has(.content-library-grid) .content-draft-card { min-height: 0; padding: 18px; }
  #app:has(.content-library-grid) .content-draft-card h2,
  #app:has(.content-library-grid) .content-draft-card > p { min-height: 0; }
  #app:has(.content-library-grid) .content-library-adapt-panel { margin-right: -18px; margin-left: -18px; padding-right: 18px; padding-left: 18px; }
  #app:has(.content-library-grid) .content-library-adapt-toolbar { flex-direction: column; }
  #app:has(.content-library-grid) .content-library-adapt-filters,
  #app:has(.content-library-grid) .content-library-adapt-bulk { width: 100%; }
  #app:has(.content-library-grid) .content-library-adapt-panel .content-filter-select { flex: 1 1 140px; }
  #app:has(.content-library-grid) .content-library-adapt-bulk .button { flex: 1 1 130px; }
}

/* GEO templates: treat templates as reusable content assets. The header
   explains the resource scope, cards explain the use case, and actions stay
   at the bottom so the grid reads as one system. */
#app:has(.content-template-grid) .page-heading { align-items: flex-start; }
#app:has(.content-template-grid) .page-heading-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  min-width: min(340px, 100%);
}
#app:has(.content-template-grid) .page-heading-actions .content-header-search { grid-column: 1 / -1; width: 100%; height: 40px; border-color: #d7dfef; border-radius: 9px; color: #7653d6; background: #fff; }
#app:has(.content-template-grid) .page-heading-actions .content-header-search:focus-within { border-color: #9b8be1; box-shadow: 0 0 0 3px rgba(118, 83, 214, .1); }
#app:has(.content-template-grid) .page-heading-actions .content-header-search input { color: #30415f; font-size: 12px; }
#app:has(.content-template-grid) .page-heading-actions .button { min-height: 38px; border-radius: 8px; }
#app:has(.content-template-grid) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #65728b; background: #fff; }
#app:has(.content-template-grid) .page-heading-actions .button-secondary:hover { border-color: #bdcaef; color: #7653d6; background: #f5f2ff; }
#app:has(.content-template-grid) .page-heading-actions .button-primary { color: #fff; background: #315bea; box-shadow: 0 8px 16px rgba(49, 91, 234, .16); }
#app:has(.content-template-grid) .content-view-tabs { margin-bottom: 22px; border-bottom-color: #dce3f2; }
#app:has(.content-template-grid) .content-view-tabs button { color: #7c89a2; }
#app:has(.content-template-grid) .content-view-tabs button:hover { color: #315bea; }
#app:has(.content-template-grid) .content-view-tabs button:hover::after { background: #aabcf1; }
#app:has(.content-template-grid) .content-view-tabs button.active { color: #263a61; }
#app:has(.content-template-grid) .content-view-tabs button.active::after { background: #315bea; }
#app:has(.content-template-grid) .content-rule-alert { border-color: #ebdfb1; background: #fffaf0; }
#app:has(.content-template-grid) .content-template-overview {
  position: relative;
  min-height: 70px;
  margin-bottom: 16px;
  padding: 14px 17px 14px 19px;
  overflow: hidden;
  border: 1px solid #dce4f2;
  border-top: 3px solid #7653d6;
  border-radius: 12px;
  color: #71809b;
  background: linear-gradient(105deg, #f8f8ff 0%, #fbfcff 100%);
  box-shadow: 0 7px 20px rgba(44, 66, 119, .05);
}
#app:has(.content-template-grid) .content-template-overview::after { position: absolute; right: -24px; bottom: -35px; width: 106px; height: 106px; border: 1px solid #e7e3fb; border-radius: 50%; content: ""; opacity: .85; }
#app:has(.content-template-grid) .content-template-overview > div { gap: 5px; }
#app:has(.content-template-grid) .content-template-overview strong { color: #40588e; font-size: 14px; }
#app:has(.content-template-grid) .content-template-overview span { color: #7c89a2; font-size: 12px; }
#app:has(.content-template-grid) .content-template-count { position: relative; z-index: 1; color: #7653d6 !important; font-size: 12px; }
#app:has(.content-template-grid) .content-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#app:has(.content-template-grid) .content-template-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 218px;
  flex-direction: column;
  padding: 20px;
  overflow: hidden;
  border-color: #dce4f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(44, 66, 119, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#app:has(.content-template-grid) .content-template-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, #315bea 0%, #7653d6 100%); content: ""; }
#app:has(.content-template-grid) .content-template-card:hover { border-color: #bdcaef; box-shadow: 0 13px 30px rgba(44, 66, 119, .1); transform: translateY(-1px); }
#app:has(.content-template-grid) .content-template-card.is-custom { border-color: #d8cef4; background: linear-gradient(180deg, #fff, #faf8ff); }
#app:has(.content-template-grid) .content-template-heading { min-height: 42px; align-items: center; gap: 11px; }
#app:has(.content-template-grid) .content-template-icon { display: grid; width: 38px; height: 38px; place-items: center; flex: 0 0 auto; border: 1px solid #d7def5; border-radius: 11px; color: #315bea; background: #eef2ff; font-size: 18px; }
#app:has(.content-template-grid) .content-template-card.is-custom .content-template-icon { border-color: #ddd4f7; color: #7653d6; background: #f1eeff; }
#app:has(.content-template-grid) .content-template-heading h2 { color: #263a61; font-size: 16px; line-height: 1.35; }
#app:has(.content-template-grid) .content-template-source { width: max-content; padding: 3px 7px; border: 1px solid #e0e5f2; border-radius: 999px; color: #7c89a2; background: #f8f9ff; font-size: 10px; line-height: 1.2; }
#app:has(.content-template-grid) .content-template-card.is-custom .content-template-source { border-color: #ddd4f7; color: #7653d6; background: #f5f2ff; }
#app:has(.content-template-grid) .content-template-card p { min-height: 58px; flex: 1 1 auto; margin: 17px 0 14px; color: #6e7c95; font-size: 12px; line-height: 1.7; }
#app:has(.content-template-grid) .content-template-meta { align-items: center; gap: 14px; margin-top: auto; padding-top: 13px; border-top: 1px solid #edf0f6; color: #8995aa; font-size: 11px; }
#app:has(.content-template-grid) .content-template-meta strong { color: #40588e; font-size: 12px; }
#app:has(.content-template-grid) .content-template-actions { align-items: center; gap: 8px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #edf0f6; }
#app:has(.content-template-grid) .content-template-actions .button { min-height: 33px; border-radius: 8px; font-size: 11px !important; }
#app:has(.content-template-grid) .content-template-actions .button-secondary { border-color: #d7dfef; color: #4c5e82; background: #fff; }
#app:has(.content-template-grid) .content-template-actions .button-secondary:hover { border-color: #aabcf1; color: #315bea; background: #f4f6ff; }
#app:has(.content-template-grid) .content-template-actions .button-primary { color: #fff; background: #315bea; box-shadow: 0 6px 13px rgba(49, 91, 234, .14); }
#app:has(.content-template-grid) .content-template-next-step { display: none; }
#app:has(.content-template-grid) .content-empty-panel { grid-column: 1 / -1; min-height: 250px; border: 1px dashed #ccd5ee; border-radius: 14px; background: #f8f9ff; }
#app:has(.content-template-grid) .content-empty-panel .content-empty-icon { border-color: #d6def5; color: #7653d6; background: #f1eeff; }
#app:has(.content-template-grid) .content-modal-overlay { background: rgba(29, 38, 76, .38); }
#app:has(.content-template-grid) .content-template-modal,
#app:has(.content-template-grid) .content-template-create-modal { border-color: #dce4f2; border-top: 3px solid #7653d6; box-shadow: 0 22px 60px rgba(36, 47, 93, .22); }
#app:has(.content-template-grid) .content-template-modal .eyebrow,
#app:has(.content-template-grid) .content-template-create-modal .eyebrow { color: #7653d6; }
#app:has(.content-template-grid) .content-template-modal h2,
#app:has(.content-template-grid) .content-template-create-modal h2 { color: #263a61; }
#app:has(.content-template-grid) .content-template-structure { border-color: #d9def3; border-radius: 10px; background: #f8f8ff; }
#app:has(.content-template-grid) .content-template-structure strong { color: #40588e; }
#app:has(.content-template-grid) .content-template-structure ol { color: #4c5e82; }
#app:has(.content-template-grid) .content-template-rule { border-color: #d9def3; border-radius: 10px; background: #f5f2ff; }
#app:has(.content-template-grid) .content-template-rule strong { color: #7653d6; }
#app:has(.content-template-grid) .content-template-rule span,
#app:has(.content-template-grid) .content-template-rule small { color: #687793; }
#app:has(.content-template-grid) .content-template-create-modal .field > span { color: #40588e; }
#app:has(.content-template-grid) .content-template-create-modal input,
#app:has(.content-template-grid) .content-template-create-modal textarea { border-color: #ccd5ee; color: #30415f; background: #fbfcff; }
#app:has(.content-template-grid) .content-template-create-modal input:focus,
#app:has(.content-template-grid) .content-template-create-modal textarea:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }

@media (max-width: 900px) {
  #app:has(.content-template-grid) .content-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  #app:has(.content-template-grid) .page-heading-actions { width: 100%; min-width: 0; }
  #app:has(.content-template-grid) .content-template-overview { align-items: flex-start; flex-direction: column; gap: 8px; }
  #app:has(.content-template-grid) .content-template-grid { grid-template-columns: 1fr; }
}

#app:has(.content-template-grid) .page-heading-actions .button-secondary:disabled { display: none; }
#app:has(.content-template-grid) .page-heading-actions .button-secondary { justify-self: end; }
#app:has(.content-template-grid) .page-heading-actions .button-primary { grid-column: 2; justify-self: end; }

/* Industry templates: use a focused asset workspace instead of a squeezed
   configuration table. The left side answers “what can I use?”, while the
   right side explains “what will this inject?” before generation. */
#app:has(.content-industry-workspace) .page-heading { align-items: flex-start; }
#app:has(.content-industry-workspace) .page-heading-actions .button { min-height: 38px; border-radius: 8px; }
#app:has(.content-industry-workspace) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #65728b; background: #fff; }
#app:has(.content-industry-workspace) .page-heading-actions .button-secondary:hover { border-color: #bdcaef; color: #7653d6; background: #f5f2ff; }
#app:has(.content-industry-workspace) .content-view-tabs { margin-bottom: 22px; border-bottom-color: #dce3f2; }
#app:has(.content-industry-workspace) .content-view-tabs button { color: #7c89a2; }
#app:has(.content-industry-workspace) .content-view-tabs button:hover { color: #315bea; }
#app:has(.content-industry-workspace) .content-view-tabs button:hover::after { background: #aabcf1; }
#app:has(.content-industry-workspace) .content-view-tabs button.active { color: #263a61; }
#app:has(.content-industry-workspace) .content-view-tabs button.active::after { background: #7653d6; }
#app:has(.content-industry-workspace) .content-industry-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 112px;
  margin-bottom: 14px;
  padding: 19px 21px;
  border: 1px solid #dce4f2;
  border-top: 3px solid #7653d6;
  border-radius: 14px;
  background: linear-gradient(105deg, #f8f8ff 0%, #fff 74%);
  box-shadow: 0 8px 22px rgba(44, 66, 119, .05);
}
#app:has(.content-industry-workspace) .content-industry-overview .eyebrow { margin: 0 0 5px; color: #7653d6; }
#app:has(.content-industry-workspace) .content-industry-overview h2 { margin: 0; color: #263a61; font-size: 20px; line-height: 1.35; }
#app:has(.content-industry-workspace) .content-industry-overview p:last-child { max-width: 670px; margin: 6px 0 0; color: #71809b; font-size: 12px; line-height: 1.65; }
#app:has(.content-industry-workspace) .content-industry-overview-stats { display: grid; grid-template-columns: repeat(2, minmax(92px, 1fr)); gap: 9px; }
#app:has(.content-industry-workspace) .content-industry-overview-stats > div { display: grid; min-width: 92px; gap: 4px; padding: 11px 13px; border: 1px solid #e1e6f3; border-radius: 10px; background: rgba(255, 255, 255, .78); text-align: center; }
#app:has(.content-industry-workspace) .content-industry-overview-stats strong { color: #7653d6; font-family: ui-monospace, Consolas, monospace; font-size: 22px; line-height: 1; }
#app:has(.content-industry-workspace) .content-industry-overview-stats span { color: #8995aa; font-size: 10px; white-space: nowrap; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px auto;
  align-items: end;
  gap: 16px;
  margin-bottom: 14px;
  padding: 13px 15px;
  border: 1px solid #dce4f2;
  border-radius: 12px;
  background: #f8f9ff;
}
#app:has(.content-industry-workspace) .content-industry-toolbar-card > div:first-child { display: grid; gap: 4px; align-self: center; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card > div:first-child strong { color: #40588e; font-size: 13px; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card > div:first-child span { color: #8995aa; font-size: 11px; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select { display: grid; width: 190px; height: auto; gap: 5px; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select > span:first-child { position: static; color: #687793; font-size: 10px; font-weight: 800; line-height: 1.2; pointer-events: auto; transform: none; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select select { width: 100%; height: 38px; padding: 0 32px 0 11px; border-color: #d7dfef; border-radius: 8px; color: #405172; background: #fff; font-size: 12px; }
#app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select select:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select > span:last-child { top: auto; right: 11px; bottom: 11px; color: #7653d6; transform: none; }
#app:has(.content-industry-workspace) .content-industry-toolbar-status { display: flex; align-items: center; justify-content: flex-end; gap: 8px; align-self: center; color: #8995aa; font-size: 11px; white-space: nowrap; }
#app:has(.content-industry-workspace) .content-industry-toolbar-status span + span { padding-left: 8px; border-left: 1px solid #dce3f2; color: #7653d6; }
#app:has(.content-industry-workspace) .content-industry-workspace { display: grid; grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr); gap: 14px; align-items: start; }
#app:has(.content-industry-workspace) .content-industry-list { min-width: 0; padding: 17px; border: 1px solid #dce4f2; border-radius: 14px; background: #fbfcff; box-shadow: 0 8px 22px rgba(44, 66, 119, .04); }
#app:has(.content-industry-workspace) .content-industry-list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
#app:has(.content-industry-workspace) .content-industry-list-heading > div { display: grid; gap: 4px; }
#app:has(.content-industry-workspace) .content-industry-list-heading strong { color: #263a61; font-size: 14px; }
#app:has(.content-industry-workspace) .content-industry-list-heading span { color: #8995aa; font-size: 11px; }
#app:has(.content-industry-workspace) .content-industry-list-heading > span { padding: 4px 8px; border: 1px solid #ddd4f7; border-radius: 999px; color: #7653d6; background: #f5f2ff; white-space: nowrap; }
#app:has(.content-industry-workspace) .content-industry-cards { display: grid; gap: 11px; }
#app:has(.content-industry-workspace) .content-industry-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid #dce4f2; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(44, 66, 119, .04); transition: border-color .18s ease, box-shadow .18s ease; }
#app:has(.content-industry-workspace) .content-industry-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #d7dfef; content: ""; }
#app:has(.content-industry-workspace) .content-industry-card:hover { border-color: #bdcaef; box-shadow: 0 8px 20px rgba(44, 66, 119, .08); }
#app:has(.content-industry-workspace) .content-industry-card.is-selected { border-color: #aabcf1; box-shadow: 0 8px 22px rgba(49, 91, 234, .09); }
#app:has(.content-industry-workspace) .content-industry-card.is-selected::before { background: linear-gradient(90deg, #315bea, #7653d6); }
#app:has(.content-industry-workspace) .content-industry-card-main { display: block; width: 100%; padding: 17px 17px 14px; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
#app:has(.content-industry-workspace) .content-industry-card-main:focus-visible { outline: 3px solid rgba(49, 91, 234, .2); outline-offset: -3px; }
#app:has(.content-industry-workspace) .content-industry-card-top { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
#app:has(.content-industry-workspace) .content-industry-index { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #d7def5; border-radius: 8px; color: #315bea; background: #eef2ff; font-family: ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 800; }
#app:has(.content-industry-workspace) .content-industry-label { color: #7653d6; font-size: 10px; font-weight: 850; }
#app:has(.content-industry-workspace) .content-industry-card h3 { margin: 3px 0 0; color: #263a61; font-size: 15px; line-height: 1.4; }
#app:has(.content-industry-workspace) .content-industry-card .chip { min-height: 23px; padding: 0 8px; font-size: 10px; }
#app:has(.content-industry-workspace) .content-industry-card .chip-green { color: #2d7a53; background: #edf8f1; }
#app:has(.content-industry-workspace) .content-industry-card .chip-gray { color: #6f7d96; background: #f0f2f6; }
#app:has(.content-industry-workspace) .content-industry-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; color: #8995aa; font-size: 10px; }
#app:has(.content-industry-workspace) .content-industry-card-meta > span + span { padding-left: 8px; border-left: 1px solid #e5e9f3; }
#app:has(.content-industry-workspace) .content-industry-card .content-code-chip { padding: 3px 7px; border: 1px solid #dce3f2; border-radius: 6px; color: #4c5e82; background: #f8f9ff; font-family: ui-monospace, Consolas, monospace; font-size: 10px; }
#app:has(.content-industry-workspace) .content-industry-schema { margin-top: 14px; padding: 11px 12px; border: 1px solid #e1e6f3; border-radius: 9px; background: #f8f9ff; }
#app:has(.content-industry-workspace) .content-industry-schema strong { color: #40588e; font-size: 11px; }
#app:has(.content-industry-workspace) .content-industry-schema p { margin: 4px 0 8px; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.content-industry-workspace) .content-industry-schema > div { display: flex; flex-wrap: wrap; gap: 5px; }
#app:has(.content-industry-workspace) .content-industry-schema > div span { padding: 3px 6px; border: 1px solid #d9def3; border-radius: 5px; color: #687793; background: #fff; font-family: ui-monospace, Consolas, monospace; font-size: 9px; }
#app:has(.content-industry-workspace) .content-industry-card-actions { display: flex; align-items: center; gap: 9px; padding: 11px 17px 13px; border-top: 1px solid #edf0f6; }
#app:has(.content-industry-workspace) .content-industry-card-actions .button { min-height: 32px; border-radius: 8px; font-size: 11px !important; }
#app:has(.content-industry-workspace) .content-industry-card-actions .button-primary { color: #fff; background: #315bea; box-shadow: 0 6px 13px rgba(49, 91, 234, .14); }
#app:has(.content-industry-workspace) .content-industry-card-actions .button-primary span { margin-left: 3px; }
#app:has(.content-industry-workspace) .content-industry-card-actions > span { color: #8995aa; font-size: 10px; }
#app:has(.content-industry-workspace) .content-prompt-preview { display: flex; min-width: 0; min-height: 100%; flex-direction: column; overflow: hidden; border-color: #dce4f2; border-top: 3px solid #7653d6; border-radius: 14px; background: #fff; box-shadow: 0 9px 24px rgba(44, 66, 119, .06); }
#app:has(.content-industry-workspace) .content-prompt-preview .panel-header { align-items: flex-start; padding: 20px 20px 15px; }
#app:has(.content-industry-workspace) .content-prompt-preview .eyebrow { margin: 0 0 6px; color: #7653d6; }
#app:has(.content-industry-workspace) .content-prompt-preview .panel-header h2 { color: #263a61; font-size: 17px; line-height: 1.45; }
#app:has(.content-industry-workspace) .content-prompt-preview .panel-header p:last-child { margin-top: 5px; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.content-industry-workspace) .content-prompt-preview .chip-green { color: #2d7a53; background: #edf8f1; }
#app:has(.content-industry-workspace) .content-prompt-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0 20px 13px; }
#app:has(.content-industry-workspace) .content-prompt-summary > div { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid #e1e6f3; border-radius: 9px; background: #f8f9ff; }
#app:has(.content-industry-workspace) .content-prompt-summary span { color: #8995aa; font-size: 10px; }
#app:has(.content-industry-workspace) .content-prompt-summary strong { color: #40588e; font-size: 11px; line-height: 1.45; }
#app:has(.content-industry-workspace) .content-prompt-copy { margin: 0 20px 14px; padding: 15px; border-color: #d9def3; border-radius: 10px; background: #f5f2ff; }
#app:has(.content-industry-workspace) .content-prompt-copy p { margin: 0 0 11px; color: #4c5e82; font-size: 12px; line-height: 1.75; }
#app:has(.content-industry-workspace) .content-prompt-copy small { display: block; color: #687793; font-size: 10px; line-height: 1.65; overflow-wrap: anywhere; }
#app:has(.content-industry-workspace) .content-prompt-actions { align-items: center; gap: 10px; margin-top: auto; padding: 14px 20px 18px; border-top: 1px solid #edf0f6; }
#app:has(.content-industry-workspace) .content-prompt-actions .button { min-height: 33px; border-radius: 8px; font-size: 11px !important; }
#app:has(.content-industry-workspace) .content-prompt-actions .button-secondary { border-color: #d7dfef; color: #4c5e82; background: #fff; }
#app:has(.content-industry-workspace) .content-prompt-actions .button-secondary:hover { border-color: #aabcf1; color: #315bea; background: #f4f6ff; }
#app:has(.content-industry-workspace) .content-prompt-actions > span { color: #8995aa; font-size: 10px; line-height: 1.5; }
#app:has(.content-industry-workspace) .content-industry-empty { display: grid; grid-column: 1 / -1; gap: 6px; min-height: 220px; place-content: center; padding: 30px 15px; border: 1px dashed #ccd5ee; border-radius: 11px; background: #f8f9ff; text-align: center; }
#app:has(.content-industry-workspace) .content-industry-empty strong { color: #405172; font-size: 13px; }
#app:has(.content-industry-workspace) .content-industry-empty span { color: #7c89a2; font-size: 11px; }
#app:has(.content-industry-workspace) .content-industry-generate-modal { border-color: #dce4f2; border-top: 3px solid #7653d6; box-shadow: 0 22px 60px rgba(36, 47, 93, .22); }
#app:has(.content-industry-workspace) .content-industry-generate-modal .eyebrow { color: #7653d6; }
#app:has(.content-industry-workspace) .content-industry-generate-modal h2 { color: #263a61; }
#app:has(.content-industry-workspace) .content-industry-modal-note { border-color: #d9def3; background: #f5f2ff; }
#app:has(.content-industry-workspace) .content-industry-generate-modal .content-modal-actions { border-top-color: #e5e9f3; }

@media (max-width: 980px) {
  #app:has(.content-industry-workspace) .content-industry-workspace { grid-template-columns: 1fr; }
  #app:has(.content-industry-workspace) .content-prompt-preview { min-height: 0; }
}

@media (max-width: 760px) {
  #app:has(.content-industry-workspace) .page-heading-actions { width: 100%; }
  #app:has(.content-industry-workspace) .content-industry-overview { grid-template-columns: 1fr; gap: 15px; padding: 17px; }
  #app:has(.content-industry-workspace) .content-industry-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.content-industry-workspace) .content-industry-overview-stats > div { min-width: 0; }
  #app:has(.content-industry-workspace) .content-industry-toolbar-card { grid-template-columns: 1fr; align-items: stretch; gap: 11px; }
  #app:has(.content-industry-workspace) .content-industry-toolbar-card .content-filter-select { width: 100%; }
  #app:has(.content-industry-workspace) .content-industry-toolbar-status { justify-content: flex-start; }
  #app:has(.content-industry-workspace) .content-industry-list { padding: 14px; }
  #app:has(.content-industry-workspace) .content-industry-card-top { grid-template-columns: 32px minmax(0, 1fr); }
  #app:has(.content-industry-workspace) .content-industry-card-top .chip { grid-column: 2; justify-self: start; }
  #app:has(.content-industry-workspace) .content-prompt-preview .panel-header { padding: 17px 17px 14px; }
  #app:has(.content-industry-workspace) .content-prompt-summary,
  #app:has(.content-industry-workspace) .content-prompt-copy { margin-right: 17px; margin-left: 17px; }
  #app:has(.content-industry-workspace) .content-prompt-actions { align-items: flex-start; flex-direction: column; padding-right: 17px; padding-left: 17px; }
}

/* Title library: keep the score, rationale and validation state together so
   a title can be judged at a glance and then returned to the writing flow. */
#app:has(.content-title-collection) .page-heading { align-items: flex-start; }
#app:has(.content-title-collection) .page-heading-actions .button { min-height: 38px; border-radius: 8px; }
#app:has(.content-title-collection) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #65728b; background: #fff; }
#app:has(.content-title-collection) .page-heading-actions .button-secondary:hover { border-color: #bdcaef; color: #7653d6; background: #f5f2ff; }
#app:has(.content-title-collection) .content-view-tabs { margin-bottom: 22px; border-bottom-color: #dce3f2; }
#app:has(.content-title-collection) .content-view-tabs button { color: #7c89a2; }
#app:has(.content-title-collection) .content-view-tabs button:hover { color: #315bea; }
#app:has(.content-title-collection) .content-view-tabs button:hover::after { background: #aabcf1; }
#app:has(.content-title-collection) .content-view-tabs button.active { color: #263a61; }
#app:has(.content-title-collection) .content-view-tabs button.active::after { background: #7653d6; }
#app:has(.content-title-collection) .content-title-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 112px;
  margin-bottom: 14px;
  padding: 19px 21px;
  border: 1px solid #dce4f2;
  border-top: 3px solid #315bea;
  border-radius: 14px;
  background: linear-gradient(105deg, #f8faff 0%, #fff 74%);
  box-shadow: 0 8px 22px rgba(44, 66, 119, .05);
}
#app:has(.content-title-collection) .content-title-overview .eyebrow { margin: 0 0 5px; color: #315bea; }
#app:has(.content-title-collection) .content-title-overview h2 { margin: 0; color: #263a61; font-size: 20px; line-height: 1.35; }
#app:has(.content-title-collection) .content-title-overview p:last-child { max-width: 680px; margin: 6px 0 0; color: #71809b; font-size: 12px; line-height: 1.65; }
#app:has(.content-title-collection) .content-title-overview-stats { display: grid; grid-template-columns: repeat(3, minmax(82px, 1fr)); gap: 9px; }
#app:has(.content-title-collection) .content-title-overview-stats > div { display: grid; min-width: 82px; gap: 4px; padding: 11px 12px; border: 1px solid #e1e6f3; border-radius: 10px; background: rgba(255, 255, 255, .8); text-align: center; }
#app:has(.content-title-collection) .content-title-overview-stats > div:nth-child(2) strong { color: #2d7a53; }
#app:has(.content-title-collection) .content-title-overview-stats > div:nth-child(3) strong { color: #b78337; }
#app:has(.content-title-collection) .content-title-overview-stats strong { color: #315bea; font-family: ui-monospace, Consolas, monospace; font-size: 22px; line-height: 1; }
#app:has(.content-title-collection) .content-title-overview-stats span { color: #8995aa; font-size: 10px; white-space: nowrap; }
#app:has(.content-title-collection) .content-title-rule { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 14px; padding: 11px 14px; border: 1px solid #dce4f2; border-radius: 11px; background: #f8f9ff; }
#app:has(.content-title-collection) .content-title-rule-mark { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; color: #315bea; background: #eef2ff; font-size: 12px; font-weight: 850; }
#app:has(.content-title-collection) .content-title-rule div { display: grid; gap: 3px; }
#app:has(.content-title-collection) .content-title-rule strong { color: #40588e; font-size: 11px; }
#app:has(.content-title-collection) .content-title-rule p { margin: 0; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.content-title-collection) .content-title-rule > span:last-child { color: #8995aa; font-size: 10px; white-space: nowrap; }
#app:has(.content-title-collection) .content-title-featured { position: relative; margin-bottom: 14px; overflow: hidden; border-color: #dce4f2; border-top: 3px solid #7653d6; border-radius: 14px; background: #fff; box-shadow: 0 9px 24px rgba(44, 66, 119, .06); }
#app:has(.content-title-collection) .content-title-featured-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 18px 20px 13px; }
#app:has(.content-title-collection) .content-title-featured-heading .eyebrow { margin: 0 0 5px; color: #7653d6; }
#app:has(.content-title-collection) .content-title-featured-heading h2 { margin: 0; color: #263a61; font-size: 17px; line-height: 1.4; }
#app:has(.content-title-collection) .content-title-featured-heading p:last-child { margin: 5px 0 0; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.content-title-collection) .content-title-featured-score { display: grid; min-width: 82px; gap: 3px; padding: 10px 12px; border: 1px solid #ddd4f7; border-radius: 10px; background: #f5f2ff; text-align: center; }
#app:has(.content-title-collection) .content-title-featured-score strong { color: #7653d6; font-family: ui-monospace, Consolas, monospace; font-size: 28px; line-height: 1; }
#app:has(.content-title-collection) .content-title-featured-score small { color: #8995aa; font-size: 10px; }
#app:has(.content-title-collection) .content-title-featured-copy { margin: 0 20px 14px; padding: 15px 16px; border: 1px solid #e1e6f3; border-radius: 10px; background: #f8f9ff; }
#app:has(.content-title-collection) .content-title-featured-copy h3 { margin: 0; color: #30415f; font-size: 15px; line-height: 1.6; }
#app:has(.content-title-collection) .content-title-featured-copy p { margin: 8px 0 11px; color: #4c5e82; font-size: 12px; line-height: 1.65; }
#app:has(.content-title-collection) .content-title-featured-copy > div { display: flex; flex-wrap: wrap; gap: 7px; }
#app:has(.content-title-collection) .content-title-featured-copy > div span { padding: 3px 7px; border: 1px solid #dce3f2; border-radius: 999px; color: #687793; background: #fff; font-size: 10px; }
#app:has(.content-title-collection) .content-title-featured-copy > div span:first-child { border-color: #cfe6d7; color: #2d7a53; background: #edf8f1; }
#app:has(.content-title-collection) .content-title-featured-actions { display: flex; align-items: center; gap: 10px; padding: 12px 20px 16px; border-top: 1px solid #edf0f6; }
#app:has(.content-title-collection) .content-title-featured-actions .button { min-height: 33px; border-radius: 8px; font-size: 11px !important; }
#app:has(.content-title-collection) .content-title-featured-actions .button-primary { color: #fff; background: #315bea; box-shadow: 0 6px 13px rgba(49, 91, 234, .14); }
#app:has(.content-title-collection) .content-title-featured-actions .button-primary span { margin-left: 3px; }
#app:has(.content-title-collection) .content-title-featured-actions > span { color: #8995aa; font-size: 10px; }
#app:has(.content-title-collection) .content-title-featured-empty { padding: 22px 20px; }
#app:has(.content-title-collection) .content-title-featured-empty h2 { margin: 0; color: #405172; font-size: 16px; }
#app:has(.content-title-collection) .content-title-featured-empty p:last-child { margin: 6px 0 0; color: #7c89a2; font-size: 11px; }
#app:has(.content-title-collection) .content-title-collection { overflow: hidden; border-color: #dce4f2; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(44, 66, 119, .05); }
#app:has(.content-title-collection) .content-title-collection-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 18px 20px 14px; border-bottom: 1px solid #edf0f6; }
#app:has(.content-title-collection) .content-title-collection-heading .eyebrow { margin: 0 0 5px; color: #315bea; }
#app:has(.content-title-collection) .content-title-collection-heading h2 { margin: 0; color: #263a61; font-size: 16px; }
#app:has(.content-title-collection) .content-title-collection-heading p:last-child { margin: 5px 0 0; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.content-title-collection) .content-title-collection-heading > span { padding: 4px 8px; border: 1px solid #d7def5; border-radius: 999px; color: #315bea; background: #eef2ff; font-size: 10px; white-space: nowrap; }
#app:has(.content-title-collection) .content-title-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; padding: 15px 20px 18px; }
#app:has(.content-title-collection) .content-title-card { display: grid; grid-template-columns: 61px minmax(0, 1fr); gap: 13px; min-width: 0; padding: 14px; border: 1px solid #e1e6f3; border-radius: 11px; background: #fbfcff; transition: border-color .18s ease, box-shadow .18s ease; }
#app:has(.content-title-collection) .content-title-card:hover { border-color: #bdcaef; box-shadow: 0 6px 16px rgba(44, 66, 119, .07); }
#app:has(.content-title-collection) .content-title-card.is-scored { border-color: #d4def7; background: #f8faff; }
#app:has(.content-title-collection) .content-title-card-score { display: grid; align-content: center; justify-items: center; align-self: start; min-height: 56px; border-right: 1px solid #e1e6f3; }
#app:has(.content-title-collection) .content-title-card-score strong { color: #315bea; font-family: ui-monospace, Consolas, monospace; font-size: 22px; line-height: 1; }
#app:has(.content-title-collection) .content-title-card.is-pending .content-title-card-score strong { color: #aab3c4; font-size: 18px; }
#app:has(.content-title-collection) .content-title-card-score span { margin-top: 5px; color: #8995aa; font-size: 9px; text-align: center; }
#app:has(.content-title-collection) .content-title-card-body { min-width: 0; }
#app:has(.content-title-collection) .content-title-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#app:has(.content-title-collection) .content-title-card-top > span:first-child { color: #8995aa; font-size: 10px; }
#app:has(.content-title-collection) .content-title-card .chip { min-height: 22px; padding: 0 7px; font-size: 9px; }
#app:has(.content-title-collection) .content-title-card .chip-green { color: #2d7a53; background: #edf8f1; }
#app:has(.content-title-collection) .content-title-card .chip-gray { color: #6f7d96; background: #f0f2f6; }
#app:has(.content-title-collection) .content-title-card h3 { margin: 9px 0 7px; color: #30415f; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#app:has(.content-title-collection) .content-title-card p { min-height: 34px; margin: 0; color: #71809b; font-size: 10px; line-height: 1.6; }
#app:has(.content-title-collection) .content-title-card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #edf0f6; color: #8995aa; font-size: 9px; }
#app:has(.content-title-collection) .content-title-card-meta span + span { padding-left: 7px; border-left: 1px solid #e1e6f3; }
#app:has(.content-title-collection) .content-title-count { padding: 12px 20px 15px; border-top-color: #edf0f6; color: #8995aa; font-size: 10px; text-align: center; }

@media (max-width: 900px) {
  #app:has(.content-title-collection) .content-title-cards { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  #app:has(.content-title-collection) .page-heading-actions { width: 100%; }
  #app:has(.content-title-collection) .content-title-overview { grid-template-columns: 1fr; gap: 15px; padding: 17px; }
  #app:has(.content-title-collection) .content-title-overview-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app:has(.content-title-collection) .content-title-overview-stats > div { min-width: 0; padding-right: 8px; padding-left: 8px; }
  #app:has(.content-title-collection) .content-title-overview-stats span { white-space: normal; }
  #app:has(.content-title-collection) .content-title-rule { grid-template-columns: 25px minmax(0, 1fr); align-items: start; }
  #app:has(.content-title-collection) .content-title-rule > span:last-child { grid-column: 2; }
  #app:has(.content-title-collection) .content-title-featured-heading,
  #app:has(.content-title-collection) .content-title-collection-heading { padding-right: 17px; padding-left: 17px; }
  #app:has(.content-title-collection) .content-title-featured-score { min-width: 70px; }
  #app:has(.content-title-collection) .content-title-featured-copy { margin-right: 17px; margin-left: 17px; }
  #app:has(.content-title-collection) .content-title-featured-actions { align-items: flex-start; flex-direction: column; padding-right: 17px; padding-left: 17px; }
  #app:has(.content-title-collection) .content-title-cards { padding-right: 17px; padding-left: 17px; }
}

/* 创作中心一级导航：所有子模块共享同一套页面级 TAB 交互语法。 */
#app:has(.content-view-tabs) .content-view-tabs {
  display: flex;
  gap: 24px;
  margin: -4px 0 22px;
  border-bottom: 1px solid #dce3f2;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app:has(.content-view-tabs) .content-view-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app:has(.content-view-tabs) .content-view-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 0 9px;
  border: 0;
  border-radius: 0;
  color: #7c89a2;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

#app:has(.content-view-tabs) .content-view-tabs button:first-child { padding-left: 0; }
#app:has(.content-view-tabs) .content-view-tabs button:first-child::after { left: 0; }

#app:has(.content-view-tabs) .content-view-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

#app:has(.content-view-tabs) .content-view-tabs button:hover {
  color: #315bea;
  background: #f7f9ff;
}

#app:has(.content-view-tabs) .content-view-tabs button:hover::after { background: #aabcf1; }

#app:has(.content-view-tabs) .content-view-tabs button.active {
  color: #263a61;
  background: transparent;
  font-weight: 850;
}

#app:has(.content-view-tabs) .content-view-tabs button.active::after { background: #315bea; }

#app:has(.content-view-tabs) .content-view-tabs button:focus-visible {
  z-index: 1;
  outline: 3px solid rgba(49, 91, 234, .16);
  outline-offset: -3px;
}

@media (max-width: 760px) {
  #app:has(.content-view-tabs) .content-view-tabs { gap: 20px; }

  #app:has(.content-view-tabs) .content-view-tabs button {
    min-width: 0;
    min-height: 44px;
    padding: 0 0 9px;
    font-size: 12px;
  }

  #app:has(.content-view-tabs) .content-view-tabs button::after { right: 0; left: 0; }
  #app:has(.content-view-tabs) .content-view-tabs button:first-child { padding-left: 0; }
#app:has(.content-view-tabs) .content-view-tabs button:first-child::after { left: 0; }
}

/* IA refinement v1: keep the workbench contextual, action-led and easier to
   scan. Metrics remain visible, but the primary route is now the action queue. */
#app .dashboard-benchmark .dashboard-context-strip {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) minmax(180px, .75fr) minmax(300px, 1.5fr);
  gap: 1px;
  align-items: stretch;
  min-height: 68px;
  margin: -8px 0 16px;
  overflow: hidden;
  border: 1px solid #dce3ee;
  border-radius: 11px;
  background: #dce3ee;
}

#app .dashboard-benchmark .dashboard-context-strip > div {
  display: grid;
  gap: 4px;
  align-content: center;
  min-width: 0;
  padding: 12px 16px;
  background: #fff;
}

#app .dashboard-benchmark .dashboard-context-label {
  color: #7b8799;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .04em;
}

#app .dashboard-benchmark .dashboard-context-strip strong {
  overflow: hidden;
  color: #182338;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .dashboard-benchmark .dashboard-context-note {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #617187;
  font-size: 12px;
}

#app .dashboard-benchmark .dashboard-context-note .hero-demo-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border: 1px solid #d7e8a2;
  border-radius: 999px;
  color: #536b18;
  background: #f4f9e7;
  font-weight: 800;
}

#app .dashboard-benchmark .dashboard-action-grid {
  margin-bottom: 18px;
}

#app .dashboard-benchmark .dashboard-action-panel {
  border-top: 3px solid #315bea;
}

#app .brand-governance-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -4px 0 18px;
  padding: 12px 14px;
  border: 1px solid #d8e2f0;
  border-left: 3px solid #7653d6;
  border-radius: 10px;
  color: #617187;
  background: #f8f7ff;
  font-size: 12px;
  line-height: 1.55;
}

#app .brand-governance-mark {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 6px;
  color: #6041b0;
  background: #ece8ff;
  font-size: 11px;
  font-weight: 850;
}

#app .brand-governance-note > div:not(.brand-governance-items) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#app .brand-governance-note strong { color: #283758; font-size: 12px; }
#app .brand-governance-note span { color: #68788e; }

#app .brand-governance-items {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  margin-left: auto;
}

#app .brand-governance-items span {
  padding: 4px 7px;
  border: 1px solid #d9d3f3;
  border-radius: 999px;
  color: #6756a1;
  background: #fff;
  font-size: 11px;
  white-space: nowrap;
}

#app .brand-diagnosis-methodology-panel {
  margin-top: 18px;
  border-top: 3px solid #7653d6;
}

#app .brand-diagnosis-methodology-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 22px 20px;
}

#app .brand-diagnosis-methodology-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #e1e5f1;
  border-radius: 9px;
  background: #fafaff;
}

#app .brand-diagnosis-methodology-grid strong { color: #303e65; font-size: 12px; }
#app .brand-diagnosis-methodology-grid span { color: #71809b; font-size: 12px; line-height: 1.55; }

#app .content-rule-alert.is-ready {
  border-color: #cfe3d8;
  border-left-color: #2b8b61;
  background: #f4fbf7;
}

#app .content-rule-alert.is-ready .content-alert-mark {
  color: #18724d;
  background: #dff3e8;
}

#app .content-rule-alert.is-ready strong { color: #236548; }

#app:has(.content-view-tabs) .content-view-tabs {
  align-items: center;
  gap: 21px;
}

#app:has(.content-view-tabs) .content-tabs-section-label {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 24px;
  margin-right: -9px;
  padding-right: 9px;
  border-right: 1px solid #dce3f2;
  color: #8490a7;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  white-space: nowrap;
}

@media (max-width: 760px) {
  #app .dashboard-benchmark .dashboard-context-strip {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  #app .dashboard-benchmark .dashboard-context-note {
    align-items: flex-start !important;
    flex-direction: column;
  }

  #app:has(.content-view-tabs) .content-view-tabs { gap: 16px; }
  #app:has(.content-view-tabs) .content-tabs-section-label { margin-right: -5px; padding-right: 6px; }
  #app .brand-governance-note { align-items: flex-start; flex-wrap: wrap; }
  #app .brand-governance-items { width: 100%; margin-left: 0; }
  #app .brand-diagnosis-methodology-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Internal billing and subscription administration */
.app-shell .billing-admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.app-shell .billing-admin-stat-card { min-height: 132px; }
.app-shell .billing-admin-stat-card .stat-icon { color: #5d7469; }
.app-shell .billing-admin-stat-green .stat-icon { color: #17845a; }
.app-shell .billing-admin-stat-orange .stat-icon { color: #b96a14; }
.app-shell .billing-admin-stat-purple .stat-icon { color: #8052a5; }
.app-shell .billing-admin-stat-blue .stat-icon { color: #2e6ea6; }

.app-shell .billing-admin-tabs {
  display: flex;
  gap: 4px;
  padding: 6px;
  margin: 0 0 18px;
  overflow-x: auto;
  border: 1px solid #dce6df;
  border-radius: 14px;
  background: #f5f8f5;
}

.app-shell .billing-admin-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  color: #5e7067;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}

.app-shell .billing-admin-tabs button:hover,
.app-shell .billing-admin-tabs button.active { color: #173d2e; background: #fff; box-shadow: 0 3px 12px rgba(27, 62, 46, .08); }
.app-shell .billing-admin-tabs button.active { font-weight: 850; }
.app-shell .billing-admin-tabs button span { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 99px; color: #658073; background: #eaf1eb; font-size: 11px; }
.app-shell .billing-admin-tabs button.active span { color: #fff; background: #187d56; }

.app-shell .billing-admin-split-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(360px, .85fr); gap: 16px; align-items: start; }
.app-shell .billing-admin-table-panel,
.app-shell .billing-admin-detail { min-width: 0; }
.app-shell .billing-admin-table-panel { overflow: hidden; }
.app-shell .billing-admin-table-panel > .panel-header { align-items: flex-start; }
.app-shell .billing-admin-table-panel h2,
.app-shell .billing-admin-detail h2 { margin: 0; color: #1a3025; font-size: 18px; }
.app-shell .billing-admin-table-panel .panel-header p,
.app-shell .billing-admin-detail .panel-header p { max-width: 620px; margin: 6px 0 0; color: #74837c; font-size: 12px; line-height: 1.65; }
.app-shell .billing-admin-kicker { display: block; margin-bottom: 6px; color: #5d786b; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.app-shell .billing-admin-result-count { color: #73847a; font-size: 12px; white-space: nowrap; }
.app-shell .billing-admin-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; padding: 14px 18px; border-top: 1px solid #edf2ee; border-bottom: 1px solid #edf2ee; background: #fbfdfb; }
.app-shell .billing-admin-search { position: relative; flex: 1 1 220px; min-width: 180px; }
.app-shell .billing-admin-search input { width: 100%; min-height: 36px; padding: 0 34px 0 12px; border: 1px solid #d9e4dc; border-radius: 9px; color: #20362b; background: #fff; font-size: 12px; }
.app-shell .billing-admin-search input:focus { border-color: #7db59b; outline: 3px solid rgba(39, 135, 91, .12); }
.app-shell .billing-admin-search i { position: absolute; top: 9px; right: 12px; color: #96a59d; font-style: normal; }
.app-shell .billing-admin-select { display: grid; gap: 5px; min-width: 118px; color: #788980; font-size: 11px; font-weight: 750; }
.app-shell .billing-admin-select select { min-height: 36px; padding: 0 26px 0 10px; border: 1px solid #d9e4dc; border-radius: 9px; color: #365448; background: #fff; font-size: 12px; }
.app-shell .billing-admin-table-wrap { overflow-x: auto; }
.app-shell .billing-admin-table { min-width: 860px; }
.app-shell .billing-admin-table th { color: #718078; background: #f7faf7; font-size: 11px; white-space: nowrap; }
.app-shell .billing-admin-table td { color: #52645a; font-size: 12px; vertical-align: middle; }
.app-shell .billing-admin-table td strong { color: #294839; }
.app-shell .billing-admin-table td small,
.app-shell .billing-admin-name-button small { display: block; margin-top: 4px; color: #8a9991; font-size: 11px; line-height: 1.35; }
.app-shell .billing-admin-name-button { padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.app-shell .billing-admin-name-button strong { display: block; color: #1d4c38; font-size: 12px; }
.app-shell .billing-admin-name-button:hover strong { color: #0b8a57; text-decoration: underline; }
.app-shell .billing-admin-row-actions,
.app-shell .billing-admin-detail-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.app-shell .billing-admin-detail-actions { margin-top: 14px; }
.app-shell .billing-admin-table-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px; color: #83918a; font-size: 11px; }
.app-shell .billing-admin-context-grid,
.app-shell .billing-admin-contract-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.app-shell .billing-admin-context-grid > div,
.app-shell .billing-admin-contract-summary > div { padding: 12px; border: 1px solid #e5ede7; border-radius: 12px; background: #f9fcf9; }
.app-shell .billing-admin-context-grid span,
.app-shell .billing-admin-contract-summary span,
.app-shell .billing-admin-context-card span { display: block; color: #829089; font-size: 11px; }
.app-shell .billing-admin-context-grid strong,
.app-shell .billing-admin-contract-summary strong,
.app-shell .billing-admin-context-card strong { display: block; margin-top: 5px; color: #244a37; font-size: 13px; }
.app-shell .billing-admin-context-grid small,
.app-shell .billing-admin-contract-summary small,
.app-shell .billing-admin-context-card small { display: block; margin-top: 4px; color: #87968e; font-size: 11px; line-height: 1.4; }
.app-shell .billing-admin-boundary-note { display: grid; gap: 4px; margin-top: 16px; padding: 12px 14px; border: 1px solid #e0ebe3; border-radius: 11px; color: #6f8177; background: #f7fbf8; font-size: 11px; line-height: 1.65; }
.app-shell .billing-admin-boundary-note strong { color: #38634d; }
.app-shell .billing-admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.app-shell .billing-admin-field-wide { grid-column: 1 / -1; }
.app-shell .billing-admin-form-grid .field { display: grid; gap: 6px; }
.app-shell .billing-admin-form-grid .field > span { color: #63766b; font-size: 11px; font-weight: 800; }
.app-shell .billing-admin-form-grid input,
.app-shell .billing-admin-form-grid select,
.app-shell .billing-admin-form-grid textarea { width: 100%; box-sizing: border-box; min-height: 36px; padding: 8px 10px; border: 1px solid #d8e4dc; border-radius: 9px; color: #29483a; background: #fff; font-size: 12px; }
.app-shell .billing-admin-form-grid textarea { min-height: 78px; resize: vertical; }
.app-shell .billing-admin-form-grid input:focus,
.app-shell .billing-admin-form-grid select:focus,
.app-shell .billing-admin-form-grid textarea:focus { border-color: #73ae8f; outline: 3px solid rgba(39, 135, 91, .12); }
.app-shell .billing-admin-check-field { display: flex; gap: 9px; align-items: flex-start; margin-top: 16px; padding: 12px 14px; border: 1px solid #e2ebe4; border-radius: 11px; background: #fbfdfb; }
.app-shell .billing-admin-check-field input { margin-top: 2px; accent-color: #17845a; }
.app-shell .billing-admin-check-field strong { display: block; color: #365d49; font-size: 12px; }
.app-shell .billing-admin-check-field small { display: block; margin-top: 3px; color: #819089; font-size: 11px; line-height: 1.5; }
.app-shell .billing-admin-split-layout > .billing-admin-table-panel { min-width: 0; }
.app-shell .billing-admin-split-layout > .billing-admin-detail { min-width: 0; }
.app-shell .billing-admin-progress { height: 5px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: #e6eee8; }
.app-shell .billing-admin-progress i { display: block; height: 100%; border-radius: inherit; background: #37a675; }
.app-shell .billing-admin-split-layout:has(.billing-admin-detail) .billing-admin-table-panel { min-height: 100%; }
.app-shell .billing-admin-context-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; padding: 12px; border: 1px solid #e3ebe5; border-radius: 12px; background: #f9fcf9; }
.app-shell .billing-admin-empty { display: grid; gap: 4px; padding: 28px 12px; color: #7d8d84; text-align: center; }
.app-shell .billing-admin-empty strong { color: #476555; font-size: 13px; }
.app-shell .billing-admin-empty span { font-size: 11px; }
.app-shell .billing-admin-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; color: #83928a; font-size: 11px; }
.app-shell .billing-admin-modal-overlay { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(18, 40, 29, .32); }
.app-shell .billing-admin-modal { width: min(720px, 100%); max-height: min(820px, calc(100vh - 40px)); overflow: auto; padding: 24px; border: 1px solid #dfeae2; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(17, 48, 33, .22); }
.app-shell .billing-admin-modal-close { float: right; width: 32px; height: 32px; border: 0; border-radius: 50%; color: #6a7c72; background: #f2f6f3; font-size: 20px; cursor: pointer; }
.app-shell .billing-admin-modal h2 { margin: 6px 0 0; color: #1b3929; font-size: 21px; }
.app-shell .billing-admin-modal-copy { margin: 8px 0 0; color: #74857b; font-size: 12px; line-height: 1.65; }
.app-shell .billing-admin-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.app-shell .billing-admin-facts > div { display: grid; gap: 5px; padding: 11px 12px; border-radius: 10px; background: #f7faf8; }
.app-shell .billing-admin-facts span { color: #829188; font-size: 11px; }
.app-shell .billing-admin-facts strong { color: #355644; font-size: 12px; line-height: 1.5; }
.app-shell .billing-admin-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 20px; }

@media (max-width: 1180px) {
  .app-shell .billing-admin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .app-shell .billing-admin-split-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .app-shell .billing-admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-shell .billing-admin-form-grid,
  .app-shell .billing-admin-context-grid,
  .app-shell .billing-admin-contract-summary,
  .app-shell .billing-admin-context-card,
  .app-shell .billing-admin-facts { grid-template-columns: 1fr; }
  .app-shell .billing-admin-field-wide { grid-column: auto; }
  .app-shell .billing-admin-table-footer,
  .app-shell .billing-admin-footer { align-items: flex-start; flex-direction: column; }
  .app-shell .billing-admin-modal { padding: 18px; }
}

/* 选词车间子模块沿用采词中心的自然宽度 TAB 节奏，颜色保持工作台蓝。 */
#app:has(.selection-view-tabs) .selection-view-tabs {
  display: flex;
  gap: 24px;
  margin: -4px 0 22px;
  border-bottom: 1px solid #dce3f2;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app:has(.selection-view-tabs) .selection-view-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app:has(.selection-view-tabs) .selection-view-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 0 9px;
  border: 0;
  border-radius: 0;
  color: #7c89a2;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

#app:has(.selection-view-tabs) .selection-view-tabs button:first-child { padding-left: 0; }

#app:has(.selection-view-tabs) .selection-view-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

#app:has(.selection-view-tabs) .selection-view-tabs button:hover {
  color: #315bea;
  background: transparent;
}

#app:has(.selection-view-tabs) .selection-view-tabs button:hover::after { background: #aabcf1; }

#app:has(.selection-view-tabs) .selection-view-tabs button.active {
  color: #315bea;
  background: transparent;
  font-weight: 850;
}

#app:has(.selection-view-tabs) .selection-view-tabs button.active::after { background: #315bea; }

#app:has(.selection-view-tabs) .selection-view-tabs button:focus-visible {
  z-index: 1;
  outline: 3px solid rgba(49, 91, 234, .16);
  outline-offset: -3px;
}

@media (max-width: 760px) {
  #app:has(.selection-view-tabs) .selection-view-tabs { gap: 20px; }

  #app:has(.selection-view-tabs) .selection-view-tabs button {
    min-height: 44px;
    padding: 0 0 9px;
    font-size: 12px;
  }
}

/* 发布中心：把“选内容 → 配策略 → 看结果”收敛成一条蓝色主流程。
   绿色只表达成功状态，黄色只表达连接器告警，避免整页被同一种强调色覆盖。 */
#app:has(.publish-center-layout) .page-heading .eyebrow { color: #315bea; }

#app:has(.publish-center-layout) .page-heading-actions .button-primary {
  color: #fff;
  background: #315bea;
  box-shadow: 0 8px 16px rgba(49, 91, 234, .16);
}

#app:has(.publish-center-layout) .page-heading-actions .button-secondary {
  border-color: #d7dfef;
  color: #315bea;
  background: #fff;
}

#app:has(.publish-center-layout) .page-heading-actions .button-secondary:hover {
  border-color: #bdcaef;
  background: #f5f7ff;
}

#app:has(.publish-center-layout) .publish-tabs-shell {
  margin: -4px 0 22px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dce3f2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#app:has(.publish-center-layout) .publish-module-tabs {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app:has(.publish-center-layout) .publish-module-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app:has(.publish-center-layout) .publish-module-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  padding: 0 0 9px;
  border: 0;
  border-radius: 0;
  color: #7c89a2;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

#app:has(.publish-center-layout) .publish-module-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

#app:has(.publish-center-layout) .publish-module-tabs button:hover {
  color: #315bea;
  background: transparent;
}

#app:has(.publish-center-layout) .publish-module-tabs button:hover::after { background: #aabcf1; }

#app:has(.publish-center-layout) .publish-module-tabs button.active {
  color: #315bea;
  background: transparent;
  font-weight: 850;
}

#app:has(.publish-center-layout) .publish-module-tabs button.active::after { background: #315bea; }

#app:has(.publish-center-layout) .publish-plugin-alert {
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border-color: #eadfb9;
  border-radius: 11px;
  background: #fffaf0;
  color: #78622d;
}

#app:has(.publish-center-layout) .publish-alert-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border-radius: 9px;
  color: #8b6b16;
  background: #f9edc7;
}

#app:has(.publish-center-layout) .publish-plugin-alert strong { color: #59491e; font-size: 13px; }
#app:has(.publish-center-layout) .publish-plugin-alert p { color: #826f3b; font-size: 12px; }
#app:has(.publish-center-layout) .publish-plugin-alert .button { color: #785e18; border-color: #e2cb81; background: #fff; }

#app:has(.publish-center-layout) .publish-plugin-alert.is-checked {
  border-color: #c7d8ef;
  background: #f5f8ff;
  color: #536b99;
}

#app:has(.publish-center-layout) .publish-plugin-alert.is-checked .publish-alert-icon {
  color: #fff;
  background: #315bea;
}

#app:has(.publish-center-layout) .publish-plugin-alert.is-checked strong { color: #304a82; }
#app:has(.publish-center-layout) .publish-plugin-alert.is-checked p { color: #68799d; }
#app:has(.publish-center-layout) .publish-plugin-alert.is-checked .button { color: #315bea; border-color: #bdcaef; }

#app:has(.publish-center-layout) .publish-stat-grid { gap: 12px; margin-bottom: 16px; }

#app:has(.publish-center-layout) .publish-stat-card {
  position: relative;
  min-height: 116px;
  padding: 16px 17px 14px;
  overflow: hidden;
  border-color: #dce3f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(44, 66, 119, .05);
}

#app:has(.publish-center-layout) .publish-stat-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #315bea;
  content: "";
}

#app:has(.publish-center-layout) .publish-stat-card:nth-child(2)::before { background: #1fa6b5; }
#app:has(.publish-center-layout) .publish-stat-card:nth-child(3)::before { background: #7653d6; }
#app:has(.publish-center-layout) .publish-stat-card:nth-child(4)::before { background: #d29b42; }
#app:has(.publish-center-layout) .publish-stat-top { color: #687793; font-size: 12px; }

#app:has(.publish-center-layout) .publish-stat-top b {
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-center-layout) .publish-stat-card:nth-child(2) .publish-stat-top b { color: #168997; background: #e9f8fa; }
#app:has(.publish-center-layout) .publish-stat-card:nth-child(3) .publish-stat-top b { color: #7653d6; background: #f0edff; }
#app:has(.publish-center-layout) .publish-stat-card:nth-child(4) .publish-stat-top b { color: #b27b28; background: #fff5e3; }
#app:has(.publish-center-layout) .publish-stat-card strong { color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.publish-center-layout) .publish-stat-card small { color: #8995aa; font-size: 11px; }

#app:has(.publish-center-layout) .publish-center-layout { gap: 13px; }

#app:has(.publish-center-layout) .publish-center-layout > .panel {
  border-color: #dce3f2;
  border-radius: 13px;
  box-shadow: 0 7px 20px rgba(44, 66, 119, .05);
}

#app:has(.publish-center-layout) .publish-pending-panel,
#app:has(.publish-center-layout) .publish-strategy-panel,
#app:has(.publish-center-layout) .publish-preview-panel {
  border-top: 3px solid #315bea;
}

#app:has(.publish-center-layout) .publish-strategy-panel { border-top-color: #7653d6; }
#app:has(.publish-center-layout) .publish-preview-panel { border-top-color: #1fa6b5; }
#app:has(.publish-center-layout) .publish-pending-panel .panel-header,
#app:has(.publish-center-layout) .publish-strategy-panel .panel-header,
#app:has(.publish-center-layout) .publish-preview-panel .panel-header { min-height: 76px; }
#app:has(.publish-center-layout) .publish-pending-panel h2,
#app:has(.publish-center-layout) .publish-strategy-panel h2,
#app:has(.publish-center-layout) .publish-preview-panel h2 { color: #263a61; font-size: 17px; }
#app:has(.publish-center-layout) .publish-pending-panel .panel-header p,
#app:has(.publish-center-layout) .publish-strategy-panel .panel-header p,
#app:has(.publish-center-layout) .publish-preview-panel .panel-header p { color: #71809b; font-size: 12px; }

#app:has(.publish-center-layout) .publish-count-badge {
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-center-layout) .publish-inline-filter {
  padding-right: 14px;
  padding-left: 14px;
  border-bottom-color: #edf0f6;
}

#app:has(.publish-center-layout) .publish-inline-filter input {
  border-color: #d7dfef;
  color: #405172;
  background: #fbfcff;
}

#app:has(.publish-center-layout) .publish-inline-filter input:focus {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}

#app:has(.publish-center-layout) .publish-article-list { gap: 8px; padding: 12px 11px; }

#app:has(.publish-center-layout) .publish-article-row {
  grid-template-columns: 28px minmax(0, 1fr) auto 12px;
  gap: 8px;
  padding: 10px 9px;
  border-color: transparent;
  border-radius: 9px;
  color: #405172;
  background: #fbfcff;
}

#app:has(.publish-center-layout) .publish-article-row:hover {
  border-color: #cbd6f0;
  background: #f7f9ff;
}

#app:has(.publish-center-layout) .publish-article-row.active {
  border-color: #bdcaef;
  background: #f0f4ff;
  box-shadow: inset 3px 0 #315bea;
}

#app:has(.publish-center-layout) .publish-article-number {
  color: #315bea;
  background: #e9eeff;
}

#app:has(.publish-center-layout) .publish-article-row.active .publish-article-number {
  color: #fff;
  background: #315bea;
}

#app:has(.publish-center-layout) .publish-article-copy strong { color: #30415f; font-size: 12px; }
#app:has(.publish-center-layout) .publish-article-copy small { color: #8995aa; font-size: 10px; }
#app:has(.publish-center-layout) .publish-row-side em { color: #71809b; }
#app:has(.publish-center-layout) .publish-article-row > i { color: #315bea; }

#app:has(.publish-center-layout) .publish-strategy-body { gap: 17px; padding: 1px 16px 16px; }
#app:has(.publish-center-layout) .publish-field-label strong { color: #40588e; }
#app:has(.publish-center-layout) .publish-field-label span { color: #8995aa; }

#app:has(.publish-center-layout) .publish-selected-article {
  border-color: #d7dfef;
  background: #f7f9ff;
}

#app:has(.publish-center-layout) .publish-selected-article strong { color: #30415f; }
#app:has(.publish-center-layout) .publish-selected-article span { color: #71809b; }

#app:has(.publish-center-layout) .publish-mode-tabs button {
  border-color: #d7dfef;
  color: #71809b;
  background: #fff;
}

#app:has(.publish-center-layout) .publish-mode-tabs button:hover {
  border-color: #bdcaef;
  background: #f7f9ff;
}

#app:has(.publish-center-layout) .publish-mode-tabs button.active {
  border-color: #8fa7ef;
  color: #315bea;
  background: #eef2ff;
  box-shadow: inset 3px 0 #315bea;
}

#app:has(.publish-center-layout) .publish-mode-tabs small { color: #8995aa; }
#app:has(.publish-center-layout) .publish-mode-tabs button.active small { color: #71809b; }

#app:has(.publish-center-layout) .publish-schedule-field input,
#app:has(.publish-center-layout) .publish-select-field select {
  border-color: #d7dfef;
  color: #405172;
  background: #fbfcff;
}

#app:has(.publish-center-layout) .publish-select-field i { color: #315bea; }

#app:has(.publish-center-layout) .publish-platform-picker button {
  border-color: #d7dfef;
  color: #71809b;
  background: #fff;
}

#app:has(.publish-center-layout) .publish-platform-picker button:hover {
  border-color: #bdcaef;
  background: #f7f9ff;
}

#app:has(.publish-center-layout) .publish-platform-picker button.selected {
  border-color: #8fa7ef;
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-center-layout) .publish-platform-picker button.is-unavailable {
  border-color: #e3e7ef;
  color: #a0a8b8;
  background: #f8f9fc;
}

#app:has(.publish-center-layout) .publish-platform-picker button > span {
  color: #315bea;
  background: #e9eeff;
}

#app:has(.publish-center-layout) .publish-platform-picker button.selected > span {
  color: #fff;
  background: #315bea;
}

#app:has(.publish-center-layout) .publish-platform-picker button > i { color: #8b9ab8; }
#app:has(.publish-center-layout) .publish-platform-picker button.selected > i { color: #315bea; }
#app:has(.publish-center-layout) .publish-platform-help { color: #8995aa; }
#app:has(.publish-center-layout) .publish-submit-button { background: #315bea; box-shadow: 0 8px 16px rgba(49, 91, 234, .14); }

#app:has(.publish-center-layout) .publish-preview-paper {
  gap: 13px;
  border-color: #d7dfef;
  background: #fbfcff;
}

#app:has(.publish-center-layout) .publish-preview-meta { color: #8995aa; }
#app:has(.publish-center-layout) .publish-preview-paper h3 { color: #30415f; }
#app:has(.publish-center-layout) .publish-preview-paper > p { color: #71809b; }
#app:has(.publish-center-layout) .publish-preview-facts { gap: 8px; }
#app:has(.publish-center-layout) .publish-preview-facts span { color: #8995aa; }
#app:has(.publish-center-layout) .publish-preview-facts strong { color: #405172; }
#app:has(.publish-center-layout) .publish-preview-check { border-top-color: #e1e6f2; color: #536b99; }
#app:has(.publish-center-layout) .publish-preview-check i { background: #315bea; }
#app:has(.publish-center-layout) .publish-preview-action { border-color: #bdcaef; color: #315bea; background: #fff; }
#app:has(.publish-center-layout) .publish-preview-action:hover { background: #f5f7ff; }

@media (max-width: 700px) {
  #app:has(.publish-center-layout) .publish-module-tabs { gap: 20px; }
  #app:has(.publish-center-layout) .publish-module-tabs button { min-height: 44px; font-size: 12px; }
  #app:has(.publish-center-layout) .publish-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 发布队列：以“状态总览 → 筛选队列 → 平台行明细”为主要阅读路径。
   这里复用发布中心的蓝色工作台语法，但为成功、等待、失败和人工确认保留
   清晰的语义色，避免把所有状态都压成旧版绿色。 */
#app:has(.publish-queue-stats) .page-heading .eyebrow { color: #315bea; }

#app:has(.publish-queue-stats) .page-heading-actions .button-primary {
  color: #fff;
  background: #315bea;
  box-shadow: 0 8px 16px rgba(49, 91, 234, .16);
}

#app:has(.publish-queue-stats) .page-heading-actions .button-secondary {
  border-color: #d7dfef;
  color: #315bea;
  background: #fff;
}

#app:has(.publish-queue-stats) .page-heading-actions .button-secondary:hover {
  border-color: #bdcaef;
  background: #f5f7ff;
}

#app:has(.publish-queue-stats) .publish-tabs-shell {
  margin: -4px 0 22px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dce3f2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#app:has(.publish-queue-stats) .publish-module-tabs {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app:has(.publish-queue-stats) .publish-module-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app:has(.publish-queue-stats) .publish-module-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  padding: 0 0 9px;
  border: 0;
  border-radius: 0;
  color: #7c89a2;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

#app:has(.publish-queue-stats) .publish-module-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

#app:has(.publish-queue-stats) .publish-module-tabs button:hover {
  color: #315bea;
  background: transparent;
}

#app:has(.publish-queue-stats) .publish-module-tabs button:hover::after { background: #aabcf1; }

#app:has(.publish-queue-stats) .publish-module-tabs button.active {
  color: #315bea;
  background: transparent;
  font-weight: 850;
}

#app:has(.publish-queue-stats) .publish-module-tabs button.active::after { background: #315bea; }

#app:has(.publish-queue-stats) .publish-stat-grid.publish-queue-stats {
  gap: 12px;
  margin-bottom: 16px;
}

#app:has(.publish-queue-stats) .publish-stat-card {
  position: relative;
  min-height: 108px;
  padding: 15px 16px 13px;
  overflow: hidden;
  border-color: #dce3f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(44, 66, 119, .05);
}

#app:has(.publish-queue-stats) .publish-stat-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #315bea;
  content: "";
}

#app:has(.publish-queue-stats) .publish-stat-card:nth-child(2)::before { background: #d29b42; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(3)::before { background: #1fa6b5; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(4)::before { background: #2aa876; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(5)::before { background: #d76565; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(6)::before { background: #7653d6; }
#app:has(.publish-queue-stats) .publish-stat-top { color: #687793; font-size: 12px; }

#app:has(.publish-queue-stats) .publish-stat-top b {
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-queue-stats) .publish-stat-card:nth-child(2) .publish-stat-top b { color: #b27b28; background: #fff5e3; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(3) .publish-stat-top b { color: #168997; background: #e9f8fa; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(4) .publish-stat-top b { color: #238a63; background: #e9f8f2; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(5) .publish-stat-top b { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-queue-stats) .publish-stat-card:nth-child(6) .publish-stat-top b { color: #7653d6; background: #f0edff; }
#app:has(.publish-queue-stats) .publish-stat-card strong { color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.publish-queue-stats) .publish-stat-card small { color: #8995aa; font-size: 11px; }

#app:has(.publish-queue-stats) .publish-table-panel {
  overflow: hidden;
  border-color: #dce3f2;
  border-radius: 13px;
  border-top: 3px solid #315bea;
  box-shadow: 0 7px 20px rgba(44, 66, 119, .05);
}

#app:has(.publish-queue-stats) .publish-toolbar {
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom-color: #e7ebf3;
  background: #fff;
}

#app:has(.publish-queue-stats) .publish-toolbar-filters {
  flex: 1 1 auto;
  gap: 9px;
}

#app:has(.publish-queue-stats) .publish-filter-select { gap: 7px; }
#app:has(.publish-queue-stats) .publish-filter-select span { color: #687793; font-size: 11px; }

#app:has(.publish-queue-stats) .publish-filter-select select,
#app:has(.publish-queue-stats) .publish-search-field input {
  border-color: #d7dfef;
  color: #405172;
  background: #fbfcff;
}

#app:has(.publish-queue-stats) .publish-filter-select select:focus,
#app:has(.publish-queue-stats) .publish-search-field input:focus {
  border-color: #8b9fe8;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .1);
}

#app:has(.publish-queue-stats) .publish-filter-select i,
#app:has(.publish-queue-stats) .publish-search-field i { color: #315bea; }

#app:has(.publish-queue-stats) .publish-search-field {
  min-width: 250px;
  flex-basis: 250px;
}

#app:has(.publish-queue-stats) .publish-cloud-button {
  border-color: #d7dfef;
  color: #536b99;
  background: #fff;
}

#app:has(.publish-queue-stats) .publish-cloud-button:hover,
#app:has(.publish-queue-stats) .publish-cloud-button.active {
  border-color: #8fa7ef;
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-queue-stats) .publish-table-wrap {
  scrollbar-color: #bdcaef transparent;
}

#app:has(.publish-queue-stats) .publish-data-table {
  min-width: 980px;
  color: #405172;
}

#app:has(.publish-queue-stats) .publish-data-table th {
  height: 46px;
  padding: 0 12px;
  border-bottom-color: #dce3f2;
  color: #5d6f97;
  background: #f5f7ff;
  font-size: 11px;
  letter-spacing: .02em;
}

#app:has(.publish-queue-stats) .publish-data-table td {
  min-height: 64px;
  padding: 13px 12px;
  border-bottom-color: #edf0f6;
  color: #536b99;
  font-size: 12px;
  line-height: 1.5;
}

#app:has(.publish-queue-stats) .publish-data-table tbody tr:hover { background: #f8faff; }
#app:has(.publish-queue-stats) .publish-data-table tbody tr.is-expanded { background: #f5f7ff; }
#app:has(.publish-queue-stats) .publish-data-table input[type="checkbox"] { accent-color: #315bea; }
#app:has(.publish-queue-stats) .publish-check-col { text-align: center; }
#app:has(.publish-queue-stats) .publish-data-table th:nth-child(2),
#app:has(.publish-queue-stats) .publish-data-table td:nth-child(2) { width: 31%; }

#app:has(.publish-queue-stats) .publish-title-cell {
  color: #30415f;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

#app:has(.publish-queue-stats) .publish-title-cell small {
  color: #8995aa;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

#app:has(.publish-queue-stats) .publish-priority {
  color: #a37226;
  background: #fff5e3;
  box-shadow: inset 0 0 0 1px #f0dfb5;
}

#app:has(.publish-queue-stats) .publish-muted { color: #8b96aa; }

#app:has(.publish-queue-stats) .publish-table-panel .chip-green,
#app:has(.publish-queue-stats) .publish-detail-platform.done { color: #238a63; background: #e9f8f2; }
#app:has(.publish-queue-stats) .publish-table-panel .chip-orange,
#app:has(.publish-queue-stats) .publish-detail-platform.pending { color: #a06b1d; background: #fff5e3; }
#app:has(.publish-queue-stats) .publish-table-panel .chip-blue { color: #315bea; background: #eef2ff; }
#app:has(.publish-queue-stats) .publish-table-panel .chip-red,
#app:has(.publish-queue-stats) .publish-detail-platform.failed { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-queue-stats) .publish-table-panel .chip-gray { color: #687793; background: #f1f3f8; }

#app:has(.publish-queue-stats) .publish-table-panel [data-publish-queue-expand],
#app:has(.publish-queue-stats) .publish-table-panel [data-publish-queue-publish] {
  min-height: 34px;
  border-color: #d7dfef;
  color: #536b99;
  background: #fff;
}

#app:has(.publish-queue-stats) .publish-table-panel [data-publish-queue-expand]:hover,
#app:has(.publish-queue-stats) .publish-table-panel [data-publish-queue-publish]:hover {
  border-color: #8fa7ef;
  color: #315bea;
  background: #eef2ff;
}

#app:has(.publish-queue-stats) .publish-table-panel [data-publish-queue-publish] {
  border-color: #aabcf1;
  color: #315bea;
  background: #f1f4ff;
}

#app:has(.publish-queue-stats) .publish-detail-row td {
  border-bottom-color: #dce3f2;
  background: #f5f7ff;
}

#app:has(.publish-queue-stats) .publish-detail-card {
  padding: 14px 18px 15px 56px;
  border-left-color: #315bea;
}

#app:has(.publish-queue-stats) .publish-detail-card > strong { color: #30415f; }
#app:has(.publish-queue-stats) .publish-detail-card > span { color: #71809b; }
#app:has(.publish-queue-stats) .publish-detail-card .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.publish-queue-stats) .publish-detail-card .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }

#app:has(.publish-queue-stats) .publish-table-footer {
  padding: 13px 16px;
  border-top: 0;
  color: #8995aa;
}

#app:has(.publish-queue-stats) .publish-table-footer .button-secondary {
  border-color: #bdcaef;
  color: #315bea;
  background: #fff;
}

#app:has(.publish-queue-stats) .publish-empty-row { color: #8995aa; }
#app:has(.publish-queue-stats) .publish-empty-row strong { color: #536b99; }

@media (max-width: 900px) {
  #app:has(.publish-queue-stats) .publish-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.publish-queue-stats) .publish-toolbar-filters { display: grid; grid-template-columns: auto auto minmax(200px, 1fr); }
  #app:has(.publish-queue-stats) .publish-search-field { min-width: 0; }
}

@media (max-width: 700px) {
  #app:has(.publish-queue-stats) .publish-module-tabs { gap: 20px; }
  #app:has(.publish-queue-stats) .publish-module-tabs button { min-height: 44px; font-size: 12px; }
  #app:has(.publish-queue-stats) .publish-stat-grid.publish-queue-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.publish-queue-stats) .publish-toolbar-filters { grid-template-columns: 1fr 1fr; }
  #app:has(.publish-queue-stats) .publish-search-field { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  #app:has(.publish-queue-stats) .publish-stat-grid.publish-queue-stats { grid-template-columns: 1fr; }
  #app:has(.publish-queue-stats) .publish-toolbar-filters { display: grid; grid-template-columns: 1fr; }
  #app:has(.publish-queue-stats) .publish-search-field { grid-column: auto; }
#app:has(.publish-queue-stats) .publish-detail-card { padding-left: 18px; }
}

/* 发布记录：以“批次结果 → 失败原因 → 平台回执”组织历史信息，
   让记录页承担复盘和追踪，不只是发布队列的另一张表。 */
#app:has(.publish-failure-grid) .page-heading .eyebrow { color: #315bea; }

#app:has(.publish-failure-grid) .publish-stat-grid.publish-queue-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

#app:has(.publish-failure-grid) .publish-stat-card:nth-child(1)::before { background: #315bea; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(2)::before { background: #2aa876; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(3)::before { background: #d76565; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(4)::before { background: #7653d6; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(5)::before { background: #1fa6b5; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(1) .publish-stat-top b { color: #315bea; background: #eef2ff; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(2) .publish-stat-top b { color: #238a63; background: #e9f8f2; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(3) .publish-stat-top b { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(4) .publish-stat-top b { color: #7653d6; background: #f0edff; }
#app:has(.publish-failure-grid) .publish-stat-card:nth-child(5) .publish-stat-top b { color: #168997; background: #e9f8fa; }

#app:has(.publish-failure-grid) .publish-failure-grid { gap: 12px; margin-bottom: 16px; }
#app:has(.publish-failure-grid) .publish-failure-intro,
#app:has(.publish-failure-grid) .publish-failure-card {
  border-color: #dce3f2;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(44, 66, 119, .04);
}
#app:has(.publish-failure-grid) .publish-failure-intro { background: #f5f8ff; }
#app:has(.publish-failure-grid) .publish-section-kicker { color: #315bea; }
#app:has(.publish-failure-grid) .publish-failure-intro h2 { color: #30415f; }
#app:has(.publish-failure-grid) .publish-failure-intro p { color: #71809b; }
#app:has(.publish-failure-grid) .publish-failure-card { min-height: 118px; background: #fff; }
#app:has(.publish-failure-grid) .publish-failure-card:hover { border-color: #8fa7ef; background: #f7f9ff; }
#app:has(.publish-failure-grid) .publish-failure-card strong { color: #30415f; font-size: 20px; }
#app:has(.publish-failure-grid) .publish-failure-card span { color: #536b99; font-size: 11px; }
#app:has(.publish-failure-grid) .publish-failure-card small { color: #8995aa; font-size: 10px; }
#app:has(.publish-failure-grid) .publish-failure-card i { color: #8fa7ef; }
#app:has(.publish-failure-grid) .publish-failure-card.gray { border-top: 3px solid #8b96aa; background: #fbfcff; }
#app:has(.publish-failure-grid) .publish-failure-card.orange { border-top: 3px solid #d29b42; background: #fffaf0; }
#app:has(.publish-failure-grid) .publish-failure-card.red { border-top: 3px solid #d76565; background: #fff7f7; }
#app:has(.publish-failure-grid) .publish-failure-card.purple { border-top: 3px solid #7653d6; background: #faf8ff; }
#app:has(.publish-failure-grid) .publish-failure-card.blue { border-top: 3px solid #1fa6b5; background: #f4fcfd; }
#app:has(.publish-failure-grid) .publish-failure-card.orange strong { color: #a06b1d; }
#app:has(.publish-failure-grid) .publish-failure-card.red strong { color: #b24e4e; }
#app:has(.publish-failure-grid) .publish-failure-card.purple strong { color: #7653d6; }
#app:has(.publish-failure-grid) .publish-failure-card.blue strong { color: #168997; }

#app:has(.publish-failure-grid) .publish-table-panel { border-color: #dce3f2; border-top-color: #315bea; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.publish-failure-grid) .publish-history-toolbar { gap: 12px; padding: 13px 16px; border-bottom-color: #e7ebf3; background: #fff; }
#app:has(.publish-failure-grid) .publish-status-tabs { gap: 6px; }
#app:has(.publish-failure-grid) .publish-status-tabs button { height: 32px; padding: 0 11px; border-color: transparent; border-radius: 8px; color: #7c89a2; background: transparent; font-size: 11px; }
#app:has(.publish-failure-grid) .publish-status-tabs button:hover { border-color: #bdcaef; color: #315bea; background: #f7f9ff; }
#app:has(.publish-failure-grid) .publish-status-tabs button.active { border-color: #bdcaef; color: #315bea; background: #eef2ff; font-weight: 850; }
#app:has(.publish-failure-grid) .publish-history-toolbar .publish-toolbar-filters { flex: 1 1 420px; justify-content: flex-end; gap: 9px; }
#app:has(.publish-failure-grid) .publish-filter-select span { color: #687793; }
#app:has(.publish-failure-grid) .publish-filter-select select,
#app:has(.publish-failure-grid) .publish-search-field input { border-color: #d7dfef; color: #405172; background: #fbfcff; }
#app:has(.publish-failure-grid) .publish-filter-select select:focus,
#app:has(.publish-failure-grid) .publish-search-field input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.publish-failure-grid) .publish-filter-select i,
#app:has(.publish-failure-grid) .publish-search-field i { color: #315bea; }
#app:has(.publish-failure-grid) .publish-history-toolbar .publish-search-field { min-width: 250px; flex-basis: 250px; }
#app:has(.publish-failure-grid) .publish-history-toolbar > .button { border-color: #d7dfef; color: #315bea; background: #fff; }

#app:has(.publish-failure-grid) .publish-data-table { min-width: 930px; color: #405172; }
#app:has(.publish-failure-grid) .publish-data-table th { border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; }
#app:has(.publish-failure-grid) .publish-data-table td { border-bottom-color: #edf0f6; color: #536b99; }
#app:has(.publish-failure-grid) .publish-data-table tbody tr:hover { background: #f8faff; }
#app:has(.publish-failure-grid) .publish-data-table tbody tr.is-expanded { background: #f5f7ff; }
#app:has(.publish-failure-grid) .publish-data-table th:nth-child(1),
#app:has(.publish-failure-grid) .publish-data-table td:nth-child(1) { width: 34%; }
#app:has(.publish-failure-grid) .publish-data-table th:nth-child(2),
#app:has(.publish-failure-grid) .publish-data-table td:nth-child(2) { width: 27%; }
#app:has(.publish-failure-grid) .publish-data-table th:nth-child(3),
#app:has(.publish-failure-grid) .publish-data-table td:nth-child(3) { width: 15%; }
#app:has(.publish-failure-grid) .publish-data-table th:nth-child(4),
#app:has(.publish-failure-grid) .publish-data-table td:nth-child(4) { width: 15%; }
#app:has(.publish-failure-grid) .publish-data-table th:last-child,
#app:has(.publish-failure-grid) .publish-data-table td:last-child { width: 110px; }
#app:has(.publish-failure-grid) .publish-platform-summary { gap: 5px; }
#app:has(.publish-failure-grid) .publish-platform-summary span { color: #536b99; background: #eef2ff; }
#app:has(.publish-failure-grid) .publish-platform-summary .publish-history-failure-count { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-failure-grid) .publish-table-panel .button-quiet { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.publish-failure-grid) .publish-table-panel .button-quiet:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }

#app:has(.publish-failure-grid) .publish-history-detail { border-left-color: #315bea; background: #f5f7ff; }
#app:has(.publish-failure-grid) .publish-history-detail-heading strong { color: #30415f; }
#app:has(.publish-failure-grid) .publish-history-detail-heading span { color: #71809b; }
#app:has(.publish-failure-grid) .publish-history-detail-table { border: 1px solid #dce3f2; }
#app:has(.publish-failure-grid) .publish-history-detail-table th { border-bottom-color: #dce3f2; color: #5d6f97; background: #eef2ff; }
#app:has(.publish-failure-grid) .publish-history-detail-table td { border-bottom-color: #edf0f6; color: #536b99; background: #fff; }
#app:has(.publish-failure-grid) .publish-history-detail-actions .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.publish-failure-grid) .publish-history-detail-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }

@media (max-width: 1000px) {
  #app:has(.publish-failure-grid) .publish-failure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app:has(.publish-failure-grid) .publish-failure-intro { grid-column: 1 / -1; }
  #app:has(.publish-failure-grid) .publish-history-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.publish-failure-grid) .publish-history-toolbar .publish-toolbar-filters { justify-content: flex-start; }
}

@media (max-width: 760px) {
  #app:has(.publish-failure-grid) .publish-stat-grid.publish-queue-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.publish-failure-grid) .publish-failure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.publish-failure-grid) .publish-history-toolbar .publish-toolbar-filters { display: grid; grid-template-columns: 1fr 1fr; }
  #app:has(.publish-failure-grid) .publish-history-toolbar .publish-search-field { grid-column: 1 / -1; min-width: 0; }
}

@media (max-width: 520px) {
  #app:has(.publish-failure-grid) .publish-stat-grid.publish-queue-stats,
  #app:has(.publish-failure-grid) .publish-failure-grid { grid-template-columns: 1fr; }
  #app:has(.publish-failure-grid) .publish-failure-intro { grid-column: auto; }
  #app:has(.publish-failure-grid) .publish-history-toolbar .publish-toolbar-filters { grid-template-columns: 1fr; }
  #app:has(.publish-failure-grid) .publish-history-toolbar .publish-search-field { grid-column: auto; }
}

/* 发布记录首页已移除独立的失败原因排行；用专属标记保留复盘页的五列统计和回执视觉语法。 */
#app:has(.publish-history-stats) .page-heading .eyebrow { color: #315bea; }
#app:has(.publish-history-stats) .publish-stat-grid.publish-history-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
#app:has(.publish-history-stats) .publish-stat-card:nth-child(1)::before { background: #315bea; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(2)::before { background: #2aa876; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(3)::before { background: #d76565; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(4)::before { background: #7653d6; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(5)::before { background: #1fa6b5; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(1) .publish-stat-top b { color: #315bea; background: #eef2ff; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(2) .publish-stat-top b { color: #238a63; background: #e9f8f2; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(3) .publish-stat-top b { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(4) .publish-stat-top b { color: #7653d6; background: #f0edff; }
#app:has(.publish-history-stats) .publish-stat-card:nth-child(5) .publish-stat-top b { color: #168997; background: #e9f8fa; }
#app:has(.publish-history-stats) .publish-table-panel { border-color: #dce3f2; border-top-color: #315bea; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.publish-history-stats) .publish-history-toolbar { gap: 12px; padding: 13px 16px; border-bottom-color: #e7ebf3; background: #fff; }
#app:has(.publish-history-stats) .publish-status-tabs { gap: 6px; }
#app:has(.publish-history-stats) .publish-status-tabs button { height: 32px; padding: 0 11px; border-color: transparent; border-radius: 8px; color: #7c89a2; background: transparent; font-size: 11px; }
#app:has(.publish-history-stats) .publish-status-tabs button:hover { border-color: #bdcaef; color: #315bea; background: #f7f9ff; }
#app:has(.publish-history-stats) .publish-status-tabs button.active { border-color: #bdcaef; color: #315bea; background: #eef2ff; font-weight: 850; }
#app:has(.publish-history-stats) .publish-history-toolbar .publish-toolbar-filters { flex: 1 1 420px; justify-content: flex-end; gap: 9px; }
#app:has(.publish-history-stats) .publish-filter-select span { color: #687793; }
#app:has(.publish-history-stats) .publish-filter-select select,
#app:has(.publish-history-stats) .publish-search-field input { border-color: #d7dfef; color: #405172; background: #fbfcff; }
#app:has(.publish-history-stats) .publish-filter-select select:focus,
#app:has(.publish-history-stats) .publish-search-field input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.publish-history-stats) .publish-filter-select i,
#app:has(.publish-history-stats) .publish-search-field i { color: #315bea; }
#app:has(.publish-history-stats) .publish-history-toolbar .publish-search-field { min-width: 250px; flex-basis: 250px; }
#app:has(.publish-history-stats) .publish-history-toolbar > .button { border-color: #d7dfef; color: #315bea; background: #fff; }
#app:has(.publish-history-stats) .publish-data-table { min-width: 930px; color: #405172; }
#app:has(.publish-history-stats) .publish-data-table th { border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; }
#app:has(.publish-history-stats) .publish-data-table td { border-bottom-color: #edf0f6; color: #536b99; }
#app:has(.publish-history-stats) .publish-data-table tbody tr:hover { background: #f8faff; }
#app:has(.publish-history-stats) .publish-data-table tbody tr.is-expanded { background: #f5f7ff; }
#app:has(.publish-history-stats) .publish-data-table th:nth-child(1),
#app:has(.publish-history-stats) .publish-data-table td:nth-child(1) { width: 34%; }
#app:has(.publish-history-stats) .publish-data-table th:nth-child(2),
#app:has(.publish-history-stats) .publish-data-table td:nth-child(2) { width: 27%; }
#app:has(.publish-history-stats) .publish-data-table th:nth-child(3),
#app:has(.publish-history-stats) .publish-data-table td:nth-child(3) { width: 15%; }
#app:has(.publish-history-stats) .publish-data-table th:nth-child(4),
#app:has(.publish-history-stats) .publish-data-table td:nth-child(4) { width: 15%; }
#app:has(.publish-history-stats) .publish-data-table th:last-child,
#app:has(.publish-history-stats) .publish-data-table td:last-child { width: 110px; }
#app:has(.publish-history-stats) .publish-platform-summary { gap: 5px; }
#app:has(.publish-history-stats) .publish-platform-summary span { color: #536b99; background: #eef2ff; }
#app:has(.publish-history-stats) .publish-platform-summary .publish-history-failure-count { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-history-stats) .publish-table-panel .button-quiet { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.publish-history-stats) .publish-table-panel .button-quiet:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.publish-history-stats) .publish-history-detail { border-left-color: #315bea; background: #f5f7ff; }
#app:has(.publish-history-stats) .publish-history-detail-heading { align-items: start; }
#app:has(.publish-history-stats) .publish-history-detail-heading strong { color: #30415f; }
#app:has(.publish-history-stats) .publish-history-detail-heading span { max-width: min(55%, 680px); color: #71809b; font-size: 11px; line-height: 1.55; text-align: right; }
#app:has(.publish-history-stats) .publish-history-detail-table { width: 100%; min-width: 900px; table-layout: fixed; border: 1px solid #dce3f2; }
#app:has(.publish-history-stats) .publish-history-detail-table th,
#app:has(.publish-history-stats) .publish-history-detail-table td { overflow-wrap: anywhere; white-space: normal; }
#app:has(.publish-history-stats) .publish-history-detail-table th { padding: 10px 12px; border-bottom-color: #dce3f2; color: #5d6f97; background: #eef2ff; }
#app:has(.publish-history-stats) .publish-history-detail-table td { padding: 11px 12px; border-bottom-color: #edf0f6; color: #536b99; background: #fff; vertical-align: top; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(1),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(1) { width: 12%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(2),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(2) { width: 9%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(3),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(3) { width: 13%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(4),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(4) { width: 11%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(5),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(5) { width: 20%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(6),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(6) { width: 23%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(7),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(7) { width: 12%; }
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(2),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(2),
#app:has(.publish-history-stats) .publish-history-detail-table th:nth-child(3),
#app:has(.publish-history-stats) .publish-history-detail-table td:nth-child(3) { white-space: nowrap; }
#app:has(.publish-history-stats) .publish-history-detail-actions .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.publish-history-stats) .publish-history-detail-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.publish-history-stats) .publish-history-receipt-list { display: grid; gap: 10px; }
#app:has(.publish-history-stats) .publish-history-receipt-card { display: grid; gap: 10px; padding: 12px 13px; border: 1px solid #dce3f2; border-radius: 10px; background: #fff; }
#app:has(.publish-history-stats) .publish-history-receipt-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#app:has(.publish-history-stats) .publish-history-receipt-top > div { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
#app:has(.publish-history-stats) .publish-history-receipt-top span,
#app:has(.publish-history-stats) .publish-history-receipt-fields span { color: #8995aa; font-size: 10px; }
#app:has(.publish-history-stats) .publish-history-receipt-top strong { overflow: hidden; color: #30415f; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.publish-history-stats) .publish-history-receipt-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#app:has(.publish-history-stats) .publish-history-receipt-fields > div { display: grid; gap: 4px; min-width: 0; padding: 8px 10px; border: 1px solid #edf0f6; border-radius: 8px; background: #fbfcff; }
#app:has(.publish-history-stats) .publish-history-receipt-fields > div.is-wide { grid-column: 1 / -1; }
#app:has(.publish-history-stats) .publish-history-receipt-fields strong { color: #536b99; font-size: 11px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
#app:has(.publish-history-stats) .publish-history-receipt-fields strong.is-error { color: #b24e4e; }

@media (max-width: 1000px) {
  #app:has(.publish-history-stats) .publish-history-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.publish-history-stats) .publish-history-toolbar .publish-toolbar-filters { justify-content: flex-start; }
}

@media (max-width: 760px) {
  #app:has(.publish-history-stats) .publish-stat-grid.publish-history-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.publish-history-stats) .publish-history-toolbar .publish-toolbar-filters { display: grid; grid-template-columns: 1fr 1fr; }
  #app:has(.publish-history-stats) .publish-history-toolbar .publish-search-field { grid-column: 1 / -1; min-width: 0; }
}

@media (max-width: 520px) {
  #app:has(.publish-history-stats) .publish-stat-grid.publish-history-stats { grid-template-columns: 1fr; }
  #app:has(.publish-history-stats) .publish-history-toolbar .publish-toolbar-filters { grid-template-columns: 1fr; }
  #app:has(.publish-history-stats) .publish-history-toolbar .publish-search-field { grid-column: auto; }
}

@media (max-width: 760px) {
  #app:has(.publish-history-stats) .publish-history-detail-heading { align-items: stretch; flex-direction: column; }
  #app:has(.publish-history-stats) .publish-history-detail-heading span { max-width: none; text-align: left; }
  #app:has(.publish-history-stats) .publish-history-receipt-fields { grid-template-columns: 1fr; }
  #app:has(.publish-history-stats) .publish-history-receipt-fields > div.is-wide { grid-column: auto; }
}

/* 平台管理：用“提示 → 概览 → 平台目录 → 日志”建立连接器工作台的单一阅读路径。 */
#app:has(.publish-platform-grid) .page-heading .eyebrow { color: #315bea; }
#app:has(.publish-platform-grid) .publish-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; background: transparent; box-shadow: none; }
#app:has(.publish-platform-grid) .publish-module-tabs { display: flex; gap: 24px; margin: 0; padding: 0 8px; overflow-x: auto; border-bottom: 1px solid #dce3f2; scrollbar-width: none; }
#app:has(.publish-platform-grid) .publish-module-tabs::-webkit-scrollbar { width: 0; height: 0; }
#app:has(.publish-platform-grid) .publish-module-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 48px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 12px; font-weight: 700; }
#app:has(.publish-platform-grid) .publish-module-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app:has(.publish-platform-grid) .publish-module-tabs button:hover { color: #315bea; background: transparent; }
#app:has(.publish-platform-grid) .publish-module-tabs button:hover::after { background: #aabcf1; }
#app:has(.publish-platform-grid) .publish-module-tabs button.active { color: #315bea; background: transparent; font-weight: 850; }
#app:has(.publish-platform-grid) .publish-module-tabs button.active::after { background: #315bea; }

#app:has(.publish-platform-grid) .publish-plugin-alert { gap: 12px; margin-bottom: 16px; padding: 12px 14px; border-color: #d7dfef; border-radius: 11px; background: #f5f8ff; color: #536b99; }
#app:has(.publish-platform-grid) .publish-alert-icon { width: 30px; height: 30px; flex-basis: 30px; border-radius: 9px; color: #315bea; background: #e9eeff; }
#app:has(.publish-platform-grid) .publish-plugin-alert strong { color: #30415f; font-size: 13px; }
#app:has(.publish-platform-grid) .publish-plugin-alert p { color: #71809b; font-size: 12px; }
#app:has(.publish-platform-grid) .publish-plugin-alert .button { color: #315bea; border-color: #bdcaef; background: #fff; }
#app:has(.publish-platform-grid) .publish-plugin-alert.is-checked { border-color: #b9d1ef; background: #f4f7ff; color: #536b99; }
#app:has(.publish-platform-grid) .publish-plugin-alert.is-checked .publish-alert-icon { color: #fff; background: #315bea; }
#app:has(.publish-platform-grid) .publish-plugin-alert.is-checked strong { color: #304a82; }
#app:has(.publish-platform-grid) .publish-plugin-alert.is-checked p { color: #68799d; }

#app:has(.publish-platform-grid) .publish-stat-grid.publish-platform-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.publish-platform-grid) .publish-stat-card { position: relative; min-height: 108px; padding: 15px 16px 13px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.publish-platform-grid) .publish-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(2)::before { background: #d29b42; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(3)::before { background: #d76565; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(4)::before { background: #1fa6b5; }
#app:has(.publish-platform-grid) .publish-stat-top { color: #687793; font-size: 12px; }
#app:has(.publish-platform-grid) .publish-stat-top b { color: #315bea; background: #eef2ff; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(2) .publish-stat-top b { color: #b27b28; background: #fff5e3; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(3) .publish-stat-top b { color: #b24e4e; background: #fff0f0; }
#app:has(.publish-platform-grid) .publish-stat-card:nth-child(4) .publish-stat-top b { color: #168997; background: #e9f8fa; }
#app:has(.publish-platform-grid) .publish-stat-card strong { color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.publish-platform-grid) .publish-stat-card small { color: #8995aa; font-size: 11px; }

#app:has(.publish-platform-grid) .publish-platform-toolbar { align-items: center; gap: 12px; margin-bottom: 13px; padding: 10px 12px; border: 1px solid #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(44, 66, 119, .035); }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs { gap: 5px; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs button { height: 32px; padding: 0 11px; border-color: transparent; border-radius: 8px; color: #7c89a2; background: transparent; font-size: 11px; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs button:hover { border-color: #bdcaef; color: #315bea; background: #f7f9ff; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs button.active { border-color: #bdcaef; color: #315bea; background: #eef2ff; font-weight: 850; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-search-field { min-width: 260px; flex: 1 1 260px; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-search-field input { border-color: #d7dfef; color: #405172; background: #fbfcff; }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-search-field input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.publish-platform-grid) .publish-platform-toolbar .publish-search-field i { color: #315bea; }

#app:has(.publish-platform-grid) .publish-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.publish-platform-grid) .publish-platform-card { position: relative; gap: 13px; padding: 16px; border-color: #dce3f2; border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.publish-platform-grid) .publish-platform-card:hover { border-color: #aabcf1; box-shadow: 0 9px 22px rgba(49, 91, 234, .08); }
#app:has(.publish-platform-grid) .publish-platform-card.is-pending { border-color: #ecd7a6; background: #fffdf8; }
#app:has(.publish-platform-grid) .publish-platform-card.is-disconnected { border-color: #e7c9c9; background: #fffafa; }
#app:has(.publish-platform-grid) .publish-platform-card-head { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; }
#app:has(.publish-platform-grid) .publish-platform-icon { width: 36px; height: 36px; border-radius: 10px; color: #fff; background: #315bea; }
#app:has(.publish-platform-grid) .publish-platform-card:nth-child(3n + 2) .publish-platform-icon { background: #7653d6; }
#app:has(.publish-platform-grid) .publish-platform-card:nth-child(3n) .publish-platform-icon { background: #1fa6b5; }
#app:has(.publish-platform-grid) .publish-platform-card-head h3 { color: #30415f; font-size: 14px; }
#app:has(.publish-platform-grid) .publish-platform-card-head small { color: #8995aa; font-size: 10px; }
#app:has(.publish-platform-grid) .publish-platform-quota { gap: 8px; }
#app:has(.publish-platform-grid) .publish-platform-quota > div:first-child { color: #687793; font-size: 11px; }
#app:has(.publish-platform-grid) .publish-platform-quota strong { color: #405172; font-size: 12px; }
#app:has(.publish-platform-grid) .publish-quota-track { height: 6px; background: #edf0f6; }
#app:has(.publish-platform-grid) .publish-quota-track i { background: #315bea; }
#app:has(.publish-platform-grid) .publish-platform-card.is-pending .publish-quota-track i { background: #d29b42; }
#app:has(.publish-platform-grid) .publish-platform-card.is-disconnected .publish-quota-track i { background: #d76565; }
#app:has(.publish-platform-grid) .publish-platform-facts { gap: 8px; padding: 11px 12px; border: 1px solid #edf0f6; border-radius: 10px; background: #fbfcff; }
#app:has(.publish-platform-grid) .publish-platform-facts dt { color: #8995aa; font-size: 10px; }
#app:has(.publish-platform-grid) .publish-platform-facts dd { color: #536b99; font-size: 11px; }
#app:has(.publish-platform-grid) .publish-platform-facts input { width: 54px; height: 27px; border-color: #d7dfef; border-radius: 7px; color: #315bea; background: #fff; }
#app:has(.publish-platform-grid) .publish-platform-facts input:focus { border-color: #8b9fe8; outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.publish-platform-grid) .publish-platform-actions { gap: 6px; }
#app:has(.publish-platform-grid) .publish-platform-actions .button { min-height: 31px; padding: 0 9px; border-color: #d7dfef; color: #536b99; background: #fff; font-size: 11px; }
#app:has(.publish-platform-grid) .publish-platform-actions .button-secondary { border-color: #aabcf1; color: #315bea; background: #f5f7ff; }
#app:has(.publish-platform-grid) .publish-platform-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.publish-platform-grid) .publish-platform-actions .publish-danger-link { color: #b24e4e; border-color: #efcccc; background: #fffafa; }
#app:has(.publish-platform-grid) .publish-platform-actions .publish-danger-link.is-confirming { color: #fff; border-color: #b9504c; background: #b9504c; }
#app:has(.publish-platform-grid) .publish-log-panel { border-color: #dce3f2; border-top-color: #1fa6b5; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.publish-platform-grid) .publish-log-panel .panel-header { min-height: 70px; }
#app:has(.publish-platform-grid) .publish-log-panel .panel-header h2 { color: #30415f; font-size: 16px; }
#app:has(.publish-platform-grid) .publish-log-panel .panel-header p { color: #71809b; font-size: 12px; }
#app:has(.publish-platform-grid) .publish-log-panel .panel-link { color: #315bea; }
#app:has(.publish-platform-grid) .publish-log-panel .publish-data-table { min-width: 760px; color: #405172; }
#app:has(.publish-platform-grid) .publish-log-panel .publish-data-table th { border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; }
#app:has(.publish-platform-grid) .publish-log-panel .publish-data-table td { border-bottom-color: #edf0f6; color: #536b99; }

@media (max-width: 1080px) {
  #app:has(.publish-platform-grid) .publish-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  #app:has(.publish-platform-grid) .publish-stat-grid.publish-platform-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.publish-platform-grid) .publish-platform-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.publish-platform-grid) .publish-platform-toolbar .publish-search-field { min-width: 0; width: 100%; }
}

@media (max-width: 560px) {
  #app:has(.publish-platform-grid) .publish-stat-grid.publish-platform-stats,
  #app:has(.publish-platform-grid) .publish-platform-grid { grid-template-columns: 1fr; }
  #app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs { overflow-x: auto; }
  #app:has(.publish-platform-grid) .publish-platform-toolbar .publish-status-tabs button { flex: 0 0 auto; }
}

/* 内部后台 · 审计与安全 */
.audit-security-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.audit-security-stat-card { min-height: 126px; }
.audit-security-stat-orange { border-color: #f2d49e; background: #fffaf0; }
.audit-security-stat-green { border-color: #b8dec8; background: #f5fbf7; }
.audit-security-stat-purple { border-color: #d7c8ef; background: #faf7ff; }
.audit-security-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 6px; border: 1px solid #dbe4e2; border-radius: 14px; background: #f7faf9; }
.audit-security-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 0; border-radius: 10px; color: #52615f; background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.audit-security-tabs button:hover, .audit-security-tabs button.active { color: #183b35; background: #fff; box-shadow: 0 2px 7px rgba(28, 61, 54, .08); }
.audit-security-tabs button span { display: inline-grid; min-width: 20px; height: 20px; padding: 0 5px; place-items: center; border-radius: 99px; color: #527069; background: #e7f1ed; font-size: 11px; }
.audit-security-posture-grid, .audit-security-access-grid, .audit-security-policy-layout, .audit-security-data-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 18px; margin-bottom: 18px; }
.audit-security-posture-card, .audit-security-quick-card, .audit-security-session-policy, .audit-security-policy-explain { min-width: 0; }
.audit-security-posture-list, .audit-security-policy-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.audit-security-posture-list > div, .audit-security-policy-summary > div { display: grid; gap: 5px; padding: 13px 14px; border: 1px solid #e0e8e5; border-radius: 12px; background: #fbfdfc; }
.audit-security-posture-list span, .audit-security-policy-summary span { color: #75827f; font-size: 12px; }
.audit-security-posture-list strong, .audit-security-policy-summary strong { color: #173b35; font-size: 21px; letter-spacing: -.02em; }
.audit-security-posture-list small, .audit-security-policy-summary small { color: #87938f; font-size: 11px; line-height: 1.45; }
.audit-security-boundary-note, .audit-security-quick-note { display: grid; gap: 4px; margin-top: 16px; padding: 12px 14px; border-left: 3px solid #99bcb0; color: #657571; background: #f3f8f5; font-size: 12px; line-height: 1.55; }
.audit-security-boundary-note strong { color: #31584e; }
.audit-security-quick-actions { display: grid; gap: 9px; margin-top: 18px; }
.audit-security-quick-actions button { justify-content: flex-start; }
.audit-security-quick-note { border-left-color: #c9b2ed; background: #faf7ff; }
.audit-security-quick-note, .audit-security-table-footer, .audit-security-footer { color: #77837f; font-size: 12px; line-height: 1.5; }
.audit-security-risk-panel, .audit-security-enterprise-panel, .audit-security-table-panel { min-width: 0; margin-bottom: 18px; }
.audit-security-table-wrap { overflow-x: auto; }
.audit-security-table { min-width: 860px; }
.audit-security-table th { white-space: nowrap; }
.audit-security-table td { vertical-align: top; }
.audit-security-table td strong, .audit-security-table td small { display: block; }
.audit-security-table td small { margin-top: 4px; color: #8a9692; font-size: 11px; line-height: 1.45; }
.audit-security-table td > .chip + .chip { margin-left: 5px; }
.audit-security-result-count { color: #7d8985; font-size: 12px; white-space: nowrap; }
.audit-security-link-button { display: grid; gap: 4px; padding: 0; border: 0; color: #235a4d; background: transparent; text-align: left; cursor: pointer; }
.audit-security-link-button:hover strong { text-decoration: underline; }
.audit-security-link-button small { color: #8a9692; font-size: 11px; }
.audit-security-toolbar, .audit-security-policy-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 16px 0; }
.audit-security-search { position: relative; display: flex; min-width: 265px; flex: 1 1 265px; }
.audit-security-search input { width: 100%; padding: 10px 34px 10px 12px; border: 1px solid #d8e2df; border-radius: 9px; color: #253a36; background: #fff; font: inherit; font-size: 12px; }
.audit-security-search i { position: absolute; top: 50%; right: 12px; color: #9aa6a2; font-style: normal; transform: translateY(-50%); }
.audit-security-select { display: grid; gap: 5px; min-width: 142px; color: #687671; font-size: 11px; }
.audit-security-select select, .audit-security-form-grid input, .audit-security-form-grid select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #d8e2df; border-radius: 9px; color: #253a36; background: #fff; font: inherit; font-size: 12px; }
.audit-security-detail-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.audit-security-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.audit-security-table-footer, .audit-security-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 14px; }
.audit-security-empty { display: grid; gap: 5px; padding: 30px 12px; color: #7f8c87; text-align: center; }
.audit-security-empty strong { color: #536762; }
.audit-security-muted { color: #96a19d; font-size: 12px; }
.audit-security-policy-panel, .audit-security-policy-explain { min-width: 0; }
.audit-security-policy-toolbar { align-items: stretch; }
.audit-security-scope-select { flex: 0 1 260px; }
.audit-security-scope-context { display: grid; flex: 1 1 300px; gap: 4px; align-content: center; padding: 10px 12px; border: 1px solid #dce8e4; border-radius: 10px; background: #f7fbf9; }
.audit-security-scope-context strong { color: #244b42; font-size: 13px; }
.audit-security-scope-context span { color: #798782; font-size: 11px; line-height: 1.45; }
.audit-security-scope-context button { justify-self: start; margin-top: 4px; }
.audit-security-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.audit-security-form-grid .field { display: grid; gap: 7px; color: #60706a; font-size: 12px; }
.audit-security-field-wide { grid-column: 1 / -1; }
.audit-security-policy-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.audit-security-explain-list { display: grid; gap: 10px; }
.audit-security-explain-list > div { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid #e1e9e6; border-radius: 11px; background: #fbfdfc; }
.audit-security-explain-list strong { color: #31564c; font-size: 13px; }
.audit-security-explain-list span { color: #75827d; font-size: 12px; line-height: 1.55; }
.audit-security-modal-overlay { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(20, 36, 32, .38); }
.audit-security-modal { position: relative; width: min(680px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: 27px; border: 1px solid #d5e2dc; border-radius: 18px; background: #fff; box-shadow: 0 22px 80px rgba(20, 44, 36, .2); }
.audit-security-modal-close { position: absolute; top: 12px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 50%; color: #71817a; background: #f2f6f4; font-size: 21px; cursor: pointer; }
.audit-security-modal h2 { margin: 7px 0 8px; color: #193d35; font-size: 23px; }
.audit-security-modal-copy { color: #72817b; font-size: 12px; line-height: 1.55; }
.audit-security-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.audit-security-facts > div { display: grid; gap: 5px; padding: 11px 12px; border: 1px solid #e2e9e6; border-radius: 10px; background: #fbfdfc; }
.audit-security-facts span { color: #84908b; font-size: 11px; }
.audit-security-facts strong { color: #31564c; font-size: 12px; line-height: 1.5; }
.audit-security-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 20px; }

@media (max-width: 1080px) {
  .audit-security-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-security-posture-grid, .audit-security-access-grid, .audit-security-policy-layout, .audit-security-data-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .audit-security-stat-grid, .audit-security-posture-list, .audit-security-policy-summary, .audit-security-form-grid, .audit-security-facts { grid-template-columns: 1fr; }
  .audit-security-field-wide { grid-column: auto; }
  .audit-security-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .audit-security-tabs button { flex: 0 0 auto; }
  .audit-security-toolbar, .audit-security-policy-toolbar { align-items: stretch; flex-direction: column; }
  .audit-security-search, .audit-security-select, .audit-security-scope-select { min-width: 0; width: 100%; }
  .audit-security-detail-actions { justify-content: flex-start; }
  .audit-security-modal-overlay { padding: 12px; }
  .audit-security-modal { padding: 22px 16px; }
}

/* 账号矩阵：用“视图切换 → 状态概览 → 筛选 → 表格”的蓝色工作台路径承载高密度账号数据。 */
#app:has(.matrix-account-table) .matrix-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#app:has(.matrix-account-table) .matrix-module-tabs { display: flex; gap: 24px; margin: 0; padding: 0 8px; overflow-x: auto; border-bottom: 1px solid #dce3f2; scrollbar-width: none; }
#app:has(.matrix-account-table) .matrix-module-tabs::-webkit-scrollbar { width: 0; height: 0; }
#app:has(.matrix-account-table) .matrix-module-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 48px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 12px; font-weight: 700; }
#app:has(.matrix-account-table) .matrix-module-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app:has(.matrix-account-table) .matrix-module-tabs button:hover { color: #315bea; background: transparent; }
#app:has(.matrix-account-table) .matrix-module-tabs button:hover::after { background: #aabcf1; }
#app:has(.matrix-account-table) .matrix-module-tabs button.active { color: #315bea; background: transparent; font-weight: 850; }
#app:has(.matrix-account-table) .matrix-module-tabs button.active::after { background: #315bea; }

#app:has(.matrix-account-table) .matrix-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.matrix-account-table) .matrix-stat-card { position: relative; min-height: 108px; padding: 15px 16px 13px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.matrix-account-table) .matrix-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(2)::before { background: #1fa6b5; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(3)::before { background: #7653d6; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(4)::before { background: #d76565; }
#app:has(.matrix-account-table) .matrix-stat-card .stat-top { color: #687793; font-size: 12px; }
#app:has(.matrix-account-table) .matrix-stat-card .stat-value { margin-top: 12px; color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.matrix-account-table) .matrix-stat-card .stat-meta { color: #8995aa; font-size: 11px; }
#app:has(.matrix-account-table) .matrix-stat-icon { color: #315bea; background: #eef2ff; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(2) .matrix-stat-icon { color: #168997; background: #e9f8fa; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(3) .matrix-stat-icon { color: #7653d6; background: #f1edff; }
#app:has(.matrix-account-table) .matrix-stat-card:nth-child(4) .matrix-stat-icon { color: #b24e4e; background: #fff0f0; }

#app:has(.matrix-account-table) .matrix-account-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.matrix-account-table) .matrix-panel-header { min-height: 78px; padding: 0 18px; border-bottom-color: #edf0f6; }
#app:has(.matrix-account-table) .matrix-panel-header h3 { color: #30415f; font-size: 16px; }
#app:has(.matrix-account-table) .matrix-panel-header p { max-width: 820px; margin-top: 5px; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.matrix-account-table) .matrix-result-count { padding: 6px 10px; border-color: #cbd6f3; color: #315bea; background: #f5f7ff; }
#app:has(.matrix-account-table) .matrix-account-toolbar { align-items: end; gap: 9px; padding: 14px 18px; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.matrix-account-table) .matrix-filter-field > span { color: #687793; }
#app:has(.matrix-account-table) .matrix-filter-field select,
#app:has(.matrix-account-table) .matrix-search-field input { border-color: #d7dfef; color: #405172; background: #fff; }
#app:has(.matrix-account-table) .matrix-filter-field select:focus,
#app:has(.matrix-account-table) .matrix-search-field input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.matrix-account-table) .matrix-filter-field i,
#app:has(.matrix-account-table) .matrix-search-field i { color: #315bea; }
#app:has(.matrix-account-table) .matrix-account-toolbar .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.matrix-account-table) .matrix-account-toolbar .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }

#app:has(.matrix-account-table) .matrix-table-wrap { overflow-x: auto; padding: 0 12px; }
#app:has(.matrix-account-table) .matrix-account-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
#app:has(.matrix-account-table) .matrix-account-table th { height: 46px; padding: 0 8px; border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; font-size: 10px; font-weight: 900; white-space: nowrap; }
#app:has(.matrix-account-table) .matrix-account-table td { padding: 12px 8px; border-bottom-color: #edf0f6; color: #536b99; font-size: 11px; line-height: 1.45; vertical-align: middle; }
#app:has(.matrix-account-table) .matrix-account-table tbody tr:hover { background: #f8faff; }
#app:has(.matrix-account-table) .matrix-account-table tbody tr.is-risk { background: #fffafa; }
#app:has(.matrix-account-table) .matrix-account-table tbody tr.is-cooling { background: #fcfbff; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(1), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(1) { width: 4%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(2), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(2) { width: 10%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(3), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(3) { width: 16%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(4), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(4) { width: 13%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(5), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(5) { width: 7%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(6), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(6) { width: 6%; text-align: right; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(7), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(7) { width: 8%; text-align: right; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(8), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(8) { width: 9%; text-align: center; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(9), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(9) { width: 11%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(10), #app:has(.matrix-account-table) .matrix-account-table td:nth-child(10) { width: 16%; }
#app:has(.matrix-account-table) .matrix-account-table th:nth-child(8) { text-align: center; }
#app:has(.matrix-account-table) .matrix-id-cell,
#app:has(.matrix-account-table) .matrix-cooldown-cell { color: #7f8ca4; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-variant-numeric: tabular-nums; }
#app:has(.matrix-account-table) .matrix-account-platform { display: inline-flex; max-width: 100%; align-items: center; min-height: 24px; overflow: hidden; padding: 0 8px; border: 1px solid #d7dfef; border-radius: 7px; color: #405da2; background: #f5f7ff; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.matrix-account-table) .matrix-spec-cell { display: block; overflow-wrap: anywhere; color: #6c7d9b; font-size: 10px; }
#app:has(.matrix-account-table) .matrix-account-name { display: block; overflow: hidden; color: #30415f; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.matrix-account-table) .matrix-group-cell { color: #7b88a0; font-size: 10px; }
#app:has(.matrix-account-table) .matrix-weight { color: #315bea !important; font-size: 13px; font-variant-numeric: tabular-nums; }
#app:has(.matrix-account-table) .matrix-account-table .chip { min-height: 23px; padding: 0 8px; font-size: 9px; }
#app:has(.matrix-account-table) .matrix-account-table .chip-green { color: #16855e; background: #e7f8f1; }
#app:has(.matrix-account-table) .matrix-account-table .chip-purple { color: #7653d6; background: #f1edff; }
#app:has(.matrix-account-table) .matrix-account-table .chip-red { color: #b24e4e; background: #fff0f0; }
#app:has(.matrix-account-table) .matrix-failure-cell { display: inline-flex; align-items: baseline; gap: 4px; color: #7b88a0; font-variant-numeric: tabular-nums; white-space: nowrap; }
#app:has(.matrix-account-table) .matrix-failure-cell strong { color: #536b99; font-size: 11px; }
#app:has(.matrix-account-table) .matrix-failure-cell small { color: #8995aa; font-size: 10px; }
#app:has(.matrix-account-table) .matrix-failure-cell.is-alert strong,
#app:has(.matrix-account-table) .matrix-failure-cell.is-alert small { color: #b24e4e; }
#app:has(.matrix-account-table) .matrix-account-table .matrix-row-actions { flex-wrap: nowrap; gap: 5px; }
#app:has(.matrix-account-table) .matrix-account-table .matrix-row-actions .button { min-width: 43px; min-height: 29px; padding: 0 7px; border-color: #d7dfef; color: #536b99; background: #fff; font-size: 10px; white-space: nowrap; }
#app:has(.matrix-account-table) .matrix-account-table .matrix-row-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-account-table) .matrix-table-footer { min-height: 54px; border-top-color: #edf0f6; color: #8995aa; }
#app:has(.matrix-account-table) .matrix-table-footer .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.matrix-account-table) .matrix-table-footer .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-account-table) .matrix-form-panel,
#app:has(.matrix-account-table) .matrix-detail-panel { border-color: #dce3f2; border-top: 3px solid #315bea; background: #fff; }
#app:has(.matrix-account-table) .matrix-form-panel h3,
#app:has(.matrix-account-table) .matrix-detail-panel h3 { color: #30415f; }
#app:has(.matrix-account-table) .matrix-form-panel p,
#app:has(.matrix-account-table) .matrix-detail-panel p { color: #71809b; }
#app:has(.matrix-account-table) .matrix-form-grid input,
#app:has(.matrix-account-table) .matrix-form-grid select,
#app:has(.matrix-account-table) .matrix-detail-grid input { border-color: #d7dfef; color: #405172; }
#app:has(.matrix-account-table) .matrix-form-grid input:focus,
#app:has(.matrix-account-table) .matrix-form-grid select:focus,
#app:has(.matrix-account-table) .matrix-detail-grid input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }

@media (max-width: 900px) {
  #app:has(.matrix-account-table) .matrix-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.matrix-account-table) .matrix-account-toolbar { align-items: stretch; flex-wrap: wrap; }
  #app:has(.matrix-account-table) .matrix-account-toolbar .matrix-filter-field { flex: 0 0 160px; }
  #app:has(.matrix-account-table) .matrix-account-toolbar .matrix-search-field { min-width: 220px; }
}

@media (max-width: 620px) {
  #app:has(.matrix-account-table) .matrix-stat-grid { grid-template-columns: 1fr; }
  #app:has(.matrix-account-table) .matrix-module-tabs { gap: 18px; }
  #app:has(.matrix-account-table) .matrix-account-toolbar { flex-direction: column; }
  #app:has(.matrix-account-table) .matrix-account-toolbar .matrix-filter-field,
  #app:has(.matrix-account-table) .matrix-account-toolbar .matrix-search-field { flex-basis: auto; width: 100%; min-width: 0; }
  #app:has(.matrix-account-table) .matrix-table-wrap { padding: 0 8px; }
  #app:has(.matrix-account-table) .matrix-account-table { min-width: 1040px; }
}

/* 分组策略：让平台覆盖、汇总数字和操作动作各自拥有明确的阅读层级。 */
#app:has(.matrix-group-table) .matrix-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#app:has(.matrix-group-table) .matrix-module-tabs { display: flex; gap: 24px; margin: 0; padding: 0 8px; overflow-x: auto; border-bottom: 1px solid #dce3f2; scrollbar-width: none; }
#app:has(.matrix-group-table) .matrix-module-tabs::-webkit-scrollbar { width: 0; height: 0; }
#app:has(.matrix-group-table) .matrix-module-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 48px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 12px; font-weight: 700; }
#app:has(.matrix-group-table) .matrix-module-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app:has(.matrix-group-table) .matrix-module-tabs button:hover { color: #315bea; background: transparent; }
#app:has(.matrix-group-table) .matrix-module-tabs button:hover::after { background: #aabcf1; }
#app:has(.matrix-group-table) .matrix-module-tabs button.active { color: #315bea; background: transparent; font-weight: 850; }
#app:has(.matrix-group-table) .matrix-module-tabs button.active::after { background: #315bea; }

#app:has(.matrix-group-table) .matrix-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.matrix-group-table) .matrix-stat-card { position: relative; min-height: 108px; padding: 15px 16px 13px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.matrix-group-table) .matrix-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(2)::before { background: #1fa6b5; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(3)::before { background: #7653d6; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(4)::before { background: #d29b42; }
#app:has(.matrix-group-table) .matrix-stat-card .stat-top { color: #687793; font-size: 12px; }
#app:has(.matrix-group-table) .matrix-stat-card .stat-value { margin-top: 12px; color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.matrix-group-table) .matrix-stat-card .stat-meta { color: #8995aa; font-size: 11px; }
#app:has(.matrix-group-table) .matrix-stat-icon { color: #315bea; background: #eef2ff; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(2) .matrix-stat-icon { color: #168997; background: #e9f8fa; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(3) .matrix-stat-icon { color: #7653d6; background: #f1edff; }
#app:has(.matrix-group-table) .matrix-stat-card:nth-child(4) .matrix-stat-icon { color: #b27b28; background: #fff5e3; }

#app:has(.matrix-group-table) .matrix-group-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.matrix-group-table) .matrix-panel-header { min-height: 78px; padding: 0 18px; border-bottom-color: #edf0f6; }
#app:has(.matrix-group-table) .matrix-panel-header h3 { color: #30415f; font-size: 16px; }
#app:has(.matrix-group-table) .matrix-panel-header p { max-width: 820px; margin-top: 5px; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.matrix-group-table) .matrix-result-count { padding: 6px 10px; border-color: #cbd6f3; color: #315bea; background: #f5f7ff; }
#app:has(.matrix-group-table) .matrix-table-wrap { overflow-x: auto; padding: 0 12px; }
#app:has(.matrix-group-table) .matrix-group-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
#app:has(.matrix-group-table) .matrix-group-table th { height: 46px; padding: 0 8px; border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; font-size: 10px; font-weight: 900; white-space: nowrap; }
#app:has(.matrix-group-table) .matrix-group-table td { padding: 12px 8px; border-bottom-color: #edf0f6; color: #536b99; font-size: 11px; line-height: 1.45; vertical-align: middle; }
#app:has(.matrix-group-table) .matrix-group-table tbody tr:hover { background: #f8faff; }
#app:has(.matrix-group-table) .matrix-group-table tbody tr.is-expanded { background: #f8faff; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(1), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(1) { width: 13%; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(2), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(2) { width: 7%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(3), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(3) { width: 20%; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(4), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(4) { width: 8%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(5), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(5) { width: 8%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(6), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(6) { width: 8%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(7), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(7) { width: 7%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(8), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(8) { width: 8%; text-align: right; }
#app:has(.matrix-group-table) .matrix-group-table th:nth-child(9), #app:has(.matrix-group-table) .matrix-group-table td:nth-child(9) { width: 21%; }
#app:has(.matrix-group-table) .matrix-group-name { display: inline-flex; max-width: 100%; align-items: center; min-height: 26px; overflow: hidden; padding: 0 8px; border: 1px solid #d7dfef; border-radius: 7px; color: #405da2; background: #f5f7ff; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.matrix-group-table) .matrix-group-number { color: #536b99; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-variant-numeric: tabular-nums; }
#app:has(.matrix-group-table) .matrix-platform-list { display: flex; max-height: 78px; flex-wrap: wrap; gap: 4px; overflow-y: auto; padding: 1px 2px 1px 0; scrollbar-width: thin; }
#app:has(.matrix-group-table) .matrix-platform-list span { display: inline-flex; min-height: 22px; align-items: center; padding: 0 6px; border: 1px solid #dce3f2; border-radius: 6px; color: #536b99; background: #fbfcff; font-size: 9px; white-space: nowrap; }
#app:has(.matrix-group-table) .matrix-platform-list span:nth-child(3n + 1) { color: #405da2; background: #f5f7ff; }
#app:has(.matrix-group-table) .matrix-platform-list span:nth-child(3n + 2) { color: #168997; border-color: #cbe8eb; background: #f1fbfc; }
#app:has(.matrix-group-table) .matrix-platform-list span:nth-child(3n) { color: #7653d6; border-color: #ded6f8; background: #faf8ff; }
#app:has(.matrix-group-table) .matrix-group-actions { flex-wrap: nowrap; gap: 6px; }
#app:has(.matrix-group-table) .matrix-group-actions .button { min-width: 70px; min-height: 31px; padding: 0 8px; border-color: #d7dfef; color: #536b99; background: #fff; font-size: 10px; white-space: nowrap; }
#app:has(.matrix-group-table) .matrix-group-actions .button-secondary { border-color: #aabcf1; color: #315bea; background: #f5f7ff; }
#app:has(.matrix-group-table) .matrix-group-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-group-table) .matrix-detail-row td { padding: 8px 7px 14px; background: #f8faff; }
#app:has(.matrix-group-table) .matrix-inline-detail { gap: 9px; padding: 13px 14px; border-color: #dce3f2; border-left: 3px solid #315bea; border-radius: 9px; background: #fff; }
#app:has(.matrix-group-table) .matrix-inline-detail strong { color: #30415f; font-size: 12px; }
#app:has(.matrix-group-table) .matrix-inline-detail > span { color: #71809b; font-size: 11px; }
#app:has(.matrix-group-table) .matrix-detail-platform { border-color: #dce3f2; color: #536b99; background: #fbfcff; }
#app:has(.matrix-group-table) .matrix-table-footer { min-height: 54px; border-top-color: #edf0f6; color: #8995aa; }
#app:has(.matrix-group-table) .matrix-table-footer .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.matrix-group-table) .matrix-table-footer .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-group-table) .matrix-form-panel,
#app:has(.matrix-group-table) .matrix-detail-panel { border-color: #dce3f2; border-top: 3px solid #315bea; background: #fff; }
#app:has(.matrix-group-table) .matrix-form-panel h3,
#app:has(.matrix-group-table) .matrix-detail-panel h3 { color: #30415f; }
#app:has(.matrix-group-table) .matrix-form-panel p,
#app:has(.matrix-group-table) .matrix-detail-panel p { color: #71809b; }
#app:has(.matrix-group-table) .matrix-form-grid input,
#app:has(.matrix-group-table) .matrix-form-grid select,
#app:has(.matrix-group-table) .matrix-detail-grid input { border-color: #d7dfef; color: #405172; }
#app:has(.matrix-group-table) .matrix-form-grid input:focus,
#app:has(.matrix-group-table) .matrix-form-grid select:focus,
#app:has(.matrix-group-table) .matrix-detail-grid input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }

@media (max-width: 900px) {
  #app:has(.matrix-group-table) .matrix-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  #app:has(.matrix-group-table) .matrix-stat-grid { grid-template-columns: 1fr; }
  #app:has(.matrix-group-table) .matrix-module-tabs { gap: 18px; }
  #app:has(.matrix-group-table) .matrix-group-table { min-width: 1100px; }
}

/* 分发队列：把“筛选已有任务”和“配置新的分发动作”分成两个视觉层。 */
#app:has(.matrix-queue-table) .matrix-tabs-shell { margin: -4px 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#app:has(.matrix-queue-table) .matrix-module-tabs { display: flex; gap: 24px; margin: 0; padding: 0 8px; overflow-x: auto; border-bottom: 1px solid #dce3f2; scrollbar-width: none; }
#app:has(.matrix-queue-table) .matrix-module-tabs::-webkit-scrollbar { width: 0; height: 0; }
#app:has(.matrix-queue-table) .matrix-module-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 48px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 12px; font-weight: 700; }
#app:has(.matrix-queue-table) .matrix-module-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app:has(.matrix-queue-table) .matrix-module-tabs button:hover { color: #315bea; background: transparent; }
#app:has(.matrix-queue-table) .matrix-module-tabs button:hover::after { background: #aabcf1; }
#app:has(.matrix-queue-table) .matrix-module-tabs button.active { color: #315bea; background: transparent; font-weight: 850; }
#app:has(.matrix-queue-table) .matrix-module-tabs button.active::after { background: #315bea; }

#app:has(.matrix-queue-table) .matrix-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.matrix-queue-table) .matrix-stat-card { position: relative; min-height: 108px; padding: 15px 16px 13px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.matrix-queue-table) .matrix-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(2)::before { background: #d29b42; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(3)::before { background: #1fa6b5; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(4)::before { background: #d76565; }
#app:has(.matrix-queue-table) .matrix-stat-card .stat-top { color: #687793; font-size: 12px; }
#app:has(.matrix-queue-table) .matrix-stat-card .stat-value { margin-top: 12px; color: #263a61; font-size: 27px; font-weight: 700; }
#app:has(.matrix-queue-table) .matrix-stat-card .stat-meta { color: #8995aa; font-size: 11px; }
#app:has(.matrix-queue-table) .matrix-stat-icon { color: #315bea; background: #eef2ff; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(2) .matrix-stat-icon { color: #b27b28; background: #fff5e3; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(3) .matrix-stat-icon { color: #168997; background: #e9f8fa; }
#app:has(.matrix-queue-table) .matrix-stat-card:nth-child(4) .matrix-stat-icon { color: #b24e4e; background: #fff0f0; }

#app:has(.matrix-queue-table) .matrix-table-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.matrix-queue-table) .matrix-panel-header { min-height: 78px; padding: 0 18px; border-bottom-color: #edf0f6; }
#app:has(.matrix-queue-table) .matrix-panel-header h3 { color: #30415f; font-size: 16px; }
#app:has(.matrix-queue-table) .matrix-panel-header p { max-width: 820px; margin-top: 5px; color: #71809b; font-size: 11px; line-height: 1.55; }
#app:has(.matrix-queue-table) .matrix-result-count { padding: 6px 10px; border-color: #cbd6f3; color: #315bea; background: #f5f7ff; }
#app:has(.matrix-queue-table) .matrix-queue-toolbar { gap: 14px; padding: 14px 18px 16px; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.matrix-queue-table) .matrix-queue-toolbar .matrix-toolbar-row { align-items: end; gap: 9px; padding-bottom: 13px; border-bottom: 1px solid #e7ebf4; }
#app:has(.matrix-queue-table) .matrix-filter-field > span { color: #687793; }
#app:has(.matrix-queue-table) .matrix-filter-field select,
#app:has(.matrix-queue-table) .matrix-search-field input,
#app:has(.matrix-queue-table) .matrix-draft-control input,
#app:has(.matrix-queue-table) .matrix-number-control input { border-color: #d7dfef; color: #405172; background: #fff; }
#app:has(.matrix-queue-table) .matrix-filter-field select:focus,
#app:has(.matrix-queue-table) .matrix-search-field input:focus,
#app:has(.matrix-queue-table) .matrix-draft-control input:focus,
#app:has(.matrix-queue-table) .matrix-number-control input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.matrix-queue-table) .matrix-filter-field i,
#app:has(.matrix-queue-table) .matrix-search-field i { color: #315bea; }
#app:has(.matrix-queue-table) .matrix-queue-toolbar .matrix-toolbar-row > .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.matrix-queue-table) .matrix-queue-toolbar .matrix-toolbar-row > .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-queue-table) .matrix-dispatch-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; margin-top: 0; padding: 13px 13px 2px; border: 1px solid #dce3f2; border-radius: 11px; background: #f5f7ff; }
#app:has(.matrix-queue-table) .matrix-dispatch-controls::before { flex: 0 0 100%; color: #30415f; content: "分发配置 · 先选择任务，再设置目标平台和执行方式"; font-size: 11px; font-weight: 850; }
#app:has(.matrix-queue-table) .matrix-draft-control input { width: 132px; }
#app:has(.matrix-queue-table) .matrix-check-control,
#app:has(.matrix-queue-table) .matrix-number-control { color: #536b99; }
#app:has(.matrix-queue-table) .matrix-check-control input { accent-color: #315bea; }
#app:has(.matrix-queue-table) .matrix-number-control span { color: #71809b; }
#app:has(.matrix-queue-table) .matrix-selection-count { align-self: center; margin-left: auto; color: #315bea; font-size: 10px; font-weight: 850; }
#app:has(.matrix-queue-table) .matrix-dispatch-controls > .button { min-height: 35px; border-color: #aabcf1; color: #315bea; background: #fff; }
#app:has(.matrix-queue-table) .matrix-dispatch-controls > .button-primary { border-color: #315bea; color: #fff; background: #315bea; box-shadow: 0 5px 12px rgba(49, 91, 234, .16); }
#app:has(.matrix-queue-table) .matrix-dispatch-controls > .button:disabled { border-color: #d7dfef; color: #a8b2c6; background: #f4f6fa; }
#app:has(.matrix-queue-table) .matrix-queue-preview { margin: 0 12px 11px; padding: 13px 15px; border-color: #bdcaef; background: #f5f7ff; }
#app:has(.matrix-queue-table) .matrix-queue-preview strong { color: #30415f; }
#app:has(.matrix-queue-table) .matrix-queue-preview small { color: #71809b; }
#app:has(.matrix-queue-table) .matrix-queue-preview .matrix-section-kicker { color: #315bea; }
#app:has(.matrix-queue-table) .matrix-queue-preview .panel-link { color: #315bea; }

#app:has(.matrix-queue-table) .matrix-table-wrap { overflow-x: auto; padding: 0 12px; }
#app:has(.matrix-queue-table) .matrix-queue-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
#app:has(.matrix-queue-table) .matrix-queue-table th { height: 46px; padding: 0 8px; border-bottom-color: #dce3f2; color: #5d6f97; background: #f5f7ff; font-size: 10px; font-weight: 900; white-space: nowrap; }
#app:has(.matrix-queue-table) .matrix-queue-table td { padding: 12px 8px; border-bottom-color: #edf0f6; color: #536b99; font-size: 11px; line-height: 1.45; vertical-align: middle; }
#app:has(.matrix-queue-table) .matrix-queue-table tbody tr:hover { background: #f8faff; }
#app:has(.matrix-queue-table) .matrix-queue-table tbody tr:has(.chip-red) { background: #fffafa; }
#app:has(.matrix-queue-table) .matrix-queue-table tbody tr:has(.chip-orange) { background: #fffdf8; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(1), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(1) { width: 4%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(2), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(2) { width: 6%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(3), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(3) { width: 16%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(4), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(4) { width: 11%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(5), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(5) { width: 10%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(6), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(6) { width: 25%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(7), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(7) { width: 14%; }
#app:has(.matrix-queue-table) .matrix-queue-table th:nth-child(8), #app:has(.matrix-queue-table) .matrix-queue-table td:nth-child(8) { width: 14%; }
#app:has(.matrix-queue-table) .matrix-queue-id,
#app:has(.matrix-queue-table) .matrix-queue-time { color: #7f8ca4; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-variant-numeric: tabular-nums; }
#app:has(.matrix-queue-table) .matrix-queue-draft-id { color: #30415f; font-size: 12px; font-variant-numeric: tabular-nums; }
#app:has(.matrix-queue-table) .matrix-draft-title { display: -webkit-box; max-height: 2.8em; margin-top: 4px; overflow: hidden; color: #71809b; font-size: 10px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }
#app:has(.matrix-queue-table) .matrix-queue-platform { display: inline-flex; max-width: 100%; align-items: center; min-height: 24px; overflow: hidden; padding: 0 8px; border: 1px solid #d7dfef; border-radius: 7px; color: #405da2; background: #f5f7ff; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.matrix-queue-table) .matrix-queue-table .chip { min-height: 23px; padding: 0 8px; font-size: 9px; white-space: nowrap; }
#app:has(.matrix-queue-table) .matrix-queue-table .chip-green { color: #16855e; background: #e7f8f1; }
#app:has(.matrix-queue-table) .matrix-queue-table .chip-orange { color: #b27b28; background: #fff5e3; }
#app:has(.matrix-queue-table) .matrix-queue-table .chip-red { color: #b24e4e; background: #fff0f0; }
#app:has(.matrix-queue-table) .matrix-queue-table .matrix-link-cell { display: block; max-height: 3.1em; overflow: hidden; color: #6c7d9b; overflow-wrap: anywhere; }
#app:has(.matrix-queue-table) .matrix-queue-table .matrix-link-cell.is-error { color: #b24e4e; font-weight: 650; }
#app:has(.matrix-queue-table) .matrix-queue-actions { flex-wrap: nowrap; gap: 5px; }
#app:has(.matrix-queue-table) .matrix-queue-actions .button { min-width: 47px; min-height: 30px; padding: 0 8px; border-color: #d7dfef; color: #536b99; background: #fff; font-size: 10px; white-space: nowrap; }
#app:has(.matrix-queue-table) .matrix-queue-actions .button-secondary { border-color: #aabcf1; color: #315bea; background: #f5f7ff; }
#app:has(.matrix-queue-table) .matrix-queue-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.matrix-queue-table) .matrix-detail-row td { padding: 8px 7px 14px; background: #f8faff; }
#app:has(.matrix-queue-table) .matrix-inline-detail { gap: 9px; padding: 13px 14px; border-color: #dce3f2; border-left: 3px solid #315bea; border-radius: 9px; background: #fff; }
#app:has(.matrix-queue-table) .matrix-inline-detail strong { color: #30415f; font-size: 12px; }
#app:has(.matrix-queue-table) .matrix-inline-detail > span { color: #71809b; font-size: 11px; }
#app:has(.matrix-queue-table) .matrix-detail-platform { border-color: #dce3f2; color: #536b99; background: #fbfcff; }
#app:has(.matrix-queue-table) .matrix-table-footer { min-height: 54px; border-top-color: #edf0f6; color: #8995aa; }
#app:has(.matrix-queue-table) .matrix-table-footer .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.matrix-queue-table) .matrix-table-footer .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }

@media (max-width: 900px) {
  #app:has(.matrix-queue-table) .matrix-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.matrix-queue-table) .matrix-dispatch-controls::before { flex-basis: 100%; }
}

@media (max-width: 620px) {
  #app:has(.matrix-queue-table) .matrix-stat-grid { grid-template-columns: 1fr; }
  #app:has(.matrix-queue-table) .matrix-module-tabs { gap: 18px; }
  #app:has(.matrix-queue-table) .matrix-queue-toolbar .matrix-toolbar-row { align-items: stretch; }
  #app:has(.matrix-queue-table) .matrix-dispatch-controls { align-items: stretch; flex-direction: column; }
  #app:has(.matrix-queue-table) .matrix-selection-count { margin-left: 0; }
  #app:has(.matrix-queue-table) .matrix-queue-table { min-width: 1080px; }
}

/* 官网数据总览：用“站点状态 → 核心指标 → 基线与动作 → 最近数据”建立单向阅读。 */
#app:has(.website-dashboard-metric-grid) .website-tabs-shell { margin: -4px 0 22px; border-bottom-color: #dce3f2; }
#app:has(.website-dashboard-metric-grid) .website-tab { color: #71809b; }
#app:has(.website-dashboard-metric-grid) .website-tab:hover { color: #315bea; }
#app:has(.website-dashboard-metric-grid) .website-tab:hover::after { background: #aabcf1; }
#app:has(.website-dashboard-metric-grid) .website-tab.active { color: #315bea; }
#app:has(.website-dashboard-metric-grid) .website-tab.active::after { background: #315bea; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity { margin: -5px 0 14px; padding: 10px 13px; border: 1px solid #dce3f2; border-radius: 11px; background: #f8faff; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity-icon { width: 30px; height: 30px; border-color: #cbd6f3; border-radius: 8px; background: #eef2ff; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity-copy { display: grid; gap: 2px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity strong { color: #30415f; font-size: 13px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity-copy small { color: #8995aa; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-identity-badge { border-color: #cbd6f3; color: #536b99; background: #fff; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-metric-grid { gap: 12px; margin-bottom: 16px; }
#app:has(.website-dashboard-metric-grid) .website-metric-card { position: relative; min-height: 116px; padding: 14px 15px 12px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.website-dashboard-metric-grid) .website-metric-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ''; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(2)::before { background: #1fa6b5; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(3)::before { background: #d29b42; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(4)::before { background: #7560d9; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-top { color: #687793; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-value { margin-top: 10px; color: #263a61; font-size: 26px; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-meta { color: #8995aa; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-icon { color: #315bea; background: #eef2ff; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(2) .stat-icon { color: #168997; background: #e9f8fa; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(3) .stat-icon { color: #b27b28; background: #fff5e3; }
#app:has(.website-dashboard-metric-grid) .website-metric-card:nth-child(4) .stat-icon { color: #6451c4; background: #f0edff; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 12px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel { min-width: 0; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel .panel-header { box-sizing: border-box; min-height: 78px; align-items: flex-start; gap: 12px; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel .panel-header h3 { margin: 0; color: #30415f; font-size: 15px; line-height: 1.35; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel .panel-header p { margin-top: 6px; color: #71809b; font-size: 10px; line-height: 1.45; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list { gap: 7px; margin: 0 0 17px; padding: 14px 16px 0; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list > div { min-height: 38px; padding: 8px 10px; border-color: #e1e7f1; border-radius: 8px; background: #fbfcff; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list span { color: #71809b; font-size: 11px; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list strong { color: #405172; font-size: 12px; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list .panel-link { color: #315bea; }
#app:has(.website-dashboard-metric-grid) .website-health { padding: 0 16px 15px; }
#app:has(.website-dashboard-metric-grid) .website-health .health-row { gap: 9px; }
#app:has(.website-dashboard-metric-grid) .website-health .health-row > span { width: 56px; color: #687793; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-health .health-track { background: #e9edf5; }
#app:has(.website-dashboard-metric-grid) .website-health .health-track i.is-green { background: #1fa6b5; }
#app:has(.website-dashboard-metric-grid) .website-health .health-track i.is-blue { background: #315bea; }
#app:has(.website-dashboard-metric-grid) .website-health .health-track i.is-purple { background: #7560d9; }
#app:has(.website-dashboard-metric-grid) .website-health .health-track i.is-orange { background: #d29b42; }
#app:has(.website-dashboard-metric-grid) .website-health .health-row b { color: #536b99; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-action-list { gap: 7px; padding: 14px 16px 15px; }
#app:has(.website-dashboard-metric-grid) .website-action-list > button { grid-template-columns: 30px minmax(0, 1fr) auto 15px; padding: 9px 10px; border-color: #e1e7f1; border-radius: 8px; background: #fbfcff; }
#app:has(.website-dashboard-metric-grid) .website-action-list > button:hover { border-color: #9eb2ef; background: #f5f7ff; }
#app:has(.website-dashboard-metric-grid) .website-action-list > button > span:first-child { color: #315bea; background: #eef2ff; }
#app:has(.website-dashboard-metric-grid) .website-action-list strong { color: #30415f; font-size: 12px; }
#app:has(.website-dashboard-metric-grid) .website-action-list small { color: #8995aa; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-action-list b { color: #315bea; font-size: 16px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid { grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: 12px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid > .panel { min-width: 0; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .panel-header { box-sizing: border-box; min-height: 78px; align-items: flex-start; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .panel-header h3 { margin: 0; color: #30415f; font-size: 14px; line-height: 1.35; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .panel-header p { margin-top: 6px; color: #71809b; font-size: 10px; line-height: 1.45; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-table-wrap { margin: 0 12px; border-color: #dce3f2; border-radius: 8px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table th { color: #5d6f97; background: #f5f7ff; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table td { color: #536b99; font-size: 10px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table tbody tr:hover { background: #f8faff; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table:not(.website-dashboard-leads-table) th:first-child,
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table:not(.website-dashboard-leads-table) td:first-child { width: auto; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table .website-title-cell { display: block; min-width: 0; max-width: none; color: #30415f; font-size: 11px; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-leads-table th:first-child,
#app:has(.website-dashboard-metric-grid) .website-dashboard-leads-table td:first-child { width: 78px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .website-table-footer { padding: 12px 16px 14px; }

@media (max-width: 900px) {
  #app:has(.website-dashboard-metric-grid) .website-dashboard-grid,
  #app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  #app:has(.website-dashboard-metric-grid) .website-dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.website-dashboard-metric-grid) .website-dashboard-identity { align-items: flex-start; flex-direction: column; }
  #app:has(.website-dashboard-metric-grid) .website-dashboard-identity > div:last-child { width: 100%; }
  #app:has(.website-dashboard-metric-grid) .website-dashboard-identity .website-identity-badge { flex: 1; text-align: center; }
}

/* 文章管理：把“统计 → 筛选 → 文章动作 → 批次发布 → 发布预检”做成一条清晰的运营链路。 */
#app:has(.website-article-table) .website-tabs-shell { margin: -4px 0 22px; border-bottom-color: #dce3f2; }
#app:has(.website-article-table) .website-tab { color: #71809b; }
#app:has(.website-article-table) .website-tab:hover { color: #315bea; }
#app:has(.website-article-table) .website-tab:hover::after { background: #aabcf1; }
#app:has(.website-article-table) .website-tab.active { color: #315bea; }
#app:has(.website-article-table) .website-tab.active::after { background: #315bea; }
#app:has(.website-article-table) .website-metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.website-article-table) .website-metric-card { position: relative; min-height: 116px; padding: 14px 15px 12px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.website-article-table) .website-metric-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ''; }
#app:has(.website-article-table) .website-metric-card:nth-child(2)::before { background: #1fa6b5; }
#app:has(.website-article-table) .website-metric-card:nth-child(3)::before { background: #7560d9; }
#app:has(.website-article-table) .website-metric-card:nth-child(4)::before { background: #d29b42; }
#app:has(.website-article-table) .website-metric-card:nth-child(5)::before { background: #c86d67; }
#app:has(.website-article-table) .website-metric-card .stat-top { color: #687793; }
#app:has(.website-article-table) .website-metric-card .stat-value { margin-top: 10px; color: #263a61; font-size: 26px; }
#app:has(.website-article-table) .website-metric-card .stat-meta { color: #8995aa; font-size: 10px; }
#app:has(.website-article-table) .website-metric-card .stat-icon { color: #315bea; background: #eef2ff; }
#app:has(.website-article-table) .website-metric-card:nth-child(2) .stat-icon { color: #168997; background: #e9f8fa; }
#app:has(.website-article-table) .website-metric-card:nth-child(3) .stat-icon { color: #6451c4; background: #f0edff; }
#app:has(.website-article-table) .website-metric-card:nth-child(4) .stat-icon { color: #b27b28; background: #fff5e3; }
#app:has(.website-article-table) .website-metric-card:nth-child(5) .stat-icon { color: #b24e4e; background: #fff0f0; }
#app:has(.website-article-table) .website-table-panel,
#app:has(.website-article-table) .website-batch-panel,
#app:has(.website-article-table) .website-precheck-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-article-table) .website-table-panel > .panel-header,
#app:has(.website-article-table) .website-batch-panel > .panel-header,
#app:has(.website-article-table) .website-precheck-panel > .panel-header { box-sizing: border-box; min-height: 78px; align-items: flex-start; gap: 12px; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-article-table) .website-table-panel > .panel-header h3,
#app:has(.website-article-table) .website-batch-panel > .panel-header h3,
#app:has(.website-article-table) .website-precheck-panel > .panel-header h3 { margin: 0; color: #30415f; font-size: 15px; line-height: 1.35; }
#app:has(.website-article-table) .website-table-panel > .panel-header p,
#app:has(.website-article-table) .website-batch-panel > .panel-header p,
#app:has(.website-article-table) .website-precheck-panel > .panel-header p { margin-top: 6px; color: #71809b; font-size: 10px; line-height: 1.45; }
#app:has(.website-article-table) .website-table-panel > .panel-header > .button { flex: 0 0 auto; border-color: #aabcf1; color: #315bea; background: #f5f7ff; }
#app:has(.website-article-table) .website-table-panel > .panel-header > .button:hover { border-color: #315bea; background: #eef2ff; }
#app:has(.website-article-table) .website-section-note { border: 1px solid #cbd6f3; color: #536b99; background: #f5f7ff; }
#app:has(.website-article-table) .website-toolbar { gap: 9px; padding: 14px 16px 15px; border-top: 0; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.website-article-table) .website-search-field input,
#app:has(.website-article-table) .website-select-control { border-color: #d7dfef; }
#app:has(.website-article-table) .website-search-field input:focus,
#app:has(.website-article-table) .website-select-control select:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.website-article-table) .website-search-field i { color: #315bea; }
#app:has(.website-article-table) .website-select-control > span { color: #687793; }
#app:has(.website-article-table) .website-select-control select { color: #405172; }
#app:has(.website-article-table) .website-toolbar > .button { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.website-article-table) .website-toolbar > .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.website-article-table) .website-table-wrap { margin: 0 12px; border-color: #dce3f2; border-radius: 8px; }
#app:has(.website-article-table) .website-article-table { min-width: 1180px; table-layout: auto; }
#app:has(.website-article-table) .website-article-table th { color: #5d6f97; background: #f5f7ff; font-size: 10px; }
#app:has(.website-article-table) .website-article-table td { padding-top: 12px; padding-bottom: 12px; border-bottom-color: #edf0f6; color: #536b99; font-size: 11px; vertical-align: middle; }
#app:has(.website-article-table) .website-article-table tbody tr:hover { background: #f8faff; }
#app:has(.website-article-table) .website-article-table .website-title-cell { display: -webkit-box; min-width: 250px; max-width: 330px; max-height: 3.1em; color: #30415f; line-height: 1.45; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
#app:has(.website-article-table) .website-article-table .website-slug-cell { color: #71809b; font-size: 10px; }
#app:has(.website-article-table) .website-article-table .website-check-result { color: #16855e; }
#app:has(.website-article-table) .website-article-table .website-check-result.muted { color: #8995aa; }
#app:has(.website-article-table) .website-article-table .chip { min-height: 23px; padding: 0 8px; font-size: 9px; white-space: nowrap; }
#app:has(.website-article-table) .website-article-table .chip-green { color: #16855e; background: #e7f8f1; }
#app:has(.website-article-table) .website-article-table .chip-orange { color: #b27b28; background: #fff5e3; }
#app:has(.website-article-table) .website-article-table .chip-blue { color: #315bea; background: #eef2ff; }
#app:has(.website-article-table) .website-article-table .chip-red { color: #b24e4e; background: #fff0f0; }
#app:has(.website-article-table) .website-article-table th:last-child { background: #f5f7ff; box-shadow: -8px 0 12px -12px rgba(49, 91, 234, .5); }
#app:has(.website-article-table) .website-article-table td:last-child { background: #fff; box-shadow: -8px 0 12px -12px rgba(49, 91, 234, .5); }
#app:has(.website-article-table) .website-row-actions { display: grid; grid-template-columns: repeat(3, minmax(50px, 1fr)); gap: 5px; min-width: 282px; }
#app:has(.website-article-table) .website-row-actions .button { min-width: 0; min-height: 30px; padding: 0 7px; border-color: #d7dfef; color: #536b99; background: #fff; font-size: 10px; white-space: nowrap; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-view],
#app:has(.website-article-table) .website-row-actions .button[data-website-article-edit],
#app:has(.website-article-table) .website-row-actions .button[data-website-article-publish],
#app:has(.website-article-table) .website-row-actions .button[data-website-article-row-schedule],
#app:has(.website-article-table) .website-row-actions .button[data-website-article-delete] { position: relative; overflow: hidden; font-size: 0; text-indent: -9999px; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-view]::after { content: '查看'; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-edit]::after { content: '编辑'; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-publish]::after { content: '发布'; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-row-schedule]::after { content: '排期'; }
#app:has(.website-article-table) .website-row-actions .button[data-website-article-delete]::after { content: '删除'; }
#app:has(.website-article-table) .website-row-actions .button::after { position: absolute; inset: 0; display: grid; place-items: center; color: #536b99; font-size: 10px; line-height: 1; text-indent: 0; }
#app:has(.website-article-table) .website-row-actions .button-primary::after { color: #fff; }
#app:has(.website-article-table) .website-row-actions .button-danger::after { color: #b24e4e; }
#app:has(.website-article-table) .website-row-actions .button:hover { border-color: #8fa7ef; color: #315bea; background: #eef2ff; }
#app:has(.website-article-table) .website-row-actions .button-primary { border-color: #315bea; color: #fff; background: #315bea; box-shadow: 0 4px 10px rgba(49, 91, 234, .14); }
#app:has(.website-article-table) .website-row-actions .button-danger { border-color: #f0cbc9; color: #b24e4e; background: #fffafa; }
#app:has(.website-article-table) .website-table-footer { min-height: 54px; padding: 12px 14px 14px; border-top-color: #edf0f6; color: #8995aa; }
#app:has(.website-article-table) .website-pagination span { color: #536b99; }
#app:has(.website-article-table) .website-batch-panel,
#app:has(.website-article-table) .website-precheck-panel { margin-top: 16px; }
#app:has(.website-article-table) .website-batch-controls { align-items: end; gap: 9px; padding: 14px 16px 0; }
#app:has(.website-article-table) .website-batch-controls .field { width: 150px; }
#app:has(.website-article-table) .website-batch-controls .field > span { color: #687793; font-size: 11px; font-weight: 800; }
#app:has(.website-article-table) .website-batch-controls .field input,
#app:has(.website-article-table) .website-precheck-input input { border-color: #d7dfef; color: #405172; background: #fff; }
#app:has(.website-article-table) .website-batch-controls .field input:focus,
#app:has(.website-article-table) .website-precheck-input input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.website-article-table) .website-batch-controls .button-primary { border-color: #315bea; background: #315bea; box-shadow: 0 5px 12px rgba(49, 91, 234, .15); }
#app:has(.website-article-table) .website-batch-controls .button-secondary,
#app:has(.website-article-table) .website-batch-controls .button-quiet { border-color: #d7dfef; color: #536b99; background: #fff; }
#app:has(.website-article-table) .website-batch-summary,
#app:has(.website-article-table) .website-precheck-input { margin: 14px 16px 15px; border-color: #dce3f2; background: #f8faff; }
#app:has(.website-article-table) .website-batch-summary strong { color: #536b99; }
#app:has(.website-article-table) .website-precheck-input { margin-top: 0; }
#app:has(.website-article-table) .website-precheck-input span { color: #8995aa; font-size: 10px; }

@media (max-width: 1180px) {
  #app:has(.website-article-table) .website-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  #app:has(.website-article-table) .website-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app:has(.website-article-table) .website-table-panel > .panel-header,
  #app:has(.website-article-table) .website-batch-panel > .panel-header,
  #app:has(.website-article-table) .website-precheck-panel > .panel-header { align-items: flex-start; flex-direction: column; }
  #app:has(.website-article-table) .website-table-panel > .panel-header > .button { width: 100%; }
  #app:has(.website-article-table) .website-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.website-article-table) .website-search-field,
  #app:has(.website-article-table) .website-select-control,
  #app:has(.website-article-table) .website-toolbar > .button { width: 100%; min-width: 0; }
  #app:has(.website-article-table) .website-batch-controls { align-items: stretch; flex-direction: column; }
  #app:has(.website-article-table) .website-batch-controls .field { width: 100%; }
}

@media (max-width: 480px) {
  #app:has(.website-article-table) .website-metric-grid { grid-template-columns: 1fr; }
}

/* 文章管理可读性基线：信息密度服从阅读，不用小字堆叠字段。 */
#app:has(.website-article-table) .website-metric-card .stat-top { font-size: 13px; line-height: 1.4; }
#app:has(.website-article-table) .website-metric-card .stat-value { font-size: 29px; line-height: 1.1; }
#app:has(.website-article-table) .website-metric-card .stat-meta { font-size: 12px; line-height: 1.5; }
#app:has(.website-article-table) .website-table-panel > .panel-header h3,
#app:has(.website-article-table) .website-batch-panel > .panel-header h3,
#app:has(.website-article-table) .website-precheck-panel > .panel-header h3 { font-size: 17px; line-height: 1.4; }
#app:has(.website-article-table) .website-table-panel > .panel-header p,
#app:has(.website-article-table) .website-batch-panel > .panel-header p,
#app:has(.website-article-table) .website-precheck-panel > .panel-header p { font-size: 12px; line-height: 1.55; }
#app:has(.website-article-table) .website-section-note { font-size: 12px; line-height: 1.5; }
#app:has(.website-article-table) .website-search-field input { font-size: 13px; }
#app:has(.website-article-table) .website-select-control > span { font-size: 12px; }
#app:has(.website-article-table) .website-select-control select { font-size: 13px; }
#app:has(.website-article-table) .website-toolbar > .button { font-size: 12px; }
#app:has(.website-article-table) .website-article-table th { font-size: 13px; line-height: 1.4; }
#app:has(.website-article-table) .website-article-table td { padding-top: 14px; padding-bottom: 14px; font-size: 13px; line-height: 1.55; }
#app:has(.website-article-table) .website-article-table .website-title-cell { font-size: 14px; line-height: 1.55; }
#app:has(.website-article-table) .website-article-table .website-slug-cell { font-size: 12px; line-height: 1.5; }
#app:has(.website-article-table) .website-article-table .chip { min-height: 27px; font-size: 12px; }
#app:has(.website-article-table) .website-row-actions .button { min-height: 34px; }
#app:has(.website-article-table) .website-row-actions .button::after { font-size: 13px; }
#app:has(.website-article-table) .website-table-footer { font-size: 12px; line-height: 1.5; }
#app:has(.website-article-table) .website-batch-controls .field > span { font-size: 12px; }
#app:has(.website-article-table) .website-batch-controls .field input,
#app:has(.website-article-table) .website-precheck-input input { font-size: 13px; }
#app:has(.website-article-table) .website-batch-controls .button { font-size: 12px; }
#app:has(.website-article-table) .website-batch-summary,
#app:has(.website-article-table) .website-precheck-input { font-size: 12px; line-height: 1.5; }
#app:has(.website-article-table) .website-precheck-input span { font-size: 11px; line-height: 1.5; }

/* 官网数据总览可读性基线：指标、基线、动作和最近数据都保持清晰的字号层级。 */
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity strong { font-size: 14px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-identity-copy small { font-size: 12px; line-height: 1.5; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-top { font-size: 13px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-value { font-size: 29px; line-height: 1.1; }
#app:has(.website-dashboard-metric-grid) .website-metric-card .stat-meta { font-size: 12px; line-height: 1.5; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel .panel-header h3,
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .panel-header h3 { font-size: 17px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-grid > .panel .panel-header p,
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .panel-header p { font-size: 12px; line-height: 1.55; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list span { font-size: 12px; line-height: 1.45; }
#app:has(.website-dashboard-metric-grid) .website-baseline-list strong { font-size: 13px; line-height: 1.45; }
#app:has(.website-dashboard-metric-grid) .website-health .health-row > span { width: 66px; font-size: 12px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-health .health-row b { font-size: 12px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-action-list strong { font-size: 14px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-action-list > button { grid-template-columns: 30px max-content minmax(0, 1fr) 15px; column-gap: 8px; }
#app:has(.website-dashboard-metric-grid) .website-action-list strong { white-space: nowrap; }
#app:has(.website-dashboard-metric-grid) .website-action-list small { min-width: 0; overflow: hidden; color: #8995aa; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
#app:has(.website-dashboard-metric-grid) .website-action-list b { font-size: 18px; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table th { font-size: 13px; line-height: 1.4; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table td { padding-top: 14px; padding-bottom: 14px; font-size: 13px; line-height: 1.5; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-data-table .website-title-cell { font-size: 14px; line-height: 1.5; }
#app:has(.website-dashboard-metric-grid) .website-dashboard-tables-grid .website-table-footer { font-size: 12px; line-height: 1.5; }

/* 官网发布队列可读性与状态层级：规则是配置区，待发列表是执行区，二者用蓝色工作台边界连接。 */
#app:has(.website-rule-panel) .page-heading .eyebrow { color: #315bea; }
#app:has(.website-rule-panel) .page-heading-actions .button-primary { color: #fff; background: #315bea; box-shadow: 0 8px 16px rgba(49, 91, 234, .16); }
#app:has(.website-rule-panel) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #315bea; background: #fff; }
#app:has(.website-rule-panel) .website-tabs-shell { margin: -4px 0 22px; border-bottom-color: #dce3f2; }
#app:has(.website-rule-panel) .website-tab { color: #71809b; }
#app:has(.website-rule-panel) .website-tab:hover { color: #315bea; }
#app:has(.website-rule-panel) .website-tab:hover::after { background: #aabcf1; }
#app:has(.website-rule-panel) .website-tab.active { color: #315bea; }
#app:has(.website-rule-panel) .website-tab.active::after { background: #315bea; }
#app:has(.website-rule-panel) .website-rule-panel,
#app:has(.website-rule-panel) .website-table-panel { border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-rule-panel) .website-rule-panel > .panel-header,
#app:has(.website-rule-panel) .website-table-panel > .panel-header { box-sizing: border-box; min-height: 78px; align-items: flex-start; gap: 12px; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-rule-panel) .website-rule-panel > .panel-header h3,
#app:has(.website-rule-panel) .website-table-panel > .panel-header h3 { margin: 0; color: #30415f; font-size: 17px; line-height: 1.4; }
#app:has(.website-rule-panel) .website-rule-panel > .panel-header p,
#app:has(.website-rule-panel) .website-table-panel > .panel-header p { margin-top: 6px; color: #71809b; font-size: 12px; line-height: 1.55; }
#app:has(.website-rule-panel) .website-section-note { border: 1px solid #cbd6f3; color: #315bea; background: #f5f7ff; font-size: 12px; }
#app:has(.website-rule-panel) .website-rule-grid { gap: 12px; padding: 0 16px 16px; }
#app:has(.website-rule-panel) .website-rule-grid .field > span { color: #687793; font-size: 13px; line-height: 1.4; }
#app:has(.website-rule-panel) .website-rule-grid .field input { border-color: #d7dfef; font-size: 14px; }
#app:has(.website-rule-panel) .website-rule-grid .field small { color: #8995aa; font-size: 12px; }
#app:has(.website-rule-panel) .website-inline-check { color: #536b99; font-size: 13px; }
#app:has(.website-rule-panel) .website-inline-check input { accent-color: #315bea; }
#app:has(.website-rule-panel) .website-rule-grid > .button,
#app:has(.website-rule-panel) .website-panel-actions .button { min-height: 34px; font-size: 12px; }
#app:has(.website-rule-panel) .website-panel-actions .button-primary { border-color: #315bea; background: #315bea; }
#app:has(.website-rule-panel) .website-panel-actions .button-danger { border-color: #f0cbc9; color: #b24e4e; background: #fffafa; }
#app:has(.website-rule-panel) .website-toolbar { gap: 9px; padding: 14px 16px 15px; border-top: 0; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.website-rule-panel) .website-search-field input { border-color: #d7dfef; font-size: 13px; }
#app:has(.website-rule-panel) .website-select-control { border-color: #d7dfef; }
#app:has(.website-rule-panel) .website-select-control > span { font-size: 12px; }
#app:has(.website-rule-panel) .website-select-control select { font-size: 13px; }
#app:has(.website-rule-panel) .website-toolbar > .button { min-height: 34px; font-size: 12px; }
#app:has(.website-rule-panel) .website-table-wrap { margin: 0 12px; border-color: #dce3f2; border-radius: 8px; scrollbar-color: #bdcaef transparent; }
#app:has(.website-rule-panel) .website-queue-table { min-width: 1080px; }
#app:has(.website-rule-panel) .website-queue-table th { color: #5d6f97; background: #f5f7ff; font-size: 13px; line-height: 1.4; }
#app:has(.website-rule-panel) .website-queue-table td { padding-top: 14px; padding-bottom: 14px; border-bottom-color: #edf0f6; color: #536b99; font-size: 13px; line-height: 1.55; }
#app:has(.website-rule-panel) .website-queue-table .website-title-cell { color: #30415f; font-size: 14px; line-height: 1.55; }
#app:has(.website-rule-panel) .website-queue-table .website-slug-cell { color: #71809b; font-size: 12px; line-height: 1.5; }
#app:has(.website-rule-panel) .website-queue-table .chip { min-height: 27px; font-size: 12px; }
#app:has(.website-rule-panel) .website-row-actions .button { min-height: 34px; font-size: 12px; }
#app:has(.website-rule-panel) .website-detail-row td { background: #f5f7ff; }
#app:has(.website-rule-panel) .website-inline-detail { margin: 0 10px 12px 48px; padding: 14px 16px; border-left-color: #315bea; border-radius: 0 8px 8px 0; background: #eef2ff; }
#app:has(.website-rule-panel) .website-inline-detail strong { color: #30415f; font-size: 14px; }
#app:has(.website-rule-panel) .website-inline-detail > span { color: #536b99; font-size: 13px; line-height: 1.55; }
#app:has(.website-rule-panel) .website-inline-detail > div { color: #71809b; font-size: 12px; line-height: 1.5; }
#app:has(.website-rule-panel) .website-table-footer { padding: 13px 14px 14px; border-top-color: #edf0f6; color: #8995aa; font-size: 12px; line-height: 1.5; }

/* 官网表单咨询：先看线索总览，再筛选和跟进；宽字段保留，但不牺牲字号与操作可达性。 */
#app:has(.website-leads-table) .page-heading .eyebrow { color: #315bea; }
#app:has(.website-leads-table) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #315bea; background: #fff; }
#app:has(.website-leads-table) .website-tabs-shell { margin: -4px 0 22px; border-bottom-color: #dce3f2; }
#app:has(.website-leads-table) .website-tab { color: #71809b; }
#app:has(.website-leads-table) .website-tab:hover { color: #315bea; }
#app:has(.website-leads-table) .website-tab:hover::after { background: #aabcf1; }
#app:has(.website-leads-table) .website-tab.active { color: #315bea; }
#app:has(.website-leads-table) .website-tab.active::after { background: #315bea; }
#app:has(.website-leads-table) .website-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
#app:has(.website-leads-table) .website-metric-card { position: relative; min-height: 116px; padding: 14px 15px 12px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
#app:has(.website-leads-table) .website-metric-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ''; }
#app:has(.website-leads-table) .website-metric-card:nth-child(2)::before { background: #d29b42; }
#app:has(.website-leads-table) .website-metric-card:nth-child(3)::before { background: #7653d6; }
#app:has(.website-leads-table) .website-metric-card:nth-child(4)::before { background: #1fa6b5; }
#app:has(.website-leads-table) .website-metric-card .stat-top { color: #687793; font-size: 13px; line-height: 1.4; }
#app:has(.website-leads-table) .website-metric-card .stat-value { margin-top: 10px; color: #263a61; font-size: 29px; line-height: 1.1; }
#app:has(.website-leads-table) .website-metric-card .stat-meta { color: #8995aa; font-size: 12px; line-height: 1.5; }
#app:has(.website-leads-table) .website-table-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-leads-table) .website-table-panel > .panel-header { box-sizing: border-box; min-height: 78px; align-items: flex-start; gap: 12px; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-leads-table) .website-table-panel > .panel-header h3 { margin: 0; color: #30415f; font-size: 17px; line-height: 1.4; }
#app:has(.website-leads-table) .website-table-panel > .panel-header p { margin-top: 6px; color: #71809b; font-size: 12px; line-height: 1.55; }
#app:has(.website-leads-table) .website-section-note { border: 1px solid #cbd6f3; color: #315bea; background: #f5f7ff; font-size: 12px; }
#app:has(.website-leads-table) .website-toolbar { gap: 9px; padding: 14px 16px 15px; border-top: 0; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.website-leads-table) .website-search-field input { border-color: #d7dfef; font-size: 13px; }
#app:has(.website-leads-table) .website-select-control { border-color: #d7dfef; }
#app:has(.website-leads-table) .website-select-control > span { font-size: 12px; }
#app:has(.website-leads-table) .website-select-control select { font-size: 13px; }
#app:has(.website-leads-table) .website-toolbar > .button { min-height: 34px; font-size: 12px; }
#app:has(.website-leads-table) .website-lead-tip { margin: 12px 16px; padding: 10px 12px; border: 1px solid #cbd6f3; border-left: 3px solid #315bea; border-radius: 8px; color: #536b99; background: #f5f7ff; font-size: 13px; line-height: 1.5; }
#app:has(.website-leads-table) .website-table-wrap { margin: 0 12px; border-color: #dce3f2; border-radius: 8px; scrollbar-color: #bdcaef transparent; }
#app:has(.website-leads-table) .website-leads-table { min-width: 1560px; }
#app:has(.website-leads-table) .website-leads-table th { color: #5d6f97; background: #f5f7ff; font-size: 13px; line-height: 1.4; }
#app:has(.website-leads-table) .website-leads-table td { padding-top: 14px; padding-bottom: 14px; border-bottom-color: #edf0f6; color: #536b99; font-size: 13px; line-height: 1.55; }
#app:has(.website-leads-table) .website-leads-table td strong { color: #30415f; font-size: 14px; }
#app:has(.website-leads-table) .website-lead-type { color: #30415f; font-size: 13px; }
#app:has(.website-leads-table) .website-lead-description { max-width: 300px; color: #536b99; font-size: 13px; line-height: 1.55; }
#app:has(.website-leads-table) .website-lead-source { max-width: 230px; color: #71809b; font-size: 12px; }
#app:has(.website-leads-table) .website-leads-table .chip { min-height: 27px; font-size: 12px; }
#app:has(.website-leads-table) .website-lead-action-select { min-height: 36px; border-color: #d7dfef; color: #405172; background: #fff; font-size: 13px; }
#app:has(.website-leads-table) .website-note-display { min-height: 36px; color: #536b99; font-size: 13px; line-height: 1.5; }
#app:has(.website-leads-table) .website-note-display:hover { border-color: #aabcf1; background: #f5f7ff; }
#app:has(.website-leads-table) .website-note-display.is-placeholder { color: #8995aa; }
#app:has(.website-leads-table) .website-note-textarea { min-height: 36px; border-color: #8b9fe8; color: #405172; font-size: 13px; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.website-leads-table) .website-leads-table td:nth-child(13),
#app:has(.website-leads-table) .website-leads-table th:nth-child(13) { background: #fbfcff; box-shadow: -8px 0 12px -12px rgba(49, 91, 234, .5); }
#app:has(.website-leads-table) .website-leads-table td:nth-child(15),
#app:has(.website-leads-table) .website-leads-table th:nth-child(15) { background: #fff; box-shadow: -8px 0 12px -12px rgba(49, 91, 234, .5); }
#app:has(.website-leads-table) .website-table-footer { padding: 13px 14px 14px; border-top-color: #edf0f6; color: #8995aa; font-size: 12px; line-height: 1.5; }
#app:has(.website-leads-table) .website-pagination .button { font-size: 12px; }
#app:has(.website-leads-table) .website-lead-modal { border-color: #cbd6f3; box-shadow: 0 24px 60px rgba(44, 66, 119, .22); }
#app:has(.website-leads-table) .website-lead-modal .eyebrow { color: #315bea; }
#app:has(.website-leads-table) .website-lead-detail-grid > div,
#app:has(.website-leads-table) .website-lead-message { border-color: #dce3f2; background: #f8faff; }
#app:has(.website-leads-table) .website-lead-detail-grid span,
#app:has(.website-leads-table) .website-lead-message > span { font-size: 12px; }
#app:has(.website-leads-table) .website-lead-detail-grid strong { font-size: 13px; }
#app:has(.website-leads-table) .website-lead-message p { font-size: 14px; line-height: 1.8; }

@media (max-width: 1180px) {
  #app:has(.website-leads-table) .website-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  #app:has(.website-leads-table) .website-metric-grid { grid-template-columns: 1fr; }
}

/* 官网表单咨询交互修正：滚动条始终占位，宽表不使用覆盖式冻结列。 */
#app:has(.website-leads-table) .website-table-wrap {
  overflow-x: auto;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #bdcaef #f5f7ff;
}
#app:has(.website-leads-table) .website-table-wrap::-webkit-scrollbar { height: 8px; }
#app:has(.website-leads-table) .website-table-wrap::-webkit-scrollbar-track { border-radius: 999px; background: #f5f7ff; }
#app:has(.website-leads-table) .website-table-wrap::-webkit-scrollbar-thumb { border: 2px solid #f5f7ff; border-radius: 999px; background: #bdcaef; }
#app:has(.website-leads-table) .website-table-wrap:hover::-webkit-scrollbar { height: 8px; }
#app:has(.website-leads-table) .website-leads-table { table-layout: fixed; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(1),
#app:has(.website-leads-table) .website-leads-table td:nth-child(1) { width: 44px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(2),
#app:has(.website-leads-table) .website-leads-table td:nth-child(2) { width: 84px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(3),
#app:has(.website-leads-table) .website-leads-table td:nth-child(3) { width: 110px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(4),
#app:has(.website-leads-table) .website-leads-table td:nth-child(4) { width: 80px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(5),
#app:has(.website-leads-table) .website-leads-table td:nth-child(5) { width: 300px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(6),
#app:has(.website-leads-table) .website-leads-table td:nth-child(6) { width: 210px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(7),
#app:has(.website-leads-table) .website-leads-table td:nth-child(7) { width: 160px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(8),
#app:has(.website-leads-table) .website-leads-table td:nth-child(8) { width: 72px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(9),
#app:has(.website-leads-table) .website-leads-table td:nth-child(9) { width: 72px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(10),
#app:has(.website-leads-table) .website-leads-table td:nth-child(10) { width: 120px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(11),
#app:has(.website-leads-table) .website-leads-table td:nth-child(11) { width: 100px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(12),
#app:has(.website-leads-table) .website-leads-table td:nth-child(12) { width: 100px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(13),
#app:has(.website-leads-table) .website-leads-table td:nth-child(13) { width: 200px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(14),
#app:has(.website-leads-table) .website-leads-table td:nth-child(14) { width: 150px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(15),
#app:has(.website-leads-table) .website-leads-table td:nth-child(15) { width: 108px; }
#app:has(.website-leads-table) .website-leads-table th:nth-child(13),
#app:has(.website-leads-table) .website-leads-table td:nth-child(13),
#app:has(.website-leads-table) .website-leads-table th:nth-child(15),
#app:has(.website-leads-table) .website-leads-table td:nth-child(15) {
  position: static;
  right: auto;
  z-index: auto;
  box-shadow: none;
}
#app:has(.website-leads-table) .website-leads-table th:nth-child(13) { background: #f5f7ff; }
#app:has(.website-leads-table) .website-leads-table td:nth-child(13),
#app:has(.website-leads-table) .website-leads-table td:nth-child(15) { background: transparent; }
#app:has(.website-leads-table) .website-note-display,
#app:has(.website-leads-table) .website-note-textarea { box-sizing: border-box; width: 100%; max-width: 100%; }

/* 官网诊断：蓝色组织信息层级，语义色只表达检查结果。 */
#app:has(.website-diagnosis-panel) .page-heading .eyebrow { color: #315bea; }
#app:has(.website-diagnosis-panel) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #315bea; background: #fff; }
#app:has(.website-diagnosis-panel) .page-heading-actions .button-secondary:hover { border-color: #8fa7ef; background: #eef2ff; }
#app:has(.website-diagnosis-panel) .website-tabs-shell { margin: -4px 0 22px; border-bottom-color: #dce3f2; }
#app:has(.website-diagnosis-panel) .website-tab { color: #71809b; }
#app:has(.website-diagnosis-panel) .website-tab:hover { color: #315bea; }
#app:has(.website-diagnosis-panel) .website-tab:hover::after { background: #aabcf1; }
#app:has(.website-diagnosis-panel) .website-tab.active { color: #315bea; }
#app:has(.website-diagnosis-panel) .website-tab.active::after { background: #315bea; }
#app:has(.website-diagnosis-panel) .website-diagnosis-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-diagnosis-panel) .website-diagnosis-toolbar { gap: 14px; padding: 16px 16px 17px; border-bottom-color: #edf0f6; background: #fbfcff; }
#app:has(.website-diagnosis-panel) .website-domain-field { gap: 7px; color: #536b99; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-domain-field input { box-sizing: border-box; min-height: 44px; border-color: #d7dfef; color: #30415f; background: #fff; font-size: 14px; }
#app:has(.website-diagnosis-panel) .website-domain-field input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app:has(.website-diagnosis-panel) .website-diagnosis-status { min-height: 44px; border-color: #f1d9ad; border-radius: 9px; color: #9a681f; background: #fff9ed; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-status.ready { border-color: #bfe0c9; color: #2b7850; background: #f1faf3; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview { gap: 12px; padding: 17px 16px 0; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview article { position: relative; min-height: 102px; gap: 9px; padding: 16px 17px 14px; overflow: hidden; border-color: #dce3f2; border-radius: 11px; background: #fff; box-shadow: 0 5px 15px rgba(44, 66, 119, .04); }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview article::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ''; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview article:nth-child(2)::before { background: #1fa6b5; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview article:nth-child(3)::before { background: #d29b42; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview article:nth-child(4)::before { background: #7653d6; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview span { color: #687793; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview strong { color: #263a61; font-size: 30px; line-height: 1.05; }
#app:has(.website-diagnosis-panel) .website-diagnosis-overview strong small { color: #8995aa; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-filter-bar { margin: 17px 16px 0; padding: 8px 10px; border-color: #dce3f2; border-radius: 9px; background: #f8faff; }
#app:has(.website-diagnosis-panel) .website-diagnosis-filter-pills { gap: 5px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-filter-pill { min-height: 34px; padding: 0 14px; border-color: transparent; color: #71809b; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-filter-pill:hover { color: #315bea; background: #eef2ff; }
#app:has(.website-diagnosis-panel) .website-diagnosis-filter-pill.active { border-color: #bdcaef; color: #315bea; background: #eef2ff; box-shadow: inset 3px 0 #315bea; }
#app:has(.website-diagnosis-panel) .website-diagnosis-pending-toggle { color: #536b99; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-pending-toggle input { accent-color: #315bea; }
#app:has(.website-diagnosis-panel) .website-diagnosis-pending-toggle small { color: #8995aa; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-suggestion { margin: 12px 16px 0; padding: 11px 13px; border-color: #d8e0f5; border-left: 3px solid #d29b42; border-radius: 9px; color: #536b99; background: #fffaf0; }
#app:has(.website-diagnosis-panel) .website-diagnosis-suggestion strong { color: #30415f; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-suggestion p { color: #71809b; font-size: 12px; line-height: 1.6; }
#app:has(.website-diagnosis-panel) .website-check-grid { gap: 12px; padding: 16px; }
#app:has(.website-diagnosis-panel) .website-check-item { min-height: 168px; box-sizing: border-box; gap: 10px; padding: 15px; border-color: #dce3f2; border-radius: 11px; background: #fff; box-shadow: 0 4px 12px rgba(44, 66, 119, .035); }
#app:has(.website-diagnosis-panel) .website-check-item:hover { border-color: #bdcaef; background: #fbfcff; }
#app:has(.website-diagnosis-panel) .website-check-item strong { color: #30415f; font-size: 14px; line-height: 1.4; }
#app:has(.website-diagnosis-panel) .website-check-item p { min-height: 42px; color: #536b99; font-size: 13px; line-height: 1.65; }
#app:has(.website-diagnosis-panel) .website-check-item > small { color: #8995aa; font-size: 12px; line-height: 1.55; }
#app:has(.website-diagnosis-panel) .website-check-icon { width: 30px; height: 30px; border-radius: 9px; font-size: 14px; }
#app:has(.website-diagnosis-panel) .website-check-category { padding: 3px 7px; font-size: 11px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-footer-grid { gap: 16px; margin-top: 16px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-footer-grid > .panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
#app:has(.website-diagnosis-panel) .website-diagnosis-footer-grid .panel-header { min-height: 76px; box-sizing: border-box; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
#app:has(.website-diagnosis-panel) .website-diagnosis-footer-grid .panel-header h3 { color: #30415f; font-size: 17px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-footer-grid .panel-header p { margin-top: 6px; color: #71809b; font-size: 12px; line-height: 1.55; }
#app:has(.website-diagnosis-panel) .website-history-table-wrap { margin: 0 12px; border: 1px solid #dce3f2; border-radius: 8px; scrollbar-width: thin; scrollbar-color: #bdcaef #f5f7ff; }
#app:has(.website-diagnosis-panel) .website-history-table-wrap::-webkit-scrollbar { height: 8px; }
#app:has(.website-diagnosis-panel) .website-history-table { min-width: 460px; }
#app:has(.website-diagnosis-panel) .website-history-table th { padding: 11px 12px; color: #5d6f97; background: #f5f7ff; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-history-table td { padding: 12px; border-bottom-color: #edf0f6; color: #536b99; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-history-table td:first-child { color: #30415f; }
#app:has(.website-diagnosis-panel) .website-history-refresh-time { margin: 10px 14px 14px; color: #8995aa; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-history-empty { margin: 0 12px 12px; min-height: 82px; border-color: #cbd6f3; background: #f8faff; }
#app:has(.website-diagnosis-panel) .website-history-empty strong { color: #30415f; font-size: 22px; }
#app:has(.website-diagnosis-panel) .website-history-empty span { color: #71809b; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-next-actions { padding: 0 12px 12px; }
#app:has(.website-diagnosis-panel) .website-next-actions button { border-color: #dce3f2; color: #536b99; background: #fbfcff; }
#app:has(.website-diagnosis-panel) .website-next-actions button:hover { border-color: #bdcaef; background: #f5f7ff; }
#app:has(.website-diagnosis-panel) .website-next-actions span { color: #315bea; background: #eef2ff; }
#app:has(.website-diagnosis-panel) .website-next-actions strong { color: #30415f; font-size: 13px; }
#app:has(.website-diagnosis-panel) .website-next-actions small { color: #8995aa; font-size: 12px; }
#app:has(.website-diagnosis-panel) .website-next-actions button::after { color: #315bea; }
#app:has(.website-diagnosis-panel) .website-diagnosis-empty { min-height: 238px; padding-right: 32px; padding-left: 32px; }
#app:has(.website-diagnosis-panel) .website-diagnosis-empty p { max-width: 680px; color: #71809b; font-size: 13px; line-height: 1.7; }
#app:has(.website-diagnosis-panel) .website-diagnosis-empty strong { color: #30415f; font-size: 15px; }

@media (max-width: 820px) {
  #app:has(.website-diagnosis-panel) .website-diagnosis-toolbar { align-items: stretch; flex-direction: column; }
  #app:has(.website-diagnosis-panel) .website-domain-field { flex-basis: auto; }
  #app:has(.website-diagnosis-panel) .website-diagnosis-status { justify-content: center; }
}

/* 子账号与权限：成员管理和角色权限共用同一套蓝色工作台基线。 */
.app-shell:has(.team-member-panel, .team-role-panel) .page-heading .eyebrow { color: #315bea; }
.app-shell:has(.team-member-panel, .team-role-panel) .page-heading-actions .button-secondary { border-color: #d7dfef; color: #315bea; background: #fff; }
.app-shell:has(.team-member-panel, .team-role-panel) .page-heading-actions .button-secondary:hover { border-color: #8fa7ef; background: #eef2ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .page-heading-actions .button-primary { background: #315bea; box-shadow: 0 8px 18px rgba(49, 91, 234, .18); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-summary-layout { gap: 16px; margin-bottom: 16px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-identity-card,
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card { min-height: 92px; box-sizing: border-box; padding: 16px 18px; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card { border-top-color: #7653d6; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-identity-mark { width: 44px; height: 44px; flex-basis: 44px; border-radius: 12px; background: #315bea; font-size: 18px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-identity-card span,
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card > div > span,
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card > small { color: #71809b; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-identity-card strong { color: #30415f; font-size: 17px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-identity-card small { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card strong { color: #263a61; font-size: 24px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-card strong small { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-track { height: 8px; background: #e8edf6; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-seat-track i { background: #315bea; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-grid { gap: 12px; margin-bottom: 17px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card { position: relative; min-height: 116px; box-sizing: border-box; padding: 15px 16px 13px; overflow: hidden; border-color: #dce3f2; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(44, 66, 119, .05); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ''; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card:nth-child(2)::before { background: #1fa6b5; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card:nth-child(3)::before { background: #d29b42; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card:nth-child(4)::before { background: #8995aa; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card .stat-top { color: #687793; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card .stat-value { margin-top: 10px; color: #263a61; font-size: 30px; line-height: 1.05; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card .stat-meta { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card .stat-icon { color: #315bea; background: #eef2ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card.team-stat-green .stat-icon { color: #258361; background: #e6f6ee; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card.team-stat-orange .stat-icon { color: #a66a1e; background: #fff1dc; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-stat-card.team-stat-gray .stat-icon { color: #67756f; background: #edf1ef; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs { gap: 28px; margin: 0 0 16px; padding: 0 4px; border-bottom-color: #dce3f2; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button { min-height: 48px; padding: 0 5px; border-bottom-width: 3px; color: #71809b; font-size: 14px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button:hover,
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button.active { color: #315bea; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button.active { border-bottom-color: #315bea; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button span { min-width: 22px; height: 22px; color: #71809b; background: #eef2f7; font-size: 11px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button.active span { color: #315bea; background: #eef2ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-toolbar { gap: 9px; margin-bottom: 12px; padding: 11px 12px; border: 1px solid #dce3f2; border-radius: 10px; background: #fbfcff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-search input,
.app-shell:has(.team-member-panel, .team-role-panel) .team-select { min-height: 40px; border-color: #d7dfef; background: #fff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-search input { font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-search input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-select { color: #687793; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-select select { color: #405172; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-batch-bar { min-height: 54px; box-sizing: border-box; margin-bottom: 12px; padding: 10px 13px; border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-batch-bar strong { color: #30415f; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-batch-bar span { color: #71809b; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-batch-bar .button { min-height: 34px; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-panel,
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-panel,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-panel { overflow: hidden; border-color: #dce3f2; border-top: 3px solid #315bea; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(44, 66, 119, .05); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-panel .panel-header,
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-panel .panel-header,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-panel .panel-header { min-height: 78px; box-sizing: border-box; padding: 14px 16px 12px; border-bottom-color: #edf0f6; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-panel .panel-header h2,
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-panel .panel-header h2,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-panel .panel-header h2 { color: #30415f; font-size: 18px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-panel .panel-header p,
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-panel .panel-header p,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-panel .panel-header p { color: #71809b; font-size: 12px; line-height: 1.55; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-result-count { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table-wrap,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-table-wrap { margin: 0 12px; padding: 0; border: 1px solid #dce3f2; border-radius: 8px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bdcaef #f5f7ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table-wrap::-webkit-scrollbar,
.app-shell:has(.team-member-panel, .team-role-panel) .team-permission-table-wrap::-webkit-scrollbar { height: 8px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table { min-width: 1220px; table-layout: fixed; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th,
.app-shell:has(.team-member-panel, .team-role-panel) .team-table td { padding: 13px 11px; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table td { color: #536b99; border-bottom-color: #edf0f6; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table tr:hover td { background: #fbfcff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table tr.is-disabled td { color: #8995aa; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(1), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(1) { width: 48px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(2), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(2) { width: 250px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(3), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(3) { width: 130px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(4), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(4) { width: 130px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(5), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(5) { width: 100px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(6), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(6) { width: 140px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(7), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(7) { width: 140px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table th:nth-child(8), .app-shell:has(.team-member-panel, .team-role-panel) .team-table td:nth-child(8) { width: 350px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-cell { min-width: 220px; gap: 10px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-avatar { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; background: #315bea; font-size: 14px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-cell strong { color: #30415f; font-size: 14px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-member-cell small { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-owner-badge { font-size: 10px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-chip { min-height: 27px; padding: 0 9px; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-row-actions { gap: 6px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-row-actions .button:hover { transform: none; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-owner-note { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-table-footer { padding: 13px 14px 15px; color: #8995aa; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-role-layout { gap: 16px; }
.app-shell:has(.team-role-panel) .team-role-list { gap: 9px; padding: 0 12px 15px; }
.app-shell:has(.team-role-panel) .team-role-card { grid-template-columns: 40px minmax(0, 1fr) auto; min-height: 78px; box-sizing: border-box; padding: 13px; border-color: #dce3f2; border-radius: 10px; background: #fff; }
.app-shell:has(.team-role-panel) .team-role-card:hover,
.app-shell:has(.team-role-panel) .team-role-card.is-active { border-color: #8fa7ef; background: #f5f7ff; box-shadow: inset 3px 0 #315bea; }
.app-shell:has(.team-role-panel) .team-role-card-icon { width: 36px; height: 36px; border-radius: 10px; font-size: 13px; }
.app-shell:has(.team-role-panel) .team-role-card strong { color: #30415f; font-size: 14px; }
.app-shell:has(.team-role-panel) .team-role-card small { color: #71809b; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-role-card em { color: #315bea; font-size: 11px; }
.app-shell:has(.team-role-panel) .team-role-card b { color: #8995aa; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-permission-table { min-width: 680px; table-layout: fixed; }
.app-shell:has(.team-role-panel) .team-permission-table th,
.app-shell:has(.team-role-panel) .team-permission-table td { padding: 13px 12px; font-size: 13px; }
.app-shell:has(.team-role-panel) .team-permission-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-permission-table td { color: #536b99; border-bottom-color: #edf0f6; }
.app-shell:has(.team-role-panel) .team-permission-table td:first-child { width: 52%; }
.app-shell:has(.team-role-panel) .team-permission-table td:first-child strong { color: #30415f; font-size: 14px; }
.app-shell:has(.team-role-panel) .team-permission-table td:first-child small { color: #8995aa; font-size: 12px; line-height: 1.55; }
.app-shell:has(.team-role-panel) .team-permission-group-row th { color: #315bea; background: #f8faff; font-size: 13px; }
.app-shell:has(.team-role-panel) .team-permission-toggle { min-width: 88px; min-height: 32px; border-color: #d7dfef; color: #8995aa; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-permission-toggle.is-allowed { border-color: #bfe0c9; color: #258361; background: #eaf8ef; }
.app-shell:has(.team-role-panel) .team-permission-route { color: #71809b; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-permission-actions { padding: 13px 14px 15px; color: #8995aa; font-size: 12px; }
.app-shell:has(.team-role-panel) .team-permission-actions .button { min-height: 34px; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-modal { border-color: #cbd6f3; box-shadow: 0 24px 60px rgba(44, 66, 119, .22); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-modal h2 { color: #30415f; font-size: 24px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-modal-intro { color: #71809b; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-form-grid .field > span { color: #30415f; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-form-grid input,
.app-shell:has(.team-member-panel, .team-role-panel) .team-form-grid select { min-height: 42px; border-color: #d7dfef; color: #405172; background: #fbfcff; font-size: 13px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-form-grid input:focus,
.app-shell:has(.team-member-panel, .team-role-panel) .team-form-grid select:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-hint { border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-hint strong { color: #315bea; font-size: 12px; }
.app-shell:has(.team-member-panel, .team-role-panel) .team-role-hint span { color: #71809b; font-size: 12px; }

@media (max-width: 1180px) {
  .app-shell:has(.team-member-panel, .team-role-panel) .team-summary-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .app-shell:has(.team-member-panel, .team-role-panel) .team-table { min-width: 1220px; }
}

@media (max-width: 760px) {
  .app-shell:has(.team-member-panel, .team-role-panel) .team-summary-layout { grid-template-columns: 1fr; }
  .app-shell:has(.team-member-panel, .team-role-panel) .team-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .app-shell:has(.team-member-panel, .team-role-panel) .team-stat-grid { grid-template-columns: 1fr; }
  .app-shell:has(.team-member-panel, .team-role-panel) .team-tabs { gap: 18px; overflow-x: auto; }
  .app-shell:has(.team-member-panel, .team-role-panel) .team-tabs button { white-space: nowrap; }
}

/* 企业工作台 · 算力中心 v2：把余额、额度、消耗规则和流水分成可读的四层。 */
.app-shell:has(.compute-balance-card, .compute-detail-panel) .page-heading .eyebrow { color: #315bea; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .page-heading h1 { color: #243653; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .page-heading p { color: #71809b; font-size: 13px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .page-heading-actions .button { min-height: 40px; font-size: 13px; }

.app-shell:has(.compute-balance-card) .compute-balance-layout { grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 16px; margin-bottom: 18px; }
.app-shell:has(.compute-balance-card) .compute-balance-card,
.app-shell:has(.compute-balance-card) .compute-quick-card { min-height: 164px; padding: 24px 26px; border-color: #d5def0; border-radius: 14px; box-shadow: 0 12px 28px rgba(42, 65, 120, .07); }
.app-shell:has(.compute-balance-card) .compute-balance-card { border-top: 3px solid #315bea; background: linear-gradient(135deg, #f7f9ff 0%, #fff 68%); }
.app-shell:has(.compute-balance-card) .compute-balance-card > div:first-child { gap: 7px; }
.app-shell:has(.compute-balance-card) .compute-kicker { color: #5d6f97; font-size: 13px; letter-spacing: .02em; }
.app-shell:has(.compute-balance-card) .compute-balance-card strong { color: #263f73; font-size: 40px; letter-spacing: -.055em; }
.app-shell:has(.compute-balance-card) .compute-balance-card small,
.app-shell:has(.compute-balance-card) .compute-balance-side span { color: #71809b; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-balance-side { gap: 11px; }
.app-shell:has(.compute-balance-card) .compute-balance-side .chip { min-height: 28px; padding: 0 11px; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-quick-card { border-top: 3px solid #7a59df; background: #fff; gap: 9px; }
.app-shell:has(.compute-balance-card) .compute-quick-card > span { color: #5d6f97; font-size: 13px; font-weight: 800; }
.app-shell:has(.compute-balance-card) .compute-quick-card strong { color: #30415f; font-size: 28px; letter-spacing: -.04em; }
.app-shell:has(.compute-balance-card) .compute-quick-card small { color: #71809b; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-quick-track { height: 8px; margin-top: 5px; background: #e9edf5; }
.app-shell:has(.compute-balance-card) .compute-quick-track i { background: #315bea; }

.app-shell:has(.compute-balance-card) .compute-stat-grid { gap: 12px; margin-bottom: 18px; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card { min-height: 116px; padding: 17px 18px; border-color: #d5def0; border-radius: 12px; box-shadow: 0 8px 20px rgba(42, 65, 120, .05); }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(1) { border-top: 3px solid #315bea; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(2) { border-top: 3px solid #1ea6b5; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(3) { border-top: 3px solid #7a59df; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(4) { border-top: 3px solid #d79b37; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-top > span:first-child { color: #5d6f97; font-size: 13px; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-icon { width: 29px; height: 29px; color: #315bea; background: #eef2ff; font-size: 13px; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(2) .stat-icon { color: #168b99; background: #eaf8fa; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(3) .stat-icon { color: #7653d6; background: #f1edff; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-card:nth-child(4) .stat-icon { color: #ae751e; background: #fff5df; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-value { margin-top: 12px; color: #30415f; font-size: 30px; }
.app-shell:has(.compute-balance-card) .compute-stat-grid .stat-meta { margin-top: 6px; color: #8995aa; font-size: 12px; }

.app-shell:has(.compute-balance-card) .compute-usage-panel,
.app-shell:has(.compute-balance-card) .compute-rule-panel,
.app-shell:has(.compute-balance-card) .compute-recent-panel,
.app-shell:has(.compute-detail-panel) .compute-detail-panel { border: 1px solid #d5def0; border-top: 3px solid #315bea; border-radius: 13px; box-shadow: 0 10px 24px rgba(42, 65, 120, .05); }
.app-shell:has(.compute-balance-card) .compute-usage-panel h2,
.app-shell:has(.compute-balance-card) .compute-rule-panel h2,
.app-shell:has(.compute-balance-card) .compute-recent-panel h2,
.app-shell:has(.compute-detail-panel) .compute-detail-panel h2 { color: #30415f; font-size: 18px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .panel-header p,
.app-shell:has(.compute-balance-card) .compute-rule-panel .panel-header p,
.app-shell:has(.compute-balance-card) .compute-recent-panel .panel-header p,
.app-shell:has(.compute-detail-panel) .compute-detail-panel .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .panel-header,
.app-shell:has(.compute-balance-card) .compute-rule-panel .panel-header,
.app-shell:has(.compute-balance-card) .compute-recent-panel .panel-header,
.app-shell:has(.compute-detail-panel) .compute-detail-panel .panel-header { padding: 18px 20px 15px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .panel-header .chip { min-height: 28px; padding: 0 10px; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-bars { padding: 10px 20px 7px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-row { min-height: 35px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-row > span { color: #536b99; font-size: 13px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-row b { color: #536b99; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-track { height: 8px; background: #e9edf5; }
.app-shell:has(.compute-balance-card) .compute-usage-panel .health-track i { background: #315bea; }
.app-shell:has(.compute-balance-card) .compute-usage-note { padding: 11px 20px 18px; color: #8995aa; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-list { gap: 9px; padding: 2px 20px 19px; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-item { min-height: 53px; padding: 10px 12px; border-color: #dce3f2; background: #fbfcff; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-item strong { color: #405172; font-size: 13px; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-item span { color: #71809b; font-size: 12px; line-height: 1.5; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-item.blue { border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.compute-balance-card) .compute-rule-panel .alert-item.blue .alert-dot { background: #315bea; }
.app-shell:has(.compute-balance-card) .compute-recent-panel { margin-top: 18px; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table { min-width: 720px; table-layout: fixed; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table th,
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table td { padding: 13px 12px; font-size: 13px; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table td { color: #536b99; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .data-table td strong { color: #30415f; font-size: 14px; }
.app-shell:has(.compute-balance-card) .compute-recent-panel .panel-header .button { min-height: 36px; font-size: 12px; }

.app-shell:has(.compute-detail-panel) .compute-detail-panel { overflow: hidden; }
.app-shell:has(.compute-detail-panel) .compute-detail-panel .panel-header { align-items: flex-start; }
.app-shell:has(.compute-detail-panel) .compute-detail-count { color: #71809b; font-size: 12px; }
.app-shell:has(.compute-detail-panel) .compute-detail-toolbar { gap: 10px; margin: 0 12px 16px; padding: 12px; border: 1px solid #e0e6f2; border-radius: 10px; background: #f8faff; }
.app-shell:has(.compute-detail-panel) .compute-detail-search input { min-height: 42px; border-color: #d5def0; color: #405172; background: #fff; font-size: 13px; }
.app-shell:has(.compute-detail-panel) .compute-detail-search input:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.compute-detail-panel) .compute-detail-select { min-height: 42px; border-color: #d5def0; color: #71809b; background: #fff; font-size: 12px; }
.app-shell:has(.compute-detail-panel) .compute-detail-select select { color: #405172; font-size: 13px; }
.app-shell:has(.compute-detail-panel) .compute-detail-toolbar .button { min-height: 42px; font-size: 12px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table-wrap { margin: 0 12px; padding: 0; border: 1px solid #dce3f2; border-radius: 10px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bdcaef #f5f7ff; }
.app-shell:has(.compute-detail-panel) .compute-detail-table-wrap::-webkit-scrollbar { height: 8px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table-wrap::-webkit-scrollbar-thumb { border-radius: 99px; background: #bdcaef; }
.app-shell:has(.compute-detail-panel) .compute-detail-table { min-width: 1160px; table-layout: fixed; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th,
.app-shell:has(.compute-detail-panel) .compute-detail-table td { padding: 14px 12px; font-size: 13px; line-height: 1.55; word-break: normal; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th { color: #5d6f97; background: #f5f7ff; font-size: 12px; white-space: nowrap; }
.app-shell:has(.compute-detail-panel) .compute-detail-table td { color: #536b99; border-bottom-color: #edf0f6; }
.app-shell:has(.compute-detail-panel) .compute-detail-table tbody tr:hover td { background: #fbfcff; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(1), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(1) { width: 118px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(2), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(2) { width: 292px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(3), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(3) { width: 120px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(4), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(4) { width: 112px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(5), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(5) { width: 102px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(6), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(6) { width: 124px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(7), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(7) { width: 250px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table th:nth-child(8), .app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(8) { width: 90px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(2) strong { color: #30415f; font-size: 14px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table td:nth-child(2) small { margin-top: 4px; color: #8995aa; font-size: 11px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table .is-credit { color: #168b73; font-size: 14px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table .is-debit { color: #315bea; font-size: 14px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table .chip { min-height: 27px; padding: 0 9px; font-size: 11px; }
.app-shell:has(.compute-detail-panel) .compute-detail-table .button { min-height: 34px; font-size: 12px; }
.app-shell:has(.compute-detail-panel) .compute-detail-footer { padding: 14px 14px 18px; color: #8995aa; font-size: 12px; }

.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-modal { border-color: #cbd6f3; border-top: 3px solid #315bea; box-shadow: 0 24px 60px rgba(42, 65, 120, .22); }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-modal-close { color: #5d6f97; background: #f5f7ff; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-modal h2 { color: #30415f; font-size: 24px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-modal-copy { color: #71809b; font-size: 13px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-grid { gap: 11px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card { min-height: 168px; padding: 15px; border-color: #d5def0; background: #fff; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card:hover,
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card.is-selected { border-color: #8fa7ef; background: #f5f7ff; box-shadow: 0 0 0 2px rgba(49, 91, 234, .08); }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-radio { width: 23px; height: 23px; border-color: #bdcaef; font-size: 13px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card.is-selected .compute-plan-radio { border-color: #315bea; background: #315bea; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card strong { color: #30415f; font-size: 14px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card b { color: #315bea; font-size: 17px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card small { min-height: 34px; color: #71809b; font-size: 12px; line-height: 1.55; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-plan-card i { color: #536b99; font-size: 12px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-custom-points span { color: #30415f; font-size: 13px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-custom-points input { min-height: 42px; border-color: #d5def0; font-size: 13px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-custom-points small { color: #8995aa; font-size: 11px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-recharge-summary { border-color: #cbd6f3; background: #f5f7ff; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-recharge-summary span { color: #71809b; font-size: 12px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-recharge-summary strong { color: #315bea; font-size: 16px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-record-detail-grid > div { padding: 13px; border-color: #dce3f2; background: #fbfcff; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-record-detail-grid span { color: #71809b; font-size: 12px; }
.app-shell:has(.compute-balance-card, .compute-detail-panel) .compute-record-detail-grid strong { color: #30415f; font-size: 14px; }

@media (max-width: 980px) {
  .app-shell:has(.compute-balance-card) .compute-balance-layout { grid-template-columns: 1fr; }
  .app-shell:has(.compute-balance-card) .compute-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .app-shell:has(.compute-balance-card) .compute-stat-grid { grid-template-columns: 1fr; }
  .app-shell:has(.compute-detail-panel) .compute-detail-toolbar { align-items: stretch; }
  .app-shell:has(.compute-detail-panel) .compute-detail-search { min-width: 100%; flex-basis: 100%; }
  .app-shell:has(.compute-detail-panel) .compute-detail-select,
  .app-shell:has(.compute-detail-panel) .compute-detail-toolbar .button { flex: 1 1 0; justify-content: center; }
}

/* 企业工作台 · 帮助中心 v2：搜索入口—内容分类—答案详情—问题反馈。 */
.app-shell:has(.help-hero) .page-heading .eyebrow { color: #315bea; }
.app-shell:has(.help-hero) .page-heading h1 { color: #243653; }
.app-shell:has(.help-hero) .page-heading p { color: #71809b; font-size: 13px; }
.app-shell:has(.help-hero) .page-heading-actions .button { min-height: 40px; font-size: 13px; }

.app-shell:has(.help-hero) .help-hero { min-height: 224px; margin-bottom: 18px; padding: 30px 32px; border-color: #cbd6f3; border-top: 3px solid #315bea; border-radius: 14px; background: linear-gradient(115deg, #f5f7ff 0%, #fff 58%, #f3f8ff 100%); box-shadow: 0 12px 28px rgba(42, 65, 120, .07); }
.app-shell:has(.help-hero) .help-hero-copy h2 { color: #30415f; font-size: clamp(25px, 3vw, 34px); }
.app-shell:has(.help-hero) .help-hero-copy > p:not(.eyebrow) { color: #71809b; font-size: 13px; line-height: 1.75; }
.app-shell:has(.help-hero) .help-hero-meta { gap: 20px; margin-top: 20px; color: #71809b; font-size: 12px; }
.app-shell:has(.help-hero) .help-hero-meta b { color: #315bea; font-size: 17px; }
.app-shell:has(.help-hero) .help-search { min-height: 60px; padding: 0 16px; border-color: #bdcaef; border-radius: 11px; background: #fff; box-shadow: 0 8px 20px rgba(42, 65, 120, .08); }
.app-shell:has(.help-hero) .help-search > span { color: #315bea; font-size: 21px; }
.app-shell:has(.help-hero) .help-search input { color: #405172; font-size: 14px; }
.app-shell:has(.help-hero) .help-search input::placeholder { color: #8995aa; }
.app-shell:has(.help-hero) .help-search kbd { border-color: #dce3f2; color: #71809b; background: #f5f7ff; font-size: 10px; }

.app-shell:has(.help-hero) .help-tabs { gap: 28px; margin-bottom: 18px; padding: 0 12px; border: 0; border-bottom: 1px solid #dce3f2; border-radius: 0; background: transparent; }
.app-shell:has(.help-hero) .help-tabs button { min-height: 48px; padding: 0 2px; border-bottom: 3px solid transparent; border-radius: 0; color: #71809b; background: transparent; font-size: 13px; }
.app-shell:has(.help-hero) .help-tabs button:hover { color: #315bea; background: transparent; }
.app-shell:has(.help-hero) .help-tabs button.active { color: #315bea; background: transparent; border-bottom-color: #315bea; box-shadow: none; }
.app-shell:has(.help-hero) .help-tabs button span { min-width: 22px; height: 22px; color: #315bea; background: #eef2ff; font-size: 11px; }
.app-shell:has(.help-hero) .help-tabs button.active span { color: #315bea; background: #eef2ff; }

.app-shell:has(.help-hero) .help-category-grid { gap: 14px; margin-bottom: 20px; }
.app-shell:has(.help-hero) .help-category-card { grid-template-columns: 48px minmax(0, 1fr) 20px; gap: 13px; min-height: 116px; padding: 17px; border-color: #d5def0; border-radius: 12px; box-shadow: 0 8px 20px rgba(42, 65, 120, .05); }
.app-shell:has(.help-hero) .help-category-card:hover { border-color: #8fa7ef; box-shadow: 0 10px 24px rgba(42, 65, 120, .09); transform: translateY(-1px); }
.app-shell:has(.help-hero) .help-category-icon { width: 46px; height: 46px; border-radius: 12px; color: #315bea; background: #eef2ff; font-size: 19px; }
.app-shell:has(.help-hero) .help-category-geo .help-category-icon { color: #7653d6; background: #f1edff; }
.app-shell:has(.help-hero) .help-category-publish .help-category-icon { color: #ae751e; background: #fff5df; }
.app-shell:has(.help-hero) .help-category-account .help-category-icon { color: #168b99; background: #eaf8fa; }
.app-shell:has(.help-hero) .help-category-billing .help-category-icon { color: #7653d6; background: #f1edff; }
.app-shell:has(.help-hero) .help-category-card > span:nth-child(2) { gap: 6px; }
.app-shell:has(.help-hero) .help-category-card strong { color: #30415f; font-size: 14px; }
.app-shell:has(.help-hero) .help-category-card small { color: #71809b; font-size: 12px; line-height: 1.5; }
.app-shell:has(.help-hero) .help-category-card em { color: #315bea; font-size: 11px; }
.app-shell:has(.help-hero) .help-category-card > b { color: #8fa7ef; font-size: 21px; }

.app-shell:has(.help-hero) .help-home-grid,
.app-shell:has(.help-hero) .help-feedback-layout { gap: 16px; }
.app-shell:has(.help-hero) .help-home-grid > .panel,
.app-shell:has(.help-hero) .help-tab-panel,
.app-shell:has(.help-hero) .help-feedback-layout > .panel,
.app-shell:has(.help-hero) .help-feedback-history { border-color: #d5def0; border-top: 3px solid #315bea; border-radius: 13px; box-shadow: 0 10px 24px rgba(42, 65, 120, .05); }
.app-shell:has(.help-hero) .help-home-grid .panel-header,
.app-shell:has(.help-hero) .help-tab-panel .panel-header,
.app-shell:has(.help-hero) .help-feedback-layout .panel-header,
.app-shell:has(.help-hero) .help-feedback-history .panel-header { padding: 18px 20px 15px; }
.app-shell:has(.help-hero) .help-home-grid .panel-header h3,
.app-shell:has(.help-hero) .help-tab-panel .panel-header h3,
.app-shell:has(.help-hero) .help-feedback-layout .panel-header h3,
.app-shell:has(.help-hero) .help-feedback-history .panel-header h3 { color: #30415f; font-size: 18px; }
.app-shell:has(.help-hero) .help-home-grid .panel-header p,
.app-shell:has(.help-hero) .help-tab-panel .panel-header p,
.app-shell:has(.help-hero) .help-feedback-layout .panel-header p,
.app-shell:has(.help-hero) .help-feedback-history .panel-header p { color: #71809b; font-size: 12px; line-height: 1.6; }
.app-shell:has(.help-hero) .help-home-grid .panel-link { color: #315bea; font-size: 13px; }
.app-shell:has(.help-hero) .help-article-list { gap: 0; padding: 0 10px 10px; }
.app-shell:has(.help-hero) .help-article-card { border-bottom-color: #edf0f6; }
.app-shell:has(.help-hero) .help-article-main { grid-template-columns: 42px minmax(0, 1fr) 18px; gap: 12px; padding: 15px 5px; }
.app-shell:has(.help-hero) .help-article-icon { width: 40px; height: 40px; border-radius: 11px; color: #315bea; background: #eef2ff; font-size: 16px; }
.app-shell:has(.help-hero) .help-tone-geo { color: #7653d6; background: #f1edff; }
.app-shell:has(.help-hero) .help-tone-publish { color: #ae751e; background: #fff5df; }
.app-shell:has(.help-hero) .help-tone-account { color: #168b99; background: #eaf8fa; }
.app-shell:has(.help-hero) .help-tone-billing { color: #7653d6; background: #f1edff; }
.app-shell:has(.help-hero) .help-article-copy { gap: 6px; }
.app-shell:has(.help-hero) .help-article-meta em,
.app-shell:has(.help-hero) .help-article-meta .help-read-mark { padding: 4px 7px; border-radius: 5px; color: #315bea; background: #eef2ff; font-size: 10px; }
.app-shell:has(.help-hero) .help-article-meta .help-kind-rule { color: #7653d6; background: #f1edff; }
.app-shell:has(.help-hero) .help-article-meta .help-kind-faq { color: #ae751e; background: #fff5df; }
.app-shell:has(.help-hero) .help-article-meta .help-read-mark { color: #168b99; background: #eaf8fa; }
.app-shell:has(.help-hero) .help-article-copy strong { color: #30415f; font-size: 14px; }
.app-shell:has(.help-hero) .help-article-copy small { color: #71809b; font-size: 12px; line-height: 1.5; }
.app-shell:has(.help-hero) .help-article-date { color: #8995aa; font-size: 11px; }
.app-shell:has(.help-hero) .help-article-arrow { color: #8fa7ef; font-size: 21px; }
.app-shell:has(.help-hero) .help-favorite { width: 31px; height: 31px; color: #8995aa; font-size: 18px; }
.app-shell:has(.help-hero) .help-favorite:hover,
.app-shell:has(.help-hero) .help-favorite.is-favorite { color: #c58a24; background: #fff5df; }

.app-shell:has(.help-hero) .help-filterbar { gap: 10px; min-height: 52px; margin: 2px 12px 13px; padding: 10px 0; border-top-color: #edf0f6; border-bottom-color: #edf0f6; }
.app-shell:has(.help-hero) .help-category-select { color: #71809b; font-size: 12px; }
.app-shell:has(.help-hero) .help-category-select select { min-height: 40px; padding-left: 11px; border-color: #d5def0; border-radius: 8px; color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .button-ghost { min-height: 36px; border-color: #d5def0; color: #5d6f97; background: #f8faff; font-size: 12px; }
.app-shell:has(.help-hero) .help-filterbar > .subtle-note { color: #8995aa; font-size: 12px; }
.app-shell:has(.help-hero) .help-faq-list { gap: 9px; padding: 0 12px 16px; }
.app-shell:has(.help-hero) .help-faq-row { border-color: #dce3f2; border-radius: 10px; }
.app-shell:has(.help-hero) .help-faq-row.is-open { border-color: #8fa7ef; background: #f8faff; }
.app-shell:has(.help-hero) .help-faq-row > button { min-height: 54px; padding: 0 15px; }
.app-shell:has(.help-hero) .help-faq-row > button strong { color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .help-faq-row > button span { color: #315bea; font-size: 20px; }
.app-shell:has(.help-hero) .help-faq-answer { padding: 0 15px 16px; color: #536b99; font-size: 13px; line-height: 1.75; }

.app-shell:has(.help-hero) .help-panel-mark { padding: 6px 9px; border-color: #cbd6f3; color: #315bea; background: #eef2ff; font-size: 11px; }
.app-shell:has(.help-hero) .help-feedback-empty { padding: 30px 10px 18px; }
.app-shell:has(.help-hero) .help-feedback-empty-icon { width: 48px; height: 48px; border-radius: 12px; color: #315bea; background: #eef2ff; font-size: 22px; }
.app-shell:has(.help-hero) .help-feedback-empty strong { color: #30415f; font-size: 16px; }
.app-shell:has(.help-hero) .help-feedback-empty p { color: #71809b; font-size: 12px; line-height: 1.7; }
.app-shell:has(.help-hero) .help-feedback-form { gap: 16px; margin: 0 20px 20px; }
.app-shell:has(.help-hero) .help-feedback-form label { color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .help-feedback-form select,
.app-shell:has(.help-hero) .help-feedback-form textarea { border-color: #d5def0; color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .help-feedback-form select { min-height: 42px; }
.app-shell:has(.help-hero) .help-feedback-form textarea { min-height: 145px; padding: 11px 12px; }
.app-shell:has(.help-hero) .help-feedback-form select:focus,
.app-shell:has(.help-hero) .help-feedback-form textarea:focus { border-color: #8b9fe8; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
.app-shell:has(.help-hero) .help-form-actions .button { min-height: 40px; font-size: 13px; }
.app-shell:has(.help-hero) .help-feedback-guide ol { gap: 16px; padding: 3px 20px 20px 28px; }
.app-shell:has(.help-hero) .help-feedback-guide li::marker { color: #315bea; }
.app-shell:has(.help-hero) .help-feedback-guide li strong { color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .help-feedback-guide li span { color: #71809b; font-size: 12px; line-height: 1.55; }
.app-shell:has(.help-hero) .help-feedback-list { padding: 0 20px 8px; }
.app-shell:has(.help-hero) .help-feedback-row { padding: 15px 3px; border-bottom-color: #edf0f6; }
.app-shell:has(.help-hero) .help-feedback-row strong { color: #30415f; font-size: 13px; }
.app-shell:has(.help-hero) .help-feedback-row span { color: #71809b; font-size: 12px; }
.app-shell:has(.help-hero) .help-feedback-row em { color: #258361; background: #eaf8ef; font-size: 11px; }
.app-shell:has(.help-hero) .help-feedback-row small { color: #8995aa; font-size: 11px; }

.app-shell:has(.help-hero) .help-modal { border-color: #cbd6f3; border-top: 3px solid #315bea; box-shadow: 0 24px 60px rgba(42, 65, 120, .22); }
.app-shell:has(.help-hero) .help-modal-close { color: #5d6f97; background: #f5f7ff; }
.app-shell:has(.help-hero) .help-modal-eyebrow { color: #5d6f97; font-size: 12px; }
.app-shell:has(.help-hero) .help-modal h2 { color: #30415f; font-size: 25px; }
.app-shell:has(.help-hero) .help-modal-summary { color: #71809b; font-size: 13px; }
.app-shell:has(.help-hero) .help-modal-content { border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 14px; line-height: 1.9; }
.app-shell:has(.help-hero) .help-modal-actions { border-top-color: #edf0f6; }
.app-shell:has(.help-hero) .help-support-icon { background: #315bea; }
.app-shell:has(.help-hero) .help-support-options { gap: 10px; }
.app-shell:has(.help-hero) .help-support-options > div { padding: 14px; border-color: #dce3f2; background: #fbfcff; }
.app-shell:has(.help-hero) .help-support-options strong { color: #405172; font-size: 13px; }
.app-shell:has(.help-hero) .help-support-options span { color: #71809b; font-size: 12px; line-height: 1.6; }

@media (max-width: 980px) {
  .app-shell:has(.help-hero) .help-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .app-shell:has(.help-hero) .help-hero { padding: 24px 18px; }
  .app-shell:has(.help-hero) .help-tabs { gap: 20px; overflow-x: auto; }
  .app-shell:has(.help-hero) .help-tabs button { flex: none; white-space: nowrap; }
  .app-shell:has(.help-hero) .help-category-grid { grid-template-columns: 1fr; }
  .app-shell:has(.help-hero) .help-modal-overlay { padding: 12px; }
  .app-shell:has(.help-hero) .help-modal { padding: 23px 17px; }
}

/* 采词中心三个子模块与创作中心统一页面级 TAB 语法，仅复用交互结构，不继承创作中心的业务内容。 */
#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-tabs-shell {
  margin: -4px 0 22px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dce3f2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs::-webkit-scrollbar { width: 0; height: 0; }

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 0 9px;
  border: 0;
  border-radius: 0;
  color: #7c89a2;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: "";
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button:hover {
  color: #315bea;
  background: #f7f9ff;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button:hover::after { background: #aabcf1; }

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button.active {
  border-bottom: 0;
  color: #263a61;
  background: transparent;
  box-shadow: none;
  font-weight: 850;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button.active::after { background: #315bea; }

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-tab-label {
  color: inherit;
  font-size: 13px;
  font-weight: inherit;
  line-height: 1.2;
  white-space: nowrap;
}

#app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button:focus-visible {
  z-index: 1;
  outline: 3px solid rgba(49, 91, 234, .16);
  outline-offset: -3px;
}

@media (max-width: 760px) {
  #app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs { gap: 20px; }
  #app:has(.collect-tabs-shell:not(.publish-tabs-shell):not(.matrix-tabs-shell)) .collect-module-tabs button { min-height: 44px; padding: 0 0 9px; font-size: 12px; }
}

/* 公共顶部操作区：工作空间、全局搜索、任务、通知和账号使用同一套控制台表面。 */
.app-shell .topbar {
  min-height: 72px;
  gap: 16px;
  padding: 0 30px;
  border-bottom-color: #dce3f2;
  background: rgba(248, 250, 253, .94);
}

.app-shell .topbar-right { gap: 10px; }

.app-shell .topbar-workspace .workspace-switch {
  min-width: 174px;
  min-height: 42px;
  gap: 9px;
  padding: 7px 11px;
  border: 1px solid #d7dfef;
  border-radius: 11px;
  color: #30415f;
  background: #fbfcff;
  box-shadow: 0 2px 8px rgba(44, 71, 125, .03);
}

.app-shell .topbar-workspace .workspace-switch:hover,
.app-shell .topbar-workspace .workspace-switch[aria-expanded="true"] {
  border-color: #aebdf0;
  background: #f5f7ff;
  box-shadow: 0 4px 12px rgba(49, 91, 234, .08);
}

.app-shell .topbar-workspace .workspace-dot {
  width: 8px;
  height: 8px;
  flex-basis: 8px;
  background: #7d9bff;
  box-shadow: 0 0 0 4px rgba(125, 155, 255, .14);
}

.app-shell .topbar-workspace .workspace-switch-copy small {
  color: #8795ad;
  font-size: 10px;
  line-height: 1.2;
}

.app-shell .topbar-workspace .workspace-switch-copy strong {
  margin-top: 3px;
  color: #30415f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.app-shell .topbar .chevron {
  display: grid;
  width: 20px;
  height: 24px;
  flex: 0 0 20px;
  place-items: center;
  color: #8190ad;
  font-size: 0;
  transition: color .16s ease, transform .16s ease;
}

.app-shell .topbar .chevron::before {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-2px) rotate(45deg);
}

.app-shell .topbar [aria-expanded="true"] .chevron { color: #315bea; transform: rotate(180deg); }

.app-shell .workspace-menu {
  top: calc(100% + 12px);
  left: 0;
  right: auto;
  width: 288px;
  max-width: calc(100vw - 32px);
  padding: 7px;
  border: 1px solid #d7dfef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(38, 58, 104, .18);
}

.app-shell .workspace-menu button {
  min-height: 52px;
  gap: 10px;
  padding: 9px 10px;
  border: 0;
  border-radius: 9px;
  color: #405172;
  background: transparent;
}

.app-shell .workspace-menu button:hover,
.app-shell .workspace-menu button:focus-visible { color: #263a61; background: #f5f7ff; }

.app-shell .workspace-menu .menu-dot {
  width: 8px;
  height: 8px;
  flex-basis: 8px;
  box-shadow: none;
}

.app-shell .workspace-choice-copy { min-width: 0; flex: 1; }
.app-shell .workspace-choice-copy strong,
.app-shell .workspace-choice-copy small { display: block; }
.app-shell .workspace-choice-copy strong { color: inherit; font-size: 13px; font-weight: 800; }
.app-shell .workspace-choice-copy small { margin-top: 3px; color: #8995aa; font-size: 11px; line-height: 1.4; }

.app-shell .command-search {
  min-width: 228px;
  min-height: 42px;
  gap: 9px;
  padding: 6px 10px;
  border: 1px solid #d7dfef;
  border-radius: 11px;
  color: #5d6f97;
  background: #fbfcff;
  box-shadow: 0 2px 8px rgba(44, 71, 125, .03);
}

.app-shell .command-search:hover,
.app-shell .command-search[aria-expanded="true"] {
  border-color: #aebdf0;
  color: #315bea;
  background: #f5f7ff;
  box-shadow: 0 4px 12px rgba(49, 91, 234, .08);
}

.app-shell .command-search > span {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid #dce3f2;
  border-radius: 7px;
  color: #315bea;
  background: #eef2ff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.app-shell .command-search b { color: #405172; font-size: 12px; font-weight: 700; }

.app-shell .topbar-activity {
  flex: 0 0 auto;
  gap: 2px;
  padding: 3px;
  border: 1px solid #d7dfef;
  border-radius: 11px;
  background: #f7f9ff;
  box-shadow: 0 2px 8px rgba(44, 71, 125, .03);
}

.app-shell .activity-button {
  flex: 0 0 auto;
  min-height: 36px;
  gap: 7px;
  padding: 0 9px;
  border: 0;
  border-radius: 8px;
  color: #536b99;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  transition: color .16s ease, background .16s ease;
}

.app-shell .activity-button:hover,
.app-shell .activity-button[aria-expanded="true"] { color: #315bea; background: #eef2ff; }

.app-shell .activity-symbol {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  border: 1px solid #dce3f2;
  border-radius: 7px;
  color: #315bea;
  background: #f5f7ff;
  font-size: 13px;
  line-height: 1;
}

.app-shell .activity-button .topbar-count,
.app-shell .notification-count {
  display: inline-grid;
  min-width: 19px;
  height: 19px;
  margin-left: 1px;
  padding: 0 4px;
  place-items: center;
  border-radius: 999px;
  color: #2447c7;
  background: #dce5ff;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
}

.app-shell .notification-button { position: relative; font-size: 12px; }
.app-shell .notification-button i { top: 3px; right: 4px; border-color: #f7f9ff; background: #ef9a43; }

.app-shell .topbar-divider { height: 28px; background: #dce3f2; }

.app-shell .topbar-user {
  flex: 0 0 auto;
  min-height: 42px;
  gap: 8px;
  padding: 4px 8px 4px 5px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #30415f;
  background: transparent;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.app-shell .topbar-user:hover,
.app-shell .topbar-user[aria-expanded="true"] { border-color: #d7dfef; color: #263a61; background: #f5f7ff; }

.app-shell .topbar-user .avatar-small {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #315bea, #4e70dd);
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

.app-shell .topbar-account-menu,
.app-shell .command-search-panel,
.app-shell .task-queue-panel,
.app-shell .notification-panel {
  top: calc(100% + 12px);
  border: 1px solid #d7dfef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(38, 58, 104, .18);
}

.app-shell .topbar-account-menu { width: 272px; }
.app-shell .command-search-panel { width: min(460px, calc(100vw - 32px)); }
.app-shell .task-queue-panel { width: min(440px, calc(100vw - 32px)); }
.app-shell .notification-panel { width: min(400px, calc(100vw - 32px)); }

.app-shell .command-search-panel-header,
.app-shell .task-queue-panel-header,
.app-shell .notification-panel-header {
  min-height: 68px;
  align-items: center;
  padding: 16px 18px 14px;
  border-bottom-color: #e5e9f2;
}

.app-shell .command-search-panel-header strong,
.app-shell .task-queue-panel-header strong,
.app-shell .notification-panel-header strong { color: #30415f; font-size: 15px; font-weight: 850; }
.app-shell .command-search-panel-header span,
.app-shell .task-queue-panel-header span,
.app-shell .notification-panel-header span { color: #71809b; font-size: 11px; }

.app-shell .command-search-panel-header kbd {
  padding: 4px 8px;
  border: 1px solid #d7dfef;
  border-radius: 6px;
  color: #71809b;
  background: #f7f9ff;
  font-size: 10px;
}

.app-shell .global-search-field {
  min-height: 44px;
  margin: 14px 16px 10px;
  padding: 0 11px;
  border: 1px solid #cbd6ee;
  border-radius: 10px;
  background: #fbfcff;
}

.app-shell .global-search-field:focus-within { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .12); background: #fff; }
.app-shell .global-search-field span { color: #315bea; font-size: 18px; }
.app-shell .global-search-field input {
  min-height: 42px;
  color: #30415f;
  font-size: 13px;
  outline: 0;
}
.app-shell .global-search-field input:focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
}
.app-shell .global-search-field input::placeholder { color: #8995aa; }
.app-shell .global-search-results { max-height: 390px; padding: 0 8px 8px; }

.app-shell .global-search-result {
  grid-template-columns: 30px minmax(0, 1fr) auto 16px;
  gap: 10px;
  padding: 11px 10px;
  border-radius: 10px;
  color: #536b99;
}

.app-shell .global-search-result:hover { background: #f5f7ff; }
.app-shell .global-search-result-icon { width: 28px; height: 28px; border: 1px solid #dce3f2; border-radius: 8px; color: #315bea; background: #eef2ff; font-size: 14px; }
.app-shell .global-search-result strong { color: #30415f; font-size: 13px; }
.app-shell .global-search-result small { color: #71809b; font-size: 11px; }
.app-shell .global-search-result em { color: #8995aa; font-size: 10px; }
.app-shell .global-search-result i { color: #8b9fe8; font-size: 17px; }
.app-shell .command-search-panel-footer { padding: 10px 18px; border-top-color: #e5e9f2; color: #8995aa; background: #f7f9ff; font-size: 11px; }

.app-shell .task-queue-live { padding: 5px 9px; color: #258361 !important; background: #eaf8ef; font-size: 10px !important; }
.app-shell .task-queue-list, .app-shell .notification-list { max-height: 400px; }

.app-shell .task-queue-item {
  grid-template-columns: 30px minmax(0, 1fr) auto 18px;
  gap: 10px;
  padding: 13px 18px;
  border-bottom-color: #edf0f6;
}

.app-shell .task-queue-item:hover { background: #f5f7ff; }
.app-shell .task-queue-status { width: 28px; height: 28px; border-radius: 9px; font-size: 14px; }
.app-shell .task-queue-copy strong { color: #30415f; font-size: 13px; }
.app-shell .task-queue-copy small { color: #71809b; font-size: 11px; }
.app-shell .task-queue-meta b { color: #315bea; font-size: 11px; }
.app-shell .task-queue-meta em { color: #8995aa; font-size: 10px; }
.app-shell .task-queue-arrow { color: #8b9fe8; font-size: 19px; }
.app-shell .task-queue-panel-footer { padding: 10px 18px; border-top: 1px solid #e5e9f2; background: #f7f9ff; }
.app-shell .task-queue-panel-footer button { padding: 9px; color: #315bea; font-size: 11px; }
.app-shell .task-queue-panel-footer button:hover { background: #eef2ff; }

.app-shell .notification-mark-read { color: #315bea; font-size: 11px; }
.app-shell .notification-mark-read:hover { color: #2446c0; }
.app-shell .notification-item { grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 10px; padding: 13px 18px; border-bottom-color: #edf0f6; }
.app-shell .notification-item:hover { background: #f5f7ff; }
.app-shell .notification-item-icon { width: 28px; height: 28px; border-radius: 9px; font-size: 14px; }
.app-shell .notification-item-copy strong { color: #30415f; font-size: 13px; }
.app-shell .notification-item-copy small { color: #71809b; font-size: 11px; line-height: 1.55; }
.app-shell .notification-item-copy em { color: #8995aa; font-size: 10px; }
.app-shell .notification-item-arrow { color: #8b9fe8; font-size: 19px; }
.app-shell .notification-empty { min-height: 156px; padding: 28px 18px; }
.app-shell .notification-empty span { color: #258361; background: #eaf8ef; }
.app-shell .notification-empty strong { color: #30415f; font-size: 14px; }
.app-shell .notification-empty small { color: #71809b; font-size: 11px; }
.app-shell .notification-panel-footer { padding: 10px 18px; border-top: 1px solid #e5e9f2; background: #f7f9ff; }
.app-shell .notification-panel-footer button { padding: 9px; color: #315bea; font-size: 11px; }
.app-shell .notification-panel-footer button:hover { background: #eef2ff; }

.app-shell .topbar-account-menu .account-menu-heading { padding: 16px 17px 13px; border-bottom-color: #e5e9f2; }
.app-shell .topbar-account-menu .account-menu-heading strong { color: #30415f; font-size: 14px; }
.app-shell .topbar-account-menu .account-menu-heading span { color: #71809b; font-size: 11px; }
.app-shell .topbar-account-menu > button { min-height: 58px; padding: 11px 17px; color: #405172; background: #fff; }
.app-shell .topbar-account-menu > button:hover { background: #f5f7ff; }
.app-shell .topbar-account-menu > button strong { color: #30415f; font-size: 13px; }
.app-shell .topbar-account-menu > button small { color: #71809b; font-size: 11px; }
.app-shell .topbar-account-menu > button:last-child { border-top-color: #e5e9f2; }
.app-shell .topbar-account-menu > button:last-child strong { color: #b4534d; }

.app-shell .workspace-switch:focus-visible,
.app-shell .command-search:focus-visible,
.app-shell .activity-button:focus-visible,
.app-shell .topbar-user:focus-visible {
  outline: 3px solid rgba(49, 91, 234, .16);
  outline-offset: 2px;
}

@media (max-width: 1080px) {
  .app-shell .topbar { padding-right: 22px; padding-left: 22px; }
  .app-shell .topbar-workspace .workspace-switch { min-width: 154px; }
  .app-shell .command-search { min-width: 196px; }
}

/* 任务与告警：用“任务状态 → 过滤追踪 → 下一动作”组织平台运营处理链路。 */
#app .admin-ops-page .page-heading { align-items: flex-start; margin-bottom: 24px; }
#app .admin-ops-page .page-heading > div:first-child { min-width: 0; }
#app .admin-ops-page .page-heading p { max-width: 680px; }
#app .admin-ops-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; gap: 8px; }
#app .admin-ops-page .page-heading-actions .button { min-height: 38px; padding: 0 12px; font-size: 12px; }

#app .admin-ops-page .admin-ops-stat-grid { gap: 14px; margin-bottom: 21px; }
#app .admin-ops-page .admin-ops-stat-card { min-height: 132px; padding: 19px 20px; border-radius: 12px; box-shadow: 0 6px 18px rgba(45, 65, 112, .06); }
#app .admin-ops-page .admin-ops-stat-card .stat-top { color: #53647a; font-size: 13px; font-weight: 750; }
#app .admin-ops-page .admin-ops-stat-card .stat-value { margin-top: 13px; color: #182338; font-size: 31px; line-height: 1.15; font-variant-numeric: tabular-nums; }
#app .admin-ops-page .admin-ops-stat-card .stat-meta { margin-top: 9px; color: #71809b; font-size: 12px; line-height: 1.45; }
#app .admin-ops-page .admin-ops-stat-card .stat-icon { width: 29px; height: 29px; color: #315bea; background: #eef2ff; font-size: 15px; }
#app .admin-ops-page .admin-ops-stat-2 .stat-value { color: #7653d6; }
#app .admin-ops-page .admin-ops-stat-3 .stat-value { color: #c84c4c; }
#app .admin-ops-page .admin-ops-stat-4 .stat-value { color: #c17800; }
#app .admin-ops-page .admin-ops-stat-5 .stat-value { color: #2f80ed; }
#app .admin-ops-page .admin-ops-stat-2 .stat-icon { color: #7653d6; background: #f1edff; }
#app .admin-ops-page .admin-ops-stat-3 .stat-icon { color: #c84c4c; background: #fff0ef; }
#app .admin-ops-page .admin-ops-stat-4 .stat-icon { color: #c17800; background: #fff4df; }
#app .admin-ops-page .admin-ops-stat-5 .stat-icon { color: #2f80ed; background: #edf4ff; }

#app .admin-ops-page .admin-ops-tabs { display: flex; flex-wrap: nowrap; gap: 28px; margin-bottom: 20px; padding: 0; border: 0; border-bottom: 1px solid #dce3ee; border-radius: 0; background: transparent; }
#app .admin-ops-page .admin-ops-tabs button { position: relative; min-height: 46px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 14px; font-weight: 750; }
#app .admin-ops-page .admin-ops-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app .admin-ops-page .admin-ops-tabs button:hover { color: #315bea; background: transparent; }
#app .admin-ops-page .admin-ops-tabs button.active { color: #315bea; background: transparent; box-shadow: none; }
#app .admin-ops-page .admin-ops-tabs button.active::after { background: #315bea; }
#app .admin-ops-page .admin-ops-tabs button span { min-width: 20px; margin-left: 5px; padding: 3px 6px; color: #536b99; background: #eef2ff; font-size: 11px; }
#app .admin-ops-page .admin-ops-tabs button.active span { color: #315bea; background: #e1e8ff; }

#app .admin-ops-page .admin-ops-queue-control { min-height: 66px; margin-bottom: 17px; padding: 13px 17px; border-color: #cbd6f3; border-radius: 11px; background: #f5f7ff; }
#app .admin-ops-page .admin-ops-queue-control strong { color: #30415f; font-size: 14px; }
#app .admin-ops-page .admin-ops-queue-control small { color: #71809b; font-size: 12px; line-height: 1.5; }
#app .admin-ops-page .admin-ops-control-signal { background: #13b7c9; box-shadow: 0 0 0 4px rgba(19, 183, 201, .14); }
#app .admin-ops-page .admin-ops-control-signal.is-paused { background: #c17800; box-shadow: 0 0 0 4px rgba(193, 120, 0, .14); }
#app .admin-ops-page .admin-ops-control-actions .button { min-height: 36px; font-size: 12px; }

#app .admin-ops-page .admin-ops-table-panel,
#app .admin-ops-page .admin-ops-alert-preview { margin-bottom: 20px; overflow: hidden; }
#app .admin-ops-page .admin-ops-table-panel .panel-header,
#app .admin-ops-page .admin-ops-alert-preview .panel-header { padding: 21px 22px 16px; }
#app .admin-ops-page .admin-ops-table-panel .panel-header h2,
#app .admin-ops-page .admin-ops-alert-preview .panel-header h2 { color: #182338; font-size: 18px; line-height: 1.4; }
#app .admin-ops-page .admin-ops-table-panel .panel-header p,
#app .admin-ops-page .admin-ops-alert-preview .panel-header p { margin-top: 6px; color: #53647a; font-size: 12px; line-height: 1.6; }
#app .admin-ops-page .admin-ops-result-count { color: #71809b; font-size: 12px; }
#app .admin-ops-page .admin-ops-toolbar { grid-template-columns: minmax(280px, 1fr) repeat(3, minmax(145px, 175px)); gap: 12px; padding: 0 20px 18px; }
#app .admin-ops-page .admin-ops-search input,
#app .admin-ops-page .admin-ops-select select { min-height: 42px; border-color: #cbd6ee; border-radius: 9px; color: #30415f; background: #fbfcff; font-size: 13px; }
#app .admin-ops-page .admin-ops-search input:focus,
#app .admin-ops-page .admin-ops-select select:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); outline: 0; }
#app .admin-ops-page .admin-ops-select { gap: 5px; }
#app .admin-ops-page .admin-ops-select span { color: #53647a; font-size: 12px; font-weight: 750; }
#app .admin-ops-page .admin-ops-table-wrap { overflow-x: auto; padding: 0 18px 18px; }
#app .admin-ops-page .admin-ops-table { min-width: 1020px; table-layout: fixed; }
#app .admin-ops-page .admin-ops-table th { padding: 13px 12px; color: #53647a; background: #f6f8fc; font-size: 13px; line-height: 1.45; }
#app .admin-ops-page .admin-ops-table td { padding: 15px 12px; color: #27364f; font-size: 13px; line-height: 1.45; vertical-align: middle; white-space: normal; }
#app .admin-ops-page .admin-ops-table th:nth-child(1), #app .admin-ops-page .admin-ops-table td:nth-child(1) { width: 23%; }
#app .admin-ops-page .admin-ops-table th:nth-child(2), #app .admin-ops-page .admin-ops-table td:nth-child(2) { width: 14%; }
#app .admin-ops-page .admin-ops-table th:nth-child(3), #app .admin-ops-page .admin-ops-table td:nth-child(3) { width: 14%; }
#app .admin-ops-page .admin-ops-table th:nth-child(4), #app .admin-ops-page .admin-ops-table td:nth-child(4) { width: 9%; }
#app .admin-ops-page .admin-ops-table th:nth-child(5), #app .admin-ops-page .admin-ops-table td:nth-child(5) { width: 10%; }
#app .admin-ops-page .admin-ops-table th:nth-child(6), #app .admin-ops-page .admin-ops-table td:nth-child(6) { width: 17%; }
#app .admin-ops-page .admin-ops-table th:nth-child(7), #app .admin-ops-page .admin-ops-table td:nth-child(7) { width: 13%; }
#app .admin-ops-page .admin-ops-task-title strong,
#app .admin-ops-page .admin-ops-scope strong { color: #27364f; font-size: 14px; line-height: 1.45; white-space: normal; }
#app .admin-ops-page .admin-ops-task-title small,
#app .admin-ops-page .admin-ops-scope small,
#app .admin-ops-page .admin-ops-progress-cell small { color: #8995aa; font-size: 11px; line-height: 1.45; }
#app .admin-ops-page .admin-ops-progress-cell i { width: 92px; height: 7px; background: #e5eaf2; }
#app .admin-ops-page .admin-ops-progress-cell i b { background: #315bea; }
#app .admin-ops-page .admin-ops-next { max-width: 170px; color: #536b99; font-size: 13px; line-height: 1.5; }
#app .admin-ops-page .admin-ops-row-actions { gap: 6px; }
#app .admin-ops-page .admin-ops-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 11px; }

#app .admin-ops-page .admin-ops-alert-list { padding: 0 18px 18px; }
#app .admin-ops-page .admin-ops-alert-item { min-height: 64px; gap: 12px; padding: 12px 10px; border-top-color: #e5e9f2; }
#app .admin-ops-page .admin-ops-alert-item:hover { background: #f5f7ff; }
#app .admin-ops-page .admin-ops-alert-item strong { color: #30415f; font-size: 14px; line-height: 1.4; }
#app .admin-ops-page .admin-ops-alert-item small { color: #71809b; font-size: 12px; line-height: 1.5; }
#app .admin-ops-page .admin-ops-alert-item time { color: #8995aa; font-size: 11px; }
#app .admin-ops-page .admin-ops-alert-icon { width: 30px; height: 30px; border-radius: 9px; font-size: 14px; }
#app .admin-ops-page .admin-ops-footer { padding-bottom: 22px; color: #8995aa; font-size: 12px; line-height: 1.5; }

#app .admin-ops-page .admin-ops-config-layout { gap: 20px; }
#app .admin-ops-page .admin-ops-config-layout > .panel { overflow: hidden; }
#app .admin-ops-page .admin-ops-config-layout .panel-header { padding: 21px 22px 16px; }
#app .admin-ops-page .admin-ops-config-layout .panel-header h2 { color: #182338; font-size: 18px; }
#app .admin-ops-page .admin-ops-config-layout .panel-header p { color: #53647a; font-size: 12px; line-height: 1.6; }
#app .admin-ops-page .admin-ops-config-fields { gap: 16px; padding: 0 22px; }
#app .admin-ops-page .admin-ops-config-fields .field > span,
#app .admin-ops-page .admin-ops-toggle-field strong { color: #30415f; font-size: 13px; }
#app .admin-ops-page .admin-ops-config-fields .field small,
#app .admin-ops-page .admin-ops-toggle-field small { color: #71809b; font-size: 11px; line-height: 1.5; }
#app .admin-ops-page .admin-ops-toggle-field input,
#app .admin-ops-page .admin-ops-toggle input { accent-color: #315bea; }
#app .admin-ops-page .admin-ops-config-actions { margin: 20px 22px 0; padding-top: 16px; border-top-color: #e5e9f2; }
#app .admin-ops-page .admin-ops-rule-list { padding: 0 22px; gap: 11px; }
#app .admin-ops-page .admin-ops-rule-card { padding: 15px; border-color: #dce3ee; border-radius: 10px; background: #fbfcff; }
#app .admin-ops-page .admin-ops-rule-card strong { color: #30415f; font-size: 13px; }
#app .admin-ops-page .admin-ops-rule-meta span,
#app .admin-ops-page .admin-ops-rule-actions span { color: #71809b; font-size: 11px; line-height: 1.5; }

#app .admin-ops-modal-overlay { background: rgba(21, 33, 58, .44); }
#app .admin-ops-modal { border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .admin-ops-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .admin-ops-modal .eyebrow { color: #315bea; }
#app .admin-ops-modal h2 { color: #182338; font-size: 23px; }
#app .admin-ops-progress { background: #e5eaf2; }
#app .admin-ops-progress i { background: #315bea; }
#app .admin-ops-detail-grid > div { border-color: #dce3ee; background: #fbfcff; }
#app .admin-ops-detail-grid span { color: #71809b; font-size: 11px; }
#app .admin-ops-detail-grid strong { color: #30415f; font-size: 13px; }
#app .admin-ops-detail-note { border-left-color: #315bea; color: #536b99; background: #f5f7ff; }
#app .admin-ops-detail-note strong { color: #30415f; }
#app .admin-ops-detail-note small { color: #71809b; }
#app .admin-ops-modal-actions { border-top-color: #e5e9f2; }

@media (max-width: 920px) {
  #app .admin-ops-page .page-heading-actions { flex-wrap: wrap; }
  #app .admin-ops-page .admin-ops-toolbar { grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(125px, 1fr)); }
}

@media (max-width: 700px) {
  #app .admin-ops-page .admin-ops-tabs { gap: 20px; overflow-x: auto; }
  #app .admin-ops-page .admin-ops-tabs button { flex: 0 0 auto; }
  #app .admin-ops-page .admin-ops-toolbar { grid-template-columns: 1fr 1fr; }
  #app .admin-ops-page .admin-ops-search { grid-column: 1 / -1; }
  #app .admin-ops-page .admin-ops-table { min-width: 1020px; }
}

/* 配置视图的规则字段需要完整的横向阅读空间，避免右栏出现字段互相挤压。 */
#app .admin-ops-page .admin-ops-config-layout { grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr); }
#app .admin-ops-page .admin-ops-rule-fields { grid-template-columns: 118px minmax(0, 1fr); margin-left: 0; }
#app .admin-ops-page .admin-ops-rule-fields .field:nth-child(3) { grid-column: 1 / -1; }
#app .admin-ops-page .admin-ops-rule-actions { flex-wrap: wrap; margin-left: 0; }

@media (max-width: 960px) {
  #app .admin-ops-page .admin-ops-config-layout { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  #app .admin-ops-page .admin-ops-rule-fields { grid-template-columns: 1fr 1fr; }
  #app .admin-ops-page .admin-ops-rule-fields .field:nth-child(2) { grid-column: 1 / -1; }
  #app .admin-ops-page .admin-ops-rule-fields .field:nth-child(3) { grid-column: auto; }
}

@media (max-width: 600px) {
  #app .admin-ops-page .admin-ops-rule-fields { grid-template-columns: 1fr; }
  #app .admin-ops-page .admin-ops-rule-fields .field:nth-child(2),
  #app .admin-ops-page .admin-ops-rule-fields .field:nth-child(3) { grid-column: auto; }
}

/* 平台总览：按“状态判断 → 指标证据 → 企业风险 → 规则处理”组织内部运营信息。 */
#app .admin-overview-page .page-heading { margin-bottom: 25px; }
#app .admin-overview-page .page-heading h1 { font-size: 32px; line-height: 1.2; letter-spacing: -.035em; }
#app .admin-overview-page .page-heading p { max-width: 760px; font-size: 13px; line-height: 1.7; }
#app .admin-overview-page .admin-hero {
  min-height: 158px;
  margin-bottom: 20px;
  padding: 27px 30px;
  border: 1px solid rgba(159, 183, 255, .3);
  border-radius: 14px;
  background: radial-gradient(circle at 80% 18%, rgba(93, 157, 255, .2), transparent 29%), linear-gradient(120deg, #172742 0%, #243a69 68%, #3150a0 100%);
  box-shadow: 0 14px 32px rgba(33, 51, 94, .16);
}
#app .admin-overview-page .admin-hero::after { right: 8%; bottom: -92px; width: 250px; height: 250px; border-color: rgba(159, 183, 255, .32); box-shadow: 0 0 0 29px rgba(159, 183, 255, .06), 0 0 0 58px rgba(159, 183, 255, .035); }
#app .admin-overview-page .hero-copy { max-width: 700px; }
#app .admin-overview-page .hero-copy .eyebrow { margin-bottom: 9px; color: #a8f4f8; font-size: 12px; letter-spacing: .08em; }
#app .admin-overview-page .hero-copy h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.025em; }
#app .admin-overview-page .hero-copy p { max-width: 650px; margin-top: 10px; color: #d4def4; font-size: 13px; line-height: 1.65; }
#app .admin-overview-page .hero-progress { min-width: 230px; gap: 15px; }
#app .admin-overview-page .progress-ring { width: 82px; height: 82px; }
#app .admin-overview-page .progress-ring::before { width: 63px; height: 63px; background: #1d2d4e; }
#app .admin-overview-page .progress-ring strong { font-size: 21px; font-variant-numeric: tabular-nums; }
#app .admin-overview-page .hero-progress-copy strong { font-size: 14px; }
#app .admin-overview-page .hero-progress-copy span { margin-top: 6px; color: #cbd7f2; font-size: 12px; line-height: 1.5; }

#app .admin-overview-page .admin-kpi-grid { gap: 14px; margin-bottom: 20px; }
#app .admin-overview-page .admin-kpi-card {
  position: relative;
  min-height: 138px;
  overflow: hidden;
  padding: 20px 21px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(45, 65, 112, .06);
}
#app .admin-overview-page .admin-kpi-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app .admin-overview-page .admin-kpi-teal::before { background: #13b7c9; }
#app .admin-overview-page .admin-kpi-purple::before { background: #7653d6; }
#app .admin-overview-page .admin-kpi-orange::before { background: #c17800; }
#app .admin-overview-page .admin-kpi-card small { color: #53647a; font-size: 13px; font-weight: 700; }
#app .admin-overview-page .admin-kpi-card strong { margin-top: 13px; color: #182338; font-size: 31px; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
#app .admin-overview-page .admin-kpi-card span { margin-top: 10px; color: #315bea; font-size: 12px; line-height: 1.4; }
#app .admin-overview-page .admin-kpi-teal span { color: #187f8b; }
#app .admin-overview-page .admin-kpi-purple span { color: #7653d6; }
#app .admin-overview-page .admin-kpi-orange span { color: #a15f00; }

#app .admin-overview-page .admin-overview-grid { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .85fr); gap: 20px; margin-bottom: 24px; }
#app .admin-overview-page .admin-health-panel,
#app .admin-overview-page .admin-rules-panel { overflow: hidden; }
#app .admin-overview-page .admin-health-panel .panel-header,
#app .admin-overview-page .admin-rules-panel .panel-header { padding: 21px 22px 16px; }
#app .admin-overview-page .panel-header h3 { color: #182338; font-size: 17px; line-height: 1.4; }
#app .admin-overview-page .panel-header p { margin-top: 6px; color: #53647a; font-size: 12px; line-height: 1.55; }
#app .admin-overview-page .panel-link { font-size: 12px; white-space: nowrap; }
#app .admin-overview-page .admin-health-panel .table-wrap { padding: 0 17px 18px; }
#app .admin-overview-page .admin-health-table { table-layout: fixed; font-size: 14px; }
#app .admin-overview-page .admin-health-table th { padding: 13px 12px; color: #53647a; background: #f6f8fc; font-size: 13px; line-height: 1.45; }
#app .admin-overview-page .admin-health-table td { padding: 15px 12px; color: #27364f; font-size: 14px; line-height: 1.45; white-space: normal; }
#app .admin-overview-page .admin-health-table th:nth-child(1),
#app .admin-overview-page .admin-health-table td:nth-child(1) { width: 28%; }
#app .admin-overview-page .admin-health-table th:nth-child(2),
#app .admin-overview-page .admin-health-table td:nth-child(2) { width: 16%; }
#app .admin-overview-page .admin-health-table th:nth-child(3),
#app .admin-overview-page .admin-health-table td:nth-child(3) { width: 26%; }
#app .admin-overview-page .admin-health-table th:nth-child(4),
#app .admin-overview-page .admin-health-table td:nth-child(4) { width: 15%; }
#app .admin-overview-page .admin-health-table th:nth-child(5),
#app .admin-overview-page .admin-health-table td:nth-child(5) { width: 15%; }
#app .admin-overview-page .tenant-cell strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .admin-overview-page .tenant-cell span { margin-top: 4px; color: #8995aa; font-size: 11px; line-height: 1.4; }
#app .admin-overview-page .admin-health-score { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
#app .admin-overview-page .admin-health-score b { color: #536b99; font-size: 13px; font-weight: 700; }
#app .admin-overview-page .mini-bar { width: 82px; height: 7px; flex: 0 0 82px; background: #e5eaf2; }
#app .admin-overview-page .mini-bar.is-72 i { width: 72%; }
#app .admin-overview-page .mini-bar.is-46 i { width: 46%; }
#app .admin-overview-page .mini-bar.is-88 i { width: 88%; }
#app .admin-overview-page .mini-bar.is-18 i { width: 18%; }
#app .admin-overview-page .mini-bar.is-0 i { width: 0; }

#app .admin-overview-page .admin-rule-list { gap: 10px; padding: 1px 20px 21px; }
#app .admin-overview-page .admin-rule-list .alert-item { min-height: 70px; align-items: flex-start; gap: 11px; padding: 13px 14px; border: 1px solid #dce3ee; border-radius: 10px; background: #fbfcff; }
#app .admin-overview-page .admin-rule-list .alert-item.blue { border-color: #cbd6f3; background: #f5f7ff; }
#app .admin-overview-page .admin-rule-list .alert-dot { width: 8px; height: 8px; flex: 0 0 8px; margin-top: 5px; background: #c17800; }
#app .admin-overview-page .admin-rule-list .alert-item.blue .alert-dot { background: #13b7c9; }
#app .admin-overview-page .admin-rule-list .alert-item strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .admin-overview-page .admin-rule-list .alert-item span { margin-top: 5px; color: #71809b; font-size: 12px; line-height: 1.55; }

@media (max-width: 920px) {
  #app .admin-overview-page .admin-hero { padding: 24px; }
  #app .admin-overview-page .admin-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  #app .admin-overview-page .page-heading h1 { font-size: 28px; }
  #app .admin-overview-page .admin-hero { padding: 21px; }
  #app .admin-overview-page .hero-copy h2 { font-size: 21px; }
  #app .admin-overview-page .hero-copy p { font-size: 12px; }
  #app .admin-overview-page .hero-progress { min-width: 0; }
  #app .admin-overview-page .admin-health-panel .table-wrap { padding-right: 10px; padding-left: 10px; }
  #app .admin-overview-page .admin-health-table { min-width: 650px; }
}

/* 企业管理：用“企业状态 → 运营证据 → 配置动作”建立内部运营的判断顺序。 */
#app .tenant-admin-page { color: #30415f; }
#app .tenant-admin-page .page-heading { align-items: flex-start; margin-bottom: 24px; }
#app .tenant-admin-page .page-heading > div:first-child { min-width: 0; }
#app .tenant-admin-page .page-heading .eyebrow { color: #315bea; }
#app .tenant-admin-page .page-heading h1 { color: #182338; font-size: 32px; line-height: 1.2; letter-spacing: -.035em; }
#app .tenant-admin-page .page-heading p { max-width: 760px; color: #53647a; font-size: 13px; line-height: 1.7; }
#app .tenant-admin-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; gap: 8px; }
#app .tenant-admin-page .page-heading-actions .button { min-height: 38px; padding: 0 12px; font-size: 12px; }
#app .tenant-admin-page .button-primary { border-color: #315bea; background: #315bea; box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .tenant-admin-page .button-primary:hover { border-color: #2447c3; background: #2447c3; }
#app .tenant-admin-page .button-secondary,
#app .tenant-admin-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .tenant-admin-page .button-secondary:hover,
#app .tenant-admin-page .button-quiet:hover { border-color: #9eb3ef; color: #2447c3; background: #f5f7ff; }

#app .tenant-admin-page .tenant-admin-stat-grid { gap: 14px; margin-bottom: 21px; }
#app .tenant-admin-page .tenant-admin-stat-card {
  position: relative;
  min-height: 138px;
  overflow: hidden;
  padding: 20px 21px;
  border-color: #dce3ee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(45, 65, 112, .06);
}
#app .tenant-admin-page .tenant-admin-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app .tenant-admin-page .tenant-admin-stat-green::before { background: #13b7c9; }
#app .tenant-admin-page .tenant-admin-stat-blue::before { background: #2f80ed; }
#app .tenant-admin-page .tenant-admin-stat-orange::before { background: #c17800; }
#app .tenant-admin-page .tenant-admin-stat-purple::before { background: #7653d6; }
#app .tenant-admin-page .tenant-admin-stat-card .stat-top { color: #53647a; font-size: 13px; font-weight: 750; }
#app .tenant-admin-page .tenant-admin-stat-card .stat-value { margin-top: 13px; color: #182338; font-size: 31px; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
#app .tenant-admin-page .tenant-admin-stat-card .stat-meta { margin-top: 9px; color: #71809b; font-size: 12px; line-height: 1.45; }
#app .tenant-admin-page .tenant-admin-stat-card .stat-icon { width: 29px; height: 29px; color: #315bea; background: #eef2ff; font-size: 15px; }
#app .tenant-admin-page .tenant-admin-stat-green .stat-value { color: #087f8c; }
#app .tenant-admin-page .tenant-admin-stat-blue .stat-value { color: #2f80ed; }
#app .tenant-admin-page .tenant-admin-stat-orange .stat-value { color: #a15f00; }
#app .tenant-admin-page .tenant-admin-stat-purple .stat-value { color: #7653d6; }
#app .tenant-admin-page .tenant-admin-stat-green .stat-icon { color: #087f8c; background: #e5f7f7; }
#app .tenant-admin-page .tenant-admin-stat-blue .stat-icon { color: #2f80ed; background: #edf4ff; }
#app .tenant-admin-page .tenant-admin-stat-orange .stat-icon { color: #c17800; background: #fff4df; }
#app .tenant-admin-page .tenant-admin-stat-purple .stat-icon { color: #7653d6; background: #f1edff; }

#app .tenant-admin-page .tenant-admin-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 28px;
  margin-bottom: 20px;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  border: 0;
  border-bottom: 1px solid #dce3ee;
  border-radius: 0;
  background: transparent;
}
#app .tenant-admin-page .tenant-admin-tabs button { position: relative; min-height: 46px; padding: 0 2px; border: 0; border-radius: 0; color: #71809b; background: transparent; font-size: 14px; font-weight: 750; white-space: nowrap; cursor: pointer; }
#app .tenant-admin-page .tenant-admin-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
#app .tenant-admin-page .tenant-admin-tabs button:hover { color: #315bea; background: transparent; }
#app .tenant-admin-page .tenant-admin-tabs button.active { color: #315bea; background: transparent; box-shadow: none; }
#app .tenant-admin-page .tenant-admin-tabs button.active::after { background: #315bea; }
#app .tenant-admin-page .tenant-admin-tabs button span { min-width: 20px; margin-left: 5px; padding: 3px 6px; color: #536b99; background: #eef2ff; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-tabs button.active span { color: #315bea; background: #e1e8ff; }
#app .tenant-admin-page .tenant-admin-tabs::-webkit-scrollbar { display: none; }

#app .tenant-admin-page .tenant-admin-list-layout { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr); gap: 20px; }
#app .tenant-admin-page .tenant-admin-table-panel,
#app .tenant-admin-page .tenant-admin-selected,
#app .tenant-admin-page .tenant-admin-config-panel { overflow: hidden; border-color: #dce3ee; box-shadow: 0 6px 18px rgba(45, 65, 112, .055); }
#app .tenant-admin-page .tenant-admin-table-panel .panel-header,
#app .tenant-admin-page .tenant-admin-selected .panel-header,
#app .tenant-admin-page .tenant-admin-config-panel .panel-header { padding: 21px 22px 16px; }
#app .tenant-admin-page .tenant-admin-table-panel .panel-header h2,
#app .tenant-admin-page .tenant-admin-config-panel .panel-header h3 { color: #182338; font-size: 18px; line-height: 1.4; }
#app .tenant-admin-page .tenant-admin-selected .panel-header h2,
#app .tenant-admin-page .tenant-admin-config-head h2 { color: #182338; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
#app .tenant-admin-page .tenant-admin-table-panel .panel-header p,
#app .tenant-admin-page .tenant-admin-selected .panel-header p,
#app .tenant-admin-page .tenant-admin-config-panel .panel-header p,
#app .tenant-admin-page .tenant-admin-config-head p { margin-top: 6px; color: #53647a; font-size: 12px; line-height: 1.6; }
#app .tenant-admin-page .tenant-admin-result-count { color: #71809b; font-size: 12px; }
#app .tenant-admin-page .tenant-admin-toolbar { grid-template-columns: minmax(230px, 1fr) repeat(3, minmax(108px, 132px)) auto; gap: 10px; padding: 0 20px 18px; }
#app .tenant-admin-page .tenant-admin-search input,
#app .tenant-admin-page .tenant-admin-select select { min-height: 42px; border-color: #cbd6ee; border-radius: 9px; color: #30415f; background: #fbfcff; font-size: 13px; }
#app .tenant-admin-page .tenant-admin-search input:focus,
#app .tenant-admin-page .tenant-admin-select select:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); outline: 0; }
#app .tenant-admin-page .tenant-admin-search i { top: 11px; color: #315bea; }
#app .tenant-admin-page .tenant-admin-select { gap: 5px; }
#app .tenant-admin-page .tenant-admin-select span { color: #53647a; font-size: 12px; font-weight: 750; }
#app .tenant-admin-page .tenant-admin-table-wrap { overflow-x: auto; padding: 0 18px 18px; }
#app .tenant-admin-page .tenant-admin-table { min-width: 960px; table-layout: auto; }
#app .tenant-admin-page .tenant-admin-table th { padding: 13px 12px; color: #53647a; background: #f6f8fc; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .tenant-admin-page .tenant-admin-table td { padding: 15px 12px; color: #27364f; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: normal; }
#app .tenant-admin-page .tenant-admin-table tbody tr:hover td { background: #f5f7ff; }
#app .tenant-admin-page .tenant-admin-table tr.is-selected td { background: #f1f5ff; }
#app .tenant-admin-page .tenant-admin-name-button { gap: 4px; color: #27364f; }
#app .tenant-admin-page .tenant-admin-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .tenant-admin-page .tenant-admin-name-button small,
#app .tenant-admin-page .tenant-admin-account-cell small,
#app .tenant-admin-page .tenant-admin-balance + small { color: #8995aa; font-size: 11px; line-height: 1.45; }
#app .tenant-admin-page .tenant-admin-name-button:hover strong { color: #315bea; }
#app .tenant-admin-page .tenant-admin-stack { gap: 5px; }
#app .tenant-admin-page .tenant-admin-account-cell { gap: 4px; min-width: 150px; }
#app .tenant-admin-page .tenant-admin-account-cell strong,
#app .tenant-admin-page .tenant-admin-balance { color: #30415f; font-size: 13px; }
#app .tenant-admin-page .tenant-admin-mini-progress { width: 76px; height: 7px; background: #e5eaf2; }
#app .tenant-admin-page .tenant-admin-mini-progress i { background: #315bea; }
#app .tenant-admin-page .tenant-admin-row-actions { flex-wrap: nowrap; gap: 6px; }
#app .tenant-admin-page .tenant-admin-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .tenant-admin-page .tenant-admin-table-footer,
#app .tenant-admin-page .tenant-admin-footer { padding: 12px 20px 17px; color: #8995aa; font-size: 12px; line-height: 1.5; }

#app .tenant-admin-page .tenant-admin-selected { position: sticky; top: 18px; }
#app .tenant-admin-page .tenant-admin-kicker { color: #315bea; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
#app .tenant-admin-page .tenant-admin-selected-metrics { gap: 8px; margin: 0 22px; }
#app .tenant-admin-page .tenant-admin-selected-metrics > div,
#app .tenant-admin-page .tenant-admin-account-summary > div { gap: 5px; padding: 12px; border-color: #dce3ee; border-radius: 9px; background: #f8faff; }
#app .tenant-admin-page .tenant-admin-selected-metrics span,
#app .tenant-admin-page .tenant-admin-account-summary span { color: #71809b; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-selected-metrics strong,
#app .tenant-admin-page .tenant-admin-account-summary strong { color: #30415f; font-size: 13px; line-height: 1.4; }
#app .tenant-admin-page .tenant-admin-selected-metrics small,
#app .tenant-admin-page .tenant-admin-account-summary small { color: #8995aa; font-size: 11px; line-height: 1.4; }
#app .tenant-admin-page .tenant-admin-account-summary { margin: 10px 22px 0; }
#app .tenant-admin-page .tenant-admin-health-note { margin: 14px 22px 0; border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .tenant-admin-page .tenant-admin-health-note strong { color: #30415f; }
#app .tenant-admin-page .tenant-admin-section-label { margin: 18px 22px 9px; color: #53647a; font-size: 12px; }
#app .tenant-admin-page .tenant-admin-connector-list { margin: 0 22px; gap: 8px; }
#app .tenant-admin-page .tenant-admin-connector-line { padding: 10px 12px; border-color: #dce3ee; background: #fbfcff; }
#app .tenant-admin-page .tenant-admin-connector-line strong,
#app .tenant-admin-page .tenant-admin-connector-card strong { color: #30415f; font-size: 12px; }
#app .tenant-admin-page .tenant-admin-connector-line small,
#app .tenant-admin-page .tenant-admin-connector-card small { color: #8995aa; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-selected-actions { margin: 18px 22px 22px; }
#app .tenant-admin-page .tenant-admin-selected-actions .button { min-height: 38px; font-size: 12px; }

#app .tenant-admin-page .tenant-admin-config-head { align-items: flex-start; margin-bottom: 20px; }
#app .tenant-admin-page .tenant-admin-config-head-actions { flex-wrap: nowrap; gap: 8px; }
#app .tenant-admin-page .tenant-admin-config-head-actions .button { min-height: 38px; font-size: 12px; white-space: nowrap; }
#app .tenant-admin-page .tenant-admin-config-grid { gap: 18px; }
#app .tenant-admin-page .tenant-admin-config-panel .panel-header { padding-bottom: 17px; }
#app .tenant-admin-page .tenant-admin-config-panel .panel-header h3 { font-size: 17px; }
#app .tenant-admin-page .tenant-admin-config-panel .panel-header p { max-width: 620px; }
#app .tenant-admin-page .tenant-admin-config-note { color: #71809b; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-form-grid { gap: 14px; }
#app .tenant-admin-page .tenant-admin-form-grid input,
#app .tenant-admin-page .tenant-admin-form-grid select,
#app .tenant-admin-page .tenant-admin-form-grid textarea { border-color: #cbd6ee; border-radius: 9px; background: #fbfcff; }
#app .tenant-admin-page .tenant-admin-form-grid input:focus,
#app .tenant-admin-page .tenant-admin-form-grid select:focus,
#app .tenant-admin-page .tenant-admin-form-grid textarea:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .tenant-admin-page .tenant-admin-feature-list { gap: 8px; margin-top: 16px; }
#app .tenant-admin-page .tenant-admin-feature { padding: 11px 12px; border-color: #dce3ee; background: #fbfcff; }
#app .tenant-admin-page .tenant-admin-feature input { accent-color: #315bea; }
#app .tenant-admin-page .tenant-admin-feature strong { color: #30415f; font-size: 13px; }
#app .tenant-admin-page .tenant-admin-feature small { color: #71809b; font-size: 11px; line-height: 1.5; }
#app .tenant-admin-page .tenant-admin-account-link-grid { gap: 12px; }
#app .tenant-admin-page .tenant-admin-account-link-grid > div { min-height: 64px; padding: 11px 12px; border-color: #dce3ee; background: #f8faff; }
#app .tenant-admin-page .tenant-admin-account-link-grid > div span { color: #71809b; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-account-link-grid > div strong { color: #30415f; font-size: 13px; }
#app .tenant-admin-page .tenant-admin-account-link-grid > div small { color: #8995aa; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-account-actions { margin: 16px 0 12px; color: #71809b; font-size: 12px; line-height: 1.5; }
#app .tenant-admin-page .tenant-admin-account-table-wrap { overflow-x: auto; }
#app .tenant-admin-page .tenant-admin-account-table { min-width: 620px; }
#app .tenant-admin-page .tenant-admin-account-table td { font-size: 13px; }
#app .tenant-admin-page .tenant-admin-account-table td small { color: #71809b; font-size: 11px; }
#app .tenant-admin-page .tenant-admin-connector-grid { gap: 9px; }
#app .tenant-admin-page .tenant-admin-connector-card { padding: 12px; border-color: #dce3ee; background: #fbfcff; }
#app .tenant-admin-page .tenant-admin-danger-zone { margin-top: 18px; padding: 15px 17px; border-color: #e7d8d4; border-radius: 11px; background: #fffaf8; }
#app .tenant-admin-page .tenant-admin-danger-zone strong { font-size: 13px; }
#app .tenant-admin-page .tenant-admin-danger-zone span { color: #92766d; font-size: 11px; line-height: 1.5; }

#app .tenant-admin-page .tenant-admin-modal-overlay { background: rgba(21, 33, 58, .44); }
#app .tenant-admin-page .tenant-admin-modal { border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .tenant-admin-page .tenant-admin-modal .eyebrow { color: #315bea; }
#app .tenant-admin-page .tenant-admin-modal h2 { color: #182338; font-size: 23px; }
#app .tenant-admin-page .tenant-admin-modal-copy { color: #53647a; font-size: 12px; line-height: 1.65; }
#app .tenant-admin-page .tenant-admin-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .tenant-admin-page .tenant-admin-support-note { border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.55; }
#app .tenant-admin-page .tenant-admin-modal-actions { border-top-color: #e5e9f2; }
#app .tenant-admin-page .tenant-admin-empty { padding: 28px; color: #71809b; }
#app .tenant-admin-page .tenant-admin-empty strong { color: #30415f; font-size: 14px; }
#app .tenant-admin-page .tenant-admin-empty span { font-size: 12px; }

@media (max-width: 1180px) {
  #app .tenant-admin-page .tenant-admin-list-layout { grid-template-columns: 1fr; }
  #app .tenant-admin-page .tenant-admin-selected { position: static; }
}

@media (max-width: 920px) {
  #app .tenant-admin-page .page-heading-actions { flex-wrap: wrap; }
  #app .tenant-admin-page .tenant-admin-toolbar { grid-template-columns: minmax(210px, 1fr) repeat(3, minmax(116px, 1fr)); }
  #app .tenant-admin-page .tenant-admin-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
  #app .tenant-admin-page .tenant-admin-config-head-actions { flex-wrap: wrap; }
}

@media (max-width: 700px) {
  #app .tenant-admin-page .page-heading h1 { font-size: 28px; }
  #app .tenant-admin-page .page-heading-actions { width: 100%; }
  #app .tenant-admin-page .tenant-admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .tenant-admin-page .tenant-admin-toolbar { grid-template-columns: 1fr 1fr; }
  #app .tenant-admin-page .tenant-admin-search { grid-column: 1 / -1; }
  #app .tenant-admin-page .tenant-admin-toolbar > .button { grid-column: auto; }
  #app .tenant-admin-page .tenant-admin-table { min-width: 960px; }
}

@media (max-width: 600px) {
  #app .tenant-admin-page .tenant-admin-stat-grid { grid-template-columns: 1fr; }
  #app .tenant-admin-page .tenant-admin-form-grid,
  #app .tenant-admin-page .tenant-admin-account-link-grid { grid-template-columns: 1fr; }
  #app .tenant-admin-page .tenant-admin-selected-metrics { grid-template-columns: 1fr; margin-right: 16px; margin-left: 16px; }
  #app .tenant-admin-page .tenant-admin-account-summary,
  #app .tenant-admin-page .tenant-admin-health-note,
  #app .tenant-admin-page .tenant-admin-connector-list,
  #app .tenant-admin-page .tenant-admin-section-label { margin-right: 16px; margin-left: 16px; }
  #app .tenant-admin-page .tenant-admin-toolbar,
  #app .tenant-admin-page .tenant-admin-footer,
  #app .tenant-admin-page .tenant-admin-table-footer,
  #app .tenant-admin-page .tenant-admin-danger-zone { align-items: flex-start; }
  #app .tenant-admin-page .tenant-admin-toolbar { display: flex; flex-direction: column; }
  #app .tenant-admin-page .tenant-admin-search,
  #app .tenant-admin-page .tenant-admin-select { width: 100%; }
  #app .tenant-admin-page .tenant-admin-config-head-actions .button { flex: 1 1 auto; }
}

/* 规则中心：用“规则包 → 版本 → 生效范围 → 审计”承载内部治理决策。 */
#app .rules-center-page { color: #30415f; }
#app .rules-center-page .page-heading { align-items: flex-start; margin-bottom: 24px; }
#app .rules-center-page .page-heading > div:first-child { min-width: 0; }
#app .rules-center-page .page-heading .eyebrow { color: #315bea; }
#app .rules-center-page .page-heading h1 { color: #182338; font-size: 32px; line-height: 1.2; letter-spacing: -.035em; }
#app .rules-center-page .page-heading p { max-width: 760px; color: #53647a; font-size: 13px; line-height: 1.7; }
#app .rules-center-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; gap: 8px; }
#app .rules-center-page .page-heading-actions .button { min-height: 38px; padding: 0 12px; font-size: 12px; }
#app .rules-center-page .button-primary { border-color: #315bea; background: #315bea; box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .rules-center-page .button-primary:hover { border-color: #2447c3; background: #2447c3; }
#app .rules-center-page .button-secondary,
#app .rules-center-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .rules-center-page .button-secondary:hover,
#app .rules-center-page .button-quiet:hover { border-color: #9eb3ef; color: #2447c3; background: #f5f7ff; }

#app .rules-center-page .rules-center-stat-grid { gap: 14px; margin-bottom: 21px; }
#app .rules-center-page .rules-center-stat-card {
  position: relative;
  min-height: 138px;
  overflow: hidden;
  padding: 20px 21px;
  border-color: #dce3ee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(45, 65, 112, .06);
}
#app .rules-center-page .rules-center-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #315bea; content: ""; }
#app .rules-center-page .rules-center-stat-green::before { background: #13b7c9; }
#app .rules-center-page .rules-center-stat-blue::before { background: #2f80ed; }
#app .rules-center-page .rules-center-stat-purple::before { background: #7653d6; }
#app .rules-center-page .rules-center-stat-orange::before { background: #c17800; }
#app .rules-center-page .rules-center-stat-card .stat-top { color: #53647a; font-size: 13px; font-weight: 750; }
#app .rules-center-page .rules-center-stat-card .stat-value { margin-top: 13px; color: #182338; font-size: 31px; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
#app .rules-center-page .rules-center-stat-card .stat-meta { margin-top: 9px; color: #71809b; font-size: 12px; line-height: 1.45; }
#app .rules-center-page .rules-center-stat-card .stat-icon { width: 29px; height: 29px; color: #315bea; background: #eef2ff; font-size: 15px; }
#app .rules-center-page .rules-center-stat-green .stat-value { color: #087f8c; }
#app .rules-center-page .rules-center-stat-blue .stat-value { color: #2f80ed; }
#app .rules-center-page .rules-center-stat-purple .stat-value { color: #7653d6; }
#app .rules-center-page .rules-center-stat-orange .stat-value { color: #a15f00; }
#app .rules-center-page .rules-center-stat-green .stat-icon { color: #087f8c; background: #e5f7f7; }
#app .rules-center-page .rules-center-stat-blue .stat-icon { color: #2f80ed; background: #edf4ff; }
#app .rules-center-page .rules-center-stat-purple .stat-icon { color: #7653d6; background: #f1edff; }
#app .rules-center-page .rules-center-stat-orange .stat-icon { color: #c17800; background: #fff4df; }

#app .rules-center-page .rules-center-layout { grid-template-columns: minmax(320px, .82fr) minmax(0, 1.6fr); gap: 20px; align-items: start; }
#app .rules-center-page .rules-center-registry,
#app .rules-center-page .rules-center-panel { overflow: hidden; border-color: #dce3ee; box-shadow: 0 6px 18px rgba(45, 65, 112, .055); }
#app .rules-center-page .rules-center-registry .panel-header,
#app .rules-center-page .rules-center-panel .panel-header { padding: 21px 22px 16px; }
#app .rules-center-page .rules-center-registry .panel-header h2,
#app .rules-center-page .rules-center-panel .panel-header h3 { color: #182338; font-size: 18px; line-height: 1.4; }
#app .rules-center-page .rules-center-registry .panel-header p,
#app .rules-center-page .rules-center-panel .panel-header p { margin-top: 6px; color: #53647a; font-size: 12px; line-height: 1.6; }
#app .rules-center-page .rules-center-panel .panel-header > div { min-width: 0; }
#app .rules-center-page .rules-center-result-count,
#app .rules-center-page .rules-center-config-note,
#app .rules-center-page .rules-center-muted { color: #71809b; font-size: 12px; }
#app .rules-center-page .rules-center-config-note { flex: 0 0 auto; white-space: nowrap; }
#app .rules-center-page .rules-center-toolbar { grid-template-columns: minmax(170px, 1fr) 112px 112px auto; gap: 10px; padding: 0 20px 18px; }
#app .rules-center-page .rules-center-search input,
#app .rules-center-page .rules-center-select select { min-height: 42px; border-color: #cbd6ee; border-radius: 9px; color: #30415f; background: #fbfcff; font-size: 13px; }
#app .rules-center-page .rules-center-search input:focus,
#app .rules-center-page .rules-center-select select:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); outline: 0; }
#app .rules-center-page .rules-center-search i { top: 11px; color: #315bea; }
#app .rules-center-page .rules-center-select { gap: 5px; }
#app .rules-center-page .rules-center-select span { color: #53647a; font-size: 12px; font-weight: 750; }
#app .rules-center-page .rules-center-table-wrap { overflow-x: auto; padding: 0 18px 18px; }
#app .rules-center-page .rules-center-package-table { min-width: 820px; table-layout: auto; }
#app .rules-center-page .rules-center-package-table th,
#app .rules-center-page .rules-center-binding-table th,
#app .rules-center-page .rules-center-version-table th,
#app .rules-center-page .rules-center-audit-table th { padding: 13px 12px; color: #53647a; background: #f6f8fc; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .rules-center-page .rules-center-package-table td,
#app .rules-center-page .rules-center-binding-table td,
#app .rules-center-page .rules-center-version-table td,
#app .rules-center-page .rules-center-audit-table td { padding: 15px 12px; color: #27364f; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: normal; }
#app .rules-center-page .rules-center-package-table tbody tr:hover td,
#app .rules-center-page .rules-center-binding-table tbody tr:hover td,
#app .rules-center-page .rules-center-version-table tbody tr:hover td,
#app .rules-center-page .rules-center-audit-table tbody tr:hover td { background: #f5f7ff; }
#app .rules-center-page .rules-center-package-table tr.is-selected td { background: #f1f5ff; }
#app .rules-center-page .rules-center-name-button { gap: 4px; color: #27364f; }
#app .rules-center-page .rules-center-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .rules-center-page .rules-center-name-button small,
#app .rules-center-page .rules-center-package-table td small,
#app .rules-center-page .rules-center-binding-table td small { margin-top: 4px; color: #8995aa; font-size: 11px; line-height: 1.45; }
#app .rules-center-page .rules-center-name-button:hover strong { color: #315bea; }
#app .rules-center-page .rules-center-bound-cell { gap: 4px; color: #30415f; font-size: 13px; line-height: 1.45; }
#app .rules-center-page .rules-center-registry-foot,
#app .rules-center-page .rules-center-footer,
#app .rules-center-page .rules-center-binding-foot { padding: 12px 20px 17px; color: #8995aa; font-size: 12px; line-height: 1.5; }

#app .rules-center-page .rules-center-detail { gap: 18px; min-width: 0; }
#app .rules-center-page .rules-center-detail-head { align-items: flex-start; gap: 18px; }
#app .rules-center-page .rules-center-kicker { color: #315bea; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
#app .rules-center-page .rules-center-detail-head h2 { margin: 5px 0 4px; color: #182338; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
#app .rules-center-page .rules-center-detail-head p { max-width: 620px; margin: 0; color: #53647a; font-size: 12px; line-height: 1.6; }
#app .rules-center-page .rules-center-detail-actions { flex-wrap: nowrap; gap: 8px; }
#app .rules-center-page .rules-center-detail-actions .button { min-height: 38px; padding: 0 11px; font-size: 12px; white-space: nowrap; }
#app .rules-center-page .rules-center-config-grid,
#app .rules-center-page .rules-center-lower-grid { gap: 18px; }
#app .rules-center-page .rules-center-panel .panel-header h3 { font-size: 17px; }
#app .rules-center-page .rules-center-form-grid { gap: 14px; }
#app .rules-center-page .rules-center-form-grid input,
#app .rules-center-page .rules-center-form-grid select,
#app .rules-center-page .rules-center-form-grid textarea { border-color: #cbd6ee; border-radius: 9px; background: #fbfcff; }
#app .rules-center-page .rules-center-form-grid input:focus,
#app .rules-center-page .rules-center-form-grid select:focus,
#app .rules-center-page .rules-center-form-grid textarea:focus { border-color: #315bea; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .rules-center-page .rules-center-check-grid { gap: 8px; padding: 0 22px 22px; }
#app .rules-center-page .rules-center-check-field { min-height: 76px; padding: 11px 12px; border-color: #dce3ee; border-radius: 9px; background: #fbfcff; }
#app .rules-center-page .rules-center-check-field input { accent-color: #315bea; }
#app .rules-center-page .rules-center-check-field strong { color: #30415f; font-size: 13px; line-height: 1.45; }
#app .rules-center-page .rules-center-check-field small,
#app .rules-center-page .rules-center-form-grid .field-help { color: #71809b; font-size: 11px; line-height: 1.5; }
#app .rules-center-page .rules-center-binding-panel { grid-column: 1 / -1; }
#app .rules-center-page .rules-center-binding-panel .panel-header { align-items: flex-start; }
#app .rules-center-page .rules-center-binding-panel .panel-header > .button { display: inline-flex !important; flex: 0 0 148px !important; width: 148px !important; min-width: 148px !important; align-items: center; justify-content: center; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; }
#app .rules-center-page .rules-center-scope-note { margin: 0 22px 16px; padding: 11px 13px; border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .rules-center-page .rules-center-scope-note strong { color: #30415f; }
#app .rules-center-page .rules-center-binding-table { min-width: 960px; }
#app .rules-center-page .rules-center-binding-table td strong { color: #30415f; font-size: 13px; }
#app .rules-center-page .rules-center-binding-foot { padding: 12px 22px 18px; }
#app .rules-center-page .rules-center-version-table { min-width: 780px; }
#app .rules-center-page .rules-center-audit-table { min-width: 600px; }
#app .rules-center-page .rules-center-row-actions { flex-wrap: nowrap; gap: 6px; }
#app .rules-center-page .rules-center-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .rules-center-page .rules-center-empty { padding: 28px; color: #71809b; }
#app .rules-center-page .rules-center-empty strong { color: #30415f; font-size: 14px; }
#app .rules-center-page .rules-center-empty span { font-size: 12px; line-height: 1.55; }

#app .rules-center-page .rules-center-modal-overlay { background: rgba(21, 33, 58, .44); }
#app .rules-center-page .rules-center-modal { border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .rules-center-page .rules-center-modal .eyebrow { color: #315bea; }
#app .rules-center-page .rules-center-modal h2 { color: #182338; font-size: 23px; }
#app .rules-center-page .rules-center-modal-copy { color: #53647a; font-size: 12px; line-height: 1.65; }
#app .rules-center-page .rules-center-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .rules-center-page .rules-center-modal-note { border-left-color: #c17800; color: #805d22; background: #fff7e8; font-size: 12px; line-height: 1.55; }
#app .rules-center-page .rules-center-account-preview { border-color: #dce3ee; color: #71809b; background: #f8faff; font-size: 12px; line-height: 1.5; }
#app .rules-center-page .rules-center-account-preview strong { color: #30415f; }
#app .rules-center-page .rules-center-modal-actions { border-top-color: #e5e9f2; }

@media (min-width: 1181px) {
  #app .rules-center-page .rules-center-registry .rules-center-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app .rules-center-page .rules-center-registry .rules-center-search { grid-column: 1 / -1; }
  #app .rules-center-page .rules-center-registry .rules-center-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 1180px) {
  #app .rules-center-page .rules-center-layout { grid-template-columns: 1fr; }
  #app .rules-center-page .rules-center-detail-head { flex-direction: column; }
  #app .rules-center-page .rules-center-detail-actions { width: 100%; justify-content: flex-start; }
}

@media (max-width: 920px) {
  #app .rules-center-page .page-heading-actions { flex-wrap: wrap; }
  #app .rules-center-page .rules-center-toolbar { grid-template-columns: minmax(180px, 1fr) 1fr 1fr; }
  #app .rules-center-page .rules-center-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 800px) {
  #app .rules-center-page .rules-center-config-grid,
  #app .rules-center-page .rules-center-lower-grid { grid-template-columns: 1fr; }
  #app .rules-center-page .rules-center-binding-panel { grid-column: auto; }
  #app .rules-center-page .rules-center-check-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  #app .rules-center-page .page-heading h1 { font-size: 28px; }
  #app .rules-center-page .rules-center-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .rules-center-page .rules-center-toolbar { grid-template-columns: 1fr 1fr; }
  #app .rules-center-page .rules-center-search { grid-column: 1 / -1; }
  #app .rules-center-page .rules-center-toolbar > .button { grid-column: auto; }
  #app .rules-center-page .rules-center-detail-actions { flex-wrap: wrap; }
  #app .rules-center-page .rules-center-detail-actions .button { flex: 1 1 auto; }
}

@media (max-width: 600px) {
  #app .rules-center-page .rules-center-stat-grid { grid-template-columns: 1fr; }
  #app .rules-center-page .rules-center-form-grid { grid-template-columns: 1fr; }
  #app .rules-center-page .rules-center-field-wide,
  #app .rules-center-page .rules-center-account-preview { grid-column: auto; }
  #app .rules-center-page .rules-center-toolbar { display: flex; flex-direction: column; }
  #app .rules-center-page .rules-center-search,
  #app .rules-center-page .rules-center-select { width: 100%; }
  #app .rules-center-page .rules-center-scope-note { align-items: flex-start; flex-direction: column; margin-right: 16px; margin-left: 16px; }
  #app .rules-center-page .rules-center-binding-foot,
  #app .rules-center-page .rules-center-registry-foot,
  #app .rules-center-page .rules-center-footer { align-items: flex-start; flex-direction: column; }
}

/* 组织与规则 · 平台成员：平台身份、支持范围和审计的蓝靛色治理工作台。 */
#app .platform-member-page { color: #30415f; }
#app .platform-member-page .page-heading { margin-bottom: 24px; }
#app .platform-member-page .page-heading .eyebrow,
#app .platform-member-page .platform-member-kicker { color: #315bea; }
#app .platform-member-page .page-heading h1 { color: #182338; font-size: clamp(30px, 3vw, 36px); }
#app .platform-member-page .page-heading p { max-width: 640px; color: #71809b; font-size: 13px; line-height: 1.65; }
#app .platform-member-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; align-self: flex-start; }
#app .platform-member-page .page-heading-actions .button { min-height: 40px; padding: 0 13px; font-size: 13px; white-space: nowrap; }
#app .platform-member-page .button-primary { border-color: #315bea; color: #fff; background: #315bea; box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .platform-member-page .button-primary:hover { border-color: #2447c3; background: #2447c3; }
#app .platform-member-page .button-secondary,
#app .platform-member-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .platform-member-page .button-secondary:hover,
#app .platform-member-page .button-quiet:hover { border-color: #9eb3ef; color: #2447c3; background: #f5f7ff; }
#app .platform-member-page .button-danger-link { color: #bd5b61; background: #fff7f7; }
#app .platform-member-page .platform-member-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
#app .platform-member-page .platform-member-stat-card { position: relative; min-height: 130px; overflow: hidden; padding: 20px 19px; border-color: #dce3ee; border-radius: 13px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .platform-member-page .platform-member-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: #315bea; }
#app .platform-member-page .platform-member-stat-green::before { background: #1fa78a; }
#app .platform-member-page .platform-member-stat-orange::before { background: #d28b22; }
#app .platform-member-page .platform-member-stat-gray::before { background: #8c9bb4; }
#app .platform-member-page .platform-member-stat-purple::before { background: #7658df; }
#app .platform-member-page .platform-member-stat-card .stat-top { color: #617394; font-size: 13px; font-weight: 750; }
#app .platform-member-page .platform-member-stat-card .stat-icon { width: 30px; height: 30px; color: #315bea; background: #eef2ff; }
#app .platform-member-page .platform-member-stat-card .stat-value { margin-top: 17px; color: #182338; font-family: inherit; font-size: 32px; font-weight: 800; letter-spacing: -.04em; }
#app .platform-member-page .platform-member-stat-green .stat-value { color: #149479; }
#app .platform-member-page .platform-member-stat-orange .stat-value { color: #b36c12; }
#app .platform-member-page .platform-member-stat-gray .stat-value { color: #71809b; }
#app .platform-member-page .platform-member-stat-purple .stat-value { color: #6c4dd1; }
#app .platform-member-page .platform-member-stat-card .stat-meta { margin-top: 6px; color: #8995aa; font-size: 12px; line-height: 1.45; }
#app .platform-member-page .platform-member-list-layout { grid-template-columns: minmax(0, 1.68fr) minmax(350px, .9fr); gap: 18px; }
#app .platform-member-page .platform-member-table-panel,
#app .platform-member-page .platform-member-selected,
#app .platform-member-page .platform-member-config-panel,
#app .platform-member-page .platform-member-support-panel,
#app .platform-member-page .platform-member-audit-panel { overflow: hidden; border-color: #dce3ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .platform-member-page .platform-member-table-panel { border-top: 3px solid #315bea; }
#app .platform-member-page .platform-member-selected { position: sticky; top: 18px; border-top: 3px solid #7658df; }
#app .platform-member-page .platform-member-table-panel > .panel-header,
#app .platform-member-page .platform-member-selected > .panel-header,
#app .platform-member-page .platform-member-config-panel > .panel-header,
#app .platform-member-page .platform-member-support-panel > .panel-header,
#app .platform-member-page .platform-member-audit-panel > .panel-header { padding: 20px 22px 16px; }
#app .platform-member-page .panel-header h2,
#app .platform-member-page .panel-header h3 { color: #182338; font-size: 18px; line-height: 1.4; }
#app .platform-member-page .panel-header p { margin-top: 6px; color: #71809b; font-size: 12px; line-height: 1.6; }
#app .platform-member-page .platform-member-result-count { color: #8995aa; font-size: 12px; white-space: nowrap; }
#app .platform-member-page .platform-member-toolbar { grid-template-columns: minmax(0, 1fr) 150px 130px auto; gap: 10px; padding: 0 22px 16px; }
#app .platform-member-page .platform-member-search input,
#app .platform-member-page .platform-member-select select { min-height: 42px; padding: 9px 12px; border-color: #d5deef; border-radius: 9px; color: #30415f; background: #fbfcff; font-size: 13px; }
#app .platform-member-page .platform-member-search input:focus,
#app .platform-member-page .platform-member-select select:focus { border-color: #315bea; outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .platform-member-page .platform-member-search i { top: 10px; right: 12px; color: #315bea; }
#app .platform-member-page .platform-member-select { gap: 5px; color: #71809b; font-size: 12px; }
#app .platform-member-page .platform-member-table-wrap { overflow-x: auto; border-top: 1px solid #e5e9f2; }
#app .platform-member-page .platform-member-table { min-width: 1080px; }
#app .platform-member-page .platform-member-table th { padding: 14px 12px; color: #536b99; background: #f6f8ff; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .platform-member-page .platform-member-table td { padding: 15px 12px; color: #53647a; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: nowrap; }
#app .platform-member-page .platform-member-table tbody tr { border-top-color: #e5e9f2; }
#app .platform-member-page .platform-member-table tbody tr:hover td { background: #f8faff; }
#app .platform-member-page .platform-member-table tr.is-selected td { background: #f1f4ff; }
#app .platform-member-page .platform-member-name-button { gap: 4px; color: #27364f; }
#app .platform-member-page .platform-member-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .platform-member-page .platform-member-name-button small,
#app .platform-member-page .platform-member-scope-cell small,
#app .platform-member-page .platform-member-table td small { margin-top: 4px; color: #8995aa; font-size: 12px; line-height: 1.45; }
#app .platform-member-page .platform-member-name-button:hover strong { color: #315bea; }
#app .platform-member-page .platform-member-scope-cell { gap: 3px; min-width: 160px; }
#app .platform-member-page .platform-member-scope-cell strong { color: #30415f; font-size: 13px; }
#app .platform-member-page .platform-member-row-actions { flex-wrap: nowrap; gap: 6px; }
#app .platform-member-page .platform-member-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .platform-member-page .platform-member-table-footer,
#app .platform-member-page .platform-member-footer { padding: 13px 22px 17px; color: #8995aa; font-size: 12px; line-height: 1.5; }
#app .platform-member-page .platform-member-selected { padding-bottom: 20px; }
#app .platform-member-page .platform-member-selected h2,
#app .platform-member-page .platform-member-config-head h2 { margin: 5px 0 5px; color: #182338; font-size: 24px; }
#app .platform-member-page .platform-member-selected p,
#app .platform-member-page .platform-member-config-head p { color: #71809b; font-size: 12px; line-height: 1.6; }
#app .platform-member-page .platform-member-selected-meta { gap: 8px; margin: 0 22px; }
#app .platform-member-page .platform-member-selected-meta > div { min-width: 0; padding: 11px; border-color: #dce3ee; border-radius: 9px; background: #fbfcff; }
#app .platform-member-page .platform-member-selected-meta span,
#app .platform-member-page .platform-member-support-explain span,
#app .platform-member-page .platform-member-support-context span { color: #8995aa; font-size: 12px; }
#app .platform-member-page .platform-member-selected-meta strong { color: #30415f; font-size: 14px; }
#app .platform-member-page .platform-member-selected-meta small { color: #71809b; font-size: 11px; line-height: 1.45; }
#app .platform-member-page .platform-member-boundary-note,
#app .platform-member-page .platform-member-scope-note { margin: 16px 22px 0; padding: 11px 13px; border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .platform-member-page .platform-member-boundary-note strong,
#app .platform-member-page .platform-member-scope-note strong { color: #30415f; }
#app .platform-member-page .platform-member-permission-list { gap: 8px; margin: 16px 22px 0; }
#app .platform-member-page .platform-member-permission-list-large { margin: 0 22px; }
#app .platform-member-page .platform-member-permission { min-width: 0; padding: 10px 11px; border-color: #dce3ee; color: #53647a; background: #fbfcff; font-size: 12px; line-height: 1.45; }
#app .platform-member-page .platform-member-permission i { flex: 0 0 19px; width: 19px; height: 19px; color: #fff; background: #315bea; }
#app .platform-member-page .platform-member-selected-actions { margin: 17px 22px 0; }
#app .platform-member-page .platform-member-selected-actions .button { min-height: 40px; font-size: 13px; white-space: nowrap; }
#app .platform-member-page .platform-member-config-head { margin-bottom: 18px; }
#app .platform-member-page .platform-member-config-head-actions { flex-wrap: nowrap; }
#app .platform-member-page .platform-member-config-head-actions .button { min-height: 40px; font-size: 13px; white-space: nowrap; }
#app .platform-member-page .platform-member-config-grid { gap: 18px; }
#app .platform-member-page .platform-member-config-panel,
#app .platform-member-page .platform-member-support-panel,
#app .platform-member-page .platform-member-audit-panel { border-top: 3px solid #315bea; }
#app .platform-member-page .platform-member-form-grid { gap: 13px; padding: 0 22px; }
#app .platform-member-page .platform-member-form-grid input,
#app .platform-member-page .platform-member-form-grid select,
#app .platform-member-page .platform-member-form-grid textarea { min-height: 42px; padding: 9px 12px; border-color: #d5deef; border-radius: 9px; color: #30415f; background: #fbfcff; font-size: 13px; }
#app .platform-member-page .platform-member-form-grid textarea { min-height: 88px; }
#app .platform-member-page .platform-member-form-grid input:focus,
#app .platform-member-page .platform-member-form-grid select:focus,
#app .platform-member-page .platform-member-form-grid textarea:focus { border-color: #315bea; outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .platform-member-page .platform-member-role-note,
#app .platform-member-page .platform-member-account-preview { margin: 16px 22px 22px; padding: 12px 13px; border-color: #dce3ee; border-radius: 9px; color: #71809b; background: #f8faff; font-size: 12px; line-height: 1.55; }
#app .platform-member-page .platform-member-role-note strong,
#app .platform-member-page .platform-member-account-preview strong { color: #30415f; font-size: 13px; }
#app .platform-member-page .platform-member-support-explain { margin: 0 22px 14px; padding: 11px 13px; border-left-color: #315bea; color: #536b99; background: #f5f7ff; font-size: 12px; }
#app .platform-member-page .platform-member-scope-table-wrap,
#app .platform-member-page .platform-member-audit-table-wrap { overflow-x: auto; margin: 0 22px 22px; }
#app .platform-member-page .platform-member-scope-table { min-width: 1100px; }
#app .platform-member-page .platform-member-audit-table { min-width: 680px; }
#app .platform-member-page .platform-member-scope-table th,
#app .platform-member-page .platform-member-audit-table th { padding: 13px 12px; color: #536b99; background: #f6f8ff; font-size: 13px; white-space: nowrap; }
#app .platform-member-page .platform-member-scope-table td,
#app .platform-member-page .platform-member-audit-table td { padding: 14px 12px; color: #53647a; font-size: 13px; line-height: 1.5; vertical-align: middle; }
#app .platform-member-page .platform-member-scope-table td strong,
#app .platform-member-page .platform-member-audit-table td strong { color: #30415f; font-size: 13px; }
#app .platform-member-page .platform-member-modal-overlay { background: rgba(21, 33, 58, .44); }
#app .platform-member-page .platform-member-modal { border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .platform-member-page .platform-member-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .platform-member-page .platform-member-modal h2 { color: #182338; font-size: 23px; }
#app .platform-member-page .platform-member-modal-copy { color: #71809b; font-size: 12px; line-height: 1.65; }
#app .platform-member-page .platform-member-modal-note { border-left-color: #c17800; color: #805d22; background: #fff7e8; font-size: 12px; line-height: 1.55; }
#app .platform-member-page .platform-member-modal-actions { border-top-color: #e5e9f2; }

@media (min-width: 1181px) {
  #app .platform-member-page .platform-member-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app .platform-member-page .platform-member-search { grid-column: 1 / -1; }
  #app .platform-member-page .platform-member-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 1180px) {
  #app .platform-member-page .platform-member-list-layout { grid-template-columns: 1fr; }
  #app .platform-member-page .platform-member-selected { position: static; }
  #app .platform-member-page .platform-member-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app .platform-member-page .platform-member-search { grid-column: 1 / -1; }
  #app .platform-member-page .platform-member-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 900px) {
  #app .platform-member-page .page-heading { align-items: flex-start; flex-direction: column; }
  #app .platform-member-page .page-heading-actions { width: 100%; flex-wrap: wrap; }
  #app .platform-member-page .platform-member-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .platform-member-page .platform-member-config-grid { grid-template-columns: 1fr; }
  #app .platform-member-page .platform-member-support-panel,
  #app .platform-member-page .platform-member-audit-panel { grid-column: auto; }
  #app .platform-member-page .platform-member-config-head { align-items: flex-start; flex-direction: column; }
  #app .platform-member-page .platform-member-config-head-actions { flex-wrap: wrap; }
}

@media (max-width: 650px) {
  #app .platform-member-page .page-heading h1 { font-size: 28px; }
  #app .platform-member-page .platform-member-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .platform-member-page .platform-member-toolbar { display: flex; flex-direction: column; }
  #app .platform-member-page .platform-member-search,
  #app .platform-member-page .platform-member-select { width: 100%; }
  #app .platform-member-page .platform-member-selected-meta,
  #app .platform-member-page .platform-member-permission-list-large,
  #app .platform-member-page .platform-member-form-grid,
  #app .platform-member-page .platform-member-support-context { grid-template-columns: 1fr; }
  #app .platform-member-page .platform-member-selected-meta { margin-right: 16px; margin-left: 16px; }
  #app .platform-member-page .platform-member-boundary-note,
  #app .platform-member-page .platform-member-scope-note,
  #app .platform-member-page .platform-member-permission-list,
  #app .platform-member-page .platform-member-permission-list-large,
  #app .platform-member-page .platform-member-support-explain,
  #app .platform-member-page .platform-member-scope-table-wrap,
  #app .platform-member-page .platform-member-audit-table-wrap { margin-right: 16px; margin-left: 16px; }
  #app .platform-member-page .platform-member-form-grid,
  #app .platform-member-page .platform-member-role-note,
  #app .platform-member-page .platform-member-account-preview { margin-right: 16px; margin-left: 16px; padding-right: 0; padding-left: 0; }
  #app .platform-member-page .platform-member-form-grid { padding-right: 0; padding-left: 0; }
  #app .platform-member-page .platform-member-table-footer,
  #app .platform-member-page .platform-member-footer { align-items: flex-start; flex-direction: column; }
}

/* 账单与订阅：商业运营工作台视觉收口 */
#app .billing-admin-page {
  --billing-ink: #182338;
  --billing-text: #30415f;
  --billing-muted: #71809b;
  --billing-faint: #8995aa;
  --billing-line: #dce3ee;
  --billing-soft: #f6f8ff;
  --billing-blue: #315bea;
  --billing-blue-dark: #2447c3;
  --billing-purple: #7658df;
  --billing-green: #1fa78a;
  --billing-orange: #d28b22;
  color: var(--billing-text);
}

#app .billing-admin-page .page-heading {
  align-items: flex-end;
  margin-bottom: 22px;
}
#app .billing-admin-page .page-heading h1 {
  color: var(--billing-ink);
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: -.04em;
  line-height: 1.12;
}
#app .billing-admin-page .page-heading p {
  max-width: 760px;
  margin-top: 8px;
  color: var(--billing-muted);
  font-size: 14px;
  line-height: 1.65;
}
#app .billing-admin-page .page-heading-actions {
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#app .billing-admin-page .button {
  min-height: 38px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
}
#app .billing-admin-page .button-primary {
  border-color: var(--billing-blue);
  background: var(--billing-blue);
  box-shadow: 0 5px 12px rgba(49, 91, 234, .16);
}
#app .billing-admin-page .button-primary:hover { background: var(--billing-blue-dark); }
#app .billing-admin-page .button-secondary,
#app .billing-admin-page .button-quiet {
  border-color: #cfd9ec;
  color: #35517f;
  background: #fff;
}
#app .billing-admin-page .button-secondary:hover,
#app .billing-admin-page .button-quiet:hover {
  border-color: #9eb3ef;
  color: var(--billing-blue-dark);
  background: #f6f8ff;
}

#app .billing-admin-page .billing-admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}
#app .billing-admin-page .billing-admin-stat-card {
  min-width: 0;
  min-height: 133px;
  padding: 17px 18px 15px;
  border: 1px solid var(--billing-line);
  border-top: 3px solid var(--billing-blue);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(35, 57, 100, .045);
}
#app .billing-admin-page .billing-admin-stat-card.billing-admin-stat-green { border-top-color: var(--billing-green); }
#app .billing-admin-page .billing-admin-stat-card.billing-admin-stat-orange { border-top-color: var(--billing-orange); }
#app .billing-admin-page .billing-admin-stat-card.billing-admin-stat-purple { border-top-color: var(--billing-purple); }
#app .billing-admin-page .billing-admin-stat-card .stat-top { align-items: center; color: var(--billing-muted); font-size: 12px; font-weight: 700; }
#app .billing-admin-page .billing-admin-stat-card .stat-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  color: var(--billing-blue);
  background: #edf2ff;
  font-size: 14px;
  font-weight: 800;
}
#app .billing-admin-page .billing-admin-stat-green .stat-icon { color: #159277; background: #e8f7f2; }
#app .billing-admin-page .billing-admin-stat-orange .stat-icon { color: #b56e13; background: #fff4df; }
#app .billing-admin-page .billing-admin-stat-purple .stat-icon { color: #694bd2; background: #f0ecff; }
#app .billing-admin-page .stat-value { margin-top: 12px; color: #253b68; font-size: clamp(24px, 2vw, 31px); line-height: 1; }
#app .billing-admin-page .stat-meta { margin-top: 9px; color: var(--billing-faint); font-size: 12px; line-height: 1.45; }

#app .billing-admin-page .billing-admin-tabs {
  display: flex;
  gap: 28px;
  min-height: 55px;
  margin-bottom: 18px;
  overflow-x: auto;
  border-bottom: 1px solid var(--billing-line);
}
#app .billing-admin-page .billing-admin-tabs button {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 55px;
  padding: 0 2px;
  border: 0;
  color: #71809b;
  background: transparent;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
#app .billing-admin-page .billing-admin-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  content: '';
}
#app .billing-admin-page .billing-admin-tabs button:hover { color: var(--billing-blue); }
#app .billing-admin-page .billing-admin-tabs button.active { color: var(--billing-blue-dark); }
#app .billing-admin-page .billing-admin-tabs button.active::after { background: var(--billing-blue); }
#app .billing-admin-page .billing-admin-tabs button span {
  display: inline-grid;
  min-width: 23px;
  height: 22px;
  place-items: center;
  padding: 0 6px;
  border-radius: 99px;
  color: #71809b;
  background: #eef2f8;
  font-size: 11px;
  font-weight: 800;
}
#app .billing-admin-page .billing-admin-tabs button.active span { color: var(--billing-blue); background: #e8eeff; }

#app .billing-admin-page .billing-admin-split-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(400px, .84fr);
  gap: 16px;
  align-items: start;
}
#app .billing-admin-page .billing-admin-table-panel,
#app .billing-admin-page .billing-admin-detail {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--billing-line);
  border-top: 3px solid var(--billing-blue);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(35, 57, 100, .04);
}
#app .billing-admin-page .billing-admin-detail {
  position: sticky;
  top: 18px;
  border-top-color: var(--billing-purple);
}
#app .billing-admin-page .billing-admin-table-panel > .panel-header,
#app .billing-admin-page .billing-admin-detail > .panel-header {
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px 14px;
  border-bottom: 0;
}
#app .billing-admin-page .panel-header h2 {
  color: var(--billing-ink);
  font-size: 17px;
  line-height: 1.35;
}
#app .billing-admin-page .panel-header p {
  margin-top: 5px;
  color: var(--billing-muted);
  font-size: 12px;
  line-height: 1.55;
}
#app .billing-admin-page .billing-admin-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--billing-purple);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
}
#app .billing-admin-page .billing-admin-result-count {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--billing-faint);
  font-size: 12px;
  white-space: nowrap;
}
#app .billing-admin-page .billing-admin-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 22px 17px;
}

#app .billing-admin-page .billing-admin-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px auto;
  gap: 9px;
  align-items: end;
  margin: 0 22px 15px;
  padding: 12px;
  border: 1px solid #e4e9f2;
  border-radius: 10px;
  background: #f8faff;
}
#app .billing-admin-page .billing-admin-toolbar .billing-admin-search { grid-column: 1 / -1; }
#app .billing-admin-page .billing-admin-search,
#app .billing-admin-page .billing-admin-select { min-width: 0; }
#app .billing-admin-page .billing-admin-search { position: relative; display: block; }
#app .billing-admin-page .billing-admin-search input,
#app .billing-admin-page .billing-admin-select select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #cfd9ec;
  border-radius: 8px;
  color: var(--billing-text);
  background: #fff;
  font-size: 13px;
}
#app .billing-admin-page .billing-admin-search input { padding: 0 36px 0 12px; }
#app .billing-admin-page .billing-admin-search input:focus,
#app .billing-admin-page .billing-admin-select select:focus,
#app .billing-admin-page .field input:focus,
#app .billing-admin-page .field select:focus,
#app .billing-admin-page .field textarea:focus {
  border-color: var(--billing-blue);
  outline: 3px solid rgba(49, 91, 234, .12);
}
#app .billing-admin-page .billing-admin-search i {
  position: absolute;
  top: 50%;
  right: 13px;
  color: var(--billing-blue);
  font-size: 16px;
  font-style: normal;
  transform: translateY(-50%);
}
#app .billing-admin-page .billing-admin-select { display: grid; gap: 5px; }
#app .billing-admin-page .billing-admin-select span { color: var(--billing-muted); font-size: 11px; font-weight: 700; }
#app .billing-admin-page .billing-admin-select select { padding: 0 10px; }
#app .billing-admin-page .billing-admin-toolbar > .button { align-self: end; white-space: nowrap; }

#app .billing-admin-page .billing-admin-table-wrap {
  overflow-x: auto;
  margin: 0 12px;
  border: 1px solid var(--billing-line);
  border-radius: 9px;
}
#app .billing-admin-page .billing-admin-table {
  width: 100%;
  min-width: 1050px;
  border-collapse: collapse;
  color: var(--billing-text);
  font-size: 13px;
}
#app .billing-admin-page .billing-admin-table th {
  padding: 12px 13px;
  border-bottom: 1px solid var(--billing-line);
  color: #627596;
  background: #f4f7ff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  white-space: nowrap;
}
#app .billing-admin-page .billing-admin-table td {
  min-height: 61px;
  padding: 13px;
  border-bottom: 1px solid #e8edf5;
  vertical-align: middle;
  line-height: 1.5;
}
#app .billing-admin-page .billing-admin-table tbody tr:last-child td { border-bottom: 0; }
#app .billing-admin-page .billing-admin-table tbody tr:hover,
#app .billing-admin-page .billing-admin-table tbody tr.is-selected { background: #f8faff; }
#app .billing-admin-page .billing-admin-table td strong { color: var(--billing-ink); font-weight: 800; }
#app .billing-admin-page .billing-admin-table td small,
#app .billing-admin-page .billing-admin-name-button small {
  display: block;
  margin-top: 4px;
  color: var(--billing-muted);
  font-size: 11px;
  line-height: 1.35;
}
#app .billing-admin-page .billing-admin-name-button {
  display: block;
  padding: 0;
  border: 0;
  color: var(--billing-text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
#app .billing-admin-page .billing-admin-name-button:hover strong { color: var(--billing-blue); }
#app .billing-admin-page .billing-admin-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#app .billing-admin-page .billing-admin-row-actions .button { min-height: 32px; padding: 0 10px; font-size: 12px; }
#app .billing-admin-page .billing-admin-table-footer,
#app .billing-admin-page .billing-admin-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 22px 17px;
  color: var(--billing-faint);
  font-size: 11px;
  line-height: 1.5;
}
#app .billing-admin-page .billing-admin-footer {
  margin-top: 16px;
  padding: 0 2px 4px;
}
#app .billing-admin-page .billing-admin-empty {
  display: grid;
  min-height: 130px;
  place-content: center;
  gap: 6px;
  padding: 22px;
  color: var(--billing-muted);
  text-align: center;
}
#app .billing-admin-page .billing-admin-empty strong { color: var(--billing-ink); font-size: 14px; }
#app .billing-admin-page .billing-admin-empty span { font-size: 12px; line-height: 1.5; }

#app .billing-admin-page .billing-admin-context-grid,
#app .billing-admin-page .billing-admin-contract-summary,
#app .billing-admin-page .billing-admin-context-card {
  display: grid;
  gap: 10px;
  margin: 0 22px 16px;
  padding: 12px;
  border: 1px solid #dbe4f5;
  border-radius: 10px;
  background: #f7f9ff;
}
#app .billing-admin-page .billing-admin-context-card { grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fbfcff; }
#app .billing-admin-page .billing-admin-context-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#app .billing-admin-page .billing-admin-contract-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fbfcff; }
#app .billing-admin-page .billing-admin-context-grid > div,
#app .billing-admin-page .billing-admin-contract-summary > div,
#app .billing-admin-page .billing-admin-context-card > div { display: grid; gap: 4px; min-width: 0; }
#app .billing-admin-page .billing-admin-context-grid span,
#app .billing-admin-page .billing-admin-contract-summary span,
#app .billing-admin-page .billing-admin-context-card span { color: var(--billing-faint); font-size: 11px; }
#app .billing-admin-page .billing-admin-context-grid strong,
#app .billing-admin-page .billing-admin-contract-summary strong,
#app .billing-admin-page .billing-admin-context-card strong { color: var(--billing-ink); font-size: 14px; overflow-wrap: anywhere; }
#app .billing-admin-page .billing-admin-context-grid small,
#app .billing-admin-page .billing-admin-context-card small { color: var(--billing-muted); font-size: 11px; line-height: 1.4; }
#app .billing-admin-page .billing-admin-contract-summary strong { color: #2e4fa4; font-size: 17px; }
#app .billing-admin-page .billing-admin-boundary-note {
  display: grid;
  gap: 4px;
  margin: 0 22px 20px;
  padding: 12px 13px;
  border-left: 3px solid var(--billing-blue);
  border-radius: 8px;
  color: var(--billing-muted);
  background: #f2f6ff;
  font-size: 12px;
  line-height: 1.55;
}
#app .billing-admin-page .billing-admin-boundary-note strong { color: #3454a6; font-size: 12px; }
#app .billing-admin-page .billing-admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin: 0 22px 16px;
}
#app .billing-admin-page .billing-admin-form-grid .field { min-width: 0; }
#app .billing-admin-page .billing-admin-form-grid .billing-admin-field-wide { grid-column: 1 / -1; }
#app .billing-admin-page .field { color: var(--billing-ink); font-size: 13px; font-weight: 700; }
#app .billing-admin-page .field > span { display: block; margin-bottom: 6px; }
#app .billing-admin-page .field input,
#app .billing-admin-page .field select,
#app .billing-admin-page .field textarea {
  width: 100%;
  min-height: 41px;
  padding: 9px 11px;
  border: 1px solid #cfd9ec;
  border-radius: 8px;
  color: var(--billing-text);
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}
#app .billing-admin-page .field textarea { resize: vertical; }
#app .billing-admin-page .billing-admin-check-field {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0 22px 16px;
  padding: 12px;
  border: 1px solid #dbe4f5;
  border-radius: 9px;
  color: var(--billing-text);
  background: #fbfcff;
  cursor: pointer;
}
#app .billing-admin-page .billing-admin-check-field input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; accent-color: var(--billing-blue); }
#app .billing-admin-page .billing-admin-check-field span { display: grid; gap: 4px; }
#app .billing-admin-page .billing-admin-check-field strong { color: var(--billing-ink); font-size: 13px; }
#app .billing-admin-page .billing-admin-check-field small { color: var(--billing-muted); font-size: 11px; line-height: 1.45; }
#app .billing-admin-page .billing-admin-progress { height: 7px; margin: 8px 0 5px; overflow: hidden; border-radius: 99px; background: #e7ecf5; }
#app .billing-admin-page .billing-admin-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #315bea, #7658df); }

#app .billing-admin-page .billing-admin-modal-overlay {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(21, 33, 58, .48);
}
#app .billing-admin-page .billing-admin-modal {
  position: relative;
  width: min(720px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
  overflow: auto;
  padding: 27px;
  border: 1px solid #d7dfef;
  border-top: 3px solid var(--billing-blue);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(23, 41, 82, .28);
}
#app .billing-admin-page .billing-admin-modal-close {
  position: absolute;
  top: 16px;
  right: 17px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #d7dfef;
  border-radius: 8px;
  color: #536b99;
  background: #f7f9ff;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}
#app .billing-admin-page .billing-admin-modal-close:hover { color: var(--billing-blue); border-color: #9eb3ef; }
#app .billing-admin-page .billing-admin-modal h2 { margin: 7px 40px 0 0; color: var(--billing-ink); font-size: 23px; line-height: 1.35; }
#app .billing-admin-page .billing-admin-modal .eyebrow { color: var(--billing-purple); font-size: 11px; font-weight: 800; letter-spacing: .05em; }
#app .billing-admin-page .billing-admin-modal-copy { margin-top: 8px; color: var(--billing-muted); font-size: 13px; line-height: 1.65; }
#app .billing-admin-page .billing-admin-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
#app .billing-admin-page .billing-admin-facts > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #e0e6f0;
  border-radius: 9px;
  background: #f9fbff;
}
#app .billing-admin-page .billing-admin-facts > .billing-admin-field-wide { grid-column: 1 / -1; }
#app .billing-admin-page .billing-admin-facts span { color: var(--billing-faint); font-size: 11px; }
#app .billing-admin-page .billing-admin-facts strong { color: var(--billing-text); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
#app .billing-admin-page .billing-admin-modal .billing-admin-form-grid { margin-right: 0; margin-left: 0; }
#app .billing-admin-page .billing-admin-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 21px;
  padding-top: 16px;
  border-top: 1px solid #e5e9f2;
}

@media (max-width: 1240px) {
  #app .billing-admin-page .billing-admin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .billing-admin-page .billing-admin-split-layout { grid-template-columns: 1fr; }
  #app .billing-admin-page .billing-admin-detail { position: static; }
}
@media (max-width: 900px) {
  #app .billing-admin-page .page-heading { align-items: flex-start; flex-direction: column; }
  #app .billing-admin-page .page-heading-actions { justify-content: flex-start; width: 100%; }
  #app .billing-admin-page .billing-admin-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app .billing-admin-page .billing-admin-toolbar > .button { justify-self: start; }
  #app .billing-admin-page .billing-admin-context-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  #app .billing-admin-page .page-heading h1 { font-size: 28px; }
  #app .billing-admin-page .billing-admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #app .billing-admin-page .billing-admin-stat-card { min-height: 120px; padding: 14px; }
  #app .billing-admin-page .billing-admin-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  #app .billing-admin-page .billing-admin-search,
  #app .billing-admin-page .billing-admin-select { width: 100%; }
  #app .billing-admin-page .billing-admin-form-grid,
  #app .billing-admin-page .billing-admin-contract-summary,
  #app .billing-admin-page .billing-admin-facts { grid-template-columns: 1fr; }
  #app .billing-admin-page .billing-admin-form-grid .billing-admin-field-wide,
  #app .billing-admin-page .billing-admin-facts > .billing-admin-field-wide { grid-column: auto; }
  #app .billing-admin-page .billing-admin-table-footer,
  #app .billing-admin-page .billing-admin-footer { align-items: flex-start; flex-direction: column; }
  #app .billing-admin-page .billing-admin-modal { padding: 22px 18px; }
  #app .billing-admin-page .billing-admin-context-grid,
  #app .billing-admin-page .billing-admin-contract-summary,
  #app .billing-admin-page .billing-admin-form-grid,
  #app .billing-admin-page .billing-admin-check-field,
  #app .billing-admin-page .billing-admin-boundary-note { margin-right: 16px; margin-left: 16px; }
  #app .billing-admin-page .billing-admin-modal .billing-admin-form-grid { margin-right: 0; margin-left: 0; }
  #app .billing-admin-page .billing-admin-context-card { grid-template-columns: 1fr; }
  #app .billing-admin-page .billing-admin-detail-actions { justify-content: flex-start; margin-right: 16px; margin-left: 16px; }
}

/* 基础设施 · 发布连接器：把连接目录、企业策略、测试队列和审计拆成连续的执行治理链路。 */
#app .publish-connectors-page { --connectors-blue: #315bea; --connectors-blue-dark: #2447c3; --connectors-ink: #182338; --connectors-text: #30415f; --connectors-muted: #71809b; --connectors-faint: #8995aa; --connectors-line: #dce3ee; --connectors-soft: #f6f8ff; }
#app .publish-connectors-page .page-heading { align-items: flex-start; margin-bottom: 22px; }
#app .publish-connectors-page .page-heading h1 { color: var(--connectors-ink); font-size: clamp(30px, 3vw, 36px); }
#app .publish-connectors-page .page-heading p { max-width: 720px; color: var(--connectors-muted); font-size: 13px; line-height: 1.65; }
#app .publish-connectors-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; align-self: flex-start; }
#app .publish-connectors-page .page-heading-actions .button { min-height: 40px; padding: 0 13px; font-size: 13px; white-space: nowrap; }
#app .publish-connectors-page .button-primary { border-color: var(--connectors-blue); color: #fff; background: var(--connectors-blue); box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .publish-connectors-page .button-primary:hover { border-color: var(--connectors-blue-dark); background: var(--connectors-blue-dark); }
#app .publish-connectors-page .button-secondary,
#app .publish-connectors-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .publish-connectors-page .button-secondary:hover,
#app .publish-connectors-page .button-quiet:hover { border-color: #9eb3ef; color: var(--connectors-blue-dark); background: #f5f7ff; }
#app .publish-connectors-page .publish-connectors-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
#app .publish-connectors-page .publish-connectors-stat-card { position: relative; min-height: 130px; overflow: hidden; padding: 20px 19px; border-color: var(--connectors-line); border-radius: 13px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .publish-connectors-page .publish-connectors-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-stat-green::before { background: #1fa78a; }
#app .publish-connectors-page .publish-connectors-stat-blue::before { background: #0d9eb2; }
#app .publish-connectors-page .publish-connectors-stat-purple::before { background: #7658df; }
#app .publish-connectors-page .publish-connectors-stat-orange::before { background: #d28b22; }
#app .publish-connectors-page .publish-connectors-stat-card .stat-top { color: #617394; font-size: 13px; font-weight: 750; }
#app .publish-connectors-page .publish-connectors-stat-card .stat-icon { width: 30px; height: 30px; color: var(--connectors-blue); background: #eef2ff; }
#app .publish-connectors-page .publish-connectors-stat-green .stat-icon { color: #1b977c; background: #eaf8f4; }
#app .publish-connectors-page .publish-connectors-stat-blue .stat-icon { color: #0d8fa4; background: #e9f8fb; }
#app .publish-connectors-page .publish-connectors-stat-purple .stat-icon { color: #6c4dd1; background: #f1edff; }
#app .publish-connectors-page .publish-connectors-stat-orange .stat-icon { color: #b36c12; background: #fff5e4; }
#app .publish-connectors-page .publish-connectors-stat-card .stat-value { margin-top: 17px; color: var(--connectors-ink); font-family: inherit; font-size: 32px; font-weight: 800; letter-spacing: -.04em; }
#app .publish-connectors-page .publish-connectors-stat-green .stat-value { color: #149479; }
#app .publish-connectors-page .publish-connectors-stat-blue .stat-value { color: #0d8fa4; }
#app .publish-connectors-page .publish-connectors-stat-purple .stat-value { color: #6c4dd1; }
#app .publish-connectors-page .publish-connectors-stat-orange .stat-value { color: #b36c12; }
#app .publish-connectors-page .publish-connectors-stat-card .stat-meta { margin-top: 6px; color: var(--connectors-faint); font-size: 12px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-tabs { display: flex; gap: 28px; margin-bottom: 20px; padding: 0 2px; border: 0; border-bottom: 1px solid var(--connectors-line); border-radius: 0; background: transparent; overflow-x: auto; scrollbar-width: thin; }
#app .publish-connectors-page .publish-connectors-tabs button { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 45px; padding: 0 2px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #6c7d99; background: transparent; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
#app .publish-connectors-page .publish-connectors-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 999px 999px 0 0; background: transparent; content: ''; }
#app .publish-connectors-page .publish-connectors-tabs button:hover { color: var(--connectors-blue-dark); background: transparent; }
#app .publish-connectors-page .publish-connectors-tabs button.active { color: var(--connectors-blue-dark); background: transparent; box-shadow: none; }
#app .publish-connectors-page .publish-connectors-tabs button.active::after { background: var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-tabs button span { min-width: 22px; padding: 3px 7px; border-radius: 999px; color: #3154a8; background: #eef2ff; font-size: 11px; line-height: 1.2; text-align: center; }
#app .publish-connectors-page .publish-connectors-tabs button.active span { color: #fff; background: var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-list-layout { grid-template-columns: minmax(0, 1.16fr) minmax(400px, .84fr); gap: 18px; align-items: start; }
#app .publish-connectors-page .publish-connectors-table-panel,
#app .publish-connectors-page .publish-connectors-detail,
#app .publish-connectors-page .publish-connectors-queue-panel,
#app .publish-connectors-page .publish-connectors-monitor-panel { min-width: 0; overflow: hidden; border-color: var(--connectors-line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .publish-connectors-page .publish-connectors-table-panel,
#app .publish-connectors-page .publish-connectors-queue-panel,
#app .publish-connectors-page .publish-connectors-monitor-panel { border-top: 3px solid var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-detail { position: sticky; top: 18px; padding: 0; border-top: 3px solid #7658df; }
#app .publish-connectors-page .publish-connectors-table-panel > .panel-header,
#app .publish-connectors-page .publish-connectors-detail > .panel-header,
#app .publish-connectors-page .publish-connectors-queue-panel > .panel-header,
#app .publish-connectors-page .publish-connectors-monitor-panel > .panel-header { align-items: flex-start; padding: 20px 22px 16px; }
#app .publish-connectors-page .panel-header h2 { color: var(--connectors-ink); font-size: 18px; line-height: 1.4; }
#app .publish-connectors-page .panel-header p { margin-top: 6px; color: var(--connectors-muted); font-size: 12px; line-height: 1.6; }
#app .publish-connectors-page .publish-connectors-result-count { padding-top: 4px; color: var(--connectors-faint); font-size: 12px; white-space: nowrap; }
#app .publish-connectors-page .publish-connectors-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 10px; align-items: center; padding: 0 22px 16px; }
#app .publish-connectors-page .publish-connectors-search { position: relative; display: flex; min-width: 0; grid-column: 1 / -1; }
#app .publish-connectors-page .publish-connectors-search input,
#app .publish-connectors-page .publish-connectors-select select { width: 100%; min-height: 42px; padding: 9px 36px 9px 12px; border: 1px solid #d5deef; border-radius: 9px; color: var(--connectors-text); background: #fbfcff; font: inherit; font-size: 13px; outline: 0; }
#app .publish-connectors-page .publish-connectors-select select { padding-right: 10px; }
#app .publish-connectors-page .publish-connectors-search input:focus,
#app .publish-connectors-page .publish-connectors-select select:focus { border-color: var(--connectors-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .publish-connectors-page .publish-connectors-search i { top: 11px; right: 12px; color: var(--connectors-blue); font-size: 16px; }
#app .publish-connectors-page .publish-connectors-select { display: grid; gap: 5px; min-width: 0; color: var(--connectors-muted); font-size: 12px; font-weight: 750; }
#app .publish-connectors-page .publish-connectors-table-wrap { overflow-x: auto; border-top: 1px solid #e5e9f2; scrollbar-width: thin; }
#app .publish-connectors-page .publish-connectors-table { min-width: 940px; }
#app .publish-connectors-page .publish-connectors-enterprise-table { min-width: 1060px; }
#app .publish-connectors-page .publish-connectors-queue-table { min-width: 1200px; }
#app .publish-connectors-page .publish-connectors-monitor-table { min-width: 1060px; }
#app .publish-connectors-page .publish-connectors-table th { padding: 14px 12px; color: #536b99; background: #f6f8ff; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .publish-connectors-page .publish-connectors-table td { padding: 15px 12px; color: #53647a; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: nowrap; }
#app .publish-connectors-page .publish-connectors-table tbody tr { border-top-color: #e5e9f2; }
#app .publish-connectors-page .publish-connectors-table tbody tr:hover td { background: #f8faff; }
#app .publish-connectors-page .publish-connectors-table tr.is-selected td { background: #f1f4ff; }
#app .publish-connectors-page .publish-connectors-name-button { display: grid; gap: 4px; min-width: 150px; padding: 0; border: 0; color: var(--connectors-text); background: transparent; text-align: left; cursor: pointer; }
#app .publish-connectors-page .publish-connectors-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-name-button:hover strong { color: var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-name-button small,
#app .publish-connectors-page .publish-connectors-scope-cell small,
#app .publish-connectors-page .publish-connectors-table td small { display: block; margin-top: 4px; color: var(--connectors-faint); font-size: 12px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-scope-cell { display: grid; gap: 3px; min-width: 160px; }
#app .publish-connectors-page .publish-connectors-scope-cell strong { color: var(--connectors-text); font-size: 13px; }
#app .publish-connectors-page .publish-connectors-row-actions,
#app .publish-connectors-page .publish-connectors-detail-actions { display: flex; flex-wrap: nowrap; gap: 7px; align-items: center; }
#app .publish-connectors-page .publish-connectors-row-actions .button,
#app .publish-connectors-page .publish-connectors-detail-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .publish-connectors-page .publish-connectors-detail-actions { flex-wrap: wrap; justify-content: flex-end; margin: 0 22px 17px; }
#app .publish-connectors-page .publish-connectors-detail-actions .button { min-height: 40px; font-size: 13px; }
#app .publish-connectors-page .publish-connectors-kicker { display: block; margin-bottom: 5px; color: #5f4bc4; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
#app .publish-connectors-page .publish-connectors-detail h2 { margin: 0; color: var(--connectors-ink); font-size: 24px; line-height: 1.35; }
#app .publish-connectors-page .publish-connectors-detail p { color: var(--connectors-muted); font-size: 12px; line-height: 1.6; }
#app .publish-connectors-page .publish-connectors-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 0 22px; }
#app .publish-connectors-page .publish-connectors-form-grid .field { display: grid; gap: 6px; min-width: 0; color: var(--connectors-ink); font-size: 13px; font-weight: 800; }
#app .publish-connectors-page .publish-connectors-form-grid input,
#app .publish-connectors-page .publish-connectors-form-grid select,
#app .publish-connectors-page .publish-connectors-form-grid textarea { width: 100%; box-sizing: border-box; min-height: 42px; padding: 9px 12px; border: 1px solid #d5deef; border-radius: 9px; color: var(--connectors-text); background: #fbfcff; font: inherit; font-size: 13px; outline: 0; }
#app .publish-connectors-page .publish-connectors-form-grid textarea { min-height: 88px; resize: vertical; }
#app .publish-connectors-page .publish-connectors-form-grid input:focus,
#app .publish-connectors-page .publish-connectors-form-grid select:focus,
#app .publish-connectors-page .publish-connectors-form-grid textarea:focus { border-color: var(--connectors-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .publish-connectors-page .publish-connectors-field-wide { grid-column: 1 / -1; }
#app .publish-connectors-page .publish-connectors-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 17px 22px 0; }
#app .publish-connectors-page .publish-connectors-context-grid > div { display: grid; gap: 4px; min-width: 0; padding: 12px; border: 1px solid var(--connectors-line); border-radius: 9px; background: #f8faff; }
#app .publish-connectors-page .publish-connectors-context-grid span,
#app .publish-connectors-page .publish-connectors-preview span,
#app .publish-connectors-page .publish-connectors-audit-detail span { color: var(--connectors-faint); font-size: 12px; }
#app .publish-connectors-page .publish-connectors-context-grid strong,
#app .publish-connectors-page .publish-connectors-preview strong,
#app .publish-connectors-page .publish-connectors-audit-detail strong { color: var(--connectors-text); font-size: 14px; overflow-wrap: anywhere; }
#app .publish-connectors-page .publish-connectors-context-grid small { color: var(--connectors-muted); font-size: 12px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-boundary-note,
#app .publish-connectors-page .publish-connectors-note { display: flex; gap: 8px; margin: 17px 22px 0; padding: 12px 13px; border: 1px solid var(--connectors-line); border-left: 3px solid var(--connectors-blue); border-radius: 9px; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .publish-connectors-page .publish-connectors-boundary-note strong,
#app .publish-connectors-page .publish-connectors-note strong { color: var(--connectors-text); white-space: nowrap; }
#app .publish-connectors-page .publish-connectors-section-label { margin: 20px 0 8px; color: #536b99; font-size: 12px; font-weight: 850; letter-spacing: .04em; }
#app .publish-connectors-page .publish-connectors-policy-list { margin: 0 22px 22px; }
#app .publish-connectors-page .publish-connectors-policy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid #e5e9f2; }
#app .publish-connectors-page .publish-connectors-policy-row > span:first-child { display: grid; gap: 4px; min-width: 0; }
#app .publish-connectors-page .publish-connectors-policy-row strong { color: var(--connectors-text); font-size: 13px; }
#app .publish-connectors-page .publish-connectors-policy-row small { color: var(--connectors-muted); font-size: 12px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-error { color: #b5525e !important; }
#app .publish-connectors-page .publish-connectors-empty { display: grid; gap: 5px; min-height: 112px; place-content: center; padding: 18px; color: var(--connectors-muted); text-align: center; }
#app .publish-connectors-page .publish-connectors-empty strong { color: var(--connectors-text); font-size: 14px; }
#app .publish-connectors-page .publish-connectors-empty span { font-size: 12px; line-height: 1.5; }
#app .publish-connectors-page .publish-connectors-table-footer,
#app .publish-connectors-page .publish-connectors-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 22px 17px; color: var(--connectors-faint); font-size: 12px; line-height: 1.5; }
#app .publish-connectors-page .publish-connectors-footer { margin-top: 18px; padding-right: 2px; padding-left: 2px; border-top: 1px solid #e5e9f2; }
#app .publish-connectors-page .publish-connectors-default-check { display: flex; gap: 9px; align-items: flex-start; margin: 17px 22px 0; padding: 12px 13px; border: 1px solid var(--connectors-line); border-radius: 9px; background: #fbfcff; cursor: pointer; }
#app .publish-connectors-page .publish-connectors-default-check input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; accent-color: var(--connectors-blue); }
#app .publish-connectors-page .publish-connectors-default-check span { display: grid; gap: 3px; }
#app .publish-connectors-page .publish-connectors-default-check strong { color: var(--connectors-text); font-size: 13px; }
#app .publish-connectors-page .publish-connectors-default-check small { color: var(--connectors-muted); font-size: 12px; line-height: 1.45; }
#app .publish-connectors-page .publish-connectors-preview { display: grid; gap: 4px; margin: 17px 22px 0; padding: 12px 13px; border: 1px solid var(--connectors-line); border-radius: 9px; color: var(--connectors-muted); background: #f8faff; font-size: 12px; line-height: 1.5; }
#app .publish-connectors-page .publish-connectors-modal-overlay { background: rgba(21, 33, 58, .46); }
#app .publish-connectors-page .publish-connectors-modal { width: min(760px, calc(100vw - 32px)); max-height: min(800px, calc(100vh - 32px)); overflow: auto; border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .publish-connectors-page .publish-connectors-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .publish-connectors-page .publish-connectors-modal h2 { color: var(--connectors-ink); font-size: 23px; line-height: 1.35; }
#app .publish-connectors-page .publish-connectors-modal-copy { color: var(--connectors-muted); font-size: 13px; line-height: 1.65; }
#app .publish-connectors-page .publish-connectors-modal .publish-connectors-form-grid { margin-top: 17px; padding: 0; }
#app .publish-connectors-page .publish-connectors-modal .publish-connectors-preview { margin-right: 0; margin-left: 0; }
#app .publish-connectors-page .publish-connectors-modal-note { margin: 17px 22px 0; border-left: 3px solid #c17800; color: #805d22; background: #fff7e8; }
#app .publish-connectors-page .publish-connectors-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e5e9f2; }
#app .publish-connectors-page .publish-connectors-audit-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 17px; }
#app .publish-connectors-page .publish-connectors-audit-detail > div { display: grid; gap: 4px; min-width: 0; padding: 12px; border: 1px solid var(--connectors-line); border-radius: 9px; background: #f8faff; }
#app .publish-connectors-page .publish-connectors-audit-detail .publish-connectors-field-wide { grid-column: 1 / -1; }

@media (max-width: 1180px) {
  #app .publish-connectors-page .publish-connectors-list-layout { grid-template-columns: 1fr; }
  #app .publish-connectors-page .publish-connectors-detail { position: static; }
}

@media (max-width: 900px) {
  #app .publish-connectors-page .page-heading { flex-direction: column; }
  #app .publish-connectors-page .page-heading-actions { width: 100%; flex-wrap: wrap; }
  #app .publish-connectors-page .publish-connectors-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .publish-connectors-page .publish-connectors-detail-actions { justify-content: flex-start; }
  #app .publish-connectors-page .publish-connectors-policy-row { grid-template-columns: minmax(0, 1fr) auto; }
  #app .publish-connectors-page .publish-connectors-policy-row .publish-connectors-row-actions { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  #app .publish-connectors-page .page-heading h1 { font-size: 28px; }
  #app .publish-connectors-page .publish-connectors-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .publish-connectors-page .publish-connectors-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  #app .publish-connectors-page .publish-connectors-search,
  #app .publish-connectors-page .publish-connectors-select { width: 100%; }
  #app .publish-connectors-page .publish-connectors-form-grid,
  #app .publish-connectors-page .publish-connectors-context-grid,
  #app .publish-connectors-page .publish-connectors-audit-detail { grid-template-columns: 1fr; }
  #app .publish-connectors-page .publish-connectors-table-footer,
  #app .publish-connectors-page .publish-connectors-footer { align-items: flex-start; flex-direction: column; }
  #app .publish-connectors-page .publish-connectors-detail-actions { margin-right: 16px; margin-left: 16px; }
  #app .publish-connectors-page .publish-connectors-form-grid,
  #app .publish-connectors-page .publish-connectors-context-grid,
  #app .publish-connectors-page .publish-connectors-policy-list,
  #app .publish-connectors-page .publish-connectors-audit-detail { margin-right: 16px; margin-left: 16px; padding-right: 0; padding-left: 0; }
  #app .publish-connectors-page .publish-connectors-form-grid { padding-right: 0; padding-left: 0; }
  #app .publish-connectors-page .publish-connectors-boundary-note,
  #app .publish-connectors-page .publish-connectors-note,
  #app .publish-connectors-page .publish-connectors-default-check,
  #app .publish-connectors-page .publish-connectors-preview,
  #app .publish-connectors-page .publish-connectors-modal-note { margin-right: 16px; margin-left: 16px; }
  #app .publish-connectors-page .publish-connectors-modal .publish-connectors-form-grid,
  #app .publish-connectors-page .publish-connectors-modal .publish-connectors-preview { margin-right: 0; margin-left: 0; }
  #app .publish-connectors-page .publish-connectors-audit-detail .publish-connectors-field-wide { grid-column: auto; }
}

/* 基础设施 · 平台与账号：用“平台目录 → 账号管理 → 企业关联 → 健康审计”组织连接治理。 */
#app .platform-accounts-page { --accounts-blue: #315bea; --accounts-blue-dark: #2447c3; --accounts-ink: #182338; --accounts-text: #30415f; --accounts-muted: #71809b; --accounts-faint: #8995aa; --accounts-line: #dce3ee; --accounts-soft: #f6f8ff; }
#app .platform-accounts-page .page-heading { align-items: flex-start; margin-bottom: 22px; }
#app .platform-accounts-page .page-heading h1 { color: var(--accounts-ink); font-size: clamp(30px, 3vw, 36px); }
#app .platform-accounts-page .page-heading p { max-width: 720px; color: var(--accounts-muted); font-size: 13px; line-height: 1.65; }
#app .platform-accounts-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; align-self: flex-start; }
#app .platform-accounts-page .page-heading-actions .button { min-height: 40px; padding: 0 13px; font-size: 13px; white-space: nowrap; }
#app .platform-accounts-page .button-primary { border-color: var(--accounts-blue); color: #fff; background: var(--accounts-blue); box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .platform-accounts-page .button-primary:hover { border-color: var(--accounts-blue-dark); background: var(--accounts-blue-dark); }
#app .platform-accounts-page .button-secondary,
#app .platform-accounts-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .platform-accounts-page .button-secondary:hover,
#app .platform-accounts-page .button-quiet:hover { border-color: #9eb3ef; color: var(--accounts-blue-dark); background: #f5f7ff; }
#app .platform-accounts-page .platform-accounts-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
#app .platform-accounts-page .platform-accounts-stat-card { position: relative; min-height: 130px; overflow: hidden; padding: 20px 19px; border-color: var(--accounts-line); border-radius: 13px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .platform-accounts-page .platform-accounts-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-stat-green::before { background: #1fa78a; }
#app .platform-accounts-page .platform-accounts-stat-blue::before { background: #0d9eb2; }
#app .platform-accounts-page .platform-accounts-stat-purple::before { background: #7658df; }
#app .platform-accounts-page .platform-accounts-stat-orange::before { background: #d28b22; }
#app .platform-accounts-page .platform-accounts-stat-card .stat-top { color: #617394; font-size: 13px; font-weight: 750; }
#app .platform-accounts-page .platform-accounts-stat-card .stat-icon { width: 30px; height: 30px; color: var(--accounts-blue); background: #eef2ff; }
#app .platform-accounts-page .platform-accounts-stat-green .stat-icon { color: #1b977c; background: #eaf8f4; }
#app .platform-accounts-page .platform-accounts-stat-blue .stat-icon { color: #0d8fa4; background: #e9f8fb; }
#app .platform-accounts-page .platform-accounts-stat-purple .stat-icon { color: #6c4dd1; background: #f1edff; }
#app .platform-accounts-page .platform-accounts-stat-orange .stat-icon { color: #b36c12; background: #fff5e4; }
#app .platform-accounts-page .platform-accounts-stat-card .stat-value { margin-top: 17px; color: var(--accounts-ink); font-family: inherit; font-size: 32px; font-weight: 800; letter-spacing: -.04em; }
#app .platform-accounts-page .platform-accounts-stat-green .stat-value { color: #149479; }
#app .platform-accounts-page .platform-accounts-stat-blue .stat-value { color: #0d8fa4; }
#app .platform-accounts-page .platform-accounts-stat-purple .stat-value { color: #6c4dd1; }
#app .platform-accounts-page .platform-accounts-stat-orange .stat-value { color: #b36c12; }
#app .platform-accounts-page .platform-accounts-stat-card .stat-meta { margin-top: 6px; color: var(--accounts-faint); font-size: 12px; line-height: 1.45; }
#app .platform-accounts-page .platform-accounts-tabs { display: flex; gap: 28px; margin-bottom: 20px; padding: 0 2px; border: 0; border-bottom: 1px solid var(--accounts-line); border-radius: 0; background: transparent; overflow-x: auto; scrollbar-width: thin; }
#app .platform-accounts-page .platform-accounts-tabs button { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 45px; padding: 0 2px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #6c7d99; background: transparent; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
#app .platform-accounts-page .platform-accounts-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 999px 999px 0 0; background: transparent; content: ''; }
#app .platform-accounts-page .platform-accounts-tabs button:hover { color: var(--accounts-blue-dark); background: transparent; }
#app .platform-accounts-page .platform-accounts-tabs button.active { color: var(--accounts-blue-dark); background: transparent; box-shadow: none; }
#app .platform-accounts-page .platform-accounts-tabs button.active::after { background: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-tabs button span { min-width: 22px; padding: 3px 7px; border-radius: 999px; color: #3154a8; background: #eef2ff; font-size: 11px; line-height: 1.2; text-align: center; }
#app .platform-accounts-page .platform-accounts-tabs button.active span { color: #fff; background: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-list-layout { grid-template-columns: minmax(0, 1.16fr) minmax(400px, .84fr); gap: 18px; align-items: start; }
#app .platform-accounts-page .platform-accounts-table-panel,
#app .platform-accounts-page .platform-accounts-detail,
#app .platform-accounts-page .platform-accounts-health-panel { min-width: 0; overflow: hidden; border-color: var(--accounts-line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .platform-accounts-page .platform-accounts-table-panel,
#app .platform-accounts-page .platform-accounts-health-panel { border-top: 3px solid var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-detail { position: sticky; top: 18px; padding: 0; border-top: 3px solid #7658df; }
#app .platform-accounts-page .platform-accounts-health-panel { padding: 0; }
#app .platform-accounts-page .platform-accounts-table-panel > .panel-header,
#app .platform-accounts-page .platform-accounts-detail > .panel-header,
#app .platform-accounts-page .platform-accounts-health-panel > .panel-header { align-items: flex-start; padding: 20px 22px 16px; }
#app .platform-accounts-page .panel-header h2 { color: var(--accounts-ink); font-size: 18px; line-height: 1.4; }
#app .platform-accounts-page .panel-header p { margin-top: 6px; color: var(--accounts-muted); font-size: 12px; line-height: 1.6; }
#app .platform-accounts-page .platform-accounts-result-count { padding-top: 4px; color: var(--accounts-faint); font-size: 12px; white-space: nowrap; }
#app .platform-accounts-page .platform-accounts-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 170px auto; gap: 10px; align-items: center; padding: 0 22px 16px; }
#app .platform-accounts-page .platform-accounts-account-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
#app .platform-accounts-page .platform-accounts-search { position: relative; display: flex; min-width: 0; grid-column: 1 / -1; }
#app .platform-accounts-page .platform-accounts-search input,
#app .platform-accounts-page .platform-accounts-select select { width: 100%; min-height: 42px; padding: 9px 36px 9px 12px; border: 1px solid #d5deef; border-radius: 9px; color: var(--accounts-text); background: #fbfcff; font: inherit; font-size: 13px; outline: 0; }
#app .platform-accounts-page .platform-accounts-select select { padding-right: 10px; }
#app .platform-accounts-page .platform-accounts-search input:focus,
#app .platform-accounts-page .platform-accounts-select select:focus { border-color: var(--accounts-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .platform-accounts-page .platform-accounts-search i { top: 11px; right: 12px; color: var(--accounts-blue); font-size: 16px; }
#app .platform-accounts-page .platform-accounts-select { display: grid; gap: 5px; min-width: 0; color: var(--accounts-muted); font-size: 12px; font-weight: 750; }
#app .platform-accounts-page .platform-accounts-table-wrap { overflow-x: auto; border-top: 1px solid #e5e9f2; scrollbar-width: thin; }
#app .platform-accounts-page .platform-accounts-table { min-width: 930px; }
#app .platform-accounts-page .platform-accounts-account-table { min-width: 1120px; }
#app .platform-accounts-page .platform-accounts-health-table { min-width: 980px; }
#app .platform-accounts-page .platform-accounts-table th { padding: 14px 12px; color: #536b99; background: #f6f8ff; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .platform-accounts-page .platform-accounts-table td { padding: 15px 12px; color: #53647a; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: nowrap; }
#app .platform-accounts-page .platform-accounts-table tbody tr { border-top-color: #e5e9f2; }
#app .platform-accounts-page .platform-accounts-table tbody tr:hover td { background: #f8faff; }
#app .platform-accounts-page .platform-accounts-table tr.is-selected td { background: #f1f4ff; }
#app .platform-accounts-page .platform-accounts-name-button { display: grid; gap: 4px; min-width: 150px; padding: 0; border: 0; color: var(--accounts-text); background: transparent; text-align: left; cursor: pointer; }
#app .platform-accounts-page .platform-accounts-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .platform-accounts-page .platform-accounts-name-button:hover strong { color: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-name-button small,
#app .platform-accounts-page .platform-accounts-scope-cell small,
#app .platform-accounts-page .platform-accounts-table td small { display: block; margin-top: 4px; color: var(--accounts-faint); font-size: 12px; line-height: 1.45; }
#app .platform-accounts-page .platform-accounts-scope-cell { display: grid; gap: 3px; min-width: 160px; }
#app .platform-accounts-page .platform-accounts-scope-cell strong { color: var(--accounts-text); font-size: 13px; }
#app .platform-accounts-page .platform-accounts-row-actions,
#app .platform-accounts-page .platform-accounts-detail-actions { display: flex; flex-wrap: nowrap; gap: 7px; align-items: center; }
#app .platform-accounts-page .platform-accounts-row-actions .button,
#app .platform-accounts-page .platform-accounts-detail-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .platform-accounts-page .platform-accounts-detail-actions { flex-wrap: wrap; justify-content: flex-end; margin: 0 22px 17px; }
#app .platform-accounts-page .platform-accounts-detail-actions .button { min-height: 40px; font-size: 13px; }
#app .platform-accounts-page .platform-accounts-table-footer,
#app .platform-accounts-page .platform-accounts-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 22px 17px; color: var(--accounts-faint); font-size: 12px; line-height: 1.5; }
#app .platform-accounts-page .platform-accounts-footer { margin-top: 18px; padding-right: 2px; padding-left: 2px; border-top: 1px solid #e5e9f2; }
#app .platform-accounts-page .platform-accounts-kicker { display: block; margin-bottom: 5px; color: #5f4bc4; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
#app .platform-accounts-page .platform-accounts-detail h2 { margin: 0; color: var(--accounts-ink); font-size: 24px; line-height: 1.35; }
#app .platform-accounts-page .platform-accounts-detail p { color: var(--accounts-muted); font-size: 12px; line-height: 1.6; }
#app .platform-accounts-page .platform-accounts-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 0 22px; }
#app .platform-accounts-page .platform-accounts-form-grid .field { display: grid; gap: 6px; min-width: 0; color: var(--accounts-ink); font-size: 13px; font-weight: 800; }
#app .platform-accounts-page .platform-accounts-form-grid input,
#app .platform-accounts-page .platform-accounts-form-grid select,
#app .platform-accounts-page .platform-accounts-form-grid textarea { width: 100%; box-sizing: border-box; min-height: 42px; padding: 9px 12px; border: 1px solid #d5deef; border-radius: 9px; color: var(--accounts-text); background: #fbfcff; font: inherit; font-size: 13px; outline: 0; }
#app .platform-accounts-page .platform-accounts-form-grid textarea { min-height: 88px; resize: vertical; }
#app .platform-accounts-page .platform-accounts-form-grid input:focus,
#app .platform-accounts-page .platform-accounts-form-grid select:focus,
#app .platform-accounts-page .platform-accounts-form-grid textarea:focus { border-color: var(--accounts-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .platform-accounts-page .platform-accounts-field-wide { grid-column: 1 / -1; }
#app .platform-accounts-page .platform-accounts-context-grid,
#app .platform-accounts-page .platform-accounts-context-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 17px 22px 0; }
#app .platform-accounts-page .platform-accounts-context-grid > div,
#app .platform-accounts-page .platform-accounts-context-card > div { display: grid; gap: 4px; min-width: 0; padding: 12px; border: 1px solid var(--accounts-line); border-radius: 9px; background: #f8faff; }
#app .platform-accounts-page .platform-accounts-context-grid span,
#app .platform-accounts-page .platform-accounts-context-card span { color: var(--accounts-faint); font-size: 12px; }
#app .platform-accounts-page .platform-accounts-context-grid strong,
#app .platform-accounts-page .platform-accounts-context-card strong { color: var(--accounts-text); font-size: 14px; overflow-wrap: anywhere; }
#app .platform-accounts-page .platform-accounts-context-grid small,
#app .platform-accounts-page .platform-accounts-context-card small { color: var(--accounts-muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
#app .platform-accounts-page .platform-accounts-boundary-note,
#app .platform-accounts-page .platform-accounts-note { display: flex; gap: 8px; margin: 17px 22px 0; padding: 12px 13px; border: 1px solid var(--accounts-line); border-left: 3px solid var(--accounts-blue); border-radius: 9px; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .platform-accounts-page .platform-accounts-boundary-note strong,
#app .platform-accounts-page .platform-accounts-note strong { color: var(--accounts-text); white-space: nowrap; }
#app .platform-accounts-page .platform-accounts-default-check { display: flex; gap: 9px; align-items: flex-start; margin: 17px 22px 0; padding: 12px 13px; border: 1px solid var(--accounts-line); border-radius: 9px; background: #fbfcff; cursor: pointer; }
#app .platform-accounts-page .platform-accounts-default-check input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; accent-color: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-default-check span { display: grid; gap: 3px; }
#app .platform-accounts-page .platform-accounts-default-check strong { color: var(--accounts-text); font-size: 13px; }
#app .platform-accounts-page .platform-accounts-default-check small { color: var(--accounts-muted); font-size: 12px; line-height: 1.45; }
#app .platform-accounts-page .platform-accounts-default-label { color: #6c4dd1 !important; font-size: 12px !important; font-weight: 800; }
#app .platform-accounts-page .platform-accounts-section-label { margin: 20px 22px 8px; color: #536b99; font-size: 12px; font-weight: 850; letter-spacing: .04em; }
#app .platform-accounts-page .platform-accounts-linked-list { margin: 0 22px 22px; }
#app .platform-accounts-page .platform-accounts-linked-row { display: flex; justify-content: space-between; gap: 12px; width: 100%; padding: 13px 0; border: 0; border-top: 1px solid #e5e9f2; color: var(--accounts-text); background: transparent; text-align: left; cursor: pointer; }
#app .platform-accounts-page .platform-accounts-linked-row:hover { color: var(--accounts-blue); }
#app .platform-accounts-page .platform-accounts-linked-row span { display: grid; gap: 4px; min-width: 0; }
#app .platform-accounts-page .platform-accounts-linked-row strong { font-size: 13px; }
#app .platform-accounts-page .platform-accounts-linked-row small { color: var(--accounts-muted); font-size: 12px; }
#app .platform-accounts-page .platform-accounts-preview { display: grid; gap: 4px; padding: 12px 13px; border: 1px solid var(--accounts-line); border-radius: 9px; color: var(--accounts-muted); background: #f8faff; font-size: 12px; line-height: 1.5; }
#app .platform-accounts-page .platform-accounts-preview strong { color: var(--accounts-text); font-size: 14px; }
#app .platform-accounts-page .platform-accounts-health-panel > .panel-header { align-items: flex-start; }
#app .platform-accounts-page .platform-accounts-empty { display: grid; gap: 5px; min-height: 112px; place-content: center; padding: 18px; color: var(--accounts-muted); text-align: center; }
#app .platform-accounts-page .platform-accounts-empty strong { color: var(--accounts-text); font-size: 14px; }
#app .platform-accounts-page .platform-accounts-empty span { font-size: 12px; line-height: 1.5; }
#app .platform-accounts-page .platform-accounts-modal-overlay { background: rgba(21, 33, 58, .46); }
#app .platform-accounts-page .platform-accounts-modal { width: min(720px, calc(100vw - 32px)); max-height: min(780px, calc(100vh - 32px)); overflow: auto; border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .platform-accounts-page .platform-accounts-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .platform-accounts-page .platform-accounts-modal h2 { color: var(--accounts-ink); font-size: 23px; line-height: 1.35; }
#app .platform-accounts-page .platform-accounts-modal-copy { color: var(--accounts-muted); font-size: 13px; line-height: 1.65; }
#app .platform-accounts-page .platform-accounts-modal .platform-accounts-form-grid { margin-top: 17px; padding: 0; }
#app .platform-accounts-page .platform-accounts-modal .platform-accounts-context-card { margin-right: 0; margin-left: 0; }
#app .platform-accounts-page .platform-accounts-modal-note { margin: 17px 22px 0; border-left-color: #c17800; color: #805d22; background: #fff7e8; }
#app .platform-accounts-page .platform-accounts-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e5e9f2; }
#app .platform-accounts-page .platform-accounts-audit-list { display: grid; gap: 0; margin-top: 17px; border: 1px solid var(--accounts-line); border-radius: 9px; overflow: hidden; }
#app .platform-accounts-page .platform-accounts-audit-list > div { display: grid; gap: 4px; padding: 13px; border-top: 1px solid #e5e9f2; }
#app .platform-accounts-page .platform-accounts-audit-list > div:first-child { border-top: 0; }
#app .platform-accounts-page .platform-accounts-audit-list span { color: var(--accounts-faint); font-size: 12px; }
#app .platform-accounts-page .platform-accounts-audit-list strong { color: var(--accounts-text); font-size: 13px; }
#app .platform-accounts-page .platform-accounts-audit-list small { color: var(--accounts-muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 1180px) {
  #app .platform-accounts-page .platform-accounts-list-layout { grid-template-columns: 1fr; }
  #app .platform-accounts-page .platform-accounts-detail { position: static; }
}

@media (max-width: 900px) {
  #app .platform-accounts-page .page-heading { flex-direction: column; }
  #app .platform-accounts-page .page-heading-actions { width: 100%; flex-wrap: wrap; }
  #app .platform-accounts-page .platform-accounts-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .platform-accounts-page .platform-accounts-detail-actions { justify-content: flex-start; }
}

@media (max-width: 650px) {
  #app .platform-accounts-page .page-heading h1 { font-size: 28px; }
  #app .platform-accounts-page .platform-accounts-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .platform-accounts-page .platform-accounts-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  #app .platform-accounts-page .platform-accounts-search,
  #app .platform-accounts-page .platform-accounts-select { width: 100%; }
  #app .platform-accounts-page .platform-accounts-form-grid,
  #app .platform-accounts-page .platform-accounts-context-grid,
  #app .platform-accounts-page .platform-accounts-context-card { grid-template-columns: 1fr; }
  #app .platform-accounts-page .platform-accounts-table-footer,
  #app .platform-accounts-page .platform-accounts-footer { align-items: flex-start; flex-direction: column; }
  #app .platform-accounts-page .platform-accounts-detail-actions { margin-right: 16px; margin-left: 16px; }
  #app .platform-accounts-page .platform-accounts-form-grid,
  #app .platform-accounts-page .platform-accounts-context-grid,
  #app .platform-accounts-page .platform-accounts-context-card { margin-right: 16px; margin-left: 16px; padding-right: 0; padding-left: 0; }
  #app .platform-accounts-page .platform-accounts-form-grid { padding-right: 0; padding-left: 0; }
  #app .platform-accounts-page .platform-accounts-boundary-note,
  #app .platform-accounts-page .platform-accounts-note,
  #app .platform-accounts-page .platform-accounts-default-check,
  #app .platform-accounts-page .platform-accounts-modal-note { margin-right: 16px; margin-left: 16px; }
  #app .platform-accounts-page .platform-accounts-modal .platform-accounts-form-grid,
  #app .platform-accounts-page .platform-accounts-modal .platform-accounts-context-card { margin-right: 0; margin-left: 0; }
}

/* 基础设施 · 模型与算力：把平台模型、企业授权和用量审计放进同一套蓝靛色治理工作台。 */
#app .models-compute-page { --models-blue: #315bea; --models-blue-dark: #2447c3; --models-ink: #182338; --models-text: #30415f; --models-muted: #71809b; --models-faint: #8995aa; --models-line: #dce3ee; --models-soft: #f6f8ff; }
#app .models-compute-page .page-heading { align-items: flex-start; margin-bottom: 22px; }
#app .models-compute-page .page-heading h1 { color: var(--models-ink); font-size: clamp(30px, 3vw, 36px); }
#app .models-compute-page .page-heading p { max-width: 720px; color: var(--models-muted); font-size: 13px; line-height: 1.65; }
#app .models-compute-page .page-heading-actions { flex: 0 0 auto; flex-wrap: nowrap; align-self: flex-start; }
#app .models-compute-page .page-heading-actions .button { min-height: 40px; padding: 0 13px; font-size: 13px; white-space: nowrap; }
#app .models-compute-page .button-primary { border-color: var(--models-blue); color: #fff; background: var(--models-blue); box-shadow: 0 7px 16px rgba(49, 91, 234, .16); }
#app .models-compute-page .button-primary:hover { border-color: var(--models-blue-dark); background: var(--models-blue-dark); }
#app .models-compute-page .button-secondary,
#app .models-compute-page .button-quiet { border-color: #cbd6ee; color: #3154a8; background: #fff; }
#app .models-compute-page .button-secondary:hover,
#app .models-compute-page .button-quiet:hover { border-color: #9eb3ef; color: var(--models-blue-dark); background: #f5f7ff; }
#app .models-compute-page .models-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
#app .models-compute-page .models-stat-card { position: relative; min-height: 130px; overflow: hidden; padding: 20px 19px; border-color: var(--models-line); border-radius: 13px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .models-compute-page .models-stat-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: var(--models-blue); }
#app .models-compute-page .models-stat-green::before { background: #1fa78a; }
#app .models-compute-page .models-stat-blue::before { background: #0d9eb2; }
#app .models-compute-page .models-stat-purple::before { background: #7658df; }
#app .models-compute-page .models-stat-orange::before { background: #d28b22; }
#app .models-compute-page .models-stat-card .stat-top { color: #617394; font-size: 13px; font-weight: 750; }
#app .models-compute-page .models-stat-card .stat-icon { width: 30px; height: 30px; color: var(--models-blue); background: #eef2ff; }
#app .models-compute-page .models-stat-green .stat-icon { color: #1b977c; background: #eaf8f4; }
#app .models-compute-page .models-stat-blue .stat-icon { color: #0d8fa4; background: #e9f8fb; }
#app .models-compute-page .models-stat-purple .stat-icon { color: #6c4dd1; background: #f1edff; }
#app .models-compute-page .models-stat-orange .stat-icon { color: #b36c12; background: #fff5e4; }
#app .models-compute-page .models-stat-card .stat-value { margin-top: 17px; color: var(--models-ink); font-family: inherit; font-size: 32px; font-weight: 800; letter-spacing: -.04em; }
#app .models-compute-page .models-stat-green .stat-value { color: #149479; }
#app .models-compute-page .models-stat-blue .stat-value { color: #0d8fa4; }
#app .models-compute-page .models-stat-purple .stat-value { color: #6c4dd1; }
#app .models-compute-page .models-stat-orange .stat-value { color: #b36c12; }
#app .models-compute-page .models-stat-card .stat-meta { margin-top: 6px; color: var(--models-faint); font-size: 12px; line-height: 1.45; }
#app .models-compute-page .models-tabs { display: flex; gap: 28px; margin-bottom: 20px; padding: 0 2px; border: 0; border-bottom: 1px solid var(--models-line); border-radius: 0; background: transparent; overflow-x: auto; scrollbar-width: thin; }
#app .models-compute-page .models-tabs button { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 45px; padding: 0 2px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #6c7d99; background: transparent; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
#app .models-compute-page .models-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 999px 999px 0 0; background: transparent; content: ''; }
#app .models-compute-page .models-tabs button:hover { color: var(--models-blue-dark); background: transparent; }
#app .models-compute-page .models-tabs button.active { color: var(--models-blue-dark); background: transparent; box-shadow: none; }
#app .models-compute-page .models-tabs button.active::after { background: var(--models-blue); }
#app .models-compute-page .models-tabs button span { min-width: 22px; padding: 3px 7px; border-radius: 999px; color: #3154a8; background: #eef2ff; font-size: 11px; line-height: 1.2; text-align: center; }
#app .models-compute-page .models-tabs button.active span { color: #fff; background: var(--models-blue); }
#app .models-compute-page .models-provider-layout,
#app .models-compute-page .models-enterprise-layout { grid-template-columns: minmax(0, 1.16fr) minmax(400px, .84fr); gap: 18px; align-items: start; }
#app .models-compute-page .models-provider-table-panel,
#app .models-compute-page .models-enterprise-table-panel,
#app .models-compute-page .models-usage-panel,
#app .models-compute-page .models-routing-panel,
#app .models-compute-page .models-detail { overflow: hidden; border-color: var(--models-line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(44, 71, 125, .07); }
#app .models-compute-page .models-provider-table-panel,
#app .models-compute-page .models-enterprise-table-panel,
#app .models-compute-page .models-usage-panel,
#app .models-compute-page .models-routing-panel { border-top: 3px solid var(--models-blue); }
#app .models-compute-page .models-detail { position: sticky; top: 18px; border-top: 3px solid #7658df; }
#app .models-compute-page .models-provider-table-panel > .panel-header,
#app .models-compute-page .models-enterprise-table-panel > .panel-header,
#app .models-compute-page .models-usage-panel > .panel-header,
#app .models-compute-page .models-detail > .panel-header,
#app .models-compute-page .models-routing-panel > .panel-header { align-items: flex-start; padding: 20px 22px 16px; }
#app .models-compute-page .panel-header h2,
#app .models-compute-page .panel-header h3 { color: var(--models-ink); font-size: 18px; line-height: 1.4; }
#app .models-compute-page .panel-header p { margin-top: 6px; color: var(--models-muted); font-size: 12px; line-height: 1.6; }
#app .models-compute-page .models-result-count { padding-top: 4px; color: var(--models-faint); font-size: 12px; white-space: nowrap; }
#app .models-compute-page .models-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 174px auto; gap: 10px; align-items: center; padding: 0 22px 16px; }
#app .models-compute-page .models-search { position: relative; display: flex; min-width: 0; }
#app .models-compute-page .models-search input,
#app .models-compute-page .models-select { min-height: 42px; border: 1px solid #d5deef; border-radius: 9px; background: #fbfcff; }
#app .models-compute-page .models-search input { width: 100%; padding: 9px 36px 9px 12px; color: var(--models-text); font: inherit; font-size: 13px; outline: 0; }
#app .models-compute-page .models-search input:focus,
#app .models-compute-page .models-select:focus-within,
#app .models-compute-page .models-select select:focus { border-color: var(--models-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .models-compute-page .models-search i { top: 11px; right: 12px; color: var(--models-blue); font-size: 16px; }
#app .models-compute-page .models-select { display: flex; align-items: center; gap: 6px; padding: 0 10px 0 12px; color: var(--models-muted); font-size: 12px; }
#app .models-compute-page .models-select select { min-width: 0; flex: 1; border: 0; color: var(--models-text); background: transparent; font: inherit; font-size: 13px; font-weight: 750; outline: 0; cursor: pointer; }
#app .models-compute-page .models-table-wrap,
#app .models-compute-page .models-inner-table-wrap { overflow-x: auto; border-top: 1px solid #e5e9f2; scrollbar-width: thin; }
#app .models-compute-page .models-provider-table,
#app .models-compute-page .models-enterprise-table,
#app .models-compute-page .models-usage-table { min-width: 930px; }
#app .models-compute-page .models-model-table { min-width: 780px; }
#app .models-compute-page .models-provider-table th,
#app .models-compute-page .models-enterprise-table th,
#app .models-compute-page .models-usage-table th,
#app .models-compute-page .models-model-table th { padding: 14px 12px; color: #536b99; background: #f6f8ff; font-size: 13px; line-height: 1.45; white-space: nowrap; }
#app .models-compute-page .models-provider-table td,
#app .models-compute-page .models-enterprise-table td,
#app .models-compute-page .models-usage-table td,
#app .models-compute-page .models-model-table td { padding: 15px 12px; color: #53647a; font-size: 13px; line-height: 1.5; vertical-align: middle; white-space: nowrap; }
#app .models-compute-page .models-provider-table tbody tr,
#app .models-compute-page .models-enterprise-table tbody tr,
#app .models-compute-page .models-usage-table tbody tr,
#app .models-compute-page .models-model-table tbody tr { border-top-color: #e5e9f2; }
#app .models-compute-page .models-provider-table tbody tr:hover td,
#app .models-compute-page .models-enterprise-table tbody tr:hover td,
#app .models-compute-page .models-usage-table tbody tr:hover td,
#app .models-compute-page .models-model-table tbody tr:hover td { background: #f8faff; }
#app .models-compute-page .models-provider-table tr.is-selected td,
#app .models-compute-page .models-enterprise-table tr.is-selected td { background: #f1f4ff; }
#app .models-compute-page .models-name-button { display: grid; gap: 4px; min-width: 150px; padding: 0; border: 0; color: var(--models-text); background: transparent; text-align: left; cursor: pointer; }
#app .models-compute-page .models-name-button strong { color: #27364f; font-size: 14px; line-height: 1.45; }
#app .models-compute-page .models-name-button:hover strong { color: var(--models-blue); }
#app .models-compute-page .models-name-button small,
#app .models-compute-page .models-model-table td small,
#app .models-compute-page .models-usage-table td small { display: block; margin-top: 4px; color: var(--models-faint); font-size: 12px; line-height: 1.45; }
#app .models-compute-page .models-row-actions { display: flex; flex-wrap: nowrap; gap: 6px; min-width: max-content; }
#app .models-compute-page .models-row-actions .button { min-height: 34px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
#app .models-compute-page .models-table-footer,
#app .models-compute-page .models-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 22px 17px; color: var(--models-faint); font-size: 12px; line-height: 1.5; }
#app .models-compute-page .models-footer { margin-top: 18px; padding-right: 2px; padding-left: 2px; border-top: 1px solid #e5e9f2; }
#app .models-compute-page .models-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; margin: 0 22px 17px; }
#app .models-compute-page .models-detail-actions .button { min-height: 40px; font-size: 13px; white-space: nowrap; }
#app .models-compute-page .models-kicker { display: block; margin-bottom: 5px; color: #5f4bc4; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
#app .models-compute-page .models-detail .panel-header > .chip { flex: 0 0 auto; }
#app .models-compute-page .models-form-grid { gap: 13px; padding: 0 22px; }
#app .models-compute-page .models-form-grid .field { display: grid; gap: 6px; color: var(--models-ink); font-size: 13px; font-weight: 800; }
#app .models-compute-page .models-form-grid .field input,
#app .models-compute-page .models-form-grid .field select,
#app .models-compute-page .models-modal .field input,
#app .models-compute-page .models-modal .field select { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #d5deef; border-radius: 9px; color: var(--models-text); background: #fbfcff; font: inherit; font-size: 13px; outline: 0; }
#app .models-compute-page .models-form-grid .field input:focus,
#app .models-compute-page .models-form-grid .field select:focus,
#app .models-compute-page .models-modal .field input:focus,
#app .models-compute-page .models-modal .field select:focus { border-color: var(--models-blue); outline: 0; box-shadow: 0 0 0 3px rgba(49, 91, 234, .1); }
#app .models-compute-page .models-form-grid .field input[readonly] { color: var(--models-muted); background: #f5f7fc; }
#app .models-compute-page .models-form-grid .field-help { color: var(--models-muted); font-size: 12px; font-weight: 600; line-height: 1.55; }
#app .models-compute-page .models-secret-note,
#app .models-compute-page .models-route-boundary,
#app .models-compute-page .models-modal-note { display: flex; align-items: flex-start; gap: 8px; margin: 16px 22px 0; padding: 12px 13px; border: 1px solid #dce3ee; border-left: 3px solid var(--models-blue); border-radius: 9px; color: #536b99; background: #f5f7ff; font-size: 12px; line-height: 1.6; }
#app .models-compute-page .models-secret-note strong,
#app .models-compute-page .models-route-boundary strong { color: var(--models-text); white-space: nowrap; }
#app .models-compute-page .models-model-panel,
#app .models-compute-page .models-binding-models,
#app .models-compute-page .models-enterprise-audit { margin: 20px 22px 22px; padding-top: 16px; border-top: 1px solid #e5e9f2; }
#app .models-compute-page .models-model-panel > .panel-header,
#app .models-compute-page .models-binding-models > .panel-header,
#app .models-compute-page .models-enterprise-audit > .panel-header { align-items: flex-start; padding: 0 0 11px; }
#app .models-compute-page .models-model-panel h3,
#app .models-compute-page .models-binding-models h3,
#app .models-compute-page .models-enterprise-audit h3 { margin: 0; color: var(--models-ink); font-size: 16px; }
#app .models-compute-page .models-model-panel p,
#app .models-compute-page .models-binding-models p,
#app .models-compute-page .models-enterprise-audit p { margin: 4px 0 0; color: var(--models-muted); font-size: 12px; line-height: 1.55; }
#app .models-compute-page .models-enterprise-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 22px 17px; padding: 12px; border: 1px solid var(--models-line); border-radius: 9px; background: #f8faff; }
#app .models-compute-page .models-enterprise-context > div { display: grid; gap: 4px; min-width: 0; }
#app .models-compute-page .models-enterprise-context span,
#app .models-compute-page .models-modal-facts span { color: var(--models-faint); font-size: 12px; }
#app .models-compute-page .models-enterprise-context strong,
#app .models-compute-page .models-modal-facts strong { color: var(--models-text); font-size: 14px; overflow-wrap: anywhere; }
#app .models-compute-page .models-enterprise-context small { color: var(--models-muted); font-size: 12px; line-height: 1.4; }
#app .models-compute-page .models-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
#app .models-compute-page .models-check-field { display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 11px; border: 1px solid var(--models-line); border-radius: 9px; color: #53647a; background: #fbfcff; font-size: 12px; line-height: 1.5; cursor: pointer; }
#app .models-compute-page .models-check-field:hover { border-color: #9eb3ef; background: #f5f7ff; }
#app .models-compute-page .models-check-field input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; accent-color: var(--models-blue); }
#app .models-compute-page .models-check-field span { display: grid; gap: 3px; min-width: 0; }
#app .models-compute-page .models-check-field strong { color: var(--models-text); font-size: 13px; }
#app .models-compute-page .models-check-field small { color: var(--models-muted); font-size: 12px; line-height: 1.45; }
#app .models-compute-page .models-routing-panel { min-height: 300px; }
#app .models-compute-page .models-routing-panel > .panel-header { align-items: flex-start; }
#app .models-compute-page .models-routing-panel .models-detail-actions { margin: 0; }
#app .models-compute-page .models-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#app .models-compute-page .models-route-test-result { display: grid; gap: 5px; min-height: 70px; margin: 17px 22px 0; padding: 13px; border: 1px dashed #9eb3ef; border-radius: 9px; color: var(--models-muted); background: #f8faff; font-size: 13px; line-height: 1.65; }
#app .models-compute-page .models-route-test-result strong { color: var(--models-text); }
#app .models-compute-page .models-usage-points { color: #b36c12; font-size: 14px; }
#app .models-compute-page .models-empty { display: grid; gap: 5px; min-height: 112px; place-content: center; padding: 18px; color: var(--models-muted); text-align: center; }
#app .models-compute-page .models-empty strong { color: var(--models-text); font-size: 14px; }
#app .models-compute-page .models-empty span { font-size: 12px; line-height: 1.5; }
#app .models-compute-page .models-modal-overlay { background: rgba(21, 33, 58, .46); }
#app .models-compute-page .models-modal { width: min(700px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); overflow: auto; border-color: #d7dfef; border-radius: 14px; box-shadow: 0 22px 70px rgba(38, 58, 104, .24); }
#app .models-compute-page .models-modal-close { border-color: #d7dfef; color: #536b99; background: #f7f9ff; }
#app .models-compute-page .models-modal h2 { color: var(--models-ink); font-size: 23px; line-height: 1.35; }
#app .models-compute-page .models-modal-copy { color: var(--models-muted); font-size: 13px; line-height: 1.65; }
#app .models-compute-page .models-modal .models-form-grid { margin-top: 17px; padding: 0; }
#app .models-compute-page .models-modal .field { color: var(--models-ink); font-size: 13px; }
#app .models-compute-page .models-modal .models-enterprise-context { margin-right: 0; margin-left: 0; }
#app .models-compute-page .models-modal-note { margin-right: 0; margin-left: 0; border-left-color: #c17800; color: #805d22; background: #fff7e8; }
#app .models-compute-page .models-modal-actions { margin-top: 20px; border-top-color: #e5e9f2; }

@media (min-width: 1181px) {
  #app .models-compute-page .models-toolbar { grid-template-columns: minmax(0, 1fr) 174px auto; }
}

@media (max-width: 1180px) {
  #app .models-compute-page .models-provider-layout,
  #app .models-compute-page .models-enterprise-layout { grid-template-columns: 1fr; }
  #app .models-compute-page .models-detail { position: static; }
  #app .models-compute-page .models-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #app .models-compute-page .models-search { grid-column: 1 / -1; }
  #app .models-compute-page .models-toolbar > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 900px) {
  #app .models-compute-page .page-heading { flex-direction: column; }
  #app .models-compute-page .page-heading-actions { width: 100%; flex-wrap: wrap; }
  #app .models-compute-page .models-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #app .models-compute-page .models-detail-actions { justify-content: flex-start; }
  #app .models-compute-page .models-route-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  #app .models-compute-page .page-heading h1 { font-size: 28px; }
  #app .models-compute-page .models-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #app .models-compute-page .models-toolbar { display: flex; flex-direction: column; align-items: stretch; }
  #app .models-compute-page .models-search,
  #app .models-compute-page .models-select { width: 100%; }
  #app .models-compute-page .models-enterprise-context,
  #app .models-compute-page .models-form-grid,
  #app .models-compute-page .models-check-grid { grid-template-columns: 1fr; }
  #app .models-compute-page .models-table-footer,
  #app .models-compute-page .models-footer { align-items: flex-start; flex-direction: column; }
  #app .models-compute-page .models-detail-actions { margin-right: 16px; margin-left: 16px; }
  #app .models-compute-page .models-form-grid,
  #app .models-compute-page .models-model-panel,
  #app .models-compute-page .models-binding-models,
  #app .models-compute-page .models-enterprise-audit { margin-right: 16px; margin-left: 16px; padding-right: 0; padding-left: 0; }
  #app .models-compute-page .models-secret-note,
  #app .models-compute-page .models-route-boundary,
  #app .models-compute-page .models-route-test-result,
  #app .models-compute-page .models-enterprise-context { margin-right: 16px; margin-left: 16px; }
  #app .models-compute-page .models-form-grid { padding-right: 0; padding-left: 0; }
  #app .models-compute-page .models-modal .models-form-grid { margin-right: 0; margin-left: 0; }
}

/* JY Typography System v5：全站后台字体、字号、字重和文字层级的唯一收口。 */
:root {
  --font-family-admin: "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
  --admin-text-strong: #182338;
  --admin-text: #30415f;
  --admin-text-secondary: #53627b;
  --admin-text-tertiary: #71809b;
  --admin-text-disabled: #a7b1c1;
  --admin-border: #d9e2ef;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-family-admin);
  font-synthesis: none;
  -webkit-font-smoothing: auto;
  text-rendering: auto;
}
body { color: var(--admin-text); font-size: 14px; line-height: 1.6; }
.app-shell { font-family: var(--font-family-admin); }
.app-shell .sidebar { font-size: 14px; }
.app-shell .brand-lockup strong { font-size: 15px; font-weight: 600; letter-spacing: .01em; }
.app-shell .brand-lockup span:not(.prototype-label) { font-size: 12px; line-height: 1.4; }
.app-shell .nav-group-toggle { min-height: 40px; }
.app-shell .nav-group-label { font-size: 14px; font-weight: 600; letter-spacing: 0; }
.app-shell .nav-item { font-size: 14px; font-weight: 500; line-height: 1.45; }
.app-shell .nav-item.active { font-weight: 600; }
.app-shell .nav-badge { font-size: 12px; font-weight: 600; }
.app-shell .profile-mini strong { font-size: 13px; font-weight: 600; }
.app-shell .profile-mini span { font-size: 12px; line-height: 1.4; }
.app-shell .breadcrumbs { font-size: 13px; }
.app-shell .topbar-user,
.app-shell .activity-button { font-size: 13px; font-weight: 500; }
.app-shell .command-search b { font-size: 13px; font-weight: 500; }
.app-shell .workspace-choice-copy strong { font-size: 13px; font-weight: 600; }
.app-shell .workspace-choice-copy small { font-size: 12px; }

.main-content #app {
  color: var(--admin-text);
  font-family: var(--font-family-admin);
  font-size: 14px;
  line-height: 1.6;
}
.main-content #app .page-heading h1 {
  color: var(--admin-text-strong) !important;
  font-size: clamp(28px, 3vw, 34px) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}
.main-content #app .page-heading .eyebrow {
  margin-bottom: 9px;
  color: #315bea !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
}
.main-content #app .page-heading p {
  color: var(--admin-text-secondary) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.main-content #app h1,
.main-content #app h2,
.main-content #app h3,
.main-content #app h4,
.main-content #app strong { font-weight: 600 !important; }
.main-content #app h2 { font-size: 20px; line-height: 1.45; letter-spacing: 0; }
.main-content #app h3 { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
.main-content #app .panel-header h2,
.main-content #app .panel-header h3 {
  color: var(--admin-text-strong) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}
.main-content #app .panel-header p {
  color: var(--admin-text-secondary) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
.main-content #app .panel-link {
  color: #315bea !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.main-content #app .button {
  min-height: 38px;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
.main-content #app .button-small {
  min-height: 34px;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.main-content #app .stat-card .stat-top {
  color: var(--admin-text-secondary) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}
.main-content #app .stat-card .stat-value {
  color: var(--admin-text-strong) !important;
  font-family: var(--font-family-admin) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  font-variant-numeric: tabular-nums;
}
.main-content #app .stat-card .stat-meta {
  color: var(--admin-text-tertiary) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
.main-content #app .data-table {
  color: var(--admin-text);
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-variant-numeric: tabular-nums;
}
.main-content #app .data-table th {
  color: #5b6b88 !important;
  font-family: var(--font-family-admin) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.main-content #app .data-table td {
  color: var(--admin-text) !important;
  font-family: var(--font-family-admin) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
.main-content #app .data-table td strong { color: var(--admin-text-strong) !important; font-weight: 600 !important; }
.main-content #app .field label,
.main-content #app .field > span {
  color: var(--admin-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.main-content #app .field label span,
.main-content #app .field > span small,
.main-content #app .field > span em {
  color: var(--admin-text-tertiary) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
.main-content #app .field input,
.main-content #app .field textarea,
.main-content #app .field select {
  color: var(--admin-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.main-content #app .field input::placeholder,
.main-content #app .field textarea::placeholder { color: #9aa6b7 !important; opacity: 1; }
.main-content #app .filter-pill,
.main-content #app .module-tabs button,
.main-content #app .segmented button,
.main-content #app [class*="tabs"] button,
.main-content #app button[role="tab"] {
  color: #60708a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
.main-content #app .filter-pill.active,
.main-content #app .module-tabs button.active,
.main-content #app .segmented button.active,
.main-content #app [class*="tabs"] button.active,
.main-content #app button[role="tab"][aria-selected="true"] {
  color: #2447c3 !important;
  font-weight: 600 !important;
}
.main-content #app .chip {
  min-height: 24px;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
.main-content #app small,
.main-content #app [class*="meta"],
.main-content #app [class*="note"],
.main-content #app [class*="hint"],
.main-content #app [class*="description"],
.main-content #app [class*="subtitle"] {
  font-size: 12px !important;
  line-height: 1.55 !important;
}
.main-content #app .eyebrow { font-weight: 600 !important; letter-spacing: .04em !important; }
.main-content #app [class*="actions"] .button { font-weight: 500 !important; }
.main-content #app .stat-value small { font-size: 14px !important; font-weight: 500 !important; }

@media (max-width: 700px) {
  .main-content #app .page-heading h1 { font-size: 28px !important; }
  .main-content #app .page-heading p { font-size: 14px !important; }
  .main-content #app .data-table th,
  .main-content #app .data-table td { font-size: 13px !important; }
}

/* JY Icon System v1：壳层功能图标使用同一套 SVG 尺寸、基线和语义颜色。 */
:root {
  --admin-icon-blue: #315bea;
  --admin-icon-blue-soft: #eef2ff;
  --admin-icon-sidebar: #9fb7ff;
}

.app-shell,
.app-shell button,
.app-shell input,
.app-shell select,
.app-shell textarea {
  font-variant-emoji: text;
}

.app-shell .ui-icon {
  display: block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  overflow: visible;
  vertical-align: middle;
}

.app-shell .nav-group-icon,
.app-shell .nav-icon,
.app-shell .activity-symbol,
.app-shell .global-search-result-icon,
.app-shell .notification-item-icon,
.main-content #app .stat-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  line-height: 1;
  text-align: center;
  font-family: "Segoe UI Symbol", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-variant-emoji: text;
}

.app-shell .nav-group-icon {
  width: 20px;
  height: 20px;
  color: var(--admin-icon-sidebar);
  font-size: 14px;
}

.app-shell .nav-group-icon .ui-icon {
  width: 17px;
  height: 17px;
  stroke-width: 1.7;
}

.app-shell .nav-group.is-current > .nav-group-toggle .nav-group-icon,
.app-shell .nav-group-toggle:hover .nav-group-icon {
  color: #d8e2ff;
}

.app-shell .nav-icon {
  width: 18px;
  height: 18px;
  color: currentColor;
  font-size: 12px;
  opacity: .9;
}

.app-shell .nav-icon .ui-icon {
  width: 14px;
  height: 14px;
  stroke-width: 1.7;
}

.app-shell .nav-item.active .nav-icon .ui-icon { stroke-width: 2; }

.app-shell .nav-group-chevron {
  display: grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  place-items: center;
  color: #91a3cc;
  font-size: 0;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .16s ease, color .16s ease;
}

.app-shell .nav-group-chevron .ui-icon {
  width: 14px;
  height: 14px;
  stroke-width: 1.8;
}

.app-shell .nav-group-toggle:hover .nav-group-chevron { color: #d8e2ff; }
.app-shell .nav-group-toggle[aria-expanded="false"] .nav-group-chevron { transform: rotate(-90deg); }

.app-shell .chevron {
  display: inline-grid;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  place-items: center;
  color: #8c9bc0;
  font-size: 0;
  line-height: 1;
}

.app-shell .chevron::before {
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  content: "";
  transform: rotate(45deg);
  transition: transform .16s ease;
}

.app-shell .workspace-switch[aria-expanded="true"] .chevron::before,
.app-shell .topbar-user[aria-expanded="true"] .chevron::before {
  margin-top: 3px;
  transform: rotate(225deg);
}

.app-shell .activity-symbol {
  width: 24px;
  height: 24px;
  font-size: 0;
}

.app-shell .activity-symbol .ui-icon {
  width: 15px;
  height: 15px;
  stroke-width: 1.8;
}

.app-shell .activity-button:hover .activity-symbol,
.app-shell .activity-button[aria-expanded="true"] .activity-symbol {
  color: var(--admin-icon-blue);
}

.app-shell .global-search-result-icon,
.app-shell .notification-item-icon {
  font-size: 14px;
}

.app-shell .global-search-result-icon .ui-icon,
.app-shell .notification-item-icon .ui-icon {
  width: 15px;
  height: 15px;
}

.main-content #app .stat-icon {
  font-size: 14px;
  font-variant-numeric: normal;
}

.main-content #app .stat-icon .ui-icon {
  width: 16px;
  height: 16px;
}

.main-content #app .button,
.main-content #app .panel-link,
.main-content #app .chip,
.main-content #app [class*="icon"] {
  font-variant-emoji: text;
}

/* 侧栏滚动反馈与工作台蓝保持一致，不再回退到旧绿色。 */
.app-shell .sidebar.is-scrolling {
  scrollbar-color: rgba(159, 183, 255, .72) rgba(255, 255, 255, .08);
}

.app-shell .sidebar.is-scrolling::-webkit-scrollbar-track { background: rgba(159, 183, 255, .08); }
.app-shell .sidebar.is-scrolling::-webkit-scrollbar-thumb { background: rgba(159, 183, 255, .62); background-clip: padding-box; }
.app-shell .sidebar.is-scrolling::-webkit-scrollbar-thumb:hover { background: #9fb7ff; background-clip: padding-box; }

/* Final Tab lock v2：确保开发热更新和历史 :has() 规则也不能改回旧样式。 */
#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) {
  display: flex !important;
  gap: 24px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--jy-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
}

#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button {
  position: relative;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 48px !important;
  align-items: center;
  gap: 7px;
  padding: 0 2px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--jy-text-400) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}

#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button:hover,
#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button.active,
#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button[aria-selected="true"] {
  background: transparent !important;
  box-shadow: none !important;
}

#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button:hover { color: var(--jy-brand-700) !important; }

#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button.active,
#app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) > button[aria-selected="true"] {
  border-bottom-color: var(--jy-brand-700) !important;
  color: var(--jy-brand-600) !important;
  font-weight: 600 !important;
}

@media (max-width: 700px) {
  #app :is(.module-tabs, .collect-module-tabs, .selection-view-tabs, .content-view-tabs, .website-tabs, .help-tabs, .intel-module-tabs, .matrix-module-tabs, .admin-ops-tabs, .tenant-admin-tabs, .platform-accounts-tabs, .publish-connectors-tabs, .models-tabs, .audit-security-tabs) { gap: 20px !important; }
}

/* Final Foundation lock v2：基础控件必须服从 Foundation Token，不被历史模块规则反向覆盖。 */
#app .button {
  min-height: 40px !important;
  border-radius: var(--jy-radius-sm) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

#app .button-primary { border-color: var(--jy-brand-700) !important; color: #fff !important; background: var(--jy-brand-700) !important; box-shadow: 0 6px 14px rgba(49, 91, 234, .15) !important; }
#app .button-primary:hover { border-color: var(--jy-brand-600) !important; color: #fff !important; background: var(--jy-brand-600) !important; }
#app .button-secondary { border-color: var(--jy-border-strong) !important; color: #3154a8 !important; background: var(--jy-surface) !important; }
#app .button-secondary:hover { border-color: #9eb3ef !important; color: var(--jy-brand-600) !important; background: #f5f7ff !important; }
#app .button-quiet { border-color: var(--jy-border) !important; color: var(--jy-text-500) !important; background: var(--jy-surface-muted) !important; }
#app .button-small { min-height: 36px !important; font-size: 12px !important; }

#app input:not([type="checkbox"]):not([type="radio"]),
#app select,
#app textarea {
  border-color: var(--jy-border-strong) !important;
  border-radius: var(--jy-radius-sm) !important;
  color: var(--jy-text-700) !important;
  background: var(--jy-surface) !important;
  font-family: var(--font-family-admin) !important;
  font-size: 14px !important;
}

#app input:not([type="checkbox"]):not([type="radio"]),
#app select { min-height: var(--jy-control-height) !important; }
#app textarea { min-height: 96px; }
#app input:not([type="checkbox"]):not([type="radio"]):focus,
#app select:focus,
#app textarea:focus { border-color: var(--jy-brand-700) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(49, 91, 234, .12) !important; }

#app .panel,
#app .stat-card,
#app .kpi-card,
#app .fact-card,
#app .self-callout {
  border-color: var(--jy-border) !important;
  border-radius: var(--jy-radius-lg) !important;
  background: var(--jy-surface) !important;
  box-shadow: var(--jy-shadow-sm) !important;
}

#app .data-table th { color: #5b6b88 !important; background: #f5f7fc !important; font-size: 13px !important; font-weight: 600 !important; }
#app .data-table td { color: var(--jy-text-700) !important; font-size: 13px !important; line-height: 1.6 !important; }
#app .data-table tbody tr:hover { background: #f7f9ff !important; }
#app .chip { min-height: 24px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 500 !important; }

/* Table / List Template v1：所有业务列表共享同一套阅读骨架，业务字段和列宽仍由页面自己决定。 */
#app .panel > :where(.table-wrap, [class$="-table-wrap"], .publish-table-wrap, .matrix-table-wrap, .admin-ops-table-wrap, .rules-center-table-wrap, .team-table-wrap, .team-permission-table-wrap) {
  min-width: 0 !important;
  margin: 0 16px 16px !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  border: 1px solid var(--jy-border) !important;
  border-radius: var(--jy-radius-md) !important;
  background: var(--jy-surface) !important;
  scrollbar-color: #b9c8ee transparent;
}

#app .panel > :where(.table-wrap, [class$="-table-wrap"], .publish-table-wrap, .matrix-table-wrap, .admin-ops-table-wrap, .rules-center-table-wrap, .team-table-wrap, .team-permission-table-wrap)::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

#app .panel > :where(.table-wrap, [class$="-table-wrap"], .publish-table-wrap, .matrix-table-wrap, .admin-ops-table-wrap, .rules-center-table-wrap, .team-table-wrap, .team-permission-table-wrap)::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #b9c8ee;
  background-clip: padding-box;
}

#app :where(.data-table, .publish-data-table, .matrix-data-table) {
  min-width: 100%;
  border-collapse: collapse !important;
  background: var(--jy-surface) !important;
  color: var(--jy-text-700) !important;
}

#app :where(.data-table, .publish-data-table, .matrix-data-table) th {
  min-height: 48px;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--jy-border) !important;
  color: var(--jy-text-500) !important;
  background: #f5f7fc !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: left;
  white-space: nowrap;
}

#app :where(.data-table, .publish-data-table, .matrix-data-table) td {
  min-height: 56px;
  padding: 15px 16px !important;
  border-bottom: 1px solid #e8edf5 !important;
  color: var(--jy-text-700) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  vertical-align: middle !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

#app :where(.data-table, .publish-data-table, .matrix-data-table) tbody tr:last-child td { border-bottom: 0 !important; }
#app :where(.data-table, .publish-data-table, .matrix-data-table) tbody tr:hover td { background: #f7f9ff !important; }
#app :where(.data-table, .publish-data-table, .matrix-data-table) td strong { color: var(--jy-text-900) !important; font-weight: 600 !important; }
#app :where(.data-table, .publish-data-table, .matrix-data-table) td small { color: var(--jy-text-500) !important; font-size: 12px !important; line-height: 1.5 !important; }
#app :where(.data-table, .publish-data-table, .matrix-data-table) td:last-child { white-space: nowrap; }

#app :where(.data-table, .publish-data-table, .matrix-data-table) td :where(.button, button) {
  white-space: nowrap;
}

#app :where(.data-table, .publish-data-table, .matrix-data-table) td :where([class*="actions"], [class$="-actions"]) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  min-width: max-content;
}

#app :where(.table-footer, .publish-table-footer, .matrix-table-footer, .team-table-footer, .self-topic-footer, .self-kw-table-footer, .rules-center-registry-foot, .admin-ops-footer) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 12px 16px 16px !important;
  color: var(--jy-text-500) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

#app :where(.table-toolbar, .publish-toolbar, .admin-ops-toolbar, .rules-center-toolbar, .team-toolbar, .self-topic-toolbar, .self-kw-toolbar) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 16px !important;
  border-bottom: 1px solid var(--jy-border) !important;
}

#app :where(.table-toolbar, .publish-toolbar, .admin-ops-toolbar, .rules-center-toolbar, .team-toolbar, .self-topic-toolbar, .self-kw-toolbar) :where(input, select) {
  min-width: 160px;
}

@media (max-width: 760px) {
  #app .panel > :where(.table-wrap, [class$="-table-wrap"], .publish-table-wrap, .matrix-table-wrap, .admin-ops-table-wrap, .rules-center-table-wrap, .team-table-wrap, .team-permission-table-wrap) {
    margin-right: 12px !important;
    margin-left: 12px !important;
  }

  #app :where(.data-table, .publish-data-table, .matrix-data-table) th { padding-right: 12px !important; padding-left: 12px !important; }
  #app :where(.data-table, .publish-data-table, .matrix-data-table) td { padding-right: 12px !important; padding-left: 12px !important; }
  #app :where(.table-footer, .publish-table-footer, .matrix-table-footer, .team-table-footer, .self-topic-footer, .self-kw-table-footer, .rules-center-registry-foot, .admin-ops-footer) { align-items: flex-start; flex-direction: column; }
}

/* Form / Detail Template v1：编辑与详情页沿用同一套字段节奏，保存动作永远落在内容末端。 */
#app :where(.form-grid, .positioning-form-grid, .audience-form-grid, .story-edit-grid, .segment-form-grid, .knowledge-form-grid, .faq-form-grid, .content-form-grid-two, .collect-form-grid, .tenant-admin-form-grid, .publish-connectors-form-grid, .audit-security-form-grid, .self-platform-form-fields, .self-city-batch-fields, .self-city-schedule-fields, .self-video-data-form, .content-template-create-fields, .content-industry-modal-fields) {
  gap: 20px 24px !important;
}

#app :where(.field, .positioning-field, .audience-field, .story-field, .segment-field, .knowledge-form-field, .faq-form-field, .brand-modal-field, .brand-service-form label, .content-field, .publish-connectors-form-grid .field, .audit-security-form-grid .field, .self-platform-form-fields .field, .self-city-batch-fields .field, .self-city-schedule-fields .field, .content-template-create-fields .field, .content-industry-modal-fields .field) {
  min-width: 0;
  gap: 8px !important;
  color: var(--jy-text-700) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

#app :where(.field, .positioning-field, .audience-field, .story-field, .segment-field, .knowledge-form-field, .faq-form-field, .brand-modal-field, .brand-service-form label, .content-field, .publish-connectors-form-grid .field, .audit-security-form-grid .field, .self-platform-form-fields .field, .self-city-batch-fields .field, .self-city-schedule-fields .field, .content-template-create-fields .field, .content-industry-modal-fields .field) > :where(span:first-child, label, .field-label-row) {
  color: var(--jy-text-700) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

#app :where(.field, .positioning-field, .audience-field, .story-field, .segment-field, .knowledge-form-field, .faq-form-field, .brand-modal-field, .brand-service-form label, .content-field, .publish-connectors-form-grid .field, .audit-security-form-grid .field, .self-platform-form-fields .field, .self-city-batch-fields .field, .self-city-schedule-fields .field, .content-template-create-fields .field, .content-industry-modal-fields .field) > :where(span:first-child, label) small,
#app :where(.field-help, .field-example, .field-usage, .positioning-field-help, .collect-field-note, .content-form-note, .content-platform-help, .publish-platform-help) {
  color: var(--jy-text-500) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

#app :where(.form-grid, .positioning-form-grid, .audience-form-grid, .story-edit-grid, .segment-form-grid, .knowledge-form-grid, .faq-form-grid, .content-form-grid-two, .collect-form-grid, .tenant-admin-form-grid, .publish-connectors-form-grid, .audit-security-form-grid, .self-platform-form-fields, .self-city-batch-fields, .self-city-schedule-fields, .self-video-data-form, .content-template-create-fields, .content-industry-modal-fields) :where(input:not([type="checkbox"]):not([type="radio"]), select) {
  width: 100%;
  min-height: var(--jy-control-height) !important;
  padding: 0 12px !important;
  border: 1px solid var(--jy-border-strong) !important;
  border-radius: var(--jy-radius-sm) !important;
  color: var(--jy-text-700) !important;
  background: var(--jy-surface) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#app :where(.form-grid, .positioning-form-grid, .audience-form-grid, .story-edit-grid, .segment-form-grid, .knowledge-form-grid, .faq-form-grid, .content-form-grid-two, .collect-form-grid, .tenant-admin-form-grid, .publish-connectors-form-grid, .audit-security-form-grid, .self-platform-form-fields, .self-city-batch-fields, .self-city-schedule-fields, .self-video-data-form, .content-template-create-fields, .content-industry-modal-fields) textarea {
  width: 100%;
  min-height: 104px !important;
  padding: 11px 12px !important;
  border: 1px solid var(--jy-border-strong) !important;
  border-radius: var(--jy-radius-sm) !important;
  color: var(--jy-text-700) !important;
  background: var(--jy-surface) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

#app :where(.form-grid, .positioning-form-grid, .audience-form-grid, .story-edit-grid, .segment-form-grid, .knowledge-form-grid, .faq-form-grid, .content-form-grid-two, .collect-form-grid, .tenant-admin-form-grid, .publish-connectors-form-grid, .audit-security-form-grid, .self-platform-form-fields, .self-city-batch-fields, .self-city-schedule-fields, .self-video-data-form, .content-template-create-fields, .content-industry-modal-fields) :where(input, select, textarea):focus {
  border-color: var(--jy-brand-700) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(49, 91, 234, .12) !important;
}

#app :where(.form-footer, .positioning-form-footer, .audience-form-footer, .story-edit-footer, .segment-form-footer, .knowledge-form-footer, .faq-form-footer, .brand-edit-actions, .brand-group-actions, .collect-actions, .content-output-actions, .content-modal-actions, .publish-connectors-modal-actions, .tenant-admin-modal-actions, .admin-ops-config-actions, .team-permission-actions, .audit-security-detail-actions, .self-platform-generate-actions, .self-city-batch-actions, .self-city-schedule-actions, .self-video-modal-actions) {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px !important;
  padding: 16px 20px 20px !important;
  border-top: 1px solid var(--jy-border) !important;
}

#app :where(.form-footer, .positioning-form-footer, .audience-form-footer, .story-edit-footer, .segment-form-footer, .knowledge-form-footer, .faq-form-footer, .brand-edit-actions, .brand-group-actions, .collect-actions, .content-output-actions, .content-modal-actions, .publish-connectors-modal-actions, .tenant-admin-modal-actions, .admin-ops-config-actions, .team-permission-actions, .audit-security-detail-actions, .self-platform-generate-actions, .self-city-batch-actions, .self-city-schedule-actions, .self-video-modal-actions) :where(.button, button) {
  flex: 0 0 auto;
  white-space: nowrap;
}

#app :where(.detail-grid, .matrix-detail-grid, .intel-detail-grid, .platform-diagnosis-metrics, .publish-preview-facts, .tenant-admin-summary-grid, .team-permission-summary, .self-platform-preview-facts) {
  gap: 16px !important;
}

#app :where(.detail-grid, .matrix-detail-grid, .intel-detail-grid, .publish-preview-facts, .tenant-admin-summary-grid, .team-permission-summary, .self-platform-preview-facts) > :where(div, article, label) {
  min-width: 0;
  padding: 14px 16px !important;
  border: 1px solid var(--jy-border) !important;
  border-radius: var(--jy-radius-md) !important;
  background: var(--jy-surface-muted) !important;
}

#app :where(.detail-grid, .matrix-detail-grid, .intel-detail-grid, .publish-preview-facts, .tenant-admin-summary-grid, .team-permission-summary, .self-platform-preview-facts) :where(span, dt) {
  color: var(--jy-text-500) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#app :where(.detail-grid, .matrix-detail-grid, .intel-detail-grid, .publish-preview-facts, .tenant-admin-summary-grid, .team-permission-summary, .self-platform-preview-facts) :where(strong, dd) {
  color: var(--jy-text-900) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  #app :where(.form-footer, .positioning-form-footer, .audience-form-footer, .story-edit-footer, .segment-form-footer, .knowledge-form-footer, .faq-form-footer, .brand-edit-actions, .brand-group-actions, .collect-actions, .content-output-actions, .content-modal-actions, .publish-connectors-modal-actions, .tenant-admin-modal-actions, .admin-ops-config-actions, .team-permission-actions, .audit-security-detail-actions, .self-platform-generate-actions, .self-city-batch-actions, .self-city-schedule-actions, .self-video-modal-actions) {
    align-items: stretch;
    flex-direction: column;
  }

  #app :where(.form-footer, .positioning-form-footer, .audience-form-footer, .story-edit-footer, .segment-form-footer, .knowledge-form-footer, .faq-form-footer, .brand-edit-actions, .brand-group-actions, .collect-actions, .content-output-actions, .content-modal-actions, .publish-connectors-modal-actions, .tenant-admin-modal-actions, .admin-ops-config-actions, .team-permission-actions, .audit-security-detail-actions, .self-platform-generate-actions, .self-city-batch-actions, .self-city-schedule-actions, .self-video-modal-actions) :where(.button, button) { width: 100%; }
}

/* Diagnosis / Dashboard / Workflow Template v1：指标先给结论，过程再给证据，工作流最后给下一步。 */
#app :where(.dashboard-context-strip, .diagnosis-context, .content-spec-note, .intel-citation-mode-bar, .intel-toolbar, .publish-plugin-alert) {
  border-color: var(--jy-border) !important;
  border-radius: var(--jy-radius-md) !important;
  color: var(--jy-text-500) !important;
  background: #f5f7fc !important;
}

#app :where(.dashboard-action-panel, .health-panel, .pipeline-panel, .monitor-card, .brand-diagnosis-scan-card, .brand-diagnosis-board, .brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel, .brand-diagnosis-methodology-panel, .content-diagnosis-panel, .platform-diagnosis-overview, .platform-diagnosis-performance-panel, .keyword-diagnosis-scan-card, .keyword-diagnosis-section, .competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel, .intel-citation-brief, .intel-competitor-brief, .intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel) {
  border-color: var(--jy-border) !important;
  border-radius: var(--jy-radius-lg) !important;
  background: var(--jy-surface) !important;
  box-shadow: var(--jy-shadow-sm) !important;
}

#app :where(.dashboard-action-panel, .health-panel, .pipeline-panel, .brand-diagnosis-board, .brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel, .brand-diagnosis-methodology-panel, .content-diagnosis-panel, .platform-diagnosis-overview, .platform-diagnosis-performance-panel, .keyword-diagnosis-section, .competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel, .intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel) > :where(.panel-header, .brand-diagnosis-board-heading, .content-diagnosis-header, .platform-diagnosis-overview-heading, .platform-diagnosis-section-heading, .keyword-diagnosis-section-heading, .competitor-diagnosis-mention-heading, .competitor-diagnosis-matrix-heading, .intel-section-heading) {
  min-height: 64px;
  padding: 18px 22px 15px !important;
  border-bottom-color: var(--jy-border) !important;
}

#app :where(.dashboard-action-panel, .health-panel, .pipeline-panel, .brand-diagnosis-board, .brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel, .brand-diagnosis-methodology-panel, .content-diagnosis-panel, .platform-diagnosis-overview, .platform-diagnosis-performance-panel, .keyword-diagnosis-section, .competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel, .intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel) :where(h2, h3, h4) {
  color: var(--jy-text-900) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

#app :where(.dashboard-action-panel, .health-panel, .pipeline-panel, .brand-diagnosis-board, .brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel, .brand-diagnosis-methodology-panel, .content-diagnosis-panel, .platform-diagnosis-overview, .platform-diagnosis-performance-panel, .keyword-diagnosis-section, .competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel, .intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel) :where(p, .subtle-note, .intel-result-count, .competitor-diagnosis-matrix-footer) {
  color: var(--jy-text-500) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

#app .dashboard-context-strip {
  min-height: 56px;
  padding: 12px 16px !important;
}

#app .health-score { align-items: center; gap: 18px; padding: 8px 22px 22px !important; }
#app .score-circle {
  width: 76px !important;
  height: 76px !important;
  border-color: #d8e1f1 !important;
  border-top-color: var(--jy-brand-700) !important;
  border-right-color: var(--jy-accent) !important;
  color: var(--jy-brand-700) !important;
  background: #f7f9ff !important;
  box-shadow: 0 0 0 6px rgba(49, 91, 234, .08) !important;
}

#app .health-score-copy strong,
#app .pipeline-step strong,
#app .monitor-card strong { color: var(--jy-text-900) !important; font-weight: 600 !important; }
#app .health-score-copy span,
#app .pipeline-step span,
#app .monitor-card p { color: var(--jy-text-500) !important; font-size: 12px !important; line-height: 1.6 !important; }

#app .pipeline { gap: 0 !important; padding: 8px 22px 26px !important; }
#app .pipeline-step:not(:last-child)::after { background: #d8e1f1 !important; }
#app .pipeline-step.done:not(:last-child)::after { background: var(--jy-brand-700) !important; }
#app .pipeline-number {
  width: 32px !important;
  height: 32px !important;
  border-color: var(--jy-border-strong) !important;
  color: var(--jy-text-500) !important;
  background: var(--jy-surface) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#app .pipeline-step.done .pipeline-number { border-color: var(--jy-brand-700) !important; color: #fff !important; background: var(--jy-brand-700) !important; }
#app .pipeline-step.current .pipeline-number { border-color: var(--jy-accent) !important; color: #087f8c !important; background: #dff9fb !important; box-shadow: 0 0 0 5px rgba(19, 183, 201, .14) !important; }
#app .monitor-card::before { background: var(--monitor-accent, var(--jy-brand-700)) !important; }
#app .monitor-card.green { --monitor-accent: var(--jy-brand-700); }
#app .monitor-card.purple { --monitor-accent: var(--jy-ai); }
#app .monitor-card.blue { --monitor-accent: var(--jy-accent); }
#app .monitor-card.orange { --monitor-accent: var(--jy-warning); }

#app :where(.brand-diagnosis-kpi-grid, .platform-diagnosis-kpi-grid, .keyword-diagnosis-kpi-grid, .intel-kpi-grid) { gap: 16px !important; }
#app :where(.brand-diagnosis-kpi-card, .platform-diagnosis-kpi, .keyword-diagnosis-kpi-grid article, .intel-kpi) {
  min-height: 136px !important;
  padding: 20px !important;
  border-color: var(--jy-border) !important;
  border-radius: var(--jy-radius-lg) !important;
  background: var(--jy-surface) !important;
  box-shadow: var(--jy-shadow-sm) !important;
}

#app :where(.brand-diagnosis-kpi-card .stat-value, .platform-diagnosis-kpi strong, .keyword-diagnosis-kpi-grid article > strong, .intel-kpi > strong) {
  color: var(--jy-text-900) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

#app .brand-diagnosis-scan-card,
#app .keyword-diagnosis-scan-card {
  margin-bottom: 20px;
  padding: 20px !important;
  background: var(--jy-surface) !important;
}

#app :where(.brand-diagnosis-scan-heading, .keyword-diagnosis-scan-head, .brand-diagnosis-board-heading) { border-bottom-color: var(--jy-border) !important; }
#app :where(.brand-diagnosis-scan-controls, .keyword-diagnosis-scan-row) :where(input, select) { border-color: var(--jy-border-strong) !important; background: var(--jy-surface) !important; }
#app :where(.brand-diagnosis-scan-controls, .keyword-diagnosis-scan-row) :where(input, select):focus { border-color: var(--jy-brand-700) !important; box-shadow: 0 0 0 3px rgba(49, 91, 234, .12) !important; }
#app .brand-diagnosis-score-track { background: #e2e8f4 !important; }
#app .brand-diagnosis-score-track i { background: var(--jy-brand-700) !important; }

#app :where(.content-longform-grid, .content-note-output, .content-video-output, .publish-center-layout, .publish-platform-grid, .publish-failure-grid) { gap: 20px !important; }
#app :where(.content-form-panel, .content-preview-panel, .content-compact-form, .content-queue-panel, .content-title-table-panel, .content-industry-panel, .content-prompt-preview, .publish-pending-panel, .publish-strategy-panel, .publish-preview-panel, .publish-table-panel, .publish-log-panel) {
  border-color: var(--jy-border) !important;
  border-radius: var(--jy-radius-lg) !important;
  background: var(--jy-surface) !important;
  box-shadow: var(--jy-shadow-sm) !important;
}

#app .content-form-panel { border-top-color: var(--jy-brand-700) !important; }
#app .content-preview-panel { border-top-color: var(--jy-accent) !important; }
#app :where(.content-form-panel, .content-preview-panel, .content-compact-form, .content-queue-panel, .content-title-table-panel, .content-industry-panel, .content-prompt-preview, .publish-pending-panel, .publish-strategy-panel, .publish-preview-panel, .publish-table-panel, .publish-log-panel) .panel-header { border-bottom-color: var(--jy-border) !important; }
#app :where(.content-form-panel, .content-preview-panel, .content-compact-form, .content-queue-panel, .content-title-table-panel, .content-industry-panel, .content-prompt-preview, .publish-pending-panel, .publish-strategy-panel, .publish-preview-panel, .publish-table-panel, .publish-log-panel) .panel-header :where(h2, h3) { color: var(--jy-text-900) !important; font-weight: 600 !important; letter-spacing: 0 !important; }
#app :where(.content-form-panel, .content-preview-panel, .content-compact-form, .content-queue-panel, .content-title-table-panel, .content-industry-panel, .content-prompt-preview, .publish-pending-panel, .publish-strategy-panel, .publish-preview-panel, .publish-table-panel, .publish-log-panel) .panel-header p { color: var(--jy-text-500) !important; font-size: 13px !important; }

#app :where(.content-scope-tabs button.active, .content-title-option.active, .content-choice-pills button.active, .publish-mode-tabs button.active) {
  border-color: #9eb3ef !important;
  color: var(--jy-brand-600) !important;
  background: #f1f4ff !important;
  box-shadow: inset 3px 0 var(--jy-brand-700) !important;
}

#app .content-platform-pill.active { border-color: #9eb3ef !important; color: var(--jy-brand-600) !important; background: #f1f4ff !important; }
#app .content-platform-tags { border-color: var(--jy-border-strong) !important; background: var(--jy-surface) !important; }
#app .content-platform-tags span { color: var(--jy-brand-600) !important; background: #eef2ff !important; }
#app .content-preview-paper { border-color: var(--jy-border) !important; border-radius: var(--jy-radius-md) !important; color: var(--jy-text-700) !important; background: #fbfcff !important; }
#app .content-preview-paper :where(h2, h3) { color: var(--jy-text-900) !important; letter-spacing: 0 !important; }
#app .content-preview-paper p { color: var(--jy-text-700) !important; line-height: 1.8 !important; }
#app .content-preview-callout { border-left-color: var(--jy-brand-700) !important; color: var(--jy-text-700) !important; background: #f1f4ff !important; }
#app :where(.content-output-actions, .content-preview-footer, .publish-table-footer, .publish-history-detail-actions) { border-top-color: var(--jy-border) !important; }
#app :where(.publish-detail-row td, .publish-history-detail) { border-color: var(--jy-border) !important; background: #f5f7fc !important; }
#app .publish-detail-card { border-left-color: var(--jy-brand-700) !important; }

@media (max-width: 760px) {
  #app :where(.dashboard-action-panel, .health-panel, .pipeline-panel, .brand-diagnosis-board, .brand-diagnosis-dimension-panel, .brand-diagnosis-platform-panel, .brand-diagnosis-methodology-panel, .content-diagnosis-panel, .platform-diagnosis-overview, .platform-diagnosis-performance-panel, .keyword-diagnosis-section, .competitor-diagnosis-mention-panel, .competitor-diagnosis-matrix-panel, .intel-platform-panel, .intel-trend-table-panel, .intel-heat-panel, .intel-alert-panel, .intel-competitor-panel, .intel-citation-panel) > :where(.panel-header, .brand-diagnosis-board-heading, .content-diagnosis-header, .platform-diagnosis-overview-heading, .platform-diagnosis-section-heading, .keyword-diagnosis-section-heading, .competitor-diagnosis-mention-heading, .competitor-diagnosis-matrix-heading, .intel-section-heading) { min-height: 56px; padding-right: 16px !important; padding-left: 16px !important; }
  #app :where(.brand-diagnosis-kpi-grid, .platform-diagnosis-kpi-grid, .keyword-diagnosis-kpi-grid, .intel-kpi-grid) { grid-template-columns: 1fr !important; }
  #app :where(.content-longform-grid, .content-note-output, .content-video-output, .publish-center-layout, .publish-platform-grid, .publish-failure-grid) { gap: 16px !important; }
}

/* Global Visual Regression Cleanup v1：清理跨页面残留的小字号、超重中文和旧式 Tab 容器。 */
#app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) {
  display: flex !important;
  gap: 24px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--jy-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
}

#app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) > button {
  position: relative;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 48px !important;
  align-items: center;
  gap: 7px;
  padding: 0 2px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--jy-text-400) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}

#app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) > button:hover { color: var(--jy-brand-700) !important; }
#app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) > button.active,
#app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) > button[aria-selected="true"] {
  border-bottom-color: var(--jy-brand-700) !important;
  color: var(--jy-brand-600) !important;
  font-weight: 600 !important;
}

#app :where(.context-kicker, .dashboard-context-label, .brand-governance-mark, [class*="-kicker"], [class*="section-label"], .tenant-cell span, .admin-ops-result-count, .admin-ops-task-title small, .admin-ops-scope small, .admin-ops-progress-cell small, .admin-ops-alert-item time, .admin-ops-config-fields .field small, .admin-ops-toggle-field small, .admin-ops-rule-meta span, .admin-ops-rule-actions span, .rules-center-kicker, .platform-member-kicker, .models-kicker, .platform-accounts-kicker, .publish-connectors-kicker) {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

#app :where(.collect-unscored, .selection-score, .matrix-result-count, .matrix-account-platform, .matrix-spec-cell, .matrix-group-cell, .website-identity-badge, .team-owner-badge, .team-role-chip, .publish-count-badge) {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

#app :where(.brand-service-name, .stat-top, .admin-ops-select span, .rules-center-select span, .platform-accounts-select span, .publish-connectors-select span) {
  font-weight: 600 !important;
}
#app .publish-stat-top { font-weight: 600 !important; }
#app :where(.stat-top > :first-child, .admin-kpi-card small, .content-spec-note :where(strong, span), .platform-member-select span, .platform-member-filter span) {
  font-weight: 600 !important;
}

#app .admin-overview-page .tenant-cell span,
#app .admin-ops-page .admin-ops-task-title small,
#app .admin-ops-page .admin-ops-scope small,
#app .admin-ops-page .admin-ops-progress-cell small,
#app .admin-ops-page .admin-ops-alert-item time,
#app .admin-ops-page .admin-ops-config-fields .field small,
#app .admin-ops-page .admin-ops-toggle-field small,
#app .admin-ops-page .admin-ops-rule-meta span,
#app .admin-ops-page .admin-ops-rule-actions span {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

#app .admin-ops-page .admin-ops-table th,
#app .admin-ops-page .admin-ops-table td {
  font-size: 13px !important;
}

#app .admin-ops-page .admin-ops-table :where(small, .admin-ops-task-title small, .admin-ops-scope small, .admin-ops-progress-cell small) {
  font-size: 12px !important;
}

#app .billing-admin-page :where(.billing-admin-tabs span, .billing-admin-select span, .billing-admin-context-grid span, .billing-admin-table-footer span, .billing-admin-footer span) {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
#app .billing-admin-page :where(.billing-admin-tabs span, .billing-admin-select span) { font-weight: 600 !important; }

#app :where(.health-row > span, .health-row > b, .brand-context-strip > strong, .brand-governance-items span, .completion-card span, .brand-facts .fact-footer span, .collect-task-filter, .content-form-badge, .content-spec-note span, .content-preview-footer > span, .help-category-card em, .tenant-admin-tabs span, .tenant-admin-account-link-grid span, .tenant-admin-danger-zone span, .billing-admin-contract-summary span, .audit-security-posture-list span, .audit-security-footer span) {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

#app .selection-category-filters button { font-size: 13px !important; font-weight: 500 !important; }
#app :where(.content-form-badge, .content-spec-note span, .content-preview-footer > span, .help-category-card em) { font-weight: 600 !important; }

.app-shell:has(.help-hero) :where(.help-hero .eyebrow, .help-article-date, .help-kind-guide, .help-kind-rule, .help-kind-faq) {
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.app-shell:has(.help-hero) .help-search kbd { font-size: 11px !important; }

#app :where(.profile-mini .profile-copy strong, .team-identity-mark, .team-avatar) { font-weight: 600 !important; }
.app-shell :where(.avatar, .avatar-small, .team-identity-mark, .team-avatar) {
  display: grid;
  align-content: center;
  justify-content: center;
  place-items: center;
  line-height: 1 !important;
  text-align: center;
}
.app-shell .profile-mini .avatar-label { margin: 0 !important; transform: none !important; line-height: 1 !important; }
.app-shell .profile-mini .profile-copy span { font-size: 12px !important; line-height: 1.4 !important; }

@media (max-width: 700px) {
  #app :is(.billing-admin-tabs, .team-tabs, .publish-view-tabs, .publish-module-tabs) { gap: 20px !important; }
}

/* Interaction State & Responsive Cleanup v1：把交互反馈收口为不跳动、可聚焦、可约束的公共规则。 */
#app :where(button, a, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid rgba(49, 91, 234, .46) !important;
  outline-offset: 2px !important;
}

#app :where(button, .button, [role="button"]):disabled,
#app :where(button, .button, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .5 !important;
  transform: none !important;
  box-shadow: none !important;
}

#app :where(button, .button, [role="button"]):disabled:hover,
#app :where(button, .button, [role="button"])[aria-disabled="true"]:hover {
  transform: none !important;
  box-shadow: none !important;
}

#app :where(.button-primary, .button-secondary, .button-quiet):disabled:hover,
#app :where(.button-primary, .button-secondary, .button-quiet)[aria-disabled="true"]:hover {
  border-color: #d7dfef !important;
  color: #a8b2c6 !important;
  background: #f4f6fa !important;
}

/* 交互状态只改变颜色、边界和阴影，不通过位移制造鼠标“跳动”。 */
#app :where(button, .button, [role="button"]):not(.nav-group-toggle):hover {
  transform: none !important;
}

#app :where(button, .button, [role="button"]) {
  transition-property: color, background-color, border-color, box-shadow !important;
}

#app :where(
  .brand-modal,
  .collect-title-modal,
  .selection-timeline-modal,
  .content-modal,
  .intel-modal,
  .website-modal,
  .compute-modal,
  .billing-modal,
  .admin-ops-modal,
  .tenant-admin-modal,
  .rules-center-modal,
  .platform-member-modal,
  .team-modal,
  .help-modal,
  .publish-connectors-modal,
  .platform-accounts-modal,
  .models-modal,
  .audit-security-modal,
  .self-platform-modal,
  .self-city-modal,
  .self-video-modal,
  .self-article-modal
) {
  box-sizing: border-box;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
}

#app :where(
  .brand-modal-overlay,
  .collect-modal-overlay,
  .content-modal-overlay,
  .intel-modal-overlay,
  .website-modal-overlay,
  .compute-modal-overlay,
  .billing-modal-overlay,
  .admin-ops-modal-overlay,
  .tenant-admin-modal-overlay,
  .rules-center-modal-overlay,
  .platform-member-modal-overlay,
  .team-modal-overlay,
  .help-modal-overlay,
  .publish-connectors-modal-overlay,
  .platform-accounts-modal-overlay,
  .models-modal-overlay,
  .audit-security-modal-overlay,
  .self-platform-modal-overlay,
  .self-city-modal-overlay,
  .self-video-modal-overlay,
  .self-article-modal-overlay
) {
  overscroll-behavior: contain;
}

@media (max-width: 760px) {
  #app :where(
    .brand-modal,
    .collect-title-modal,
    .selection-timeline-modal,
    .content-modal,
    .intel-modal,
    .website-modal,
    .compute-modal,
    .billing-modal,
    .admin-ops-modal,
    .tenant-admin-modal,
    .rules-center-modal,
    .platform-member-modal,
    .team-modal,
    .help-modal,
    .publish-connectors-modal,
    .platform-accounts-modal,
    .models-modal,
    .audit-security-modal,
    .self-platform-modal,
    .self-city-modal,
    .self-video-modal,
    .self-article-modal
  ) {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }
}

/* Typography Residual Cleanup v2：收口壳层与高频组件中仍然过小或过重的可见文字。 */
.app-shell .topbar-workspace .workspace-switch-copy small {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.app-shell .topbar-workspace .workspace-switch-copy strong {
  font-size: 13px !important;
  font-weight: 600 !important;
}

.app-shell #breadcrumb-current { font-weight: 600 !important; }

.app-shell .brand-mark {
  font-size: 12px !important;
  font-weight: 600 !important;
}

.app-shell .activity-button .topbar-count,
.app-shell .notification-count {
  font-size: 11px !important;
  font-weight: 600 !important;
}

#app .dashboard-benchmark .hero-demo-badge { font-weight: 600 !important; }

#app .dashboard-benchmark .task-index {
  font-size: 12px !important;
  font-weight: 600 !important;
}

#app .brand-facts .fact-footer {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

#app .brand-facts .fact-footer b { font-weight: 600 !important; }

.app-shell .collect-task-filter { font-size: 12px !important; }

.app-shell .collect-task-filter button {
  font-size: 12px !important;
  font-weight: 500 !important;
}

#app .selection-keyword-cell > span :where(b, em) { font-weight: 600 !important; }

#app .team-seat-card strong small,
#app .team-select span { font-weight: 600 !important; }

.app-shell:has(.help-hero) .help-search kbd {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

/* Component & Responsive Governance v1：让壳层和页面内容在收窄时先收缩，再由表格容器承接横向内容。 */
.app-shell,
.app-shell .main-content,
.app-shell .main-content > #app,
.app-shell .topbar,
.app-shell .topbar > * {
  min-width: 0;
}

.app-shell .topbar-workspace,
.app-shell .command-search-wrap,
.app-shell .topbar-right,
.app-shell .topbar-actions {
  min-width: 0;
}

@media (max-width: 1080px) {
  .app-shell .topbar { gap: 10px; }
  .app-shell .topbar-right { gap: 6px; }
  .app-shell .topbar-user { gap: 6px; padding-right: 4px; padding-left: 3px; }
  .app-shell .topbar-workspace .workspace-switch {
    min-width: 0;
    flex: 0 1 164px;
  }
  .app-shell .command-search {
    min-width: 0;
    flex: 1 1 200px;
  }
  .app-shell .topbar-activity { gap: 0; }
  .app-shell .topbar-activity .activity-button { padding-right: 6px; padding-left: 6px; }
  .app-shell .topbar-activity .activity-button > span:nth-child(2) { display: none; }
  #app .admin-ops-page .admin-ops-toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #app .admin-ops-page .admin-ops-search { grid-column: 1 / -1; }
  #app .admin-ops-page .admin-ops-toolbar :where(input, select) { min-width: 0; }
}

@media (max-width: 900px) {
  .app-shell .topbar {
    height: auto;
    min-height: 76px;
    flex-wrap: wrap;
    align-content: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .app-shell .topbar-workspace {
    min-width: 0;
    flex: 1 1 160px;
  }

  .app-shell .topbar-workspace .workspace-switch { width: 100%; }
  .app-shell .topbar-right { flex: 0 1 auto; }
  .app-shell .command-search-wrap {
    order: 3;
    flex: 1 1 100%;
    width: 100%;
  }
  .app-shell .command-search { width: 100%; }
  .app-shell .brand-group-actions > div:last-child {
    width: 100%;
    flex-direction: column;
  }
  .app-shell .story-edit-actions {
    width: 100%;
    flex-direction: column;
  }
  .app-shell .story-edit-actions .button {
    width: 100%;
    flex: 0 0 auto;
  }
  #app .page-heading { gap: 16px; }
  #app .page-heading-actions { flex-wrap: wrap; }

  #app .admin-ops-page .admin-ops-toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #app .admin-ops-page .admin-ops-search { grid-column: 1 / -1; }
  #app .admin-ops-page .admin-ops-toolbar :where(input, select) { min-width: 0; }
  .app-shell .collect-filter-bar { grid-template-columns: 1fr !important; }
  .app-shell .collect-filter-bar .collect-task-filter,
  .app-shell .collect-filter-bar .collect-filter-caption { grid-column: auto; }
  .app-shell .collect-task-filter { justify-self: stretch; }
}

@media (max-width: 480px) {
  .app-shell .topbar { padding-right: 14px; padding-left: 14px; }
  .app-shell .topbar-workspace .workspace-switch { min-height: 40px; }
  .app-shell .topbar-user { padding-right: 4px; }
  .app-shell .topbar-user > :not(.avatar-small) { display: none; }
  #app .page-heading h1 { font-size: 26px !important; }
  #app .page-heading p { font-size: 13px !important; }
}

/* State & Content Boundary Cleanup v1：让“无数据/提示/反馈”成为可读的内容状态，而不是小号装饰文字。 */
#app :where(
  .empty-state p,
  .selection-empty-state span,
  .matrix-empty-state span,
  .intel-empty-state span,
  .website-empty-state span,
  .website-empty-state p,
  [class*="-empty-state"] small,
  [class*="-empty-state"] p
) {
  font-size: 12px !important;
  line-height: 1.6 !important;
}

#app :where(
  .empty-state,
  .selection-empty-state,
  .matrix-empty-state,
  .intel-empty-state,
  .website-empty-state,
  [class*="-empty-state"]
) {
  min-width: 0;
  overflow-wrap: anywhere;
}

#app :where(.toast, [role="status"], [role="alert"]) {
  max-width: min(420px, calc(100vw - 28px));
  font-size: 13px !important;
  line-height: 1.5 !important;
}

#app :where(.alert-item span, .admin-ops-alert-item small, .admin-ops-alert-item time) {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

#app :where(.loading-state, .error-state, .permission-state) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

#app :where(
  .publish-connectors-empty span,
  .models-empty span,
  .rules-center-empty span,
  .platform-accounts-empty span,
  .platform-member-empty span,
  .billing-admin-empty span
) {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

#app :where(
  .publish-connectors-empty strong,
  .models-empty strong,
  .rules-center-empty strong,
  .platform-accounts-empty strong,
  .platform-member-empty strong,
  .billing-admin-empty strong
) {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  #app :where(.empty-state, .selection-empty-state, .matrix-empty-state, .intel-empty-state, .website-empty-state, [class*="-empty-state"]) {
    min-height: 160px;
    padding-right: 16px;
    padding-left: 16px;
  }

  #app :where(.toast, [role="status"], [role="alert"]) {
    right: 14px;
    bottom: 14px;
  }
}

/* ===== Slice02 UI detail refinement (no IA change, no third UI) ===== */
#app .data-table td strong { overflow-wrap: anywhere; }
#app .data-table td small { display: block; color: #64748b; font-size: 11px; overflow-wrap: anywhere; }
#app .page-heading { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; justify-content: space-between; }
#app .page-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#app .button-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#app .module-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#app pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 420px; overflow-y: auto; }
/* Batch03 RC-RESP-001: removed invented @media 900 bare-table-wrap/640 rules; Original governs: .table-wrap{overflow:auto} base + per-module min-width + 700/760 shared rules. */
body[data-auth-route="login"] .sidebar,
body[data-auth-route="login"] .topbar { display: none; }
body[data-auth-route="login"] .main-content { margin-left: 0; min-height: 100vh; }
body[data-auth-route="login"] .page-container { max-width: 720px; margin: 0 auto; padding-top: 10vh; }
.auth-login-panel { max-width: 560px; margin: 0 auto; }
.auth-login-form { display: grid; gap: 16px; }
.auth-login-status { min-height: 1.4em; color: var(--color-danger, #b42318); }
