/* Generation 2 common work shell. Domain forms/results remain opaque and keep their existing owners. */
body[data-ui-generation="2"][data-work-shell] :where(.feature-content, .product-header, .service-nav-strip, .panel) {
  border-radius: var(--dv-radius);
}

/* 문서작성 편집기는 생성 전·후 같은 가용 폭을 써야 한다. 결과가 열린 순간에만
   980px→1260px로 튀던 상태 의존 폭을 없애고 순차 작업 흐름은 그대로 유지한다. */
body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-layout:has(.bp-document-editor:not([hidden])) {
  max-width: min(1600px, 100%);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-editor:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--dv-primary) 28%, transparent);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-grid {
    grid-template-columns: 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-pane > summary {
    display: block;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-pane[open] > summary {
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-outline,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-evidence {
    position: static;
    max-height: none;
    overflow: visible;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-outline { order: 1; }
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-canvas { order: 2; }
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-evidence { order: 3; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-editor *,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-editor *::before,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-document-editor *::after {
    scroll-behavior: auto;
  }
}

body[data-ui-generation="2"][data-work-shell] :where(.product-header, .service-nav-strip, .feature-content) {
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell] :where(.label, [class*="-kicker"]) {
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"][data-work-shell] :where(.btn, button, summary, input, textarea, select) {
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell] .dream-channel-widget .chat-fab {
  right: 12px;
  bottom: 12px;
  width: 52px;
  height: 52px;
  border-radius: var(--dv-radius);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: 0 10px 24px rgba(11, 35, 71, 0.16);
}

body[data-ui-generation="2"][data-work-shell] .dream-channel-widget .chat-fab:hover {
  box-shadow: 0 12px 28px rgba(11, 35, 71, 0.2);
}

body[data-ui-generation="2"][data-work-shell] .dream-channel-widget .chat-panel {
  right: 12px;
  bottom: 76px;
  border-radius: var(--dv-radius);
}

/* Contract pilot */
body[data-ui-generation="2"][data-work-shell="contract"] .service-workspace-main {
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-workspace-shell {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin: 0 auto;
  display: grid;
  gap: 20px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-company-banner {
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #b8d5c9;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-selected);
  color: var(--dv-text);
  font-size: 14px;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-nav-strip {
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-nav-copy {
  max-width: 760px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-nav-copy .label {
  margin-bottom: 4px;
  color: var(--dv-primary);
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="contract"] #workspaceTitle {
  margin: 0;
  color: var(--dv-text-strong);
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 780;
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"][data-work-shell="contract"] #workspaceLead {
  max-width: 64ch;
  margin: 6px 0 0;
  color: var(--dv-text-muted);
  font-size: 15px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-tabbar {
  display: none !important;
}

/* 상태줄은 문제일 때만 나타나는 장애 신호다(service.html updateHealth 가 정상일 땐 hidden).
   같이 숨기면 prod 에서 ContractAI upstream 이 죽어도 제출 전까지 아무 신호가 없다
   (2026-08-12 검수) — 특허 셸처럼 살리되 계약의 라이트 월드 톤으로. */
body[data-ui-generation="2"][data-work-shell="contract"] .service-status-line {
  border: 1px solid color-mix(in srgb, var(--dv-danger) 25%, transparent);
  background: var(--dv-danger-surface);
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="contract"] .service-status-line b.down {
  color: var(--dv-danger);
}

body[data-ui-generation="2"][data-work-shell="contract"] #serviceProduct {
  display: grid;
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .product-header {
  min-height: 0;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="contract"] .product-header > a {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] .product-header .label {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="contract"] .product-header h2 {
  margin: 3px 0 4px;
  color: var(--dv-text-strong);
  font-size: 30px;
  font-weight: 780;
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"][data-work-shell="contract"] .product-header p {
  max-width: 62ch;
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract-shell"] {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract"] {
  order: 0 !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 16px;
  align-items: start;
}

/* 분석 결과가 나오기 전의 우측 레일은 빈 자리표시자(기록 없음·후보 대기)뿐이다 —
   그때는 단일 컬럼으로 두고, 결과(.live-result.success)가 생기면 두 컬럼으로 돌아온다.
   (2026-08-07 감사: "중앙 공백" 체감의 계약검토 쪽 원인) */
body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract"]:not(:has(.live-result.success)) {
  grid-template-columns: minmax(0, 1fr);
}

body[data-ui-generation="2"][data-work-shell="contract"] .contract-upload-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] {
  margin: 0 0 18px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .label {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dv-primary);
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] strong {
  font-size: 16px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] p {
  max-width: 64ch;
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .bmb-actions {
  gap: 8px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .contract-upload-form {
  display: grid;
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="contract"] .upload-zone {
  min-height: 182px;
  padding: 24px;
  border: 1px dashed #8da99d;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] .upload-zone:hover,
body[data-ui-generation="2"][data-work-shell="contract"] .upload-zone:focus-within {
  border-color: var(--dv-primary);
  background: var(--dv-bg-selected);
}

body[data-ui-generation="2"][data-work-shell="contract"] .upload-symbol {
  width: 52px;
  height: 52px;
  border-radius: var(--dv-radius);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] .contract-upload-form textarea {
  min-height: 116px;
  resize: vertical;
}

body[data-ui-generation="2"][data-work-shell="contract"] .contract-upload-form .btn.primary {
  min-height: 46px;
  background: var(--dv-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] #liveResult[data-result-panel="contract"] {
  margin-top: 16px;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-evidence-rail="contract"] {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 76px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-evidence-rail="contract"] > .panel {
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-evidence-rail="contract"] .label {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dv-text-muted);
  font-size: 11px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-review-handoff="contract"] {
  border-color: color-mix(in srgb, var(--dv-trust) 34%, var(--dv-border));
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] {
  order: 1 !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article {
  min-height: 0;
  padding: 14px 16px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article > span {
  color: var(--dv-primary);
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article p {
  margin-top: 3px;
  color: var(--dv-text-muted);
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract-shell"] > .problem-grid {
  display: none !important;
}

body[data-ui-generation="2"][data-work-shell="contract"] #serviceFactIntake {
  border: 1px solid var(--dv-border);
  background: var(--dv-warning-surface);
  box-shadow: none;
}

/* Business-plan pilot */
body[data-ui-generation="2"][data-work-shell="business-plan"] .feature-main {
  max-width: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .feature-main > .feature-grid {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin: 0 auto;
  display: block;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-service-workbench="business-plan-shell"] {
  display: grid;
  gap: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-work-identity="business-plan"] {
  padding: 0 0 22px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpKicker {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dv-primary);
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpHeading {
  display: block;
  margin-top: 5px;
  color: var(--dv-text-strong);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 780;
  line-height: 1.25;
  letter-spacing: -0.035em;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpDesc {
  max-width: 76ch;
  margin: 8px 0 0;
  color: var(--dv-text-muted);
  font-size: 15px;
  line-height: 1.7;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] :is(
  .bp-type-nav a,
  .bp-validation-head a,
  .bp-form-source-alert a
) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-work-continuity="business-plan"] {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  overflow: hidden;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step,
body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-active,
body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-complete {
  min-height: 72px;
  padding: 12px 14px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-active {
  background: var(--dv-bg-selected);
  box-shadow: inset 0 -3px 0 var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step b {
  width: 28px;
  height: 28px;
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-active b,
body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-complete b {
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-service-workbench="business-plan"] {
  gap: 16px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpForm {
  padding: 22px;
  border: 1px solid #a9c8bb;
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpFormTitle {
  font-size: 21px;
  font-weight: 760;
  letter-spacing: -0.02em;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpFormDescription {
  color: var(--dv-text-muted);
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpForm label {
  gap: 6px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpSubmit {
  min-height: 46px;
  background: var(--dv-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-material-context="business-plan"] {
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-material-context="business-plan"] .label {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-workspace-status {
  border-radius: 999px;
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-coverage-track {
  background: var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-coverage-track i {
  background: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-work-stage="business-plan"] {
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpReadyGuide {
  padding: 20px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-template-outline {
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  overflow: hidden;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-template-section {
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-template-section:last-child {
  border-bottom: 0;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] :where(#bpProgress, #bpReviewWorkbench, #bpFormPreview) {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-review-handoff="business-plan"] {
  border-color: color-mix(in srgb, var(--dv-trust) 34%, var(--dv-border));
}

body[data-ui-generation="2"][data-work-shell="business-plan"] [data-next-action-panel="business-plan"] {
  border-color: color-mix(in srgb, var(--dv-primary) 28%, var(--dv-border));
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 16px;
  color: var(--dv-text);
  cursor: pointer;
  list-style: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary::-webkit-details-marker {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary > span:first-child {
  display: grid;
  gap: 1px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary strong {
  font-size: 15px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary small {
  color: var(--dv-text-muted);
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary > span:last-child {
  color: var(--dv-primary);
  font-size: 22px;
  transition: transform var(--dv-duration-fast) var(--dv-ease-out);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work[open] > summary > span:last-child {
  transform: rotate(45deg);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] #bpDerivativeChooser {
  margin: 0;
  padding: 16px;
  border-top: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-derivative-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-derivative-card {
  min-height: 0;
  padding: 14px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-derivative-card:hover {
  border-color: #9bb6aa;
  background: var(--dv-bg-subtle);
  transform: none;
}

@media (max-width: 1180px) {
  body[data-ui-generation="2"][data-work-shell="contract"] .service-workspace-shell,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .feature-main > .feature-grid {
    width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract"] {
    grid-template-columns: minmax(0, 1fr) 288px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] [data-service-workbench="business-plan"] {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1024px) {
  body[data-ui-generation="2"][data-work-shell="bid"] .topbar .brand {
    width: 100%;
    max-width: 100%;
    flex: 0 1 auto;
  }

  body[data-ui-generation="2"][data-work-shell="bid"] .topbar .brand strong {
    white-space: nowrap;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-service-workbench="contract"] {
    grid-template-columns: 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-evidence-rail="contract"] {
    position: static;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  body[data-ui-generation="2"][data-work-shell="bid"] .topbar .brand {
    width: fit-content;
    max-width: calc(100% - 112px);
  }
}

@media (max-width: 780px) {
  body[data-ui-generation="2"][data-work-shell="contract"] .service-workspace-shell {
    gap: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] .service-company-banner {
    font-size: 13px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] .product-header {
    padding-bottom: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] .product-header h2 {
    font-size: 26px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] .contract-upload-card {
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] {
    margin-bottom: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .bmb-actions {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .bmb-actions .btn {
    min-height: 44px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] .upload-zone {
    min-height: 168px;
    padding: 20px 14px;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] {
    grid-template-columns: 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article {
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-work-continuity="contract"] article:last-child {
    border-bottom: 0;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] [data-service-workbench="business-plan-shell"] {
    gap: 18px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] [data-work-identity="business-plan"] {
    padding-bottom: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] #bpHeading {
    font-size: 28px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] #bpDesc {
    font-size: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] [data-work-continuity="business-plan"] {
    grid-template-columns: 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-active,
  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step.is-complete {
    min-height: 60px;
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-lifecycle-step:last-child {
    border-bottom: 0;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] #bpForm {
    padding: 18px;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .bp-derivative-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .bmb-actions {
    grid-template-columns: 1fr 1fr;
  }

  body[data-ui-generation="2"][data-work-shell="contract"] [data-material-context="contract"] .bmb-count {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body[data-ui-generation="2"][data-work-shell="business-plan"] .dv-secondary-work > summary small {
    display: none;
  }
}

/* 투자 결과 세계가 gen1 그린으로 남던 사각지대(2026-08-12 검수): 입력부는 gen2 코발트,
   결과부(다이얼·축 바·투자자 카드·데이터룸)는 레거시 --green 을 그대로 소비했다.
   make-deck 패턴(--green→primary 리맵)으로 한 번에 수렴한다. */
body[data-ui-generation="2"][data-work-shell="investment"] {
  --green: var(--dv-primary);
  --green-soft: var(--dv-bg-selected);
  --green-dark: var(--dv-primary-hover);
  --gold: var(--dv-warning-text);
  --gold-soft: var(--dv-warning-surface);
}

/* visitor-page 라이트 팔레트 직값(.label.green #e9f6f1/#0d594c)은 var 리맵을 우회한다. */
body[data-ui-generation="2"][data-work-shell="investment"] .label.green {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, #ffffff);
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

/* Core service workspaces: preserve each domain's native working grammar. */
body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) :where(
  .service-workspace-shell,
  .service-product-host,
  .product-shell,
  [data-work-primary],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work]
) {
  min-width: 0;
  max-width: 100%;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-workspace-shell {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin-inline: auto;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) :where(.service-product-host, .product-shell) :where(img, svg, canvas, table) {
  max-width: 100%;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) [hidden] {
  display: none !important;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-nav-strip {
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-nav-copy {
  max-width: 720px;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) :where(#workspaceTitle, .service-nav-strip h1) {
  margin: 3px 0 0;
  color: var(--dv-text-strong);
  font-size: 32px;
  font-weight: 780;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) :where(#workspaceLead, .service-nav-strip p) {
  max-width: 65ch;
  margin: 6px 0 0;
  color: var(--dv-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-tabbar {
  gap: 4px;
  padding: 3px;
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-tabbar a {
  min-height: 44px;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="patent"],
  [data-work-shell="bid"],
  [data-work-shell="investment"]
) .service-tabbar a:is(.active, :hover) {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
  transform: none;
}

/* Patent: a dark technical canvas for a long, stateful drafting workflow. */
body[data-ui-generation="2"][data-work-shell="patent"] {
  --dv-patent-canvas: #0b121a;
  --dv-patent-surface: #111923;
  --dv-patent-surface-raised: #162130;
  --dv-patent-line: #2a384a;
  --dv-patent-text: #edf4f8;
  --dv-patent-muted: #aab8c7;
  --dv-patent-accent: #60a5fa;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-workspace-main {
  background: var(--dv-patent-canvas);
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-company-banner {
  border-color: var(--dv-patent-line);
  background: var(--dv-patent-surface);
  color: var(--dv-patent-text);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-company-banner :where(b, a) {
  color: #8bdcc2;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-company-banner .scb-meta {
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] :where(.service-status-line, .service-auth-note) {
  border-color: var(--dv-patent-line);
  background: #0f1822;
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line > span {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b {
  color: #c6d2de;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b::before {
  background: #e8a33d;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b.ok {
  color: #86e1c4;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b.ok::before {
  background: #4fd1a5;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b.down {
  color: #ffaaa2;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-status-line b.down::before {
  background: #ff766c;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-nav-strip {
  border-bottom-color: var(--dv-patent-line);
}

body[data-ui-generation="2"][data-work-shell="patent"] :where(#workspaceKicker, .service-nav-copy .label) {
  color: #8bdcc2;
}

body[data-ui-generation="2"][data-work-shell="patent"] #workspaceTitle,
body[data-ui-generation="2"][data-work-shell="patent"] .service-nav-strip h1 {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] #workspaceLead,
body[data-ui-generation="2"][data-work-shell="patent"] .service-nav-strip p {
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-tabbar {
  border-color: var(--dv-patent-line);
  background: #0f1822;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-tabbar a {
  color: #c6d2de;
}

body[data-ui-generation="2"][data-work-shell="patent"] .service-tabbar a:is(.active, :hover) {
  border-color: #2563eb;
  background: #2563eb;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-service-workbench="patent-shell"] {
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-service-workbench="patent"] {
  grid-template-columns: 252px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-height: 0;
}

body[data-ui-generation="2"][data-work-shell="patent"] :where(.patent-qa-rail, .patent-qa-stage) {
  min-width: 0;
  border: 1px solid var(--dv-patent-line);
  border-radius: var(--dv-radius);
  background: var(--dv-patent-surface);
  color: var(--dv-patent-text);
  box-shadow: none;
}

/* 저장된 명세서 배너 — 다크 캔버스 안의 라이트 패널. 잉크 안전망(특정도 0,2,1)이 strong 을
   밝은 잉크로 끌어가 흰 바탕 위 흰 글자가 됐다(2026-08-11 대표 지적, 픽스처 실측). 같은
   체인으로 눌러쓴다. gen1 응답에 gen2 셀렉터가 실리면 안 되므로 이 파일이 소유한다. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-saved-draft-banner {
  border-color: var(--dv-border);
  background: var(--dv-bg-surface);
}

/* 완료 단계 다크 카드 안의 라이트 섬 — gen2 오버라이드가 전무해 라이트 잉크 그대로였다
   (2026-08-12 검수). 다크 면으로 편입한다. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-complete-checklist {
  border-color: var(--dv-patent-line);
  background: #121a24;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-complete-checklist b {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-complete-checklist ul {
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-saved-draft-banner strong {
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-saved-draft-banner small {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-rail {
  top: 76px;
  min-height: 0;
  padding: 16px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage {
  min-height: 620px;
  padding: 24px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage-head h2 {
  color: var(--dv-patent-text);
  font-size: 32px;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage-head p {
  max-width: 65ch;
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button {
  border-color: rgba(255, 255, 255, 0.09);
  border-radius: var(--dv-radius);
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button:is(:hover, :focus-visible) {
  border-color: #52647a;
  background: var(--dv-patent-surface-raised);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button.active {
  border-color: var(--dv-patent-accent);
  background: #182a46;
  box-shadow: inset 3px 0 0 var(--dv-patent-accent);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button.active::before,
body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button.active span {
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] :where(
  .patent-qa-dropzone,
  .patent-strategy-panel,
  .patent-strategy-summary,
  [data-work-evidence="patent"]
) {
  border-color: #365068;
  border-radius: var(--dv-radius);
  background: #101d29;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-work-evidence="patent"] > div:first-child > strong,
body[data-ui-generation="2"][data-work-shell="patent"] .patent-strategy-head strong {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-work-evidence="patent"] > div:first-child > p,
body[data-ui-generation="2"][data-work-shell="patent"] .patent-strategy-head p {
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-dropzone .upload-symbol {
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] :where(
  .patent-mode-switch button,
  .patent-strategy-grid select,
  .patent-strategy-grid input
) {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-review-handoff="patent"] {
  border-color: #997735;
  background: #171d22;
}

/* 다크 면으로 바꾼 패널의 잉크가 라이트 기본값(--ink #152334, --muted #66746f)을 그대로
   상속해 제목이 약 1.05:1 로 사라졌다(2026-08-12 검수) — 배경을 바꾸면 잉크도 함께. */
body[data-ui-generation="2"][data-work-shell="patent"] [data-review-handoff="patent"] :where(strong, b, h3) {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-review-handoff="patent"] :where(p, span, small, li, em) {
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-review-handoff="patent"] .pa-empty {
  border: 1px solid var(--dv-patent-line);
  background: #121a24;
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-panel {
  border-color: var(--dv-patent-line);
  background: #121a24;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-panel :where(strong, b, h3) {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-panel :where(p, span, small, li) {
  color: var(--dv-patent-muted);
}

/* 다크 캔버스 위 연녹색 알약(.label.green — visitor 라이트 팔레트 직값)과 그린 라이브
   배지를 특허 액센트 계열로. 라이트 섬(자료 반영 패널 등)을 오염시키지 않게 다크
   컨테이너 안으로만 한정한다(2026-08-12 검수). */
body[data-ui-generation="2"][data-work-shell="patent"] :where([class*="patent-qa-"], [class*="patent-drawing-"], .patent-review-panel, [data-review-handoff="patent"]) .label.green {
  border-color: color-mix(in srgb, var(--dv-patent-accent) 35%, transparent);
  background: color-mix(in srgb, var(--dv-patent-accent) 14%, transparent);
  color: #93c5fd;
}

body[data-ui-generation="2"][data-work-shell="patent"] :where([class*="patent-qa-"], .patent-review-panel) .source-badge.live {
  border-color: color-mix(in srgb, var(--dv-patent-accent) 40%, transparent);
  background: color-mix(in srgb, var(--dv-patent-accent) 14%, transparent);
  color: #93c5fd;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-next-action-panel="patent"] {
  border-color: #3b82f6;
  background: #102038;
}

/* Bid: conditions and evidence feed a sober participation decision surface. */
body[data-ui-generation="2"][data-work-shell="bid"] .service-workspace-main {
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-service-workbench="bid-shell"] {
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-service-workbench="bid"] {
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 16px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-console-main {
  min-width: 0;
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-rail {
  min-width: 0;
  position: sticky;
  top: 76px;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-head {
  padding: 0 0 16px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-head h2 {
  max-width: 24ch;
  color: var(--dv-text-strong);
  font-size: 30px;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="bid"] :where(
  .bid-rail-card,
  .bid-list-panel,
  .bid-analysis-card,
  .bid-request-details
) {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-rail-card {
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="bid"] :where(.bid-list-panel, .bid-request-details) {
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-analysis-card {
  border-color: #bcc9d8;
  background: var(--dv-trust-soft);
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-work-evidence="bid"] {
  border: 1px solid #bdd5ca;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-work-result="bid"] {
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"] #liveResult[data-work-result="bid"] {
  border-top: 1px solid #ccd6e2;
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="bid"] :where(.bid-mini-stats div, .bid-row, .bid-card-grid) {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-preview-list .bid-card {
  animation: none;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="bid"] .bid-preview-list .bid-card:is(:hover, :focus-visible, :active) {
  border-color: #9abaae;
  background: var(--dv-bg-subtle);
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="bid"] :where(.bid-command-card label span, .filter-group small) {
  text-transform: none;
  letter-spacing: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-review-handoff="bid"] {
  border-color: #d0af69;
  background: var(--dv-warning-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"] [data-next-action-panel="bid"] {
  border-color: #96b7aa;
  background: var(--dv-bg-selected);
}

/* Investment: a calm input record followed by an auditable readiness result. */
body[data-ui-generation="2"][data-work-shell="investment"] .service-workspace-main {
  background: #f4f6f3;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-layout {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
}

body[data-ui-generation="2"][data-work-shell="investment"] :where(.investment-main, .investment-side, .investment-rail) {
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="investment"] [data-service-workbench="investment"] {
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-card {
  padding: 22px;
  border: 1px solid #bdcec5;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-head h2 {
  max-width: 25ch;
  color: var(--dv-text-strong);
  font-size: 30px;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-head p {
  max-width: 65ch;
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="investment"] :where(
  [data-work-evidence="investment"],
  .investment-material-card,
  .investment-material-used,
  .investment-data-source-panel,
  .investment-disclosure-panel
) {
  border: 1px solid #c4d9cf;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] :where(
  .investment-governance-grid article,
  .investment-source-list article,
  .investment-advanced,
  .investment-mini-stats div
) {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] :where(
  .investment-command-card label span,
  .investment-stage-list span
) {
  text-transform: none;
  letter-spacing: 0;
}

body[data-ui-generation="2"][data-work-shell="investment"] #liveResult[data-work-result="investment"] {
  min-width: 0;
  min-height: 140px;
  padding: 20px;
  border: 1px solid #b9c8da;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-side {
  top: 76px;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-side > .panel {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-rail {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] .investment-stage-list button:is(.active, :hover) {
  border-color: #b9c9c1;
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="investment"] [data-next-action-panel="investment"] {
  border-color: #96b7aa;
  background: var(--dv-bg-selected);
}

@media (max-width: 1180px) {
  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-workspace-shell {
    width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] [data-service-workbench="patent"],
  body[data-ui-generation="2"][data-work-shell="bid"] [data-service-workbench="bid"],
  body[data-ui-generation="2"][data-work-shell="investment"] .investment-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-rail {
    position: static;
    order: 1;
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    align-items: start;
    min-height: 0;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage {
    order: 2;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-rail {
    position: static;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-main {
    order: 1;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-rail {
    order: 2;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-side {
    position: static;
    order: 3;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-nav-strip {
    display: grid;
    gap: 12px;
    padding: 0 0 14px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) :where(#workspaceTitle, .service-nav-strip h1) {
    font-size: 26px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) :where(#workspaceLead, .service-nav-strip p) {
    display: block;
    overflow: visible;
    font-size: 14px;
    line-height: 1.55;
    -webkit-line-clamp: unset;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-tabbar {
    display: flex;
    max-width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-tabbar::-webkit-scrollbar {
    display: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-tabbar a {
    flex: 0 0 auto;
    min-width: 96px;
    min-height: 44px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) :where(button, .btn, summary, a[href]) {
    min-height: 44px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="patent"],
    [data-work-shell="bid"],
    [data-work-shell="investment"]
  ) .service-company-banner a {
    display: inline-flex;
    align-items: center;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-rail {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper {
    display: flex;
    grid-template-columns: none;
    max-width: 100%;
    overflow-x: auto;
    padding: 0 24px 2px 0;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button {
    flex: 0 0 148px;
    min-width: 148px;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage {
    min-height: 0;
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage-head h2 {
    font-size: 25px;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stage-head p {
    font-size: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="patent"] :where(
    .patent-qa-form-actions,
    .patent-qa-stage-actions,
    .patent-qa-complete-actions
  ) .btn {
    width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-head,
  body[data-ui-generation="2"][data-work-shell="bid"] .bid-panel-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="bid"] .bid-command-head h2 {
    font-size: 25px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"] :where(.bid-list-panel, .bid-analysis-card, .bid-request-details) {
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"] :where(
    .filter-group button,
    .saved-query,
    .keyword-row button,
    .bid-card-detail,
    .bid-rail-fab
  ) {
    min-height: 44px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"] .bid-mini-stats {
    width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-card {
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-head,
  body[data-ui-generation="2"][data-work-shell="investment"] :where(
    .investment-form-grid,
    .investment-form-grid.two,
    .investment-governance-grid,
    .investment-disclosure-grid,
    .investment-result-grid,
    .investment-action-grid
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="investment"] .investment-command-head h2 {
    font-size: 25px;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] :where(
    .investment-form-actions,
    .investment-material-actions
  ) {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }

  body[data-ui-generation="2"][data-work-shell="investment"] :where(
    .investment-form-actions,
    .investment-material-actions
  ) :where(.btn, button, a) {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }
}

/* Advisory and routing: evidence-led workspaces with DOM-aligned reading order. */
body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :where(
  .service-workspace-shell,
  .service-product-host,
  .product-shell,
  [data-work-primary],
  [data-work-form],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work],
  [data-preset-support]
) {
  min-width: 0;
  max-width: 100%;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-workspace-main {
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-workspace-shell {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin-inline: auto;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .app-toggle {
  width: 44px;
  height: 44px;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :where(.service-product-host, .product-shell) :where(img, svg, canvas, table) {
  max-width: 100%;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) [hidden] {
  display: none !important;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-nav-strip {
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-nav-copy {
  max-width: 720px;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :where(#workspaceTitle, .service-nav-strip h1) {
  margin: 3px 0 0;
  color: var(--dv-text-strong);
  font-size: 32px;
  font-weight: 780;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :where(#workspaceLead, .service-nav-strip p) {
  max-width: 65ch;
  margin: 6px 0 0;
  color: var(--dv-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-tabbar {
  gap: 4px;
  padding: 3px;
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-tabbar a {
  min-height: 44px;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-tabbar a:is(.active, :hover) {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-company-banner {
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #bfd5ca;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) .service-company-banner a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

body[data-ui-generation="2"]:is(
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :where([data-work-form="advisory"], [data-work-form="route"]) :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  min-height: 44px;
}

/* The incumbent stylesheet reorders these blocks. Generation 2 restores source and keyboard order. */
body[data-ui-generation="2"][data-work-shell="route"] .route-product > :where(.route-support-grid, .route-layout),
body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-product > :where(
  .advisory-hero,
  .advisory-entry-links,
  .advisory-type-grid,
  .advisory-layout
) {
  order: initial;
}

/* Advisory: the brief and company evidence lead into a calm, reviewable roadmap. */
body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-product {
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-hero {
  padding: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  gap: 22px;
  border: 1px solid #c7d7ce;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-hero h2 {
  max-width: 27ch;
  margin: 4px 0 0;
  color: var(--dv-text-strong);
  font-size: 30px;
  font-weight: 780;
  line-height: 1.24;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-hero p {
  max-width: 65ch;
  margin: 7px 0 0;
  color: var(--dv-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-scope-list {
  justify-content: flex-start;
  align-content: center;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-scope-list span {
  min-height: 36px;
  border-color: #c5d9cf;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
  font-weight: 700;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-entry-links {
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-entry-links a {
  min-height: 44px;
  border-radius: var(--dv-radius);
  border-color: var(--dv-border-strong);
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-type-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-type-card {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-type-card .btn {
  min-height: 44px;
  justify-self: start;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-layout {
  grid-template-columns: minmax(0, 1fr) 304px;
  gap: 18px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-layout > .route-note-panel {
  min-width: 0;
  padding: 22px;
  border: 1px solid #bdcec5;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #advisoryForm {
  display: grid;
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-work-evidence="advisory"] {
  margin: 0;
  padding: 16px;
  border: 1px solid #bad3c7;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-work-evidence="advisory"] .bmb-count {
  border-radius: 6px;
  background: var(--dv-bg-surface);
  color: var(--dv-success-text);
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-work-evidence="advisory"] .bmb-actions .btn,
body[data-ui-generation="2"][data-work-shell="advisory"] .route-preset-row .btn {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #advisoryForm .investment-form-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #advisoryForm :where(label, fieldset) {
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #advisoryForm > .btn.primary {
  min-height: 46px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"] {
  min-width: 0;
  margin: 18px 0 0;
  padding: 20px;
  border: 1px solid #bac8d9;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"]:empty {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] :where(
  .advisory-summary-grid,
  .advisory-result-grid
) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] :where(
  .advisory-summary-grid > div,
  .advisory-result-grid > article,
  .investment-material-used,
  .advisory-signup-box
) {
  border: 1px solid #ced8e3;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] {
  border-color: #d5b778;
  background: var(--dv-warning-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] .expert-share-consent {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] .expert-share-consent input[type="checkbox"] {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 2px 0 0;
  padding: 0;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-next-action-panel="advisory"] {
  border-color: #9bbcaf;
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] :where(
  [data-review-handoff="advisory"] .btn,
  [data-next-action-panel="advisory"] .btn,
  .advisory-signup-box .btn
) {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"][data-work-guidance="advisory"] {
  position: sticky;
  top: 76px;
  display: grid;
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"] > .side-list {
  padding: 16px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"] .side-list article {
  border-color: #d3ddd7;
}

body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"] .side-list article span {
  color: var(--dv-text);
}

/* Route: channel selection and classification use a compact triage-desk grammar. */
body[data-ui-generation="2"][data-work-shell="route"] .route-product {
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-support-card {
  padding: 16px;
  border: 1px solid #c8d4df;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-support-card strong {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-support-card p {
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-support-card .btn {
  min-height: 44px;
  margin-top: auto;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-layout {
  grid-template-columns: minmax(0, 1fr) 304px;
  gap: 18px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-panel {
  border: 1px solid #bdcec5;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-panel #routeForm {
  display: grid;
  gap: 16px;
  padding: 22px;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-head {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-bottom: 18px;
  border-color: var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-head h2 {
  max-width: 29ch;
  margin: 4px 0 0;
  color: var(--dv-text-strong);
  font-size: 30px;
  font-weight: 780;
  line-height: 1.24;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-head p {
  max-width: 65ch;
  margin: 7px 0 0;
  color: var(--dv-text-muted);
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-flow {
  gap: 4px;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-intake-flow span {
  min-height: 36px;
  border-color: #c7d4e0;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-choice-set legend {
  color: var(--dv-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-choice-body {
  min-height: 88px;
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-choice-card input:checked + .route-choice-body {
  border-color: var(--dv-primary);
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-choice-card input:checked + .route-choice-body b {
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-choice-card input:checked + .route-choice-body small {
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-type-chip span {
  min-height: 44px;
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-type-chip input:checked + span {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-handoff-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  border: 0;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-handoff-strip span {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="route"] .route-handoff-strip span::before {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="route"] .route-preset-row .btn {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="route"] #routeForm > .btn.primary {
  min-height: 46px;
}

body[data-ui-generation="2"][data-work-shell="route"] #liveResult[data-work-result="route"] {
  min-width: 0;
  margin: 0 22px 22px;
  padding: 20px;
  border: 1px solid #bac8d9;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  color: var(--dv-text);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] #liveResult[data-work-result="route"] article {
  border-color: #ced8e3;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] #liveResult[data-work-result="route"] > p {
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="route"] [data-next-action-panel="route"] {
  border-color: #9bbcaf;
  background: var(--dv-bg-selected);
}

body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"][data-work-guidance="route"] {
  position: sticky;
  top: 76px;
  display: grid;
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"] > .side-list {
  padding: 16px;
  border: 1px solid #c8d4df;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"] .side-list article {
  border-color: #ced8e3;
}

body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"] .side-list article span {
  color: var(--dv-text);
}

@media (min-width: 781px) {
  /* Keep the collapsed global consultation control beside, never on top of, active work. */
  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-workspace-shell {
    padding-right: 68px;
  }
}

@media (max-width: 1180px) {
  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-workspace-shell {
    width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-layout,
  body[data-ui-generation="2"][data-work-shell="route"] .route-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) [data-secondary-work][data-work-guidance] {
    position: static;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"],
  body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] :where(
    .expert-request-copy,
    .expert-request-actions,
    .expert-share-consent,
    .expert-share-consent span,
    button,
    small
  ) {
    min-width: 0;
    max-width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] .expert-request-actions {
    width: 100%;
    justify-items: stretch;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] .expert-share-consent span {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-nav-strip {
    display: grid;
    gap: 12px;
    padding: 0 0 14px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) :where(#workspaceTitle, .service-nav-strip h1) {
    font-size: 26px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) :where(#workspaceLead, .service-nav-strip p) {
    display: block;
    overflow: visible;
    font-size: 14px;
    line-height: 1.55;
    -webkit-line-clamp: unset;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-tabbar {
    display: flex;
    max-width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-tabbar::-webkit-scrollbar {
    display: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .service-tabbar a {
    flex: 0 0 auto;
    min-width: 96px;
    min-height: 44px;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) :where(button, .btn, summary, a[href]) {
    min-height: 44px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-hero {
    padding: 16px;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-hero h2,
  body[data-ui-generation="2"][data-work-shell="route"] .route-intake-head h2 {
    font-size: 25px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-scope-list {
    max-width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 24px 2px 0;
    scrollbar-width: none;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-scope-list::-webkit-scrollbar {
    display: none;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-scope-list span {
    flex: 0 0 auto;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] .advisory-layout > .route-note-panel,
  body[data-ui-generation="2"][data-work-shell="route"] .route-intake-panel #routeForm {
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] #advisoryForm .investment-form-grid.two,
  body[data-ui-generation="2"][data-work-shell="advisory"] :where(
    .advisory-summary-grid,
    .advisory-result-grid
  ),
  body[data-ui-generation="2"][data-work-shell="route"] :where(
    .route-intake-head,
    .route-channel-grid,
    .route-field-grid,
    .route-handoff-strip
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-secondary-work="advisory"],
  body[data-ui-generation="2"][data-work-shell="route"] [data-secondary-work="route"] {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-support-grid {
    display: flex;
    max-width: 100%;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 28px 2px 0;
    scrollbar-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-support-grid::-webkit-scrollbar {
    display: none;
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-support-card {
    flex: 0 0 min(278px, 82vw);
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-intake-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body[data-ui-generation="2"][data-work-shell="route"] .route-intake-flow {
    grid-template-columns: repeat(3, max-content);
    max-width: 100%;
    justify-content: start;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  body[data-ui-generation="2"][data-work-shell="route"] #liveResult[data-work-result="route"] {
    margin: 0 16px 16px;
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"] {
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"] :where(
    .result-detail,
    .process-steps,
    .process-step,
    .process-step strong,
    .result-headline,
    .result-headline > *,
    .result-summary-grid,
    .advisory-result-grid,
    .advisory-signup-box
  ) {
    min-width: 0;
    max-width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"] :where(
    .result-detail,
    .process-steps,
    .result-headline,
    .result-summary-grid,
    .advisory-result-grid,
    .advisory-signup-box
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] #liveResult[data-work-result="advisory"] :where(
    .process-step strong,
    .result-headline h3,
    .result-headline p,
    .advisory-result-grid,
    .advisory-signup-box
  ) {
    overflow-wrap: anywhere;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] :where(
    .expert-request-copy,
    .expert-request-actions,
    .expert-share-consent,
    .expert-share-consent span,
    button,
    small
  ) {
    min-width: 0;
    max-width: 100%;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] [data-review-handoff="advisory"] .expert-request-actions {
    justify-items: stretch;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .route-preset-row {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 24px 2px 0;
    scrollbar-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .route-preset-row::-webkit-scrollbar {
    display: none;
  }

  body[data-ui-generation="2"]:is(
    [data-work-shell="advisory"],
    [data-work-shell="route"]
  ) .route-preset-row .btn {
    flex: 0 0 auto;
  }

  body[data-ui-generation="2"][data-work-shell="advisory"] :where(
    #advisoryForm > .btn.primary,
    [data-review-handoff="advisory"] .btn,
    [data-next-action-panel="advisory"] .btn,
    .advisory-signup-box .btn
  ) {
    width: 100%;
    justify-content: center;
  }
}

/* Standalone workspaces: programs, accounting, technology transfer, and bid evidence. */
body[data-ui-generation="2"][data-work-shell="programs"] [hidden],
body[data-ui-generation="2"][data-work-shell="accounting"] [hidden],
body[data-ui-generation="2"][data-work-shell="techtrade"] [hidden],
body[data-ui-generation="2"][data-work-shell="bid"].bid-page [hidden] {
  display: none !important;
}

body[data-ui-generation="2"][data-work-shell="programs"] :where(
  [data-work-shell-applied="2"],
  [data-work-primary],
  [data-work-form],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work],
  [data-work-stage],
  [data-next-action-panel]
),
body[data-ui-generation="2"][data-work-shell="accounting"] :where(
  [data-work-shell-applied="2"],
  [data-work-primary],
  [data-work-form],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work],
  [data-work-stage],
  [data-next-action-panel]
),
body[data-ui-generation="2"][data-work-shell="techtrade"] :where(
  [data-work-shell-applied="2"],
  [data-work-primary],
  [data-work-form],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work],
  [data-work-stage],
  [data-next-action-panel]
),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page :where(
  [data-work-shell-applied="2"],
  [data-work-primary],
  [data-work-form],
  [data-work-result],
  [data-work-evidence],
  [data-secondary-work],
  [data-work-stage],
  [data-next-action-panel]
) {
  min-width: 0;
  max-width: 100%;
}

body[data-ui-generation="2"][data-work-shell="programs"] :where(
  #programMatch button,
  #programMatch .btn,
  #programMatch summary,
  #programMatch input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  #programMatch select,
  #programMatch textarea,
  #programMatch [role="tab"],
  #programWorkflow a,
  #programWorkflow button
),
body[data-ui-generation="2"][data-work-shell="accounting"] :where(
  .member-dash button,
  .member-dash .btn,
  .member-dash summary,
  .member-dash input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  .member-dash select,
  .member-dash textarea,
  .member-dash a[href],
  .acc-drop
),
body[data-ui-generation="2"][data-work-shell="techtrade"] :where(
  .tt-market-shell button,
  .tt-market-shell .btn,
  .tt-market-shell summary,
  .tt-market-shell input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  .tt-market-shell select,
  #techRequest button,
  #techRequest .btn,
  #techRequest summary,
  #techRequest input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  #techRequest select,
  #techRequest textarea,
  #techRequest a[href],
  .tt-modal button
),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page :where(
  #bidListView button,
  #bidListView .btn,
  #bidListView summary,
  #bidListView input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  #bidListView select,
  #bidListView textarea,
  #bidListView a[href],
  #bidDetailView button,
  #bidDetailView .btn,
  #bidDetailView summary,
  #bidDetailView input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  #bidDetailView select,
  #bidDetailView textarea,
  #bidDetailView a[href]
) {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="programs"] :where(
  .program-command,
  .program-workflow,
  #programFilterPanel,
  .program-criteria-bar,
  .program-match-summary,
  .program-card,
  .program-source-grid article,
  .program-policy-board
),
body[data-ui-generation="2"][data-work-shell="accounting"] :where(
  .acc-card,
  .acc-drop,
  .acc-state-list li,
  .business-material-bridge,
  .acc-material-used,
  .partner-advisory,
  .partner-card
),
body[data-ui-generation="2"][data-work-shell="techtrade"] :where(
  .tt-hero,
  .feature-sidebar,
  .feature-rail,
  .tt-card,
  .tt-request-details,
  .form-panel,
  .notice-box,
  .tt-selected-card,
  .business-material-bridge,
  .tt-modal-card
),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page :where(
  #bidListView .feature-hero,
  #bidListView .feature-sidebar,
  #bidListView .feature-rail,
  .bid-card,
  .bid-material-bridge,
  #bidDetailView,
  .bid-detail-hero,
  .bid-timeline,
  .bid-metric-strip,
  .bid-insight-card,
  .bid-decision-card
) {
  border-radius: var(--dv-radius);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] :where(
  .program-command > .label,
  .program-command-copy > .label,
  .program-result-heading .label,
  .program-policy-board > .label
),
body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero .hero-eyebrow,
body[data-ui-generation="2"][data-work-shell="techtrade"] :where(
  .tt-hero > div > .label,
  .feature-content > .section-title .label,
  .tt-workbench-head .label
),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page :where(
  #bidListView > .feature-hero .label,
  #bidListView .feature-content > .section-title .label,
  #bidDetailView .bid-section-title > .label
) {
  display: none;
}

/* Programs: criteria and evidence lead to ranked matches, preparation, then real review. */
body[data-ui-generation="2"][data-work-shell="programs"] .feature-main {
  padding-bottom: 96px;
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"][data-work-shell="programs"] :where(
  .program-command,
  .program-workflow,
  .program-workspace
) {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin-right: auto;
  margin-left: auto;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-copy {
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command h1 {
  max-width: 24ch;
  margin: 0;
  color: var(--dv-trust);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 780;
  line-height: 1.22;
  letter-spacing: -0.035em;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command h1 br {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command p {
  max-width: 65ch;
  color: var(--dv-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-promise {
  width: fit-content;
  min-height: 36px;
  margin-top: 2px;
  padding: 7px 10px;
  border: 1px solid #a9c9bc;
  border-radius: var(--dv-radius);
  background: var(--dv-success-surface);
  color: var(--dv-success-text);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-promise > span {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--dv-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics article {
  min-height: 112px;
  padding: 14px 10px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics article:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics :where(span, small) {
  color: var(--dv-text-muted);
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics strong {
  color: var(--dv-trust);
  font-size: 20px;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow {
  margin-top: 14px;
  padding: 0;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow ol {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li {
  min-height: 68px;
  padding: 10px 14px;
  border-right: 1px solid var(--dv-border);
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li:not(:last-child)::after {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li > span {
  border-radius: 6px;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li.is-current {
  background: var(--dv-bg-selected);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-workspace {
  grid-template-columns: minmax(286px, 316px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel {
  top: 76px;
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel :where(
  .program-context-tools,
  .program-company-toggle,
  .program-readiness,
  .filter-note,
  .business-material-bridge
) {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel .business-material-bridge.is-loaded {
  border-color: #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel :where(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  border-color: var(--dv-border-strong);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] #programMatch > .feature-content {
  min-width: 0;
  display: grid;
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-result-heading {
  min-height: 52px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-result-heading h2 {
  color: var(--dv-trust);
  font-size: clamp(24px, 2.6vw, 32px);
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-criteria-bar {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px 16px;
  border: 1px solid #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-criteria-bar .program-shield {
  border-radius: 6px;
  background: var(--dv-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-criteria-bar :where(strong, small) {
  color: var(--dv-success-text);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-criteria-chips span {
  border-radius: var(--dv-radius);
  border-color: #a9c9bc;
  background: var(--dv-bg-surface);
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-view-tabs {
  gap: 0;
  padding: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-view-tabs button {
  border-radius: 0;
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-view-tabs button + button {
  border-left: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-view-tabs button[aria-selected="true"] {
  background: var(--dv-bg-surface);
  color: var(--dv-trust);
  box-shadow: inset 0 -3px 0 var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-match-summary {
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions > span {
  min-height: 58px;
  padding: 10px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions > span:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-list {
  display: grid;
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card {
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card::before {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card:hover {
  border-color: #9fb9ad;
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card :where(
  .deadline,
  .program-source,
  .program-verified,
  .program-card-context > span
) {
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card .deadline {
  background: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card h3 {
  color: var(--dv-trust);
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.02em;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-eligibility-checks li {
  border-color: #a9c9bc;
  border-radius: var(--dv-radius);
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-eligibility-checks li > span {
  border-radius: 6px;
  background: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-card-context .program-preparation {
  flex: 1 0 100%;
  width: 100%;
  min-height: 44px;
  justify-content: space-between;
  padding: 8px 10px;
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-evidence-details {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="programs"] [data-review-handoff="programs"] {
  padding: 12px;
  border: 1px solid #aebed6;
  border-radius: var(--dv-radius);
  background: var(--dv-trust-soft);
}

body[data-ui-generation="2"][data-work-shell="programs"] [data-review-handoff="programs"] :where(small, [data-program-expert-status]) {
  color: #4e5e75;
}

body[data-ui-generation="2"][data-work-shell="programs"] [data-next-action-panel="programs"] {
  border-color: #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid article {
  padding: 16px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid article:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-policy-board {
  padding: 20px;
  border: 1px solid #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="programs"] .program-policy-board :where(h3, li, li strong) {
  color: var(--dv-success-text);
}

/* Accounting: a calm document workspace, structured analysis, then real partner advice. */
body[data-ui-generation="2"][data-work-shell="accounting"] .member-dash {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  gap: 20px;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .member-dash > .dash-hero {
  min-height: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 0 0 20px;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero .hero-copy {
  max-width: 820px;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero h1 {
  max-width: 24ch;
  margin: 0;
  color: var(--dv-trust);
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 780;
  line-height: 1.25;
  letter-spacing: -0.035em;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero h1 em {
  color: var(--dv-primary);
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero p {
  max-width: 72ch;
  margin: 8px 0 0;
  color: var(--dv-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
  gap: 18px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-card > h2 {
  margin: 0 0 5px;
  color: var(--dv-trust);
  font-size: 20px;
  font-weight: 760;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-card .acc-sub {
  max-width: 64ch;
  margin: 0 0 16px;
  color: var(--dv-text-muted);
  font-size: 13px;
  line-height: 1.6;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge.is-loaded {
  border-color: color-mix(in srgb, var(--dv-success-text) 25%, var(--dv-bg-surface));
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge :where(p, span) {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge p {
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="accounting"] #accForm {
  display: grid;
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop {
  min-height: 188px;
  padding: 24px 18px;
  border: 1px dashed var(--dv-border-strong);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop:hover,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop:focus-within,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop.drag {
  border-color: var(--dv-primary);
  background: var(--dv-bg-selected);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop .ad-plus {
  border-radius: 6px;
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-field {
  margin: 0;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-field textarea {
  min-height: 116px;
  border-color: var(--dv-border-strong);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-run {
  width: 100%;
  min-height: 46px;
  margin: 0;
  border-radius: var(--dv-radius);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-note,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-source,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-dq {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="accounting"] #accResult {
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="accounting"] #accResult .acc-empty {
  padding: 22px 0 0;
  color: var(--dv-text);
}

body[data-ui-generation="2"][data-work-shell="accounting"] #accResult .acc-empty-workbench {
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="accounting"] #accResult .ae-ic {
  border: 1px solid #a9c9bc;
  border-radius: 6px;
  background: var(--dv-success-surface);
  color: var(--dv-success-text);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-head,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-flow,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-band {
  border-color: var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-flow div {
  border-color: var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-flow b,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-badge {
  border-radius: 6px;
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-gauge-wrap {
  gap: 20px;
  padding: 4px 0 18px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-grade {
  width: fit-content;
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-section-t {
  margin-top: 18px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--dv-border);
  color: var(--dv-trust);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-metric {
  min-height: 58px;
  padding: 10px 0;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-risk,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-rec,
body[data-ui-generation="2"][data-work-shell="accounting"] .acc-material-used {
  padding: 12px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-risk.high {
  border-color: #ddb5b0;
  background: var(--dv-danger-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-risk.medium {
  border-color: #d7c39b;
  background: var(--dv-warning-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-material-used {
  border-color: #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-state-list li {
  min-height: 58px;
  padding: 10px;
  border-color: var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid #aebed6;
  background: var(--dv-trust-soft);
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pa-head {
  max-width: 72ch;
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pa-head :where(strong, p) {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pa-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .partner-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #c5d0df;
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pc-cta {
  width: 100%;
  min-height: 44px;
  border-radius: var(--dv-radius);
  background: var(--dv-trust);
  color: var(--dv-on-primary);
}

/* A3-1 — gen2 잔여 마감: 파트너 trust 패널 안의 코발트 액센트 통일, 동의줄 잉크
   2세계 해소, 지표 잔여 카드 테두리 해제, 게이지 캡션 uppercase 해제, 근거 문법 편입. */
body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pc-role {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pc-badge {
  background: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pc-tags em {
  background: var(--dv-trust-soft);
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .pa-consent-note {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .pa-consent-note input {
  accent-color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-metric {
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  margin-bottom: 0;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-gauge .gv span {
  text-transform: none;
  letter-spacing: normal;
}

body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge.is-loaded .bmb-count {
  color: var(--dv-success-text);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .acc-drop .ad-files {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="accounting"] .fact-intake-card {
  border-radius: var(--dv-radius);
}

/* Technology transfer: marketplace research, selected evidence, then an operator request queue. */
/* 팔레트 리맵(T2) — body.visitor-page 팔레트(특정도 0,1,1)가 :root 토큰 리맵을 이겨
   var(--green) 계열이 이 페이지에서만 레거시 그린으로 남았다. (0,2,1)로 눌러쓴다.
   선례: investment 776-782, community 5659-5667. */
body[data-ui-generation="2"][data-work-shell="techtrade"] {
  --green: var(--dv-primary);
  --green-soft: var(--dv-bg-selected);
  --gold: var(--dv-warning-text);
  --gold-soft: var(--dv-warning-surface);
  --blue-soft: var(--dv-trust-soft);
}

/* visitor 공용 클래스 직값(.label.green 민트 보더·다크그린 잉크, .pill 색이름) 보정. */
body[data-ui-generation="2"][data-work-shell="techtrade"] .label.green {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .pill.gold {
  border-color: color-mix(in srgb, var(--dv-warning-accent) 45%, var(--dv-border));
  background: var(--dv-warning-surface);
  color: var(--dv-warning-text);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-main {
  padding-bottom: 104px;
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] :where(
  .tt-hero,
  .tt-market-shell,
  #techRequest
) {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin-right: auto;
  margin-left: auto;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero h1 {
  margin: 0;
  color: var(--dv-trust);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero p {
  max-width: 65ch;
  margin: 8px 0 0;
  color: var(--dv-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero figure {
  min-height: 210px;
  margin: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 14px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-stat {
  min-width: 0;
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-stat:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-stat strong {
  color: var(--dv-primary);
  font-size: 20px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-stat span {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-herobar {
  max-width: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-herobar input {
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell,
body[data-ui-generation="2"][data-work-shell="techtrade"].member-authed .tt-market-shell {
  display: grid;
  grid-template-columns: minmax(224px, 248px) minmax(0, 1fr) minmax(204px, 224px) !important;
  gap: 16px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > * {
  min-width: 0;
  order: initial !important;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > .feature-sidebar {
  top: 76px;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-filter-details :where(input, select) {
  min-height: 44px;
  border-color: var(--dv-border-strong);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > .feature-content {
  min-width: 0;
  display: grid;
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-content > .section-title {
  min-height: 52px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-content > .section-title h2 {
  color: var(--dv-trust);
  font-size: clamp(24px, 2.6vw, 30px);
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card {
  min-height: 0;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card::before {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card:hover,
body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card.selected {
  border-color: var(--dv-primary);
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card.selected {
  background: var(--dv-bg-selected);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card.selected::after {
  border-radius: var(--dv-radius);
  background: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card h3 {
  min-height: 0;
  color: var(--dv-trust);
  font-size: 18px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card .tt-org {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card-actions {
  grid-template-columns: minmax(104px, 0.55fr) minmax(0, 1fr);
  border-color: var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card-actions .btn {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > .feature-rail,
body[data-ui-generation="2"][data-work-shell="techtrade"].member-authed .tt-market-shell > .feature-rail {
  position: sticky;
  top: 76px;
  display: block !important;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-trust-soft);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-rail :where(h2, h3, b) {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-rail :where(p, span) {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-next-panel {
  gap: 0;
  border-top: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-next-panel article {
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techRequest {
  margin-top: 18px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-details {
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-details > summary {
  min-height: 68px;
  padding: 14px 16px;
  border-bottom: 0;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-details[open] > summary {
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-summary-label strong {
  color: var(--dv-trust);
  font-size: 20px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-summary-label small {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-body {
  padding: 16px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .techbridge-request-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeForm {
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeForm :where(input, select, textarea) {
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
}

/* 선택 상태는 성공이 아니라 선택이다 — 선택 표면 문법(bg-selected+trust 잉크)으로 통일(T2). */
body[data-ui-generation="2"][data-work-shell="techtrade"] #selectedTechnologyCard.show {
  display: grid;
  border: 1px solid color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  border-radius: var(--dv-radius);
  background: var(--dv-bg-selected);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #selectedTechnologyCard.show :where(strong, p) {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult {
  align-self: start;
  min-height: 0;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-trust-soft);
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult > section {
  padding: 13px 0;
  border: 0;
  border-top: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult > section:first-child {
  padding-top: 0;
  border-top: 0;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult h3::before,
body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult li::before {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult ul {
  padding-left: 20px;
  list-style: disc;
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult li {
  padding-left: 0;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-modal-card {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 22px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  overflow-y: auto;
}

body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-modal-close {
  width: 44px;
  height: 44px;
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

/* Bid notices: filters and exact notice evidence lead to proposal and analysis actions. */
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .feature-main {
  padding-bottom: 104px;
  background: var(--dv-bg-page);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page :where(
  #bidListView > .feature-hero,
  #bidListView > .feature-shell,
  #bidDetailView
) {
  width: 100%;
  max-width: var(--app-content-max, min(max(1760px, 78vw), 2400px));
  margin-right: auto;
  margin-left: auto;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
  gap: 24px;
  padding: 24px 26px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-hero h1 {
  margin: 0;
  color: var(--dv-trust);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-hero p {
  max-width: 70ch;
  margin: 8px 0 0;
  color: var(--dv-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .feature-hero-aside {
  border-left: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-hero-stat strong {
  color: var(--dv-primary);
  font-size: 32px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-hero-stat span {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-shell {
  display: grid;
  grid-template-columns: minmax(224px, 248px) minmax(0, 1fr) minmax(204px, 224px);
  gap: 16px;
  align-items: start;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-shell > * {
  min-width: 0;
  order: initial !important;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-sidebar,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-rail {
  top: 76px;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-sidebar {
  position: sticky;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-rail {
  position: sticky;
  background: var(--dv-trust-soft);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-rail :where(h2, h3, strong) {
  color: var(--dv-trust);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-rail :where(p, span) {
  color: #4e5e75;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-filter-field :where(input, select),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-alert-field input {
  min-height: 44px;
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-material-bridge {
  padding: 12px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-material-bridge.is-loaded {
  border-color: #a9c9bc;
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-content {
  min-width: 0;
  display: grid;
  gap: 14px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-content > .section-title {
  min-height: 52px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView .feature-content > .section-title h2 {
  color: var(--dv-trust);
  font-size: clamp(24px, 2.6vw, 30px);
  letter-spacing: -0.03em;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--dv-border);
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-quick-filters .chip {
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidList {
  display: grid;
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card::before {
  display: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card:hover {
  border-color: #9fb9ad;
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card :where(
  .deadline,
  .pill,
  .bid-badge-row
) {
  position: static;
  flex: 0 0 auto;
  align-self: flex-start;
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card h3,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .bid-card-grid,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .program-score,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .program-fit-line,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .bid-card-facts,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .bid-match-summary,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .program-meta,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .card-actions,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .bid-save-editor {
  flex: 1 0 100%;
  min-width: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card h3 {
  margin: 4px 0;
  color: var(--dv-trust);
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: -0.015em;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 4px 0;
  padding: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-cell {
  min-height: 66px;
  padding: 10px;
  border-right: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-cell:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-cell :where(span, strong) {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .program-score {
  position: static;
  display: flex;
  align-items: baseline;
  gap: 8px;
  transform: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .card-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
  border-top: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-pager button {
  min-width: 44px;
  padding: 8px 12px;
  border-color: var(--dv-border-strong);
  border-radius: var(--dv-radius);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidDetailView {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-toolbar {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-hero {
  /* 제목·기관과 마감을 먼저 읽고, 같은 header 표면의 전폭 판단 band로 적합 근거를 잇는다. */
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-hero-fit-band {
  padding-top: 18px;
}

/* work-shell adapter가 evidence/next-action marker를 자동 부여해도 header 안의 판단 band를
   다시 카드처럼 칠하지 않는다. 위계는 같은 표면의 한 줄 경계와 간격으로만 구분한다. */
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-hero-fit-band[data-work-evidence="bid"] {
  border: 0;
  border-top: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 980px) {
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-hero {
    grid-template-columns: minmax(0, 1fr);
  }

}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-hero h1 {
  max-width: 34ch;
  margin: 10px 0 8px;
  color: var(--dv-trust);
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.3;
  letter-spacing: -0.025em;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card.urgent,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card.critical {
  min-height: 164px;
  padding: 20px;
  border: 1px solid #24466e;
  background: var(--dv-trust);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card.closed,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card.cancelled {
  border-color: var(--dv-border-strong);
  background: #3b4741;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card :where(strong, b) {
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card :where(span, small) {
  color: #d5deea;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-timeline {
  padding: 16px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric {
  min-height: 106px;
  padding: 14px;
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric.good {
  background: var(--dv-success-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric.warn {
  background: var(--dv-warning-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric span {
  color: var(--dv-text-muted);
  text-transform: none;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(286px, 0.65fr);
  gap: 16px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-main {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-aside {
  top: 76px;
  gap: 12px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-insight-card {
  min-width: 0;
  min-height: 0;
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-aside > .bid-section {
  min-width: 0;
  min-height: 0;
  padding: 18px;
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-section-title {
  margin-bottom: 12px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-section-title h2 {
  color: var(--dv-trust);
  font-size: 21px;
  line-height: 1.3;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-analysis-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-top: 1px solid var(--dv-border);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-analysis-grid > div {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--dv-border);
  border-radius: 0;
  background: transparent;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-analysis-note {
  border: 1px solid #d7c39b;
  border-radius: var(--dv-radius);
  background: var(--dv-warning-surface);
  color: var(--dv-warning-text);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track {
  gap: 0;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  overflow: clip;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track span {
  border: 0;
  border-right: 1px solid var(--dv-border);
  border-radius: 0;
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track span:last-child {
  border-right: 0;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-rfp-text,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-state,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-doc-empty {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-rfp-evidence,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-dl {
  display: inline-flex;
  align-items: center;
  color: var(--dv-primary);
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page [data-next-action-panel="bid"] {
  border-color: #8fb5a5;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page a[data-next-action-panel="bid"] {
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

/* Fixed assistance remains reachable without occupying the active mobile work area. */
body[data-ui-generation="2"][data-work-shell="programs"] .dream-channel-widget .chat-fab,
body[data-ui-generation="2"][data-work-shell="techtrade"] .dream-channel-widget .chat-fab {
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
}

body[data-ui-generation="2"][data-work-shell="programs"] .dream-channel-widget .chat-panel,
body[data-ui-generation="2"][data-work-shell="techtrade"] .dream-channel-widget .chat-panel {
  max-height: calc(100dvh - 104px - env(safe-area-inset-top, 0px));
  overflow-y: auto;
}

@media (min-width: 781px) {
  body[data-ui-generation="2"][data-work-shell="techtrade"] main.feature-main,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page main.feature-main,
  body[data-ui-generation="2"][data-work-shell="accounting"] main.member-main {
    padding-right: 84px;
  }
}

@media (max-width: 1180px) {
  body[data-ui-generation="2"][data-work-shell="programs"] .program-command {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel {
    position: static;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell,
  body[data-ui-generation="2"][data-work-shell="techtrade"].member-authed .tt-market-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > :where(.feature-sidebar, .feature-rail),
  body[data-ui-generation="2"][data-work-shell="techtrade"].member-authed .tt-market-shell > .feature-rail {
    position: static;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .techbridge-request-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView :where(.feature-sidebar, .feature-rail),
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-aside {
    position: static;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 780px) {
  body[data-ui-generation="2"][data-work-shell="programs"].member-authed main.feature-main,
  body[data-ui-generation="2"][data-work-shell="techtrade"].member-authed main.feature-main,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page.member-authed main.feature-main {
    padding-top: 68px;
    padding-right: 16px;
    padding-bottom: max(96px, calc(72px + env(safe-area-inset-bottom, 0px)));
    padding-left: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .feature-main,
  body[data-ui-generation="2"][data-work-shell="techtrade"] .feature-main,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .feature-main {
    padding-bottom: max(96px, calc(72px + env(safe-area-inset-bottom, 0px)));
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command {
    gap: 18px;
    padding: 18px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command h1 {
    font-size: 30px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command-promise {
    width: 100%;
    align-items: flex-start;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics article {
    min-height: 96px;
    padding: 12px 7px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics :where(span, small) {
    font-size: 10px;
    line-height: 1.35;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-command-metrics strong {
    font-size: 17px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li {
    min-height: 64px;
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li:nth-child(odd) {
    border-right: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-workflow li:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] #programFilterPanel,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-card {
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-criteria-bar,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions > span,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-next-actions > span:last-child,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-source-grid article:last-child {
    border-bottom: 0;
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-eligibility-checks,
  body[data-ui-generation="2"][data-work-shell="programs"] .program-card .card-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="programs"] .program-card .card-actions .btn,
  body[data-ui-generation="2"][data-work-shell="programs"] [data-review-handoff="programs"] .btn {
    width: 100%;
    justify-content: center;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .member-dash > .dash-hero {
    padding-bottom: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .dash-hero h1 {
    font-size: 28px;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-card,
  body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] {
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .business-material-bridge,
  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-head,
  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-gauge-wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-badge {
    grid-column: auto;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-flow div {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-flow em {
    grid-column: 2;
    justify-self: start;
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-standby-band,
  body[data-ui-generation="2"][data-work-shell="accounting"] [data-review-handoff="accounting"] .pa-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="accounting"] .acc-gauge-wrap {
    display: grid;
    justify-items: start;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 18px;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero h1 {
    font-size: 30px;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-hero figure {
    display: none;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-market-shell > .feature-sidebar {
    padding: 8px 10px;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-filter-details > summary {
    min-height: 44px;
    padding: 0 10px;
    list-style: none;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-filter-details > summary::-webkit-details-marker {
    display: none;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-filter-details > summary::after {
    width: 9px;
    height: 9px;
    flex: none;
    margin-left: 12px;
    border-right: 2px solid var(--dv-primary);
    border-bottom: 2px solid var(--dv-primary);
    content: "";
    transform: translateY(-2px) rotate(45deg);
    transition: transform var(--dv-duration-fast) var(--dv-ease-out);
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-filter-details[open] > summary::after {
    transform: translateY(2px) rotate(225deg);
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-grid,
  body[data-ui-generation="2"][data-work-shell="techtrade"] .techbridge-request-layout,
  body[data-ui-generation="2"][data-work-shell="techtrade"] .techbridge-request-layout .field-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-card-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-details > summary {
    align-items: stretch;
    flex-direction: column;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-summary-action,
  body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeForm .btn[type="submit"] {
    width: 100%;
    justify-content: center;
  }

  body[data-ui-generation="2"][data-work-shell="techtrade"] .tt-request-body,
  body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeForm,
  body[data-ui-generation="2"][data-work-shell="techtrade"] #techbridgeResult {
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView > .feature-hero h1 {
    font-size: 30px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .feature-hero-aside {
    justify-content: flex-start;
    padding-top: 12px;
    border-top: 1px solid var(--dv-border);
    border-left: 0;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidListView :where(.feature-sidebar, .feature-rail),
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-insight-card {
    padding: 14px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-quick-filters .chip {
    flex: 1 1 calc(50% - 7px);
    justify-content: center;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-cell {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-cell:last-child {
    border-bottom: 0;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .card-actions,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-toolbar {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card .card-actions .btn,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-toolbar .btn {
    width: 100%;
    justify-content: center;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidDetailView {
    padding: 12px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-detail-hero {
    grid-template-columns: minmax(0, 1fr);
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-decision-card {
    min-height: 0;
    padding: 16px;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-timeline ol,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric-strip,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-timeline li::before {
    display: none;
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track span {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--dv-border);
  }

  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-metric:last-child,
  body[data-ui-generation="2"][data-work-shell="bid"].bid-page .bid-card-track span:last-child {
    border-bottom: 0;
  }
}

/* Standalone workspaces end. 아래 규칙은 이 영역의 계약 대상이 아니다 —
   standaloneWorkShellResponsiveV2 는 위 시작 표시부터 이 줄까지만 검사한다. */

/* ─────────────────────────────────────────────────────────────────────────
   기업현황(make-deck): V2 정돈을 한 번도 받지 않은 마지막 업무 표면.
   데이터 플랫폼 CSS의 자체 팔레트(근흑 네이비, blue/violet, 그라디언트, 부양
   그림자, 대문자 라벨)를 canonical 토큰으로 수렴한다. 렌더러 DOM과 클릭 계약은
   그대로 두고 표면 문법만 바꾼다: 8px + 1px 경계의 평평한 카드, 한 화면의
   filled 주 행동은 "사업자료 분석 실행" 하나, 카테고리 라벨은 조용한 중립.
   ───────────────────────────────────────────────────────────────────────── */

body[data-ui-generation="2"].make-deck-page {
  --bg: var(--dv-bg-page);
  --surface: var(--dv-bg-surface);
  --surface-soft: var(--dv-bg-subtle);
  --ink: var(--dv-text-strong);
  --ink-2: var(--dv-text);
  --muted: var(--dv-text-muted);
  --line: var(--dv-border);
  --line-strong: var(--dv-border-strong);
  --navy: var(--dv-trust);
  --navy-2: var(--dv-trust);
  --green: var(--dv-primary);
  --green-soft: var(--dv-bg-selected);
  --blue: var(--dv-trust);
  --blue-soft: var(--dv-trust-soft);
  --gold: var(--dv-warning-text);
  --gold-soft: var(--dv-warning-surface);
  --red: var(--dv-danger);
  --red-soft: var(--dv-danger-surface);
  --violet: var(--dv-trust);
  --violet-soft: var(--dv-trust-soft);
  --shadow-sm: none;
  --shadow-md: var(--dv-shadow-overlay);
  background: var(--dv-bg-page);
  color: var(--dv-text);
  font-family: var(--dv-font-ui);
}

/* 앱 표면은 평평하다 — 정지 그림자와 hover 리프트를 전부 끈다. */
body[data-ui-generation="2"].make-deck-page .panel {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  box-shadow: none;
}

body[data-ui-generation="2"].make-deck-page .btn {
  min-height: 44px;
  border-radius: var(--dv-radius);
  font-weight: 700;
}

body[data-ui-generation="2"].make-deck-page .btn:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--dv-border-strong);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"].make-deck-page .btn:active {
  transform: translateY(1px);
}

body[data-ui-generation="2"].make-deck-page .btn.primary {
  background: var(--dv-primary);
  border-color: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"].make-deck-page .btn.primary:hover {
  background: var(--dv-primary-hover);
  border-color: var(--dv-primary-hover);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"].make-deck-page .btn.primary:disabled {
  opacity: .5;
}

body[data-ui-generation="2"].make-deck-page .btn.subtle {
  background: var(--dv-bg-subtle);
}

/* 대문자 트래킹 라벨은 이 월드의 어휘가 아니다. */
body[data-ui-generation="2"].make-deck-page .label {
  color: var(--dv-text-muted);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"].make-deck-page .label.green {
  color: var(--dv-primary);
}

/* 페이지 머리: 영어 eyebrow를 지우고 제목이 스스로 서게 한다. */
body[data-ui-generation="2"].make-deck-page .deck-command .label {
  display: none;
}

body[data-ui-generation="2"].make-deck-page .deck-command h1 {
  color: var(--dv-text-strong);
  font-size: 24px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

body[data-ui-generation="2"].make-deck-page .deck-command p {
  color: var(--dv-text-muted);
  font-size: 13px;
}

/* 구성 탭: 근흑 필 대신 선택 표면 + 실행 그린 — 사이드바 active와 같은 문법. */
body[data-ui-generation="2"].make-deck-page .company-status-tabs {
  gap: 6px;
  padding: 6px;
}

body[data-ui-generation="2"].make-deck-page .company-status-tabs button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--dv-text);
  font-weight: 650;
  transition: background-color var(--dv-duration-fast) var(--dv-ease-out), color var(--dv-duration-fast) var(--dv-ease-out);
}

body[data-ui-generation="2"].make-deck-page .company-status-tabs button:hover {
  background: var(--dv-bg-subtle);
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"].make-deck-page .company-status-tabs button.active {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
  font-weight: 700;
}

/* 전담 에이전트 머리는 신뢰 네이비 한 면 — CTA는 골드가 아니라 실행 그린. */
body[data-ui-generation="2"].make-deck-page .company-agent-actions .btn.primary {
  background: var(--dv-primary);
  border-color: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"].make-deck-page .company-agent-mark {
  font-weight: 750;
  letter-spacing: 0;
}

body[data-ui-generation="2"].make-deck-page .company-agent-copy > span {
  color: color-mix(in srgb, var(--dv-bg-surface) 74%, var(--dv-trust));
  font-weight: 650;
  letter-spacing: 0;
}

/* 폼: 900대 굵기와 대문자 라벨을 걷어내고 위계를 크기·여백으로 만든다. */
body[data-ui-generation="2"].make-deck-page .deck-form-head h2,
body[data-ui-generation="2"].make-deck-page .deck-source-head h2,
body[data-ui-generation="2"].make-deck-page .deck-preview-top h2,
body[data-ui-generation="2"].make-deck-page .deck-action-rail > h2,
body[data-ui-generation="2"].make-deck-page .doc-writer-head h2 {
  color: var(--dv-text-strong);
  font-size: 19px;
  font-weight: 750;
  letter-spacing: -0.02em;
}

body[data-ui-generation="2"].make-deck-page .deck-form-head p,
body[data-ui-generation="2"].make-deck-page .deck-source-head p,
body[data-ui-generation="2"].make-deck-page .doc-writer-head p {
  color: var(--dv-text-muted);
  font-size: 13px;
}

body[data-ui-generation="2"].make-deck-page .deck-form-section {
  gap: 14px;
  padding: 22px 0 6px;
}

body[data-ui-generation="2"].make-deck-page .deck-section-kicker strong {
  color: var(--dv-text-strong);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -0.015em;
}

body[data-ui-generation="2"].make-deck-page .deck-form label span {
  color: var(--dv-text);
  font-size: 13px;
  font-weight: 650;
  text-transform: none;
}

body[data-ui-generation="2"].make-deck-page .deck-form input,
body[data-ui-generation="2"].make-deck-page .deck-form select,
body[data-ui-generation="2"].make-deck-page .deck-form textarea {
  min-height: 44px;
  border: 1px solid var(--dv-border-strong);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  color: var(--dv-text-strong);
  font-size: 14px;
}

body[data-ui-generation="2"].make-deck-page .deck-form input::placeholder,
body[data-ui-generation="2"].make-deck-page .deck-form textarea::placeholder {
  color: var(--dv-text-muted);
}

body[data-ui-generation="2"].make-deck-page .deck-form :is(input, select, textarea):focus-visible {
  outline: 3px solid var(--dv-focus);
  outline-offset: 1px;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone {
  gap: 6px;
  padding: 24px 20px;
  border: 1px dashed var(--dv-border-strong);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"].make-deck-page .source-dropzone span {
  color: var(--dv-text);
  font-size: 12.5px;
  font-weight: 500;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone strong {
  color: var(--dv-text-strong);
  font-size: 14px;
  font-weight: 700;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone em {
  color: var(--dv-text);
  font-size: 12px;
}

body[data-ui-generation="2"].make-deck-page .purpose-segment button {
  min-height: 44px;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  color: var(--dv-text);
  font-weight: 650;
}

body[data-ui-generation="2"].make-deck-page .purpose-segment button:hover {
  border-color: var(--dv-border-strong);
  background: var(--dv-bg-subtle);
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"].make-deck-page .purpose-segment button.active {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
  font-weight: 700;
}

/* 제출 바: 이 화면의 filled 주 행동은 여기 하나다. */
body[data-ui-generation="2"].make-deck-page .deck-submit-bar {
  border-top: 1px solid var(--dv-border);
  padding-top: 18px;
}

body[data-ui-generation="2"].make-deck-page .deck-submit-bar strong {
  color: var(--dv-text-strong);
  font-size: 14px;
  font-weight: 700;
}

body[data-ui-generation="2"].make-deck-page .deck-submit-bar span {
  color: var(--dv-text-muted);
  font-size: 12.5px;
}

body[data-ui-generation="2"].make-deck-page .deck-submit-bar .btn.primary {
  min-height: 48px;
  padding: 0 20px;
}

/* 결과·근거 레일: 상태 타일은 숫자가 앞서고, 링크는 조용한 보조 행동이다. */
body[data-ui-generation="2"].make-deck-page .deck-status-grid div {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-subtle);
}

body[data-ui-generation="2"].make-deck-page .deck-status-grid span {
  color: var(--dv-text);
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-generation="2"].make-deck-page .deck-status-grid strong {
  color: var(--dv-text-strong);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

body[data-ui-generation="2"].make-deck-page .deck-narrative {
  max-width: 70ch;
  color: var(--dv-text);
  font-size: 13px;
  line-height: 1.65;
}

body[data-ui-generation="2"].make-deck-page .deck-preview-tabs button {
  min-height: 44px;
  border-radius: 6px;
  font-weight: 650;
}

body[data-ui-generation="2"].make-deck-page .deck-preview-tabs button.active {
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
  font-weight: 700;
}

body[data-ui-generation="2"].make-deck-page .deck-detail-panel .label {
  display: none;
}

body[data-ui-generation="2"].make-deck-page .deck-action-links {
  gap: 8px;
}

body[data-ui-generation="2"].make-deck-page .deck-action-links .btn {
  border-color: var(--dv-border);
  background: var(--dv-bg-surface);
  color: var(--dv-text);
}

body[data-ui-generation="2"].make-deck-page .deck-action-links .btn:hover {
  border-color: var(--dv-border-strong);
  background: var(--dv-bg-subtle);
}

/* 운영 요약 4칸: 그라디언트 타일 대신 한 컨테이너를 헤어라인으로 나눈다. */
body[data-ui-generation="2"].make-deck-page .material-hub-summary {
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"].make-deck-page .material-hub-summary article {
  gap: 6px;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: -1px -1px 0 0 var(--dv-border);
}

body[data-ui-generation="2"].make-deck-page .material-hub-summary span {
  color: var(--dv-text-muted);
  font-size: 12px;
  font-weight: 650;
}

body[data-ui-generation="2"].make-deck-page .material-hub-summary strong {
  color: var(--dv-text-strong);
  font-size: 18px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

body[data-ui-generation="2"].make-deck-page .material-hub-summary p {
  color: var(--dv-text-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

/* 문서 작성 4종: 같은 의도의 병렬 항목 — 전부 조용한 행동으로 정렬한다. */
body[data-ui-generation="2"].make-deck-page .doc-writer-card {
  border-color: var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"].make-deck-page .doc-writer-card:hover {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  box-shadow: none;
  transform: none;
}

body[data-ui-generation="2"].make-deck-page .doc-writer-card strong {
  color: var(--dv-text-strong);
  font-size: 15px;
  font-weight: 750;
}

body[data-ui-generation="2"].make-deck-page .doc-writer-card > span {
  color: var(--dv-text-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

body[data-ui-generation="2"].make-deck-page .doc-writer-actions .btn {
  color: var(--dv-primary);
  font-weight: 700;
}

/* 진단 탭: 입력 방식 3택 게이트 제거 후 네 패널이 한 그리드에 공존한다(2026-08-10
   대표 지시). 시각 순서는 자료 → 문서·공공데이터 → 대화 → 직접 입력. */
body[data-ui-generation="2"].make-deck-page .company-diagnosis-grid > section:first-child {
  order: -2;
}

body[data-ui-generation="2"].make-deck-page .company-diagnosis-grid > .diagnosis-mode-panel[data-diagnosis-mode="documents"] {
  order: -1;
}

/* 한국어 제품에서 영어 대문자 eyebrow는 정보가 아니다 — 제목이 스스로 선다. */
body[data-ui-generation="2"].make-deck-page .company-diagnosis-panel .label {
  display: none;
}

@media (max-width: 900px) {
  body[data-ui-generation="2"].make-deck-page .material-hub-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body[data-ui-generation="2"].make-deck-page .company-status-tabs button {
    padding-inline: 4px;
    font-size: 13px;
    letter-spacing: -0.02em;
    white-space: nowrap;
  }

  body[data-ui-generation="2"].make-deck-page .material-hub-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"].make-deck-page .deck-submit-bar .btn.primary {
    width: 100%;
  }
}

/* 기업현황 IA: 회사 자료, 회사 정보, 기업진단을 독립 작업면으로 유지하고
   IR/PPTX 작성기는 명시적인 문서작성 모드에서만 연다. */
body[data-ui-generation="2"].make-deck-page :is(.company-materials-panel, .company-info-panel)[hidden],
body[data-ui-generation="2"].make-deck-page .document-authoring-workspace[hidden],
body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb[hidden] {
  display: none;
}

body[data-ui-generation="2"].make-deck-page .company-materials-panel,
body[data-ui-generation="2"].make-deck-page .company-info-panel {
  min-width: 0;
}

body[data-ui-generation="2"].make-deck-page .company-info-panel {
  display: grid;
  gap: 20px;
}

body[data-ui-generation="2"].make-deck-page .company-narrative-slot {
  min-width: 0;
}

body[data-ui-generation="2"].make-deck-page .company-narrative-slot .deck-intake-panel {
  width: 100%;
  box-sizing: border-box;
}

body[data-ui-generation="2"].make-deck-page:not([data-deck-mode="ir-pptx"]) .company-info-identity-grid {
  grid-template-columns: minmax(0, 1fr);
}

/* 폼의 마무리 줄 — 저장과 다음 동작(문서작성 복귀)이 한 줄에 선다. 긴 폼이라 화면
   아래에 붙여 따라오게 한다. 부모가 form 이라 폼을 벗어나면 자연히 멈춘다. */
/* 자료에서 찾은 사실 검토 큐 — "이 자료의 이 문장을 이 항목에 넣는다"를 회원이 고르는 자리.
   찾은 것이 없으면 통째로 숨는다(빈 상자 금지). */
body[data-ui-generation="2"].make-deck-page .fact-review-queue {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
}

body[data-ui-generation="2"].make-deck-page .fact-review-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 16px;
  align-items: start;
}

body[data-ui-generation="2"].make-deck-page .fact-review-head h2 {
  margin: 0;
  color: var(--dv-text-strong, #14181f);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -0.015em;
}

body[data-ui-generation="2"].make-deck-page #companyFactReviewSummary {
  margin: 4px 0 0;
  color: var(--dv-text-muted, #636b79);
  font-size: 12.5px;
  line-height: 1.5;
}

body[data-ui-generation="2"].make-deck-page .fact-review-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 틴트 단독으로 상태를 말하지 않는다 — 구형 모니터에서 뭉갠다. 경계와 짝짓는다. */
body[data-ui-generation="2"].make-deck-page .fact-review-item {
  display: grid;
  gap: 5px;
  padding: 10px 13px;
  border: 1px solid var(--dv-border, #c9c5bb);
  border-radius: 10px;
  background: var(--dv-bg-subtle, #f2f0ec);
}

body[data-ui-generation="2"].make-deck-page .fact-review-item[data-fact-state="applied"] {
  border-color: color-mix(in srgb, var(--dv-success-text, #0d5b47) 30%, #ffffff);
  background: var(--dv-success-surface, #e7f4ee);
}

body[data-ui-generation="2"].make-deck-page .fact-review-item[data-fact-state="blocked"] {
  border-style: dashed;
  background: transparent;
}

body[data-ui-generation="2"].make-deck-page .fact-review-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: center;
}

body[data-ui-generation="2"].make-deck-page .fact-review-item-title {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 9px;
  align-items: baseline;
  min-width: 0;
}

body[data-ui-generation="2"].make-deck-page .fact-review-item-head strong {
  color: var(--dv-text-strong, #14181f);
  font-size: 13px;
  font-weight: 750;
}

body[data-ui-generation="2"].make-deck-page .fact-review-source {
  color: var(--dv-text-muted, #636b79);
  font-size: 11.5px;
}

body[data-ui-generation="2"].make-deck-page .fact-review-value {
  margin: 0;
  color: var(--dv-text, #2e3440);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body[data-ui-generation="2"].make-deck-page .fact-review-quote summary {
  color: var(--dv-text-muted, #636b79);
  font-size: 11.5px;
  cursor: pointer;
}

body[data-ui-generation="2"].make-deck-page .fact-review-quote p {
  margin: 6px 0 0;
  padding: 8px 10px;
  border-left: 3px solid var(--dv-primary, #2c55e0);
  background: var(--dv-bg-surface, #fff);
  color: var(--dv-text-muted, #636b79);
  font-size: 12px;
  line-height: 1.55;
}

body[data-ui-generation="2"].make-deck-page .fact-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body[data-ui-generation="2"].make-deck-page .fact-review-actions .btn {
  min-height: 34px;
  white-space: nowrap;
}

body[data-ui-generation="2"].make-deck-page .fact-review-applied,
body[data-ui-generation="2"].make-deck-page .fact-review-blocked {
  color: var(--dv-text-muted, #636b79);
  font-size: 12px;
}

@media (max-width: 640px) {
  body[data-ui-generation="2"].make-deck-page .fact-review-head {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"].make-deck-page .fact-review-head .btn {
    width: 100%;
  }

  /* 좁은 화면에서는 버튼이 제 줄을 갖는다 — 라벨과 나란히 두면 둘 다 읽히지 않는다. */
  body[data-ui-generation="2"].make-deck-page .fact-review-item-head {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-ui-generation="2"].make-deck-page .company-info-save-bar {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 20px;
  align-items: center;
  margin-top: 4px;
  padding: 14px 18px;
  border: 1px solid var(--dv-border);
  border-radius: 10px;
  background: var(--dv-bg-surface, #fff);
  box-shadow: 0 -8px 20px -12px rgba(16, 24, 40, .35);
}

body[data-ui-generation="2"].make-deck-page .company-info-save-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

body[data-ui-generation="2"].make-deck-page .company-info-save-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

body[data-ui-generation="2"].make-deck-page .company-info-save-bar strong {
  color: var(--dv-text-strong);
  font-size: 13px;
  font-weight: 750;
}

body[data-ui-generation="2"].make-deck-page #companyInfoBaselineStatus {
  color: var(--dv-text-strong);
  font-size: 13px;
  line-height: 1.5;
}

body[data-ui-generation="2"].make-deck-page #companyInfoBaselineStatus[data-state="success"],
body[data-ui-generation="2"].make-deck-page #companyInfoBaselineStatus[data-state="ready"] {
  color: var(--dv-success-text, #0d5b47);
}

body[data-ui-generation="2"].make-deck-page #companyInfoBaselineStatus[data-state="warning"] {
  color: var(--dv-warning-text, #6d4300);
}

body[data-ui-generation="2"].make-deck-page #companyInfoBaselineStatus[data-state="error"] {
  color: var(--dv-danger, #b42318);
  font-weight: 700;
}

body[data-ui-generation="2"].make-deck-page .company-materials-panel .deck-source-panel {
  width: 100%;
  box-sizing: border-box;
}

body[data-ui-generation="2"].make-deck-page .material-list-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 6px;
  color: var(--dv-text-muted);
  font-size: 11.5px;
  line-height: 1.4;
}

body[data-ui-generation="2"].make-deck-page .material-list-meta span {
  white-space: nowrap;
}

body[data-ui-generation="2"].make-deck-page .material-list-meta b {
  color: var(--dv-text-strong);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact {
  align-self: center;
  width: min(260px, 32vw);
  height: 68px;
  min-height: 68px;
  max-height: 68px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  place-items: center start;
  align-content: center;
  column-gap: 10px;
  padding: 9px 12px;
  border: 1px dashed var(--dv-border-strong);
  background: var(--dv-bg-subtle);
  text-align: left;
  overflow: hidden;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-plus {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  color: var(--dv-primary);
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-plus::before,
body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-dropzone-copy > strong {
  display: block;
  overflow: hidden;
  color: var(--dv-primary);
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact :is(.source-upload-formats, em, .source-analysis-reader) {
  display: block;
  overflow: hidden;
  max-width: 100%;
  color: var(--dv-text-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact .source-analysis-reader[hidden] {
  display: none;
}

body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact[data-company-analysis-active="true"] .source-analysis-reader {
  color: var(--dv-text-strong);
}

body[data-ui-generation="2"].make-deck-page .company-diagnosis-panel > .company-intake-agent {
  margin: 2px 0 4px;
  box-shadow: none;
}

body[data-ui-generation="2"].make-deck-page [data-ir-authoring-copy] {
  display: none;
}

body[data-ui-generation="2"].make-deck-page:not([data-deck-mode="ir-pptx"]) [data-ir-authoring-only] {
  display: none !important;
}

body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] [data-company-info-copy],
body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] .deck-command,
body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] .company-status-tabs,
body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] :is(.company-materials-panel, .company-info-panel, .company-diagnosis-panel) {
  display: none !important;
}

body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] [data-ir-authoring-copy] {
  display: inline;
}

body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--dv-text-muted);
  font-size: 13px;
}

body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb a:not(.btn) {
  color: var(--dv-primary);
  font-weight: 700;
  text-decoration: none;
}

body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb .btn {
  margin-left: auto;
}

body[data-ui-generation="2"].make-deck-page .document-authoring-workspace {
  align-items: start;
}

body[data-ui-generation="2"].make-deck-page[data-deck-mode="ir-pptx"] .document-authoring-workspace {
  display: grid;
}

body[data-ui-generation="2"].make-deck-page .company-status-tabs button:focus-visible,
body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb a:focus-visible,
body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact:focus-within {
  outline: 3px solid var(--dv-focus);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  body[data-ui-generation="2"].make-deck-page .deck-source-head,
  body[data-ui-generation="2"].make-deck-page .company-info-save-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 좁은 화면에서 붙어 다니면 입력칸을 가린다 — 폼 끝에 그대로 둔다. */
  body[data-ui-generation="2"].make-deck-page .company-info-save-bar {
    position: static;
    box-shadow: none;
  }

  body[data-ui-generation="2"].make-deck-page .company-info-save-actions {
    display: grid;
    justify-content: stretch;
    gap: 8px;
  }

  /* 세로로 쌓이면 주 동작인 저장이 위다. */
  body[data-ui-generation="2"].make-deck-page .company-info-save-actions #saveCompanyInfoBaseline {
    order: -1;
  }

  body[data-ui-generation="2"].make-deck-page .source-dropzone.source-dropzone-compact {
    width: 100%;
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    grid-template-columns: 44px minmax(0, 1fr);
  }

  body[data-ui-generation="2"].make-deck-page .company-info-save-bar .btn,
  body[data-ui-generation="2"].make-deck-page .document-authoring-breadcrumb .btn {
    width: 100%;
    margin-left: 0;
  }
}

/* Exact-shell interaction floor. Keep this after page-local standalone styles. */
body[data-ui-generation="2"][data-work-shell="programs"] #programMatch :is(button, .btn, summary, input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea, [role="tab"]),
body[data-ui-generation="2"][data-work-shell="accounting"] .member-dash :is(button, .btn, summary, input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea, [role="tab"], .acc-drop),
body[data-ui-generation="2"][data-work-shell="techtrade"] :is(.tt-market-shell, #techRequest, .tt-modal) :is(button, .btn, summary, input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea, [role="tab"]),
body[data-ui-generation="2"][data-work-shell="bid"].bid-page :is(#bidListView, #bidDetailView) :is(button, .btn, summary, input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea, [role="tab"], .bid-dl, .bid-rfp-evidence:not(.missing)) {
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="programs"] .app-toggle,
body[data-ui-generation="2"][data-work-shell="accounting"] .app-toggle,
body[data-ui-generation="2"][data-work-shell="techtrade"] .app-toggle,
body[data-ui-generation="2"][data-work-shell="bid"].bid-page .app-toggle {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
}

body[data-ui-generation="2"][data-work-shell="bid"].bid-page #bidTabs .chip {
  min-width: 44px;
  min-height: 44px;
}

/* 우측 보조 레일 시점 렌더(L7) — V2 그리드에도 동일 적용. 레일이 대기 상태면 본문 전폭. */
body[data-ui-generation="2"]:is(
  [data-work-shell="investment"],
  [data-work-shell="advisory"],
  [data-work-shell="route"]
) :is(.investment-layout, .advisory-layout, .route-layout):has(> [data-rail-stage="waiting"]) {
  grid-template-columns: minmax(0, 1fr);
}

/* 특허 가로 스테퍼(L7) — V2도 데스크톱에선 단일 컬럼(상단 바 + 스테이지 전폭),
   활성 강조선은 좌측 세로에서 하단 가로로 */
@media (min-width: 1121px) {
  body[data-ui-generation="2"][data-work-shell="patent"] [data-service-workbench="patent"] {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-stepper button.active {
    box-shadow: inset 0 -3px 0 var(--dv-patent-accent);
  }
}

/* ─────────────────────────────────────────────────────────────────────────
   특허 다크 캔버스 잉크 안전망 (2026-08-10 대표 지적 "검정 바탕에 검정 글자")
   실측: 다크 캔버스(#0b121a) 위 제목이 라이트용 잉크(#14181f)로 그려져 1.06:1,
   본문 보조는 3.4~3.9:1 로 AA 미달이었다. 색을 명시하지 않아 라이트 테마 잉크를
   상속받던 요소만 잡으면 되므로 특정도 0(:where)로 깐다 — 의도적으로 색을 준
   규칙(초록 링크·골드 배지·상태색)은 그대로 이긴다.
   ───────────────────────────────────────────────────────────────────────── */
/* 특허 작업대에는 다크 면(patent-qa-*, patent-spec-*)과 라이트 면(회사 자료 스트립 등)이
   함께 있다. 안전망을 작업대 전체에 걸면 라이트 카드가 밝은 잉크를 받아 반대로 사라진다
   (실측 확인). 다크 면 컨테이너 안으로만 한정한다. */
body[data-ui-generation="2"][data-work-shell="patent"] :where([class*="patent-qa-"], [class*="patent-spec-"], [class*="patent-draft-"], [class*="patent-prior-art-"], [class*="patent-next-step"], [class*="patent-drawing-"]) :where(h1, h2, h3, h4, h5, strong, b, dt, legend, th) {
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] :where([class*="patent-qa-"], [class*="patent-spec-"], [class*="patent-draft-"], [class*="patent-prior-art-"], [class*="patent-next-step"], [class*="patent-drawing-"]) :where(p, small, li, em, dd, td, figcaption, summary) {
  color: var(--dv-patent-muted);
}

/* 품질 검수 미통과 목록은 다크 전제로 만들어졌는데(밝은 회색 글자) 라이트 골드
   경고 패널 안에 놓여 1.15:1 로 사라졌다. 이 다크 캔버스에 맞는 경고 면으로 되돌린다. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-failure-list {
  padding: 14px 16px;
  border-color: color-mix(in srgb, #f87171 38%, transparent);
  border-radius: var(--dv-radius);
  background: #1b1416;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-failure-list strong {
  color: #ffc9c9;
  font-size: 14px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-failure-list :where(ul, li) {
  color: #e8edf3;
  font-size: 13px;
  line-height: 1.6;
}

/* 보강 필요 항목: 평면 나열을 "누가 해결하는가" 두 묶음으로 나누고, 같은 대상에 대한
   세 렌즈 결과는 한 줄 + 배지로 합쳐 보여준다(2026-08-10 대표 지적). */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-failure-head {
  display: grid;
  gap: 3px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-failure-head span {
  color: #c3ccd8;
  font-size: 12.5px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group {
  display: grid;
  gap: 8px;
  padding-top: 14px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group-head strong {
  color: #ffd9d9;
  font-size: 13.5px;
  font-weight: 700;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group[data-quality-tier="system"] .patent-quality-group-head strong {
  color: #cfe0f5;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group-head span {
  color: #aab8c7;
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 17px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-group li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  color: #e8edf3;
  font-size: 13px;
  line-height: 1.6;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-lenses {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-lenses em {
  padding: 1px 7px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: #b9c6d6;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-quality-ops-note {
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  color: #aab8c7;
  font-size: 12px;
}

/* 심사 지적과 해결 방법 — 결정론 게이트 목록과 달리 여기엔 "무엇을 하면 되는지"가 있다. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  display: grid;
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings-head strong {
  color: #cfe0f5;
  font-size: 13.5px;
  font-weight: 700;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings-head span {
  color: #aab8c7;
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--dv-radius);
  background: rgba(255, 255, 255, .04);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-head em {
  padding: 1px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #e8edf3;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding[data-severity="critical"] .patent-review-finding-head em {
  background: #5b1f22;
  color: #ffd9d9;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding[data-severity="high"] .patent-review-finding-head em {
  background: #55401a;
  color: #ffe1b0;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-target {
  color: #e8edf3;
  font-size: 13px;
  font-weight: 650;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-dim {
  color: #93a3b8;
  font-size: 11.5px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-issue {
  margin: 0;
  color: #c8d2de;
  font-size: 12.5px;
  line-height: 1.6;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-remedy {
  margin: 0;
  display: grid;
  gap: 2px;
  color: #e8edf3;
  font-size: 12.5px;
  line-height: 1.6;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-remedy b {
  color: #8fd3b4;
  font-size: 11px;
  font-weight: 700;
}

/* 지적 항목별 실행 버튼 — 해결 방법 아래 한 행. 버튼 면은 지적 카드 배경과 1px 실경계로
   구분한다(옅은 틴트 단독 구분 금지 규칙). */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 2px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-actions .btn {
  min-height: 32px;
  padding: 4px 12px;
  border: 1px solid var(--dv-patent-line);
  border-radius: 8px;
  background: var(--dv-patent-surface);
  color: #e8edf3;
  font-size: 12px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-actions .btn:hover:not(:disabled) {
  border-color: #8fd3b4;
  color: #8fd3b4;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-actions .btn:disabled {
  opacity: .55;
  cursor: wait;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-action-note {
  color: #aab8c7;
  font-size: 11.5px;
  line-height: 1.5;
}

/* 항목 워크벤치 도구 행 — 다크 캔버스 안에서도 명세서는 흰 종이 한 장이다. 잉크 화이트리스트
   (patent-spec-* 컨테이너의 p/small/em/strong 을 밝은 색으로 칠하는 규칙)가 이 도구 행까지
   덮으면 흰 종이에 흰 글자가 된다 — 종이 위 잉크를 명시적으로 되돌린다. 면 구분은 옅은 틴트
   단독이 아니라 1px 실경계 짝으로 한다(저대비 모니터 수칙). */
body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools {
  border: 1px solid var(--dv-patent-line);
  background: #f8fafc;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools :where(p, small, em, li, dd, td, figcaption, summary) {
  color: #334155;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools :where(strong, b, h3, h4, dt, th, legend) {
  color: #111827;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools .patent-spec-tool-error {
  color: #9f1239;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools .btn {
  min-height: 34px;
  border: 1px solid var(--dv-patent-line);
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 12.5px;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-tools .btn:hover:not(:disabled) {
  border-color: #2c55e0;
  color: #1f4bc2;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-section-toggle {
  border: 1px solid var(--dv-patent-line);
  background: #fff;
  color: #111827;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-preview {
  border: 1px solid var(--dv-patent-line);
  background: #fffdf7;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-preview :where(p, small, em) {
  color: #111827;
}

body[data-ui-generation="2"][data-work-shell="patent"] [data-patent-spec-document] .patent-spec-preview .patent-spec-preview-banner {
  border: 1px solid #c08a12;
  background: #fdf4e0;
  color: #6b4a05;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-findings-rest > summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  color: #aab8c7;
  font-size: 12.5px;
  cursor: pointer;
}

/* 독립 검증 10차원 보드(P4) — patent-qa- 접두사라 잉크 화이트리스트(위 5134/5138)를
   그대로 탄다. 바 색만 여기서 명시한다: 채움=액센트, 기준선 미달=다크 위험색(#f87171,
   5146행 관례), 트랙·floor 눈금은 라인 토큰. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-board {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--dv-patent-line);
  border-radius: 10px;
  background: var(--dv-patent-surface);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-board ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-row {
  display: grid;
  grid-template-columns: minmax(120px, 168px) minmax(0, 1fr) 34px;
  align-items: center;
  gap: 10px;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-name {
  font-size: 12px;
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-bar {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--dv-patent-line) 55%, transparent);
  overflow: hidden;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--dv-patent-accent);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-bar em {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 2px;
  background: color-mix(in srgb, var(--dv-patent-text) 45%, transparent);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-row.is-below-floor .patent-qa-score-bar i {
  background: #f87171;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-row.is-below-floor .patent-qa-score-val {
  color: #fca5a5;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-val {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: right;
  color: var(--dv-patent-text);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-score-note {
  margin: 0;
  font-size: 12px;
  color: var(--dv-patent-muted);
}

/* 통과 후 남은 지적(P4) — 경고 골드가 아니라 차분한 라인 톤: 게이트는 통과했고
   행동을 막지 않는 정보라서다. findings 내부는 기존 patent-review-findings 규칙 재사용. */
body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-findings-pass {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--dv-patent-line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--dv-patent-surface) 80%, transparent);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-qa-findings-pass-head {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: baseline;
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-evidence {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--dv-patent-muted);
}

body[data-ui-generation="2"][data-work-shell="patent"] .patent-review-finding-evidence b {
  margin-right: 6px;
  color: var(--dv-patent-text);
  font-weight: 700;
}

/* ─────────────────────────────────────────────────────────────────────────
   인사이트 (insights.html) — 2026-08-12 v2 표면 편입.
   사이드바 순회 검수에서 이 화면만 gen1(레거시 그린)으로 남아 앱 전체(H2 코발트)와
   색 세계가 갈렸다. gen1 규칙은 dream-data-platform.css 에 있고, 여기서 토큰으로
   눌러쓴다 — 구조는 그대로, 잉크·면·강조만 H2 로.
   ───────────────────────────────────────────────────────────────────────── */

body[data-ui-generation="2"] .insight-status,
body[data-ui-generation="2"] .company-insight-summary {
  border-color: var(--dv-border);
  background: var(--dv-bg-surface);
}

body[data-ui-generation="2"] .insight-status.loading,
body[data-ui-generation="2"] .company-insight-summary.loading {
  border-color: color-mix(in srgb, var(--dv-primary) 35%, var(--dv-border));
  background: linear-gradient(120deg, var(--dv-bg-selected), var(--dv-bg-surface), var(--dv-bg-selected));
  background-size: 220% 100%;
}

body[data-ui-generation="2"] .insight-status.degraded,
body[data-ui-generation="2"] .company-insight-summary.degraded {
  border-color: var(--dv-warning-accent);
  background: var(--dv-warning-surface);
}

body[data-ui-generation="2"] .insight-card {
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  background: var(--dv-bg-surface);
  box-shadow: none;
}

body[data-ui-generation="2"] .insight-card:hover {
  border-color: color-mix(in srgb, var(--dv-primary) 34%, var(--dv-border));
  box-shadow: none;
}

body[data-ui-generation="2"] .insight-card[data-insight-degraded="true"] {
  border-style: dashed;
  border-color: var(--dv-warning-accent);
}

body[data-ui-generation="2"] .insight-footer a {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  background: var(--dv-bg-surface);
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .insight-next-actions span {
  border-color: var(--dv-border);
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

/* 점수 바 — 골드 채움이 아니라 주 행동 색으로. 트랙은 종이 톤. */
body[data-ui-generation="2"] .program-fit i {
  background: var(--dv-primary);
}

body[data-ui-generation="2"] .program-fit {
  background: var(--dv-bg-subtle);
}

/* 분류 pill — 색 이름 클래스(gold/green/blue/red/violet)를 H2 의미색으로 수렴.
   상태·위험만 색을 갖고 나머지는 중립 칩(색만으로 전달 금지 원칙). */
body[data-ui-generation="2"] .insight-card .pill,
body[data-ui-generation="2"] #insightGrid .pill {
  border: 1px solid var(--dv-border);
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

body[data-ui-generation="2"] .insight-card .pill.red,
body[data-ui-generation="2"] #insightGrid .pill.red {
  border-color: color-mix(in srgb, var(--dv-danger) 40%, var(--dv-border));
  background: var(--dv-danger-surface);
  color: var(--dv-danger);
}

body[data-ui-generation="2"] .insight-card .pill.gold,
body[data-ui-generation="2"] #insightGrid .pill.gold {
  border-color: color-mix(in srgb, var(--dv-warning-accent) 45%, var(--dv-border));
  background: var(--dv-warning-surface);
  color: var(--dv-warning-text);
}

body[data-ui-generation="2"].insights-page .label.green,
body[data-ui-generation="2"] .insight-section-title .label {
  color: var(--dv-primary);
}

/* 주 행동 버튼 — gen1 그린을 코발트로. insights 표면 한정. */
body[data-ui-generation="2"].insights-page .btn.primary {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
}

body[data-ui-generation="2"].insights-page .btn.primary:hover {
  background: var(--dv-primary-hover);
}

body[data-ui-generation="2"].insights-page .chip.active {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"].insights-page .label,
body[data-ui-generation="2"].insights-page .label.green {
  color: var(--dv-primary);
}

/* ─────────────────────────────────────────────────────────────────────────
   지원사업 (programs.html) — 2026-08-12 순회 검수: gen2 인데 그린으로 남던
   12개 지점의 토큰 수렴. gen1 인라인(--program-green 계열)은 그대로 두고
   여기서만 눌러쓴다.
   ───────────────────────────────────────────────────────────────────────── */

body[data-ui-generation="2"].programs-page .btn.primary {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
}

body[data-ui-generation="2"].programs-page .btn.primary:hover {
  background: var(--dv-primary-hover);
}

body[data-ui-generation="2"] .program-next-actions b {
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .program-workflow li.is-complete > span,
body[data-ui-generation="2"] .program-workflow li.is-current > span {
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"] .program-readiness > summary::before,
body[data-ui-generation="2"] .program-readiness-options .chip.active,
body[data-ui-generation="2"] .program-readiness-options .chip.active::before {
  background: var(--dv-primary);
  border-color: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"].programs-page .filter-note > span:first-child {
  background: var(--dv-primary);
  color: var(--dv-on-primary);
}

body[data-ui-generation="2"] .program-verified {
  border-color: color-mix(in srgb, var(--dv-primary) 35%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .program-description-source {
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .program-preparation[data-program-preparation="sufficient"] {
  border-color: color-mix(in srgb, var(--dv-primary) 35%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-text);
}

body[data-ui-generation="2"] .program-evidence-details summary::after {
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .program-empty-icon {
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

body[data-ui-generation="2"] .program-fit-track i {
  background: var(--dv-primary);
}

/* ─────────────────────────────────────────────────────────────────────────
   회원사 네트워크 (community.html) — 2026-08-12 v2 표면 편입.
   사이드바 순회 후 이 화면만 gen1(레거시 그린)로 남아 레일(H2 네이비)과 본문의
   색 세계가 갈렸다. gen1 규칙은 dream-data-platform.css 11522~12260 에 있고,
   body.visitor-page 팔레트(특정도 0,1,1)가 :root 토큰 리맵을 이기므로 여기서
   같은 특정도 이상으로 눌러쓴다 — 구조는 그대로, 잉크·면·강조만 H2 로.
   ───────────────────────────────────────────────────────────────────────── */

/* 팔레트 리맵 — visitor-page 그린 세계를 H2 로. 직값 소비는 아래 개별 규칙이 맡는다. */
body[data-ui-generation="2"].community-page {
  --green: var(--dv-primary);
  --green-soft: var(--dv-bg-selected);
  --gold: var(--dv-warning-text);
  --gold-soft: var(--dv-warning-surface);
  --navy: var(--dv-trust);
  --blue-soft: var(--dv-trust-soft);
  --red-soft: var(--dv-danger-surface);
}

/* 히어로 — 그린-웜 그라디언트를 코발트-트러스트 틴트로. 골드 라디얼(위치 마커)은 유지. */
body[data-ui-generation="2"] .community-hero {
  border-color: var(--dv-border);
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--dv-rail-accent) 22%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--dv-primary) 12%, transparent), rgba(255, 255, 255, .92) 48%, color-mix(in srgb, var(--dv-trust) 9%, transparent)),
    var(--dv-bg-surface);
}

/* 네트워크 허브 — 그린 라디얼·그린기 도는 화이트를 프라이머리 틴트·웜 페이퍼로. */
body[data-ui-generation="2"] .network-hub {
  border-color: var(--dv-border);
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--dv-primary) 8%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), var(--dv-bg-page)),
    var(--dv-bg-surface);
}

/* 회원 레인 카드 — 레인 액센트 변수만 교체(스팬·구조는 gen1 그대로). */
body[data-ui-generation="2"] .network-lane-card.is-member {
  --lane: var(--dv-primary);
  --lane-soft: var(--dv-bg-selected);
}

/* 서비스 피커 선택 상태 — 민트 체크면을 코발트 선택면으로. */
body[data-ui-generation="2"] .community-service-picker label:has(input:checked) {
  border-color: color-mix(in srgb, var(--dv-primary) 42%, transparent);
  background: var(--dv-bg-selected);
}

/* 주 행동 버튼 — visitor 네이비-그린 그라디언트와 그린 그림자를 코발트 단색으로. */
body[data-ui-generation="2"].community-page .btn.primary {
  border-color: var(--dv-primary);
  background: var(--dv-primary);
  color: var(--dv-on-primary);
  box-shadow: none;
}

body[data-ui-generation="2"].community-page .btn.primary:hover {
  background: var(--dv-primary-hover);
}

/* 라벨 — visitor .label.green 직값(민트 보더·다크그린 잉크)을 H2 로. */
body[data-ui-generation="2"].community-page .label.green {
  border-color: color-mix(in srgb, var(--dv-primary) 30%, var(--dv-border));
  background: var(--dv-bg-selected);
  color: var(--dv-primary);
}

/* 분류 pill — insights 와 같은 수렴: 상태·위험(red)·주의(gold)만 색, 나머지는 중립 칩. */
body[data-ui-generation="2"].community-page .pill {
  border-color: var(--dv-border);
  background: var(--dv-bg-subtle);
  color: var(--dv-text);
}

body[data-ui-generation="2"].community-page .pill.red {
  border-color: color-mix(in srgb, var(--dv-danger) 40%, var(--dv-border));
  background: var(--dv-danger-surface);
  color: var(--dv-danger);
}

body[data-ui-generation="2"].community-page .pill.gold {
  border-color: color-mix(in srgb, var(--dv-warning-accent) 45%, var(--dv-border));
  background: var(--dv-warning-surface);
  color: var(--dv-warning-text);
}
