:root {
  --color-background: #ffffff;
  --color-foreground: #0f0f0f;
  --color-border: rgba(0, 0, 0, 0.1);
  --color-card: #ffffff;
  --color-page-bg: #f5f5f5;
  --color-text-primary: #0f0f0f;
  --color-text-secondary: #6b6b6b;
  --color-text-muted: #6b6b6b;
  --color-primary: #2158E8;
  --color-primary-foreground: #ffffff;
  --color-secondary: #f5f5f5;
  --color-secondary-foreground: #0f0f0f;
  --color-muted: #f5f5f5;
  --color-muted-foreground: #6b6b6b;
  --color-accent: #d6e7fe;
  --color-accent-foreground: #2158E8;
  --color-destructive: #cc0300;
  --color-destructive-foreground: #ffffff;
  --color-clinical-critical: #dc2626;
  --color-clinical-critical-light: #fee2e2;
  --color-clinical-critical-dark: #991b1b;
  --color-clinical-treatment: #2563eb;
  --color-clinical-treatment-light: #dbeafe;
  --color-clinical-treatment-dark: #1e40af;
  --color-clinical-post-surgery: #9333ea;
  --color-clinical-post-surgery-light: #e9d5ff;
  --color-clinical-post-surgery-dark: #7e22ce;
  --color-clinical-chemo: #3b82f6;
  --color-clinical-chemo-light: #dbeafe;
  --color-clinical-chemo-dark: #1e40af;
  --color-clinical-progression: #f59e0b;
  --color-clinical-progression-light: #fef3c7;
  --color-clinical-progression-dark: #d97706;
  --color-clinical-second-line: #10b981;
  --color-clinical-second-line-light: #d1fae5;
  --color-clinical-second-line-dark: #059669;
  --color-chart-1: oklch(0.646 0.222 41.116);
  --color-chart-2: oklch(0.6 0.118 184.704);
  --color-chart-3: oklch(0.398 0.07 227.392);
  --color-chart-4: oklch(0.828 0.189 84.429);
  --color-chart-5: oklch(0.769 0.188 70.08);
  --color-input-bg: #f5f5f5;
  --color-input-border: transparent;
  --color-input-ring: oklch(0.708 0 0);
  --color-switch-bg: #cbced4;
  --radius-sm: -webkit-calc(0.625rem - 4px);
  --radius-sm: calc(0.625rem - 4px);
  --radius-md: -webkit-calc(0.625rem - 2px);
  --radius-md: calc(0.625rem - 2px);
  --radius-lg: 0.625rem;
  --radius-xl: -webkit-calc(0.625rem + 4px);
  --radius-xl: calc(0.625rem + 4px);
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-base: 0.9375rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: 1.75rem;
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 12px rgba(16, 24, 40, 0.06);
  --shadow-card-hover: 0 2px 6px rgba(16, 24, 40, 0.08), 0 12px 28px rgba(16, 24, 40, 0.10);
  --radius-card: 0.875rem;
  --gradient-header: #ececf0;
  --gradient-accent: #d6e7fe;
  --gradient-avatar: #4a5568;
  --surface-subtle: #f8fafc;
  --surface-tint: #eaf1fe;
  --hairline: rgba(15, 23, 42, 0.08);
  --label-ink: #64748b;
  --value-ink: #0f172a;
}

:root {
  --color-page-bg: #f9fafb;
}

body {
  font-family: "Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f9fafb;
  background-attachment: fixed;
}

div.email-link-button button {
  width: 100%;
}

dialog#clinical-trials-view-evidence-modal {
  width: 70% !important;
  max-width: none !important;
}
.date-range-calendar {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.75rem 1rem 1rem;
  font-family: "Lato", sans-serif;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.date-range-calendar .drc-month-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
  height: 2rem;
}
.date-range-calendar .drc-month-year {
  position: relative;
  -webkit-box-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 0.25rem;
}
.date-range-calendar .drc-title-button {
  border: none;
  background: transparent;
  padding: 0.15rem 0.35rem;
  border-radius: 0.375rem;
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-text-primary);
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease;
  transition: background-color 0.12s ease;
}
.date-range-calendar .drc-title-button:hover {
  background-color: #f1f3f5;
}
.date-range-calendar .drc-title-button:focus-visible {
  outline: 2px solid #1f2937;
  outline-offset: 1px;
}
.date-range-calendar .drc-selector-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 10;
  margin-top: 0.4rem;
  max-height: 200px;
  overflow-y: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: #ffffff;
  -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.date-range-calendar .drc-selector-dropdown.drc-month-dropdown {
  width: 8rem;
}
.date-range-calendar .drc-selector-dropdown.drc-year-dropdown {
  width: 5.5rem;
}
.date-range-calendar .drc-selector-item {
  border: none;
  background: transparent;
  padding: 0.4rem 0.75rem;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease;
  transition: background-color 0.12s ease;
}
.date-range-calendar .drc-selector-item:hover:not(:disabled) {
  background-color: #f1f3f5;
}
.date-range-calendar .drc-selector-item.selected {
  background-color: #1f2937;
  color: #ffffff;
  font-weight: 700;
}
.date-range-calendar .drc-selector-item:disabled {
  color: var(--color-text-muted);
  opacity: 0.4;
  cursor: default;
}
.date-range-calendar .drc-nav-button {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease, color 0.12s ease;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.date-range-calendar .drc-nav-button:hover:not(:disabled) {
  background-color: #f1f3f5;
  color: var(--color-text-primary);
}
.date-range-calendar .drc-nav-button:focus-visible {
  outline: 2px solid #1f2937;
  outline-offset: 1px;
}
.date-range-calendar .drc-nav-button:disabled {
  color: var(--color-text-muted);
  opacity: 0.35;
  cursor: default;
}
.date-range-calendar .drc-grid {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
.date-range-calendar .drc-weekdays,
.date-range-calendar .drc-days {
  display: grid;
  grid-template-columns: repeat(7, 2.5rem);
}
.date-range-calendar .drc-weekday-cell {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  height: 2rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
}
.date-range-calendar .drc-cell {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  height: 2.5rem;
  cursor: pointer;
}
.date-range-calendar .drc-cell span {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  -webkit-transition: background-color 0.12s ease;
  transition: background-color 0.12s ease;
}
.date-range-calendar .drc-cell:not(.has-date) {
  cursor: default;
}
.date-range-calendar .drc-cell.disabled {
  cursor: default;
}
.date-range-calendar .drc-cell.disabled span {
  color: var(--color-text-muted);
  opacity: 0.4;
}
.date-range-calendar .drc-cell.today span {
  background-color: #eef1f4;
}
.date-range-calendar .drc-cell.today span::after {
  content: "";
  position: absolute;
  bottom: 0.2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 999px;
  background-color: #1f2937;
}
.date-range-calendar .drc-cell.has-date:not(.disabled):hover:not(.start-date):not(.end-date):not(.in-range) span {
  background-color: #f1f3f5;
}
.date-range-calendar .drc-cell.in-range::before {
  content: "";
  position: absolute;
  top: 0.125rem;
  bottom: 0.125rem;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: #eef1f4;
}
.date-range-calendar .drc-cell.in-range.start-date::before {
  left: 50%;
}
.date-range-calendar .drc-cell.in-range.end-date::before {
  right: 50%;
}
.date-range-calendar .drc-cell.start-date span, .date-range-calendar .drc-cell.end-date span {
  background-color: #1f2937;
  color: #ffffff;
  font-weight: 700;
}
.md-root {
  font-size: var(--font-size-sm);
  line-height: 1.6;
  color: var(--color-text-primary);
  word-break: break-word;
}
.md-root > *:first-child {
  margin-top: 0;
}
.md-root > *:last-child {
  margin-bottom: 0;
}

.md-h {
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.3;
  margin: 1rem 0 0.5rem;
}

.md-h1 {
  font-size: 1.05rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--color-border);
}

.md-h2 {
  font-size: 0.95rem;
}

.md-h3 {
  font-size: 0.88rem;
}

.md-h4,
.md-h5,
.md-h6 {
  font-size: 0.82rem;
  color: var(--color-text-secondary, var(--color-text-muted));
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.md-p {
  margin: 0 0 0.75rem;
  font-weight: 500;
}

.md-ul,
.md-ol {
  margin: 0 0 0.75rem;
  padding-left: 1.5rem;
}
.md-ul li,
.md-ol li {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.6;
}
.md-ul li::marker,
.md-ol li::marker {
  color: var(--color-primary);
}

.md-hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 0.85rem 0;
}

.md-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  background-color: color-mix(in srgb, var(--color-page-bg) 55%, var(--color-border) 45%);
  padding: 0.05rem 0.3rem;
  border-radius: 0.25rem;
}

.md-table-wrapper {
  overflow-x: auto;
  margin: 0 0 0.6rem;
}

.md-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.md-table th,
.md-table td {
  text-align: left;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--color-border);
  vertical-align: top;
}
.md-table th {
  font-weight: 600;
  background-color: var(--color-page-bg);
  color: var(--color-text-secondary, var(--color-text-muted));
}
div.clickable-batch--container {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.125rem;
  border: 0.5px solid #000;
  border-radius: 0.25rem;
  background: #f5f5f5;
  padding: 0.125rem 0.375rem;
  width: 100%;
}
div.clickable-batch--container.no-border {
  border: 0;
}
div.clickable-batch--container:hover {
  cursor: pointer;
  background: #e6e6e6;
}
div.clickable-batch--text {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 700;
  color: #0f0f0f;
  -webkit-box-flex: 1;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
div.clickable-batch--icon {
  display: -webkit-box;
  display: flex;
  flex-shrink: 0;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.ct-table {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  background-color: var(--color-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  -webkit-box-shadow: var(--shadow-card);
  box-shadow: var(--shadow-card);
}
.ct-table::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-accent);
  z-index: 2;
}
.ct-table__scroll {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}
.ct-table__table {
  width: 100%;
  min-width: 76rem;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.ct-table__head-row {
  background: -webkit-gradient(linear, left top, left bottom, from(#f8fafc), to(#eef2f7));
  background: -webkit-linear-gradient(top, #f8fafc 0%, #eef2f7 100%);
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}
.ct-table__th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 0.75rem 0.625rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--label-ink);
  white-space: nowrap;
  background-color: #f3f6fa;
  border-bottom: 2px solid var(--hairline);
}
.ct-table__th--left {
  text-align: left;
}
.ct-table__th--center {
  text-align: center;
}
.ct-table__th--right {
  text-align: right;
}
.ct-table__th--sortable {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}
.ct-table__th--sortable:hover {
  color: var(--color-text-primary);
}
.ct-table__th-label {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  max-width: 100%;
  gap: 0.25rem;
  white-space: nowrap;
}
.ct-table__row {
  position: relative;
  -webkit-transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease;
}
.ct-table__row:nth-child(even) {
  background-color: #ffffff;
}
.ct-table__row .ct-table__td {
  border-bottom: 1px solid var(--hairline);
}
.ct-table__row:last-child .ct-table__td {
  border-bottom: none;
}
.ct-table__row--clickable {
  cursor: pointer;
}
.ct-table__row--clickable:hover {
  background-color: var(--surface-tint);
}
.ct-table__row--clickable:not(.ct-table__row--unread):hover {
  -webkit-box-shadow: inset 3px 0 0 var(--color-primary);
  box-shadow: inset 3px 0 0 var(--color-primary);
}
.ct-table__row--unread .ct-table__td:first-child {
  -webkit-box-shadow: inset 2px 0 0 #2563eb;
  box-shadow: inset 2px 0 0 #2563eb;
}
.ct-table__row--unread .patient-name-cell__name,
.ct-table__row--unread .patient-name-cell__mrn {
  color: #2563eb;
}
.ct-table__row--unread .patient-name-cell__name {
  font-weight: 600;
}
.ct-table__td {
  padding: 0.75rem 0.625rem;
  font-size: 0.8125rem;
  color: var(--color-text-primary);
  vertical-align: middle;
  min-width: 0;
  overflow-wrap: anywhere;
}
.ct-table__td > * {
  min-width: 0;
  max-width: 100%;
}
.ct-table__td:first-child {
  font-weight: 600;
  color: var(--value-ink);
}
.ct-table__td--left {
  text-align: left;
}
.ct-table__td--center {
  text-align: center;
}
.ct-table__td--right {
  text-align: right;
}
.ct-table__state {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 2.5rem 2rem;
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}
.ct-table__state--empty {
  color: var(--color-text-secondary);
}
.ct-table__row-action-cell {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  padding-right: 0.75rem;
  padding-left: 2.5rem;
  pointer-events: none;
}
.ct-table__row:hover .ct-table__row-action-cell {
  background: -webkit-linear-gradient(left, rgba(234, 241, 254, 0) 0, var(--surface-tint) 1.75rem);
  background: linear-gradient(to right, rgba(234, 241, 254, 0) 0, var(--surface-tint) 1.75rem);
}
.ct-table__row-action {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.12s ease-in-out;
  transition: opacity 0.12s ease-in-out;
}
.ct-table__row:hover .ct-table__row-action, .ct-table__row-action:focus-within {
  opacity: 1;
  pointer-events: auto;
}
div.custom-checkbox-for-filter-options div.checkbox-list__row {
  -webkit-box-align: start;
  align-items: start;
}
div.custom-checkbox-for-filter-options div.checkbox-list__row span {
  white-space: break-spaces;
}
div.loader-message-layout {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 1rem;
  background-color: #f5f5f5;
  height: 100%;
}
div.loader-message-layout span.spinning-loader {
  width: 2rem;
  height: 2rem;
}
div.loader-message-layout div.message {
  font-family: inherit;
  font-size: 1.75rem;
  line-height: 2.125rem;
  font-weight: 400;
  color: #0f0f0f;
}
div.no-data-container {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  width: 100%;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  background-color: #f5f5f5;
}
div.no-data-container__text {
  font-family: inherit;
  font-size: 1.75rem;
  line-height: 2.125rem;
  font-weight: 400;
  color: #0f0f0f;
}
div.pagination-table-container {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #1f1f1f;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.75rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
}
div.pagination-table-container .previous,
div.pagination-table-container .next {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.25rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  border: 1px solid #e6e6e6;
  border-radius: 0.25rem;
  padding: 0.5rem;
  max-width: -moz-fit-content;
  max-width: fit-content;
  height: 2rem;
}
div.pagination-table-container .previous:not(.disabled):hover,
div.pagination-table-container .next:not(.disabled):hover {
  cursor: pointer;
  background-color: #e6e6e6;
}
div.pagination-table-container .previous.disabled,
div.pagination-table-container .next.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
div.pagination-table-container .pages {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #1f1f1f;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  border: 1px solid #e6e6e6;
  border-radius: 0.25rem;
  padding: 0.5rem;
  min-width: 2rem;
  max-width: -moz-fit-content;
  max-width: fit-content;
  height: 2rem;
}
div.pagination-table-container .pages.active {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #1f1f1f;
}
div.pagination-table-container .pages:not(.active):hover {
  cursor: pointer;
  background-color: #e6e6e6;
}
.portal-dropdown {
  position: absolute;
  z-index: 9999;
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border: 1px solid #e5e7eb;
  border-radius: 0.3125rem;
  background: white;
  max-height: 10rem;
  overflow-x: hidden;
  overflow-y: auto;
}
.table-container {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: start;
  justify-content: flex-start;
  height: 100%;
}
.table-container .table {
  border: 1px solid #e6e6e6;
  border-top: none;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  overflow: auto;
}
.table-container .table-pagination {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  position: relative;
}
.table-container .pagination-details {
  display: -webkit-box;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-box-align: center;
  align-items: center;
  z-index: 40;
  height: 100%;
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #6b6b6b;
}

table {
  border-collapse: collapse;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  overflow: auto;
}
table thead tr {
  border: 1px solid #e6e6e6;
  border-bottom: none;
  border-top-right-radius: 0.5rem;
  border-top-left-radius: 0.5rem;
}
table thead td {
  border-bottom: 1px solid #e6e6e6;
  background-color: #f5f5f5;
  padding: 0.75rem 0.75rem;
  text-align: left;
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 700;
  color: #0f0f0f;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
table thead td .header-details {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
  gap: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
}
table thead td .header-details img:hover {
  cursor: pointer;
}
table thead td .header-details--icon svg {
  vertical-align: bottom;
}
table thead td:last-child {
  border-radius: 0 0.5rem 0 0;
}
table thead td:first-child {
  border-radius: 0.5rem 0 0 0;
}
table tbody td.table-cell {
  padding: 0.75rem 0.75rem;
  text-align: left;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  color: #0f0f0f;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  border-bottom: 1px solid #e6e6e6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
table tbody td.table-cell:hover {
  cursor: pointer;
}
table tbody td.table-cell.info__code, table tbody td.table-cell.info__authRequired {
  overflow: visible;
}
table tbody td.table-cell.icon__adminOptions {
  overflow: visible;
}
table tbody td.table-cell:has(.badge-group-cell) {
  overflow: visible;
}
table tbody td.table-cell.multiline__patientName:hover {
  cursor: pointer;
  text-decoration: underline;
}
table tbody td.table-cell.multiline__patientDetailsWithLeftBorder {
  padding: 0 1.5rem 0 0 !important;
}
table tbody td.table-cell.side-modal-icon__sideModalIcon {
  padding: 0 0 0 0.75rem !important;
}
table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 0.5rem;
}
table tbody tr:last-child td:last-child {
  border-radius: 0 0 0.5rem 0;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr {
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
table tbody tr:hover {
  cursor: pointer !important;
  background-color: #f5f5f5;
}
div.search-bar__container {
  display: -webkit-box;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}
div.search-bar__container input {
  border: 1px solid #e6e6e6;
  border-radius: 0.5rem;
  padding: 0.5rem;
  width: 100%;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  color: #0f0f0f;
}
div.search-bar__container input:focus {
  outline: none;
  border: 1px solid #0f0f0f; /* Change border style and color on focus */
}
div.search-bar__container svg {
  position: absolute;
  top: 0.65rem;
  right: 1rem;
}
div.search-bar__container svg:hover {
  cursor: pointer;
}
.tag-with-overflow {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 4px;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 0;
}
.tag-with-overflow__count {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.125rem;
  color: #0f0f0f;
  white-space: nowrap;
  cursor: pointer;
}
.tag-with-overflow__tooltip-tags {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  gap: 4px;
  max-width: 240px;
}
/* Document Summary View Styles */
.document-summary-cta-button {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-size: var(--font-size-sm);
  font-weight: 500;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  background-color: transparent;
  border: 2px solid var(--color-border);
  color: var(--color-text-primary);
  cursor: pointer;
}

.document-summary-cta-button:hover {
  background-color: #000000;
  color: #FFFFFF;
  border-color: #000000;
}
div.patient-eligibility-mapping--navigation div.horizontal-navigation-tab--truncate .horizontal-navigation-tab__item {
  -webkit-box-flex: 0;
  flex: none;
}
.patient-notification-view {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background-color: #ffffff;
}
.patient-notification-view__content {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.patient-notification-view__controls {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  background-color: #ffffff;
}
.patient-notification-view__table-scroll {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.patient-notification-view__results {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  padding-top: 1rem;
}

.action-items-cell {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 0.375rem;
}

.action-items-cell__btn {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 9999px;
  border: 1px solid transparent;
  cursor: pointer;
  color: #9ca3af;
  background-color: #f3f4f6;
  -webkit-transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
  transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}
.action-items-cell__btn:hover {
  background-color: #e5e7eb;
}
.action-items-cell__btn:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}
.action-items-cell__btn--active {
  color: #2563eb;
  background-color: #eff6ff;
  border-color: #bfdbfe;
}
.action-items-cell__btn--active:hover {
  background-color: #dbeafe;
}
.table-cell-btn__link {
  font-family: inherit;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  text-shadow: none;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: #0066ff;
}
.table-cell-btn__link:hover {
  background-color: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: #0066ff;
}
.table-cell-btn__link[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
  background-color: transparent;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: #a8a8a8;
}
.table-cell-btn__link:hover {
  cursor: pointer;
}

div.table-cell-text-with-context-menu {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

div.table-cell-multiline-text {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 100%;
  overflow: hidden;
}
div.table-cell-multiline-text__main {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  color: #0f0f0f;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
div.table-cell-multiline-text__secondary {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  color: #3d3d3d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

div.table-cell-colored-text {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: #0f0f0f;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

div.table-cell-badge,
div.table-cell-string-badge {
  max-width: -moz-fit-content;
  max-width: fit-content;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: inherit;
  font-size: 0.6875rem;
  line-height: 1.125rem;
  font-weight: 700;
  color: #0f0f0f;
  border-radius: 0.25rem;
  padding: 0.125rem 0.375rem;
}

div.error-modal-container {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: #0056d6;
}
/* ECOG Report Styles */
.ecog-report {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  font-family: "Lato", sans-serif;
}

.ecog-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.ecog-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

.ecog-icon {
  color: var(--color-text-muted);
  width: 1.25rem;
  height: 1.25rem;
}

.ecog-title-text {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.ecog-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  margin-left: 0.5rem;
  font-family: "Lato", sans-serif;
}

/* Disclaimer */
.ecog-disclaimer {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: #FEF3C7;
  border: 1px solid #F59E0B;
  border-radius: 0.375rem;
  margin-bottom: 1.5rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: #92400E;
  font-family: "Lato", sans-serif;
}

.ecog-disclaimer svg {
  flex-shrink: 0;
}

/* Section Styles */
.ecog-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.ecog-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.ecog-section-title {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 0.875rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  font-family: "Lato", sans-serif;
}

.ecog-section-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

/* Current ECOG Card */
.ecog-current-card {
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.25rem;
}

.ecog-current-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--color-border);
}

.ecog-score-display {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 1rem;
}

.ecog-score-circle {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  font-family: "Lato", sans-serif;
}

.ecog-score-info {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.25rem;
}

.ecog-score-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
  font-family: "Lato", sans-serif;
}

.ecog-score-date {
  font-size: var(--font-size-xs);
  font-weight: 500;
  color: var(--color-text-muted);
  margin: 0;
  font-family: "Lato", sans-serif;
}

.ecog-trend-badge {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: var(--font-size-xs);
  font-weight: 700;
  font-family: "Lato", sans-serif;
}

.ecog-trend-improving {
  background-color: #D1FAE5;
  color: #065F46;
}

.ecog-trend-declining {
  background-color: #FEE2E2;
  color: #991B1B;
}

.ecog-trend-stable {
  background-color: #E0E7FF;
  color: #4338CA;
}

.ecog-current-details {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
}

.ecog-detail-row {
  display: -webkit-box;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: baseline;
  align-items: baseline;
}

.ecog-detail-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  min-width: 130px;
  font-family: "Lato", sans-serif;
}

.ecog-detail-value {
  font-size: var(--font-size-xs);
  font-weight: 500;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  -webkit-box-flex: 1;
  flex: 1;
}

/* Trend Plot */
.ecog-trend-plot {
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}

.ecog-plot-container {
  width: 100%;
  max-width: 100%;
}

.ecog-plot-svg {
  display: block;
  margin: 0 auto;
}

/* Timeline */
.ecog-timeline {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0;
}

.ecog-timeline-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1.5rem;
  position: relative;
}

.ecog-timeline-marker {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  position: relative;
}

.ecog-timeline-dot {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: white;
  font-family: "Lato", sans-serif;
  z-index: 1;
  flex-shrink: 0;
}

.ecog-timeline-line {
  width: 2px;
  -webkit-box-flex: 1;
  flex: 1;
  background-color: var(--color-border);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.ecog-timeline-content {
  padding-bottom: 1.5rem;
}

.ecog-timeline-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 0.375rem;
}

.ecog-timeline-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.ecog-timeline-date {
  font-size: var(--font-size-xs);
  font-weight: 500;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

.ecog-timeline-assessor {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 0.375rem 0;
  font-family: "Lato", sans-serif;
}

.ecog-timeline-notes {
  font-size: var(--font-size-xs);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
}

/* ECOG Scale Table */
.ecog-scale-table {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
}

.ecog-scale-row {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  text-align: center;
}

.ecog-scale-score {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: white;
  font-family: "Lato", sans-serif;
  flex-shrink: 0;
}

.ecog-scale-description {
  font-size: var(--font-size-xs);
  font-weight: 500;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 768px) {
  .ecog-current-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    gap: 1rem;
  }
  .ecog-timeline-item {
    grid-template-columns: 60px 1fr;
    gap: 1rem;
  }
  .ecog-timeline-dot {
    width: 2rem;
    height: 2rem;
    font-size: var(--font-size-sm);
  }
  .ecog-timeline-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    gap: 0.25rem;
  }
  .ecog-detail-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 0.25rem;
  }
  .ecog-detail-label {
    min-width: auto;
  }
  .ecog-scale-table {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
}
/* Lab Results Report Styles */
.lab-results-report {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  font-family: "Lato", sans-serif;
}

.lab-results-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.lab-results-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

.lab-results-icon {
  color: var(--color-text-muted);
  width: 1.25rem;
  height: 1.25rem;
}

.lab-results-title-text {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.lab-results-subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-left: 0.5rem;
}

/* Test Information Section */
.lab-results-info {
  margin-bottom: 1.5rem;
}

.lab-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.lab-results-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lab-results-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0;
}

.lab-results-status-badge {
  margin-top: 0.25rem;
}

.lab-results-badge {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
  font-weight: 700;
  border-radius: 0.375rem;
}

.lab-results-badge-complete {
  background-color: #D1FAE5;
  color: #065F46;
}

/* Section Styles */
.lab-results-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.lab-results-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.lab-results-section-title {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 0.875rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  font-family: "Lato", sans-serif;
}

.lab-results-section-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

/* Lab Results Split Layout */
.lab-results-split-container {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

/*
 * Marker column height is bounded to the graph without JS: the wrapper is a grid
 * item whose only child is absolutely positioned, so it contributes no intrinsic
 * height. The grid row is therefore sized by the trend graph, and the wrapper
 * (stretched by the grid) hands that exact height to the absolute inner column.
 */
.lab-marker-column-wrap {
  position: relative;
  min-height: 0;
}

.lab-marker-column {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
}

.lab-marker-pane {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  min-height: 0;
}

.lab-marker-pane--evaluated {
  position: relative;
  -webkit-box-flex: 1;
  flex: 1 1 0;
}

.lab-not-evaluated-group {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  margin-top: 0.75rem;
  padding-top: 0.25rem;
  border-top: 1px solid var(--color-border);
}

.lab-not-evaluated-summary {
  padding: 0.5rem 0.25rem;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-xs);
  font-weight: 600;
  cursor: pointer;
}

.lab-not-evaluated-cards {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
  max-height: 180px;
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
}

.lab-marker-pane-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  padding: 0 0.25rem 0.5rem;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lab-marker-scroll-hint {
  color: #9ca3af;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  font-style: italic;
}

.lab-marker-pane-scroll {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  scrollbar-gutter: stable;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
}

.lab-marker-pane-scroll::-webkit-scrollbar {
  width: 8px;
}

.lab-marker-pane-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(100, 116, 139, 0.5);
  border-radius: 4px;
}

.lab-marker-pane-scroll::-webkit-scrollbar-thumb:hover {
  background-color: rgba(100, 116, 139, 0.75);
}

.lab-marker-pane-scroll::-webkit-scrollbar-track {
  background-color: rgba(148, 163, 184, 0.12);
  border-radius: 4px;
}

.lab-marker-scroll-cue {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.95)));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
}

.lab-marker-scroll-cue--visible {
  opacity: 1;
}

.lab-marker-scroll-cue::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 7px;
  height: 7px;
  margin-left: -4px;
  border-right: 2px solid #2563eb;
  border-bottom: 2px solid #2563eb;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.lab-panel-collapsed-content {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.lab-panel-collapsed-summary {
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background-color: #fafbfc;
  cursor: pointer;
}

.lab-panel-collapsed-summary .lab-results-section-title {
  display: -webkit-inline-box;
  display: inline-flex;
  margin: 0 0.75rem 0 0;
}

.lab-panel-collapsed-count {
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-xs);
  font-weight: 500;
}

.lab-panel-collapsed-content {
  padding: 0 1rem 0.5rem;
}

/* Trend Plot Area */
.lab-trend-plot-area {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  min-height: 400px;
  background-color: transparent;
  border-radius: 0.5rem;
}

.lab-result-card {
  background-color: white;
  border: 1px solid var(--color-border);
  border-radius: 0.625rem;
  padding: 0.5rem 0.75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(90px, auto);
  grid-template-rows: auto auto;
  gap: 0.375rem 0.75rem;
  -webkit-box-align: start;
  align-items: start;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  min-height: 80px;
  min-width: 0;
  cursor: pointer;
  text-align: left;
}

.lab-result-card--not-evaluated {
  grid-template-rows: auto;
  min-height: 44px;
  background-color: #f9fafb;
  cursor: default;
  opacity: 0.8;
}
.lab-result-card--not-evaluated .lab-card-header,
.lab-result-card--not-evaluated .lab-card-status-badge {
  grid-row: 1;
  align-self: center;
}

.lab-result-card:hover {
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.lab-result-card:disabled:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transform: none;
  transform: none;
}

.lab-result-card-selected {
  background-color: #eff6ff;
  -webkit-box-shadow: inset 3px 0 0 0 #2563eb, 0 4px 10px -3px rgba(37, 99, 235, 0.18), 0 1px 4px -1px rgba(37, 99, 235, 0.12);
  box-shadow: inset 3px 0 0 0 #2563eb, 0 4px 10px -3px rgba(37, 99, 235, 0.18), 0 1px 4px -1px rgba(37, 99, 235, 0.12);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.lab-result-card-selected:hover {
  -webkit-box-shadow: inset 3px 0 0 0 #2563eb, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: inset 3px 0 0 0 #2563eb, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.lab-result-card-selected .lab-card-name {
  color: #1d4ed8;
}

.lab-card-header {
  grid-column: 1;
  grid-row: 1;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}

.lab-card-name {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  overflow-wrap: anywhere;
}

.lab-card-trend-icon {
  color: var(--color-text-muted);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}

.lab-card-value {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  line-height: 1.2;
  text-align: center;
  align-self: center;
  justify-self: stretch;
}

.lab-card-not-measured {
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-muted);
  font-style: italic;
  text-align: center;
}

.lab-card-unit {
  grid-column: 1;
  grid-row: 2;
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  align-self: center;
}

.lab-card-status-badge {
  grid-column: 2;
  grid-row: 2;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 10px;
  font-weight: 600;
  width: 100%;
  max-width: 100%;
  align-self: center;
}

.lab-status--critical-low,
.lab-status--critical-high,
.lab-status--high {
  background-color: #fee2e2;
  color: #991b1b;
}

.lab-status--low {
  background-color: #fef3c7;
  color: #92400e;
}

.lab-status--normal {
  background-color: #d1fae5;
  color: #065f46;
}

.lab-status--unknown {
  background-color: #f3f4f6;
  color: #374151;
}

.lab-status--not-evaluated {
  background-color: #e5e7eb;
  color: #4b5563;
}

/* Trend Plot */
.trend-plot-container {
  padding: 0.5rem 1rem 1rem 1rem;
  background-color: transparent;
  width: 100%;
  align-self: flex-start;
}

.trend-plot-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

.trend-plot-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.trend-plot-subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

.trend-plot-hint {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0.35rem 0 0;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
  font-size: var(--font-size-xs);
  font-style: italic;
}

.trend-plot-hint-icon {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.trend-plot-side {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  align-self: flex-start;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.5rem;
}

.trend-range-controls {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.35rem;
}

.trend-range-picker {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.25rem;
}

.trend-range-presets {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.trend-range-preset {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  background: #ffffff;
  color: var(--color-text-secondary, #475569);
  font-family: "Lato", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.trend-range-preset:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.trend-range-preset:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}

.trend-range-preset--active {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #ffffff;
}

.trend-range-preset--active:hover {
  background: #1e40af;
  border-color: #1e40af;
  color: #ffffff;
}

.trend-range-trigger {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.35rem;
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.25rem 0.55rem;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  background: #ffffff;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease, border-color 0.12s ease;
  transition: background-color 0.12s ease, border-color 0.12s ease;
}

.trend-range-trigger:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.trend-range-trigger:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}

.trend-range-trigger-icon {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  color: #1d4ed8;
}

.trend-range-trigger-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trend-range-reset {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  -webkit-transition: background-color 0.12s ease, color 0.12s ease;
  transition: background-color 0.12s ease, color 0.12s ease;
}

.trend-range-reset:hover {
  background: #eff6ff;
  color: #1d4ed8;
}

.trend-range-reset:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}

.trend-range-popover {
  position: absolute;
  top: -webkit-calc(100% + 0.4rem);
  top: calc(100% + 0.4rem);
  right: 0;
  z-index: 20;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-width: 0;
  min-height: 0;
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  background: #ffffff;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.trend-plot-empty {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  min-height: 200px;
  padding: 1rem 2rem;
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.trend-plot-svg {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: auto;
}

.trend-plot-body {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: start;
  align-items: flex-start;
  gap: 1rem;
}

.trend-plot-chart {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-width: 0;
}

.trend-grid-line,
.trend-grid-line-vertical {
  stroke: #e5e7eb;
  stroke-width: 1;
  stroke-dasharray: 1 4;
  stroke-linecap: round;
}

.trend-axis-label {
  fill: #6b7280;
  font-size: 10px;
  text-anchor: end;
}

.trend-date-label {
  fill: #6b7280;
  font-size: 10px;
  text-anchor: middle;
}

.trend-axis-title {
  fill: #6b7280;
  font-size: 11px;
  font-weight: 600;
  text-anchor: middle;
  letter-spacing: 0.02em;
}

.trend-reference-band {
  fill: #d1fae5;
  opacity: 0.35;
}

.trend-reference-line {
  stroke: #10b981;
  stroke-width: 1;
  stroke-dasharray: 5 4;
}

.trend-data-line {
  fill: none;
  stroke: #2563eb;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.trend-point-hit-area {
  fill: transparent;
  stroke: none;
  cursor: crosshair;
}

.trend-crosshair {
  stroke: #9ca3af;
  stroke-width: 1;
  stroke-dasharray: 4 4;
  pointer-events: none;
}

.trend-outlier-pulse {
  pointer-events: none;
}

.trend-outlier-pulse--low {
  fill: #d97706;
}

.trend-outlier-pulse--high {
  fill: #dc2626;
}

.trend-data-point {
  fill: #2563eb;
  stroke: #fff;
  stroke-width: 2;
  pointer-events: none;
  -webkit-transition: r 0.15s ease;
  transition: r 0.15s ease;
}

.trend-data-point--low {
  fill: #d97706;
}

.trend-data-point--high {
  fill: #dc2626;
}

.trend-tooltip {
  pointer-events: none;
}

.trend-tooltip rect {
  fill: #fff;
  stroke: #d1d5db;
  stroke-width: 1.5;
  -webkit-filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
}

.trend-tooltip text {
  fill: #111827;
  font-size: 9px;
  text-anchor: middle;
  font-family: "Lato", sans-serif;
}

.trend-tooltip text.trend-tooltip-value {
  font-size: 11px;
  font-weight: 700;
  fill: #111827;
}

.trend-tooltip text.trend-tooltip-date {
  fill: #6b7280;
  font-size: 9px;
  font-weight: 500;
}

.trend-tooltip text.trend-tooltip-status {
  font-size: 9.5px;
  font-weight: 700;
  text-anchor: middle;
}

.trend-tooltip text.trend-tooltip-status--normal {
  fill: #059669;
}

.trend-tooltip text.trend-tooltip-status--low {
  fill: #b45309;
}

.trend-tooltip text.trend-tooltip-status--high {
  fill: #dc2626;
}

.trend-legend {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 0.25rem 0 0;
  padding: 0;
  list-style: none;
}

.trend-legend-item {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

.trend-legend-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

.trend-legend-swatch--normal {
  background: #d1fae5;
  border: 1px solid #10b981;
}

.trend-legend-swatch--low {
  background: #d97706;
}

.trend-legend-swatch--high {
  background: #dc2626;
}

.trend-data-table-wrap {
  position: relative;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  width: 190px;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  align-self: flex-start;
  overflow: hidden;
}

.trend-data-table-caption {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.375rem 0.625rem;
  background-color: var(--surface-subtle);
  border-bottom: 1px solid var(--color-border);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-text-muted);
}

.trend-data-scroll-hint {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  color: #9ca3af;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  font-style: italic;
}

.trend-data-table-scroll {
  max-height: 320px;
  overflow-y: auto;
}

.trend-data-table-scroll::-webkit-scrollbar {
  width: 8px;
}

.trend-data-table-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(100, 116, 139, 0.5);
  border-radius: 4px;
}

.trend-data-table-scroll::-webkit-scrollbar-thumb:hover {
  background-color: rgba(100, 116, 139, 0.75);
}

.trend-data-table-scroll::-webkit-scrollbar-track {
  background-color: rgba(148, 163, 184, 0.12);
  border-radius: 4px;
}

.trend-data-scroll-cue {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 34px;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.95)));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
}

.trend-data-scroll-cue--visible {
  opacity: 1;
}

.trend-data-scroll-cue::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 7px;
  width: 7px;
  height: 7px;
  margin-left: -4px;
  border-right: 2px solid #2563eb;
  border-bottom: 2px solid #2563eb;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.trend-data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.trend-data-table thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--surface-subtle);
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-size: 11px;
  color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border);
}

.trend-data-table td {
  padding: 0.5rem 0.75rem;
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-border);
}

.trend-data-table tbody tr:last-child td {
  border-bottom: none;
}

.trend-data-value-col {
  text-align: right !important;
  white-space: nowrap;
}

.trend-data-unit {
  color: var(--color-text-muted);
  font-size: 10px;
}

.trend-data-latest-row td {
  font-weight: 700;
}

.trend-data-table tbody tr {
  cursor: pointer;
}

.trend-data-table tbody tr:hover td {
  background-color: #f1f5f9;
}

.trend-data-table tbody tr:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: -2px;
}

.trend-data-table tbody tr.trend-data-row--active td {
  background-color: #eff6ff;
  font-weight: 700;
}

/* Trend Note */
.trend-note {
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: #FAFBFC;
  border-radius: 0.375rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

/* Trend Summary */
.trend-summary {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-radius: 0.375rem;
  border-left: 3px solid #3B82F6;
}

.trend-summary-list {
  margin: 0;
  padding-left: 1.25rem;
  list-style-type: disc;
}

.trend-summary-item {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  margin-bottom: 0.5rem;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
}

.trend-summary-item:last-child {
  margin-bottom: 0;
}

/* Clinical Interpretation */
.clinical-interpretation-box {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.25rem 1.5rem;
  font-family: "Lato", sans-serif;
}

.clinical-interpretation-title {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 1rem 0;
  font-family: "Lato", sans-serif;
}

.clinical-interpretation-list {
  margin: 0;
  padding-left: 1.5rem;
  list-style-type: disc;
  font-family: "Lato", sans-serif;
}

.clinical-interpretation-list li {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  margin-bottom: 0.75rem;
  line-height: 1.6;
  font-family: "Lato", sans-serif;
  font-weight: 400;
}

.clinical-interpretation-list li:last-child {
  margin-bottom: 0;
}

.clinical-interpretation-narrative {
  line-height: 1.6;
}

.lab-results-empty,
.lab-trend-placeholder {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

/* Lab Results Table */
.lab-results-table-wrapper {
  overflow-x: auto;
}

.lab-results-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--font-size-sm);
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  overflow: hidden;
}

.lab-results-table thead {
  background-color: var(--color-muted);
}

.lab-results-table th {
  padding: 0.875rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-border);
}

.lab-results-th-test {
  width: 40%;
}

.lab-results-th-value {
  width: 20%;
  text-align: right;
}

.lab-results-th-reference {
  width: 25%;
  text-align: center;
}

.lab-results-th-status {
  width: 15%;
  text-align: center;
}

.lab-results-table tbody tr {
  border-bottom: 1px solid var(--color-border);
}

.lab-results-table tbody tr:last-child {
  border-bottom: none;
}

.lab-results-table tbody tr:hover {
  background-color: var(--color-muted);
}

.lab-results-table td {
  padding: 0.875rem 1rem;
  font-size: var(--font-size-sm);
}

.lab-results-td-test {
  font-weight: 500;
  color: var(--color-text-primary);
}

.lab-results-td-value {
  text-align: right;
  color: var(--color-text-primary);
  font-weight: 500;
}

.lab-results-td-reference {
  text-align: center;
  color: var(--color-text-muted);
  font-weight: 400;
}

.lab-results-td-status {
  text-align: center;
  font-weight: 600;
}

.lab-results-critical {
  color: #DC2626 !important;
}

.lab-results-abnormal {
  color: #F59E0B !important;
}

.lab-results-normal {
  color: #059669 !important;
}

/* Clinical Notes Box */
.lab-results-notes-box {
  background-color: var(--color-muted);
  border-radius: 0.5rem;
  padding: 1rem;
}

.lab-results-note-item {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
}

.lab-results-note-item:last-child {
  margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .lab-results-split-container {
    grid-template-columns: 1fr;
  }
  .lab-marker-column {
    position: static;
  }
  .lab-marker-pane--evaluated {
    -webkit-box-flex: 0;
    flex: 0 0 auto;
  }
  .lab-marker-pane-scroll,
  .lab-not-evaluated-cards {
    max-height: none;
    overflow-y: visible;
  }
  .lab-trend-plot-area {
    min-height: 300px;
  }
  .trend-plot-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .trend-data-table-wrap {
    width: 100%;
  }
  .trend-data-table-scroll {
    max-height: none;
  }
}
@media (max-width: 768px) {
  .lab-results-grid {
    grid-template-columns: 1fr;
  }
  .lab-results-table {
    font-size: var(--font-size-xs);
  }
  .lab-results-table th,
  .lab-results-table td {
    padding: 0.5rem;
  }
}
/* Molecular Results Report Styles */
.molecular-results-report {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  font-family: "Lato", sans-serif;
}

.molecular-results-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.molecular-results-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

.molecular-results-icon {
  color: var(--color-text-muted);
  width: 1.25rem;
  height: 1.25rem;
}

.molecular-results-title-text {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.molecular-results-subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-left: 0.5rem;
}

/* Test Information Section */
.molecular-results-info {
  margin-bottom: 2rem;
}

.molecular-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.molecular-results-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.molecular-results-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0;
}

.molecular-results-status-badge {
  margin-top: 0.25rem;
}

.molecular-results-badge {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
  font-weight: 700;
  border-radius: 0.375rem;
}

.molecular-results-badge-complete {
  background-color: #D1FAE5;
  color: #065F46;
}

/* Section Styles */
.molecular-results-section {
  margin-bottom: 2rem;
}

.molecular-results-section:last-child {
  margin-bottom: 0;
}

.molecular-results-section-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.molecular-results-section-header .molecular-results-section-title {
  margin: 0;
}

.molecular-results-section-title {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 1rem 0;
}

.molecular-panel-badge {
  background-color: var(--color-muted);
  color: var(--color-text-primary);
  padding: 0.25rem 0.625rem;
  border-radius: 0.25rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
}

/* Gene Cards Grid */
.molecular-genes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 0;
}

.molecular-gene-card {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 0.75rem;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.molecular-gene-card:hover {
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.molecular-gene-card-detected {
  border: 2px solid #60A5FA;
  background-color: #FFFFFF;
}

.molecular-gene-card-not-evaluated {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
}

/* Detected Card Layout */
.molecular-gene-card-top {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 0.5rem;
}

.molecular-gene-name {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.molecular-gene-mutation {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.375rem;
  font-family: "Lato", sans-serif;
}

.molecular-gene-tier {
  font-size: var(--font-size-xs);
  color: #6B7280;
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: block;
}

.molecular-gene-status {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.375rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
}

.molecular-status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.molecular-status-dot-detected {
  background-color: #10B981;
}

.molecular-status-dot-not-detected {
  background-color: #DC2626;
}

.molecular-status-dot-not-evaluated {
  background-color: #9CA3AF;
}

.molecular-gene-status-detected {
  color: #10B981;
}

.molecular-gene-status-not-detected {
  color: #DC2626;
}

.molecular-gene-status-not-evaluated {
  color: #6B7280;
}

/* Simple Card Layout for Not Detected / Not Evaluated */
.molecular-gene-card-simple {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
}

/* Tags */
.molecular-tag {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.188rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 600;
  border-radius: 0.25rem;
  line-height: 1.2;
}

.molecular-tag-mutation {
  background-color: #DBEAFE;
  color: #1E40AF;
}

/* Biomarkers Section */
.molecular-biomarkers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  background-color: #FFFFFF;
  border: none;
  padding: 0;
}

.molecular-biomarker-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.5rem;
}

.molecular-biomarker-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.molecular-biomarker-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
}

/* Genomic Profile Summary */
.molecular-profile-summary {
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.25rem;
}

.molecular-profile-icon {
  color: var(--color-primary);
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.molecular-profile-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  line-height: 1.7;
  margin: 0;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .molecular-genes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .molecular-biomarkers-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .molecular-results-grid {
    grid-template-columns: 1fr;
  }
  .molecular-genes-grid {
    grid-template-columns: 1fr;
  }
}
/* Pathology Results Summary Styles */
.pathology-summary-container {
  font-family: "Lato", sans-serif;
}

.pathology-banner {
  background: -webkit-linear-gradient(315deg, #FEF3C7 0%, #FDE68A 100%);
  background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
}

.pathology-marker-positive {
  color: #22C55E;
}

.pathology-marker-negative {
  color: #EF4444;
}

.pathology-keyword-badge {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.pathology-keyword-badge:hover {
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pathology-feature-bullet {
  flex-shrink: 0;
}

.pathology-grid-section {
  border-top: 1px solid var(--color-border);
}

.pathology-diagnosis-text {
  line-height: 1.6;
  white-space: pre-line;
}

.pathology-narrative-section {
  margin-top: 1rem;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
}

.pathology-narrative-title {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-text);
}

.pathology-narrative-box {
  line-height: 1.6;
}
/* Per-document diff view — styled as a clean "report card" to match the
   diagnosis/details cards above it (generous whitespace, contained table,
   boxed narrative). Data + diff logic are schema-driven and unchanged; this
   file only governs presentation. */
.pdv-report {
  position: relative;
  background-color: var(--color-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  -webkit-box-shadow: var(--shadow-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.pdv-report::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-accent);
}

/* Header: icon + title + subtitle, divided from the body. */
.pdv-report-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--hairline);
}

.pdv-report-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  gap: 0.5rem;
}

.pdv-report-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-primary);
  align-self: center;
}

.pdv-report-title-text {
  font-size: var(--font-size-xl);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--value-ink);
}

.pdv-report-subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-left: 0.25rem;
}

/* Contained, bordered comparison table. */
.pdv-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
}

.pdv-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--font-size-sm);
  background-color: var(--color-card);
}

.pdv-th-field,
.pdv-th-doc {
  text-align: left;
  padding: 0.875rem 1rem;
  font-weight: 700;
  font-size: var(--font-size-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--label-ink);
  background-color: var(--surface-subtle);
  border-bottom: 2px solid var(--hairline);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  white-space: nowrap;
}

.pdv-th-field {
  left: 0;
  z-index: 3;
  min-width: 240px;
}

.pdv-th-doc {
  min-width: 200px;
}

/* Section grouping rows — subtle uppercase banners. */
.pdv-section-row .pdv-section-cell {
  padding: 0.625rem 1rem;
  font-size: var(--font-size-xs);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--color-primary);
  background-color: var(--surface-tint);
  border-bottom: 1px solid var(--hairline);
  -webkit-box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.6);
  box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.6);
}

.pdv-table tbody tr:hover .pdv-td-field,
.pdv-table tbody tr:hover .pdv-td-value {
  background-color: var(--color-muted);
}

.pdv-td-field {
  padding: 0.875rem 1rem;
  color: var(--label-ink);
  font-weight: 600;
  border-bottom: 1px solid var(--hairline);
  vertical-align: top;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
  background-color: var(--color-card);
  min-width: 240px;
}

.pdv-td-value {
  padding: 0.875rem 1rem;
  color: var(--value-ink);
  font-weight: 600;
  border-bottom: 1px solid var(--hairline);
  vertical-align: top;
  white-space: pre-wrap;
  word-break: break-word;
}

.pdv-table tbody tr:last-child .pdv-td-field,
.pdv-table tbody tr:last-child .pdv-td-value {
  border-bottom: none;
}

/* Highlight a value that changed from the previous (older) document. */
.pdv-changed {
  background-color: color-mix(in srgb, #f59e0b 14%, transparent);
  font-weight: 600;
}

/* Single-document view — sectioned "report" cards (reference study-info style). */
.pdv-sections {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  -webkit-box-align: start;
  align-items: start;
}

.pdv-section-box {
  background-color: var(--surface-subtle);
  border: 1px solid var(--hairline);
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
  -webkit-box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.5);
  box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.5);
  -webkit-transition: -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  transition: box-shadow 0.15s ease, transform 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
}

.pdv-section-box:hover {
  -webkit-box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.9), 0 4px 14px rgba(16, 24, 40, 0.08);
  box-shadow: inset 3px 0 0 rgba(33, 88, 232, 0.9), 0 4px 14px rgba(16, 24, 40, 0.08);
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

.pdv-section-box--wide {
  grid-column: 1/-1;
}

.pdv-section-box-title {
  font-size: var(--font-size-xs);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--label-ink);
  margin-bottom: 0.75rem;
}

.pdv-fields {
  margin: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.625rem;
}

.pdv-field {
  display: grid;
  grid-template-columns: minmax(140px, 38%) 1fr;
  gap: 0.75rem;
  -webkit-box-align: baseline;
  align-items: baseline;
}

.pdv-field-label {
  font-size: var(--font-size-sm);
  color: var(--label-ink);
  font-weight: 600;
}

.pdv-field-value {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--value-ink);
  font-weight: 700;
  white-space: pre-wrap;
  word-break: break-word;
}

.pdv-section-single-value {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.4;
}

/* Tabular array panels (lab results, medication lists, …). */
.pdv-panel:hover {
  -webkit-transform: none;
  transform: none;
}

.pdv-panel-scroll {
  overflow-x: auto;
  border: 1px solid var(--hairline);
  border-radius: 0.5rem;
  background-color: var(--color-card);
}

.pdv-panel-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--font-size-sm);
}
.pdv-panel-table th {
  text-align: left;
  padding: 0.625rem 0.875rem;
  font-size: var(--font-size-xs);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--label-ink);
  background: -webkit-gradient(linear, left top, left bottom, from(#f8fafc), to(#eef2f7));
  background: -webkit-linear-gradient(top, #f8fafc 0%, #eef2f7 100%);
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border-bottom: 2px solid var(--hairline);
  white-space: nowrap;
}
.pdv-panel-table td {
  padding: 0.625rem 0.875rem;
  color: var(--value-ink);
  font-weight: 600;
  border-bottom: 1px solid var(--hairline);
  vertical-align: middle;
  white-space: nowrap;
}
.pdv-panel-table tbody tr:nth-child(even) td {
  background-color: #fbfcfe;
}
.pdv-panel-table tbody tr:last-child td {
  border-bottom: none;
}
.pdv-panel-table tbody tr:hover td {
  background-color: var(--surface-tint);
}

.pdv-status-pill {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  font-size: var(--font-size-xs);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .pdv-sections {
    grid-template-columns: 1fr;
  }
  .pdv-field {
    grid-template-columns: 1fr;
    gap: 0.125rem;
  }
}
/* Narrative + empty-state sections. */
.pdv-section {
  margin-top: 0;
}

.pdv-section-with-separator {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

.pdv-section-title {
  font-size: var(--font-size-lg);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--value-ink);
  margin: 0 0 0.875rem 0;
}

.pdv-narrative-box {
  background: var(--color-card);
  border: 1px solid var(--hairline);
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  line-height: 1.6;
}

.pdv-narrative-text {
  font-size: var(--font-size-sm);
  line-height: 1.6;
  color: var(--color-text-primary);
}
/* Prescriptions Report Styles */
.prescriptions-report {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  font-family: "Lato", sans-serif;
}

.prescriptions-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.prescriptions-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

.prescriptions-icon {
  color: var(--color-text-muted);
  width: 1.25rem;
  height: 1.25rem;
}

.prescriptions-title-text {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.prescriptions-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  margin-left: 0.5rem;
  font-family: "Lato", sans-serif;
}

/* Prescription Information Section */
.prescriptions-info {
  margin-bottom: 1.5rem;
}

.prescriptions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.prescriptions-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: "Lato", sans-serif;
}

.prescriptions-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0;
  font-family: "Lato", sans-serif;
}

/* Section Styles */
.prescriptions-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.prescriptions-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.prescriptions-section-title {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 0.875rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  font-family: "Lato", sans-serif;
}

.prescriptions-section-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

/* Regimen Card */
.regimen-card {
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.25rem;
}

.regimen-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.regimen-name-group {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.25rem;
}

.regimen-name {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text-primary);
  margin: 0;
  font-family: "Lato", sans-serif;
}

.regimen-intent {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

.regimen-status-badge {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}

.status-badge {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
  font-weight: 700;
  border-radius: 0.375rem;
  font-family: "Lato", sans-serif;
}

.status-badge-active {
  background-color: #D1FAE5;
  color: #065F46;
}

.status-badge-completed {
  background-color: #E0E7FF;
  color: #4338CA;
}

.status-badge-paused {
  background-color: #FEF3C7;
  color: #92400E;
}

.regimen-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.regimen-detail-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.25rem;
}

.regimen-detail-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: "Lato", sans-serif;
}

.regimen-detail-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

.prescriptions-table-wrap {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
}

.prescriptions-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: var(--font-size-xs);
}

.prescriptions-table th {
  padding: 0.5rem 0.625rem;
  text-align: left;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--color-text-muted);
  background-color: var(--color-muted);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.prescriptions-table td {
  padding: 0.5rem 0.625rem;
  vertical-align: middle;
  color: var(--color-text-primary);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  overflow-wrap: anywhere;
}

.prescriptions-table th:nth-child(1) {
  width: 20%;
}

.prescriptions-table th:nth-child(2) {
  width: 28%;
}

.prescriptions-table th:nth-child(3) {
  width: 18%;
}

.prescriptions-table th:nth-child(4) {
  width: 22%;
}

.prescriptions-table th:nth-child(5) {
  width: 12%;
}

.prescriptions-table th:last-child,
.prescriptions-table td:last-child {
  border-right: none;
}

.prescriptions-table tbody tr:last-child td {
  border-bottom: none;
}

.prescriptions-table tbody tr:nth-child(even) {
  background-color: var(--color-muted);
}

.prescription-medication-name,
.prescription-quantity {
  font-weight: 700;
}

.prescription-generic {
  color: var(--color-text-secondary) !important;
  font-style: italic;
}

.prescription-refills {
  display: block;
  margin-top: 0.2rem;
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}

.prescription-status {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: var(--font-size-xs);
  font-weight: 600;
}

.prescription-status--active {
  color: #065f46;
  background-color: #d1fae5;
  border: 1px solid #6ee7b7;
}

.prescription-status--discontinued {
  color: #991b1b;
  background-color: #fee2e2;
  border: 1px solid #fca5a5;
}

/* Medications List */
.medications-list {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 1rem;
}

/* Medication Card */
.medication-card {
  background-color: #FAFBFC;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  overflow: hidden;
  -webkit-transition: -webkit-box-shadow 0.2s ease;
  transition: -webkit-box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.medication-card:hover {
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Card Header */
.medication-card-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  align-items: flex-start;
  padding: 1rem 1.25rem;
  background-color: white;
}

.medication-card-header-clickable {
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.medication-card-expanded .medication-card-header-clickable {
  border-bottom: 1px solid var(--color-border);
}

.medication-card-header-clickable:hover {
  background-color: #F9FAFB;
}

.medication-name-group {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.375rem;
  -webkit-box-flex: 1;
  flex: 1;
}

.medication-name {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text-primary);
  margin: 0;
  font-family: "Lato", sans-serif;
}

.medication-instructions-preview {
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-muted);
  font-family: "Lato", sans-serif;
}

/* Medication Tags */
.medication-tags {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.25rem;
}

.medication-tag {
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0.1875rem 0.5rem;
  font-size: 10px;
  font-weight: 600;
  border-radius: 0.25rem;
  background-color: #F3F4F6;
  color: #374151;
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  border: 1px solid #D1D5DB;
}

.medication-expand-icon {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  color: var(--color-text-muted);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  margin-left: 1rem;
}

.medication-card-header-clickable:hover .medication-expand-icon {
  color: var(--color-text-primary);
}

/* Card Body - Simple Details */
.medication-card-body {
  padding: 1.25rem;
}

.medication-details-simple {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
}

.medication-detail-row {
  display: -webkit-box;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: baseline;
  align-items: baseline;
}

.medication-detail-label-inline {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text-muted);
  min-width: 100px;
  font-family: "Lato", sans-serif;
}

.medication-detail-value-inline {
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
  -webkit-box-flex: 1;
  flex: 1;
}

.medication-quantity {
  font-weight: 600;
  color: var(--color-text-primary);
  font-family: "Lato", sans-serif;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .prescriptions-grid {
    grid-template-columns: 1fr;
  }
  .regimen-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 0.75rem;
  }
  .regimen-details {
    grid-template-columns: 1fr;
  }
  .medication-card-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 0.75rem;
  }
  .medication-expand-icon {
    align-self: flex-end;
    margin-left: 0;
  }
  .medication-detail-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 0.25rem;
  }
  .medication-detail-label-inline {
    min-width: auto;
  }
}
/* Radiology Report Styles */
.radiology-report {
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.radiology-report-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.radiology-report-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
}

.radiology-report-icon {
  color: var(--color-text-muted);
  width: 1.25rem;
  height: 1.25rem;
}

.radiology-report-title-text {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.radiology-report-subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-left: 0.5rem;
}

.radiology-view-source-btn {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background-color: transparent;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  cursor: pointer;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

.radiology-view-source-btn:hover {
  background-color: var(--color-muted);
}

/* Study Information Section */
.radiology-study-info {
  margin-bottom: 1.5rem;
}

.radiology-study-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.radiology-study-label {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 0 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.radiology-study-value {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0;
}

/* Section Styles */
.radiology-section {
  margin-bottom: 1.5rem;
}

.radiology-section:last-child {
  margin-bottom: 0;
}

.radiology-section-title {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 0.875rem 0;
}

/* Impression Box */
.radiology-impression-box {
  background-color: #FAFBFC;
  border-radius: 0.5rem;
  padding: 1rem 1rem 1rem 0.5rem;
}

.radiology-impression-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.radiology-impression-item {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0 0 0.75rem 0;
  line-height: 1.6;
  padding-left: 0.25rem;
}

.radiology-impression-item:last-child {
  margin-bottom: 0;
}

.radiology-impression-item::marker {
  color: var(--color-primary);
}

/* RECIST Measurements */
.radiology-recist-container {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}

.radiology-recist-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border);
}

.radiology-treatment-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: #7C3AED;
}

.radiology-treatment-date {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.radiology-table-wrapper {
  overflow-x: auto;
}

.radiology-recist-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--font-size-sm);
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  overflow: hidden;
}

.radiology-recist-table thead {
  background-color: #FAFBFC;
}

.radiology-recist-table th {
  padding: 0.875rem 1rem;
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-border);
}

.radiology-th-lesion {
  width: 45%;
  text-align: left;
}

.radiology-th-measurement {
  width: 18%;
  text-align: right;
}

.radiology-th-measurement > div {
  text-align: right;
}

.radiology-th-change {
  width: 15%;
  text-align: right;
}

.radiology-th-change > div {
  text-align: right;
}

.radiology-th-subtitle {
  font-size: var(--font-size-xs);
  font-weight: 400;
  color: var(--color-text-muted);
  margin-top: 0.25rem;
  display: block;
}

.radiology-recist-table tbody tr {
  border-bottom: 1px solid var(--color-border);
}

.radiology-recist-table tbody tr:last-child {
  border-bottom: none;
}

.radiology-recist-table tbody tr:hover {
  background-color: var(--color-muted);
}

.radiology-recist-table td {
  padding: 0.875rem 1rem;
  font-size: var(--font-size-sm);
}

.radiology-td-lesion {
  font-weight: 400;
  color: var(--color-text-primary);
  text-align: left;
}

.radiology-td-measurement {
  text-align: right;
  color: var(--color-text-primary);
  font-weight: 400;
}

.radiology-td-change {
  text-align: right;
  font-weight: 600;
  color: var(--color-text-primary);
}

.radiology-change-negative {
  color: #059669 !important;
}

.radiology-change-positive {
  color: #DC2626 !important;
}

/* Sum Row */
.radiology-sum-row {
  background-color: #FAFBFC;
  font-weight: 700;
}

.radiology-sum-row td {
  border-top: 2px solid var(--color-border);
  padding: 0.875rem 0.75rem;
}

.radiology-td-sum-label {
  font-weight: 700;
  color: var(--color-text-primary);
}

.radiology-td-sum-value {
  text-align: right;
  font-weight: 700;
  color: var(--color-text-primary);
}

.radiology-td-sum-change {
  text-align: right;
  font-weight: 700;
  font-size: var(--font-size-base);
}

/* Additional Findings Box */
.radiology-findings-box {
  background-color: #FAFBFC;
  border-radius: 0.5rem;
  padding: 1rem 1rem 1rem 0.5rem;
}

.radiology-findings-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.radiology-finding-item {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0 0 0.75rem 0;
  line-height: 1.6;
  padding-left: 0.25rem;
}

.radiology-finding-item:last-child {
  margin-bottom: 0;
}

.radiology-finding-item::marker {
  color: var(--color-primary);
}

/* Comparative Analysis Section */
.radiology-section-with-separator {
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

.radiology-comparative-box {
  background-color: #FAFBFC;
  border-radius: 0.5rem;
  padding: 1rem 1rem 1rem 0.5rem;
}

.radiology-comparative-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.radiology-comparative-item {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  margin: 0 0 0.75rem 0;
  line-height: 1.6;
  padding-left: 0.25rem;
}

.radiology-comparative-item:last-child {
  margin-bottom: 0;
}

.radiology-comparative-item::marker {
  color: var(--color-primary);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .radiology-study-grid {
    grid-template-columns: 1fr;
  }
  .radiology-recist-table {
    font-size: var(--font-size-xs);
  }
  .radiology-recist-table th,
  .radiology-recist-table td {
    padding: 0.5rem;
  }
  .radiology-th-lesion {
    width: auto;
  }
}
/* Compact Patient Header Styles */
.compact-patient-header {
  background-color: var(--color-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: visible;
  -webkit-box-shadow: var(--shadow-card);
  box-shadow: var(--shadow-card);
  margin-bottom: 1.5rem;
}

/* Top Banner - Patient Identity (matches the TNM classification card fill) */
.patient-id-banner {
  background: var(--surface-subtle);
  border-bottom: 1px solid var(--hairline);
  padding: 1rem 1.5rem;
  color: var(--color-text-primary);
}

.patient-id-primary {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-size: var(--font-size-sm);
}

.patient-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--gradient-avatar);
  color: white;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: var(--font-size-base);
  font-weight: 800;
  letter-spacing: 0.02em;
  flex-shrink: 0;
  -webkit-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18), 0 4px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18), 0 4px 10px rgba(0, 0, 0, 0.2);
}

.patient-name {
  font-size: var(--font-size-lg);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
}

.patient-mrn {
  font-weight: 600;
  color: var(--color-text-secondary);
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
}

.separator {
  color: var(--color-text-muted);
}

.patient-dob,
.patient-gender,
.patient-room {
  font-weight: 500;
  color: var(--color-text-secondary);
}

/* Details Grid */
.patient-details-grid {
  padding: 1rem 1.5rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.75rem;
  overflow: visible;
}

.detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr 1fr;
  gap: 0.625rem 1.5rem;
  -webkit-box-align: start;
  align-items: flex-start;
  overflow: visible;
}

.detail-item {
  position: relative;
  display: -webkit-box;
  display: flex;
  gap: 0.5rem;
  font-size: var(--font-size-sm);
  -webkit-box-align: baseline;
  align-items: baseline;
  min-width: 0;
  overflow: visible;
}

.detail-label {
  font-weight: 700;
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--label-ink);
  white-space: nowrap;
  flex-shrink: 0;
}

.detail-value {
  font-weight: 600;
  color: var(--value-ink);
  overflow-wrap: break-word;
  word-break: break-word;
}

.detail-value-wrapper {
  position: relative;
  -webkit-box-flex: 1;
  flex: 1;
  cursor: pointer;
}

.detail-item-upcoming-orders {
  margin-left: 3rem;
}

.detail-item-preferred-language {
  margin-left: 3rem;
}

.detail-item-preferred-location {
  margin-left: 3rem;
}

.copay-text {
  color: var(--color-text-muted);
  font-weight: 500;
}

/* Hoverable Items */
.detail-hover {
  cursor: pointer;
}

.detail-clickable {
  color: var(--color-text-primary);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}

.detail-clickable:hover {
  color: var(--color-text-primary);
}

/* Dropdown Styles */
.detail-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  background-color: white;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  -webkit-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  min-width: 300px;
  max-width: 500px;
  max-height: 400px;
  overflow-y: auto;
  -webkit-animation: dropdown-appear 0.15s ease-out;
  animation: dropdown-appear 0.15s ease-out;
}

@-webkit-keyframes dropdown-appear {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes dropdown-appear {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.dropdown-item {
  padding: 0.625rem 1rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-border);
}

.dropdown-item:last-child {
  border-bottom: none;
}

.dropdown-item:hover {
  background-color: var(--color-muted);
}

/* Diagnoses Dropdown */
.diagnoses-dropdown {
  min-width: 450px;
  max-width: 600px;
}

.diagnoses-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
  -webkit-box-align: start;
  align-items: start;
  padding: 0.625rem 1rem;
}

.diag-code {
  font-weight: 600;
  color: #0066CC;
  font-size: var(--font-size-sm);
}

.allergy-type {
  color: var(--color-text-muted);
}

.allergy-severity {
  color: var(--color-text-secondary);
  font-weight: 600;
}

.dropdown-link {
  display: block;
  padding: 0.625rem 1rem;
  font-size: var(--font-size-sm);
  color: #0066CC;
  text-decoration: none;
  border-top: 1px solid var(--color-border);
  background-color: #F8F9FA;
}

.dropdown-link:hover {
  background-color: #E9ECEF;
  text-decoration: underline;
}

.unscheduled-orders {
  color: #92400E;
  background-color: #FEF3C7;
  font-weight: 500;
}

/* Responsive */
@media (max-width: 1200px) {
  .detail-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .detail-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .patient-id-primary {
    font-size: var(--font-size-xs);
  }
  .patient-name {
    font-size: var(--font-size-sm);
  }
  .detail-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .detail-item {
    font-size: var(--font-size-xs);
  }
  .detail-dropdown,
  .diagnoses-dropdown {
    min-width: 250px;
    max-width: 90vw;
  }
}
/* Diagnosis Section Styles */
.diagnosis-section {
  position: relative;
  background-color: var(--color-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 1.5rem 1.5rem 1.5rem;
  margin-bottom: 1.5rem;
  -webkit-box-shadow: var(--shadow-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

/* Brand accent bar along the top edge of the card. */
.diagnosis-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-accent);
}

.diagnosis-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  align-items: flex-start;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--hairline);
}

.diagnosis-title-group {
  -webkit-box-flex: 1;
  flex: 1;
}

.diagnosis-title {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--value-ink);
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.02em;
}

.diagnosis-subtitle {
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-muted);
  margin: 0;
}

.diagnosis-code-chip {
  display: inline-block;
  font-family: var(--font-mono, monospace);
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-text-secondary, #475569);
  background: var(--color-muted, #f1f5f9);
  border: 1px solid var(--color-border, #e2e8f0);
  border-radius: 4px;
  padding: 1px 6px;
  margin-right: 0.5rem;
}

.diagnosis-badges {
  display: -webkit-box;
  display: flex;
  gap: 0.75rem;
}

.diagnosis-badge {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  min-width: 76px;
  -webkit-box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
}

.stage-badge {
  background: -webkit-linear-gradient(315deg, #fee2e2 0%, #fecdd3 100%);
  background: linear-gradient(135deg, #fee2e2 0%, #fecdd3 100%);
  border: 1px solid rgba(190, 18, 60, 0.28);
}

.line-badge {
  background: -webkit-linear-gradient(315deg, #dbeafe 0%, #cfe0fd 100%);
  background: linear-gradient(135deg, #dbeafe 0%, #cfe0fd 100%);
  border: 1px solid rgba(30, 64, 175, 0.28);
}

.badge-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--label-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.125rem;
}

.badge-value {
  font-size: var(--font-size-sm);
  font-weight: 800;
  color: var(--value-ink);
}

.diagnosis-details-grid {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 0.875rem;
  -webkit-box-align: start;
  align-items: start;
}

.diagnosis-detail-card {
  background-color: var(--surface-subtle);
  border: 1px solid var(--hairline);
  border-radius: 0.625rem;
  padding: 0.875rem 1rem;
  -webkit-transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
}

.diagnosis-detail-card:hover {
  border-color: rgba(33, 88, 232, 0.4);
  -webkit-box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08);
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08);
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

/* TNM Classification - 2 columns (increased) */
.diagnosis-detail-card:nth-child(1) {
  grid-column: span 2;
}

/* Metastatic Sites - 4 columns (same) */
.diagnosis-detail-card:nth-child(2) {
  grid-column: span 4;
}

/* ECOG Status - 1 column (more compact) */
.diagnosis-detail-card:nth-child(3) {
  grid-column: span 1;
  padding: 0.875rem 0.5rem;
  text-align: center;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
}

/* Disease Status - 2 columns */
.diagnosis-detail-card:nth-child(4) {
  grid-column: span 2;
}

.detail-card-label {
  font-size: var(--font-size-xs);
  font-weight: 700;
  color: var(--label-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
}

.detail-card-value {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--value-ink);
  line-height: 1.4;
}

.metastatic-sites {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  -webkit-box-align: center;
  align-items: center;
}

.metastatic-site-pill {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  padding: 0.1875rem 0.5rem;
  background-color: var(--color-clinical-critical-light);
  border-radius: 0.25rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-clinical-critical-dark);
  white-space: nowrap;
  line-height: 1.3;
}

.no-metastasis-pill {
  background-color: #d1fae5;
  color: #065f46;
}

/* Responsive */
@media (max-width: 1200px) {
  .diagnosis-details-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .diagnosis-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 1rem;
  }
  .diagnosis-badges {
    width: 100%;
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .diagnosis-details-grid {
    grid-template-columns: 1fr;
  }
  .diagnosis-title {
    font-size: var(--font-size-base);
  }
}
/* Multiple Primary Malignancy — per-cancer cards (horizontally scrollable). */
.mpm-count-badge {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  margin-left: 0.75rem;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  background-color: #64748b;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  vertical-align: middle;
}

.mpm-cards {
  display: -webkit-box;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding: 0.25rem 0 0.5rem;
  margin-top: 0.75rem;
}

.mpm-card {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  min-width: 320px;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--color-card);
}

.mpm-card-head {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 0.875rem;
  background-color: var(--color-surface, #f8fafc);
  border-bottom: 1px solid var(--color-border);
}

.mpm-card-name {
  font-weight: 700;
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
}

.mpm-card-date {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.mpm-card-body {
  padding: 0.6rem 0.875rem;
}

.mpm-card-stage {
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  margin-bottom: 0.25rem;
}

.mpm-card-histology {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}
.ct-filter-panel .checkbox-list__box--checked {
  background-color: #2563eb;
  border-color: #2563eb;
}
.ct-filter-panel .checkbox-list__label {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.single-patient-collapsable-card {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 220ms ease;
  transition: grid-template-rows 220ms ease;
}
.single-patient-collapsable-card--expanded {
  grid-template-rows: 1fr;
}
.single-patient-collapsable-card--expanded .single-patient-collapsable-card--container {
  opacity: 1;
  padding: 1rem 1.5rem;
}

.single-patient-collapsable-card--container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem 3.5rem;
  padding: 0 1.5rem;
  overflow: hidden;
  min-height: 0;
  opacity: 0;
  -webkit-transition: opacity 180ms ease, padding 220ms ease;
  transition: opacity 180ms ease, padding 220ms ease;
}

.single-patient-collapsable-card__field {
  min-width: 0;
}
.clinical-trials-details span.tag__label {
  font-family: Lato;
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.125rem;
}
.accordion-action-btn svg {
  -webkit-transition: -webkit-transform 200ms ease;
  transition: -webkit-transform 200ms ease;
  transition: transform 200ms ease;
  transition: transform 200ms ease, -webkit-transform 200ms ease;
}
.accordion-action-btn.accordion-action-btn--expanded svg {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.status-history-timeline {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  padding: 0.75rem 1rem 1rem;
}

.status-history-timeline__item {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  -webkit-column-gap: 0.75rem;
  -moz-column-gap: 0.75rem;
  column-gap: 0.75rem;
}

.status-history-timeline__marker {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  min-height: 100%;
}

.status-history-timeline__dot {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
  border-radius: 9999px;
  border: 0.1875rem solid #3d3d3d;
  background-color: #ffffff;
  margin-top: 0.3rem;
}

.status-history-timeline__line {
  width: 0;
  -webkit-box-flex: 1;
  flex: 1;
  min-height: 1.5rem;
  margin-top: 0.25rem;
  border-left: 1px dashed #c7c7c7;
}

.status-history-timeline__content {
  padding-bottom: 1.5rem;
  min-width: 0;
}

.status-history-timeline__meta {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: #6b6b6b;
}

.status-history-timeline__actor {
  flex-shrink: 0;
  max-width: 45%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.status-history-timeline__title {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.25rem;
  color: #0f0f0f;
}
.status-history-timeline__title strong {
  font-weight: 700;
}

.status-history-timeline__comment {
  margin-top: 0.5rem;
  border-radius: 0.375rem;
  background-color: #f5f5f5;
  padding: 0.5rem 0.625rem;
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #3d3d3d;
}
div.patient-chat-footer div.tag-filter-bar__tags {
  overflow-x: hidden;
  flex-wrap: wrap;
}
td.table-cell[class*=multiline-cell-with-copy] {
  padding: 0 0.375rem !important;
}
td.table-cell[class*=multiline-cell-with-copy] span.multi-line-text-with-copy__secondary {
  max-width: 100% !important;
  width: auto !important;
}
td.table-cell[class*=multiline-cell-with-left-border] {
  padding: 0 0.75rem 0 0 !important;
}
td.table-cell[class*=multiline-cell-with-left-border] span.multi-line-text-with-copy__secondary {
  max-width: 100% !important;
  width: auto !important;
}

.table-cell-multiline-text span.multi-line-text-with-copy__primary {
  color: var(--primary-text-color, inherit);
}
.table-cell-multiline-text--colored-primary span.multi-line-text-with-copy__primary {
  font-weight: 600;
}
.multi-line-text-with-copy {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  justify-content: space-between;
  padding: 0.25rem 0.5rem;
  font-family: "Lato", sans-serif;
}
.multi-line-text-with-copy__primary {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 400;
  color: #0f0f0f;
}
.multi-line-text-with-copy__primary--truncate {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.multi-line-text-with-copy__secondary-row {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
}
.multi-line-text-with-copy__secondary {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  color: #5c5c5c;
  letter-spacing: 0.0125rem;
  white-space: nowrap;
}
.multi-line-text-with-copy__copy-btn {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 0.125rem;
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
}
.multi-line-text-with-copy__copy-btn:hover {
  opacity: 0.7;
}
.multi-line-text-with-copy__copy-btn:focus-visible {
  outline: 2px solid #1db954;
  outline-offset: 1px;
}
.multi-line-text-with-copy__copy-btn:active {
  opacity: 0.5;
}
.multi-line-text-with-copy__copied {
  font-family: inherit;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  color: #007028;
  margin-left: 0.25rem;
  white-space: nowrap;
}
.table-cell-tag-with-overflow span.tag__label {
  font-weight: 400 !important;
  color: #0f0f0f !important;
}

td.table-cell[class*=tag-with-overflow] {
  overflow: visible !important;
}