:root {
  color-scheme: light;
  --bg: #f3f6fb;
  --bg-soft: #eef3fb;
  --card: #ffffff;
  --card-soft: #f8fafc;
  --ink: #182033;
  --muted: #6c778c;
  --muted-2: #98a3b7;
  --line: #e1e8f2;
  --line-strong: #cdd8e8;
  --blue: #2463eb;
  --blue-2: #1748b8;
  --blue-soft: #edf4ff;
  --green: #0f9f6e;
  --green-soft: #e9f8ef;
  --orange: #c77900;
  --orange-soft: #fff4df;
  --red: #d64545;
  --red-soft: #ffecec;
  --shadow: 0 18px 45px rgba(28, 42, 68, 0.09);
  --shadow-soft: 0 8px 24px rgba(28, 42, 68, 0.06);
  --shadow-inner: inset 0 -18px 24px -24px rgba(28, 42, 68, .45);
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --space-page: 36px;
}

.brand-sku-progress-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.brand-sku-progress-title {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 18px;
  letter-spacing: -.01em;
}

.brand-sku-progress-summary span {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft, rgba(15, 23, 42, .04));
}

.brand-sku-progress-summary.warning span:nth-child(3) {
  border-color: rgba(245, 158, 11, .35);
  background: rgba(245, 158, 11, .12);
  color: var(--warning-strong, #92400e);
}

.brand-sku-progress-table {
  min-width: 920px;
}

.brand-sku-progress-identity {
  min-width: 280px;
}

.brand-sku-progress-identity small,
.brand-sku-progress-identity code {
  display: block;
  margin-top: 4px;
}

.brand-sku-progress-identity code {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .ai-workspace-scope {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-workspace-scope > div:nth-child(2) {
    border-right: 0;
  }

  .ai-workspace-scope > div:nth-child(-n + 2) {
    border-bottom: 1px solid #e2e8f0;
  }

  .ai-workspace-method {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-workspace-shell .ai-copilot-grid {
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
  }

  .vip-workbench-hero,
  .vip-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .vip-section-heading p {
    text-align: left;
  }

  .vip-decision-grid,
  .vip-kpi-ribbon {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vip-module-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vip-module-fold > .vip-module-summary {
    grid-template-columns: 130px minmax(190px, .7fr) minmax(260px, 1.3fr) 22px;
  }
}

@media (max-width: 720px) {
  .vip-workbench-hero,
  .vip-decision-section,
  .vip-module-overview,
  .vip-module-body {
    padding: 18px 16px;
  }

  .vip-decision-grid,
  .vip-kpi-ribbon,
  .vip-two-column,
  .vip-module-overview-grid {
    grid-template-columns: 1fr;
  }

  .vip-module-overview-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .vip-module-overview-head small {
    text-align: left;
  }

  .vip-module-fold {
    padding: 0;
  }

  .vip-module-fold > .vip-module-summary {
    grid-template-columns: 1fr 22px;
    gap: 4px 12px;
    padding: 16px;
  }

  .vip-module-fold > .vip-module-summary > span,
  .vip-module-fold > .vip-module-summary > strong,
  .vip-module-fold > .vip-module-summary > small {
    grid-column: 1;
  }

  .vip-module-fold > .vip-module-summary::after {
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #f2f4f5;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 12px var(--space-page);
  border-bottom: 1px solid var(--line);
  background: rgba(242, 244, 245, .94);
  color: var(--ink);
  backdrop-filter: blur(12px);
}

.topbar::after {
  display: none;
}

.topbar > * {
  position: relative;
  z-index: 1;
}

.topbar-brand {
  min-width: 220px;
}

.global-app-launcher {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  min-width: 132px;
  min-height: 46px;
  height: auto;
  padding: 7px 12px;
  border-color: rgba(23, 38, 46, .12);
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: 0 8px 22px rgba(23, 38, 46, .08);
}

.global-app-launcher:hover {
  border-color: rgba(36, 99, 235, .28);
  box-shadow: 0 12px 28px rgba(23, 38, 46, .13);
}

.global-app-launcher-icon {
  display: grid;
  grid-template-columns: repeat(3, 4px);
  gap: 3px;
  flex: 0 0 auto;
  padding: 6px;
  border-radius: 9px;
  background: var(--blue-soft);
}

.global-app-launcher-icon i {
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: var(--blue);
}

.global-app-launcher-copy {
  display: grid;
  gap: 1px;
}

.global-app-launcher-copy strong {
  font-size: 13px;
}

.global-app-launcher-copy small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
}

.eyebrow {
  margin: 0 0 3px;
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
}

h1, h2, p {
  margin-top: 0;
}

h1 {
  margin-bottom: 4px;
  font-size: 22px;
  letter-spacing: -0.03em;
}

h2 {
  margin-bottom: 14px;
  font-size: 18px;
  letter-spacing: -0.01em;
}

.subtitle {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 12px;
}

.filters {
  display: flex;
  gap: 12px;
  align-items: end;
  flex-wrap: wrap;
  max-width: 720px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}

input, select, button {
  height: 38px;
  border: 1px solid transparent;
  border-radius: 11px;
  padding: 0 12px;
  font: inherit;
}

input:focus,
select:focus,
button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(36, 99, 235, .24);
  outline-offset: 2px;
}

.filters input {
  min-width: 150px;
  border: 1px solid var(--line);
  box-shadow: inset 0 0 0 1px rgba(29, 98, 240, 0.04);
}

button {
  background: #fff;
  color: #153584;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(10, 25, 70, .12);
}

.filter-note {
  flex-basis: 100%;
  margin-top: -2px;
  color: var(--muted);
  font-size: 12px;
}

main {
  display: grid;
  grid-template-columns: 212px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: 22px var(--space-page) 60px;
  max-width: 1760px;
  margin: 0 auto;
}

main > *,
.grid > *,
.section-nav-items,
.shop-diagnosis-card,
.shop-diagnosis-grid {
  min-width: 0;
  max-width: 100%;
}

.dashboard-content {
  grid-column: 2;
  min-width: 0;
}

html {
  scroll-behavior: smooth;
}

.section-nav {
  position: sticky;
  top: 96px;
  z-index: 6;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-height: calc(100vh - 118px);
  margin: 0;
  padding: 14px;
  border: 0;
  border-radius: 18px;
  background: #17262e;
  box-shadow: 0 18px 40px rgba(23, 38, 46, 0.16);
}

.section-nav-title {
  display: grid;
  gap: 3px;
  padding: 4px 4px 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  color: #fff;
}

.section-nav-title strong {
  font-size: 15px;
}

.section-nav-scope {
  display: block;
  margin: 0 0 6px;
  padding: 9px 10px;
  border: 1px solid rgba(91, 196, 174, .2);
  border-radius: 12px;
  background: rgba(255, 255, 255, .07);
  color: rgba(226, 235, 238, .82);
  font-size: 12px;
  line-height: 1.45;
}

.section-nav-items {
  display: grid;
  gap: 7px;
}

.section-nav-group {
  margin: 9px 4px 2px;
  color: rgba(226, 235, 238, .45);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.section-nav-title small,
.section-nav-note,
.section-nav-empty {
  color: rgba(226, 235, 238, .58);
  font-size: 11px;
  line-height: 1.55;
}

.section-nav-empty {
  padding: 12px 10px;
  border: 1px dashed rgba(255, 255, 255, .16);
  border-radius: 12px;
}

.section-nav-note {
  margin-top: auto;
  padding: 12px 4px 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.section-nav a,
.section-nav button {
  width: 100%;
  height: auto;
  display: grid;
  gap: 3px;
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(226, 235, 238, .78);
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  box-shadow: none;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}

.section-nav button span {
  color: inherit;
  font-size: 13px;
}

.section-nav button small {
  color: rgba(226, 235, 238, .5);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

.section-nav a:hover,
.section-nav button:hover,
.section-nav button.active {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  transform: translateY(-1px);
}

.section-nav button.active {
  border-color: rgba(91, 196, 174, .3);
  box-shadow: inset 3px 0 0 #5bc4ae;
}

.section-nav button.active small,
.section-nav button:hover small {
  color: rgba(255, 255, 255, .74);
}

.section-nav a.nav-muted {
  opacity: .42;
}

.section-nav a.nav-muted:hover {
  opacity: 1;
}

.account-scope-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(36, 99, 235, .16);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(255, 255, 255, .94)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.account-scope-copy span {
  display: inline-flex;
  margin-bottom: 4px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-scope-copy strong {
  display: block;
  margin-bottom: 4px;
  font-size: 18px;
}

.account-scope-copy small {
  color: var(--muted);
  line-height: 1.6;
}

.account-scope-controls {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.account-login-form,
.account-session-actions,
.account-password-change-form {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.account-login-form[hidden],
.account-session-actions[hidden],
.account-password-change-form[hidden],
.legacy-account-scope[hidden] {
  display: none;
}

.legacy-account-scope {
  flex: 0 0 100%;
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

.legacy-account-scope summary {
  cursor: pointer;
  font-weight: 700;
}

.legacy-account-scope .account-scope-controls {
  margin-top: 10px;
}

.account-login-form label,
.account-password-change-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.account-login-form input,
.account-password-change-form input {
  width: min(200px, 36vw);
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
}

.account-login-form button,
.account-session-actions button,
.account-password-change-form button {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  box-shadow: none;
}

.account-secondary-action {
  border: 1px solid rgba(36, 99, 235, .22);
  background: rgba(255, 255, 255, .92);
  color: var(--blue);
}

#accountLoginStatus {
  flex-basis: 100%;
  min-height: 18px;
  color: var(--muted);
  text-align: right;
}

#accountLoginStatus.auth-error {
  color: var(--danger);
}

.account-password-change-form {
  flex: 1 0 100%;
  justify-content: flex-start;
  padding-top: 12px;
  border-top: 1px solid rgba(22, 163, 74, .18);
}

.account-password-change-form > strong,
#accountPasswordChangeStatus {
  flex-basis: 100%;
}

#accountPasswordChangeStatus {
  color: var(--muted);
}

#accountPasswordChangeStatus.auth-error {
  color: var(--danger);
}

.account-session-actions {
  align-items: center;
}

.account-session-actions span {
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
}

.account-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: min(86vh, 840px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 24px;
  background: #f8fafc;
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .26);
}

html.account-dialog-open,
body.account-dialog-open {
  overflow: hidden;
}

.account-dialog::backdrop {
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(8px);
}

.account-dialog-heading {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px 20px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 92% 0%, rgba(36, 99, 235, .14), transparent 38%),
    rgba(255, 255, 255, .97);
}

.account-dialog-heading span,
.account-admin-heading span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-dialog-heading h2,
.account-admin-heading h3 {
  margin: 4px 0 6px;
}

.account-dialog-heading p {
  max-width: 62ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.account-dialog-close {
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
  font-size: 24px;
  line-height: 1;
}

.account-access-request-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 24px 26px 26px;
}

.account-access-request-form > label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.account-access-request-form input,
.account-access-request-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.account-access-request-form textarea {
  min-height: 92px;
  resize: vertical;
}

.account-app-choice,
.account-request-reason,
.account-dialog-actions,
.account-dialog-status {
  grid-column: 1 / -1;
}

.account-app-choice {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.account-app-choice legend {
  padding: 0 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.account-app-choice label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13px;
  font-weight: 700;
}

.account-app-choice input {
  width: 18px;
  min-height: 18px;
}

.account-request-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.account-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.account-dialog-actions button,
.account-dialog-actions a {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  box-shadow: none;
}

.account-dialog-status {
  min-height: 20px;
  color: var(--muted);
  text-align: right;
}

.account-dialog-status.auth-error {
  color: var(--danger);
}

.account-application-dialog {
  width: min(980px, calc(100vw - 32px));
  scrollbar-color: rgba(71, 85, 105, .5) transparent;
  scrollbar-width: thin;
}

.account-application-dialog::-webkit-scrollbar {
  width: 8px;
}

.account-application-dialog::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(71, 85, 105, .5);
  background-clip: padding-box;
}

.account-application-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
  gap: 22px;
  margin: 22px 26px 0;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(37, 99, 235, .2);
  border-radius: 18px;
  background:
    linear-gradient(125deg, rgba(239, 246, 255, .98), rgba(255, 255, 255, .98) 56%, rgba(240, 253, 250, .92));
  box-shadow: 0 12px 34px rgba(30, 64, 175, .08);
}

.account-application-guide-copy > span,
.account-application-category {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-application-guide-copy h3 {
  margin: 7px 0 8px;
  font-size: clamp(19px, 2.3vw, 26px);
  line-height: 1.25;
}

.account-application-guide-copy p {
  max-width: 58ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.account-application-sequence {
  display: grid;
  align-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-application-sequence li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: rgba(255, 255, 255, .82);
}

.account-application-sequence li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #0f172a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.account-application-sequence strong {
  font-size: 13px;
  line-height: 1.45;
}

.account-application-list {
  display: grid;
  gap: 12px;
  padding: 24px 26px;
}

.account-application-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: stretch;
  gap: 22px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.account-application-card.recommended {
  border-color: rgba(37, 99, 235, .3);
  box-shadow: 0 12px 30px rgba(37, 99, 235, .07);
}

.account-application-card.recommended::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, #2563eb, #14b8a6);
  content: '';
}

.account-application-card-main {
  min-width: 0;
}

.account-application-card-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.account-application-order {
  display: inline-flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #0f172a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
}

.account-application-card h3 {
  margin: 4px 0 0;
  font-size: 18px;
}

.account-application-card p,
.account-application-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.account-application-recommended {
  margin-left: auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 11px;
  white-space: nowrap;
}

.application-guide-outcome {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
  margin-top: 16px !important;
}

.application-guide-outcome strong,
.application-guide-first-step > span,
.application-guide-modules > span {
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

.application-guide-first-step {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #f1f5f9;
}

.application-guide-first-step p {
  color: var(--ink);
  font-weight: 700;
}

.application-guide-modules {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.application-guide-modules > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.application-guide-modules small {
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}

.account-application-card-side {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding-left: 18px;
  border-left: 1px solid var(--line);
}

.account-application-meta {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 6px;
}

.account-application-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
}

.account-application-card a,
.account-application-card button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 142px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 12px;
  text-decoration: none;
}

.account-application-action,
.account-application-action a,
.account-application-action button {
  width: 100%;
}

.account-application-card button[disabled] {
  cursor: default;
  background: #e2e8f0;
  color: #475569;
  opacity: 1;
}

.account-dialog-loading,
.account-application-empty {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  color: var(--muted);
  text-align: center;
}

.account-access-request-admin {
  margin: 0 26px 22px;
  padding: 18px;
  border: 1px solid rgba(245, 158, 11, .24);
  border-radius: 16px;
  background: #fffbeb;
}

.account-admin-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.account-access-request-admin-list {
  display: grid;
  gap: 10px;
}

.account-request-admin-error {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(220, 38, 38, .22);
  border-radius: 12px;
  background: #fff;
  color: var(--muted);
}

.account-request-admin-error strong {
  color: var(--red);
}

.account-request-admin-error span,
.account-request-admin-error small {
  line-height: 1.5;
}

.account-request-admin-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 12px;
  background: #fff;
}

.account-request-admin-card strong,
.account-request-admin-card small {
  display: block;
}

.account-request-admin-card p {
  margin: 6px 0;
  color: var(--muted);
  line-height: 1.55;
}

.account-request-admin-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.account-request-admin-actions button {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  box-shadow: none;
  font-size: 12px;
}

.account-application-dialog > .account-dialog-actions {
  padding: 0 26px 24px;
}

.account-scope-bar[data-authenticated="true"] {
  border-color: rgba(22, 163, 74, .22);
  background: linear-gradient(135deg, rgba(240, 253, 244, .96), rgba(255, 255, 255, .96));
}

body[data-access-state="login-required"] .section-nav,
body[data-access-state="password-change-required"] .section-nav,
body[data-access-state="login-required"] .dashboard-content > :not(#accountScopeBar):not(.account-dialog),
body[data-access-state="password-change-required"] .dashboard-content > :not(#accountScopeBar):not(.account-dialog) {
  display: none;
}

body[data-access-state="login-required"] #accountScopeBar,
body[data-access-state="password-change-required"] #accountScopeBar {
  max-width: 920px;
  margin: 2.5rem auto;
}

.account-scope-controls label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.account-scope-controls select {
  min-width: 230px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
}

.account-scope-controls button {
  height: 38px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 13px;
  box-shadow: none;
}

#accountProfileReset {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.account-hidden {
  display: none !important;
}

.role-view-bar {
  display: none;
  position: sticky;
  top: 58px;
  z-index: 4;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -4px 0 20px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 96% 0%, rgba(36, 99, 235, .12), transparent 30%),
    rgba(255, 255, 255, .9);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(12px);
}

.role-view-bar strong {
  display: block;
  margin-bottom: 3px;
}

.role-view-bar small {
  color: var(--muted);
}

.role-view-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.role-view-actions button {
  height: 32px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  box-shadow: none;
}

.role-view-actions button.active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.role-hidden {
  display: none !important;
}

.page-hidden {
  display: none !important;
}

body[data-page-view="home"] .role-view-bar,
body[data-page-view="home"] .role-focus {
  display: none !important;
}

.role-focus {
  display: grid;
  grid-template-columns: minmax(280px, 1.4fr) minmax(260px, .9fr) minmax(260px, 1fr);
  gap: 14px;
  align-items: stretch;
  margin: -8px 0 22px;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .16);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(237, 244, 255, .96), rgba(255, 255, 255, .94)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.role-focus > div,
.role-focus > ul,
.role-focus > small {
  min-width: 0;
}

.role-focus-kicker {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.target-quality-panel {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: -4px 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow-soft);
}

.target-quality-panel span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.target-quality-panel strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 18px;
}

.target-quality-panel small,
.target-quality-panel p {
  color: var(--muted);
  line-height: 1.6;
}

.target-quality-panel p {
  margin: 0;
}

.target-quality-panel a {
  justify-self: end;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.target-quality-panel.success {
  border-color: rgba(22, 163, 74, .22);
  background: linear-gradient(135deg, rgba(240, 253, 244, .96), rgba(255, 255, 255, .94));
}

.target-quality-panel.danger {
  border-color: rgba(220, 38, 38, .24);
  background: linear-gradient(135deg, rgba(254, 242, 242, .96), rgba(255, 255, 255, .94));
}

.target-quality-panel.danger strong {
  color: #991b1b;
}

.target-quality-panel.muted {
  border-color: rgba(100, 116, 139, .20);
  background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(255, 255, 255, .94));
}

.brand-target-workspace-tabs {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: -4px 0 18px;
  padding: 8px;
  border: 1px solid rgba(36, 99, 235, .16);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.brand-target-workspace-tabs button {
  display: grid;
  gap: 4px;
  min-height: 70px;
  padding: 13px 15px;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.brand-target-workspace-tabs button:hover {
  border-color: rgba(36, 99, 235, .20);
  background: var(--blue-soft);
}

.brand-target-workspace-tabs button.active {
  border-color: rgba(36, 99, 235, .28);
  background:
    radial-gradient(circle at 92% 10%, rgba(36, 99, 235, .14), transparent 34%),
    linear-gradient(180deg, #f8fbff, #edf4ff);
  color: var(--blue);
  box-shadow: inset 4px 0 0 var(--blue);
}

.brand-target-workspace-tabs span {
  color: currentColor;
  font-size: 15px;
  font-weight: 900;
}

.brand-target-workspace-tabs small {
  color: var(--muted);
  line-height: 1.45;
}

.brand-target-entry-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.brand-target-entry-grid .role-insight-card {
  min-height: 132px;
}

.brand-target-primary-entry {
  border-color: rgba(36, 99, 235, .30);
  background:
    radial-gradient(circle at 90% 6%, rgba(36, 99, 235, .18), transparent 38%),
    linear-gradient(180deg, #fff, #eef5ff);
}

.brand-target-workspace-switch {
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.brand-target-workspace-hidden {
  display: none !important;
}

#brand-target-progress-card,
#brand-target-analysis,
#brand-monthly-review,
#brand-target-admin {
  scroll-margin-top: 132px;
}

.brand-target-truth-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.brand-target-truth-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: 999px;
  background: #f7faff;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.brand-target-truth-legend b {
  color: var(--ink);
}

.brand-progress-table-scroll {
  max-height: 620px;
}

.brand-progress-overview-table {
  min-width: 1180px;
}

.brand-progress-overview-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
}

.brand-progress-overview-table td {
  min-width: 168px;
  vertical-align: top;
  line-height: 1.4;
}

.brand-progress-overview-table td:first-child {
  min-width: 190px;
}

.brand-progress-overview-table strong {
  color: var(--ink);
}

.brand-progress-overview-table small {
  display: inline-block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.45;
}

.brand-progress-metric-badge {
  display: inline-flex;
  margin: 5px 7px 3px 0;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 800;
}

.brand-progress-forecast strong + small + strong {
  display: inline-block;
  margin-top: 7px;
}

@media (max-width: 720px) {
  .brand-target-truth-legend {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .brand-target-truth-legend span {
    flex: 0 0 auto;
  }

  .brand-progress-table-scroll {
    max-height: 560px;
  }
}

.role-focus strong {
  display: block;
  margin-bottom: 6px;
  font-size: 18px;
  letter-spacing: -0.02em;
}

.role-focus p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.role-focus ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.role-focus li {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.role-focus small {
  display: block;
  padding: 12px;
  border-radius: var(--radius-md);
  background: var(--orange-soft);
  color: #7a4a00;
  line-height: 1.55;
}

.role-page-shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  margin: 0 0 26px;
  scroll-margin-top: 190px;
}

.home-command-hero,
.home-stage-section,
.home-decision-grid,
.home-gateway-grid,
.home-top-tasks {
  grid-column: 1 / -1;
}

.home-stage-section {
  display: grid;
  gap: 12px;
}

.home-command-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 92% 8%, rgba(36, 99, 235, .16), transparent 34%),
    linear-gradient(135deg, #ffffff, #f6f9ff);
  box-shadow: var(--shadow-soft);
}

.home-command-hero h2 {
  margin: 4px 0 8px;
  font-size: clamp(24px, 2.8vw, 34px);
  letter-spacing: -0.035em;
}

.home-command-hero p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.home-command-principle {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .15);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .74);
}

.home-command-principle strong {
  color: var(--blue);
  font-size: 14px;
}

.home-command-principle span {
  color: #34425c;
  line-height: 1.55;
}

.home-decision-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.home-decision-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
}

.home-decision-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.home-decision-card strong {
  color: var(--ink);
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -.03em;
}

.home-decision-card small {
  color: var(--muted);
  line-height: 1.45;
}

.home-decision-card.tone-blue {
  border-color: rgba(36, 99, 235, .18);
  background: linear-gradient(180deg, #fff, #f5f9ff);
}

.home-decision-card.tone-green {
  border-color: rgba(15, 159, 110, .18);
  background: linear-gradient(180deg, #fff, #f4fbf7);
}

.home-decision-card.tone-orange {
  border-color: rgba(199, 121, 0, .20);
  background: linear-gradient(180deg, #fff, #fff9ef);
}

.home-decision-card.tone-red {
  border-color: rgba(214, 69, 69, .20);
  background: linear-gradient(180deg, #fff, #fff5f5);
}

.home-gateway-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.home-role-gateway {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: var(--shadow-soft);
}

.home-role-gateway span {
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}

.home-role-gateway strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.home-role-gateway small {
  color: var(--muted);
  line-height: 1.5;
}

.home-top-tasks {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.home-shop-risk,
.home-data-trust {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.home-shop-risk-list {
  display: grid;
  gap: 8px;
}

.home-shop-risk-row {
  display: grid;
  grid-template-columns: 30px minmax(190px, .9fr) minmax(260px, 1.35fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fff, #f8fbff);
  color: var(--ink);
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.home-shop-risk-row:hover {
  border-color: rgba(36, 99, 235, .28);
  box-shadow: 0 10px 24px rgba(10, 25, 70, .08);
  transform: translateY(-1px);
}

.home-shop-risk-row > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 12px;
  font-weight: 900;
}

.home-shop-risk-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.home-shop-risk-row strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-shop-risk-row small {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-shop-risk-row em {
  color: var(--blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.home-data-trust {
  border-left: 5px solid var(--green);
}

.home-data-trust.tone-warning {
  border-left-color: var(--orange);
}

.home-data-trust.tone-danger {
  border-left-color: var(--red);
}

.home-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-trust-grid > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
}

.home-trust-grid span,
.home-trust-grid small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.home-trust-grid strong {
  color: var(--ink);
  font-size: 18px;
}

.home-trust-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.home-trust-actions a,
.home-trust-actions button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(36, 99, 235, .18);
  border-radius: 10px;
  background: #fff;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: none;
}

.home-trust-actions > small {
  align-self: center;
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}

.collection-chain-card {
  overflow: hidden;
}

.collection-chain-card .card-title > div {
  display: grid;
  gap: 3px;
}

.collection-chain-card .card-title h3 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
}

.collection-chain-card .card-title small {
  color: var(--muted);
  line-height: 1.45;
}

.collection-chain-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.collection-chain-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.collection-chain-summary > div.tone-danger {
  border-color: rgba(220, 38, 38, .28);
  background: linear-gradient(180deg, #fff, #fff1f2);
}

.collection-chain-summary span,
.collection-chain-summary small {
  color: var(--muted);
  font-size: 12px;
}

.collection-chain-summary strong {
  color: var(--ink);
  font-size: 20px;
}

.collection-chain-empty {
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px solid rgba(245, 158, 11, .26);
  border-radius: var(--radius-md);
  background: #fff8eb;
  color: #92400e;
}

.collection-chain-table-wrap {
  max-height: 520px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.collection-chain-table-wrap table {
  min-width: 920px;
  margin: 0;
}

.collection-chain-table-wrap thead th {
  position: sticky;
  z-index: 1;
  top: 0;
  background: #f8fafc;
}

.collection-chain-row.tone-danger {
  background: rgba(254, 242, 242, .68);
}

.collection-chain-row.tone-warning {
  background: rgba(255, 251, 235, .68);
}

.collection-state-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 900;
}

.collection-state-badge.tone-success {
  background: #dcfce7;
  color: #166534;
}

.collection-state-badge.tone-warning {
  background: #fef3c7;
  color: #92400e;
}

.collection-state-badge.tone-danger {
  background: #fee2e2;
  color: #b91c1c;
}

.collection-state-badge.tone-muted {
  background: #e2e8f0;
  color: #475569;
}

.collection-user-action {
  color: #b91c1c;
  font-weight: 800;
}

.shop-collection-health {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.4fr);
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(37, 99, 235, .2);
  border-left: 5px solid #2563eb;
  border-radius: var(--radius-md);
  background: #eff6ff;
}

.shop-collection-health > div {
  display: grid;
  gap: 3px;
}

.shop-collection-health span,
.shop-collection-health small {
  color: #64748b;
  font-size: 11px;
}

.shop-collection-health strong {
  color: #0f172a;
  font-size: 15px;
}

.shop-collection-health p {
  margin: 0;
  color: #334155;
  line-height: 1.55;
}

.shop-collection-health.tone-success {
  border-color: rgba(22, 163, 74, .24);
  border-left-color: #16a34a;
  background: #f0fdf4;
}

.shop-collection-health.tone-warning,
.shop-collection-health.tone-loading {
  border-color: rgba(245, 158, 11, .28);
  border-left-color: #f59e0b;
  background: #fffbeb;
}

.shop-collection-health.tone-danger {
  border-color: rgba(220, 38, 38, .3);
  border-left-color: #dc2626;
  background: #fff1f2;
}

.shop-last-action-result {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.5fr) auto;
  gap: 18px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(15, 118, 110, .22);
  border-left: 5px solid #0f766e;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #f0fdfa, #f8fafc);
}

.shop-last-action-result > div {
  display: grid;
  gap: 3px;
}

.shop-last-action-result span,
.shop-last-action-result small {
  color: #64748b;
  font-size: 11px;
}

.shop-last-action-result strong {
  color: #0f172a;
  font-size: 14px;
}

.shop-last-action-result p {
  margin: 0;
  color: #334155;
  line-height: 1.55;
}

.shop-last-action-result a {
  white-space: nowrap;
  font-weight: 800;
  color: #0f766e;
}

.shop-last-action-result.tone-waiting,
.shop-last-action-result.tone-neutral {
  border-color: rgba(245, 158, 11, .3);
  border-left-color: #f59e0b;
  background: #fffbeb;
}

.home-task-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.home-task-row {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fff, #f8fbff);
  color: var(--ink);
  text-decoration: none;
}

.home-task-row > span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 12px;
  font-weight: 900;
}

.home-task-row strong {
  font-size: 13px;
  line-height: 1.35;
}

.home-task-row small,
.home-empty {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.home-empty {
  grid-column: 1 / -1;
  padding: 12px;
  border-radius: var(--radius-md);
  background: var(--card-soft);
}

.role-page-hero,
.role-page-metrics,
.role-page-actions,
.role-page-flow,
.role-page-insights {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.role-page-hero {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(360px, .8fr);
  gap: 18px;
  align-items: stretch;
  padding: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(36, 99, 235, .16), transparent 34%),
    linear-gradient(135deg, #ffffff, #f6f9ff);
}

.role-page-shell[data-role-page="ops"] .role-page-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(36, 99, 235, .18), transparent 34%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.role-page-shell[data-role-page="procurement"] .role-page-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(15, 159, 110, .16), transparent 34%),
    linear-gradient(135deg, #ffffff, #f3fbf7);
}

.role-page-shell[data-role-page="finance"] .role-page-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(199, 121, 0, .16), transparent 34%),
    linear-gradient(135deg, #ffffff, #fff9ef);
}

.role-page-hero h2 {
  margin: 4px 0 8px;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.03em;
}

.role-page-hero p {
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.6;
}

.role-page-hero small {
  display: block;
  max-width: 780px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  background: var(--blue-soft);
  color: #24437a;
  line-height: 1.55;
}

.role-page-hero-compact {
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 18px 20px;
  border-left: 5px solid var(--blue);
  background: #fff !important;
}

.role-page-hero-compact .role-hero-copy {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.5fr);
  gap: 4px 22px;
  align-items: start;
}

.role-page-hero-compact .role-focus-kicker,
.role-page-hero-compact h2 {
  grid-column: 1;
}

.role-page-hero-compact h2 {
  margin-bottom: 0;
}

.role-page-hero-compact p,
.role-page-hero-compact small {
  grid-column: 2;
}

.role-page-hero-compact p {
  margin: 0;
}

.role-page-hero-compact small {
  max-width: none;
  padding: 8px 10px;
}

.role-hero-primary-actions {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

.role-hero-primary-actions button {
  display: inline-grid;
  grid-template-columns: auto;
  gap: 2px;
  min-height: 48px;
  padding: 9px 15px;
  border: 1px solid #1d4ed8;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .18);
  text-align: left;
}

.role-hero-primary-actions button:hover,
.role-hero-primary-actions button:focus-visible {
  border-color: #1e40af;
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  transform: translateY(-1px);
}

.role-hero-primary-actions button strong {
  font-size: 14px;
}

.role-hero-primary-actions button span {
  color: #dbeafe;
  font-size: 11px;
  font-weight: 700;
}

.role-truth-badges {
  display: grid;
  gap: 10px;
}

.role-truth-boundary {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.role-truth-boundary summary {
  width: fit-content;
  cursor: pointer;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.role-truth-boundary[open] summary {
  margin-bottom: 10px;
  color: var(--blue);
}

.role-primary-judgement {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
}

.role-primary-judgement > :first-child,
.role-primary-judgement > :last-child {
  margin: 0;
}

.role-page-hero-compact .role-truth-badges {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.role-page-hero-compact .role-truth-badges div {
  min-height: 56px;
  padding: 10px 12px;
  border-color: var(--line);
  background: var(--card-soft);
}

.role-page-hero-compact .role-truth-badges strong {
  font-size: 12px;
}

.role-truth-badges div {
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .72);
}

.role-truth-badges span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.role-truth-badges strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.role-page-metrics {
  grid-column: span 3;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.role-page-actions {
  grid-column: span 4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.role-block-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 26px;
  padding: 2px 2px 4px;
}

.role-block-title strong {
  color: var(--ink);
  font-size: 14px;
  letter-spacing: .02em;
}

.role-block-title small {
  color: var(--muted);
  font-size: 12px;
}

.role-page-actions a,
.role-page-actions button {
  display: grid;
  gap: 6px;
  min-height: 82px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-align: left;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.role-page-actions a:hover,
.role-page-actions button:hover {
  transform: translateY(-1px);
  border-color: #b9cdfb;
  background: #f8fbff;
}

.role-page-actions strong {
  font-size: 15px;
}

.role-page-actions small {
  color: var(--muted);
  line-height: 1.45;
}

.role-page-flow {
  grid-column: span 4;
  display: grid;
  gap: 10px;
  padding: 14px;
  background:
    radial-gradient(circle at 90% 4%, rgba(15, 159, 110, .12), transparent 30%),
    #fff;
}

.role-flow-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
}

.role-flow-step > span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-weight: 900;
}

.role-flow-step strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
}

.role-flow-step small {
  color: var(--muted);
  line-height: 1.45;
}

.role-assertion-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.role-assertion-card {
  position: relative;
  display: grid;
  gap: 7px;
  padding: 14px 16px 14px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.role-assertion-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--green);
}

.role-assertion-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.role-assertion-card strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.1;
}

.role-assertion-card small {
  color: var(--muted);
  line-height: 1.45;
}

.role-assertion-card.danger {
  background: linear-gradient(180deg, rgba(239, 68, 68, .08), #fff 70%);
  border-color: rgba(239, 68, 68, .24);
}

.role-assertion-card.danger::before {
  background: var(--red);
}

.role-assertion-card.warning {
  background: linear-gradient(180deg, rgba(245, 158, 11, .1), #fff 70%);
  border-color: rgba(245, 158, 11, .28);
}

.role-assertion-card.warning::before {
  background: var(--orange);
}

.role-assertion-card.muted::before {
  background: var(--muted);
}

.role-decision-brief {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, .75fr);
  gap: 20px;
  padding: 22px;
  border: 1px solid #1f3557;
  border-radius: var(--radius-lg);
  color: #fff;
  background: #0b1830;
  box-shadow: 0 18px 42px rgba(11, 24, 48, .16);
}

.role-decision-main {
  display: grid;
  align-content: start;
  gap: 10px;
}

.role-decision-kicker {
  color: #9bb8ef;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.role-decision-main h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: -.025em;
}

.role-decision-main > p {
  max-width: 860px;
  margin: 0;
  color: #c8d3e5;
  font-size: 13px;
  line-height: 1.65;
}

.role-decision-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 4px;
}

.role-decision-links a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 12px;
  color: #fff;
  background: #142846;
  text-decoration: none;
}

.role-decision-links a:hover,
.role-decision-links a:focus-visible {
  border-color: #7fa7f7;
  background: #1a345a;
}

.role-decision-links span {
  overflow: hidden;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.role-decision-links small {
  color: #9fb0c9;
  font-size: 10px;
  line-height: 1.45;
}

.role-decision-queue {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: #13243f;
}

.role-decision-queue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.role-decision-queue-head strong {
  font-size: 14px;
}

.role-decision-queue-head span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #ffb8b8;
  background: rgba(214, 69, 69, .18);
  font-size: 10px;
  font-weight: 900;
}

.role-decision-queue .role-decision-task.task-action-link {
  align-self: stretch;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  min-height: 0;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  color: #fff;
  background: #0f2039;
  text-decoration: none;
}

.role-decision-queue .role-decision-task.task-action-link:hover,
.role-decision-queue .role-decision-task.task-action-link:focus-visible {
  border-color: #7fa7f7;
  color: #fff;
  background: #1a345a;
}

.role-decision-task > span {
  grid-row: 1 / 3;
  align-self: center;
  color: #ff9d9d;
  font-size: 10px;
  font-weight: 900;
}

.role-decision-task strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.role-decision-task small,
.role-decision-empty {
  color: #9fb0c9;
  font-size: 10px;
}

.role-decision-empty {
  margin: 6px 0;
  line-height: 1.5;
}

.role-decision-all {
  margin-top: 2px;
  color: #9bb8ef;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 1100px) {
  .role-page-hero-compact .role-hero-copy {
    grid-template-columns: 1fr;
  }

  .role-page-hero-compact .role-focus-kicker,
  .role-page-hero-compact h2,
  .role-page-hero-compact p,
  .role-page-hero-compact small,
  .role-hero-primary-actions {
    grid-column: 1;
  }

  .role-decision-brief {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .role-page-hero-compact {
    padding: 16px;
  }

  .role-page-hero-compact .role-truth-badges,
  .role-decision-links {
    grid-template-columns: 1fr;
  }

  .role-decision-brief {
    gap: 14px;
    padding: 16px;
  }

  .role-task-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .role-task-kpis div:last-child {
    grid-column: 1 / -1;
  }

  .role-task-kpis strong,
  .role-task-kpis small {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .role-page-task-snapshot .role-task-item {
    grid-template-columns: 1fr;
  }

  .role-page-task-snapshot .role-task-item > span,
  .role-page-task-snapshot .role-task-item > strong,
  .role-page-task-snapshot .role-task-item > .role-task-rank-meta,
  .role-page-task-snapshot .role-task-item > .task-action-meta,
  .role-page-task-snapshot .role-task-item > small,
  .role-page-task-snapshot .role-task-item > .task-action-link {
    grid-column: 1;
    grid-row: auto;
  }

  .role-page-task-snapshot .role-task-item > .task-action-link {
    justify-self: stretch;
  }
}

.ops-perspective-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(15, 159, 110, .18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 96% 0%, rgba(15, 159, 110, .14), transparent 32%),
    rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.ops-perspective-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ops-perspective-controls {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid rgba(15, 159, 110, .16);
  border-radius: var(--radius-md);
  background: rgba(248, 253, 250, .88);
}

.ops-perspective-controls label {
  min-width: 210px;
}

.ops-perspective-controls span {
  flex: 1 1 260px;
  color: #335345;
  font-size: 13px;
  line-height: 1.45;
}

.ops-perspective-controls .task-action-link {
  flex: 0 0 auto;
}

.ops-shop-focus-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ops-shop-focus-card {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid rgba(15, 159, 110, .18);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fff, #f7fffb);
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
}

.ops-shop-focus-card span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.ops-shop-focus-card strong {
  font-size: 16px;
  line-height: 1.35;
}

.ops-shop-focus-card small {
  color: var(--muted);
  line-height: 1.45;
}

.ops-perspective-card {
  display: grid;
  gap: 7px;
  min-height: 128px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}

.ops-perspective-grid .ops-perspective-card.task-action-link {
  align-self: stretch;
  display: grid;
  align-items: initial;
  justify-content: initial;
  gap: 7px;
  min-height: 128px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--ink);
  background: #fff;
  white-space: normal;
}

.ops-perspective-grid .ops-perspective-card.task-action-link:hover,
.ops-perspective-grid .ops-perspective-card.task-action-link:focus-visible {
  border-color: rgba(15, 159, 110, .32);
  color: var(--ink);
  background: #f7fffb;
}

.ops-perspective-card span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.ops-perspective-card strong {
  font-size: 16px;
  line-height: 1.35;
}

.ops-perspective-card small {
  color: var(--muted);
  line-height: 1.5;
}

.role-page-task-snapshot {
  grid-column: auto;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 94% 4%, rgba(199, 121, 0, .13), transparent 32%),
    #fff;
  box-shadow: var(--shadow-soft);
}

.role-page-task-snapshot .role-task-item {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
}

.role-page-task-snapshot .role-task-item > span,
.role-page-task-snapshot .role-task-item > strong,
.role-page-task-snapshot .role-task-item > .role-task-rank-meta,
.role-page-task-snapshot .role-task-item > .task-action-meta,
.role-page-task-snapshot .role-task-item > small {
  grid-column: 1;
}

.role-page-task-snapshot .role-task-item > .task-action-link {
  grid-column: 2;
  grid-row: 1 / 7;
  align-self: center;
  margin: 0;
  white-space: nowrap;
}

.role-priority-layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr);
  gap: 14px;
  align-items: start;
}

.role-signal-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-soft);
}

.role-secondary-panel {
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .88);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.role-secondary-panel summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  color: var(--ink);
  font-weight: 900;
  list-style: none;
}

.role-secondary-panel summary::-webkit-details-marker {
  display: none;
}

.role-secondary-panel summary::after {
  content: "展开";
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12px;
}

.role-secondary-panel[open] summary::after {
  content: "收起";
}

.role-secondary-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(260px, .7fr) minmax(320px, .85fr);
  gap: 12px;
  padding: 0 14px 14px;
}

.ai-copilot-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(36, 99, 235, .16);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 96% 2%, rgba(79, 70, 229, .14), transparent 34%),
    linear-gradient(135deg, #ffffff, #f6f8ff);
  box-shadow: var(--shadow-soft);
}

.ai-copilot-grid {
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: 12px;
  align-items: stretch;
}

.ai-workspace-page {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.ai-workspace-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(18px, 4vw, 56px);
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid rgba(30, 64, 175, .15);
  border-radius: clamp(20px, 3vw, 32px);
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .98) 0 62%, rgba(239, 246, 255, .96) 62% 100%),
    #fff;
  box-shadow: 0 22px 55px rgba(15, 23, 42, .08);
}

.ai-workspace-heading {
  max-width: 850px;
}

.ai-workspace-heading > span {
  display: inline-flex;
  margin-bottom: 14px;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ai-workspace-heading h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.ai-workspace-heading p {
  max-width: 760px;
  margin: 18px 0 0;
  color: #475569;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.75;
}

.ai-workspace-back {
  display: grid;
  flex: 0 0 auto;
  gap: 3px;
  min-width: 150px;
  padding: 13px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  color: #1e3a8a;
  background: rgba(255, 255, 255, .88);
  box-shadow: none;
  text-align: left;
}

.ai-workspace-back span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.ai-workspace-back strong {
  font-size: 14px;
}

.ai-workspace-scope {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 18px;
  background: #fff;
}

.ai-workspace-scope > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px 16px;
  border-right: 1px solid #e2e8f0;
}

.ai-workspace-scope > div:last-child {
  border-right: 0;
}

.ai-workspace-scope span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.ai-workspace-scope strong {
  overflow-wrap: anywhere;
  color: #172033;
  font-size: 13px;
  line-height: 1.45;
}

.ai-workspace-method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ai-workspace-method > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 13px 15px;
  border-left: 3px solid #2563eb;
  border-radius: 4px 14px 14px 4px;
  background: #f8fafc;
}

.ai-workspace-method span {
  color: #2563eb;
  font-size: 11px;
  font-weight: 900;
}

.ai-workspace-method p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

.ai-workspace-method strong {
  display: block;
  margin-bottom: 2px;
  color: #172033;
  font-size: 13px;
}

.ai-workspace-shell {
  min-width: 0;
}

.ai-workspace-shell .ai-copilot-panel {
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ai-workspace-shell .ai-copilot-panel > .role-block-title {
  padding: 0 2px;
}

.ai-workspace-shell .ai-copilot-grid {
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.ai-workspace-shell .ai-question-card {
  position: sticky;
  top: 18px;
  min-height: 0;
  padding: 18px;
  border-color: #d7e1f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.ai-workspace-shell .ai-question-card textarea {
  min-height: 140px;
}

.ai-workspace-shell .ai-answer {
  min-width: 0;
  min-height: 360px;
  padding: clamp(18px, 2.5vw, 30px);
  border-color: #d7e1f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
  overflow-wrap: anywhere;
}

.ai-workspace-shell .ai-answer > *,
.ai-workspace-shell .ai-evidence-matrix > *,
.ai-workspace-shell .ai-action-contracts > *,
.ai-workspace-shell .ai-bottleneck-list > * {
  min-width: 0;
  max-width: 100%;
}

.ai-question-card,
.ai-answer {
  display: grid;
  gap: 10px;
  min-height: 100%;
  padding: 13px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .9);
}

.ai-scope-chips,
.ai-suggested-questions,
.ai-question-actions,
.ai-evidence-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-scope-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 12px;
  font-weight: 900;
}

.ai-question-card label {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.ai-question-card textarea {
  width: 100%;
  resize: vertical;
  min-height: 82px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--ink);
  background: #fff;
  font: inherit;
  line-height: 1.5;
}

.ai-question-actions button {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
}

.ai-question-actions button:first-child {
  color: #fff;
  background: var(--blue);
}

.ai-question-actions #aiClearConversationButton {
  color: #64748b;
  background: #f1f5f9;
}

.ai-suggested-questions button {
  padding: 6px 10px;
  border: 1px solid #c7d7fe;
  border-radius: 999px;
  color: #1d4ed8;
  background: #eef4ff;
  font-size: 12px;
  font-weight: 800;
  box-shadow: none;
}

.ai-answer.loading,
.ai-answer.empty,
.ai-answer.error {
  align-content: center;
}

.ai-answer.error {
  border-color: rgba(239, 68, 68, .32);
  background: #fff7f7;
}

.ai-answer-title {
  display: grid;
  gap: 4px;
}

.ai-answer-feedback {
  display: grid;
  gap: 8px;
  padding: 14px;
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 92%, var(--primary) 8%);
}

.ai-answer-feedback > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-answer-feedback button.is-current {
  border-color: var(--primary);
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, white);
}

.ai-answer-title span {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  color: #4338ca;
  background: #e0e7ff;
  font-size: 12px;
  font-weight: 900;
}

.ai-answer-title strong,
.ai-answer strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.ai-answer p,
.ai-answer li,
.ai-answer small {
  color: var(--muted);
  line-height: 1.55;
}

.ai-agent-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 9px 10px;
  border: 1px solid #dbeafe;
  border-radius: var(--radius-md);
  background: #f8fbff;
}

.ai-agent-tools small {
  margin-right: 2px;
  color: #475569;
  font-weight: 800;
}

.ai-agent-tools a {
  padding: 4px 8px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.ai-tool-status {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef2f7;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.ai-tool-status.executed {
  background: #dcfce7;
  color: #166534;
}

.ai-tool-status.unavailable,
.ai-tool-status.blocked {
  background: #fee2e2;
  color: #b91c1c;
}

.ai-conversation-history {
  padding: 9px 10px;
  border: 1px dashed #cbd5e1;
  border-radius: var(--radius-md);
  background: #fbfdff;
}

.ai-conversation-history summary {
  cursor: pointer;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

.ai-conversation-history div {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e2e8f0;
}

.ai-conversation-history strong {
  font-size: 12px;
}

.ai-conversation-history p {
  margin: 4px 0 0;
  font-size: 12px;
}

.ai-answer ol,
.ai-answer ul {
  margin: 0;
  padding-left: 18px;
}

.ai-evidence-links a {
  display: grid;
  gap: 3px;
  min-width: 140px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--ink);
  background: #fff;
  text-decoration: none;
}

.ai-evidence-links strong {
  font-size: 13px;
}

.ai-evidence-links small {
  color: var(--muted);
  font-size: 12px;
}

.ai-context-details {
  border-top: 1px dashed #d8e1ef;
  padding-top: 8px;
}

.ai-context-details summary {
  cursor: pointer;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}

.ai-contract-status,
.ai-scope-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.ai-contract-status span,
.ai-scope-line span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: 11px;
  font-weight: 800;
}

.ai-contract-status .decision-actionable {
  color: #166534;
  background: #dcfce7;
}

.ai-contract-status .decision-conditional {
  color: #92400e;
  background: #fef3c7;
}

.ai-contract-status .decision-blocked {
  color: #991b1b;
  background: #fee2e2;
}

.ai-scope-line {
  padding: 9px 10px;
  border: 1px solid #dbe5f4;
  border-radius: var(--radius-md);
  background: #f8fbff;
}

.ai-scope-line b {
  margin-right: auto;
  color: var(--ink);
  font-size: 13px;
}

.ai-skill-runtime {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid #c7d2fe;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #f8faff, #f5f3ff);
}

.ai-skill-runtime-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
}

.ai-skill-runtime-head strong {
  color: #312e81;
  font-size: 13px;
}

.ai-skill-runtime-head small,
.ai-skill-runtime details small {
  color: #64748b;
  font-size: 10px;
}

.ai-skill-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.ai-skill-chips > span {
  display: grid;
  gap: 2px;
  padding: 6px 9px;
  border: 1px solid #dbe3ff;
  border-radius: 10px;
  background: rgba(255, 255, 255, .84);
}

.ai-skill-chips b {
  color: #3730a3;
  font-size: 11px;
}

.ai-skill-chips small {
  color: #64748b;
  font-size: 9px;
}

.ai-skill-runtime details summary {
  cursor: pointer;
  color: #4338ca;
  font-size: 11px;
  font-weight: 800;
}

.ai-skill-runtime details ol {
  display: grid;
  gap: 7px;
  margin-top: 8px;
  padding-left: 22px;
}

.ai-skill-runtime details li {
  color: #334155;
  font-size: 11px;
}

.ai-skill-runtime details p {
  margin: 2px 0;
  line-height: 1.55;
}

.ai-evidence-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ai-evidence-group {
  padding: 10px;
  border: 1px solid #dfe7f2;
  border-radius: var(--radius-md);
  background: #fff;
}

.ai-evidence-group.confirmed {
  border-color: #bbf7d0;
  background: #f6fff9;
}

.ai-evidence-group.directional {
  border-color: #bfdbfe;
  background: #f7fbff;
}

.ai-evidence-group.hypothesis {
  border-color: #fde68a;
  background: #fffdf5;
}

.ai-evidence-group.unsupported {
  border-color: #fecaca;
  background: #fff8f8;
}

.ai-evidence-group strong,
.ai-bottleneck-list > strong,
.ai-action-contracts > strong,
.ai-boundary-strip > strong {
  color: var(--ink);
  font-size: 13px;
}

.ai-evidence-group ul {
  display: grid;
  gap: 5px;
  margin-top: 7px;
}

.ai-evidence-group li {
  font-size: 12px;
}

.ai-evidence-group li small {
  display: block;
  color: #64748b;
  font-size: 10px;
}

.ai-bottleneck-list,
.ai-action-contracts,
.ai-boundary-strip {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dfe7f2;
  border-radius: var(--radius-md);
  background: #fff;
}

.ai-bottleneck-list article {
  display: grid;
  grid-template-columns: auto minmax(100px, .35fr) minmax(0, 1fr);
  gap: 6px 9px;
  align-items: start;
  padding: 8px;
  border-radius: 10px;
  background: #f8fafc;
}

.ai-bottleneck-list article span,
.ai-action-contracts article span {
  padding: 2px 7px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 10px;
  font-weight: 900;
}

.ai-bottleneck-list article b,
.ai-action-contracts article b {
  color: var(--ink);
  font-size: 12px;
}

.ai-bottleneck-list article p,
.ai-bottleneck-list article small {
  margin: 0;
  font-size: 12px;
}

.ai-bottleneck-list article small {
  grid-column: 2 / -1;
}

.ai-action-contracts article {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border-left: 3px solid #4f46e5;
  border-radius: 10px;
  background: #f8faff;
}

.ai-action-contracts article div {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.ai-action-contracts article p,
.ai-action-contracts article small {
  margin: 0;
  font-size: 12px;
}

.ai-action-contracts article small b {
  margin-right: 4px;
  color: #334155;
}

.ai-task-draft-boundary {
  margin: 0;
  padding: 8px 10px;
  border-radius: 9px;
  color: #475569;
  background: #f1f5f9;
  font-size: 11px;
  line-height: 1.55;
}

.ai-action-contracts article.ai-task-draft.is-confirmed {
  border-left-color: #16a34a;
  background: #f4fff7;
}

.ai-action-contracts article.ai-task-draft.is-blocked {
  border-left-color: #94a3b8;
  background: #f8fafc;
}

.ai-action-contracts article .ai-task-draft-review {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 10px;
  align-items: center;
  margin-top: 3px;
  padding-top: 8px;
  border-top: 1px dashed #cbd5e1;
}

.ai-task-draft-review label {
  display: flex;
  gap: 7px;
  align-items: flex-start;
  min-width: 0;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
}

.ai-task-draft-review input {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #2563eb;
}

.ai-action-contracts article .ai-task-draft-review > small {
  grid-column: 1 / -1;
  color: #64748b;
}

.ai-task-draft-review .mini-button {
  min-height: 34px;
  white-space: nowrap;
}

.ai-boundary-strip {
  border-color: #fed7aa;
  background: #fffaf3;
}

.ai-boundary-strip ul {
  display: grid;
  gap: 4px;
}

@media (max-width: 760px) {
  .ai-evidence-matrix {
    grid-template-columns: 1fr;
  }

  .ai-bottleneck-list article {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .ai-bottleneck-list article p,
  .ai-bottleneck-list article small {
    grid-column: 1 / -1;
  }

  .ai-action-contracts article .ai-task-draft-review {
    grid-template-columns: 1fr;
  }

  .ai-task-draft-review .mini-button {
    width: 100%;
  }
}

.store-ai-guide {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(79, 70, 229, .18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 96% 0%, rgba(79, 70, 229, .16), transparent 34%),
    linear-gradient(135deg, #ffffff, #f5f7ff);
  box-shadow: var(--shadow-soft);
}

.store-ai-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #fff, #eef4ff);
}

.store-ai-hero.tone-danger {
  border-color: rgba(220, 38, 38, .26);
  background: linear-gradient(135deg, #fff, #fff1f2);
}

.store-ai-hero.tone-warning {
  border-color: rgba(245, 158, 11, .28);
  background: linear-gradient(135deg, #fff, #fff8eb);
}

.store-ai-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  color: #4338ca;
  background: #e0e7ff;
  font-size: 12px;
  font-weight: 900;
}

.store-ai-hero.tone-danger .store-ai-kicker {
  color: #b91c1c;
  background: #fee2e2;
}

.store-ai-hero.tone-warning .store-ai-kicker {
  color: #b45309;
  background: #fef3c7;
}

.store-ai-hero h3 {
  margin: 8px 0 6px;
  color: var(--ink);
  font-size: clamp(18px, 2.2vw, 26px);
  line-height: 1.28;
  letter-spacing: -0.03em;
}

.store-ai-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.store-ai-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 320px;
}

.store-ai-pills span {
  padding: 5px 9px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.store-ai-evidence-grid,
.store-ai-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.store-ai-evidence-card,
.store-ai-action-card {
  display: grid;
  gap: 6px;
  min-height: 104px;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .94);
}

.store-ai-evidence-card span,
.store-ai-action-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.store-ai-evidence-card strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}

.store-ai-evidence-card small,
.store-ai-action-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.48;
}

.store-ai-action-card {
  position: relative;
  color: var(--ink);
  text-decoration: none;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.store-ai-action-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #2563eb;
}

.store-ai-action-card.tone-danger {
  border-color: rgba(220, 38, 38, .30);
  background: linear-gradient(180deg, #fff, #fff1f2);
}

.store-ai-action-card.tone-danger::before {
  background: #dc2626;
}

.store-ai-action-card.tone-warning {
  border-color: rgba(245, 158, 11, .30);
  background: linear-gradient(180deg, #fff, #fff8eb);
}

.store-ai-action-card.tone-warning::before {
  background: #f59e0b;
}

.store-ai-action-card:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, .32);
  box-shadow: 0 18px 35px rgba(15, 23, 42, .12);
}

.store-ai-action-card strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.store-ai-action-card em {
  align-self: end;
  color: var(--blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.store-ai-boundary {
  padding: 10px 12px;
  border: 1px dashed rgba(148, 163, 184, .55);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .68);
}

.store-ai-boundary summary {
  cursor: pointer;
  color: #475569;
  font-size: 13px;
  font-weight: 900;
}

.store-ai-boundary ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.store-ai-boundary li {
  color: var(--muted);
  line-height: 1.55;
}

.role-task-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.role-task-kpis div,
.role-task-item {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
}

.role-task-kpis div {
  display: grid;
  gap: 3px;
  min-height: 76px;
  padding: 10px;
}

.role-task-kpis span,
.role-task-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.role-task-kpis strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}

.role-task-kpis small,
.role-task-item small {
  color: var(--muted);
  line-height: 1.45;
}

.role-task-list {
  display: grid;
  gap: 8px;
}

.role-task-item {
  display: grid;
  gap: 7px;
  padding: 11px;
}

.role-task-item strong {
  font-size: 14px;
  line-height: 1.45;
}

.role-task-item span b {
  display: inline-flex;
  align-items: center;
  min-width: 42px;
  margin-right: 5px;
  padding: 2px 6px;
  border-radius: 999px;
  color: #9a3412;
  background: #ffedd5;
}

.role-task-rank-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.role-task-rank-meta em {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #334155;
  background: #eef4ff;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.role-task-fold-note {
  padding: 9px 11px;
  border: 1px dashed #bfd0e8;
  border-radius: var(--radius-md);
  color: #475569;
  background: rgba(248, 250, 252, .82);
  font-size: 13px;
  line-height: 1.5;
}

.role-task-pool-link {
  justify-self: start;
}

.role-quality-radar {
  grid-column: auto;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(220, 38, 38, .16);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 94% 0%, rgba(239, 68, 68, .12), transparent 34%),
    linear-gradient(180deg, #fff, #fff7f7);
  box-shadow: var(--shadow-soft);
}

.role-quality-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.role-quality-kpis div,
.role-quality-item {
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .86);
}

.role-quality-kpis div {
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 10px;
}

.role-quality-kpis span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.role-quality-kpis strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}

.role-quality-kpis small {
  color: var(--muted);
  line-height: 1.45;
}

.role-quality-list {
  display: grid;
  gap: 8px;
}

.role-quality-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 8px;
  padding: 11px;
}

.role-quality-item.is-high {
  border-color: rgba(239, 68, 68, .28);
  background: linear-gradient(180deg, #fff, #fff7ed);
}

.role-quality-item strong {
  align-self: center;
  font-size: 14px;
  line-height: 1.35;
}

.role-quality-item p {
  grid-column: 1 / -1;
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.5;
}

.role-quality-item small,
.role-quality-item em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.role-quality-item em {
  padding: 7px 8px;
  border-radius: 10px;
  background: #f8fafc;
  font-style: normal;
}

.role-quality-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.role-quality-actions a:not(.task-action-link) {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--blue);
  background: #eef4ff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.pdd-ops-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.pdd-ops-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 12px;
}

.pdd-ops-column {
  display: grid;
  gap: 10px;
}

.pdd-ops-column h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}

.pdd-ops-action {
  position: relative;
  padding: 12px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.pdd-ops-action.muted-action {
  border-color: rgba(148, 163, 184, .25);
  background: #f8fafc;
}

.pdd-ops-action em {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-bottom: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.pdd-ops-action strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 14px;
}

.pdd-ops-action span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.pdd-date-guard {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(36, 99, 235, .18);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.pdd-date-guard strong {
  color: var(--ink);
  font-size: 14px;
}

.pdd-date-guard > span {
  color: #475569;
  font-size: 13px;
  line-height: 1.5;
}

.pdd-date-guard.is-warning {
  border-color: rgba(245, 158, 11, .38);
  background: linear-gradient(135deg, #fff7ed, #ffffff);
}

.pdd-date-guard.is-attention {
  border-color: rgba(148, 163, 184, .38);
  background: linear-gradient(135deg, #f8fafc, #ffffff);
}

.pdd-date-guard.is-ok {
  border-color: rgba(22, 163, 74, .24);
  background: linear-gradient(135deg, #f0fdf4, #ffffff);
}

.pdd-single-store-workbench {
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
}

.pdd-workbench-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 62%);
}

.pdd-workbench-head h3,
.pdd-action-primary h3 {
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 16px;
}

.pdd-workbench-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.pdd-workbench-head > span {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
}

.pdd-flow-chain {
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.pdd-flow-step {
  min-height: 150px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #ffffff;
}

.pdd-flow-step small {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-weight: 900;
}

.pdd-flow-step strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 20px;
}

.pdd-flow-step span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.pdd-flow-step.ok {
  border-color: rgba(22, 163, 74, .22);
  background: linear-gradient(180deg, #ffffff, #f0fdf4);
}

.pdd-flow-step.warn {
  border-color: rgba(245, 158, 11, .28);
  background: linear-gradient(180deg, #ffffff, #fffbeb);
}

.pdd-flow-step.risk {
  border-color: rgba(239, 68, 68, .26);
  background: linear-gradient(180deg, #ffffff, #fef2f2);
}

.pdd-action-board {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 12px;
  align-items: start;
}

.pdd-action-primary,
.pdd-action-detail,
.pdd-evidence-panel {
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius-md);
  background: #ffffff;
}

.pdd-action-primary {
  display: grid;
  gap: 10px;
}

.pdd-action-detail summary,
.pdd-evidence-panel summary {
  cursor: pointer;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}

.pdd-evidence-panel {
  grid-column: 1 / -1;
  margin-top: 12px;
}

.pdd-evidence-panel summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.pdd-evidence-panel summary small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.pdd-action-detail .pdd-ops-actions,
.pdd-evidence-panel .pdd-ops-actions {
  margin-top: 12px;
}

.pdd-ad-profit-drilldown h4 {
  margin: 16px 0 8px;
  color: var(--ink);
  font-size: 14px;
}

.pdd-ad-profit-panel {
  grid-column: 1 / -1;
}

.pdd-ad-profit-drilldown .table-scroll {
  max-height: 440px;
  margin-top: 8px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 12px;
}

.text-danger {
  color: var(--red);
}

.role-page-insights {
  grid-column: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.role-insight-card {
  display: grid;
  gap: 8px;
  min-height: 148px;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 90% 6%, rgba(36, 99, 235, .10), transparent 34%),
    #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: transform .16s ease, border-color .16s ease;
}

.role-insight-card:hover {
  transform: translateY(-1px);
  border-color: #b9cdfb;
}

.role-insight-card strong {
  font-size: 15px;
}

.role-insight-card span {
  color: var(--muted);
  line-height: 1.55;
}

.role-insight-card small {
  align-self: end;
  color: var(--blue);
  font-weight: 800;
}

.runtime-diagnostics {
  margin: -8px 0 18px;
  padding: 12px 14px;
  border: 1px solid #fed7aa;
  border-radius: var(--radius-md);
  background: #fff7ed;
  color: #9a3412;
  font-size: 13px;
  line-height: 1.55;
  box-shadow: var(--shadow-soft);
}

.context-panel {
  margin: 0 0 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.context-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
  font-weight: 800;
}

.context-panel summary::-webkit-details-marker {
  display: none;
}

.context-panel summary::after {
  content: "展开";
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12px;
}

.context-panel[open] summary::after {
  content: "收起";
}

.context-panel summary small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
}

.context-grid {
  margin: 0;
  padding: 0 14px 14px;
}

.grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.store-focus-layout,
.shop-drilldown-layout,
.task-layout {
  grid-template-columns: 1fr;
}

.store-focus-layout .store-scope-card,
.store-focus-layout .store-temperature-card,
.shop-drilldown-layout .horizontal-context-card,
.shop-drilldown-layout .shop-diagnosis-card,
.ad-profit-layout .ad-boundary-card,
.ad-profit-layout .ad-profit-analysis-card,
.task-layout .task-boundary-card,
.task-layout .task-pool-card {
  grid-column: 1 / -1;
}

.ad-profit-analysis-card {
  overflow: hidden;
  border-color: rgba(32, 86, 176, .18);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.ad-profit-dimension-tabs {
  display: inline-flex;
  max-width: 100%;
  margin: 14px 0 10px;
  padding: 4px;
  gap: 4px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f3f6fb;
}

.ad-profit-dimension-tabs button {
  min-height: 38px;
  padding: 8px 16px;
  border: 0;
  border-radius: 9px;
  color: #52627a;
  background: transparent;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.ad-profit-dimension-tabs button:hover {
  color: var(--primary);
  background: rgba(36, 99, 235, .07);
}

.ad-profit-dimension-tabs button.active {
  color: #fff;
  background: var(--primary);
  box-shadow: 0 5px 14px rgba(36, 99, 235, .22);
}

.ad-profit-dimension-panel[hidden] {
  display: none;
}

.dimension-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
}

.dimension-panel-heading h3 {
  margin: 0;
  font-size: 17px;
}

.dimension-panel-heading span,
.module-boundary-note {
  color: var(--muted);
  font-size: 12px;
}

.module-boundary-note {
  margin: 10px 2px 0;
}

.horizontal-context-card {
  padding: 18px 20px;
}

.section-help {
  margin: 0 0 14px;
  border: 1px solid rgba(36, 99, 235, .12);
  border-radius: var(--radius-md);
  background: #f8fbff;
}

.section-help > summary {
  padding: 10px 12px;
  color: #24437a;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.section-help > summary::-webkit-details-marker {
  display: none;
}

.section-help > summary::after {
  content: "展开";
  float: right;
  color: var(--muted);
  font-weight: 700;
}

.section-help[open] > summary::after {
  content: "收起";
}

.section-help .context-strip-grid {
  padding: 0 12px 12px;
}

.context-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.context-strip-grid > div {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 12px 14px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.context-strip-grid strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.context-strip-grid small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.dashboard-content > section[data-section-label]::before {
  content: none;
}

.section-meta-row {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: -4px;
  color: var(--muted);
  font-size: 12px;
}

.section-label-chip,
.section-time-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  font-weight: 800;
  letter-spacing: .04em;
}

.section-label-chip {
  color: var(--muted);
}

.section-time-chip {
  border-color: rgba(37, 99, 235, .18);
  background: rgba(37, 99, 235, .08);
  color: #1d4ed8;
}

.section-meta-row small {
  line-height: 1.6;
}

.section-meta-row[data-time-basis="mixed"] .section-time-chip,
.section-meta-row[data-time-basis="fixed"] .section-time-chip {
  border-color: rgba(245, 158, 11, .28);
  background: rgba(245, 158, 11, .12);
  color: #b45309;
}

.section-meta-row[data-time-basis="source"] .section-time-chip,
.section-meta-row[data-time-basis="snapshot"] .section-time-chip,
.section-meta-row[data-time-basis="cache"] .section-time-chip {
  border-color: rgba(100, 116, 139, .22);
  background: rgba(100, 116, 139, .10);
  color: #475569;
}

.section-meta-row[data-time-basis="unknown"] .section-time-chip {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .10);
  color: #b91c1c;
}

.dashboard-content > section[data-section-label]:not(:has(> .section-meta-row))::before {
  content: attr(data-section-label);
  grid-column: 1 / -1;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.command-grid {
  grid-template-columns: 1fr;
}

.command-card {
  padding: 22px;
  background:
    radial-gradient(circle at 92% 12%, rgba(36, 99, 235, .10), transparent 34%),
    linear-gradient(180deg, #fff, #fbfdff);
}

.command-card .card-title {
  align-items: flex-start;
  gap: 14px;
}

.command-card .card-title p {
  margin: -6px 0 0;
}

.command-center-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.command-item {
  display: grid;
  gap: 8px;
  min-height: 168px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.command-item:hover {
  transform: translateY(-2px);
  border-color: var(--line-strong);
  box-shadow: 0 14px 32px rgba(28, 42, 68, .11);
}

.command-item span,
.command-item small,
.command-item em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.command-item strong {
  font-size: 26px;
  letter-spacing: -0.03em;
}

.command-item em {
  align-self: end;
  font-weight: 700;
}

.command-blue strong,
.command-blue em { color: var(--blue); }
.command-green strong,
.command-green em { color: var(--green); }
.command-orange strong,
.command-orange em { color: var(--orange); }
.command-red strong,
.command-red em { color: var(--red); }

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.card:has(table) {
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, rgba(36, 99, 235, .75), rgba(15, 159, 110, .45), transparent 68%);
  opacity: .26;
}

.card > * {
  position: relative;
  z-index: 1;
}

.card.wide {
  grid-column: span 1;
}

.kpi span {
  display: block;
  color: var(--muted);
  font-size: 14px;
}

.kpi strong {
  display: block;
  margin: 10px 0 6px;
  font-size: clamp(24px, 2.3vw, 32px);
  letter-spacing: -0.04em;
}

.kpi {
  min-height: 134px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96)),
    radial-gradient(circle at 85% 14%, rgba(36, 99, 235, .14), transparent 34%);
}

.kpi-quality[data-quality-status="pass"]::before {
  background: linear-gradient(90deg, rgba(15, 159, 110, .95), rgba(15, 159, 110, .18));
  opacity: 1;
}

.kpi-quality[data-quality-status="pass"] strong {
  color: var(--green);
}

.kpi-quality[data-quality-status="warning"]::before {
  background: linear-gradient(90deg, rgba(214, 69, 69, .95), rgba(214, 69, 69, .18));
  opacity: 1;
}

.kpi-quality[data-quality-status="warning"] strong {
  color: var(--red);
}

.kpi small,
.card-title span {
  color: var(--muted);
}

.card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 30px;
  margin-bottom: 10px;
}

.summary {
  color: var(--muted);
  line-height: 1.7;
}

.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.roadmap-item {
  min-height: 118px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
  box-shadow: var(--shadow-soft);
}

.roadmap-item strong {
  display: block;
  margin: 6px 0 6px;
  font-size: 24px;
}

.roadmap-item span {
  color: var(--muted);
  font-size: 13px;
}

.roadmap-item small {
  display: block;
  margin-top: 8px;
  line-height: 1.5;
}

.ad-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.metric-tile {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
  box-shadow: var(--shadow-soft);
}

.metric-tile span {
  color: var(--muted);
  font-size: 13px;
}

.metric-tile strong {
  display: block;
  margin: 6px 0;
  font-size: 22px;
}

.metric-tile.compact strong {
  font-size: 18px;
}

.metric-tile small {
  color: var(--muted);
}

.opportunity-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 16px;
}

.food-radar-gaps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.food-radar-gaps > div {
  min-height: 120px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
}

.food-radar-gaps strong {
  display: block;
  margin-bottom: 8px;
}

.food-radar-gaps ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.food-radar-gaps li {
  color: var(--ink);
  line-height: 1.45;
}

.food-radar-gaps small {
  color: var(--muted);
}

.food-research-card {
  min-width: 0;
}

.food-research-context {
  padding: 12px 14px;
  border-left: 3px solid var(--blue);
  background: var(--card-soft);
  color: var(--ink);
  line-height: 1.5;
}

.food-research-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 16px;
}

.food-research-form input,
.food-research-form select,
.food-research-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.food-research-form input,
.food-research-form select {
  min-height: 44px;
}

.food-research-form textarea {
  min-height: 76px;
  padding: 10px 12px;
  resize: vertical;
}

.food-research-form [hidden] {
  display: none !important;
}

.food-research-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.food-research-modes legend {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 13px;
}

.food-research-modes label {
  position: relative;
  display: block;
  min-width: 0;
}

.food-research-modes input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.food-research-modes span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

.food-research-modes input:checked + span {
  border-color: var(--blue);
  background: rgba(36, 99, 235, .08);
  color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.food-research-modes input:focus-visible + span {
  outline: 3px solid rgba(36, 99, 235, .24);
  outline-offset: 2px;
}

.food-research-wide,
.food-research-actions,
.food-research-modes {
  grid-column: 1 / -1;
}

.food-research-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.food-research-actions button {
  min-width: 132px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

.food-research-actions .food-research-primary {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

#foodResearchMessage {
  color: var(--muted);
  line-height: 1.45;
}

.food-research-manual {
  margin-top: 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.food-research-manual > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  cursor: pointer;
  list-style: none;
}

.food-research-manual > summary::-webkit-details-marker {
  display: none;
}

.food-research-manual > summary span:first-child {
  display: grid;
  gap: 2px;
}

.food-research-manual > summary small,
#foodResearchManualMessage {
  color: var(--muted);
  line-height: 1.45;
}

.food-research-manual-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 12px;
}

.food-research-manual-actions button,
.food-research-manual-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.food-research-manual-actions .food-research-primary {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.food-research-manual > label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 13px;
}

#foodResearchManualJson {
  width: 100%;
  min-height: 180px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  resize: vertical;
}

#foodResearchManualMessage {
  display: block;
  min-height: 24px;
  padding: 7px 0 12px;
}

.food-research-plan,
.food-research-coverage,
.food-research-followups {
  min-width: 0;
  margin-top: 18px;
}

.food-research-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.food-research-section-head h3 {
  margin: 0;
  font-size: 16px;
}

.food-research-section-head button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

.food-research-rounds {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.food-research-round {
  min-width: 0;
  padding: 12px;
  background: #fff;
}

.food-research-round strong,
.food-research-round small {
  display: block;
}

.food-research-round small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.45;
}

.food-research-query-list {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.food-research-query-list li {
  display: grid;
  grid-template-columns: minmax(100px, auto) minmax(0, 1fr);
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid var(--line);
  line-height: 1.45;
}

.food-research-query-list strong {
  font-size: 13px;
}

.food-research-query-list span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.food-research-coverage-scroll {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.food-research-coverage table {
  min-width: 680px;
  margin: 0;
}

.food-research-coverage th,
.food-research-coverage td {
  padding: 10px 12px;
}

.food-coverage-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 8px;
  border-radius: 8px;
  background: var(--card-soft);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.food-coverage-status.is-ready,
.food-coverage-status.is-verified {
  background: var(--green-soft);
  color: var(--green);
}

.food-coverage-status.is-partial {
  background: var(--orange-soft);
  color: var(--orange);
}

.food-coverage-status.is-missing,
.food-coverage-status.is-blocked {
  background: var(--red-soft);
  color: var(--red);
}

.food-independent-audit {
  margin-top: 10px;
  padding: 12px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
  line-height: 1.5;
}

.food-independent-audit p {
  margin: 0;
}

.food-independent-audit ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.food-research-followup-list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
  list-style: none;
}

.food-research-followup-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  background: #fff;
}

.food-research-followup-list strong,
.food-research-followup-list small {
  display: block;
}

.food-research-followup-list small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.45;
}

.food-research-followup-list button {
  min-height: 44px;
  white-space: nowrap;
}

.food-growth-workflow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.food-research-history,
.food-content-brief,
.food-opportunity-decision,
.food-ai-pre-review,
.food-candidate-funnel,
.food-supplier-mapping {
  min-width: 0;
}

.food-growth-workflow-wide {
  grid-column: 1 / -1;
}

.food-decision-strip {
  display: grid;
  gap: 11px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.food-decision-item {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.food-decision-item + .food-decision-item {
  padding-top: 11px;
  border-top: 1px solid var(--line);
}

.food-decision-item > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.food-decision-item strong,
.food-decision-item small {
  display: block;
  overflow-wrap: anywhere;
}

.food-decision-item strong {
  font-size: 18px;
}

.food-decision-item small {
  color: var(--muted);
  line-height: 1.5;
}

.food-analysis-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.food-analysis-kpis > div {
  min-width: 0;
  padding: 10px 11px;
  background: #fff;
}

.food-analysis-kpis span,
.food-analysis-kpis strong,
.food-analysis-kpis small {
  display: block;
  overflow-wrap: anywhere;
}

.food-analysis-kpis span,
.food-analysis-kpis small {
  color: var(--muted);
}

.food-analysis-kpis strong {
  margin: 3px 0;
  font-size: 20px;
}

.food-analysis-list,
.food-priority-list,
.food-supplier-list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: 10px 0 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
  list-style: none;
}

.food-analysis-list li,
.food-priority-list li,
.food-supplier-list li {
  min-width: 0;
  padding: 10px 11px;
  background: #fff;
}

.food-analysis-list li {
  display: grid;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
  gap: 8px 12px;
  align-items: start;
}

.food-analysis-list strong,
.food-analysis-list span,
.food-analysis-list small,
.food-priority-list strong,
.food-priority-list span,
.food-priority-list small,
.food-supplier-list strong,
.food-supplier-list span,
.food-supplier-list small {
  display: block;
  overflow-wrap: anywhere;
}

.food-analysis-list small,
.food-priority-list small,
.food-supplier-list small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.45;
}

.food-funnel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.food-priority-list li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: start;
}

.food-priority-list li > strong:first-child {
  color: var(--blue);
  font-size: 18px;
}

.food-priority-list li > span:last-child {
  white-space: nowrap;
  font-weight: 800;
}

.food-priority-list .food-empty-state,
.food-supplier-list .food-empty-state {
  grid-template-columns: minmax(0, 1fr);
  color: var(--muted);
}

.food-supplier-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.food-supplier-list a {
  overflow-wrap: anywhere;
}

.food-analysis-boundary {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 639px) {
  .food-analysis-list li {
    grid-template-columns: minmax(0, 1fr);
  }
}

.food-research-history-list,
.food-content-gate-list,
.food-content-brief-claims,
.food-content-brief-sources {
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-research-history-list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.food-research-history-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 9px 11px;
  background: #fff;
}

.food-research-history-list li.is-current {
  box-shadow: inset 3px 0 0 var(--blue);
}

.food-research-history-list strong,
.food-research-history-list small {
  display: block;
  overflow-wrap: anywhere;
}

.food-research-history-list small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.4;
}

.food-research-history-list button {
  min-width: 88px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

.food-content-gate-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}

.food-content-gate-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  border-left: 3px solid var(--line-strong);
  background: var(--card-soft);
}

.food-content-gate-list li > span:first-child {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--red-soft);
  color: var(--red);
  font-weight: 900;
}

.food-content-gate-list li.is-passed {
  border-left-color: var(--green);
}

.food-content-gate-list li.is-passed > span:first-child {
  background: var(--green-soft);
  color: var(--green);
}

.food-content-gate-list strong,
.food-content-gate-list small {
  display: block;
}

.food-content-gate-list small {
  margin-top: 2px;
  color: var(--muted);
  line-height: 1.4;
}

.food-content-brief-actions {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}

.food-content-brief-actions label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 13px;
}

.food-content-brief-actions select,
.food-content-brief-actions button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.food-content-brief-actions button {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.food-content-brief-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.food-content-brief-actions > span {
  flex: 1 1 220px;
  min-width: 0;
  padding-bottom: 9px;
  color: var(--muted);
  line-height: 1.4;
}

.food-content-brief-draft {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.food-content-brief-draft-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.food-content-brief-draft-head strong,
.food-content-brief-draft-head small {
  display: block;
}

.food-content-brief-draft-head small {
  margin-top: 3px;
  color: var(--muted);
}

.food-content-brief-draft dl {
  display: grid;
  grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
  gap: 7px 10px;
  margin: 13px 0;
}

.food-content-brief-draft dt {
  color: var(--muted);
}

.food-content-brief-draft dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.food-content-brief-label {
  display: block;
  margin: 14px 0 7px;
}

.food-content-brief-claims {
  display: grid;
  gap: 8px;
}

.food-content-brief-claims li {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border-left: 3px solid var(--green);
  background: var(--green-soft);
  line-height: 1.4;
}

.food-content-brief-claims small {
  color: var(--muted);
}

.food-content-brief-sources {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}

.food-content-brief-sources a {
  overflow-wrap: anywhere;
}

.food-research-results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 18px;
  border-top: 1px solid var(--line);
}

.food-research-result {
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.food-research-result.is-excluded {
  background: var(--card-soft);
  color: var(--muted);
}

.food-research-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.food-research-result-head h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
}

.food-research-result p {
  margin: 10px 0 0;
  line-height: 1.55;
}

.food-research-prompt {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.food-research-result dl {
  display: grid;
  grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
  gap: 7px 10px;
  margin: 12px 0 0;
}

.food-research-result dt {
  color: var(--muted);
}

.food-research-result dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.food-research-source-list {
  display: grid;
  gap: 5px;
  margin: 12px 0 0;
  padding-left: 18px;
}

.food-research-source-list a {
  overflow-wrap: anywhere;
}

.food-research-result-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.food-research-result-actions button {
  min-height: 44px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  background: #fff;
  color: var(--blue);
}

.food-research-result-actions button[data-food-research-decision="rejected"] {
  border-color: var(--line-strong);
  color: var(--muted);
}

.food-research-result-actions button[data-food-research-decision="followup_requested"] {
  border-color: var(--orange);
  color: var(--orange);
}

.food-research-result-actions button.is-current {
  background: var(--blue);
  color: #fff;
}

.food-research-result-actions button[data-food-research-decision="rejected"].is-current {
  border-color: var(--red);
  background: var(--red);
}

.food-research-result-actions button[data-food-research-decision="followup_requested"].is-current {
  background: var(--orange);
  color: #fff;
}

.food-research-result-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

@media (min-width: 640px) {
  .food-research-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .food-research-rounds {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .food-analysis-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .food-discovery-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .food-funnel-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .food-supplier-list li {
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr) auto;
    align-items: center;
  }
}

@media (min-width: 1024px) {
  .food-research-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .food-growth-workflow-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  }
}

.opportunity-grid,
.opportunity-detail-grid {
  grid-template-columns: minmax(0, 1fr);
}

.opportunity-grid > *,
.opportunity-detail-grid > * {
  grid-column: 1 / -1;
}

.food-opportunity-pool-card,
.food-opportunity-detail-card,
.food-opportunity-maintenance-card {
  min-width: 0;
}

#foodOpportunityFilters input {
  width: min(360px, 100%);
  min-width: 240px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.food-opportunity-table-scroll {
  max-height: 620px;
}

.food-opportunity-compose {
  padding: 0;
}

.food-opportunity-compose > summary,
.food-opportunity-form-panel > summary,
.food-opportunity-evidence > summary {
  list-style: none;
}

.food-opportunity-compose > summary::-webkit-details-marker,
.food-opportunity-form-panel > summary::-webkit-details-marker,
.food-opportunity-evidence > summary::-webkit-details-marker {
  display: none;
}

.food-opportunity-compose > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 18px 20px;
  cursor: pointer;
  background: linear-gradient(90deg, rgba(36, 99, 235, .06), rgba(15, 159, 110, .03));
}

.food-opportunity-compose > summary > span:first-child {
  display: grid;
  gap: 4px;
}

.food-opportunity-compose > summary strong {
  color: var(--ink);
  font-size: 18px;
}

.food-opportunity-compose > summary small {
  color: var(--muted);
  font-weight: 500;
}

.food-opportunity-compose > summary > span:last-child {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.food-opportunity-compose[open] > summary {
  border-bottom: 1px solid var(--line);
}

.food-opportunity-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  padding: 18px 20px 20px;
}

.food-opportunity-form input,
.food-opportunity-form select,
.food-opportunity-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.food-opportunity-form textarea {
  min-height: 88px;
  padding: 10px 12px;
  resize: vertical;
}

.food-opportunity-form label:has(textarea) {
  grid-column: 1 / -1;
}

.food-opportunity-form > button {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 132px;
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.opportunity-tabs,
.food-opportunity-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.food-opportunity-evidence,
.food-opportunity-form-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
  overflow: hidden;
}

.food-opportunity-evidence[open],
.food-opportunity-form-panel[open] {
  grid-column: 1 / -1;
  background: #fff;
}

.food-opportunity-evidence > summary,
.food-opportunity-form-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 13px 15px;
  cursor: pointer;
}

.food-opportunity-evidence > summary::after,
.food-opportunity-form-panel > summary::after {
  content: "展开";
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.food-opportunity-evidence[open] > summary::after,
.food-opportunity-form-panel[open] > summary::after {
  content: "收起";
}

.food-opportunity-evidence > summary strong,
.food-opportunity-evidence > summary small,
.food-opportunity-form-panel > summary strong,
.food-opportunity-form-panel > summary small {
  display: block;
}

.food-opportunity-evidence > summary small,
.food-opportunity-form-panel > summary small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
}

.food-opportunity-evidence[open] > summary,
.food-opportunity-form-panel[open] > summary {
  border-bottom: 1px solid var(--line);
  background: rgba(36, 99, 235, .045);
}

.food-opportunity-detail-table-scroll {
  max-height: 360px;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(226, 232, 240, .6);
  border-radius: 0;
  box-shadow: none;
}

.food-opportunity-maintenance-card .card-title {
  align-items: flex-start;
}

.food-opportunity-maintenance-card .food-opportunity-form {
  margin: 0;
}

.ad-report-grid .muted {
  grid-column: 1 / -1;
  margin: 0;
}

.split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.split-grid h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.lifecycle-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.lifecycle-grid {
  align-items: start;
}

.lifecycle-grid > div {
  min-width: 0;
  overflow-x: auto;
}

.lifecycle-quality-panel {
  margin-top: 16px;
  border: 1px solid rgba(245, 158, 11, .26);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fffbeb, #ffffff 44%);
  overflow: hidden;
}

.lifecycle-quality-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  color: var(--ink);
  font-weight: 900;
  list-style: none;
}

.lifecycle-quality-panel summary::-webkit-details-marker {
  display: none;
}

.lifecycle-quality-panel summary small {
  font-weight: 600;
}

.lifecycle-quality-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 14px 12px;
}

.lifecycle-quality-table {
  margin: 0 14px 12px;
  max-height: 360px;
}

.lifecycle-quality-evidence {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.lifecycle-quality-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.lifecycle-quality-evidence-grid > div {
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius-md);
  background: #fff;
}

.lifecycle-quality-evidence-grid strong,
.lifecycle-quality-evidence-grid span,
.lifecycle-quality-evidence-grid small {
  display: block;
}

.lifecycle-quality-evidence-grid strong {
  margin-bottom: 6px;
  color: var(--ink);
}

.lifecycle-quality-evidence-grid span {
  margin-bottom: 4px;
  color: var(--muted);
}

.workflow-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.55;
}

.workflow-list strong {
  color: var(--ink);
}

.role-workbench-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.role-card {
  display: grid;
  gap: 8px;
  min-height: 174px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 88% 12%, rgba(36, 99, 235, .14), transparent 36%),
    linear-gradient(180deg, #fbfdff, var(--card-soft));
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.role-card:hover {
  transform: translateY(-2px);
  border-color: #b9cdfb;
  box-shadow: 0 14px 32px rgba(28, 42, 68, .11);
}

.role-card span {
  color: var(--muted);
  font-size: 13px;
}

.role-card strong {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.role-card small {
  color: var(--muted);
  line-height: 1.55;
}

.role-card em {
  align-self: end;
  color: var(--blue);
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.role-card-primary {
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 255, 255, .28), transparent 34%),
    linear-gradient(135deg, #142a67, #2463eb);
  color: #fff;
  border-color: rgba(255, 255, 255, .18);
}

.role-card-primary span,
.role-card-primary small,
.role-card-primary em {
  color: rgba(255, 255, 255, .78);
}

.role-workbench-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--blue-soft);
  color: #24437a;
  line-height: 1.65;
}

.launch-center-card {
  background:
    radial-gradient(circle at 92% 0%, rgba(37, 99, 235, .10), transparent 34%),
    linear-gradient(180deg, #fff, #f8fbff);
}

.launch-center-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.launch-card {
  display: grid;
  gap: 8px;
  min-height: 142px;
  padding: 15px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .86);
  box-shadow: var(--shadow-soft);
}

.launch-card span,
.launch-card small {
  color: var(--muted);
}

.launch-card strong {
  color: var(--ink);
  font-size: 20px;
  letter-spacing: -0.03em;
}

.launch-card small {
  line-height: 1.6;
}

.launch-card-primary {
  border-color: rgba(36, 99, 235, .24);
  background:
    radial-gradient(circle at 86% 10%, rgba(255, 255, 255, .22), transparent 34%),
    linear-gradient(135deg, #173372, #2563eb);
}

.launch-card-primary span,
.launch-card-primary strong,
.launch-card-primary small {
  color: #fff;
}

.ai-quality-operations-card {
  background: radial-gradient(circle at 96% 0%, rgba(37, 99, 235, .08), transparent 30%), linear-gradient(180deg, #fff, #f8fbff);
}

.ai-quality-heading {
  align-items: flex-start;
  gap: 18px;
}

.ai-quality-heading p {
  max-width: 760px;
  margin: 6px 0 0;
  line-height: 1.6;
}

.ai-quality-title {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
}

.ai-quality-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.ai-quality-controls button {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 10px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-weight: 750;
}

.ai-quality-controls button:hover,
.ai-quality-controls button.active {
  border-color: rgba(37, 99, 235, .38);
  background: var(--blue-soft);
  color: var(--blue);
}

.ai-quality-controls button:disabled {
  cursor: wait;
  opacity: .58;
}

.ai-quality-operations,
.ai-quality-alerts {
  display: grid;
  gap: 12px;
}

.ai-quality-operations {
  margin-top: 14px;
}

.ai-quality-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ai-quality-kpis > div,
.ai-quality-layout > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .88);
}

.ai-quality-kpis > div {
  display: grid;
  gap: 6px;
  min-height: 116px;
}

.ai-quality-kpis span,
.ai-quality-kpis small,
.ai-quality-section-title small {
  color: var(--muted);
}

.ai-quality-kpis strong {
  color: var(--ink);
  font-size: 24px;
  letter-spacing: -.035em;
}

.ai-quality-kpis small,
.ai-quality-alert small {
  line-height: 1.5;
}

.ai-quality-layout {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 14px;
}

.ai-quality-section-title,
.ai-quality-details summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.ai-quality-section-title {
  margin-bottom: 10px;
}

.ai-quality-section-title small {
  text-align: right;
}

.ai-quality-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: #fff;
}

.ai-quality-alert > span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef2f7;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.ai-quality-alert.is-high {
  border-color: rgba(220, 38, 38, .25);
  background: rgba(254, 242, 242, .78);
}

.ai-quality-alert.is-high > span {
  background: #fee2e2;
  color: #b91c1c;
}

.ai-quality-alert.is-medium {
  border-color: rgba(217, 119, 6, .25);
  background: rgba(255, 251, 235, .82);
}

.ai-quality-alert.is-medium > span {
  background: #fef3c7;
  color: #a16207;
}

.ai-quality-alert.is-info > span {
  background: var(--blue-soft);
  color: var(--blue);
}

.ai-quality-alert p {
  margin: 5px 0;
  color: var(--ink);
  line-height: 1.5;
}

.ai-quality-table {
  max-height: 350px;
  margin: 0;
}

.ai-quality-table table {
  min-width: 760px;
}

.ai-quality-details {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .82);
  overflow: hidden;
}

.ai-quality-details summary {
  padding: 13px 15px;
  cursor: pointer;
  color: var(--ink);
  font-weight: 800;
}

.ai-quality-details[open] summary {
  border-bottom: 1px solid rgba(148, 163, 184, .22);
}

.ai-quality-details .ai-quality-table {
  max-height: 420px;
  border: 0;
  border-radius: 0;
}

.ai-quality-boundary {
  margin: 0;
  padding: 11px 13px;
  border-radius: 10px;
  background: #f1f5f9;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.ai-quality-empty {
  display: grid;
  gap: 6px;
  min-height: 96px;
  place-content: center;
  padding: 18px;
  border: 1px dashed rgba(148, 163, 184, .38);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, .82);
  color: var(--muted);
  text-align: center;
}

.ai-quality-empty.compact {
  min-height: 72px;
}

.ai-quality-empty.is-error {
  border-color: rgba(220, 38, 38, .28);
  background: #fef2f2;
  color: #b91c1c;
}

.launch-checklist {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.employee-growth-panel {
  overflow: hidden;
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 92% 0%, rgba(37, 99, 235, .12), transparent 34%),
    linear-gradient(180deg, #ffffff, #f6f9ff);
  box-shadow: var(--shadow-soft);
}

.employee-growth-panel-empty {
  padding: 1rem;
}

.employee-growth-panel-empty > div {
  display: grid;
  gap: .45rem;
}

.growth-hero {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.growth-identity,
.growth-progress-block {
  display: grid;
  gap: .5rem;
}

.growth-eyebrow {
  color: #2f5fb6;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.growth-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
}

.growth-title-row > strong {
  color: var(--ink);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  letter-spacing: -.025em;
}

.growth-stage-badge {
  padding: .35rem .6rem;
  border-radius: 999px;
  background: #173372;
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
}

.growth-identity small,
.growth-progress-block small,
.growth-day small,
.growth-boundary {
  color: var(--muted);
  line-height: 1.55;
}

.growth-progress-block > span {
  color: #173372;
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: -.04em;
}

.growth-progress-block progress {
  width: 100%;
  height: .55rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #dbe7fb;
}

.growth-progress-block progress::-webkit-progress-bar {
  border-radius: 999px;
  background: #dbe7fb;
}

.growth-progress-block progress::-webkit-progress-value {
  border-radius: 999px;
  background: linear-gradient(90deg, #1d4ed8, #38bdf8);
}

.growth-progress-block progress::-moz-progress-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, #1d4ed8, #38bdf8);
}

.growth-body {
  display: grid;
}

.growth-actions,
.growth-stage-rail {
  padding: 1rem;
}

.growth-actions {
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.growth-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
}

.growth-section-title strong {
  color: var(--ink);
}

.growth-section-title span {
  color: var(--muted);
  font-size: .75rem;
}

.growth-actions ol {
  display: grid;
  gap: .65rem;
  margin: .85rem 0 0;
  padding-left: 1.3rem;
}

.growth-actions li {
  color: #34445f;
  line-height: 1.55;
}

.growth-stage-rail {
  display: grid;
  gap: .55rem;
}

.growth-stage {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-height: 3.15rem;
  padding: .55rem .65rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .76);
}

.growth-stage > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: #e8eef8;
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
}

.growth-stage > div {
  display: grid;
  gap: .18rem;
  min-width: 0;
}

.growth-stage strong {
  color: var(--ink);
  font-size: .82rem;
}

.growth-stage small {
  overflow: hidden;
  color: var(--muted);
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.growth-stage.is-done {
  border-color: rgba(16, 185, 129, .24);
  background: rgba(236, 253, 245, .82);
}

.growth-stage.is-done > span {
  background: #047857;
  color: #fff;
}

.growth-stage.is-current {
  border-color: rgba(37, 99, 235, .34);
  background: #eff6ff;
  box-shadow: inset .2rem 0 0 #2563eb;
}

.growth-stage.is-current > span {
  background: #2563eb;
  color: #fff;
}

.growth-training-detail {
  border-top: 1px solid rgba(148, 163, 184, .18);
}

.growth-training-detail summary {
  min-height: 2.75rem;
  padding: .8rem 1rem;
  color: #24437a;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 800;
}

.growth-day-grid {
  display: grid;
  gap: .65rem;
  padding: 0 1rem 1rem;
}

.growth-day {
  display: grid;
  gap: .3rem;
  padding: .75rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: .75rem;
  background: #fff;
}

.growth-day > span {
  color: #64748b;
  font-size: .7rem;
  font-weight: 900;
}

.growth-day strong {
  color: var(--ink);
  font-size: .82rem;
}

.growth-day.is-done {
  border-color: rgba(16, 185, 129, .25);
  background: #f0fdf4;
}

.growth-day.is-current {
  border-color: rgba(245, 158, 11, .34);
  background: #fffbeb;
}

.growth-boundary {
  margin: 0;
  padding: .75rem 1rem 1rem;
  font-size: .72rem;
}

.launch-phases,
.launch-gates {
  display: grid;
  gap: 12px;
}

@media (min-width: 760px) {
  .growth-hero {
    grid-template-columns: minmax(0, 1fr) minmax(12rem, .35fr);
    align-items: center;
  }

  .growth-body {
    grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
  }

  .growth-actions {
    border-right: 1px solid rgba(148, 163, 184, .18);
    border-bottom: 0;
  }

  .growth-day-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .growth-day-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

.launch-phases {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.launch-gates {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.launch-phases > div,
.launch-gates > div {
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius-md);
  background: #fff;
}

.launch-phases strong,
.launch-gates strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
}

.launch-phases small,
.launch-gates li {
  color: var(--muted);
  line-height: 1.6;
}

.launch-gates ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.mini-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.shop-diagnosis-grid {
  display: grid;
  gap: 12px;
}

.shop-diagnosis-card > .inline-filters {
  position: sticky;
  top: 10px;
  z-index: 8;
  margin: -4px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
  backdrop-filter: blur(14px);
}

.shop-command-center {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 24px;
  background: #f7f9fc;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

.shop-command-context {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .22);
}

.shop-command-context > div:first-child strong {
  display: block;
  margin: 4px 0;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -.035em;
}

.shop-command-context small,
.shop-command-context-meta span {
  color: #64748b;
}

.shop-command-context-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.shop-command-context-meta > span:not(.temp-badge) {
  display: grid;
  gap: 2px;
  min-height: 48px;
  padding: 7px 10px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: #fff;
  font-size: 11px;
}

.shop-command-context-meta b {
  color: #0f172a;
  font-size: 12px;
}

.shop-command-decision {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr);
  gap: 12px;
  align-items: stretch;
}

.shop-command-center .store-ai-hero {
  min-height: 100%;
  margin: 0;
}

.shop-command-priority {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(220, 38, 38, .18);
  border-radius: 18px;
  background: #fff;
}

.shop-command-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.shop-command-section-head strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
}

.shop-command-section-head small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  line-height: 1.45;
}

.shop-command-section-head > span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}

.shop-priority-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

#shop-detail-douyin-fulfillment,
#shop-detail-douyin-aftersale,
#shop-detail-douyin-logistics,
#shop-detail-douyin-price {
  scroll-margin-top: 150px;
}

.shop-urgent-card {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 32px;
  border-radius: 9px;
  background: #e2e8f0;
  color: #334155;
  font-size: 11px;
  font-weight: 900;
}

.shop-priority-row.severity-danger {
  border-color: rgba(220, 38, 38, .28);
  background: #fff7f7;
}

.shop-priority-row.severity-danger > span {
  background: #fee2e2;
  color: #b91c1c;
}

.shop-priority-row.severity-warning > span {
  background: #fef3c7;
  color: #a16207;
}

.shop-priority-row strong,
.shop-priority-row small {
  display: block;
  line-height: 1.4;
}

.shop-priority-row strong {
  margin-bottom: 2px;
  font-size: 12px;
}

.shop-priority-row small,
.shop-priority-empty small {
  color: #64748b;
  font-size: 11px;
}

.shop-priority-empty {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 13px;
  background: #ecfdf5;
  color: #065f46;
}

.shop-command-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.shop-command-kpis .store-ai-evidence-card {
  min-height: 104px;
  box-shadow: none;
}

.shop-command-center .shop-drill-nav {
  padding: 12px;
  background: #0f172a;
  border-color: #0f172a;
}

.shop-command-center .shop-drill-nav strong,
.shop-command-center .shop-drill-nav > div:first-child small {
  color: #fff;
}

.shop-command-center .shop-drill-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.shop-command-center .shop-drill-links a {
  min-width: 0;
  box-shadow: none;
}

.shop-domain-overview,
.shop-command-actions {
  display: grid;
  gap: 10px;
}

.shop-domain-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.shop-domain-overview-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 188px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-top: 4px solid #10b981;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.shop-domain-overview-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(15, 23, 42, .1);
}

.shop-domain-overview-card.tone-danger { border-top-color: #dc2626; }
.shop-domain-overview-card.tone-warning { border-top-color: #f59e0b; }

.shop-domain-overview-card > span {
  justify-self: start;
  padding: 3px 7px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 10px;
  font-weight: 900;
}

.shop-domain-overview-card.tone-danger > span { background: #fee2e2; color: #b91c1c; }
.shop-domain-overview-card.tone-warning > span { background: #fef3c7; color: #a16207; }

.shop-domain-overview-card p,
.shop-domain-overview-card ul {
  margin: 0;
  color: #64748b;
  font-size: 11px;
  line-height: 1.5;
}

.shop-domain-overview-card ul {
  padding-left: 16px;
}

.shop-domain-overview-card em {
  align-self: end;
  color: #2563eb;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.shop-command-actions .store-ai-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shop-data-coverage {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.shop-data-coverage > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}

.shop-data-coverage > summary::-webkit-details-marker,
.shop-detail-domain > summary::-webkit-details-marker {
  display: none;
}

.shop-data-coverage > summary span,
.shop-data-coverage > summary small {
  display: block;
}

.douyin-operating-cockpit {
  grid-column: 1 / -1;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 1.35rem;
  background: #f4f5f3;
  box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .11);
}

.douyin-cockpit-head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.35rem;
  border-top: .28rem solid #ff3b30;
  background: #111315;
  color: #fff;
}

.douyin-cockpit-head > div:first-child {
  display: grid;
  gap: .4rem;
}

.douyin-platform-kicker {
  color: #ff6b61;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .14em;
}

.douyin-cockpit-head strong {
  font-size: clamp(1.45rem, 4vw, 2.2rem);
  letter-spacing: -.045em;
}

.douyin-cockpit-head small {
  max-width: 56rem;
  color: rgba(255, 255, 255, .68);
  line-height: 1.65;
}

.douyin-cockpit-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.douyin-cockpit-tags span {
  padding: .38rem .62rem;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .8);
  font-size: .68rem;
  font-weight: 750;
}

.douyin-lane-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: #dfe2df;
}

.douyin-lane-nav a {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-height: 3.5rem;
  padding: .65rem .8rem;
  background: #fff;
  color: #111827;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}

.douyin-lane-nav a:hover,
.douyin-lane-nav a:focus-visible {
  background: #1a1c1f;
  color: #fff;
  outline: none;
}

.douyin-lane-nav a > b {
  color: #ff3b30;
  font-size: .74rem;
  letter-spacing: .08em;
}

.douyin-lane-nav a > span,
.douyin-lane-nav a small {
  display: block;
}

.douyin-lane-nav a > span {
  font-size: .78rem;
  font-weight: 850;
}

.douyin-lane-nav a small {
  margin-top: .15rem;
  color: #7b8492;
  font-size: .64rem;
  font-weight: 600;
}

.douyin-lane-nav a:hover small,
.douyin-lane-nav a:focus-visible small {
  color: rgba(255, 255, 255, .66);
}

.douyin-funnel-strip {
  display: flex;
  align-items: stretch;
  gap: .35rem;
  padding: .8rem;
  overflow-x: auto;
  background: #e9ebe8;
  scrollbar-width: thin;
}

.douyin-funnel-strip span {
  flex: 1 0 8.5rem;
  display: grid;
  gap: .15rem;
  padding: .65rem .72rem;
  border-radius: .75rem;
  background: #fff;
}

.douyin-funnel-strip small,
.douyin-funnel-strip b {
  display: block;
}

.douyin-funnel-strip small {
  color: #ff3b30;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.douyin-funnel-strip b {
  color: #202327;
  font-size: .72rem;
}

.douyin-funnel-strip i {
  align-self: center;
  color: #9ca3af;
  font-style: normal;
}

.douyin-operating-cockpit > .shop-urgent-panel,
.douyin-operating-cockpit > .metric-boundary-note,
.douyin-operating-cockpit > .douyin-kpi-ribbon,
.douyin-operating-cockpit > .douyin-domain-module {
  margin-right: .8rem;
  margin-left: .8rem;
}

.douyin-operating-cockpit > .shop-urgent-panel {
  margin-top: .8rem;
}

.douyin-kpi-ribbon {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin-top: .8rem;
  overflow: hidden;
  border: 1px solid #dfe2df;
  border-radius: .9rem;
  background: #dfe2df;
}

.douyin-kpi-ribbon > span {
  display: grid;
  gap: .18rem;
  min-width: 0;
  padding: .8rem;
  background: #fff;
}

.douyin-kpi-ribbon small,
.douyin-kpi-ribbon b,
.douyin-kpi-ribbon em {
  display: block;
}

.douyin-kpi-ribbon small {
  color: #6b7280;
  font-size: .65rem;
  font-weight: 750;
}

.douyin-kpi-ribbon b {
  color: #111827;
  font-size: clamp(1rem, 3vw, 1.35rem);
  letter-spacing: -.03em;
}

.douyin-kpi-ribbon em {
  overflow: hidden;
  color: #9ca3af;
  font-size: .6rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.douyin-kpi-ribbon .tone-danger {
  background: #fff1f0;
}

.douyin-kpi-ribbon .tone-danger b {
  color: #c7261e;
}

.douyin-domain-module {
  border: 1px solid #dfe2df;
  border-radius: 1rem;
  background: #fff;
  overflow: clip;
  scroll-margin-top: 9rem;
}

.douyin-domain-module + .douyin-domain-module {
  margin-top: .65rem;
}

.douyin-domain-module:last-child {
  margin-bottom: .8rem;
}

.douyin-domain-module > summary {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 4.25rem;
  padding: .85rem;
  cursor: pointer;
  list-style: none;
  background: #fff;
}

.douyin-domain-module > summary::-webkit-details-marker {
  display: none;
}

.douyin-domain-module > summary > span {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .1rem .5rem;
}

.douyin-domain-module > summary > span > b {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: .55rem;
  background: #111315;
  color: #ff5b51;
  font-size: .68rem;
}

.douyin-domain-module > summary strong,
.douyin-domain-module > summary small {
  display: block;
}

.douyin-domain-module > summary strong {
  color: #111827;
  font-size: .85rem;
}

.douyin-domain-module > summary small,
.douyin-domain-module > summary > em {
  color: #7b8492;
  font-size: .65rem;
  font-style: normal;
  line-height: 1.45;
}

.douyin-domain-module[open] > summary {
  border-bottom: 1px solid #e5e7eb;
  background: #f8f9f7;
}

.douyin-domain-module[open] > summary::after {
  content: "已展开";
  align-self: flex-start;
  padding: .2rem .45rem;
  border-radius: 999px;
  background: #ffe6e3;
  color: #c7261e;
  font-size: .58rem;
  font-weight: 850;
}

.douyin-domain-body {
  display: grid;
  gap: .75rem;
  padding: .85rem;
}

@media (min-width: 640px) {
  .douyin-lane-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .douyin-kpi-ribbon {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .douyin-domain-module > summary {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .douyin-domain-module[open] > summary::after {
    align-self: center;
  }
}

@media (min-width: 1024px) {
  .douyin-cockpit-head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    padding: 1.65rem;
  }

  .douyin-cockpit-tags {
    justify-content: flex-end;
    max-width: 28rem;
  }

  .douyin-lane-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .douyin-kpi-ribbon {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .douyin-operating-cockpit > .shop-urgent-panel,
  .douyin-operating-cockpit > .metric-boundary-note,
  .douyin-operating-cockpit > .douyin-kpi-ribbon,
  .douyin-operating-cockpit > .douyin-domain-module {
    margin-right: 1.15rem;
    margin-left: 1.15rem;
  }

  .douyin-domain-module > summary,
  .douyin-domain-body {
    padding: 1rem 1.15rem;
  }
}

.shop-data-coverage > summary small {
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
}

.shop-data-coverage > summary b {
  color: #475569;
  font-size: 11px;
}

.shop-data-coverage .shop-module-health-panel {
  margin: 0 12px 12px;
  box-shadow: none;
}

.shop-boundary-list {
  margin: 0 26px 16px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
}

.shop-detail-domains {
  display: grid;
  gap: 10px;
}

.shop-detail-domain {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: #fff;
  overflow: clip;
  scroll-margin-top: 160px;
}

.shop-detail-domain > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  background: #fff;
}

.shop-detail-domain[open] > summary {
  border-bottom: 1px solid rgba(148, 163, 184, .2);
  background: #f8fafc;
}

.shop-detail-domain > summary > span {
  display: grid;
  grid-template-columns: 30px auto;
  column-gap: 10px;
  align-items: center;
}

.shop-detail-domain > summary b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #0f172a;
  color: #fff;
  font-size: 11px;
}

.shop-detail-domain > summary strong,
.shop-detail-domain > summary small {
  display: block;
}

.shop-detail-domain > summary strong {
  color: #0f172a;
  font-size: 15px;
}

.shop-detail-domain > summary small,
.shop-detail-domain > summary em {
  color: #64748b;
  font-size: 11px;
}

.shop-detail-domain > summary em {
  flex: 0 0 auto;
  font-style: normal;
}

.shop-detail-domain > .shop-deep-grid {
  padding: 12px;
}

.shop-ops-workbench,
.procurement-exec-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .16);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 94% 6%, rgba(36, 99, 235, .10), transparent 32%),
    linear-gradient(180deg, #fff, #f8fbff);
  box-shadow: var(--shadow-soft);
}

.shop-ops-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.shop-ops-head strong {
  display: block;
  margin: 4px 0 3px;
  font-size: 20px;
  letter-spacing: -0.02em;
}

.shop-ops-head small {
  color: var(--muted);
}

.shop-urgent-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(248, 113, 113, .28);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 98% 0%, rgba(248, 113, 113, .16), transparent 32%),
    linear-gradient(180deg, #fff, #fff7f7);
}

.shop-urgent-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.shop-urgent-head strong {
  display: block;
  color: #7f1d1d;
  font-size: 16px;
}

.shop-urgent-head small {
  display: block;
  margin-top: 3px;
  color: #7f5b5b;
  line-height: 1.5;
}

.shop-urgent-head > span {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  color: #b91c1c;
  font-size: 12px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, .24);
}

.shop-urgent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.shop-urgent-card {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 132px;
  padding: 13px 13px 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.shop-urgent-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #2563eb;
}

.shop-urgent-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 35px rgba(15, 23, 42, .12);
}

.shop-urgent-card.severity-danger {
  border-color: rgba(220, 38, 38, .34);
  background: linear-gradient(180deg, #fff, #fff1f2);
}

.shop-urgent-card.severity-danger::before {
  background: #dc2626;
}

.shop-urgent-card.severity-warning {
  border-color: rgba(245, 158, 11, .34);
  background: linear-gradient(180deg, #fff, #fff8eb);
}

.shop-urgent-card.severity-warning::before {
  background: #f59e0b;
}

.shop-urgent-card.severity-info::before {
  background: #2563eb;
}

.priority-pill {
  justify-self: flex-start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.severity-danger .priority-pill {
  background: #fee2e2;
  color: #b91c1c;
}

.severity-warning .priority-pill {
  background: #fef3c7;
  color: #b45309;
}

.shop-urgent-card strong {
  font-size: 15px;
  line-height: 1.35;
}

.shop-urgent-card p {
  margin: 0;
  color: #334155;
  line-height: 1.45;
}

.shop-urgent-card small {
  color: var(--muted);
  line-height: 1.45;
}

.shop-drill-nav {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 255, .9));
}

.shop-workspace-nav {
  border-color: rgba(37, 99, 235, .22);
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 99, 235, .12), transparent 34%),
    linear-gradient(180deg, #fff, #f5f9ff);
}

.shop-workspace-nav .shop-drill-links {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.shop-workspace-nav .shop-drill-links a {
  min-width: 0;
}

.shop-workspace-nav .shop-drill-links a.active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .2);
}

.shop-workspace-nav .shop-drill-links a.active small {
  color: rgba(255, 255, 255, .78);
}

.shop-workspace-hidden {
  display: none !important;
}

.shop-module-health-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(91, 196, 174, .14), transparent 32%),
    linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: var(--shadow-soft);
}

.shop-module-health-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.shop-module-health-head strong {
  display: block;
  margin-bottom: 3px;
  color: var(--ink);
  font-size: 16px;
}

.shop-module-health-head small,
.shop-module-health-note {
  color: var(--muted);
  line-height: 1.55;
}

.shop-module-health-head > span {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 12px;
  font-weight: 900;
}

.shop-module-health-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.shop-module-health-card {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 142px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.shop-module-health-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #10b981;
}

.shop-module-health-card:hover {
  transform: translateY(-2px);
  border-color: rgba(36, 99, 235, .28);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .12);
}

.shop-module-health-card.tone-danger {
  background: linear-gradient(180deg, #fff, #fff1f2);
  border-color: rgba(220, 38, 38, .28);
}

.shop-module-health-card.tone-danger::before {
  background: #dc2626;
}

.shop-module-health-card.tone-warning {
  background: linear-gradient(180deg, #fff, #fff8eb);
  border-color: rgba(245, 158, 11, .28);
}

.shop-module-health-card.tone-warning::before {
  background: #f59e0b;
}

.shop-module-health-card > span {
  justify-self: flex-start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: 11px;
  font-weight: 900;
}

.shop-module-health-card.tone-danger > span {
  background: #fee2e2;
  color: #b91c1c;
}

.shop-module-health-card.tone-warning > span {
  background: #fef3c7;
  color: #b45309;
}

.shop-module-health-card strong {
  font-size: 14px;
  line-height: 1.35;
}

.shop-module-health-card em {
  color: var(--blue);
  font-style: normal;
  font-weight: 900;
}

.shop-module-health-card small,
.shop-module-health-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.shop-module-health-card p {
  color: #334155;
}

.shop-drill-nav > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.shop-drill-nav strong {
  color: var(--ink);
}

.shop-drill-nav small {
  color: var(--muted);
}

.shop-drill-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.shop-drill-links a {
  display: inline-grid;
  gap: 2px;
  min-width: 112px;
  padding: 8px 10px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.shop-drill-links a:hover {
  border-color: rgba(37, 99, 235, .34);
  background: #f8fbff;
  transform: translateY(-1px);
}

.shop-drill-links b {
  font-size: 13px;
}

.shop-drill-links small {
  font-size: 11px;
}

.module-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(37, 99, 235, .2);
  border-radius: 999px;
  background: rgba(37, 99, 235, .08);
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.diagnosis-panel[id],
.shop-deep-card[id] {
  scroll-margin-top: 170px;
}

.shop-ops-grid,
.procurement-exec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.shop-ops-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shop-ops-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shop-deep-dive {
  display: grid;
  gap: 12px;
}

.shop-deep-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

.shop-deep-grid > .shop-deep-card {
  align-self: start;
}

.shop-deep-card.primary {
  grid-column: span 2;
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 99, 235, .12), transparent 34%),
    linear-gradient(180deg, #fff, #eef6ff);
}

.shop-deep-card.action-critical {
  grid-column: span 2;
  border-color: rgba(245, 158, 11, .28);
  background:
    radial-gradient(circle at 96% 0%, rgba(245, 158, 11, .16), transparent 30%),
    linear-gradient(180deg, #fff, #fff9ed);
}

.shop-deep-card.action-warning {
  grid-column: span 2;
  border-color: rgba(234, 179, 8, .32);
  background:
    radial-gradient(circle at 96% 0%, rgba(234, 179, 8, .14), transparent 30%),
    linear-gradient(180deg, #fff, #fffbeb);
}

.tmall-platform-panel {
  overflow: hidden;
  border-color: rgba(234, 88, 12, .22);
  background:
    radial-gradient(circle at 98% 0%, rgba(251, 146, 60, .13), transparent 32%),
    linear-gradient(180deg, #fff, #fffaf5);
}

.tmall-platform-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.tmall-platform-head > div {
  display: grid;
  gap: 4px;
}

.tmall-platform-head > div > strong {
  color: #7c2d12;
  font-size: 18px;
}

.tmall-platform-head small {
  color: var(--muted);
}

.tmall-platform-head > span {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ffedd5;
  color: #9a3412;
  font-size: 12px;
  font-weight: 900;
}

.tmall-date-guard {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 12px;
  background: rgba(248, 250, 252, .84);
  color: #334155;
  line-height: 1.55;
}

.tmall-date-guard.is-ok {
  border-color: rgba(16, 185, 129, .24);
  background: #ecfdf5;
  color: #047857;
}

.tmall-date-guard.is-warning {
  border-color: rgba(245, 158, 11, .28);
  background: #fffbeb;
  color: #92400e;
}

.tmall-core-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tmall-quality-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}

.tmall-quality-strip span {
  padding: 5px 9px;
  border: 1px solid rgba(234, 88, 12, .16);
  border-radius: 999px;
  background: rgba(255, 247, 237, .88);
  color: #7c2d12;
  font-size: 12px;
  font-weight: 800;
}

.tmall-trend-strip {
  display: grid;
  grid-auto-columns: minmax(116px, 1fr);
  grid-auto-flow: column;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 8px;
  scrollbar-width: thin;
}

.tmall-trend-strip span {
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: rgba(255, 255, 255, .86);
}

.tmall-trend-strip small,
.tmall-trend-strip em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.tmall-trend-strip b {
  color: #7c2d12;
  font-size: 14px;
}

.tmall-signal-columns > div {
  max-height: 360px;
  overflow: auto;
  scrollbar-width: thin;
}

.tmall-boundary-note {
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px dashed rgba(234, 88, 12, .22);
  color: #78716c;
  font-size: 12px;
  line-height: 1.6;
}

.shop-signal-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.shop-signal-columns.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shop-signal-columns > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
}

.shop-signal-columns b {
  display: block;
  margin-bottom: 4px;
  color: #334155;
  font-size: 13px;
}

.shop-signal-section {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: rgba(248, 250, 252, .78);
}

.shop-signal-section > b {
  display: block;
  margin-bottom: 6px;
  color: #0f172a;
}

.shop-mini-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.shop-mini-metrics span {
  display: grid;
  gap: 3px;
  padding: 9px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(148, 163, 184, .24);
}

.finance-final-tile {
  border-color: rgba(16, 185, 129, .32);
  background: linear-gradient(145deg, rgba(236, 253, 245, .96), rgba(255, 255, 255, .98));
}

.finance-final-tile.pending {
  border-color: rgba(148, 163, 184, .32);
  background: rgba(248, 250, 252, .96);
}

.finance-final-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(16, 185, 129, .3);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(236, 253, 245, .94), rgba(255, 255, 255, .98));
}

.finance-final-strip > div {
  display: grid;
  gap: 4px;
}

.finance-final-strip span,
.finance-final-strip small {
  color: #64748b;
}

.finance-final-strip strong {
  color: #065f46;
  font-size: 1.05rem;
}

.finance-final-strip .tone-danger {
  padding: 10px 12px;
  border: 1px solid rgba(220, 38, 38, .2);
  border-radius: 12px;
  background: #fff7f7;
}

.finance-final-strip .tone-danger strong {
  color: #b91c1c;
}

.finance-final-strip p {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid rgba(16, 185, 129, .18);
  color: #475569;
  font-size: .82rem;
  line-height: 1.6;
}

.finance-final-strip.is-missing {
  grid-template-columns: 1fr;
  border-color: rgba(148, 163, 184, .32);
  background: rgba(248, 250, 252, .96);
}

.finance-final-strip.is-missing strong {
  color: #475569;
}

.finance-final-retry {
  justify-self: start;
  margin-top: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(37, 99, 235, .24);
  border-radius: 10px;
  background: #fff;
  color: #1d4ed8;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}

.shop-finance-analysis {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  padding: clamp(16px, 2vw, 24px);
  border-color: rgba(15, 118, 110, .2);
  background:
    radial-gradient(circle at 100% 0%, rgba(20, 184, 166, .1), transparent 32%),
    linear-gradient(180deg, #fff, #f8fbfb);
}

.shop-finance-analysis.is-missing {
  min-height: 220px;
  align-content: center;
}

.shop-finance-heading,
.shop-finance-block-title,
.shop-finance-signoff {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.shop-finance-heading > div {
  display: grid;
  gap: 4px;
}

.shop-finance-heading span {
  color: #0f766e;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.shop-finance-heading strong {
  color: #0f172a;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.shop-finance-heading small,
.shop-finance-block-title small,
.shop-finance-signoff {
  color: #64748b;
}

.shop-finance-heading em {
  padding: 7px 10px;
  border-radius: 999px;
  background: #ccfbf1;
  color: #115e59;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.shop-finance-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.shop-finance-kpis > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .9);
}

.shop-finance-kpis span,
.shop-finance-kpis small {
  color: #64748b;
}

.shop-finance-kpis strong {
  color: #0f172a;
  font-size: 1.15rem;
}

.shop-finance-kpis .tone-danger,
.finance-action-grid .tone-danger {
  border-color: rgba(220, 38, 38, .22);
  background: #fff7f7;
}

.shop-finance-kpis .tone-danger strong,
.finance-action-grid .tone-danger strong {
  color: #b91c1c;
}

.shop-finance-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 12px;
}

.shop-finance-block {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
}

.shop-finance-block-title strong {
  color: #0f172a;
  font-size: 1rem;
}

.shop-finance-block > p,
.finance-expense-card p,
.finance-action-grid p {
  margin: 0;
  color: #475569;
  font-size: .8rem;
  line-height: 1.55;
}

.finance-reconciliation-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.finance-settlement-bridge-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 10px;
}

.finance-settlement-bridge-summary > span {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card-soft);
}

.finance-settlement-bridge-summary > span.is-warning {
  border-color: rgba(217, 119, 6, .34);
  background: rgba(255, 247, 237, .84);
}

.finance-settlement-bridge-list {
  display: grid;
  gap: 8px;
}

.finance-settlement-bridge-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.finance-settlement-bridge-row > div {
  display: grid;
  gap: 3px;
}

.finance-settlement-bridge-row > div small {
  color: var(--muted);
  line-height: 1.55;
}

.finance-settlement-bridge-row > span {
  color: var(--red);
  font-weight: 800;
  white-space: nowrap;
}

.finance-settlement-bridge-row.is-warning {
  border-color: rgba(217, 119, 6, .34);
  background: rgba(255, 247, 237, .66);
}

.finance-settlement-ledger {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card-soft);
}

.finance-settlement-ledger summary {
  cursor: pointer;
  font-weight: 750;
}

.finance-settlement-ledger > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.finance-settlement-ledger > div span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border-radius: 9px;
  background: #fff;
}

@media (max-width: 900px) {
  .finance-settlement-bridge-summary,
  .finance-settlement-ledger > div {
    grid-template-columns: 1fr;
  }
}

.finance-reconciliation-flow > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.finance-reconciliation-flow > div span,
.finance-reconciliation-flow > div small {
  color: #64748b;
  font-size: .74rem;
}

.finance-reconciliation-flow > div strong {
  color: #0f172a;
  font-size: .92rem;
}

.finance-reconciliation-flow > b {
  color: #94a3b8;
}

.finance-reconciliation-flow .tone-warning {
  background: #fffbeb;
}

.finance-waterfall {
  display: grid;
  gap: 7px;
}

.finance-waterfall-row {
  display: grid;
  grid-template-columns: minmax(9.5rem, 13rem) minmax(24px, 1fr) minmax(7rem, auto);
  align-items: center;
  gap: 8px;
  font-size: .8rem;
}

.finance-waterfall-row i {
  height: 1px;
  background: #e2e8f0;
}

.finance-waterfall-row strong {
  text-align: right;
}

.finance-waterfall-row.income strong { color: #047857; }
.finance-waterfall-row.cost strong { color: #b45309; }
.finance-waterfall-row.result {
  margin-top: 3px;
  padding-top: 8px;
  border-top: 1px solid #cbd5e1;
  font-weight: 900;
}

.finance-waterfall-row.result strong { color: #0f172a; }

.finance-formula-check {
  padding: 8px 10px;
  border-radius: 10px;
}

.finance-formula-check.is-ok {
  background: #ecfdf5;
  color: #047857;
}

.finance-formula-check.is-risk {
  background: #fef2f2;
  color: #b91c1c;
}

.finance-expense-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.finance-expense-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.finance-expense-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.finance-expense-card span,
.finance-expense-card small {
  color: #64748b;
  font-size: .76rem;
}

.finance-expense-card strong { color: #0f172a; }

.finance-expense-bar {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.finance-expense-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f766e, #2dd4bf);
}

.finance-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.finance-action-grid > div {
  display: grid;
  gap: 7px;
  padding: 13px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 13px;
  background: #f8fafc;
}

.finance-action-grid span {
  color: #0f766e;
  font-size: .72rem;
  font-weight: 900;
}

.finance-action-grid strong { color: #0f172a; }

.finance-action-grid .tone-warning {
  border-color: rgba(217, 119, 6, .2);
  background: #fffbeb;
}

.finance-operating-boundary {
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}

.finance-period-guard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: 14px;
  background: #f0fdfa;
}

.finance-period-guard > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.finance-period-guard strong { color: #115e59; }
.finance-period-guard span,
.finance-period-guard em {
  color: #64748b;
  font-size: .76rem;
  font-style: normal;
}

.finance-period-guard.is-misaligned {
  border-color: rgba(217, 119, 6, .28);
  background: #fffbeb;
}

.finance-period-guard.is-misaligned strong { color: #92400e; }

.finance-period-guard button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 13px;
  border: 0;
  border-radius: 10px;
  background: #0f766e;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.finance-evidence-warning {
  padding: 9px 11px;
  border-radius: 10px;
  background: #fff7ed;
  color: #9a3412 !important;
}

.finance-operating-evidence {
  border-color: rgba(15, 118, 110, .2);
  background: linear-gradient(180deg, rgba(240, 253, 250, .72), #fff 36%);
}

.finance-evidence-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.finance-evidence-kpis > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.finance-evidence-kpis span,
.finance-evidence-kpis small {
  color: #64748b;
  font-size: .73rem;
}

.finance-evidence-kpis strong { color: #0f172a; }

.finance-ad-evidence-kpis {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.finance-ad-evidence-kpis .tone-warning {
  border: 1px solid rgba(217, 119, 6, .22);
  background: #fffbeb;
}

.finance-ad-evidence-kpis .tone-warning strong { color: #b45309; }

.finance-ad-analysis-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.finance-ad-analysis-nav a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 9px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(15, 118, 110, .2);
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.finance-ad-analysis-nav a:hover,
.finance-ad-analysis-nav a:focus-visible {
  border-color: rgba(15, 118, 110, .55);
  box-shadow: 0 8px 22px rgba(15, 118, 110, .1);
  transform: translateY(-1px);
}

.finance-ad-analysis-nav span {
  grid-row: 1 / span 2;
  align-self: center;
  color: #0f766e;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.finance-ad-analysis-nav strong,
.finance-ad-analysis-nav small { min-width: 0; }
.finance-ad-analysis-nav small { color: #64748b; }

.finance-ad-reconciliation {
  overflow: hidden;
  border: 1px solid rgba(15, 118, 110, .22);
  border-radius: 13px;
  background: #fff;
}

.finance-ad-reconciliation-equation {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: 10px;
  padding: 13px;
}

.finance-ad-reconciliation-equation > div {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f0fdfa;
}

.finance-ad-reconciliation-equation > div.tone-warning { background: #fffbeb; }
.finance-ad-reconciliation-equation span { color: #64748b; font-size: .72rem; }
.finance-ad-reconciliation-equation strong { color: #0f172a; font-size: 1rem; }
.finance-ad-reconciliation-equation b { color: #0f766e; font-size: 1.1rem; }

.finance-ad-reconciliation > p {
  margin: 0;
  padding: 9px 13px;
  border-top: 1px solid #e2e8f0;
  color: #475569;
  font-size: .75rem;
}

.finance-ad-reconciliation > p.is-balanced { background: #f0fdf4; color: #166534; }
.finance-ad-reconciliation > p.is-warning { background: #fff7ed; color: #9a3412; }

.finance-evidence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: 12px;
  min-width: 0;
}

.finance-evidence-grid-single { grid-template-columns: minmax(0, 1fr); }

.finance-sku-whole-profit {
  overflow: hidden;
  border-color: rgba(37, 99, 235, .24);
}

.finance-sku-profit-kpis {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.finance-sku-profit-kpis .tone-warning {
  border: 1px solid rgba(217, 119, 6, .22);
  background: #fffbeb;
}

.finance-sku-profit-kpis .tone-danger {
  border: 1px solid rgba(185, 28, 28, .2);
  background: #fff7f7;
}

.finance-paid-dependency-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.finance-paid-dependency-summary > div {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid #dbe5f2;
  border-radius: 11px;
  background: #fff;
}

.finance-paid-dependency-summary span,
.finance-paid-dependency-summary small { color: #64748b; }
.finance-paid-dependency-summary strong { color: #0f172a; font-size: 1.25rem; }
.finance-paid-dependency-summary .tone-danger { border-color: rgba(185, 28, 28, .2); background: #fff7f7; }
.finance-paid-dependency-summary .tone-warning { border-color: rgba(217, 119, 6, .22); background: #fffbeb; }

.finance-dependency-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  color: #166534;
  background: #dcfce7;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
}

.finance-dependency-badge.is-mixed { color: #1d4ed8; background: #dbeafe; }
.finance-dependency-badge.is-risk { color: #b91c1c; background: #fee2e2; }
.finance-dependency-badge.is-review { color: #9a3412; background: #ffedd5; }

.finance-sku-profit-table { min-width: 1560px; }

.finance-sku-profit-table th:first-child,
.finance-sku-profit-table td:first-child {
  min-width: 300px;
  max-width: 360px;
}

.finance-sku-profit-table th:last-child,
.finance-sku-profit-table td:last-child {
  min-width: 230px;
  max-width: 280px;
  text-align: left;
  white-space: normal;
}

.finance-evidence-table-wrap {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 13px;
}

.finance-ad-detail-section {
  overflow: hidden;
  scroll-margin-top: 90px;
}

.finance-evidence-table-scroll {
  max-width: 100%;
  overflow: auto;
}

.finance-evidence-table-scroll-long { max-height: 680px; }

.finance-evidence-table-scroll .finance-evidence-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  box-shadow: 0 1px 0 #e2e8f0;
}

.finance-evidence-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.finance-evidence-title strong { color: #0f172a; }
.finance-evidence-title small { color: #64748b; }

.finance-evidence-table {
  width: 100%;
  min-width: 590px;
  border-collapse: collapse;
  font-size: .75rem;
}

.finance-evidence-grid > :last-child .finance-evidence-table { min-width: 430px; }

.finance-evidence-table th,
.finance-evidence-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #edf2f7;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
}

.finance-evidence-table th:first-child,
.finance-evidence-table td:first-child {
  max-width: 240px;
  text-align: left;
  white-space: normal;
}

.finance-evidence-table td small {
  display: block;
  margin-top: 2px;
  color: #64748b;
}

.finance-evidence-table tr.is-loss { background: #fff7f7; }
.finance-evidence-table tr.is-loss td:last-child strong { color: #b91c1c; }

.finance-plan-table-wrap { overflow: hidden; }

.finance-field-guide {
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.finance-field-guide summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #0f172a;
  cursor: pointer;
  list-style-position: inside;
}

.finance-field-guide summary span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 600;
}

.finance-field-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}

.finance-field-guide-grid p {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

.finance-field-guide-grid b { color: #0f172a; font-size: .75rem; }
.finance-field-guide-grid span { color: #64748b; font-size: .72rem; line-height: 1.5; }
.finance-field-guide-grid code { color: #0f766e; font-size: .7rem; }

.finance-plan-table { min-width: 1280px; }

.finance-plan-table th:first-child,
.finance-plan-table td:first-child { max-width: 190px; }

.finance-plan-table th:nth-child(2),
.finance-plan-table td:nth-child(2),
.finance-plan-table th:nth-child(3),
.finance-plan-table td:nth-child(3) {
  max-width: 260px;
  text-align: left;
  white-space: normal;
}

.finance-plan-table tr.is-id-missing { background: #fffbeb; }
.finance-plan-table tr.is-id-missing td:first-child strong,
.finance-plan-table tr.is-id-missing td:last-child strong { color: #b45309; }
.finance-plan-table tr.is-warning td:last-child strong { color: #c2410c; }

.finance-break-even-note {
  color: #0f766e !important;
  font-weight: 700;
}

.finance-plan-boundary {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid #0f766e;
  border-radius: 8px;
  background: #f0fdfa;
  color: #475569;
  font-size: .78rem;
  line-height: 1.55;
}

.finance-return-watch {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.finance-return-watch > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.finance-return-watch span {
  display: grid;
  gap: 2px;
  padding: 7px 9px;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  background: #fff;
  color: #64748b;
  font-size: .72rem;
}

.finance-return-watch b { color: #0f172a; }

.shop-finance-signoff {
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, .08);
  font-size: .76rem;
}

@media (max-width: 720px) {
  .finance-final-strip {
    grid-template-columns: 1fr;
  }

  .finance-final-strip p {
    grid-column: auto;
  }

  .shop-finance-heading,
  .shop-finance-block-title,
  .shop-finance-signoff {
    flex-direction: column;
  }

  .shop-finance-kpis,
  .shop-finance-grid,
  .finance-expense-grid,
  .finance-action-grid,
  .finance-evidence-kpis,
  .finance-evidence-grid {
    grid-template-columns: 1fr;
  }

  .finance-period-guard,
  .finance-evidence-title {
    align-items: stretch;
    flex-direction: column;
  }

  .finance-period-guard button { width: 100%; }

  .finance-ad-analysis-nav,
  .finance-ad-reconciliation-equation {
    grid-template-columns: 1fr;
  }

  .finance-field-guide summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .finance-field-guide-grid { grid-template-columns: 1fr; }

  .finance-ad-reconciliation-equation > b {
    justify-self: center;
    transform: rotate(90deg);
  }

  .finance-reconciliation-flow {
    grid-template-columns: 1fr;
  }

  .finance-reconciliation-flow > b {
    transform: rotate(90deg);
    justify-self: center;
  }

  .finance-waterfall-row {
    grid-template-columns: minmax(5.5rem, 1fr) minmax(20px, .5fr) minmax(6.5rem, auto);
  }
}

.shop-mini-metrics b {
  font-size: 17px;
  color: var(--text);
}

.shop-mini-metrics small {
  color: var(--muted);
}

.rfm-segment-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.rfm-segment-pill {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 12px;
  background: rgba(248, 250, 252, .88);
}

.rfm-segment-pill b {
  color: var(--text);
  font-size: 17px;
}

.rfm-segment-pill em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.rfm-segment-pill.tone-danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(254, 242, 242, .92);
}

.rfm-segment-pill.tone-positive {
  border-color: rgba(5, 150, 105, .24);
  background: rgba(236, 253, 245, .92);
}

.rfm-action-list {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.rfm-action-item {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border-left: 4px solid #94a3b8;
  border-radius: 10px;
  background: rgba(248, 250, 252, .82);
}

.rfm-action-item p {
  margin: 0;
}

.rfm-action-item > span,
.rfm-action-item > small {
  color: var(--muted);
}

.rfm-action-item.tone-danger {
  border-left-color: #dc2626;
  background: rgba(254, 242, 242, .88);
}

.rfm-action-item.tone-warning {
  border-left-color: #d97706;
  background: rgba(255, 251, 235, .9);
}

.rfm-action-item.tone-positive {
  border-left-color: #059669;
  background: rgba(236, 253, 245, .88);
}

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

.platform-process-card {
  grid-column: span 2;
  border-color: rgba(124, 58, 237, .2);
  background:
    radial-gradient(circle at 96% 0%, rgba(124, 58, 237, .11), transparent 32%),
    linear-gradient(180deg, #fff, #faf7ff);
}

.platform-process-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.platform-process-head > div {
  display: grid;
  gap: 4px;
}

.platform-process-card .shop-mini-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.platform-process-submetrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.platform-process-submetrics span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(124, 58, 237, .13);
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
}

.platform-process-submetrics b {
  overflow: hidden;
  color: #4c1d95;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.platform-process-submetrics small {
  color: var(--muted);
  line-height: 1.35;
}

.platform-process-card details {
  margin-top: 9px;
  border: 1px solid rgba(124, 58, 237, .14);
  border-radius: 13px;
  background: rgba(255, 255, 255, .78);
  overflow: hidden;
}

.platform-process-card summary {
  padding: 10px 12px;
  cursor: pointer;
  color: #4c1d95;
  font-weight: 800;
}

.platform-process-card details > ul,
.platform-process-card details > p {
  margin: 0;
  padding: 0 12px 12px;
}

.platform-process-card .risk-copy {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(220, 38, 38, .2);
  border-radius: 12px;
  background: rgba(254, 242, 242, .86);
  color: #991b1b;
  line-height: 1.55;
}

.platform-process-card {
  grid-column: span 2;
  border-color: rgba(124, 58, 237, .2);
  background:
    radial-gradient(circle at 96% 0%, rgba(124, 58, 237, .11), transparent 32%),
    linear-gradient(180deg, #fff, #faf7ff);
}

.platform-process-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.platform-process-head > div {
  display: grid;
  gap: 4px;
}

.platform-process-card .shop-mini-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.platform-process-submetrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.platform-process-submetrics span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(124, 58, 237, .13);
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
}

.platform-process-submetrics b {
  overflow: hidden;
  color: #4c1d95;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.platform-process-submetrics small {
  color: var(--muted);
  line-height: 1.35;
}

.platform-process-card details {
  margin-top: 9px;
  border: 1px solid rgba(124, 58, 237, .14);
  border-radius: 13px;
  background: rgba(255, 255, 255, .78);
  overflow: hidden;
}

.platform-process-card summary {
  padding: 10px 12px;
  cursor: pointer;
  color: #4c1d95;
  font-weight: 800;
}

.platform-process-card details > ul,
.platform-process-card details > p {
  margin: 0;
  padding: 0 12px 12px;
}

.platform-process-card .risk-copy {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(220, 38, 38, .2);
  border-radius: 12px;
  background: rgba(254, 242, 242, .86);
  color: #991b1b;
  line-height: 1.55;
}

.vip-channel-workbench {
  --vip-ink: #102a43;
  --vip-blue: #173f67;
  --vip-blue-soft: #edf5fb;
  --vip-gold: #b98932;
  --vip-gold-soft: #fbf5e9;
  --vip-coral: #c35347;
  grid-column: 1 / -1;
  padding: 0;
  border: 1px solid rgba(23, 63, 103, .18);
  border-radius: 22px;
  background: #f7fafc;
  box-shadow: 0 22px 55px rgba(16, 42, 67, .09);
  overflow: hidden;
}

.vip-workbench-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 28px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 0%, rgba(222, 184, 105, .26), transparent 38%),
    linear-gradient(128deg, #102a43 0%, #173f67 58%, #245579 100%);
}

.vip-workbench-hero > div:first-child {
  display: grid;
  gap: 5px;
}

.vip-workbench-hero span,
.vip-section-heading span {
  color: #dcc187;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.vip-workbench-hero h3,
.vip-section-heading h4 {
  margin: 0;
  letter-spacing: -.02em;
}

.vip-workbench-hero h3 {
  font-family: Georgia, "Noto Serif SC", serif;
  font-size: clamp(24px, 3vw, 36px);
}

.vip-workbench-hero p {
  margin: 3px 0 0;
  color: rgba(255, 255, 255, .78);
  line-height: 1.6;
}

.vip-truth-badges {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 480px;
}

.vip-truth-badges span {
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: rgba(255, 255, 255, .9);
  background: rgba(255, 255, 255, .08);
  font-size: 11px;
  letter-spacing: 0;
  backdrop-filter: blur(8px);
}

.vip-module-nav {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  gap: 6px;
  padding: 10px 18px;
  border-bottom: 1px solid rgba(23, 63, 103, .12);
  background: rgba(255, 255, 255, .94);
  overflow-x: auto;
  scrollbar-width: thin;
  backdrop-filter: blur(14px);
}

.vip-module-nav a {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 10px;
  color: var(--vip-blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.vip-module-nav a:hover,
.vip-module-nav a:focus-visible {
  color: #fff;
  background: var(--vip-blue);
}

.vip-module-overview {
  display: grid;
  gap: 14px;
  padding: 22px 26px 24px;
  border-bottom: 1px solid rgba(23, 63, 103, .1);
  background: #f3f6fa;
}

.vip-module-overview-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.vip-module-overview-head > div {
  display: grid;
  gap: 3px;
}

.vip-module-overview-head span {
  color: var(--vip-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.vip-module-overview-head strong {
  color: var(--vip-ink);
  font-size: 18px;
}

.vip-module-overview-head small {
  max-width: 470px;
  color: #627d98;
  font-size: 11px;
  line-height: 1.55;
  text-align: right;
}

.vip-module-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.vip-module-overview-grid > a {
  position: relative;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 15px 16px 14px 20px;
  overflow: hidden;
  border: 1px solid rgba(23, 63, 103, .14);
  border-radius: 14px;
  color: var(--vip-ink);
  background: #fff;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.vip-module-overview-grid > a::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--vip-blue);
  content: "";
}

.vip-module-overview-grid > a:hover,
.vip-module-overview-grid > a:focus-visible {
  border-color: rgba(23, 63, 103, .38);
  box-shadow: 0 12px 26px rgba(16, 42, 67, .1);
  transform: translateY(-2px);
}

.vip-module-overview-grid > a > span {
  color: #627d98;
  font-size: 11px;
  font-weight: 800;
}

.vip-module-overview-grid > a > strong {
  overflow: hidden;
  font-size: 22px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vip-module-overview-grid > a > small {
  min-height: 34px;
  color: #627d98;
  font-size: 10px;
  line-height: 1.55;
}

.vip-module-overview-grid > a > em {
  color: var(--vip-blue);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.vip-module-overview-grid > a.tone-danger {
  border-color: rgba(195, 83, 71, .3);
}

.vip-module-overview-grid > a.tone-danger::before {
  background: var(--vip-coral);
}

.vip-module-overview-grid > a.tone-warning {
  border-color: rgba(185, 137, 50, .34);
}

.vip-module-overview-grid > a.tone-warning::before {
  background: var(--vip-gold);
}

.vip-module-overview-grid > a.tone-positive::before {
  background: #16865b;
}

.vip-decision-section {
  scroll-margin-top: 92px;
  padding: 24px 26px;
  border-bottom: 1px solid rgba(23, 63, 103, .1);
  background: #fff;
}

.vip-decision-section:nth-of-type(even) {
  background: #f8fbfd;
}

.vip-module-fold {
  padding: 0;
}

.vip-module-fold > .vip-module-summary {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(220px, .7fr) minmax(320px, 1.3fr) 22px;
  align-items: center;
  gap: 18px;
  min-height: 78px;
  padding: 18px 26px;
  color: var(--vip-ink);
  list-style: none;
  cursor: pointer;
}

.vip-module-fold > .vip-module-summary::-webkit-details-marker {
  display: none;
}

.vip-module-fold > .vip-module-summary::after {
  color: var(--vip-blue);
  font-size: 18px;
  font-weight: 900;
  content: "+";
}

.vip-module-fold[open] > .vip-module-summary::after {
  content: "−";
}

.vip-module-fold > .vip-module-summary > span {
  color: var(--vip-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.vip-module-fold > .vip-module-summary > strong {
  font-size: 17px;
}

.vip-module-fold > .vip-module-summary > small {
  color: #627d98;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.55;
}

.vip-module-fold[open] > .vip-module-summary {
  border-bottom: 1px solid rgba(23, 63, 103, .1);
  background: var(--vip-blue-soft);
}

.vip-module-body {
  padding: 22px 26px 24px;
}

.vip-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.vip-section-heading > div {
  display: grid;
  gap: 4px;
}

.vip-section-heading h4 {
  color: var(--vip-ink);
  font-family: Georgia, "Noto Serif SC", serif;
  font-size: 21px;
}

.vip-section-heading p {
  max-width: 590px;
  margin: 0;
  color: #627d98;
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

.vip-decision-grid,
.vip-kpi-ribbon {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 14px;
}

.vip-decision-card,
.vip-kpi-ribbon > span {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(23, 63, 103, .13);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f7fafc);
}

.vip-decision-card > span,
.vip-kpi-ribbon small {
  color: #627d98;
  font-size: 11px;
  font-weight: 700;
}

.vip-decision-card strong,
.vip-kpi-ribbon b {
  overflow: hidden;
  color: var(--vip-ink);
  font-size: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vip-decision-card small {
  color: #627d98;
  font-size: 10px;
  line-height: 1.45;
}

.vip-decision-card.tone-danger {
  border-color: rgba(195, 83, 71, .3);
  background: linear-gradient(180deg, #fff, #fff2f0);
}

.vip-decision-card.tone-danger strong {
  color: #a73b32;
}

.vip-decision-card.tone-warning {
  border-color: rgba(185, 137, 50, .34);
  background: linear-gradient(180deg, #fff, var(--vip-gold-soft));
}

.vip-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.vip-decision-section details {
  min-width: 0;
  border: 1px solid rgba(23, 63, 103, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .86);
  overflow: hidden;
}

.vip-decision-section summary {
  min-height: 44px;
  padding: 12px 14px;
  color: var(--vip-blue);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.vip-decision-section details > ul,
.vip-decision-section details > p {
  margin: 0;
  padding: 0 14px 14px;
}

.vip-finance-boundary {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 4px solid var(--vip-gold);
  border-radius: 0 12px 12px 0;
  color: #7a5b24;
  background: var(--vip-gold-soft);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.vip-data-section {
  background: var(--vip-blue-soft) !important;
}

.vip-metric-tile {
  border-color: rgba(23, 63, 103, .18);
  background: linear-gradient(145deg, #fff, var(--vip-blue-soft));
}

.vip-focus-panel {
  border-color: rgba(185, 137, 50, .28);
  background: linear-gradient(145deg, #fff, var(--vip-gold-soft));
}

.vip-focus-panel a {
  display: inline-flex;
  margin-top: 10px;
  color: var(--vip-blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.vip-ai-guide {
  border-color: rgba(23, 63, 103, .2);
  background:
    radial-gradient(circle at 96% 0%, rgba(185, 137, 50, .14), transparent 34%),
    linear-gradient(145deg, #fff, #f3f8fb);
}

.metric-boundary-note {
  margin: 10px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(34, 197, 94, .2);
  border-radius: 12px;
  background: rgba(240, 253, 244, .82);
  color: #166534;
  font-size: 12px;
  line-height: 1.55;
}

.metric-boundary-note.warning {
  border-color: rgba(245, 158, 11, .28);
  background: rgba(255, 251, 235, .9);
  color: #92400e;
}

.pdd-billion-subsidy-panel {
  grid-column: span 2;
  border-color: rgba(37, 99, 235, .18);
  background:
    radial-gradient(circle at 98% 0%, rgba(59, 130, 246, .13), transparent 32%),
    linear-gradient(180deg, #fff, #f4f8ff);
}

.pdd-billion-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.pdd-billion-card {
  position: relative;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 16px;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--shadow-soft);
}

.pdd-billion-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #94a3b8;
}

.pdd-billion-card > div:first-child {
  display: grid;
  gap: 2px;
  padding-left: 6px;
}

.pdd-billion-card > div:first-child span {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .14);
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}

.pdd-billion-card > div:first-child strong {
  color: #0f172a;
  font-size: 18px;
}

.pdd-billion-card > div:first-child small {
  color: var(--muted);
}

.pdd-billion-card .shop-mini-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdd-billion-card.tone-danger {
  border-color: rgba(239, 68, 68, .24);
  background:
    radial-gradient(circle at 100% 0%, rgba(239, 68, 68, .12), transparent 30%),
    rgba(255, 255, 255, .9);
}

.pdd-billion-card.tone-danger::before {
  background: #ef4444;
}

.pdd-billion-card.tone-danger > div:first-child span {
  background: rgba(239, 68, 68, .12);
  color: #b91c1c;
}

.pdd-billion-card.tone-warning {
  border-color: rgba(245, 158, 11, .28);
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 158, 11, .14), transparent 30%),
    rgba(255, 255, 255, .9);
}

.pdd-billion-card.tone-warning::before {
  background: #f59e0b;
}

.pdd-billion-card.tone-warning > div:first-child span {
  background: rgba(245, 158, 11, .14);
  color: #92400e;
}

.pdd-billion-card.tone-ok {
  border-color: rgba(34, 197, 94, .24);
}

.pdd-billion-card.tone-ok::before {
  background: #22c55e;
}

.pdd-billion-card.tone-ok > div:first-child span {
  background: rgba(34, 197, 94, .12);
  color: #15803d;
}

.ops-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ops-action-card,
.procurement-exec-card {
  display: grid;
  gap: 6px;
  min-height: 112px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
  box-shadow: var(--shadow-soft);
}

.ops-action-card span,
.procurement-exec-card span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.ops-action-card strong,
.procurement-exec-card strong {
  font-size: 14px;
  line-height: 1.45;
}

.ops-action-card small,
.procurement-exec-card small {
  align-self: end;
  color: var(--muted);
  line-height: 1.45;
}

.task-action-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 2px 0;
}

.task-action-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid #dbe7fb;
  border-radius: 999px;
  background: rgba(237, 244, 255, .86);
  color: #24437a;
  font-size: 11px;
  font-weight: 700;
}

.task-action-link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 4px;
  padding: 6px 10px;
  border: 1px solid rgba(37, 99, 235, .24);
  border-radius: 999px;
  background: rgba(37, 99, 235, .08);
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.task-action-link:hover {
  border-color: rgba(37, 99, 235, .45);
  background: rgba(37, 99, 235, .14);
  transform: translateY(-1px);
}

#procurementCockpitSummary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#procurementCockpitSummary .procurement-exec-panel {
  grid-column: 1 / -1;
}

.subtle-title {
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.diagnosis-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.diagnosis-kpis div,
.diagnosis-panel {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #fbfdff, var(--card-soft));
  box-shadow: var(--shadow-soft);
}

.diagnosis-kpis span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.diagnosis-kpis strong {
  display: block;
  margin: 7px 0 4px;
  font-size: 20px;
}

.diagnosis-kpis small {
  color: var(--muted);
}

.diagnosis-panel strong {
  display: block;
  margin-bottom: 4px;
}

.compact-list {
  margin: 4px 0 0;
  padding-left: 18px;
  line-height: 1.6;
}

.shop-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.shop-evidence-grid article {
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.geo-layout {
  grid-template-columns: 1fr;
}

#geo-intelligence .card {
  border-radius: 8px;
}

#geo-intelligence {
  scroll-margin-top: 8rem;
}

.geo-hero {
  position: relative;
  overflow: hidden;
  border-top: 5px solid #ef7358;
  background: #fff;
}

.geo-hero::after {
  content: "GEO";
  position: absolute;
  top: 8px;
  right: 20px;
  color: rgba(22, 31, 49, .05);
  font: 800 86px/1 Georgia, serif;
  pointer-events: none;
}

.geo-hero-copy,
.geo-toolbar,
.geo-kpi-grid,
.geo-boundary {
  position: relative;
  z-index: 1;
}

.geo-kicker {
  display: block;
  margin-bottom: 6px;
  color: #bd4e38;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.geo-hero h2 {
  margin-bottom: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  letter-spacing: 0;
}

.geo-hero-copy p {
  max-width: 72ch;
  color: #4f5d70;
}

.geo-toolbar {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 20px 0 16px;
  padding: 14px;
  border: 1px solid #dfe5ec;
  background: #f7f9fb;
}

.geo-toolbar label {
  flex: 1 1 280px;
}

.geo-toolbar select,
.geo-toolbar button {
  min-height: 44px;
  border: 1px solid #cfd8e4;
  border-radius: 6px;
}

.geo-toolbar button {
  background: #1d344d;
  color: #fff;
}

.geo-toolbar button:last-child {
  background: #fff;
  color: #1d344d;
}

.geo-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #dfe5ec;
  background: #dfe5ec;
}

.geo-kpi {
  display: grid;
  gap: 5px;
  min-height: 112px;
  padding: 15px;
  background: #fff;
}

.geo-kpi span,
.geo-kpi small {
  color: #6c778c;
}

.geo-kpi strong {
  color: #1d344d;
  font-size: 28px;
}

.geo-boundary {
  margin: 12px 0 0;
  color: #6c778c;
  font-size: 12px;
}

.geo-platform-list,
.geo-gate-summary,
.geo-action-board {
  display: grid;
  gap: 10px;
}

.geo-platform-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 58px;
  gap: 10px;
  align-items: center;
  min-height: 56px;
  padding: 10px 0;
  border-bottom: 1px solid #e5eaf0;
}

.geo-platform-row:last-child {
  border-bottom: 0;
}

.geo-platform-row div {
  display: grid;
  gap: 3px;
}

.geo-platform-row small,
.geo-action-item small,
.geo-gate-item small {
  color: #7a8596;
}

.geo-platform-row b {
  text-align: right;
  color: #1d344d;
}

.geo-status,
.geo-priority,
.geo-risk {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 25px;
  padding: 3px 8px;
  border: 1px solid #d7dee8;
  border-radius: 999px;
  background: #f7f9fb;
  color: #566376;
  font-size: 12px;
  font-weight: 800;
}

.geo-status.positive {
  border-color: #a9d6c3;
  background: #edf8f2;
  color: #157253;
}

.geo-status.warning {
  border-color: #eed39c;
  background: #fff7e8;
  color: #8f5e04;
}

.geo-status.critical {
  border-color: #efb3a8;
  background: #fff0ed;
  color: #a5402d;
}

.geo-priority.p0,
.geo-risk.high {
  border-color: #eaa496;
  background: #fff0ed;
  color: #9e3825;
}

.geo-priority.p1,
.geo-risk.medium {
  border-color: #e9d19e;
  background: #fff7e8;
  color: #875700;
}

.geo-priority.p2,
.geo-risk.low {
  border-color: #b9cbe2;
  background: #eff5fb;
  color: #315878;
}

.geo-gate-card {
  border-left: 4px solid #ef7358;
}

.geo-gate-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  padding: 11px;
  border: 1px solid #f0d5cf;
  background: #fff8f6;
}

.geo-gate-item span {
  color: #a5402d;
  font-size: 12px;
  font-weight: 800;
}

.geo-gate-item strong {
  font-size: 13px;
  line-height: 1.55;
}

.geo-gate-item.clear {
  border-color: #c7dfd4;
  background: #f2faf6;
}

.geo-table-card .table-scroll {
  max-height: 520px;
}

.geo-table-card table {
  min-width: 900px;
}

.geo-table-card td {
  vertical-align: top;
  line-height: 1.55;
}

.geo-table-card td a {
  color: #245d9a;
  font-weight: 700;
}

.geo-action-board {
  grid-template-columns: 1fr;
}

.geo-action-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid #dfe5ec;
  border-left: 4px solid #7f9bb5;
  background: #fff;
}

.geo-action-item[data-priority="P0"] {
  border-left-color: #ef7358;
}

.geo-action-item[data-priority="P1"] {
  border-left-color: #d49a2f;
}

.geo-action-item div {
  display: grid;
  gap: 5px;
}

.geo-action-item p {
  grid-column: 2 / -1;
  margin: 0;
  color: #586577;
  font-size: 13px;
  line-height: 1.55;
}

.geo-empty {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px dashed #cfd8e4;
  color: #6c778c;
  text-align: center;
}

@media (min-width: 980px) {
  .geo-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  }

  .geo-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .geo-action-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .shop-evidence-grid {
    grid-template-columns: 1fr;
  }
}

.sku-action-drawer {
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.sku-action-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.sku-action-drawer summary small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.sku-action-drawer summary::-webkit-details-marker {
  display: none;
}

.sku-action-drawer summary::after {
  content: "展开";
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.sku-action-drawer[open] summary::after {
  content: "收起";
}

.sku-drawer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.sku-drawer-grid div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
}

.sku-drawer-grid b {
  color: var(--ink);
  font-size: 12px;
}

.sku-drawer-grid small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.shop-distribution {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.shop-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid #d8e4ff;
  background: var(--blue-soft);
  color: #24437a;
  font-size: 12px;
  line-height: 1.4;
}

.shop-chip small {
  color: var(--muted);
}

.muted-chip {
  border-color: var(--line);
  background: #f8fafc;
  color: var(--muted);
}

.task-distribution {
  margin-top: 8px;
}

.task-distribution > small {
  display: block;
  color: var(--muted);
}

.task-summary {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 13px;
}

.task-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card-soft);
}

.task-summary small {
  flex-basis: 100%;
  color: var(--muted);
}

.staging-review-panel {
  flex-basis: 100%;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(239, 246, 255, .72), rgba(255, 255, 255, .94));
}

.staging-review-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
}

.staging-review-head small {
  flex-basis: auto;
  text-align: right;
}

.staging-review-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.staging-review-card strong,
.staging-review-card p,
.staging-review-card em,
.staging-review-card small {
  display: block;
}

.staging-review-card p {
  margin: 5px 0;
  color: var(--ink);
}

.staging-review-card em {
  font-style: normal;
  color: var(--muted);
}

.staging-review-actions {
  min-width: 210px;
  text-align: right;
}

.owner-execution-review {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: var(--radius-lg);
  padding: 14px;
  margin: 0 0 16px;
  background:
    radial-gradient(circle at 88% 0%, rgba(245, 158, 11, .14), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(248, 250, 252, .9));
}

.owner-execution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.owner-execution-card {
  display: grid;
  gap: 8px;
  min-height: 108px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.owner-execution-card > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.owner-execution-card p {
  margin: 0;
  color: var(--ink);
  font-weight: 800;
}

.owner-execution-card small {
  color: var(--muted);
  line-height: 1.45;
}

.task-focus {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 14px;
  margin: 0 0 16px;
  background:
    radial-gradient(circle at 10% 0%, rgba(36, 99, 235, .14), transparent 34%),
    linear-gradient(135deg, rgba(36, 99, 235, .08), rgba(15, 23, 42, .03));
}

.task-focus-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
  color: var(--muted);
}

.task-focus-head strong {
  color: var(--ink);
}

.task-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.task-focus-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  padding: 12px;
  min-height: 92px;
  box-shadow: var(--shadow-soft);
}

.task-focus-card span,
.task-focus-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.task-focus-card strong {
  display: block;
  margin: 6px 0;
  font-size: 13px;
}

.task-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.task-focus-actions .mini-button {
  margin: 0;
}

.inline-filters {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
}

.compact-filters {
  align-items: center;
  margin-top: -4px;
  margin-bottom: 14px;
  padding: 8px;
}

.brand-target-month-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px 4px 10px;
  border: 1px solid rgba(36, 99, 235, .2);
  border-radius: 10px;
  background: #fff;
}

.brand-target-month-filter span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.brand-target-month-filter input {
  min-height: 32px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
}

.brand-target-date-boundary {
  margin-left: auto;
  color: var(--muted);
  line-height: 1.5;
}

.inline-filters label {
  color: var(--muted);
}

.inline-filters select {
  min-width: 120px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.mini-input {
  width: min(320px, 100%);
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.inline-filters button,
.mini-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.inline-filters .primary-action {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.brand-target-analysis-card {
  grid-column: 1 / -1;
  border-color: rgba(36, 99, 235, .18);
  background:
    radial-gradient(circle at 92% 10%, rgba(36, 99, 235, .09), transparent 28%),
    linear-gradient(180deg, #fff, #fbfdff);
}

#brand-progress > .target-admin-card,
#brand-progress > .card.wide {
  grid-column: 1 / -1;
}

.brand-target-analysis-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin: 2px 0 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, .88);
}

.brand-target-analysis-toolbar select {
  min-width: min(420px, 64vw);
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.brand-target-analysis-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.brand-target-analysis-actions .primary-action {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.brand-target-analysis-actions small {
  max-width: 360px;
  color: var(--muted);
  line-height: 1.45;
}

.brand-target-analysis-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.brand-target-analysis-summary.with-sales-progress {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.brand-target-analysis-summary article {
  min-height: 104px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.brand-target-analysis-summary article.tone-danger {
  border-color: rgba(214, 69, 69, .24);
  background: linear-gradient(180deg, #fff, var(--red-soft));
}

.brand-target-analysis-summary article.tone-warning {
  border-color: rgba(199, 121, 0, .24);
  background: linear-gradient(180deg, #fff, var(--orange-soft));
}

.brand-target-analysis-summary article.tone-positive {
  border-color: rgba(15, 159, 110, .22);
  background: linear-gradient(180deg, #fff, var(--green-soft));
}

.brand-target-analysis-summary span,
.brand-target-analysis-summary small {
  display: block;
  color: var(--muted);
}

.brand-target-analysis-summary strong {
  display: block;
  margin: 8px 0 6px;
  font-size: 22px;
  letter-spacing: -.03em;
}

.brand-target-analysis-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--card-soft);
}

.brand-target-analysis-headline.warning {
  border-color: rgba(199, 121, 0, .24);
  background: var(--orange-soft);
  color: #7a4a00;
}

.brand-target-analysis-headline.success {
  border-color: rgba(15, 159, 110, .22);
  background: var(--green-soft);
  color: #087a4a;
}

.brand-target-analysis-headline small {
  color: currentColor;
  opacity: .78;
}

.brand-target-channel-scroll {
  max-height: 520px;
  margin-bottom: 16px;
}

.brand-target-channel-table {
  min-width: 1120px;
}

.brand-target-channel-table th:nth-child(1),
.brand-target-channel-table td:nth-child(1) {
  min-width: 160px;
}

.brand-target-channel-table th:nth-child(6),
.brand-target-channel-table td:nth-child(6) {
  min-width: 300px;
  white-space: normal;
}

.brand-target-operating-plan {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #cdddf7;
  border-radius: 18px;
  background: linear-gradient(145deg, #f7faff 0%, #ffffff 64%);
  box-shadow: inset 4px 0 0 #356bd8;
}

.brand-target-operating-plan-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
}

.brand-target-operating-plan-head > div {
  display: grid;
  gap: 4px;
}

.brand-target-operating-plan-head span {
  color: #356bd8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.brand-target-operating-plan-head strong {
  color: #18243a;
  font-size: 17px;
}

.brand-target-operating-plan-head small,
.brand-target-operating-boundary {
  color: #627089;
}

.brand-target-operating-boundary {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #edf4ff;
  font-size: 13px;
  line-height: 1.55;
}

.brand-target-operating-table {
  min-width: 1120px;
}

.brand-target-operating-table th:first-child,
.brand-target-operating-table td:first-child {
  min-width: 220px;
}

.brand-target-operating-table th:nth-child(2),
.brand-target-operating-table td:nth-child(2),
.brand-target-operating-table th:nth-child(3),
.brand-target-operating-table td:nth-child(3) {
  min-width: 230px;
}

.brand-target-operating-table th:nth-child(4),
.brand-target-operating-table td:nth-child(4) {
  min-width: 180px;
}

.brand-target-operating-table th:last-child,
.brand-target-operating-table td:last-child {
  min-width: 240px;
}

.brand-target-operating-row td {
  vertical-align: top;
}

.brand-target-operating-row td > strong,
.brand-target-operating-row td > small {
  display: block;
}

.brand-target-operating-skus {
  margin-top: 10px;
  border-top: 1px solid #dbe6f7;
  color: #24324a;
}

.brand-target-operating-skus summary {
  padding: 9px 0 4px;
  color: #285fc5;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.brand-target-operating-sku-list {
  display: grid;
  gap: 7px;
  max-height: 260px;
  margin-top: 6px;
  padding-right: 5px;
  overflow-y: auto;
}

.brand-target-operating-sku-list > div {
  display: grid;
  gap: 3px;
  padding: 8px 9px;
  border: 1px solid #dce6f5;
  border-radius: 9px;
  background: rgba(255, 255, 255, .86);
}

.brand-target-operating-sku-list strong {
  font-size: 12px;
  line-height: 1.4;
}

.brand-target-operating-sku-list small,
.brand-target-operating-sku-list span {
  color: #68758c;
  font-size: 11px;
  line-height: 1.45;
}

.brand-target-operating-row td > small {
  margin-top: 5px;
  color: #6c7890;
  line-height: 1.45;
}

.brand-target-operating-row.tone-danger td:first-child {
  box-shadow: inset 4px 0 0 #c43c4b;
}

.brand-target-operating-row.tone-warning td:first-child {
  box-shadow: inset 4px 0 0 #d49320;
}

.brand-target-operating-row.tone-positive td:first-child {
  box-shadow: inset 4px 0 0 #2f8a68;
}

.brand-target-channel-row.status-critical td:first-child,
.brand-target-channel-row.status-behind td:first-child {
  box-shadow: inset 4px 0 0 var(--red);
}

.brand-target-channel-row.status-watch td:first-child {
  box-shadow: inset 4px 0 0 var(--orange);
}

.brand-target-channel-row.status-on_track td:first-child,
.brand-target-channel-row.status-exceeded td:first-child {
  box-shadow: inset 4px 0 0 var(--green);
}

.brand-target-drilldown-button {
  margin-top: 8px;
  padding: 6px 9px;
  font-size: 12px;
}

.brand-target-drilldown-button.primary {
  border-color: var(--blue);
  background: var(--blue-soft);
  color: var(--blue-2);
}

.brand-target-drilldown {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(36, 99, 235, .08), transparent 28%),
    #fff;
}

.brand-target-drilldown.loading {
  border-style: dashed;
}

.brand-target-drilldown.warning {
  border-color: rgba(199, 121, 0, .28);
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 158, 11, .11), transparent 28%),
    #fff;
}

.brand-target-drilldown.danger {
  border-color: rgba(214, 69, 69, .26);
  background: var(--red-soft);
}

.brand-target-drilldown-head,
.brand-target-subsection-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.brand-target-drilldown-head span,
.brand-target-drilldown-head strong,
.brand-target-subsection-title strong,
.brand-target-subsection-title small {
  display: block;
}

.brand-target-drilldown-head span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.brand-target-drilldown-head strong {
  margin-top: 3px;
  font-size: 18px;
}

.brand-target-drilldown-head small,
.brand-target-subsection-title small {
  color: var(--muted);
}

.brand-target-drilldown-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.brand-target-drilldown-summary article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, .78);
}

.brand-target-drilldown-summary article.tone-positive {
  border-color: rgba(15, 159, 110, .22);
  background: var(--green-soft);
}

.brand-target-drilldown-summary article.tone-warning {
  border-color: rgba(199, 121, 0, .24);
  background: var(--orange-soft);
}

.brand-target-drilldown-summary span,
.brand-target-drilldown-summary small {
  display: block;
  color: var(--muted);
}

.brand-target-drilldown-summary strong {
  display: block;
  margin: 6px 0 4px;
  font-size: 18px;
}

.brand-target-platform-contribution {
  display: grid;
  gap: 7px;
}

.brand-target-platform-contribution > strong {
  font-size: 13px;
}

.brand-target-platform-contribution > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.brand-target-platform-contribution span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
}

.brand-target-platform-contribution small {
  color: var(--muted);
}

.brand-target-drilldown-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 12px;
}

.brand-target-drilldown-grid > section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, .66);
}

.brand-target-drilldown-grid .table-scroll {
  max-height: 420px;
  margin-top: 9px;
}

.brand-target-drilldown-grid table {
  min-width: 620px;
}

.brand-target-drilldown-boundaries {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.brand-target-drilldown-boundaries span {
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--card-soft);
  color: var(--muted);
  font-size: 11px;
}

.brand-target-recommendation-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.brand-target-recommendation-head strong,
.brand-target-recommendation-head small {
  display: block;
}

.brand-target-recommendation-head small {
  margin-top: 3px;
  color: var(--muted);
}

.brand-target-draft-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  text-align: right;
}

.brand-target-draft-actions .mini-button {
  border-color: rgba(36, 99, 235, .28);
  background: var(--blue-soft);
  color: var(--blue-2);
}

.brand-target-channel-advice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.brand-target-task-drafts {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, .76);
}

.brand-target-task-drafts.loading {
  border-style: dashed;
}

.brand-target-task-drafts.danger {
  border-color: rgba(214, 69, 69, .24);
  background: var(--red-soft);
}

.brand-target-task-drafts > strong,
.brand-target-task-drafts > small {
  display: block;
}

.brand-target-task-draft-head,
.brand-target-task-draft-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.brand-target-task-draft-head span,
.brand-target-task-draft-head strong,
.brand-target-task-draft-head small {
  display: block;
}

.brand-target-task-draft-head span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.brand-target-task-draft-head strong {
  margin-top: 3px;
  font-size: 18px;
}

.brand-target-task-draft-head small {
  max-width: 620px;
  color: var(--muted);
  text-align: right;
}

.brand-target-task-draft-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.brand-target-task-draft-grid article {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.brand-target-task-draft-grid article.risk-high {
  border-color: rgba(214, 69, 69, .24);
  box-shadow: inset 4px 0 0 var(--red);
}

.brand-target-task-draft-title span {
  color: var(--muted);
  font-size: 12px;
}

.brand-target-task-draft-title b {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--orange-soft);
  color: #8a5100;
  font-size: 11px;
}

.brand-target-task-draft-grid article > strong {
  display: block;
  margin: 9px 0 7px;
  line-height: 1.45;
}

.brand-target-task-draft-grid article p {
  margin: 0 0 9px;
  color: var(--muted);
  line-height: 1.55;
}

.brand-target-task-draft-grid dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 9px;
}

.brand-target-task-draft-grid dl div {
  padding: 8px;
  border-radius: var(--radius-sm);
  background: var(--card-soft);
}

.brand-target-task-draft-grid dt,
.brand-target-task-draft-grid dd {
  margin: 0;
}

.brand-target-task-draft-grid dt,
.brand-target-task-draft-grid article > small {
  color: var(--muted);
  font-size: 11px;
}

.brand-target-task-draft-grid dd {
  margin-top: 4px;
  font-weight: 800;
}

.brand-target-task-draft-grid .guardrail {
  display: block;
  margin-top: 7px;
  color: #8a5100;
}

.brand-target-task-draft-warning {
  color: #8a5100;
}

.brand-target-advice-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.brand-target-advice-card.status-critical,
.brand-target-advice-card.status-behind {
  border-color: rgba(214, 69, 69, .22);
}

.brand-target-advice-card.status-watch {
  border-color: rgba(199, 121, 0, .22);
}

.brand-target-advice-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.brand-target-advice-title span,
.brand-target-advice-title strong {
  display: block;
}

.brand-target-advice-title span {
  color: var(--muted);
  font-size: 12px;
}

.brand-target-advice-card p {
  margin: 10px 0;
  color: var(--ink);
  line-height: 1.65;
}

.brand-target-advice-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.brand-target-advice-card dl > div {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
}

.brand-target-advice-card dt {
  color: var(--muted);
  font-weight: 700;
}

.brand-target-advice-card dd {
  margin: 0;
  line-height: 1.55;
}

.brand-target-company-rule {
  display: block;
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: var(--blue-soft);
  color: var(--blue-2);
  line-height: 1.5;
}

.brand-target-ai-answer {
  padding: 16px;
  border: 1px solid rgba(36, 99, 235, .18);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(237, 244, 255, .7), #fff);
  line-height: 1.65;
}

.brand-target-ai-answer.loading {
  border-style: dashed;
  color: var(--blue-2);
}

.brand-target-ai-answer.danger {
  border-color: rgba(214, 69, 69, .24);
  background: var(--red-soft);
  color: #7f1d1d;
}

.brand-target-ai-answer-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr);
  gap: 18px;
  align-items: start;
}

.brand-target-ai-answer-title span,
.brand-target-ai-answer-title strong {
  display: block;
}

.brand-target-ai-answer-title span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.brand-target-ai-answer-title strong {
  margin-top: 3px;
  font-size: 17px;
}

.brand-target-ai-answer-title small {
  color: var(--muted);
}

.brand-target-ai-answer ol {
  margin: 14px 0;
  padding-left: 22px;
}

.brand-target-ai-evidence {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.brand-target-ai-evidence span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  box-shadow: inset 0 0 0 1px var(--line);
}

.brand-target-ai-executive {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  margin: 16px 0 12px;
  padding: 14px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, .86);
  box-shadow: inset 0 0 0 1px rgba(36, 99, 235, .1);
}

.brand-target-ai-executive > span,
.brand-target-ai-method span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
}

.brand-target-ai-executive ol {
  margin: 0;
}

.brand-target-ai-method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.brand-target-ai-method > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(36, 99, 235, .12);
  border-radius: var(--radius-sm);
  background: rgba(237, 244, 255, .55);
}

.brand-target-ai-method strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.55;
}

.brand-target-channel-plan-list {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}

.brand-target-channel-plan {
  overflow: clip;
  border: 1px solid var(--line);
  border-left: 4px solid #7c8da8;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}

.brand-target-channel-plan.risk-critical {
  border-left-color: #dc2626;
}

.brand-target-channel-plan.risk-high {
  border-left-color: #f97316;
}

.brand-target-channel-plan.risk-watch {
  border-left-color: #eab308;
}

.brand-target-channel-plan.risk-success {
  border-left-color: #16a34a;
}

.brand-target-channel-plan > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr);
  gap: 18px;
  align-items: center;
  min-height: 84px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
  transition: background .18s ease;
}

.brand-target-channel-plan > summary::-webkit-details-marker {
  display: none;
}

.brand-target-channel-plan > summary:hover {
  background: rgba(237, 244, 255, .56);
}

.brand-target-channel-plan > summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  color: var(--blue);
  font-size: 22px;
  font-weight: 700;
}

.brand-target-channel-plan[open] > summary::after {
  content: "−";
}

.brand-target-channel-plan > summary {
  position: relative;
  padding-right: 50px;
}

.brand-target-channel-plan-name,
.brand-target-channel-plan-result {
  display: grid;
  gap: 3px;
}

.brand-target-channel-plan-name > span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.brand-target-channel-plan-name > strong {
  color: var(--ink);
  font-size: 18px;
}

.brand-target-channel-plan-name > small,
.brand-target-channel-plan-result > span {
  color: var(--muted);
}

.brand-target-channel-plan-result {
  justify-items: end;
  text-align: right;
}

.brand-target-channel-plan-result > b {
  color: #b42318;
  font-size: 15px;
}

.brand-target-channel-plan.risk-success .brand-target-channel-plan-result > b,
.brand-target-channel-plan.risk-normal .brand-target-channel-plan-result > b {
  color: #137a43;
}

.brand-target-channel-plan-body {
  display: grid;
  gap: 14px;
  padding: 0 18px 18px;
  border-top: 1px solid var(--line);
}

.brand-target-plan-equation {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #142c63, #2459bc);
  color: #fff;
}

.brand-target-plan-equation > span {
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.brand-target-plan-equation > strong {
  font-size: 15px;
  line-height: 1.55;
}

.brand-target-plan-equation > small {
  color: rgba(255, 255, 255, .72);
}

.brand-target-plan-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.brand-target-plan-facts > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border-right: 1px solid var(--line);
}

.brand-target-plan-facts > div:last-child {
  border-right: 0;
}

.brand-target-plan-facts span,
.brand-target-plan-section-title small,
.brand-target-plan-evidence-head small,
.brand-target-plan-table-wrap td small {
  color: var(--muted);
  font-size: 12px;
}

.brand-target-plan-facts strong {
  color: var(--ink);
  font-size: 15px;
}

.brand-target-plan-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}

.brand-target-plan-section-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.brand-target-plan-section-title > div {
  display: flex;
  gap: 9px;
  align-items: center;
}

.brand-target-plan-section-title > div span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
}

.brand-target-plan-section-title strong {
  font-size: 15px;
}

.brand-target-plan-evidence-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.brand-target-plan-evidence-head > span {
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.brand-target-plan-evidence-head .matched {
  background: #e9f8ef;
  color: #137a43;
}

.brand-target-plan-evidence-head .needs-review {
  background: #fff1e7;
  color: #b54708;
}

.brand-target-plan-contribution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.brand-target-plan-contribution-grid > section {
  min-width: 0;
}

.brand-target-plan-contribution-grid h5 {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: 13px;
}

.brand-target-plan-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.brand-target-plan-table-wrap table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: 12px;
}

.brand-target-plan-table-wrap th,
.brand-target-plan-table-wrap td {
  padding: 8px 9px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.brand-target-plan-table-wrap th {
  background: #f7f9fc;
  color: var(--muted);
  font-weight: 800;
}

.brand-target-plan-table-wrap tr:last-child td {
  border-bottom: 0;
}

.brand-target-plan-table-wrap td strong,
.brand-target-plan-table-wrap td small {
  display: block;
}

.brand-target-plan-boundary {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.brand-target-plan-empty {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px dashed #bfcae0;
  border-radius: 10px;
  background: #f8faff;
}

.brand-target-plan-empty span {
  color: var(--muted);
  font-size: 12px;
}

.brand-target-plan-diagnosis-tree {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.brand-target-plan-diagnosis-tree > article {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: #f8faff;
}

.brand-target-plan-diagnosis-tree > article > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  box-shadow: inset 0 0 0 1px rgba(36, 99, 235, .16);
}

.brand-target-plan-diagnosis-tree article p {
  margin: 3px 0 8px;
  color: var(--ink);
}

.brand-target-plan-diagnosis-tree dl,
.brand-target-plan-action-grid dl {
  display: grid;
  gap: 5px;
  margin: 0;
}

.brand-target-plan-diagnosis-tree dl > div {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 6px;
}

.brand-target-plan-diagnosis-tree dt,
.brand-target-plan-action-grid dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.brand-target-plan-diagnosis-tree dd,
.brand-target-plan-action-grid dd {
  margin: 0;
  color: #344054;
  font-size: 12px;
}

.brand-target-plan-hypotheses {
  border-top: 1px dashed var(--line);
}

.brand-target-plan-hypotheses > summary {
  padding: 10px 0 0;
  color: var(--blue);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.brand-target-plan-hypotheses > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.brand-target-plan-hypotheses article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  background: #fffaf2;
}

.brand-target-plan-hypotheses article p {
  margin: 0;
  color: #594214;
  font-size: 12px;
}

.brand-target-plan-hypotheses article small {
  color: #725b2f;
}

.brand-target-plan-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.brand-target-plan-action-grid > section {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 11px;
  border-radius: 10px;
  background: #f8faff;
}

.brand-target-plan-action-grid > section > span {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: #dbe8ff;
  color: #174da5;
  font-size: 11px;
  font-weight: 850;
}

.brand-target-plan-action-grid .action-today > span {
  background: #fee4e2;
  color: #b42318;
}

.brand-target-plan-action-grid .action-this_week > span {
  background: #fff1cc;
  color: #8a5b00;
}

.brand-target-plan-action-grid article {
  display: grid;
  gap: 7px;
}

.brand-target-plan-action-grid article > p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
}

.brand-target-plan-action-grid dl > div {
  display: grid;
  gap: 1px;
  padding-top: 5px;
  border-top: 1px solid rgba(148, 163, 184, .18);
}

.brand-target-plan-risks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: #fbfcfe;
}

.brand-target-plan-risks ul,
.brand-target-ai-drilldown-errors ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #475467;
  font-size: 12px;
}

.brand-target-ai-drilldown-errors {
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff8e8;
  color: #7a4c00;
}

.brand-target-ai-drilldown-errors > summary {
  cursor: pointer;
  font-weight: 800;
}

.target-admin-card {
  border-color: rgba(37, 99, 235, .22);
  background:
    linear-gradient(180deg, rgba(239, 246, 255, .98), rgba(255, 255, 255, .96)),
    #fff;
}

.target-admin-card::before {
  content: "品牌目标管理";
  display: inline-flex;
  width: fit-content;
  margin: 0 0 10px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(37, 99, 235, .10);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}

.brand-target-editor-shell {
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(239, 246, 255, .75), rgba(255, 255, 255, .92));
}

.brand-target-editor-shell summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 800;
}

.brand-target-editor-shell summary small {
  color: var(--muted);
  font-weight: 500;
}

.brand-target-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.brand-target-form input,
.brand-target-form select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.brand-target-remark {
  grid-column: span 2;
}

.brand-target-editor-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 4px;
}

.brand-target-editor-actions .danger-action {
  border-color: rgba(220, 38, 38, .2);
  background: #fff5f5;
  color: #b42318;
}

.brand-target-editor-actions small {
  color: var(--muted);
}

.brand-target-editor-result {
  margin: 0 16px 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  line-height: 1.6;
}

.brand-target-editor-result strong,
.brand-target-editor-result small {
  display: block;
}

.brand-target-editor-result ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.brand-target-editor-result.success {
  border-color: rgba(22, 163, 74, .24);
  background: rgba(240, 253, 244, .86);
  color: #14532d;
}

.brand-target-editor-result.danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(254, 242, 242, .9);
  color: #7f1d1d;
}

.brand-target-batch-shell {
  margin: 0 16px 16px;
  padding: 14px;
  border: 1px dashed rgba(36, 99, 235, .24);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .72);
}

.brand-target-batch-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.brand-target-batch-title strong {
  font-weight: 800;
}

.brand-target-batch-title small {
  color: var(--muted);
}

.brand-target-batch-input {
  width: 100%;
  min-height: 130px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  background: #fff;
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.55;
}

.brand-target-batch-shell .brand-target-editor-actions {
  padding-top: 10px;
}

.brand-target-batch-shell .brand-target-editor-result {
  margin: 12px 0 0;
}

.brand-target-list-shell {
  margin: 0 16px 16px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .88);
}

.brand-target-list-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.brand-target-list-filters input,
.brand-target-list-filters select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.brand-target-list-filters button {
  height: 42px;
  white-space: nowrap;
}

.brand-target-list-meta {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
}

.brand-target-duplicates {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--muted);
  line-height: 1.55;
}

.brand-target-duplicates strong,
.brand-target-duplicates small {
  display: block;
}

.brand-target-duplicates ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.brand-target-duplicates.success {
  border-color: rgba(22, 163, 74, .22);
  background: rgba(240, 253, 244, .88);
  color: #14532d;
}

.brand-target-duplicates.danger {
  border-color: rgba(220, 38, 38, .26);
  background: rgba(254, 242, 242, .92);
  color: #7f1d1d;
}

.target-list-table-scroll {
  max-height: 420px;
}

.target-list-table th,
.target-list-table td {
  min-width: 145px;
  vertical-align: top;
}

.target-list-table th:nth-child(2),
.target-list-table td:nth-child(2) {
  min-width: 260px;
}

.status-list {
  display: grid;
  gap: 8px;
}

.status-item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  background: var(--card-soft);
  font-size: 13px;
}

.ok {
  color: var(--green);
}

.fail {
  color: var(--red);
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
}

.badge.danger {
  background: var(--red-soft);
  color: var(--red);
}

.badge.warning {
  background: var(--orange-soft);
  color: var(--orange);
}

.badge.watch {
  background: #fff8dc;
  color: #946200;
}

.badge.success {
  background: #dcfce7;
  color: #166534;
}

.temp-badge {
  display: inline-block;
  min-width: 56px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.temp-hot {
  background: var(--green-soft);
  color: #087a4a;
}

.temp-warm {
  background: var(--blue-soft);
  color: var(--blue);
}

.temp-cool {
  background: var(--orange-soft);
  color: #936400;
}

.temp-cold {
  background: var(--red-soft);
  color: var(--red);
}

.task-actions {
  min-width: 108px;
}

#taskRows tr.is-task-target > td {
  background: #eff6ff;
  box-shadow: inset 0 1px 0 rgba(37, 99, 235, .22), inset 0 -1px 0 rgba(37, 99, 235, .22);
}

.mini-button {
  height: 30px;
  margin: 0 6px 6px 0;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
}

.mini-button.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.mini-button:disabled {
  cursor: wait;
  opacity: 0.6;
}

.muted {
  color: var(--muted);
}

small {
  color: var(--muted);
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  min-width: 760px;
  table-layout: auto;
  white-space: normal;
  scrollbar-width: thin;
}

.table-scroll {
  position: relative;
  max-width: 100%;
  max-height: 430px;
  margin-top: 10px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-inner);
  scrollbar-width: thin;
  scrollbar-color: #b8c6dc #eef3fb;
}

.card.wide .table-scroll {
  max-height: 560px;
}

#tasks .table-scroll {
  max-height: 660px;
}

#ad-profit .table-scroll,
#supply .table-scroll,
#product .table-scroll,
#customer .table-scroll {
  max-height: 520px;
}

.table-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.table-scroll::-webkit-scrollbar-track {
  background: #eef3fb;
  border-radius: 999px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: #b8c6dc;
  border: 2px solid #eef3fb;
  border-radius: 999px;
}

.table-scroll::-webkit-scrollbar-thumb:hover {
  background: #8ea2c0;
}

.table-scroll::after {
  content: "滚动查看更多";
  position: sticky;
  right: 8px;
  bottom: 8px;
  float: right;
  display: inline-flex;
  margin: 0 8px 8px 0;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(24, 32, 51, .72);
  color: #fff;
  font-size: 11px;
  pointer-events: none;
}

th, td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

td {
  white-space: normal;
  min-width: 118px;
  max-width: 360px;
  overflow-wrap: anywhere;
}

th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(248, 250, 252, .98);
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 1px 0 var(--line);
}

tbody tr {
  transition: background .15s ease;
}

tbody tr:hover {
  background: #f8fbff;
}

.notes {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.8;
}

@media (max-width: 1100px) {
  :root {
    --space-page: 20px;
  }

  main {
    grid-template-columns: 1fr;
  }

  .dashboard-content {
    grid-column: 1;
  }

  .section-nav {
    grid-column: 1;
    grid-row: auto;
    top: 88px;
    min-height: auto;
    flex-direction: row;
    flex-wrap: wrap;
    background: rgba(255, 255, 255, .94);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
  }

  .section-nav-title,
  .section-nav-note,
  .section-nav-scope,
  .section-nav-group,
  .section-nav button small {
    display: none;
  }

  .section-nav-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .section-nav button {
    width: auto;
    color: var(--ink);
    border-radius: 999px;
  }

  .section-nav button:hover,
  .section-nav button.active {
    background: var(--blue-soft);
    color: var(--blue);
  }

  .section-nav button.active {
    border-color: rgba(36, 99, 235, .22);
    box-shadow: inset 0 0 0 1px rgba(36, 99, 235, .08);
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .global-app-launcher {
    align-self: flex-start;
  }

  .role-focus {
    grid-template-columns: minmax(0, 1fr);
  }

  .brand-target-analysis-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-target-analysis-summary.with-sales-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-target-drilldown-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-target-drilldown-grid {
    grid-template-columns: 1fr;
  }

  .brand-target-analysis-toolbar,
  .brand-target-analysis-headline,
  .brand-target-drilldown-head,
  .brand-target-recommendation-head,
  .brand-target-task-draft-head {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-target-analysis-actions {
    justify-content: flex-start;
  }

  .shop-command-decision {
    grid-template-columns: 1fr;
  }

  .shop-command-kpis,
  .shop-command-center .shop-drill-links,
  .shop-workspace-nav .shop-drill-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-domain-overview-grid,
  .shop-command-actions .store-ai-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-scope-bar,
  .role-view-bar {
    top: 56px;
    align-items: stretch;
    flex-direction: column;
  }

  .account-scope-controls,
  .account-login-form,
  .account-session-actions,
  .account-password-change-form,
  .role-view-actions {
    justify-content: flex-start;
  }

  .account-scope-controls select,
  .account-login-form input,
  .account-password-change-form input {
    min-width: 100%;
    width: 100%;
  }

  #accountLoginStatus {
    text-align: left;
  }

  .legacy-account-scope {
    text-align: left;
  }

  .filters {
    max-width: none;
  }

  .card {
    padding: 16px;
  }

  .grid,
  .three,
  .kpi-grid,
  .roadmap-grid,
  .ad-report-grid,
  .shop-ops-grid,
  .shop-ops-grid.two,
  .shop-ops-grid.three,
  .shop-last-action-result,
  .shop-deep-grid,
  .ops-shop-focus-list,
  .ops-action-grid,
  .procurement-exec-grid,
  #procurementCockpitSummary,
  .command-center-grid,
  .home-command-hero,
  .home-decision-grid,
  .home-gateway-grid,
  .home-trust-grid,
  .collection-chain-summary,
  .home-task-list,
  .split-grid,
  .role-workbench-grid,
  .role-page-shell,
  .role-assertion-strip,
  .ai-copilot-grid,
  .ai-quality-kpis,
  .ai-quality-layout,
  .ops-perspective-grid,
  .role-priority-layout,
  .role-signal-strip,
  .role-secondary-grid,
  .role-page-insights,
  .store-ai-hero,
  .store-ai-evidence-grid,
  .store-ai-action-grid,
  .diagnosis-kpis,
  .pdd-ops-summary,
  .pdd-ops-actions,
  .context-strip-grid,
  .shop-urgent-grid,
  .shop-module-health-grid,
  .shop-workspace-nav .shop-drill-links,
  .sku-drawer-grid,
  .task-focus-grid,
  .opportunity-summary,
  .launch-center-grid,
  .launch-phases,
  .launch-gates,
  .food-radar-gaps {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-shop-risk-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .home-shop-risk-row > div:nth-of-type(2),
  .home-shop-risk-row > em {
    grid-column: 2;
  }

  .home-shop-risk-row small,
  .home-shop-risk-row strong {
    white-space: normal;
  }

  .shop-collection-health {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .home-trust-actions > small {
    width: 100%;
    margin-left: 0;
  }

  main,
  main > *,
  .grid,
  .grid > *,
  .card,
  .card > *,
  .split-grid,
  .split-grid > *,
  .table-scroll {
    min-width: 0;
    max-width: 100%;
  }

  .role-page-actions {
    grid-template-columns: 1fr;
  }

  .ai-quality-heading,
  .ai-quality-section-title {
    align-items: stretch;
    flex-direction: column;
  }

  .ai-quality-controls {
    justify-content: flex-start;
  }

  .ai-quality-kpis {
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-deep-card.primary {
    grid-column: auto;
  }

  .shop-deep-card.action-critical {
    grid-column: auto;
  }

  .shop-deep-card.action-warning {
    grid-column: auto;
  }

  .platform-process-card {
    grid-column: auto;
  }

  .tmall-platform-panel {
    grid-column: auto;
  }

  .platform-process-card .shop-mini-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .platform-process-submetrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-signal-columns {
    grid-template-columns: 1fr;
  }

  .role-page-hero,
  .role-page-metrics,
  .role-page-actions,
  .role-page-flow,
  .role-assertion-strip,
  .ai-copilot-panel,
  .ops-perspective-panel,
  .role-page-task-snapshot,
  .role-quality-radar,
  .role-priority-layout,
  .role-signal-strip,
  .role-secondary-panel,
  .role-page-insights {
    grid-column: 1 / -1;
  }

  .role-quality-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  table {
    min-width: 720px;
  }

  .table-scroll,
  .card.wide .table-scroll,
  #tasks .table-scroll {
    max-height: 520px;
  }

  td {
    white-space: normal;
    min-width: 120px;
  }
}

@media (max-width: 720px) {
  :root {
    --space-page: 14px;
  }

  .ai-workspace-hero {
    flex-direction: column;
    padding: 22px 18px;
    border-radius: 22px;
  }

  .ai-workspace-back {
    width: 100%;
    min-height: 48px;
  }

  .ai-workspace-scope {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-workspace-scope > div,
  .ai-workspace-scope > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .ai-workspace-scope > div:last-child {
    border-bottom: 0;
  }

  .ai-workspace-shell .ai-copilot-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-workspace-shell .ai-question-card {
    position: static;
  }

  .ai-workspace-shell .ai-question-actions button,
  .ai-workspace-shell .ai-suggested-questions button {
    min-height: 44px;
  }

  .store-ai-evidence-grid,
  .store-ai-action-grid,
  .shop-urgent-grid,
  .shop-module-health-grid,
  .ops-action-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(15.5rem, 84%);
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 2px 10px;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  .store-ai-evidence-card,
  .store-ai-action-card,
  .shop-urgent-card,
  .shop-module-health-card,
  .ops-action-card {
    min-width: 0;
    scroll-snap-align: start;
  }

  .store-ai-evidence-grid::-webkit-scrollbar,
  .store-ai-action-grid::-webkit-scrollbar,
  .shop-urgent-grid::-webkit-scrollbar,
  .shop-module-health-grid::-webkit-scrollbar,
  .ops-action-grid::-webkit-scrollbar,
  .shop-workspace-nav .shop-drill-links::-webkit-scrollbar,
  .shop-drill-links::-webkit-scrollbar {
    height: 5px;
  }

  .store-ai-evidence-grid::-webkit-scrollbar-thumb,
  .store-ai-action-grid::-webkit-scrollbar-thumb,
  .shop-urgent-grid::-webkit-scrollbar-thumb,
  .shop-module-health-grid::-webkit-scrollbar-thumb,
  .ops-action-grid::-webkit-scrollbar-thumb,
  .shop-workspace-nav .shop-drill-links::-webkit-scrollbar-thumb,
  .shop-drill-links::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(100, 116, 139, .32);
  }

  .shop-workspace-nav .shop-drill-links {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(9.5rem, 68%);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 8px;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  .shop-workspace-nav .shop-drill-links a {
    min-height: 4.25rem;
    scroll-snap-align: start;
  }

  .shop-drill-nav > div:first-child,
  .shop-module-health-head,
  .shop-urgent-head,
  .shop-ops-head {
    align-items: stretch;
    flex-direction: column;
  }

  .shop-drill-links {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 8px;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  .shop-drill-links a {
    flex: 0 0 68%;
    min-height: 4rem;
    scroll-snap-align: start;
  }

.shop-ops-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-ops-grid.three {
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-module-health-card {
    min-height: 10rem;
  }

  .account-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 18px;
  }

  .account-dialog-heading,
  .account-access-request-form,
  .account-application-guide,
  .account-application-list {
    padding-left: 16px;
    padding-right: 16px;
  }

  .account-application-guide {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 16px 16px 0;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .account-access-request-form,
  .account-app-choice,
  .account-application-card,
  .account-request-admin-card {
    grid-template-columns: 1fr;
  }

  .account-application-card {
    gap: 18px;
  }

  .account-application-card-side {
    padding-top: 16px;
    padding-left: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .account-application-meta {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .account-application-recommended {
    display: none;
  }

  .application-guide-outcome,
  .application-guide-first-step,
  .application-guide-modules {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .account-dialog-actions,
  .account-request-admin-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .account-dialog-actions button,
  .account-dialog-actions a,
  .account-application-card a,
  .account-application-card button,
  .account-request-admin-actions button {
    width: 100%;
  }

  .account-access-request-admin {
    margin-right: 16px;
    margin-left: 16px;
  }

  .account-application-dialog > .account-dialog-actions {
    padding-right: 16px;
    padding-left: 16px;
  }

  .topbar {
    position: static;
    min-height: auto;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .global-app-launcher {
    width: 100%;
  }

  .filters,
  .inline-filters,
  .task-focus-head,
  .card-title {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-target-analysis-toolbar select {
    width: 100%;
    min-width: 0;
  }

  .brand-target-analysis-actions,
  .brand-target-analysis-actions button {
    width: 100%;
  }

  .brand-target-analysis-summary,
  .brand-target-drilldown-summary,
  .brand-target-channel-advice,
  .brand-target-task-draft-grid,
  .brand-target-ai-answer-title {
    grid-template-columns: 1fr;
  }

  .brand-target-analysis-summary.with-sales-progress {
    grid-template-columns: 1fr;
  }

  .brand-target-draft-actions {
    align-items: stretch;
    justify-content: flex-start;
    text-align: left;
  }

  .brand-target-task-draft-head small {
    text-align: left;
  }

  .brand-target-drilldown {
    padding: 12px;
  }

  .brand-target-subsection-title {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-target-workspace-tabs,
  .brand-target-entry-grid {
    grid-template-columns: 1fr;
  }

  .brand-target-advice-card dl > div {
    grid-template-columns: 1fr;
  }

  .platform-process-head {
    align-items: stretch;
    flex-direction: column;
  }

  .tmall-platform-head {
    align-items: stretch;
    flex-direction: column;
  }

  .tmall-platform-head > span {
    align-self: flex-start;
  }

  .tmall-core-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .platform-process-card .shop-mini-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .platform-process-submetrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .platform-process-card summary {
    min-height: 44px;
  }

  .filters input,
  #foodOpportunityFilters input,
  .inline-filters select,
  .inline-filters button,
  button {
    width: 100%;
    min-width: 0;
  }

  .food-opportunity-compose > summary {
    align-items: flex-start;
    flex-direction: column;
    min-height: 88px;
  }

  .opportunity-tabs,
  .food-opportunity-form-grid,
  .food-opportunity-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .food-opportunity-evidence[open],
  .food-opportunity-form-panel[open],
  .food-opportunity-form label:has(textarea),
  .food-opportunity-form > button {
    grid-column: 1;
  }

  .food-opportunity-form {
    padding: 16px;
  }

  .food-opportunity-form > button {
    justify-self: stretch;
  }

  .section-nav {
    position: static;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 8px;
  }

  .section-nav-items {
    width: auto;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .section-nav a,
  .section-nav button,
  .section-nav button span {
    width: auto;
    min-width: max-content;
    min-height: 44px;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .geo-hero::after {
    font-size: 58px;
  }

  .geo-hero h2 {
    font-size: 22px;
  }

  .geo-toolbar,
  .geo-action-item {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .geo-toolbar {
    display: grid;
  }

  .geo-toolbar label,
  .geo-toolbar select,
  .geo-toolbar button {
    width: 100%;
  }

  .geo-kpi-grid {
    grid-template-columns: 1fr;
  }

  .geo-kpi {
    min-height: 96px;
  }

  .geo-action-item p {
    grid-column: 1;
  }
}

@media (max-width: 980px) {
  .brand-target-ai-method,
  .brand-target-plan-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .brand-target-plan-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .brand-target-plan-facts > div:nth-child(3) {
    border-right: 0;
  }

  .brand-target-plan-facts > div:nth-child(-n+3) {
    border-bottom: 1px solid var(--line);
  }

  .brand-target-plan-contribution-grid,
  .brand-target-plan-diagnosis-tree,
  .brand-target-plan-hypotheses > div {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  .brand-target-ai-executive,
  .brand-target-ai-answer-title,
  .brand-target-channel-plan > summary,
  .brand-target-plan-risks {
    grid-template-columns: minmax(0, 1fr);
  }

  .role-page-hero {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    padding: 16px;
  }

  .role-truth-badges,
  .role-truth-badges > div {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .brand-target-channel-plan-result {
    justify-items: start;
    text-align: left;
  }

  .brand-target-plan-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-target-plan-facts > div,
  .brand-target-plan-facts > div:nth-child(3) {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .brand-target-plan-facts > div:nth-child(even) {
    border-right: 0;
  }

  .brand-target-plan-facts > div:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .brand-target-plan-section-title,
  .brand-target-plan-evidence-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-target-channel-plan-body,
  .brand-target-channel-plan > summary {
    padding-left: 12px;
    padding-right: 12px;
  }

  .brand-target-plan-section {
    padding: 12px;
  }
}
.ai-direct-answer,
.ai-recommendation-list,
.ai-type-analysis {
  margin: 16px 0;
  padding: 18px;
  border: 1px solid #cfe0ff;
  border-radius: 18px;
  background: linear-gradient(135deg, #f4f8ff 0%, #fff 58%, #f3fbf8 100%);
}

.ai-direct-answer > span {
  display: inline-flex;
  margin-right: 10px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e4edff;
  color: #2454cc;
  font-size: 12px;
  font-weight: 700;
}

.ai-direct-answer > strong,
.ai-recommendation-list > strong,
.ai-type-analysis > strong {
  color: #13213a;
}

.ai-direct-answer > p {
  margin: 12px 0 0;
  color: #18233a;
  font-size: clamp(17px, 1.45vw, 22px);
  font-weight: 700;
  line-height: 1.65;
}

.ai-recommendation-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.ai-recommendation-list > strong {
  grid-column: 1 / -1;
}

.ai-recommendation-list article {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid #dbe5f6;
  border-radius: 14px;
  background: #fff;
}

.ai-recommendation-list article.is-primary {
  border-color: #6f91f4;
  box-shadow: 0 10px 28px rgba(64, 101, 206, 0.11);
}

.ai-recommendation-list article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ai-recommendation-list article span {
  color: #3161d9;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.ai-recommendation-list article p,
.ai-type-analysis p {
  margin: 0;
  line-height: 1.6;
}

.ai-recommendation-list article small,
.ai-type-analysis small {
  display: block;
  color: #66748d;
  line-height: 1.55;
}

.ai-recommendation-list article em {
  color: #7b879d;
  font-size: 11px;
  font-style: normal;
}
/* Governed /all route: capability index only, never a second dashboard. */
.system-module-index {
  grid-column: 1 / -1;
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid rgba(42, 82, 160, 0.16);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(247, 250, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 48px rgba(39, 64, 112, 0.09);
}

.system-module-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 20px;
  align-items: end;
}

.system-module-index-hero h2 {
  margin: 6px 0 8px;
  color: #16223a;
  font-size: clamp(26px, 3vw, 38px);
}

.system-module-index-hero p,
.system-module-index-boundary {
  margin: 0;
  color: #66728a;
  line-height: 1.65;
}

.system-module-index-count {
  display: grid;
  gap: 3px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #183a78;
  color: #fff;
}

.system-module-index-count strong {
  font-size: 30px;
}

.system-module-index-count span,
.system-module-index-count small {
  color: rgba(255, 255, 255, 0.78);
}

.system-module-index-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(170px, 0.7fr)) minmax(260px, 1.4fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid #e2e8f3;
  border-radius: 18px;
  background: #fff;
}

.system-module-index-controls label {
  display: grid;
  gap: 7px;
  color: #526079;
  font-size: 13px;
  font-weight: 700;
}

.system-module-index-controls select,
.system-module-index-controls input {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #ccd6e8;
  border-radius: 11px;
  background: #fff;
  color: #17233b;
  font: inherit;
}

.system-module-index-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.system-module-index-group {
  align-self: start;
  overflow: hidden;
  border: 1px solid #dfe6f2;
  border-radius: 16px;
  background: #fff;
}

.system-module-index-group[hidden],
.system-module-index-table > div[hidden] {
  display: none;
}

.system-module-index-group summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding: 15px 16px;
  cursor: pointer;
  list-style: none;
}

.system-module-index-group summary::-webkit-details-marker {
  display: none;
}

.system-module-index-group summary span {
  color: #1b2942;
  font-weight: 800;
}

.system-module-index-group summary strong {
  color: #2858aa;
  font-size: 13px;
}

.system-module-index-group summary small {
  grid-column: 1 / -1;
  color: #7b879d;
}

.system-module-index-group[open] summary {
  border-bottom: 1px solid #e8edf5;
  background: #f7f9fd;
}

.system-module-index-table {
  display: grid;
}

.system-module-index-table > div {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(150px, 0.8fr) minmax(220px, 1.3fr) auto;
  gap: 10px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid #edf1f7;
}

.system-module-index-table > div:last-child {
  border-bottom: 0;
}

.system-module-index-table strong {
  color: #1d2b44;
  font-size: 14px;
}

.system-module-index-table span,
.system-module-index-table small {
  color: #758198;
  line-height: 1.45;
}

.system-module-index-table a {
  padding: 7px 10px;
  border-radius: 9px;
  background: #eaf1ff;
  color: #2457ad;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.card-title {
  margin: 0;
  color: #1c2940;
  font-size: 18px;
}

@media (max-width: 900px) {
  .ad-profit-dimension-tabs {
    display: flex;
    width: 100%;
  }

  .ad-profit-dimension-tabs button {
    flex: 1 0 auto;
  }

  .dimension-panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .system-module-index-hero,
  .system-module-index-controls,
  .system-module-index-groups {
    grid-template-columns: 1fr;
  }

  .system-module-index-table > div {
    grid-template-columns: 1fr;
  }

  .system-module-index-table a {
    justify-self: start;
  }
}

/* ============================================================================
   角色页视觉整改 · 2026-09-04
   原为老板页试点（2026-08-19），本次按「不删功能、只改位置与重复」推广。

   分三档作用域，不是简单去掉前缀：
     A 通用      —— 配色收敛、说明块压缩、判断卡层级：四个角色页一致
     B boss+finance —— 核心信号提到判断卡之前并升为 L1
     C boss 专属  —— 仅老板页存在的元素

   2026-09-04：ops / procurement 已纳入 B 档。此前不纳入是因为它们的核心信号
   第一张卡是「运营未闭环 / 采购未闭环」，与判断卡的「今日应处理 N 条」是同一
   指标的两个口径，提上去放大到 32px 会让矛盾更醒目（F11 修掉的问题在核心信号
   位置复发）。已先把 roleMetricCards 的这两组换成非任务类指标：
     ops         需关注店铺 / 利润为负店铺 / 数据状态
     procurement 紧急补货 / 临期紧急 / 数据状态
   ⚠️ 若将来有人把任务类指标改回核心信号，必须同时把该页移出 B 档，
   否则矛盾会以更大字号重现。背景见 docs/198「专条：老板页视觉整改」与 F11。
   ============================================================================ */

/* ── A 通用：配色收敛 ─────────────────────────────────────────────────
   改前四个角色页首屏同时存在深蓝 AI brief、粉底判断卡、浅蓝待办摘要、
   白底信号卡、绿色大字，五种背景平铺，每块都在喊「看我」，结果没有重点。
   保留红/橙=需行动、绿=正常、灰=未就绪（由 .danger/.warning/.muted 承担），
   其余一律白底 + 细边框。 */
.role-decision-brief {
  color: inherit;
  background: #fff;
  border-color: var(--line);
  box-shadow: none;
}
.role-decision-brief * { color: inherit; }
.role-page-task-snapshot,
.role-page-insights {
  background: #fff;
  box-shadow: none;
}
.role-signal-strip {
  background: #fff;
  box-shadow: none;
}

/* ── A 通用：说明块压缩 ───────────────────────────────────────────────
   .role-focus 与 .role-page-hero 两块原本占 428px 且不含任何业务数字，
   用户要滚过近一屏说明才看到第一个数。Tab 按钮与「问 AI」按钮保留，
   说明文字与口径提示收起。

   ⚠️ 不要用「改成单列」来压缩 —— .role-focus 原本是 3 列并排，压成单列
   会让三项竖排，实测反而从 146px 变高到 195px（2026-08-19 踩过）。
   正确做法是隐藏说明性子元素，只留功能控件。 */
.role-focus {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: -8px 0 10px;
  padding: 6px 12px;
  background: #fff;
  border-color: var(--line);
}
.role-focus > div:first-child,
.role-focus > small { display: none; }

.role-page-hero {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  padding: 8px 14px;
  background: #fff;
}
.role-hero-copy {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.role-hero-copy > p,
.role-hero-copy > small,
.role-hero-copy > .role-focus-kicker,
.role-hero-copy > h2 { display: none; }
.role-hero-primary-actions { margin: 0; }
.role-truth-boundary { font-size: 12px; }
.role-truth-boundary:not([open]) > summary { padding: 4px 0; }

/* ── A 通用：三级视觉层级 ─────────────────────────────────────────────
   L1 主判断：大字号、无背景色、加粗，每页 ≤3 个
   L2 佐证数据：中等字号、白底细边框、常规字重
   L3 说明/口径：小字号、灰色
   改前三级用了相近的字号与字重，读者无法判断哪个是主、哪个是佐证。 */
.role-signal-strip .metric-tile {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 10px 14px;
}
.role-signal-strip .metric-tile span { font-size: 13px; }
.role-signal-strip .metric-tile small {
  font-size: 12px;
  color: var(--muted);
}
/* L2：判断卡 —— 佐证层，字号明显低于 L1 */
.role-assertion-card strong { font-size: 20px; }
.role-assertion-card small {
  font-size: 12px;
  color: var(--muted);
}

/* ── B 四个角色页：核心信号提到判断卡之前并升为 L1 ────────────────────
   逻辑顺序应为「发生了什么 → 有什么风险 → 要做什么」。
   改前是「先看风险 → 滚一屏半才看到经营数字」，顺序反了。

   用 CSS order 而非改 role-workspace.js 模板，是因为模板为四个角色页共用，
   而本档只适用于两个页面。父容器 .role-page-shell 是 grid，直接子元素支持 order。

   ⚠️ 已知取舍：视觉顺序与 DOM 顺序不再一致，屏幕阅读器和键盘 Tab 仍按 DOM
   顺序（判断卡在前、核心信号在后）。这是刻意接受的代价——内部经营看板、
   使用者固定、视觉顺序优先。若将来对外或需无障碍达标，应改为调整模板顺序，
   届时删除本段 order 规则即可。 */
body[data-page-view="boss"] .role-page-hero,
body[data-page-view="ops"] .role-page-hero,
body[data-page-view="procurement"] .role-page-hero,
body[data-page-view="finance"] .role-page-hero {{ order: 1; }}
body[data-page-view="boss"] .role-signal-strip,
body[data-page-view="ops"] .role-signal-strip,
body[data-page-view="procurement"] .role-signal-strip,
body[data-page-view="finance"] .role-signal-strip {{ order: 2; }}
body[data-page-view="boss"] .role-primary-judgement,
body[data-page-view="ops"] .role-primary-judgement,
body[data-page-view="procurement"] .role-primary-judgement,
body[data-page-view="finance"] .role-primary-judgement {{ order: 3; }}
body[data-page-view="boss"] .role-priority-layout,
body[data-page-view="ops"] .role-priority-layout,
body[data-page-view="procurement"] .role-priority-layout,
body[data-page-view="finance"] .role-priority-layout {{ order: 4; }}
body[data-page-view="boss"] .role-secondary-panel,
body[data-page-view="ops"] .role-secondary-panel,
body[data-page-view="procurement"] .role-secondary-panel,
body[data-page-view="finance"] .role-secondary-panel {{ order: 5; }}

body[data-page-view="boss"] .role-signal-strip .metric-tile strong,
body[data-page-view="ops"] .role-signal-strip .metric-tile strong,
body[data-page-view="procurement"] .role-signal-strip .metric-tile strong,
body[data-page-view="finance"] .role-signal-strip .metric-tile strong {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
}
body[data-page-view="boss"] .role-signal-strip,
body[data-page-view="ops"] .role-signal-strip,
body[data-page-view="procurement"] .role-signal-strip,
body[data-page-view="finance"] .role-signal-strip {
  grid-template-columns: minmax(150px, .8fr) repeat(3, minmax(0, 1fr));
  align-items: center;
  padding: 8px 12px;
}
body[data-page-view="boss"] .role-signal-strip .role-block-title,
body[data-page-view="ops"] .role-signal-strip .role-block-title,
body[data-page-view="procurement"] .role-signal-strip .role-block-title,
body[data-page-view="finance"] .role-signal-strip .role-block-title {
  grid-column: auto;
  margin: 0;
  padding-right: 12px;
  border-right: 1px solid var(--line);
}
body[data-page-view="boss"] .role-signal-strip .role-block-title strong,
body[data-page-view="ops"] .role-signal-strip .role-block-title strong,
body[data-page-view="procurement"] .role-signal-strip .role-block-title strong,
body[data-page-view="finance"] .role-signal-strip .role-block-title strong { font-size: 14px; }
body[data-page-view="boss"] .role-signal-strip .role-block-title small,
body[data-page-view="ops"] .role-signal-strip .role-block-title small,
body[data-page-view="procurement"] .role-signal-strip .role-block-title small,
body[data-page-view="finance"] .role-signal-strip .role-block-title small {
  font-size: 11px;
  color: var(--muted);
}

/* ── C boss 专属：消重 ────────────────────────────────────────────────
   ¥71,966 已确认销售额原在老板页出现 3 次（18px/32px/26px 全 700 粗体）。
   L1 由核心信号持有，其余位置降为 L3。#commandCenter 仅老板页存在。 */
body[data-page-view="boss"] #commandCenter .metric-tile strong,
body[data-page-view="boss"] .role-page-task-snapshot .metric-tile strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--muted);
}

/* ── 二级区块折叠（route-fold）· 2026-09-04 ───────────────────────────
   25 个 legacy 区块由 <section> 改为 <details>，首屏之外默认折叠。
   ⚠️ 只改容器不删内容：展开后与改造前完全一致，/all 索引扫的是 h2，
   折叠状态不影响 querySelectorAll，索引照常完整。
   开合规则见 app.js syncRouteSectionMounts：含 rolePage 的角色页折叠，
   /tasks /geo /opportunity /system 这类专题页保持展开（区块就是页面主体）。 */
details.route-fold > summary.route-fold-summary {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  margin: 0;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  border-radius: var(--radius-md);
  background: #fff;
  border: 1px solid var(--line);
}
details.route-fold > summary.route-fold-summary::-webkit-details-marker { display: none; }
details.route-fold > summary.route-fold-summary::before {
  content: '▸';
  font-size: 11px;
  color: var(--muted);
  transition: transform .15s ease;
}
details.route-fold[open] > summary.route-fold-summary::before { transform: rotate(90deg); }
details.route-fold[open] > summary.route-fold-summary {
  color: inherit;
  margin-bottom: 4px;
}
details.route-fold:not([open]) {
  display: block;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  margin-bottom: 8px;
}

/* 判断卡在「本岗位不适用」时由三卡变两卡，不留空位（C 项 · 2026-09-04）。
   ops / procurement 无权访问 /api/data-freshness，「数据能否进会」对这两个岗位
   没有意义，与其显示一张灰卡占位，不如收掉。boss / finance 有权限，仍是三卡。 */
.role-assertion-strip.is-two-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
