:root {
  --navy: #061f4f;
  --navy-2: #0b2f6b;
  --blue: #1769ff;
  --blue-2: #0ea5e9;
  --green: #28b46f;
  --orange: #f59e0b;
  --red: #ef4444;
  --violet: #7c3aed;
  --ink: #12224a;
  --muted: #657395;
  --line: #dce5f5;
  --soft: #f5f8fd;
  --card: #ffffff;
  --shadow: 0 10px 28px rgba(10, 35, 80, 0.08);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

html.sandbox-env body::after {
  content: "沙箱环境 · 3天自动清理";
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.86);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.22);
  pointer-events: none;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  color: var(--ink);
  background: #f4f7fc;
}

body.auth-locked {
  overflow: hidden;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 280px 1fr;
}

.auth-locked .app-shell {
  filter: blur(8px);
  pointer-events: none;
  user-select: none;
}

.login-screen {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  background:
    radial-gradient(circle at 18% 18%, rgba(23, 105, 255, 0.18), transparent 32%),
    linear-gradient(135deg, #061f4f 0%, #0a3475 50%, #f4f7fc 50%);
}

body:not(.auth-locked) .login-screen {
  display: none;
}

body.cockpit-standalone .app-shell {
  grid-template-columns: minmax(0, 1fr);
}

body.cockpit-standalone .sidebar,
body.cockpit-standalone #menuToggle,
body.cockpit-standalone #managementCockpit [data-page="admin"] {
  display: none !important;
}

body.cockpit-standalone .topbar {
  grid-template-columns: minmax(0, 1fr) auto;
}

body.cockpit-standalone .topbar::before {
  content: "新壹智 · 管理驾驶舱";
  color: #123b78;
  font-size: 18px;
  font-weight: 850;
}

body.cockpit-standalone #managementCockpit {
  width: min(1600px, 100%);
  margin: 0 auto;
}

.cockpit-access-denied {
  max-width: 620px;
  margin: 12vh auto 0;
  padding: 44px;
  border: 1px solid #dce5f4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(32, 61, 111, 0.12);
  text-align: center;
}

.cockpit-access-denied span { color: #e4751b; font-weight: 800; }
.cockpit-access-denied h1 { margin: 12px 0; color: #17396d; }
.cockpit-access-denied p { margin: 0; color: #65738b; line-height: 1.75; }

.login-bg {
  color: white;
  padding: 48px;
  display: grid;
  align-content: space-between;
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.login-mark {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 14px;
  background:
    linear-gradient(135deg, transparent 27%, rgba(255,255,255,.98) 28% 43%, transparent 44%),
    linear-gradient(135deg, #2a7cff 0%, #05baff 100%);
  box-shadow: 0 18px 40px rgba(0, 24, 70, .28);
}

.login-brand-text {
  display: grid;
  gap: 8px;
  justify-items: start;
}

.login-brand strong {
  display: block;
  color: #fff;
  font-size: clamp(22px, 2.25vw, 31px);
  line-height: 1.05;
  letter-spacing: 0;
  padding: 3px 8px 5px;
  background: rgba(255, 255, 255, .28);
  text-shadow: 0 10px 24px rgba(0, 22, 66, .24);
}

.login-brand span {
  display: block;
  color: rgba(255,255,255,.82);
  font-size: clamp(17px, 1.75vw, 24px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0;
}

.login-copy {
  max-width: 720px;
  padding-bottom: 9vh;
}

.login-copy h1 {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.08;
  letter-spacing: 0;
}

.login-copy h1 span {
  display: block;
}

.login-copy p {
  margin: 0;
  max-width: 620px;
  color: rgba(255,255,255,.76);
  font-size: 18px;
  line-height: 1.8;
}

.login-card {
  align-self: center;
  justify-self: center;
  width: min(360px, calc(100% - 44px));
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 26px 70px rgba(9, 31, 76, .22);
  padding: 28px;
}

.login-card h2 {
  margin: 0 0 22px;
  font-size: 24px;
  text-align: center;
}

.login-mode-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 4px;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #f7f9fd;
}

.login-mode-tabs button {
  height: 36px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  cursor: pointer;
}

.login-mode-tabs button.active {
  background: #fff;
  color: var(--blue);
  box-shadow: 0 5px 16px rgba(9, 31, 76, .08);
}

.login-mode-panel {
  display: none;
}

.login-mode-panel.active {
  display: block;
}

.ding-qr-box {
  position: relative;
  width: 276px;
  max-width: 100%;
  height: 276px;
  margin: 0 auto 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7f9fd;
  overflow: visible;
}

.ding-qr-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  transition: opacity .18s ease;
}

.ding-qr-frame {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 1;
  overflow: visible;
}

.ding-qr-frame > div {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: visible;
}

.ding-qr-frame iframe {
  width: 260px !important;
  height: 260px !important;
  border: 0 !important;
  transform: none;
}

.ding-qr-svg,
.ding-qr-box img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 14px;
  background: #fff;
  opacity: 1;
  transition: opacity .18s ease;
}

.ding-qr-svg {
  display: grid;
  place-items: center;
}

.ding-qr-svg svg {
  width: min(100%, 260px);
  height: min(100%, 260px);
  display: block;
}

.ding-qr-box img {
  display: block;
  object-fit: contain;
}

.ding-qr-box.is-loaded iframe,
.ding-qr-box.is-loaded .ding-qr-frame,
.ding-qr-box.is-loaded .ding-qr-svg,
.ding-qr-box.is-loaded img {
  opacity: 1;
}

.ding-qr-loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 14px;
}

.ding-qr-box.is-loaded .ding-qr-loading {
  display: none;
}

.login-card label {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  color: #34405d;
  font-size: 14px;
}

.login-card input {
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  outline: 0;
}

.login-card input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(23, 105, 255, .12);
}

.login-error {
  min-height: 20px;
  color: var(--red);
  margin: 0 0 10px;
  font-size: 13px;
}

.login-error:empty {
  display: none;
}

.login-submit {
  width: 100%;
  height: 44px;
}

.test-login {
  margin-top: 6px;
}

.test-account-picks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.test-account-picks button {
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fd;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}

.test-account-picks button.active,
.test-account-picks button:hover {
  border-color: var(--blue);
  background: rgba(23, 105, 255, .08);
  color: var(--blue);
}

.ding-login-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-bottom: 10px;
}

.ding-login-link[hidden] {
  display: none;
}

.login-users {
  display: none;
}

.login-users strong {
  color: var(--ink);
  font-size: 13px;
}

.login-divider {
  margin: 14px 0 12px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
  position: relative;
}

.setup-login {
  margin-top: 4px;
}

.login-divider::before,
.login-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 30%;
  height: 1px;
  background: var(--line);
}

.login-divider::before { left: 0; }
.login-divider::after { right: 0; }

.sidebar {
  background: linear-gradient(180deg, #082a65 0%, #061d47 100%);
  color: white;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: sticky;
  top: 0;
  height: 100vh;
  min-width: 0;
  overflow-x: hidden;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.brand:hover .brand-mark {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(0, 74, 255, 0.38);
}

.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background:
    linear-gradient(135deg, transparent 28%, rgba(255,255,255,.95) 29% 42%, transparent 43%),
    linear-gradient(135deg, #1677ff, #00b7ff);
  box-shadow: 0 10px 18px rgba(0, 74, 255, 0.32);
}

.brand strong {
  display: block;
  font-size: 18px;
}

.brand span,
.user span,
.muted {
  color: var(--muted);
  font-size: 13px;
}

.brand span {
  color: rgba(255, 255, 255, 0.68);
}

.nav {
  display: grid;
  gap: 8px;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px;
}

.nav-group {
  display: grid;
  gap: 5px;
}

.marketing-only {
  display: none;
}

.can-marketing-ground .marketing-only {
  display: grid;
}

.nav-item {
  border: 0;
  border-radius: 8px;
  height: 44px;
  background: transparent;
  color: rgba(255,255,255,.86);
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  text-align: left;
  padding: 0 12px;
}

.nav-item.active,
.nav-item:hover {
  background: #1769ff;
  color: #fff;
}

.nav-group.active .nav-parent {
  background: rgba(23, 105, 255, .88);
  color: #fff;
}

.nav-subitems {
  display: grid;
  gap: 4px;
  padding-left: 38px;
}

.nav-subitem {
  border: 0;
  border-radius: 7px;
  min-height: 34px;
  padding: 0 10px;
  background: transparent;
  color: rgba(255, 255, 255, .68);
  text-align: left;
  cursor: pointer;
}

.nav-subitem.active,
.nav-subitem:hover {
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.nav-permission-hidden {
  display: none !important;
}

.nav-group[data-nav-group="workbench"],
.quick-actions {
  display: none !important;
}

body.yidou-only-nav .quick-actions {
  display: none !important;
}

.nav-item b {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ff4d4f;
  display: grid;
  place-items: center;
  font-size: 12px;
}

.admin-only {
  display: none;
}

.hidden {
  display: none !important;
}

.is-admin .admin-only {
  display: grid;
}

.super-admin-only .quick-actions {
  display: none;
}

.quick-actions {
  margin-top: auto;
  background: rgba(255,255,255,.07);
  border-radius: 10px;
  padding: 12px;
  width: 100%;
  min-width: 0;
  max-height: 230px;
  overflow-y: auto;
  overflow-x: hidden;
}

.quick-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255,255,255,.82);
  margin-bottom: 10px;
  min-width: 0;
}

.quick-title button {
  flex: 0 0 auto;
}

.quick-title button,
.quick-actions > button {
  color: white;
  background: transparent;
  border: 0;
}

.quick-actions > button {
  width: 100%;
  text-align: left;
  min-height: 34px;
  border-radius: 8px;
  padding: 0 8px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quick-actions > button:hover {
  background: rgba(255,255,255,.1);
}

.main {
  min-width: 0;
}

.topbar {
  height: 72px;
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  align-items: center;
  padding: 0 30px;
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(10px);
}

.icon-button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  color: #12224a;
}

.badge {
  position: relative;
}

.badge::after {
  content: attr(data-count);
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff3b30;
  color: white;
  font-size: 11px;
  line-height: 18px;
}

.search {
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: white;
}

.search input {
  border: 0;
  outline: 0;
  width: 100%;
  color: var(--ink);
}

.top-actions {
  justify-self: end;
  display: flex;
  gap: 12px;
  align-items: center;
}

.top-qa-button {
  align-items: center;
  background: linear-gradient(135deg, #1769ff, #0ea5e9);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(23, 105, 255, 0.18);
  color: white;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  height: 42px;
  padding: 0 14px 0 10px;
  white-space: nowrap;
}

.top-qa-button:hover {
  transform: translateY(-1px);
}

.qa-robot {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 12px;
  display: inline-flex;
  gap: 4px;
  height: 26px;
  justify-content: center;
  position: relative;
  width: 30px;
}

.qa-robot::before,
.qa-robot::after {
  background: rgba(255, 255, 255, 0.76);
  content: "";
  height: 7px;
  position: absolute;
  top: 9px;
  width: 3px;
}

.qa-robot::before {
  border-radius: 3px 0 0 3px;
  left: -3px;
}

.qa-robot::after {
  border-radius: 0 3px 3px 0;
  right: -3px;
}

.qa-robot-eye {
  background: #1769ff;
  border-radius: 999px;
  height: 5px;
  width: 5px;
}

.qa-robot-text {
  font-weight: 800;
}

.user {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
  white-space: nowrap;
}

.user > div:last-child {
  display: grid;
  line-height: 1.25;
  min-width: 0;
}

.user strong,
.user span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.top-user-badges {
  display: flex;
  align-items: center;
  min-height: 20px;
  margin-top: 3px;
}

.top-user-badges[hidden] {
  display: none;
}

.top-user-badges .yidou-author-badges {
  gap: 4px;
  min-height: 20px;
}

.top-user-badges .yidou-mini-badge {
  width: 20px;
  height: 20px;
  box-shadow: none;
}

.top-user-badges .yidou-mini-badge i {
  max-width: 16px;
  font-size: 9px;
}

.top-user-badges .yidou-badge-icon-image.is-mini {
  width: 16px;
  height: 16px;
}

.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d9e9ff, #1769ff);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
}

#logoutButton {
  min-height: 38px;
  min-width: 58px;
  white-space: nowrap;
}

.page {
  display: none;
  padding: 26px 30px 44px;
}

.page.active {
  display: block;
}

.admin-boot #dashboard {
  display: none;
}

.admin-boot #admin {
  display: block;
}

.admin-boot .nav {
  display: none;
}

.admin-boot .admin-boot-nav {
  display: grid;
  gap: 8px;
}

.admin-boot-nav {
  display: none;
}

.page-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 20px;
}

.page-head h1 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: 0;
}

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

.btn {
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  border-radius: 8px;
  min-height: 38px;
  padding: 0 14px;
}

.btn.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: white;
}

.btn.ghost {
  background: #eef4ff;
  border-color: #d6e5ff;
  color: #1856d2;
}

.btn.danger {
  background: #fff3f4;
  border-color: #ffc8cf;
  color: #c9283d;
}

.grid {
  display: grid;
  gap: 16px;
}

.cards-5 {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.layout-dashboard {
  display: grid;
  grid-template-columns: 320px minmax(420px, 1fr) 320px;
  gap: 16px;
  align-items: start;
}

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.35fr) minmax(280px, 0.9fr) minmax(280px, 0.9fr);
  gap: 16px;
  align-items: start;
}

.workspace-home {
  display: grid;
  gap: 22px;
  max-width: 1180px;
  margin: 0 auto;
}

.workspace-home-hero {
  display: grid;
  gap: 8px;
  padding: 26px 28px;
  border: 1px solid #e3ecf8;
  border-radius: 18px;
  background:
    radial-gradient(circle at 86% 18%, rgba(23, 107, 255, .12), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,248,255,.92));
  box-shadow: 0 18px 48px rgba(31, 64, 111, .07);
}

.workspace-home-hero span {
  color: #176bff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.workspace-home-hero h2 {
  margin: 0;
  color: #102a4c;
  font-size: 30px;
  line-height: 1.18;
}

.workspace-home-hero p {
  margin: 0;
  color: #637590;
  font-size: 15px;
}

.workspace-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: 18px;
  align-items: start;
}

.workspace-home-card {
  min-height: 420px;
  border-radius: 16px;
  border-color: #e1ebf8;
  box-shadow: 0 16px 42px rgba(31, 64, 111, .06);
}

.workspace-agenda-list,
.workspace-message-list {
  display: grid;
  gap: 10px;
}

.workspace-message-title {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.workspace-message-title em {
  align-items: center;
  background: #ff3b4f;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 6px;
}

.workspace-agenda-list .agenda-row {
  padding: 14px;
  border: 1px solid #edf2f9;
  border-radius: 14px;
  background: #fbfdff;
}

.workspace-message-item {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 132px auto;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid #dce8f8;
  border-radius: 12px;
  background: #fff;
}

.workspace-message-item.is-unread {
  border-color: #bdd3ff;
  background: linear-gradient(135deg, #f7fbff, #fff);
}

.workspace-message-item.is-read {
  opacity: .72;
}

.workspace-message-source {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #176bff;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.workspace-message-line {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.workspace-message-line i {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #176bff;
  box-shadow: 0 0 0 4px rgba(23, 107, 255, .12);
}

.workspace-message-line strong {
  overflow: hidden;
  min-width: 0;
  color: #102a4c;
  font-size: 14px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-message-item time {
  color: #98a6ba;
  font-size: 12px;
  white-space: nowrap;
  text-align: right;
}

@media (max-width: 1080px) {
  .workspace-home-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-home-card {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .workspace-home-hero {
    padding: 22px 20px;
  }

  .workspace-home-hero h2 {
    font-size: 24px;
  }

  .workspace-message-item {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .workspace-message-item time,
  .workspace-message-item .btn {
    justify-self: start;
  }
}

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.metric {
  padding: 18px;
  display: grid;
  grid-template-columns: 1fr 48px;
  align-items: center;
}

.metric strong {
  display: block;
  font-size: 30px;
  margin-top: 8px;
}

.metric .delta {
  color: var(--green);
  font-size: 12px;
}

.metric-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 22px;
}

.project-summary-grid {
  display: grid;
  grid-template-columns: minmax(170px, .75fr) minmax(230px, 1fr) minmax(230px, 1fr) minmax(300px, 1.3fr);
  gap: 12px;
  margin: 0 0 16px;
}

.project-summary-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  min-width: 0;
  box-shadow: var(--shadow);
}

.project-summary-title,
.project-summary-total span {
  display: block;
  color: #65728a;
  font-weight: 700;
  margin-bottom: 10px;
}

.project-summary-total {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.project-summary-total strong {
  font-size: 42px;
  line-height: 1;
  color: var(--ink);
}

.project-summary-total small {
  margin-top: 10px;
  color: #7a879c;
}

.project-summary-todos {
  grid-column: 1 / -1;
  padding: 14px 16px;
}

.project-todo-head,
.project-todo-head > div,
.project-todo-head-actions {
  display: flex;
  align-items: center;
}

.project-todo-head {
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.project-todo-head > div:first-child {
  gap: 8px;
}

.project-todo-head .project-summary-title {
  margin: 0 6px 0 0;
  color: var(--ink);
  font-size: 16px;
}

.project-todo-head strong {
  color: #1769e0;
  font-size: 28px;
  line-height: 1;
}

.project-todo-head small {
  color: #7a879c;
}

.project-todo-head-actions {
  gap: 10px;
}

.project-todo-table-wrap {
  overflow-x: auto;
  border: 1px solid #e0e8f3;
  border-radius: 8px;
}

.project-todo-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  table-layout: fixed;
}

.project-todo-table th,
.project-todo-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e8eef6;
  color: #54657d;
  font-size: 12px;
  text-align: left;
}

.project-todo-table th {
  background: #f3f7fc;
  color: #65728a;
  font-weight: 800;
}

.project-todo-table th:first-child { width: 38%; }
.project-todo-table th:nth-child(2) { width: 38%; }
.project-todo-table th:nth-child(3) { width: 14%; }
.project-todo-table th:last-child { width: 10%; text-align: center; }
.project-todo-table td:last-child { text-align: center; }
.project-todo-table tr:last-child td { border-bottom: 0; }
.project-todo-table tbody tr:hover { background: #f8fbff; }

.project-todo-title {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.project-todo-title b {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-todo-empty {
  grid-column: 1 / -1;
  padding: 8px 0;
  color: #7a879c;
}

@media (max-width: 620px) {
  .project-todo-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .project-todo-head-actions {
    width: 100%;
    justify-content: space-between;
  }
}

.project-pie-wrap {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.project-pie {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}

.project-pie::after {
  content: "";
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px #edf2f7;
}

.project-pie span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: var(--ink);
}

.project-chart-legend {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.project-chart-legend div,
.project-bar-row {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: #516078;
}

.project-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d5deeb;
}

.project-chart-legend span,
.project-bar-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-chart-legend strong,
.project-bar-row strong {
  color: var(--ink);
}

.project-bars {
  display: grid;
  gap: 8px;
}

.project-bar-row {
  grid-template-columns: minmax(70px, 96px) minmax(0, 1fr) 28px;
}

.project-bar-row div {
  height: 10px;
  background: #e8eef7;
  border-radius: 999px;
  overflow: hidden;
}

.project-bar-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.blue { background: #e9f1ff; color: var(--blue); }
.green { background: #e8f8ef; color: var(--green); }
.orange { background: #fff4df; color: var(--orange); }
.red { background: #ffecef; color: var(--red); }
.violet { background: #f0eaff; color: var(--violet); }
.cyan { background: #e7f9fb; color: #0891a3; }

.panel {
  padding: 18px;
}

.leave-balance-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.leave-balance-pill {
  min-width: 132px;
  padding: 12px 14px;
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef8fb 100%);
}

.leave-balance-pill span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.leave-balance-pill strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  font-size: 19px;
}

.toolbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.toolbox-card {
  display: grid;
  gap: 9px;
  min-height: 118px;
  padding: 16px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  color: var(--ink);
}

.toolbox-card.active {
  border-color: #bcd3ff;
  background: linear-gradient(135deg, #eef5ff 0%, #ffffff 72%);
}

.toolbox-card strong {
  font-size: 18px;
}

.toolbox-card small {
  color: var(--muted);
  line-height: 1.55;
}

.embedded-tool-shell {
  overflow: hidden;
  min-height: calc(100vh - 190px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}

.embedded-tool-shell iframe {
  display: block;
  width: 100%;
  height: calc(100vh - 190px);
  min-height: 760px;
  border: 0;
  background: #f5f7f4;
}

.yidou-module-shell {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.yidou-module-shell iframe {
  height: calc(100vh - 210px);
  min-height: 820px;
  background: transparent;
}

.work-report-shell {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.work-report-shell iframe {
  height: calc(100vh - 188px);
  min-height: 880px;
  background: #f6f8fb;
}

.yidou-native {
  display: grid;
  gap: 18px;
}

.yidou-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}

.yidou-tabs button,
.yidou-categories button,
.yidou-sort button {
  border: 0;
  border-radius: 7px;
  padding: 10px 16px;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  cursor: pointer;
}

.yidou-tabs button.active,
.yidou-tabs button:hover,
.yidou-categories button.active,
.yidou-categories button:hover,
.yidou-sort button.active,
.yidou-sort button:hover {
  background: var(--blue);
  color: white;
}

.yidou-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 24px;
  padding: 28px;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 195, 92, .32), transparent 28%),
    linear-gradient(135deg, #0d2b5f, #176bff);
}

.yidou-hero .eyebrow,
.yidou-hero p {
  color: rgba(255,255,255,.78);
}

.yidou-hero h2 {
  margin: 8px 0 10px;
  font-size: 34px;
  letter-spacing: 0;
}

.yidou-wallet {
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  background: rgba(255,255,255,.12);
}

.yidou-wallet strong {
  font-size: 52px;
}

.yidou-wallet small {
  color: rgba(255,255,255,.72);
}

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

.yidou-guide > div {
  display: grid;
  gap: 6px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}

.yidou-guide span,
.yidou-product-body p,
.yidou-order-row span {
  color: var(--muted);
  line-height: 1.55;
}

.yidou-toolbar {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
}

.yidou-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.yidou-sort {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.yidou-toolbar input {
  max-width: 360px;
}

.yidou-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.yidou-product-card {
  overflow: hidden;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.yidou-product-card.sold-out {
  opacity: .78;
}

.yidou-product-card.sold-out .yidou-cover,
.yidou-product-card.paused .yidou-cover {
  filter: grayscale(.25);
}

.yidou-product-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

.yidou-cover {
  min-height: 150px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 18px;
  color: white;
  background: linear-gradient(135deg, #0d2b5f, #176bff);
  background-size: cover;
  background-position: center;
}

.yidou-cover span {
  width: fit-content;
  padding: 4px 9px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  font-size: 12px;
}

.yidou-cover strong {
  font-size: 22px;
  line-height: 1.2;
}

.yidou-product-body {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.yidou-rating {
  display: flex;
  gap: 8px;
  align-items: center;
}

.yidou-stars {
  color: #f5a524;
  letter-spacing: 1px;
}

.yidou-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.yidou-status-badge {
  border: 0 !important;
  color: #475467 !important;
  background: rgba(255,255,255,.86) !important;
}

.yidou-product-admin-actions {
  display: flex;
  justify-content: flex-end;
}

.yidou-product-admin-actions.is-detail {
  display: contents;
}

.yidou-price strong,
.yidou-detail-price strong {
  color: var(--red);
  font-size: 28px;
}

.yidou-price small,
.yidou-detail-price small {
  margin-left: 3px;
  font-size: 13px;
}

.yidou-publish-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  align-items: start;
}

.yidou-publish {
  display: grid;
  gap: 16px;
}

.yidou-publish-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.yidou-cover-field {
  display: grid;
  gap: 8px;
}

.yidou-cover-upload {
  width: min(380px, 100%);
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  gap: 4px;
  border: 1px dashed #b9cbec;
  border-radius: 8px;
  background: #f8fbff;
  background-position: center;
  background-size: cover;
  color: var(--muted);
  cursor: pointer;
}

.yidou-cover-upload strong {
  color: var(--blue);
}

.yidou-cover-upload.has-cover,
.yidou-cover-upload.has-cover strong {
  color: white;
}

.yidou-detail-editor {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}

.yidou-detail-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #f8fbff;
}

.yidou-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 9px;
  border-bottom: 1px solid var(--line);
  background: #fbfdff;
}

.yidou-editor-toolbar button,
.yidou-editor-toolbar select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  background: white;
  color: var(--text);
  cursor: pointer;
}

.yidou-editor-toolbar button:hover,
.yidou-editor-toolbar select:hover,
.yidou-template-card:hover {
  border-color: var(--blue);
  background: #eef5ff;
}

.yidou-editor-surface {
  min-height: 240px;
  padding: 14px;
  outline: none;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.yidou-editor-surface:empty::before {
  content: attr(data-placeholder);
  color: var(--muted);
}

.yidou-template-placeholder {
  color: #94a3b8;
  cursor: text;
}

.yidou-editor-surface img,
.yidou-rich-content img {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 10px 0;
  border-radius: 8px;
  object-fit: contain;
}

.yidou-editor-surface video,
.yidou-rich-content video {
  display: block;
  width: 100%;
  max-height: 420px;
  margin: 10px 0;
  border-radius: 8px;
  background: #111827;
}

.yidou-publish-tips {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 12px;
}

.yidou-publish-tips > div,
.yidou-template-card {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
  text-align: left;
}

.yidou-template-card {
  width: 100%;
  color: inherit;
  cursor: pointer;
}

.yidou-template-card span {
  color: var(--muted);
  line-height: 1.5;
}

.yidou-transfer-page {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 16px;
}

.yidou-transfer-note {
  align-self: start;
}

.yidou-rich-content {
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.yidou-stats-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 4px;
}

.yidou-stat-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #cfe0fb;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
  box-shadow: 0 8px 20px rgba(27, 84, 185, 0.07);
  color: var(--ink);
  white-space: nowrap;
}

.yidou-stat-pill span {
  color: #61708f;
  font-size: 13px;
  font-weight: 700;
}

.yidou-stat-pill strong {
  color: #0f234b;
  font-size: 22px;
  line-height: 1;
}

.yidou-stat-pill:first-child {
  border-color: #bfe9df;
  background: linear-gradient(135deg, #effdf8 0%, #ffffff 100%);
}

.yidou-order-section {
  display: grid;
  gap: 12px;
}

.yidou-order-list {
  display: grid;
  gap: 10px;
}

.yidou-order-row {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
}

.yidou-transfer-card {
  display: grid;
  gap: 14px;
}

.yidou-transfer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(120px, 180px);
  gap: 12px;
}

.yidou-transfer-card label {
  display: grid;
  gap: 8px;
  color: var(--text);
  font-weight: 700;
}

.yidou-transfer-card input {
  width: 100%;
  min-width: 0;
}

.yidou-transfer-recipient-control {
  position: relative;
}

.yidou-transfer-search-shell {
  align-items: center;
  background: #fff;
  border: 1px solid #cfe0fb;
  border-radius: 10px;
  display: flex;
  gap: 8px;
  padding: 0 12px;
}

.yidou-transfer-search-shell span {
  color: var(--muted);
  font-size: 18px;
  line-height: 1;
}

.yidou-transfer-search-shell .yidou-transfer-search-input {
  border: 0;
  box-shadow: none;
  padding-left: 0;
}

.yidou-transfer-search-shell:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(34, 105, 255, 0.12);
}

.yidou-card-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 10px;
}

.yidou-transaction-list {
  display: grid;
  gap: 10px;
}

.yidou-transaction-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.yidou-transaction-side {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 190px;
}

.yidou-transaction-row strong {
  display: block;
  line-height: 1.35;
}

.yidou-transaction-row span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.yidou-transaction-row b {
  white-space: nowrap;
  font-size: 18px;
}

.yidou-transaction-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-basis: 100%;
}

.yidou-transaction-row b.positive {
  color: #0f9f6e;
}

.yidou-transaction-row b.negative {
  color: #e5484d;
}

.yidou-buyer-trade-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, auto) minmax(160px, auto);
  align-items: center;
}

.yidou-trade-steps {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.yidou-trade-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #e0e9f7;
  border-radius: 999px;
  background: #f7f9fc;
  color: #8a9ab2;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.yidou-trade-steps span.active {
  border-color: #cfe0ff;
  background: #eef5ff;
  color: #176bff;
}

.yidou-admin-health,
.yidou-admin-users,
.yidou-admin-trades {
  display: grid;
  gap: 16px;
}

.yidou-admin-trade-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.yidou-admin-trade-summary div {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbff, #fff);
}

.yidou-admin-trade-summary span {
  color: #6a7b94;
  font-size: 12px;
  font-weight: 800;
}

.yidou-admin-trade-summary strong {
  color: #102a4c;
  font-size: 24px;
  line-height: 1;
}

.yidou-admin-trade-list {
  display: grid;
  gap: 12px;
}

.yidou-admin-trade-card {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(360px, 1.5fr) minmax(118px, .45fr) minmax(220px, .8fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid #dce8f8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(18, 57, 112, .05);
}

.yidou-admin-trade-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.yidou-trade-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, #176bff, #0ea5e9);
  color: #fff;
  font-weight: 900;
}

.yidou-admin-trade-main strong,
.yidou-admin-trade-main span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yidou-admin-trade-main strong {
  color: #102a4c;
  font-size: 16px;
}

.yidou-admin-trade-main span,
.yidou-admin-trade-flow span,
.yidou-admin-trade-meta span,
.yidou-admin-trade-comment {
  color: #6a7b94;
  font-size: 12px;
  line-height: 1.45;
}

.yidou-admin-trade-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
}

.yidou-admin-trade-flow div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e3ebf7;
  border-radius: 12px;
  background: #f8fafc;
}

.yidou-admin-trade-flow div.done {
  border-color: #cfe0ff;
  background: #eef5ff;
}

.yidou-admin-trade-flow b {
  color: #102a4c;
  font-size: 12px;
}

.yidou-admin-trade-flow i {
  height: 1px;
  background: #d8e3f2;
}

.yidou-admin-trade-meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.yidou-admin-trade-meta strong {
  color: #ff365f;
  font-size: 22px;
  line-height: 1;
}

.yidou-admin-trade-meta small {
  margin-left: 3px;
  color: #5f718d;
  font-size: 12px;
}

.yidou-admin-trade-comment {
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.yidou-health-capsules {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
}

.yidou-health-pill {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: baseline;
  gap: 8px;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid #cfe0ff;
  border-radius: 999px;
  background: linear-gradient(135deg, #f8fbff, #eef6ff);
  box-shadow: 0 8px 20px rgba(15, 76, 170, 0.07);
}

.yidou-health-pill span {
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
}

.yidou-health-pill strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
}

.yidou-health-pill small {
  color: #5f7194;
  font-size: 12px;
  white-space: nowrap;
}

.yidou-health-storage {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.yidou-health-storage span {
  padding: 7px 11px;
  border: 1px solid #d7e5ff;
  border-radius: 999px;
  background: #f8fbff;
  color: var(--muted);
  font-size: 13px;
}

.yidou-health-anomalies {
  display: grid;
  gap: 10px;
}

.yidou-health-anomalies h4 {
  margin: 0;
}

.yidou-health-alert {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbff;
}

.yidou-health-alert span {
  color: var(--muted);
  font-size: 13px;
}

.yidou-health-alert.ok {
  border-color: #bfead8;
  background: #f1fbf6;
}

.yidou-health-alert.warning {
  border-color: #ffd59f;
  background: #fff8ed;
}

.yidou-health-alert.danger {
  border-color: #ffc0c3;
  background: #fff4f4;
}

.yidou-user-table th,
.yidou-user-table td {
  white-space: nowrap;
}

.yidou-balance-input {
  width: 110px;
}

.yidou-native-dialog {
  width: min(1120px, calc(100vw - 42px));
  height: min(820px, calc(100vh - 64px));
  max-height: calc(100vh - 64px);
  overflow: hidden;
  overscroll-behavior: contain;
  box-shadow: 0 28px 80px rgba(8, 20, 45, 0.34);
}

.yidou-detail {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

.yidou-detail-sticky-head {
  padding: 0 52px 16px 0;
  border-bottom: 1px solid var(--line);
  background: white;
}

.yidou-detail-summary {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.yidou-detail-thumb {
  aspect-ratio: 16 / 10;
  display: grid;
  align-content: end;
  padding: 10px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0d2b5f, #176bff);
  background-position: center;
  background-size: cover;
  color: white;
}

.yidou-detail-thumb span {
  width: fit-content;
  padding: 3px 8px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 12px;
}

.yidou-detail-summary h2 {
  margin: 4px 0 6px;
}

.yidou-detail-summary p {
  margin: 0 0 10px;
  color: var(--muted);
}

.yidou-detail-scroll {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 16px;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  overscroll-behavior: contain;
  padding: 18px 12px 18px 0;
  scrollbar-gutter: stable;
}

.yidou-detail-trust,
.yidou-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.yidou-detail-trust span,
.yidou-protection,
.yidou-delivery {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
}

.yidou-delivery {
  display: grid;
  gap: 10px;
}

.yidou-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
  height: 100%;
  min-height: 0;
}

.yidou-detail-grid aside {
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: 0;
}

.yidou-detail-grid section,
.yidou-reviews {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}

.yidou-detail-main-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.yidou-rich-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 12px;
  scrollbar-color: #9aa8bf #edf3fb;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.yidou-rich-scroll::-webkit-scrollbar {
  width: 10px;
}

.yidou-rich-scroll::-webkit-scrollbar-track {
  background: #edf3fb;
  border-radius: 999px;
}

.yidou-rich-scroll::-webkit-scrollbar-thumb {
  background: #9aa8bf;
  border: 2px solid #edf3fb;
  border-radius: 999px;
}

.yidou-rich-scroll::-webkit-scrollbar-thumb:hover {
  background: #71819b;
}

.yidou-detail-grid .yidou-rich-content {
  max-width: none;
}

.yidou-detail-actions {
  justify-content: flex-end;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
  background: white;
}

.yidou-review-list {
  display: grid;
  gap: 12px;
}

.yidou-review-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
}

.yidou-review-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.yidou-review-images,
.yidou-review-image-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.yidou-review-images img,
.yidou-review-image-preview img {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.yidou-review-compose,
.yidou-share-compose {
  display: grid;
  gap: 14px;
}

.yidou-share-compose label {
  display: grid;
  gap: 8px;
  color: var(--text);
  font-weight: 700;
}

.yidou-share-recipient-control {
  position: relative;
}

.yidou-share-member-results {
  top: 74px;
  z-index: 80;
}

.yidou-rating-picker {
  display: flex;
  gap: 8px;
}

.yidou-rating-picker button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
  color: #cbd3cf;
  font-size: 24px;
  cursor: pointer;
}

.yidou-rating-picker button.active {
  color: #f5a524;
  background: #fff8e8;
}

.yidou-review-image-preview > div {
  position: relative;
}

.yidou-review-image-preview button {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 50%;
  background: var(--red);
  color: white;
}

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

.media-schedule-card {
  min-height: 174px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 14px;
}

.media-schedule-card h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.media-schedule-card .btn {
  justify-self: start;
}

.yidou-cockpit-board {
  margin-bottom: 18px;
  overflow: hidden;
  border-color: rgba(23, 105, 255, 0.18);
  background:
    radial-gradient(circle at 8% 0%, rgba(23, 105, 255, 0.13), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.yidou-cockpit-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 2px 16px;
}

.yidou-cockpit-hero h3 {
  margin: 6px 0 8px;
  font-size: 26px;
}

.yidou-cockpit-hero p {
  margin: 0;
  color: var(--muted);
}

.yidou-month-picker {
  min-width: 180px;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 700;
}

.yidou-cockpit-kpis {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}

.yidou-kpi-card {
  min-height: 118px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #d7e4f8;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(27, 84, 185, 0.07);
}

.yidou-kpi-card.primary {
  color: white;
  border-color: transparent;
  background: linear-gradient(135deg, #1769ff 0%, #12b8bd 100%);
}

.yidou-kpi-card span,
.yidou-kpi-card small {
  color: inherit;
  opacity: 0.78;
  font-weight: 800;
}

.yidou-kpi-card strong {
  font-size: 34px;
  line-height: 1;
}

.yidou-cockpit-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.yidou-rank-card {
  padding: 16px;
  border: 1px solid #dbe6f8;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.panel-head.compact {
  margin-bottom: 12px;
}

.panel-head.compact h3 {
  margin: 0;
  font-size: 18px;
}

.yidou-rank-list {
  display: grid;
  gap: 10px;
}

.yidou-rank-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #e4ebf8;
  border-radius: 8px;
  background: #fbfdff;
}

.yidou-rank-row b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf4ff;
  color: var(--blue);
}

.yidou-rank-row strong,
.yidou-rank-row span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yidou-rank-row span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.yidou-rank-row em {
  color: #0f9f6e;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.yidou-rank-row.balance em {
  color: var(--blue);
}

.yidou-cockpit-foot {
  margin-top: 12px;
  text-align: right;
  font-size: 13px;
}

.media-schedule-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #eaf2ff;
  color: var(--blue);
  font-weight: 800;
}

.media-config-list {
  display: grid;
  gap: 12px;
}

.media-config-row {
  display: grid;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  gap: 12px;
  align-items: end;
}

.cockpit-config-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(23, 105, 255, 0.14);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(23, 105, 255, 0.05), rgba(20, 184, 166, 0.04));
}

.cockpit-config-row .form-field {
  min-width: 0;
}

.cockpit-config-row .form-field > span {
  display: block;
  min-height: 22px;
  line-height: 1.2;
  white-space: normal;
}

.cockpit-config-row .input-like,
.cockpit-config-row input,
.cockpit-config-row select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.cockpit-config-row .field-hint {
  display: block;
  min-height: 20px;
  line-height: 1.4;
}

.cockpit-center-field .input-like {
  color: var(--blue);
  font-weight: 800;
}

.cockpit-logo-field .input-like {
  font-weight: 800;
}

.cockpit-center-grid {
  display: grid;
  gap: 18px;
}

.cockpit-center-panel {
  border-color: rgba(23, 105, 255, 0.16);
  box-shadow: 0 16px 42px rgba(15, 36, 80, 0.06);
}

.cockpit-center-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.cockpit-center-head h2 {
  margin: 4px 0 0;
  font-size: 24px;
}

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

.cockpit-entry-card {
  min-height: 156px;
  background: linear-gradient(180deg, #fff, rgba(245, 248, 255, 0.82));
}

.cockpit-entry-logo {
  overflow: hidden;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
}

.cockpit-entry-logo.image {
  background: #fff;
}

.cockpit-entry-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cockpit-hero-shell {
  display: grid;
  gap: 18px;
}

.cockpit-yidou-status {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 86px;
  padding: 18px 24px;
  border: 1px solid rgba(23, 105, 255, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 92% 18%, rgba(127, 101, 255, 0.12), transparent 22%),
    linear-gradient(135deg, #ffffff 0%, #f6f9ff 100%);
  box-shadow: 0 18px 44px rgba(22, 52, 112, 0.07);
}

.cockpit-yidou-mark {
  width: 64px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(23, 105, 255, 0.18);
  border-radius: 12px;
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.cockpit-yidou-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.cockpit-yidou-copy strong {
  color: var(--text);
  font-size: 17px;
}

.cockpit-yidou-copy span {
  color: var(--muted);
  font-size: 14px;
}

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

.cockpit-stat-card {
  position: relative;
  min-height: 128px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 96px;
  align-items: center;
  gap: 16px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(23, 105, 255, 0.14);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(18, 44, 96, 0.06);
}

.cockpit-stat-card::after {
  content: "";
  position: absolute;
  inset: auto -22px -34px auto;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  opacity: 0.14;
  background: currentColor;
}

.cockpit-stat-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: currentColor;
  color: #fff;
  font-weight: 900;
}

.cockpit-stat-card.blue { color: #1769ff; }
.cockpit-stat-card.green { color: #20b26b; }
.cockpit-stat-card.orange { color: #ff7a2f; }
.cockpit-stat-card.purple { color: #7b61ff; }

.cockpit-stat-card span,
.cockpit-stat-card em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-weight: 700;
}

.cockpit-stat-card strong {
  display: block;
  margin: 8px 0;
  color: var(--text);
  font-size: 34px;
  line-height: 1;
}

.cockpit-stat-card strong small {
  margin-left: 4px;
  color: var(--text);
  font-size: 16px;
}

.cockpit-stat-card em b {
  color: #0f9f6e;
}

.cockpit-stat-card i {
  width: 92px;
  height: 48px;
  display: block;
  justify-self: end;
  border: 2px solid currentColor;
  border-top: 0;
  border-left: 0;
  border-radius: 0 0 28px 0;
  opacity: 0.72;
  transform: skewX(-24deg);
}

.cockpit-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px;
  border: 1px solid #dbe6f8;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 12px 34px rgba(15, 36, 80, 0.05);
}

.cockpit-center-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cockpit-center-tabs button,
.cockpit-view-toggle button {
  height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #5f6f91;
  font-weight: 800;
  cursor: pointer;
}

.cockpit-center-tabs button.active,
.cockpit-view-toggle button.active {
  color: #fff;
  background: linear-gradient(135deg, #1769ff, #14b8bd);
  box-shadow: 0 10px 24px rgba(23, 105, 255, 0.22);
}

.cockpit-view-toggle {
  flex: 0 0 auto;
  display: flex;
  gap: 6px;
  padding: 4px;
  border-radius: 12px;
  background: #f3f7ff;
}

.cockpit-board-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.cockpit-entry-tile {
  min-height: 178px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(23, 105, 255, 0.16);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: 0 18px 46px rgba(15, 36, 80, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.cockpit-entry-tile:hover {
  transform: translateY(-3px);
  border-color: rgba(23, 105, 255, 0.34);
  box-shadow: 0 24px 58px rgba(15, 36, 80, 0.11);
}

.cockpit-entry-tile-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.cockpit-entry-tile-head h3 {
  margin: 0 0 4px;
  overflow: hidden;
  color: var(--text);
  font-size: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cockpit-entry-tile-head span:not(.tag) {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cockpit-entry-tile-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 98px;
  align-items: end;
  gap: 14px;
}

.cockpit-entry-tile-body strong,
.cockpit-entry-tile-body small {
  display: block;
}

.cockpit-entry-tile-body strong {
  margin-bottom: 6px;
  color: var(--text);
}

.cockpit-entry-tile-body small {
  color: var(--muted);
}

.cockpit-entry-metric {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.cockpit-entry-metric span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.cockpit-entry-metric b {
  color: var(--text);
  font-size: 28px;
  line-height: 1;
}

.cockpit-entry-metric em {
  color: #0f9f6e;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.cockpit-entry-metric em.pending {
  color: #f59e0b;
}

.cockpit-entry-actions {
  display: flex;
  justify-content: flex-start;
}

.cockpit-security-foot {
  margin: 34px 0 8px;
  color: var(--muted);
  text-align: center;
  font-size: 13px;
}

.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.panel-head h2,
.panel-head h3 {
  margin: 0;
}

.link {
  border: 0;
  background: transparent;
  color: var(--blue);
  padding: 0;
}

.task-group {
  margin-bottom: 18px;
}

.task-group h4 {
  margin: 0 0 10px;
  font-size: 14px;
}

.task-project-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.task-project-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 74px;
  padding: 14px;
  border: 1px solid #d7e4f8;
  border-radius: 8px;
  background: #f8fbff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.task-project-card:hover {
  transform: translateY(-1px);
  border-color: #9dc0ff;
  box-shadow: 0 12px 26px rgba(44, 101, 213, .12);
}

.task-project-card strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-project-card small {
  grid-column: 2 / 4;
  color: var(--muted);
}

.task-row,
.activity-row,
.agenda-row,
.risk-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px solid #edf2fb;
}

.task-row-action {
  grid-template-columns: auto 1fr minmax(150px, auto);
}

.task-action-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.task-row:last-child,
.activity-row:last-child,
.agenda-row:last-child,
.risk-row:last-child {
  border-bottom: 0;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--blue);
  margin-top: 7px;
}

.dot.red { background: var(--red); }
.dot.orange { background: var(--orange); }
.dot.green { background: var(--green); }

.table {
  width: 100%;
  border-collapse: collapse;
}

.table th {
  text-align: left;
  color: #6b7796;
  font-size: 13px;
  background: #f8fbff;
  padding: 12px;
  font-weight: 600;
}

.table td {
  padding: 14px 12px;
  border-bottom: 1px solid #edf2fb;
  vertical-align: middle;
}

.table tr[data-project] {
  cursor: pointer;
}

.table tr[data-project]:hover {
  background: #f8fbff;
}

.permission-table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  max-width: 100%;
  scrollbar-gutter: stable;
}

.permission-table {
  width: max-content;
  min-width: 980px;
  table-layout: fixed;
  margin: 0;
}

.knowledge-selected {
  display: grid;
  gap: 10px;
}

.knowledge-folder-chip {
  align-items: center;
  background: #f7faff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

.knowledge-folder-chip strong,
.knowledge-folder-chip span {
  display: block;
  word-break: break-all;
}

.knowledge-folder-chip span {
  color: #6b7796;
  font-size: 12px;
  margin-top: 4px;
}

.compact-empty {
  padding: 14px;
}

.knowledge-picker-dialog,
.knowledge-qa-dialog {
  max-width: 760px;
}

.knowledge-picker-toolbar,
.knowledge-picker-foot {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 12px 0;
}

.knowledge-picker-toolbar span {
  color: #667391;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-picker-list {
  border: 1px solid var(--line);
  border-radius: 10px;
  max-height: 420px;
  overflow: auto;
}

.knowledge-picker-row {
  align-items: center;
  border-bottom: 1px solid #edf2fb;
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

.knowledge-picker-row:last-child {
  border-bottom: 0;
}

.knowledge-picker-row label {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.knowledge-picker-row strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-qa-form {
  display: grid;
  gap: 10px;
}

.knowledge-qa-status {
  color: #667391;
  font-weight: 700;
  margin: 12px 0;
  min-height: 20px;
}

.knowledge-qa-sources {
  border-top: 1px solid var(--line);
  color: #667391;
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
}

.knowledge-qa-sources span {
  color: #94a0ba;
  margin-left: 6px;
}

.knowledge-qa-sources.warning {
  background: #fff8e7;
  border: 1px solid #ffe0a3;
  border-radius: 10px;
  color: #8a5a00;
  padding: 12px 14px;
}

.permission-table th,
.permission-table td {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  padding: 10px 6px;
  font-size: 12px;
}

.permission-table th:nth-child(2),
.permission-table td:nth-child(2) {
  width: 130px;
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.permission-table th:nth-child(3),
.permission-table td:nth-child(3) {
  width: 96px;
  max-width: 96px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.permission-table th:nth-child(n+4),
.permission-table td:nth-child(n+4) {
  width: 56px;
  min-width: 56px;
}

.permission-table th:nth-child(n+4) {
  white-space: normal;
  line-height: 1.25;
}

.permission-table .member-col {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 120px;
  min-width: 120px;
  max-width: 120px;
  text-align: left;
  background: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
}

.permission-table thead .member-col {
  z-index: 3;
  background: #f5f8fd;
}

.permission-actions {
  align-items: center;
  margin-top: 14px;
}

.field-hint.warn {
  color: #b26b00;
  background: #fff8e8;
  border: 1px solid #ffe1a3;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  line-height: 1.5;
  white-space: normal;
}

.field-hint .inline-action {
  flex: 0 0 auto;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.checkline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #445475;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.checkline input {
  width: 16px;
  height: 16px;
  accent-color: var(--blue);
}

.switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}

.switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  margin: 0;
}

.switch span {
  width: 36px;
  height: 22px;
  border-radius: 999px;
  background: #d8e1f0;
  position: relative;
  transition: background .18s ease;
  box-shadow: inset 0 0 0 1px rgba(25, 52, 92, .08);
}

.switch span::after {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 2px;
  top: 2px;
  transition: transform .18s ease;
  box-shadow: 0 2px 6px rgba(15, 35, 70, .22);
}

.switch input:checked + span {
  background: #1769ff;
}

.switch input:checked + span::after {
  transform: translateX(14px);
}

.tag {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  border-radius: 6px;
  padding: 0 8px;
  font-size: 12px;
  background: #edf4ff;
  color: #1b64e8;
  white-space: nowrap;
}

.tag.green { background: #e8f8ef; color: #12844f; }
.tag.orange { background: #fff4df; color: #b86b00; }
.tag.red { background: #ffecef; color: #c6283a; }
.tag.gray { background: #eef2f7; color: #667085; }
.tag.violet { background: #f0eaff; color: #6d28d9; }

.progress {
  height: 8px;
  background: #e7edf7;
  border-radius: 999px;
  overflow: hidden;
  min-width: 90px;
}

.progress span {
  display: block;
  height: 100%;
  background: var(--blue);
  border-radius: inherit;
}

.progress.orange span { background: var(--orange); }
.progress.green span { background: var(--green); }
.progress.red span { background: var(--red); }

#projectListTable,
[id^="projectListTable-"] {
  overflow-x: auto;
}

.project-home-table {
  min-width: 980px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #d9e4f3;
  border-radius: 8px;
  overflow: hidden;
}

.project-home-table th {
  background: #f3f7fd;
  color: #34507d;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  border-bottom: 1px solid #d9e4f3;
  border-right: 1px solid #d9e4f3;
  padding: 14px 12px;
}

.project-home-table th:last-child,
.project-home-table td:last-child {
  border-right: 0;
}

.project-home-table td {
  border-bottom: 1px solid #e4ecf7;
  border-right: 1px solid #eef3fa;
  padding: 15px 14px;
  color: var(--ink);
}

.project-home-table tbody tr:last-child td {
  border-bottom: 0;
}

.project-home-table td:nth-child(1),
.project-home-table td:nth-child(2),
.project-home-table td:nth-child(4),
.project-home-table td:nth-child(6),
.project-home-table td:nth-child(8) {
  text-align: center;
}

.project-initiator-cell {
  min-width: 80px;
  overflow-wrap: anywhere;
}

.project-home-table td:nth-child(3) strong {
  font-size: 16px;
}

.project-home-table .tag {
  min-width: 68px;
  justify-content: center;
  border: 1px solid currentColor;
  background: #fff;
  font-weight: 800;
}

.project-progress-cell {
  display: grid;
  grid-template-columns: 44px minmax(92px, 1fr);
  gap: 10px;
  align-items: center;
}

.project-progress-cell > span {
  font-weight: 800;
  color: var(--ink);
  text-align: right;
}

.project-progress-cell .progress {
  height: 16px;
  min-width: 110px;
  border: 1px solid #cbd8ea;
  background: #fff;
  padding: 2px;
}

.project-progress-cell .progress i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--blue);
}

.project-progress-cell .progress.green i { background: repeating-linear-gradient(135deg, #20a66a 0 4px, #34c47f 4px 7px); }
.project-progress-cell .progress.orange i { background: repeating-linear-gradient(135deg, #f59e0b 0 4px, #fbbf24 4px 7px); }
.project-progress-cell .progress.red i { background: repeating-linear-gradient(135deg, #ef4444 0 4px, #fb7185 4px 7px); }
.project-progress-cell .progress.blue i { background: repeating-linear-gradient(135deg, #1769ff 0 4px, #4f8dff 4px 7px); }

.project-home-actions {
  white-space: nowrap;
  font-weight: 800;
}

.project-home-actions .link {
  font-size: 15px;
  font-weight: 800;
}

.project-home-actions span {
  color: #8ca0bd;
  margin: 0 6px;
}

.ai-card {
  background: linear-gradient(145deg, #2368ff 0%, #4f7df9 52%, #6046d9 100%);
  color: white;
  border: 0;
  overflow: hidden;
}

.ai-card .panel {
  position: relative;
}

.ai-card h3 {
  margin-top: 0;
}

.ai-card .bubble {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  padding: 12px;
  line-height: 1.6;
}

.donut {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: conic-gradient(var(--blue) 0 43%, var(--green) 43% 72%, var(--violet) 72% 86%, var(--orange) 86% 100%);
  position: relative;
  margin: 8px auto;
}

.donut::after {
  content: "7\A总项目";
  white-space: pre;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: white;
  display: grid;
  place-items: center;
  position: absolute;
  inset: 34px;
  text-align: center;
  font-weight: 800;
  color: var(--ink);
}

.legend {
  display: grid;
  gap: 8px;
}

.legend div {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.select-like,
.input-like {
  border: 1px solid var(--line);
  background: white;
  border-radius: 8px;
  height: 38px;
  padding: 0 12px;
  color: var(--ink);
}

.project-owner-filter {
  min-width: 180px;
  max-width: 260px;
}

.project-filter-field {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 0 10px 0 12px;
  color: var(--ink);
}

.project-filter-field span {
  color: #65728a;
  font-weight: 700;
  white-space: nowrap;
}

.project-filter-field .select-like {
  border: 0;
  padding: 0 22px 0 0;
  height: 36px;
  min-width: 96px;
  box-shadow: none;
}

.project-search-filter {
  min-width: 260px;
}

.member-combobox {
  position: relative;
  width: 100%;
}

.member-combobox-input {
  width: 100%;
}

.member-combobox-options {
  background: #fff;
  border: 1px solid #cfe0fb;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(15, 35, 75, 0.16);
  display: none;
  left: 0;
  max-height: 260px;
  overflow: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 80;
}

.member-combobox.open .member-combobox-options {
  display: grid;
  gap: 4px;
}

.member-combobox-option {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

.member-combobox-option:hover {
  background: #eef5ff;
}

.member-combobox-option span,
.member-combobox-empty {
  color: var(--muted);
  font-size: 12px;
}

.member-combobox-empty {
  padding: 9px 10px;
}

.enterprise-client-create {
  border-top: 1px solid #e2ebf8;
  color: var(--blue);
  margin-top: 2px;
}

.enterprise-client-create:disabled {
  cursor: wait;
  opacity: 0.65;
}

.enterprise-client-create-error {
  color: #b42318;
  padding-top: 4px;
}

.enterprise-client-combobox {
  z-index: 95;
}

.product-library-owner-picker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 30px;
  position: relative;
  z-index: 90;
}

.product-library-owner-chips {
  min-height: 0;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  gap: 4px;
  margin: 0;
}

.product-library-owner-chips .access-chip {
  min-height: 24px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.2;
}

.product-library-owner-chips .chip-remove {
  width: 16px;
  height: 16px;
  font-size: 12px;
}

.product-library-owner-picker .member-combobox.open .member-combobox-options {
  z-index: 120;
}

.product-library-owner-picker > .member-combobox {
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 5px);
  width: min(280px, 100%);
  z-index: 120;
}

.product-library-owner-picker > .member-combobox.open {
  display: block;
}

.product-library-owner-add {
  min-height: 26px;
  height: 26px;
  padding: 0 8px;
  border: 1px dashed #9fbceb;
  border-radius: 999px;
  background: #f7faff;
  color: #2868d8;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.product-library-owner-add:hover {
  border-color: #1769ff;
  background: #eef5ff;
}

.product-library-directory-owner-form {
  display: grid;
  gap: 6px;
  min-width: 330px;
}

.product-library-directory-owner-form .product-library-owner-chips {
  min-height: 0;
}

.product-library-bu-list {
  display: grid;
  gap: 6px;
}

.product-library-bu-row {
  display: grid;
  grid-template-columns: minmax(88px, 112px) minmax(190px, 1fr) 24px;
  gap: 6px;
  align-items: center;
  padding: 4px;
  border: 1px solid #e5edf9;
  border-radius: 7px;
  background: #fff;
}

.product-library-bu-name {
  width: 100%;
}

.product-library-bu-row .input-like,
.product-library-bu-row .member-combobox-input {
  min-height: 30px;
  height: 30px;
  padding: 0 9px;
  border-radius: 7px;
  font-size: 13px;
}

.product-library-bu-remove {
  width: 24px;
  height: 24px;
  border: 1px solid #cfe0fb;
  border-radius: 6px;
  background: #fff;
  color: #657395;
  font-size: 15px;
  line-height: 1;
  padding: 0;
  align-self: center;
}

.product-library-bu-remove:hover {
  color: #ef4444;
  border-color: #fecaca;
  background: #fff5f5;
}

.product-library-bu-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.product-library-bu-action,
.product-library-bu-save {
  min-height: 28px;
  height: 28px;
  border: 1px solid #cfe0fb;
  border-radius: 7px;
  padding: 0 10px;
  background: #f7fbff;
  color: #1856d2;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.product-library-bu-save {
  border-color: #1769ff;
  background: #1769ff;
  color: #fff;
}

.enterprise-client-combobox.open {
  z-index: 140;
}

.enterprise-client-options {
  max-height: 320px;
}

.enterprise-client-option strong {
  line-height: 1.35;
}

.detail-hero {
  display: grid;
  grid-template-columns: minmax(460px, 1fr) 360px;
  gap: 16px;
  margin-bottom: 16px;
}

.project-title {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.project-title h1 {
  margin: 0 0 8px;
}

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

.overview-item {
  background: #f8fbff;
  border: 1px solid #edf2fb;
  border-radius: 8px;
  padding: 12px;
}

.overview-item strong {
  display: block;
  margin-top: 8px;
  font-size: 18px;
}

.timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 18px;
  position: relative;
}

.timeline-step {
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.timeline-step.done {
  border-color: #bdebd0;
  background: #f3fbf6;
}

.timeline-step.active {
  border-color: #9bc1ff;
  box-shadow: inset 0 0 0 1px #9bc1ff;
}

.timeline-step strong {
  display: block;
  margin-bottom: 6px;
}

.tabs {
  display: flex;
  gap: 6px;
  border-bottom: 1px solid var(--line);
  padding: 0 18px;
  overflow-x: auto;
}

.tab {
  border: 0;
  background: transparent;
  padding: 16px 14px;
  color: #586684;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

.tab.active {
  color: var(--blue);
  border-color: var(--blue);
  font-weight: 700;
}

.tab-pane {
  display: none;
  padding: 18px;
}

.tab-pane.active {
  display: block;
}

.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
}

.task-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
  display: grid;
  gap: 10px;
}

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

.assignment-banner {
  margin-bottom: 16px;
  border: 1px solid #cfe0ff;
  background: #f2f7ff;
  border-radius: 8px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}

.assignment-banner.member {
  border-color: #e2e8f0;
  background: #f8fafc;
  grid-template-columns: auto 1fr;
}

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

.form-field {
  display: grid;
  gap: 8px;
  color: #34405d;
  font-size: 14px;
}

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

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

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

.check-grid label {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
}

.project-code-preview {
  margin-top: 8px;
  font-size: 26px;
  font-weight: 800;
  color: var(--blue);
}

.contract-entry {
  display: inline-flex;
  align-items: center;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-module-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.admin-module-content {
  min-width: 0;
}

.admin-directory {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  position: sticky;
  top: 96px;
}

.admin-directory-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 4px;
  min-height: 64px;
  padding: 12px;
  text-align: left;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.admin-directory-item:hover {
  border-color: #bcd0ff;
  box-shadow: 0 12px 28px rgba(15, 35, 70, 0.08);
  transform: translateY(-1px);
}

.admin-directory-item strong {
  font-size: 15px;
}

.admin-directory-item span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.admin-directory-item.active {
  background: linear-gradient(135deg, #1769ff, #0ea5a4);
  border-color: transparent;
  color: #fff;
}

.admin-directory-item.active span {
  color: rgba(255, 255, 255, 0.82);
}

.admin-section {
  display: none;
}

.admin-section.active {
  display: block;
}

.requirement-layout {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.requirement-form {
  display: grid;
  gap: 14px;
}

.requirement-form textarea {
  min-height: 110px;
}

.requirement-board {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.requirement-pills {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.requirement-pill {
  min-height: 64px;
  border: 1px solid #d9e5fb;
  border-radius: 12px;
  background: linear-gradient(135deg, #fff, #f5f8ff);
  box-shadow: 0 10px 22px rgba(20, 69, 150, 0.06);
  display: grid;
  gap: 4px;
  padding: 12px 14px;
}

.requirement-pill span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.requirement-pill strong {
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
}

.requirement-list {
  display: grid;
  gap: 12px;
}

.requirement-card {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 16px;
}

.requirement-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
}

.requirement-card h3 {
  margin: 4px 0 6px;
}

.requirement-card p {
  margin: 0;
  color: var(--text);
  line-height: 1.65;
  white-space: pre-wrap;
}

.requirement-tags,
.requirement-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.requirement-meta {
  color: var(--muted);
  font-size: 13px;
}

.requirement-note {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fbff;
}

.requirement-note strong {
  color: var(--ink);
}

.requirement-note span {
  color: var(--text);
  line-height: 1.6;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.requirement-manager {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.requirement-manager label {
  display: grid;
  gap: 6px;
  color: var(--text);
  font-weight: 700;
}

.requirement-manager .wide {
  grid-column: span 2;
}

.requirement-manager textarea {
  min-height: 74px;
}

.attack-diary-layout {
  display: grid;
  gap: 16px;
}

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

.attack-group-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  min-height: 180px;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 30px rgba(20, 69, 150, 0.06);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.attack-group-card:hover,
.attack-group-card.active {
  transform: translateY(-2px);
  border-color: #8bb6ff;
  box-shadow: 0 18px 36px rgba(32, 101, 255, 0.13);
}

.attack-group-card strong {
  font-size: 18px;
  line-height: 1.35;
}

.attack-group-card small {
  color: var(--muted);
  line-height: 1.6;
}

.attack-group-foot {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
  border-top: 1px solid #edf3ff;
  padding-top: 10px;
}

.attack-group-detail .panel-head {
  align-items: start;
}

.attack-group-detail h3 {
  margin-top: 10px;
}

.attack-members,
.attack-count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d9e5fb;
  background: #f8fbff;
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--text);
}

.attack-count {
  display: grid;
  place-items: center;
  min-width: 86px;
  border-radius: 14px;
}

.attack-count strong {
  font-size: 26px;
  line-height: 1;
  color: var(--blue);
}

.attack-count span {
  color: var(--muted);
  font-size: 12px;
}

.attack-diary-main {
  display: grid;
  grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.attack-record-panel {
  min-width: 0;
}

.attack-diary-editor-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: min(88vh, 920px);
  overflow: auto;
}

.attack-diary-notify-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: min(86vh, 760px);
  overflow: auto;
}

.attack-notify-section,
.attack-notify-picker {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.attack-notify-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 44px;
  padding: 12px;
  border: 1px solid #d9e5fb;
  border-radius: 12px;
  background: #f8fbff;
}

.attack-notify-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid #cfe0fb;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
}

.attack-notify-chip span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.attack-notify-chip b,
.attack-notify-chip small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attack-notify-chip small {
  color: var(--muted);
  font-size: 11px;
}

.attack-notify-chip button {
  border: 0;
  border-radius: 50%;
  background: #eef5ff;
  color: var(--muted);
  cursor: pointer;
  width: 22px;
  height: 22px;
  line-height: 20px;
}

.attack-notify-results {
  display: grid;
  gap: 4px;
  position: static;
  max-height: 260px;
}

.attack-diary-editor-dialog h2 {
  margin: 0 0 8px;
}

.attack-diary-form {
  display: grid;
  gap: 14px;
}

.attack-diary-ai-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: 16px;
  border: 1px dashed #b8cff6;
  border-radius: 14px;
  background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
}

.attack-diary-form textarea {
  min-height: 92px;
}

.attack-record-list {
  display: grid;
  gap: 12px;
}

.attack-record-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.attack-record-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.attack-record-head h3 {
  margin: 5px 0 0;
}

.attack-record-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.btn.compact {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 14px;
}

.attack-record-field {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  border-radius: 12px;
  background: #f8fbff;
  padding: 10px 12px;
}

.attack-record-field strong {
  color: var(--ink);
}

.attack-record-field span {
  color: var(--text);
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.prompt-card {
  align-content: start;
}

.prompt-textarea {
  min-height: 180px;
}

.ai-review-result {
  border: 1px solid #ffd59a;
  background: #fffaf0;
  border-radius: 8px;
  padding: 14px;
  display: grid;
  gap: 10px;
}

.review-line {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 10px;
  color: #4e5d7d;
  line-height: 1.6;
}

.review-line b {
  color: var(--ink);
}

.generated-letter {
  color: #34405d;
  line-height: 1.8;
}

.generated-letter p {
  margin: 0 0 10px;
}

.file-tracking-grid {
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(560px, 1.4fr);
  gap: 16px;
}

.file-sync-note {
  border: 1px solid #cfe0ff;
  background: #f2f7ff;
  border-radius: 8px;
  padding: 12px;
  color: #34507d;
  line-height: 1.6;
  margin-bottom: 14px;
}

.file-sync-note.warn {
  color: #b26b00;
  background: #fff8e8;
  border-color: #ffe1a3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.file-sync-note .inline-action {
  flex: 0 0 auto;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.upload-entry-grid {
  display: grid;
  gap: 12px;
}

.upload-entry-wrap {
  display: grid;
  gap: 8px;
}

.upload-entry {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 8px 12px;
  align-items: center;
  border: 1px solid var(--line);
  background: #fbfdff;
  border-radius: 8px;
  padding: 14px;
  cursor: pointer;
}

.upload-entry:hover {
  border-color: #bcd2ff;
  background: #f5f9ff;
}

.upload-entry input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.upload-icon {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #e9f1ff;
  color: var(--blue);
  font-size: 20px;
}

.upload-entry small {
  color: var(--muted);
  line-height: 1.5;
}

.selected-file-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: center;
  border: 1px solid #cfe0ff;
  background: #f2f7ff;
  border-radius: 8px;
  padding: 10px 12px;
  min-width: 0;
}

.uploaded-files {
  margin-top: 18px;
}

.uploaded-files h4 {
  margin: 0 0 10px;
}

.file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, max-content);
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid #edf2fb;
  min-width: 0;
}

.file-name {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}

.file-status {
  justify-self: end;
  max-width: 360px;
  white-space: normal;
  text-align: left;
  line-height: 1.45;
  padding-block: 5px;
}

.file-secure-actions {
  margin-top: 8px;
}

.empty-state {
  color: var(--muted);
  background: #f8fbff;
  border: 1px dashed #cfdaf0;
  border-radius: 8px;
  padding: 14px;
}

.plan-table-wrap {
  overflow-x: auto;
}

.plan-table {
  min-width: 1800px;
}

.plan-input {
  width: 100%;
}

.plan-time-pair {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
}

.plan-time-pair span {
  color: var(--muted);
  font-size: 12px;
}

.project-execution-overview {
  margin-bottom: 16px;
}

.project-lifecycle-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 4px;
}

.project-access-panel {
  margin-bottom: 16px;
}

.project-access-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.access-chip {
  align-items: center;
  background: #eef5ff;
  border: 1px solid #d6e5ff;
  border-radius: 999px;
  color: #145ee8;
  display: inline-flex;
  gap: 6px;
  font-weight: 700;
  padding: 6px 12px;
}

.access-chip-primary {
  background: #e9fff6;
  border-color: #b8efd7;
  color: #087a4b;
}

.access-chip small {
  color: inherit;
  font-size: 11px;
  font-weight: 600;
  opacity: 0.72;
}

.chip-remove {
  align-items: center;
  background: rgba(20, 94, 232, 0.1);
  border: 0;
  border-radius: 999px;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  height: 20px;
  justify-content: center;
  line-height: 1;
  margin-left: 2px;
  width: 20px;
}

.chip-remove:hover {
  background: rgba(20, 94, 232, 0.18);
}

.project-access-picker {
  display: grid;
  gap: 12px;
}

.project-access-input {
  min-height: 74px;
  resize: vertical;
}

.project-execution-title {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.meeting-session-strip {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 16px;
}

.meeting-session-chip {
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
  border: 1px solid #dbe6f8;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 12px;
}

.meeting-session-top,
.meeting-session-bottom {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.meeting-session-bottom {
  color: var(--muted);
  font-weight: 700;
}

.workflow-panel {
  margin-top: 16px;
}

.online-meeting-config {
  background: #f8fbff;
  border: 1px solid #d9e6f8;
  border-radius: 10px;
  margin: 16px 0;
  padding: 16px;
}

.online-meeting-config-head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.online-meeting-config-head h4,
.online-meeting-config-head p {
  margin: 0;
}

.online-meeting-config-head p {
  color: var(--muted);
  margin-top: 6px;
}

.online-config-progress {
  align-items: flex-end;
  display: grid;
  gap: 5px;
  justify-items: end;
  white-space: nowrap;
}

.online-config-progress small {
  color: var(--muted);
}

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

.online-config-grid label {
  display: grid;
  gap: 6px;
}

.online-config-grid label > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.online-config-grid textarea {
  min-height: 78px;
  resize: vertical;
}

.online-config-section {
  background: #fff;
  border: 1px solid #e2ebf8;
  border-radius: 8px;
  margin-top: 12px;
  padding: 14px;
}

.online-config-section h5 {
  color: #123e79;
  font-size: 14px;
  margin: 0 0 12px;
}

.online-config-full {
  grid-column: 1 / -1;
}

.required-mark {
  background: #eaf2ff;
  border-radius: 999px;
  color: #1768e5;
  font-size: 10px;
  margin-left: 6px;
  padding: 2px 6px;
}

.online-required-field:placeholder-shown:not(:focus),
select.online-required-field:invalid {
  border-color: #efc478;
}

.online-config-wide {
  grid-column: span 2;
}

.sensitive-config {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

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

@media (max-width: 680px) {
  .online-meeting-config-head {
    display: grid;
  }

  .online-config-progress {
    justify-items: start;
  }

  .online-config-grid {
    grid-template-columns: 1fr;
  }

  .online-config-wide {
    grid-column: auto;
  }
}

.workflow-view-panel {
  margin-top: 16px;
}

.workflow-view-switch {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 14px 0 10px;
}

.workflow-view-switch button {
  background: #f7faff;
  border: 1px solid #d8e4f6;
  border-radius: 8px;
  color: var(--text);
  cursor: pointer;
  display: grid;
  gap: 6px;
  min-height: 72px;
  padding: 12px;
  text-align: left;
}

.workflow-view-switch button.active {
  background: linear-gradient(135deg, #2563eb 0%, #0ea5a8 100%);
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .18);
  color: #fff;
}

.workflow-view-switch small {
  color: inherit;
  opacity: .72;
}

.workflow-progress {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: auto 120px auto;
}

.workflow-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.workflow-phase {
  border-top: 1px solid #edf2fb;
  padding-top: 14px;
}

.workflow-phase h4 {
  margin: 0 0 12px;
}

.workflow-list {
  display: grid;
  gap: 12px;
}

.workflow-node {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.workflow-node-main {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
}

.workflow-step {
  align-items: center;
  background: #eaf2ff;
  border-radius: 8px;
  color: var(--blue);
  display: flex;
  font-weight: 800;
  height: 42px;
  justify-content: center;
}

.workflow-title-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workflow-node p {
  color: #4e5d7d;
  line-height: 1.6;
  margin: 8px 0;
}

.workflow-output,
.workflow-compliance {
  display: grid;
  gap: 6px;
  grid-template-columns: 76px minmax(0, 1fr);
  line-height: 1.6;
}

.workflow-output b,
.workflow-compliance b {
  color: var(--ink);
}

.workflow-output span,
.workflow-compliance span {
  color: var(--muted);
}

.workflow-controls {
  display: grid;
  grid-template-columns: 140px minmax(150px, 1fr) 160px minmax(180px, 1.2fr);
  gap: 10px;
}

.workflow-controls label {
  display: grid;
  gap: 6px;
}

.workflow-controls label span {
  color: var(--muted);
  font-size: 12px;
}

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

.workflow-material-type {
  display: grid;
  gap: 6px;
  min-width: 220px;
}

.workflow-material-type span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.workflow-upload-button {
  position: relative;
  overflow: hidden;
}

.workflow-upload-button input {
  cursor: pointer;
  inset: 0;
  opacity: 0;
  position: absolute;
}

.workflow-selected-file {
  flex: 1 1 360px;
}

.workflow-pending-list {
  display: grid;
  flex: 1 1 100%;
  gap: 8px;
  min-width: 0;
}

.workflow-pending-list.compact {
  margin-top: 8px;
}

.workflow-pending-list .selected-file-box {
  width: 100%;
}

.workflow-pending-list .file-name {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
}

.inline-material-select {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 72px minmax(0, 1fr);
  margin-top: 10px;
  max-width: 520px;
}

.inline-material-select span {
  color: var(--muted);
  font-size: 13px;
}

.pending-file-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.workflow-archive-hint {
  align-items: start;
  background: #f8fbff;
  border: 1px dashed #cddcf5;
  border-radius: 8px;
  color: #526385;
  display: grid;
  gap: 6px;
  grid-template-columns: 76px minmax(0, 1fr);
  line-height: 1.5;
  padding: 9px 11px;
}

.workflow-archive-hint b {
  color: var(--ink);
}

.workflow-archive-hint span {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.compliance-summary {
  align-items: center;
  background: #f5fbf8;
  border: 1px solid #bdebd1;
  border-radius: 8px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.6;
  margin-top: 14px;
  padding: 12px;
}

.compliance-summary.blocked {
  background: #fff7f8;
  border-color: #ffc9d1;
}

.compliance-summary strong,
.compliance-summary span {
  display: block;
}

.compliance-review {
  background: #f8fbff;
  border: 1px solid #d7e4fb;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.compliance-review.blocked {
  background: #fff8f8;
  border-color: #ffc9d1;
}

.compliance-review-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.compliance-review-head strong,
.compliance-review-head span {
  display: block;
}

.compliance-findings {
  display: grid;
  gap: 8px;
}

.compliance-finding {
  border-left: 3px solid #9fb3d6;
  display: grid;
  gap: 4px;
  line-height: 1.55;
  padding-left: 10px;
}

.compliance-finding.block {
  border-left-color: var(--red);
}

.compliance-finding.warning {
  border-left-color: #f59e0b;
}

.compliance-finding.manual {
  border-left-color: #8b5cf6;
}

.compliance-finding.pass {
  border-left-color: #16a34a;
}

.compliance-finding.confirmed {
  background: #f4fbf7;
  border-left-color: #22c55e;
}

.compliance-finding small {
  color: var(--muted);
}

.compliance-mini {
  background: #fbfdff;
  border: 1px dashed #d7e4fb;
  border-radius: 8px;
  padding: 10px 12px;
}

.compliance-mini.ready {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.compliance-decision-dialog {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: calc(100vh - 72px);
  max-width: 1040px;
  width: min(1040px, 94vw);
}

.compliance-decision-head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding-right: 42px;
}

.compliance-decision-head h2 {
  margin-bottom: 6px;
}

.compliance-decision-summary {
  border: 1px solid #d7e4fb;
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.6;
  padding: 12px 14px;
}

.compliance-decision-summary.blocked {
  background: #fff8f8;
  border-color: #ffc9d1;
  color: #b42335;
}

.compliance-decision-summary.ready {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.compliance-decision-list {
  display: grid;
  gap: 10px;
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 4px;
}

.compliance-decision-item {
  align-items: flex-start;
  background: #f8fbff;
  border: 1px solid #d7e4fb;
  border-left: 4px solid #9fb3d6;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  padding: 14px;
}

.compliance-decision-item.block {
  border-left-color: var(--red);
}

.compliance-decision-item.warning {
  border-left-color: #f59e0b;
}

.compliance-decision-item.manual {
  border-left-color: #8b5cf6;
}

.compliance-decision-item.pass,
.compliance-decision-item.confirmed {
  background: #f4fbf7;
  border-left-color: #22c55e;
}

.compliance-decision-index {
  align-items: center;
  background: white;
  border: 1px solid #d7e4fb;
  border-radius: 999px;
  color: var(--blue);
  display: inline-flex;
  font-weight: 800;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.compliance-decision-content {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.compliance-decision-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.compliance-decision-content p {
  line-height: 1.7;
  margin: 0;
  overflow-wrap: anywhere;
}

.compliance-decision-content small {
  color: var(--muted);
  line-height: 1.6;
}

.compliance-decision-action {
  align-self: center;
}

.compliance-decision-footer {
  border-top: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 14px;
}

.compliance-folder-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.compliance-folder-list span {
  background: #f2f7ff;
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  color: #34507d;
  padding: 7px 9px;
}

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

.danger-button {
  color: var(--red);
  border-color: #ffc9d1;
  background: #fff7f8;
}

select.input-like {
  appearance: none;
}

.tiered-sponsor-select {
  appearance: auto !important;
  cursor: pointer;
  padding-right: 34px;
  border-color: #b7cdf0;
  background-color: #fff;
}

.tiered-sponsor-select:hover {
  border-color: #4f8fe8;
}

.tiered-discipline-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dce6f4;
  border-radius: 12px;
  background: #f8fbff;
}

.tiered-discipline-picker label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #cddcf1;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}

.tiered-discipline-picker label:has(input:checked) {
  border-color: #317ce8;
  background: #eaf3ff;
  color: #145fc7;
}

.tiered-config-tall {
  min-height: 210px !important;
}

.tiered-config-wide {
  grid-column: 1 / -1;
}

.tiered-config-wide textarea {
  min-height: 280px !important;
}

.tiered-schedule-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 10px;
  width: 100%;
  max-width: 100%;
}

.tiered-schedule-toolbar .actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

#tieredSponsorScheduleEditor {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.tiered-schedule-table-wrap {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #dce6f4;
  border-radius: 12px;
}

.tiered-schedule-table {
  width: 100%;
  min-width: max(100%, calc(var(--tiered-schedule-columns, 3) * 180px + 84px));
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
}

.tiered-schedule-table th,
.tiered-schedule-table td {
  min-width: 180px;
  padding: 8px;
  border-right: 1px solid #e2eaf5;
  border-bottom: 1px solid #e2eaf5;
  text-align: left;
  vertical-align: middle;
}

.tiered-schedule-table th {
  background: #f4f8fe;
}

.tiered-schedule-table th > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tiered-schedule-table th button {
  border: 0;
  background: transparent;
  color: #8a9ab2;
  font-size: 20px;
  cursor: pointer;
}

.tiered-schedule-table .input-like {
  width: 100%;
}

.tiered-schedule-table th .input-like.is-default-value {
  color: #8a9ab2;
}

.tiered-schedule-table th .input-like.is-default-value:focus {
  color: var(--ink);
}

.tiered-schedule-table .tiered-schedule-action-col,
.tiered-schedule-table td:last-child {
  min-width: 84px;
  width: 84px;
  border-right: 0;
  text-align: center;
}

.tiered-background-ai-box {
  margin: 12px 0 16px;
  padding: 14px;
  border: 1px solid #c9d9f5;
  border-radius: 14px;
  background: linear-gradient(135deg, #f7faff 0%, #fbf8ff 100%);
}

.tiered-background-ai-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tiered-background-ai-head > div {
  display: grid;
  gap: 3px;
}

.tiered-background-ai-head small {
  color: #71839f;
}

.tiered-background-ai-box .actions {
  justify-content: flex-end;
  margin-top: 10px;
}

.tiered-background-ai-result {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #c9d9f5;
}

.tiered-background-ai-result[hidden] {
  display: none;
}

.tiered-background-editor {
  min-height: 150px !important;
}

.tiered-background-ai-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: -2px 0 16px;
  padding: 10px 12px;
  border: 1px solid #d7e2f4;
  border-radius: 12px;
  background: #f8fbff;
}

.tiered-background-ai-actions > .actions {
  flex: 0 0 auto;
  margin: 0;
}

.tiered-background-ai-actions [hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  .tiered-background-ai-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .sponsor-rich-toolbar {
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: 100%;
    overflow-x: auto;
    position: relative;
    top: auto;
  }

  .sponsor-rich-toolbar select,
  .sponsor-rich-toolbar button,
  .sponsor-rich-color {
    flex: 0 0 auto;
  }
}

textarea.input-like {
  min-height: 96px;
  padding-top: 10px;
  resize: vertical;
}

.expert-picker-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.expert-invite-picker { position: relative; min-width: 0; }
.expert-invite-picker .expert-picker-list {
  position: absolute;
  inset: 100% 0 auto;
  z-index: 20;
  max-height: 340px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
  margin-top: 4px;
  background: #fff;
  border: 1px solid #d8e4f6;
  border-radius: 10px;
  box-shadow: 0 12px 28px #183c6822;
}
.expert-invite-picker .expert-picker-list[hidden],
.expert-inline-editor[hidden] { display: none; }
.expert-invite-picker .expert-create-option {
  position: sticky;
  bottom: 0;
  color: #1665db;
  background: #eef5ff;
}
.expert-invite-picker .expert-picker-list button { overflow-wrap: anywhere; }
.expert-inline-editor .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.expert-inline-editor [data-expert-profile-status] { margin-top: 10px; overflow-wrap: anywhere; }
[data-expert-picker-status]:empty { display: none; }
@media (max-width: 650px) {
  .expert-inline-editor .form-row { grid-template-columns: minmax(0, 1fr); }
}

.expert-picker-list button,
.expert-picker-empty {
  background: #f7faff;
  border: 1px solid #d8e4f6;
  border-radius: 8px;
  color: var(--text);
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  text-align: left;
}

.expert-picker-list button {
  cursor: pointer;
}

.expert-picker-list button:hover {
  border-color: #2563eb;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .12);
}

.expert-picker-list button.selected {
  background: #eef8f3;
  border-color: #33b679;
}

.expert-picker-list span,
.expert-picker-empty {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.expert-selected-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.expert-selected-chip {
  align-items: center;
  background: #f8fbff;
  border: 1px solid #d8e4f6;
  border-radius: 8px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.expert-selected-chip > div {
  flex: 1 1 auto;
  min-width: 0;
}

.expert-selected-role {
  align-items: center;
  display: grid;
  flex: 0 0 210px;
  gap: 4px;
  grid-template-columns: auto minmax(120px, 1fr);
}

.expert-selected-role > span {
  white-space: nowrap;
}

.expert-selected-role .input-like {
  min-height: 38px;
  padding: 6px 9px;
}

.expert-selected-chip span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 700;
}

.expert-selected-chip button {
  background: #fff;
  border: 1px solid #d8e4f6;
  border-radius: 999px;
  color: var(--muted);
  cursor: pointer;
  font-weight: 800;
  padding: 4px 10px;
}

.project-evidence-table {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.project-evidence-head,
.project-evidence-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .8fr) 44px;
  min-width: 0;
}

.project-evidence-head {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 0 10px;
}

.project-evidence-row {
  background: #f8fbff;
  border: 1px solid #dce7f6;
  border-radius: 8px;
  padding: 8px 10px;
}

.project-evidence-row > span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.project-evidence-row .danger-link {
  padding: 6px 0;
}

@media (max-width: 720px) {
  .expert-selected-chip {
    align-items: stretch;
    flex-direction: column;
  }

  .expert-selected-role {
    flex-basis: auto;
  }

  .project-evidence-head {
    display: none;
  }

  .project-evidence-row {
    grid-template-columns: 1fr auto;
  }

  .project-evidence-row > span {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

.work-summary-layout {
  display: grid;
  gap: 16px;
}

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

.work-form-grid .wide {
  grid-column: 1 / -1;
}

.work-table-wrap {
  overflow-x: auto;
}

.work-record-table {
  min-width: 1080px;
}

.work-record-table th:nth-child(1) { width: 112px; }
.work-record-table th:nth-child(2) { width: 120px; }
.work-record-table th:nth-child(3) { width: 210px; }
.work-record-table th:nth-child(6) { width: 220px; }
.work-record-table th:nth-child(7) { width: 90px; }

.work-cell {
  line-height: 1.55;
  max-height: 76px;
  overflow: auto;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.work-file-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.work-file-links a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.file-input {
  align-content: center;
  height: auto;
  min-height: 42px;
  padding: 8px 12px;
}

.work-uploaded-file {
  background: #f2f7ff;
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  font-size: 13px;
  gap: 4px;
  padding: 10px 12px;
}

.work-uploaded-file span {
  color: var(--muted);
}

.work-summary-controls {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(180px, 240px)) auto;
  margin-bottom: 12px;
}

.work-summary-output {
  background: #fbfdff;
  border: 1px solid var(--line);
  border-radius: 8px;
  line-height: 1.8;
  padding: 18px;
}

.work-summary-output h1,
.work-summary-output h2,
.work-summary-output h3 {
  margin: 14px 0 8px;
}

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

.opportunity-summary > div {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: var(--shadow);
}

.opportunity-summary strong {
  display: block;
  margin-top: 8px;
  font-size: 24px;
}

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

.health-summary > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
  padding: 14px;
}

.health-summary strong {
  display: block;
  margin-top: 8px;
  font-size: 22px;
}

.opportunity-table-shell {
  overflow: hidden;
}

.opportunity-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 14px;
}

.opportunity-table-wrap {
  overflow-x: scroll;
  padding-bottom: 6px;
  scrollbar-gutter: stable;
}

.opportunity-table {
  min-width: 2260px;
  table-layout: fixed;
}

.opportunity-table th,
.opportunity-table td {
  vertical-align: top;
}

.opportunity-table .col-company { width: 150px; }
.opportunity-table .col-demand { width: 280px; }
.opportunity-table .col-action { width: 250px; }
.opportunity-table .col-script { width: 260px; }
.opportunity-table .col-lead { width: 100px; }
.opportunity-table .col-source { width: 118px; }
.opportunity-table .col-time { width: 126px; }
.opportunity-table .col-content { width: 320px; }
.opportunity-table .col-assignee { width: 150px; }
.opportunity-table .col-feedback-time { width: 150px; }
.opportunity-table .col-feedback { width: 260px; }
.opportunity-table .col-status { width: 100px; }
.opportunity-table .col-operation { width: 168px; }

.opportunity-table-wrap::-webkit-scrollbar {
  height: 11px;
}

.opportunity-table-wrap::-webkit-scrollbar-track {
  background: #eef4ff;
  border-radius: 999px;
}

.opportunity-table-wrap::-webkit-scrollbar-thumb {
  background: #9eb9e8;
  border-radius: 999px;
}

.company-cell {
  display: block;
  max-width: 138px;
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.inline-select,
.inline-member-search,
.inline-date {
  background: #fff;
  border: 1px solid #cfe0fb;
  border-radius: 8px;
  color: var(--ink);
  font: inherit;
  min-height: 36px;
  outline: none;
  padding: 7px 9px;
  width: 100%;
}

.inline-assignee-control {
  display: grid;
  gap: 6px;
  position: relative;
}

.inline-check,
.check-line {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
  line-height: 1.2;
}

.inline-check input,
.check-line input {
  accent-color: var(--blue);
  margin: 0;
}

.member-search-results {
  background: #fff;
  border: 1px solid #cfe0fb;
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(15, 35, 75, 0.16);
  display: none;
  left: 0;
  max-height: 260px;
  min-width: 220px;
  overflow: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 40px;
  z-index: 30;
}

.member-search-results.open {
  display: grid;
  gap: 4px;
}

.member-search-option {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  text-align: left;
  width: 100%;
}

.member-search-option:hover {
  background: #eef5ff;
}

.member-search-option span,
.member-search-empty {
  color: var(--muted);
  font-size: 12px;
}

.member-search-empty {
  padding: 8px 9px;
}

.inline-select,
.inline-member-search {
  cursor: pointer;
}

.inline-select:focus,
.inline-member-search:focus,
.inline-date:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(38, 105, 255, 0.14);
}

.inline-select.is-saving,
.inline-member-search.is-saving,
.inline-date.is-saving {
  opacity: 0.6;
}

.inline-select.is-saved,
.inline-member-search.is-saved,
.inline-date.is-saved {
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14);
}

.text-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  max-width: 100%;
}

.text-preview-cell {
  align-items: start;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: zoom-in;
  display: grid;
  font: inherit;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 28px;
  margin: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

.text-preview-cell:hover {
  color: var(--blue);
}

.text-preview-copy {
  min-width: 0;
}

.text-zoom-button {
  align-items: center;
  background: #eef5ff;
  border: 1px solid #c7dcff;
  border-radius: 999px;
  cursor: zoom-in;
  display: inline-flex;
  height: 26px;
  justify-content: center;
  padding: 0;
  position: relative;
  width: 26px;
}

.text-zoom-button::before {
  content: "";
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: var(--blue);
}

.text-zoom-button::after {
  content: "";
  width: 6px;
  height: 2px;
  background: var(--blue);
  position: absolute;
  right: 6px;
  top: 16px;
  transform: rotate(45deg);
}

.text-preview-cell:hover .text-zoom-button {
  background: var(--blue);
  border-color: var(--blue);
}

.text-preview-cell:hover .text-zoom-button::before {
  color: white;
}

.text-preview-cell:hover .text-zoom-button::after {
  background: white;
}

.opportunity-scroll-control {
  align-items: center;
  background: #edf5ff;
  border: 1px solid #b9d2ff;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: 128px 34px 1fr 34px;
  margin: 0 0 12px;
  padding: 12px 14px;
}

.opportunity-scroll-control span {
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 700;
}

.table-scroll-range {
  accent-color: var(--blue);
  cursor: grab;
  height: 34px;
  width: 100%;
}

.table-scroll-range:active {
  cursor: grabbing;
}

.table-scroll-step {
  align-items: center;
  background: white;
  border: 1px solid #b9d2ff;
  border-radius: 8px;
  color: var(--blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 24px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  line-height: 1;
  padding: 0;
}

.table-scroll-step:hover {
  background: var(--blue);
  color: white;
}

.row-actions {
  white-space: nowrap;
}

.row-actions .link + .link {
  margin-left: 10px;
}

.two-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.kanban {
  display: grid;
  grid-template-columns: repeat(5, minmax(230px, 1fr));
  gap: 14px;
  overflow-x: auto;
}

.kanban-col {
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.kanban-col h3 {
  margin: 0 0 12px;
  font-size: 15px;
}

.doc-grid,
.expert-grid,
.report-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mini-chart {
  height: 180px;
  display: flex;
  align-items: end;
  gap: 12px;
  padding: 18px 8px 8px;
}

.bar {
  flex: 1;
  background: linear-gradient(180deg, #1769ff, #5eb3ff);
  border-radius: 6px 6px 0 0;
  min-height: 24px;
}

.assistant-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
}

.aigc-layout {
  display: grid;
  gap: 16px;
  grid-template-columns: 260px minmax(0, 1fr) minmax(360px, 0.9fr);
}

.sponsor-letter-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(340px, 0.92fr) minmax(460px, 1.08fr);
}

.sponsor-letter-form,
.sponsor-letter-preview {
  min-width: 0;
}

.sponsor-draft-box {
  margin-bottom: 16px;
}

.sponsor-library-search {
  margin-bottom: 12px;
}

.sponsor-draft-list {
  display: grid;
  gap: 10px;
}

.sponsor-draft-item {
  align-items: center;
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px;
}

.sponsor-draft-item.active {
  border-color: #1769ff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.1);
}

.sponsor-draft-item strong {
  color: var(--ink);
  display: block;
}

.sponsor-draft-item small {
  color: var(--muted);
  display: block;
  font-weight: 700;
  margin-top: 4px;
}

.sponsor-letter-form .form-field textarea {
  min-height: 92px;
  resize: vertical;
}

.sponsor-approval-card {
  background: linear-gradient(180deg, #f8fbff, #ffffff);
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
  padding: 12px;
}

.sponsor-approval-card > div:first-child {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.sponsor-seal-message-preview {
  background: #fff;
  border: 1px solid #d9e6fb;
  border-radius: 8px;
  color: #334155;
  line-height: 1.75;
  padding: 12px 14px;
}

.sponsor-seal-version-list {
  display: grid;
  gap: 6px;
}

.sponsor-seal-version-list a {
  color: #1769ff;
  font-size: 13px;
  font-weight: 700;
}

.sponsor-review-actions {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 100%;
  width: 100%;
}

.sponsor-review-actions .btn {
  font-size: 14px;
  min-height: 36px;
  padding: 7px 12px;
  white-space: nowrap;
}

.sponsor-review-pair {
  background: #f8fbff;
  border: 1px solid #d9e6fb;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
  min-width: 0;
  padding: 10px;
}

.sponsor-review-pair .btn {
  min-width: 62px;
  padding-left: 8px;
  padding-right: 8px;
}

.sponsor-send-row {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-height: 32px;
}

.sponsor-send-row small {
  color: #98a2b3;
  font-size: 11px;
  line-height: 1.25;
  min-width: 0;
}

.sponsor-send-row .btn {
  flex: 0 0 auto;
}

.sponsor-review-field {
  display: grid;
  gap: 6px;
  margin: 0;
  min-width: 0;
}

.sponsor-review-field .input-like {
  min-width: 0;
  width: 100%;
}

.sponsor-review-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.sponsor-review-field.is-disabled {
  opacity: 0.62;
}

.sponsor-review-status-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 12px;
}

.sponsor-review-status {
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
}

.sponsor-review-status strong {
  color: var(--ink);
}

.sponsor-review-status span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.sponsor-review-status.passed {
  background: #effbf5;
  border-color: #bfe5d0;
}

.sponsor-review-status.rejected,
.sponsor-review-status.send_failed {
  background: #fff4f1;
  border-color: #ffd2c8;
}

.sponsor-review-status.sent,
.sponsor-review-status.sending {
  background: #f0f7ff;
  border-color: #bfdbfe;
}

.sponsor-review-status.stale {
  background: #fff8e5;
  border-color: #ffe0a3;
}

.sponsor-review-panel {
  background: #f8fbff;
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin: 0 0 12px;
  padding: 14px;
}

.sponsor-review-panel > div:first-child {
  display: grid;
  gap: 4px;
}

.sponsor-review-panel strong {
  color: var(--ink);
  font-size: 17px;
}

.sponsor-review-panel span {
  color: var(--muted);
  font-weight: 700;
}

.sponsor-review-page {
  display: grid;
  gap: 16px;
}

.sponsor-review-document,
.sponsor-review-submit {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.sponsor-review-page-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.sponsor-review-page-head > div {
  flex: 1 1 260px;
  min-width: 0;
}

.sponsor-review-page-head > .tag {
  flex: 0 1 auto;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

.sponsor-review-page-head strong,
.sponsor-review-page-head span {
  display: block;
}

.sponsor-review-page-head strong {
  color: var(--ink);
  font-size: 18px;
}

.sponsor-review-page-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  margin-top: 4px;
}

.sponsor-review-readonly {
  cursor: default;
  margin: 0 auto;
  max-width: 900px;
  min-height: 0;
  width: 100%;
}

.sponsor-review-document-preview {
  background: transparent;
  border: 0;
  border-radius: 0;
  min-height: 0;
  overflow: visible;
}

.sponsor-review-inline-preview {
  width: 100%;
}

.sponsor-review-inline-preview .sponsor-review-readonly {
  min-height: 0;
}

.sponsor-review-format-note {
  align-items: center;
  background: #f8fbff;
  border-bottom: 1px solid #d7e0ec;
  color: var(--muted);
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 12px;
}

.sponsor-review-pdf-frame {
  background: #eef3f9;
  border: 0;
  display: block;
  height: min(1120px, 78vh);
  min-height: 720px;
  width: 100%;
}

.sponsor-review-page-images {
  display: grid;
  gap: 24px;
  padding: 22px;
  background: #e9eef5;
}

.sponsor-review-page-image {
  width: min(100%, 960px);
  margin: 0 auto;
}

.sponsor-review-page-image img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 8px 28px rgba(23, 43, 77, 0.15);
}

.sponsor-review-page-image figcaption {
  padding-top: 8px;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}

.sponsor-review-format-loading {
  align-items: center;
  color: var(--muted);
  display: flex;
  gap: 10px;
  justify-content: center;
  min-height: 760px;
}

.sponsor-review-preview-error {
  align-content: center;
  display: grid;
  gap: 8px;
  justify-items: center;
  min-height: 720px;
}

.sponsor-review-submit textarea {
  min-height: 110px;
  resize: vertical;
}

.sponsor-review-submit-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.sponsor-review-submit-actions .btn {
  min-height: 38px;
  min-width: 92px;
  padding: 8px 16px;
}

.sponsor-stamped-grid {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(180px, 0.8fr) minmax(240px, 1.2fr) auto;
}

.sponsor-small-textarea {
  min-height: 58px !important;
}

.sponsor-format-grid {
  background: linear-gradient(180deg, #f8fbff, #ffffff);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 10px;
}

.sponsor-format-grid label {
  align-items: center;
  color: var(--ink);
  display: flex;
  font-weight: 700;
  gap: 8px;
  min-height: 32px;
}

.sponsor-format-count-grid label {
  align-items: center;
  display: grid;
  grid-template-columns: auto minmax(70px, 1fr) minmax(76px, 96px);
}

.sponsor-count-input {
  min-height: 34px;
  padding: 6px 8px;
}

.sponsor-pricing-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.sponsor-pricing-head,
.sponsor-pricing-row {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(150px, 1fr) minmax(78px, 110px) minmax(130px, 180px) 78px;
}

.sponsor-pricing-head {
  background: #eef3fb;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.sponsor-pricing-head span,
.sponsor-pricing-row > * {
  border-bottom: 1px solid var(--line);
  padding: 8px;
}

.sponsor-pricing-row:last-child > * {
  border-bottom: 0;
}

.sponsor-pricing-row .input-like {
  border-radius: 6px;
  min-height: 38px;
}

.sponsor-pricing-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.sponsor-pricing-footer strong {
  color: #1769ff;
  font-size: 15px;
}

.sponsor-pricing-hidden {
  display: none;
}

.sponsor-risk-panel {
  background: #effbf5;
  border: 1px solid #bfe5d0;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 12px;
}

.sponsor-risk-panel.has-risk {
  background: #fff4f1;
  border-color: #ffd2c8;
}

.sponsor-risk-panel strong {
  color: var(--ink);
}

.sponsor-risk-headline {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.sponsor-risk-panel div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sponsor-risk-panel .sponsor-risk-list {
  display: grid;
  gap: 10px;
  width: 100%;
}

.sponsor-risk-item {
  background: #fff;
  border: 1px solid #fecaca;
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 10px 12px;
}

.sponsor-risk-item.ignored {
  background: #f8fafc;
  border-color: #dbe5f3;
  opacity: 0.78;
}

.sponsor-risk-line {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sponsor-risk-panel span {
  background: #fff;
  border: 1px solid rgba(23, 105, 255, 0.16);
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  padding: 5px 9px;
}

.sponsor-risk-panel.has-risk span {
  border-color: rgba(216, 55, 55, 0.24);
  color: #b42318;
}

.sponsor-risk-item .sponsor-risk-word {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
  font-weight: 800;
}

.sponsor-risk-item .sponsor-risk-tag {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #be123c;
}

.sponsor-risk-item .sponsor-risk-ignored-label {
  background: #eef7f1;
  border-color: #bfdfca;
  color: #16794a;
}

.sponsor-risk-item p {
  color: #53627c;
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}

.sponsor-risk-item p strong {
  color: var(--ink);
}

.sponsor-project-link-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  max-height: 320px;
  overflow: auto;
}

.sponsor-project-link-item {
  background: #f8fbff;
  border: 1px solid #d9e6fb;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  text-align: left;
}

.sponsor-project-link-item:hover {
  background: #eef5ff;
  border-color: #9ec5ff;
}

.sponsor-project-link-item small {
  color: var(--muted);
}

.sponsor-letter-editor {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  color: #102045;
  font-size: 15px;
  line-height: 1.85;
  min-height: 620px;
  outline: none;
  padding: 24px;
}

.sponsor-rich-toolbar {
  align-items: center;
  background: rgba(247, 250, 255, 0.96);
  border: 1px solid #c9d9f4;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 auto 10px;
  max-width: 860px;
  padding: 8px 10px;
  position: sticky;
  top: 8px;
  z-index: 5;
}

.sponsor-rich-toolbar select {
  height: 34px;
  min-width: 96px;
  padding: 4px 8px;
  width: auto;
}

.sponsor-rich-toolbar button {
  align-items: center;
  background: #fff;
  border: 1px solid #c9d9f4;
  border-radius: 6px;
  color: #143266;
  cursor: pointer;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-width: 34px;
  padding: 0 9px;
}

.sponsor-rich-toolbar button:hover {
  background: #eaf2ff;
  border-color: #8eb5f3;
}

.sponsor-rich-divider {
  background: #c9d9f4;
  height: 24px;
  margin: 0 2px;
  width: 1px;
}

.sponsor-rich-color {
  align-items: center;
  color: #143266;
  display: inline-flex;
  font-size: 13px;
  gap: 5px;
}

.sponsor-rich-color input {
  background: #fff;
  border: 1px solid #c9d9f4;
  border-radius: 6px;
  cursor: pointer;
  height: 34px;
  padding: 3px;
  width: 42px;
}

.sponsor-letter-editor font {
  line-height: inherit;
}

.sponsor-letter-redhead {
  border-color: #e7d6d6;
  box-shadow: 0 18px 45px rgba(17, 24, 39, 0.08);
  margin: 0 auto;
  max-width: 860px;
  padding: 26px 44px 42px;
  position: relative;
}

.sponsor-letter-redhead::before {
  background: url("./assets/sponsor-letter-header.png") center top / contain no-repeat;
  content: "";
  display: block;
  margin: 0 auto 24px;
  max-width: 720px;
  aspect-ratio: 1301 / 309;
}

.sponsor-letter-redhead::after {
  content: none;
}

.sponsor-letter-editor h2 {
  border-bottom: 0;
  color: #071a3d;
  font-size: 26px;
  line-height: 1.35;
  margin: 0 0 22px;
  padding-bottom: 0;
  text-align: center;
}

.sponsor-letter-editor h3 {
  color: #0f3f91;
  font-size: 18px;
  line-height: 1.5;
  margin: 24px 0 8px;
  padding-left: 12px;
  position: relative;
}

.sponsor-letter-editor h3::before {
  background: #1769ff;
  border-radius: 999px;
  content: "";
  height: 18px;
  left: 0;
  position: absolute;
  top: 5px;
  width: 4px;
}

.sponsor-letter-editor p {
  color: #243453;
  margin: 0 0 12px;
  text-align: justify;
}

.sponsor-letter-editor p + p {
  margin-top: 8px;
}

.sponsor-letter-table {
  border-collapse: collapse;
  margin: 14px 0 18px;
  overflow-wrap: anywhere;
  width: 100%;
}

.sponsor-letter-table th,
.sponsor-letter-table td {
  border: 1px solid #c7d5ee;
  color: #172748;
  line-height: 1.6;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.sponsor-letter-table th {
  background: #f0f5ff;
  color: #0f285b;
  font-weight: 800;
  text-align: center;
}

.sponsor-letter-table td:nth-child(2) {
  text-align: center;
  white-space: nowrap;
}

.sponsor-letter-editor:focus {
  border-color: #a8c5ff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.08);
}

.aigc-tool {
  background: #f7faff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 8px;
  padding: 14px;
  text-align: left;
  width: 100%;
}

.aigc-tool.active {
  border-color: #a8c5ff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.08);
}

.aigc-tool small {
  color: var(--muted);
  line-height: 1.55;
}

.aigc-records {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
}

.aigc-record-list {
  display: grid;
  gap: 8px;
}

.aigc-record-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 5px;
  padding: 10px;
  text-align: left;
}

.aigc-record-item:hover {
  border-color: #a8c5ff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.06);
}

.aigc-record-item strong {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aigc-record-item span {
  color: var(--muted);
  font-size: 12px;
}

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

.aigc-focus {
  min-height: 76px;
  resize: vertical;
}

.compact-actions {
  margin: 10px 0 4px;
}

.aigc-terms-box {
  background: #fbfdff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
}

.panel-head.slim {
  margin-bottom: 0;
}

.panel-head.slim h3 {
  font-size: 16px;
}

.aigc-term-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.aigc-term-chip {
  align-items: center;
  background: #edf4ff;
  border: 1px solid #cfe0ff;
  border-radius: 999px;
  color: var(--ink);
  display: inline-flex;
  gap: 6px;
  max-width: 100%;
  padding: 6px 10px;
}

.aigc-term-chip button {
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0;
}

.aigc-term-add {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.aigc-upload {
  align-items: center;
  background: linear-gradient(180deg, #eef5ff, #ffffff);
  border: 2px dashed #1769ff;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 6px;
  justify-items: center;
  margin: 0 0 16px;
  padding: 28px 22px;
  text-align: center;
}

.aigc-upload strong {
  color: var(--blue);
  font-size: 20px;
}

.aigc-upload input {
  display: none;
}

.aigc-upload small {
  color: var(--muted);
  max-width: 100%;
  overflow-wrap: anywhere;
}

.aigc-file-list {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.aigc-transcript {
  min-height: 220px;
  resize: vertical;
}

.aigc-status {
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.55;
  margin: 10px 0;
  padding: 10px 12px;
}

.aigc-status:empty {
  display: none;
}

.aigc-status.is-ok {
  background: #eefbf5;
  color: #087a45;
}

.aigc-status.is-error {
  background: #fff1f1;
  color: #c82333;
}

.aigc-progress-card {
  background: #f7faff;
  border: 1px solid #cfe0ff;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin: 10px 0;
  padding: 12px;
}

.aigc-progress-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.aigc-progress-head span {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

.aigc-progress-track {
  background: #dfe9fb;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  position: relative;
}

.aigc-progress-track span {
  background: linear-gradient(90deg, #1769ff, #5eb3ff);
  border-radius: inherit;
  height: 100%;
  left: 0;
  position: absolute;
  transition: width 0.25s ease;
  width: 8%;
}

.aigc-preview {
  max-height: calc(100vh - 150px);
  overflow: auto;
}

.notify-status-text {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  margin-top: 6px;
  max-width: 150px;
  overflow-wrap: anywhere;
}

.aigc-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.aigc-wechat-editor {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  min-height: 520px;
  outline: none;
  padding: 20px;
}

.aigc-wechat-editor:focus {
  border-color: #a8c5ff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.08);
}

.toast-message {
  background: rgba(10, 25, 60, 0.94);
  border-radius: 8px;
  bottom: 28px;
  box-shadow: var(--shadow);
  color: #fff;
  font-weight: 700;
  left: 50%;
  padding: 12px 18px;
  position: fixed;
  transform: translateX(-50%);
  z-index: 2000;
}

.article-preview {
  color: #283755;
  line-height: 1.9;
}

.article-preview h1,
.article-preview h2,
.article-preview h3 {
  color: var(--ink);
}

.article-preview p {
  margin: 0 0 14px;
}

.article-bullet {
  background: #f7faff;
  border-left: 3px solid var(--blue);
  padding: 8px 10px;
}

.chat {
  height: calc(100vh - 170px);
  display: grid;
  grid-template-rows: 1fr auto;
}

.messages {
  overflow: auto;
  padding: 18px;
  display: grid;
  gap: 14px;
  align-content: start;
}

.message {
  max-width: 72%;
  border-radius: 10px;
  padding: 12px 14px;
  line-height: 1.7;
  background: #f0f5ff;
}

.message.user-msg {
  justify-self: end;
  background: var(--blue);
  color: white;
}

.chat-input {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid var(--line);
}

.chat-input input {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
}

.drawer {
  position: fixed;
  inset: 0;
  background: rgba(8, 20, 45, 0.28);
  z-index: 40;
  display: none;
}

.drawer.open {
  display: block;
}

.drawer-panel {
  margin-left: auto;
  width: min(560px, 92vw);
  min-height: 100%;
  background: white;
  padding: 24px;
  box-shadow: -18px 0 34px rgba(8, 20, 45, 0.18);
}

.drawer.wide .drawer-panel {
  width: min(860px, 94vw);
}

.drawer.project-create-drawer .drawer-panel {
  width: min(1180px, 96vw);
  padding: 0;
  overflow-x: hidden;
}

.project-create-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
  min-width: 0;
  overflow-x: hidden;
}

.project-create-nav {
  background: linear-gradient(180deg, #0d2b5c, #092042);
  color: #fff;
  padding: 28px 22px;
  position: sticky;
  top: 0;
  height: 100vh;
}

.project-create-nav-title {
  border-bottom: 1px solid rgba(255,255,255,0.18);
  margin-bottom: 20px;
  padding-bottom: 18px;
}

.project-create-nav-title h2 {
  color: #fff;
  font-size: 28px;
  margin: 14px 0 8px;
}

.project-create-nav-title p,
.project-create-nav a small {
  color: rgba(235,242,255,0.76);
}

.project-create-nav a {
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  color: #fff;
  display: grid;
  gap: 4px;
  grid-template-columns: 34px 1fr;
  margin-bottom: 12px;
  padding: 13px;
  text-decoration: none;
}

.project-create-nav a strong {
  align-items: center;
  background: rgba(255,255,255,0.14);
  border-radius: 50%;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.project-create-nav a span,
.project-create-nav a small {
  grid-column: 2;
}

.project-create-nav a span {
  font-weight: 800;
}

.project-create-form {
  background: #f6f8fc;
  display: grid;
  gap: 16px;
  max-height: 100vh;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 28px;
}

.project-create-section {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(8, 20, 45, 0.06);
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 22px;
}

.project-create-section.project-name-first {
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.08);
}

.project-marketing-initiation-details {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid #dbe7f4;
}

/* Keep the project workflow operational and remove secondary system copy. */
.project-create-nav-title p,
.project-create-nav > a small,
.project-create-form .field-hint,
.project-create-form .panel-head .muted,
.project-create-form .project-action-card p,
.project-create-form .project-retention-title p {
  display: none;
}

.project-name-input {
  font-size: 18px;
  font-weight: 800;
}

.project-client-list {
  display: grid;
  gap: 10px;
}

.project-client-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(240px, 1fr) auto;
}

.project-client-row .member-combobox {
  min-width: 0;
}

.project-client-row.unrestricted-selection .enterprise-client-input {
  border-style: dashed;
  background: #f8fbff;
}

.project-contact-picker {
  position: relative;
}

.project-contact-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 42px;
  padding: 8px;
  border: 1px solid #dbe7f4;
  border-radius: 10px;
  background: #f8fbff;
}

.project-contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 6px 8px 6px 10px;
  border: 1px solid #bdd4ff;
  border-radius: 999px;
  background: #fff;
  color: #174ea6;
  font-size: 12px;
}

.project-contact-chip strong {
  overflow-wrap: anywhere;
}

.project-contact-chip button {
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #eaf2ff;
  color: #3765a8;
  cursor: pointer;
}

.project-contact-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr);
  gap: 10px;
  align-items: start;
}

.project-contact-combobox {
  position: relative;
  z-index: 92;
}

.project-contact-picker.open .project-contact-options {
  display: grid;
  gap: 4px;
}

.project-contact-option small {
  color: #72809a;
  font-size: 11px;
}

.project-contact-create {
  border-top: 1px solid #e2ebf8;
  color: var(--blue);
  margin-top: 2px;
}

.project-contact-add-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 12px;
  border: 1px solid #bcd3fa;
  border-radius: 10px;
  background: #f7faff;
}

.project-contact-add-panel[hidden] {
  display: none;
}

.project-contact-add-panel > strong,
.project-contact-add-panel > .actions {
  grid-column: 1 / -1;
}

@media (max-width: 720px) {
  .project-contact-toolbar,
  .project-contact-add-panel {
    grid-template-columns: 1fr;
  }

  .project-contact-add-panel > strong,
  .project-contact-add-panel > .actions {
    grid-column: auto;
  }
}

.project-client-exclusivity > span em,
.non-exclusive-requirement > span em {
  color: #d92d20;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.project-exclusivity-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.project-exclusivity-options label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 9px;
  row-gap: 2px;
  padding: 11px 13px;
  border: 1px solid #dbe7f4;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.project-exclusivity-options label:has(input:checked) {
  border-color: #4382f7;
  background: #eef5ff;
  box-shadow: 0 0 0 1px rgba(67, 130, 247, 0.12);
}

.project-exclusivity-options input {
  grid-row: 1 / span 2;
}

.project-exclusivity-options strong {
  color: #14213d;
  font-size: 12px;
}

.project-exclusivity-options small {
  color: #7d8ba3;
  font-size: 9px;
}

.non-exclusive-requirement {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.non-exclusive-requirement[hidden] {
  display: none;
}

.non-exclusive-requirement textarea {
  min-height: 88px;
  resize: vertical;
}

.project-product-link-field {
  margin-top: 4px;
  padding: 14px;
  border: 1px solid #cfe1f6;
  border-radius: 8px;
  background: #f8fbff;
}

.project-product-link-field > .panel-head strong {
  color: #1769ff;
  font-size: 12px;
}

.project-product-link-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.project-product-selected:empty {
  display: none;
}

.project-product-selected {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-top: 10px;
}

.project-product-selected > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.project-product-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid #bfd5ff;
  border-radius: 999px;
  color: #1858c8;
  background: #eef5ff;
  font-size: 10px;
}

.project-product-chip strong {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.project-product-chip strong small {
  color: #6f83a5;
  font-size: 9px;
  font-weight: 500;
}

.project-product-chip button {
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #dce9ff;
  color: #3765a8;
  cursor: pointer;
}

.project-product-linker {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.project-product-combobox {
  position: relative;
  z-index: 91;
}

.project-product-combobox.open .project-product-suggestions {
  display: grid;
  gap: 4px;
}

.project-product-suggestion span,
.project-product-create span {
  color: var(--muted);
  font-size: 11px;
}

.project-product-create {
  border-top: 1px solid #e2ebf8;
  color: var(--blue);
  margin-top: 2px;
}

.project-product-add-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 12px;
  border: 1px solid #bcd3fa;
  border-radius: 10px;
  background: #f7faff;
}

.project-product-add-panel > strong,
.project-product-add-panel > .actions {
  grid-column: 1 / -1;
}

@media (max-width: 720px) {
  .project-product-add-panel {
    grid-template-columns: 1fr;
  }

  .project-product-add-panel > strong,
  .project-product-add-panel > .actions {
    grid-column: auto;
  }
}

.project-product-company {
  padding: 12px;
  border: 1px solid #dbe7f4;
  border-radius: 8px;
  background: #fff;
}

.project-product-company > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.project-product-company > header > div strong,
.project-product-company > header > div small {
  display: block;
}

.project-product-company > header > div strong {
  color: #14213d;
  font-size: 14px;
}

.project-product-company > header > div small,
.project-product-company > header > em {
  margin-top: 3px;
  color: #7d8ba3;
  font-size: 10px;
  font-style: normal;
}

.project-product-company > header label {
  display: grid;
  grid-template-columns: auto minmax(160px, 240px);
  align-items: center;
  gap: 7px;
  color: #667085;
  font-size: 10px;
}

.project-product-company > header select {
  min-height: 36px;
  padding: 0 9px;
}

.project-product-search {
  display: grid;
  grid-template-columns: auto minmax(200px, 1fr);
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #667085;
  font-size: 10px;
}

.project-product-search input {
  min-height: 36px;
}

.project-product-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-height: 260px;
  overflow: auto;
}

.project-product-options > label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid #e4eaf2;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

.project-product-options > label:has(input:checked) {
  border-color: #7aa7ff;
  background: #eef5ff;
}

.project-product-options span strong,
.project-product-options span small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-product-options span strong {
  color: #14213d;
  font-size: 11px;
}

.project-product-options span small {
  margin-top: 2px;
  color: #7d8ba3;
  font-size: 9px;
}

.product-related-project-list {
  display: grid;
  gap: 7px;
}

.product-project-cell {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: 130px;
}

.product-project-cell button {
  max-width: 190px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1769ff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #bfd2ff;
  text-underline-offset: 2px;
}

.product-project-cell button:hover {
  color: #084ec4;
  text-decoration-color: currentColor;
}

.product-project-cell small,
.product-project-empty {
  color: #8a97aa;
  font-size: 9px;
}

.product-related-project-list > button {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(120px, .7fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.product-related-project-list > button:hover {
  border-color: #7aa7ff;
  background: #f8fbff;
}

.product-related-project-list span strong,
.product-related-project-list span small {
  display: block;
}

.product-related-project-list span strong {
  color: #1769ff;
  font-size: 13px;
}

.product-related-project-list span small {
  margin-top: 3px;
  color: #7d8ba3;
  font-size: 9px;
}

.product-related-project-list span b {
  color: #344054;
  font-size: 11px;
}

.product-related-project-list em {
  color: #1769ff;
  font-size: 10px;
  font-style: normal;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .project-product-company > header,
  .project-product-company > header label,
  .project-product-search,
  .product-related-project-list > button {
    grid-template-columns: 1fr;
  }

  .project-product-company > header {
    align-items: stretch;
    flex-direction: column;
  }

  .project-product-options {
    grid-template-columns: 1fr;
  }
}

.section-kicker {
  color: var(--brand);
  font-size: 13px;
  font-weight: 900;
}

.project-create-section textarea.input-like {
  min-height: 92px;
  resize: vertical;
}

.project-action-grid {
  display: grid;
  gap: 14px;
}

.project-action-card {
  background: #f8fbff;
  border: 1px solid #d9e6f7;
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 54px minmax(0, 1fr);
  min-width: 0;
  padding: 16px;
}

.project-action-card.primary-action {
  background: linear-gradient(180deg, #eef7ff, #fff);
  border-color: #bfd7ff;
}

.project-marketing-steps-head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  padding: 2px 2px 0;
}

.project-marketing-steps-head h3 {
  margin: 4px 0 0;
}

.project-marketing-steps-head small {
  color: var(--muted);
  font-weight: 750;
}

.project-marketing-step-list {
  counter-reset: marketing-step;
}

.project-marketing-step-list > .project-action-card {
  position: relative;
}

.project-marketing-step-list > .project-action-card:not(:last-child)::after {
  background: #c9d9ef;
  bottom: -15px;
  content: "";
  height: 15px;
  left: 42px;
  position: absolute;
  width: 2px;
}

.project-action-card-compact {
  align-items: center;
  padding-block: 12px;
}

.project-step-compact-body {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.project-step-compact-body h4,
.project-step-compact-body p {
  margin: 0;
}

.project-step-compact-body p {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.project-step-compact-body .btn {
  min-height: 34px;
  padding: 6px 13px;
  white-space: nowrap;
}

.project-sponsor-quick-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.project-sponsor-quick-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #d9e6f7;
  border-radius: 8px;
  background: #f8fbff;
}

.project-sponsor-quick-card .project-action-index {
  width: 34px;
  height: 34px;
  font-size: 11px;
}

.project-sponsor-quick-copy h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}

.project-sponsor-quick-copy p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
}

.project-sponsor-quick-card .btn {
  width: auto;
  min-height: 34px;
  padding: 6px 13px;
  white-space: nowrap;
}

.bpm-project-link-demo {
  display: grid;
  grid-template-columns: minmax(260px, 420px) max-content max-content max-content;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}

.bpm-project-link-demo .btn {
  min-height: 42px;
  margin-bottom: 1px;
  white-space: nowrap;
}

.bpm-link-state {
  pointer-events: none;
  border-width: 1px;
  box-shadow: none;
}

.bpm-link-state.is-unlinked {
  border-color: #d7dfec;
  background: #f2f5f9;
  color: #70809a;
}

.bpm-link-state.is-linked {
  border-color: #b9e6d0;
  background: #eaf8f1;
  color: #168252;
}

.bpm-detail-entry:disabled {
  cursor: not-allowed;
  border-color: #e1e6ef;
  background: #f7f8fb;
  color: #a0a9b8;
  opacity: 1;
}

@media (max-width: 900px) {
  .project-sponsor-quick-actions {
    grid-template-columns: 1fr;
  }

  .bpm-project-link-demo {
    grid-template-columns: minmax(240px, 1fr) repeat(2, max-content);
  }

  .bpm-project-link-demo .form-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .project-sponsor-quick-card {
    grid-template-columns: 34px minmax(0, 1fr) auto;
  }

  .project-sponsor-quick-card .tag {
    display: none;
  }

  .bpm-project-link-demo {
    grid-template-columns: 1fr;
  }

  .bpm-project-link-demo .btn {
    width: 100%;
  }

  .project-step-compact-body {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .project-step-compact-body .tag {
    display: none;
  }
}

.project-action-card.project-handoff-card {
  background: #f7fff9;
  border-color: #bce8c9;
}

.marketing-requirement-card {
  grid-column: 1 / -1;
}

.marketing-requirement-empty {
  display: grid;
  gap: 4px;
  margin: 10px 0 12px;
  padding: 14px;
  border: 1px dashed #9fceb0;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.78);
}

.marketing-requirement-empty small {
  color: var(--muted);
}

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

.marketing-requirement-summary > div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid #d7e7dc;
  border-radius: 8px;
  background: #fff;
}

.marketing-requirement-summary span,
.marketing-requirement-flow small {
  color: var(--muted);
  font-size: 10px;
}

.marketing-requirement-document {
  overflow: hidden;
  margin: 14px 0;
  border: 1px solid #cfe1d5;
  border-radius: 10px;
  background: #fff;
}

.marketing-requirement-document-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #edf9f1, #f7fbff);
  border-bottom: 1px solid #d8e8dd;
}

.marketing-requirement-document-head > div {
  display: grid;
  gap: 3px;
}

.marketing-requirement-document-head span,
.marketing-requirement-document-head em,
.marketing-requirement-caption {
  color: #667a70;
  font-size: 12px;
  font-style: normal;
}

.marketing-requirement-document-head strong {
  color: #173e2c;
  font-size: 20px;
}

.marketing-requirement-block {
  padding: 14px 18px;
  border-bottom: 1px solid #edf2ef;
}

.marketing-requirement-block:last-child {
  border-bottom: 0;
}

.marketing-requirement-block h5 {
  margin: 0 0 10px;
  color: #173e2c;
  font-size: 15px;
}

.marketing-requirement-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0;
}

.marketing-requirement-fields > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px dashed #e5ece8;
}

.marketing-requirement-fields > .wide {
  grid-column: 1 / -1;
}

.marketing-requirement-fields dt {
  color: #718078;
  font-size: 12px;
}

.marketing-requirement-fields dd {
  margin: 0;
  color: #20352b;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.marketing-requirement-products {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.marketing-requirement-products > span {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid #d9e8de;
  border-radius: 8px;
  background: #f8fcf9;
}

.marketing-requirement-products strong {
  color: #264b38;
  font-size: 12px;
}

.marketing-requirement-products small {
  color: #72837a;
  font-size: 10px;
}

.marketing-requirement-retention {
  display: grid;
  gap: 18px;
  margin-top: 12px;
}

.marketing-requirement-retention-category {
  border-top: 2px solid #cfe1d5;
}

.marketing-requirement-retention-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 2px 8px;
}

.marketing-requirement-retention-head h6 {
  margin: 0;
  color: #173e2c;
  font-size: 14px;
}

.marketing-requirement-retention-head span {
  color: #65796e;
  font-size: 11px;
  font-weight: 750;
}

.marketing-requirement-retention-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid #e2ebe5;
  list-style: none;
}

.marketing-requirement-retention-list li {
  display: grid;
  grid-template-columns: 28px minmax(210px, 1.15fr) minmax(90px, 0.38fr) minmax(260px, 1.7fr);
  align-items: start;
  gap: 12px;
  padding: 10px 4px;
  border-bottom: 1px solid #e7eee9;
}

.marketing-requirement-retention-list li > b {
  color: #7a8b82;
  font-size: 11px;
  line-height: 1.55;
  text-align: right;
}

.marketing-requirement-retention-list li > div {
  display: grid;
  gap: 3px;
}

.marketing-requirement-retention-list strong {
  color: #264b38;
  font-size: 12px;
  line-height: 1.5;
}

.marketing-requirement-retention-list small {
  color: #708178;
  font-size: 10px;
}

.marketing-requirement-retention-list em {
  color: #536c60;
  font-size: 11px;
  font-style: normal;
  line-height: 1.55;
}

.marketing-requirement-retention-list p {
  margin: 0;
  color: #708178;
  font-size: 11px;
  line-height: 1.55;
}

.marketing-requirement-table-wrap {
  overflow-x: auto;
}

.marketing-requirement-table-wrap table {
  border-collapse: collapse;
  min-width: 680px;
  width: 100%;
}

.marketing-requirement-table-wrap th,
.marketing-requirement-table-wrap td {
  padding: 9px 10px;
  border: 1px solid #dce8e0;
  color: #263c31;
  font-size: 12px;
  text-align: left;
}

.marketing-requirement-table-wrap th {
  background: #eff8f2;
  color: #315b45;
}

.marketing-requirement-missing {
  margin: 0;
  padding: 9px 11px;
  border-radius: 7px;
  background: #fff8e8;
  color: #91691a;
  font-size: 12px;
}

.marketing-requirement-flow {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.marketing-requirement-flow > article {
  display: grid;
  grid-template-columns: 34px minmax(180px, 1fr) minmax(200px, auto);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid #dce7e0;
  border-radius: 9px;
  background: #fff;
}

.marketing-requirement-flow > article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #edf3f0;
  color: #567065;
  font-weight: 900;
}

.marketing-requirement-flow > article.active {
  border-color: #78aaf8;
  box-shadow: 0 0 0 2px rgba(23, 105, 255, 0.08);
}

.marketing-requirement-flow > article.done {
  background: #effaf3;
  border-color: #a7dfba;
}

.marketing-requirement-flow > article.done > span {
  background: #14835f;
  color: #fff;
}

.marketing-requirement-flow strong,
.marketing-requirement-flow small {
  display: block;
}

.marketing-requirement-manager {
  display: grid;
  grid-template-columns: minmax(210px, 300px) auto;
  align-items: center;
  gap: 8px;
}

.marketing-requirement-manager .member-combobox {
  min-width: 0;
}

.assigned-project-managers {
  margin: 8px 0 14px;
  padding: 11px;
  border: 1px solid #cfe1f7;
  border-radius: 8px;
  background: #f7fbff;
}

.assigned-project-managers > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
}

.assigned-project-managers span {
  display: inline-flex;
  gap: 6px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #e9f2ff;
  color: #24446c;
}

.assigned-project-managers b {
  color: #1769ff;
}

@media (max-width: 760px) {
  .marketing-requirement-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .marketing-requirement-flow > article,
  .marketing-requirement-manager {
    grid-template-columns: 1fr;
  }
  .marketing-requirement-document-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .marketing-requirement-fields {
    grid-template-columns: 1fr;
  }
  .marketing-requirement-fields > .wide {
    grid-column: auto;
  }
  .marketing-requirement-retention-list li {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 5px 9px;
  }
  .marketing-requirement-retention-list li > em,
  .marketing-requirement-retention-list li > p {
    grid-column: 2;
  }
}

.project-action-index {
  align-items: center;
  background: #e8f1ff;
  border: 1px solid #cddfff;
  border-radius: 8px;
  color: var(--brand);
  display: inline-flex;
  font-size: 15px;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.project-action-card h4 {
  color: var(--ink);
  font-size: 18px;
  margin: 0 0 6px;
}

.project-action-card p {
  color: var(--muted);
  font-weight: 650;
  line-height: 1.55;
  margin: 0 0 12px;
}

.project-action-card .project-rights-warning {
  margin: 2px 0 6px;
  color: #d92d20;
  font-weight: 850;
}

.project-action-card.project-retention-card {
  grid-column: 1 / -1;
}

.project-retention-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.project-retention-title > strong {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  color: #1858c8;
  background: #eef5ff;
  font-size: 10px;
}

.project-retention-categories {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 12px;
}

.project-retention-categories label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 7px;
  border: 1px solid #dbe7f4;
  border-radius: 7px;
  background: #fff;
  color: #52627c;
  cursor: pointer;
  font-size: 10px;
  font-weight: 750;
}

.project-retention-categories label:has(input:checked) {
  border-color: #4382f7;
  color: #1858c8;
  background: #eef5ff;
}

.project-retention-checklist {
  display: grid;
  gap: 10px;
  max-height: 520px;
  overflow: auto;
}

.project-retention-group {
  padding: 10px;
  border: 1px solid #e1e9f3;
  border-radius: 8px;
  background: #fbfdff;
}

.project-retention-group h5 {
  display: flex;
  justify-content: space-between;
  margin: 0 0 7px;
  color: #14213d;
  font-size: 11px;
}

.project-retention-group h5 small {
  color: #7d8ba3;
  font-weight: 600;
}

.project-retention-group > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.project-retention-group label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px;
  border: 1px solid #e5ebf3;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

.project-retention-group label:has(input:checked) {
  border-color: #a9c5fb;
  background: #f3f7ff;
}

.project-retention-group label strong,
.project-retention-group label small {
  display: block;
}

.project-retention-group label strong {
  color: #24324a;
  font-size: 10px;
}

.project-retention-group label small {
  margin-top: 2px;
  color: #78869c;
  font-size: 9px;
  line-height: 1.45;
}

.project-action-card .form-row {
  margin-top: 8px;
}

.project-action-options {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(140px, 190px) minmax(0, 1fr);
  margin: 10px 0;
  min-width: 0;
}

.project-action-options .btn {
  min-height: 48px;
  width: 100%;
}

.project-stage-confirm {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe7f7;
  border-radius: 8px;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-top: 12px;
  padding: 12px;
}

.project-stage-confirm strong,
.project-stage-confirm small {
  display: block;
}

.project-stage-confirm small {
  color: var(--muted);
  font-weight: 750;
  margin-top: 3px;
}

.project-stage-confirm.confirmed {
  background: #ecfdf3;
  border-color: #a7f3d0;
}

.project-manager-section {
  position: relative;
}

.project-manager-section.manager-stage-locked {
  min-height: 280px;
}

.project-manager-section.manager-stage-locked > :not(.manager-lock-cover) {
  opacity: 0.45;
}

.manager-lock-cover {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px dashed #b8c7dd;
  border-radius: 8px;
  color: var(--ink);
  display: none;
  flex-direction: column;
  gap: 6px;
  inset: 14px;
  justify-content: center;
  padding: 24px;
  position: absolute;
  text-align: center;
  z-index: 5;
}

.manager-stage-locked .manager-lock-cover {
  display: flex;
}

.manager-lock-cover strong {
  font-size: 18px;
  font-weight: 900;
}

.manager-lock-cover span {
  color: var(--muted);
  font-weight: 750;
}

.sponsor-file-status {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sponsor-file-icon {
  align-items: center;
  background: #f4f7fb;
  border: 1px solid #cfd8e6;
  border-radius: 8px;
  color: #7b8798;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  min-height: 48px;
  min-width: 116px;
  padding: 8px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.sponsor-file-icon[disabled] {
  cursor: not-allowed;
  opacity: 1;
}

.sponsor-file-icon.ready {
  background: #fff5f5;
  border-color: #ffb4b4;
  color: #dc2626;
}

.sponsor-file-icon.ready:hover {
  box-shadow: 0 8px 18px rgba(220, 38, 38, 0.16);
}

.sponsor-file-icon.muted {
  background: #f5f7fa;
  color: #98a2b3;
}

.sponsor-word-mark,
.sponsor-stamp-mark {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  height: 30px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.sponsor-word-mark {
  border: 2px solid currentColor;
}

.sponsor-stamp-mark {
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 16px;
  width: 30px;
}

.sponsor-file-icon small {
  color: currentColor;
  font-weight: 850;
}

.sponsor-compliance-status {
  display: block;
  margin: 2px 0 12px;
}

.bpm-extract-preview {
  margin: 10px 0 12px;
}

.bpm-fixed-fields {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 10px 0 12px;
}

.bpm-fixed-field.wide {
  grid-column: 1 / -1;
}

.bpm-fixed-field textarea.input-like {
  min-height: 74px;
}

.bpm-hidden-field {
  display: none !important;
}

.bpm-structured-section {
  background: #fff;
  border: 1px solid #dbe7f7;
  border-radius: 8px;
  margin: 10px 0;
  overflow: hidden;
}

.bpm-section-title {
  align-items: center;
  background: #f1f6fd;
  display: flex;
  justify-content: space-between;
  padding: 10px 12px;
}

.bpm-section-title strong {
  color: var(--ink);
  font-weight: 900;
}

.bpm-section-title span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.bpm-table-wrap {
  overflow-x: auto;
}

.bpm-mini-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.bpm-mini-table th,
.bpm-mini-table td {
  border-top: 1px solid #edf3fb;
  color: var(--ink);
  font-size: 14px;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.bpm-mini-table th {
  color: var(--muted);
  font-weight: 850;
}

.bpm-table-empty {
  color: var(--muted);
  font-weight: 750;
  padding: 12px;
}

.bpm-member-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  padding: 12px;
}

.bpm-member-card {
  align-items: center;
  background: #f8fbff;
  border: 1px solid #dbe7f7;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 10px;
  text-align: left;
}

.bpm-member-card:hover {
  border-color: #93c5fd;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
}

.bpm-member-avatar {
  align-items: center;
  background: linear-gradient(135deg, #2f7cf6, #15a7b8);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 950;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.bpm-member-card strong,
.bpm-member-card small {
  display: block;
}

.bpm-member-card small {
  color: var(--muted);
  font-weight: 700;
  margin-top: 2px;
}

.project-rights-three-blocks {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 14px 0;
}

.project-rights-block {
  background: #f7faff;
  border: 1px solid #dbe7f7;
  border-radius: 12px;
  padding: 12px;
}

.project-rights-block.contract-original {
  grid-column: 1 / -1;
}

.project-template-picker { grid-column: 1 / -1; min-width: 0; }
.project-internal-evidence { grid-column: 1 / -1; min-width: 0; }
.project-template-picker [hidden] { display: none !important; }
.project-template-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  margin: 16px 0;
  border: 0;
  min-width: 0;
}
.project-template-choices legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.project-template-choices label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border: 1px solid #d5e2f8;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}
.project-template-choices label:has(input:checked) { border-color: #1769ed; background: #edf4ff; color: #145adc; }
.project-template-choices input { width: 17px !important; height: 17px; margin: 0; accent-color: #1769ed; }
.project-template-picker [data-template-company] { width: min(100%, 480px); }
.project-template-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.project-template-toolbar .btn { flex: 0 0 auto; width: auto; min-height: 34px; padding: 7px 14px; }
.project-template-toolbar > select { flex: 0 1 220px; min-width: 0; }
.project-template-toolbar [role="status"] { overflow-wrap: anywhere; }
.project-template-materials { min-width: 0; }
.project-template-materials select { width: 100%; min-width: 0; max-width: 100%; appearance: auto; cursor: pointer; padding-right: 30px; }
.project-template-table-wrap { max-width: 100%; overflow: auto; max-height: 420px; margin-top: 10px; }
.retention-policy-note { color: var(--muted); display: block; margin: 6px 0 14px; }
.execution-material-item .material-record-class { width: fit-content; }
[data-retention-policy-admin] { margin-top: 16px; min-width: 0; }
[data-retention-policy-admin] [hidden] { display: none !important; }
[data-retention-policy-admin] [data-policy-company] { max-width: 480px; width: 100%; }
[data-retention-policy-admin] [data-policy-admin-save] { width: auto; margin-top: 14px; }
.retention-policy-table { min-width: 620px; }
.retention-catalog-editor { margin-top: 20px; }
.retention-catalog-editor > summary { cursor: pointer; font-weight: 700; padding: 12px 0; }
.retention-catalog-table { min-width: 920px; table-layout: fixed; }
.retention-catalog-table th:first-child { width: 60px !important; }
.retention-catalog-table th:nth-child(2) { width: 30% !important; }
.retention-catalog-table th:nth-child(3) { width: 135px !important; }
.retention-catalog-table th:nth-child(4) { width: 150px !important; }
.retention-catalog-table .input-like { width: 100%; min-width: 0; }
.execution-missing-required { margin: 10px 0; color: #9a5815; }
.execution-missing-required summary { cursor: pointer; font-weight: 700; }
.execution-missing-required ul { margin: 8px 0; padding-left: 22px; }
.retention-policy-table th:first-child { width: 90px !important; }
.retention-policy-table th:nth-child(2) { width: 110px !important; }
.retention-policy-table td label { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.retention-policy-table input[type="checkbox"] { width: 17px; height: 17px; accent-color: #1769ed; margin: 0; }
.project-template-table { width: 100%; border-collapse: collapse; background: #fff; table-layout: fixed; }
.project-template-table th, .project-template-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #e1e9f5; overflow-wrap: anywhere; white-space: normal; }
.project-template-table th { background: #edf3fc; color: #526989; position: sticky; top: 0; }
.project-template-table th:first-child { width: 20%; }
.project-template-table th:nth-child(2) { width: 25%; }
.project-template-edit-table { min-width: 660px; }
.project-template-edit-table th:last-child { width: 70px; }
.project-template-edit-table .input-like { width: 100%; min-width: 0; }
.project-template-editor { border-top: 1px solid #dbe7f7; padding-top: 14px; margin-top: 12px; }
.project-template-editor h5 { font-size: inherit; margin: 0 0 14px; }

.project-rights-block-title {
  align-items: center;
  display: flex;
  gap: 8px;
}

.project-rights-block-title b {
  align-items: center;
  background: #e7f0ff;
  border-radius: 999px;
  color: var(--brand);
  display: inline-flex;
  font-size: 10px;
  height: 22px;
  justify-content: center;
  width: 28px;
}

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

.product-academic-snapshot-grid section {
  background: #f7faff;
  border: 1px solid #dbe7f7;
  border-radius: 12px;
  display: grid;
  gap: 6px;
  min-height: 112px;
  padding: 14px;
}

.product-academic-snapshot-grid section.missing { background: #fff9ef; border-color: #f4d9a7; }
.product-academic-snapshot-grid span, .product-academic-snapshot-grid small { color: var(--muted); }
.product-academic-snapshot-grid strong { white-space: pre-line; }

@media (max-width: 760px) {
  .project-rights-three-blocks { grid-template-columns: 1fr; }
  .product-academic-snapshot-grid { grid-template-columns: 1fr; }
}

.internal-quote-table {
  display: grid;
  gap: 8px;
  margin: 10px 0;
  overflow-x: auto;
}

.internal-quote-head,
.internal-quote-row {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(125px, 1fr) minmax(155px, 1.3fr) minmax(120px, 1fr) 70px minmax(160px, 1.5fr) 60px;
  min-width: 750px;
}

.internal-quote-row > * { min-width: 0; }
.internal-quote-row .member-combobox { min-width: 0; }

.internal-quote-head {
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  padding: 0 4px;
}

.project-execution-table {
  display: grid;
  border: 1px solid #dbe6f4;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(25, 58, 104, 0.05);
  gap: 0;
  margin: 10px 0;
  min-width: 0;
  overflow: visible;
}

.project-execution-head,
.project-execution-row {
  display: grid;
  grid-template-columns: minmax(160px, 1.55fr) minmax(90px, 1fr) minmax(115px, 1fr) minmax(90px, 1fr) minmax(76px, .8fr) minmax(100px, 1fr) minmax(100px, 1fr) 38px;
  gap: 7px;
  min-width: 0;
}

.project-execution-head {
  align-items: center;
  background: #f1f6fd;
  border-radius: 9px 9px 0 0;
  color: #536684;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
  padding: 10px 12px;
}

.project-execution-row {
  align-items: start;
  background: #fff;
  border-top: 1px solid #e2eaf5;
  padding: 12px;
}

.execution-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.execution-field > span {
  display: none;
  color: #536684;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.execution-field > .input-like,
.execution-field > .member-combobox {
  min-width: 0;
  width: 100%;
}

.execution-field-title { grid-column: 1; }
.execution-field-manager { grid-column: 2; }
.execution-field-start { grid-column: 3; }
.execution-field-owner { grid-column: 4; }
.execution-field-budget { grid-column: 5; }

.execution-session-name {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
}

.execution-session-name > * {
  min-width: 0;
  width: 100%;
}

.project-execution-row .input-like,
.project-execution-row .member-combobox-input {
  font-size: 12px;
  min-height: 38px;
  padding: 8px 9px;
}

.project-execution-row .member-combobox {
  min-width: 0;
}

.execution-meeting-archive {
  grid-column: 6;
}

.execution-meeting-archive[hidden] {
  display: none;
}

.execution-expert-invite {
  grid-column: 7;
}

.execution-expert-invite[hidden] {
  display: none;
}

.execution-table-action {
  align-content: start;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.project-execution-row .execution-table-action .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  min-width: 0;
  padding: 6px 8px;
  font-size: 12px;
  line-height: 20px;
  white-space: normal;
  width: 100%;
}

.project-execution-row .execution-table-action .btn:hover { transform: none; }

.execution-trace-link {
  color: #53719a;
  font-size: 11px;
  text-align: center;
}

.execution-archive-ready {
  color: #19724b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

.execution-row-delete {
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-column: 8;
  min-height: 38px;
  padding: 6px 0;
}

.project-add-session {
  justify-content: center;
  width: 100%;
}

.execution-meeting-progress {
  grid-column: 1 / -1;
  min-width: 0;
  padding-top: 8px;
  border-top: 1px dashed #e2eaf5;
}

.execution-meeting-progress[hidden] { display: none; }

.meeting-retention-progress {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 12px;
  min-width: 0;
  color: #536684;
  font-size: 12px;
  line-height: 1.5;
}

.meeting-retention-progress-label { font-weight: 700; }
.meeting-retention-progress > strong { color: #1761c4; }
.meeting-retention-progress-count { overflow-wrap: anywhere; }
.meeting-retention-progress-track {
  flex: 1 1 120px;
  max-width: 320px;
  height: 7px;
  overflow: hidden;
  border-radius: 8px;
  background: #e5edf8;
}
.meeting-retention-progress-track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2879df;
}
.meeting-retention-progress.complete > strong { color: #19724b; }
.meeting-retention-progress.complete .meeting-retention-progress-track > span { background: #26996c; }
.meeting-retention-progress.pending > strong { color: #996316; }
@media (max-width: 620px) {
  .meeting-retention-progress-count { flex-basis: 100%; }
}

.project-execution-materials {
  display: none;
  grid-column: 1 / -1;
  background: #fbfdff;
  border: 1px solid #dbe7f7;
  border-radius: 8px;
  padding: 12px;
}

.project-execution-materials.open {
  display: grid;
  gap: 12px;
}

.execution-material-panel-head {
  align-items: center;
  background: #eef6ff;
  border: 1px solid #d7e7fb;
  border-radius: 8px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.execution-material-panel-head strong {
  color: var(--ink);
  font-weight: 900;
}

.execution-material-panel-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.execution-material-group {
  background: #fff;
  border: 1px solid #e2ebf6;
  border-radius: 8px;
  overflow: hidden;
}

.execution-material-group h5 {
  background: #f5f8fd;
  color: var(--ink);
  font-size: 14px;
  margin: 0;
  padding: 10px 12px;
}

.execution-material-item {
  align-items: start;
  border-top: 1px solid #eef3fa;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px;
}

.execution-material-item strong,
.execution-material-item span,
.execution-material-item small,
.execution-material-item em,
.execution-material-item b {
  display: block;
}

.execution-material-item strong {
  color: var(--ink);
  font-weight: 900;
}
.material-record-class { display:inline-flex; margin-left:6px; padding:2px 7px; border-radius:999px; font-size:11px; font-weight:700; vertical-align:middle; }
.material-record-class.external { color:#116a4b; background:#dcf8ea; }
.material-record-class.evidence { color:#87551a; background:#fff0ce; }
.material-record-class.process { color:#315f9b; background:#e7f0ff; }
.sponsor-customization-level { border-color:#d7c08a; background:linear-gradient(135deg,#fffdf7,#fff8e8); }

.execution-material-item span,
.execution-material-item small,
.execution-material-item em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 3px;
}

.execution-material-item b {
  color: #1769ff;
  font-size: 13px;
  margin-top: 5px;
}

.execution-material-upload {
  cursor: pointer;
  min-width: 70px;
}

.archive-progress-board {
  display: grid;
  gap: 14px;
}

.archive-progress-summary {
  background: #f7fbff;
  border: 1px solid #d7e7fb;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.archive-progress-summary > div:first-child {
  align-items: baseline;
  display: flex;
  gap: 10px;
}

.archive-progress-summary strong {
  color: #1769ff;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}

.archive-progress-summary span,
.archive-progress-summary small {
  color: var(--muted);
  font-weight: 750;
}

.archive-progress-bar {
  background: #e8eef7;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.archive-progress-bar i {
  background: linear-gradient(90deg, #17b26a, #1769ff);
  display: block;
  height: 100%;
}

.archive-progress-groups {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.archive-progress-group {
  background: #fff;
  border: 1px solid #e2ebf6;
  border-radius: 8px;
  overflow: hidden;
}

.archive-progress-group h4 {
  align-items: center;
  background: #f5f8fd;
  color: var(--ink);
  display: flex;
  font-size: 15px;
  justify-content: space-between;
  margin: 0;
  padding: 10px 12px;
}

.archive-progress-group h4 span {
  color: var(--muted);
  font-size: 13px;
}

.archive-progress-item {
  align-items: start;
  border-top: 1px solid #edf3fb;
  display: grid;
  gap: 10px;
  grid-template-columns: 26px minmax(0, 1fr);
  padding: 10px 12px;
}

.archive-progress-item b {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-weight: 950;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.archive-progress-item.done b {
  background: #dcfce7;
  color: #16803f;
}

.archive-progress-item.pending b {
  background: #fff7ed;
  color: #c2410c;
}

.archive-progress-item strong,
.archive-progress-item small {
  display: block;
}

.archive-progress-item small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}

.archive-reminder-panel {
  background: #fffaf5;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  overflow: hidden;
}

.archive-reminder-head,
.archive-reminder-row {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 11px 12px;
}

.archive-reminder-head {
  background: #ffedd5;
  color: #7c2d12;
  font-weight: 900;
}

.archive-reminder-head span {
  font-size: 13px;
  font-weight: 750;
}

.archive-reminder-row {
  align-items: center;
  border-top: 1px solid #fed7aa;
}

.archive-reminder-row strong,
.archive-reminder-row small {
  display: block;
}

.archive-reminder-row small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}

.archive-reminder-row > span {
  color: #c2410c;
  font-weight: 900;
  white-space: nowrap;
}
.archive-reminder-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.archive-reminder-actions > span { color:#c2410c; font-weight:900; white-space:nowrap; }

.archive-reminder-empty {
  color: var(--muted);
  font-weight: 750;
  padding: 12px;
}

.ding-retention-center { margin-top: 18px; }
.ding-retention-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0 16px; }
.ding-retention-principles span { display:flex; flex-direction:column; gap:4px; padding:12px 14px; border:1px solid #dce8f7; border-radius:12px; background:#f7faff; color:#60738d; font-size:12px; }
.ding-retention-principles b { color:#244a7c; font-size:13px; }
.retention-session-list { display:grid; gap:14px; }
.retention-session-card { padding:16px; border:1px solid #dce5f1; border-radius:14px; background:#fff; }
.retention-session-card.complete { border-color:#b9e4cf; background:#fbfffd; }
.retention-session-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.retention-session-head>div { display:flex; flex-direction:column; gap:4px; }
.retention-session-head strong { color:#17385f; font-size:16px; }
.retention-session-head small { color:#7b8ba1; }
.retention-stage-rail { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:14px 0; }
.retention-stage-rail span { position:relative; display:grid; grid-template-columns:28px 1fr; column-gap:7px; align-items:center; min-width:0; padding:10px; border-radius:10px; background:#f3f6fa; color:#7b8798; }
.retention-stage-rail i { grid-row:1/3; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#dfe6ef; color:#67778d; font-style:normal; font-weight:900; }
.retention-stage-rail b { overflow:hidden; color:#51647c; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.retention-stage-rail small { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.retention-stage-rail span.done { background:#edf9f3; color:#378262; }
.retention-stage-rail span.done i { background:#38a879; color:#fff; }
.retention-stage-rail span.done b { color:#217153; }
.retention-stage-rail span.blocked { background:#fff1ef; color:#b04a3e; }
.retention-stage-rail span.blocked i { background:#d95b4f; color:#fff; }
.retention-stage-rail span.blocked b { color:#a33e34; }
.retention-folder-path { display:flex; align-items:flex-start; gap:10px; padding:9px 12px; border-radius:9px; background:#eef5ff; color:#496785; font-size:11px; }
.retention-folder-path b { flex:0 0 auto; color:#1f5fa9; }
.retention-folder-path span { overflow-wrap:anywhere; }
.retention-closure-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.retention-closure-fields label { display:flex; min-width:0; flex-direction:column; gap:5px; color:#60738b; font-size:11px; }
.retention-closure-fields label.wide { grid-column:1/-1; }
.retention-closure-fields small { color:#8a98aa; line-height:1.4; }
.retention-closure-fields .input-like:disabled { cursor:not-allowed; background:#f3f5f8; color:#9aa7b7; }
.retention-audit-trail { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:12px; padding-top:11px; border-top:1px dashed #d7e3f2; color:#6b7b90; font-size:11px; }
.retention-audit-trail b { color:#294f80; }
.retention-audit-trail { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:12px; padding-top:11px; border-top:1px dashed #d7e3f2; color:#6b7b90; font-size:11px; }
.retention-audit-trail b { color:#294f80; }
.retention-directory-preview,.retention-project-progress { margin-top:14px; border:1px solid #dfe7f1; border-radius:12px; background:#fbfcfe; }
.retention-directory-preview summary,.retention-project-progress summary { padding:12px 14px; color:#315d8f; font-size:13px; font-weight:800; cursor:pointer; }
.retention-directory-preview>div { display:flex; flex-wrap:wrap; gap:7px; padding:0 14px 10px; }
.retention-directory-preview>div span { padding:5px 8px; border-radius:7px; background:#edf3fb; color:#526c8c; font-size:10px; }
.retention-directory-preview>p { margin:0; padding:0 14px 14px; color:#7d8da1; font-size:11px; }
.retention-project-progress>.archive-progress-board { margin:0 12px 12px; }
@media(max-width:1000px){.ding-retention-principles{grid-template-columns:repeat(2,minmax(0,1fr))}.retention-stage-rail{grid-template-columns:1fr}.retention-closure-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ding-retention-principles,.retention-closure-fields{grid-template-columns:1fr}.retention-closure-fields label.wide{grid-column:auto}.retention-folder-path{flex-direction:column}}

.bpm-extract-empty {
  background: #fff;
  border: 1px dashed #cddfff;
  border-radius: 8px;
  color: var(--muted);
  font-weight: 750;
  padding: 12px;
}

.bpm-extract-table {
  background: #fff;
  border: 1px solid #dbe7f7;
  border-radius: 8px;
  overflow: hidden;
}

.bpm-extract-row {
  display: grid;
  gap: 12px;
  grid-template-columns: 130px minmax(0, 1fr);
  padding: 10px 12px;
}

.bpm-extract-row + .bpm-extract-row {
  border-top: 1px solid #edf3fb;
}

.bpm-extract-row strong {
  color: var(--muted);
  font-weight: 850;
}

.bpm-extract-row span {
  color: var(--ink);
  font-weight: 750;
  line-height: 1.55;
  word-break: break-word;
}

.visually-hidden-file {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  pointer-events: none;
  width: 1px;
}

.project-create-actions {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  bottom: 0;
  box-shadow: 0 -8px 18px rgba(8, 20, 45, 0.08);
  display: flex;
  justify-content: space-between;
  padding: 16px 18px;
  position: sticky;
}

.project-create-actions span {
  color: var(--muted);
  display: block;
  margin-top: 4px;
}

/* Keep the project drawer inside the viewport and give scrolling to one stable pane. */
.drawer.project-create-drawer .drawer-panel {
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0;
  width: 100vw;
  max-width: none;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  position: relative;
}

.drawer.project-create-drawer #drawerContent {
  height: 100%;
  min-height: 0;
}

.drawer.project-create-drawer .drawer-close {
  display: none;
}

.project-create-shell {
  height: 100%;
  min-height: 0;
  grid-template-columns: 220px minmax(0, 1fr);
  grid-template-rows: 68px minmax(0, 1fr);
  overflow: hidden;
}

.project-create-nav {
  grid-column: 1;
  grid-row: 1 / 3;
}

.project-create-page-header {
  align-items: center;
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 18px;
  grid-column: 2;
  grid-row: 1;
  justify-content: space-between;
  min-width: 0;
  padding: 10px 28px;
  z-index: 8;
}

.project-create-page-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.project-create-page-heading small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.project-create-page-heading strong {
  color: var(--ink);
  font-size: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-create-page-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.project-create-form {
  align-content: start;
  grid-column: 2;
  grid-row: 2;
  max-height: none;
  min-height: 0;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.project-create-actions {
  display: none;
}

@media (min-width: 901px) and (max-width: 1400px) {
  .project-execution-head { display: none; }
  .project-execution-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .project-execution-row .execution-field,
  .project-execution-row .execution-table-action,
  .project-execution-row .execution-row-delete { grid-column: auto; }
  .project-execution-row .execution-field-title { grid-column: span 2; }
  .project-execution-row .execution-table-action { padding-top: 21px; }
  .project-execution-row .execution-row-delete { grid-column: 1 / -1; justify-self: end; }
  .execution-field > span { display: block; }
}

@media (max-width: 1280px) {
  .drawer.project-create-drawer .drawer-panel {
    width: 100vw;
  }

  .project-create-shell {
    grid-template-columns: 180px minmax(0, 1fr);
  }

  .project-create-nav {
    padding: 22px 18px;
  }

  .project-create-form {
    padding: 18px;
  }

  .project-create-section {
    padding: 18px;
  }

}

.text-preview-full {
  background: #f7faff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #283755;
  line-height: 1.8;
  max-height: calc(100vh - 150px);
  overflow: auto;
  padding: 16px;
  white-space: pre-wrap;
  word-break: break-word;
}

.text-preview-modal {
  background: rgba(8, 20, 45, 0.68);
  backdrop-filter: blur(4px);
  display: none;
  inset: 0;
  padding: 48px 24px;
  position: fixed;
  z-index: 80;
}

.text-preview-modal.open {
  display: grid;
  place-items: center;
}

.text-preview-dialog {
  background: white;
  border-radius: 10px;
  box-shadow: 0 24px 60px rgba(8, 20, 45, 0.24);
  max-height: calc(100vh - 96px);
  max-width: 920px;
  overflow: hidden;
  padding: 24px;
  position: relative;
  width: min(920px, 94vw);
}

.text-preview-dialog h2 {
  font-size: 22px;
  margin: 0 44px 8px 0;
}

.module-management-access-dialog {
  max-width: 430px;
  overflow: visible;
  width: min(430px, 94vw);
}

.module-management-access-mark {
  align-items: center;
  background: #eaf2ff;
  border-radius: 12px;
  color: #1769ff;
  display: inline-flex;
  font-size: 22px;
  height: 44px;
  justify-content: center;
  margin-bottom: 18px;
  width: 44px;
}

.module-management-access-dialog .form-actions {
  justify-content: flex-end;
}

.text-preview-dialog.yidou-native-dialog {
  height: min(820px, calc(100vh - 64px));
  max-height: calc(100vh - 64px);
  overflow: hidden;
  padding: 24px;
  scrollbar-gutter: stable;
}

.yidou-native-dialog [data-yidou-modal-content] {
  height: 100%;
  min-height: 0;
}

.yidou-native-dialog .text-preview-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 5;
}

.text-preview-meta {
  color: #667391;
  margin: 0 0 14px;
}

.text-preview-body {
  background: #f7faff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #283755;
  line-height: 1.8;
  max-height: calc(100vh - 220px);
  overflow: auto;
  padding: 16px;
  white-space: pre-wrap;
  word-break: break-word;
}

.text-preview-close {
  align-items: center;
  background: #f2f5fb;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 36px;
}

.notify-confirm-modal {
  align-items: center;
  background: rgba(6, 18, 42, 0.46);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 1200;
}

.notify-confirm-modal.open {
  display: flex;
}

.notify-confirm-dialog {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(8, 24, 55, 0.28);
  max-width: 420px;
  padding: 24px;
  width: min(420px, 100%);
}

.notify-confirm-dialog h2 {
  font-size: 22px;
  margin: 0 0 10px;
}

.notify-confirm-text {
  color: var(--muted);
  line-height: 1.65;
}

.notify-confirm-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 22px;
}

.drawer-close {
  float: right;
  border: 0;
  background: #f2f5fb;
  width: 34px;
  height: 34px;
  border-radius: 8px;
}

.empty-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
}

.collapsed .app-shell {
  grid-template-columns: 90px 1fr;
}

.collapsed .sidebar {
  padding-inline: 14px;
}

.collapsed .brand span,
.collapsed .brand strong,
.collapsed .nav-item span,
.collapsed .nav-subitems,
.collapsed .quick-actions {
  display: none;
}

.collapsed .nav-item {
  grid-template-columns: 1fr;
  justify-items: center;
}

.collapsed .nav-group {
  display: block;
}

.collapsed .marketing-only {
  display: none;
}

.collapsed.can-marketing-ground .marketing-only {
  display: block;
}

.upload-progress {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faff;
}

.upload-progress.done {
  border-color: rgba(40, 180, 111, 0.35);
  background: #f3fcf7;
}

.upload-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 8px;
}

.upload-progress-head strong {
  color: var(--ink);
}

.upload-progress-bar {
  height: 8px;
  border-radius: 999px;
  background: #e5edf8;
  overflow: hidden;
}

.upload-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), var(--green));
  transition: width 0.24s ease;
}

.import-records {
  margin-top: 18px;
}

.compact-head {
  align-items: center;
  margin-bottom: 10px;
}

.import-record-table th,
.import-record-table td {
  white-space: nowrap;
}

.compact-select {
  min-width: 128px;
  height: 36px;
  padding: 0 12px;
}

.btn.small {
  min-height: 34px;
  padding: 6px 12px;
  font-size: 13px;
}

.inline-status {
  margin-top: 6px;
  min-height: 18px;
}

.product-shelf-hero {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(7, 29, 70, 0.95), rgba(23, 105, 255, 0.86)),
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: auto, 34px 34px;
  color: #fff;
  box-shadow: 0 18px 48px rgba(23, 55, 111, 0.18);
  margin-bottom: 18px;
}

.product-shelf-hero h2 {
  margin: 8px 0;
  font-size: 34px;
  letter-spacing: 0;
}

.product-shelf-hero p {
  margin: 0;
  max-width: 640px;
  color: rgba(255,255,255,0.78);
  line-height: 1.7;
}

.eyebrow {
  display: inline-block;
  color: rgba(255,255,255,0.68);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.shelf-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(96px, 1fr));
  gap: 10px;
  min-width: 330px;
}

.shelf-stats div {
  padding: 16px;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 14px;
  background: rgba(255,255,255,0.12);
}

.shelf-stats strong {
  display: block;
  font-size: 28px;
  line-height: 1;
}

.shelf-stats span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,0.72);
}

.product-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.product-category-tabs a {
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
}

.product-shelf-grid {
  display: grid;
  gap: 18px;
}

.product-category-block {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,0.92);
}

.product-category-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.product-category-head h3 {
  margin: 10px 0 6px;
  font-size: 22px;
}

.product-category-head p {
  margin: 0;
  color: var(--muted);
}

.product-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.product-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 14px;
  background: #fff;
  min-height: 300px;
}

.product-card.green { border-top-color: var(--green); }
.product-card.orange { border-top-color: var(--orange); }
.product-card.violet { border-top-color: #7c3aed; }
.product-card.red { border-top-color: #ef4444; }

.product-card-top,
.product-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.product-card h4 {
  margin: 0;
  font-size: 20px;
}

.product-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.product-meta {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
}

.product-meta div {
  padding: 12px;
  border-radius: 12px;
  background: var(--soft);
}

.product-meta span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
}

.product-meta strong {
  color: var(--ink);
}

.product-deliverables {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-deliverables span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef4ff;
  color: #2451a6;
  font-size: 12px;
  font-weight: 800;
}

.drawer-deliverables {
  margin-top: 10px;
}

.intent-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 2fr);
  gap: 18px;
  align-items: start;
}

.intent-guidance {
  position: sticky;
  top: 18px;
}

.intent-guidance h3 {
  margin: 12px 0 8px;
  font-size: 22px;
}

.intent-guidance p {
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.intent-list {
  display: grid;
  gap: 14px;
}

.intent-card {
  border-left: 4px solid var(--blue);
}

.intent-brief-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.intent-brief-grid div {
  padding: 12px;
  border-radius: 12px;
  background: var(--soft);
}

.intent-brief-grid span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.intent-brief-grid strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.intent-recommendation {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.intent-recommendation p {
  margin: 8px 0 12px;
  color: var(--muted);
  line-height: 1.65;
}

.intent-logic p {
  margin: 8px 0;
  padding-left: 12px;
  border-left: 3px solid var(--blue);
  color: var(--muted);
}

.mini-products {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-top: 12px;
}

.product-mini-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}

.product-mini-card h4 {
  margin: 10px 0 6px;
}

.product-mini-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}

.check-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  font-weight: 800;
}

@media (max-width: 980px) {
  .product-shelf-hero,
  .intent-layout {
    grid-template-columns: 1fr;
    display: grid;
  }

  .shelf-stats,
  .intent-brief-grid {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .intent-guidance {
    position: static;
  }
}

/* Visual refresh: professional internal-workbench polish. */
:root {
  --navy: #071d46;
  --navy-2: #0b3472;
  --blue: #1769ff;
  --blue-2: #0ea5a4;
  --green: #22a06b;
  --orange: #f59e0b;
  --ink: #102044;
  --muted: #667391;
  --line: #d9e4f4;
  --soft: #f3f7fd;
  --card: #ffffff;
  --shadow: 0 14px 34px rgba(18, 42, 84, 0.08);
  --shadow-soft: 0 8px 22px rgba(18, 42, 84, 0.06);
}

body {
  background:
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 42%, #f6f8fb 100%);
}

.app-shell {
  background:
    linear-gradient(180deg, rgba(23, 105, 255, 0.035), transparent 260px),
    #f4f7fb;
}

.login-screen {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0) 0 62%, rgba(246, 250, 255, 0.72) 74%, rgba(246, 250, 255, 0.95) 100%),
    url("./assets/login-background.jpg") center / cover no-repeat;
  grid-template-columns: minmax(0, 1fr) minmax(400px, 500px);
  padding: 0 5vw 0 0;
}

.login-screen .login-bg {
  pointer-events: none;
}

.login-screen .login-brand,
.login-screen .login-copy {
  opacity: 0;
  visibility: hidden;
}

.login-brand strong {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 6px;
}

.login-copy h1 {
  font-size: clamp(42px, 5vw, 68px);
  text-shadow: 0 18px 44px rgba(0, 18, 55, 0.26);
}

.login-card {
  border-color: rgba(214, 226, 245, 0.9);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(21, 43, 83, 0.2);
  justify-self: end;
  width: min(390px, calc(100vw - 48px));
}

.login-card .ding-qr-box {
  height: 276px;
}

.login-card .login-divider {
  margin: 10px 0;
}

.login-card label {
  margin-bottom: 12px;
}

.login-card h2,
.page-head h1,
.panel-head h2,
.panel-head h3 {
  color: #0f2248;
}

.login-mode-tabs {
  background: #f2f6fc;
  border-color: #dce7f6;
}

.login-mode-tabs button.active {
  box-shadow: 0 7px 18px rgba(18, 42, 84, 0.1);
}

.sidebar {
  background:
    linear-gradient(180deg, #08275d 0%, #071f4b 48%, #061936 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 14px 0 40px rgba(6, 25, 54, 0.16);
}

.brand {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px;
}

.brand-mark,
.login-mark {
  box-shadow: 0 16px 34px rgba(0, 88, 255, 0.26);
}

.nav-item {
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.nav-item:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateX(2px);
}

.nav-item.active,
.nav-group.active .nav-parent {
  background: linear-gradient(135deg, #1769ff, #0ea5a4);
  box-shadow: 0 10px 22px rgba(0, 91, 210, 0.22);
}

.quick-actions {
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.topbar {
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 24px rgba(18, 42, 84, 0.06);
}

.search,
.icon-button,
.btn,
.input-like,
.form-field input,
.form-field textarea,
.form-field select {
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.search:focus-within,
.input-like:focus,
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color: rgba(23, 105, 255, 0.42);
  box-shadow: 0 0 0 4px rgba(23, 105, 255, 0.08);
}

.icon-button:hover,
.btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.btn.primary {
  background: linear-gradient(135deg, #1769ff, #0f7ee8);
  box-shadow: 0 10px 22px rgba(23, 105, 255, 0.18);
}

.btn.ghost {
  background: #f0f6ff;
}

.btn.glass {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff;
}

.top-qa-button {
  background: linear-gradient(135deg, #1769ff, #0ea5a4);
}

.page {
  padding: 30px 34px 48px;
}

.page-head {
  margin-bottom: 22px;
}

.page-head h1 {
  font-size: 30px;
}

.home-hero {
  background:
    radial-gradient(circle at 76% 20%, rgba(255, 255, 255, 0.24), transparent 28%),
    linear-gradient(135deg, #071d46 0%, #123a7d 48%, #1769ff 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(8, 31, 79, 0.22);
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px 260px;
  gap: 14px;
  margin-bottom: 12px;
  min-height: 82px;
  overflow: hidden;
  padding: 12px 16px;
  position: relative;
}

.home-hero::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 38px 38px;
  content: "";
  inset: 0;
  opacity: 0.22;
  position: absolute;
}

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

.home-hero-copy {
  align-self: center;
  max-width: 720px;
}

.home-kicker {
  color: rgba(255, 255, 255, 0.72);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 4px;
}

.home-hero h1 {
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.02;
  margin: 0 0 8px;
}

.home-hero h1 span {
  display: block;
}

.home-hero p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
  max-width: 720px;
}

.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.home-hero-actions .btn {
  min-height: 28px;
  padding: 0 10px;
}

.home-hero-actions .btn.primary {
  background: #fff;
  border-color: #fff;
  color: #1769ff;
  box-shadow: 0 14px 26px rgba(0, 24, 80, 0.18);
}

.home-hero-actions .btn.ghost {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff;
}

.home-hero-orbit {
  align-self: center;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: relative;
  width: 76px;
}

.home-hero-orbit::before,
.home-hero-orbit::after {
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  content: "";
  inset: 2px;
  position: absolute;
}

.home-hero-orbit::after {
  inset: 22px;
}

.orbit-core {
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  display: grid;
  gap: 3px;
  height: 48px;
  justify-items: center;
  place-content: center;
  width: 48px;
}

.orbit-core span {
  background: #fff;
  border-radius: 9px;
  color: #1769ff;
  display: grid;
  font-size: 16px;
  font-weight: 900;
  height: 26px;
  place-items: center;
  width: 26px;
}

.orbit-core strong {
  color: rgba(255, 255, 255, 0.86);
  font-size: 9px;
}

.orbit-node {
  display: none;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  color: #102044;
  font-size: 11px;
  font-weight: 800;
  padding: 5px 8px;
  position: absolute;
}

.node-a { left: 0; top: 44px; }
.node-b { right: 0; top: 30px; }
.node-c { bottom: 18px; left: 20px; }
.node-d { bottom: 32px; right: 4px; }

.home-hero-status {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.home-hero-status div {
  align-content: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  display: grid;
  padding: 8px 10px;
}

.home-hero-status span {
  color: rgba(255, 255, 255, 0.68);
  font-weight: 700;
  font-size: 11px;
}

.home-hero-status strong {
  color: #fff;
  font-size: 20px;
  margin-top: 1px;
}

.card,
.embedded-tool-shell {
  border-color: rgba(216, 227, 244, 0.92);
  box-shadow: var(--shadow);
}

.card:hover {
  box-shadow: 0 18px 44px rgba(18, 42, 84, 0.1);
}

.panel {
  padding: 20px;
}

.metric {
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.metric strong {
  color: #0f2248;
}

.metric-icon {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.table {
  background: #fff;
}

.table th {
  background: #f4f8fd;
  color: #5d6c8c;
  letter-spacing: 0;
}

.table td {
  border-bottom-color: #e8eef8;
}

.table tbody tr {
  transition: background 0.16s ease;
}

.table tbody tr:hover {
  background: #f8fbff;
}

.tag {
  border: 1px solid rgba(23, 105, 255, 0.08);
  font-weight: 700;
}

.blue {
  background: #eaf2ff;
}

.green {
  background: #e9f8f1;
}

.orange {
  background: #fff5e2;
}

.violet {
  background: #f1ecff;
}

.progress {
  background: #e2eaf5;
}

.progress span,
.upload-progress-bar span {
  background: linear-gradient(90deg, #1769ff, #0ea5a4);
}

.drawer-panel,
.text-preview-dialog,
.notify-confirm-dialog {
  border: 1px solid rgba(216, 227, 244, 0.95);
  box-shadow: 0 28px 70px rgba(18, 42, 84, 0.2);
}

.knowledge-folder-chip,
.knowledge-picker-row,
.work-uploaded-file {
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

@media (max-width: 1280px) {
  .home-hero {
    grid-template-columns: 1fr;
  }

  .home-hero-orbit {
    justify-self: center;
  }

  .home-hero-status {
    grid-template-columns: repeat(3, 1fr);
  }

  .layout-dashboard,
  .dashboard-main-grid,
  .detail-grid,
  .detail-hero,
  .empty-page,
  .file-tracking-grid {
    grid-template-columns: 1fr;
  }

  .cards-5 {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .media-schedule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yidou-cockpit-hero,
  .yidou-cockpit-lists {
    grid-template-columns: 1fr;
  }

  .yidou-cockpit-hero {
    display: grid;
  }

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

  .yidou-kpi-card {
    min-height: 98px;
    padding: 14px;
  }

  .yidou-kpi-card strong {
    font-size: 28px;
  }
}

@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden;
  }

  .login-screen {
    grid-template-columns: 1fr;
    background:
      linear-gradient(180deg, rgba(246, 250, 255, 0.22), rgba(246, 250, 255, 0.92)),
      url("./assets/login-background.jpg") center / cover no-repeat;
    overflow: auto;
    padding: 0;
  }

  .login-bg {
    padding: 28px;
    gap: 40px;
    min-height: 34vh;
  }

  .login-brand {
    gap: 12px;
  }

  .login-mark {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 12px;
  }

  .login-copy {
    padding-bottom: 0;
  }

  .login-copy p {
    font-size: 15px;
  }

  .login-card {
    margin: 0 auto 28px;
    justify-self: center;
  }

  .ding-qr-box {
    width: 276px;
    height: 276px;
  }

  .ding-qr-box iframe {
    width: 260px !important;
    height: 260px !important;
  }

  .app-shell {
    grid-template-columns: 1fr;
    min-height: 100vh;
  }

  .main {
    min-width: 0;
  }

  .sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    height: auto;
    max-height: 132px;
    padding: 10px 12px 12px;
    gap: 8px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(4, 20, 54, 0.24);
  }

  .brand {
    min-height: 44px;
    padding: 6px 8px;
    border-radius: 12px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

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

  .brand span {
    font-size: 12px;
  }

  .nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 4px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .nav::-webkit-scrollbar {
    display: none;
  }

  .nav-group {
    display: contents;
  }

  .nav-item,
  .nav-subitem {
    flex: 0 0 auto;
    min-width: max-content;
    max-width: 48vw;
    height: 38px;
    min-height: 38px;
    border-radius: 999px;
    padding: 0 14px;
    scroll-snap-align: start;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nav-item {
    display: inline-flex;
    gap: 8px;
    grid-template-columns: none;
  }

  .nav-subitems {
    display: none;
  }

  .nav-group.active[data-nav-group="marketingGround"] .nav-subitems {
    display: contents;
  }

  .nav-subitem {
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .08);
  }

  .quick-actions {
    display: none;
  }

  .quick-title {
    flex: 0 0 auto;
    align-items: center;
    margin-bottom: 0;
  }

  .quick-actions > button {
    width: auto;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
  }

  body[data-active-page="yidou"] .sidebar {
    max-height: 132px;
    padding: 10px 12px 12px;
    gap: 8px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
  }

  body[data-active-page="yidou"] .brand {
    min-height: 44px;
    padding: 6px 8px;
    border-radius: 12px;
  }

  body[data-active-page="yidou"] .brand-mark {
    width: 34px;
    height: 34px;
  }

  body[data-active-page="yidou"] .brand strong {
    font-size: 16px;
    line-height: 1.1;
  }

  body[data-active-page="yidou"] .brand span {
    font-size: 12px;
  }

  body[data-active-page="yidou"] .nav {
    gap: 8px;
    min-height: 40px;
    padding: 0 0 4px;
    scrollbar-width: none;
  }

  body[data-active-page="yidou"] .nav::-webkit-scrollbar {
    display: none;
  }

  body[data-active-page="yidou"] .nav-item,
  body[data-active-page="yidou"] .nav-subitem {
    height: 38px;
    min-height: 38px;
    padding: 0 14px;
    font-size: 14px;
    border-radius: 999px;
  }

  body[data-active-page="yidou"] .nav-subitems {
    display: none;
  }

  body[data-active-page="yidou"] .nav-item:not(.active):not(.admin-only) {
    background: rgba(255, 255, 255, .07);
  }

  body[data-active-page="yidou"] .nav-item.admin-only {
    display: inline-flex;
  }

  body[data-active-page="yidou"] .quick-actions {
    display: none;
  }

  body[data-active-page="yidou"] .topbar {
    display: none;
  }

  body[data-active-page="yidou"] .page {
    padding: 10px 10px 28px;
  }

  body[data-active-page="yidou"] .page-head {
    display: none;
  }

  .topbar {
    height: auto;
    grid-template-columns: 40px minmax(0, 1fr) 44px;
    gap: 8px;
    padding: 8px 10px;
    top: 0;
  }

  .icon-button {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .search {
    height: 40px;
    min-width: 0;
    border-radius: 12px;
  }

  .search input {
    min-width: 0;
    font-size: 15px;
  }

  .top-qa-button {
    justify-self: end;
    width: 44px;
    height: 40px;
    padding: 0;
    border-radius: 14px;
    justify-content: center;
  }

  .qa-robot-text {
    display: none;
  }

  .top-actions {
    grid-column: 1 / -1;
    justify-self: stretch;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    overflow: visible;
    padding: 0;
  }

  .top-actions .icon-button {
    display: none;
  }

  .top-actions .user {
    min-width: 0;
    flex: 1 1 auto;
    min-height: 42px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .top-actions .user strong {
    font-size: 15px;
  }

  .top-actions .user span {
    font-size: 12px;
  }

  .user-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }

  #logoutButton {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 12px;
  }

  .page {
    padding: 14px 10px 30px;
  }

  .page-head {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .page-head h1 {
    font-size: 22px;
  }

  .page-head p {
    font-size: 13px;
  }

  .panel,
  .card {
    border-radius: 14px;
  }

  .panel {
    padding: 14px;
  }

  .panel-head {
    align-items: flex-start;
    gap: 10px;
  }

  .toolbar,
  .actions {
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .toolbar::-webkit-scrollbar,
  .actions::-webkit-scrollbar {
    display: none;
  }

  .toolbar > *,
  .actions > * {
    flex: 0 0 auto;
  }

  .project-summary-grid {
    grid-template-columns: 1fr;
  }

  .project-pie-wrap {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .project-pie {
    width: 86px;
    height: 86px;
  }

  .project-pie::after {
    inset: 22px;
  }

  input,
  select,
  textarea,
  .input-like {
    min-height: 44px;
    font-size: 16px;
  }

  .btn {
    min-height: 42px;
    border-radius: 12px;
  }

  .cards-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .cards-5 .metric {
    min-height: 96px;
    padding: 12px;
    grid-template-columns: 1fr 32px;
    align-items: center;
    border-radius: 12px;
  }

  .cards-5 .metric span:first-child {
    font-size: 13px;
  }

  .cards-5 .metric strong {
    margin-top: 4px;
    font-size: 26px;
    line-height: 1;
  }

  .cards-5 .metric .delta {
    margin-top: 4px;
    font-size: 12px;
  }

  .cards-5 .metric-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 17px;
  }

  .cards-5 .metric:nth-child(5):last-child {
    grid-column: 1 / -1;
    min-height: 78px;
    grid-template-columns: 1fr 32px;
  }

  .home-hero {
    padding: 24px;
  }

  .home-hero-orbit {
    width: min(300px, 100%);
  }

  .home-hero-status {
    grid-template-columns: 1fr;
  }

  .admin-grid,
  .admin-module-layout,
  .admin-directory,
  .opportunity-summary,
  .work-form-grid,
  .work-summary-controls,
  .overview-grid,
  .two-cols,
  .doc-grid,
  .expert-grid,
  .report-grid,
  .assistant-layout,
  .aigc-layout,
	  .sponsor-letter-layout,
	  .aigc-form-grid,
	  .yidou-publish-layout,
	  .yidou-publish-grid,
	  .yidou-transfer-page,
	  .yidou-transfer-grid,
	  .yidou-detail-summary,
	  .yidou-detail-grid,
	  .media-schedule-grid,
	  .media-config-row,
	  .cockpit-config-row,
	  .cockpit-entry-grid,
	  .sponsor-stamped-grid {
    grid-template-columns: 1fr;
  }

  .yidou-publish-tips {
    position: static;
  }

  .yidou-native {
    gap: 12px;
  }

  .yidou-tabs {
    position: sticky;
    top: 0;
    z-index: 16;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 6px;
    border-radius: 12px;
  }

  .yidou-tabs button {
    min-width: 0;
    padding: 10px 6px;
    font-size: 15px;
    text-align: center;
  }

  .yidou-hero {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 12px;
  }

  .yidou-hero h2 {
    margin: 4px 0 6px;
    font-size: 22px;
    line-height: 1.25;
  }

  .yidou-hero p {
    margin: 0;
    font-size: 13px;
  }

  .yidou-wallet {
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 12px;
  }

  .yidou-wallet strong {
    font-size: 30px;
  }

  .yidou-wallet small {
    grid-column: 1 / -1;
  }

  .yidou-guide {
    display: none;
  }

  .yidou-toolbar {
    display: grid;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
  }

  .yidou-categories {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0 18px 2px 0;
    scroll-padding-right: 18px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .yidou-categories::-webkit-scrollbar {
    display: none;
  }

  .yidou-sort {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 18px 2px 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .yidou-sort::-webkit-scrollbar {
    display: none;
  }

  .yidou-categories button,
  .yidou-sort button {
    flex: 0 0 auto;
    padding: 9px 12px;
    font-size: 14px;
  }

  .yidou-toolbar input {
    width: 100%;
    max-width: none;
    min-height: 40px;
  }

  .yidou-product-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .yidou-product-card {
    border-radius: 12px;
  }

  .yidou-cover {
    min-height: 132px;
    padding: 14px;
  }

  .yidou-cover strong {
    font-size: 20px;
    line-height: 1.25;
  }

  .yidou-product-body {
    padding: 14px;
  }

	  .yidou-price strong {
	    font-size: 24px;
	  }

	  .yidou-transfer-card {
	    padding: 14px;
	  }

	  .yidou-transfer-card .panel-head {
	    align-items: flex-start;
	    gap: 8px;
	  }

	  .yidou-transaction-row {
	    align-items: flex-start;
	    padding: 12px;
	  }

  .yidou-buyer-trade-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .yidou-trade-steps {
    width: 100%;
  }

		  .yidou-transaction-row b {
		    font-size: 16px;
		  }

  .yidou-transaction-side {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
  }

  .yidou-transaction-actions {
    justify-content: flex-start;
  }

		  .yidou-publish {
		    padding: 14px;
		  }

  .yidou-publish-grid {
    gap: 10px;
  }

  .yidou-editor-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .yidou-editor-toolbar button,
  .yidou-editor-toolbar select {
    flex: 0 0 auto;
  }

  .yidou-detail-sticky-head {
    padding-right: 38px;
  }

  .yidou-native-dialog {
    width: calc(100vw - 20px);
    height: calc(100dvh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 16px;
    border-radius: 18px;
  }

  .yidou-detail-sticky-head {
    padding: 0 38px 12px 0;
  }

  .yidou-detail-summary {
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
  }

  .yidou-detail-thumb {
    width: 100%;
    min-height: 164px;
  }

  .yidou-detail-price {
    justify-self: start;
  }

  .yidou-detail-scroll {
    display: block;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    padding: 14px 0 12px;
    -webkit-overflow-scrolling: touch;
  }

  .yidou-detail-grid {
    display: flex;
    flex-direction: column;
    height: auto;
    gap: 12px;
  }

  .yidou-detail-grid aside {
    display: grid;
    gap: 12px;
  }

  .yidou-detail-main-card {
    display: block;
    min-height: 0;
    overflow: visible;
  }

  .yidou-rich-scroll {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .yidou-reviews {
    margin-top: 12px;
  }

  .yidou-detail-actions {
    justify-content: stretch;
    padding-top: 12px;
  }

  .yidou-detail-actions .btn {
    flex: 1;
  }

  .assignment-banner,
  .assignment-banner.member,
  .check-grid,
  .form-row {
    grid-template-columns: 1fr;
  }

  .layout-dashboard {
    grid-template-columns: 1fr;
  }

  .table-wrap,
  .opportunity-table-wrap,
  .permission-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .drawer {
    align-items: flex-end;
  }

  .drawer-panel,
  .drawer.wide .drawer-panel {
    width: 100vw;
    max-height: 88vh;
    padding: 18px;
    border-radius: 18px 18px 0 0;
    overflow: auto;
  }

  .drawer.project-create-drawer .drawer-panel {
    height: 100dvh;
    max-height: 100dvh;
    padding: 0;
    overflow: hidden;
  }

  .project-create-shell {
    grid-template-columns: 1fr;
    grid-template-rows: 62px auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
  }

  .project-create-nav {
    grid-column: 1;
    grid-row: 2;
    height: auto;
    position: relative;
  }

  .project-create-page-header {
    grid-column: 1;
    grid-row: 1;
    padding: 8px 14px;
  }

  .project-create-page-heading small {
    display: none;
  }

  .project-create-page-heading strong {
    font-size: 16px;
  }

  .project-create-form {
    grid-column: 1;
    grid-row: 3;
    height: auto;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    padding: 18px;
  }

  .project-execution-row {
    grid-template-columns: 1fr;
  }

  .project-execution-head {
    display: none;
  }

  .execution-field > span {
    display: block;
  }

  .execution-field-title,
  .execution-field-manager,
  .execution-field-start,
  .execution-field-end,
  .execution-field-owner,
  .execution-field-budget,
  .execution-meeting-archive,
  .execution-expert-invite,
  .execution-row-delete {
    grid-column: auto;
  }

  .execution-row-delete {
    justify-self: end;
  }

  .project-action-card,
  .project-action-options {
    grid-template-columns: 1fr;
  }

  .project-create-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .text-preview-dialog,
  .notify-confirm-dialog,
  .knowledge-picker-dialog,
  .knowledge-qa-dialog {
    width: calc(100vw - 20px);
    max-height: 86vh;
    border-radius: 18px;
    overflow: auto;
  }

  .compliance-decision-dialog {
    max-height: calc(100vh - 28px);
    padding: 18px;
  }

  .compliance-decision-head {
    padding-right: 34px;
  }

  .compliance-decision-list {
    max-height: 54vh;
  }

  .compliance-decision-item {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .compliance-decision-action {
    grid-column: 2;
    justify-self: start;
  }

  .compliance-decision-footer {
    flex-direction: column;
  }

  .compliance-decision-footer .btn {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .workflow-view-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-view-switch button {
    min-height: 64px;
    padding: 10px;
  }

  .login-bg {
    min-height: 28vh;
    padding: 22px;
  }

  .login-copy h1 {
    font-size: 36px;
  }

  .login-card {
    width: calc(100vw - 24px);
    padding: 20px;
  }

  .login-mode-tabs {
    grid-template-columns: 1fr;
  }

  .ding-qr-box {
    width: 244px;
    min-height: 244px;
    height: 244px;
  }

  .ding-qr-box iframe {
    width: 228px !important;
    height: 228px !important;
  }

  .is-dingtalk-in-app .ding-qr-box {
    min-height: 150px;
    height: 168px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(23, 105, 255, 0.18);
    background:
      radial-gradient(circle at 50% 24%, rgba(23, 105, 255, 0.12), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
  }

  .is-dingtalk-in-app .ding-qr-box::before {
    content: "正在从钉钉工作台进入新壹智";
    display: grid;
    place-items: center;
    width: calc(100% - 32px);
    min-height: 108px;
    padding-top: 44px;
    border-radius: 14px;
    color: #12224a;
    font-weight: 800;
    text-align: center;
    background:
      radial-gradient(circle at 50% 22px, #1769ff 0 18px, transparent 19px),
      linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.64));
    box-shadow: inset 0 0 0 1px rgba(23, 105, 255, 0.08);
  }

  .is-dingtalk-in-app .ding-qr-box::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    width: 19px;
    height: 8px;
    border-radius: 999px;
    transform: translateX(-50%);
    background:
      radial-gradient(circle at 4px 4px, #fff 0 3px, transparent 4px),
      radial-gradient(circle at 15px 4px, #fff 0 3px, transparent 4px);
  }

  .is-dingtalk-in-app .ding-qr-box.ding-in-app-failed::before {
    content: "自动登录未完成，可重试或切换测试登录";
    color: #b42318;
    background:
      radial-gradient(circle at 50% 22px, #ef4444 0 18px, transparent 19px),
      linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 247, 247, 0.72));
  }

  .is-dingtalk-in-app .ding-qr-box .ding-qr-loading,
  .is-dingtalk-in-app .ding-qr-box .ding-qr-frame {
    display: none !important;
  }

  .is-dingtalk-in-app #dingTalkLoginButton {
    font-size: 0;
  }

  .is-dingtalk-in-app #dingTalkLoginButton::before {
    content: "重新尝试自动登录";
    font-size: 16px;
  }

  .yidou-native-dialog {
    width: calc(100vw - 20px);
    height: calc(100vh - 28px);
  }
}

/* Final Yidou personal summary compaction. Keep these near the end so older card rules cannot stretch them. */
.yidou-stats-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
}

.yidou-stat-pill {
  width: auto;
  min-width: 0;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #cfe0fb;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffffff 0%, #f5f8ff 100%);
  box-shadow: 0 8px 20px rgba(27, 84, 185, 0.07);
  white-space: nowrap;
}

.yidou-stat-pill span {
  color: #657492;
  font-size: 13px;
  font-weight: 700;
}

.yidou-stat-pill strong {
  color: #0f234b;
  font-size: 22px;
  line-height: 1;
}

.yidou-stat-pill:first-child {
  border-color: #bfe9df;
  background: linear-gradient(135deg, #effdf8 0%, #ffffff 100%);
}

@media (min-width: 901px) {
  .yidou-transfer-card {
    grid-template-columns: minmax(220px, 300px) minmax(120px, 150px) minmax(260px, 1fr) auto;
    align-items: end;
  }

  .yidou-transfer-card .panel-head {
    grid-column: 1 / -1;
  }

  .yidou-transfer-grid {
    display: contents;
  }

  .yidou-transfer-card > label {
    min-width: 0;
  }

  .yidou-transfer-card > .btn[type="submit"] {
    min-width: 120px;
    align-self: end;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .requirement-layout {
    grid-template-columns: 1fr;
  }

  .requirement-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .requirement-card-head {
    grid-template-columns: 1fr;
  }

  .requirement-manager {
    grid-template-columns: 1fr;
  }

  .requirement-manager .wide {
    grid-column: auto;
  }

  .requirement-note {
    grid-template-columns: 1fr;
  }
  .attack-group-grid,
  .attack-diary-main {
    grid-template-columns: 1fr;
  }
  .attack-group-card {
    min-height: auto;
  }
  .attack-record-head,
  .attack-group-detail .panel-head {
    display: grid;
  }
  .attack-diary-ai-box {
    grid-template-columns: 1fr;
  }
  .attack-record-actions {
    justify-content: flex-start;
  }
  .attack-record-field {
    grid-template-columns: 1fr;
  }
  .attack-members {
    align-items: flex-start;
    border-radius: 14px;
  }

  .yidou-stats-pills {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 10px;
  }

  .yidou-stat-pill {
    justify-content: space-between;
    min-height: 38px;
    padding: 8px 10px;
  }

  .yidou-stat-pill span {
    font-size: 12px;
  }

  .yidou-stat-pill strong {
    font-size: 20px;
  }

  .task-project-list {
    grid-template-columns: 1fr;
  }

  .task-project-card {
    min-height: 64px;
    padding: 12px;
  }

  .task-row-action {
    grid-template-columns: auto 1fr;
  }

  .task-action-cell {
    grid-column: 2;
    justify-content: flex-start;
  }
}

.sponsor-benefit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sponsor-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sponsor-chip-button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-weight: 700;
  padding: 8px 12px;
}

.sponsor-chip-button:hover {
  border-color: #1769ff;
  color: #1769ff;
  background: #eef5ff;
}

.sponsor-letter-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sponsor-letter-config-grid textarea {
  min-height: 132px;
  resize: vertical;
}

@media (max-width: 900px) {
  .sponsor-letter-config-grid,
  .sponsor-benefit-grid {
    grid-template-columns: 1fr;
  }
}

/* yidou publish layout refresh */
body[data-active-page="yidou"] .content {
  background: linear-gradient(180deg, #f5f8fc 0%, #eef3f9 100%);
}

body[data-active-page="yidou"] .page-head {
  margin-bottom: 18px;
}

body[data-active-page="yidou"] .page-head h2 {
  letter-spacing: 0;
}

.yidou-tabs {
  align-items: center;
  gap: 6px;
  padding: 6px;
  border-color: #d9e5f5;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(28, 64, 112, 0.06);
}

.yidou-tabs button {
  min-width: 110px;
  min-height: 42px;
  border-radius: 7px;
  padding: 0 18px;
  font-size: 15px;
}

.yidou-publish-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 20px;
}

.yidou-publish,
.yidou-publish-tips {
  border-color: #d9e5f5;
  box-shadow: 0 18px 44px rgba(21, 45, 86, 0.07);
}

.yidou-publish {
  gap: 20px;
  padding: 24px 26px 26px;
  background: #ffffff;
}

.yidou-publish .panel-head {
  align-items: flex-start;
  margin-bottom: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5edf8;
}

.yidou-publish .panel-head h3 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.25;
}

.yidou-publish .panel-head p {
  margin: 0;
  max-width: 680px;
  line-height: 1.6;
}

.yidou-publish-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}

.yidou-publish label,
.yidou-cover-field,
.yidou-delivery-section {
  display: grid;
  gap: 8px;
  color: #1b2c4d;
  font-size: 14px;
  font-weight: 800;
}

.yidou-publish input,
.yidou-publish select,
.yidou-publish textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cddbf0;
  border-radius: 8px;
  background: #f9fbff;
  color: #17233f;
  font: inherit;
  font-weight: 700;
  outline: none;
  padding: 0 12px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.yidou-publish textarea {
  min-height: 92px;
  padding: 12px;
  line-height: 1.55;
  resize: vertical;
}

.yidou-publish input:focus,
.yidou-publish select:focus,
.yidou-publish textarea:focus {
  border-color: #1769ff;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.1);
}

.yidou-publish input::placeholder,
.yidou-publish textarea::placeholder {
  color: #94a3b8;
  font-weight: 600;
}

.yidou-publish > label:has([name="summary"]),
.yidou-delivery-section .yidou-publish-grid label:has([name="deliveryNote"]) {
  grid-column: 1 / -1;
}

.yidou-delivery-section {
  padding: 18px;
  border: 1px solid #d9e5f5;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fe 100%);
}

.yidou-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.yidou-section-title strong {
  color: #17233f;
  font-size: 16px;
}

.yidou-section-title span {
  color: #667795;
  font-size: 13px;
  font-weight: 700;
}

.yidou-cover-field {
  padding: 18px;
  border: 1px solid #d9e5f5;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fe 100%);
}

.yidou-cover-field > span {
  font-size: 15px;
}

.yidou-cover-upload {
  width: min(520px, 100%);
  min-height: 210px;
  border-color: #a9c7f7;
  border-radius: 8px;
  background-color: #f7fbff;
  color: #697895;
}

.yidou-cover-upload strong {
  font-size: 18px;
}

.yidou-cover-upload small {
  color: #7f8ca6;
  font-weight: 700;
}

.yidou-detail-editor {
  border-color: #d9e5f5;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.yidou-detail-editor-head {
  align-items: center;
  padding: 14px 16px;
  background: #f6f9fe;
}

.yidou-editor-toolbar {
  gap: 8px;
  padding: 10px 12px;
  background: #fbfdff;
}

.yidou-editor-toolbar button,
.yidou-editor-toolbar select {
  min-height: 36px;
  border-color: #d4e1f2;
  border-radius: 8px;
  color: #203154;
  font-weight: 800;
}

.yidou-editor-surface {
  min-height: 300px;
  padding: 18px;
  color: #1c2b49;
  font-size: 15px;
  line-height: 1.75;
}

.yidou-publish > .btn.primary[type="submit"] {
  justify-self: end;
  min-width: 180px;
  min-height: 46px;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(23, 105, 255, 0.2);
}

.yidou-publish-tips {
  top: 102px;
  gap: 14px;
  padding: 22px;
  background: #ffffff;
}

.yidou-publish-tips h3 {
  margin: 0 0 8px;
  color: #17233f;
  font-size: 22px;
}

.yidou-template-card {
  gap: 8px;
  padding: 16px;
  border-color: #d9e5f5;
  border-radius: 8px;
  background: #f8fbff;
}

.yidou-template-card strong {
  color: #17233f;
  font-size: 16px;
}

.yidou-template-card span {
  color: #667795;
  font-size: 14px;
}

.yidou-template-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(23, 105, 255, 0.1);
}

@media (max-width: 1080px) {
  .yidou-publish-layout {
    grid-template-columns: 1fr;
  }

  .yidou-publish-tips {
    position: static;
  }
}

@media (max-width: 760px) {
  .yidou-tabs button {
    min-width: auto;
    flex: 1 1 calc(50% - 6px);
  }

  .yidou-publish {
    padding: 18px;
  }

  .yidou-publish-grid {
    grid-template-columns: 1fr;
  }

  .yidou-publish > .btn.primary[type="submit"] {
    justify-self: stretch;
  }
}

/* 价值单元：底表状态与药品商品库联动 */
.value-unit-page-head { align-items: flex-start; }
.value-unit-source { display: grid; min-width: 260px; gap: 4px; padding: 13px 15px; border: 1px solid #d9e5f4; border-radius: 14px; background: #f8fbff; }
.value-unit-source span, .value-unit-source small { color: #748198; font-size: 11px; }
.value-unit-source strong { color: #1a3157; font-size: 14px; }
.value-unit-source .btn { margin-top: 5px; justify-self: start; }
.value-unit-overview { display: grid; grid-template-columns: 1.15fr repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.value-unit-total-card, .value-unit-link-card { display: grid; gap: 7px; min-height: 122px; padding: 18px; border: 1px solid #dfe7f3; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(30, 64, 120, .05); }
.value-unit-total-card { background: linear-gradient(135deg, #155fe8, #367ff7); color: #fff; border-color: transparent; }
.value-unit-total-card span, .value-unit-link-card span { font-size: 12px; font-weight: 700; }
.value-unit-total-card strong, .value-unit-link-card strong { font-size: 30px; line-height: 1; }
.value-unit-total-card small { align-self: end; color: rgba(255,255,255,.82); font-size: 11px; }
.value-unit-link-card span { color: #68758c; }
.value-unit-link-card strong { color: #17386d; }
.value-unit-link-card strong small { color: #8b97aa; font-size: 13px; }
.value-unit-link-card em { align-self: end; color: #d36a35; font-size: 11px; font-style: normal; }
.value-unit-toolbar { display: grid; gap: 12px; margin-bottom: 14px; padding: 14px; border: 1px solid #e0e8f3; border-radius: 16px; background: #fff; }
.value-unit-status-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.value-unit-status-filters button { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #d9e4f2; border-radius: 10px; background: #f8fbff; color: #50627e; cursor: pointer; }
.value-unit-status-filters button strong { color: #1d5dbb; font-size: 12px; }
.value-unit-status-filters button.active { border-color: #1769ff; background: #1769ff; color: #fff; }
.value-unit-status-filters button.active strong { color: #fff; }
.value-unit-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; gap: 8px; }
.value-unit-table-wrap { overflow: auto; border: 1px solid #dfe7f2; border-radius: 16px; background: #fff; }
.value-unit-table-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e7edf5; }
.value-unit-table-title strong { color: #19365f; }
.value-unit-table-title span { color: #7f8ca1; font-size: 11px; }
.value-unit-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.value-unit-table th { padding: 11px 13px; background: #f5f8fc; color: #65738a; font-size: 11px; text-align: left; }
.value-unit-table td { padding: 12px 13px; border-top: 1px solid #edf1f6; color: #2c3c56; font-size: 12px; vertical-align: top; }
.value-unit-table tbody tr { cursor: pointer; transition: background .15s ease; }
.value-unit-table tbody tr:hover, .value-unit-table tbody tr.active { background: #f3f8ff; }
.value-unit-table td > strong, .value-unit-table td > small { display: block; }
.value-unit-table td > small { margin-top: 4px; color: #8691a3; font-size: 10px; line-height: 1.45; }
.value-unit-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.value-unit-status.green { color: #137a46; background: #e9f8ef; }
.value-unit-status.blue { color: #155aba; background: #eaf2ff; }
.value-unit-status.orange { color: #ae5b20; background: #fff1df; }
.value-unit-status.purple { color: #6845b7; background: #f0eaff; }
.value-unit-status.gray { color: #687387; background: #eef1f5; }
.value-unit-linkage-tags { display: flex; max-width: 240px; flex-wrap: wrap; gap: 4px; }
.value-unit-linkage-tags span { padding: 4px 6px; border-radius: 6px; font-size: 9px; }
.value-unit-linkage-tags .ok { color: #147b4a; background: #e9f8ef; }
.value-unit-linkage-tags .failed { color: #bd563e; background: #fff0ec; }
.value-unit-linkage-tags .neutral { color: #748096; background: #eef1f5; }
.value-unit-detail { margin-top: 16px; padding: 18px; border: 1px solid #cfe0f8; border-radius: 16px; background: linear-gradient(180deg, #fbfdff, #f6f9fe); }
.value-unit-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.value-unit-detail-head span { color: #1769ff; font-size: 10px; font-weight: 700; }
.value-unit-detail-head h3 { margin: 4px 0; color: #152a4a; }
.value-unit-detail-head p { margin: 0; color: #7c899c; font-size: 11px; }
.value-unit-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }
.value-unit-detail-grid section, .value-unit-link-panels section { padding: 13px; border: 1px solid #e0e8f3; border-radius: 12px; background: #fff; }
.value-unit-detail-grid span { color: #7c899b; font-size: 10px; }
.value-unit-detail-grid p { margin: 7px 0 0; color: #2d3d56; font-size: 12px; line-height: 1.6; }
.value-unit-link-panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.value-unit-link-panels h4 { margin: 0 0 9px; color: #1d3c69; font-size: 12px; }
.value-unit-link-panels p { margin: 0; color: #2e3e57; font-size: 12px; line-height: 1.55; }
.value-unit-link-panels small { display: block; margin-top: 7px; color: #8290a4; font-size: 10px; line-height: 1.55; }
.value-unit-company-links { display: grid; gap: 6px; }
.value-unit-company-links button { display: grid; gap: 3px; padding: 8px 10px; border: 1px solid #d8e5f6; border-radius: 9px; background: #f7faff; text-align: left; cursor: pointer; }
.value-unit-company-links button:hover { border-color: #1769ff; }
.value-unit-company-links strong { color: #1759b5; font-size: 11px; }
.value-unit-company-links span { color: #7f8ca0; font-size: 9px; }
.value-unit-source-raw { margin-top: 12px; padding: 11px 13px; border: 1px dashed #cfdbea; border-radius: 10px; background: #fff; }
.value-unit-source-raw summary { color: #526683; font-size: 11px; cursor: pointer; }
.value-unit-source-raw div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-top: 1px solid #edf1f6; }
.value-unit-source-raw div:first-of-type { margin-top: 8px; }
.value-unit-source-raw span { color: #8290a2; font-size: 10px; }
.value-unit-source-raw strong { color: #34445c; font-size: 11px; font-weight: 500; line-height: 1.55; }

.product-value-unit-browser,
.product-value-unit-archive { display: grid; gap: 16px; }
.product-value-unit-return-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid #bed7fb; border-radius: 10px; background: #f2f7ff; color: #264d83; }
.product-value-unit-status-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.product-value-unit-status-filters button { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #d7e1ef; border-radius: 999px; background: #fff; color: #52647e; cursor: pointer; }
.product-value-unit-status-filters button strong { color: #1769ff; }
.product-value-unit-status-filters button.active { border-color: #0f766e; background: #0f766e; color: #fff; }
.product-value-unit-status-filters button.active strong { color: #fff; }
.product-value-unit-guide { padding: 12px 14px; border: 1px solid #dce5f0; border-radius: 10px; background: #fbfdff; }
.product-value-unit-guide summary { color: #28476f; font-weight: 700; cursor: pointer; }
.product-value-unit-guide > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.product-value-unit-guide section { padding: 11px; border: 1px solid #e3e9f2; border-radius: 9px; background: #fff; }
.product-value-unit-guide p { margin: 8px 0 0; color: #63738b; font-size: 11px; line-height: 1.55; }
.product-value-unit-result-head { display: flex; justify-content: space-between; gap: 12px; color: #1c365c; }
.product-value-unit-result-head span { color: #7c899d; font-size: 12px; }
.product-value-unit-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.product-value-unit-result-grid > button { display: grid; min-width: 0; gap: 10px; padding: 16px; border: 1px solid #dce5f1; border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: .16s ease; }
.product-value-unit-result-grid > button:hover { transform: translateY(-1px); border-color: #6aa2f6; box-shadow: 0 12px 26px rgba(34, 79, 146, .09); }
.product-value-unit-result-grid > button > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-value-unit-result-grid > button > div small { color: #8794a7; }
.product-value-unit-result-grid > button > strong { color: #17345e; font-size: 16px; }
.product-value-unit-result-grid > button > p { overflow: hidden; min-height: 38px; margin: 0; color: #64738a; font-size: 12px; line-height: 1.6; }
.product-value-unit-result-grid footer { display: flex; flex-wrap: wrap; gap: 8px 14px; padding-top: 9px; border-top: 1px solid #edf1f6; color: #66758b; font-size: 11px; }
.product-value-unit-result-grid footer em { margin-left: auto; color: #1769ff; font-style: normal; font-weight: 700; }
.product-value-unit-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #8a96a8; font-size: 12px; }
.product-value-unit-breadcrumb button { padding: 0; border: 0; background: none; color: #1769ff; cursor: pointer; }
.product-value-unit-breadcrumb strong { color: #34465f; }
.product-value-unit-archive-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px; border: 1px solid #dbe5f1; border-radius: 14px; background: linear-gradient(135deg, #f8fbff, #fff); }
.product-value-unit-archive-head h2 { margin: 9px 0 5px; color: #142e52; }
.product-value-unit-archive-head p { margin: 0; color: #78869a; font-size: 12px; }
.product-value-unit-category { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 6px 18px; padding: 15px 17px; border: 1px solid #dce5f0; border-left: 5px solid #1769ff; border-radius: 12px; background: #fff; }
.product-value-unit-category > div { grid-row: span 2; display: grid; align-content: center; gap: 4px; }
.product-value-unit-category span, .product-value-unit-category small { color: #7b899d; font-size: 11px; }
.product-value-unit-category strong { color: #183c6c; font-size: 18px; }
.product-value-unit-category p { margin: 0; color: #3f5068; line-height: 1.55; }
.product-value-unit-category.orange { border-left-color: #d97a31; }
.product-value-unit-category.purple { border-left-color: #7956c7; }
.product-value-unit-category.green { border-left-color: #209a62; }
.product-value-unit-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.product-value-unit-facts > * { display: grid; gap: 7px; min-width: 0; padding: 14px; border: 1px solid #dfe7f1; border-radius: 11px; background: #fff; text-align: left; }
.product-value-unit-facts button { cursor: pointer; }
.product-value-unit-facts button:hover:not(:disabled) { border-color: #5f99ed; background: #f6faff; }
.product-value-unit-facts button:disabled { cursor: default; }
.product-value-unit-facts span { color: #7c899b; font-size: 11px; }
.product-value-unit-facts strong { overflow-wrap: anywhere; color: #193a68; font-size: 16px; }
.product-value-unit-facts em { color: #8190a4; font-size: 10px; font-style: normal; }
.product-value-unit-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.product-value-unit-sections > section { min-width: 0; padding: 16px; border: 1px solid #dfe7f1; border-radius: 12px; background: #fff; }
.product-value-unit-sections > section.wide { grid-column: 1 / -1; }
.product-value-unit-source-fields > div:last-child { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.product-value-unit-source-fields article { display: grid; gap: 6px; min-width: 0; padding: 12px; border: 1px solid #dfe7f2; border-radius: 10px; background: #f8fbff; }
.product-value-unit-source-fields article span { color: #77869a; font-size: 11px; }
.product-value-unit-source-fields article strong { overflow-wrap: anywhere; color: #183b69; font-size: 14px; line-height: 1.55; }
.product-value-unit-scope { margin: 0; color: #334861; line-height: 1.75; }
.product-value-unit-note { margin-top: 12px; padding: 11px 13px; border-radius: 9px; background: #fff8e8; }
.product-value-unit-note span { color: #9a6b22; font-size: 11px; font-weight: 700; }
.product-value-unit-note p { margin: 5px 0 0; color: #6f562e; line-height: 1.6; }
.product-value-unit-links { display: grid; gap: 8px; }
.product-value-unit-links button { display: grid; gap: 5px; padding: 11px; border: 1px solid #d9e5f4; border-radius: 9px; background: #f8fbff; text-align: left; cursor: pointer; }
.product-value-unit-links button:hover { border-color: #4d91ef; }
.product-value-unit-links strong { color: #155aad; }
.product-value-unit-links span { color: #7b899c; font-size: 10px; }
.product-value-unit-product-links { display: flex; flex-wrap: wrap; gap: 8px; }
.product-value-unit-product-links button { padding: 8px 10px; border: 1px solid #d9e4f1; border-radius: 9px; background: #f8fbff; color: #27476f; cursor: pointer; }
.product-value-unit-product-links button:hover { border-color: #4388e7; }
.product-value-unit-product-links button span { color: #1769ff; font-size: 10px; }
.value-unit-linkage-tags.large span { padding: 7px 9px; font-size: 11px; }
.product-value-unit-gap { margin: 12px 0 0; color: #b65d32; }
.product-value-unit-ok { margin: 12px 0 0; color: #1d8251; }

.value-unit-admin { display: grid; gap: 16px; }
.value-unit-admin-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) 190px auto; align-items: center; gap: 10px; }
.value-unit-admin-toolbar span { color: #748399; font-size: 12px; white-space: nowrap; }
.value-unit-admin-layout { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); min-height: 620px; border: 1px solid #dce5f0; border-radius: 14px; overflow: hidden; }
.value-unit-admin-list { max-height: 760px; overflow: auto; padding: 9px; border-right: 1px solid #dce5f0; background: #f6f9fd; }
.value-unit-admin-list > button { display: grid; gap: 6px; width: 100%; margin-bottom: 7px; padding: 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; text-align: left; cursor: pointer; }
.value-unit-admin-list > button:hover, .value-unit-admin-list > button.active { border-color: #b8d3f7; background: #fff; box-shadow: 0 5px 16px rgba(34, 75, 125, .08); }
.value-unit-admin-list > button strong { color: #203b61; line-height: 1.45; }
.value-unit-admin-list > button small { color: #7f8da0; }
.value-unit-admin-editor { min-width: 0; padding: 20px; background: #fff; }
.value-unit-admin-editor form { display: grid; gap: 16px; }
.value-unit-admin-editor-head { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid #e3eaf3; }
.value-unit-admin-editor-head h3 { margin: 5px 0; color: #17375f; }
.value-unit-admin-editor-head span, .value-unit-admin-editor-head p, .value-unit-admin-editor-head small { margin: 0; color: #7b899d; font-size: 11px; }
.value-unit-admin-pool { padding: 14px; border-radius: 11px; background: #fff8e8; }
.value-unit-admin-pool em { color: #8e6d34; font-size: 11px; font-style: normal; }
.value-unit-admin-core-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; border: 1px solid #cfe0f5; border-radius: 12px; background: #f5f9ff; }
.value-unit-admin-core-fields em { color: #75859a; font-size: 11px; font-style: normal; }
.value-unit-admin-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.value-unit-admin-fields textarea { min-height: 92px; resize: vertical; }
.value-unit-admin-products { display: grid; gap: 12px; padding: 16px; border: 1px solid #dfe7f1; border-radius: 12px; background: #fbfdff; }
.value-unit-admin-products .panel-head { margin: 0; }
.value-unit-admin-products .panel-head > strong { color: #1769ff; white-space: nowrap; }
.value-unit-admin-product-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 330px; overflow: auto; padding: 3px; }
.value-unit-admin-product-list > label { display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 10px; border: 1px solid #e0e8f2; border-radius: 9px; background: #fff; cursor: pointer; }
.value-unit-admin-product-list > label:has(input:checked) { border-color: #6ea6ef; background: #f1f7ff; }
.value-unit-admin-product-list input { margin-top: 3px; }
.value-unit-admin-product-list span { display: grid; gap: 4px; min-width: 0; }
.value-unit-admin-product-list strong { overflow-wrap: anywhere; color: #23466f; font-size: 12px; }
.value-unit-admin-product-list small { overflow-wrap: anywhere; color: #7d8b9e; font-size: 10px; line-height: 1.45; }
.value-unit-admin-actions { display: flex; align-items: center; gap: 12px; }
.value-unit-admin-actions span { color: #75849a; font-size: 11px; }
.value-unit-admin-history { padding: 12px; border: 1px solid #dfe7f1; border-radius: 10px; }
.value-unit-admin-history p { display: flex; justify-content: space-between; gap: 10px; margin: 9px 0 0; color: #294666; }
.value-unit-admin-history small { color: #8290a2; }
.sales-sandbox-summary { grid-template-columns: repeat(5, minmax(130px, 1fr)); }
.sales-sandbox-summary > button { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-align: left; cursor: pointer; }
.sales-sandbox-summary > button.active { border-color: #1769ff; background: #f2f7ff; }
.sales-sandbox-summary > button strong { display: block; margin-top: 8px; color: #183b69; font-size: 20px; }

@media (max-width: 1180px) {
  .value-unit-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-unit-total-card { grid-column: span 2; }
  .value-unit-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-value-unit-guide > div, .product-value-unit-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-unit-admin-layout { grid-template-columns: 280px minmax(0, 1fr); }
  .sales-sandbox-summary { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
}

@media (max-width: 760px) {
  .value-unit-page-head, .value-unit-table-title { align-items: flex-start; flex-direction: column; }
  .value-unit-source { min-width: 0; width: 100%; }
  .value-unit-overview, .value-unit-detail-grid, .value-unit-link-panels { grid-template-columns: 1fr; }
  .value-unit-total-card { grid-column: auto; }
  .value-unit-search { grid-template-columns: 1fr; }
  .product-value-unit-return-note, .product-value-unit-result-head, .product-value-unit-archive-head { align-items: flex-start; flex-direction: column; }
  .product-value-unit-result-grid, .product-value-unit-guide > div, .product-value-unit-facts, .product-value-unit-sections { grid-template-columns: 1fr; }
  .product-value-unit-sections > section.wide { grid-column: auto; }
  .product-value-unit-category { grid-template-columns: 1fr; }
  .value-unit-admin-toolbar, .value-unit-admin-layout, .value-unit-admin-fields, .value-unit-admin-core-fields, .value-unit-admin-product-list { grid-template-columns: 1fr; }
  .value-unit-admin-list { max-height: 320px; border-right: 0; border-bottom: 1px solid #dce5f0; }
  .value-unit-admin-editor-head, .value-unit-admin-actions { align-items: flex-start; flex-direction: column; }
  .sales-sandbox-summary { grid-template-columns: 1fr; }
}
/* end yidou publish layout refresh */

/* yidou transfer layout refresh */
.yidou-transfer-page {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 20px;
  align-items: start;
}

.yidou-transfer-card,
.yidou-transfer-note {
  border-color: #d9e5f5;
  box-shadow: 0 18px 44px rgba(21, 45, 86, 0.07);
}

.yidou-transfer-card {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 20px;
  padding: 24px 26px 26px;
  background: #ffffff;
}

.yidou-transfer-card .panel-head {
  align-items: flex-start;
  margin-bottom: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5edf8;
}

.yidou-transfer-card .panel-head h3 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.25;
}

.yidou-transfer-card .panel-head p {
  margin: 0;
  line-height: 1.6;
}

.yidou-transfer-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.15fr) minmax(180px, .55fr);
  gap: 18px;
  align-items: start;
}

.yidou-transfer-card label {
  display: grid;
  gap: 8px;
  color: #1b2c4d;
  font-size: 14px;
  font-weight: 800;
}

.yidou-transfer-card input,
.yidou-transfer-search-shell {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cddbf0;
  border-radius: 8px;
  background: #f9fbff;
  color: #17233f;
  font: inherit;
  font-weight: 700;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.yidou-transfer-card input {
  padding: 0 12px;
}

.yidou-transfer-card input::placeholder {
  color: #94a3b8;
  font-weight: 600;
}

.yidou-transfer-card input:focus,
.yidou-transfer-search-shell:focus-within {
  border-color: #1769ff;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(23, 105, 255, 0.1);
}

.yidou-transfer-search-shell {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
}

.yidou-transfer-search-shell span {
  color: #6b7b97;
  font-weight: 900;
}

.yidou-transfer-search-shell .yidou-transfer-search-input {
  min-height: 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.yidou-transfer-card > label:not(.yidou-transfer-recipient-control) {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px solid #d9e5f5;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fe 100%);
}

.yidou-transfer-card > label:not(.yidou-transfer-recipient-control) input {
  background: #ffffff;
}

.yidou-transfer-card > .btn[type="submit"] {
  justify-self: end;
  min-width: 172px;
  min-height: 46px;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(23, 105, 255, 0.2);
}

.yidou-transfer-recipient-control small {
  color: #667795;
  font-weight: 700;
}

.yidou-transfer-member-results {
  top: calc(100% + 8px);
  border-color: #d9e5f5;
  border-radius: 8px;
  box-shadow: 0 18px 36px rgba(22, 49, 91, 0.14);
}

.yidou-transfer-note {
  position: sticky;
  top: 102px;
  display: grid;
  gap: 14px;
  padding: 24px;
  background: #ffffff;
}

.yidou-transfer-note h3 {
  margin: 0;
  color: #17233f;
  font-size: 22px;
}

.yidou-transfer-note p {
  margin: 0;
  line-height: 1.65;
}

.yidou-transfer-note-list {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.yidou-transfer-note-list div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #d9e5f5;
  border-radius: 8px;
  background: #f8fbff;
}

.yidou-transfer-note-list strong {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: #1769ff;
  font-size: 13px;
}

.yidou-transfer-note-list span {
  color: #526381;
  font-weight: 800;
  line-height: 1.45;
}

@media (max-width: 1080px) {
  .yidou-transfer-page,
  .yidou-transfer-grid {
    grid-template-columns: 1fr;
  }

  .yidou-transfer-note {
    position: static;
  }
}

@media (max-width: 760px) {
  .yidou-transfer-card {
    padding: 18px;
  }

  .yidou-transfer-card > .btn[type="submit"] {
    justify-self: stretch;
  }
}
/* end yidou transfer layout refresh */

/* yidou mobile overflow guard */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body[data-active-page="yidou"] .app-shell,
  body[data-active-page="yidou"] .content,
  body[data-active-page="yidou"] main,
  body[data-active-page="yidou"] .page,
  body[data-active-page="yidou"] .yidou-native,
  body[data-active-page="yidou"] .yidou-transfer-page,
  body[data-active-page="yidou"] .yidou-transfer-card,
  body[data-active-page="yidou"] .yidou-transfer-note,
  body[data-active-page="yidou"] .yidou-tabs {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body[data-active-page="yidou"] .content {
    overflow-x: hidden;
    padding-left: 10px;
    padding-right: 10px;
  }

  body[data-active-page="yidou"] .page-head,
  body[data-active-page="yidou"] .yidou-tabs,
  body[data-active-page="yidou"] .yidou-transfer-page {
    margin-left: 0;
    margin-right: 0;
  }

  body[data-active-page="yidou"] .yidou-transfer-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
  }

  body[data-active-page="yidou"] .yidou-transfer-card {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 18px;
    overflow: visible;
  }

  body[data-active-page="yidou"] .yidou-transfer-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body[data-active-page="yidou"] .yidou-transfer-card label,
  body[data-active-page="yidou"] .yidou-transfer-recipient-control,
  body[data-active-page="yidou"] .yidou-transfer-search-shell,
  body[data-active-page="yidou"] .yidou-transfer-card input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body[data-active-page="yidou"] .yidou-transfer-search-shell {
    overflow: hidden;
  }

  body[data-active-page="yidou"] .yidou-transfer-search-input {
    flex: 1 1 auto;
    min-width: 0;
  }

  body[data-active-page="yidou"] .yidou-transfer-member-results {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  body[data-active-page="yidou"] .member-search-option {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }

  body[data-active-page="yidou"] .yidou-transfer-card > .btn[type="submit"] {
    width: 100%;
    justify-self: stretch;
  }
}
/* end yidou mobile overflow guard */

/* hide top ai search for yidou-only launch */
body.yidou-only-nav .topbar {
  grid-template-columns: auto 1fr;
}

body.yidou-only-nav .topbar .search,
body.yidou-only-nav .topbar .top-qa-button {
  display: none !important;
}

body.yidou-only-nav .topbar .top-actions {
  justify-self: end;
}

@media (max-width: 760px) {
  body.yidou-only-nav .topbar {
    display: none !important;
  }
}
/* end hide top ai search for yidou-only launch */

/* yidou capability marketplace redesign */
body[data-active-page="yidou"] {
  background: #f5f8fc;
}

body[data-active-page="yidou"] .page.active {
  padding: 24px;
}

body[data-active-page="yidou"] .page-head {
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 8px;
}

body[data-active-page="yidou"] .page-title h1 {
  font-size: 32px;
  letter-spacing: 0;
  color: #102a4c;
}

body[data-active-page="yidou"] .page-title p {
  margin-top: 4px;
  color: #5d6f8c;
  font-size: 15px;
}

.yidou-page-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -8px 0 18px;
  color: #5d6f8c;
}

.yidou-page-intro p {
  margin: 0;
  font-size: 15px;
}

.yidou-intent-tags,
.yidou-account-top,
.yidou-value-grid,
.yidou-search-suggestions,
.yidou-filter-block,
.yidou-asset-proof,
.yidou-asset-footer,
.yidou-asset-actions {
  display: flex;
  align-items: center;
}

.yidou-intent-tags {
  flex-wrap: wrap;
  gap: 8px;
}

.yidou-intent-tags span,
.yidou-result-count {
  padding: 7px 11px;
  border: 1px solid #d8e5f7;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #315071;
  font-size: 12px;
  font-weight: 700;
}

.yidou-account-top {
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #d7e4f5;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(28, 79, 137, .06);
  color: #60718c;
}

.yidou-account-top strong {
  color: #176bff;
  font-size: 18px;
}

.yidou-page-avatar {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #176bff, #12b6c8);
  color: #fff;
  font-weight: 800;
}

.yidou-publish-entry {
  min-height: 40px;
  border-radius: 999px;
  background: linear-gradient(135deg, #176bff, #12b6c8);
  box-shadow: 0 12px 26px rgba(23,107,255,.22);
}

.yidou-native {
  gap: 20px;
}

.yidou-tabs {
  width: fit-content;
  border-color: #dbe6f5;
  border-radius: 14px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 10px 28px rgba(31,64,111,.06);
}

.yidou-tabs button,
.yidou-categories button,
.yidou-sort button {
  border-radius: 10px;
  color: #60718c;
}

.yidou-tabs button.active,
.yidou-tabs button:hover,
.yidou-categories button.active,
.yidou-categories button:hover,
.yidou-sort button.active,
.yidou-sort button:hover {
  background: #176bff;
  color: #fff;
}

.yidou-marketplace-shell {
  display: grid;
  gap: 24px;
}

.yidou-market-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 24px;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(180, 204, 235, .7);
  border-radius: 20px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.96), rgba(238,246,255,.82)),
    radial-gradient(circle at 82% 16%, rgba(23,107,255,.18), transparent 30%);
  box-shadow: 0 22px 54px rgba(30, 70, 120, .09);
}

.yidou-market-hero-copy {
  max-width: 720px;
}

.yidou-market-hero .eyebrow,
.yidou-section-head .eyebrow {
  color: #176bff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.yidou-market-hero h2 {
  margin: 12px 0 12px;
  color: #102a4c;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0;
}

.hero-lead {
  max-width: 680px;
  margin: 0;
  color: #314864;
  font-size: 17px;
  line-height: 1.75;
}

.hero-note {
  margin: 18px 0 0;
  color: #6b7c95;
  font-size: 14px;
}

.yidou-market-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.yidou-metric-card {
  min-height: 112px;
  display: grid;
  align-content: space-between;
  padding: 18px;
  border: 1px solid rgba(212, 226, 246, .9);
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 14px 34px rgba(34, 78, 129, .06);
}

.yidou-metric-card span {
  color: #71809a;
  font-size: 13px;
  font-weight: 700;
}

.yidou-metric-card strong {
  color: #102a4c;
  font-size: 30px;
  line-height: 1;
}

.yidou-metric-card small {
  margin-left: 4px;
  color: #7e8ca5;
  font-size: 13px;
}

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

.yidou-value-card,
.yidou-discovery-card,
.yidou-market-controls,
.yidou-asset-card,
.yidou-empty-market {
  border: 1px solid #dce7f5;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 36px rgba(33, 74, 125, .06);
}

.yidou-value-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 6px 12px;
  align-items: center;
  padding: 16px;
}

.yidou-value-icon,
.yidou-mini-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #eef6ff;
  color: #176bff;
}

.yidou-value-card strong {
  color: #102a4c;
  font-size: 15px;
}

.yidou-value-card span {
  grid-column: 2;
  color: #697b94;
  font-size: 13px;
  line-height: 1.5;
}

.yidou-discovery-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.08fr) minmax(280px, .92fr) minmax(240px, .72fr);
  gap: 16px;
}

.yidou-discovery-card {
  display: grid;
  gap: 14px;
  min-height: 220px;
  padding: 18px;
}

.yidou-discovery-card.is-new {
  grid-column: span 2;
}

.yidou-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.yidou-section-head h2 {
  margin: 4px 0 6px;
  color: #102a4c;
  font-size: 28px;
  line-height: 1.15;
}

.yidou-section-head h3 {
  margin: 4px 0 0;
  color: #102a4c;
  font-size: 20px;
  line-height: 1.2;
}

.yidou-section-head p {
  margin: 0;
  color: #647592;
  font-size: 14px;
}

.yidou-favorites-page {
  display: grid;
  gap: 18px;
}

.yidou-mini-list {
  display: grid;
  gap: 10px;
}

.yidou-mini-asset,
.yidou-rank-list li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #f7faff;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.yidou-mini-asset:hover,
.yidou-rank-list li:hover {
  transform: translateY(-2px);
  border-color: #cbdcf3;
  background: #fff;
}

.yidou-mini-asset strong,
.yidou-rank-list strong {
  display: block;
  overflow: hidden;
  color: #102a4c;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yidou-mini-asset small,
.yidou-editor-asset span {
  color: #71809a;
  font-size: 12px;
}

.yidou-editor-asset {
  display: grid;
  gap: 10px;
  cursor: pointer;
}

.yidou-editor-cover {
  min-height: 120px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(23,107,255,.1), rgba(18,182,200,.12)),
    #eef6ff;
  background-size: cover;
  background-position: center;
  color: #176bff;
}

.yidou-editor-cover svg {
  width: 42px;
  height: 42px;
}

.yidou-editor-asset strong {
  color: #102a4c;
  font-size: 17px;
}

.yidou-editor-asset p {
  margin: 0;
  color: #637590;
  font-size: 13px;
  line-height: 1.6;
}

.yidou-rank-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.yidou-rank-list li {
  grid-template-columns: 28px minmax(0, 1fr) auto;
}

.yidou-rank-list li span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: #eaf2ff;
  color: #176bff;
  font-weight: 800;
}

.yidou-rank-list em {
  color: #71809a;
  font-size: 12px;
  font-style: normal;
}

.yidou-mini-empty {
  padding: 24px;
  border-radius: 12px;
  background: #f7faff;
  color: #71809a;
  text-align: center;
}

.yidou-market-controls {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.yidou-market-search {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #d5e3f7;
  border-radius: 14px;
  background: #fff;
}

.yidou-market-search input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #102a4c;
  font-size: 15px;
  outline: 0;
}

.yidou-search-suggestions {
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
}

.yidou-search-suggestions span {
  color: #7a8aa3;
  font-size: 12px;
}

.yidou-search-suggestions button {
  border: 0;
  border-radius: 999px;
  padding: 6px 10px;
  background: #f0f6ff;
  color: #315071;
  font-size: 12px;
  cursor: pointer;
}

.yidou-filter-block {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}

.yidou-categories,
.yidou-sort {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.yidou-categories button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  background: #f5f8fd;
}

.yidou-sort {
  padding: 4px;
  border: 1px solid #dce7f5;
  border-radius: 12px;
  background: #f8fbff;
}

.yidou-sort button {
  padding: 8px 12px;
}

.yidou-asset-section {
  display: grid;
  gap: 14px;
}

.yidou-asset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.yidou-asset-card {
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.yidou-asset-card:hover {
  transform: translateY(-4px);
  border-color: #c7dcf5;
  box-shadow: 0 24px 50px rgba(33, 82, 145, .12);
}

.yidou-asset-card.sold-out,
.yidou-asset-card.paused {
  opacity: .72;
}

.yidou-asset-cover {
  min-height: 168px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(23,107,255,.12), rgba(18,182,200,.13)),
    #eaf4ff;
  background-size: cover;
  background-position: center;
}

.yidou-card-topline {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.yidou-card-topline .yidou-card-signal {
  flex: 0 0 auto;
}

.yidou-category-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #24476b;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(28, 79, 137, .08);
}

.yidou-save-button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(210, 225, 246, .92);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #315071;
  cursor: pointer;
}

.yidou-save-button:hover {
  border-color: #b8d3ff;
  color: #176bff;
  transform: translateY(-1px);
}

.yidou-save-button.is-active {
  border-color: rgba(23,107,255,.2);
  background: linear-gradient(135deg, #176bff, #12b6c8);
  color: #fff;
  box-shadow: 0 10px 24px rgba(23,107,255,.22);
}

.yidou-save-button.is-active svg {
  fill: currentColor;
}

.yidou-asset-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.yidou-asset-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.yidou-asset-title-row h4 {
  margin: 0;
  color: #102a4c;
  font-size: 18px;
  line-height: 1.35;
}

.yidou-asset-body p {
  min-height: 44px;
  margin: 0;
  color: #637590;
  font-size: 14px;
  line-height: 1.6;
}

.yidou-asset-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #6a7b94;
  font-size: 12px;
}

.yidou-asset-proof span {
  white-space: nowrap;
}

.yidou-card-signal.is-small {
  min-height: 0;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 20px rgba(28, 79, 137, .08);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.yidou-card-signal.is-original {
  border: 1px solid rgba(15, 159, 110, .18);
  background: linear-gradient(135deg, #ecfdf5, #e7f7ff);
  color: #0f766e;
}

.yidou-original-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #dce8f8;
  border-radius: 12px;
  background: #f8fbff;
  color: #1b2c4d;
  font-weight: 800;
}

.yidou-original-toggle input {
  width: 18px;
  height: 18px;
  accent-color: #176bff;
}

.yidou-original-toggle span {
  display: grid;
  gap: 3px;
}

.yidou-original-toggle small {
  color: #6d7f99;
  font-size: 12px;
  font-weight: 600;
}

.yidou-stars {
  color: #f5a524;
  letter-spacing: 0;
}

.yidou-asset-footer {
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
}

.yidou-asset-author {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.yidou-author-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #176bff;
  font-weight: 800;
}

.yidou-asset-author strong,
.yidou-asset-author small {
  display: block;
}

.yidou-asset-author strong {
  overflow: hidden;
  max-width: 120px;
  color: #102a4c;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yidou-asset-author small {
  color: #7d8ca3;
  font-size: 11px;
}

.yidou-author-badges {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 18px;
}

.yidou-author-badge-empty {
  color: #98a6ba;
}

.yidou-mini-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid color-mix(in srgb, var(--badge-color) 24%, #dbe7ff);
  border-radius: 50%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--badge-color) 12%, #fff), #fff);
  color: var(--badge-color);
  box-shadow: 0 6px 14px rgba(22, 86, 178, .08);
}

.yidou-mini-badge i {
  display: block;
  max-width: 18px;
  overflow: hidden;
  color: #102a4c;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

.yidou-badge-icon-image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.yidou-badge-icon-image.is-mini {
  width: 20px;
  height: 20px;
}

.yidou-badge-page {
  display: grid;
  gap: 18px;
}

.yidou-badge-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 10%, rgba(23,107,255,.16), transparent 28%),
    linear-gradient(135deg, #fff, #f6f9ff);
}

.yidou-badge-hero h3 {
  margin: 6px 0 8px;
  color: #102a4c;
  font-size: 28px;
  line-height: 1.2;
}

.yidou-badge-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(86px, 1fr));
  gap: 1px;
  min-width: min(520px, 100%);
  overflow: hidden;
  border: 1px solid #dce8f8;
  border-radius: 16px;
  background: #dce8f8;
  box-shadow: 0 18px 42px rgba(24, 72, 128, .08);
}

.yidou-badge-summary div {
  display: grid;
  gap: 6px;
  padding: 18px;
  background: rgba(255,255,255,.9);
}

.yidou-badge-summary span {
  color: #6a7b94;
  font-size: 12px;
  font-weight: 700;
}

.yidou-badge-summary strong {
  color: #102a4c;
  font-size: 28px;
  line-height: 1;
}

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

.yidou-rule-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--badge-color) 8%, #fff), #fff);
}

.yidou-rule-card > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--badge-color) 12%, #fff);
  color: var(--badge-color);
}

.yidou-rule-card svg {
  width: 19px;
  height: 19px;
}

.yidou-rule-card strong {
  color: #102a4c;
  font-size: 16px;
}

.yidou-rule-card p {
  margin: 0;
  color: #6a7b94;
  font-size: 13px;
  line-height: 1.6;
}

.yidou-badge-lines {
  display: grid;
  gap: 16px;
}

.yidou-badge-line .panel-head {
  align-items: flex-start;
}

.yidou-badge-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(88px, 1fr));
  gap: 10px;
}

.yidou-badge-card {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-height: 150px;
  padding: 14px 10px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}

.yidou-badge-card.unlocked {
  border-color: color-mix(in srgb, var(--badge-color) 26%, #dce8f8);
  background: linear-gradient(180deg, color-mix(in srgb, var(--badge-color) 8%, #fff), #fff);
  box-shadow: 0 12px 28px rgba(29, 78, 216, .08);
}

.yidou-badge-card.locked {
  background: #f7f9fc;
  color: #94a3b8;
}

.yidou-badge-medal {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--badge-color) 82%, #fff), color-mix(in srgb, var(--badge-color) 44%, #fff));
  color: #fff;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--badge-color) 22%, transparent);
}

.yidou-badge-medal i {
  display: block;
  max-width: 34px;
  overflow: hidden;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

.yidou-badge-medal .yidou-badge-icon-image {
  width: 46px;
  height: 46px;
  border: 2px solid rgba(255,255,255,.72);
}

.yidou-badge-card.locked .yidou-badge-medal {
  filter: grayscale(1);
  opacity: .42;
  box-shadow: none;
}

.yidou-badge-medal svg {
  width: 22px;
  height: 22px;
}

.yidou-badge-medal b {
  position: absolute;
  right: -5px;
  bottom: -5px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #102a4c;
  color: #fff;
  font-size: 11px;
}

.yidou-badge-card strong {
  color: #102a4c;
  font-size: 13px;
  line-height: 1.35;
}

.yidou-badge-card.locked strong {
  color: #7d8ca3;
}

.yidou-badge-card span {
  color: #6a7b94;
  font-size: 12px;
}

.yidou-badge-card small {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #176bff;
  font-size: 12px;
  font-weight: 800;
}

.yidou-badge-card.locked small {
  background: #eef1f5;
  color: #8a98ac;
}

.yidou-admin-badges {
  display: grid;
  gap: 16px;
}

.yidou-admin-badge-lines {
  display: grid;
  gap: 14px;
}

.yidou-admin-badge-line {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--badge-color) 7%, #fff), #fff);
}

.yidou-admin-badge-line-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.yidou-config-track-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--badge-color) 14%, #fff);
  color: var(--badge-color);
  font-size: 15px;
  font-weight: 900;
}

.yidou-admin-badge-line-head strong,
.yidou-admin-badge-line-head small {
  display: block;
}

.yidou-admin-badge-line-head strong {
  color: #102a4c;
}

.yidou-admin-badge-line-head small {
  margin-top: 3px;
  color: #6a7b94;
}

.yidou-admin-badge-level-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.yidou-admin-badge-level {
  display: grid;
  grid-template-columns: 54px 48px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #e2ebf7;
  border-radius: 12px;
  background: rgba(255,255,255,.82);
}

.yidou-admin-badge-level span {
  color: #6a7b94;
  font-size: 12px;
  font-weight: 800;
}

.yidou-admin-badge-level .input-like {
  min-width: 0;
}

.yidou-badge-upload-control {
  display: grid;
  place-items: center;
}

.yidou-badge-upload-button {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--badge-color) 24%, #dbe7ff);
  border-radius: 50%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--badge-color) 12%, #fff), #fff);
  color: var(--badge-color);
  text-align: center;
  overflow: hidden;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(22, 86, 178, .08);
}

.yidou-badge-upload-button:hover {
  border-color: var(--badge-color);
  transform: translateY(-1px);
}

.yidou-badge-upload-button.is-uploading {
  opacity: .64;
  pointer-events: none;
}

.yidou-badge-upload-button i {
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.yidou-badge-upload-button .yidou-badge-icon-image {
  width: 42px;
  height: 42px;
}

.yidou-admin-reviewers {
  display: grid;
  gap: 14px;
}

.yidou-reviewer-search-box {
  position: relative;
  max-width: 520px;
}

.yidou-reviewer-results {
  top: calc(100% + 6px);
  right: auto;
  left: 0;
  width: min(520px, 100%);
}

.yidou-reviewer-results button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
}

.yidou-reviewer-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.yidou-reviewer-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 220px;
  padding: 12px;
  border: 1px solid #dce8f8;
  border-radius: 12px;
  background: #fff;
}

.yidou-reviewer-chip button {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 50%;
  background: #eef5ff;
  color: #176bff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.yidou-reviewer-chip strong,
.yidou-reviewer-chip small,
.yidou-reviewer-results strong,
.yidou-reviewer-results small {
  display: block;
}

.yidou-reviewer-chip strong,
.yidou-reviewer-results strong {
  color: #102a4c;
}

.yidou-reviewer-chip small,
.yidou-reviewer-results small {
  margin-top: 3px;
  color: #6a7b94;
  font-size: 12px;
}

.yidou-review-list {
  display: grid;
  gap: 12px;
}

.yidou-review-item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: #fff;
}

.yidou-review-cover {
  min-height: 72px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 75% 25%, rgba(23,107,255,.22), transparent 32%),
    linear-gradient(135deg, #eef5ff, #f8fbff);
  background-position: center;
  background-size: cover;
}

.yidou-review-item strong,
.yidou-review-item span {
  display: block;
}

.yidou-review-item strong {
  color: #102a4c;
  font-size: 16px;
}

.yidou-review-item span,
.yidou-review-item p {
  color: #6a7b94;
  font-size: 13px;
  line-height: 1.5;
}

.yidou-review-item p {
  margin: 6px 0 0;
}

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

.yidou-message-center {
  display: grid;
  gap: 14px;
}

.yidou-message-list {
  display: grid;
  gap: 10px;
}

.yidou-message-item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: #fff;
}

.yidou-message-item.is-unread {
  border-color: #bdd3ff;
  background: linear-gradient(135deg, #f7fbff, #fff);
}

.yidou-message-item.is-read {
  opacity: .72;
}

.yidou-message-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #176bff;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.yidou-message-item strong,
.yidou-message-item p,
.yidou-message-item small {
  display: block;
}

.yidou-message-item strong {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #102a4c;
  font-size: 15px;
}

.yidou-message-item strong i {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #176bff;
  box-shadow: 0 0 0 4px rgba(23, 107, 255, .12);
}

.yidou-message-item p {
  margin: 4px 0;
  color: #60738f;
  font-size: 13px;
  line-height: 1.5;
}

.yidou-message-item small {
  color: #98a6ba;
  font-size: 12px;
}

@media (max-width: 1180px) {
  .yidou-badge-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .yidou-badge-summary,
  .yidou-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

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

  .yidou-admin-badge-level-grid {
    grid-template-columns: 1fr;
  }

  .yidou-review-item {
    grid-template-columns: 1fr;
  }

  .yidou-review-actions {
    justify-content: flex-start;
  }

  .yidou-message-item {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .yidou-message-kind {
    width: max-content;
  }
}

@media (max-width: 720px) {
  .yidou-badge-summary,
  .yidou-rule-grid,
  .yidou-badge-grid {
    grid-template-columns: 1fr;
  }

  .yidou-badge-card {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
    min-height: 82px;
    text-align: left;
  }

  .yidou-badge-card small {
    justify-self: end;
  }
}

.yidou-asset-actions {
  justify-content: flex-end;
  gap: 10px;
}

.yidou-asset-actions > strong {
  color: #0d3b77;
  font-size: 20px;
  white-space: nowrap;
}

.yidou-asset-actions small {
  margin-left: 2px;
  color: #64758e;
  font-size: 12px;
}

.yidou-asset-actions .btn {
  border-radius: 999px;
  background: linear-gradient(135deg, #176bff, #12b6c8);
  box-shadow: 0 10px 22px rgba(23,107,255,.2);
  white-space: nowrap;
}

.yidou-empty-market {
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 220px;
  padding: 28px;
  color: #637590;
  text-align: center;
}

.yidou-empty-market strong {
  color: #102a4c;
  font-size: 18px;
}

.yidou-value-icon svg,
.yidou-mini-icon svg,
.yidou-category-pill svg,
.yidou-categories svg,
.yidou-market-search svg,
.yidou-save-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.yidou-value-icon svg {
  width: 20px;
  height: 20px;
}

.yidou-market-search > svg {
  color: #176bff;
}

@media (max-width: 1180px) {
  .yidou-market-hero,
  .yidou-discovery-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-discovery-card.is-new {
    grid-column: auto;
  }

  .yidou-asset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body[data-active-page="yidou"] .page.active {
    padding: 18px 14px 28px;
  }

  .yidou-page-intro,
  .yidou-filter-block,
  .yidou-asset-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .yidou-market-hero {
    padding: 22px;
    border-radius: 18px;
  }

  .yidou-market-hero h2 {
    font-size: 28px;
  }

  .yidou-value-grid,
  .yidou-asset-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-asset-actions,
  .yidou-tabs {
    width: 100%;
  }

  .yidou-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .yidou-tabs button {
    flex: 0 0 auto;
  }
}

@media (max-width: 560px) {
  body[data-active-page="yidou"] .main,
  body[data-active-page="yidou"] .page.active,
  body[data-active-page="yidou"] .yidou-native,
  body[data-active-page="yidou"] .yidou-marketplace-shell,
  body[data-active-page="yidou"] .yidou-tabs,
  body[data-active-page="yidou"] .yidou-market-hero,
  body[data-active-page="yidou"] .yidou-value-grid,
  body[data-active-page="yidou"] .yidou-discovery-grid,
  body[data-active-page="yidou"] .yidou-market-controls,
  body[data-active-page="yidou"] .yidou-asset-section,
  body[data-active-page="yidou"] .yidou-asset-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .yidou-page-intro {
    margin-top: 0;
  }

  .yidou-account-top,
  .yidou-page-message {
    display: none !important;
  }

  .yidou-market-hero {
    padding: 20px;
  }

  .hero-lead,
  .hero-note,
  .yidou-market-hero-copy,
  .yidou-asset-body p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .yidou-market-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-market-hero h2 {
    font-size: 26px;
  }

  .hero-lead {
    font-size: 15px;
  }

  .yidou-categories,
  .yidou-sort {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .yidou-categories button,
  .yidou-sort button {
    flex: 0 0 auto;
  }

  .yidou-asset-cover {
    min-height: 146px;
  }
}
/* end yidou capability marketplace redesign */

/* yidou reference UI rebuild */
body[data-active-page="yidou"] {
  background: #f6f9ff;
}

body[data-active-page="yidou"].yidou-only-nav .topbar {
  display: grid !important;
  grid-template-columns: 44px minmax(360px, 1fr) auto;
  gap: 20px;
  min-height: 88px;
  padding: 16px 28px 14px;
  border-bottom: 0;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(18px);
}

body[data-active-page="yidou"].yidou-only-nav .topbar .search {
  display: flex !important;
  max-width: 780px;
  height: 48px;
  border: 1px solid #e6eefb;
  border-radius: 14px;
  background: #f5f8fe;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

body[data-active-page="yidou"].yidou-only-nav .topbar .search input {
  font-size: 15px;
}

body[data-active-page="yidou"].yidou-only-nav .topbar .top-qa-button,
body[data-active-page="yidou"] .yidou-page-intro {
  display: none !important;
}

body[data-active-page="yidou"] .shell {
  background: #f6f9ff;
}

body[data-active-page="yidou"] .sidebar {
  width: 280px;
  padding: 24px 18px;
  border-right: 1px solid #edf2fb;
  background: rgba(255,255,255,.88);
  color: #162947;
  box-shadow: 14px 0 44px rgba(39, 72, 122, .05);
}

body[data-active-page="yidou"] .brand {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 10px 28px;
}

body[data-active-page="yidou"] .brand h1,
body[data-active-page="yidou"] .brand span,
body[data-active-page="yidou"] .nav-item span {
  color: #162947;
}

body[data-active-page="yidou"] .quick-actions {
  display: none !important;
}

.yidou-side-dock {
  display: none;
  position: fixed;
  z-index: 6;
  left: 18px;
  top: 126px;
  bottom: 22px;
  width: 244px;
  flex-direction: column;
  gap: 24px;
  pointer-events: auto;
}

.yidou-dock-nav,
.yidou-dock-group {
  display: grid;
  gap: 7px;
}

.yidou-dock-group > span {
  padding: 0 20px 6px;
  color: #8a9ab5;
  font-size: 12px;
}

.yidou-side-dock button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  padding: 0 18px;
  background: transparent;
  color: #5c6f8d;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.yidou-side-dock button.active,
.yidou-side-dock button:hover {
  background: linear-gradient(90deg, #edf5ff, #dff8fb);
  color: #176bff;
}

.yidou-side-dock button em {
  margin-left: auto;
  min-width: 26px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #ff4d55;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  text-align: center;
}

.yidou-newbie-card {
  margin-top: auto;
  display: grid;
  gap: 8px;
  min-height: 170px;
  padding: 22px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 76% 78%, rgba(116,132,255,.32), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.94), #eef5ff);
  box-shadow: 0 18px 42px rgba(42, 84, 150, .08);
}

.yidou-newbie-card strong {
  color: #162947;
  font-size: 17px;
}

.yidou-newbie-card span {
  color: #5f718d;
  font-size: 13px;
}

.yidou-newbie-card button {
  min-height: auto;
  padding: 0;
  color: #176bff;
  background: transparent;
}

body[data-active-page="yidou"] .page.active {
  padding: 0 28px 28px;
}

body[data-active-page="yidou"] .page-head {
  justify-content: flex-end;
  margin: -70px 0 20px;
  pointer-events: none;
}

body[data-active-page="yidou"] .page-title {
  display: none;
}

body[data-active-page="yidou"] .page-actions {
  pointer-events: auto;
}

.yidou-account-top {
  min-width: 144px;
  height: 58px;
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(29, 64, 112, .08);
}

.yidou-account-top::before,
.yidou-metric-wallet::before {
  content: "S";
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffc852, #ff9f2f);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.yidou-account-top span {
  font-size: 12px;
}

.yidou-page-avatar {
  background: linear-gradient(135deg, #6ea8ff, #5b7cff);
}

.yidou-publish-entry {
  height: 52px;
  padding-inline: 22px;
  border-radius: 14px;
}

.yidou-native {
  gap: 16px;
}

.yidou-native > .yidou-tabs {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
}

.yidou-back-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px 12px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 28px rgba(31,64,111,.06);
}

.yidou-back-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 34px;
  border: 1px solid #d7e5f7;
  border-radius: 999px;
  padding: 0 12px;
  background: #fff;
  color: #24476b;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.yidou-back-button:hover {
  border-color: #b8d3ff;
  color: #176bff;
  transform: translateY(-1px);
}

.yidou-back-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.yidou-back-bar span {
  margin-left: auto;
  color: #7b8aa2;
  font-size: 13px;
  font-weight: 800;
}

.yidou-reference-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 24px;
  align-items: start;
}

.yidou-marketplace-shell {
  gap: 16px;
}

.yidou-header-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 16px;
  align-items: start;
}

.yidou-header-search-row .yidou-market-search {
  display: grid;
}

.yidou-large-publish {
  height: 52px;
  border-radius: 14px;
  gap: 8px;
  background: linear-gradient(135deg, #176bff, #1e7cff);
  box-shadow: 0 16px 30px rgba(23,107,255,.2);
}

.yidou-reference-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px;
  position: relative;
  min-height: 380px;
  overflow: hidden;
  padding: 46px 42px;
  border: 1px solid #dce8fb;
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(247,250,255,.86) 40%, rgba(226,237,255,.58) 100%),;
  box-shadow: 0 22px 52px rgba(38, 76, 135, .08);
}

.yidou-reference-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 28px;
  right: 255px;
  width: 380px;
  height: 310px;
  background: linear-gradient(135deg, #eef5ff, #f8fbff);
  opacity: .62;
  pointer-events: none;
}

.yidou-reference-hero > * {
  position: relative;
  z-index: 1;
}

.yidou-reference-hero .eyebrow {
  color: #285cff;
  font-size: 13px;
  letter-spacing: .14em;
}

.yidou-reference-hero h2 {
  margin: 14px 0 20px;
  color: #102a56;
  font-size: 44px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.yidou-reference-hero .hero-lead {
  max-width: 560px;
  color: #203b65;
  font-size: 17px;
  line-height: 1.8;
}

.yidou-hero-actions {
  display: grid;
  grid-template-columns: repeat(4, 120px);
  gap: 10px;
  margin-top: 28px;
}

.yidou-hero-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 120px;
  height: 42px;
  border: 1px solid #dce8fb;
  border-radius: 999px;
  padding: 0 12px;
  background: rgba(255,255,255,.78);
  color: #143766;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(42, 84, 150, .05);
}

.yidou-hero-values {
  display: grid;
  grid-template-columns: repeat(4, 120px);
  gap: 10px;
  margin-top: 14px;
}

.yidou-hero-values .yidou-value-card {
  width: 120px;
  height: 42px;
  min-height: 42px;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 999px;
  border-color: #dce8fb;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 18px rgba(42, 84, 150, .05);
}

.yidou-hero-values .yidou-value-icon {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: #eef6ff;
}

.yidou-hero-values .yidou-value-icon svg {
  width: 15px;
  height: 15px;
}

.yidou-hero-values .yidou-value-card strong {
  font-size: 13px;
  line-height: 1.1;
  white-space: nowrap;
}

.yidou-hero-values .yidou-value-card span {
  display: none;
}

.yidou-reference-metrics {
  align-self: center;
  overflow: hidden;
  border: 1px solid rgba(218,229,248,.95);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 40px rgba(42, 84, 150, .09);
}

.yidou-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yidou-reference-metrics .yidou-metric-card {
  min-height: 112px;
  border: 0;
  border-radius: 0;
  border-right: 1px solid #e4edf9;
  border-bottom: 1px solid #e4edf9;
  background: transparent;
  box-shadow: none;
}

.yidou-reference-metrics .yidou-metric-card:nth-child(2n) {
  border-right: 0;
}

.yidou-metric-card em {
  color: #08a87b;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.yidou-metric-wallet {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px;
}

.yidou-metric-wallet span {
  color: #637590;
  font-size: 13px;
  font-weight: 800;
}

.yidou-metric-wallet strong {
  margin-left: auto;
  color: #102a56;
  font-size: 32px;
}

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

.yidou-value-card {
  min-height: 104px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
}

.yidou-value-card:nth-child(2) {
  background: linear-gradient(135deg, #f3fffb, #f7fbff);
}

.yidou-market-controls {
  padding: 14px 16px;
  border-radius: 18px;
}

.yidou-filter-block {
  gap: 16px;
}

.yidou-categories button,
.yidou-sort button,
.yidou-filter-button {
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f6f9ff;
}

.yidou-categories button.active,
.yidou-sort button.active {
  background: #176bff;
  color: #fff;
}

.yidou-filter-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  color: #526781;
  font-weight: 800;
  cursor: pointer;
}

.yidou-asset-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 16px;
}

.yidou-asset-card {
  border-radius: 16px;
  background: #fff;
}

.yidou-asset-cover {
  min-height: 122px;
  background:
    linear-gradient(135deg, rgba(111,81,255,.48), rgba(39,191,217,.34)),;
}

.yidou-asset-title-row {
  grid-template-columns: minmax(0, 1fr);
}

.yidou-asset-title-row h4 {
  font-size: 17px;
}

.yidou-asset-proof {
  justify-content: flex-end;
}

.yidou-asset-footer {
  align-items: end;
}

.yidou-asset-actions .btn {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border-radius: 50%;
  padding: 0;
  color: #fff;
}

.yidou-asset-actions .btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.yidou-asset-actions > strong {
  color: #ff3448;
}

.yidou-right-rail {
  display: grid;
  gap: 18px;
}

.yidou-rail-card {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid #dfe9f8;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(42, 84, 150, .07);
}

.yidou-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.yidou-rail-head h3 {
  margin: 0;
  color: #142f56;
  font-size: 18px;
}

.yidou-rail-head button {
  border: 0;
  background: transparent;
  color: #8695ad;
  font-weight: 800;
  cursor: pointer;
}

.yidou-rail-list {
  display: grid;
  gap: 12px;
}

.yidou-rail-list button {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.rank-dot {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #edf4ff;
  color: #176bff;
  font-size: 12px;
  font-weight: 900;
}

.yidou-rail-list button:nth-child(1) .rank-dot {
  background: #ff4b57;
  color: #fff;
}

.yidou-rail-list button:nth-child(2) .rank-dot {
  background: #ff9f2f;
  color: #fff;
}

.yidou-rail-list button:nth-child(3) .rank-dot {
  background: #8d9dff;
  color: #fff;
}

.yidou-rail-list strong {
  display: block;
  overflow: hidden;
  color: #203b65;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yidou-rail-list small {
  color: #6d7f99;
  font-size: 12px;
}

.yidou-rank-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 5px;
  border-radius: 12px;
  background: #f5f8fe;
}

.yidou-rank-tabs span {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-radius: 9px;
  color: #71809a;
  font-size: 12px;
  font-weight: 800;
}

.yidou-rank-tabs span.active {
  background: #176bff;
  color: #fff;
}

.yidou-side-dock svg,
.yidou-hero-actions svg,
.yidou-large-publish svg,
.yidou-filter-button svg,
.yidou-rail-list svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1380px) {
  .yidou-reference-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  .yidou-right-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-asset-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
  }
}

@media (max-width: 1080px) {
  body[data-active-page="yidou"] .sidebar,
  .yidou-side-dock {
    display: none;
  }

  .yidou-reference-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-asset-grid,
  .yidou-right-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-active-page="yidou"].yidou-only-nav .topbar {
    display: none !important;
  }

  body[data-active-page="yidou"] .page.active {
    padding: 14px;
  }

  body[data-active-page="yidou"] .page-head {
    display: none;
  }

  .yidou-header-search-row,
  .yidou-reference-hero,
  .yidou-value-grid,
  .yidou-asset-grid,
  .yidou-right-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-header-search-row .yidou-market-search {
    display: grid;
  }

  .yidou-reference-hero {
    min-height: 0;
    padding: 26px 20px;
  }

  .yidou-reference-hero h2 {
    font-size: 32px;
  }

  .yidou-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-reference-metrics .yidou-metric-card {
    border-right: 0;
  }

  .yidou-hero-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yidou-hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yidou-hero-actions button,
  .yidou-hero-values .yidou-value-card {
    width: 100%;
    border-radius: 14px;
  }
}
/* end yidou reference UI rebuild */

/* yidou hero compact refinement */
.yidou-reference-hero {
  min-height: 310px;
  padding: 32px 42px;
}

.yidou-reference-hero::before {
  top: 8px;
  height: 270px;
}

.yidou-reference-hero h2 {
  margin: 12px 0 0;
  font-size: 42px;
  line-height: 1.12;
}

.yidou-reference-hero .hero-lead {
  display: none !important;
}

.yidou-hero-actions {
  margin-top: 26px;
}

/* Blend the supplied planet art into the whole hero instead of showing a fixed-size image tile. */
.yidou-reference-hero::before {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center right !important;
  opacity: .46 !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.86) 54%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.86) 54%, #000 100%);
}

.yidou-reference-hero.has-custom-bg::before {
  display: none;
}

.yidou-hero-custom-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center right;
  opacity: .5;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.86) 54%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.86) 54%, #000 100%);
}

.yidou-hero-values {
  margin-top: 10px;
}

.yidou-admin-hero-setting {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(240px, 1fr);
  gap: 18px;
  align-items: stretch;
}

.yidou-hero-bg-upload {
  min-height: 168px;
  border: 1px dashed #b9cdf0;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(247,250,255,.95), rgba(236,245,255,.88));
  background-size: cover;
  background-position: center;
  color: #102a56;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 24px;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.yidou-hero-bg-upload:hover {
  border-color: #176bff;
  box-shadow: 0 18px 36px rgba(31, 94, 180, .12);
  transform: translateY(-1px);
}

.yidou-hero-bg-upload strong {
  font-size: 18px;
  font-weight: 900;
}

.yidou-hero-bg-upload small,
.yidou-admin-setting-copy span {
  color: #7183a3;
  font-size: 13px;
  line-height: 1.6;
}

.yidou-hero-bg-upload.has-image {
  border-style: solid;
}

.yidou-admin-setting-copy {
  border: 1px solid #e0e9f8;
  border-radius: 16px;
  background: #f8fbff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 20px;
}

.yidou-admin-recommendations {
  margin-top: 22px;
  border-top: 1px solid #e6eefb;
  padding-top: 20px;
}

.panel-head.compact {
  margin-bottom: 12px;
}

.yidou-recommend-table th:first-child,
.yidou-recommend-table td:first-child {
  width: 72px;
  text-align: center;
}

.yidou-recommend-table th:nth-child(2),
.yidou-recommend-table td:nth-child(2) {
  width: 96px;
}

.yidou-recommend-table td strong {
  display: block;
  color: #102a56;
  font-weight: 800;
  max-width: 420px;
}

.yidou-recommend-table td small {
  display: block;
  color: #7183a3;
  line-height: 1.5;
  margin-top: 4px;
  max-width: 520px;
}

/* Keep marketplace cards aligned across each row. */
.yidou-asset-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.yidou-asset-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
}

.yidou-asset-body {
  grid-template-rows: auto auto auto 1fr;
}

.yidou-asset-title-row h4 {
  min-height: 46px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.yidou-asset-body p {
  min-height: 46px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.yidou-asset-proof {
  min-height: 22px;
}

.yidou-asset-footer {
  align-self: end;
  display: flex;
  align-items: flex-end;
}

.yidou-reference-metrics .yidou-metric-card {
  min-height: 92px;
  padding: 14px 18px;
}

.yidou-metric-wallet {
  padding: 14px 18px;
}

@media (max-width: 760px) {
  .yidou-back-bar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .yidou-back-button {
    width: 100%;
  }

  .yidou-back-bar span {
    margin-left: 0;
  }

  .yidou-reference-hero {
    padding: 22px 20px;
  }

  .yidou-reference-hero h2 {
    font-size: 30px;
  }
}
/* end yidou hero compact refinement */

/* yidou hero unified action buttons */
.yidou-hero-actions button,
.yidou-hero-values .yidou-value-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 120px;
  height: 42px;
  border: 1px solid #d8e7fb;
  border-radius: 999px;
  padding: 0 12px;
  background: rgba(255,255,255,.78);
  color: #143766;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(42, 84, 150, .05);
}

.yidou-hero-actions button svg,
.yidou-hero-values .yidou-value-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: #eef6ff;
  color: #176bff;
}

.yidou-hero-actions button svg {
  padding: 5px;
  box-sizing: border-box;
}

.yidou-hero-actions button:hover,
.yidou-hero-values .yidou-value-card:hover {
  border-color: #c8dcf8;
  background: rgba(255,255,255,.9);
}

.yidou-hero-values .yidou-value-card strong {
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}
/* end yidou hero unified action buttons */

/* yidou publish tabs and drafts */
.yidou-publish-switch {
  display: inline-flex;
  gap: 6px;
  width: fit-content;
  margin-bottom: 16px;
  padding: 6px;
  border: 1px solid #dce8f8;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 30px rgba(42,84,150,.06);
}

.yidou-publish-switch button {
  min-width: 108px;
  height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #5f718d;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.yidou-publish-switch button.active {
  background: #176bff;
  color: #fff;
  box-shadow: 0 8px 18px rgba(23,107,255,.18);
}

.yidou-publish-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
}

.yidou-autosave-status {
  margin-right: auto;
  color: #73839d;
  font-size: 12px;
  font-weight: 800;
}

.yidou-autosave-status.is-saving {
  color: #176bff;
}

.yidou-autosave-status.is-saved {
  color: #0f9f6e;
}

.yidou-autosave-status.is-error {
  color: #dc2626;
}

.yidou-publish-actions .btn {
  min-width: 140px;
}

.yidou-publish-list {
  display: grid;
  gap: 16px;
}

.yidou-publish-product-card {
  position: relative;
}

.yidou-publish-edit-button {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 3;
}

@media (max-width: 760px) {
  .yidou-publish-switch,
  .yidou-publish-actions {
    width: 100%;
  }

  .yidou-publish-switch {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .yidou-publish-switch button,
  .yidou-publish-actions .btn {
    min-width: 0;
  }

  .yidou-publish-actions {
    flex-direction: column-reverse;
  }

  .yidou-autosave-status {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .yidou-publish-edit-button {
    right: 12px;
    bottom: 12px;
  }
}
/* end yidou publish tabs and drafts */

/* tiered sponsor letter generator */
.tiered-sponsor-rule-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid #bfd7ff;
  border-radius: 14px;
  background: #f3f8ff;
  color: #25456f;
}

.tiered-sponsor-rule-note strong {
  flex: 0 0 auto;
  color: #0d63d6;
}

.tiered-sponsor-section {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid #dce6f4;
  border-radius: 16px;
  background: #fff;
}

.tiered-sponsor-section > .form-field {
  min-width: 0;
  max-width: 100%;
}

.tiered-fixed-copy {
  display: grid;
  gap: 6px;
  margin: 10px 0 14px;
  padding: 14px 16px;
  border: 1px solid #dce6f4;
  border-radius: 12px;
  background: #f7faff;
  color: #405575;
  line-height: 1.65;
}

.tiered-fixed-copy strong,
.tiered-fixed-copy summary {
  color: #18345d;
  font-weight: 800;
}

.tiered-fixed-copy summary {
  cursor: pointer;
}

.tiered-fixed-copy p {
  margin: 10px 0 0;
  white-space: pre-wrap;
}

.tiered-sponsor-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin: 0 0 12px;
  color: #18345d;
}

.tiered-sponsor-section-head small {
  color: #71839f;
}

.tiered-sponsor-section em,
.tiered-sponsor-option-row em {
  color: #d9485f;
  font-style: normal;
}

.tiered-sponsor-option-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 8px 0 12px;
  color: #405575;
}

.tiered-rights-table {
  overflow: auto;
  border: 1px solid #dce6f4;
  border-radius: 12px;
}

.tiered-rights-head,
.tiered-right-row {
  display: grid;
  grid-template-columns: 52px minmax(150px, .9fr) minmax(250px, 1.5fr) minmax(180px, 1fr) 72px minmax(115px, .7fr);
  gap: 10px;
  align-items: center;
  min-width: 980px;
  padding: 11px 12px;
}

.tiered-rights-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eaf2ff;
  color: #26466f;
  font-weight: 700;
}

.tiered-right-row {
  border-top: 1px solid #edf1f7;
  color: #44536a;
}

.tiered-right-row:nth-child(odd) {
  background: #fbfdff;
}

.tiered-right-row span {
  min-width: 0;
  line-height: 1.45;
}

.tiered-right-row strong,
.tiered-right-row small {
  display: block;
}

.tiered-right-row small {
  margin-top: 3px;
  color: #71839f;
}

.tiered-right-row .input-like {
  min-width: 68px;
  padding: 9px 10px;
}

@media (max-width: 900px) {
  .tiered-sponsor-rule-note,
  .tiered-sponsor-section-head {
    display: block;
  }
  .tiered-sponsor-section-head small {
    display: block;
    margin-top: 4px;
  }
}
/* end tiered sponsor letter generator */

/* yidou home layout guard */
.yidou-reference-layout,
.yidou-marketplace-shell,
.yidou-reference-hero,
.yidou-market-controls,
.yidou-asset-section,
.yidou-right-rail {
  min-width: 0;
  box-sizing: border-box;
}

.yidou-marketplace-shell,
.yidou-reference-hero,
.yidou-market-controls,
.yidou-asset-section {
  width: 100%;
  max-width: 100%;
}

.yidou-reference-hero {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
}

.yidou-market-hero-copy {
  min-width: 0;
}

@media (max-width: 1080px) {
  .yidou-reference-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-right-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .yidou-reference-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-admin-hero-setting {
    grid-template-columns: 1fr;
  }

  .yidou-right-rail {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* end yidou home layout guard */

/* yidou rail overlap fix */
.yidou-reference-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  overflow: visible;
}

.yidou-marketplace-shell,
.yidou-asset-section,
.yidou-right-rail {
  min-width: 0;
}

.yidou-right-rail {
  width: 100%;
  max-width: 320px;
  justify-self: stretch;
}

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

@media (max-width: 1500px) and (min-width: 1081px) {
  .yidou-reference-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
  }

  .yidou-right-rail {
    max-width: 300px;
  }

  .yidou-asset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .yidou-reference-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-right-rail {
    max-width: none;
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-asset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yidou-admin-trade-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-admin-trade-meta {
    justify-items: start;
  }
}

@media (max-width: 760px) {
  .yidou-asset-grid,
  .yidou-right-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-admin-trade-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yidou-admin-trade-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .yidou-admin-trade-flow i {
    display: none;
  }
}
/* end yidou rail overlap fix */

/* yidou platform-level navigation */
body[data-active-page="yidou"] .sidebar {
  background: linear-gradient(180deg, #082a65 0%, #061d47 100%);
  color: #fff;
  border-right: 0;
  box-shadow: none;
}

body[data-active-page="yidou"] .brand {
  padding: 0;
}

body[data-active-page="yidou"] .brand span,
body[data-active-page="yidou"] .nav-item span {
  color: rgba(255, 255, 255, .82);
}

body[data-active-page="yidou"] .nav-item.active span,
body[data-active-page="yidou"] .nav-item:hover span {
  color: #fff;
}

body[data-active-page="yidou"] .yidou-native > .yidou-tabs {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
}
/* end yidou platform-level navigation */

/* compact platform sidebar */
@media (min-width: 861px) {
  .app-shell,
  body[data-active-page="yidou"] .app-shell {
    grid-template-columns: 148px minmax(0, 1fr);
  }

  .sidebar,
  body[data-active-page="yidou"] .sidebar {
    width: auto;
    padding: 18px 10px;
    gap: 16px;
  }

  .brand,
  body[data-active-page="yidou"] .brand {
    gap: 8px;
    padding: 8px;
  }

  .brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }

  .brand strong {
    font-size: 15px;
  }

  .brand span {
    font-size: 12px;
  }

  .nav {
    gap: 6px;
  }

  .nav-item {
    grid-template-columns: 22px minmax(0, 1fr);
    height: 40px;
    padding: 0 8px;
    font-size: 14px;
  }

  .nav-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/* end compact platform sidebar */

body[data-active-page="admin"].is-system-admin .admin-module-layout {
  grid-template-columns: minmax(0, 1fr);
}

body[data-active-page="admin"].is-system-admin .admin-directory {
  display: none;
}

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

  .cockpit-stat-card {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .cockpit-stat-card i {
    display: none;
  }
}

@media (max-width: 860px) {
  .cockpit-yidou-status,
  .cockpit-entry-tile-head,
  .cockpit-entry-tile-body {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }

  .cockpit-stat-grid,
  .cockpit-board-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cockpit-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .cockpit-view-toggle {
    width: 100%;
  }

  .cockpit-view-toggle button {
    flex: 1;
  }

  .cockpit-entry-metric {
    justify-items: start;
  }
}

.product-library-search-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 26px;
  border: 1px solid #e3e8f0;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06)),
    #ffffff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.product-library-mine-entry {
  flex: 0 0 auto;
  min-width: 92px;
}

.product-library-new-enterprise {
  margin: 18px 0;
  border: 1px solid #b9d9d3;
  border-radius: 14px;
  background: linear-gradient(135deg, #f2fffb 0%, #f7fbff 100%);
  overflow: hidden;
}

.product-library-new-enterprise > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.product-library-new-enterprise > summary::-webkit-details-marker {
  display: none;
}

.product-library-new-enterprise > summary div {
  display: grid;
  gap: 4px;
}

.product-library-new-enterprise > summary strong {
  color: #08786e;
  font-size: 16px;
}

.product-library-new-enterprise > summary span,
.product-library-new-enterprise > summary em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
}

.product-library-new-enterprise-form {
  margin: 0;
  padding: 16px 18px 18px;
  border-top: 1px solid #dcebe8;
}

.product-library-followup-modal .product-library-company-dialog {
  width: min(1500px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.product-library-followup-filter {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(180px, 260px) 1fr;
  align-items: end;
  gap: 12px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #dbe7ec;
  border-radius: 10px;
  background: #f8fbfd;
}

.product-library-followup-filter .actions {
  justify-content: flex-end;
}

.product-library-followup-summary {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 12px 0;
  color: var(--muted);
}

.product-library-followup-summary strong {
  color: var(--ink);
  font-size: 24px;
}

.product-library-followup-summary em {
  margin-left: auto;
  font-style: normal;
}

.project-admin-permission-audit {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  white-space: nowrap;
}

@media (max-width: 760px) {
  .product-library-followup-filter {
    grid-template-columns: 1fr;
  }

  .product-library-followup-filter .actions,
  .product-library-followup-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .product-library-followup-summary em {
    margin-left: 0;
  }
}

.product-library-mine-page {
  display: grid;
  gap: 16px;
}

.product-library-mine-head {
  margin-bottom: 0;
}

.product-library-mine-head .actions {
  flex: 0 0 auto;
}

.product-library-mine-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-library-mine-kpis > div {
  padding: 16px 18px;
  border: 1px solid #dbe5eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.product-library-mine-kpis span,
.product-library-mine-kpis small {
  color: #64748b;
  font-size: 12px;
}

.product-library-mine-kpis strong {
  margin: 0 4px 0 12px;
  color: #0f172a;
  font-size: 28px;
}

.product-library-mine-companies,
.product-library-mine-units {
  display: grid;
  gap: 14px;
}

.product-library-mine-company {
  overflow: hidden;
  border: 1px solid #dbe5eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.product-library-mine-company > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid #e8eef2;
  background: linear-gradient(135deg, #f0fdfa, #f5f9ff);
}

.product-library-mine-company > header span {
  color: #0f766e;
  font-size: 11px;
  font-weight: 850;
}

.product-library-mine-company > header h2 {
  margin: 4px 0;
  color: #0f172a;
  font-size: 21px;
}

.product-library-mine-company > header p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
}

.product-library-mine-units {
  padding: 14px;
}

.product-library-mine-unit {
  overflow: hidden;
  border: 1px solid #dde7ea;
  border-radius: 8px;
  background: #fbfdfd;
}

.product-library-mine-unit > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.product-library-mine-unit > summary::-webkit-details-marker { display: none; }

.product-library-mine-unit > summary > div:first-child {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px 9px;
  min-width: 0;
}

.product-library-mine-unit > summary strong {
  overflow: hidden;
  color: #172033;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-library-mine-unit > summary small {
  grid-column: 2;
  color: #64748b;
}

.product-library-mine-unit > summary > div:last-child {
  flex: 0 0 auto;
  text-align: right;
}

.product-library-mine-unit > summary b,
.product-library-mine-unit > summary em {
  display: block;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
}

.product-library-mine-unit > summary em {
  margin-top: 4px;
  color: #0f766e;
  font-size: 11px;
  font-weight: 800;
}

.product-library-mine-progress-form {
  padding: 16px;
  border-top: 1px solid #dde7ea;
  background: #fff;
}

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

.product-library-mine-form-grid label {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.product-library-mine-form-grid label > span {
  color: #526175;
  font-size: 12px;
  font-weight: 800;
}

.product-library-mine-form-grid .wide {
  grid-column: span 2;
}

.product-library-mine-form-grid textarea {
  resize: vertical;
}

.product-library-mine-relations,
.product-library-mine-opportunity-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}

.product-library-mine-relations span,
.product-library-mine-opportunity-list span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.product-library-mine-relations b,
.product-library-mine-opportunity-list b {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef6f5;
  color: #35645f;
  font-size: 10px;
}

.product-library-mine-progress-form > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #edf1f4;
}

.product-library-mine-progress-form > footer small {
  color: #64748b;
}

.product-library-mine-opportunity-list {
  margin: 0;
  padding: 12px 18px 16px;
  border-top: 1px solid #edf1f4;
}

@media (max-width: 900px) {
  .product-library-mine-kpis,
  .product-library-mine-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .product-library-search-hero,
  .product-library-mine-company > header,
  .product-library-mine-unit > summary,
  .product-library-mine-progress-form > footer { flex-direction: column; align-items: stretch; }
  .product-library-mine-kpis,
  .product-library-mine-form-grid { grid-template-columns: 1fr; }
  .product-library-mine-form-grid .wide { grid-column: auto; }
  .product-library-mine-unit > summary > div:last-child { text-align: left; }
}

.product-library-search-hero > div > span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 800;
}

.product-library-search-hero h1 {
  margin: 0;
  color: #111827;
  font-size: 32px;
  line-height: 1.15;
}

.product-library-search-hero p {
  max-width: 720px;
  margin: 10px 0 0;
  color: #64748b;
  line-height: 1.7;
}

.marketing-archive-dashboard {
  margin: 0 0 20px;
  padding: 20px;
  border: 1px solid #dbe5eb;
  border-radius: 8px;
  background: #f8fbfb;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07);
}

.marketing-dashboard-head,
.marketing-dashboard-card > header,
.marketing-dashboard-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.marketing-dashboard-head { margin-bottom: 16px; }
.marketing-dashboard-head > div:first-child > span { color: #0f766e; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.marketing-dashboard-head h2 { margin: 5px 0 4px; color: #0f172a; font-size: 24px; }
.marketing-dashboard-head p,
.marketing-dashboard-card header p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.55; }
.marketing-dashboard-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.marketing-dashboard-actions small { color: #64748b; white-space: nowrap; }

.marketing-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.marketing-dashboard-kpis article,
.marketing-dashboard-kpis > button {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dfe8ec;
  border-top: 3px solid #0f766e;
  border-radius: 8px;
  background: #fff;
}
.marketing-dashboard-kpis > button { cursor: pointer; text-align: left; }
.marketing-dashboard-kpis > button:hover { border-color: #77aaa4; background: #f0fdfa; transform: translateY(-1px); }

.marketing-dashboard-kpis span,
.marketing-dashboard-kpis em { display: block; color: #64748b; font-size: 12px; font-style: normal; }
.marketing-dashboard-kpis strong { display: block; margin: 7px 0 5px; color: #0f172a; font-size: 29px; font-variant-numeric: tabular-nums; line-height: 1; }
.marketing-dashboard-kpis strong small { margin-left: 3px; color: #64748b; font-size: 12px; }
.marketing-dashboard-kpis em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.marketing-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  gap: 12px;
}

.marketing-dashboard-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe8ec;
  border-radius: 8px;
  background: #fff;
}

.marketing-dashboard-card.owner-workload,
.marketing-dashboard-card.management-attention {
  grid-column: 1 / -1;
}

.marketing-dashboard-card > header { margin-bottom: 14px; }
.marketing-dashboard-card header h3 { margin: 0 0 4px; color: #0f172a; font-size: 16px; }
.marketing-dashboard-card header > strong { color: #0f766e; font-size: 22px; font-variant-numeric: tabular-nums; text-align: right; }
.marketing-dashboard-card header > strong small { display: block; color: #64748b; font-size: 11px; font-weight: 600; white-space: nowrap; }
.marketing-dashboard-coverage { flex: 0 0 auto; padding: 4px 7px; border: 0; border-radius: 6px; background: transparent; cursor: pointer; text-align: right; }
.marketing-dashboard-coverage:hover { background: #f0fdfa; }
.marketing-dashboard-coverage strong,
.marketing-dashboard-coverage small { display: block; }
.marketing-dashboard-coverage strong { color: #0f766e; font-size: 22px; font-variant-numeric: tabular-nums; }
.marketing-dashboard-coverage small { color: #64748b; font-size: 10px; font-weight: 600; white-space: nowrap; }

.marketing-ranked-bars { display: grid; gap: 10px; }
.marketing-ranked-row { display: grid; width: 100%; grid-template-columns: minmax(92px, 1.4fr) minmax(120px, 3fr) 48px; align-items: center; gap: 10px; padding: 4px; border: 0; border-radius: 5px; background: transparent; cursor: pointer; text-align: left; }
.marketing-ranked-row:hover { background: #f0fdfa; }
.marketing-ranked-row > div:first-child { min-width: 0; }
.marketing-ranked-row strong,
.marketing-ranked-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-ranked-row strong { color: #334155; font-size: 13px; }
.marketing-ranked-row small { margin-top: 2px; color: #94a3b8; font-size: 10px; }
.marketing-ranked-row > b { color: #0f172a; font-size: 15px; font-variant-numeric: tabular-nums; text-align: right; }
.marketing-ranked-row > b small { display: inline; margin-left: 2px; color: #64748b; font-size: 10px; }
.marketing-rank-track { overflow: hidden; height: 10px; border-radius: 999px; background: #e8eef1; }
.marketing-rank-track i { display: block; height: 100%; border-radius: inherit; background: #0f766e; }

.value-unit-mix-bar { display: flex; overflow: hidden; height: 30px; border-radius: 6px; background: #eef2f5; }
.value-unit-mix-bar button { display: flex; align-items: center; justify-content: center; min-width: 2px; padding: 0; border: 0; color: #fff; cursor: pointer; }
.value-unit-mix-bar button span { font-size: 10px; font-weight: 800; }
.mix-1 { background: #0f766e !important; }
.mix-2 { background: #2563eb !important; }
.mix-3 { background: #d97706 !important; }
.mix-4 { background: #64748b !important; }
.value-unit-mix-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.value-unit-mix-legend button { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 9px; border: 1px solid #e6ebef; border-radius: 6px; background: #fff; color: #475569; cursor: pointer; text-align: left; }
.value-unit-mix-legend button:hover { border-color: #94a3b8; background: #f8fafc; }
.value-unit-mix-legend i { width: 9px; height: 9px; border-radius: 2px; }
.value-unit-mix-legend span { font-size: 12px; }
.value-unit-mix-legend strong { color: #0f172a; font-size: 14px; font-variant-numeric: tabular-nums; }
.marketing-dashboard-source-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf1f4; }
.marketing-dashboard-source-note span,
.marketing-dashboard-source-note small { color: #94a3b8; font-size: 10px; }
.marketing-dashboard-source-note strong { overflow: hidden; color: #475569; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.marketing-dashboard-source-note small { grid-column: 2; }

.marketing-owner-table { overflow-x: auto; }
.marketing-owner-table-head,
.marketing-owner-table > button { display: grid; grid-template-columns: minmax(130px, 1.5fr) minmax(160px, 2fr) 60px 92px 70px; align-items: center; gap: 10px; min-width: 650px; }
.marketing-owner-table-head { padding: 0 10px 8px; color: #94a3b8; font-size: 10px; }
.marketing-owner-table-head span:not(:first-child) { text-align: right; }
.marketing-owner-table > button { width: 100%; padding: 9px 10px; border: 0; border-top: 1px solid #edf1f4; background: #fff; color: #334155; cursor: pointer; text-align: left; }
.marketing-owner-table > button:hover { background: #f0fdfa; }
.marketing-owner-table > button > span:first-child strong,
.marketing-owner-table > button > span:first-child small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-owner-table > button > span:first-child strong { color: #0f172a; font-size: 13px; }
.marketing-owner-table > button > span:first-child small { margin-top: 2px; color: #94a3b8; font-size: 10px; }
.marketing-owner-table > button > span:nth-child(2) { position: relative; overflow: hidden; height: 20px; border-radius: 4px; background: #edf3f3; }
.marketing-owner-table > button > span:nth-child(2) i { position: absolute; inset: 0 auto 0 0; background: #99c5c0; }
.marketing-owner-table > button > span:nth-child(2) b { position: relative; z-index: 1; display: block; padding-right: 6px; color: #0f172a; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 20px; text-align: right; }
.marketing-owner-table > button > b { color: #334155; font-size: 13px; font-variant-numeric: tabular-nums; text-align: right; }
.marketing-dashboard-owner-filter { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -2px 0 10px; padding: 8px 10px; border-radius: 6px; background: #f0fdfa; color: #475569; font-size: 11px; }

.marketing-dashboard-owner-dialog { width: min(1180px, 96vw); max-height: 92vh; overflow: auto; padding: 22px; }
.marketing-dashboard-owner-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid #e2e8f0; }
.marketing-dashboard-owner-dialog > header span { color: #0f766e; font-size: 12px; font-weight: 800; }
.marketing-dashboard-owner-dialog > header h2 { margin: 5px 0; color: #0f172a; font-size: 24px; }
.marketing-dashboard-owner-dialog > header p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.6; }
.marketing-dashboard-owner-dialog > header > button { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #475569; cursor: pointer; font-size: 22px; }
.marketing-dashboard-owner-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 14px 0; }
.marketing-dashboard-owner-kpis > div { padding: 12px; border: 1px solid #dfe8ec; border-radius: 7px; background: #f8fbfb; }
.marketing-dashboard-owner-kpis strong,
.marketing-dashboard-owner-kpis span { display: block; }
.marketing-dashboard-owner-kpis strong { color: #0f172a; font-size: 24px; }
.marketing-dashboard-owner-kpis span { margin-top: 4px; color: #64748b; font-size: 11px; }
.marketing-dashboard-enterprise-matrix { overflow: auto; border: 1px solid #dfe8ec; border-radius: 8px; background: #fff; }
.marketing-dashboard-enterprise-matrix-head,
.marketing-dashboard-enterprise-matrix > article { display: grid; grid-template-columns: minmax(180px, 1.15fr) minmax(150px, .9fr) minmax(230px, 1.35fr) minmax(260px, 1.6fr); gap: 10px; min-width: 940px; }
.marketing-dashboard-enterprise-matrix-head { position: sticky; top: 0; z-index: 2; padding: 9px 12px; border-bottom: 1px solid #dfe8ec; background: #f1f7f6; color: #64748b; font-size: 10px; font-weight: 800; }
.marketing-dashboard-enterprise-matrix > article { align-items: start; padding: 12px; border-top: 1px solid #edf1f4; }
.marketing-dashboard-enterprise-matrix > article:first-of-type { border-top: 0; }
.marketing-dashboard-enterprise-matrix > article:hover { background: #fbfefd; }
.marketing-dashboard-enterprise-title > button { width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.marketing-dashboard-enterprise-title > button strong,
.marketing-dashboard-enterprise-title > button small { display: block; }
.marketing-dashboard-enterprise-title > button strong { color: #0f766e; font-size: 13px; line-height: 1.45; }
.marketing-dashboard-enterprise-title > button small { margin-top: 3px; color: #94a3b8; font-size: 9px; }
.marketing-dashboard-enterprise-title > div { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.marketing-dashboard-enterprise-title > div span { padding: 3px 6px; border-radius: 999px; background: #edf3f3; color: #526b68; font-size: 9px; }
.marketing-dashboard-enterprise-bus,
.marketing-dashboard-enterprise-units,
.marketing-dashboard-enterprise-products { display: flex; flex-wrap: wrap; gap: 5px; max-height: 190px; overflow: auto; }
.marketing-dashboard-enterprise-bus > span { display: inline-flex; flex-direction: column; gap: 2px; padding: 5px 7px; border-radius: 6px; background: #e6f4f2; color: #315f5a; }
.marketing-dashboard-enterprise-bus > span strong { font-size: 10px; }
.marketing-dashboard-enterprise-bus > span small { color: #64748b; font-size: 8px; }
.marketing-dashboard-enterprise-units > button,
.marketing-dashboard-enterprise-products > button,
.marketing-dashboard-unassigned-relations > div > button { min-width: 0; max-width: 100%; padding: 6px 7px; border: 1px solid #dfe8ec; border-radius: 6px; background: #fff; cursor: pointer; text-align: left; }
.marketing-dashboard-enterprise-units > button { flex: 1 1 150px; }
.marketing-dashboard-enterprise-products > button { flex: 1 1 130px; }
.marketing-dashboard-enterprise-units > button strong,
.marketing-dashboard-enterprise-units > button small,
.marketing-dashboard-enterprise-products > button strong,
.marketing-dashboard-enterprise-products > button small,
.marketing-dashboard-unassigned-relations > div > button strong,
.marketing-dashboard-unassigned-relations > div > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-dashboard-enterprise-units > button strong,
.marketing-dashboard-enterprise-products > button strong,
.marketing-dashboard-unassigned-relations > div > button strong { margin-top: 3px; color: #334155; font-size: 10px; }
.marketing-dashboard-enterprise-units > button small,
.marketing-dashboard-enterprise-products > button small,
.marketing-dashboard-unassigned-relations > div > button small { margin-top: 2px; color: #94a3b8; font-size: 8px; }
.marketing-dashboard-enterprise-bus > em,
.marketing-dashboard-enterprise-units > em,
.marketing-dashboard-enterprise-products > em { color: #b45309; font-size: 10px; font-style: normal; line-height: 1.5; }
.marketing-dashboard-unassigned-relations { margin-top: 12px; padding: 11px 12px; border: 1px solid #f2c66d; border-radius: 8px; background: #fffbeb; }
.marketing-dashboard-unassigned-relations summary { color: #92400e; cursor: pointer; font-size: 12px; font-weight: 800; }
.marketing-dashboard-unassigned-relations p { margin: 7px 0; color: #a16207; font-size: 10px; line-height: 1.5; }
.marketing-dashboard-unassigned-relations > div { display: flex; flex-wrap: wrap; gap: 6px; }
.marketing-dashboard-enterprise-dialog { width: min(1320px, 97vw); max-height: 94vh; overflow: auto; padding: 22px; }
.marketing-dashboard-enterprise-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid #e2e8f0; }
.marketing-dashboard-enterprise-dialog > header span { color: #0f766e; font-size: 12px; font-weight: 800; }
.marketing-dashboard-enterprise-dialog > header h2 { margin: 5px 0; color: #0f172a; font-size: 23px; }
.marketing-dashboard-enterprise-dialog > header p { margin: 0; color: #64748b; font-size: 11px; line-height: 1.55; }
.marketing-dashboard-enterprise-dialog > header > button { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #475569; cursor: pointer; font-size: 22px; }
.marketing-dashboard-enterprise-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 13px 0; }
.marketing-dashboard-enterprise-summary > div { padding: 9px 11px; border: 1px solid #dfe8ec; border-radius: 7px; background: #f8fbfb; }
.marketing-dashboard-enterprise-summary strong,
.marketing-dashboard-enterprise-summary span { display: block; }
.marketing-dashboard-enterprise-summary strong { color: #0f172a; font-size: 20px; }
.marketing-dashboard-enterprise-summary span { margin-top: 2px; color: #64748b; font-size: 9px; }
.marketing-dashboard-enterprise-search { display: grid; grid-template-columns: auto minmax(240px, 1fr) auto; align-items: center; gap: 9px; margin-bottom: 10px; }
.marketing-dashboard-enterprise-search span,
.marketing-dashboard-enterprise-search em { color: #64748b; font-size: 10px; font-style: normal; }
.marketing-dashboard-enterprise-search input { min-height: 38px; padding: 0 11px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #0f172a; font-size: 12px; }
.marketing-dashboard-all-enterprise-matrix { overflow: auto; max-height: 58vh; border: 1px solid #dfe8ec; border-radius: 8px; background: #fff; }
.marketing-dashboard-all-enterprise-head,
.marketing-dashboard-all-enterprise-matrix > article { display: grid; grid-template-columns: minmax(190px, 1.1fr) minmax(160px, .9fr) minmax(240px, 1.3fr) minmax(300px, 1.7fr); gap: 10px; min-width: 980px; }
.marketing-dashboard-all-enterprise-head { position: sticky; top: 0; z-index: 3; padding: 9px 12px; border-bottom: 1px solid #dfe8ec; background: #edf6f5; color: #64748b; font-size: 10px; font-weight: 800; }
.marketing-dashboard-all-enterprise-matrix > article { align-items: start; padding: 11px 12px; border-top: 1px solid #edf1f4; }
.marketing-dashboard-all-enterprise-matrix > article:first-of-type { border-top: 0; }
.marketing-dashboard-all-enterprise-title > button { width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.marketing-dashboard-all-enterprise-title > button strong,
.marketing-dashboard-all-enterprise-title > button small { display: block; }
.marketing-dashboard-all-enterprise-title > button strong { color: #0f766e; font-size: 12px; line-height: 1.4; }
.marketing-dashboard-all-enterprise-title > button small { margin-top: 2px; color: #94a3b8; font-size: 8px; }
.marketing-dashboard-all-enterprise-title p { margin: 7px 0 0; color: #334155; font-size: 10px; font-weight: 700; }
.marketing-dashboard-all-enterprise-bus,
.marketing-dashboard-all-enterprise-units,
.marketing-dashboard-all-enterprise-products { display: flex; flex-wrap: wrap; gap: 5px; max-height: 180px; overflow: auto; }
.marketing-dashboard-all-enterprise-bus > span { display: inline-flex; flex-direction: column; gap: 2px; padding: 5px 7px; border-radius: 6px; background: #e6f4f2; }
.marketing-dashboard-all-enterprise-bus > span strong { color: #315f5a; font-size: 10px; }
.marketing-dashboard-all-enterprise-bus > span small { color: #64748b; font-size: 8px; }
.marketing-dashboard-all-enterprise-units > button,
.marketing-dashboard-all-enterprise-products > button,
.marketing-dashboard-all-enterprise-products details > div > button { min-width: 0; padding: 5px 7px; border: 1px solid #dfe8ec; border-radius: 5px; background: #fff; cursor: pointer; text-align: left; }
.marketing-dashboard-all-enterprise-units > button { flex: 1 1 150px; }
.marketing-dashboard-all-enterprise-products > button,
.marketing-dashboard-all-enterprise-products details > div > button { flex: 1 1 125px; }
.marketing-dashboard-all-enterprise-units button strong,
.marketing-dashboard-all-enterprise-products button strong,
.marketing-dashboard-all-enterprise-products button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-dashboard-all-enterprise-units button strong,
.marketing-dashboard-all-enterprise-products button strong { margin-top: 2px; color: #334155; font-size: 9px; }
.marketing-dashboard-all-enterprise-products button small { color: #94a3b8; font-size: 8px; }
.marketing-dashboard-all-enterprise-bus > em,
.marketing-dashboard-all-enterprise-units > em,
.marketing-dashboard-all-enterprise-products > em { color: #b45309; font-size: 9px; font-style: normal; }
.marketing-dashboard-all-enterprise-products details { flex: 1 1 100%; }
.marketing-dashboard-all-enterprise-products details summary { color: #0f766e; cursor: pointer; font-size: 9px; font-weight: 800; }
.marketing-dashboard-all-enterprise-products details > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.marketing-dashboard-owner-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.marketing-dashboard-owner-body > section { min-width: 0; padding: 14px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; }
.marketing-dashboard-owner-body > section.wide { grid-column: 1 / -1; }
.marketing-dashboard-owner-companies,
.marketing-dashboard-owner-units { display: grid; gap: 8px; max-height: 480px; overflow: auto; }
.marketing-dashboard-owner-companies article,
.marketing-dashboard-owner-units article { padding: 10px; border: 1px solid #edf1f4; border-radius: 7px; background: #fbfdfd; }
.marketing-dashboard-owner-companies article > button,
.marketing-dashboard-owner-units article > button { width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.marketing-dashboard-owner-companies article > button strong,
.marketing-dashboard-owner-companies article > button small,
.marketing-dashboard-owner-units article > button strong,
.marketing-dashboard-owner-units article > button small { display: block; }
.marketing-dashboard-owner-companies article > button strong,
.marketing-dashboard-owner-units article > button strong { color: #0f766e; font-size: 13px; }
.marketing-dashboard-owner-companies article > button small,
.marketing-dashboard-owner-units article > button small { margin-top: 3px; color: #94a3b8; font-size: 10px; line-height: 1.4; }
.marketing-dashboard-owner-companies article > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.marketing-dashboard-owner-companies article > div > span { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 999px; background: #e6f4f2; color: #315f5a; font-size: 10px; }
.marketing-dashboard-owner-companies article > div > span em { color: #64748b; font-size: 9px; font-style: normal; }
.marketing-dashboard-owner-companies article > div > span.pending { background: #fff7ed; color: #c2410c; }
.marketing-dashboard-owner-unit-products { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.marketing-dashboard-owner-unit-products > button { max-width: 100%; padding: 5px 7px; border: 1px solid #dfe8ec; border-radius: 5px; background: #fff; cursor: pointer; text-align: left; }
.marketing-dashboard-owner-unit-products > button strong,
.marketing-dashboard-owner-unit-products > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-dashboard-owner-unit-products > button strong { color: #334155; font-size: 10px; }
.marketing-dashboard-owner-unit-products > button small { color: #94a3b8; font-size: 9px; }
.marketing-dashboard-owner-unit-products > span { color: #b45309; font-size: 10px; }
.marketing-dashboard-owner-products summary { color: #0f766e; cursor: pointer; font-size: 13px; font-weight: 800; }
.marketing-dashboard-owner-products > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.marketing-dashboard-owner-products > div > button { padding: 8px; border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; cursor: pointer; text-align: left; }
.marketing-dashboard-owner-products > div > button strong,
.marketing-dashboard-owner-products > div > button span,
.marketing-dashboard-owner-products > div > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketing-dashboard-owner-products > div > button strong { color: #0f172a; font-size: 11px; }
.marketing-dashboard-owner-products > div > button span,
.marketing-dashboard-owner-products > div > button small { margin-top: 2px; color: #64748b; font-size: 9px; }

.management-attention > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.management-attention section,
.management-attention > div > button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; padding: 10px 11px; border: 0; border-left: 3px solid #94a3b8; background: #f8fafc; text-align: left; }
.management-attention > div > button { width: 100%; cursor: pointer; }
.management-attention section.needs-attention,
.management-attention > div > button.needs-attention { border-left-color: #d97706; background: #fffbeb; }
.management-attention > div > button:hover { box-shadow: inset 0 0 0 1px #f0b55b; transform: translateY(-1px); }
.management-attention section span,
.management-attention > div > button span { color: #475569; font-size: 12px; font-weight: 700; }
.management-attention section strong,
.management-attention > div > button strong { color: #0f172a; font-size: 18px; font-variant-numeric: tabular-nums; }
.management-attention section small,
.management-attention > div > button small { grid-column: 1 / -1; color: #94a3b8; font-size: 10px; line-height: 1.4; }
.management-attention section.needs-attention small,
.management-attention > div > button.needs-attention small { color: #9a6700; }

.marketing-dashboard-pending-dialog {
  width: min(1120px, 96vw);
  padding: 22px;
}

.marketing-dashboard-pending-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e8f0;
}

.marketing-dashboard-pending-dialog > header span { color: #0f766e; font-size: 12px; font-weight: 800; }
.marketing-dashboard-pending-dialog > header h2 { margin: 5px 0; color: #0f172a; font-size: 22px; }
.marketing-dashboard-pending-dialog > header p { max-width: 760px; margin: 0; color: #64748b; font-size: 12px; line-height: 1.65; }
.marketing-dashboard-pending-dialog > header > button { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #475569; cursor: pointer; font-size: 22px; line-height: 1; }

.marketing-dashboard-pending-summary { display: flex; align-items: baseline; gap: 5px; margin: 15px 0 10px; color: #64748b; }
.marketing-dashboard-pending-summary strong { color: #b45309; font-size: 24px; }
.marketing-dashboard-pending-summary span { font-size: 12px; font-weight: 700; }
.marketing-dashboard-pending-summary em { margin-left: auto; color: #94a3b8; font-size: 11px; font-style: normal; }

.marketing-dashboard-pending-list { display: grid; gap: 7px; }
.marketing-dashboard-pending-list article { display: grid; grid-template-columns: 28px minmax(190px, 1.6fr) minmax(90px, .7fr) minmax(110px, .8fr) minmax(220px, 1.5fr); align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; }
.marketing-dashboard-pending-list article > b { color: #94a3b8; font-size: 11px; }
.marketing-dashboard-pending-list article > button { border: 0; background: transparent; cursor: pointer; text-align: left; }
.marketing-dashboard-pending-list article > button strong,
.marketing-dashboard-pending-list article > button small,
.marketing-dashboard-pending-list article > div > span,
.marketing-dashboard-pending-list article > div > strong,
.marketing-dashboard-pending-list article > div > small { display: block; }
.marketing-dashboard-pending-list article > button strong { color: #0f766e; font-size: 13px; }
.marketing-dashboard-pending-list article > button small { margin-top: 3px; color: #94a3b8; font-size: 9px; }
.marketing-dashboard-pending-list article > div > span:not(.marketing-dashboard-pending-status) { color: #94a3b8; font-size: 9px; }
.marketing-dashboard-pending-list article > div > strong { margin-top: 3px; color: #334155; font-size: 12px; }
.marketing-dashboard-pending-list article > div > small { margin-top: 4px; color: #64748b; font-size: 10px; line-height: 1.35; }
.marketing-dashboard-pending-status { display: inline-block !important; width: fit-content; padding: 3px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.marketing-dashboard-pending-status.account { background: #fff7ed; color: #c2410c; }
.marketing-dashboard-pending-status.roster { background: #f1f5f9; color: #475569; }
.marketing-dashboard-pending-actions { display: flex; justify-content: flex-end; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e2e8f0; }

.marketing-dashboard-task-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #f2c66d;
  border-radius: 8px;
  background: #fffbeb;
}

.marketing-dashboard-task-banner strong,
.marketing-dashboard-task-banner span { display: block; }
.marketing-dashboard-task-banner strong { color: #92400e; font-size: 13px; }
.marketing-dashboard-task-banner span { margin-top: 3px; color: #a16207; font-size: 11px; line-height: 1.5; }
.marketing-dashboard-task-actions { display: flex; flex: 0 0 auto; gap: 8px; }

.marketing-dashboard-footer { align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid #dfe8ec; color: #64748b; font-size: 10px; }
.marketing-dashboard-footer small { white-space: nowrap; }
.marketing-dashboard-skeleton { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.marketing-dashboard-skeleton i { height: 86px; border-radius: 8px; background: #e7eeee; animation: pulse 1.2s ease-in-out infinite alternate; }

.product-library-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.product-library-search-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.product-library-search-bar label {
  display: grid;
  gap: 8px;
}

.product-library-search-bar label span {
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.product-library-search-bar input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0 14px;
  color: #111827;
  font-size: 15px;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.product-library-search-bar input:focus {
  outline: 3px solid rgba(15, 118, 110, 0.14);
  border-color: #0f766e;
}

.product-library-search-bar .btn {
  min-height: 48px;
  padding-inline: 24px;
}

.product-library-entry-grid button {
  min-height: 88px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 13px;
  background: #ffffff;
  color: #334155;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.product-library-entry-grid button:hover {
  transform: translateY(-1px);
  border-color: #99c5c0;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07);
}

.product-library-entry-grid button.active {
  border-color: #0f766e;
  background: #f0fdfa;
  box-shadow: 0 10px 22px rgba(15, 118, 110, 0.12);
}

.product-library-entry-grid strong,
.product-library-entry-grid span {
  display: block;
}

.product-library-entry-grid strong {
  margin-bottom: 7px;
  color: #0f172a;
  font-size: 15px;
}

.product-library-entry-grid span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.product-library-layout {
  display: grid;
  grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.product-library-layout.single-result {
  grid-template-columns: minmax(0, 1fr);
}

.product-library-layout.manufacturer-directory {
  grid-template-columns: minmax(0, 1fr);
}

.product-library-layout.manufacturer-directory .product-library-list {
  position: static;
}

.product-library-layout.manufacturer-directory .product-library-detail {
  display: none;
}

.product-library-owner-results { margin-top: 16px; }
.product-library-owner-company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.product-library-owner-company-grid > button { display: grid; gap: 7px; padding: 16px; border: 1px solid #dbe5f3; border-radius: 10px; background: #fff; text-align: left; cursor: pointer; }
.product-library-owner-company-grid > button:hover { border-color: #1769ff; background: #f7faff; box-shadow: 0 10px 24px rgba(23, 105, 255, .08); }
.product-library-owner-company-grid strong { color: #16233f; font-size: 16px; }
.product-library-owner-company-grid span { color: #66738c; font-size: 12px; line-height: 1.5; }
.product-library-owner-company-grid em { margin-top: 3px; color: #315a96; font-size: 12px; font-style: normal; }
.product-library-owner-company-grid em b { float: right; color: #1769ff; }
.product-library-owner-company-view { display: grid; gap: 16px; margin-top: 16px; }
.product-library-owner-product-detail { display: grid; gap: 12px; }

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

.product-library-metrics div {
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 24px rgba(23, 32, 51, 0.06);
}

.product-library-metrics span,
.product-library-metrics em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.product-library-metrics strong {
  display: block;
  margin: 6px 0 3px;
  color: #111827;
  font-size: 26px;
  line-height: 1;
}

.product-library-coverage-panel {
  border: 1px solid #dfe7f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(23, 32, 51, 0.06);
  margin: 0 0 16px;
  padding: 16px;
}

.product-library-export-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -4px 0 16px;
}

.product-library-export-actions span {
  color: var(--muted);
  font-size: 13px;
}

.product-library-export-dialog {
  width: min(1400px, 96vw);
}

.product-library-product-edit-dialog {
  width: min(1120px, 94vw);
}

.product-library-product-detail-dialog {
  width: min(1180px, 94vw);
}

.product-library-coverage-panel.cockpit {
  margin-top: 16px;
  background: rgba(255, 255, 255, 0.92);
}

.product-library-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.product-library-coverage-card {
  position: relative;
  min-width: 0;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  padding: 14px;
}

.product-library-coverage-card span,
.product-library-coverage-card em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.product-library-coverage-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #111827;
  font-size: 26px;
  line-height: 1;
}

.product-library-coverage-card small {
  margin-left: 3px;
  color: var(--muted);
  font-size: 13px;
}

.product-library-coverage-card b {
  position: absolute;
  right: 14px;
  top: 14px;
  color: var(--green);
  font-size: 18px;
}

.product-library-coverage-bar {
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background: #e8eef7;
  margin-top: 12px;
}

.product-library-coverage-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), #0ea5e9);
}

.product-library-admin-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 14px;
}

.product-library-admin-search .input-like {
  max-width: 560px;
}

.product-library-company-center {
  margin-bottom: 16px;
}

.product-library-company-layout {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.product-library-company-list {
  display: grid;
  gap: 8px;
  max-height: 680px;
  overflow: auto;
  padding-right: 4px;
}

.product-library-company-list button {
  border: 1px solid #e3eaf5;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}

.product-library-company-list button.active {
  border-color: #1e6bff;
  background: #eef5ff;
}

.product-library-company-list strong,
.product-library-company-list span {
  display: block;
}

.product-library-company-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.product-library-company-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-library-company-summary div {
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  padding: 12px;
  background: #fbfdff;
}

.product-library-company-summary span,
.product-library-company-summary em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.product-library-company-summary strong {
  display: block;
  margin: 6px 0;
  color: #111827;
  font-size: 22px;
  line-height: 1.2;
}

.product-library-company-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.product-library-company-coverage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #dbe6f5;
  border-radius: 8px;
  background: #f8fbff;
  margin: 12px 0;
  padding: 10px 12px;
}

.product-library-company-coverage .checkline {
  margin: 0;
  color: #17233c;
  font-weight: 700;
}

.product-library-company-coverage.compact {
  display: inline-flex;
  justify-content: flex-start;
  min-width: 118px;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.product-library-coverage-toggle {
  display: inline-grid;
  grid-template-columns: 46px auto 1fr;
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #17233c;
  padding: 0;
  text-align: left;
}

.product-library-coverage-toggle span {
  position: relative;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
  transition: background 0.18s ease;
}

.product-library-coverage-toggle span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
  transition: transform 0.18s ease;
}

.product-library-coverage-toggle strong {
  color: #475569;
  white-space: nowrap;
}

.product-library-coverage-toggle em {
  color: #17233c;
  font-style: normal;
  font-weight: 700;
  min-width: 0;
}

.product-library-coverage-toggle[data-checked="true"] span {
  background: var(--green);
}

.product-library-coverage-toggle[data-checked="true"] span::after {
  transform: translateX(20px);
}

.product-library-coverage-toggle[data-checked="true"] strong {
  color: var(--green);
}

.product-library-coverage-toggle.compact {
  grid-template-columns: 36px auto;
  gap: 7px;
  font-size: 13px;
}

.product-library-coverage-toggle.compact span {
  width: 36px;
  height: 20px;
}

.product-library-coverage-toggle.compact span::after {
  width: 16px;
  height: 16px;
  top: 2px;
  left: 2px;
}

.product-library-coverage-toggle.compact[data-checked="true"] span::after {
  transform: translateX(16px);
}

.product-library-coverage-toggle.compact strong {
  font-size: 13px;
}

.product-library-company-tags span {
  border-radius: 999px;
  background: #eef3f8;
  color: #41516a;
  padding: 6px 10px;
  font-size: 12px;
}

.product-library-company-products .panel-head.compact {
  margin: 4px 0 8px;
}

.product-library-company-products tr.active-row td {
  background: #eaf3ff;
}

.product-library-directory-company-link {
  display: grid;
  gap: 3px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #102244;
  text-align: left;
}

.product-library-directory-company-link strong {
  color: #102244;
  font-size: 15px;
}

.product-library-directory-company-link span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
}

.product-library-product-link {
  border: 0;
  background: transparent;
  color: var(--blue);
  padding: 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.product-library-product-link strong {
  color: var(--blue);
}

.table tr.active-row td {
  background: #eaf3ff;
}

.product-library-directory-profile {
  border: 1px solid #dbe6f5;
  border-radius: 8px;
  background: #fbfdff;
  padding: 16px;
}

.product-library-company-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(15, 23, 42, 0.44);
}

.product-library-company-modal.open {
  display: flex;
}

.product-library-company-dialog {
  width: min(1280px, 96vw);
  max-height: 90vh;
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
}

.product-library-company-dialog .product-library-directory-profile {
  border: 0;
  border-radius: 0;
  background: #fff;
}

.product-library-directory-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.product-library-directory-facts div {
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.product-library-directory-facts span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.product-library-directory-facts strong {
  display: block;
  margin-top: 5px;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
}

.marketing-customer-archive {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #cfe0f5;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7fbff, #fff);
}

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

.marketing-customer-metrics > div,
.marketing-customer-metrics > button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 12px;
  border: 1px solid #dce8f7;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-align: left;
}

.marketing-customer-metrics > button {
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.marketing-customer-metrics > button:hover,
.marketing-customer-metrics > button:focus-visible {
  border-color: #78aef1;
  box-shadow: 0 8px 22px rgba(30, 104, 198, .14);
  transform: translateY(-2px);
}

.marketing-customer-metrics span,
.marketing-customer-metrics em { color: var(--muted); font-size: 12px; font-style: normal; }
.marketing-customer-metrics strong { color: #1559b7; font-size: 24px; }
.marketing-customer-metrics b { margin-top: 4px; color: #1769ce; font-size: 11px; }

.marketing-customer-jump-highlight {
  animation: marketing-customer-jump-pulse 1.35s ease;
  scroll-margin-top: 18px;
}

@keyframes marketing-customer-jump-pulse {
  0%, 100% { box-shadow: none; }
  35% { box-shadow: 0 0 0 4px rgba(32, 111, 219, .24); }
}

.marketing-customer-section {
  margin-top: 12px;
  border: 1px solid #e1e9f4;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.marketing-customer-section > summary {
  padding: 13px 15px;
  color: #173861;
  background: #f2f7fd;
  font-weight: 800;
  cursor: pointer;
}

.marketing-customer-section .opportunity-table-shell { border: 0; border-radius: 0; }
.marketing-customer-table { min-width: 1380px; }
.marketing-customer-table td { max-width: 240px; vertical-align: top; line-height: 1.5; }
.marketing-cell-lines { display: grid; gap: 4px; }
.marketing-cell-lines small { color: #718096; font-size: 11px; }
.marketing-contact-warning { display: block; margin-top: 4px; color: #b45309; font-size: 11px; font-weight: 700; }
.marketing-contact-departed td { color: #8a94a6; background: #fafafa; }
.marketing-source-note-list { display: grid; gap: 8px; padding: 14px; }
.marketing-source-note-list article { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #e2eaf4; border-radius: 8px; background: #fbfdff; }
.marketing-source-note-list strong { color: #29384f; font-size: 13px; line-height: 1.5; }
.marketing-source-note-list span,
.marketing-source-note-list small { color: #718096; font-size: 11px; }
.marketing-value-unit-full td { padding: 0 12px 10px !important; background: #fbfdff; }
.marketing-value-unit-full summary { color: #3169aa; font-size: 12px; font-weight: 700; cursor: pointer; }
.marketing-value-unit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.marketing-value-unit-grid div { padding: 9px; border: 1px solid #e2eaf4; border-radius: 7px; background: #fff; }
.marketing-value-unit-grid span,
.marketing-value-unit-grid strong { display: block; }
.marketing-value-unit-grid span { color: #7a8799; font-size: 11px; }
.marketing-value-unit-grid strong { margin-top: 3px; color: #29384f; font-size: 12px; line-height: 1.5; white-space: pre-line; }

.marketing-org-levels { display: grid; gap: 16px; padding: 15px; }
.marketing-org-levels h4 { margin: 0 0 9px; color: #315b8f; }
.marketing-org-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.marketing-org-grid article { padding: 11px; border: 1px solid #e1e8f2; border-radius: 9px; background: #fbfcfe; }
.marketing-org-grid article.is-department { border-color: #bfd7f4; background: #f4f9ff; }
.marketing-org-grid article.is-placeholder { border-style: dashed; background: #fffdf5; }
.marketing-org-grid article strong,
.marketing-org-grid article span { display: block; }
.marketing-org-grid article span { margin-top: 4px; color: #2563a9; font-size: 12px; }
.marketing-org-grid article p { margin: 7px 0 0; color: #627187; font-size: 12px; line-height: 1.55; white-space: pre-line; }

@media (max-width: 900px) {
  .marketing-customer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketing-org-grid { grid-template-columns: 1fr; }
  .marketing-value-unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.product-library-company-maintain {
  margin-top: 16px;
}

.product-library-list {
  position: sticky;
  top: 18px;
  border-color: #dde6f3;
  box-shadow: 0 12px 30px rgba(17, 24, 39, 0.06);
}

.product-library-table {
  margin-top: 12px;
  max-height: 620px;
  overflow: auto;
}

.product-library-table tr {
  cursor: pointer;
}

.product-library-table tr.active-row td {
  background: #eaf3ff;
  border-top: 1px solid #b9d7ff;
  border-bottom: 1px solid #b9d7ff;
}

.product-library-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  background: #ffffff;
  border-color: #d9e8f8;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.product-library-hero h2 {
  margin: 8px 0 10px;
  font-size: 24px;
  line-height: 1.25;
}

.product-library-hero h2 span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 600;
}

.product-library-tags,
.product-library-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.product-library-tags span {
  padding: 5px 8px;
  border-radius: 8px;
  background: #f3f6fb;
  color: #4b5563;
  font-size: 12px;
}

.product-library-brand-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  vertical-align: middle;
}

.product-library-brand-badge.source {
  background: #ecfdf3;
  color: #16794a;
}

.product-library-brand-badge.inferred {
  background: #fff7ed;
  color: #a44800;
}

.product-library-brand-badge.missing {
  background: #f3f4f6;
  color: #6b7280;
}

.product-library-tabs {
  margin: 12px 0;
}

.product-library-tabs button {
  border: 1px solid #d7dce5;
  background: #fff;
  color: #4b5563;
  border-radius: 8px;
  padding: 8px 12px;
  cursor: pointer;
}

.product-library-tabs button.active {
  background: #0f766e;
  color: #fff;
  border-color: #0f766e;
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.18);
}

.product-library-fields,
.product-library-extract-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.product-library-fields div,
.product-library-extract-grid section {
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfe;
}

.product-library-fields span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
}

.product-library-fields strong,
.product-library-extract-grid p {
  color: #111827;
  line-height: 1.65;
  word-break: break-word;
}

.product-library-master-table {
  min-width: 1480px;
  table-layout: fixed;
}

.product-library-master-table th,
.product-library-master-table td {
  vertical-align: top;
}

.product-library-master-table th:nth-child(8),
.product-library-master-table td:nth-child(8),
.product-library-master-table th:nth-child(12),
.product-library-master-table td:nth-child(12) {
  width: 260px;
}

.product-library-date-stack,
.product-library-link-stack {
  display: grid;
  gap: 4px;
}

.product-library-date-stack span,
.product-library-link-stack span,
.product-library-link-stack a {
  overflow-wrap: anywhere;
}

.product-library-text-blocks {
  display: grid;
  gap: 8px;
}

.product-library-text-blocks p {
  margin: 0;
}

.product-library-pdf-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.product-library-pdf-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #eef5ff;
  color: #1769ff;
  font-size: 13px;
  text-decoration: none;
}

.product-library-numbered-list {
  margin: 0;
  padding-left: 22px;
  color: #111827;
  line-height: 1.75;
}

.product-library-extract-grid .product-library-wide {
  grid-column: 1 / -1;
}

.product-library-mechanism-card {
  grid-column: 1 / -1;
}

.product-library-mechanism-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 12px;
}

.product-library-mechanism-grid > div {
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.product-library-mechanism-grid span {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.product-library-dosage-table-wrap {
  overflow-x: auto;
}

.product-library-dosage-groups {
  display: grid;
  gap: 14px;
}

.product-library-dosage-groups h5 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 14px;
}

.product-library-dosage-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.55;
}

.product-library-dosage-table th,
.product-library-dosage-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e6e9ef;
  text-align: left;
  vertical-align: top;
}

.product-library-dosage-table th {
  color: #64748b;
  font-weight: 700;
  white-space: nowrap;
}

.product-knowledge-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.product-knowledge-summary section {
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 13px;
  background: #fff;
}

.product-knowledge-summary span {
  display: block;
  margin-bottom: 6px;
  color: #64748b;
  font-size: 12px;
}

.product-knowledge-summary strong {
  color: #111827;
  line-height: 1.6;
}

.product-graph-panel {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.product-graph-center {
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 8px;
  padding: 18px;
  background: #0f766e;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.product-graph-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.product-graph-groups section {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px;
  background: #f8fafc;
}

.product-graph-groups h4 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 14px;
}

.product-graph-groups span {
  display: inline-flex;
  max-width: 100%;
  margin: 0 6px 6px 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  line-height: 1.4;
}

.product-library-extract-grid h4 {
  margin: 0 0 8px;
  font-size: 15px;
}

.product-library-pdf-text,
.product-library-report {
  word-break: break-word;
  line-height: 1.75;
  background: #f8fafc;
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 14px;
  min-height: 180px;
}

.product-library-pdf-text {
  white-space: pre-wrap;
}

.product-library-pdf-rich {
  background: #f8fafc;
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  color: #18243d;
  line-height: 1.75;
  max-height: 70vh;
  min-height: 180px;
  overflow: auto;
  padding: 14px;
}

.product-library-pdf-paragraph + .product-library-pdf-paragraph,
.product-library-pdf-paragraph + .product-library-pdf-table-wrap,
.product-library-pdf-table-wrap + .product-library-pdf-paragraph,
.product-library-pdf-table-wrap + .product-library-pdf-table-wrap {
  margin-top: 14px;
}

.product-library-pdf-paragraph p {
  margin: 0 0 10px;
  max-width: 1200px;
}

.product-library-pdf-table-wrap {
  overflow-x: auto;
}

.product-library-pdf-table {
  border-collapse: collapse;
  min-width: 680px;
  width: 100%;
  background: #fff;
  font-size: 14px;
}

.product-library-pdf-table th,
.product-library-pdf-table td {
  border: 1px solid #dbe4f0;
  padding: 8px 10px;
  text-align: right;
  white-space: nowrap;
}

.product-library-pdf-table th:first-child {
  min-width: 160px;
  text-align: left;
}

.product-library-pdf-table thead th {
  background: #eef4ff;
  color: #31517f;
  font-weight: 700;
}

.product-library-pdf-table tbody th {
  background: #fbfdff;
  color: #10284f;
}

.product-library-competitors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.product-library-competitor-panel section + section {
  margin-top: 18px;
}

.product-library-competitor-panel h4 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 15px;
}

.product-library-competitors button {
  text-align: left;
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.product-library-competitors button:hover {
  transform: translateY(-1px);
  border-color: #9cc7f5;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.product-library-competitors button.active {
  border-color: #2f80ed;
  background: #eef6ff;
  box-shadow: 0 10px 22px rgba(47, 128, 237, 0.14);
}

.product-library-competitors strong,
.product-library-competitors span,
.product-library-competitors em,
.product-library-competitors small {
  display: block;
  margin-bottom: 5px;
  font-style: normal;
}

.product-library-competitors em,
.product-library-competitors small {
  color: var(--muted);
  font-size: 12px;
}

.product-library-compare-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.product-library-compare-pair section {
  border: 1px solid #e6e9ef;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.product-library-compare-pair span,
.product-library-compare-pair strong,
.product-library-compare-pair em {
  display: block;
}

.product-library-compare-pair span {
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 6px;
}

.product-library-compare-pair strong {
  font-size: 18px;
  margin-bottom: 5px;
}

.product-library-compare-pair em {
  color: var(--muted);
  font-style: normal;
}

.table code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: #31517f;
  background: #eef4ff;
  border-radius: 6px;
  padding: 4px 6px;
}

.sponsor-returned-opinion {
  margin: 12px 0 16px;
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fff7f7;
  color: #17233f;
}

.sponsor-returned-opinion strong {
  display: block;
  margin-bottom: 8px;
  color: #b42318;
}

.sponsor-returned-opinion p {
  margin: 6px 0;
  line-height: 1.6;
}

.sponsor-returned-opinion small {
  display: block;
  margin-top: 8px;
  color: #667085;
}

.sponsor-review-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.sponsor-lock-note {
  margin: 10px 0;
  color: #667085;
  font-size: 13px;
}

.sponsor-letter-locked {
  background: #f8fafc;
  cursor: default;
}

@media (max-width: 980px) {
  .marketing-dashboard-kpis,
  .marketing-dashboard-grid,
  .marketing-dashboard-skeleton,
  .product-library-search-hero,
  .product-library-search-bar,
	  .product-library-entry-grid,
	  .product-library-layout,
	  .product-library-company-layout,
	  .product-library-company-summary,
	  .product-library-owner-company-grid,
	  .product-library-metrics,
  .product-knowledge-summary,
  .product-graph-panel,
  .product-graph-groups,
  .product-library-fields,
  .product-library-extract-grid,
  .product-library-mechanism-grid,
  .product-library-competitors,
  .product-library-compare-pair {
    grid-template-columns: 1fr;
  }

  .marketing-dashboard-head,
  .marketing-dashboard-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .marketing-dashboard-actions {
    justify-content: space-between;
  }

  .management-attention > div {
    grid-template-columns: 1fr;
  }

  .marketing-dashboard-pending-modal { padding: 10px; }
  .marketing-dashboard-pending-dialog { padding: 15px; }
  .marketing-dashboard-pending-summary { align-items: flex-start; flex-wrap: wrap; }
  .marketing-dashboard-pending-summary em { flex-basis: 100%; margin-left: 0; }
  .marketing-dashboard-pending-list article { grid-template-columns: 24px minmax(0, 1fr); }
  .marketing-dashboard-pending-list article > div { grid-column: 2; }
  .marketing-dashboard-task-banner { align-items: stretch; flex-direction: column; }
  .marketing-dashboard-task-actions { flex-direction: column; }
  .marketing-dashboard-owner-kpis,
  .marketing-dashboard-owner-body,
  .marketing-dashboard-owner-products > div { grid-template-columns: 1fr; }
  .marketing-dashboard-owner-body > section.wide { grid-column: auto; }
  .marketing-dashboard-owner-dialog { padding: 15px; }
  .marketing-dashboard-owner-filter { align-items: stretch; flex-direction: column; }
  .marketing-dashboard-enterprise-dialog { padding: 14px; }
  .marketing-dashboard-enterprise-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketing-dashboard-enterprise-search { grid-template-columns: 1fr; }

  .marketing-archive-dashboard {
    padding: 14px;
  }

  .product-library-list {
    position: static;
  }

  .product-library-hero {
    display: block;
  }

  .sponsor-review-actions,
  .sponsor-review-status-grid {
    grid-template-columns: 1fr;
  }

  .sponsor-letter-redhead {
    padding: 28px 20px 34px;
  }

  .sponsor-letter-redhead::before {
    font-size: 23px;
    letter-spacing: 2px;
  }

  .sponsor-review-page,
  .sponsor-review-document,
  .sponsor-review-submit {
    min-width: 0;
    width: 100%;
  }

  .sponsor-review-page-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .sponsor-review-page-head > div,
  .sponsor-review-page-head > .tag {
    flex: 0 1 auto;
    width: 100%;
  }

  .sponsor-review-inline-preview .sponsor-letter-redhead {
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 520px) {
  body[data-active-page="sponsorReview"] .page {
    padding-left: 8px;
    padding-right: 8px;
  }

  body[data-active-page="sponsorReview"] .page-head,
  .sponsor-review-toolbar,
  .sponsor-review-document,
  .sponsor-review-submit {
    min-width: 0;
    width: 100%;
  }

  .sponsor-review-toolbar .btn,
  .sponsor-review-submit-actions .btn {
    width: 100%;
  }

  .sponsor-review-document,
  .sponsor-review-submit {
    padding: 12px;
  }

  .sponsor-review-inline-preview .sponsor-letter-redhead {
    padding: 24px 14px 28px;
  }

  .sponsor-review-inline-preview .sponsor-letter-redhead::before {
    font-size: 18px;
    letter-spacing: 1px;
  }

  .sponsor-review-inline-preview .sponsor-letter-editor h2 {
    font-size: 21px;
  }

  .sponsor-review-inline-preview .sponsor-letter-editor h3 {
    font-size: 17px;
  }

  .sponsor-review-inline-preview .sponsor-letter-editor,
  .sponsor-review-inline-preview .sponsor-letter-editor p,
  .sponsor-review-inline-preview .sponsor-letter-table {
    font-size: 14px;
  }

  .sponsor-review-inline-preview .sponsor-letter-table {
    table-layout: fixed;
    width: 100%;
  }

  .sponsor-review-inline-preview .sponsor-letter-table th,
  .sponsor-review-inline-preview .sponsor-letter-table td {
    overflow-wrap: anywhere;
    padding: 7px 5px;
  }

  .sponsor-review-submit-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* 心血管医学知识底座 */
.cardio-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.cardio-metrics > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  padding: 18px 20px;
  border: 1px solid #dfe8e4;
  border-radius: 16px;
  background: linear-gradient(145deg, #ffffff, #f5faf8);
}

.cardio-metrics span {
  color: var(--muted, #6b7772);
  font-size: 14px;
}

.cardio-metrics strong {
  color: #17614d;
  font-size: 28px;
}

.cardio-governance-note {
  margin-bottom: 16px;
  border-left: 4px solid #2b8068;
}

.cardio-governance-note p {
  margin: 8px 0 12px;
  color: var(--muted, #6b7772);
}

.cardio-toolbar {
  gap: 16px;
  margin-bottom: 0;
}

.cardio-search {
  width: min(420px, 100%);
}

.cardio-status {
  margin: 12px 0 0;
}

.cardio-workspace {
  display: grid;
  grid-template-columns: minmax(340px, 0.9fr) minmax(420px, 1.35fr);
  gap: 16px;
  margin-top: 16px;
  align-items: start;
}

.cardio-workspace.read-only {
  grid-template-columns: 1fr;
}

.cardio-editor-card {
  position: sticky;
  top: 18px;
}

.cardio-source-fields {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #d7e1dd;
}

.cardio-record-list {
  display: grid;
  gap: 12px;
}

.cardio-record {
  padding: 16px;
  border: 1px solid #e1e8e5;
  border-radius: 14px;
  background: #fff;
}

.cardio-record h4 {
  margin: 10px 0 7px;
  font-size: 17px;
}

.cardio-record p {
  margin: 0;
  color: #56635e;
  line-height: 1.65;
}

.cardio-record-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #eef2f0;
  color: var(--muted, #6b7772);
  font-size: 13px;
}

.cardio-record-meta .btn {
  margin-left: auto;
}

.cardio-relation-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.cardio-relation-line span {
  color: #28745f;
}

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

  .cardio-workspace {
    grid-template-columns: 1fr;
  }

  .cardio-editor-card {
    position: static;
  }
}

@media (max-width: 640px) {
  .cardio-metrics {
    grid-template-columns: 1fr;
  }

  .cardio-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .cardio-search {
    width: 100%;
  }
}

/* 专家拜访部门考核驾驶舱 */
.expert-assessment-shell {
  margin: 0 0 22px;
  padding: 22px;
  border: 1px solid #dbe7ff;
  border-radius: 22px;
  background: linear-gradient(145deg, #ffffff 0%, #f7faff 58%, #f3f8ff 100%);
  box-shadow: 0 18px 48px rgba(25, 70, 150, 0.1);
}

.expert-assessment-head,
.expert-assessment-period,
.expert-assessment-quality,
.expert-assessment-section-head,
.expert-assessment-ai-head,
.expert-assessment-ai-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.expert-assessment-head h2 {
  margin: 5px 0 6px;
  color: #0b2f78;
  font-size: clamp(22px, 2vw, 30px);
}

.expert-assessment-head p,
.expert-assessment-section-head p {
  margin: 0;
  color: #647494;
}

.expert-assessment-kicker {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e9f1ff;
  color: #1764d7;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.expert-assessment-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 9px;
}

.expert-assessment-actions label {
  display: grid;
  gap: 4px;
  color: #60708f;
  font-size: 12px;
  font-weight: 700;
}

.expert-assessment-actions select {
  min-width: 86px;
  height: 38px;
  padding: 0 30px 0 11px;
  border: 1px solid #cfdbef;
  border-radius: 10px;
  background: #fff;
  color: #17366f;
}

.expert-assessment-actions label:nth-child(3) select {
  min-width: 170px;
}

.expert-assessment-asof-date {
  display: inline-flex;
  align-items: center;
  min-width: 112px;
  height: 38px;
  padding: 0 11px;
  border: 1px solid #cfdbef;
  border-radius: 10px;
  background: #eef5ff;
  color: #174d9e;
  font-size: 13px;
  font-weight: 800;
}

.expert-assessment-custom-periods {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  margin-top: 14px;
  padding: 13px 14px;
  border: 1px solid #cfdcf2;
  border-radius: 13px;
  background: #f7faff;
}

.expert-assessment-custom-periods > strong {
  align-self: center;
  color: #244a83;
  font-size: 13px;
}

.expert-assessment-custom-periods label {
  display: grid;
  gap: 4px;
  color: #6b7890;
  font-size: 11px;
  font-weight: 700;
}

.expert-assessment-custom-periods select {
  min-width: 125px;
  height: 36px;
  padding: 0 9px;
  border: 1px solid #cfdbef;
  border-radius: 9px;
  background: #fff;
  color: #183b72;
}

.expert-assessment-custom-periods > span {
  align-self: center;
  color: #8190a8;
  font-size: 11px;
}

.expert-assessment-period {
  margin-top: 18px;
  padding: 11px 14px;
  border-radius: 12px;
  background: #0d53bd;
  color: #fff;
}

.expert-assessment-period strong {
  font-size: 18px;
}

.expert-assessment-period span {
  margin-right: auto;
  color: #cfe2ff;
}

.expert-assessment-period em {
  color: #dbe9ff;
  font-size: 12px;
  font-style: normal;
}

.expert-assessment-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.expert-assessment-metric {
  min-width: 0;
  padding: 16px;
  border: 1px solid #e0e8f6;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
}

.expert-assessment-metric > span {
  display: block;
  overflow: hidden;
  color: #536482;
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.expert-assessment-metric > strong {
  display: block;
  margin: 7px 0 5px;
  color: #0c55c7;
  font-size: 28px;
  line-height: 1;
}

.expert-assessment-metric > div {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}

.expert-assessment-metric small,
.expert-assessment-metric em {
  color: #8793a9;
}

.expert-assessment-metric em {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  font-style: normal;
}

.expert-assessment-delta {
  display: inline-flex;
  font-weight: 800;
}

.expert-assessment-delta.up { color: #168650; }
.expert-assessment-delta.down { color: #d13c45; }
.expert-assessment-delta.flat { color: #7b879c; }

.expert-assessment-quality {
  flex-wrap: wrap;
  margin: 14px 0 20px;
  padding: 12px 14px;
  border: 1px solid #f1ddb3;
  border-radius: 13px;
  background: #fffaf0;
  color: #5e6d84;
  font-size: 13px;
}

.expert-assessment-quality strong { color: #865d08; }
.expert-assessment-quality b { color: #1c376d; }
.expert-assessment-quality em {
  flex: 1 1 100%;
  color: #8a6b31;
  font-size: 12px;
  font-style: normal;
}

.expert-assessment-alert {
  margin-top: 12px;
  padding: 10px 13px;
  border-radius: 10px;
  background: #fff0f1;
  color: #b4232d;
}

.expert-assessment-incomplete-note {
  margin-top: 10px;
  padding: 10px 13px;
  border: 1px solid #f0d7a5;
  border-radius: 10px;
  background: #fff8e9;
  color: #8a620f;
  font-size: 12px;
  font-weight: 700;
}

.expert-assessment-no-data-note {
  margin-top: 10px;
  padding: 10px 13px;
  border: 1px solid #cfd9e8;
  border-radius: 10px;
  background: #f5f7fa;
  color: #5f6d83;
  font-size: 12px;
  font-weight: 700;
}

.expert-assessment-no-comparison {
  color: #7d889a;
  font-size: 11px;
  font-weight: 700;
}

.expert-assessment-section-head {
  align-items: flex-end;
  margin: 2px 0 13px;
}

.expert-assessment-section-head h3 {
  margin: 0 0 4px;
  color: #143873;
}

.expert-assessment-section-head > span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2f8;
  color: #66758e;
  font-size: 12px;
  font-weight: 700;
}

.expert-assessment-department-chart {
  display: grid;
  gap: 9px;
  padding: 15px;
  border: 1px solid #e1e8f4;
  border-radius: 15px;
  background: #fff;
}

.expert-assessment-trend {
  margin: 20px 0;
}

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

.expert-assessment-trend-grid:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.expert-assessment-trend-card {
  padding: 14px;
  border: 1px solid #dce5f3;
  border-radius: 15px;
  background: #fff;
}

.expert-assessment-trend-card.incomplete {
  border-style: dashed;
  background: #fbfcfe;
}

.expert-assessment-trend-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.expert-assessment-trend-head strong {
  color: #153c7a;
  font-size: 15px;
}

.expert-assessment-trend-head span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #e9f5ef;
  color: #237c4c;
  font-size: 10px;
  font-weight: 800;
}

.expert-assessment-trend-card.incomplete .expert-assessment-trend-head span {
  background: #fff1d6;
  color: #95630a;
}

.expert-assessment-trend-volume {
  position: relative;
  display: grid;
  grid-template-columns: 26px auto;
  grid-template-rows: 1fr auto;
  column-gap: 10px;
  align-items: end;
  height: 96px;
  margin: 12px 0;
  padding: 8px 10px;
  border-radius: 11px;
  background: #f3f7fd;
}

.expert-assessment-trend-volume i {
  grid-row: 1 / 3;
  align-self: end;
  width: 22px;
  max-height: 76px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #2a7dff, #114aaf);
}

.expert-assessment-trend-volume strong {
  color: #0e4eaf;
  font-size: 24px;
}

.expert-assessment-trend-volume span {
  color: #7b899f;
  font-size: 11px;
}

.expert-assessment-trend-card dl {
  display: grid;
  gap: 7px;
  margin: 0;
}

.expert-assessment-trend-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-top: 7px;
  border-top: 1px solid #edf1f6;
}

.expert-assessment-trend-card dt {
  color: #6d7b91;
  font-size: 11px;
}

.expert-assessment-trend-card dd {
  margin: 0;
  color: #173d7b;
  font-size: 12px;
  font-weight: 800;
}

.expert-assessment-dept-row {
  display: grid;
  grid-template-columns: minmax(130px, 210px) minmax(160px, 1fr) 78px;
  align-items: center;
  gap: 12px;
  min-height: 31px;
}

.expert-assessment-dept-row > strong {
  overflow: hidden;
  color: #253b62;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.expert-assessment-dept-row > span {
  color: #71809a;
  font-size: 12px;
  text-align: right;
}

.expert-assessment-dept-row > span b { color: #0b55c5; font-size: 14px; }

.expert-assessment-dept-bars {
  position: relative;
  display: grid;
  gap: 3px;
}

.expert-assessment-dept-bars i {
  display: block;
  min-width: 2px;
  height: 7px;
  border-radius: 999px;
}

.expert-assessment-dept-bars .prior { background: #b9d1f6; }
.expert-assessment-dept-bars .current { background: linear-gradient(90deg, #1769ff, #0d4bad); }

.expert-assessment-table-wrap {
  overflow-x: auto;
  margin-top: 13px;
  border: 1px solid #e1e8f4;
  border-radius: 15px;
  background: #fff;
}

.expert-assessment-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  font-size: 12px;
}

.expert-assessment-table th,
.expert-assessment-table td {
  padding: 11px 10px;
  border-bottom: 1px solid #edf1f7;
  text-align: right;
  white-space: nowrap;
}

.expert-assessment-table thead th {
  background: #f4f7fc;
  color: #536584;
  font-weight: 800;
}

.expert-assessment-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  max-width: 210px;
  background: #fff;
  color: #233b65;
  text-align: left;
}

.expert-assessment-table thead th:first-child { background: #f4f7fc; }
.expert-assessment-table tbody tr:hover { background: #f8fbff; }

.expert-assessment-missing-cell {
  min-width: 190px;
  white-space: normal !important;
}

.expert-assessment-missing-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.expert-assessment-missing-list span {
  display: inline-flex;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff1e9;
  color: #a44d19;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.expert-assessment-missing-list b {
  color: #c73d20;
}

.expert-assessment-no-missing {
  color: #258056;
  font-size: 11px;
  font-weight: 800;
}

.expert-assessment-mix-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-top: 16px;
}

.expert-assessment-mix-card {
  padding: 16px;
  border: 1px solid #e1e8f4;
  border-radius: 15px;
  background: #fff;
}

.expert-assessment-mix-card h4 {
  margin: 0 0 13px;
  color: #173d7b;
}

.expert-assessment-bars { display: grid; gap: 10px; }
.expert-assessment-bar-row {
  display: grid;
  grid-template-columns: minmax(110px, 180px) 1fr 48px;
  align-items: center;
  gap: 10px;
}

.expert-assessment-bar-row > span {
  overflow: hidden;
  color: #53617a;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.expert-assessment-bar-row > div {
  height: 9px;
  border-radius: 999px;
  background: #edf2fa;
}

.expert-assessment-bar-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1769ff, #2ab7ca);
}

.expert-assessment-bar-row strong {
  color: #174da5;
  font-size: 12px;
  text-align: right;
}

.expert-assessment-ai {
  margin-top: 16px;
  padding: 17px;
  border: 1px solid #d7cffe;
  border-radius: 16px;
  background: linear-gradient(135deg, #f9f7ff, #f3f7ff);
}

.expert-assessment-ai-empty > div,
.expert-assessment-ai-head > div {
  display: grid;
  gap: 4px;
}

.expert-assessment-ai-empty strong,
.expert-assessment-ai-head strong { color: #5030a4; }
.expert-assessment-ai-empty span,
.expert-assessment-ai-head span { color: #716c86; font-size: 12px; }
.expert-assessment-ai-summary { margin: 13px 0; color: #3d4760; line-height: 1.65; }
.expert-assessment-ai-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.expert-assessment-ai-list { padding: 13px; border-radius: 12px; background: #fff; }
.expert-assessment-ai-list.good { border-top: 3px solid #27a865; }
.expert-assessment-ai-list.risk { border-top: 3px solid #ef8d38; }
.expert-assessment-ai-list.action { border-top: 3px solid #316fe7; }
.expert-assessment-ai-list.business { border-top: 3px solid #7c4dff; margin-top: 11px; background: #fbfaff; }
.expert-assessment-business { margin-top: 11px; padding: 15px; border-top: 3px solid #7c4dff; border-radius: 12px; background: #fbfaff; }
.expert-assessment-business > strong { color: #3c2b78; font-size: 16px; }
.expert-assessment-business > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.expert-assessment-business article { padding: 14px; border: 1px solid #e4defd; border-radius: 12px; background: #fff; }
.expert-assessment-business h4 { margin: 0 0 10px; color: #39256f; font-size: 14px; line-height: 1.45; }
.expert-assessment-business p { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 9px; margin: 7px 0 0; color: #53617a; font-size: 12px; line-height: 1.65; }
.expert-assessment-business p b { color: #7654c7; font-weight: 600; }
.expert-assessment-delay-cell { white-space: nowrap; }
.expert-assessment-delay-cell small { display: block; margin-top: 3px; color: #8b94a8; font-size: 10px; font-weight: 400; }
.expert-assessment-ai-list ul { margin: 8px 0 0; padding-left: 18px; color: #53617a; font-size: 12px; line-height: 1.55; }
.expert-assessment-focus-note { margin: 15px 0; padding: 14px; border-radius: 12px; background: #eef5ff; color: #49607f; }
.expert-assessment-foot { margin-top: 14px; color: #8490a5; font-size: 11px; text-align: right; }
.expert-assessment-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 160px; color: #49658f; }
.expert-assessment-loading span { width: 24px; height: 24px; border: 3px solid #d9e5f8; border-top-color: #1769ff; border-radius: 50%; animation: expertAssessmentSpin .8s linear infinite; }
@keyframes expertAssessmentSpin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .expert-assessment-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expert-assessment-head { align-items: flex-start; flex-direction: column; }
  .expert-assessment-actions { justify-content: flex-start; }
  .expert-assessment-trend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .expert-assessment-shell { padding: 15px; border-radius: 16px; }
  .expert-assessment-actions { width: 100%; }
  .expert-assessment-actions label { flex: 1; }
  .expert-assessment-actions select { width: 100%; min-width: 0 !important; }
  .expert-assessment-metrics,
  .expert-assessment-mix-grid,
  .expert-assessment-ai-grid,
  .expert-assessment-trend-grid { grid-template-columns: 1fr; }
  .expert-assessment-business > div { grid-template-columns: 1fr; }
  .expert-assessment-period { align-items: flex-start; flex-direction: column; gap: 4px; }
  .expert-assessment-period span { margin-right: 0; }
  .expert-assessment-dept-row { grid-template-columns: 110px minmax(100px, 1fr) 68px; gap: 8px; }
  .expert-assessment-ai-empty,
  .expert-assessment-ai-head { align-items: flex-start; flex-direction: column; }
}
.customer-manager-roster-admin {
  margin: 14px 0;
  border: 1px solid #dbe7ff;
  border-radius: 16px;
  background: #f8fbff;
  overflow: hidden;
}

.customer-manager-roster-admin > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.customer-manager-roster-admin > summary::-webkit-details-marker { display: none; }
.customer-manager-roster-admin > summary div { display: grid; gap: 4px; }
.customer-manager-roster-admin > summary strong { color: #17325c; font-size: 16px; }
.customer-manager-roster-admin > summary span,
.customer-manager-roster-admin > summary em { color: #6b7d99; font-style: normal; font-size: 13px; }
.customer-manager-roster-admin[open] > summary { border-bottom: 1px solid #dbe7ff; }
.customer-manager-roster-admin > .muted { margin: 10px 18px; }

.customer-manager-roster-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 18px 6px;
}

.customer-manager-roster-metrics div {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid #dbe7ff;
  border-radius: 12px;
  background: #fff;
}

.customer-manager-roster-metrics span { color: #6b7d99; font-size: 12px; }
.customer-manager-roster-metrics strong { color: #155bd7; font-size: 22px; }
.customer-manager-roster-admin .opportunity-table-shell { margin: 12px 18px 18px; max-height: 520px; }
.customer-manager-roster-company { margin: 18px 0; }
.customer-manager-source-name { display: block; margin-top: 5px; color: #7a879c; }
.product-library-pending-owner { display: grid; gap: 2px; justify-items: start; white-space: nowrap; }
.product-library-pending-owner small { font-size: 11px; color: #8c6514; }

.product-library-owner-maintenance-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
}

.product-library-owner-maintenance-toolbar label,
.product-library-owner-maintenance-toolbar span { color: #64748b; font-size: 13px; }
.product-library-owner-maintenance-table td { vertical-align: top; }
.product-library-owner-maintenance-table td:nth-child(2) { min-width: 260px; }
.product-library-owner-maintenance-table td:nth-child(2) small { display: block; margin-top: 5px; color: #7a879c; }
.product-library-owner-maintenance-table td:nth-child(4) { min-width: 320px; }
.product-library-owner-maintenance-table .product-library-owner-picker { min-width: 300px; }
.product-library-owner-maintenance-table .member-combobox { z-index: 15; }

@media (max-width: 900px) {
  .product-library-owner-maintenance-toolbar { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .customer-manager-roster-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-manager-roster-admin > summary { align-items: flex-start; flex-direction: column; }
}

.expert-invitation-record-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.expert-invitation-record-list article {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(150px, .8fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #dce7f5;
  border-radius: 12px;
  background: #fff;
}

.expert-invitation-record-list article > div:not(.actions) { display: grid; gap: 5px; }
.expert-invitation-record-list small { color: #7a879c; font-size: 12px; }
.expert-invitation-record-list .actions { justify-content: flex-end; margin: 0; }
.expert-invitation-audit { grid-column: 1 / -1; border-top: 1px dashed #dce7f5; padding-top: 10px; }
.expert-invitation-audit summary { color: #1769ff; cursor: pointer; font-size: 13px; font-weight: 700; }
.expert-invitation-audit-list { display: grid; gap: 7px; margin-top: 10px; }
.expert-invitation-audit-list > div { display: grid; grid-template-columns: 165px minmax(160px, 1fr) minmax(100px, .6fr); gap: 10px; color: #53617a; font-size: 12px; }
.expert-invitation-audit-list time { color: #8490a5; }

@media (max-width: 760px) {
  .expert-invitation-record-list article { grid-template-columns: 1fr; align-items: start; }
  .expert-invitation-record-list .actions { justify-content: flex-start; }
  .expert-invitation-audit-list > div { grid-template-columns: 1fr; gap: 2px; }
}
.marketing-requirement-actions {
  margin-top: 12px;
}
/* 商业 / 学术双项目体系 */
.academic-project-create .project-create-nav {
  background: linear-gradient(180deg, #f4f1ff 0%, #f8fbff 52%, #eef7ff 100%);
}

.academic-project-create .project-name-first {
  border-top: 4px solid #7357d9;
}

.academic-direct-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #ded8f7;
  border-radius: 16px;
  background: linear-gradient(135deg, #faf8ff, #f2f8ff);
}

.academic-direct-flow div {
  display: grid;
  gap: 5px;
}

.academic-direct-flow strong {
  color: #35246f;
  font-size: 15px;
}

.academic-direct-flow span {
  color: #6f7890;
  font-size: 12px;
}

.academic-direct-flow i {
  color: #7357d9;
  font-style: normal;
  font-weight: 900;
}

.project-resource-loop {
  margin: 18px 0;
  padding: 20px;
  border: 1px solid #cfe6dc;
  border-radius: 18px;
  background: linear-gradient(135deg, #f6fffb, #f8fbff);
}

.project-resource-loop-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.project-resource-loop-head h3 {
  margin: 5px 0 0;
}

.project-resource-loop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}

.project-resource-loop-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 15px;
  border: 1px solid #dce9e4;
  border-radius: 13px;
  background: rgba(255, 255, 255, .9);
}

.project-resource-loop-grid article b {
  color: #6e7b8f;
  font-size: 12px;
}

.project-resource-loop-grid article strong {
  color: #103d35;
}

.project-resource-loop-grid article p {
  margin: 0;
  color: #68758a;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.project-resource-loop-grid > i {
  align-self: center;
  color: #1e9b72;
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 760px) {
  .academic-direct-flow,
  .project-resource-loop-grid {
    grid-template-columns: 1fr;
  }

  .academic-direct-flow i,
  .project-resource-loop-grid > i {
    transform: rotate(90deg);
    justify-self: center;
  }
}
.marketing-dashboard-all-enterprise-matrix > [hidden] {
  display: none !important;
}

.admin-execution-writer-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: min(780px, calc(100vh - 40px));
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: #fff;
  color: #14213a;
  box-shadow: 0 28px 90px rgba(17, 36, 70, .28);
}

.admin-execution-writer-dialog::backdrop {
  background: rgba(10, 24, 48, .5);
  backdrop-filter: blur(3px);
}

.admin-execution-writer-picker {
  display: grid;
  gap: 15px;
  padding: 24px;
}

.admin-writer-head,
.admin-writer-toolbar,
.admin-writer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-writer-head h3 {
  margin: 4px 0;
  font-size: 24px;
}

.admin-writer-head p {
  margin: 0;
  color: #74829a;
}

.admin-writer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-height: 360px;
  overflow: auto;
  padding: 4px;
}

.admin-writer-list > label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce6f4;
  border-radius: 12px;
  background: #f9fbff;
  cursor: pointer;
}

.admin-writer-list > label:has(input:checked) {
  border-color: #2b70ed;
  background: #edf4ff;
}

.admin-writer-list > label[hidden] {
  display: none;
}

.admin-writer-list input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.admin-writer-list span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-writer-list strong,
.admin-writer-list small {
  overflow-wrap: anywhere;
}

.admin-writer-list small {
  color: #77869d;
}

.admin-writer-actions {
  justify-content: flex-end;
  padding-top: 4px;
}

.bpm-file-preview {
  overflow: hidden;
  margin: 12px 0 16px;
  border: 1px solid #d8e4f2;
  border-radius: 14px;
  background: #f8fbff;
}

.bpm-file-preview > .empty-state {
  margin: 0;
  border: 0;
  border-radius: 0;
}

.bpm-file-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #d8e4f2;
  background: #fff;
}

.bpm-file-preview-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.bpm-file-preview-head strong,
.bpm-file-preview-head small {
  overflow-wrap: anywhere;
}

.bpm-file-preview-head small {
  color: #77869d;
}

.marketing-requirement-compact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px;
  border: 1px solid #d7e3f2;
  border-radius: 14px;
  background: #f8fbff;
}

.marketing-requirement-compact-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.marketing-requirement-compact-main > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.marketing-requirement-compact-main small {
  color: #74829a;
  overflow-wrap: anywhere;
}

.marketing-requirement-preview-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: #fff;
  color: #14213a;
  box-shadow: 0 28px 90px rgba(17, 36, 70, .3);
}

.marketing-requirement-preview-dialog::backdrop {
  background: rgba(10, 24, 48, .52);
  backdrop-filter: blur(3px);
}

.marketing-requirement-preview-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid #dfe7f2;
  background: rgba(255, 255, 255, .96);
}

.marketing-requirement-preview-head h3 {
  margin: 4px 0 0;
}

.marketing-requirement-preview-body {
  padding: 22px;
}

@media (max-width: 640px) {
  .admin-execution-writer-picker {
    padding: 18px;
  }

  .admin-writer-list {
    grid-template-columns: 1fr;
  }

  .bpm-file-preview-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .marketing-requirement-compact-card,
  .marketing-requirement-compact-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .marketing-requirement-preview-body {
    padding: 14px;
  }
}
/* 专家 360° 档案查询 */
.expert-directory-page {
  --expert-ink: #173d36;
  --expert-green: #19896f;
  --expert-soft: #edf8f4;
  --expert-line: #dfece7;
  padding-bottom: 48px;
}

.expert-search-shell {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(420px, 1.22fr);
  gap: 40px;
  align-items: center;
  min-height: 210px;
  margin-bottom: 24px;
  padding: 38px 44px;
  overflow: visible;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 86% 12%, rgba(234,196,105,.32), transparent 24%),
    linear-gradient(125deg, #123f39 0%, #176858 58%, #2b9076 100%);
  box-shadow: 0 22px 55px rgba(19, 76, 66, .18);
}

.expert-search-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  opacity: .42;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

.expert-search-copy > span,
.expert-profile-kicker,
.expert-section-head > div > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.expert-search-copy > span { color: #9ee0cf; }
.expert-search-copy h2 { margin: 10px 0 8px; color: #fff; font-size: clamp(24px, 2.2vw, 34px); letter-spacing: -.03em; }
.expert-search-copy p { margin: 0; color: rgba(255,255,255,.72); }

.expert-search-box { position: relative; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; min-height: 68px; padding: 0 20px; border: 1px solid rgba(255,255,255,.55); border-radius: 18px; background: rgba(255,255,255,.97); box-shadow: 0 15px 38px rgba(8, 45, 38, .2); }
.expert-search-box > span { color: var(--expert-green); font-size: 25px; }
.expert-search-box input { width: 100%; height: 66px; border: 0; outline: 0; color: #173d36; background: transparent; font: inherit; font-size: 17px; font-weight: 650; }
.expert-search-box input::placeholder { color: #91a7a1; font-weight: 500; }
.expert-search-box > small { color: #75928a; white-space: nowrap; }
[data-expert-search-results-host] { position: absolute; top: calc(100% + 10px); right: 0; left: 0; z-index: 30; }
.expert-search-results { max-height: 390px; overflow: auto; padding: 8px; border: 1px solid var(--expert-line); border-radius: 18px; background: #fff; box-shadow: 0 24px 55px rgba(15, 55, 47, .2); }
.expert-search-results button { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 11px 12px; border: 0; border-radius: 12px; color: #274942; text-align: left; background: transparent; cursor: pointer; }
.expert-search-results button:hover { background: var(--expert-soft); }
.expert-search-results button > span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.expert-search-results button strong { font-size: 15px; }
.expert-search-results button small { overflow: hidden; color: #789089; text-overflow: ellipsis; white-space: nowrap; }
.expert-search-results button em { padding: 4px 8px; border-radius: 999px; color: #19725f; font-size: 11px; font-style: normal; background: #e4f6f0; }
.expert-result-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #fff; font-weight: 800; background: linear-gradient(145deg, #2da88b, #176c5b); }
.expert-search-message { padding: 22px; color: #789089; text-align: center; }
.expert-directory-alert { display: flex; gap: 14px; align-items: center; margin: 0 0 22px; padding: 16px 18px; border: 1px solid #f1d8bd; border-radius: 15px; color: #7c4f20; background: #fff9ef; }
.expert-directory-alert span { flex: 1; }

.expert-profile-shell { display: grid; gap: 22px; }
.expert-profile-empty { display: grid; min-height: 330px; place-items: center; align-content: center; padding: 48px; border: 1px dashed #c9ddd6; border-radius: 24px; color: #708b83; text-align: center; background: linear-gradient(180deg,#fff,#f7fbf9); }
.expert-profile-empty > span { display: grid; width: 68px; height: 68px; margin-bottom: 16px; place-items: center; border-radius: 22px; color: var(--expert-green); font-size: 32px; background: #e9f7f2; }
.expert-profile-empty h2 { margin: 0 0 8px; color: var(--expert-ink); }
.expert-profile-empty p { max-width: 560px; margin: 0; }

.expert-profile-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 24px; align-items: center; padding: 30px 34px; border: 1px solid var(--expert-line); border-radius: 24px; background: linear-gradient(115deg,#fff 0%,#f5fbf8 68%,#eef8f4 100%); box-shadow: 0 13px 34px rgba(32,74,64,.08); }
.expert-profile-avatar { display: grid; width: 92px; height: 92px; place-items: center; border: 6px solid #fff; border-radius: 30px; color: #fff; font-size: 40px; font-weight: 800; background: linear-gradient(145deg,#2fb18f,#155f51); box-shadow: 0 12px 25px rgba(24,120,99,.25); }
.expert-profile-avatar img { width: 100%; height: 100%; border-radius: 24px; object-fit: cover; }
.expert-profile-identity > div:first-child { display: flex; gap: 10px; align-items: center; }
.expert-profile-kicker { color: var(--expert-green); }
.expert-profile-identity em { padding: 4px 9px; border-radius: 999px; color: #9a691b; font-size: 11px; font-style: normal; font-weight: 800; background: #fff0ca; }
.expert-profile-identity h1 { margin: 7px 0 3px; color: var(--expert-ink); font-size: 34px; letter-spacing: -.04em; }
.expert-profile-identity p { margin: 0 0 12px; color: #5c7770; }
.expert-profile-identity > div:last-child { display: flex; flex-wrap: wrap; gap: 7px; }
.expert-profile-identity > div:last-child b { padding: 5px 10px; border: 1px solid #d8ebe4; border-radius: 8px; color: #35685c; font-size: 12px; background: #fff; }
.expert-profile-contact { display: grid; min-width: 180px; gap: 4px; padding-left: 24px; border-left: 1px solid #d7e8e2; }
.expert-profile-contact span,.expert-profile-contact small { color: #7a918b; font-size: 12px; }
.expert-profile-contact strong { color: var(--expert-ink); font-size: 16px; }

.expert-profile-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.expert-profile-metrics > div { display: grid; gap: 5px; min-height: 126px; padding: 20px 22px; border: 1px solid var(--expert-line); border-radius: 18px; background: #fff; }
.expert-profile-metrics span { color: #6f8982; font-size: 12px; font-weight: 700; }
.expert-profile-metrics strong { color: var(--expert-ink); font-size: 28px; line-height: 1.1; }
.expert-profile-metrics em { color: #8ca09b; font-size: 12px; font-style: normal; }
.expert-content-summary { display: block; width: fit-content; margin: 10px 0; padding: 9px 13px; border-radius: 12px; color: #0d6b57; background: #e8f7f2; font-size: 14px; }
.expert-content-counts { display: grid; justify-items: end; gap: 4px; }
.expert-content-counts b { color: var(--expert-ink); font-size: 18px; }
.expert-content-counts em { color: #6f8982; font-size: 12px; font-style: normal; }
.expert-content-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.expert-content-grid .expert-content-card { display: grid; gap: 10px; padding: 16px; border: 1px solid #dce9e5; border-left: 4px solid #2a9d7f; border-radius: 14px; background: #fbfefd; color: inherit; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.expert-content-grid a.expert-content-card:hover { transform: translateY(-2px); border-color: #9dcfc2; box-shadow: 0 10px 24px rgba(25,91,75,.11); }
.expert-content-grid .expert-content-card.on-demand { border-left-color: #3275d1; }
.expert-content-grid .expert-content-card.series { border-left-color: #8a5ad7; }
.expert-content-grid .expert-content-card header,.expert-content-grid .expert-content-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.expert-content-grid .expert-content-card header span { color: #0d6b57; font-size: 12px; font-weight: 800; }
.expert-content-grid .expert-content-card header em,.expert-content-grid .expert-content-card footer { color: #7b918b; font-size: 11px; font-style: normal; }
.expert-content-grid .expert-content-card h3 { margin: 0; color: var(--expert-ink); font-size: 15px; line-height: 1.55; }
.expert-content-grid .expert-content-card p { margin: 0; color: #6f817d; font-size: 12px; }
.expert-content-grid .expert-content-card dl { display: grid; gap: 7px; margin: 0; padding: 10px 0; border-top: 1px solid #e6efec; border-bottom: 1px solid #e6efec; }
.expert-content-grid .expert-content-card dl div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
.expert-content-grid .expert-content-card dt { color: #83938f; font-size: 11px; }
.expert-content-grid .expert-content-card dd { margin: 0; color: #3c534e; font-size: 12px; line-height: 1.45; }
.expert-content-grid .expert-content-card footer b { color: #2a806b; }
.expert-content-source { margin-top: 12px; color: #81958f; font-size: 11px; }

.expert-profile-section { padding: 26px 28px; border: 1px solid var(--expert-line); border-radius: 22px; background: #fff; box-shadow: 0 9px 26px rgba(34,76,66,.055); }
.expert-section-head { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 20px; }
.expert-section-head > div > span { color: #3a957f; }
.expert-section-head h2 { margin: 4px 0 0; color: var(--expert-ink); font-size: 21px; }
.expert-section-head > b,.expert-section-head > small { color: #799089; font-size: 12px; }
.expert-relationship-map { background: linear-gradient(140deg,#f8fcfa,#fff); }
.expert-relationship-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.expert-relationship-group { padding: 18px; border: 1px solid #dcece6; border-radius: 16px; background: rgba(255,255,255,.82); }
.expert-relationship-group > span { display: block; margin-bottom: 12px; color: #648078; font-size: 12px; font-weight: 800; }
.expert-relationship-group > div { display: flex; flex-wrap: wrap; gap: 7px; }
.expert-relationship-group b { padding: 6px 9px; border-radius: 8px; color: #205f52; font-size: 12px; background: #e8f6f1; }
.expert-relationship-group em { color: #98aaa5; font-size: 12px; font-style: normal; }

.expert-project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.expert-project-card { display: flex; flex-direction: column; min-height: 280px; padding: 20px; border: 1px solid #dfebe7; border-radius: 17px; background: #fbfdfc; }
.expert-project-card header { display: flex; justify-content: space-between; align-items: center; }
.expert-project-card header em { color: #758d86; font-size: 12px; font-style: normal; }
.expert-project-card h3 { margin: 15px 0 6px; color: #234d44; font-size: 17px; }
.expert-project-card > p { min-height: 40px; margin: 0 0 15px; color: #718780; font-size: 13px; line-height: 1.55; }
.expert-project-card dl { display: grid; gap: 8px; margin: 0 0 17px; }
.expert-project-card dl > div { display: grid; grid-template-columns: 76px 1fr; gap: 9px; font-size: 12px; }
.expert-project-card dt { color: #91a39e; }
.expert-project-card dd { margin: 0; color: #425f58; }
.expert-project-card .btn { align-self: flex-start; margin-top: auto; }

.expert-visit-timeline { display: grid; }
.expert-visit-item { display: grid; grid-template-columns: 28px 1fr; gap: 10px; }
.expert-visit-dot { position: relative; display: flex; justify-content: center; }
.expert-visit-dot::after { content: ""; position: absolute; top: 16px; bottom: -8px; width: 1px; background: #d9e9e3; }
.expert-visit-item:last-child .expert-visit-dot::after { display: none; }
.expert-visit-dot span { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 8px; border: 3px solid #d7f1e9; border-radius: 50%; background: #2b9b80; box-sizing: content-box; }
.expert-visit-card { margin-bottom: 16px; padding: 17px 19px; border: 1px solid #e0ebe7; border-radius: 16px; background: #fcfefd; }
.expert-visit-card header { display: flex; justify-content: space-between; gap: 14px; }
.expert-visit-card header > div { display: flex; gap: 10px; align-items: baseline; }
.expert-visit-card header strong { color: #244e45; }
.expert-visit-card header span,.expert-visit-card header em { color: #789189; font-size: 12px; font-style: normal; }
.expert-visit-card header em { padding: 4px 8px; border-radius: 999px; background: #eaf6f2; }
.expert-visit-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 11px 0; color: #7d928c; font-size: 12px; }
.expert-visit-card > p { margin: 12px 0; padding: 13px 15px; border-left: 3px solid #44a98f; border-radius: 0 10px 10px 0; color: #3d5b54; line-height: 1.65; background: #f1f8f5; }
.expert-visit-followup { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.expert-visit-followup > div { display: grid; gap: 4px; padding: 11px; border-radius: 10px; background: #f7faf9; }
.expert-visit-followup span { color: #8ba09a; font-size: 11px; }
.expert-visit-followup strong { color: #3e5e56; font-size: 12px; font-weight: 650; line-height: 1.5; }
.expert-visit-card details { margin-top: 12px; color: #668179; font-size: 12px; }
.expert-visit-card summary { cursor: pointer; }

.expert-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid #e1ece8; border-radius: 14px; background: #e1ece8; }
.expert-detail-grid > div { display: grid; align-content: start; gap: 6px; min-height: 80px; padding: 14px 16px; background: #fff; }
.expert-detail-grid span { color: #8ca09a; font-size: 11px; font-weight: 700; }
.expert-detail-grid strong { overflow-wrap: anywhere; color: #385b53; font-size: 13px; line-height: 1.55; white-space: pre-line; }
.expert-section-empty { padding: 34px; border: 1px dashed #cfdfda; border-radius: 14px; color: #8b9f99; text-align: center; background: #fafcfb; }
.expert-invitation-list { display: grid; gap: 8px; }
.expert-invitation-list > div { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 12px 14px; border-radius: 11px; background: #f7faf9; }
.expert-invitation-list span,.expert-invitation-list em { color: #829891; font-size: 12px; font-style: normal; }
.expert-invitation-list strong { color: #365a52; }
.expert-profile-source { padding: 4px 8px; color: #8ca09a; font-size: 11px; text-align: right; }
.expert-source-overview { position: relative; overflow: hidden; border-color: #cae1d9; background: linear-gradient(145deg,#fff 0%,#f4faf7 100%); }
.expert-source-overview::after { content: "SOURCE"; position: absolute; top: 18px; right: 28px; color: rgba(26,112,91,.045); font-size: 54px; font-weight: 900; letter-spacing: .06em; pointer-events: none; }
.expert-source-overview > * { position: relative; z-index: 1; }
.expert-source-facts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-bottom: 16px; border: 1px solid #dce9e4; border-radius: 14px; background: #dce9e4; }
.expert-source-facts > div { display: grid; align-content: start; gap: 5px; min-height: 70px; padding: 13px 14px; background: rgba(255,255,255,.94); }
.expert-source-facts span { color: #8ba09a; font-size: 10px; font-weight: 750; }
.expert-source-facts strong { overflow-wrap: anywhere; color: #355c53; font-size: 13px; line-height: 1.45; }
.expert-source-entry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.expert-source-entry { display: grid; min-height: 152px; align-content: start; padding: 17px; border: 1px solid #d7e8e1; border-radius: 15px; color: inherit; text-align: left; background: #fff; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.expert-source-entry:hover { transform: translateY(-2px); border-color: #8fc9b8; box-shadow: 0 10px 24px rgba(30,92,77,.1); }
.expert-source-entry > span { color: #51a28e; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.expert-source-entry > strong { margin-top: 6px; color: #234d44; font-size: 16px; }
.expert-source-entry > p { display: -webkit-box; min-height: 38px; margin: 9px 0 13px; overflow: hidden; color: #718981; font-size: 12px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.expert-source-entry > em { display: flex; justify-content: space-between; align-items: center; margin-top: auto; color: #287d69; font-size: 11px; font-style: normal; font-weight: 700; }
.expert-source-entry > em b { font-size: 18px; font-weight: 500; }
.expert-source-entry.is-empty { background: rgba(255,255,255,.6); }
.expert-source-entry.is-empty > p { color: #a0b0ac; }
.expert-section-head-actions { display: flex; gap: 12px; align-items: center; }
.expert-section-head-actions > b { color: #799089; font-size: 12px; }
.expert-section-head-actions .btn { min-height: 34px; padding: 6px 12px; font-size: 12px; }

.expert-modal-backdrop { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 28px; background: rgba(7,30,26,.56); backdrop-filter: blur(7px); }
.expert-modal-panel { display: grid; grid-template-rows: auto minmax(0,1fr); width: min(920px,calc(100vw - 40px)); max-height: min(82vh,820px); overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 24px; background: #f8fbfa; box-shadow: 0 32px 90px rgba(7,30,26,.32); animation: expertModalIn .18s ease-out; }
.expert-modal-panel > header { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 23px 26px; border-bottom: 1px solid #dce9e4; background: #fff; }
.expert-modal-panel > header span { color: #31917a; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.expert-modal-panel > header h2 { margin: 5px 0 0; color: #183f37; font-size: 22px; }
.expert-modal-panel > header button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #d9e6e2; border-radius: 12px; color: #55766d; font-size: 24px; line-height: 1; background: #f7faf9; cursor: pointer; }
.expert-modal-panel > header button:hover { color: #174c40; background: #edf6f2; }
.expert-modal-body { min-height: 0; overflow: auto; padding: 24px 26px 30px; }
.expert-modal-article { display: grid; gap: 14px; }
.expert-modal-article section { padding: 20px 22px; border: 1px solid #dce9e4; border-radius: 15px; background: #fff; }
.expert-modal-article section > span { color: #4a927f; font-size: 11px; font-weight: 800; }
.expert-modal-article section > p { margin: 10px 0 0; color: #355950; font-size: 14px; line-height: 1.85; white-space: pre-line; }
.expert-modal-empty { display: grid; min-height: 260px; place-items: center; align-content: center; gap: 8px; border: 1px dashed #c9dcd5; border-radius: 18px; color: #8a9e98; text-align: center; background: #fff; }
.expert-modal-empty strong { color: #47665e; }
@keyframes expertModalIn { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 980px) {
  .expert-search-shell { grid-template-columns: 1fr; gap: 22px; padding: 30px; }
  .expert-profile-hero { grid-template-columns: auto 1fr; }
  .expert-profile-contact { grid-column: 1 / -1; padding: 16px 0 0; border-top: 1px solid #d7e8e2; border-left: 0; }
  .expert-profile-metrics,.expert-relationship-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expert-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expert-source-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .expert-source-entry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expert-content-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .expert-search-shell { padding: 24px 20px; border-radius: 20px; }
  .expert-search-box { grid-template-columns: 26px 1fr; }
  .expert-search-box > small { display: none; }
  .expert-profile-hero { grid-template-columns: 1fr; padding: 24px; }
  .expert-profile-avatar { width: 76px; height: 76px; border-radius: 24px; }
  .expert-profile-metrics,.expert-relationship-grid,.expert-project-grid,.expert-visit-followup,.expert-detail-grid { grid-template-columns: 1fr; }
  .expert-profile-section { padding: 21px 18px; }
  .expert-invitation-list > div { grid-template-columns: 1fr; gap: 4px; }
  .expert-source-facts,.expert-source-entry-grid { grid-template-columns: 1fr; }
  .expert-section-head { align-items: flex-start; }
  .expert-content-counts { justify-items: start; }
  .expert-source-entry { min-height: 132px; }
  .expert-modal-backdrop { padding: 12px; }
  .expert-modal-panel { width: 100%; max-height: 90vh; border-radius: 19px; }
  .expert-modal-panel > header,.expert-modal-body { padding: 18px; }
}
/* 统一项目档案：打通商业、学术、营销、产品和专家资源 */
.unified-project-archive { margin: 18px 0; }
.unified-project-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.unified-project-archive-grid>div { min-height:112px; padding:16px; border:1px solid #dbe7f6; border-radius:14px; background:linear-gradient(145deg,#fff,#f6f9fe); display:flex; flex-direction:column; gap:8px; }
.unified-project-archive-grid b { color:#7185a4; font-size:12px; letter-spacing:.04em; }
.unified-project-archive-grid p { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.unified-project-archive-grid p span { padding:5px 9px; border-radius:999px; color:#1c62cf; background:#eaf2ff; font-size:12px; }
.unified-project-archive-grid p em { color:#93a2b8; font-style:normal; }
.unified-project-archive-grid small { color:#718096; }
.unified-archive-flow { margin-top:14px; padding:12px 16px; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:12px; color:#315a92; background:#eef5ff; font-size:13px; font-weight:700; }
.unified-archive-flow i { color:#7aa5df; font-style:normal; }
.unified-archive-evidence { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.unified-archive-evidence>div { padding:14px 16px; border:1px solid #e1e8f3; border-radius:12px; background:#fff; }
.unified-archive-evidence b { display:block; margin-bottom:8px; color:#49627f; font-size:13px; }
.unified-archive-evidence p { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.unified-archive-evidence p span { padding:5px 9px; border-radius:999px; color:#315a92; background:#eef5ff; font-size:12px; }
.unified-archive-evidence p em { color:#93a2b8; font-style:normal; }
@media(max-width:900px){.unified-project-archive-grid{grid-template-columns:1fr 1fr}.unified-archive-flow{justify-content:flex-start;overflow:auto;white-space:nowrap}}
@media(max-width:560px){.unified-project-archive-grid{grid-template-columns:1fr}.unified-archive-flow{font-size:12px}.unified-archive-evidence{grid-template-columns:1fr}}

/* Marketing knowledge graph workspace — aligned with the approved 16:9 deck */
.knowledge-page{--kg-navy:#102a43;--kg-blue:#2f6fed;--kg-teal:#0f9f91;--kg-violet:#7857d8;--kg-orange:#e68a2e;display:flex;flex-direction:column;gap:16px;min-width:0;color:#172b4d}
.knowledge-home-page{gap:22px}.knowledge-home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 30px;border-radius:18px;background:linear-gradient(120deg,#102a43 0%,#183f66 68%,#245d8f 100%);color:#fff;box-shadow:0 16px 36px rgba(16,42,67,.18)}.knowledge-home-hero>div{max-width:760px}.knowledge-home-hero span{display:block;color:#9ec5ef;font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:9px}.knowledge-home-hero h1{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.02em}.knowledge-home-hero p{margin:11px 0 0;color:#d9e9f8;font-size:14px;line-height:1.7}.knowledge-home-hero .btn{flex:0 0 auto;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff}.knowledge-home-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.knowledge-home-card{position:relative;appearance:none;display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px 18px;min-height:330px;padding:28px;border:1px solid #d8e3ed;border-radius:18px;background:#fff;text-align:left;color:#243b53;cursor:pointer;box-shadow:0 10px 28px rgba(16,42,67,.07);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.knowledge-home-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#2f6fed}.knowledge-home-card.maintenance::before{background:#0f9f91}.knowledge-home-card:hover{transform:translateY(-3px);border-color:#a7c1e8;box-shadow:0 18px 40px rgba(16,42,67,.13)}.knowledge-home-card.maintenance:hover{border-color:#8bcfc5}.knowledge-home-card-icon{grid-column:1;grid-row:1;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#eaf1ff;color:#2f6fed;font-size:31px;font-weight:800}.knowledge-home-card.maintenance .knowledge-home-card-icon{background:#e7f7f4;color:#0f8a7e}.knowledge-home-card-title{grid-column:2}.knowledge-home-card-title>span{display:block;color:#2f6fed;font-size:10px;font-weight:800;letter-spacing:.1em;margin-bottom:5px}.knowledge-home-card.maintenance .knowledge-home-card-title>span{color:#0f8a7e}.knowledge-home-card h2{margin:0;color:#102a43;font-size:24px}.knowledge-home-card p{margin:8px 0 0;color:#627d98;font-size:13px;line-height:1.6}.knowledge-home-card ul{grid-column:1/-1;list-style:none;display:grid;gap:10px;margin:16px 0 20px;padding:16px 0;border-block:1px solid #e7edf3}.knowledge-home-card li{position:relative;padding-left:22px;color:#486581;font-size:13px;line-height:1.5}.knowledge-home-card li::before{content:"✓";position:absolute;left:0;top:0;color:#2f6fed;font-weight:900}.knowledge-home-card.maintenance li::before{color:#0f9f91}.knowledge-home-card>strong{grid-column:1/-1;align-self:end;display:flex;align-items:center;justify-content:space-between;color:#1f5cca;font-size:14px}.knowledge-home-card.maintenance>strong{color:#0d7d73}.knowledge-home-card>strong i{font-style:normal;font-size:20px}.knowledge-home-rule{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid #dce6ef;border-radius:12px;background:#f7f9fc;color:#627d98;font-size:12px}.knowledge-home-rule b{flex:0 0 auto;color:#334e68}.knowledge-home-rule b::after{content:"";display:inline-block;width:1px;height:12px;margin-left:12px;vertical-align:-2px;background:#cbd7e3}
.knowledge-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:6px 2px 2px}
.knowledge-page-head>div:first-child{max-width:760px}.knowledge-page-head span{display:block;color:#2f6fed;font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:6px}.knowledge-page-head h1{font-size:28px;line-height:1.15;margin:0;color:#102a43;letter-spacing:-.02em}.knowledge-page-head p{margin:8px 0 0;color:#6b7c93;font-size:14px}.knowledge-page-head .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.knowledge-entry-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.knowledge-entry-tabs button{appearance:none;border:1px solid #d2dfeb;border-radius:999px;background:#f7f9fc;padding:7px 14px;text-align:center;min-height:34px;color:#627d98;cursor:pointer;transition:.16s ease;box-shadow:none}
.knowledge-entry-tabs button:hover{border-color:#9bbcff;transform:translateY(-1px)}.knowledge-entry-tabs button.active{border-color:#2f6fed;background:#2f6fed;box-shadow:0 6px 14px rgba(47,111,237,.20)}
.knowledge-entry-tabs strong{display:block;font-size:12px;color:#627d98;margin:0}.knowledge-entry-tabs button.active strong{color:#fff}.knowledge-entry-tabs span{display:none}
.knowledge-search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:#fff;border:1px solid #d9e2ec;border-radius:12px;padding:8px;box-shadow:0 9px 24px rgba(16,42,67,.06)}
.knowledge-search-bar>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:0 12px;border-right:1px solid #e6edf4}.knowledge-search-bar span{font-size:12px;font-weight:800;color:#486581;white-space:nowrap}.knowledge-search-bar input{width:100%;border:0;outline:0;background:transparent;font-size:15px;color:#102a43;padding:7px 0}
.knowledge-query-standard{min-height:332px;border:1px dashed #b9c9d8;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#f3f7fb);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px}.knowledge-query-standard>strong{font-size:22px;color:#102a43}.knowledge-query-standard>span{max-width:650px;margin:10px 0 22px;color:#627d98;line-height:1.65}.knowledge-query-standard>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.knowledge-query-standard b{border:1px solid #d3e0eb;border-radius:999px;background:#fff;padding:7px 13px;color:#486581;font-size:12px}
.knowledge-workspace-grid{display:grid;grid-template-columns:minmax(205px,.8fr) minmax(430px,1.75fr) minmax(220px,.86fr);gap:12px;position:relative;padding-bottom:36px}
.knowledge-current-node,.knowledge-network-panel,.knowledge-action-panel{border:1px solid #d9e2ec;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.055)}
.knowledge-current-node{padding:18px;background:linear-gradient(160deg,#f5f9ff 0,#fff 56%);text-align:center}.knowledge-kicker{font-size:10px!important;font-weight:800;color:#2f6fed!important;letter-spacing:.1em!important}.knowledge-node-mark{width:54px;height:54px;display:grid;place-items:center;margin:14px auto 10px;border-radius:16px;background:linear-gradient(145deg,#2f6fed,#1e4fae);color:#fff;font-size:23px;font-weight:800;box-shadow:0 10px 18px rgba(47,111,237,.22)}.knowledge-current-node h2{margin:0;color:#102a43;font-size:20px}.knowledge-current-node>p{color:#627d98;font-size:12px;line-height:1.5;margin:8px 0 13px}.knowledge-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10px 0;border-block:1px solid #e6edf4;margin-bottom:12px}.knowledge-metrics div{display:flex;flex-direction:column}.knowledge-metrics strong{font-size:19px;color:#102a43}.knowledge-metrics span{font-size:9px;color:#829ab1;margin-top:2px}
.knowledge-expert-content-summary{display:block;margin:0 0 12px;padding:8px 10px;border-radius:10px;color:#0d6b57;background:#e8f7f2;font-size:11px;line-height:1.5}
.knowledge-network-panel{padding:16px}.knowledge-network-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.knowledge-network-panel>header span{font-size:9px;color:#2f6fed;font-weight:800;letter-spacing:.11em}.knowledge-network-panel h3{font-size:15px;color:#102a43;margin:3px 0 0}.knowledge-network-panel>header b{font-size:10px;color:#627d98;background:#f0f4f8;border-radius:999px;padding:6px 9px}.knowledge-relation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.knowledge-relation-card{border:1px solid #dbe7f2;border-top:3px solid #2f6fed;border-radius:10px;background:#fbfdff;padding:11px;min-height:112px}.knowledge-relation-card.teal{border-top-color:#0f9f91}.knowledge-relation-card.violet{border-top-color:#7857d8}.knowledge-relation-card.orange{border-top-color:#e68a2e}.knowledge-relation-card header{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:8px}.knowledge-relation-card header span{grid-column:1;font-size:8px;color:#829ab1;font-weight:800;letter-spacing:.1em}.knowledge-relation-card header strong{grid-column:1;font-size:13px;color:#243b53;margin-top:2px}.knowledge-relation-card header em{grid-column:2;grid-row:1/3;font-style:normal;font-size:16px;font-weight:800;color:#486581}.knowledge-chip-list{display:flex;flex-wrap:wrap;gap:5px}.knowledge-chip-list span{display:inline-flex;max-width:100%;border:1px solid #d8e4ef;border-radius:999px;background:#fff;padding:4px 7px;color:#486581;font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-empty{font-size:10px;color:#9fb3c8;margin:10px 0}
.knowledge-action-panel{padding:14px;display:flex;flex-direction:column;gap:9px;background:#fbfcfe}.knowledge-action-panel section{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fff}.knowledge-action-panel section>span{font-size:9px;color:#829ab1;font-weight:800;letter-spacing:.08em}.knowledge-action-panel section>strong{display:block;color:#102a43;font-size:14px;margin:5px 0}.knowledge-action-panel section>p{font-size:11px;line-height:1.55;color:#627d98;margin:0}.knowledge-quick-actions{display:grid;gap:7px;margin-top:auto}.knowledge-quick-actions .btn{width:100%;justify-content:center}.knowledge-source{position:absolute;left:0;right:0;bottom:0;padding:9px 12px;border:1px solid #dfe7ef;border-radius:9px;background:#f7f9fc;color:#829ab1;font-size:9px}
.knowledge-loading,.knowledge-empty-state{min-height:310px;border:1px dashed #b9c9d8;border-radius:14px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#627d98;gap:7px}.knowledge-empty-state strong{font-size:19px;color:#102a43}.knowledge-empty-state span{font-size:13px}
.maintenance-route-banner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr) auto;align-items:center;gap:16px;padding:13px 15px;border-radius:12px;background:linear-gradient(100deg,#102a43,#183f66);color:#fff;box-shadow:0 10px 24px rgba(16,42,67,.15)}.maintenance-route-banner div{display:flex;flex-direction:column;gap:3px}.maintenance-route-banner span{font-size:9px;color:#a9c8e8;font-weight:800;letter-spacing:.08em}.maintenance-route-banner strong{font-size:12px}.maintenance-route-banner i{font-style:normal;color:#7ea8cf;font-size:18px}.maintenance-workspace-grid{display:grid;grid-template-columns:.85fr 1.25fr .95fr;gap:12px;position:relative;padding-bottom:36px}.maintenance-workspace-grid>section{border:1px solid #d9e2ec;border-radius:14px;background:#fff;padding:18px;box-shadow:0 8px 24px rgba(16,42,67,.05)}.maintenance-workspace-grid>section>span{font-size:9px;color:#2f6fed;font-weight:800;letter-spacing:.12em}.maintenance-workspace-grid h2{font-size:18px;margin:5px 0 15px;color:#102a43}.maintenance-workspace-grid dl{display:grid;gap:10px;margin:0}.maintenance-workspace-grid dl div{border-bottom:1px solid #e8eef5;padding-bottom:9px}.maintenance-workspace-grid dt{font-size:10px;color:#829ab1}.maintenance-workspace-grid dd{margin:3px 0 0;color:#243b53;font-size:13px;font-weight:700}.maintenance-note{margin-top:14px;border-radius:9px;background:#edf4ff;padding:11px;color:#486581;font-size:11px;line-height:1.55}.maintenance-field-list{display:grid;gap:8px}.maintenance-field-list label{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;border:1px solid #e1e9f0;border-radius:9px;padding:9px}.maintenance-field-list b{width:28px;height:28px;border-radius:8px;background:#edf4ff;color:#2f6fed;display:grid;place-items:center;font-size:10px}.maintenance-field-list span{font-size:12px;font-weight:700;color:#334e68}.maintenance-field-list em{font-size:9px;font-style:normal;color:#829ab1}.maintenance-flow{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;color:#829ab1}.maintenance-flow b{border-radius:999px;background:#f0f4f8;padding:5px 9px;font-size:9px;color:#486581}.maintenance-flow i{font-style:normal}.maintenance-workspace-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.maintenance-workspace-grid li{display:flex;align-items:center;gap:8px;border:1px solid #e5edf4;border-radius:9px;padding:9px;color:#486581;font-size:11px}.maintenance-workspace-grid li b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e7f7f4;color:#0f9f91}.maintenance-impact{margin:12px 0;border-left:3px solid #e68a2e;background:#fff8ed;padding:10px}.maintenance-impact strong{font-size:11px;color:#a85b0a}.maintenance-impact p{font-size:10px;line-height:1.5;color:#7c5b35;margin:4px 0 0}.maintenance-workspace-grid>.knowledge-source{position:absolute;padding:9px 12px}
@media (max-width:1180px){.knowledge-workspace-grid{grid-template-columns:220px minmax(420px,1fr)}.knowledge-action-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 180px}.maintenance-workspace-grid{grid-template-columns:1fr 1fr}.maintenance-workspace-grid>section:last-of-type{grid-column:1/-1}.maintenance-route-banner{grid-template-columns:1fr auto 1fr}.maintenance-route-banner>.btn{grid-column:1/-1}}
@media (max-width:760px){.knowledge-home-hero{align-items:flex-start;flex-direction:column;padding:22px}.knowledge-home-entries{grid-template-columns:1fr}.knowledge-home-card{min-height:auto;padding:22px}.knowledge-home-rule{align-items:flex-start;flex-direction:column}.knowledge-home-rule b::after{display:none}.knowledge-page-head{flex-direction:column}.knowledge-search-bar{grid-template-columns:1fr 1fr}.knowledge-search-bar>div{grid-column:1/-1;border:0}.knowledge-workspace-grid,.maintenance-workspace-grid{grid-template-columns:1fr}.knowledge-action-panel{grid-column:auto;display:flex}.knowledge-relation-grid{grid-template-columns:1fr}.maintenance-route-banner{grid-template-columns:1fr}.maintenance-route-banner i{transform:rotate(90deg);justify-self:center}.maintenance-workspace-grid>section:last-of-type{grid-column:auto}}

/* Clickable expert relationship chips */
.knowledge-chip-list button{appearance:none;display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid #d8e4ef;border-radius:999px;background:#fff;padding:4px 7px;color:#486581;font:inherit;font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:.15s ease}
.knowledge-chip-list button i{font-style:normal;color:#2f6fed;font-size:12px;font-weight:900}
.knowledge-chip-list button:hover,.knowledge-chip-list button:focus-visible{border-color:#7fa8ef;background:#edf4ff;color:#1f5cca;outline:none;transform:translateY(-1px);box-shadow:0 3px 8px rgba(47,111,237,.12)}
.knowledge-relation-card.teal .knowledge-chip-list button i{color:#0f9f91}.knowledge-relation-card.violet .knowledge-chip-list button i{color:#7857d8}.knowledge-relation-card.orange .knowledge-chip-list button i{color:#d97716}

/* Classified Yisheng content and expert academic summary */
.knowledge-expert-content-card{grid-column:1/-1;min-height:180px}.knowledge-content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.knowledge-content-toolbar>div{display:flex;flex-wrap:wrap;gap:6px}.knowledge-content-toolbar>div>span,.expert-content-category-summary>span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#e8f7f2;color:#0d6b57;font-size:10px;font-weight:700}.knowledge-content-toolbar>div>span b,.expert-content-category-summary>span b{font-size:11px}.knowledge-content-toolbar .btn{min-height:30px;padding:6px 11px;font-size:11px;white-space:nowrap}.knowledge-content-groups{display:grid;gap:10px;max-height:330px;overflow:auto;padding-right:4px}.knowledge-content-groups>section{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:start}.knowledge-content-groups h4{display:flex;flex-direction:column;gap:3px;margin:5px 0 0;color:#0d6b57;font-size:12px}.knowledge-content-groups h4 span{color:#839b95;font-size:9px;font-weight:500}.knowledge-content-groups>section>div{display:flex;flex-wrap:wrap;gap:6px}.knowledge-content-groups a,.knowledge-content-groups p{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin:0;padding:6px 9px;border:1px solid #d7e7e2;border-radius:9px;background:#fff;color:#3c5b53;font-size:10px;line-height:1.35;text-decoration:none}.knowledge-content-groups a:hover{border-color:#78bca9;background:#f0faf7;color:#0d6b57}.knowledge-content-groups a span,.knowledge-content-groups p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-content-groups a i,.knowledge-content-groups p i{flex:0 0 auto;color:#0f9f91;font-style:normal;font-size:9px}.knowledge-academic-summary{margin-top:12px;padding:14px;border:1px solid #cfe2f8;border-left:4px solid #2f6fed;border-radius:11px;background:#f6f9ff}.knowledge-academic-summary>span{display:block;color:#2f6fed;font-size:9px;font-weight:800;letter-spacing:.1em}.knowledge-academic-summary>strong{display:block;margin:4px 0 8px;color:#173b72;font-size:13px}.knowledge-academic-summary p{margin:0;color:#425f82;font-size:11px;line-height:1.75}.knowledge-academic-summary small{display:block;margin-top:9px;color:#8395aa;font-size:9px;line-height:1.5}.knowledge-academic-summary.error{border-color:#f1d1d1;border-left-color:#d9534f;background:#fff8f8}
.expert-content-category-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.expert-content-category-groups{display:grid;gap:24px}.expert-content-category-groups>section>h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e1ebe8;color:var(--expert-ink);font-size:16px}.expert-content-category-groups>section>h3 span{color:#78918a;font-size:12px;font-weight:500}
@media (max-width:760px){.knowledge-content-toolbar{align-items:stretch;flex-direction:column}.knowledge-content-toolbar .btn{width:100%}.knowledge-content-groups>section{grid-template-columns:1fr}.knowledge-content-groups h4{flex-direction:row}.knowledge-content-groups a,.knowledge-content-groups p{width:100%;justify-content:space-between}}
.knowledge-academic-summary-body{display:grid;gap:5px}.knowledge-academic-summary-body h5{margin:7px 0 0;color:#173b72;font-size:11px}.knowledge-academic-summary-body p{margin:0;color:#425f82;font-size:11px;line-height:1.75}

/* Generic-name archive: keep the generic node separate from branded product records */
.generic-archive{display:grid;gap:14px}.generic-archive-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border-radius:16px;background:linear-gradient(120deg,#102a43,#1d4e78);color:#fff;box-shadow:0 14px 30px rgba(16,42,67,.16)}.generic-archive-hero>div:first-child{max-width:720px}.generic-archive-hero>div>span{display:block;margin-bottom:7px;color:#9ec5ef;font-size:10px;font-weight:800;letter-spacing:.13em}.generic-archive-hero h2{margin:0;font-size:28px}.generic-archive-hero p{margin:8px 0 0;color:#d9e9f8;font-size:13px;line-height:1.65}.generic-archive-metrics{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px}.generic-archive-metrics div{display:flex;flex-direction:column;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.08)}.generic-archive-metrics strong{font-size:22px}.generic-archive-metrics span{color:#c9def1;font-size:9px}.generic-archive-notice{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #f1d59e;border-radius:11px;background:#fff9ed;color:#74521c;font-size:11px;line-height:1.55}.generic-archive-notice b{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#f7dfad;color:#7b5010}.generic-archive-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(460px,1.6fr);gap:14px}.generic-archive-knowledge>div:last-child{display:grid;gap:12px}.generic-archive-knowledge article{padding-bottom:12px;border-bottom:1px solid #e6edf4}.generic-archive-knowledge article:last-child{padding-bottom:0;border:0}.generic-archive-knowledge article>span{display:block;margin-bottom:7px;color:#829ab1;font-size:10px;font-weight:800}.generic-archive-knowledge article p{display:flex;flex-wrap:wrap;gap:6px;margin:0}.generic-archive-knowledge article b{padding:5px 8px;border-radius:999px;background:#edf4ff;color:#315d99;font-size:10px}.generic-archive-knowledge article em{color:#9fb3c8;font-size:11px}.generic-archive-product-list{display:grid;gap:8px}.generic-archive-product-list button{appearance:none;display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(140px,.85fr) auto;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid #dce6ef;border-radius:11px;background:#fff;text-align:left;color:#243b53;cursor:pointer;transition:.16s ease}.generic-archive-product-list button:hover{transform:translateY(-1px);border-color:#8aafea;background:#f8fbff;box-shadow:0 7px 16px rgba(47,111,237,.09)}.generic-archive-product-list button>span{display:flex;min-width:0;flex-direction:column;gap:3px}.generic-archive-product-list button strong{color:#102a43;font-size:15px}.generic-archive-product-list button b{color:#486581;font-size:11px}.generic-archive-product-list button small{overflow:hidden;color:#829ab1;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.generic-archive-product-list button em{color:#2f6fed;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.generic-archive-projects{margin:0}@media(max-width:900px){.generic-archive-hero{align-items:flex-start;flex-direction:column}.generic-archive-grid{grid-template-columns:1fr}}@media(max-width:620px){.generic-archive-metrics{width:100%}.generic-archive-notice{align-items:flex-start;flex-direction:column}.generic-archive-product-list button{grid-template-columns:1fr}.generic-archive-product-list button em{margin-top:3px}}

/* Disease-first, owner-first and value-unit relationship views */
.indication-archive,.owner-relation-archive{display:grid;gap:14px}.indication-archive-hero,.owner-relation-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border-radius:16px;background:linear-gradient(120deg,#102a43,#1b5572);color:#fff;box-shadow:0 14px 30px rgba(16,42,67,.16)}.indication-archive-hero>div:first-child{max-width:760px}.indication-archive-hero>div:first-child>span,.owner-relation-hero>span{display:block;margin-bottom:7px;color:#9edfd7;font-size:10px;font-weight:800;letter-spacing:.13em}.indication-archive-hero h2,.owner-relation-hero h2{margin:0;font-size:28px}.indication-archive-hero p,.owner-relation-hero p{margin:8px 0 0;color:#d8edf1;font-size:13px;line-height:1.65}.indication-archive-hero>div:last-child{display:grid;grid-template-columns:auto auto;gap:3px 9px;min-width:190px;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08)}.indication-archive-hero>div:last-child strong{font-size:20px;text-align:right}.indication-archive-hero>div:last-child span{align-self:center;color:#cae2e8;font-size:10px}.indication-aliases{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.indication-aliases b{font-size:9px;color:#a9d5d9}.indication-aliases em{padding:4px 7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:9px;font-style:normal}.disease-expert-panel,.owner-value-unit-panel,.value-unit-core-line{padding:18px;border:1px solid #d8e4ef;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(16,42,67,.05)}.disease-expert-panel>header,.owner-value-unit-panel>header,.value-unit-core-line>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.disease-expert-panel>header span,.owner-value-unit-panel>header span,.value-unit-core-line>header>span{color:#0f9f91;font-size:9px;font-weight:800;letter-spacing:.12em}.disease-expert-panel h3,.owner-value-unit-panel h3,.value-unit-core-line h3{margin:3px 0 0;color:#102a43;font-size:18px}.disease-expert-panel header p,.value-unit-core-line header p{margin:5px 0 0;color:#6b7c93;font-size:11px}.disease-expert-panel>header b,.owner-value-unit-panel>header>strong{padding:6px 9px;border-radius:999px;background:#e8f7f4;color:#0d756c;font-size:10px}.disease-expert-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.disease-expert-list button{appearance:none;display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border:1px solid #dce7ee;border-radius:11px;background:#fbfdff;text-align:left;cursor:pointer;transition:.16s ease}.disease-expert-list button:hover{transform:translateY(-1px);border-color:#78bfb5;box-shadow:0 7px 15px rgba(15,159,145,.09)}.disease-expert-list button>span{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}.disease-expert-list button>span.direct{background:#dff6ef;color:#08765f}.disease-expert-list button>span.discipline{background:#edf3ff;color:#315d99}.disease-expert-list strong{color:#102a43;font-size:15px}.disease-expert-list small{color:#627d98;font-size:10px;line-height:1.45}.disease-expert-list em{display:-webkit-box;overflow:hidden;color:#486581;font-size:9px;font-style:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.disease-expert-list i{margin-top:auto;color:#0f8f82;font-size:10px;font-style:normal;font-weight:800}.knowledge-loading.compact{min-height:120px}.indication-relation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.indication-relation-grid .knowledge-relation-card{min-height:150px}.indication-source{padding:10px 13px;border:1px solid #dfe7ef;border-radius:9px;background:#f7f9fc;color:#829ab1;font-size:9px}.owner-relation-hero{display:block}.owner-value-unit-panel>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-value-unit-panel>div>button{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border:1px solid #dce6ef;border-radius:10px;background:#fbfdff;text-align:left;cursor:pointer}.owner-value-unit-panel>div>button:hover{border-color:#8aafea;background:#f6f9ff}.owner-value-unit-panel button strong{color:#102a43;font-size:13px}.owner-value-unit-panel button span{color:#627d98;font-size:9px}.owner-value-unit-panel button em{color:#2f6fed;font-size:9px;font-style:normal;font-weight:800}.owner-downstream-chain,.archive-core-chain{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px}.archive-core-chain{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}.owner-downstream-chain>section,.archive-core-chain>section{min-width:0;padding:13px;border:1px solid #dae5ee;border-top:3px solid #2f6fed;border-radius:11px;background:#fff}.owner-downstream-chain>section:nth-of-type(2),.archive-core-chain>section:nth-of-type(2){border-top-color:#0f9f91}.owner-downstream-chain>section:nth-of-type(3),.archive-core-chain>section:nth-of-type(3){border-top-color:#7857d8}.owner-downstream-chain>section:nth-of-type(4),.archive-core-chain>section:nth-of-type(4){border-top-color:#e68a2e}.archive-core-chain>section:nth-of-type(5){border-top-color:#dc4f68}.owner-downstream-chain>i,.archive-core-chain>i{align-self:center;color:#8ba2b8;font-size:18px;font-style:normal}.owner-downstream-chain section>span,.archive-core-chain section>span{display:block;color:#829ab1;font-size:9px;font-weight:800}.owner-downstream-chain section>strong,.archive-core-chain section>strong{display:block;margin:4px 0 7px;color:#102a43;font-size:21px}.owner-downstream-chain section>p,.archive-core-chain section>p{display:flex;flex-wrap:wrap;gap:5px;margin:0}.owner-downstream-chain section b,.archive-core-chain section b,.owner-downstream-chain section button,.archive-core-chain section button{padding:4px 6px;border:0;border-radius:999px;background:#eef4fb;color:#486581;font-size:8px;font-weight:700}.owner-downstream-chain section button,.archive-core-chain section button{cursor:pointer}.owner-downstream-chain section em,.archive-core-chain section em{color:#9fb3c8;font-size:9px}.value-unit-core-line{margin-top:14px}.value-unit-core-line>header{justify-content:flex-start;flex-direction:column;gap:0}.value-unit-core-line>header p{margin:5px 0 0}
@media(max-width:1100px){.disease-expert-list{grid-template-columns:repeat(2,minmax(0,1fr))}.indication-relation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-downstream-chain,.archive-core-chain{grid-template-columns:1fr 1fr}.owner-downstream-chain>i,.archive-core-chain>i{display:none}.owner-value-unit-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.indication-archive-hero{align-items:flex-start;flex-direction:column}.indication-archive-hero>div:last-child{width:100%}.disease-expert-list,.indication-relation-grid,.owner-value-unit-panel>div,.owner-downstream-chain,.archive-core-chain{grid-template-columns:1fr}}

.marketing-knowledge-map-banner{position:relative;min-height:340px;overflow:hidden;margin-bottom:14px;border:1px solid #203f67;border-radius:18px;background:radial-gradient(circle at 50% 52%,rgba(35,175,166,.2),transparent 24%),linear-gradient(128deg,#07182f 0%,#102d50 50%,#151f42 100%);box-shadow:0 18px 40px rgba(15,38,67,.17);color:#fff}.marketing-map-caption{position:absolute;z-index:3;top:18px;left:22px}.marketing-map-caption>span{display:block;color:#6ee7d7;font-size:9px;font-weight:900;letter-spacing:.16em}.marketing-map-caption>strong{display:block;margin-top:4px;font-size:17px}.marketing-map-caption>p{margin:4px 0 0;color:#aac2d8;font-size:9px}.marketing-knowledge-map-banner>svg{position:absolute;inset:0;width:100%;height:100%}.marketing-knowledge-map-banner>svg path{fill:none;stroke:url(#mapLine);stroke-width:2;stroke-dasharray:6 6}.marketing-knowledge-map-banner>svg circle{fill:rgba(15,159,145,.08);stroke:#63d7c9;stroke-width:1.3}.marketing-knowledge-map-banner>svg circle.pulse{fill:none;stroke:#4f83d8;stroke-dasharray:5 7;opacity:.48}.marketing-map-hub{position:absolute;z-index:2;top:185px;left:50%;display:flex;width:126px;height:126px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(123,231,216,.55);border-radius:50%;background:linear-gradient(145deg,rgba(18,75,104,.96),rgba(13,44,82,.96));box-shadow:0 0 0 10px rgba(53,143,175,.08),0 12px 28px rgba(0,0,0,.24);transform:translate(-50%,-50%)}.marketing-map-hub small{color:#8be8dc;font-size:8px;letter-spacing:.13em}.marketing-map-hub strong{margin:5px 0 3px;font-size:19px}.marketing-map-hub span{color:#b8ccdc;font-size:8px}.marketing-map-node{appearance:none;position:absolute;z-index:4;display:flex;width:185px;min-height:58px;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(151,186,220,.28);border-radius:12px;background:rgba(11,36,67,.88);box-shadow:0 8px 20px rgba(0,0,0,.15);color:#fff;text-align:left;cursor:pointer;transition:.17s ease}.marketing-map-node:hover,.marketing-map-node.active{border-color:#6ee7d7;background:rgba(17,70,98,.96);box-shadow:0 0 0 2px rgba(110,231,215,.12),0 10px 24px rgba(0,0,0,.2);transform:translateY(-2px)}.marketing-map-node>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:#244d78;color:#8ee8dd;font-size:8px;font-weight:900}.marketing-map-node>strong{font-size:12px;white-space:nowrap}.marketing-map-node>small{position:absolute;right:10px;bottom:4px;left:43px;overflow:hidden;color:#91abc2;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.marketing-map-node.top-left{top:80px;left:2.2%}.marketing-map-node.top-mid-left{top:80px;left:27%;transform:translateX(-50%)}.marketing-map-node.top-mid-right{top:80px;right:27%;transform:translateX(50%)}.marketing-map-node.top-right{top:80px;right:2.2%}.marketing-map-node.bottom-left{bottom:22px;left:2.2%}.marketing-map-node.bottom-mid-left{bottom:22px;left:27%;transform:translateX(-50%)}.marketing-map-node.bottom-mid-right{right:27%;bottom:22px;transform:translateX(50%)}.marketing-map-node.bottom-right{right:2.2%;bottom:22px}.marketing-map-node.top-mid-left:hover,.marketing-map-node.bottom-mid-left:hover{transform:translateX(-50%) translateY(-2px)}.marketing-map-node.top-mid-right:hover,.marketing-map-node.bottom-mid-right:hover{transform:translateX(50%) translateY(-2px)}
.marketing-knowledge-map-banner.static-image{display:block;min-height:0;margin:0 0 14px;border:0;background:#06152c;line-height:0}.marketing-knowledge-map-banner.static-image img{display:block;width:100%;height:auto;border-radius:18px}
.knowledge-prioritized-result{display:grid;gap:14px}.search-priority-map{min-width:0;padding:16px 17px;border:1px solid #d5e2ed;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbfe);box-shadow:0 8px 24px rgba(16,42,67,.05)}.search-priority-map>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.search-priority-map>header span{color:#2f6fed;font-size:8px;font-weight:900;letter-spacing:.13em}.search-priority-map>header h3{margin:3px 0 0;color:#102a43;font-size:16px}.search-priority-map>header p{margin:5px 0 0;color:#627d98;font-size:10px}.search-priority-map>header>b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf4ff;color:#315d99;font-size:8px}.search-priority-track{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:2px 2px 7px;scrollbar-width:thin}.search-priority-track>i{align-self:center;color:#9bb0c4;font-size:17px;font-style:normal}.search-priority-track>section{position:relative;min-width:152px;max-width:190px;flex:1 0 152px;padding:11px;border:1px solid #dbe6ef;border-top:3px solid #7895b2;border-radius:10px;background:#fff}.search-priority-track>section.root{border-color:#5f86df;border-top-color:#2f6fed;background:linear-gradient(145deg,#f7faff,#edf4ff)}.search-priority-track>section:nth-of-type(2){border-top-color:#0f9f91}.search-priority-track>section:nth-of-type(3){border-top-color:#7857d8}.search-priority-track>section:nth-of-type(4){border-top-color:#e68a2e}.search-priority-track>section:nth-of-type(5){border-top-color:#dc4f68}.search-priority-track>section:nth-of-type(6){border-top-color:#2586a6}.search-priority-track>section:nth-of-type(7){border-top-color:#6e8a38}.search-priority-track section>span{display:block;color:#829ab1;font-size:7px;font-weight:900}.search-priority-track section>strong{display:block;margin:4px 30px 7px 0;color:#102a43;font-size:12px}.search-priority-track section>em{position:absolute;top:9px;right:10px;color:#2f6fed;font-size:17px;font-style:normal;font-weight:800}.search-priority-track section>p{display:flex;flex-wrap:wrap;gap:4px;margin:0}.search-priority-track section b{max-width:100%;overflow:hidden;padding:3px 5px;border-radius:999px;background:#eef4f8;color:#486581;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.search-priority-track section small{color:#9fb3c8;font-size:8px}
.knowledge-home-hero-actions{display:flex;align-items:center;gap:8px}.knowledge-home-hero-actions .btn.primary{border-color:#78e0d3;background:#e9fffb;color:#0b685f}.knowledge-home-query-shell{display:grid;gap:12px;padding:18px;border:1px solid #d8e4ef;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,42,67,.06)}.knowledge-home-query-shell>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.knowledge-home-query-shell>header span{color:#2f6fed;font-size:9px;font-weight:900;letter-spacing:.13em}.knowledge-home-query-shell>header h2{margin:3px 0 0;color:#102a43;font-size:21px}.knowledge-home-query-shell>header p{margin:4px 0 0;color:#627d98;font-size:10px}.knowledge-home-query-shell>header>b{padding:6px 9px;border-radius:999px;background:#edf4ff;color:#315d99;font-size:9px}.knowledge-home-query-shell .knowledge-entry-tabs{margin:0}.knowledge-home-query-shell .knowledge-search-bar{margin:0}.knowledge-query-inline-guide{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px dashed #c8d8e7;border-radius:10px;background:#f8fbfe}.knowledge-query-inline-guide strong{color:#334e68;font-size:11px}.knowledge-query-inline-guide span{color:#829ab1;font-size:9px}
@media(max-width:1100px){.marketing-map-node{width:155px}.marketing-map-node.top-mid-left,.marketing-map-node.bottom-mid-left{left:25%}.marketing-map-node.top-mid-right,.marketing-map-node.bottom-mid-right{right:25%}}@media(max-width:760px){.knowledge-home-hero-actions{width:100%;justify-content:flex-end}.knowledge-home-query-shell{padding:13px}.knowledge-home-query-shell>header{align-items:flex-start;flex-direction:column}.marketing-knowledge-map-banner{min-height:430px;overflow-x:auto}.marketing-map-caption{right:18px}.marketing-map-caption>strong{font-size:14px}.marketing-map-caption>p{max-width:280px}.marketing-knowledge-map-banner>svg{display:none}.marketing-map-hub{top:190px;width:112px;height:112px}.marketing-map-node{width:42%;min-height:54px}.marketing-map-node.top-left{top:92px;left:4%}.marketing-map-node.top-mid-left{top:92px;right:4%;left:auto;transform:none}.marketing-map-node.top-mid-right{top:158px;right:auto;left:4%;transform:none}.marketing-map-node.top-right{top:158px;right:4%}.marketing-map-node.bottom-left{bottom:98px;left:4%}.marketing-map-node.bottom-mid-left{right:4%;bottom:98px;left:auto;transform:none}.marketing-map-node.bottom-mid-right{right:auto;bottom:32px;left:4%;transform:none}.marketing-map-node.bottom-right{right:4%;bottom:32px}.marketing-map-node.top-mid-left:hover,.marketing-map-node.bottom-mid-left:hover,.marketing-map-node.top-mid-right:hover,.marketing-map-node.bottom-mid-right:hover{transform:translateY(-2px)}.search-priority-map>header{flex-direction:column}.search-priority-map>header>b{display:none}}
.expert-invitation-evidence-summary { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; background: #f5f8ff; padding: 12px 16px; border-radius: 10px; }
.expert-invitation-evidence-summary p { margin: 6px 0; line-height: 1.65; }
.expert-invitation-audit-list p { grid-column: 1 / -1; margin: 4px 0 10px; overflow-wrap: anywhere; }
.drawer:has([data-expert-invite-form]) .drawer-panel { position: absolute; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; overflow: auto; border-radius: 0; box-sizing: border-box; }
.drawer:has([data-expert-invite-form]) #drawerContent { width: min(100%, 1100px); min-width: 0; margin: 0 auto; padding: 12px 20px 50px; }
.project-child-navigation { position: sticky; top: 0; z-index: 5; display: flex; justify-content: flex-end; padding: 8px 0; background: #fff; }
.drawer:has([data-expert-invite-form]) .expert-invitation-record-list article { min-width: 0; grid-template-columns: minmax(0, 1fr) auto; }
.drawer:has([data-expert-invite-form]) .expert-invitation-record-list .actions { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
