@charset "UTF-8";
/* Trust Insights — Copilot Cowork Cost Estimator styles. Host at https://www.trustinsights.ai/interactives/trustinsights/copilotcalculator.css All rules namespaced under .ti-cowork */
/* ============================================================
   Trust Insights — Copilot Cowork Cost Estimator
   All selectors namespaced under .ti-cowork
   ============================================================ */

/* ---------- Custom properties (palette) ---------- */
.ti-cowork {
  --ti-coral: #F05662;
  --ti-pink: #FF818D;
  --ti-blue: #33B0EF;
  --ti-ink: #414042;
  --ti-teal: #00A499;
  --ti-mint: #33FFCC;
  --ti-white: #ffffff;
  --ti-light-bg: #f8f8f8;
  --ti-border: #d8d8d8;
  --ti-radius: 8px;
  --ti-shadow: 0 2px 8px rgba(0,0,0,0.08);

  /* Semantic tokens */
  --ti-link: #0070b8;          /* 4.68:1 on white — WCAG AA for text */
  --ti-muted: #6f6f6f;         /* 5.02:1 on white — WCAG AA */
  --ti-badge-medium-bg: #caeaf9;
  --ti-badge-heavy-bg: #fcd0d3;
  /* Academy gradient endpoints */
  --ti-academy-from: #00695f;
  --ti-academy-to: #0d5e8a;

  /* Per-role accent colors */
  --ti-role-corporate: #33B0EF;   /* blue */
  --ti-role-customer:  #00A499;   /* teal */
  --ti-role-technical: #F05662;   /* coral */
  --ti-role-leaders:   #8E7CC3;   /* violet — distinct from other three */
}

/* Paste-safety: doubled specificity on root font/color, headings, and links to resist host-theme overrides */
.ti-cowork.ti-cowork {
  color: var(--ti-ink);
  font-family: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  background: var(--ti-white);
  box-sizing: border-box;
}

.ti-cowork *, .ti-cowork *::before, .ti-cowork *::after {
  box-sizing: inherit;
}

/* ---------- Typography ---------- */
/* Doubled specificity on headings and links for paste-safety against host-theme overrides */
.ti-cowork.ti-cowork h1,
.ti-cowork.ti-cowork h2,
.ti-cowork.ti-cowork h3,
.ti-cowork.ti-cowork h4 {
  font-family: 'Barlow Condensed', 'Barlow', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5em;
}

.ti-cowork.ti-cowork h1 {
  font-size: 2rem;
  color: var(--ti-coral);  /* large heading — passes WCAG AA */
}

.ti-cowork.ti-cowork h2 {
  font-size: 1.5rem;
  color: var(--ti-coral);  /* large heading — passes WCAG AA */
}

.ti-cowork.ti-cowork h3 {
  font-size: 1.25rem;
  color: var(--ti-ink);
}

.ti-cowork p {
  margin: 0 0 0.75em;
}

/* Doubled specificity on links for paste-safety */
/* --ti-link: #0070b8 = 4.68:1 on white — passes WCAG AA */
.ti-cowork.ti-cowork a {
  color: var(--ti-link);
}

.ti-cowork.ti-cowork a:hover {
  color: var(--ti-ink);
}

/* ---------- Focus (WCAG 2.4.7) ---------- */
/* Changed from --ti-blue (2.44:1 on white) to --ti-ink (#414042, ≥10:1 on white) to meet 3:1 */
.ti-cowork :focus-visible {
  outline: 3px solid var(--ti-ink);
  outline-offset: 2px;
}

/* ---------- Header ---------- */
.ti-cowork .ti-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 3px solid var(--ti-coral);
  background: var(--ti-white);
}

.ti-cowork .ti-logo {
  width: 80px;
  height: auto;
  flex-shrink: 0;
  border-radius: var(--ti-radius);
}

.ti-cowork .ti-header-text h1 {
  margin-bottom: 0.15em;
}

.ti-cowork .ti-tagline {
  font-size: 0.95rem;
  color: var(--ti-muted);  /* #6f6f6f = 5.02:1 on white, replaces opacity:0.75 on ink */
  margin: 0;
}

/* ---------- Layout: single column ---------- */
.ti-cowork .ti-layout {
  display: block;
  padding: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* ---------- Inputs (full width) ---------- */
.ti-cowork .ti-inputs {
  min-width: 0;
}

.ti-cowork .ti-step {
  margin-bottom: 2rem;
}

.ti-cowork .ti-step-note {
  font-size: 0.9rem;
  color: var(--ti-muted);  /* #6f6f6f = 5.02:1, replaces opacity:0.8 on ink */
  margin-bottom: 1rem;
}

/* Headcount fieldset */
.ti-cowork .ti-headcount-fieldset {
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  padding: 1rem 1.25rem;
  background: var(--ti-light-bg);
  margin: 0;
}

.ti-cowork .ti-headcount-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--ti-border);
}

.ti-cowork .ti-headcount-row:last-child {
  border-bottom: none;
}

.ti-cowork .ti-headcount-row label {
  font-weight: 500;
  flex: 1;
}

.ti-cowork .ti-headcount-row input[type="number"] {
  width: 80px;
  text-align: right;
  padding: 0.5rem;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  font-size: 1rem;
  font-family: inherit;
  color: var(--ti-ink);
  background: var(--ti-white);
  transition: border-color 0.15s;
}

.ti-cowork .ti-headcount-row input[type="number"]:focus-visible {
  border-color: var(--ti-blue);
}

/* Role cards */
.ti-cowork .ti-role-card {
  border: 1px solid var(--ti-border);
  border-left: 4px solid var(--ti-border); /* overridden per-role below */
  border-radius: var(--ti-radius);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  background: var(--ti-white);
  box-shadow: var(--ti-shadow);
}

/* Per-role card accent: 4px left border + subtle tinted background */
.ti-cowork #ti-corporate-card {
  border-left-color: var(--ti-role-corporate);
  background: color-mix(in srgb, var(--ti-role-corporate) 7%, var(--ti-white));
}
.ti-cowork #ti-customer-card {
  border-left-color: var(--ti-role-customer);
  background: color-mix(in srgb, var(--ti-role-customer) 7%, var(--ti-white));
}
.ti-cowork #ti-technical-card {
  border-left-color: var(--ti-role-technical);
  background: color-mix(in srgb, var(--ti-role-technical) 7%, var(--ti-white));
}
.ti-cowork #ti-leaders-card {
  border-left-color: var(--ti-role-leaders);
  background: color-mix(in srgb, var(--ti-role-leaders) 7%, var(--ti-white));
}

.ti-cowork .ti-role-card legend {
  font-family: 'Barlow Condensed', 'Barlow', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--ti-ink);
  padding: 0 0.5rem;
}

.ti-cowork .ti-lmh-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.ti-cowork .ti-lmh-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
  min-width: 100px;
}

.ti-cowork .ti-lmh-field label {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ti-ink);
}

.ti-cowork .ti-lmh-field input[type="number"] {
  padding: 0.5rem;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  font-size: 1rem;
  font-family: inherit;
  color: var(--ti-ink);
  background: var(--ti-white);
  transition: border-color 0.15s;
}

.ti-cowork .ti-lmh-field input[type="number"]:focus-visible {
  border-color: var(--ti-blue);
}

.ti-cowork .ti-role-note {
  font-size: 0.85rem;
  color: var(--ti-ink);
  min-height: 1.2em;
  margin: 0.25rem 0 0.5rem;
}

/* Task picker details/summary */
.ti-cowork .ti-task-picker-wrap {
  margin: 0.5rem 0;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  padding: 0.5rem 0.75rem;
  background: var(--ti-light-bg);
}

.ti-cowork .ti-task-picker-wrap > summary {
  cursor: pointer;
  font-weight: 500;
  color: var(--ti-ink);
  padding: 0.25rem 0;
  list-style: none;
  user-select: none;
}

.ti-cowork .ti-task-picker-wrap > summary::-webkit-details-marker {
  display: none;
}

.ti-cowork .ti-task-picker-wrap > summary::before {
  content: '\25B6  ';
  font-size: 0.75em;
  transition: transform 0.15s;
  display: inline-block;
}

.ti-cowork .ti-task-picker-wrap[open] > summary::before {
  transform: rotate(90deg);
}

.ti-cowork .ti-task-list {
  padding-top: 0.5rem;
}

/* Task list items */
.ti-cowork .ti-task-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--ti-border);
  flex-wrap: wrap;
}

.ti-cowork .ti-task-item:last-child {
  border-bottom: none;
}

.ti-cowork .ti-task-item input[type="checkbox"] {
  margin-top: 0.2rem;
  flex-shrink: 0;
  min-width: 24px;
  min-height: 24px;
  width: 24px;
  height: 24px;
  accent-color: var(--ti-teal);
}

.ti-cowork .ti-task-item label {
  flex: 1;
  font-size: 0.9rem;
  cursor: pointer;
}

.ti-cowork .ti-task-why {
  width: 100%;
  font-size: 0.875rem;
  color: var(--ti-muted); /* #6f6f6f = 5.02:1 on white */
  padding-left: 1.5rem;
  font-style: italic;
}

.ti-cowork .ti-tier-badge {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 3px;
  padding: 2px 6px;
  margin-left: 0.5rem;
}

.ti-cowork .ti-tier-badge-light {
  background: var(--ti-mint);
  color: var(--ti-ink);
}

.ti-cowork .ti-tier-badge-medium {
  background: var(--ti-badge-medium-bg);
  color: var(--ti-ink);
}

.ti-cowork .ti-tier-badge-heavy {
  background: var(--ti-badge-heavy-bg);
  color: var(--ti-ink);
}

.ti-cowork .ti-task-freq {
  width: 56px;
  text-align: right;
  padding: 0.25rem 0.5rem;
  min-height: 24px;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  font-size: 0.9rem;
  font-family: inherit;
  color: var(--ti-ink);
  background: var(--ti-white);
}

.ti-cowork .ti-task-freq:disabled {
  background: var(--ti-light-bg);
  opacity: 0.5;
}

/* Reset button */
.ti-cowork .ti-reset-btn {
  margin-top: 0.5rem;
  padding: 0.5rem 0.75rem;
  min-height: 24px;
  font-size: 0.85rem;
  font-family: inherit;
  color: var(--ti-ink);
  background: var(--ti-light-bg);
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.ti-cowork .ti-reset-btn:hover {
  background: var(--ti-border);
}

.ti-cowork .ti-reset-btn:active {
  transform: translateY(1px);
}

/* Assumptions panel */
.ti-cowork .ti-assumptions-panel {
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  background: var(--ti-light-bg);
}

.ti-cowork .ti-assumptions-panel > summary {
  cursor: pointer;
  font-weight: 600;
  padding: 0.75rem 1rem;
  list-style: none;
  color: var(--ti-ink);
  user-select: none;
}

.ti-cowork .ti-assumptions-panel > summary::-webkit-details-marker {
  display: none;
}

.ti-cowork .ti-assumptions-panel > summary::before {
  content: '\25B6  ';
  font-size: 0.75em;
  transition: transform 0.15s;
  display: inline-block;
}

.ti-cowork .ti-assumptions-panel[open] > summary::before {
  transform: rotate(90deg);
}

.ti-cowork .ti-assumptions-body {
  padding: 0.75rem 1rem 1rem;
  border-top: 1px solid var(--ti-border);
}

.ti-cowork .ti-assumption-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--ti-border);
}

.ti-cowork .ti-assumption-row:last-child,
.ti-cowork .ti-assumption-checkbox {
  border-bottom: none;
}

.ti-cowork .ti-assumption-row label {
  font-size: 0.9rem;
  flex: 1;
}

.ti-cowork .ti-assumption-row input[type="number"] {
  width: 90px;
  text-align: right;
  padding: 0.5rem;
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  font-size: 0.95rem;
  font-family: inherit;
  color: var(--ti-ink);
  background: var(--ti-white);
}

.ti-cowork .ti-assumption-checkbox {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.5rem;
}

.ti-cowork .ti-assumption-checkbox input[type="checkbox"] {
  min-width: 24px;
  min-height: 24px;
  width: 24px;
  height: 24px;
  accent-color: var(--ti-teal);
}

.ti-cowork .ti-disclaimer-note {
  font-size: 0.8rem;
  color: var(--ti-muted);
  margin-top: 0.75rem;
  font-style: italic;
}

/* ---------- Results panel (full-width, below inputs) ---------- */
.ti-cowork .ti-results {
  background: var(--ti-white);
  border: 2px solid var(--ti-coral);
  border-radius: var(--ti-radius);
  box-shadow: var(--ti-shadow);
  margin-bottom: 1.5rem;
}

.ti-cowork .ti-results-inner {
  padding: 1.25rem;
}

.ti-cowork .ti-results-headline {
  font-size: 2.25rem;
  color: var(--ti-coral);
  margin-bottom: 0;
}

.ti-cowork .ti-results-label {
  font-size: 0.9rem;
  color: var(--ti-muted);  /* #6f6f6f = 5.02:1 on white, replaces opacity:0.7 on ink */
  margin: 0 0 0.25rem;
}

.ti-cowork .ti-results-note {
  font-size: 0.875rem;
  color: var(--ti-muted);
  margin: 0.25rem 0 0.75rem;
  font-style: italic;
  min-height: 1em;
}

.ti-cowork .ti-results-sub {
  border-top: 1px solid var(--ti-border);
  padding-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.ti-cowork .ti-results-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
  font-size: 1rem;
}

.ti-cowork .ti-results-row-label {
  color: var(--ti-muted);  /* #6f6f6f = 5.02:1, replaces opacity:0.8 on ink */
}

.ti-cowork .ti-results-row-value {
  font-weight: 600;
  color: var(--ti-ink);
  font-variant-numeric: tabular-nums;
}

/* Role table */
.ti-cowork .ti-role-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  margin-bottom: 0.75rem;
}

.ti-cowork .ti-role-table th,
.ti-cowork .ti-role-table td {
  padding: 0.5rem 0.5rem;
  border-bottom: 1px solid var(--ti-border);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.ti-cowork .ti-role-table th:first-child,
.ti-cowork .ti-role-table td:first-child {
  text-align: left;
}

.ti-cowork .ti-role-table th {
  font-weight: 600;
  background: var(--ti-light-bg);
  color: var(--ti-ink);
}

.ti-cowork .ti-role-table tbody tr:hover {
  background: var(--ti-light-bg);
}

/* CSS bar chart (replaces fixed-viewBox SVG) */
.ti-cowork .ti-chart {
  display: block;
  width: 100%;
  margin-bottom: 0.75rem;
}

/* Each bar row: label line + track */
.ti-cowork .ti-bar-row {
  margin-bottom: 0.5rem;
}

.ti-cowork .ti-bar-row:last-child {
  margin-bottom: 0;
}

/* Top line: emoji+name (left) + dollar value (right) */
.ti-cowork .ti-bar-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 4px;
  color: var(--ti-ink);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.ti-cowork .ti-bar-name {
  /* may wrap on narrow viewports — that's fine */
}

.ti-cowork .ti-bar-value {
  font-weight: 600;
  white-space: nowrap;
}

/* Full-width track */
.ti-cowork .ti-bar-track {
  width: 100%;
  background: var(--ti-light-bg);
  border-radius: 3px;
  overflow: hidden;
  height: 20px;
}

/* Fill — width set via JS inline style; background from role-color custom property */
.ti-cowork .ti-bar-fill {
  height: 100%;
  border-radius: 3px;
  /* 1px ink border for WCAG 1.4.11 boundary contrast on low-contrast fills */
  box-sizing: border-box;
  border: 1px solid var(--ti-ink);
  transition: width 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  .ti-cowork .ti-bar-fill {
    transition: none !important;
  }
}

.ti-cowork .ti-bar-fill-corporate { background: var(--ti-role-corporate); }
.ti-cowork .ti-bar-fill-customer  { background: var(--ti-role-customer); }
.ti-cowork .ti-bar-fill-technical { background: var(--ti-role-technical); }
.ti-cowork .ti-bar-fill-leaders   { background: var(--ti-role-leaders); }

/* Export buttons */
.ti-cowork .ti-export-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.ti-cowork .ti-export-btn {
  padding: 0.75rem 1rem;
  min-height: 44px;
  font-size: 0.85rem;
  font-family: inherit;
  font-weight: 500;
  color: var(--ti-white);  /* 10.31:1 on #414042 — WCAG AA */
  background: var(--ti-ink);
  border: none;
  border-radius: var(--ti-radius);
  cursor: pointer;
  transition: background 0.15s;
}

.ti-cowork .ti-export-btn:hover {
  background: #2a2a2c;
}

.ti-cowork .ti-export-btn:active {
  transform: translateY(1px);
}

.ti-cowork .ti-results-disclaimer {
  font-size: 0.8rem;
  color: var(--ti-muted);
}

/* ---------- Education strip ---------- */
.ti-cowork .ti-education {
  background: var(--ti-light-bg);
  border: 1px solid var(--ti-border);
  border-radius: var(--ti-radius);
  padding: 1.25rem 1.5rem;
  margin: 0 1.5rem 1.5rem;
}

.ti-cowork .ti-education h2 {
  font-size: 1.2rem;
  color: var(--ti-coral);  /* coral on #f8f8f8 ≈3.3:1 — passes AA for large bold heading */
  margin-bottom: 0.5rem;
}

.ti-cowork .ti-tier-list {
  margin: 0.75rem 0;
}

.ti-cowork .ti-tier-list dt {
  font-weight: 600;
  margin-top: 0.75rem;
  color: var(--ti-ink);
}

.ti-cowork .ti-tier-list dd {
  margin-left: 1.25rem;
  font-size: 0.9rem;
  color: var(--ti-ink);
  /* opacity:0.85 on ink = ~7.5:1, passes — keeping as solid ink for cleanliness */
}

/* ---------- Academy callout ---------- */
/* Gradient deepened so white text reaches ≥4.5:1 */
.ti-cowork .ti-academy {
  background: linear-gradient(135deg, var(--ti-academy-from), var(--ti-academy-to));
  color: var(--ti-white);
  border-radius: var(--ti-radius);
  padding: 1rem 1.5rem;
  margin: 0 1.5rem 1.5rem;
  text-align: center;
}

.ti-cowork .ti-academy p {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

/* White underlined link for ≥4.5:1 on darkened gradient */
.ti-cowork .ti-academy a {
  color: var(--ti-white);
  font-weight: 700;
  text-decoration: underline;
}

.ti-cowork .ti-academy a:hover {
  opacity: 0.85;
  color: var(--ti-white);
}

/* ---------- Site footer ---------- */
.ti-cowork .ti-site-footer {
  text-align: center;
  padding: 0.75rem 1.5rem 1rem;
  font-size: 0.85rem;
  color: var(--ti-muted);
  border-top: 1px solid var(--ti-border);
  margin-top: 0.5rem;
}

.ti-cowork .ti-site-footer a {
  color: var(--ti-link);
}

/* ---------- Visually hidden (screen-reader only) ---------- */
.ti-cowork .ti-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ---------- Skip link — becomes visible on focus (WCAG 2.4.1) ---------- */
.ti-cowork .ti-skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  display: block;
  padding: 0.5rem 1rem;
  background: var(--ti-ink);
  color: var(--ti-white);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--ti-radius);
  margin: 0.5rem;
  outline: 3px solid var(--ti-white);
  outline-offset: 2px;
}

/* ---------- No-print helper (applied to interactive controls) ---------- */
.ti-cowork .ti-no-print {
  /* interactive only, kept for screen; hidden in print below */
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .ti-cowork * {
    transition: none !important;
    animation: none !important;
  }
}

/* ---------- Responsive: mobile adjustments at ≤820px ---------- */
@media (max-width: 820px) {
  /* Layout is already single-column; no grid changes needed */

  .ti-cowork .ti-header {
    flex-direction: column;
    text-align: center;
  }

  .ti-cowork h1 {
    font-size: 1.5rem;
  }

  .ti-cowork .ti-results-headline {
    font-size: 1.75rem;
  }

  .ti-cowork .ti-lmh-row {
    gap: 0.5rem;
  }

  .ti-cowork .ti-layout {
    padding: 1rem;
  }
}

/* ---------- Role table → stacked cards on narrow phones (≤640px) ---------- */
/* A 5-column financial table can't fit a phone without horizontal overflow
   (its numeric cells don't wrap). Below 640px each row becomes a labeled
   card so every value — especially $/month — stays visible, no h-scroll,
   and the table no longer spills past the results card border. */
@media (max-width: 640px) {
  .ti-cowork .ti-role-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .ti-cowork .ti-role-table,
  .ti-cowork .ti-role-table tbody,
  .ti-cowork .ti-role-table tr,
  .ti-cowork .ti-role-table td {
    display: block;
    width: 100%;
  }

  .ti-cowork .ti-role-table tr {
    border: 1px solid var(--ti-border);
    border-radius: var(--ti-radius);
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
  }

  /* First cell (role name) acts as the card heading */
  .ti-cowork .ti-role-table td:first-child {
    text-align: left;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ti-ink);
    border-bottom: 2px solid var(--ti-border);
    padding: 0 0 0.4rem;
    margin-bottom: 0.25rem;
  }

  /* Remaining cells become label / value rows */
  .ti-cowork .ti-role-table td:not(:first-child) {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    text-align: right;
    border-bottom: 1px solid var(--ti-border);
    padding: 0.4rem 0;
  }

  .ti-cowork .ti-role-table td:not(:first-child)::before {
    content: attr(data-label);
    font-weight: 600;
    text-align: left;
    color: var(--ti-muted);
  }

  .ti-cowork .ti-role-table td:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}

/* ---------- Intro / orientation callout ---------- */
.ti-cowork .ti-intro {
  background: var(--ti-light-bg);
  border: 1px solid var(--ti-border);
  border-left: 4px solid var(--ti-blue);
  border-radius: var(--ti-radius);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
}
.ti-cowork .ti-intro h2 {
  margin-top: 0;
  color: var(--ti-coral);
}
.ti-cowork .ti-intro p {
  margin: 0 0 0.75rem;
}
.ti-cowork .ti-intro p:last-child {
  margin-bottom: 0;
}
.ti-cowork .ti-intro .ti-intro-lead {
  margin-bottom: 0.4rem;
}
.ti-cowork .ti-intro .ti-intro-roles {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.ti-cowork .ti-intro .ti-intro-roles li {
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--ti-border);
  line-height: 1.45;
}
.ti-cowork .ti-intro .ti-intro-roles li:last-child {
  border-bottom: none;
}

/* ---------- Print styles ---------- */
@media print {
  /* Hide all interactive / decorative sections */
  .ti-cowork .ti-no-print,
  .ti-cowork .ti-intro,
  .ti-cowork .ti-step,          /* inputs */
  .ti-cowork .ti-education,
  .ti-cowork .ti-academy,
  .ti-cowork .ti-export-row,
  .ti-cowork .ti-reset-btn,
  .ti-cowork .ti-task-picker-wrap,
  .ti-cowork .ti-assumptions-panel {
    display: none !important;
  }

  /* Full-width layout for print */
  .ti-cowork .ti-layout {
    padding: 0;
  }

  .ti-cowork .ti-results {
    border: none;
    box-shadow: none;
    margin-bottom: 0;
  }

  /* Black-on-white text */
  .ti-cowork,
  .ti-cowork h1,
  .ti-cowork h2,
  .ti-cowork h3,
  .ti-cowork p,
  .ti-cowork td,
  .ti-cowork th,
  .ti-cowork .ti-results-headline,
  .ti-cowork .ti-results-row-value,
  .ti-cowork .ti-results-row-label,
  .ti-cowork .ti-site-footer {
    color: #000 !important;
  }

  /* Footer visible in print */
  .ti-cowork .ti-site-footer {
    display: block;
    border-top: 1px solid #ccc;
    margin-top: 0.5rem;
  }

  .ti-cowork .ti-results-headline {
    font-size: 2rem;
  }

  /* Ensure links print readable */
  .ti-cowork a::after {
    content: ' (' attr(href) ')';
    font-size: 0.8em;
  }

  /* Keep the header visible as branding */
  .ti-cowork .ti-header {
    border-bottom: 2px solid #000;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
  }

  /* Results inner expands */
  .ti-cowork .ti-results-inner {
    padding: 0;
  }

  /* Role table — visible in print */
  .ti-cowork .ti-role-table th,
  .ti-cowork .ti-role-table td {
    border: 1px solid #ccc;
  }

  /* Expand the results disclaimer */
  .ti-cowork .ti-results-disclaimer {
    opacity: 1;
    font-size: 0.8rem;
  }

  /* Page breaks */
  .ti-cowork .ti-results {
    page-break-inside: avoid;
  }
}
