/*
 * CORA AI Vendor Scorecard, styles
 * Every color is a custom property on .cora-scorecard. Retune there.
 * Palette comes from the CORA AI Conference Readiness Guide and the CORA logo.
 * Mobile first. Print styles at the bottom.
 */

.cora-scorecard {
  /* Brand tokens */
  --cs-indigo: #160b4a;        /* header band, section titles, primary buttons, print header */
  --cs-indigo-logo: #1a0067;   /* logo-match indigo, used next to the logo */
  --cs-violet: #7652e8;        /* selected score, links, highlights */
  --cs-violet-light: #a373fe;  /* only on dark backgrounds */
  --cs-ink: #241f35;           /* body text, never pure black */
  --cs-muted: #665f76;         /* secondary text */
  --cs-panel: #f7f5fc;         /* lavender panel */
  --cs-panel-border: #ded8ee;
  --cs-warm: #fff7f4;          /* red flag and Governance fail callouts */
  --cs-red: #b3261e;
  --cs-green: #1b7f5a;         /* gate passed */
  --cs-white: #ffffff;

  /* Derived */
  --cs-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --cs-radius: 10px;
  --cs-radius-sm: 6px;
  --cs-tap: 48px;              /* minimum tap target */
  --cs-focus: var(--cs-violet);
  --cs-max: 880px;

  font-family: var(--cs-font);
  color: var(--cs-ink);
  background: var(--cs-white);
  font-size: 16px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

.cora-scorecard *,
.cora-scorecard *::before,
.cora-scorecard *::after {
  box-sizing: border-box;
}

.cora-scorecard h1,
.cora-scorecard h2,
.cora-scorecard h3,
.cora-scorecard p,
.cora-scorecard ul,
.cora-scorecard ol {
  margin: 0;
  padding: 0;
}

.cora-scorecard ul,
.cora-scorecard ol {
  list-style: none;
}

.cora-scorecard :where(a) {
  color: var(--cs-violet);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cora-scorecard :where(a):hover {
  color: var(--cs-indigo);
}

.cora-scorecard :where(button, input, textarea) {
  font: inherit;
  color: inherit;
  margin: 0;
}

.cora-scorecard button {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.cora-scorecard button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.cora-scorecard :focus-visible {
  outline: 3px solid var(--cs-focus);
  outline-offset: 2px;
}

.cs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- header ---------- */

.cs-logo-strip {
  background: var(--cs-white);
  border-bottom: 1px solid var(--cs-panel-border);
  padding: 12px 16px;
}

.cs-logo-link {
  display: inline-block;
  line-height: 0;
  border-radius: var(--cs-radius-sm);
}

.cs-logo {
  display: block;
  height: 32px;
  width: auto;
}

.cs-band {
  background: var(--cs-indigo);
  color: var(--cs-white);
  padding: 22px 16px 20px;
}

.cs-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cs-violet-light);
  margin-bottom: 6px;
}

.cs-title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 8px;
  color: var(--cs-white);
}

.cs-sub {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.86);
  max-width: 44ch;
}

.cs-basis {
  margin-top: 10px;
  font-size: 13px;
}

.cs-basis a {
  color: var(--cs-violet-light);
}

.cs-basis a:hover,
.cs-band a:focus-visible {
  color: var(--cs-white);
}

.cs-band :focus-visible {
  outline-color: var(--cs-violet-light);
}

/* ---------- tabs ---------- */

.cs-tabs {
  display: flex;
  background: var(--cs-panel);
  border-bottom: 1px solid var(--cs-panel-border);
}

.cs-tab {
  flex: 1 1 0;
  min-height: var(--cs-tap);
  padding: 10px 6px;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--cs-muted);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.cs-tab .cs-tab-num {
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--cs-violet);
  margin-right: 2px;
}

.cs-tab.is-current {
  color: var(--cs-indigo);
  border-bottom-color: var(--cs-violet);
  background: var(--cs-white);
}

.cs-tab:not(:disabled):hover {
  color: var(--cs-indigo);
}

/* ---------- layout ---------- */

.cs-screen {
  padding: 22px 16px 28px;
  max-width: var(--cs-max);
  margin: 0 auto;
}

.cs-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cs-violet);
  margin-bottom: 6px;
}

.cs-h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--cs-indigo);
  line-height: 1.2;
  margin-bottom: 8px;
}

.cs-h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--cs-indigo);
  margin-bottom: 6px;
}

.cs-lead {
  color: var(--cs-muted);
  font-size: 15px;
  margin-bottom: 18px;
}

.cs-notice {
  margin: 0 auto;
  max-width: var(--cs-max);
  padding: 10px 16px;
  background: var(--cs-panel);
  border-bottom: 1px solid var(--cs-panel-border);
  color: var(--cs-indigo);
  font-size: 14px;
  font-weight: 600;
}

.cs-panel {
  background: var(--cs-panel);
  border: 1px solid var(--cs-panel-border);
  border-radius: var(--cs-radius);
  padding: 14px;
  margin-bottom: 18px;
}

.cs-callout {
  border-radius: var(--cs-radius);
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 15px;
}

.cs-callout-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.cs-callout-warm {
  background: var(--cs-warm);
  border: 1px solid #f3d9d3;
  color: var(--cs-red);
}

.cs-warn {
  background: var(--cs-warm);
  color: var(--cs-red);
  border-radius: var(--cs-radius-sm);
  padding: 10px 12px;
  font-weight: 600;
  font-size: 14px;
  margin-top: 12px;
}

.cs-hint {
  color: var(--cs-muted);
  font-size: 13px;
  margin-top: 12px;
}

.cs-empty {
  color: var(--cs-muted);
  font-size: 15px;
  padding: 18px 0;
}

.cs-dim {
  color: var(--cs-muted);
}

/* ---------- forms ---------- */

.cs-field {
  margin-bottom: 12px;
}

.cs-field:last-child {
  margin-bottom: 0;
}

.cs-field-row {
  display: flex;
  gap: 10px;
}

.cs-field-row .cs-field {
  flex: 1 1 0;
  min-width: 0;
}

.cs-field-row .cs-field-short {
  flex: 0 0 34%;
}

.cs-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--cs-indigo);
  margin-bottom: 5px;
}

.cs-req,
.cs-opt {
  font-weight: 500;
  color: var(--cs-muted);
  font-size: 12px;
}

.cs-input,
.cs-textarea {
  display: block;
  width: 100%;
  min-height: var(--cs-tap);
  padding: 11px 12px;
  border: 1.5px solid var(--cs-panel-border);
  border-radius: var(--cs-radius-sm);
  background: var(--cs-white);
  color: var(--cs-ink);
  font-size: 16px;
  line-height: 1.4;
}

.cs-textarea {
  resize: vertical;
  min-height: 64px;
}

.cs-input::placeholder,
.cs-textarea::placeholder {
  color: #8f88a0;
}

.cs-input:focus,
.cs-textarea:focus {
  border-color: var(--cs-violet);
  outline: 3px solid var(--cs-violet);
  outline-offset: 0;
}

.cs-input[aria-invalid="true"] {
  border-color: var(--cs-red);
}

.cs-error {
  color: var(--cs-red);
  font-size: 13px;
  font-weight: 600;
  margin-top: 5px;
}

/* ---------- buttons ---------- */

.cs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--cs-tap);
  padding: 10px 18px;
  border-radius: var(--cs-radius-sm);
  border: 1.5px solid transparent;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
}

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

.cs-btn-primary:not(:disabled):hover {
  background: var(--cs-indigo-logo);
  color: var(--cs-white);
}

.cs-btn-secondary {
  background: var(--cs-white);
  color: var(--cs-indigo);
  border-color: var(--cs-indigo);
}

.cs-btn-secondary:not(:disabled):hover {
  background: var(--cs-panel);
  color: var(--cs-indigo);
}

.cs-btn-ghost {
  background: var(--cs-white);
  color: var(--cs-indigo);
  border-color: var(--cs-panel-border);
}

.cs-btn-ghost:not(:disabled):hover {
  background: var(--cs-panel);
}

.cs-btn-danger {
  background: var(--cs-red);
  color: var(--cs-white);
  border-color: var(--cs-red);
}

.cs-link-btn {
  background: none;
  border: 0;
  padding: 0;
  color: var(--cs-violet);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: inherit;
  font-weight: 600;
  min-height: 0;
}

.cs-link-btn:hover {
  color: var(--cs-indigo);
}

.cs-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
}

.cs-actions .cs-btn {
  width: 100%;
}

/* ---------- vendors screen ---------- */

.cs-vendor-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-vendor-row {
  background: var(--cs-panel);
  border: 1px solid var(--cs-panel-border);
  border-radius: var(--cs-radius);
  padding: 12px 14px 14px;
}

.cs-vendor-row.is-invalid {
  border-color: var(--cs-red);
}

.cs-vendor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.cs-vendor-index {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--cs-violet);
}

.cs-vendor-tools {
  display: flex;
  gap: 6px;
}

.cs-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: var(--cs-radius-sm);
  border: 1.5px solid var(--cs-panel-border);
  background: var(--cs-white);
  color: var(--cs-indigo);
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cs-icon-btn:not(:disabled):hover {
  border-color: var(--cs-violet);
}

.cs-icon-btn-danger {
  color: var(--cs-red);
}

.cs-icon-btn-danger:not(:disabled):hover {
  border-color: var(--cs-red);
}

.cs-confirm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  background: var(--cs-warm);
  color: var(--cs-red);
  border-radius: var(--cs-radius-sm);
  padding: 10px 12px;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 600;
}

.cs-confirm .cs-btn {
  min-height: 40px;
  padding: 6px 14px;
  font-size: 14px;
}

.cs-confirm-inline {
  display: inline-flex;
  margin: 6px 0 0;
}

/* ---------- score screen ---------- */

.cs-vendor-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}

.cs-vendor-nav .cs-btn {
  padding: 8px 12px;
  min-height: 40px;
  font-size: 14px;
}

.cs-vendor-count {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cs-muted);
  text-align: center;
}

.cs-vendor-card {
  background: var(--cs-indigo);
  color: var(--cs-white);
  border-radius: var(--cs-radius);
  padding: 14px 16px;
  margin-bottom: 18px;
}

.cs-vendor-name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.cs-vendor-meta {
  color: var(--cs-violet-light);
  font-size: 14px;
  margin-top: 2px;
}

.cs-cat-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cs-cat {
  background: var(--cs-panel);
  border: 1px solid var(--cs-panel-border);
  border-radius: var(--cs-radius);
  padding: 14px;
}

.cs-cat-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}

.cs-cat-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--cs-violet);
}

.cs-cat-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--cs-indigo);
  flex: 1 1 auto;
}

.cs-cat-score {
  font-size: 13px;
  font-weight: 600;
  color: var(--cs-muted);
  white-space: nowrap;
}

.cs-verify {
  color: var(--cs-muted);
  font-size: 14px;
  margin-bottom: 10px;
}

.cs-scale-ends {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cs-muted);
  margin-bottom: 4px;
}

.cs-scale {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
}

.cs-score {
  flex: 1 1 0;
  min-width: 44px;
  min-height: 52px;
  border-radius: var(--cs-radius-sm);
  border: 1.5px solid var(--cs-panel-border);
  background: var(--cs-white);
  color: var(--cs-indigo);
  font-size: 20px;
  font-weight: 700;
}

.cs-score:hover {
  border-color: var(--cs-violet);
}

.cs-score.is-on {
  background: var(--cs-violet);
  border-color: var(--cs-violet);
  color: var(--cs-white);
}

.cs-gates {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--cs-panel-border);
}

.cs-gate-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-gate {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--cs-panel);
  border: 1px solid var(--cs-panel-border);
  border-radius: var(--cs-radius);
  padding: 12px 14px;
}

.cs-gate.is-fail {
  background: var(--cs-warm);
  border-color: #f3d9d3;
}

.cs-gate-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cs-gate-name {
  font-weight: 700;
  color: var(--cs-indigo);
  font-size: 16px;
}

.cs-gate-hint {
  color: var(--cs-muted);
  font-size: 13px;
}

.cs-toggle {
  display: flex;
  gap: 6px;
}

.cs-toggle-btn {
  flex: 1 1 0;
  min-height: var(--cs-tap);
  border-radius: var(--cs-radius-sm);
  border: 1.5px solid var(--cs-panel-border);
  background: var(--cs-white);
  color: var(--cs-ink);
  font-size: 15px;
  font-weight: 700;
}

.cs-toggle-pass.is-on {
  background: var(--cs-green);
  border-color: var(--cs-green);
  color: var(--cs-white);
}

.cs-toggle-fail.is-on {
  background: var(--cs-red);
  border-color: var(--cs-red);
  color: var(--cs-white);
}

.cs-toggle-btn:not(.is-on):hover {
  border-color: var(--cs-violet);
}

.cs-sticky {
  position: sticky;
  bottom: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 22px -16px -28px;
  padding: 10px 16px;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
  background: var(--cs-white);
  border-top: 1px solid var(--cs-panel-border);
  box-shadow: 0 -6px 18px rgba(22, 11, 74, 0.08);
}

.cs-total {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.cs-total-num {
  font-size: 22px;
  font-weight: 700;
  color: var(--cs-indigo);
}

.cs-total-of {
  font-size: 14px;
  color: var(--cs-muted);
  font-weight: 600;
}

.cs-total-sub {
  font-size: 12px;
  color: var(--cs-muted);
}

.cs-sticky-btns {
  display: flex;
  gap: 8px;
}

.cs-sticky-btns .cs-btn {
  padding: 8px 14px;
  min-height: 44px;
  font-size: 14px;
}

/* ---------- compare screen ---------- */

.cs-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--cs-panel-border);
  border-radius: var(--cs-radius);
  margin-bottom: 14px;
}

.cs-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 100%;
  font-size: 14px;
  text-indent: 0;
}

.cs-table th,
.cs-table td {
  padding: 10px 10px;
  border-bottom: 1px solid var(--cs-panel-border);
  vertical-align: top;
  text-align: center;
}

.cs-table tbody tr:last-child th,
.cs-table tbody tr:last-child td {
  border-bottom: 0;
}

.cs-table thead th {
  background: var(--cs-panel);
  color: var(--cs-indigo);
  font-weight: 700;
  border-bottom: 2px solid var(--cs-panel-border);
}

.cs-table tbody th {
  text-align: left;
  font-weight: 600;
  color: var(--cs-ink);
  background: var(--cs-white);
  white-space: nowrap;
}

.cs-th-cat,
.cs-table tbody th {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 128px;
  box-shadow: 1px 0 0 var(--cs-panel-border);
}

.cs-th-vendor {
  min-width: 124px;
  max-width: 180px;
}

.cs-th-name {
  display: block;
  overflow-wrap: break-word;
  hyphens: auto;
}

.cs-th-meta {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--cs-muted);
  margin-top: 2px;
}

.cs-fail-band {
  display: block;
  background: var(--cs-red);
  color: var(--cs-white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 3px 6px;
  border-radius: 4px;
  margin-bottom: 6px;
}

.cs-th-vendor.is-fail {
  background: var(--cs-warm);
  color: var(--cs-red);
}

.cs-td.is-fail {
  background: var(--cs-warm);
  color: var(--cs-red);
}

.cs-td {
  font-weight: 600;
  font-size: 16px;
}

.cs-tr-total th,
.cs-tr-total td {
  background: var(--cs-panel);
  font-weight: 700;
  color: var(--cs-indigo);
}

.cs-tr-total .cs-td.is-fail {
  background: var(--cs-warm);
  color: var(--cs-red);
}

.cs-td-gates {
  font-size: 12px;
  font-weight: 600;
  color: var(--cs-green);
}

.cs-td-gates.is-fail {
  color: var(--cs-red);
}

.cs-swipe-hint {
  color: var(--cs-muted);
  font-size: 13px;
  margin: -6px 0 12px;
}

.cs-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

.cs-chip {
  min-height: 40px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1.5px solid var(--cs-panel-border);
  background: var(--cs-white);
  color: var(--cs-indigo);
  font-size: 14px;
  font-weight: 600;
}

.cs-chip:hover {
  border-color: var(--cs-violet);
  color: var(--cs-violet);
}

/* ---------- footer ---------- */

.cs-footer {
  border-top: 1px solid var(--cs-panel-border);
  background: var(--cs-panel);
  padding: 18px 16px 22px;
  font-size: 14px;
}

.cs-footer-line {
  max-width: var(--cs-max);
  margin: 0 auto 6px;
}

.cs-footer-line:last-child {
  margin-bottom: 0;
}

.cs-footer-muted {
  color: var(--cs-muted);
  font-size: 13px;
}

/* ---------- print section (hidden on screen) ---------- */

.cs-print {
  display: none;
}

/* ---------- wider screens ---------- */

@media (min-width: 600px) {
  .cs-logo-strip {
    padding: 14px 24px;
  }

  .cs-logo {
    height: 40px;
  }

  .cs-band {
    padding: 30px 24px 26px;
  }

  .cs-title {
    font-size: 32px;
  }

  .cs-screen {
    padding: 28px 24px 32px;
  }

  .cs-tab {
    font-size: 15px;
  }

  .cs-actions {
    flex-direction: row;
  }

  .cs-actions .cs-btn {
    width: auto;
  }

  .cs-actions-wrap {
    flex-wrap: wrap;
  }

  .cs-swipe-hint {
    display: none;
  }

  .cs-gate {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .cs-gate-text {
    flex: 1 1 auto;
    padding-right: 12px;
  }

  .cs-toggle {
    flex: 0 0 200px;
  }

  .cs-sticky {
    margin: 26px -24px -32px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .cs-footer {
    padding: 20px 24px 24px;
  }
}

@media (min-width: 900px) {
  .cs-band,
  .cs-logo-strip,
  .cs-footer {
    padding-left: 32px;
    padding-right: 32px;
  }

  .cs-band > *,
  .cs-logo-strip > * {
    max-width: var(--cs-max);
    margin-left: auto;
    margin-right: auto;
  }

  .cs-tabs {
    justify-content: center;
  }

  .cs-tab {
    flex: 0 1 calc(var(--cs-max) / 3);
  }

  .cs-band .cs-sub {
    max-width: 52ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cora-scorecard * {
    transition: none !important;
  }
}

/* ---------- print ---------- */

@media print {
  .cora-scorecard {
    background: #fff;
    color: #241f35;
    font-size: 11pt;
  }

  .cora-scorecard .cs-app {
    display: none !important;
  }

  .cora-scorecard .cs-print {
    display: block;
  }

  .cs-print-page {
    page-break-after: always;
    break-after: page;
    padding: 0;
  }

  .cs-print-page:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  .cs-print-head {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--cs-indigo);
    color: #fff;
    padding: 9pt 14pt;
    margin-bottom: 10pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cs-print-logo-box {
    display: inline-block;
    background: #fff;
    border-radius: 4pt;
    padding: 5pt 8pt;
    line-height: 0;
  }

  .cs-print-logo {
    height: 22pt;
    width: auto;
  }

  .cs-print-head-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
  }

  .cs-print-kicker {
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cs-violet-light);
  }

  .cs-print-title {
    font-size: 15pt;
    font-weight: 700;
    color: #fff;
  }

  .cs-print-sub {
    font-size: 9.5pt;
    color: rgba(255, 255, 255, 0.85);
  }

  .cs-print-h {
    font-size: 14pt;
    font-weight: 700;
    color: var(--cs-indigo);
    margin: 0 0 6pt;
  }

  .cs-print-h-small {
    font-size: 11pt;
    margin-top: 8pt;
  }

  .cs-print-meta {
    font-size: 10pt;
    font-weight: 500;
    color: var(--cs-muted);
  }

  .cs-print-rule {
    background: var(--cs-warm);
    color: var(--cs-red);
    padding: 8pt 10pt;
    border-radius: 4pt;
    font-size: 9.5pt;
    margin-bottom: 10pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cs-print-total {
    font-size: 11pt;
    font-weight: 700;
    color: var(--cs-indigo);
    margin-bottom: 6pt;
  }

  .cs-print-fail {
    background: var(--cs-warm);
    color: var(--cs-red);
    font-weight: 700;
    padding: 6pt 10pt;
    border-radius: 4pt;
    margin-bottom: 8pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cs-print-fail-text {
    color: var(--cs-red);
    font-weight: 700;
  }

  .cs-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }

  .cs-table-print {
    font-size: 9.5pt;
    width: 100%;
  }

  .cs-table-print th,
  .cs-table-print td {
    border: 1px solid var(--cs-panel-border);
    padding: 5pt 6pt;
    position: static;
    box-shadow: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cs-table-print thead th {
    background: var(--cs-panel);
  }

  .cs-table-print .cs-th-vendor.is-fail,
  .cs-table-print .cs-td.is-fail {
    background: var(--cs-warm);
    color: var(--cs-red);
  }

  .cs-table-print .cs-fail-band {
    background: var(--cs-red);
    color: #fff;
  }

  .cs-print-evidence {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
    margin-bottom: 6pt;
  }

  .cs-print-evidence th,
  .cs-print-evidence td {
    border: 1px solid var(--cs-panel-border);
    padding: 4pt 6pt;
    vertical-align: top;
    text-align: left;
  }

  .cs-print-evidence thead th {
    background: var(--cs-panel);
    color: var(--cs-indigo);
    font-size: 8.5pt;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cs-print-evidence tbody th {
    width: 30%;
    font-weight: 700;
    color: var(--cs-indigo);
  }

  .cs-print-verify {
    display: block;
    font-weight: 400;
    color: var(--cs-muted);
    font-size: 7.5pt;
    line-height: 1.3;
    margin-top: 2pt;
  }

  .cs-print-score {
    width: 9%;
    text-align: center;
    font-weight: 700;
    font-size: 12pt;
    color: var(--cs-indigo);
  }

  .cs-print-gates {
    font-size: 9pt;
    display: flex;
    flex-wrap: wrap;
    gap: 2pt 14pt;
    padding-left: 0;
  }

  .cs-print-gates li {
    margin-bottom: 2pt;
  }

  .cs-print-foot {
    display: flex;
    flex-direction: column;
    gap: 2pt;
    margin-top: 8pt;
    padding-top: 5pt;
    border-top: 1px solid var(--cs-panel-border);
    font-size: 8pt;
    color: var(--cs-muted);
  }
}
