/* Final cascade owner for the eight-page 2026-08-20 repair. */
html.page-risk body.page-risk .risk-model-performance-card .risk-performance-progress-stack,
html.page-risk body.page-risk .risk-model-performance-card .risk-performance-progress-group,
html.page-risk body.page-risk .risk-model-performance-card .risk-performance-progress-track {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
html.page-risk body.page-risk .risk-model-performance-card .risk-performance-progress-stack {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}
html.page-risk body.page-risk .risk-model-performance-card .risk-performance-progress-fill {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Match the 11px device-record reference typography. */
html.page-risk body.page-risk .risk-people-table-head th,
html.page-risk body.page-risk .risk-people-track td,
html.page-risk body.page-risk .risk-ai-grid [data-live^="recommendation"] {
  font-size: 11px !important;
}

/* Realtime uses the same carousel mechanics and 44px record rhythm as risk. */
html.page-realtime body.page-realtime .realtime-event-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
html.page-realtime body.page-realtime .realtime-event-viewport {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  contain: paint !important;
  isolation: isolate !important;
}
html.page-realtime body.page-realtime .realtime-event-viewport table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
html.page-realtime body.page-realtime .realtime-event-table-head {
  display: table-header-group !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  background: #122040 !important;
}
html.page-realtime body.page-realtime .realtime-event-table-head th {
  position: relative !important;
  z-index: 5 !important;
  background: #122040 !important;
}
html.page-realtime body.page-realtime .realtime-event-track {
  display: table-row-group !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  --dashboard-carousel-step: 44px;
  will-change: transform !important;
}
html.page-realtime body.page-realtime .realtime-event-track > tr,
html.page-realtime body.page-realtime .event-table .realtime-event-track > tr {
  display: table-row !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
}
html.page-realtime body.page-realtime .realtime-event-track td {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}
html.page-realtime body.page-realtime .realtime-event-track td:first-child,
html.page-realtime body.page-realtime .realtime-event-track .realtime-alert-type {
  font-size: 12px !important;
}
html.page-realtime body.page-realtime .realtime-event-track .realtime-alert-type {
  line-height: 1.4 !important;
  font-weight: 400 !important;
}
html.page-realtime body.page-realtime .realtime-event-track .realtime-alert-status {
  white-space: nowrap !important;
}

/* All population header legends share the risk overall-risk legend scale. */
html.page-population body.page-population .population-title-guide,
html.page-population body.page-population .population-title-guide .chart-header-legend-item {
  font-size: 11px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
html.page-population body.page-population .population-title-guide .chart-header-legend-dot {
  width: 8px !important;
  min-width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
}

/* Match family record typography with weekly vitals warnings. */
html.page-family body.page-family .family-reminder-card .reminder-title,
html.page-family body.page-family .plan-business-item strong {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--dashboard-heading) !important;
}
html.page-family body.page-family .family-reminder-card .reminder-desc,
html.page-family body.page-family .plan-business-item span {
  font-size: 12px !important;
  margin-top: 2px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: var(--dashboard-text-muted) !important;
}
/* Final specificity owner: match energy suggestion title/detail typography. */
html.page-family.page-family.page-family body.page-family.page-family.page-family .family-reminder-card .family-reminders-static .reminder-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--dashboard-heading) !important;
}
html.page-family.page-family.page-family body.page-family.page-family.page-family .family-reminder-card .family-reminders-static .reminder-desc {
  font-size: 12px !important;
  margin-top: 2px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--dashboard-text-muted) !important;
}

/* Prevent the two health-score legend labels from shrinking or ellipsizing. */
html.page-individual-vitals body.page-individual-vitals .health-score-card .card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  overflow: visible !important;
}
html.page-individual-vitals body.page-individual-vitals [data-header-legend="health-score"] {
  display: flex !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
html.page-individual-vitals body.page-individual-vitals [data-header-legend="health-score"] .chart-header-legend-item {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* Keep the appointment in the same reference grid slot as copy (2). */
html.page-personal-service body.page-personal-service .personal-appointment-stack {
  grid-column: 3 !important;
  grid-row: 4 / span 4 !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  align-self: stretch !important;
}
html.page-personal-service body.page-personal-service .personal-appointment-stack > .appointment-card {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 150% !important;
  min-height: 0 !important;
  transform: none !important;
}
html.page-personal-service body.page-personal-service .personal-appointment-records {
  display: grid !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  grid-template-rows: repeat(6,minmax(0,1fr)) !important;
  gap: 10px !important;
}
html.page-personal-service body.page-personal-service .personal-appointment-records > .personal-appointment-item {
  min-height: 0 !important;
  padding: 10px !important;
  border-radius: 10px !important;
  background: rgba(15,26,48,.72) !important;
}
