:root {
  --wine: #2f6feb;
  --wine-deep: #111827;
  --brass: #16a34a;
  --brass-soft: #5b8def;
  --paper: #f7f8fa;
  --paper-deep: #eef3f8;
  --ink: #111827;
  --ink-soft: #6b7280;
  --rule: #d8dee8;
  --rule-soft: #edf0f5;
  --surface: #ffffff;
  --surface-muted: #f4f6f9;
  --blue-soft: #d8ecff;
  --green-soft: #e8f7ee;
  --danger: #ef4444;
  --shadow-panel: 0 14px 36px rgba(15, 23, 42, 0.08);
  --f-display: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --f-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --f-mono: 'SFMono-Regular', 'JetBrains Mono', ui-monospace, Menlo, monospace;
}

/* Customer reception V1: Ant Design information hierarchy on the existing server-rendered workspace. */
.service-workspace-page .service-workspace {
  grid-template-columns: 300px minmax(520px, 1fr) 360px !important;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.service-workspace-page .service-sessions,
.service-workspace-page .chat-panel,
.service-workspace-page .customer-panel {
  min-width: 0;
  min-height: 0;
}

.service-workspace-page .service-sessions {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 16px 12px 0;
}

.service-workspace-page .session-command-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
  margin-bottom: 12px;
}

.service-workspace-page .session-command-row .session-search {
  min-width: 0;
  margin: 0;
}

.service-workspace-page .session-command-button {
  height: 34px;
  padding: 0 9px;
  border: 1px solid #d8cbb8;
  border-radius: 6px;
  background: #fffaf1;
  color: #5d5148;
  font-size: 12px;
  cursor: pointer;
}

.service-workspace-page .session-command-button:hover,
.service-workspace-page .session-command-button:focus-visible,
.service-workspace-page .session-command-button[aria-expanded="true"] {
  border-color: #8f2735;
  color: #7b2631;
  outline: none;
}

.service-workspace-page .session-progressive-panel {
  position: absolute;
  z-index: 30;
  top: 62px;
  left: 12px;
  right: 12px;
  max-height: calc(100dvh - 100px);
  overflow: auto;
  border: 1px solid #cdbda7;
  border-radius: 6px;
  background: #fffaf1;
  box-shadow: 0 14px 34px rgba(73, 43, 31, 0.16);
}

.service-workspace-page .session-progressive-panel:not([open]) {
  display: none;
}

.service-workspace-page .session-progressive-panel > summary {
  padding: 12px 14px;
  border-bottom: 1px solid #e5dac9;
  font-weight: 650;
}

.service-workspace-page .service-lane-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  margin: 0 0 10px;
  border: 1px solid #e1d6c5;
  border-radius: 6px;
  background: #f5eee3;
}

.service-workspace-page .service-lane-tabs a,
.service-workspace-page .service-lane-tabs a:visited {
  min-width: 0;
  padding: 7px 4px;
  border: 0;
  border-radius: 4px;
  color: #6d6259;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}

.service-workspace-page .service-lane-tabs a.active {
  background: #fffaf1;
  color: #7b2631;
  box-shadow: 0 1px 3px rgba(67, 38, 29, 0.12);
  font-weight: 700;
}

.service-workspace-page .service-queue-context {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px;
  margin-bottom: 4px;
  border-left: 3px solid #b78d45;
  background: #fbf5ea;
  color: #70645a;
  font-size: 12px;
}

.service-workspace-page .service-queue-context .danger,
.service-workspace-page .service-queue-context em {
  color: #9a2f3e;
  font-style: normal;
}

.service-workspace-page .session-title-row {
  min-height: 34px;
  margin: 0;
  padding: 8px 4px;
}

.service-workspace-page .service-workspace .session-list.compact {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  margin: 0 -12px;
}

.service-workspace-page .service-session-row {
  min-height: 84px;
  padding: 12px;
}

.service-workspace-page .chat-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.service-workspace-page .chat-header.compact {
  min-height: 72px;
  padding: 13px 18px;
}

.service-workspace-page .chat-customer-identity {
  min-width: 0;
}

.service-workspace-page .chat-customer-identity > strong {
  display: block;
  overflow: hidden;
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-workspace-page .chat-context-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
  color: #7c7066;
  font-size: 11px;
}

.service-workspace-page .chat-context-tags mark {
  padding: 2px 6px;
  border-radius: 4px;
  background: #efe6d7;
  color: #62564d;
}

.service-workspace-page .chat-context-tags mark.trust {
  color: #7b2631;
}

.service-workspace-page .conversation-search input {
  width: 168px;
  height: 34px;
}

.service-workspace-page .chat-thread.compact {
  min-height: 0;
  overflow-y: auto;
  padding: 20px 24px;
}

.service-workspace-page .composer.compact {
  position: relative;
  min-height: 150px;
  padding: 12px 18px 14px;
  background: #fffaf1;
}

.service-workspace-page .customer-panel.compact {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
}

.service-workspace-page .customer-panel-head {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #e4d9c8;
}

.service-workspace-page .customer-panel-head div {
  min-width: 0;
}

.service-workspace-page .customer-panel-head span {
  display: block;
  color: #8b7d71;
  font-size: 11px;
}

.service-workspace-page .customer-panel-head strong {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: #2e2520;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-workspace-page .customer-panel-head mark {
  flex: none;
  padding: 4px 7px;
  border-radius: 4px;
  background: #f4e1e0;
  color: #8f2735;
  font-size: 11px;
}

.service-workspace-page .service-side-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 44px;
  padding: 0 12px;
  border-bottom: 1px solid #ddd0bd;
}

.service-workspace-page .service-side-tabs button {
  position: relative;
  min-width: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #75695f;
  font-size: 13px;
  cursor: pointer;
}

.service-workspace-page .service-side-tabs button:hover,
.service-workspace-page .service-side-tabs button:focus-visible,
.service-workspace-page .service-side-tabs button.active {
  color: #7b2631;
  outline: none;
}

.service-workspace-page .service-side-tabs button.active {
  border-bottom-color: #8f2735;
  font-weight: 700;
}

.service-workspace-page .service-side-tabs button span {
  margin-left: 4px;
  color: #a03442;
  font-size: 10px;
}

.service-workspace-page .service-side-panel {
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
}

.service-workspace-page .service-side-panel[hidden] {
  display: none !important;
}

.service-workspace-page .service-side-panel .assistant-section,
.service-workspace-page .service-side-panel .profile-section {
  margin: 0 0 14px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 1px solid #e5dac9;
  border-radius: 0;
  background: transparent;
}

.service-workspace-page .assistant-section > span,
.service-workspace-page .profile-section-hint {
  color: #9a762f;
  font-size: 11px;
}

.service-workspace-page .assistant-section h2 {
  margin: 7px 0;
  color: #302620;
  font-family: inherit;
  font-size: 17px;
  line-height: 1.45;
}

.service-workspace-page .assistant-list {
  display: grid;
  gap: 10px;
}

.service-workspace-page .assistant-record {
  padding: 12px;
  border: 1px solid #ded1bf;
  border-radius: 6px;
  background: #fffdf8;
}

@media (max-width: 1280px) {
  .service-workspace-page .service-workspace {
    grid-template-columns: 280px minmax(460px, 1fr) 330px !important;
  }
  .service-workspace-page .conversation-search input {
    width: 132px;
  }
}

/* Reception V1 detail pass. */
body.service-workspace-page .session-row.service-session-row {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 82px !important;
  padding: 11px 12px !important;
}

body.service-workspace-page .service-session-row .avatar-mark {
  width: 42px !important;
  height: 42px !important;
  border-radius: 6px !important;
}

body.service-workspace-page .service-session-row .session-copy {
  min-width: 0 !important;
}

body.service-workspace-page .service-session-row .session-copy > strong,
body.service-workspace-page .service-session-row .session-copy > span {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.service-workspace-page .service-session-row .session-copy > strong {
  color: #302620 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.service-workspace-page .service-session-row .session-copy > span {
  margin-top: 3px !important;
  color: #776b61 !important;
  font-size: 12px !important;
}

body.service-workspace-page .service-session-row > time {
  max-width: 58px !important;
  overflow: hidden !important;
  color: #9a8d80 !important;
  font-family: var(--f-mono) !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.service-workspace-page .service-session-row.active .session-copy > strong,
body.service-workspace-page .service-session-row.active .session-copy > span,
body.service-workspace-page .service-session-row.active > time {
  color: #fffaf1 !important;
}

body.service-workspace-page .session-badges {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  overflow: hidden !important;
  margin-top: 6px !important;
}

body.service-workspace-page .session-badges mark {
  flex: none !important;
  max-width: 86px !important;
  overflow: hidden !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.service-workspace-page .chat-message {
  margin-bottom: 16px !important;
}

body.service-workspace-page .chat-message .message-stack {
  max-width: min(72%, 620px) !important;
}

body.service-workspace-page .chat-message .message-stack > p {
  margin: 0 !important;
  padding: 10px 13px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere !important;
}

body.service-workspace-page .chat-message.outbound .message-stack {
  align-items: flex-end !important;
}

body.service-workspace-page .chat-message time,
body.service-workspace-page .delivery-state {
  margin-top: 4px !important;
  color: #93877c !important;
  font-size: 10px !important;
}

body.service-workspace-page .knowledge-hit {
  display: none !important;
}

body.service-workspace-page .composer-tools {
  display: flex !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}

body.service-workspace-page .composer-tools button {
  width: auto !important;
  min-width: 44px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
}

body.service-workspace-page .composer textarea {
  min-height: 68px !important;
  padding: 10px 0 !important;
  color: #302620 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.service-workspace-page .composer-actions button {
  min-width: 76px !important;
  height: 34px !important;
  border-radius: 6px !important;
}

body.service-workspace-page .reception-judgement {
  margin-bottom: 12px;
  padding: 12px;
  border-left: 3px solid #a67d37;
  background: #f8f0e3;
}

body.service-workspace-page .judgement-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.service-workspace-page .judgement-heading span,
body.service-workspace-page .assist-section-title span {
  color: #8b7d71;
  font-size: 11px;
}

body.service-workspace-page .judgement-heading strong {
  color: #7b2631;
  font-size: 13px;
}

body.service-workspace-page .reception-judgement ul {
  display: grid;
  gap: 5px;
  margin: 9px 0 0;
  padding-left: 16px;
  color: #655a51;
  font-size: 12px;
  line-height: 1.5;
}

body.service-workspace-page .reception-judgement li.risk {
  color: #982f3d;
  font-weight: 650;
}

body.service-workspace-page .assist-materials {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e5dac9;
}

body.service-workspace-page .assist-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

body.service-workspace-page .assist-section-title strong {
  font-size: 13px;
}

body.service-workspace-page .material-type-filters {
  display: flex !important;
  gap: 4px !important;
  overflow-x: auto !important;
  padding-bottom: 6px !important;
}

body.service-workspace-page .material-type-filters button,
body.service-workspace-page .todo-quick-types button {
  flex: none !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  border: 1px solid #d8cbb8 !important;
  border-radius: 4px !important;
  background: #fffaf1 !important;
  color: #6d5f55 !important;
  font-size: 11px !important;
}

body.service-workspace-page .service-side-panel .material-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}

body.service-workspace-page .service-side-panel .material-list > button {
  min-width: 0 !important;
  padding: 9px 10px !important;
  border: 1px solid #e1d5c4 !important;
  border-radius: 6px !important;
  text-align: left !important;
}

body.service-workspace-page .profile-facts > div {
  grid-template-columns: 88px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding-block: 9px !important;
}

body.service-workspace-page .profile-facts dd {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body.service-workspace-page .result-grid-primary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.service-workspace-page .result-grid-primary button:first-child {
  grid-column: 1 / -1;
  background: #7b2631 !important;
  color: #fffaf1 !important;
}

body.service-workspace-page .result-more-actions {
  margin-top: 8px;
  border: 1px solid #e1d5c4;
  border-radius: 6px;
}

body.service-workspace-page .result-more-actions summary {
  padding: 9px 10px;
  color: #786b61;
  font-size: 12px;
  cursor: pointer;
}

body.service-workspace-page .result-more-actions .result-grid {
  padding: 0 8px 8px;
}

body.service-workspace-page .result-more-actions [data-result="do_not_disturb"] {
  border-color: #b6646e !important;
  color: #982f3d !important;
}

body.service-workspace-page .todo-quick-types {
  display: flex;
  gap: 5px;
  margin-bottom: 7px;
}

body.service-workspace-page .local-profile-form input,
body.service-workspace-page .local-tag-form input,
body.service-workspace-page .service-todo-panel input,
body.service-workspace-page .service-todo-panel textarea,
body.service-workspace-page .service-result-panel textarea {
  border-radius: 6px !important;
}

body.service-workspace-page .qa-source-detail {
  margin-top: 7px;
  color: #8c7f74;
  font-size: 10px;
}

body.service-workspace-page .qa-source-detail summary {
  width: fit-content;
  cursor: pointer;
}

body.service-workspace-page .qa-source-detail small {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

body.service-workspace-page .mobile-customer-toggle,
body.service-workspace-page [data-close-customer-panel] {
  display: none !important;
}

body.service-workspace-page .customer-panel-backdrop {
  display: none;
}

body.service-workspace-page .customer-panel-head-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 1100px) {
  body.service-workspace-page .customer-panel-backdrop.active {
    display: block;
    position: fixed;
    z-index: 79;
    inset: 0;
    border: 0;
    border-radius: 0;
    background: rgba(45, 28, 24, 0.28);
  }

  body.service-workspace-page .clean-workspace-shell {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.service-workspace-page .service-content-panel {
    width: calc(100vw - 190px) !important;
    min-width: 0 !important;
  }

  body.service-workspace-page .service-workspace {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }

  body.service-workspace-page .customer-panel.compact {
    position: fixed !important;
    z-index: 80 !important;
    top: 19px !important;
    right: 0 !important;
    bottom: 19px !important;
    width: min(360px, 92vw) !important;
    height: auto !important;
    border-left: 1px solid #cdbda7 !important;
    background: #fffaf1 !important;
    box-shadow: -18px 0 42px rgba(61, 36, 28, 0.2) !important;
    transform: translateX(105%) !important;
    transition: transform 220ms ease !important;
  }

  body.service-workspace-page .customer-panel.compact.mobile-open {
    transform: translateX(0) !important;
  }

  body.service-workspace-page .mobile-customer-toggle,
  body.service-workspace-page [data-close-customer-panel] {
    display: inline-grid !important;
  }

  body.service-workspace-page .mobile-customer-toggle {
    width: auto !important;
    min-width: 42px !important;
    padding-inline: 7px !important;
    font-size: 11px !important;
  }

  body.service-workspace-page [data-close-customer-panel] {
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #d8cbb8;
    border-radius: 6px;
    background: transparent;
    color: #7b2631;
    font-size: 18px;
  }
}

@media (max-width: 1024px) {
  .service-workspace-page .service-workspace {
    grid-template-columns: 270px minmax(430px, 1fr) !important;
  }
  .service-workspace-page .customer-panel.compact {
    display: none;
  }
}

/* Keep reception V1 layout authoritative over legacy workspace rules below. */
body.service-workspace-page .service-workspace {
  grid-template-columns: 300px minmax(520px, 1fr) 360px !important;
  height: calc(100dvh - 38px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.service-workspace-page .service-sessions {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px 12px 0 !important;
}

body.service-workspace-page .session-progressive-panel {
  top: 58px !important;
  left: 12px !important;
  right: 12px !important;
  width: auto !important;
  max-width: none !important;
}

body.service-workspace-page .chat-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

body.service-workspace-page .chat-header-actions > button,
body.service-workspace-page .chat-header-actions > a {
  flex: none !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 6px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.service-workspace-page .customer-panel.compact {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--f-body);
  background: var(--paper);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.admin-shell {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--paper);
}

.admin-rail {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 22px 10px 14px;
  border-right: 1px solid var(--rule);
  background: #eaf2ff;
}

.product-rail {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  width: 168px;
  height: 100dvh;
  padding: 22px 10px 14px;
  border-right: 1px solid #d8e4f4;
  background: #e7f0ff;
}

.product-rail-brand {
  display: block;
  margin: 0 8px 18px;
  color: #2563eb;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.product-rail-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}

.product-rail-nav a {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 4px;
  color: #334155;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.product-rail-nav a span {
  width: 16px;
  color: #7b8aa0;
  text-align: center;
}

.product-rail-nav a.active,
.product-rail-nav a:hover,
.product-rail-nav a:focus-visible {
  background: #d8eaff;
  color: #1d4ed8;
  outline: none;
}

.product-rail-foot {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 12px 8px 0;
  border-top: 1px solid #d8e4f4;
}

.product-rail-foot a,
.product-rail-foot button {
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 12px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.rail-brand {
  display: block;
  margin: 0 8px 22px;
  color: #2463d7;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.rail-brand em {
  color: var(--brass);
  font-style: italic;
}

.rail-nav {
  display: grid;
  gap: 4px;
  margin-top: 0;
}

.rail-nav a,
.admin-link {
  color: var(--wine-deep);
  font-family: var(--f-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
}

.rail-nav a {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 5px;
  color: #334155;
  transition: background 160ms ease, color 160ms ease;
}

.rail-nav a span {
  width: 16px;
  color: #7b8aa0;
  text-align: center;
}

.rail-nav a.active,
.rail-nav a:hover,
.rail-nav a:focus-visible {
  background: #d7e8ff;
  color: #1d4ed8;
  outline: none;
}

.rail-note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #d6e3f4;
}

.rail-note a,
.rail-note button {
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 12px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.admin-main {
  min-width: 0;
  background: var(--paper);
}

.admin-main .masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
  margin: -30px -30px 22px;
  padding: 0 28px;
  border-bottom: 1px solid var(--rule);
  background: var(--surface);
}

.page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 64px 72px;
}

.admin-main {
  width: 100%;
  max-width: 1180px;
}

.login-page {
  max-width: 1080px;
}

.masthead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--wine);
  margin-bottom: 56px;
  font-family: var(--f-display);
}

.masthead .brand {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--wine);
}

.masthead .brand em {
  font-style: italic;
  color: var(--brass);
  margin: 0 6px;
}

.masthead .meta,
.eyebrow,
.ch-eyebrow,
.ch-aside .label,
.status-pill {
  font-family: var(--f-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.masthead .meta {
  font-size: 11px;
  color: var(--ink-soft);
}

.hero {
  padding: 80px 0 100px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 80px;
}

.hero.compact {
  padding: 32px 0 56px;
  margin-bottom: 56px;
}

.eyebrow {
  font-size: 11px;
  color: var(--brass);
  margin-bottom: 24px;
}

.hero h1 {
  font-family: var(--f-display);
  font-size: clamp(54px, 8vw, 88px);
  line-height: 0.98;
  font-weight: 500;
  color: var(--wine);
  letter-spacing: -0.01em;
}

.hero h1 .italic {
  font-style: italic;
  font-weight: 400;
  color: var(--wine-deep);
}

.lede {
  margin-top: 32px;
  max-width: 680px;
  font-size: 19px;
  line-height: 1.75;
}

.admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 40px;
  align-items: end;
  padding: 36px 0 48px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 28px;
}

.admin-hero h1 {
  font-family: var(--f-display);
  font-size: clamp(58px, 8vw, 92px);
  line-height: 0.96;
  font-weight: 500;
  color: var(--wine);
}

.admin-hero h1 .italic {
  color: var(--wine-deep);
  font-style: italic;
  font-weight: 400;
}

.admin-hero p {
  max-width: 680px;
  margin-top: 22px;
  color: var(--ink-soft);
  font-size: 18px;
}

.hero-ledger {
  padding: 22px;
  border-left: 3px solid var(--brass);
  background: rgba(234, 226, 207, 0.55);
}

.hero-ledger strong {
  display: block;
  margin-top: 14px;
  font-family: var(--f-display);
  font-size: 28px;
  font-weight: 500;
  color: var(--wine-deep);
}

.hero-ledger p {
  margin-top: 8px;
  font-size: 14px;
}

.metric-grid,
.ops-grid {
  display: grid;
  gap: 18px;
}

.metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

.metric-card,
.ops-panel,
.login-console {
  border: 1px solid var(--rule);
  background: rgba(234, 226, 207, 0.45);
}

.metric-card {
  padding: 20px;
}

.metric-card span {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
}

.metric-card strong {
  display: block;
  margin-top: 10px;
  font-family: var(--f-display);
  font-size: 38px;
  font-weight: 500;
  color: var(--wine);
  line-height: 1;
}

.metric-card p {
  margin-top: 10px;
  color: var(--ink-soft);
  font-size: 14px;
}

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

.ops-grid.two-col {
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.ops-panel.featured {
  border-top: 3px solid var(--wine);
}

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

.ops-panel h2,
.login-console h2 {
  font-family: var(--f-display);
  font-size: 34px;
  font-weight: 500;
  color: var(--wine);
  line-height: 1.05;
}

.ops-panel p,
.login-console p {
  margin-top: 10px;
  color: var(--ink-soft);
}

.admin-link {
  display: inline-block;
  margin-top: 22px;
  padding-top: 12px;
  border-top: 1px solid var(--rule);
}

.flow-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  list-style: none;
}

.flow-list li {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rule-soft);
}

.flow-list strong {
  color: var(--wine);
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 600;
}

.flow-list span {
  color: var(--ink-soft);
  font-size: 14px;
}

.chapter {
  padding: 56px 0;
  border-bottom: 1px solid var(--rule);
}

.ch-header,
.ch-body {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 40px;
}

.ch-header {
  align-items: baseline;
  margin-bottom: 40px;
}

.ch-numeral {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 110px;
  line-height: 0.85;
  color: var(--wine);
}

.ch-eyebrow,
.ch-aside .label {
  font-size: 10px;
  color: var(--brass);
}

.ch-title {
  font-family: var(--f-display);
  font-size: 42px;
  font-weight: 500;
  color: var(--wine-deep);
  line-height: 1.05;
}

.ch-subtitle {
  margin-top: 6px;
  font-family: var(--f-display);
  font-style: italic;
  font-size: 22px;
  color: var(--brass);
}

.ch-aside {
  color: var(--ink-soft);
}

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

.action-card,
.panel {
  display: block;
  padding: 24px;
  border: 1px solid var(--rule);
  background: rgba(234, 226, 207, 0.45);
  color: inherit;
  text-decoration: none;
}

.action-card:hover,
button:hover {
  border-color: var(--wine);
}

.action-card h3 {
  margin-top: 14px;
  font-family: var(--f-display);
  font-size: 28px;
  color: var(--wine);
}

.action-card p {
  margin-top: 8px;
  color: var(--ink-soft);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  border: 1px solid var(--rule);
}

.status-pill.partial { color: var(--brass); background: #F4E8CA; }
.status-pill.new { color: var(--wine); background: #E9D9D5; }
.status-pill.have { color: #386044; background: #DCE8D8; }

.auth-panel {
  max-width: 460px;
}

label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--brass);
}

input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  font: inherit;
}

button {
  margin-top: 18px;
  padding: 12px 18px;
  border: 1px solid var(--wine);
  background: var(--wine);
  color: var(--paper);
  font-family: var(--f-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

button:disabled {
  border-color: var(--rule);
  background: var(--paper-deep);
  color: var(--ink-soft);
  cursor: not-allowed;
}

.alert {
  margin-bottom: 16px;
  color: var(--wine);
}

.table-wrap {
  border-top: 2px solid var(--wine);
  border-bottom: 2px solid var(--wine);
  overflow-x: auto;
}

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

th {
  padding: 12px 14px;
  background: var(--paper-deep);
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-align: left;
  text-transform: uppercase;
}

td {
  padding: 14px;
  border-top: 1px solid var(--rule-soft);
  vertical-align: top;
}

.mono-cell,
.side-link {
  font-family: var(--f-mono);
  font-size: 12px;
}

.side-link {
  color: var(--wine);
  text-decoration: none;
}

.empty-state h3 {
  margin-top: 14px;
  font-family: var(--f-display);
  font-size: 28px;
  color: var(--wine);
}

.empty-state p {
  margin-top: 8px;
  color: var(--ink-soft);
}

.login-console h3 {
  margin-top: 14px;
  font-family: var(--f-display);
  font-size: 28px;
  color: var(--wine);
}

.login-console p {
  margin-top: 8px;
  color: var(--ink-soft);
}

.qr-box {
  margin-top: 24px;
  padding: 20px;
  border: 1px dashed var(--brass);
  background: var(--paper);
}

.qr-box img {
  display: block;
  max-width: 260px;
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.qr-box pre {
  white-space: pre-wrap;
  word-break: break-all;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 12px;
}

form[data-verify-form] {
  margin-top: 24px;
}

.service-workspace-page {
  overflow: hidden;
  background: var(--paper);
}

.service-product-shell {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  height: 100dvh;
  width: 100vw;
  background: var(--paper);
}

.service-product-rail {
  position: static;
}

.service-workspace {
  display: grid;
  grid-template-columns: 248px minmax(520px, 1fr) 360px;
  height: 100dvh;
  min-width: 0;
  width: 100%;
  margin: 0;
  border-left: 1px solid var(--rule);
  background: var(--surface);
  color: var(--ink);
}

.service-iconbar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 8px 0;
  border-right: 1px solid #d1edf1;
  background: #e8f6f6;
  color: #64748b;
}

.icon-logo,
.icon-item {
  display: grid;
  place-items: center;
  width: 42px;
  min-height: 46px;
  border: 0;
  border-radius: 6px;
  color: #64748b;
  font-family: var(--f-body);
  font-size: 12px;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.icon-item span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.icon-item small {
  margin-top: 1px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
}

.icon-logo {
  width: 36px;
  height: 36px;
  min-height: 36px;
  margin-bottom: 5px;
  background: #ff7a3d;
  color: white;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
}

.icon-item.active,
.icon-item:hover,
.icon-item:focus-visible {
  background: #dbeafe;
  color: #1d4ed8;
  outline: none;
}

.icon-item:active {
  transform: translateY(1px);
}

.service-iconbar form {
  width: 100%;
  display: grid;
  place-items: center;
}

.service-iconbar button.icon-item {
  cursor: pointer;
}

.icon-spacer {
  flex: 1;
}

.service-workspace .service-sessions,
.service-workspace .chat-panel,
.service-workspace .customer-panel {
  min-height: 0;
  border-right: 1px solid var(--rule);
}

.service-workspace .service-sessions {
  background: var(--surface);
}

.service-workspace .chat-panel {
  background:
    repeating-linear-gradient(-18deg, transparent 0 170px, rgba(148, 163, 184, 0.08) 171px 172px, transparent 173px 340px),
    var(--surface);
}

.service-workspace .customer-panel {
  border-right: none;
  background: var(--surface);
}

.session-brand {
  display: grid;
  grid-template-columns: 24px 34px minmax(0, 1fr) 26px;
  gap: 8px;
  align-items: center;
  height: 58px;
  padding: 0 10px;
  border-bottom: 1px solid var(--rule);
}

.session-brand strong,
.session-brand span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-brand strong {
  font-size: 14px;
  font-weight: 700;
}

.session-brand span {
  color: var(--ink-soft);
  font-size: 11px;
}

.session-back,
.session-brand button {
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.brand-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  background: linear-gradient(135deg, #facc15, #22c55e);
  color: #111827;
  font-weight: 800;
}

.workspace-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
}

.workspace-title span {
  color: var(--wine);
  font-family: var(--f-display);
  font-size: 24px;
  font-weight: 600;
}

.workspace-title strong {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.service-workspace .session-search.compact {
  padding: 10px 12px 8px;
  border-bottom: 0;
}

.search-box {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  background: var(--surface-muted);
  color: #8a94a6;
}

.service-workspace .search-box input {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  outline: 0;
}

.session-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr;
  align-items: end;
  height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--rule);
}

.session-tabs button {
  height: 100%;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

.session-tabs button.active {
  border-color: var(--wine);
  color: var(--ink);
}

.service-workspace .session-list.compact {
  height: calc(100dvh - 163px);
  overflow: auto;
}

.service-workspace .session-row {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  margin: 0 6px 4px;
  padding: 8px;
  border: 0;
  border-radius: 6px;
}

.service-workspace .session-row.active {
  border-left: 0;
  background: #3b82f6;
  color: white;
}

.service-workspace .session-row.active strong,
.service-workspace .session-row.active span,
.service-workspace .session-row.active time {
  color: white;
}

.service-session-row.is-unreplied {
  position: relative;
}

.service-session-row.is-unreplied::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9b2b38;
  box-shadow: 0 0 0 2px #fffaf1;
}

.message-stack .non-text-message {
  color: var(--ink-muted, #75695f);
  font-style: italic;
}

.service-workspace .chat-header.compact {
  justify-content: space-between;
  height: 58px;
  padding: 0 16px;
  background: var(--surface);
}

.chat-header-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.chat-header-actions button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--ink-soft);
  cursor: pointer;
}

.service-workspace .chat-thread.compact {
  height: calc(100dvh - 208px);
  padding: 36px 18px 26px;
}

.service-workspace .composer.compact {
  height: 150px;
  border-top: 1px solid var(--rule);
  background: var(--surface);
}

.service-workspace .composer textarea {
  min-height: 72px;
  border: 0;
  background: var(--surface);
  outline: 0;
}

.service-workspace .profile-tabs a {
  padding: 14px 6px 10px;
  white-space: nowrap;
}

.service-workspace .profile-tabs {
  display: flex;
  overflow-x: auto;
}

.service-workspace .profile-tabs a {
  flex: 0 0 auto;
  min-width: 64px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 11px;
}

.assistant-section {
  padding: 14px 12px;
  border-bottom: 1px solid var(--rule);
}

.assistant-section h2 {
  font-size: 14px;
  font-weight: 800;
}

.assistant-section p {
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 12px;
}

.assistant-list {
  height: calc(100dvh - 342px);
  overflow: auto;
  padding: 10px 12px 0;
}

.assistant-record {
  padding: 8px 0 12px;
  border-bottom: 1px solid var(--rule-soft);
}

.assistant-record header {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.record-avatar {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 700;
}

.assistant-record header strong {
  font-size: 13px;
}

.record-answer {
  min-height: 86px;
  padding: 10px;
  border: 1px solid var(--rule);
  border-radius: 4px;
  background: #fafafa;
}

.record-answer span {
  display: block;
  margin-bottom: 8px;
  color: var(--ink-soft);
  font-size: 11px;
}

.record-answer p {
  color: var(--ink);
  font-size: 13px;
}

.assistant-record footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 6px;
}

.assistant-record button {
  border: 0;
  background: transparent;
  color: #2563eb;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.customer-brief {
  max-height: 210px;
  overflow: auto;
  background: var(--surface);
}

.service-workspace .profile-section h3 {
  padding: 10px 12px;
  font-size: 14px;
  font-family: var(--f-body);
}

.service-workspace .profile-facts div {
  padding: 7px 12px;
}

.service-center-page .admin-shell {
  grid-template-columns: 176px minmax(0, 1fr);
}

.service-center-page .admin-rail {
  padding: 28px 20px;
}

.service-center-page .rail-brand {
  font-size: 18px;
}

.service-center-page .rail-nav a {
  padding: 10px 0;
  font-size: 11px;
}

.service-main {
  max-width: none;
  margin: 0;
  padding: 18px;
}

.service-center-page .masthead {
  display: none;
}

.service-center {
  display: grid;
  grid-template-columns: 320px minmax(520px, 1fr) 360px;
  height: calc(100vh - 36px);
  min-height: 720px;
  border: 1px solid var(--rule);
  background: rgba(244, 239, 227, 0.72);
}

.service-sessions,
.chat-panel,
.customer-panel {
  min-height: 0;
  border-right: 1px solid var(--rule);
  background: rgba(234, 226, 207, 0.35);
}

.customer-panel {
  border-right: none;
}

.session-search {
  padding: 18px;
  border-bottom: 1px solid var(--rule);
}

.session-search h1 {
  margin-bottom: 14px;
  font-family: var(--f-display);
  font-size: 30px;
  font-weight: 500;
  color: var(--wine);
  line-height: 1;
}

.session-search h1 .italic {
  color: var(--wine-deep);
  font-style: italic;
  font-weight: 400;
}

.session-search input,
.session-search select {
  margin-top: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  font: inherit;
}

.session-filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.session-filters button {
  margin-top: 0;
  border-color: var(--rule);
  background: var(--paper);
  color: var(--wine);
}

.session-title-row {
  display: flex;
  justify-content: space-between;
  padding: 12px 18px;
  border-bottom: 1px solid var(--rule);
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--brass);
  letter-spacing: 0.12em;
}

.session-list {
  height: calc(100% - 228px);
  overflow: auto;
}

.session-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--rule-soft);
  color: inherit;
  text-decoration: none;
}

.session-row.active {
  background: rgba(107, 39, 55, 0.10);
  border-left: 3px solid var(--wine);
}

.session-copy strong {
  display: block;
  color: var(--wine-deep);
  font-size: 14px;
}

.session-copy span {
  display: block;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-row time {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.chat-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: rgba(244, 239, 227, 0.82);
}

.chat-header {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--rule);
}

.chat-header strong {
  display: block;
  color: var(--wine-deep);
  font-size: 16px;
}

.chat-header p {
  color: var(--ink-soft);
  font-size: 13px;
}

.chat-header .status-pill {
  margin-left: auto;
}

.chat-thread {
  overflow: auto;
  padding: 22px 18px;
}

.thread-label {
  margin-bottom: 18px;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.chat-message {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  max-width: 72%;
  margin-bottom: 20px;
}

.chat-message.outbound {
  grid-template-columns: minmax(0, 1fr);
  justify-self: end;
  margin-left: auto;
}

.chat-message time {
  display: block;
  margin-bottom: 5px;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 11px;
}

.chat-message p {
  display: inline-block;
  padding: 10px 12px;
  border: 0;
  border-radius: 4px;
  background: #e5e7eb;
  color: var(--ink);
}

.chat-message.outbound p {
  background: var(--blue-soft);
}

.message-stack {
  display: grid;
  gap: 5px;
  justify-items: start;
}

.chat-message.outbound .message-stack {
  justify-items: end;
}

.knowledge-hit {
  max-width: 260px;
  padding: 7px 9px;
  border-radius: 4px;
  background: #f7f7f8;
  color: var(--ink-soft);
  font-size: 12px;
}

.knowledge-hit span {
  display: block;
  margin-bottom: 2px;
  color: #9ca3af;
  font-size: 11px;
}

.knowledge-hit strong {
  color: var(--ink-soft);
  font-weight: 500;
}

.reply-delay {
  margin: 22px auto;
  color: #9ca3af;
  font-size: 12px;
  text-align: center;
}

.composer {
  padding: 12px 16px;
  border-top: 1px solid var(--rule);
  background: rgba(234, 226, 207, 0.55);
}

.composer-tools {
  display: flex;
  gap: 10px;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 11px;
}

.composer-tools button {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #374151;
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}

.composer-tools button:hover,
.composer-tools button:focus-visible {
  background: var(--surface-muted);
  outline: none;
}

.composer-tools button:active {
  transform: translateY(1px);
}

.composer textarea {
  width: 100%;
  min-height: 96px;
  margin-top: 10px;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  resize: vertical;
}

.composer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  align-items: center;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 11px;
}

.composer-actions button {
  margin-top: 0;
}

.profile-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--rule);
}

.profile-tabs a {
  padding: 14px 8px;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 11px;
  text-align: center;
  text-decoration: none;
}

.profile-tabs a.active {
  color: var(--wine);
  border-bottom: 2px solid var(--wine);
}

.profile-card.compact {
  padding: 22px 18px;
}

.profile-section {
  border-top: 1px solid var(--rule);
}

.profile-section h3 {
  padding: 14px 18px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 22px;
  font-weight: 600;
}

.profile-section.collapsed h3::after {
  content: '⌄';
  float: right;
  color: var(--brass);
}

.inbox-shell {
  display: grid;
  grid-template-columns: 280px minmax(360px, 1fr) 300px;
  gap: 18px;
  align-items: stretch;
}

.inbox-column {
  min-height: 560px;
  border: 1px solid var(--rule);
  background: rgba(234, 226, 207, 0.45);
}

.inbox-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid var(--rule);
}

.inbox-panel-head strong {
  font-family: var(--f-display);
  font-size: 24px;
  font-weight: 500;
  color: var(--wine-deep);
}

.contact-list {
  display: grid;
}

.contact-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--rule-soft);
  color: inherit;
  text-decoration: none;
}

.contact-row.active {
  background: rgba(107, 39, 55, 0.08);
  border-left: 3px solid var(--wine);
}

.avatar-mark,
.profile-avatar {
  display: grid;
  place-items: center;
  border: 1px solid var(--brass);
  background: var(--paper);
  color: var(--wine);
  font-family: var(--f-display);
  font-style: italic;
}

.avatar-mark {
  width: 42px;
  height: 42px;
  font-size: 24px;
}

img.avatar-mark {
  display: block;
  object-fit: cover;
  border-color: transparent;
  border-radius: 6px;
}

.avatar-mark.small {
  width: 34px;
  height: 34px;
  font-size: 18px;
}

.contact-row strong {
  display: block;
  color: var(--wine-deep);
  font-size: 15px;
}

.contact-row span {
  display: block;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-row em {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 11px;
  font-style: normal;
}

.message-thread {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.message-bubble {
  max-width: 78%;
  padding: 14px 16px;
  border: 1px solid var(--rule);
  background: var(--paper);
}

.message-bubble span {
  display: block;
  margin-bottom: 6px;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.message-bubble p {
  color: var(--ink);
}

.profile-card {
  padding: 24px 20px;
  border-bottom: 1px solid var(--rule);
  text-align: center;
}

.profile-avatar {
  width: 72px;
  height: 72px;
  margin: 0 auto 14px;
  font-size: 40px;
}

.profile-card h2 {
  font-family: var(--f-display);
  font-size: 32px;
  font-weight: 500;
  color: var(--wine);
}

.profile-card p {
  color: var(--ink-soft);
}

.profile-facts {
  display: grid;
  gap: 0;
}

.profile-facts div {
  padding: 14px 18px;
  border-bottom: 1px solid var(--rule-soft);
}

.profile-facts dt {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.profile-facts dd {
  margin-top: 4px;
  color: var(--ink);
  word-break: break-all;
}

.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 18px;
}

.tag-cloud span {
  padding: 5px 9px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: var(--paper);
  color: var(--wine);
  font-family: var(--f-mono);
  font-size: 11px;
}

.empty-copy {
  padding: 20px;
  color: var(--ink-soft);
}

@media (max-width: 900px) {
  .admin-shell { display: block; }
  .admin-rail {
    position: static;
    height: auto;
    padding: 28px 24px;
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }
  .rail-note { position: static; margin-top: 28px; }
  .rail-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page { padding: 40px 24px; }
  .masthead, .ch-header, .ch-body, .card-grid, .admin-hero, .metric-grid, .ops-grid, .ops-grid.two-col, .inbox-shell, .service-center { display: block; height: auto; min-height: 0; }
  .masthead .meta { margin-top: 8px; }
  .admin-hero h1 { font-size: 56px; }
  .hero-ledger, .metric-card, .ops-panel + .ops-panel, .inbox-column + .inbox-column { margin-top: 16px; }
  .ch-numeral { font-size: 72px; margin-bottom: 20px; }
  .ch-aside { margin-bottom: 24px; }
  .action-card + .action-card { margin-top: 16px; }
}


/* Outreach workbench */
.outreach-page {
  --paper: #f7f8fa;
  --paper-deep: #eef3f8;
  --wine: #2f6feb;
  --wine-deep: #111827;
  --brass: #16a34a;
  --ink: #111827;
  --sage: #64748b;
  --line: #d8dee8;
  height: 100dvh;
  overflow: hidden;
  background: var(--paper);
}

.outreach-workbench {
  display: grid;
  grid-template-columns: 168px 344px minmax(520px, 1fr) 336px;
  height: 100dvh;
  color: var(--ink);
}

.outreach-rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  padding: 22px 10px 14px;
  background: #eaf2ff;
  border-right: 1px solid var(--rule);
}

.rail-signet,
.rail-glyph {
  display: flex;
  align-items: center;
  width: 100%;
  height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 5px;
  color: #334155;
  text-decoration: none;
  font-family: var(--f-body);
  font-size: 13px;
  font-weight: 600;
  background: transparent;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.rail-signet {
  margin-bottom: 14px;
  padding-left: 8px;
  background: transparent;
  color: #2463d7;
  font-size: 16px;
  font-weight: 800;
}

.rail-glyph.active,
.rail-glyph:hover,
.rail-glyph:focus-visible {
  background: #dbeafe;
  color: #1d4ed8;
  outline: none;
}

.rail-glyph:active {
  transform: translateY(1px);
}

.rail-glyph[type="submit"] {
  cursor: pointer;
}

.rail-line {
  flex: 1;
  width: auto;
  min-height: 18px;
  margin: 8px;
  background: rgba(181, 138, 69, 0.32);
}

.opportunity-ledger,
.memory-panel {
  min-height: 0;
  background: rgba(243, 232, 209, 0.92);
  border-right: 1px solid var(--line);
}

.opportunity-ledger {
  display: flex;
  flex-direction: column;
  padding: 22px 18px;
}

.ledger-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--wine-deep);
}

.mono-label {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ledger-head h1,
.desk-header h2,
.memory-panel h2 {
  margin-top: 4px;
  font-family: var(--f-display);
  color: var(--wine-deep);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ledger-head h1 {
  font-size: 30px;
  line-height: 1.05;
}

.ledger-head strong {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  border: 1px solid var(--brass);
  border-radius: 999px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
}

.ledger-filters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 16px 0;
}

.ledger-filters button,
.editor-actions button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.22);
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 11px;
  cursor: pointer;
}

.ledger-filters .active,
.editor-actions .primary {
  background: var(--wine-deep);
  border-color: var(--wine-deep);
  color: var(--paper);
}

.opportunity-list {
  display: grid;
  gap: 10px;
  overflow: auto;
  padding-right: 4px;
}

.opportunity-ticket,
.empty-ticket {
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brass);
  border-radius: 18px;
  background: rgba(255, 252, 242, 0.58);
  box-shadow: 0 14px 40px rgba(75, 15, 30, 0.06);
}

.opportunity-ticket.active {
  background: #fff8e8;
  border-color: rgba(75, 15, 30, 0.42);
}

.ticket-topline,
.opportunity-ticket footer,
.desk-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--sage);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ticket-topline mark {
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(181, 138, 69, 0.18);
  color: var(--wine);
}

.opportunity-ticket h2 {
  margin-top: 12px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 24px;
  line-height: 1.1;
}

.opportunity-ticket p,
.empty-ticket p {
  margin: 8px 0 14px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
}

.conversation-desk {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
  padding: 22px;
  border-right: 1px solid var(--line);
}

.desk-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--wine-deep);
}

.desk-header h2 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 0.95;
}

.desk-stats span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.reason-strip {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.8fr;
  gap: 10px;
  margin: 16px 0;
}

.reason-strip div {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 252, 242, 0.5);
}

.reason-strip span,
.memory-note-box span,
.message-editor label {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.reason-strip strong {
  display: block;
  margin-top: 4px;
  color: var(--wine-deep);
  font-size: 14px;
}

.thread-window {
  min-height: 0;
  overflow: auto;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(181, 138, 69, 0.16), transparent 32%),
    rgba(255, 252, 242, 0.46);
}

.thread-bubble {
  max-width: 72%;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.55);
}

.thread-bubble.outbound {
  margin-left: auto;
  background: var(--wine-deep);
  color: var(--paper);
  border-color: var(--wine-deep);
}

.thread-bubble time {
  display: block;
  margin-bottom: 4px;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.thread-bubble.outbound time {
  color: #D8B36C;
}

.empty-thread {
  padding: 28px;
  color: var(--sage);
}

.message-editor {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255, 252, 242, 0.72);
}

.message-editor textarea,
.message-editor input {
  width: 100%;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--ink);
  font: inherit;
}

.message-editor textarea {
  min-height: 118px;
  resize: vertical;
}

.message-editor input + input,
.message-editor input + textarea {
  margin-top: 8px;
}

.editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

.editor-status {
  min-height: 20px;
  margin-top: 8px;
  color: var(--sage);
  font-size: 13px;
}

.memory-panel {
  padding: 18px 14px;
  overflow: auto;
}

.memory-panel header {
  padding-bottom: 12px;
  border-bottom: 2px solid var(--wine-deep);
}

.memory-panel h2 {
  font-size: 28px;
  line-height: 1;
}

.memory-card {
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  background: var(--wine-deep);
  color: var(--paper);
}

.profile-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 10px;
  border-radius: 10px;
  background: var(--brass);
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 24px;
}

.memory-card h3 {
  font-family: var(--f-display);
  font-size: 25px;
  line-height: 1;
}

.memory-card p {
  color: rgba(243, 232, 209, 0.75);
}

.memory-facts {
  display: grid;
  gap: 6px;
  margin: 12px 0;
}

.memory-facts div {
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.memory-facts dt {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.memory-facts dd {
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 14px;
}

.memory-note-box {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 252, 242, 0.55);
}

.memory-note-box p {
  margin-top: 8px;
  color: var(--wine-deep);
  font-size: 14px;
  line-height: 1.45;
}

.ledger-tags {
  padding: 14px 0 0;
}

@media (max-width: 1180px) {
  .outreach-page { overflow: auto; }
  .outreach-workbench {
    grid-template-columns: 168px minmax(0, 1fr);
    height: auto;
    min-height: 100vh;
  }
  .opportunity-ledger,
  .conversation-desk,
  .memory-panel { grid-column: 2; }
  .outreach-rail { grid-row: 1 / span 3; min-height: 100vh; }
}

/* Edition 03 opportunity radar */
.outreach-page {
  --paper: #f7f8fa;
  --paper-deep: #eef3f8;
  --wine: #2f6feb;
  --wine-deep: #111827;
  --brass: #16a34a;
  --ink: #111827;
  --ink-soft: #6b7280;
  --moss: #15803d;
  --steel: #64748b;
  --line: #d8dee8;
  background: var(--paper);
}

.outreach-workbench {
  grid-template-columns: 168px minmax(290px, 320px) minmax(520px, 1fr) minmax(240px, 280px);
}

.rail-signet,
.rail-glyph {
  border-radius: 5px;
}

.rail-glyph[type="submit"] {
  margin-top: 0;
  padding: 0;
}

.radar-panel,
.memory-panel {
  min-height: 0;
  background: rgba(242, 238, 229, 0.94);
  border-right: 1px solid var(--line);
}

.radar-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px 14px 20px;
}

.radar-panel > * {
  flex: 0 0 auto;
}

.radar-panel .ledger-head { order: 1; }
.radar-panel .radar-actions { order: 2; }
.radar-panel .asset-strip { order: 3; }
.radar-panel .opportunity-queue-title { order: 4; }
.radar-panel .opportunity-list { order: 5; }
.radar-panel .playbook-panel { order: 6; }
.radar-panel .diagnostic-details { order: 7; }

.radar-panel .ledger-head {
  padding-bottom: 12px;
}

.radar-panel .ledger-head h1 {
  font-size: 26px;
}

.radar-panel .ledger-head strong {
  min-width: 38px;
  height: 38px;
  font-size: 12px;
}

.radar-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.46);
}

.radar-actions button,
.channel-switch button {
  margin-top: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper);
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.radar-actions button.primary,
.channel-switch button.active {
  border-color: var(--wine-deep);
  background: var(--wine-deep);
  color: var(--paper);
}

.radar-actions p {
  grid-column: 1 / -1;
  min-height: 20px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.outreach-title-row {
  align-items: center;
  padding: 0 0 6px;
  border-bottom: 1px solid var(--line);
  color: var(--brass);
  font-size: 10px;
  line-height: 1.2;
}

.outreach-title-row strong,
.outreach-title-row span {
  display: block;
  white-space: nowrap;
}

.side-details {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.34);
}

.side-details > summary {
  display: block;
  padding: 10px 11px;
  cursor: pointer;
  list-style: none;
}

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

.side-details > summary .outreach-title-row {
  padding: 0;
  border-bottom: 0;
}

.side-details > summary .outreach-title-row::after {
  content: "展开";
  margin-left: auto;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.side-details[open] > summary {
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.side-details[open] > summary .outreach-title-row::after {
  content: "收起";
}

.side-details > :not(summary) {
  margin-right: 10px;
  margin-left: 10px;
}

.interface-ledger {
  display: grid;
  gap: 8px;
}

.sync-run {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--steel);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.46);
}

.sync-run.success {
  border-left-color: var(--moss);
}

.sync-run.partial,
.sync-run.unconfigured {
  border-left-color: var(--brass);
}

.sync-run.error {
  border-left-color: var(--wine);
}

.sync-run p {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.sync-run time {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.sync-facts {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(86px, 0.6fr);
  gap: 8px;
}

.sync-facts div {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(242, 238, 229, 0.66);
}

.sync-facts span,
.probe-block > span {
  display: block;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 9px;
}

.sync-facts strong {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probe-block {
  display: grid;
  gap: 5px;
}

.probe-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(242, 238, 229, 0.54);
}

.probe-row.ok {
  border-color: rgba(82, 107, 91, 0.36);
}

.probe-row.fail {
  border-color: rgba(156, 117, 48, 0.38);
}

.probe-row code {
  overflow: hidden;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probe-row strong {
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 10px;
}

.tag-mapping-box {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.tag-read-row {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.44);
}

.tag-read-row.missing {
  border-left: 4px solid var(--brass);
}

.tag-read-row strong,
.tag-read-row small {
  display: block;
}

.tag-read-row strong {
  color: var(--wine-deep);
  font-size: 13px;
}

.tag-read-row small {
  overflow: hidden;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.asset-strip,
.radar-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.radar-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 16px 0;
}

.asset-strip div,
.radar-metrics div {
  min-height: 70px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.52);
}

.asset-strip span,
.radar-metrics span {
  display: block;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.asset-strip strong,
.radar-metrics strong {
  display: block;
  margin-top: 6px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 25px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.playbook-panel {
  display: grid;
  gap: 8px;
  min-height: 0;
}

.playbook-list {
  display: grid;
  gap: 6px;
  max-height: 220px;
  overflow: auto;
  padding-right: 2px;
}

.playbook-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 8px;
  align-items: start;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--moss);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.44);
}

.playbook-row.muted {
  border-left-color: var(--steel);
  opacity: 0.62;
}

.playbook-row strong,
.playbook-row span {
  display: block;
}

.playbook-row strong {
  color: var(--wine-deep);
  font-size: 13px;
  line-height: 1.35;
}

.playbook-row span {
  margin-top: 2px;
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 10px;
}

.playbook-row p {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  display: none;
  font-size: 11px;
  line-height: 1.4;
}

.playbook-row button {
  min-width: 46px;
  margin-top: 0;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper);
  color: var(--wine-deep);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.playbook-status {
  color: var(--ink-soft);
  display: none;
  font-size: 11px;
  line-height: 1.45;
}

.data-health {
  min-height: 0;
}

.health-list {
  display: grid;
  gap: 6px;
  padding-top: 6px;
}

.health-row {
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--steel);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.44);
}

.health-row.enabled {
  border-left-color: var(--moss);
}

.health-row.muted {
  opacity: 0.62;
}

.health-row strong,
.health-row span {
  display: block;
}

.health-row strong {
  color: var(--wine-deep);
  font-size: 13px;
}

.health-row span {
  margin-top: 2px;
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 10px;
}

.health-row p {
  margin-top: 6px;
  color: var(--ink-soft);
  display: none;
  font-size: 11px;
  line-height: 1.4;
}

.opportunity-list {
  min-height: 0;
  display: grid;
  gap: 8px;
  max-height: 45vh;
  overflow: auto;
  padding-right: 0;
}

.opportunity-ticket,
.empty-ticket,
.message-editor,
.thread-window,
.reason-strip div,
.decision-grid article,
.memory-card,
.memory-note-box {
  border-radius: 8px;
}

.opportunity-ticket {
  display: block;
  color: inherit;
  text-decoration: none;
  box-shadow: none;
  padding: 12px;
}

.opportunity-ticket h2 {
  font-size: 22px;
}

.opportunity-ticket p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 13px;
  line-height: 1.42;
}

.opportunity-ticket:hover {
  border-color: rgba(62, 24, 34, 0.42);
  transform: translateY(-1px);
}

.ticket-topline mark {
  border-radius: 4px;
  background: rgba(82, 107, 91, 0.15);
  color: var(--moss);
}

.ticket-audience {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 7px 9px;
  border: 1px solid rgba(82, 107, 91, 0.28);
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.10);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 10px;
}

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

.conversation-desk {
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
}

.operations-hub {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 22px;
  border-right: 1px solid var(--line);
}

.operations-hub > * {
  flex: 0 0 auto;
}

.hub-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--wine-deep);
}

.hub-header h2 {
  margin-top: 4px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.02;
}

.hub-header p {
  max-width: 620px;
  margin-top: 8px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.45;
}

.hub-totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  gap: 10px;
  min-width: 230px;
}

.hub-totals div,
.loop-step,
.channel-card,
.audience-panel,
.audience-segment-card,
.audience-summary,
.coverage-card,
.selected-execution,
.learning-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.78);
}

.hub-totals div {
  min-height: 72px;
  padding: 12px;
}

.hub-totals span,
.channel-card span,
.execution-reason span,
.execution-evidence span,
.learning-metrics span,
.gap-list span {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.hub-totals strong,
.channel-card strong,
.execution-evidence strong,
.learning-metrics strong {
  display: block;
  margin-top: 6px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.focus-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--moss);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.62);
}

.focus-hero span,
.focus-cards span {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.focus-hero h3 {
  margin-top: 8px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: clamp(28px, 2.8vw, 40px);
  line-height: 1.02;
}

.focus-hero p {
  max-width: 680px;
  margin-top: 8px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.focus-hero > strong {
  display: grid;
  place-items: center;
  min-width: 116px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 42px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  background: rgba(242, 238, 229, 0.70);
}

.focus-hero small {
  display: block;
  margin-top: 5px;
  color: var(--ink-soft);
  font-size: 12px;
}

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

.focus-cards article {
  min-height: 112px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.48);
}

.focus-cards strong {
  display: block;
  margin-top: 6px;
  color: var(--wine-deep);
  font-size: 16px;
  line-height: 1.28;
}

.focus-cards em {
  display: block;
  margin-top: 6px;
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 13px;
  font-style: normal;
}

.focus-cards p {
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.42;
}

.audience-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
}

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

.audience-segment-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: start;
  min-height: 116px;
  padding: 13px;
  border-left: 4px solid var(--steel);
}

.audience-segment-card.strong_private_service {
  border-left-color: var(--wine-deep);
}

.audience-segment-card.warm_campaign_nurture {
  border-left-color: var(--moss);
}

.audience-segment-card.weak_signal_observe {
  border-left-color: var(--brass);
}

.audience-segment-card span,
.audience-segment-card small {
  display: block;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.audience-segment-card strong {
  display: block;
  margin-top: 6px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 32px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.audience-segment-card em {
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.12);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
}

.audience-segment-card p {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.42;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audience-segment-card small {
  grid-column: 1 / -1;
}

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

.compact-loop div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.42);
}

.compact-loop div.ready,
.compact-loop div.active,
.compact-loop div.learning {
  border-left: 4px solid var(--moss);
}

.compact-loop div.waiting {
  border-left: 4px solid var(--brass);
}

.compact-loop div.blocked {
  border-left: 4px solid var(--wine);
}

.compact-loop span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.14);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 10px;
}

.compact-loop strong {
  overflow: hidden;
  color: var(--wine-deep);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compact-loop em {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
  font-style: normal;
}

.campaign-brief-panel {
  display: grid;
  gap: 10px;
}

.campaign-brief-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.campaign-brief-card {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brass);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.48);
}

.campaign-brief-card.active {
  border-left-color: var(--moss);
}

.campaign-brief-card strong,
.campaign-brief-card span {
  display: block;
}

.campaign-brief-card strong {
  color: var(--wine-deep);
  font-size: 15px;
}

.campaign-brief-card span,
.campaign-brief-card small {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.campaign-brief-card p {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.42;
}

.campaign-brief-card div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.campaign-brief-card small {
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
}

.campaign-quick-form {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) minmax(220px, 1.2fr) auto;
  gap: 8px;
  align-items: start;
}

.campaign-quick-form input {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 252, 242, 0.62);
  font-size: 13px;
}

.campaign-quick-form button {
  margin-top: 0;
  padding: 10px 12px;
  border-radius: 7px;
  letter-spacing: 0;
  text-transform: none;
}

.campaign-quick-form p {
  grid-column: 1 / -1;
  min-height: 18px;
  color: var(--ink-soft);
  font-size: 12px;
}

.campaign-detail-form-wrap {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.42);
}

.campaign-detail-form-wrap summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}

.campaign-detail-form-wrap summary::-webkit-details-marker {
  display: none;
}

.campaign-detail-form-wrap summary span,
.campaign-detail-form-wrap summary strong {
  display: block;
}

.campaign-detail-form-wrap summary span {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.campaign-detail-form-wrap summary strong {
  overflow: hidden;
  color: var(--wine-deep);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-detail-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}

.campaign-detail-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.campaign-detail-form label span {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 9px;
}

.campaign-detail-form input,
.campaign-detail-form select {
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 252, 242, 0.70);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}

.campaign-detail-form button {
  margin-top: 0;
  padding: 9px 11px;
  border-radius: 7px;
  letter-spacing: 0;
  text-transform: none;
}

.campaign-detail-form p {
  align-self: center;
  min-height: 18px;
  color: var(--ink-soft);
  font-size: 12px;
}

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

.loop-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  min-height: 96px;
  padding: 12px;
  border-left: 4px solid var(--steel);
}

.loop-step.ready,
.loop-step.active,
.loop-step.learning {
  border-left-color: var(--moss);
}

.loop-step.blocked {
  border-left-color: var(--wine);
}

.loop-step > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.14);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 11px;
}

.loop-step strong {
  color: var(--wine-deep);
  font-size: 14px;
}

.loop-step p {
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.35;
}

.loop-step em {
  grid-column: 1 / -1;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 13px;
  font-style: normal;
}

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

.channel-card {
  min-height: 116px;
  padding: 14px;
  border-left: 4px solid var(--steel);
}

.channel-card.private {
  border-left-color: var(--wine-deep);
}

.channel-card.moment,
.channel-card.group {
  border-left-color: var(--moss);
}

.channel-card.delay {
  border-left-color: var(--brass);
}

.channel-card.block {
  border-left-color: var(--wine);
}

.channel-card p {
  margin-top: 9px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.38;
}

.hub-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 11px;
}

.hub-section-title strong,
.hub-section-title span {
  display: block;
}

.playbook-coverage {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.66);
}

.playbook-coverage summary.hub-section-title {
  cursor: pointer;
  list-style: none;
}

.playbook-coverage summary.hub-section-title::-webkit-details-marker {
  display: none;
}

.playbook-coverage summary.hub-section-title span::after {
  content: " +";
}

.playbook-coverage[open] summary.hub-section-title span::after {
  content: " -";
}

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

.coverage-card {
  display: grid;
  gap: 10px;
  min-height: 142px;
  padding: 13px;
  border-left: 4px solid var(--moss);
}

.coverage-card.muted {
  opacity: 0.6;
  border-left-color: var(--steel);
}

.coverage-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.coverage-head strong {
  display: block;
  color: var(--wine-deep);
  font-size: 15px;
  line-height: 1.35;
}

.coverage-head span,
.coverage-meta span,
.coverage-samples small {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.coverage-head mark {
  display: grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(82, 107, 91, 0.15);
  color: var(--moss);
  font-family: var(--f-mono);
}

.coverage-meta,
.coverage-samples {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.coverage-meta span,
.coverage-samples small {
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.execution-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  gap: 14px;
  min-height: 0;
}

.selected-execution,
.learning-panel {
  min-width: 0;
  padding: 16px;
}

.execution-reason {
  margin-top: 14px;
}

.execution-reason strong {
  display: block;
  margin-top: 4px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 30px;
  line-height: 1.05;
}

.execution-reason p {
  margin-top: 8px;
  max-width: 720px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
}

.audience-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: start;
  margin-top: 12px;
  padding: 12px;
  border-left: 4px solid var(--moss);
}

.audience-summary.strong_private_service {
  border-left-color: var(--wine-deep);
}

.audience-summary.warm_campaign_nurture {
  border-left-color: var(--moss);
}

.audience-summary.weak_signal_observe {
  border-left-color: var(--brass);
}

.audience-summary.muted {
  border-left-color: var(--steel);
  opacity: 0.82;
}

.audience-summary span {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.audience-summary strong {
  display: block;
  margin-top: 4px;
  color: var(--wine-deep);
  font-size: 17px;
}

.audience-summary em {
  padding: 8px 10px;
  border-radius: 7px;
  background: rgba(82, 107, 91, 0.12);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 13px;
  font-style: normal;
  white-space: nowrap;
}

.audience-summary p {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.audience-summary small {
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--ink-soft);
  font-size: 12px;
}

.execution-evidence,
.learning-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.execution-evidence div,
.learning-metrics div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(242, 238, 229, 0.54);
}

.execution-evidence strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compact-editor {
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.compact-editor textarea {
  min-height: 96px;
}

.learning-metrics {
  grid-template-columns: 1fr;
}

.gap-list {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.gap-list p {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--wine-deep);
  font-size: 13px;
}

.feedback-form {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.feedback-form > span {
  display: block;
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.feedback-form textarea {
  min-height: 76px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 10px;
  background: rgba(255, 252, 242, 0.62);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
}

.feedback-form div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.feedback-form button {
  margin-top: 0;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 252, 242, 0.72);
  color: var(--wine-deep);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.feedback-form button:first-child {
  border-color: rgba(82, 107, 91, 0.42);
  color: var(--moss);
}

.feedback-form button:last-child {
  border-color: rgba(110, 27, 45, 0.35);
  color: var(--wine);
}

.feedback-form p {
  min-height: 18px;
  color: var(--ink-soft);
  font-size: 12px;
}

.desk-header h2 {
  font-size: clamp(30px, 3.8vw, 52px);
}

.desk-stats span {
  border-radius: 6px;
  background: rgba(255, 252, 242, 0.42);
}

.reason-strip {
  grid-template-columns: minmax(0, 1.45fr) minmax(150px, 0.65fr) minmax(180px, 0.75fr);
}

.decision-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.decision-grid article {
  padding: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 252, 242, 0.46);
}

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

.decision-grid dt {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.decision-grid dd {
  margin-top: 3px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  overflow-wrap: anywhere;
}

.tag-cloud.compact {
  padding: 10px 0 0;
}

.tag-cloud.compact span,
.ledger-tags span {
  max-width: 100%;
  border-radius: 4px;
  overflow-wrap: anywhere;
}

.thread-window {
  background:
    linear-gradient(135deg, rgba(82, 107, 91, 0.10), transparent 38%),
    rgba(255, 252, 242, 0.5);
}

.channel-switch {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.editor-actions button {
  border-radius: 6px;
  letter-spacing: 0;
  text-transform: none;
}

.editor-actions button:disabled {
  opacity: 0.55;
}

.memory-card {
  background: linear-gradient(145deg, var(--wine-deep), #26362D);
}

.profile-mark {
  border-radius: 8px;
}

.memory-facts dd {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1180px) {
  .outreach-workbench {
    grid-template-columns: 168px minmax(0, 1fr);
  }
  .radar-panel,
  .operations-hub,
  .conversation-desk,
  .memory-panel {
    grid-column: 2;
  }
  .memory-panel {
    border-top: 1px solid var(--line);
  }
  .radar-metrics,
  .reason-strip,
  .decision-grid,
  .loop-steps,
  .channel-board,
  .focus-cards,
  .audience-segment-grid,
  .compact-loop,
  .campaign-brief-list,
  .campaign-quick-form,
  .campaign-detail-form,
  .coverage-grid,
  .execution-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .outreach-workbench {
    display: block;
  }
  .outreach-rail {
    min-height: auto;
    flex-direction: row;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .rail-line {
    display: none;
  }
  .asset-strip,
  .radar-metrics,
  .reason-strip,
  .decision-grid,
  .decision-grid dl,
  .channel-switch,
  .radar-actions,
  .loop-steps,
  .channel-board,
  .focus-hero,
  .focus-cards,
  .audience-segment-grid,
  .compact-loop,
  .campaign-brief-list,
  .campaign-quick-form,
  .campaign-detail-form,
  .coverage-grid,
  .execution-grid,
  .execution-evidence,
  .hub-totals {
    grid-template-columns: 1fr;
  }
  .operations-hub,
  .conversation-desk {
    padding: 16px;
  }
  .hub-header {
    display: block;
  }
  .hub-totals {
    margin-top: 14px;
    min-width: 0;
  }
  .focus-hero > strong {
    min-width: 0;
  }
}

@media (max-width: 1180px) {
  .admin-shell,
  .service-product-shell,
  .ai-flow-shell,
  .outreach-workbench {
    display: grid;
    grid-template-columns: 168px minmax(900px, 1fr);
    overflow: auto;
  }

  .product-rail,
  .admin-rail,
  .service-product-rail {
    position: sticky;
    left: 0;
    top: 0;
    z-index: 5;
  }

  .product-rail-nav,
  .admin-rail .rail-nav,
  .service-product-rail .rail-nav {
    grid-template-columns: 1fr !important;
  }

  .service-workspace {
    min-width: 960px;
  }

  .ai-flow-shell {
    min-width: 1068px;
  }
}

/* Product console final theme: closer to Enterprise WeChat admin surfaces. */
.admin-shell,
.service-product-shell,
.ai-flow-shell,
.outreach-workbench {
  background: #eef4ff;
}

.admin-rail,
.service-product-rail,
.outreach-rail {
  width: 168px;
  background: #e7f0ff;
  border-right: 1px solid #d8e4f4;
  color: #1f2937;
}

.rail-brand,
.rail-signet {
  height: auto;
  margin: 0 8px 18px;
  padding: 0;
  color: #2563eb;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
}

.rail-nav,
.outreach-rail {
  font-size: 13px;
}

.admin-rail .rail-nav,
.service-product-rail .rail-nav {
  grid-template-columns: 1fr !important;
}

.rail-nav a,
.rail-glyph {
  min-height: 34px;
  height: 34px;
  border-radius: 4px;
  color: #334155;
  font-size: 13px;
  font-weight: 500;
}

.rail-nav a.active,
.rail-nav a:hover,
.rail-glyph.active,
.rail-glyph:hover,
.rail-glyph:focus-visible {
  background: #d8eaff;
  color: #1d4ed8;
}

.rail-note {
  left: 18px;
  right: 18px;
  bottom: 14px;
  border-top-color: #d8e4f4;
}

.admin-main,
.ai-flow-main {
  background: #f7f8fb;
}

.page.admin-main {
  max-width: none;
  margin: 0;
  padding: 24px 28px;
}

.admin-main .masthead {
  height: 48px;
  margin: -24px -28px 20px;
  padding: 0 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.masthead .brand,
.masthead .meta,
.eyebrow,
.mono-label,
.mono-cell {
  font-family: var(--f-body);
  letter-spacing: 0;
  text-transform: none;
}

.masthead .brand {
  color: #111827;
  font-size: 15px;
  font-weight: 700;
}

.masthead .meta {
  color: #64748b;
  font-size: 12px;
}

.admin-hero,
.ai-command-hero {
  gap: 16px;
  align-items: stretch;
  margin: 0 0 16px;
  padding: 18px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.admin-hero h1,
.ai-command-hero h1,
.ops-panel h2,
.login-console h2 {
  color: #111827;
  font-family: var(--f-body);
  font-size: 24px;
  font-weight: 750;
  line-height: 1.2;
}

.admin-hero h1 .italic {
  color: inherit;
  font-style: normal;
}

.admin-hero p,
.ai-command-hero p {
  max-width: 820px;
  margin-top: 8px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.hero-ledger,
.ai-command-hero aside {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  padding: 14px;
}

.hero-ledger strong,
.ai-command-hero aside strong {
  margin-top: 6px;
  color: #111827;
  font-family: var(--f-body);
  font-size: 18px;
  font-weight: 750;
}

.metric-card,
.ops-panel,
.login-console,
.ai-next-card,
.queue-item,
.feedback-card,
.learning-metric-grid article,
.queue-channel-strip article,
.sync-run,
.health-row,
.playbook-row,
.opportunity-ticket {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.ops-panel,
.login-console {
  padding: 18px;
}

.metric-card {
  padding: 16px;
}

.metric-card span,
.panel-head span,
.ai-next-card span,
.queue-channel-strip span,
.learning-metric-grid span {
  color: #64748b;
  font-family: var(--f-body);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.metric-card strong,
.queue-channel-strip strong,
.learning-metric-grid strong {
  color: #2563eb;
  font-family: var(--f-body);
  font-size: 22px;
  font-weight: 750;
}

.admin-link,
.ai-command-hero a,
.flow-tabs a,
.queue-link,
.opportunity-ticket a {
  color: #2563eb;
  font-family: var(--f-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

button,
.e03-button-like,
.ai-action-bar button,
.login-console button,
.editor-actions button,
.ledger-filters button {
  border-radius: 5px;
}

.ai-flow-main {
  padding: 16px 24px 28px;
}

.ai-command-hero {
  border-bottom: 1px solid #e5e7eb;
}

.ai-command-hero h1 {
  margin-top: 4px;
  font-size: 24px;
}

.flow-tabs {
  margin: 0 0 14px;
  padding: 0;
  border-bottom: 1px solid #e5e7eb;
}

.flow-tabs a {
  padding: 12px 14px;
}

.flow-tabs a.active {
  color: #1d4ed8;
  border-bottom-color: #2563eb;
}

.ai-action-bar {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.ai-action-bar button,
.login-console button,
.composer-actions button {
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
}

.ai-action-bar button.primary,
.login-console button:not(:disabled),
.composer-actions button:not(:disabled) {
  border-color: #2f6feb;
  background: #2f6feb;
  color: #fff;
}

.opportunity-ledger,
.memory-panel,
.radar-panel,
.operations-hub {
  background: #fff;
  border-right: 1px solid #e5e7eb;
}

.ledger-head h1,
.hub-header h1,
.focus-hero > strong {
  color: #111827;
  font-family: var(--f-body);
  font-size: 20px;
  font-weight: 750;
  line-height: 1.25;
}

.service-product-shell {
  background: #eef4ff;
}

.service-workspace {
  border-left: 1px solid #d8e4f4;
  background: #fff;
}

.service-workspace .service-sessions,
.service-workspace .chat-panel,
.service-workspace .customer-panel {
  border-right-color: #e5e7eb;
}

.session-brand,
.chat-header.compact,
.profile-tabs,
.assistant-section,
.service-workspace .composer.compact {
  border-color: #e5e7eb;
}

.session-row,
.service-workspace .session-row {
  border-radius: 6px;
}

.service-workspace .session-row.active {
  background: #3b82f6;
}

.service-workspace .chat-panel {
  background:
    repeating-linear-gradient(-18deg, transparent 0 180px, rgba(148, 163, 184, 0.06) 181px 182px, transparent 183px 360px),
    #fff;
}

.console-page {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 16px 24px 28px;
  background: #f7f8fb;
}

.console-toolbar,
.console-panel,
.console-alert {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.console-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 78px;
  padding: 16px 18px;
}

.console-toolbar h1 {
  margin: 0;
  color: #111827;
  font-family: var(--f-body);
  font-size: 22px;
  font-weight: 750;
}

.console-toolbar p,
.console-panel-head p,
.console-metrics p,
.console-summary-card p,
.console-list p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

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

.console-actions a,
.console-actions button,
.console-table-row button,
.console-table-row a,
.console-inline-form button,
.console-panel-head a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.console-actions .primary,
.console-actions button.primary,
.console-table-row button.primary,
.console-inline-form button {
  border-color: #2f6feb;
  background: #2f6feb;
  color: #fff;
}

.console-state {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 700;
}

.console-state.warn {
  background: #fff7ed;
  color: #b45309;
}

.console-alert {
  padding: 10px 14px;
  background: #fff8e1;
  color: #7c5b13;
  font-size: 13px;
  text-align: center;
}

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

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

.console-metrics article {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.console-metrics span,
.console-panel-head span,
.console-table-row span,
.console-table-row em,
.console-list span,
.console-summary-card small {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}

.console-metrics strong {
  display: block;
  margin-top: 4px;
  color: #2563eb;
  font-size: 22px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.console-panel {
  min-width: 0;
  overflow: hidden;
}

.console-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #e5e7eb;
}

.console-panel-head h2 {
  margin: 0;
  color: #111827;
  font-family: var(--f-body);
  font-size: 16px;
  font-weight: 750;
}

.console-panel-head strong {
  display: block;
  margin-top: 4px;
  color: #111827;
  font-size: 16px;
  font-weight: 750;
}

.console-table {
  display: grid;
}

.console-table-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) minmax(260px, 1.8fr) minmax(96px, 0.5fr);
  gap: 12px;
  align-items: center;
  min-height: 48px;
  padding: 10px 16px;
  border-bottom: 1px solid #edf0f5;
  color: inherit;
  text-decoration: none;
}

.console-table-row.four {
  grid-template-columns: minmax(150px, 1fr) 96px 96px minmax(220px, 1.4fr);
}

.console-table-row.head {
  min-height: 36px;
  background: #f8fafc;
  color: #64748b;
  font-weight: 650;
}

.console-table-row:last-child {
  border-bottom: 0;
}

.console-table-row strong {
  overflow: hidden;
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.queue-table .console-table-row {
  grid-template-columns: minmax(150px, 0.8fr) minmax(300px, 1.7fr) 96px 72px minmax(190px, 0.9fr);
}

.feedback-table .console-table-row {
  grid-template-columns: minmax(150px, 0.8fr) minmax(300px, 1.5fr) 96px minmax(300px, 1.2fr);
}

.console-table-row > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.console-table-row div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.console-table-row textarea {
  width: 100%;
  min-height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  padding: 6px 8px;
  resize: vertical;
}

.console-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.console-panel > p {
  margin: 0;
  padding: 14px 16px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

.console-form-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin: 0 16px 16px;
}

.console-form-row label {
  color: #64748b;
  font-size: 13px;
}

.console-form-row input {
  min-height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  padding: 0 10px;
  font: inherit;
}

.console-form-row button,
.console-panel-head button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #2f6feb;
  border-radius: 5px;
  background: #2f6feb;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.console-form-row button:disabled,
.console-panel-head button:disabled {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #9ca3af;
  cursor: default;
}

.robot-console .qr-box {
  margin: 0 16px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
}

.robot-console .robot-flow-table .console-table-row {
  grid-template-columns: minmax(110px, 0.8fr) minmax(150px, 0.9fr) minmax(240px, 1.4fr);
}

.robot-console .robot-flow-table .console-table-row.header {
  min-height: 36px;
  background: #f8fafc;
  font-weight: 650;
}

.console-summary-card {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid #edf0f5;
}

.console-summary-card strong {
  color: #111827;
  font-size: 14px;
}

.console-summary-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.console-summary-card small {
  padding: 3px 6px;
  border-radius: 4px;
  background: #f1f5f9;
}

.console-inline-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(240px, 1.4fr) auto;
  gap: 8px;
  padding: 14px 16px;
}

.console-inline-form input {
  min-height: 32px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  padding: 0 10px;
}

.console-inline-form p {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 12px;
}

.console-list {
  display: grid;
  gap: 0;
  padding: 6px 16px 12px;
}

.console-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #edf0f5;
}

.console-list div:last-child {
  border-bottom: 0;
}

.console-list strong {
  color: #111827;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .console-page {
    min-width: 980px;
  }
}

/* AI native outreach flow */
.ai-flow-shell {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  height: 100dvh;
  color: var(--ink);
}

.ai-flow-main {
  overflow: auto;
  min-width: 0;
  padding: 24px;
}

.ai-command-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.32fr);
  gap: 18px;
  align-items: stretch;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--wine-deep);
}

.ai-command-hero.compact {
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.25fr);
}

.ai-command-hero h1 {
  margin-top: 6px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 600;
  line-height: 0.95;
}

.ai-command-hero p {
  max-width: 780px;
  margin-top: 12px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.58;
}

.ai-command-hero aside {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--moss);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.76);
}

.ai-command-hero aside span,
.ai-next-card span,
.ai-loop-steps span,
.queue-item header span,
.queue-item footer span,
.feedback-card header span,
.learned-list span,
.log-timeline span,
.queue-channel-strip span,
.learning-metric-grid span {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 10px;
}

.ai-command-hero aside strong {
  color: var(--wine-deep);
  font-size: 22px;
  line-height: 1.25;
}

.ai-command-hero aside a,
.ai-next-card,
.flow-tabs a,
.queue-link,
.ai-empty-state a {
  color: inherit;
  text-decoration: none;
}

.ai-command-hero aside a,
.ai-empty-state a {
  display: inline-flex;
  width: fit-content;
  padding: 9px 12px;
  border-radius: 6px;
  background: var(--wine-deep);
  color: var(--paper);
  font-family: var(--f-mono);
  font-size: 12px;
}

.legacy-entry-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 16px 0 18px;
  border: 1px solid rgba(166, 111, 45, 0.28);
  border-left: 5px solid var(--brass);
  border-radius: 8px;
  background: rgba(255, 248, 232, 0.82);
  padding: 14px 16px;
}

.legacy-entry-notice strong {
  display: block;
  margin-top: 4px;
  color: var(--wine-deep);
  font-size: 18px;
  line-height: 1.25;
}

.legacy-entry-notice p {
  margin: 6px 0 0;
  color: var(--ink-soft);
  line-height: 1.48;
}

.legacy-entry-notice a {
  flex: 0 0 auto;
  border-radius: 6px;
  background: var(--wine-deep);
  color: var(--paper);
  padding: 10px 13px;
  font-family: var(--f-mono);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.flow-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}

.flow-tabs a {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 252, 242, 0.58);
  color: var(--wine-deep);
  font-size: 13px;
}

.flow-tabs a.active,
.flow-tabs a:hover {
  border-color: var(--wine-deep);
  background: var(--wine-deep);
  color: var(--paper);
}

.ai-action-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, auto)) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.66);
}

.ai-action-bar button,
.queue-item button,
.feedback-card button {
  margin-top: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper);
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}

.ai-action-bar button.primary,
.queue-item button.primary {
  border-color: var(--wine-deep);
  background: var(--wine-deep);
  color: var(--paper);
}

.ai-action-bar p {
  min-height: 18px;
  color: var(--ink-soft);
  font-size: 12px;
}

.ai-next-grid,
.learning-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.ai-next-card,
.learning-metric-grid article,
.queue-channel-strip article,
.ai-board-panel,
.queue-board,
.learning-column,
.queue-item,
.feedback-card,
.learned-list article,
.log-timeline article,
.ai-empty-state {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.74);
}

.ai-next-card {
  display: grid;
  gap: 8px;
  min-height: 124px;
  padding: 14px;
  border-left: 4px solid var(--steel);
}

.ai-next-card.primary {
  border-left-color: var(--wine-deep);
}

.ai-next-card.learn,
.ai-next-card.soft {
  border-left-color: var(--moss);
}

.ai-next-card.warn,
.ai-next-card.critical {
  border-left-color: var(--brass);
}

.ai-next-card strong {
  color: var(--wine-deep);
  font-size: 17px;
}

.ai-next-card p,
.ai-loop-steps p,
.queue-channel-strip p,
.learning-metric-grid p {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}

.ai-loop-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 18px;
}

.ai-loop-steps a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  min-height: 110px;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--steel);
  border-radius: 8px;
  background: rgba(255, 252, 242, 0.62);
  color: inherit;
  text-decoration: none;
}

.ai-loop-steps a.active,
.ai-loop-steps a.ready,
.ai-loop-steps a.learning {
  border-left-color: var(--moss);
}

.ai-loop-steps a.blocked {
  border-left-color: var(--brass);
}

.ai-loop-steps span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.12);
  color: var(--moss);
}

.ai-loop-steps strong {
  color: var(--wine-deep);
  font-size: 14px;
}

.ai-loop-steps em {
  grid-column: 1 / -1;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 12px;
  font-style: normal;
}

.ai-board-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 14px;
  align-items: start;
}

.ai-board-panel,
.queue-board,
.learning-column {
  min-width: 0;
  padding: 16px;
}

.ai-board-panel.wide {
  grid-column: 1 / -1;
}

.ai-section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.ai-section-head h2 {
  margin-top: 4px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 32px;
  line-height: 1;
}

.ai-section-head > strong {
  color: var(--brass);
  font-family: var(--f-mono);
  font-size: 12px;
  white-space: nowrap;
}

.campaign-focus-card {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--moss);
  border-radius: 8px;
  background: rgba(242, 238, 229, 0.58);
}

.campaign-focus-card span,
.campaign-focus-card small {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 10px;
}

.campaign-focus-card strong {
  color: var(--wine-deep);
  font-size: 20px;
}

.campaign-focus-card p {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
}

.campaign-focus-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.campaign-focus-card small {
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
}

.campaign-detail-form-wrap.compact {
  margin-top: 10px;
}

.command-form {
  margin-top: 10px;
}

.ai-data-list {
  display: grid;
  gap: 8px;
}

.ai-data-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(242, 238, 229, 0.54);
}

.ai-data-list span {
  color: var(--ink-soft);
  font-size: 13px;
}

.ai-data-list strong {
  color: var(--wine-deep);
  font-family: var(--f-mono);
}

.compact-gap p {
  margin-top: 7px;
}

.queue-channel-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.queue-channel-strip article,
.learning-metric-grid article {
  min-height: 112px;
  padding: 13px;
  border-left: 4px solid var(--steel);
}

.queue-channel-strip article.private {
  border-left-color: var(--wine-deep);
}

.queue-channel-strip article.moment,
.queue-channel-strip article.group {
  border-left-color: var(--moss);
}

.queue-channel-strip article.delay,
.queue-channel-strip article.block {
  border-left-color: var(--brass);
}

.queue-channel-strip strong,
.learning-metric-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 30px;
  line-height: 1;
}

.queue-channel-strip p,
.learning-metric-grid p {
  margin-top: 8px;
}

.queue-list,
.feedback-card-list,
.learned-list,
.log-timeline {
  display: grid;
  gap: 10px;
}

.queue-item {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-left: 4px solid var(--moss);
}

.queue-item.private {
  border-left-color: var(--wine-deep);
}

.queue-item.delay,
.queue-item.block {
  border-left-color: var(--brass);
}

.queue-item header,
.queue-item footer,
.feedback-card header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.queue-item h3,
.feedback-card strong,
.learned-list strong,
.log-timeline strong {
  display: block;
  margin-top: 4px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 26px;
  line-height: 1.05;
}

.queue-item mark,
.feedback-card mark {
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(82, 107, 91, 0.12);
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 11px;
}

.queue-item p,
.feedback-card p,
.learned-list p,
.log-timeline p {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.52;
}

.queue-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.queue-proof strong,
.queue-proof span,
.queue-proof small {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--moss);
  font-family: var(--f-mono);
  font-size: 11px;
}

.queue-item blockquote {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(242, 238, 229, 0.54);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.55;
}

.queue-item footer div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.queue-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 11px;
}

.queue-status {
  min-height: 18px;
  color: var(--ink-soft);
  font-size: 12px;
}

.learning-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 14px;
  align-items: start;
}

.feedback-card,
.learned-list article,
.log-timeline article,
.ai-empty-state {
  padding: 13px;
}

.feedback-card {
  display: grid;
  gap: 10px;
}

.feedback-card textarea {
  width: 100%;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 252, 242, 0.72);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  resize: vertical;
}

.feedback-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.feedback-card small,
.ai-empty-state p {
  color: var(--ink-soft);
  font-size: 12px;
}

.learned-list article,
.log-timeline article {
  display: grid;
  gap: 5px;
}

.ai-empty-state {
  display: grid;
  gap: 10px;
}

.ai-empty-state strong {
  color: var(--wine-deep);
  font-size: 18px;
}

@media (max-width: 1180px) {
  .ai-command-hero,
  .ai-command-hero.compact,
  .legacy-entry-notice,
  .ai-board-grid,
  .learning-grid {
    grid-template-columns: 1fr;
  }

  .ai-next-grid,
  .learning-metric-grid,
  .queue-channel-strip,
  .ai-loop-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .ai-flow-shell {
    display: block;
    height: auto;
    min-height: 100vh;
  }

  .ai-flow-main {
    padding: 16px;
  }

  .legacy-entry-notice {
    align-items: stretch;
    flex-direction: column;
  }

  .legacy-entry-notice a {
    width: fit-content;
  }

  .ai-action-bar,
  .ai-next-grid,
  .learning-metric-grid,
  .queue-channel-strip,
  .ai-loop-steps,
  .audience-segment-grid {
    grid-template-columns: 1fr;
  }

  .queue-item header,
  .queue-item footer,
  .feedback-card header,
  .ai-section-head {
    display: block;
  }

  .queue-item footer div {
    justify-content: flex-start;
    margin-top: 10px;
  }
}

/* WeCom-inspired Ai-chatma service workbench iteration */
:root {
  --wine: #7b2631;
  --wine-deep: #3b171d;
  --brass: #b88746;
  --brass-soft: #d7bc82;
  --paper: #f4eddf;
  --paper-deep: #e8decc;
  --ink: #2a211c;
  --ink-soft: #75695f;
  --rule: #d9cdb9;
  --rule-soft: #eee3d2;
  --surface: #fffaf1;
  --surface-muted: #f7f0e5;
  --blue-soft: #f0dfc2;
  --green-soft: #efe7d5;
  --shadow-panel: 0 18px 42px rgba(59, 23, 29, 0.12);
  --f-display: 'Songti SC', 'Noto Serif SC', 'STSong', Georgia, serif;
  --f-body: -apple-system, BlinkMacSystemFont, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --f-mono: 'JetBrains Mono', 'SFMono-Regular', ui-monospace, Menlo, monospace;
}

.product-rail,
.service-product-rail,
.admin-rail,
.outreach-rail {
  width: 190px;
  padding: 24px 12px 16px;
  border-right-color: var(--rule);
  background:
    linear-gradient(180deg, rgba(255, 250, 241, 0.78), rgba(232, 222, 204, 0.92)),
    var(--paper-deep);
  color: var(--ink);
}

.product-rail-brand,
.rail-brand,
.rail-signet {
  margin: 0 8px 22px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.product-rail-nav a,
.rail-nav a,
.rail-glyph {
  min-height: 36px;
  border-radius: 7px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
}

.product-rail-nav a span,
.rail-nav a span {
  color: var(--brass);
}

.product-rail-nav a.active,
.product-rail-nav a:hover,
.product-rail-nav a:focus-visible,
.rail-nav a.active,
.rail-nav a:hover,
.rail-nav a:focus-visible,
.rail-glyph.active,
.rail-glyph:hover,
.rail-glyph:focus-visible {
  background: rgba(123, 38, 49, 0.12);
  color: var(--wine-deep);
  outline: 2px solid transparent;
}

.product-rail-foot {
  border-top-color: rgba(123, 38, 49, 0.14);
}

.product-rail-foot a,
.product-rail-foot button {
  color: var(--ink-soft);
}

.service-workspace-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(184, 135, 70, 0.16), transparent 28vw),
    var(--paper);
}

.service-product-shell {
  grid-template-columns: 190px minmax(0, 1fr);
  background: var(--paper);
}

.service-admin-shell {
  display: grid;
  grid-template-columns: 180px minmax(880px, 1fr);
  min-width: 1060px;
  height: 100dvh;
  padding: 12px 12px 12px 0;
}

.service-secondary-rail {
  min-height: 0;
  overflow: auto;
  padding: 20px 14px;
  border-right: 1px solid var(--rule);
  background: rgba(255, 250, 241, 0.62);
}

.secondary-rail-title {
  display: grid;
  gap: 4px;
  margin-bottom: 20px;
}

.secondary-rail-title span,
.service-nav-heading,
.service-content-kicker {
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.secondary-rail-title strong {
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 20px;
  letter-spacing: -0.03em;
}

.service-secondary-rail nav,
.service-nav-group {
  display: grid;
}

.service-secondary-rail nav {
  gap: 18px;
}

.service-nav-group {
  gap: 4px;
}

.service-nav-heading {
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.service-nav-item {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 7px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.service-nav-item.active,
.service-nav-item:hover,
.service-nav-item:focus-visible {
  background: rgba(123, 38, 49, 0.12);
  color: var(--wine);
  outline: none;
}

.service-content-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(123, 38, 49, 0.12);
  border-radius: 10px;
  background: rgba(255, 250, 241, 0.96);
  box-shadow: var(--shadow-panel);
}

.service-content-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 86px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--rule-soft);
  background: linear-gradient(180deg, rgba(255, 250, 241, 0.98), rgba(250, 244, 233, 0.98));
}

.service-content-head h1 {
  margin: 3px 0 4px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.service-content-head p {
  max-width: 680px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.6;
}

.service-content-meta {
  display: grid;
  justify-items: end;
  gap: 8px;
  color: var(--ink-soft);
  font-size: 12px;
}

.service-content-meta strong {
  color: var(--wine-deep);
  font-family: var(--f-mono);
  font-size: 12px;
}

.service-workspace {
  grid-template-columns: 240px minmax(360px, 1fr) 280px;
  height: auto;
  min-height: 0;
  border-left: 0;
  background: var(--surface);
}

.service-workspace .service-sessions,
.service-workspace .chat-panel,
.service-workspace .customer-panel {
  border-right-color: var(--rule-soft);
  background: rgba(255, 250, 241, 0.78);
}

.service-workspace .customer-panel {
  background: rgba(250, 244, 233, 0.86);
}

.session-brand,
.chat-header.compact,
.profile-tabs,
.assistant-section,
.service-workspace .composer.compact {
  border-color: var(--rule-soft);
}

.brand-avatar,
.avatar-mark,
.record-avatar {
  border-radius: 7px;
  background: rgba(123, 38, 49, 0.12);
  color: var(--wine-deep);
}

.service-workspace .session-row {
  margin: 0 8px 5px;
  border-radius: 7px;
}

.service-workspace .session-row:hover,
.service-workspace .session-row:focus-visible {
  background: rgba(184, 135, 70, 0.12);
  outline: none;
}

.service-workspace .session-row.active {
  background: var(--wine);
  color: var(--surface);
}

.service-workspace .session-row.active strong,
.service-workspace .session-row.active span,
.service-workspace .session-row.active time {
  color: var(--surface);
}

.service-workspace .chat-panel {
  background:
    linear-gradient(rgba(255, 250, 241, 0.86), rgba(255, 250, 241, 0.9)),
    repeating-linear-gradient(-18deg, transparent 0 180px, rgba(123, 38, 49, 0.035) 181px 182px, transparent 183px 360px);
}

.service-workspace .chat-thread.compact {
  height: calc(100dvh - 294px);
  padding: 32px 20px 24px;
}

.service-workspace .session-list.compact {
  height: calc(100dvh - 249px);
}

.service-workspace .composer.compact {
  height: 150px;
  background: rgba(255, 250, 241, 0.96);
}

.chat-message p {
  background: #eadfcb;
}

.chat-message.outbound p {
  background: #f0dfc2;
  color: var(--wine-deep);
}

.knowledge-hit,
.record-answer,
.service-empty {
  border: 1px solid var(--rule-soft);
  background: rgba(255, 250, 241, 0.74);
}

.assistant-record button {
  color: var(--wine);
}

.profile-tabs a.active {
  color: var(--wine);
  border-bottom-color: var(--wine);
}

.service-workspace .profile-facts div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  min-height: 36px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--rule-soft);
}

.service-workspace .profile-facts dt {
  color: var(--ink-soft);
  font-size: 12px;
}

.service-workspace .profile-facts dd {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  word-break: break-word;
}

.tag-cloud span,
.status-pill.have,
.status-pill.partial,
.status-pill.new {
  border-radius: 6px;
}

.status-pill.have {
  color: var(--wine-deep);
  background: rgba(184, 135, 70, 0.22);
}

.status-pill.partial {
  color: #7c5b13;
  background: rgba(184, 135, 70, 0.16);
}

.status-pill.new {
  color: var(--wine);
  background: rgba(123, 38, 49, 0.1);
}

.composer-actions button:not(:disabled),
.login-console button:not(:disabled),
.ai-action-bar button.primary,
.console-actions .primary,
.console-actions button.primary,
.console-table-row button.primary,
.console-inline-form button,
.console-form-row button,
.console-panel-head button {
  border-color: var(--wine);
  background: var(--wine);
  color: var(--surface);
}

.composer-actions button:not(:disabled):hover,
.login-console button:not(:disabled):hover,
.console-actions .primary:hover,
.console-form-row button:hover,
.console-panel-head button:hover {
  background: var(--wine-deep);
}

.admin-link,
.ai-command-hero a,
.flow-tabs a,
.queue-link,
.opportunity-ticket a,
.assistant-record button {
  color: var(--wine);
}

.metric-card strong,
.queue-channel-strip strong,
.learning-metric-grid strong,
.console-metrics strong {
  color: var(--wine);
}

@media (max-width: 1180px) {
  .admin-shell,
  .service-product-shell,
  .ai-flow-shell,
  .outreach-workbench {
    grid-template-columns: 190px minmax(880px, 1fr);
  }

  .service-admin-shell {
    min-width: 1060px;
  }
}

/* Service workbench cleanup: single rail + corpChain-like content surface */
.service-clean-page .service-product-shell {
  grid-template-columns: 190px minmax(900px, 1fr);
  background: var(--paper-deep);
}

.service-clean-page .service-clean-rail {
  width: 190px;
  padding: 26px 12px 18px;
}

.service-clean-page .product-rail-brand {
  margin-bottom: 28px;
  font-size: 19px;
}

.service-clean-page .product-rail-nav {
  gap: 8px;
}

.service-clean-page .product-rail-nav a {
  min-height: 44px;
  gap: 14px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
}

.service-clean-page .product-rail-nav a span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 18px;
  line-height: 1;
}

.service-clean-page .service-content-panel {
  display: block;
  height: calc(100dvh - 24px);
  margin: 12px 12px 12px 0;
  overflow: hidden;
  border: 1px solid rgba(123, 38, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 250, 241, 0.98);
  box-shadow: none;
}

.service-clean-page .service-workspace {
  grid-template-columns: 286px minmax(400px, 1fr) 360px;
  height: 100%;
  min-width: 900px;
  background: var(--surface);
}

.service-clean-page .session-brand,
.service-clean-page .service-content-head,
.service-clean-page .service-secondary-rail {
  display: none;
}

.service-clean-page .service-workspace .session-search.compact {
  padding: 18px 16px 10px;
}

.service-clean-page .search-box {
  height: 36px;
  background: var(--surface-muted);
}

.service-clean-page .session-tabs {
  height: 46px;
  padding: 0 16px;
}

.service-clean-page .session-title-row {
  padding: 10px 16px;
  border-bottom: 1px solid var(--rule-soft);
}

.service-clean-page .service-workspace .session-list.compact {
  height: calc(100dvh - 177px);
}

.service-clean-page .service-workspace .session-row {
  margin: 0;
  padding: 10px 16px;
  border-bottom: 1px solid var(--rule-soft);
  border-radius: 0;
}

.service-clean-page .chat-header.compact {
  height: 76px;
  padding: 0 22px;
}

.service-clean-page .chat-header.compact strong {
  font-size: 20px;
  font-weight: 800;
}

.service-clean-page .chat-header.compact p {
  margin-top: 2px;
}

.service-clean-page .service-workspace .chat-thread.compact {
  height: calc(100dvh - 252px);
  padding: 40px 24px 28px;
}

.service-clean-page .service-workspace .composer.compact {
  height: 176px;
  padding: 18px 22px;
}

.service-clean-page .composer textarea {
  min-height: 86px;
  margin-top: 12px;
  font-size: 15px;
}

.service-clean-page .customer-panel.compact {
  background: rgba(250, 244, 233, 0.72);
}

.service-clean-page .profile-tabs {
  height: 50px;
  overflow-x: auto;
  overflow-y: hidden;
}

.service-clean-page .profile-tabs a {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: auto;
  padding: 0 14px;
  font-size: 13px;
}

.service-clean-page .assistant-section {
  padding: 18px 18px 16px;
}

.service-clean-page .assistant-section h2 {
  font-size: 16px;
}

.service-clean-page .assistant-section p,
.service-clean-page .service-empty {
  font-size: 14px;
}

.service-clean-page .assistant-list {
  height: calc(100dvh - 302px);
  padding: 12px 18px 0;
}

.service-clean-page .customer-brief {
  max-height: 260px;
}

.service-clean-page .service-workspace .profile-facts div {
  grid-template-columns: 104px minmax(0, 1fr);
  padding: 10px 18px;
}

.service-clean-page .clean-workspace-shell {
  display: grid;
  grid-template-columns: 190px minmax(900px, 1fr);
  width: 100%;
  min-width: 1090px;
  height: 100dvh;
  overflow: hidden;
  background: var(--paper-deep);
}

.service-clean-page .service-clean-rail,
.service-clean-page .product-rail {
  border-right: 0;
  box-shadow: none;
}

.service-clean-page .product-rail-nav a {
  min-height: 40px;
  gap: 12px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 650;
}

.service-clean-page .product-rail-nav a span {
  display: grid;
  flex: 0 0 26px;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--brass);
  font-size: 20px;
  line-height: 1;
}

.service-clean-page .clean-content-panel {
  height: calc(100dvh - 24px);
  margin: 12px 12px 12px 0;
  overflow: auto;
  border: 1px solid rgba(123, 38, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 250, 241, 0.98);
  box-shadow: none;
}

.service-clean-page .ai-flow-main.clean-content-panel,
.service-clean-page .admin-main.clean-content-panel {
  padding: 22px 24px 28px;
}

.service-clean-page .admin-main .masthead {
  margin: -22px -24px 22px;
  border-bottom-color: var(--rule-soft);
  background: rgba(255, 250, 241, 0.98);
}

/* Final unified WeCom-like admin shell */
html,
body.service-clean-page {
  min-height: 100%;
  background: var(--paper-deep);
}

body.service-clean-page {
  margin: 0;
}

.service-clean-page .clean-workspace-shell {
  display: grid;
  grid-template-columns: 190px minmax(900px, 1fr);
  width: 100%;
  min-width: 1090px;
  min-height: 100vh;
  height: auto;
  align-items: stretch;
  overflow: visible;
  background: var(--paper-deep);
}

.service-clean-page .service-clean-rail,
.service-clean-page .product-rail.service-clean-rail {
  position: sticky;
  top: 0;
  align-self: start;
  width: 190px;
  height: 100vh;
  padding: 26px 12px 18px;
  border-right: 0;
  background:
    linear-gradient(180deg, rgba(255, 250, 241, 0.54), rgba(232, 222, 204, 0.72)),
    var(--paper-deep);
  box-shadow: none;
}

.service-clean-page .product-rail-brand {
  margin: 0 8px 28px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.service-clean-page .product-rail-nav {
  gap: 8px;
}

.service-clean-page .product-rail-nav a {
  min-height: 44px;
  gap: 14px;
  padding: 0 14px;
  border-radius: 8px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
}

.service-clean-page .product-rail-nav a span {
  display: grid;
  flex: 0 0 26px;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--brass);
  font-size: 22px;
  line-height: 1;
}

.service-clean-page .product-rail-nav a.active,
.service-clean-page .product-rail-nav a:hover,
.service-clean-page .product-rail-nav a:focus-visible {
  background: rgba(123, 38, 49, 0.12);
  color: var(--wine-deep);
  outline: none;
}

.service-clean-page .product-rail-nav a.active span,
.service-clean-page .product-rail-nav a:hover span,
.service-clean-page .product-rail-nav a:focus-visible span {
  color: var(--brass);
}

.service-clean-page .clean-content-panel {
  min-height: calc(100vh - 24px);
  height: auto;
  margin: 12px 12px 12px 0;
  overflow: visible;
  border: 1px solid rgba(123, 38, 49, 0.1);
  border-radius: 10px;
  background: rgba(255, 250, 241, 0.98);
  box-shadow: none;
}

.service-clean-page .service-content-panel {
  margin: 12px 12px 12px 0;
  border-color: rgba(123, 38, 49, 0.1);
  background: rgba(255, 250, 241, 0.98);
}

.service-clean-page .ai-flow-main.clean-content-panel,
.service-clean-page .admin-main.clean-content-panel,
.service-clean-page .product-home.clean-content-panel {
  padding: 22px 24px 28px;
}

.service-clean-page .admin-main,
.service-clean-page .ai-flow-main,
.service-clean-page .console-page,
.service-clean-page .product-home {
  background: rgba(255, 250, 241, 0.98);
}

.service-clean-page .admin-main .masthead {
  margin: -22px -24px 22px;
  border-bottom-color: var(--rule-soft);
  background: rgba(255, 250, 241, 0.98);
}

.service-clean-page .console-toolbar,
.service-clean-page .console-alert,
.service-clean-page .console-metrics article,
.service-clean-page .console-panel,
.service-clean-page .console-table,
.service-clean-page .ai-empty-state,
.service-clean-page .robot-console .console-metrics article {
  border-color: var(--rule-soft);
  background: rgba(255, 250, 241, 0.82);
  box-shadow: none;
}

.service-clean-page .console-toolbar {
  background: rgba(255, 250, 241, 0.9);
}

.service-clean-page .console-alert,
.service-clean-page .console-table-row.head,
.service-clean-page .console-table-row.header {
  background: rgba(250, 244, 233, 0.72);
}

.service-clean-page .console-metrics strong,
.service-clean-page .console-panel h2,
.service-clean-page .console-toolbar h1,
.service-clean-page .robot-console strong {
  color: var(--wine-deep);
}

.service-clean-page .console-actions .primary,
.service-clean-page .console-actions button.primary,
.service-clean-page .console-inline-form button,
.service-clean-page .console-form-row button,
.service-clean-page .console-panel-head button,
.service-clean-page .home-inline-actions button:first-child,
.service-clean-page .product-home button.primary {
  border-color: var(--wine);
  background: var(--wine);
  color: var(--surface);
}

.service-clean-page .console-actions a,
.service-clean-page .console-panel-head a,
.service-clean-page .console-table-row em,
.service-clean-page .product-home a,
.service-clean-page .home-status-grid a {
  color: var(--wine);
}

.service-clean-page .console-actions button,
.service-clean-page .console-actions a,
.service-clean-page .product-home button,
.service-clean-page .home-brief-bottom a,
.service-clean-page .home-status-grid a {
  border-color: var(--rule);
  background: rgba(255, 250, 241, 0.84);
}

.service-clean-page .product-home-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule-soft);
}

.service-clean-page .product-eyebrow,
.service-clean-page .home-section-title span,
.service-clean-page .home-ai-brief > span,
.service-clean-page .home-next-step > span,
.service-clean-page .home-module-card span,
.service-clean-page .home-metrics span {
  display: block;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.service-clean-page .product-home h1 {
  margin: 5px 0 7px;
  color: var(--wine-deep);
  font-family: var(--f-display);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.service-clean-page .product-home p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}

.service-clean-page .product-home-head p {
  max-width: 680px;
}

.service-clean-page .product-home-actions,
.service-clean-page .home-inline-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.service-clean-page .product-home button,
.service-clean-page .home-brief-bottom a,
.service-clean-page .home-status-grid a {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}

.service-clean-page .home-brief-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 14px;
  margin-top: 18px;
}

.service-clean-page .home-ai-brief,
.service-clean-page .home-next-step,
.service-clean-page .home-status-grid > article,
.service-clean-page .home-metrics,
.service-clean-page .home-module-grid {
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255, 250, 241, 0.82);
  overflow: hidden;
}

.service-clean-page .home-ai-brief,
.service-clean-page .home-next-step,
.service-clean-page .home-status-grid > article {
  min-height: 178px;
  padding: 18px;
}

.service-clean-page .home-ai-brief strong,
.service-clean-page .home-next-step strong,
.service-clean-page .home-section-title strong,
.service-clean-page .home-module-card strong,
.service-clean-page .home-status-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--wine-deep);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.45;
}

.service-clean-page .home-ai-brief p,
.service-clean-page .home-next-step p {
  margin-top: 10px;
}

.service-clean-page .home-brief-bottom,
.service-clean-page .home-proof-list,
.service-clean-page .home-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}

.service-clean-page .product-home mark {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 5px;
  background: rgba(184, 135, 70, 0.16);
  color: var(--wine);
  font-size: 12px;
  font-weight: 650;
}

.service-clean-page .home-next-step small,
.service-clean-page .home-section-title small,
.service-clean-page .home-metrics small,
.service-clean-page .home-module-card p {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.service-clean-page .home-inline-actions {
  margin-top: 14px;
  justify-content: flex-start;
}

.service-clean-page .home-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 14px;
}

.service-clean-page .home-metrics article {
  min-width: 0;
  padding: 14px 16px;
  border-right: 1px solid var(--rule-soft);
  background: rgba(250, 244, 233, 0.44);
}

.service-clean-page .home-metrics article:last-child {
  border-right: 0;
}

.service-clean-page .home-metrics strong {
  display: block;
  margin: 6px 0 2px;
  color: var(--wine);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.1;
}

.service-clean-page .home-connection-strip {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255, 250, 241, 0.82);
}

.service-clean-page .home-connection-strip .home-section-title {
  margin-bottom: 0;
}

.service-clean-page .home-connection-strip a {
  color: var(--wine);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}

.service-clean-page .home-connection-items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--rule-soft);
  border-bottom: 1px solid var(--rule-soft);
}

.service-clean-page .home-connection-items a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 14px;
  border-right: 1px solid var(--rule-soft);
}

.service-clean-page .home-connection-items a:first-child {
  padding-left: 0;
}

.service-clean-page .home-connection-items a:last-child {
  padding-right: 0;
  border-right: 0;
}

.service-clean-page .home-connection-items span {
  color: var(--ink-soft);
  font-size: 12px;
}

.service-clean-page .home-connection-items small {
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-clean-page .home-connection-items strong {
  color: var(--wine-deep);
  font-size: 18px;
}

.service-clean-page .home-connection-stages {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.service-clean-page .home-connection-stages span {
  min-height: 23px;
  padding: 3px 8px;
  border: 1px solid var(--rule-soft);
  border-radius: 4px;
  color: var(--ink-soft);
  font-size: 11px;
}

.service-clean-page .home-connection-stages .passed {
  border-color: rgba(74, 118, 91, 0.34);
  background: rgba(74, 118, 91, 0.1);
  color: #315f43;
}

.service-clean-page .home-connection-stages .watch {
  border-color: rgba(184, 135, 70, 0.4);
  background: rgba(184, 135, 70, 0.12);
  color: #81591f;
}

.service-clean-page .home-section {
  margin-top: 20px;
}

.service-clean-page .home-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}

.service-clean-page .home-section-title.compact {
  align-items: center;
  margin-bottom: 10px;
}

.service-clean-page .home-section-title.compact strong {
  font-size: 15px;
}

.service-clean-page .home-module-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-clean-page .home-module-card {
  display: flex;
  flex-direction: column;
  min-height: 174px;
  padding: 16px;
  border-right: 1px solid var(--rule-soft);
  background: rgba(255, 250, 241, 0.78);
  color: inherit;
  text-decoration: none;
}

.service-clean-page .home-module-card:last-child {
  border-right: 0;
}

.service-clean-page .home-module-card:hover,
.service-clean-page .home-module-card:focus-visible {
  background: rgba(184, 135, 70, 0.1);
  outline: none;
}

.service-clean-page .home-module-card p {
  margin-top: 9px;
}

.service-clean-page .home-module-card mark {
  margin-top: auto;
  align-self: flex-start;
}

.service-clean-page .home-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.service-clean-page .home-status-grid p {
  min-height: 42px;
}

@media (max-width: 1320px) {
  .service-clean-page .home-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-clean-page .home-module-card {
    border-bottom: 1px solid var(--rule-soft);
  }

  .service-clean-page .home-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-clean-page .home-connection-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .service-clean-page .product-home-head,
  .service-clean-page .home-section-title {
    display: grid;
  }

  .service-clean-page .home-brief-grid,
  .service-clean-page .home-status-grid,
  .service-clean-page .home-module-grid,
  .service-clean-page .home-metrics {
    grid-template-columns: 1fr;
  }

  .service-clean-page .home-module-card,
  .service-clean-page .home-metrics article {
    border-right: 0;
    border-bottom: 1px solid var(--rule-soft);
  }

  .service-clean-page .home-connection-items {
    grid-template-columns: 1fr;
  }

  .service-clean-page .home-connection-items a,
  .service-clean-page .home-connection-items a:first-child,
  .service-clean-page .home-connection-items a:last-child {
    padding: 10px 0;
    border-right: 0;
    border-bottom: 1px solid var(--rule-soft);
  }
}

body.service-clean-page {
  --wine: #7b2631;
  --wine-deep: #3b171d;
  --brass: #b88746;
  --brass-soft: #d7bc82;
  --paper: #f4eddf;
  --paper-deep: #e8decc;
  --surface: #fffaf1;
  --surface-muted: #f7f0e5;
  --rule: #d9cdb9;
  --rule-soft: #eee3d2;
  --frame-bg: linear-gradient(180deg, #f3eadc 0%, #e8decc 100%);
}

body.service-clean-page,
.service-clean-page .clean-workspace-shell,
.service-clean-page .service-product-shell {
  background: #e8decc !important;
  background-image: var(--frame-bg) !important;
}

.service-clean-page .service-clean-rail,
.service-clean-page .product-rail.service-clean-rail {
  background: transparent !important;
  background-image: none !important;
}

.service-clean-page .product-rail-nav a span,
.service-clean-page .product-rail-nav a.active span,
.service-clean-page .product-rail-nav a:hover span,
.service-clean-page .product-rail-nav a:focus-visible span {
  color: var(--brass) !important;
}

.service-clean-page .clean-content-panel,
.service-clean-page .service-content-panel,
.service-clean-page .admin-main,
.service-clean-page .ai-flow-main,
.service-clean-page .console-page,
.service-clean-page .product-home {
  background: rgba(255, 250, 241, 0.98) !important;
}

.service-clean-page .clean-content-panel,
.service-clean-page .service-content-panel {
  margin: 18px 18px 18px 0 !important;
  border-radius: 12px !important;
}

.service-clean-page .console-toolbar,
.service-clean-page .console-alert,
.service-clean-page .console-metrics article,
.service-clean-page .console-panel,
.service-clean-page .console-table,
.service-clean-page .ai-empty-state,
.service-clean-page .home-ai-brief,
.service-clean-page .home-next-step,
.service-clean-page .home-status-grid > article,
.service-clean-page .home-metrics,
.service-clean-page .home-module-grid {
  border-color: var(--rule-soft) !important;
  background: rgba(255, 250, 241, 0.82) !important;
}

.service-clean-page .console-actions .primary,
.service-clean-page .console-actions button.primary,
.service-clean-page .console-actions a.primary,
.service-clean-page .ai-action-bar button.primary,
.service-clean-page .console-table-row button.primary,
.service-clean-page .console-inline-form button,
.service-clean-page .console-form-row button,
.service-clean-page .console-panel-head button,
.service-clean-page .product-home button.primary,
.service-clean-page .home-inline-actions button:first-child {
  border-color: var(--wine) !important;
  background: var(--wine) !important;
  color: var(--surface) !important;
}

.service-clean-page .console-actions a,
.service-clean-page .console-panel-head a,
.service-clean-page .console-table-row em,
.service-clean-page .console-table-row a,
.service-clean-page .product-home a,
.service-clean-page .home-status-grid a,
.service-clean-page .home-brief-bottom a {
  color: var(--wine) !important;
}

/* Final bugfixes: scrolling, right radius, service icon sizing */
body.service-clean-page {
  overflow-y: auto !important;
  overflow-x: auto !important;
}

.service-clean-page .clean-workspace-shell {
  grid-template-columns: 190px minmax(0, 1fr) !important;
  overflow: visible !important;
}

.service-clean-page .clean-content-panel,
.service-clean-page .service-content-panel {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 18px 18px 18px 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.service-clean-page .ai-flow-main.clean-content-panel,
.service-clean-page .admin-main.clean-content-panel,
.service-clean-page .product-home.clean-content-panel {
  box-sizing: border-box !important;
}

.service-clean-page .service-content-panel {
  height: calc(100vh - 36px) !important;
}

.service-clean-page .service-workspace {
  height: 100% !important;
}

.service-clean-page .product-rail-nav .nav-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.service-clean-page .composer-tools button,
.service-clean-page .chat-header-actions button,
.service-clean-page .search-box span {
  display: inline-grid;
  place-items: center;
  color: var(--brass) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.service-workspace-page .chat-header-actions > .mobile-customer-toggle {
  display: none !important;
}

body.service-workspace-page .chat-header-actions > .mobile-customer-toggle {
  display: none !important;
}

.service-clean-page .composer-tools button {
  width: 34px !important;
  height: 30px !important;
}

.service-clean-page .chat-header-actions button {
  width: 34px !important;
  height: 32px !important;
}

.service-clean-page .search-box span {
  width: 28px !important;
  height: 28px !important;
}

/* Service workspace functional additions */
.service-lane-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: auto;
  min-height: 68px;
  gap: 2px;
  padding: 6px 12px;
}

.service-lane-tabs a {
  display: grid;
  place-items: center;
  min-height: 28px;
  border-bottom: 2px solid transparent;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.service-lane-tabs a.active {
  border-color: var(--wine);
  color: var(--wine);
}

.service-alert-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 8px 12px;
  padding: 8px 10px;
  border: 1px solid #fed7aa;
  border-radius: 6px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
}

.session-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.session-badges mark {
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(182, 138, 53, 0.16);
  color: var(--wine);
  font-size: 10px;
  font-weight: 700;
}

.session-badges mark.danger {
  background: #fee2e2;
  color: #b91c1c;
}

.service-workspace .session-row.active .session-badges mark {
  background: rgba(255, 255, 255, 0.18);
  color: white;
}

.result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 0 12px 8px;
}

.service-result-panel textarea,
.service-todo-panel input,
.service-todo-panel textarea {
  width: calc(100% - 24px);
  margin: 0 12px 8px;
  padding: 8px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}

.service-result-panel textarea,
.service-todo-panel textarea {
  min-height: 54px;
  resize: vertical;
}

.service-result-panel p[data-service-result-status] {
  min-height: 20px;
  padding: 0 12px 8px;
  color: var(--wine);
  font-size: 12px;
}

.assistant-record [data-insert-text],
.assistant-record [data-capture-qa],
.result-grid button,
.todo-item button,
.service-todo-panel form button,
.opportunity-mini button,
.material-list button {
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: rgba(250, 244, 233, 0.72);
  color: var(--wine);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.service-todo-panel form button {
  margin: 0 12px 8px;
  padding: 7px 10px;
}

.todo-item,
.opportunity-mini {
  margin: 8px 12px 12px;
  padding: 10px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  background: var(--surface);
}

.todo-item span,
.opportunity-mini span,
.material-list button span {
  display: block;
  color: var(--ink-soft);
  font-size: 11px;
}

.todo-item p,
.opportunity-mini p {
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 12px;
}

.follow-up-history-item {
  margin: 0 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--rule-soft);
}

.follow-up-history-item:last-child {
  border-bottom: 0;
}

.follow-up-history-item div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.follow-up-history-item time {
  color: var(--ink-soft);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
}

.follow-up-history-item p {
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}

.material-list {
  display: grid;
  gap: 6px;
  padding: 0 12px 12px;
}

.material-list button {
  display: block;
  width: 100%;
  padding: 8px;
  text-align: left;
}

.avatar-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, 0.58);
  cursor: zoom-out;
}

.avatar-preview-overlay img,
.avatar-preview-letter {
  display: grid;
  place-items: center;
  width: min(360px, 70vw);
  height: min(360px, 70vw);
  border-radius: 18px;
  background: var(--surface);
  color: var(--wine);
  font-size: 96px;
  font-weight: 900;
  object-fit: cover;
}


/* v7 service messages layout repair */
.service-clean-page .clean-workspace-shell {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  width: 100vw !important;
  min-width: 1180px !important;
  height: 100vh !important;
  overflow: hidden !important;
}

.service-clean-page .product-rail.service-clean-rail {
  position: sticky !important;
  left: 0 !important;
  top: 0 !important;
  width: 190px !important;
  min-width: 190px !important;
  height: 100vh !important;
  padding: 26px 12px 18px !important;
  overflow: hidden !important;
}

.service-clean-page .product-rail-brand {
  display: block !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

.service-clean-page .service-content-panel {
  min-width: 0 !important;
  width: auto !important;
  height: calc(100vh - 36px) !important;
  margin: 18px 18px 18px 0 !important;
}

.service-clean-page .service-workspace {
  grid-template-columns: 300px minmax(560px, 1fr) 360px !important;
  height: 100% !important;
  min-width: 0 !important;
}

.service-clean-page .service-sessions.compact,
.service-clean-page .chat-panel.compact,
.service-clean-page .customer-panel.compact {
  min-width: 0 !important;
}

.service-clean-page .service-lane-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
  height: auto !important;
  min-height: 70px !important;
  padding: 6px 16px !important;
  align-items: stretch !important;
}

.service-clean-page .service-lane-tabs a,
.service-clean-page .service-lane-tabs a:visited {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.service-clean-page .service-lane-tabs a.active,
.service-clean-page .service-lane-tabs a:hover,
.service-clean-page .service-lane-tabs a:focus-visible {
  border-bottom-color: var(--wine) !important;
  color: var(--wine) !important;
  outline: none !important;
}

.service-clean-page .service-alert-strip {
  margin: 0 !important;
  padding: 6px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rule-soft) !important;
  border-radius: 0 !important;
  background: rgba(255, 250, 241, 0.56) !important;
  color: var(--wine-deep) !important;
}

.service-clean-page .service-workspace .session-list.compact {
  height: calc(100vh - 246px) !important;
}

.service-clean-page .customer-panel.compact {
  overflow: auto !important;
}

.service-clean-page .robot-login-page.clean-content-panel {
  height: calc(100dvh - 36px) !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.broadcast-page .broadcast-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
  padding: 20px 22px 22px;
}

.broadcast-page .broadcast-form label {
  display: grid;
  gap: 8px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.4;
}

.broadcast-page .broadcast-form input,
.broadcast-page .broadcast-form select,
.broadcast-page .broadcast-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.7);
  color: var(--ink);
  font: inherit;
  letter-spacing: 0;
}

.broadcast-page .broadcast-form input,
.broadcast-page .broadcast-form select {
  height: 42px;
  padding: 0 12px;
}

.broadcast-page .broadcast-form textarea {
  min-height: 104px;
  padding: 11px 12px;
  resize: vertical;
}

.broadcast-page .broadcast-content-field,
.broadcast-page .broadcast-form-actions {
  grid-column: 1 / -1;
}

.broadcast-page .broadcast-form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.broadcast-page .broadcast-form-actions button {
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: var(--wine-deep);
  color: var(--paper);
  font-weight: 700;
}

.broadcast-page .broadcast-form-actions p {
  color: var(--ink-soft);
  font-size: 13px;
}

.broadcast-page .broadcast-table .console-table-row {
  grid-template-columns: minmax(180px, 1.5fr) 90px 90px minmax(220px, 1.4fr) 150px;
}

.broadcast-page .broadcast-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.broadcast-page .broadcast-row-actions button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
}

@media (max-width: 900px) {
  .broadcast-page .broadcast-form {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .broadcast-page .broadcast-content-field,
  .broadcast-page .broadcast-form-actions {
    grid-column: 1;
  }

  .broadcast-page .broadcast-table {
    overflow-x: auto;
  }

  .broadcast-page .broadcast-table .console-table-row {
    min-width: 760px;
  }
}
.session-filter-details {
  margin: 0 12px 10px;
  border-bottom: 1px solid var(--rule-soft);
}

.session-filter-details summary {
  padding: 7px 0;
  color: var(--ink-soft);
  cursor: pointer;
  font-size: 12px;
}

.directory-switcher {
  margin: 0 12px 10px;
  border: 1px solid var(--line, #ded7ca);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.45);
}

.directory-switcher summary {
  padding: 9px 11px;
  cursor: pointer;
  color: var(--ink-muted, #75695f);
  font-size: 12px;
}

.directory-switcher nav {
  display: grid;
  gap: 2px;
  padding: 0 6px 7px;
}

.directory-switcher a {
  padding: 7px 8px;
  border-radius: 4px;
  color: var(--ink, #2a211c);
  text-decoration: none;
  font-size: 12px;
}

.directory-switcher a:hover,
.directory-switcher a.active {
  background: rgba(123, 38, 49, 0.08);
  color: var(--wine, #7b2631);
}

.directory-empty-state {
  margin: 12px;
  padding: 20px 14px;
  border: 1px dashed var(--line, #ded7ca);
  border-radius: 6px;
  text-align: center;
}

.directory-empty-state p {
  margin: 8px 0 12px;
  color: var(--ink-muted, #75695f);
  font-size: 12px;
}

.todo-reminder-strip {
  margin: 0 12px 10px;
  border: 1px solid var(--line, #ded7ca);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.5);
}

.todo-reminder-strip summary {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  cursor: pointer;
  font-size: 11px;
}

.todo-reminder-strip summary strong.danger {
  color: #9b2b38;
}

.todo-reminder-strip > div {
  display: grid;
  gap: 1px;
  padding: 0 6px 6px;
}

.todo-reminder-strip a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  padding: 7px;
  border-radius: 4px;
  color: var(--ink, #2a211c);
  text-decoration: none;
  font-size: 11px;
}

.todo-reminder-strip a:hover {
  background: rgba(123, 38, 49, 0.06);
}

.todo-reminder-strip a strong {
  grid-column: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.todo-reminder-strip a small {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: #9b2b38;
}

.todo-item.is-overdue {
  border-color: rgba(155, 43, 56, 0.42);
}

.effect-proof-chain {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.effect-proof-stage {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line, #ded7ca);
  border-top: 3px solid #8c8479;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.48);
}

.effect-proof-stage.active { border-top-color: #267354; }
.effect-proof-stage.partial { border-top-color: #9b762f; }
.effect-proof-stage.blocked { border-top-color: #9b2b38; }

.effect-proof-stage span,
.effect-proof-stage strong,
.effect-proof-stage em,
.effect-proof-stage small {
  display: block;
}

.effect-proof-stage span,
.effect-proof-stage small {
  color: var(--ink-muted, #75695f);
  font-size: 11px;
}

.effect-proof-stage strong {
  margin-top: 7px;
  font-size: 14px;
}

.effect-proof-stage em {
  margin-top: 5px;
  color: var(--wine, #7b2631);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
}

.effect-proof-stage p {
  min-height: 42px;
  margin: 9px 0;
  font-size: 12px;
  line-height: 1.55;
}

.effect-review-split {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.scenario-outcome-list p {
  margin: 5px 0 0;
  color: var(--ink-muted, #75695f);
  font-size: 12px;
}

@media (max-width: 1180px) {
  .effect-proof-chain { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .effect-proof-chain { grid-template-columns: 1fr; }
  .effect-review-split { grid-template-columns: 1fr; }
}

.session-filter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 2px 0 12px;
}

.session-filter-grid label {
  display: grid;
  gap: 4px;
  color: var(--ink-soft);
  font-size: 11px;
}

.session-filter-grid select,
.session-filter-grid input[type="date"] {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 0 7px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.session-filter-grid .today-filter {
  display: flex;
  align-items: center;
  gap: 6px;
}

.session-filter-grid button {
  min-height: 32px;
  border: 0;
  border-radius: 5px;
  background: var(--wine-deep);
  color: var(--paper);
}

.conversation-search input {
  width: 180px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}
.contact-tag-manager span {
  border-left: 3px solid var(--tag-color, var(--rule));
}

.contact-tag-manager span small {
  color: var(--ink-soft);
  font-size: 10px;
}

.contact-tag-manager span button {
  width: 18px;
  height: 18px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.local-tag-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 34px auto;
  gap: 6px;
  margin-top: 10px;
}

.local-tag-form input,
.local-tag-form button {
  min-width: 0;
  height: 32px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 11px;
}

.local-tag-form input:not([type="color"]) {
  padding: 0 8px;
}

.local-tag-form input[type="color"] {
  padding: 3px;
}

.local-tag-form button {
  padding: 0 10px;
  background: var(--wine-deep);
  color: var(--paper);
}

.local-tag-form p {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  font-size: 11px;
}

.local-profile-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6px;
  margin-top: 10px;
}

.local-profile-form input,
.local-profile-form button {
  min-width: 0;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 11px;
}

.local-profile-form button {
  grid-column: 1 / -1;
  background: var(--wine-deep);
  color: var(--paper);
  cursor: pointer;
}

.local-profile-form small,
.local-profile-form p {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  font-size: 10px;
}

.material-type-filters {
  display: flex;
  gap: 5px;
  padding: 4px 12px 8px;
  overflow-x: auto;
}

.material-type-filters button {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: transparent;
  color: var(--ink-soft);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.material-type-filters button.active {
  border-color: var(--wine);
  background: var(--wine);
  color: var(--paper);
}

.home-operating-contract,
.home-broadcast-strip {
  margin-top: 16px;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: var(--surface);
}

.home-operating-contract {
  padding: 16px;
}

.home-engine-row,
.home-signal-category-row,
.home-broadcast-strip {
  display: grid;
  gap: 8px;
}

.home-engine-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}

.home-signal-category-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 8px;
}

.home-engine-row a,
.home-signal-category-row a {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--rule-soft);
  border-radius: 6px;
  color: var(--ink);
  text-decoration: none;
}

.home-engine-row strong,
.home-engine-row span,
.home-signal-category-row span,
.home-signal-category-row small {
  display: block;
}

.home-engine-row span,
.home-signal-category-row small {
  margin-top: 5px;
  color: var(--ink-soft);
  font-size: 11px;
}

.home-signal-category-row strong {
  display: block;
  margin-top: 4px;
  color: var(--wine);
  font-size: 22px;
}

.home-broadcast-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  align-items: center;
  padding: 12px 16px;
}

.home-broadcast-strip span,
.home-broadcast-strip strong {
  display: block;
}

.home-broadcast-strip span {
  color: var(--ink-soft);
  font-size: 11px;
}

.home-broadcast-strip strong {
  margin-top: 3px;
  color: var(--wine);
  font-size: 20px;
}

.home-broadcast-strip a {
  color: var(--wine);
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 1280px) {
  .home-engine-row,
  .home-signal-category-row,
  .home-broadcast-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.broadcast-filter-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 150px 150px auto auto;
  gap: 8px;
  padding: 0 20px 16px;
}

.broadcast-filter-form input,
.broadcast-filter-form select,
.broadcast-filter-form button {
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}

.broadcast-filter-form a {
  align-self: center;
  color: var(--ink-soft);
  font-size: 12px;
}

.broadcast-detail-summary,
.broadcast-detail-grid {
  display: grid;
  gap: 10px;
  padding: 0 20px 18px;
}

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

.broadcast-detail-summary div,
.broadcast-detail-grid article {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--rule-soft);
  border-radius: 6px;
  background: var(--surface);
}

.broadcast-detail-summary span,
.broadcast-detail-summary strong,
.broadcast-detail-grid span,
.broadcast-detail-grid small {
  display: block;
}

.broadcast-detail-summary span,
.broadcast-detail-grid span,
.broadcast-detail-grid small {
  color: var(--ink-soft);
  font-size: 11px;
}

.broadcast-detail-summary strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.broadcast-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.broadcast-detail-grid h3 {
  margin-bottom: 8px;
  font-size: 14px;
}

.broadcast-detail-grid article + article {
  margin-top: 6px;
}

.broadcast-detail-grid mark {
  display: inline-block;
  margin-top: 6px;
  color: var(--wine);
  font-size: 11px;
}

.qa-management-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1.4fr);
  gap: 12px;
  padding: 0 20px 16px;
}

.qa-management-toolbar form,
.qa-management-list form {
  display: grid;
  gap: 7px;
}

.qa-management-toolbar form:first-child {
  grid-template-columns: minmax(0, 1fr) auto;
}

.qa-management-toolbar form:last-child {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.qa-management-toolbar input,
.qa-management-toolbar button,
.qa-management-list input,
.qa-management-list textarea,
.qa-management-list button {
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}

.qa-management-list form {
  grid-template-columns: minmax(170px, 0.8fr) minmax(220px, 1.2fr) 120px 120px auto auto;
  align-items: center;
  padding: 9px;
  border-bottom: 1px solid var(--rule-soft);
}

.qa-management-list textarea {
  resize: vertical;
}

.qa-management-list label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
}

@media (max-width: 1280px) {
  .qa-management-toolbar,
  .qa-management-toolbar form:last-child,
  .qa-management-list form {
    grid-template-columns: 1fr;
  }
}
.learning-assets-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, 0.8fr);
  gap: 20px;
  padding: 18px 20px 22px;
}

.learning-assets-grid .console-list small {
  display: block;
  margin-top: 4px;
  color: var(--ink-soft);
  font-size: 11px;
}

@media (max-width: 900px) {
  .learning-assets-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1500px) {
  .service-clean-page .service-workspace {
    grid-template-columns: minmax(230px, 28%) minmax(360px, 1fr) minmax(280px, 32%) !important;
  }

  .service-clean-page .chat-header.compact {
    padding-inline: 16px;
  }

  .service-clean-page .service-workspace .chat-thread.compact {
    padding-inline: 18px;
  }
}
.delivery-state {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  color: var(--muted-text, #786f67);
  font-size: 11px;
}

.delivery-state.delivered {
  color: #58735f;
}

.delivery-state.failed {
  color: #9a2f36;
  font-weight: 700;
}

/* Reception V1 final cascade: intentional override of the legacy workspace. */
body.service-workspace-page .service-workspace {
  grid-template-columns: 300px minmax(520px, 1fr) 360px !important;
  height: calc(100dvh - 38px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.service-workspace-page .service-sessions {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px 12px 0 !important;
}

body.service-workspace-page .session-progressive-panel {
  top: 58px !important;
  left: 12px !important;
  right: 12px !important;
  width: auto !important;
  max-width: none !important;
}

body.service-workspace-page .chat-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

body.service-workspace-page .customer-panel.compact {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

@media (max-width: 1280px) {
  body.service-workspace-page .service-workspace {
    grid-template-columns: 250px minmax(420px, 1fr) 290px !important;
  }

  body.service-workspace-page .service-lane-tabs a,
  body.service-workspace-page .service-lane-tabs a:visited {
    font-size: 11px;
  }

  body.service-workspace-page .conversation-search {
    display: none;
  }

  body.service-workspace-page .customer-panel-head,
  body.service-workspace-page .service-side-panel {
    padding-inline: 12px;
  }

  body.service-workspace-page .service-side-tabs {
    padding-inline: 6px;
  }

  body.service-workspace-page .service-side-tabs button {
    font-size: 12px;
  }
}

@media (max-width: 1100px) {
  body.service-workspace-page .service-workspace {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }

  body.service-workspace-page .customer-panel.compact {
    position: fixed !important;
    z-index: 80 !important;
    top: 19px !important;
    right: 0 !important;
    bottom: 19px !important;
    width: min(360px, 92vw) !important;
    height: auto !important;
    border-left: 1px solid #cdbda7 !important;
    background: #fffaf1 !important;
    box-shadow: -18px 0 42px rgba(61, 36, 28, 0.2) !important;
    transform: translateX(105%) !important;
    transition: transform 220ms ease !important;
  }

  body.service-workspace-page .customer-panel.compact.mobile-open {
    transform: translateX(0) !important;
  }
}

@media (max-width: 1100px) {
  body.service-workspace-page .clean-workspace-shell {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.service-workspace-page .service-content-panel {
    width: calc(100vw - 190px) !important;
    min-width: 0 !important;
  }
}

/* Reception V2 control alignment contract. */
body.service-workspace-page .session-command-row {
  min-height: 34px !important;
  align-items: center !important;
}

body.service-workspace-page .session-command-row .session-search.compact {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.service-workspace-page .session-command-row .search-box {
  width: 100% !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 10px !important;
}

body.service-workspace-page .session-command-row input[type="search"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.service-workspace-page .session-command-button,
body.service-workspace-page .chat-header-actions > button,
body.service-workspace-page .chat-header-actions > a,
body.service-workspace-page .composer-tools > button,
body.service-workspace-page .composer-actions > button,
body.service-workspace-page .assistant-record footer > button {
  margin: 0 !important;
  white-space: nowrap !important;
}

body.service-workspace-page .chat-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 34px !important;
}

body.service-workspace-page .chat-header-actions > button,
body.service-workspace-page .chat-header-actions > a {
  flex: none !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  place-items: center !important;
  line-height: 1 !important;
}

body.service-workspace-page .chat-header-actions > .mobile-customer-toggle {
  display: none !important;
}

body.service-workspace-page .composer.compact {
  display: grid !important;
  grid-template-rows: 28px minmax(44px, 1fr) 34px !important;
  gap: 6px !important;
  height: 148px !important;
  min-height: 148px !important;
  padding: 10px 16px !important;
}

body.service-workspace-page .composer-tools {
  align-items: center !important;
  gap: 6px !important;
  height: 28px !important;
  margin: 0 !important;
}

body.service-workspace-page .composer textarea {
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  resize: none !important;
}

body.service-workspace-page .composer-actions {
  align-items: center !important;
  gap: 10px !important;
  height: 34px !important;
  margin: 0 !important;
}

body.service-workspace-page .composer-actions > span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.service-workspace-page .assistant-record footer {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  height: auto !important;
  margin-top: 10px !important;
}

body.service-workspace-page .assistant-record footer > button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  line-height: 1.4 !important;
}

body.service-workspace-page .assistant-record footer > button:first-child,
body.service-workspace-page .assistant-record footer > button:last-child {
  grid-column: 1 / -1;
}

body.service-workspace-page .chat-message.outbound {
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

body.service-workspace-page .chat-message.outbound .message-stack {
  width: min(72%, 620px) !important;
  max-width: none !important;
  justify-self: end !important;
  justify-items: end !important;
  align-items: end !important;
}

body.service-workspace-page .chat-message.outbound time,
body.service-workspace-page .chat-message.outbound .delivery-state {
  width: 100% !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body.service-workspace-page .service-sessions {
  position: relative !important;
  overflow: hidden !important;
}

body.service-workspace-page .session-progressive-panel {
  display: none !important;
  position: absolute !important;
  top: 56px !important;
  left: 12px !important;
  right: 12px !important;
  z-index: 30 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border: 1px solid #d7c7b3 !important;
  border-radius: 8px !important;
  background: #fffaf1 !important;
  box-shadow: 0 18px 40px rgba(62, 39, 32, 0.18) !important;
}

body.service-workspace-page .session-progressive-panel[open] {
  display: block !important;
}

body.service-workspace-page .session-progressive-panel > summary {
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid #eadcc8 !important;
  color: #51443c !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.service-workspace-page .session-filter-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px 10px !important;
  padding: 12px 14px 14px !important;
}

body.service-workspace-page .session-filter-grid label {
  gap: 6px !important;
  color: #7a6d63 !important;
  font-size: 12px !important;
}

body.service-workspace-page .session-filter-grid select,
body.service-workspace-page .session-filter-grid input[type="date"] {
  height: 36px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
}

body.service-workspace-page .session-filter-grid .today-filter {
  min-height: 36px !important;
  align-items: center !important;
}

body.service-workspace-page .session-filter-grid button {
  grid-column: 1 / -1 !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}

body.service-workspace-page .directory-switcher nav {
  padding: 8px !important;
}

body.service-workspace-page .directory-switcher a {
  min-height: 34px !important;
  padding: 8px 10px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
}

body.service-workspace-page .service-side-panel[data-service-panel="profile"] {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.service-workspace-page .customer-panel.compact:has(.service-side-panel[data-service-panel="profile"].active) {
  overflow-y: auto !important;
}

body.service-workspace-page .service-side-panel[data-service-panel="profile"] .customer-brief,
body.service-workspace-page .service-side-panel[data-service-panel="profile"] .profile-facts {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 1280px) {
  body.service-workspace-page .session-command-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  body.service-workspace-page .session-command-row .session-search {
    grid-column: 1 / -1;
  }

  body.service-workspace-page .session-command-button {
    width: 100% !important;
  }
}

@media (max-width: 1100px) {
  body.service-workspace-page .chat-header-actions > .mobile-customer-toggle {
    display: grid !important;
    width: 48px !important;
    min-width: 48px !important;
  }
}

@media (max-width: 800px) {
  body.service-workspace-page .clean-workspace-shell {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    min-width: 0 !important;
  }

  body.service-workspace-page .product-rail.service-clean-rail {
    width: 60px !important;
    min-width: 60px !important;
    padding: 18px 8px !important;
  }

  body.service-workspace-page .product-rail-brand {
    overflow: hidden !important;
    font-size: 0 !important;
  }

  body.service-workspace-page .product-rail-brand::first-letter {
    font-size: 18px;
  }

  body.service-workspace-page .product-rail-nav a {
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  body.service-workspace-page .product-rail-nav .nav-icon {
    margin: 0 !important;
  }

  body.service-workspace-page .service-content-panel {
    width: calc(100vw - 68px) !important;
    margin: 8px 8px 8px 0 !important;
  }

  body.service-workspace-page .service-workspace {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    height: calc(100dvh - 16px) !important;
  }
}

@media (max-width: 600px) {
  body.service-workspace-page .clean-workspace-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.service-workspace-page .product-rail.service-clean-rail {
    display: none !important;
  }

  body.service-workspace-page .service-content-panel {
    width: calc(100vw - 12px) !important;
    height: calc(100dvh - 12px) !important;
    margin: 6px !important;
  }

  body.service-workspace-page .service-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
    height: calc(100dvh - 12px) !important;
  }

  body.service-workspace-page .service-workspace.has-selected-contact .service-sessions,
  body.service-workspace-page .service-workspace.has-no-selected-contact .chat-panel {
    display: none !important;
  }
}

/* v8 reception workspace precision fixes */
body.service-workspace-page .session-badges,
.service-clean-page .session-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  min-height: 24px !important;
  margin-top: 8px !important;
  overflow: hidden !important;
}

body.service-workspace-page .session-badges mark,
.service-clean-page .session-badges mark {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  max-width: 120px !important;
  height: 24px !important;
  padding: 0 8px !important;
  overflow: hidden !important;
  border: 1px solid rgba(123, 38, 49, 0.12) !important;
  border-radius: 6px !important;
  background: rgba(184, 135, 70, 0.14) !important;
  color: var(--wine) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.service-workspace-page .session-badges mark.danger,
.service-clean-page .session-badges mark.danger {
  border-color: rgba(159, 29, 51, 0.16) !important;
  background: #fde8eb !important;
  color: #9f1d33 !important;
}

body.service-workspace-page .service-session-row.active .session-badges mark,
body.service-workspace-page .session-row.active .session-badges mark,
.service-clean-page .service-session-row.active .session-badges mark,
.service-clean-page .session-row.active .session-badges mark {
  border-color: rgba(255, 255, 255, 0.24) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fffaf1 !important;
}

body.service-workspace-page .service-session-row.active .session-badges mark.danger,
body.service-workspace-page .session-row.active .session-badges mark.danger,
.service-clean-page .service-session-row.active .session-badges mark.danger,
.service-clean-page .session-row.active .session-badges mark.danger {
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.22) !important;
  color: #fffaf1 !important;
}

@media (min-width: 801px) {
  body.service-workspace-page .clean-workspace-shell,
  .service-clean-page .clean-workspace-shell {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    width: 100vw !important;
    min-width: 1180px !important;
    padding-right: 6px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.service-workspace-page .service-content-panel,
  .service-clean-page .service-content-panel,
  .service-clean-page .clean-content-panel {
    width: auto !important;
    height: calc(100vh - 24px) !important;
    margin: 12px 0 12px 0 !important;
  }
}
