* { margin: 0; padding: 0; box-sizing: border-box; }
body { line-height: 1.6; min-height: 100vh; }
[id] { scroll-margin-top: 5rem; }
.pbj-content { padding: clamp(16px, 2.5vw, 24px) 20px 40px; max-width: 1100px; margin: 0 auto; }
.pbj-takeaway { background: var(--pbj-ov-elevated); border: 1px solid var(--pbj-ov-border) !important; box-shadow: none; overflow: visible; }
.pbj-takeaway:hover { border-color: var(--pbj-accent) !important; }
.pbj-content-box h1 { font-size: 2rem; margin-bottom: 0.5rem; font-weight: 700; }
.pbj-content-box h2 { font-size: 1.4rem; margin-top: 1.5rem; margin-bottom: 0.75rem; font-weight: 600; }
.pbj-content-box p { margin-bottom: 0.75rem; }
.pbj-explainer-body ul { margin: 0.5rem 0 1rem; padding-left: 1.35rem; }
.pbj-explainer-body li { margin-bottom: 0.35rem; color: #e2e8f0; }
.pbj-explainer-try-lead { font-size: 0.95rem; color: #cbd5e1; margin-bottom: 0.65rem; }
.pbj-explainer-try-list { list-style: none; padding-left: 0; margin: 0.25rem 0 0.75rem; }
.pbj-explainer-try-list li { margin-bottom: 0.7rem; padding-left: 0; line-height: 1.45; }
.pbj-explainer-try-list a { font-weight: 600; }
.pbj-explainer-try-list code { font-size: 0.88em; color: #a5b4fc; background: rgba(30, 41, 59, 0.55); padding: 0.1em 0.35em; border-radius: 4px; }
.pbj-explainer-see-also { margin-top: 1.25rem; padding-top: 0.85rem; border-top: 1px solid rgba(71, 85, 105, 0.45); font-size: 0.92rem; color: #a8b4c4; }
.pbj-explainer-see-also a { color: #94a3b8; font-weight: 500; }
.pbj-explainer-see-also a:hover { color: #a5b4fc; }
.pbj-content-box a { text-decoration: none; font-weight: 500; transition: color var(--pbj-transition), opacity var(--pbj-transition); }
.pbj-content-box a:hover { text-decoration: underline; }
.pbj-content-box a:focus { outline: 2px solid; outline-offset: 2px; }
.pbj-content-box th, .pbj-content-box td { padding: 14px 18px; text-align: left; }
.pbj-content-box th { font-weight: 600; font-size: 0.9rem; letter-spacing: 0.04em; text-transform: uppercase; }
.pbj-content-box td { font-size: 0.95rem; }
.pbj-rating-stars, .pbj-staffing-stars { color: #fbbf24; letter-spacing: 0.06em; }
.pbj-rating-stars--low { color: #f87171 !important; }
.pbj-infobox { width: 280px; float: right; margin: 0 0 1em 1.5em; border: 1px solid rgba(30, 41, 59, 0.6); background: rgba(15, 23, 42, 0.55); border-radius: 8px; overflow: hidden; }
.pbj-infobox th { background: rgba(30, 41, 59, 0.55); padding: 0.5em 0.6em; font-weight: bold; border-bottom: 1px solid rgba(30, 41, 59, 0.6); color: #e2e8f0; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }
.pbj-infobox td { padding: 0.5em 0.6em; border-bottom: 1px solid rgba(30, 41, 59, 0.6); color: #e2e8f0; }
.section-header { margin-top: 1.5rem; margin-bottom: 0.5rem; font-size: 1.35em; font-weight: 700; color: #818cf8; border-bottom: 1px solid rgba(30, 41, 59, 0.6); padding-bottom: 4px; letter-spacing: 0.02em; }
.section-header:first-of-type { margin-top: 0; }
.pbj-subtitle { font-size: 0.9em; color: #a8b4c4; margin-top: 4px; }
.pbj-subtitle .pbj-provider-owners-btn {
  text-decoration: none;
}
.pbj-provider-owners-btn-wrap {
  margin-left: 0.4rem;
}
.pbj-provider-owners-btn-sep {
  display: none;
}
.pbj-subtitle-mobile { display: none; }
.pbj-meta-line { font-size: 0.9em; color: #a8b4c4; margin-top: 6px; }
.pbj-orientation { margin-bottom: 18px; font-size: 0.95rem; color: #e2e8f0; max-width: 700px; }
.pbj-orientation--compact { margin-bottom: 0.65rem; font-size: 0.88rem; color: #a8b4c4; line-height: 1.45; }
.pbj-orientation--compact a { color: #94a3b8; font-weight: 500; }
.pbj-orientation--compact a:hover { color: #a5b4fc; }
.pbj-percentile, .pbj-entity-summary { font-size: 0.85rem; color: #a8b4c4; margin-top: 6px; }
.pbj-details { border: 1px solid rgba(148, 163, 184, 0.32); border-radius: 10px; background: rgba(15, 23, 42, 0.55); margin: 1.25rem 0; overflow: hidden; box-shadow: 0 2px 14px rgba(2, 6, 23, 0.28); }
.pbj-cross-links { margin: 0.35rem 0 0.85rem; font-size: 0.8rem; line-height: 1.5; color: var(--pbj-text-subtle, rgba(148, 163, 184, 0.82)); overflow-wrap: break-word; }
.pbj-subtitle-state + .pbj-cross-links { margin-top: 0.25rem; margin-bottom: 1rem; }
.pbj-cross-links-label { color: var(--pbj-text-subtle, rgba(148, 163, 184, 0.72)); margin-right: 0.25rem; font-weight: 500; }
.pbj-cross-links a { color: var(--pbj-accent, #a5b4fc); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.pbj-cross-links a:hover { color: var(--pbj-accent-hover, #c7d2fe); }
.pbj-cross-sep { margin: 0 0.35rem; color: var(--pbj-text-subtle, rgba(148, 163, 184, 0.5)); user-select: none; }
.pbj-inline-link { color: #93c5fd; font-weight: 600; text-decoration: underline; text-underline-offset: 0.12em; }
.pbj-inline-link:hover { color: #bfdbfe; }
.pbj-page-bottom-stack { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1.5rem; }
.pbj-page-bottom-stack--explore { gap: 1.35rem; margin-top: 1.75rem; }
.pbj-page-bottom-stack--facility { gap: 1.15rem; margin-top: 1.65rem; }
.pbj-page-bottom-stack a.custom-report-cta { margin: 0; max-width: none; width: 100%; }
.pbj-page-bottom-stack .pbj-provider-premium-bridge { margin: 0; }
.pbj-page-bottom-details { margin: 0; width: 100%; max-width: none; }
.pbj-details-ownership--provider {
  border-color: rgba(148, 163, 184, 0.28);
  box-shadow: 0 2px 12px rgba(2, 6, 23, 0.22);
}
.pbj-details-ownership--provider > summary {
  gap: 0.45rem;
  flex-wrap: wrap;
}
.pbj-ownership-summary-label {
  font-weight: 650;
  color: #e2e8f0;
}
.pbj-ownership-summary-meta {
  font-weight: 500;
  font-size: 0.78rem;
  color: rgba(148, 163, 184, 0.92);
}
.pbj-details.pbj-state-staffing-table { margin-bottom: 0; }
.pbj-details.pbj-state-staffing-table + .pbj-page-bottom-stack { margin-top: 0.75rem; }
.pbj-state-staffing-table .pbj-table-wrap table th,
.pbj-state-staffing-table .pbj-table-wrap table td {
  border: 1px solid var(--pbj-border);
}
.pbj-state-staffing-table .pbj-table-wrap table th {
  background: var(--pbj-surface-soft);
  color: var(--pbj-accent);
  font-weight: 600;
}
.pbj-state-staffing-table .pbj-table-wrap table tbody tr:nth-child(even) td {
  background: var(--pbj-surface);
}
.pbj-state-staffing-table .pbj-table-wrap table tbody tr:nth-child(odd) td {
  background: var(--pbj-surface-inset);
}
.pbj-state-explore {
  margin: 0;
  padding: 0;
}
.pbj-state-explore__head {
  margin: 0 0 0.7rem;
}
.pbj-state-explore__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--pbj-text);
}
.pbj-state-explore__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.45rem;
}
@media (min-width: 768px) {
  .pbj-state-explore__cards {
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
  }
}
.pbj-explore-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0.75rem;
  text-align: left;
  cursor: pointer;
  color: var(--pbj-text);
  background: var(--pbj-surface);
  border: 1px solid var(--pbj-border);
  border-radius: 10px;
  transition: border-color 0.15s ease, background 0.15s ease;
  font: inherit;
}
.pbj-explore-card:hover {
  border-color: var(--pbj-data);
  background: var(--pbj-surface-soft);
}
.pbj-explore-card:focus-visible {
  outline: 2px solid var(--pbj-data);
  outline-offset: 2px;
}
.pbj-explore-card.is-active,
.pbj-explore-card[aria-selected="true"] {
  border-color: var(--pbj-data);
  background: color-mix(in srgb, var(--pbj-data) 10%, var(--pbj-surface));
}
.pbj-explore-card__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  color: var(--pbj-data);
  background: color-mix(in srgb, var(--pbj-data) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--pbj-data) 32%, transparent);
}
.pbj-explore-card__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.pbj-explore-card__title {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--pbj-text);
  line-height: 1.25;
}
.pbj-explore-card__title--short { display: none; }
.pbj-explore-card__support {
  font-size: 0.76rem;
  color: var(--pbj-text-subtle);
  line-height: 1.3;
}
.pbj-explore-card__secondary {
  font-size: 0.7rem;
  color: var(--pbj-data);
  line-height: 1.3;
}
.pbj-explore-card__chevron {
  flex: 0 0 auto;
  color: var(--pbj-text-subtle);
  font-size: 1.2rem;
  line-height: 1;
}
.pbj-explore-card.is-active .pbj-explore-card__chevron {
  color: var(--pbj-data);
}
.pbj-state-explore__detail {
  margin-top: 0.7rem;
}
.pbj-explore-panel {
  border: 1px solid var(--pbj-border);
  border-radius: 12px;
  background: var(--pbj-surface-inset);
  padding: 0.8rem 0.85rem 0.9rem;
}
.pbj-explore-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}
.pbj-explore-panel__title {
  margin: 0 0 0.15rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--pbj-text);
}
.pbj-explore-panel__help {
  margin: 0;
  font-size: 0.78rem;
  color: var(--pbj-text-subtle);
  line-height: 1.35;
}
.pbj-explore-panel__view-all {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--pbj-data);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  white-space: nowrap;
}
.pbj-explore-panel__view-all:hover {
  color: var(--pbj-accent-hover);
}
.pbj-explore-hr-preview-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}
.pbj-explore-hr-preview-table th,
.pbj-explore-hr-preview-table td {
  padding: 0.4rem 0.35rem;
  border-bottom: 1px solid var(--pbj-border);
  text-align: left;
  vertical-align: middle;
}
.pbj-explore-hr-preview-table th {
  color: var(--pbj-text-subtle);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pbj-explore-hr-preview-table th.num,
.pbj-explore-hr-preview-table td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pbj-explore-hr-preview-facility a {
  color: var(--pbj-accent);
  font-weight: 650;
  text-decoration: none;
}
.pbj-explore-hr-preview-facility a:hover {
  color: var(--pbj-accent-hover);
  text-decoration: underline;
}
.pbj-explore-hr-preview-city-mobile {
  display: none;
}
.pbj-explore-hr-hprd-unit {
  display: none;
  font-weight: 600;
  color: var(--pbj-text-subtle);
}
.pbj-explore-hr-preview-city,
.pbj-explore-hr-preview-hprd {
  color: var(--pbj-text);
  white-space: nowrap;
}
.pbj-explore-hr-head {
  /* Title + help text can each run the full row width at any state name/
     count length, leaving no inline room for a trailing icon to share their
     last line -- so the info icon is its own column (top-right), never
     competing with that text for space, instead of landing on an orphaned
     row of its own when the text happens to fill the line. */
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}
.pbj-explore-hr-head-text {
  flex: 1 1 auto;
  min-width: 0;
}
.pbj-explore-hr-head .pbj-high-risk-help-wrap--inline {
  flex: 0 0 auto;
  margin-top: 0.15rem;
}
.pbj-explore-hr-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--pbj-border-strong);
  background: var(--pbj-surface);
  color: var(--pbj-text-subtle);
  font: 650 0.65rem/1 inherit;
  cursor: help;
}
.pbj-explore-hr-info:hover,
.pbj-explore-hr-info:focus-visible {
  color: var(--pbj-text);
  border-color: var(--pbj-data);
  outline: none;
}
.pbj-high-risk-help-wrap--inline {
  position: relative;
  display: inline-flex;
}
.pbj-high-risk-help-wrap--inline .pbj-high-risk-tooltip {
  /* left:50%/transform:translateX(-50%) intentionally left at the shared
     base-rule default (not overridden here) -- the shared mouseenter/click
     handler's clampTooltipToViewport() assumes that centered anchor as its
     zero-shift baseline and applies an inline transform on top of it, so a
     custom left/transform here would just get clobbered at runtime. */
  bottom: auto;
  top: calc(100% + 0.35rem);
  min-width: 16rem;
  max-width: min(22rem, 80vw);
}
.pbj-explore-hr-head .pbj-high-risk-help-wrap--inline:hover .pbj-high-risk-tooltip,
.pbj-explore-hr-head .pbj-high-risk-help-wrap--inline:focus-within .pbj-high-risk-tooltip {
  opacity: 1;
}
.state-hr-tabs--compact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem;
  margin: 0 0 0.55rem;
}
/* One frame, not a card inside a card: each row is already its own bordered
   surface (.pbj-explore-hr-preview-row), so the shared .pbj-table-wrap's own
   border/background/margin here would just double the framing -- a sliver
   of the panel's beige background peeking between two nested borders. */
.pbj-table-wrap.pbj-explore-hr-table-wrap {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}
.state-hr-tabs--compact .state-hr-tab-btn {
  padding: 0.28rem 0.55rem;
  font-size: 0.72rem;
  line-height: 1.2;
  background: var(--pbj-surface);
  color: var(--pbj-text-subtle);
  border: 1px solid var(--pbj-border-strong);
  border-radius: 6px;
  cursor: pointer;
}
.state-hr-tabs--compact .state-hr-tab-btn[aria-selected="true"] {
  background: color-mix(in srgb, var(--pbj-data) 16%, var(--pbj-surface));
  border-color: var(--pbj-data);
  color: var(--pbj-text);
  font-weight: 650;
}
.pbj-explore-hr-preview-ratings .owner-ratings-stack {
  display: inline-flex;
  flex-direction: column;
  gap: 0.04rem;
  line-height: 1.1;
}
.pbj-explore-hr-preview-ratings .owner-rating-row {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.7rem;
}
.pbj-explore-hr-preview-ratings .owner-rating-k {
  color: var(--pbj-text-subtle);
  font-weight: 650;
  min-width: 1.35rem;
}
.pbj-explore-hr-preview-ratings .owner-rating-stars {
  letter-spacing: 0.02em;
  color: #fbbf24;
  font-size: 0.72rem;
}
.pbj-explore-hr-preview-ratings .owner-rating-stars-on--low {
  color: #f87171;
}
.pbj-explore-hr-preview-ratings .owner-rating-none {
  color: #64748b;
}
.pbj-explore-hr-preview-flags .state-hr-flags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  max-width: 7.5rem;
}
.pbj-explore-hr-preview-flags .state-hr-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.62rem;
  font-weight: 650;
  padding: 0.06rem 0.28rem;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.15;
}
.pbj-explore-hr-preview-flags .state-hr-badge--sff,
.pbj-explore-hr-preview-flags .state-hr-badge--sffc,
.pbj-explore-hr-preview-flags .state-hr-badge--abuse {
  background: color-mix(in srgb, var(--pbj-danger) 16%, transparent);
  color: var(--pbj-danger);
  border: 1px solid color-mix(in srgb, var(--pbj-danger) 40%, transparent);
}
.pbj-explore-hr-preview-flags .state-hr-badge--1ovr,
.pbj-explore-hr-preview-flags .state-hr-badge--1stf {
  background: color-mix(in srgb, var(--pbj-data) 14%, transparent);
  color: var(--pbj-data);
  border: 1px solid color-mix(in srgb, var(--pbj-data) 38%, transparent);
}
.pbj-explore-hr-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-top: 0.55rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  font-size: 0.78rem;
  color: rgba(203, 213, 225, 0.9);
}
.pbj-explore-hr-showing {
  font-size: 0.76rem;
  color: rgba(148, 163, 184, 0.95);
  font-variant-numeric: tabular-nums;
}
.pbj-explore-hr-more-btn {
  margin: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 6px;
  border: 1px solid rgba(94, 234, 212, 0.35);
  background: rgba(15, 23, 42, 0.55);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 650;
  color: #5eead4;
  cursor: pointer;
  text-decoration: none;
}
.pbj-explore-hr-more-btn:hover {
  color: #99f6e4;
  border-color: rgba(94, 234, 212, 0.55);
  background: rgba(15, 23, 42, 0.75);
}
.pbj-explore-hr-more-btn[disabled] {
  opacity: 0.55;
  cursor: wait;
}
.state-hr-related {
  margin: 0.15rem 0 0;
  font-size: 0.74rem;
  line-height: 1.35;
  color: rgba(148, 163, 184, 0.92);
  font-style: italic;
}
.state-hr-related a {
  font-style: normal;
  color: #a5b4fc;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.state-hr-related a:hover { color: #c7d2fe; }
.pbj-state-premium-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 0.9rem;
  margin: 0.15rem 0 0;
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  color: var(--pbj-text);
  background: var(--pbj-surface);
  border: 1px solid var(--pbj-border);
  border-left: 4px solid var(--pbj-accent);
  box-shadow: none;
}
.pbj-state-premium-cta__top {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  flex: 1 1 14rem;
  min-width: 0;
}
.pbj-state-premium-cta__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 8px;
  background: var(--pbj-accent-soft);
  border: 1px solid color-mix(in srgb, var(--pbj-accent) 32%, var(--pbj-border));
}
.pbj-state-premium-cta__icon img {
  display: block;
  width: 24px;
  height: 24px;
}
.pbj-state-premium-cta__copy {
  flex: 1 1 auto;
  min-width: 0;
}
.pbj-state-premium-cta__title {
  margin: 0 0 0.15rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--pbj-text);
  line-height: 1.25;
}
.pbj-state-premium-cta__body {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.35;
  color: var(--pbj-text-subtle);
}
.pbj-state-premium-cta__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.5rem 0.95rem;
  border-radius: 8px;
  background: var(--pbj-accent);
  color: #fff;
  font-weight: 700;
  font-size: 0.86rem;
  text-decoration: none;
  border: 1px solid var(--pbj-accent);
  box-shadow: none;
}
.pbj-content-box a.pbj-state-premium-cta__btn,
.pbj-state-premium-cta__btn {
  background: var(--pbj-accent);
  color: #fff !important;
  text-decoration: none !important;
}
.pbj-content-box a.pbj-state-premium-cta__btn:hover,
.pbj-content-box a.pbj-state-premium-cta__btn:focus,
.pbj-state-premium-cta__btn:hover {
  background: var(--pbj-accent-hover);
  color: #fff !important;
  border-color: var(--pbj-accent-hover);
  text-decoration: none !important;
}
.pbj-state-premium-cta__btn:focus-visible {
  outline: 2px solid var(--pbj-accent);
  outline-offset: 2px;
}
@media (max-width: 640px) {
  .pbj-page-bottom-stack--explore {
    gap: 0.65rem;
    margin-top: 0.85rem;
  }
  .pbj-state-explore__head {
    margin-bottom: 0.45rem;
  }
  .pbj-explore-panel {
    padding: 0.65rem 0.7rem 0.7rem;
  }
  .pbj-state-premium-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    margin-top: 0;
    padding: 0.65rem 0.7rem;
  }
  .pbj-state-premium-cta__top {
    flex: 0 1 auto;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .pbj-state-premium-cta__icon {
    width: 1.85rem;
    height: 1.85rem;
  }
  .pbj-state-premium-cta__title {
    font-size: 0.92rem;
    margin-bottom: 0.08rem;
  }
  .pbj-state-premium-cta__body {
    font-size: 0.78rem;
    line-height: 1.3;
  }
  .pbj-state-premium-cta__btn {
    width: 100%;
    min-height: 2.35rem;
  }
}
@media (max-width: 767px) {
  /* Four full-width destination cards ate most of the first screen before
     any real content. Below the tablet/desktop breakpoint (see the 768px
     2-column grid above) this becomes a compact segmented row (title
     only, no icon) -- the same tablist markup/JS, just a denser visual
     variant, sized to fit all four without scrolling at ~360px+ of
     content width; overflow-x stays as a safety net for narrower phones. */
  .pbj-state-explore__cards {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.3rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.1rem;
  }
  .pbj-state-explore__cards::-webkit-scrollbar { display: none; }
  .pbj-explore-card {
    flex: 0 0 auto;
    width: auto;
    padding: 0.4rem 0.55rem;
    min-height: 0;
    gap: 0;
    border-radius: 999px;
    white-space: nowrap;
  }
  .pbj-explore-card__icon,
  .pbj-explore-card__support,
  .pbj-explore-card__secondary,
  .pbj-explore-card__chevron {
    display: none;
  }
  .pbj-explore-card__title {
    font-size: 0.78rem;
  }
  .pbj-explore-card__title--full { display: none; }
  .pbj-explore-card__title--short { display: inline; }
}
@media (max-width: 768px) {
  /* Ownership groups/changes panels reuse the shared chow-display component,
     which normally caps its table in its own scrollable pane (appropriate
     on a dedicated ownership page with hundreds of rows). Here the panel
     already shows a short, paginated preview, so that inner scrollbox is
     just a scroll-trap inside the page's own scroll -- let it size to its
     (small) content and scroll with the page instead. Matches chow.css's
     own 768px breakpoint for this component so there's no gap between them. */
  .pbj-state-explore .chow-state-block .chow-table-scroll--touch,
  .pbj-state-explore .chow-state-block .chow-tx-scroll {
    max-height: none;
    overflow: visible;
  }
  /* chow.css's generic .chow-tx-table--mobile:not(.chow-tx-table--provider-mobile)
     rule sets min-width:44rem for the plain (non-stacked) mobile table --
     it ties in specificity with the stacked variant's own min-width:0 reset
     and wins by source order, forcing this narrow card-stack table wide
     enough to spill out of the now-unscrolled container above. */
  .pbj-state-explore .chow-tx-table--change-stack {
    min-width: 0 !important;
  }
}
.pbj-methodology-utility {
  margin: 0.1rem 0 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.52);
  overflow: hidden;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.pbj-methodology-utility:hover {
  border-color: rgba(45, 212, 191, 0.4);
  background: rgba(15, 23, 42, 0.7);
}
.pbj-methodology-utility__summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  padding: 0.7rem 0.85rem;
  color: rgba(226, 232, 240, 0.92);
}
.pbj-methodology-utility__summary::-webkit-details-marker { display: none; }
.pbj-methodology-utility__summary:focus-visible {
  outline: 2px solid rgba(45, 212, 191, 0.7);
  outline-offset: -2px;
}
.pbj-methodology-utility__lead {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 7px;
  color: #5eead4;
  background: rgba(45, 212, 191, 0.1);
  border: 1px solid rgba(45, 212, 191, 0.28);
}
.pbj-methodology-utility__copy {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.pbj-methodology-utility__label {
  color: #e2e8f0;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.25;
}
.pbj-methodology-utility__sub {
  color: rgba(148, 163, 184, 0.95);
  font-size: 0.72rem;
  line-height: 1.3;
}
.pbj-methodology-utility__chevron {
  margin-left: auto;
  color: #5eead4;
  font-size: 1.1rem;
  transition: transform 0.15s ease;
}
.pbj-methodology-utility[open] {
  border-color: rgba(45, 212, 191, 0.42);
}
.pbj-methodology-utility[open] .pbj-methodology-utility__chevron {
  transform: rotate(90deg);
}
.pbj-methodology-utility .pbj-details-content {
  padding: 0 0.85rem 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}
@media (max-width: 640px) {
  .pbj-methodology-utility__summary {
    padding: 0.62rem 0.72rem;
    gap: 0.55rem;
  }
  .pbj-page-bottom-stack--facility {
    gap: 0.9rem;
  }
}
.pbj-staffing-cmp-wrap { max-width: 100%; }
.pbj-staffing-cmp-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.pbj-staffing-cmp-note {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: left;
  padding: 0.55rem 0 0;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.45;
  /* !important: a generic .pbj-content-box p/th/td color rule elsewhere on
     the page ties this rule's specificity (class vs class+element) and can
     win on source order, silently flattening this table's whole color
     scheme back to plain body text -- deliberately overriding it here. */
  color: var(--pbj-text-subtle) !important;
}
.pbj-staffing-cmp-caption-icon {
  margin-right: 0.2rem;
  opacity: 0.85;
}
.pbj-staffing-cmp-footer {
  margin-top: 0.85rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--pbj-border);
}
.pbj-staffing-cmp-footer .pbj-cross-links {
  margin: 0 !important;
}
.pbj-staffing-cmp-table th,
.pbj-staffing-cmp-table td {
  border: none;
  border-bottom: 1px solid var(--pbj-border);
  padding: 0.42rem 0.55rem;
  vertical-align: top;
  line-height: 1.3;
}
.pbj-staffing-cmp-table thead th {
  border-bottom: 1px solid var(--pbj-border-strong);
  background: var(--pbj-surface-inset);
  /* !important: see .pbj-staffing-cmp-note above -- a generic .pbj-content-box
     th color rule ties this selector's specificity and can win by source
     order otherwise. */
  color: var(--pbj-accent) !important;
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.pbj-staffing-cmp-th-state {
  color: var(--pbj-text);
}
.pbj-staffing-cmp-th-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: nowrap;
}
.pbj-staffing-cmp-table tbody tr:nth-child(even) td {
  background: var(--pbj-surface-soft);
}
.pbj-staffing-cmp-table tbody tr:nth-child(odd) td {
  background: transparent;
}
.pbj-staffing-cmp-metric {
  color: var(--pbj-text);
  font-weight: 500;
  font-size: 0.84rem;
  text-align: left;
  width: 30%;
  line-height: 1.35;
}
.pbj-staffing-cmp-val {
  text-align: right;
  font-variant-numeric: tabular-nums;
  /* !important: see .pbj-staffing-cmp-note above. */
  color: var(--pbj-text-subtle) !important;
  font-size: 0.86rem;
}
.pbj-staffing-cmp-val--state {
  font-weight: 650;
  color: var(--pbj-text) !important;
  font-size: 0.9rem;
}
.pbj-staffing-cmp-val--cmp .pbj-staffing-cmp-primary {
  display: block;
}
.pbj-staffing-cmp-val--cmp .pbj-staffing-cmp-delta {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--pbj-text-subtle);
}
.pbj-staffing-cmp-val--rank {
  /* !important: see .pbj-staffing-cmp-note above. */
  color: var(--pbj-accent) !important;
  white-space: nowrap;
}
.pbj-staffing-cmp-na {
  color: var(--pbj-text-subtle) !important;
  text-decoration: none;
  border: none;
  cursor: help;
}
.pbj-staffing-cmp-info-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.15rem;
  vertical-align: middle;
}
.pbj-staffing-cmp-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 1px solid var(--pbj-border-strong);
  background: var(--pbj-surface-inset);
  font: inherit;
  font-size: 0.58rem;
  font-weight: 700;
  font-style: italic;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: var(--pbj-text-subtle);
  cursor: help;
  vertical-align: middle;
}
.pbj-staffing-cmp-info-btn:hover,
.pbj-staffing-cmp-info-btn:focus-visible {
  border-color: var(--pbj-accent);
  color: var(--pbj-accent);
  outline: none;
}
.pbj-staffing-cmp-popover {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 1000;
  min-width: 220px;
  max-width: min(300px, calc(100vw - 24px));
  padding: 8px 10px;
  background: var(--pbj-surface);
  border: 1px solid var(--pbj-border-strong);
  border-radius: 6px;
  font-size: 0.76rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
  text-transform: none;
  color: var(--pbj-text);
  white-space: normal;
  text-align: left;
  box-shadow: var(--pbj-shadow);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
.pbj-staffing-cmp-popover-sub {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--pbj-text-subtle);
}
.pbj-staffing-cmp-info-wrap:hover .pbj-staffing-cmp-popover,
.pbj-staffing-cmp-info-wrap.is-open .pbj-staffing-cmp-popover {
  opacity: 1;
  pointer-events: auto;
}
.pbj-entity-states-badge-wrap {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  margin-bottom: 6px;
}
.pbj-entity-states-badge-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  font: inherit;
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #e4e4e7;
  background: rgba(39, 39, 42, 0.75);
  border: 1px solid #3f3f46;
  transition: all 0.2s ease;
}
.pbj-entity-states-badge-chevron {
  font-size: 0.65em;
  line-height: 1;
  color: rgba(161, 161, 170, 0.9);
  transition: transform 0.15s ease;
}
.pbj-entity-states-badge-btn:focus-visible {
  filter: brightness(1.06);
  outline: 2px solid rgba(129, 140, 248, 0.4);
  outline-offset: 2px;
}
.pbj-entity-states-badge-wrap.is-open .pbj-entity-states-badge-btn {
  filter: brightness(1.04);
}
.pbj-entity-states-badge-wrap.is-open .pbj-entity-states-badge-chevron {
  transform: rotate(180deg);
}
.pbj-takeaway-badges-row .pbj-entity-states-badge-btn {
  background: rgba(67, 56, 202, 0.18);
  color: #a5b4fc;
  border: 1px solid rgba(129, 140, 248, 0.35);
}
.pbj-entity-states-badge-wrap .pbj-staffing-cmp-popover {
  left: 0;
  right: auto;
  min-width: 220px;
  display: none;
  opacity: 1;
  pointer-events: none;
  transition: none;
}
.pbj-entity-states-badge-wrap .entity-states-popover {
  padding: 0;
  overflow: hidden;
  width: max-content;
  min-width: 11.5rem;
  max-width: min(260px, calc(100vw - 32px));
}
.pbj-entity-states-badge-wrap.is-open .pbj-staffing-cmp-popover {
  display: block;
  pointer-events: auto;
}
.entity-states-popover .pbj-entity-states-list {
  margin: 0;
  padding: 0.45rem 0.65rem;
  list-style: none;
  max-height: min(280px, 45vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
.entity-states-popover .pbj-entity-states-row {
  margin: 0;
  padding: 0;
}
.entity-states-popover .pbj-entity-states-row + .pbj-entity-states-row {
  border-top: 1px solid rgba(99, 102, 241, 0.14);
}
.entity-states-popover .pbj-entity-states-row a {
  color: #a5b4fc;
  text-decoration: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.15rem;
  min-height: 2.25rem;
  border-radius: 4px;
  line-height: 1.35;
}
.entity-states-popover .pbj-entity-states-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.entity-states-popover .pbj-entity-states-row a:hover,
.entity-states-popover .pbj-entity-states-row a:focus-visible {
  color: #c7d2fe;
  background: rgba(99, 102, 241, 0.12);
  text-decoration: none;
  outline: none;
}
.pbj-entity-states-count {
  justify-self: end;
  color: rgba(203, 213, 225, 0.88);
  font-size: 0.92em;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 2ch;
  padding-left: 0.25rem;
}
.pbj-takeaway.pbj-takeaway--states-popover-open {
  position: relative;
  z-index: 40;
}
.entity-states-popover.pbj-entity-states-popover--viewport {
  display: block;
  opacity: 1;
  visibility: visible;
  z-index: 10050;
  min-width: 11.5rem;
  max-width: min(260px, calc(100vw - 32px));
  width: max-content;
  top: auto;
  right: auto;
  bottom: auto;
  pointer-events: auto;
}
.pbj-staffing-cmp-popover.pbj-staffing-cmp-popover--fixed {
  position: fixed;
  z-index: 10050;
  margin: 0;
  opacity: 1;
  pointer-events: none;
}
.pbj-state-staffing-table[open] .pbj-details-content {
  overflow: visible;
}
.pbj-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1rem; font-weight: 600; font-size: 0.9375rem; color: var(--pbj-text, #c7d2fe); background: var(--pbj-surface-soft, rgba(30, 41, 59, 0.45)); transition: background 0.2s ease, color 0.2s ease; user-select: none; }
.pbj-details summary::-webkit-details-marker { display: none; }
.pbj-details summary:hover { background: var(--pbj-surface-inset, rgba(51, 65, 85, 0.55)); color: var(--pbj-text, #e0e7ff); }
.pbj-details summary:focus-visible { outline: 2px solid var(--pbj-accent, rgba(129, 140, 248, 0.7)); outline-offset: 2px; }
.pbj-details[open] summary { border-bottom: 1px solid var(--pbj-border, rgba(129, 140, 248, 0.28)); background: var(--pbj-surface-inset, rgba(30, 41, 59, 0.65)); }
.pbj-details-icon { display: inline-block; transition: transform 0.2s ease; font-size: 0.55em; opacity: 0.85; color: #94a3b8; }
.pbj-details[open] .pbj-details-icon { transform: rotate(180deg); color: #a5b4fc; }
.pbj-high-risk-help-wrap { position: relative; display: inline; }
.pbj-high-risk-help { cursor: help; text-decoration: none; border-bottom: 1px dotted rgba(148,163,184,0.6); transition: border-color 0.2s ease, color 0.2s ease; }
.pbj-high-risk-help:hover { border-bottom-color: var(--pbj-accent, rgba(129, 140, 248, 0.85)); color: var(--pbj-accent, #a5b4fc); }
.pbj-high-risk-tooltip { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 6px; padding: 8px 12px; background: #0f172a; border: 1px solid rgba(99, 102, 241, 0.35); border-radius: 6px; font-size: 0.8rem; line-height: 1.4; color: #e2e8f0; white-space: normal; min-width: 260px; max-width: 320px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); opacity: 0; pointer-events: none; transition: opacity 0.2s; z-index: 1000; }
.entity-section-tooltip { max-width: 360px; max-height: 200px; overflow-y: auto; }
.pbj-high-risk-help-wrap:hover .pbj-high-risk-tooltip { opacity: 1; }
.pbj-details-content .pbj-high-risk-help-wrap .pbj-high-risk-tooltip,
.pbj-high-risk-help-wrap.pbj-high-risk-help-wrap--below .pbj-high-risk-tooltip {
  bottom: auto; top: calc(100% + 6px); margin-bottom: 0;
}
.pbj-high-risk-tooltip.pbj-high-risk-tooltip--fixed {
  position: fixed; z-index: 10050; margin: 0; opacity: 1; pointer-events: none;
}
.state-high-risk-details[open].pbj-details { overflow: visible; }
.state-high-risk-details[open] .pbj-details-content { overflow: visible; }
.pbj-risk-badge-with-info {
  display: inline-flex; align-items: center; gap: 0.22rem; flex-wrap: nowrap;
}
.pbj-risk-badge-info-wrap { margin-left: 0.12rem; }
.pbj-risk-badge-info {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.05rem; height: 1.05rem; flex-shrink: 0;
  font: inherit; font-size: 0.62em; font-weight: 700; font-style: italic; line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  padding: 0; margin: 0; border: 1px solid currentColor; border-radius: 50%; cursor: help;
  color: inherit; background: color-mix(in srgb, currentColor 14%, transparent); opacity: 0.9;
  vertical-align: middle;
}
.pbj-risk-badge-with-info .pbj-risk-badge-info:hover {
  opacity: 1; text-decoration: underline; text-underline-offset: 2px;
}
.pbj-risk-badge-info-wrap.is-open .pbj-high-risk-tooltip {
  opacity: 1; pointer-events: auto;
}
.pbj-details-content { padding: 1rem 1.1rem 1.15rem; border-top: none; background: rgba(15, 23, 42, 0.35); }
.pbj-details-content p:first-child { margin-top: 0; }
.pbj-details-content p:last-child { margin-bottom: 0; }
.pbj-details-content ul { margin: 0.5rem 0 1rem; padding-left: 1.25rem; }
.pbj-details-content li { margin-bottom: 0.25rem; }
.pbj-metrics-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1rem 0; }
.pbj-metric-card { background: rgba(15, 23, 42, 0.55); border: 1px solid rgba(30, 41, 59, 0.6); border-radius: 8px; padding: 1rem; color: #e2e8f0; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.pbj-metric-card:hover { border-color: rgba(51, 65, 85, 0.85); box-shadow: 0 0 18px -12px rgba(129, 140, 248, 0.12); }
.pbj-metric-card .label { font-size: 0.72em; color: #94a3b8; margin-bottom: 4px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; }
.pbj-metric-card .value { font-size: 1.25rem; font-weight: 700; color: #e2e8f0; }
.pbj-metric-card .delta { font-size: 0.8em; color: #94a3b8; margin-top: 2px; }
/* Page overview: layered navy surfaces (page #0B0F17 / overview #121826 / elevated #181F2E) */
.pbj-content-box:has(> .pbj-page-overview),
.pbj-content-box:has(> .pbj-page-summary) {
  padding: 1.05rem 1.25rem 1.35rem;
}
.pbj-page-overview {
  /* Shared light/dark tokens by default; provider-page.css re-asserts the
     same values via --provider-* for pages that also load it. */
  --pbj-ov-page: var(--pbj-page);
  --pbj-ov-surface: transparent;
  --pbj-ov-elevated: var(--pbj-surface);
  --pbj-ov-border: var(--pbj-border);
  --pbj-ov-text: var(--pbj-text);
  --pbj-ov-muted: var(--pbj-text-subtle);
  display: block; height: auto; min-height: 0; margin: 0 0 1.65rem; padding: 1.25rem 1.4rem;
  border-radius: 14px;
  background: var(--pbj-ov-surface);
  border: 1px solid var(--pbj-ov-border);
  box-shadow: none;
}
.pbj-page-summary {
  display: block; height: auto; min-height: 0; margin: 0; padding: 0; border: none; background: transparent;
}
.pbj-page-summary-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 1rem;
  row-gap: 0.35rem;
  margin: 0 0 0.7rem;
  height: auto;
  min-height: 0;
}
.pbj-page-summary-identity {
  grid-column: 1;
  min-width: 0;
  height: auto;
  min-height: 0;
  text-align: left;
}
.pbj-page-eyebrow-row {
  display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin: 0 0 0.2rem;
}
.pbj-page-eyebrow-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 0.5rem 0.75rem;
  width: 100%; margin: 0 0 0.28rem;
}
.pbj-page-eyebrow-bar .pbj-page-eyebrow-row {
  margin: 0; flex: 1 1 auto; min-width: 0;
}
.pbj-page-eyebrow-bar .pbj-page-summary-ccn {
  flex: 0 0 auto; margin-left: auto;
}
.pbj-page-eyebrow-bar--meta-only {
  justify-content: flex-start;
}
.pbj-page-eyebrow-bar--meta-only .pbj-page-summary-ccn {
  margin-left: 0;
}
.pbj-page-summary-flags {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem;
  margin: 0.35rem 0 0;
}
.pbj-page-eyebrow {
  display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 0;
  margin: 0; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--pbj-ov-muted, #7B879C); line-height: 1.25;
}
.pbj-page-eyebrow-label { color: var(--pbj-ov-muted, #7B879C); }
.pbj-page-summary-identity h1 {
  margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.05rem); line-height: 1.18; color: var(--pbj-text); font-weight: 700;
  letter-spacing: -0.01em;
}
.pbj-page-summary-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.45rem;
  margin: 0.22rem 0 0; font-size: 0.84rem; line-height: 1.35; color: var(--pbj-ov-muted, #9DA9BC);
}
.pbj-page-summary-meta .pbj-meta-part {
  display: inline; min-width: 0;
}
.pbj-page-summary-meta .pbj-meta-entity {
  display: inline; min-width: 0; max-width: min(100%, 22rem);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  vertical-align: bottom;
}
.pbj-meta-entity-compact { display: none; }
.pbj-page-summary-meta .pbj-provider-owners-btn-wrap {
  display: inline-flex; margin-left: 0; vertical-align: middle; flex-shrink: 0;
}
.pbj-page-summary-meta .pbj-provider-owners-btn {
  padding: 0.04rem 0.3rem; font-size: 0.72em; line-height: 1.1; min-height: 0;
}
.pbj-page-summary-meta .pbj-meta-owners-sep {
  display: none;
}
.pbj-page-summary-meta .pbj-provider-owners-btn-wrap::before {
  content: none;
}
.pbj-page-summary-controls {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: min(17.5rem, 100%);
  max-width: 17.5rem;
  margin-left: 0;
  align-self: start;
  justify-self: end;
  height: auto;
  min-height: 0;
}
.pbj-page-summary-controls .pbj-page-header-switcher {
  display: block; flex: none; width: 100%; max-width: none; margin-left: 0;
}
.pbj-page-summary-aside {
  grid-column: 2;
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end;
  gap: 0.35rem; width: auto; max-width: 22rem; margin-left: 0; text-align: right;
  height: auto; min-height: 0; justify-self: end;
}
.pbj-page-summary-aside .pbj-takeaway-priority-flags {
  justify-content: flex-end;
}
.pbj-page-summary-ccn {
  display: inline-block; padding: 0.18rem 0.45rem; border-radius: 5px; font-size: 0.68rem;
  font-weight: 600; font-variant-numeric: tabular-nums; color: var(--pbj-ov-muted, #9DA9BC);
  background: var(--pbj-ov-elevated, #181F2E); border: 1px solid var(--pbj-ov-border, #2A3448);
  letter-spacing: 0.02em; white-space: nowrap;
}
.pbj-page-metrics {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem; margin: 0 0 0; height: auto; min-height: 0; align-items: stretch;
}
.pbj-takeaway-metrics {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0; margin: 0.7rem 0 0; border-top: 1px solid var(--pbj-ov-border, #2A3448);
  align-items: start; min-width: 0;
}
.pbj-takeaway-metrics--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pbj-takeaway-metrics--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pbj-takeaway-metrics--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pbj-takeaway-metrics + .pbj-takeaway-support {
  margin-top: 0; border-top: 1px solid var(--pbj-ov-border, #2A3448);
}
.pbj-takeaway-metrics .pbj-metric {
  padding: 0.55rem 0.7rem 0.4rem; border-radius: 0; gap: 0.12rem;
  background: transparent; border: none;
  border-right: 1px solid var(--pbj-ov-border, #2A3448);
  min-width: 0; overflow: hidden;
}
.pbj-takeaway-metrics .pbj-metric:last-child { border-right: 0; }
.pbj-takeaway-metrics .pbj-metric--hprd {
  border-color: transparent; border-right: 1px solid var(--pbj-ov-border, #2A3448);
}
.pbj-takeaway-metrics .pbj-metric:last-child.pbj-metric--hprd { border-right: 0; }
.pbj-takeaway-metrics .pbj-metric__label {
  font-size: 0.6rem; letter-spacing: 0.05em;
  min-height: 1.15rem; align-items: center;
}
.pbj-takeaway-metrics .pbj-metric__icon {
  width: 0.85rem; height: 0.85rem;
}
.pbj-takeaway-metrics .pbj-metric__value {
  font-size: 1.12rem; white-space: nowrap; word-break: normal; overflow: hidden; text-overflow: ellipsis;
  line-height: 1.15;
}
.pbj-takeaway-metrics .pbj-metric--hprd .pbj-metric__value {
  font-size: 1.45rem; line-height: 1.15;
}
.pbj-takeaway-metrics .pbj-metric__hint {
  font-size: 0.66rem; line-height: 1.25;
}
.pbj-takeaway-metrics .pbj-metric--spark .pbj-metric__body {
  width: 100%; max-width: 100%; gap: 0.3rem;
  align-items: flex-start; margin-top: 0;
}
.pbj-takeaway-metrics .pbj-hprd-spark {
  width: 5.75rem; height: 1.7rem; flex: 1 1 auto; min-width: 3.25rem; max-width: 6.75rem;
  align-self: flex-start; margin-top: 0.12rem;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label {
  font-size: 0.6rem; letter-spacing: 0.05em; flex-wrap: nowrap; gap: 0.18rem 0.22rem;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label-text {
  white-space: nowrap;
}
.pbj-takeaway-metrics .pbj-metric:not(.pbj-metric--ratings) .pbj-metric__value {
  color: #fb923c; font-size: 1.45rem; letter-spacing: -0.02em; line-height: 1.15;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__ratings-row {
  flex-direction: column; gap: 0; margin-top: 0;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-block {
  line-height: 1; margin: 0;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-line {
  line-height: 1; gap: 0.2rem 0.28rem;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-kind {
  font-size: 0.72rem; line-height: 1;
}
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars,
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--overall,
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--staffing,
.pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--health {
  font-size: 0.88rem; white-space: nowrap; line-height: 1;
}
.pbj-metric {
  display: flex; flex-direction: column; gap: 0.22rem; min-width: 0; height: auto; min-height: 0;
  padding: 0.8rem 0.85rem; border-radius: 10px;
  background: var(--pbj-ov-elevated, #181F2E); border: 1px solid var(--pbj-ov-border, #2A3448);
}
.pbj-metric__label {
  display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 0.28rem 0.35rem;
  font-size: 0.64rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--pbj-ov-muted, #9DA9BC); line-height: 1.2; max-width: 100%; min-width: 0;
}
.pbj-metric__icon {
  width: 0.9rem; height: 0.9rem; color: var(--pbj-ov-muted, #9DA9BC); flex-shrink: 0; opacity: 0.95;
}
.pbj-metric__label-text { min-width: 0; }
.pbj-metric__label .pbj-metric__quarter {
  letter-spacing: 0.04em; font-weight: 600; text-transform: none; color: var(--pbj-ov-muted, #9DA9BC);
}
.pbj-metric__label .pbj-info-chip {
  text-transform: none; letter-spacing: 0; margin-left: 0.05rem;
}
.pbj-metric__value {
  font-size: 1.32rem; font-weight: 700; color: var(--pbj-ov-text, #E6EBF3); font-variant-numeric: tabular-nums;
  line-height: 1.15; word-break: break-word;
}
.pbj-metric__value-main {
  display: block;
}
.pbj-metric__value-sub {
  display: block; font-size: 0.68rem; font-weight: 600; color: var(--pbj-ov-muted, #9DA9BC);
  text-transform: uppercase; letter-spacing: 0.04em; margin-top: 0.15rem;
}
.pbj-metric__hint {
  font-size: 0.7rem; color: var(--pbj-ov-muted, #9DA9BC); line-height: 1.25; font-variant-numeric: tabular-nums;
}
.pbj-metric--hprd {
  border-color: rgba(251, 146, 60, 0.22);
}
.pbj-metric--hprd .pbj-metric__value { color: #fb923c; font-size: 1.65rem; letter-spacing: -0.02em; }
.pbj-metric--teal .pbj-metric__value { color: var(--pbj-data); }
.pbj-metric--spark {
  min-width: 0;
}
.pbj-metric--spark .pbj-metric__body {
  display: inline-flex; align-items: flex-start; justify-content: flex-start;
  gap: 0.35rem; width: max-content; max-width: 100%;
  align-self: flex-start; margin-top: 0;
}
.pbj-metric--spark .pbj-metric__primary {
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.06rem;
  min-width: 0; flex: 0 0 auto; width: auto;
}
.pbj-metric--spark .pbj-metric__primary .pbj-metric__value {
  flex: 0 0 auto; line-height: 1.15;
}
.pbj-metric--spark .pbj-metric__secondary {
  margin-top: 0; flex: 0 0 auto;
}
.pbj-metric > .pbj-metric__primary {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0.45rem 0.55rem;
}
.pbj-metric__quarter {
  display: inline-block; font-size: 0.78rem; font-weight: 600; color: var(--pbj-ov-muted, #9DA9BC);
  line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.pbj-hprd-spark {
  flex: 0 0 auto; width: 6.75rem; height: 2.0rem; display: block;
  margin: 0; margin-left: 0 !important; margin-right: 0;
  overflow: hidden; align-self: flex-start; margin-top: 0.12rem;
}
.pbj-hprd-spark-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.pbj-takeaway.pbj-content-box {
  margin: 0.65rem 0 0.85rem; padding: 0.85rem 0.95rem; border-radius: 12px;
}
.pbj-page-overview .pbj-takeaway,
.pbj-takeaway.pbj-takeaway--in-overview {
  margin: 0.55rem 0 0; padding: 1.1rem 1.2rem; border-radius: 12px;
  background: var(--pbj-ov-elevated, #181F2E);
  border: 1px solid var(--pbj-ov-border, #2A3448) !important;
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.pbj-page-overview:has(.pbj-page-metrics) .pbj-takeaway,
.pbj-page-overview:has(.pbj-page-metrics) .pbj-takeaway.pbj-takeaway--in-overview {
  margin-top: 0.95rem;
}
.pbj-page-overview .pbj-takeaway:hover,
.pbj-takeaway.pbj-takeaway--in-overview:hover {
  border-color: rgba(129, 140, 248, 0.28) !important; box-shadow: none;
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-top { margin-bottom: 0.4rem; gap: 0.65rem; }
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-avatar { width: 36px; height: 36px; border-width: 1.5px; }
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-header {
  font-size: 1.05rem; font-weight: 700; color: var(--pbj-accent, #818cf8); letter-spacing: -0.01em;
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative {
  max-width: none; width: 100%; font-size: 0.92rem; line-height: 1.55; color: var(--pbj-ov-text, #E6EBF3);
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative strong {
  color: var(--pbj-ov-text, #E6EBF3); font-weight: 700;
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative .pbj-high-risk-help-wrap {
  position: relative; display: inline; white-space: nowrap;
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative .pbj-high-risk-tooltip {
  position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%);
  z-index: 40; visibility: hidden; opacity: 0; pointer-events: none;
  white-space: normal;
}
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative .pbj-high-risk-help-wrap:hover .pbj-high-risk-tooltip,
.pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative .pbj-high-risk-help-wrap:focus-within .pbj-high-risk-tooltip {
  visibility: visible; opacity: 1;
}
.pbj-takeaway-support {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0; margin: 0.7rem 0 0; border-top: 1px solid var(--pbj-ov-border, #2A3448);
}
.pbj-takeaway-support--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pbj-takeaway-support--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pbj-takeaway-support__item {
  display: block; padding: 0.55rem 0.75rem 0.35rem; min-width: 0; overflow: visible;
  border-right: 1px solid var(--pbj-ov-border, #2A3448);
}
.pbj-takeaway-support__item:last-child { border-right: 0; }
.pbj-takeaway-support__item--benchmark { background: transparent; }
.pbj-takeaway-support__item--span {
  grid-column: 1 / -1;
  border-right: 0;
  border-top: 1px solid var(--pbj-ov-border, #2A3448);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem;
  padding-top: 0.55rem;
}
.pbj-takeaway-support__item--span .pbj-takeaway-support__label { margin-bottom: 0; }
.pbj-takeaway-support__item--span .pbj-takeaway-support__value {
  display: inline; font-size: 1.05rem;
}
.pbj-takeaway-support__item--span .pbj-takeaway-support__hint {
  display: inline; margin-top: 0; margin-left: 0.15rem;
}
.pbj-takeaway-support__label {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 0.3rem; margin-bottom: 0.2rem;
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--pbj-ov-muted, #9DA9BC); line-height: 1.2; max-width: 100%;
}
.pbj-takeaway-support__label .pbj-info-chip {
  margin-left: 0.12rem;
}
.pbj-takeaway-support__icon {
  width: 0.85rem; height: 0.85rem; color: #64748b; flex-shrink: 0; opacity: 0.95;
}
.pbj-takeaway-support__label-text {
  min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pbj-takeaway-support__value {
  display: block; font-size: 1.05rem; font-weight: 700; color: var(--pbj-data);
  font-variant-numeric: tabular-nums; line-height: 1.25; overflow: visible;
  border-bottom: 1px solid color-mix(in srgb, var(--pbj-data) 28%, transparent); padding-bottom: 0.08rem;
  width: fit-content; max-width: 100%;
}
.pbj-takeaway-support__value:has(.pbj-state-min-badge) {
  border-bottom: none; padding-bottom: 0;
}
.pbj-takeaway-support__hint {
  display: block; margin-top: 0.12rem; font-size: 0.66rem; line-height: 1.3;
  color: var(--pbj-ov-muted, #9DA9BC);
}
.pbj-takeaway-support__value-row {
  display: flex; align-items: baseline; gap: 0.28rem; flex-wrap: nowrap;
  max-width: 100%; min-width: 0;
}
.pbj-takeaway-support__value-row .pbj-takeaway-support__value {
  display: inline; width: auto; max-width: none;
}
.pbj-takeaway-support__hint--unit {
  display: inline; margin-top: 0; font-size: 0.72rem; font-weight: 600;
  color: var(--pbj-ov-muted, #9DA9BC); white-space: nowrap; line-height: 1.2;
}
.pbj-takeaway-support__value .pbj-state-min-badge {
  margin: 0; font-size: 0.8rem; border-radius: 999px; padding: 0.18rem 0.55rem;
  max-width: 100%; white-space: nowrap; overflow: visible;
  text-decoration: none; border-bottom: none;
}
button.pbj-info-chip {
  /* Neutral, low-contrast affordance -- a quiet "there's more info here" hint,
     not a bright accent-colored element competing with real content. */
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  width: 0.9rem; height: 0.9rem; padding: 0; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 0.58rem; font-weight: 600; line-height: 1; color: var(--pbj-text-subtle);
  background: var(--pbj-surface-soft); border: 1px solid var(--pbj-border);
}
button.pbj-info-chip:hover { background: var(--pbj-surface-inset); color: var(--pbj-text); }
button.pbj-info-chip:focus-visible { outline: 2px solid var(--pbj-accent); outline-offset: 2px; }
.pbj-takeaway-caveat {
  margin: 0.28rem 0 0; font-size: 0.7rem; line-height: 1.3; color: rgba(148, 163, 184, 0.78);
}
.pbj-entity-hr-insight {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0.65rem 0 0;
  padding: 0.65rem 0 0;
  border-radius: 0;
  border: 0;
  border-top: 1px solid var(--pbj-border);
  background: transparent;
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--pbj-text);
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.pbj-entity-hr-insight__badge {
  /* Secondary classification badge -- reads as a label next to the takeaway
     copy, not a second headline competing with it. */
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.28rem;
  margin: 0;
  padding: 0.18rem 0.45rem;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  /* Same theme-aware tint strength as the other danger badges site-wide
     (see --pbj-danger-bg-pct/-border-pct) -- a flat opacity tuned for dark
     surfaces reads as barely-there on a near-white one. */
  color: var(--pbj-danger-text, var(--pbj-danger));
  background: color-mix(in srgb, var(--pbj-danger) var(--pbj-danger-bg-pct, 14%), transparent);
  border: 1px solid color-mix(in srgb, var(--pbj-danger) var(--pbj-danger-border-pct, 40%), var(--pbj-border));
  white-space: nowrap;
  max-width: none;
  line-height: 1.2;
  align-self: start;
}
.pbj-entity-hr-insight__badge .pbj-entity-hr-insight__icon {
  width: 0.78rem; height: 0.78rem; flex-shrink: 0; opacity: 0.8;
}
.pbj-entity-hr-insight__copy {
  flex: 1 1 auto;
  min-width: 0;
}
.pbj-entity-hr-insight__text {
  margin: 0;
  font-size: inherit;
  line-height: 1.4;
  color: inherit;
  text-wrap: pretty;
}
.pbj-entity-hr-insight__text strong { color: var(--pbj-text); font-weight: 700; }
.pbj-page-summary-meta .pbj-meta-sep {
  color: var(--pbj-ov-muted, #9DA9BC); margin: 0 0.05rem;
}
.pbj-metric--ratings .pbj-metric__label {
  font-size: 0.72rem; letter-spacing: 0.05em;
}
.pbj-metric--ratings .pbj-metric__ratings-row {
  display: flex; flex-direction: column; gap: 0; margin-top: 0;
}
.pbj-metric--ratings .pbj-metric__rating-block {
  display: block; min-width: 0; line-height: 1; margin: 0;
}
.pbj-metric--ratings .pbj-metric__rating-line {
  display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 0.22rem 0.3rem; min-width: 0;
  line-height: 1;
}
.pbj-metric--ratings .pbj-metric__rating-kind {
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.01em; text-transform: none;
  color: var(--pbj-ov-muted, #9DA9BC); line-height: 1; white-space: nowrap;
}
.pbj-metric--ratings .pbj-metric__rating-stars,
.pbj-metric--ratings .pbj-metric__rating-stars--overall,
.pbj-metric--ratings .pbj-metric__rating-stars--staffing,
.pbj-metric--ratings .pbj-metric__rating-stars--health {
  font-size: 0.95rem; line-height: 1; opacity: 1; white-space: nowrap;
}
.pbj-metric__secondary {
  display: block; margin-top: 0.12rem; font-size: 0.72rem; color: var(--pbj-ov-muted, #9DA9BC);
  font-variant-numeric: tabular-nums; line-height: 1.3; flex: 1 0 100%;
}
.pbj-takeaway .pbj-takeaway-narrative {
  margin: 0.3rem 0 0; font-size: 0.94rem; line-height: 1.5; color: var(--pbj-ov-text, #E6EBF3);
}
.pbj-takeaway .pbj-takeaway-narrative + .pbj-takeaway-narrative { margin-top: 0.35rem; }
#state-outline-wrap.pbj-state-outline-compact {
  width: 52px; height: 52px; opacity: 0.1; top: 0.2rem; right: 0.1rem;
}
.pbj-page-overview + .pbj-chart-container,
.pbj-page-overview ~ .pbj-chart-container {
  margin-top: 0.45rem;
}
.pbj-page-overview {
  margin-bottom: 1.65rem;
}
.pbj-casemix-card-head { margin-bottom: 0.35rem; }
.pbj-casemix-section-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; flex-wrap: wrap; }
.pbj-casemix-section-header--compact { margin-bottom: 0.2rem; }
.pbj-casemix-section-header--compact .pbj-casemix-eyebrow { margin: 0; }
.pbj-casemix-help-trigger--corner { flex-shrink: 0; }
.pbj-casemix-section-title { margin: 0; flex: 1 1 auto; min-width: 0; font-size: 1.35em; font-weight: 700; color: #818cf8; letter-spacing: 0.02em; line-height: 1.25; }
.pbj-casemix-quarter { font-size: 0.6em; font-weight: 500; color: var(--pbj-text-subtle, #94a3b8); letter-spacing: 0; margin-left: 0.3em; vertical-align: middle; }
.pbj-casemix-card-body { display: flex; flex-direction: column; gap: 0.65rem; width: 100%; min-width: 0; }
.pbj-casemix-card-body--v17 {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.pbj-casemix-card-body--v17 .pbj-casemix-lead { margin-bottom: 0.02rem; }
.pbj-casemix-card-body--v17 .pbj-casemix-total-section { min-width: 0; }
.pbj-casemix-card-body--v17 .pbj-casemix-hero-panel { margin: 0; padding: 0.36rem 0.48rem 0.34rem; }
.pbj-casemix-card-body--v17 .pbj-casemix-caveat-foot { margin-top: 0.06rem; max-width: 42rem; font-size: 0.62rem; line-height: 1.38; }
.pbj-casemix-card-body--v19 {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.pbj-casemix-split-v19 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.65rem 0.85rem;
  align-items: stretch;
  width: 100%;
}
.pbj-casemix-split-v19 .pbj-casemix-split-col { min-width: 0; }
.pbj-casemix-split-v19 .pbj-casemix-split-col--primary {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
  height: 100%;
}
.pbj-casemix-split-v19 .pbj-casemix-summary,
.pbj-casemix-split-v19 .pbj-casemix-hero,
.pbj-casemix-split-v19 .pbj-casemix-hero .pbj-casemix-bars {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.pbj-casemix-split-v19 .pbj-casemix-split-col--roles {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.pbj-casemix-card-body--v19 .pbj-casemix-hero-panel {
  margin: 0;
  padding: 0.48rem 0.52rem 0.44rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.pbj-casemix-card-body--v19 .pbj-casemix-hero-panel .pbj-casemix-pct-track { height: 16px; border-radius: 5px; width: 100%; }
.pbj-casemix-card-body--v19 .pbj-casemix-hero-main {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 0;
  margin-top: 0.1rem;
  gap: 0.1rem;
}
.pbj-casemix-card-body--v19 .pbj-casemix-hero-copy { width: 100%; flex: 0 0 auto; max-width: 100%; }
.pbj-casemix-card-body--v19 .pbj-casemix-split-col--roles .pbj-casemix-bars { justify-content: flex-start; gap: 0.1rem; }
.pbj-casemix-card-body--v19 .pbj-casemix-breakdown-row {
  flex: 0 0 auto;
  padding: 0.5rem 0;
  gap: 0.3rem;
  border-top: 0;
}
.pbj-casemix-card-body--v19 .pbj-casemix-breakdown-row + .pbj-casemix-breakdown-row {
  border-top: 1px solid var(--pbj-border, rgba(51, 65, 85, 0.28));
  padding-top: 0.5rem;
  margin-top: 0;
}
.pbj-casemix-card-body--v19 .pbj-casemix-breakdown-main { max-width: 100%; width: 100%; flex: 1 1 100%; gap: 0.05rem; }
.pbj-casemix-card-body--v19 .pbj-casemix-breakdown-aside { display: none; }
.pbj-casemix-card-body--v19 .pbj-casemix-sub-line { margin: 0; line-height: 1.22; font-size: 0.6rem; gap: 0.15rem 0.3rem; }
.pbj-casemix-card-body--v19 .pbj-casemix-sub-line--role {
  display: block;
  line-height: 1.26;
  font-size: 0.62rem;
  white-space: normal;
}
.pbj-casemix-card-body--v19 .pbj-casemix-sub-line .secondary { font-size: 0.56rem; color: rgba(148, 163, 184, 0.95); font-weight: 500; }
.pbj-casemix-card-body--v19 .pbj-casemix-total-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.28rem 0.45rem;
}
.pbj-casemix-card-body--v19 .pbj-casemix-total-pctline {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.34;
  color: #f1f5f9;
  font-variant-numeric: tabular-nums;
}
.pbj-casemix-card-body--v19 .pbj-casemix-total-pctline .meta {
  font-size: 0.6rem;
  font-weight: 500;
  color: rgba(148, 163, 184, 0.96);
}
.pbj-casemix-card-body--v19 .pbj-casemix-bars {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 auto;
  min-height: 0;
  gap: 0;
}
.pbj-casemix-card-body--v19 .pbj-casemix-details--adaptive {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.pbj-casemix-card-body--v19 .pbj-casemix-caveat-foot {
  margin-top: 0.06rem;
  max-width: none;
  font-size: 0.62rem;
  line-height: 1.38;
}
@media (min-width: 769px) {
  .pbj-casemix-card-body--v19 .pbj-casemix-details--adaptive > summary { display: none !important; }
  .pbj-casemix-card-body--v19 .pbj-casemix-details--adaptive .pbj-casemix-details-body {
    display: block !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    margin: 0;
    flex: 1 1 auto;
    min-height: 0;
  }
}
.pbj-casemix-acuity-lines { display: flex; flex-direction: column; gap: 0.18rem; min-width: 0; }
.pbj-casemix-acuity-line { margin: 0; font-size: 0.64rem; line-height: 1.35; color: rgba(203, 213, 225, 0.92); font-variant-numeric: tabular-nums; }
.pbj-casemix-acuity-line .k { font-weight: 600; color: rgba(148, 163, 184, 0.95); margin-right: 0.15rem; }
.pbj-casemix-acuity-section .pbj-casemix-acuity-medians { margin: 0.1rem 0 0; font-size: 0.58rem; line-height: 1.32; color: rgba(148, 163, 184, 0.88); font-variant-numeric: tabular-nums; }
.pbj-casemix-lead { margin: 0 0 0.15rem; min-width: 0; }
.pbj-casemix-lead-line { margin: 0 0 0.18rem; font-size: 0.78rem; line-height: 1.4; color: #e2e8f0; font-weight: 600; }
.pbj-casemix-lead-sub { margin: 0; font-size: 0.68rem; line-height: 1.35; color: rgba(148, 163, 184, 0.96); font-variant-numeric: tabular-nums; }
.pbj-casemix-stat-grid { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.pbj-casemix-stat-row { display: flex; flex-direction: column; gap: 0.06rem; padding: 0.3rem 0; border-bottom: 1px solid rgba(51, 65, 85, 0.38); }
.pbj-casemix-stat-row:last-child { border-bottom: 0; padding-bottom: 0; }
.pbj-casemix-stat-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.4rem; font-size: 0.72rem; line-height: 1.32; color: #f1f5f9; font-variant-numeric: tabular-nums; }
.pbj-casemix-stat-label { font-weight: 600; color: rgba(203, 213, 225, 0.95); }
.pbj-casemix-stat-value { font-weight: 700; color: #f8fafc; }
.pbj-casemix-stat-sublabel { margin: 0; font-size: 0.58rem; line-height: 1.3; color: rgba(148, 163, 184, 0.92); }
.pbj-casemix-acuity-section { min-width: 0; padding-top: 0.08rem; }
.pbj-casemix-col-title--sub { font-size: 0.62rem; margin-bottom: 0.22rem; color: rgba(148, 163, 184, 0.88); }
.pbj-casemix-total-block { gap: 0.28rem; }
.pbj-casemix-total-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.22rem 0.4rem; }
.pbj-casemix-total-pctline { margin: 0; font-size: 0.76rem; font-weight: 700; color: #f1f5f9; font-variant-numeric: tabular-nums; line-height: 1.3; }
.pbj-casemix-total-hprd { margin: 0; font-size: 0.6rem; line-height: 1.32; color: rgba(148, 163, 184, 0.95); font-variant-numeric: tabular-nums; }
.pbj-casemix-total-bar-wrap { margin: 0.12rem 0 0.06rem; }
.pbj-casemix-pos-label { margin: 0; font-size: 0.68rem; font-weight: 600; line-height: 1.32; color: #f1f5f9; font-variant-numeric: tabular-nums; }
.pbj-casemix-pos-hprd { margin: 0; font-size: 0.58rem; line-height: 1.3; color: rgba(148, 163, 184, 0.95); font-variant-numeric: tabular-nums; }
.pbj-casemix-pct-row { display: flex; align-items: center; gap: 0.35rem; min-width: 0; }
.pbj-casemix-pct-row .pbj-casemix-pct-bar { flex: 1 1 auto; min-width: 0; }
.pbj-casemix-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.65rem 0.85rem; align-items: start; width: 100%; }
.pbj-casemix-split-col { min-width: 0; }
.pbj-casemix-col-title { margin: 0 0 0.35rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(148, 163, 184, 0.95); }
.pbj-casemix-roles-head { display: flex; align-items: center; justify-content: space-between; gap: 0.45rem; margin-bottom: 0.35rem; }
.pbj-casemix-roles-head .pbj-casemix-col-title { margin: 0; }
button.pbj-casemix-pos-help {
  width: 1.35rem; height: 1.35rem; border-radius: 999px; border: 1px solid rgba(129, 140, 248, 0.4);
  background: rgba(30, 41, 59, 0.65); color: #c7d2fe; font-size: 0.72rem; font-weight: 700; line-height: 1;
  cursor: pointer; font-family: Georgia, 'Times New Roman', serif; flex-shrink: 0;
}
button.pbj-casemix-pos-help:hover { background: rgba(51, 65, 85, 0.75); }
button.pbj-casemix-pos-help:focus-visible { outline: 2px solid rgba(129, 140, 248, 0.65); outline-offset: 2px; }
.pbj-casemix-hero-cm-value { margin: 0 0 0.22rem; font-size: 0.82rem; line-height: 1.3; color: #f8fafc; font-variant-numeric: tabular-nums; }
.pbj-casemix-hero-cm-label { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: rgba(148, 163, 184, 0.95); margin-right: 0.35rem; }
.pbj-casemix-hero-cm-num { font-weight: 700; font-size: 0.92rem; color: #e0e7ff; }
.pbj-casemix-hero-reported-line { margin: 0 0 0.28rem; font-size: 0.68rem; line-height: 1.32; color: rgba(203, 213, 225, 0.94); }
.pbj-casemix-cmi-source-note { margin: 0; font-size: 0.58rem; line-height: 1.32; color: rgba(148, 163, 184, 0.92); }
.pbj-casemix-cmi-source-note[hidden] { display: none !important; }
.pbj-chart-anomaly-foot:empty { display: none; }
button.pbj-casemix-role-help {
  margin-left: 0.25rem; width: 1rem; height: 1rem; border-radius: 999px; border: 1px solid rgba(100, 116, 139, 0.55);
  background: transparent; color: rgba(165, 180, 252, 0.95); font-size: 0.62rem; font-weight: 700; line-height: 1;
  cursor: pointer; font-family: Georgia, 'Times New Roman', serif; vertical-align: middle;
}
.pbj-casemix-summary { width: 100%; max-width: 100%; min-width: 0; }
.pbj-casemix-card-eyebrow { flex-shrink: 0; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #94a3b8; line-height: 1.15; }
.pbj-casemix-interpret { margin: 0.22rem 0 0; font-size: 0.6rem; line-height: 1.32; color: rgba(203, 213, 225, 0.88); font-weight: 400; }
button.pbj-casemix-help-trigger { display: inline-flex; align-items: center; gap: 0.35rem; margin-left: auto; padding: 0.28rem 0.5rem 0.28rem 0.62rem; border-radius: 6px; background: rgba(124, 145, 255, 0.10); border: 1px solid rgba(124, 145, 255, 0.28); flex-shrink: 0; cursor: pointer; font-family: inherit; line-height: 1.2; color: #d7defe; }
button.pbj-casemix-help-trigger:hover { background: rgba(124, 145, 255, 0.16); border-color: rgba(124, 145, 255, 0.4); }
button.pbj-casemix-help-trigger:focus-visible { outline: 2px solid rgba(129, 140, 248, 0.55); outline-offset: 2px; }
button.pbj-hprd-means-trigger {
  display: inline-flex; align-items: center; margin: 0; padding: 0.45rem 0.9rem;
  border-radius: 8px; background: rgba(30, 41, 59, 0.72);
  border: 1px solid rgba(129, 140, 248, 0.5);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 2px 10px rgba(2, 6, 23, 0.35);
  cursor: pointer; font-family: inherit; font-size: 0.8125rem; font-weight: 600;
  line-height: 1.3; color: #e0e7ff;
  text-decoration: underline; text-decoration-color: rgba(165, 180, 252, 0.65);
  text-underline-offset: 3px; text-decoration-thickness: 1px;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
button.pbj-hprd-means-trigger:hover {
  background: rgba(49, 46, 129, 0.45); border-color: rgba(165, 180, 252, 0.72);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) inset, 0 4px 14px rgba(99, 102, 241, 0.22);
  color: #f8fafc; text-decoration-color: rgba(199, 210, 254, 0.95);
}
button.pbj-hprd-means-trigger:active {
  transform: translateY(1px); box-shadow: 0 1px 4px rgba(2, 6, 23, 0.4);
}
button.pbj-hprd-means-trigger:focus-visible {
  outline: 2px solid rgba(129, 140, 248, 0.75); outline-offset: 2px;
}
.pbj-hprd-means-val { font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.pbj-takeaway-top { display: flex; align-items: center; gap: 12px; margin-bottom: 0.55rem; }
.pbj-takeaway-avatar { border-radius: 50%; object-fit: cover; border: 2px solid rgba(129, 140, 248, 0.4); flex-shrink: 0; width: 48px; height: 48px; }
.pbj-takeaway-top-main { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem 0.75rem; }
.pbj-takeaway-top-flags {
  display: inline-flex; flex-shrink: 0; margin-left: auto; max-width: min(100%, 18rem);
  justify-content: flex-end;
}
.pbj-takeaway-top-flags .pbj-takeaway-priority-flags {
  justify-content: flex-end;
}
.pbj-rating-stars-fractional { position: relative; display: inline-block; line-height: 1; vertical-align: middle; }
.pbj-rating-stars-bg { color: rgba(148, 163, 184, 0.35); letter-spacing: 0.06em; }
.pbj-rating-stars-fill { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: #fbbf24; letter-spacing: 0.06em; }
.pbj-rating-stars-fill--low { color: #f87171; }
.pbj-chart-header-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem 0.75rem; flex-wrap: wrap; margin-bottom: 0.25rem; }
.pbj-chart-header-row .pbj-chart-header { flex: 1 1 auto; min-width: 0; margin-bottom: 0 !important; }
.pbj-staffing-role-chart .pbj-chart-header-row {
  display: grid; grid-template-columns: 1fr minmax(0, auto) 1fr; align-items: start; gap: 0.5rem 0.75rem;
}
.pbj-staffing-role-chart .pbj-chart-header-row .pbj-chart-header {
  grid-column: 2; justify-self: center; text-align: center; flex: unset; width: 100%; max-width: 100%;
}
.pbj-staffing-role-chart .pbj-staffing-role-tabs { grid-column: 3; justify-self: end; }
/* State chart provenance trigger: absolutely positioned within the chart
   container (already position:relative) so it sits in the title's own
   corner instead of pushing a blank row below the heading. */
.pbj-chart-provenance {
  position: absolute; top: 0.15rem; right: 0.15rem; z-index: 5;
}
.pbj-staffing-role-tabs { display: inline-flex; align-items: center; gap: 0.2rem; flex-shrink: 0; padding: 0.15rem; border-radius: 8px; background: var(--pbj-surface-inset); border: 1px solid var(--pbj-border); }
button.pbj-staffing-role-tab { appearance: none; border: none; background: transparent; color: var(--pbj-text-subtle); font: inherit; font-size: 0.72rem; font-weight: 600; line-height: 1.2; padding: 0.28rem 0.55rem; border-radius: 6px; cursor: pointer; white-space: nowrap; }
button.pbj-staffing-role-tab:hover { color: var(--pbj-text); background: var(--pbj-surface); }
button.pbj-staffing-role-tab.is-active { color: var(--pbj-accent); background: var(--pbj-surface); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); }
.pbj-staffing-role-tab-short { display: none; }
.pbj-staffing-role-chart .pbj-chart-wrapper {
  height: 260px;
  min-height: 260px;
  max-height: 260px;
  flex: 0 0 260px;
}
.pbj-chart-foot-row {
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start;
  gap: 0.2rem 0.55rem; margin: 0.28rem 0 0; min-height: 0; flex: 0 0 auto;
}
.pbj-staffing-role-chart .pbj-chart-wrapper > .pbj-staffing-aide-note {
  display: none !important;
}
.pbj-staffing-aide-note {
  flex: 1 1 100%; min-width: 0; margin: 0; font-size: 0.62rem; line-height: 1.28;
  color: rgba(148, 163, 184, 0.92); text-align: left;
}
.pbj-staffing-aide-note[hidden] { display: none !important; }
.pbj-chart-foot-row .pbj-chart-anomaly-foot {
  flex: 1 1 100%; min-width: 0; margin: 0; text-align: left;
  font-size: 0.65rem; line-height: 1.35; color: rgba(148, 163, 184, 0.92);
}
.pbj-chart-foot-row .pbj-chart-anomaly-foot:empty { display: none; margin: 0; padding: 0; }
.pbj-aide-note-short { display: none; }
@media (max-width: 1100px) and (min-width: 769px) {
  .pbj-takeaway-support--n4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pbj-takeaway-support--n4 .pbj-takeaway-support__item:nth-child(2n) { border-right: 0; }
  .pbj-takeaway-support--n4 .pbj-takeaway-support__item:nth-child(n+3) {
    border-top: 1px solid var(--pbj-ov-border, #2A3448);
  }
  /* Keep takeaway primary + support n3 at 3 columns. */
  .pbj-takeaway-metrics--n3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pbj-takeaway-support--n3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-kind {
    font-size: 0.62rem;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--overall,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--staffing,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--health {
    font-size: 0.78rem; letter-spacing: -0.03em;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-rating-stars {
    letter-spacing: -0.03em;
  }
}
@media (max-width: 768px) {
  .pbj-chart-foot-row { flex-direction: column; align-items: stretch; gap: 0.25rem; }
  .pbj-chart-foot-row .pbj-chart-anomaly-foot { text-align: left; }
  .pbj-aide-note-full { display: none; }
  .pbj-aide-note-short { display: inline; }
}
.pbj-takeaway-flag-badge { flex-shrink: 0; }
.pbj-takeaway-priority-flags {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem;
}
.pbj-takeaway-priority-flags .pbj-takeaway-flag-badge {
  display: inline-flex; align-items: center; gap: 0.2rem;
}
.pbj-takeaway-priority-flags .pbj-high-risk-help-wrap {
  position: relative; display: inline-flex; flex-shrink: 0;
}
.pbj-takeaway-priority-flags .pbj-high-risk-tooltip {
  position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  margin-bottom: 0; opacity: 0; visibility: hidden; pointer-events: none;
}
.pbj-takeaway-priority-flags .pbj-high-risk-help-wrap:hover .pbj-high-risk-tooltip,
.pbj-takeaway-priority-flags .pbj-risk-badge-with-info:focus-within .pbj-high-risk-tooltip,
.pbj-takeaway-priority-flags .pbj-risk-badge-info-wrap.is-open .pbj-high-risk-tooltip {
  opacity: 1; visibility: visible;
}
.pbj-takeaway-badges .pbj-risk-badge-with-info:focus-within .pbj-high-risk-tooltip,
.pbj-takeaway-badges .pbj-risk-badge-info-wrap.is-open .pbj-high-risk-tooltip {
  opacity: 1; visibility: visible;
}
.pbj-takeaway-star-flag .pbj-rating-stars { margin-left: 0.12rem; }
.pbj-takeaway-header { font-size: 16px; font-weight: bold; color: var(--pbj-ov-text); min-width: 0; line-height: 1.25; flex: 1; }
.pbj-takeaway-title-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pbj-takeaway-actions { margin-top: 0.55rem; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem 0.75rem; }
.pbj-takeaway-actions__hprd { flex: 1; min-width: 0; display: flex; align-items: center; }
.pbj-takeaway-actions__share { flex-shrink: 0; }
.pbj-takeaway-actions--share-only { justify-content: flex-end; }
.pbj-takeaway-actions--share-only .pbj-takeaway-actions__hprd { display: none; }
button.pbj-takeaway-share-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; margin: 0;
  padding: 0.38rem 0.72rem; border-radius: 8px; font-family: inherit; font-size: 0.75rem; font-weight: 600;
  line-height: 1.25; color: #94a3b8; background: rgba(15, 23, 42, 0.5); border: 1px solid rgba(71, 85, 105, 0.8);
  cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.pbj-takeaway-share-icon { width: 1rem; height: 1rem; flex-shrink: 0; }
button.pbj-takeaway-share-btn:hover {
  color: #e2e8f0; background: rgba(30, 41, 59, 0.75); border-color: rgba(129, 140, 248, 0.45);
}
  button.pbj-takeaway-share-btn:focus-visible { outline: 2px solid rgba(129, 140, 248, 0.65); outline-offset: 2px; }
.pbj-takeaway-actions__tools { display: inline-flex; align-items: center; gap: 0.35rem; flex-shrink: 0; }
.pbj-ai-chip { position: relative; display: inline-flex; align-items: center; }
.pbj-ai-chip__icons { display: inline-flex; align-items: center; gap: 0.2rem; }
.pbj-ai-icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.85rem; height: 1.85rem; padding: 0.2rem; border-radius: 7px;
  border: 1px solid rgba(203, 213, 225, 0.55); background: #f8fafc;
  cursor: pointer; transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
.pbj-ai-icon-btn:hover {
  border-color: rgba(129, 140, 248, 0.65); background: #fff;
  box-shadow: 0 2px 6px rgba(99, 102, 241, 0.2);
}
.pbj-ai-icon-btn:focus-visible { outline: 2px solid rgba(129, 140, 248, 0.65); outline-offset: 2px; }
.pbj-ai-chip__menu span { font-size: 1rem; line-height: 1; color: #475569; font-weight: 700; }
.pbj-ai-brand-icon { display: block; width: 14px; height: 14px; flex-shrink: 0; }
.pbj-ai-popover {
  position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 50;
  min-width: 9.5rem; padding: 0.3rem; border-radius: 8px;
  background: #1e293b; border: 1px solid rgba(129, 140, 248, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  display: flex; flex-direction: column; gap: 0.15rem;
}
.pbj-ai-popover[hidden] { display: none !important; }
.pbj-ai-popover__item, .pbj-ai-popover__link {
  display: block; width: 100%; text-align: left; font: inherit; font-size: 0.72rem; font-weight: 600;
  padding: 0.38rem 0.5rem; border: none; border-radius: 5px; background: transparent;
  color: #e2e8f0; cursor: pointer; text-decoration: none; line-height: 1.3;
}
.pbj-ai-popover__item:hover, .pbj-ai-popover__link:hover { background: rgba(49, 46, 129, 0.45); color: #f8fafc; }
.pbj-ai-launch { padding: 0; }
.pbj-ai-helper-compact {
  margin-top: 0.55rem; padding: 0.55rem 0.65rem; border-radius: 8px;
  border: 1px solid rgba(71, 85, 105, 0.55); background: rgba(15, 23, 42, 0.35);
  font-size: 0.78rem; line-height: 1.45; color: rgba(226, 232, 240, 0.88);
}
.pbj-ai-helper-compact__title { margin: 0 0 0.2rem; font-size: 0.8rem; font-weight: 600; color: #e2e8f0; }
.pbj-ai-helper-compact__body, .pbj-ai-helper-compact__hint { margin: 0 0 0.3rem; color: rgba(203, 213, 225, 0.9); }
.pbj-ai-helper-compact__hint { font-size: 0.72rem; color: rgba(148, 163, 184, 0.95); }
.pbj-ai-helper-compact__btns { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.25rem; }
.pbj-ai-helper-compact__btn {
  font: inherit; font-size: 0.72rem; font-weight: 600; padding: 0.32rem 0.55rem; border-radius: 6px;
  border: 1px solid rgba(129, 140, 248, 0.4); background: rgba(30, 41, 59, 0.65); color: #e2e8f0; cursor: pointer;
}
.pbj-ai-helper-compact__btn:hover { border-color: rgba(129, 140, 248, 0.65); background: rgba(49, 46, 129, 0.35); }
.pbj-ai-helper-compact__btn--link { text-decoration: none; display: inline-flex; align-items: center; }
.pbj-ai-helper-compact__btn--primary {
  border-color: rgba(129, 140, 248, 0.75); background: rgba(49, 46, 129, 0.55); color: #f8fafc;
}
.pbj-ai-page-helper__controls {
  display: flex; flex-wrap: wrap; gap: 0.45rem 0.75rem; align-items: center; margin: 0.3rem 0 0.15rem;
}
.pbj-ai-page-helper__actions {
  display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin-top: 0.2rem;
}
.pbj-ai-page-helper__icons { display: inline-flex; align-items: center; gap: 0.25rem; flex-shrink: 0; }
.pbj-ai-page-helper__footer {
  margin-top: 0.35rem; padding-top: 0.3rem; border-top: 1px solid rgba(71, 85, 105, 0.45);
  font-size: 0.68rem; color: rgba(148, 163, 184, 0.95);
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.15rem 0.3rem;
}
.pbj-ai-page-helper__footer-link {
  font: inherit; font-size: inherit; font-weight: 500; padding: 0; border: none; background: none;
  color: rgba(148, 163, 184, 0.98); cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.pbj-ai-page-helper__footer-link:hover { color: #e2e8f0; }
.pbj-ai-page-helper__footer-sep { opacity: 0.6; user-select: none; }
.pbj-ai-page-helper__more { position: relative; display: inline-flex; }
.pbj-ai-page-helper .pbj-ai-popover { bottom: calc(100% + 4px); min-width: 10rem; }
.pbj-ai-lens-wrap, .pbj-ai-length-wrap {
  display: flex; align-items: center; gap: 0.35rem; font-size: 0.72rem; margin: 0;
}
.pbj-ai-lens-label, .pbj-ai-length-label { color: rgba(148, 163, 184, 0.95); white-space: nowrap; }
.pbj-ai-lens-select, .pbj-ai-length-select {
  font: inherit; font-size: 0.72rem; font-weight: 600; padding: 0.22rem 0.4rem; border-radius: 6px;
  border: 1px solid rgba(100, 116, 139, 0.55); background: rgba(15, 23, 42, 0.65); color: #e2e8f0;
  max-width: 100%;
}
.pbj-ai-provider-bar {
  margin-top: 0.4rem; display: flex; flex-wrap: nowrap; align-items: center; gap: 0.35rem 0.45rem;
  font-size: 0.72rem;
}
.pbj-ai-provider-bar__row--top,
.pbj-ai-provider-bar__row--actions {
  display: contents;
}
.pbj-ai-provider-bar__sep {
  color: rgba(100, 116, 139, 0.8); user-select: none; flex-shrink: 0; font-weight: 300;
}
.pbj-ai-provider-bar__spacer {
  flex: 1 1 auto; min-width: 0.35rem;
}
.pbj-ai-provider-bar__share {
  display: inline-flex; align-items: center; flex-shrink: 0; margin-left: auto;
}
.pbj-ai-provider-bar__actions {
  display: inline-flex; align-items: center; gap: 0.35rem 0.4rem; flex-shrink: 0; flex-wrap: nowrap;
}
.pbj-ai-provider-bar__cta {
  display: inline-flex; align-items: center; gap: 0.3rem; flex-shrink: 0; flex-wrap: nowrap;
}
.pbj-ai-pbjai-info {
  display: inline-flex; align-items: center; gap: 0.28rem; flex-shrink: 0;
  font: inherit; font-size: 0.7rem; font-weight: 700; line-height: 1;
  padding: 0.32rem 0.55rem; border-radius: 7px; cursor: pointer;
  border: 1px solid rgba(148, 163, 184, 0.72); background: rgba(30, 41, 59, 0.92);
  color: #f8fafc; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}
.pbj-ai-pbjai-info:hover {
  border-color: rgba(203, 213, 225, 0.88); background: rgba(51, 65, 85, 0.98);
}
.pbj-ai-pbjai-mark { display: inline-flex; align-items: baseline; gap: 0; letter-spacing: 0.01em; }
.pbj-ai-pbjai-pbj { color: #f8fafc; font-weight: 700; }
.pbj-ai-pbjai-ai { color: #a5b4fc; font-weight: 700; }
.pbj-ai-beta-modal .pbj-ai-pbjai-pbj { color: #f8fafc; }
.pbj-ai-beta-modal .pbj-ai-pbjai-ai { color: #a78bfa; }
.pbj-ai-beta-modal h3 {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem 0.4rem; line-height: 1.2;
}
.pbj-ai-pbjai-hint {
  display: none;
}
.pbj-ai-length-mode {
  display: inline-flex; align-items: center; gap: 0.2rem; flex-shrink: 0;
  padding: 0.12rem; border-radius: 7px; border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(15, 23, 42, 0.55);
}
.pbj-ai-length-mode__btn {
  font: inherit; font-size: 0.64rem; font-weight: 700; line-height: 1;
  padding: 0.28rem 0.45rem; border-radius: 5px; cursor: pointer; border: none;
  background: transparent; color: rgba(203, 213, 225, 0.88);
}
.pbj-ai-length-mode__btn:hover { color: #f1f5f9; background: rgba(51, 65, 85, 0.55); }
.pbj-ai-length-mode__btn.is-active {
  background: rgba(51, 65, 85, 0.9); color: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.35);
}
.pbj-takeaway-badges {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
.pbj-hprd-badge {
  display: inline-flex; align-items: center; gap: 0.28rem; font: inherit;
  align-self: center; line-height: 1.25; box-sizing: border-box;
}
.pbj-hprd-badge--help {
  font: inherit; margin: 0; cursor: pointer; vertical-align: middle;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.pbj-hprd-badge--help:hover {
  border-color: rgba(148, 163, 184, 0.75) !important;
  box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.2);
}
.pbj-hprd-badge__val--wide { display: none; }
.pbj-hprd-badge__hint {
  display: inline-flex; align-items: center; justify-content: center; align-self: center;
  margin-left: 0.28rem; margin-top: 0; position: relative; top: -0.1em;
  color: rgba(148, 163, 184, 0.88); transition: color 0.15s;
}
.pbj-hprd-badge__hint-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.05rem; height: 1.05rem;
  font: 700 0.62em/1 Georgia, "Times New Roman", serif;
  font-style: italic; color: rgba(226, 232, 240, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.65); border-radius: 50%;
  background: rgba(15, 23, 42, 0.35); padding: 0; box-sizing: border-box;
}
.pbj-hprd-badge--help:hover .pbj-hprd-badge__hint {
  color: rgba(226, 232, 240, 0.98);
}
.pbj-hprd-badge--help:hover .pbj-hprd-badge__hint-mark {
  color: rgba(248, 250, 252, 0.98);
}
.pbj-hprd-badge--help:focus-visible {
  outline: 2px solid rgba(148, 163, 184, 0.55); outline-offset: 2px;
}
@media (min-width: 769px) {
  .pbj-hprd-badge__val--compact { display: none; }
  .pbj-hprd-badge__val--wide { display: inline; }
}
.pbj-takeaway-badges .pbj-compliance-badge {
  display: none !important;
}
.pbj-compliance-warning--threshold {
  padding: 0.5rem 0.65rem !important;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.pbj-compliance-warning__lines {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.65rem;
  row-gap: 0.22rem;
}
.pbj-compliance-warning--threshold .pbj-compliance-warning__lines {
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0;
  font-size: inherit;
  line-height: inherit;
}
.pbj-compliance-warning__mobile-line1 {
  display: none;
  margin: 0;
  font-weight: 500;
  line-height: 1.38;
}
.pbj-compliance-warning__copy--desktop {
  display: inline;
  font-weight: 500;
}
.pbj-compliance-warning__min {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: inherit;
  font-weight: 600;
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
  cursor: pointer;
  white-space: normal;
  display: inline;
  vertical-align: baseline;
}
button.pbj-inline-modal-link,
a.pbj-inline-modal-link,
.pbj-takeaway-narrative button.pbj-inline-modal-link,
.pbj-takeaway-narrative a.pbj-inline-modal-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  color: var(--pbj-accent, #818cf8);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  vertical-align: baseline;
  max-width: 100%;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
button.pbj-inline-modal-link:hover,
button.pbj-inline-modal-link:focus-visible,
a.pbj-inline-modal-link:hover,
a.pbj-inline-modal-link:focus-visible {
  color: var(--pbj-accent-hover, #e0e7ff);
}
button.pbj-inline-modal-link:focus-visible,
a.pbj-inline-modal-link:focus-visible {
  outline: 2px solid rgba(129, 140, 248, 0.65);
  outline-offset: 2px;
  border-radius: 2px;
}
.pbj-compliance-warning__min:hover,
.pbj-compliance-warning__min:focus-visible {
  opacity: 1;
}
.pbj-compliance-warning__min:focus-visible {
  outline: 2px solid rgba(251, 191, 36, 0.55);
  outline-offset: 2px;
  border-radius: 2px;
}
.pbj-takeaway-narrative .pbj-compliance-warning__min {
  color: var(--pbj-accent);
  font-weight: 600;
}
.pbj-takeaway-compliance-note {
  margin-top: 0.35rem !important;
}
.pbj-compliance-warning__line1 {
  flex: 1 1 100%;
  font-weight: 500;
  line-height: 1.4;
}
.pbj-compliance-warning--threshold .pbj-compliance-warning__part {
  flex: 0 1 auto;
  min-width: 0;
  font-weight: 500;
}
.pbj-compliance-warning--threshold .pbj-compliance-warning__part--meta {
  font-weight: 400;
  opacity: 0.92;
  white-space: nowrap;
}
.pbj-compliance-warning__line2 {
  flex: 1 1 100%;
  font-size: 0.8125rem;
  line-height: 1.35;
  opacity: 0.92;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.35rem;
  row-gap: 0.15rem;
}
.pbj-compliance-warning__mid {
  flex: 0 0 auto;
  color: rgba(226, 232, 240, 0.42);
  user-select: none;
  font-weight: 700;
}
.pbj-compliance-warning__copy--desktop .pbj-compliance-warning__mid {
  margin: 0 0.38em;
}
.pbj-compliance-warning__meta-short {
  display: none;
}
@media (max-width: 640px) {
  .pbj-compliance-warning--threshold {
    font-size: 0.75rem;
  }
  .pbj-compliance-warning__copy--desktop {
    display: none;
  }
  .pbj-compliance-warning--threshold .pbj-compliance-warning__lines {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pbj-compliance-warning__mobile-line1 {
    display: inline;
    font-size: inherit;
    min-width: 0;
  }
  .pbj-compliance-warning__meta-long {
    display: none;
  }
  .pbj-compliance-warning__meta-short {
    display: inline;
  }
}
.pbj-compliance-warning__sep {
  color: rgba(226, 232, 240, 0.45);
  user-select: none;
}
.pbj-compliance-warning__flags {
  font-weight: 400;
  opacity: 0.88;
}
.pbj-compliance-warning__method {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.14em;
  cursor: pointer;
  opacity: 0.85;
}
.pbj-compliance-warning__method:hover,
.pbj-compliance-warning__method:focus-visible {
  opacity: 1;
}
.pbj-compliance-warning__method:focus-visible {
  outline: 2px solid rgba(251, 191, 36, 0.55);
  outline-offset: 2px;
  border-radius: 2px;
}
@media (min-width: 640px) {
  .pbj-compliance-warning__line1 {
    flex: 1 1 auto;
    min-width: 0;
  }
  .pbj-compliance-warning__line2 {
    flex: 0 1 auto;
  }
}
@media (min-width: 900px) {
  .pbj-compliance-warning--threshold {
    width: fit-content;
    max-width: min(100%, 52rem);
    font-size: 0.875rem;
  }
}
.pbj-ai-provider-bar__share .pbj-takeaway-share-btn {
  margin-left: 0;
}
.pbj-ai-provider-bar__microcopy,
.pbj-ai-provider-bar__state-note {
  flex: 1 1 100%; margin: 0; padding: 0; line-height: 1.42; font-size: 0.66rem;
}
.pbj-ai-provider-bar__microcopy { color: rgba(203, 213, 225, 0.88); }
.pbj-ai-provider-bar__state-note--muted {
  color: rgba(148, 163, 184, 0.95);
  border-left: 2px solid rgba(99, 102, 241, 0.35); padding-left: 0.45rem;
}
.pbj-ai-provider-bar .pbj-ai-lens-wrap { margin: 0; flex: 0 1 auto; min-width: 0; gap: 0.28rem; }
.pbj-ai-provider-bar .pbj-ai-lens-label { font-size: 0.68rem; letter-spacing: 0.03em; }
.pbj-ai-provider-bar .pbj-ai-lens-select {
  padding: 0.18rem 1.45rem 0.18rem 0.34rem; font-size: 0.7rem;
}
.pbj-ai-provider-bar .pbj-ai-length-mode {
  flex-shrink: 0; margin-left: 0;
}
.pbj-ai-provider-bar .pbj-ai-pbjai-info {
  flex-shrink: 0; margin-left: 0;
}
.pbj-ai-provider-chip {
  font: inherit; font-size: 0.68rem; font-weight: 600; line-height: 1;
  padding: 0.32rem 0.55rem; border-radius: 6px; cursor: pointer;
  border: 1px solid rgba(100, 116, 139, 0.55);
  background: rgba(15, 23, 42, 0.55); color: rgba(226, 232, 240, 0.92);
}
.pbj-ai-provider-chip:hover {
  border-color: rgba(148, 163, 184, 0.7); background: rgba(30, 41, 59, 0.85);
}
.pbj-ai-provider-chip.is-copied {
  border-color: rgba(52, 211, 153, 0.55); color: #a7f3d0;
}
.pbj-ai-provider-ai {
  display: inline-flex; align-items: center; gap: 0.32rem;
  font: inherit; font-size: 0.68rem; font-weight: 700; line-height: 1;
  padding: 0.32rem 0.55rem; border-radius: 6px; cursor: pointer;
  border: 1px solid rgba(71, 85, 105, 0.85); background: rgba(15, 23, 42, 0.65);
  color: #f1f5f9;
}
.pbj-ai-provider-ai--cta {
  padding: 0.36rem 0.62rem; font-size: 0.7rem;
  background: rgba(30, 41, 59, 0.92);
  border-color: rgba(100, 116, 139, 0.75);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.pbj-ai-provider-ai:hover {
  border-color: rgba(129, 140, 248, 0.5); background: rgba(30, 41, 59, 0.9);
  box-shadow: 0 0 10px -4px rgba(99, 102, 241, 0.25);
}
.pbj-ai-provider-ai--cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}
.pbj-ai-provider-ai[data-ai="claude"] {
  border-color: rgba(201, 100, 66, 0.45);
}
.pbj-ai-provider-ai[data-ai="claude"]:hover {
  border-color: rgba(201, 100, 66, 0.75); background: rgba(67, 32, 20, 0.35);
}
.pbj-ai-provider-bar .pbj-ai-brand-icon {
  filter: brightness(0) invert(0.88); opacity: 0.95; display: block;
}
.pbj-ai-brief-toggle {
  font: inherit; font-size: 0.66rem; font-weight: 700; line-height: 1;
  padding: 0.3rem 0.5rem; border-radius: 6px; cursor: pointer;
  border: 1px solid rgba(100, 116, 139, 0.55); background: rgba(15, 23, 42, 0.55);
  color: rgba(203, 213, 225, 0.92);
}
.pbj-ai-brief-toggle:hover {
  border-color: rgba(148, 163, 184, 0.7); background: rgba(30, 41, 59, 0.85);
}
.pbj-ai-brief-toggle.is-active {
  border-color: rgba(129, 140, 248, 0.65); background: rgba(49, 46, 129, 0.45); color: #e0e7ff;
}
.pbj-ai-beta-info {
  font: inherit; font-size: 0.66rem; font-weight: 600; line-height: 1;
  padding: 0.28rem 0.45rem; border-radius: 6px; cursor: pointer;
  border: 1px dashed rgba(129, 140, 248, 0.45); background: transparent;
  color: rgba(203, 213, 225, 0.95);
}
.pbj-ai-beta-info:hover {
  border-color: rgba(165, 180, 252, 0.75); background: rgba(30, 41, 59, 0.55);
}
.pbj-ai-beta-info__label { font-weight: 700; }
.pbj-ai-beta-tag {
  display: inline-block; margin-left: 0.15rem; padding: 0.04rem 0.32rem; border-radius: 4px;
  font-size: 0.56rem; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase;
  vertical-align: middle; line-height: 1.15;
  color: rgba(203, 213, 225, 0.78); background: rgba(148, 163, 184, 0.14);
  border: 1px solid rgba(148, 163, 184, 0.28);
}
.pbj-ai-pbjai-info .pbj-ai-beta-tag {
  align-self: center;
}
.pbj-casemix-modal.pbj-ai-beta-modal {
  z-index: 10200 !important;
  background: rgba(2, 6, 23, 0.88) !important;
}
.pbj-casemix-modal.pbj-ai-beta-modal .pbj-casemix-modal-card {
  margin-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
  max-height: min(78vh, 480px);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.55);
}
.pbj-ai-beta-list-item--desktop-only { display: list-item; }
.pbj-ai-beta-modal .pbj-ai-beta-lead { margin-top: 0; color: rgba(203, 213, 225, 0.95); }
.pbj-ai-beta-verify {
  margin: 0.55rem 0 0.65rem; padding: 0.5rem 0.6rem; border-radius: 6px; font-size: 0.78rem; line-height: 1.45;
  color: #fecaca; background: rgba(127, 29, 29, 0.35); border: 1px solid rgba(248, 113, 113, 0.45);
}
.pbj-ai-beta-verify a { color: #fca5a5; }
.pbj-ai-beta-verify a:hover { color: #fee2e2; }
.pbj-ai-beta-list { margin: 0.25rem 0 0.5rem 1rem; padding: 0; font-size: 0.8rem; line-height: 1.42; color: rgba(226,232,240,0.9); }
.pbj-ai-beta-list li { margin: 0.2rem 0; }
.pbj-ai-beta-foot {
  margin-top: 0.75rem; padding-top: 0.65rem; text-align: right;
  border-top: 1px solid rgba(51, 65, 85, 0.65);
  background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.92) 28%);
  position: sticky; bottom: 0; margin-left: -1rem; margin-right: -1rem; margin-bottom: -0.85rem;
  padding-left: 1rem; padding-right: 1rem; padding-bottom: 0.85rem;
}
.pbj-ai-beta-got-it {
  font: inherit; font-size: 0.78rem; font-weight: 700; padding: 0.35rem 0.85rem; border-radius: 6px;
  border: 1px solid rgba(129, 140, 248, 0.55); background: rgba(67, 56, 202, 0.35); color: #e0e7ff; cursor: pointer;
}
.pbj-ai-beta-got-it:hover { background: rgba(79, 70, 229, 0.45); }
body.pbj-ai-beta-modal-open { overflow: hidden; }
.pbj-page-footer {
  margin-top: 1.25rem; padding-top: 0.85rem; border-top: 1px solid rgba(129, 140, 248, 0.15);
}
.pbj-page-footer-crumb {
  margin: 0 0 0.55rem 0; font-size: 0.875rem; color: rgba(226, 232, 240, 0.85); line-height: 1.5;
}
.pbj-page-footer-crumb a { color: #a5b4fc; text-decoration: none; }
.pbj-page-footer-crumb a:hover { text-decoration: underline; text-underline-offset: 2px; }
.pbj-page-footer-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.65rem;
  font-size: 0.8rem; line-height: 1.45; color: rgba(226, 232, 240, 0.62);
}
.pbj-care-footer-row {
  margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem;
  font-size: inherit; line-height: inherit;
}
.pbj-page-footer-sources {
  margin: 0.4rem 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15rem 0.35rem;
  font-size: 0.8rem; line-height: 1.5; color: rgba(148, 163, 184, 0.82);
}
.pbj-sources-label { color: rgba(148, 163, 184, 0.72); font-weight: 500; }
.pbj-sources-sep { margin: 0 0.2rem; color: rgba(226, 232, 240, 0.62); font-weight: 700; user-select: none; }
.pbj-sources-item { display: inline-flex; align-items: baseline; white-space: nowrap; }
.pbj-sources-quarter { color: rgba(148, 163, 184, 0.72); font-weight: 400; }
.pbj-page-footer-sources a,
.pbj-sources-about-btn {
  color: #a5b4fc; font: inherit; font-size: inherit; font-weight: 500; text-decoration: underline;
  text-underline-offset: 2px;
}
.pbj-page-footer-sources a:hover,
.pbj-sources-about-btn:hover { color: #c7d2fe; }
.pbj-sources-about-btn {
  background: none; border: none; padding: 0; margin: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}
.pbj-sources-about-btn:focus-visible { outline: 2px solid #818cf8; outline-offset: 2px; border-radius: 2px; }
.pbj-sources-dialog { border: none; padding: 0; margin: auto; background: transparent; max-width: min(34rem, 92vw); color: var(--pbj-text, #e2e8f0); }
.pbj-sources-dialog::backdrop { background: rgba(0, 0, 0, 0.55); }
.pbj-sources-dialog__panel {
  background: var(--pbj-surface, #1e293b); border: 1px solid var(--pbj-border-strong, rgba(129, 140, 248, 0.35)); border-radius: 12px;
  padding: 1.1rem 1.25rem 1rem; box-shadow: var(--pbj-shadow, 0 12px 40px rgba(0, 0, 0, 0.45));
}
.pbj-sources-dialog__title { margin: 0 0 0.65rem; font-size: 1rem; font-weight: 700; color: var(--pbj-accent, #c7d2fe); }
.pbj-sources-dialog__list { margin: 0 0 0.75rem 1.1rem; padding: 0; font-size: 0.8rem; line-height: 1.5; color: var(--pbj-text, rgba(226, 232, 240, 0.88)); }
.pbj-sources-dialog__list li { margin-bottom: 0.45rem; }
.pbj-sources-dialog__list a { color: var(--pbj-accent, #818cf8); }
.pbj-sources-dialog__more { margin: 0 0 0.85rem; font-size: 0.78rem; color: var(--pbj-text-subtle, rgba(148, 163, 184, 0.85)); }
.pbj-sources-dialog__more a { color: var(--pbj-accent, #818cf8); }
.pbj-sources-dialog__close {
  font: inherit; font-size: 0.8rem; font-weight: 600; padding: 0.4rem 0.9rem; border-radius: 6px;
  border: 1px solid var(--pbj-border-strong, rgba(129, 140, 248, 0.45)); background: var(--pbj-accent, rgba(67, 56, 202, 0.35)); color: #fff; cursor: pointer;
}
.pbj-sources-dialog__close:hover { background: var(--pbj-accent-hover, rgba(79, 70, 229, 0.45)); }
.pbj-page-source a {
  color: #818cf8; text-decoration: underline; text-underline-offset: 2px;
}
.pbj-page-source a:hover { color: #a5b4fc; }
abbr.pbj-na {
  cursor: help; text-decoration: underline; text-decoration-style: dotted;
  text-underline-offset: 2px; border: none;
}
@media (min-width: 900px) {
  .pbj-page-footer-meta {
    flex-wrap: nowrap; justify-content: space-between; align-items: baseline;
  }
  .pbj-care-footer-row { flex: 0 0 auto; }
  .pbj-page-footer-sources {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}
.pbj-page-source {
  margin: 0.35rem 0 0 0; font-size: 0.8rem; color: rgba(226, 232, 240, 0.6); line-height: 1.45;
}
.pbj-care-footer-sep { opacity: 0.45; user-select: none; }
.pbj-footer-csv-bundle {
  font: inherit; font-size: inherit; font-weight: 500; line-height: inherit;
  padding: 0; margin: 0; border: none; background: none;
  color: #a5b4fc; cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
  display: inline; vertical-align: baseline;
}
.pbj-footer-csv-bundle:hover { color: #c7d2fe; }
.pbj-cross-links-footer { margin: 0.5rem 0 0; }
.pbj-ai-handoff-data, .pbj-ai-context-data, .pbj-ai-prefill-data, .pbj-ai-extended-data, .pbj-ai-prompt-data, .pbj-ai-prompt-template, .pbj-ai-csv-data { display: none !important; }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.pbj-ai-toast {
  position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%) translateY(0.5rem); z-index: 10001;
  background: #0f172a; color: #e2e8f0; padding: 0.55rem 1rem; border-radius: 8px; font-size: 0.85rem;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35); opacity: 0; transition: opacity 0.2s, transform 0.2s;
}
.pbj-ai-toast--visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.pbj-takeaway-footer { margin-top: 0; padding-top: 0; border-top: none; }
.pbj-takeaway-brand-pill {
  display: inline-flex; align-items: center; padding: 0.28rem 0.55rem;
  border-radius: 999px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0; line-height: 1;
  background: rgba(99, 102, 241, 0.14); border: 1px solid rgba(129, 140, 248, 0.38); flex-shrink: 0; white-space: nowrap;
}
.pbj-takeaway-brand-pill .pbj-brand-pbj { color: var(--pbj-ov-text); }
.pbj-takeaway-brand-pill .pbj-brand-320 { color: var(--pbj-accent); }
@media (max-width: 768px) {
  .pbj-takeaway-actions { flex-wrap: nowrap; align-items: stretch; }
  .pbj-takeaway-actions__hprd { min-width: 0; }
  .pbj-ai-popover { right: auto; left: 0; }
  button.pbj-hprd-means-trigger { width: 100%; justify-content: center; text-align: center; }
  button.pbj-takeaway-share-btn {
    padding: 0.45rem; min-width: 2.75rem; min-height: 2.75rem; align-self: center;
  }
  .pbj-takeaway-share-label { display: none; }
  .pbj-takeaway-share-icon { width: 1.125rem; height: 1.125rem; }
  .pbj-takeaway-top { gap: 10px; }
  .pbj-takeaway-avatar { width: 40px; height: 40px; }
  .pbj-takeaway-top-main { gap: 0.35rem 0.5rem; }
  .pbj-takeaway-brand-pill { font-size: 0.65rem; padding: 0.22rem 0.45rem; }
  .pbj-chart-header-row { flex-direction: column; align-items: stretch; }
  .pbj-staffing-role-chart .pbj-chart-header-row {
    display: flex; flex-direction: row; align-items: center; justify-content: space-between;
    flex-wrap: nowrap; gap: 0.35rem 0.45rem;
  }
  .pbj-staffing-role-chart .pbj-chart-header-row .pbj-chart-header {
    grid-column: unset; justify-self: stretch; text-align: left; flex: 1 1 auto; min-width: 0;
  }
  .pbj-staffing-role-chart .pbj-chart-header-oneline { display: none !important; }
  .pbj-staffing-role-chart .pbj-staffing-role-title-mobile,
  .pbj-staffing-role-chart .pbj-chart-header-state-mobile { display: none !important; }
  .pbj-staffing-role-chart .pbj-chart-header-twoline {
    display: flex; align-items: center; margin: 0; text-align: left;
  }
  .pbj-staffing-role-chart .pbj-chart-facility { display: none !important; }
  .pbj-staffing-role-chart .pbj-staffing-role-title-main {
    font-size: 0.92rem; line-height: 1.2; text-align: left; white-space: nowrap;
  }
  .pbj-staffing-role-tabs { align-self: center; flex-shrink: 0; }
  .pbj-staffing-role-chart .pbj-staffing-role-tabs { grid-column: unset; align-self: center; padding: 0.1rem; }
  button.pbj-staffing-role-tab { font-size: 0.66rem; padding: 0.24rem 0.42rem; }
  .pbj-staffing-role-tab-long { display: none; }
  .pbj-staffing-role-tab-short { display: inline; }
  .pbj-ai-page-helper__controls { flex-direction: column; align-items: stretch; gap: 0.35rem; }
  .pbj-ai-lens-wrap, .pbj-ai-length-wrap { justify-content: space-between; }
  .pbj-ai-lens-select, .pbj-ai-length-select { flex: 1; min-width: 0; }
  .pbj-ai-provider-bar {
    display: flex; flex-direction: column; align-items: stretch; gap: 0.38rem;
  }
  .pbj-ai-provider-bar__row--top,
  .pbj-ai-provider-bar__row--actions {
    display: flex;
  }
  .pbj-ai-provider-bar__row--top {
    display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; width: 100%;
  }
  .pbj-ai-provider-bar__row--actions {
    display: flex; align-items: center; width: 100%;
  }
  .pbj-ai-provider-bar__share { display: none !important; }
  .pbj-ai-provider-bar__sep { display: none; }
  .pbj-ai-provider-bar .pbj-ai-lens-wrap {
    flex: 1 1 auto; min-width: 0; justify-content: flex-end;
  }
  .pbj-ai-provider-bar .pbj-ai-lens-select { flex: 1; min-width: 0; max-width: 13.25rem; padding-right: 1.35rem; }
  .pbj-ai-provider-bar .pbj-ai-lens-label { font-size: 0.6rem; letter-spacing: 0.04em; }
  .pbj-ai-provider-bar .pbj-ai-pbjai-info {
    padding: 0.28rem 0.48rem; font-size: 0.66rem;
  }
  .pbj-takeaway-badges {
    gap: 6px 5px;
  }
  .pbj-risk-badge-with-info {
    max-width: 100%;
  }
  .pbj-ai-provider-bar__actions {
    display: flex; flex-wrap: nowrap; align-items: center;
    justify-content: space-between; gap: 0.28rem; width: 100%; min-width: 0;
  }
  .pbj-ai-provider-bar__cta {
    display: flex; flex: 1 1 auto; flex-wrap: nowrap; gap: 0.28rem; min-width: 0;
  }
  .pbj-ai-provider-bar__spacer { display: none; }
  .pbj-ai-provider-bar__cta .pbj-ai-provider-ai {
    flex: 1 1 0; min-width: 0; padding: 0.34rem 0.42rem; justify-content: center;
    font-size: 0.66rem;
  }
  .pbj-ai-provider-bar__cta .pbj-ai-provider-ai span { white-space: nowrap; }
  .pbj-ai-provider-bar .pbj-ai-length-mode {
    flex: 0 0 auto; margin-left: 0.15rem;
  }
  .pbj-ai-provider-bar .pbj-ai-length-mode__btn {
    padding: 0.26rem 0.38rem; font-size: 0.62rem;
  }
  .pbj-ai-beta-list-item--desktop-only { display: none; }
}
.pbj-casemix-help-label { font-size: 0.72rem; font-weight: 500; color: inherit; white-space: nowrap; }
.pbj-casemix-info-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.15rem; height: 1.15rem; font-size: 0.72rem; font-weight: 700; font-style: italic; font-family: Georgia, 'Times New Roman', serif; color: rgba(226,232,240,0.9); flex-shrink: 0; }
.pbj-casemix-hero { margin-bottom: 0; }
.pbj-casemix-hero-panel { border: 1px solid rgba(51, 65, 85, 0.65); border-radius: 8px; background: rgba(15, 23, 42, 0.55); padding: 0.38rem 0.52rem 0.36rem; }
.pbj-casemix-hero-line { margin: 0 0 0.28rem; font-size: 0.68rem; line-height: 1.32; color: rgba(203, 213, 225, 0.94); font-variant-numeric: tabular-nums; }
.pbj-casemix-hero-line .tag { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: rgba(148, 163, 184, 0.95); margin-right: 0.28rem; }
.pbj-casemix-hero-line .primary { font-weight: 700; color: #f8fafc; font-size: 0.82rem; }
.pbj-casemix-hero-line .sep { color: rgba(100, 116, 139, 0.9); margin: 0 0.22rem; }
.pbj-casemix-hero-line .secondary { color: rgba(148, 163, 184, 0.96); }
.pbj-casemix-hero-line .secondary .h { color: rgba(226, 232, 240, 0.95); font-weight: 700; }
.pbj-casemix-hero-line .pct--low { color: var(--pbj-danger, rgba(252, 165, 165, 0.95)); font-weight: 600; }
.pbj-casemix-hero-line .pct-em { font-weight: 700; font-size: 0.88rem; color: var(--pbj-text, #f8fafc); letter-spacing: 0.01em; }
.pbj-casemix-sub-line .pct-em { font-weight: 700; color: var(--pbj-text, #f8fafc); font-size: 0.68rem; }
.pbj-casemix-breakdown-aside .h { color: rgba(226, 232, 240, 0.94); font-weight: 700; }
.pbj-casemix-hero-toprow { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.35rem 0.65rem; margin-bottom: 0.12rem; }
.pbj-casemix-hero-toprow .pbj-casemix-hero-line { margin: 0; flex: 1 1 auto; min-width: 0; }
.pbj-casemix-hero-toprow .pbj-casemix-cmi-strip { margin: 0; padding: 0; border: 0; flex: 0 0 auto; }
.pbj-casemix-hero-main { display: flex; align-items: center; gap: 0.45rem 0.55rem; flex-wrap: wrap; width: 100%; }
.pbj-casemix-hero-copy { flex: 1 1 100%; min-width: 10rem; max-width: 100%; }
.pbj-casemix-cmi-strip--below-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem 0.38rem;
  margin-top: 0.22rem;
  width: 100%;
}
.pbj-casemix-cmi-lead {
  font-size: 0.66rem;
  font-weight: 600;
  color: rgba(148, 163, 184, 0.96);
  letter-spacing: 0.02em;
  white-space: nowrap;
  flex: 0 0 auto;
}
.pbj-casemix-cmi-strip--below-bar .pbj-casemix-cmi-trigger {
  flex: 0 0 auto;
}
button.pbj-casemix-inline-help {
  display: inline; margin: 0; padding: 0; border: 0; background: none; font: inherit; font-size: inherit; line-height: inherit;
  color: #a5b4fc; text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
}
button.pbj-casemix-inline-help:hover { color: #c7d2fe; }
button.pbj-casemix-inline-help:focus-visible { outline: 2px solid rgba(129, 140, 248, 0.65); outline-offset: 2px; border-radius: 2px; }
.pbj-casemix-caveat-text--mobile { display: none; }
.pbj-casemix-help-trigger--footer { display: none; margin: 0.35rem 0 0; }
.pbj-casemix-pct-bar { margin: 0; width: 100%; }
.pbj-casemix-pct-track { width: 100%; box-sizing: border-box; }
.pbj-casemix-pct-fill { height: 100%; }
.pbj-casemix-pct-caption { display: none; }
.pbj-casemix-pct-track { position: relative; height: 9px; border-radius: 4px; background: var(--pbj-surface-inset, rgba(30, 41, 59, 0.9)); border: 1px solid var(--pbj-border, rgba(51, 65, 85, 0.8)); overflow: hidden; }
.pbj-casemix-pct-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; min-width: 2px; z-index: 1; transition: width 0.2s ease; }
.pbj-casemix-pct-bench { position: absolute; top: -1px; bottom: -1px; width: 2px; background: var(--pbj-text-subtle, rgba(226, 232, 240, 0.88)); border-radius: 1px; z-index: 3; transform: translateX(-50%); }
.pbj-casemix-pct-bar--compact .pbj-casemix-pct-track { height: 5px; border-radius: 3px; }
.pbj-casemix-pct-bar--compact .pbj-casemix-pct-fill { border-radius: 2px; }
.pbj-casemix-pct-bar--compact .pbj-casemix-pct-bench { width: 1px; }
.pbj-casemix-pct-bar--primary .pbj-casemix-pct-track { height: 12px; border-radius: 5px; }
.pbj-casemix-pct-bar--primary .pbj-casemix-pct-fill { border-radius: 4px; }
.pbj-casemix-pct-fill--to-bench { background: var(--pbj-border-strong, rgba(100, 116, 139, 0.88)); border-radius: 3px 0 0 3px; }
.pbj-casemix-pct-fill--over { background: var(--pbj-data, #187c78); z-index: 2; border-radius: 0 3px 3px 0; }
.pbj-casemix-pct-fill--under { background: var(--pbj-border-strong, rgba(100, 116, 139, 0.78)); }
.pbj-casemix-breakdown-row { display: flex; flex-direction: column; align-items: stretch; gap: 0.3rem; padding: 0.55rem 0; border-top: 1px solid var(--pbj-border, rgba(51, 65, 85, 0.4)); min-width: 0; }
.pbj-casemix-breakdown-row:first-child { border-top: 0; padding-top: 0; }
.pbj-casemix-role-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.3rem 0.6rem; font-size: 0.82rem; }
.pbj-casemix-role-name { font-weight: 700; color: var(--pbj-text, #f8fafc); flex-shrink: 0; }
.pbj-casemix-role-vals { color: var(--pbj-text-subtle, #94a3b8); font-variant-numeric: tabular-nums; text-align: right; font-size: 0.78rem; }
.pbj-casemix-metric--rn.pbj-casemix-metric--shortfall .pbj-casemix-role-name { color: var(--pbj-danger, #fca5a5); }
.pbj-casemix-hero-empty { margin: 0; font-size: 0.85rem; color: var(--pbj-text-subtle, #94a3b8); }
.pbj-casemix-result { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; margin: 0 0 0.55rem; }
.pbj-casemix-result__pct { font-size: 2.15rem; font-weight: 800; line-height: 1; letter-spacing: -0.01em; color: var(--pbj-text, #f8fafc); font-variant-numeric: tabular-nums; }
.pbj-casemix-result__desc { font-size: 0.85rem; color: var(--pbj-text-subtle, #94a3b8); font-weight: 500; }
/* The track is the full-length case-mix reference bar; it must read as a
   bar even where its fill (below 100%) doesn't cover it. In dark theme
   --pbj-surface-inset is nearly identical to the panel behind it, so the
   unfilled remainder disappeared into the background -- a visible border
   in a lighter, theme-aware gray fixes that without touching light theme
   (already fine there). */
.pbj-casemix-ratio-track { position: relative; width: 100%; height: 12px; border-radius: 999px; background: var(--pbj-surface-inset, rgba(30, 41, 59, 0.9)); border: 1px solid var(--pbj-border-strong, rgba(100, 116, 139, 0.55)); overflow: hidden; margin: 0 0 0.75rem; }
.pbj-casemix-ratio-fill { position: absolute; left: 0; top: 0; bottom: 0; min-width: 3px; border-radius: 999px; background: var(--pbj-data, #187c78); transition: width 0.2s ease; }
/* Below 100% of case-mix staffing is context, not a compliance failure on
   its own -- amber rather than red/orange, but must still read as an
   actual fill against the track (the previous neutral gray was close
   enough to the track's own background to look like no fill at all).
   Meeting/exceeding (>=100%) keeps the existing positive teal/green. */
.pbj-casemix-ratio-fill--under { background: #f59e0b; }
.pbj-casemix-ratio-track--compact { height: 6px; margin: 0.35rem 0 0; }
.pbj-casemix-help-trigger--below { margin: 0.65rem 0 0; align-self: flex-start; }
.pbj-casemix-breakdown-main { flex: 1 1 52%; min-width: 9rem; max-width: 58%; display: flex; flex-direction: column; gap: 0.1rem; }
.pbj-casemix-breakdown-main .pbj-casemix-sub-line { margin: 0; justify-content: flex-start; }
.pbj-casemix-breakdown-aside { flex: 1 1 auto; margin-left: auto; font-size: 0.58rem; line-height: 1.28; color: rgba(148, 163, 184, 0.96); text-align: right; font-variant-numeric: tabular-nums; min-width: 0; }
.pbj-casemix-cmi-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; margin: 0.22rem 0 0.06rem; padding: 0.22rem 0 0; border-top: 1px solid rgba(51, 65, 85, 0.45); }
.pbj-casemix-cmi-strip--inline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0.45rem; margin: 0.12rem 0 0 0; padding: 0; border: 0; width: 100%; justify-content: flex-start; }
.pbj-casemix-cmi-strip--intoprow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.28rem 0.35rem; margin: 0; padding: 0; border: 0; flex: 0 0 auto; min-width: 0; }
.pbj-casemix-total-toprow { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 0.3rem 0.45rem; width: 100%; }
.pbj-casemix-total-toprow .pbj-casemix-total-vs { flex: 0 1 auto; min-width: 0; }
.pbj-casemix-cmi-strip[hidden] { display: none !important; }
button.pbj-casemix-cmi-trigger { display: inline-flex; align-items: baseline; gap: 0.28rem; font-size: 0.68rem; line-height: 1.2; padding: 0.22rem 0.5rem; border-radius: 6px; border: 1px solid var(--pbj-border, rgba(100, 116, 139, 0.45)); background: var(--pbj-surface-soft, rgba(30, 41, 59, 0.65)); color: var(--pbj-text-subtle, rgba(226,232,240,0.96)); cursor: pointer; font-variant-numeric: tabular-nums; max-width: 100%; box-sizing: border-box; font-family: inherit; text-align: left; transition: background 0.12s ease, border-color 0.12s ease; }
button.pbj-casemix-cmi-trigger:hover { background: var(--pbj-surface-inset, rgba(51, 65, 85, 0.75)); border-color: var(--pbj-border-strong, rgba(148, 163, 184, 0.4)); }
button.pbj-casemix-cmi-trigger:focus-visible { outline: 2px solid var(--pbj-accent, rgba(129, 140, 248, 0.65)); outline-offset: 2px; }
button.pbj-casemix-cmi-trigger .k { font-weight: 600; color: var(--pbj-text-subtle, #cbd5e1); letter-spacing: 0.02em; }
button.pbj-casemix-cmi-trigger .v { font-weight: 700; color: var(--pbj-text, #f8fafc); font-family: "DM Mono PBJ", ui-monospace, "Cascadia Mono", Consolas, monospace; }
.pbj-casemix-cmi-trigger__info { display: inline-flex; margin-left: 0.3rem; color: var(--pbj-text-subtle, #94a3b8); opacity: 0.85; vertical-align: -1px; }
/* CMI (primary annotation) vs CMI ratio (derived, subordinate annotation):
   related chip family, but distinguishable weight — not twin CTAs. The
   `#facility-casemix` id prefix is needed to outrank the page's blanket
   `#facility-casemix *` ink-color reset below. */
.pbj-provider-page #facility-casemix button.pbj-casemix-cmi-trigger:first-of-type {
  border-color: var(--pbj-border-strong, rgba(148, 163, 184, 0.55));
}
.pbj-provider-page #facility-casemix button.pbj-casemix-cmi-trigger:first-of-type .v { color: var(--pbj-accent, #a78bfa); }
.pbj-provider-page #facility-casemix button.pbj-casemix-cmi-trigger:nth-of-type(2) {
  border-color: transparent;
  background: transparent;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}
.pbj-provider-page #facility-casemix button.pbj-casemix-cmi-trigger:nth-of-type(2):hover { background: var(--pbj-surface-inset, rgba(51, 65, 85, 0.55)); }
.pbj-provider-page #facility-casemix button.pbj-casemix-cmi-trigger:nth-of-type(2) .v { color: var(--pbj-text-subtle, #cbd5e1); font-weight: 600; }
.pbj-casemix-details { margin-top: 0; width: 100%; }
.pbj-casemix-details > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 0.55rem; width: 100%; box-sizing: border-box; border: 1px solid rgba(51, 65, 85, 0.55); border-radius: 6px; background: rgba(30,41,59,0.5); padding: 0.34rem 0.48rem; min-height: 40px; user-select: none; -webkit-tap-highlight-color: transparent; transition: background 0.12s ease, border-color 0.12s ease; }
.pbj-casemix-details .pbj-casemix-sum-wrap { flex-direction: row; align-items: center; gap: 0; flex: 1; min-width: 0; }
.pbj-casemix-sum-rowlabel { font-size: 0.72rem; font-weight: 600; color: #cbd5e1; letter-spacing: 0.01em; line-height: 1.25; }
.pbj-casemix-details > summary::-webkit-details-marker { display: none; }
.pbj-casemix-details > summary:hover { background: rgba(51,65,85,0.48); border-color: rgba(148,163,184,0.34); }
.pbj-casemix-details[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom-color: rgba(30,41,59,0.65); }
.pbj-casemix-sum-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 0.1rem; min-width: 0; flex: 1; text-align: left; }
.pbj-casemix-sum-main { font-size: 0.72rem; font-weight: 700; color: #f8fafc; letter-spacing: 0.05em; text-transform: uppercase; }
.pbj-casemix-sum-detail { font-size: 0.6rem; font-weight: 500; color: rgba(148,163,184,0.92); line-height: 1.2; }
.pbj-casemix-sum-chev { font-size: 0.62rem; color: rgba(165, 180, 252, 0.85); flex-shrink: 0; line-height: 1; transition: transform 0.18s ease; }
.pbj-casemix-details[open] > summary .pbj-casemix-sum-chev { transform: rotate(-180deg); }
.pbj-casemix-details-body { padding: 0.32rem 0.45rem 0.12rem; border: 1px solid var(--pbj-border, rgba(148,163,184,0.24)); border-top: none; border-radius: 0 0 6px 6px; background: var(--pbj-surface, transparent); margin-top: -1px; }
.pbj-casemix-modal-ref { margin: 0.35rem 0 0 0; font-size: 0.8rem; line-height: 1.42; color: rgba(226,232,240,0.9); display: none; }
.pbj-casemix-modal-ref-p { margin: 0.4rem 0 0 0; padding: 0; }
.pbj-casemix-modal-ref-p:first-child { margin-top: 0; }
.pbj-casemix-stat-highlight { color: #a5b4fc; font-weight: 600; }
.pbj-casemix-bars { display: grid; gap: 0.22rem; }
.pbj-casemix-metric { min-width: 0; width: 100%; }
.pbj-casemix-metric.total { width: 100%; }
.pbj-casemix-metric.total .pbj-casemix-metric-head-block { width: 100%; }
.pbj-casemix-metric--rn.pbj-casemix-metric--shortfall { padding-left: 0.4rem; margin-left: -0.4rem; border-left: 2px solid rgba(251, 113, 133, 0.45); }
.pbj-casemix-total-compact { margin: 0 0 0.06rem 0; }
.pbj-casemix-total-line { line-height: 1.35; font-size: 0.72rem; font-weight: 500; color: rgba(203,213,225,0.96); font-variant-numeric: tabular-nums; }
.pbj-casemix-total-line .h { font-weight: 700; color: #f8fafc; }
.pbj-casemix-total-line .cm { color: #94a3b8; font-weight: 600; }
.pbj-casemix-total-stack { display: flex; flex-direction: column; gap: 0.12rem; align-items: flex-start; text-align: left; width: 100%; }
.pbj-casemix-total-role { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(148, 163, 184, 0.9); }
.pbj-casemix-total-vs { font-size: 0.74rem; font-weight: 500; color: rgba(212, 212, 216, 0.95); line-height: 1.3; font-variant-numeric: tabular-nums; }
.pbj-casemix-total-vs .h { font-weight: 700; color: #f4f4f5; font-size: 0.82rem; }
.pbj-casemix-total-vs .muted { color: #94a3b8; font-weight: 500; font-size: 0.68rem; }
.pbj-casemix-total-pctline { font-size: 0.76rem; font-weight: 600; color: #e7e5e4; letter-spacing: 0.02em; line-height: 1.22; font-variant-numeric: tabular-nums; }
.pbj-casemix-bar-rail-wrap { width: 100%; }
.pbj-casemix-metric.total .pbj-casemix-bar-rail-wrap { max-width: 100%; }
.pbj-casemix-sub-line--total { justify-content: flex-start; gap: 0.35rem 0.55rem; }
.pbj-casemix-sub-line--total .pbj-casemix-sub-vals { text-align: left; flex: 1 1 auto; }
.pbj-casemix-bar-fill--cms-target { background: rgba(100, 116, 139, 0.72) !important; z-index: 1; }
.pbj-casemix-bar-fill--reported-over { background: rgba(45, 212, 191, 0.62) !important; z-index: 2; border-radius: 0 2px 2px 0; }
.pbj-casemix-bar-fill--reported-under { z-index: 2; }
.pbj-casemix-bar-target-edge { position: absolute; top: 2px; bottom: 2px; width: 2px; margin-left: 0; background: rgba(203, 213, 225, 0.55); border-radius: 1px; z-index: 3; transform: translateX(-50%); pointer-events: none; }
.pbj-casemix-bar-wrap--split .pbj-casemix-bar-marker { display: none; }
.pbj-casemix-bar-legend { margin-top: 0.22rem; font-size: 0.55rem; line-height: 1.28; color: rgba(203, 213, 225, 0.88); }
.pbj-casemix-bar-legend-oneline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.65rem; column-gap: 0.65rem; row-gap: 0.12rem; }
.pbj-casemix-bar-legend-oneline .sep { color: rgba(100, 116, 139, 0.95); font-weight: 500; }
.pbj-casemix-bar-legend-gap { font-weight: 600; color: rgba(212, 212, 216, 0.95); }
.pbj-casemix-flag-line { margin: 0; font-size: 0.6rem; font-weight: 500; color: rgba(252, 165, 165, 0.92); line-height: 1.32; }
.pbj-casemix-caveat { margin: 0.18rem 0 0 0; font-size: 0.54rem; line-height: 1.28; color: rgba(113, 113, 122, 0.98); font-weight: 400; }
.pbj-casemix-caveat-foot { margin: 0; padding: 0; font-size: 0.58rem; line-height: 1.35; color: rgba(148, 163, 184, 0.92); font-weight: 400; max-width: none; }
.pbj-casemix-interpret--breakdown { margin: 0.28rem 0 0.12rem; }
.pbj-casemix-details:not([open]) .pbj-casemix-interpret--breakdown { display: none !important; }
.pbj-casemix-metric-head-block { display: flex; flex-direction: column; gap: 0.02rem; min-width: 0; }
button.pbj-casemix-cmi-trigger.pbj-cmi-tier--neutral,
button.pbj-casemix-cmi-trigger.pbj-cmi-tier--low,
button.pbj-casemix-cmi-trigger.pbj-cmi-tier--mid,
button.pbj-casemix-cmi-trigger.pbj-cmi-tier--high {
  border-color: var(--pbj-border);
  background: var(--pbj-surface-soft);
  color: var(--pbj-text-subtle);
}
.pbj-cmi-modal-hero {
  margin: 0 0 0.55rem;
  padding: 0.48rem 0.55rem 0.44rem;
  border-radius: 8px;
  background: rgba(30, 41, 59, 0.55);
  border: 1px solid rgba(71, 85, 105, 0.62);
}
.pbj-cmi-modal-k {
  display: block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.95);
  margin-bottom: 0.1rem;
}
.pbj-cmi-modal-val {
  display: block;
  font-size: 1.32rem;
  font-weight: 700;
  color: #f8fafc;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.pbj-cmi-modal-pct {
  display: block;
  margin-top: 0.14rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #c7d2fe;
  font-variant-numeric: tabular-nums;
}
.pbj-cmi-modal-def {
  margin: 0 0 0.32rem;
  font-size: 0.8rem;
  line-height: 1.42;
  color: rgba(203, 213, 225, 0.92);
}
.pbj-cmi-modal-related {
  margin: 0.45rem 0 0;
  padding-top: 0.42rem;
  border-top: 1px solid rgba(51, 65, 85, 0.55);
  font-size: 0.74rem;
  line-height: 1.4;
  color: rgba(148, 163, 184, 0.96);
}
.pbj-cmi-modal-related .pbj-cmi-modal-related-k {
  font-weight: 600;
  color: rgba(203, 213, 225, 0.9);
  margin-right: 0.2rem;
}
.pbj-cmi-modal-foot {
  margin-top: 0.5rem !important;
  font-size: 0.72rem !important;
  line-height: 1.38 !important;
  color: rgba(148, 163, 184, 0.9) !important;
}
.pbj-cmi-modal-foot a {
  color: #a5b4fc;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.pbj-cmi-modal-foot a:hover {
  color: #c7d2fe;
}
.pbj-casemix-sub-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.3rem 0.6rem; font-size: 0.64rem; line-height: 1.18; margin: 0 0 0.04rem 0; }
.pbj-casemix-sub-label { font-weight: 600; color: rgba(226,232,240,0.94); }
.pbj-casemix-sub-label.rn { font-weight: 700; }
.pbj-casemix-sub-vals { font-variant-numeric: tabular-nums; color: rgba(148,163,184,0.95); text-align: right; flex: 1 1 auto; min-width: 0; }
.pbj-casemix-sub-vals .h { font-weight: 700; color: #f8fafc; }
.pbj-casemix-sub-vals .cm { color: #94a3b8; font-weight: 500; }
.pbj-casemix-metric-muted { color: rgba(148,163,184,0.95); font-weight: 500; font-size: 0.68rem; }
.pbj-casemix-bar-cell { display: flex; flex-direction: column; gap: 0.04rem; min-width: 0; }
.pbj-casemix-bar-wrap { position: relative; width: 100%; border-radius: 4px; background: rgba(30, 41, 59, 0.65); border: 1px solid rgba(100, 116, 139, 0.45); overflow: hidden; box-sizing: border-box; }
.pbj-casemix-bar-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 2px; z-index: 1; min-width: 0; transition: width 0.25s ease; background: rgba(180, 83, 9, 0.62); }
.pbj-casemix-sev-below { background: rgba(185, 88, 88, 0.72) !important; }
.pbj-casemix-sev-near { background: rgba(217, 119, 6, 0.62) !important; }
.pbj-casemix-sev-neutral { background: rgba(100, 116, 139, 0.65) !important; }
.pbj-casemix-sev-meets { background: rgba(100, 116, 139, 0.82) !important; }
.pbj-casemix-bar-marker { position: absolute; top: 0; bottom: 0; width: 0; margin-left: 0; border-left: 3px dashed rgba(228, 228, 231, 0.82); background: transparent; border-radius: 0; z-index: 2; box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.85); transform: translateX(-50%); }
.pbj-casemix-bar-rail-h { height: 24px; }
.pbj-casemix-metric.total .pbj-casemix-bar-rail-h { height: 26px; }
.pbj-casemix-metric--rn .pbj-casemix-bar-rail-h { height: 18px; }
.pbj-casemix-metric--lpn .pbj-casemix-bar-rail-h, .pbj-casemix-metric--aide .pbj-casemix-bar-rail-h { height: 14px; }
.pbj-casemix-modal { position: fixed; inset: 0; background: rgba(2,6,23,0.72); z-index: 10020; display: none; align-items: center; justify-content: center; padding: 1rem; }
.pbj-casemix-metric.total .pbj-casemix-bar-cell { max-width: 100%; width: 100%; align-self: stretch; }
@media (min-width: 769px) {
  .pbj-casemix-section-header { flex-wrap: nowrap; }
  .pbj-casemix-hero-toprow { flex-wrap: wrap; align-items: baseline; }
  .pbj-casemix-hero-toprow .pbj-casemix-hero-line { white-space: normal; }
  .pbj-casemix-summary .pbj-casemix-metric.total .pbj-casemix-bar-rail-wrap,
  .pbj-casemix-summary .pbj-casemix-metric.total .pbj-casemix-bar-cell { max-width: 100%; }
}
@media (max-width: 768px) {
  /* Stays one row (eyebrow left, "What is case-mix?" right) instead of
     stacking to two — the button is compact enough to share the row
     without forcing extra vertical height. */
  .pbj-casemix-section-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: nowrap;
  }
  .pbj-casemix-section-title {
    font-size: 1.02em;
    margin: 0;
    min-width: 0;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  button.pbj-casemix-help-trigger.pbj-casemix-help-trigger--header {
    display: inline-flex !important;
    align-self: flex-start;
    margin-left: 0;
  }
  .pbj-casemix-caveat-foot { max-width: 100%; font-size: 0.6rem; }
  .pbj-casemix-lead-line { font-size: 0.74rem; }
  .pbj-casemix-lead-sub { font-size: 0.64rem; }
  .pbj-casemix-help-label { font-size: inherit; }
  .pbj-casemix-info-icon { display: none !important; }
  .pbj-casemix-summary { max-width: 100%; }
  .pbj-casemix-hero-line {
    font-size: 0.625rem;
    line-height: 1.28;
    white-space: nowrap;
    margin: 0 0 0.32rem;
    overflow: visible;
  }
  .pbj-casemix-hero-line .tag { font-size: 0.55rem; margin-right: 0.15rem; }
  .pbj-casemix-hero-line .pct-em { font-size: 0.72rem; }
  .pbj-casemix-hero-line .secondary { font-size: 0.58rem; }
  .pbj-casemix-hero-toprow {
    flex-direction: column;
    align-items: stretch;
    gap: 0.28rem;
  }
  .pbj-casemix-hero-toprow .pbj-casemix-cmi-col {
    margin-left: 0;
    justify-content: flex-start;
  }
  .pbj-casemix-hero-main {
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
  }
  .pbj-casemix-hero-copy {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 0;
  }
  .pbj-casemix-split { grid-template-columns: 1fr; gap: 0.75rem; }
  .pbj-casemix-split-v19 { grid-template-columns: 1fr; gap: 0.55rem; }
  .pbj-casemix-card-body--v19 .pbj-casemix-sub-line { font-size: 0.58rem; }
  .pbj-casemix-card-body--v19 .pbj-casemix-sub-line .secondary { font-size: 0.54rem; }
  .pbj-casemix-cmi-lead { font-size: 0.62rem; }
  .pbj-casemix-cmi-strip--below-bar { gap: 0.22rem 0.3rem; margin-top: 0.18rem; }
  .pbj-cmi-modal-pct { font-size: 0.66rem; }
  .pbj-casemix-breakdown-row { align-items: stretch; }
  .pbj-casemix-pos-label { font-size: 0.66rem; white-space: normal; word-break: break-word; }
}
.pbj-casemix-modal.pbj-casemix-modal--aux { z-index: 10025; }
.pbj-casemix-modal[aria-hidden="true"] { display: none !important; }
.pbj-casemix-modal[aria-hidden="false"] { display: flex; }
/* Themed via the same --pbj-* tokens as the rest of the page (not a fixed
   dark card) — this class is shared by every modal on the provider page
   (case-mix help, HPRD means, "Reported owners", etc.), so fixing it here
   fixes all of them at once rather than one at a time. */
.pbj-casemix-modal-card { width: min(560px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: auto; border-radius: 10px; background: var(--pbj-surface, #0f172a); border: 1px solid var(--pbj-border, rgba(30, 41, 59, 0.6)); box-shadow: 0 16px 48px rgba(0,0,0,0.45); padding: 1rem 1rem 0.85rem; position: relative; color: var(--pbj-text, #e2e8f0); }
.pbj-casemix-modal-close { position: absolute; top: 0.5rem; right: 0.6rem; border: 0; background: transparent; color: var(--pbj-text-subtle, rgba(226,232,240,0.85)); font-size: 1.45rem; cursor: pointer; width: 36px; height: 36px; border-radius: 8px; }
.pbj-casemix-modal-close:hover { background: var(--pbj-surface-inset, rgba(51,65,85,0.5)); color: var(--pbj-text, #e2e8f0); }
.pbj-casemix-modal-card h3 { margin: 0 2rem 0.45rem 0; font-size: 1rem; color: var(--pbj-text, #e2e8f0); font-weight: 600; }
.pbj-casemix-modal-card h4 { margin: 0.65rem 0 0.25rem 0; font-size: 0.82rem; font-weight: 600; color: var(--pbj-text-subtle, #cbd5e1); }
.pbj-casemix-modal-card p { margin: 0.4rem 0; font-size: 0.83rem; line-height: 1.45; color: var(--pbj-text, rgba(226,232,240,0.9)); }
.pbj-casemix-aux-body p:first-child { margin-top: 0; }
.pbj-casemix-aux-body p:last-child { margin-bottom: 0; }
.pbj-hprd-means-modal .pbj-casemix-aux-body .pbj-hprd-means-body {
  margin: 0; font-size: 0.9rem; line-height: 1.65; color: var(--pbj-text, rgba(226, 232, 240, 0.93));
}
.pbj-casemix-modal-card code { color: var(--pbj-accent, #c7d2fe); background: var(--pbj-surface-inset, rgba(30,41,59,0.9)); border: 1px solid var(--pbj-border, rgba(148,163,184,0.2)); border-radius: 6px; padding: 1px 6px; }
/* Provider charts: desktop = one line "Census: Facility Name"; mobile = two rows */
.pbj-chart-header-oneline { display: none; }
.pbj-chart-header-twoline { display: block; }
@media (min-width: 769px) {
  .pbj-chart-header-oneline { display: block; }
  .pbj-chart-header-twoline { display: none; }
}
/* State page mobile only: one-row title "Illinois Census" with section-header style */
.pbj-chart-header-state-mobile { display: none; }
@media (max-width: 768px) {
  .state-page-charts .pbj-chart-header-state-mobile { display: block; }
  .state-page-charts .pbj-chart-header-twoline { display: none; }
}
/* Total Staffing chart footnote: desktop = full sentence; mobile = shorter */
.pbj-chart-footnote-mobile { display: none; }
@media (max-width: 768px) {
  .pbj-chart-footnote-desktop { display: none; }
  .pbj-chart-footnote-mobile { display: inline; }
}
/* Reported vs Case-Mix notes: on mobile match state-min footnote size, each on own row */
@media (max-width: 768px) {
  .pbj-chart-notes .pbj-percentile { font-size: 0.7rem; line-height: 1.35; margin: 0.2rem 0; }
}
.pbj-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1rem 0; border-radius: 8px; border: 1px solid rgba(30, 41, 59, 0.6); }
.pbj-table-wrap table { margin: 0; min-width: 400px; }
/* State page H1: desktop show full only; mobile shows short only (via @media) */
.pbj-state-title .pbj-state-title-full { display: inline; }
.pbj-state-title .pbj-state-title-mobile { display: none !important; }
.pbj-page-title-row { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem 1.25rem; flex-wrap: wrap; margin-bottom: 0.35rem; }
.pbj-page-title-row h1 { flex: 1 1 auto; min-width: 0; margin: 0; line-height: 1.2; }
.pbj-page-header-switcher { display: block; flex: 0 1 16rem; width: 100%; max-width: 17.5rem; position: relative; margin-left: auto; align-self: flex-start; }
.pbj-page-header-switcher-input-wrap {
  display: flex; align-items: center; gap: 0.4rem; padding: 0.38rem 0.55rem; border-radius: 8px;
  border: 1px solid rgba(42, 52, 72, 0.95); background: rgba(11, 15, 23, 0.55);
  min-height: 2.05rem; box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.pbj-page-header-switcher-input-wrap:focus-within {
  border-color: rgba(129, 140, 248, 0.45); background: rgba(15, 23, 42, 0.88);
}
.pbj-page-header-switcher-icon { color: rgba(148, 163, 184, 0.85); display: inline-flex; flex-shrink: 0; }
.pbj-page-header-switcher-input {
  flex: 1; min-width: 0; border: 0; background: transparent; color: #e2e8f0; font-size: 0.84rem;
  font-family: inherit; outline: none;
}
.pbj-page-header-switcher-input::placeholder { color: rgba(148, 163, 184, 0.7); }
.pbj-page-header-switcher-results {
  display: none; position: absolute; top: calc(100% + 4px); right: 0; left: 0; z-index: 1200;
  margin: 0; padding: 0.25rem 0; list-style: none; max-height: 16rem; overflow-y: auto;
  background: #0f172a; border: 1px solid rgba(129, 140, 248, 0.35); border-radius: 8px;
  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.45);
}
.pbj-page-header-switcher-results[data-open="true"] { display: block; }
.pbj-page-header-switcher-results a {
  display: block; padding: 0.5rem 0.75rem; color: #e2e8f0; text-decoration: none; font-size: 0.875rem;
}
.pbj-page-header-switcher-results a.pbj-page-header-switcher-option {
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.12rem;
}
.pbj-page-header-switcher-option-title {
  font-weight: 600; color: #e2e8f0; min-width: 0; line-height: 1.3;
}
.pbj-page-header-switcher-option-meta {
  font-size: 0.78rem; color: rgba(148, 163, 184, 0.95); font-weight: 400;
  line-height: 1.35; font-variant-numeric: tabular-nums;
}
.pbj-page-header-switcher-results a:hover { background: rgba(67, 56, 202, 0.22); color: #f8fafc; }
.pbj-page-header-switcher-results a:hover .pbj-page-header-switcher-option-meta {
  color: rgba(203, 213, 225, 0.92);
}
.pbj-page-header-switcher-meta {
  display: block; font-size: 0.78rem; color: rgba(148, 163, 184, 0.95); margin-top: 0.1rem; font-weight: 400;
}
.pbj-page-header-switcher-empty {
  display: block; padding: 0.65rem 0.75rem; color: rgba(148, 163, 184, 0.95); font-size: 0.85rem;
}
@media (max-width: 768px) {
  .pbj-content-box:has(> .pbj-page-overview),
  .pbj-content-box:has(> .pbj-page-summary) { padding: 0.7rem 0.75rem 0.95rem; }
  .pbj-page-overview {
    height: auto; min-height: 0; margin: 0 0 1.35rem; padding: 0.75rem 0.8rem;
  }
  .pbj-page-summary-top {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.35rem;
  }
  .pbj-page-summary-identity {
    grid-column: 1; min-width: 0; order: 1;
  }
  .pbj-page-summary-controls {
    grid-column: 1; grid-row: auto; width: 100%; max-width: none;
    justify-self: stretch; order: 2; margin-top: 0.1rem;
  }
  .pbj-page-summary-controls .pbj-page-header-switcher { max-width: none; width: 100%; }
  .pbj-page-eyebrow-row {
    margin: 0 0 0.12rem; gap: 0.3rem 0.45rem;
  }
  .pbj-page-summary-aside {
    display: none;
  }
  .pbj-page-summary-flags {
    margin-top: 0.28rem; gap: 0.25rem;
  }
  .pbj-page-summary-identity h1 {
    font-size: clamp(1.28rem, 5.4vw, 1.65rem);
  }
  .pbj-page-summary-meta {
    margin-top: 0.18rem; font-size: 0.78rem; gap: 0.15rem 0.4rem;
  }
  .pbj-page-summary-meta .pbj-meta-entity {
    max-width: min(100%, 14.5rem);
  }
  .pbj-meta-entity-full { display: none; }
  .pbj-meta-entity-compact { display: inline; }
  .pbj-page-summary-meta .pbj-provider-owners-btn-wrap {
    display: inline-flex; margin: 0; vertical-align: middle;
  }
  .pbj-takeaway-support__hint--unit {
    display: inline !important; margin-top: 0; font-size: 0.58rem;
  }
  .pbj-page-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; height: auto; min-height: 0;
  }
  /* State Total HPRD is last card → full row. Facility spark is first → stays 1/2 beside Residents. */
  .pbj-page-metrics > .pbj-metric--spark:last-child,
  .pbj-page-metrics--state > .pbj-metric--spark,
  .pbj-page-metrics--state > .pbj-metric--hprd:last-child {
    grid-column: 1 / -1 !important;
    width: 100%;
    max-width: none;
  }
  .pbj-metric--spark { min-width: 0; }
  .pbj-metric { padding: 0.55rem 0.6rem; height: auto; min-height: 0; gap: 0.15rem; }
  .pbj-metric__value { font-size: 1.02rem; }
  .pbj-metric--hprd .pbj-metric__value { font-size: 1.1rem; white-space: nowrap; }
  /* The "· Xh Ym direct" clause duplicates the primary HPRD value in a
     different unit -- drop it in the cramped 2-up mobile card so the
     headline value gets room to stay on one line. */
  .pbj-metric__secondary-direct { display: none; }
  /* Primary value is now the short HPRD number (e.g. "3.70"), so the
     secondary clock phrase (e.g. "3 hr 42 min") is what needs to stay
     compact for the spark to hold its place beside it, not wrap below. */
  .pbj-page-metrics .pbj-metric--spark .pbj-metric__secondary {
    font-size: 0.66rem; white-space: nowrap;
  }
  .pbj-metric--spark .pbj-metric__body {
    display: flex; flex-wrap: wrap; gap: 0.28rem; width: 100%; max-width: 100%;
    align-self: flex-start; min-width: 0;
  }
  .pbj-metric--spark .pbj-metric__primary {
    /* No min-width:0 here: a nowrap value like "2 hr 59 min" needs its full
       content width reserved, or it overflows its shrunk box straight into
       the sparkline next to it. Letting .pbj-metric__body wrap (above)
       drops the sparkline to its own line on a long value instead. */
    flex: 1 1 auto; width: auto;
  }
  .pbj-hprd-spark { width: 4rem; min-width: 0; height: 1.75rem; margin-left: 0 !important; overflow: visible; flex-shrink: 0; }
  .pbj-page-overview .pbj-takeaway,
  .pbj-takeaway.pbj-takeaway--in-overview {
    margin-top: 0.45rem; padding: 0.8rem 0.85rem;
  }
  .pbj-page-overview:has(.pbj-page-metrics) .pbj-takeaway,
  .pbj-page-overview:has(.pbj-page-metrics) .pbj-takeaway.pbj-takeaway--in-overview {
    margin-top: 0.7rem;
  }
  .pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-avatar { width: 32px; height: 32px; }
  .pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-header { font-size: 0.95rem; }
  .pbj-takeaway.pbj-takeaway--prose .pbj-takeaway-narrative {
    max-width: none; font-size: 0.88rem; line-height: 1.5;
  }
  .pbj-takeaway.pbj-content-box { margin: 0.45rem 0 0.6rem; padding: 0.65rem 0.7rem; }
  /* Primary takeaway metric row: keep 3 columns; compact spark / icons. */
  .pbj-takeaway-metrics,
  .pbj-takeaway-metrics--n3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0; margin-top: 0.5rem;
    align-items: start;
  }
  .pbj-takeaway-metrics .pbj-metric,
  .pbj-takeaway-metrics .pbj-metric--hprd {
    padding: 0.4rem 0.28rem 0.28rem; gap: 0.12rem;
    border-radius: 0; background: transparent;
    border: none; border-right: 1px solid var(--pbj-ov-border, #2A3448);
  }
  .pbj-takeaway-metrics .pbj-metric:last-child,
  .pbj-takeaway-metrics .pbj-metric:last-child.pbj-metric--hprd { border-right: 0; }
  .pbj-takeaway-metrics .pbj-metric__icon { display: none; }
  .pbj-takeaway-metrics .pbj-metric__label {
    font-size: 0.5rem; gap: 0.14rem 0.16rem; flex-wrap: nowrap;
    max-width: 100%; min-height: 1.05rem; align-items: center;
  }
  .pbj-takeaway-metrics .pbj-metric__label-text {
    white-space: nowrap; overflow: visible; text-overflow: clip; min-width: 0;
  }
  .pbj-takeaway-metrics .pbj-metric__value { font-size: 0.95rem; }
  .pbj-takeaway-metrics .pbj-metric:not(.pbj-metric--ratings) .pbj-metric__value,
  .pbj-takeaway-metrics .pbj-metric--hprd .pbj-metric__value {
    color: #fb923c; font-size: 1.12rem; letter-spacing: -0.02em;
    line-height: 1.15;
  }
  .pbj-takeaway-metrics .pbj-metric__hint { font-size: 0.58rem; }
  .pbj-takeaway-metrics .pbj-metric--spark {
    grid-column: auto !important; width: auto; max-width: none; overflow: hidden;
  }
  /* Hide "X.XX direct" on mobile so spark reads with Total HPRD value. */
  .pbj-takeaway-metrics .pbj-metric--spark .pbj-metric__secondary {
    display: none !important;
  }
  .pbj-takeaway-metrics .pbj-metric--spark .pbj-metric__body {
    display: flex; flex-direction: row; align-items: flex-start; justify-content: flex-start;
    gap: 0.2rem; width: 100%; max-width: 100%; overflow: hidden; margin-top: 0;
  }
  .pbj-takeaway-metrics .pbj-metric--spark .pbj-metric__primary {
    min-width: 0; flex: 0 1 auto; display: flex; flex-direction: row; align-items: center;
  }
  .pbj-takeaway-metrics .pbj-hprd-spark {
    width: 2.85rem; max-width: 48%; height: 1.2rem; min-width: 0; flex: 0 1 auto;
    overflow: visible; align-self: flex-start; margin-top: 0.12rem;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings {
    grid-column: auto;
    min-width: 0;
    overflow: visible;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label {
    font-size: 0.5rem !important; flex-wrap: nowrap !important; gap: 0.12rem 0.14rem;
    align-items: center;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label .pbj-info-chip {
    display: inline-flex !important;
    flex: 0 0 auto;
    margin-left: 0;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label-text {
    flex: 0 1 auto; min-width: 0; white-space: nowrap;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__ratings-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 0.14rem;
    row-gap: 0;
    align-items: center;
    margin-top: 0;
    min-width: 0;
    max-width: 100%;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-block,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-line {
    display: contents;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-kind {
    font-size: 0.52rem; line-height: 1;
    justify-self: end;
    text-align: right;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--overall,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--staffing,
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__rating-stars--health {
    font-size: 0.62rem; line-height: 1; letter-spacing: -0.05em;
    justify-self: start;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-rating-stars {
    letter-spacing: -0.05em;
  }
  .pbj-takeaway-metrics button.pbj-info-chip,
  .pbj-takeaway-support button.pbj-info-chip {
    width: 0.92rem; height: 0.92rem; min-width: 0.92rem; min-height: 0.92rem;
    flex-shrink: 0;
  }
  /* Keep takeaway title + flags on one row; tighten chips; hide 1★ (in CMS ratings). */
  .pbj-takeaway-top {
    flex-wrap: nowrap; align-items: center;
  }
  .pbj-takeaway-top-main {
    flex: 1 1 auto; min-width: 0; max-width: 100%;
  }
  .pbj-takeaway-top-flags {
    flex: 0 1 auto; max-width: min(48%, 11.5rem); margin-left: auto;
    margin-top: 0; justify-content: flex-end;
  }
  .pbj-takeaway-top-flags .pbj-takeaway-priority-flags {
    gap: 0.18rem 0.28rem; justify-content: flex-end; flex-wrap: wrap;
  }
  .pbj-takeaway-top-flags .pbj-takeaway-star-flag {
    display: none !important;
  }
  .pbj-takeaway-top-flags .pbj-takeaway-flag-badge {
    font-size: 0.58rem; line-height: 1.15; padding: 2px 6px !important;
  }
  /* n2/n4/default: stack on mobile. n3 stays 3-across (must win over base .pbj-takeaway-support). */
  .pbj-takeaway-support:not(.pbj-takeaway-support--n3),
  .pbj-takeaway-support--n4 {
    grid-template-columns: 1fr; gap: 0.35rem; border-top: none; margin-top: 0.55rem; padding-top: 0;
  }
  .pbj-takeaway-support:not(.pbj-takeaway-support--n3) .pbj-takeaway-support__item,
  .pbj-takeaway-support--n4 .pbj-takeaway-support__item,
  .pbj-takeaway-support--n4 .pbj-takeaway-support__item:nth-child(2n),
  .pbj-takeaway-support--n4 .pbj-takeaway-support__item:nth-child(n+3) {
    padding: 0.42rem 0.5rem; border-right: 0;
    border: 1px solid var(--pbj-ov-border, #2A3448); border-radius: 8px;
    background: rgba(11, 15, 23, 0.35);
  }
  .pbj-takeaway-support--n3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0; border-top: 1px solid var(--pbj-ov-border, #2A3448);
    margin-top: 0.5rem; padding-top: 0;
    align-items: start;
  }
  .pbj-takeaway-metrics + .pbj-takeaway-support--n3 {
    margin-top: 0;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__item,
  .pbj-takeaway-support--n3 .pbj-takeaway-support__item:nth-child(2n),
  .pbj-takeaway-support--n3 .pbj-takeaway-support__item:nth-child(n+3) {
    display: flex; flex-direction: column; align-items: flex-start;
    padding: 0.4rem 0.28rem 0.28rem; border: none;
    border-right: 1px solid var(--pbj-ov-border, #2A3448);
    border-radius: 0; background: transparent;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__item:last-child { border-right: 0; }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__label {
    font-size: 0.48rem; gap: 0.1rem; flex-wrap: nowrap; max-width: 100%;
    min-height: 1.15rem; margin-bottom: 0.12rem; align-items: center;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__label .pbj-info-chip {
    margin-left: 0.4rem;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__icon {
    display: none;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__label-text {
    white-space: nowrap; overflow: visible; text-overflow: clip; max-width: none;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__value {
    font-size: 0.88rem; border-bottom-color: color-mix(in srgb, var(--pbj-data) 22%, transparent);
    line-height: 1.15;
  }
  .pbj-takeaway-support--n3 .pbj-takeaway-support__value-row {
    gap: 0.18rem; margin-top: 0;
  }
  .pbj-takeaway-support__item--span {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.55rem;
  }
  .pbj-page-metrics .pbj-metric--ratings {
    grid-column: 1 / -1;
  }
  .pbj-metric--ratings .pbj-metric__label {
    font-size: 0.78rem;
  }
  .pbj-takeaway-metrics .pbj-metric--ratings .pbj-metric__label {
    font-size: 0.5rem !important;
  }
  .pbj-page-metrics .pbj-metric--ratings .pbj-metric__ratings-row {
    /* Overall/Staff/Health used to wrap to a second row (with a stray
       leading "|" separator) for any facility with several high star
       counts -- at 0.2rem/0.5rem gaps and 0.88rem stars, all-5-star
       ratings alone needed more width than a 375px phone has to give.
       Tightened gaps + smaller stars/kind-label below keep all three on
       one line at realistic mobile widths, worst case included. */
    flex-direction: row; flex-wrap: wrap; gap: 0.15rem 0.32rem; align-items: center;
  }
  .pbj-page-metrics .pbj-metric--ratings .pbj-metric__rating-block {
    display: inline-flex; flex: 0 1 auto;
  }
  .pbj-page-metrics .pbj-metric--ratings .pbj-metric__rating-block:not(:first-child)::before {
    content: "|"; margin-right: 0.32rem; color: var(--pbj-ov-muted, #9DA9BC); opacity: 0.55; font-weight: 400;
  }
  .pbj-metric--ratings .pbj-metric__rating-kind {
    font-size: 0.66rem;
  }
  .pbj-metric--ratings .pbj-metric__rating-stars,
  .pbj-metric--ratings .pbj-metric__rating-stars--overall,
  .pbj-metric--ratings .pbj-metric__rating-stars--staffing,
  .pbj-metric--ratings .pbj-metric__rating-stars--health {
    font-size: 0.74rem;
  }
  .pbj-takeaway-caveat {
    margin: 0.28rem 0 0; font-size: 0.66rem; line-height: 1.3; color: rgba(148, 163, 184, 0.72);
  }
  .pbj-entity-hr-insight {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 0.45rem;
    margin-top: 0.45rem;
    width: 100%;
    box-sizing: border-box;
  }
  .pbj-entity-hr-insight__badge {
    display: inline-flex;
    flex: 0 0 auto;
    max-width: none;
    margin: 0;
    align-self: flex-start;
    white-space: nowrap;
  }
  .pbj-entity-hr-insight__copy {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
  .pbj-page-summary-meta .pbj-meta-sep {
    color: var(--pbj-ov-muted, #9DA9BC); margin: 0 0.05rem;
  }
  #state-outline-wrap.pbj-state-outline-compact { width: 42px; height: 42px; opacity: 0.08; }
}
.pbj-cta-premium { margin-top: 1.5rem; padding: 1rem 1.25rem; background: rgba(15, 23, 42, 0.85); border: 1px solid rgba(30, 41, 59, 0.6); border-radius: 10px; font-size: 0.95rem; color: #e2e8f0; }
.pbj-cta-premium a { color: #818cf8; font-weight: 600; transition: color 0.2s ease; }
.pbj-cta-premium a:hover { color: #a5b4fc; }
.pbj-state-min-badge { display: inline-block; padding: 2px 8px; border-radius: 6px; font-weight: 600; font-size: 0.85rem; margin-right: 6px; color: #fecaca; background: rgba(127, 29, 29, 0.38); border: 1px solid rgba(248, 113, 113, 0.55); text-decoration: none; }
button.pbj-state-min-badge { cursor: pointer; font-family: inherit; text-decoration: none; }
button.pbj-state-min-badge:hover { background: rgba(127, 29, 29, 0.52); border-color: rgba(248, 113, 113, 0.75); text-decoration: none; }
a.custom-report-cta {
  display: block; margin: 1.75rem 0; padding: 1rem 1.2rem; max-width: 56rem; font-size: 0.9375rem; font-weight: 500;
  line-height: 1.5; color: var(--pbj-text); text-decoration: none; cursor: pointer; box-sizing: border-box;
  background: var(--pbj-surface-soft);
  border: 1px solid var(--pbj-border); border-left: 4px solid var(--pbj-accent); border-radius: 10px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
a.custom-report-cta:hover {
  color: var(--pbj-text); border-color: var(--pbj-accent);
  box-shadow: var(--pbj-shadow);
  background: var(--pbj-surface-inset);
  transform: translateY(-1px);
}
a.custom-report-cta:active { transform: translateY(0); box-shadow: none; }
a.custom-report-cta:focus-visible { outline: 2px solid var(--pbj-accent); outline-offset: 3px; }
.custom-report-cta-sub { font-weight: 400; color: var(--pbj-text-subtle); }
.custom-report-cta-mobile { display: none; }
@media (min-width: 769px) { .custom-report-cta-desktop .custom-report-cta-sub { white-space: nowrap; } }
@media (max-width: 768px) { .custom-report-cta-desktop { display: none; } .custom-report-cta-mobile { display: inline; } a.custom-report-cta { max-width: none; padding: 0.9rem 1rem; font-size: 0.9rem; } }
.pbj-care-compare-badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 6px; font-size: 0.75rem; font-weight: 500; background: rgba(99, 102, 241, 0.12); border: 1px solid rgba(129, 140, 248, 0.35); color: #a5b4fc; text-decoration: none; white-space: nowrap; }
.pbj-care-compare-badge:hover { background: rgba(99, 102, 241, 0.2); color: #c7d2fe; }
.custom-report-cta .custom-report-cta-sms { margin-top: 0.4rem; font-size: 0.8rem; color: rgba(226,232,240,0.75); }
.custom-report-cta .custom-report-cta-sms a { color: #818cf8; font-weight: 500; text-decoration: none; }
.custom-report-cta .custom-report-cta-sms a:hover { color: #a5b4fc; text-decoration: underline; text-underline-offset: 3px; }
/* Horizontal Premium promo bar: PBJ icon + title/descriptor on the left,
   Explore Premium / Request dashboard buttons on the right. Fully token-driven
   (var(--pbj-*)) so it tracks light/dark theme automatically -- no separate
   theme override block needed the way the old .pbj-provider-premium-bridge
   dark-literal styles required. */
.pbj-premium-promo {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem 0.85rem;
  margin: 0.75rem 0 0; padding: 0.85rem 1rem; width: 100%; max-width: none;
  box-sizing: border-box; border-radius: 10px;
  background: var(--pbj-surface);
  border: 1px solid var(--pbj-border);
  border-left: 3px solid var(--pbj-accent);
}
.pbj-premium-promo__icon {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.15rem; height: 2.15rem; border-radius: 8px;
  background: var(--pbj-accent-soft);
}
.pbj-premium-promo__icon-img { display: block; width: 20px; height: 20px; }
.pbj-premium-promo__body {
  flex: 1 1 14rem; min-width: 0;
  display: flex; flex-direction: column; gap: 0.1rem;
}
.pbj-premium-promo__title {
  font-size: 0.95rem; font-weight: 700; line-height: 1.25; color: var(--pbj-text);
}
.pbj-premium-promo__desc {
  font-size: 0.8rem; line-height: 1.35; color: var(--pbj-text-subtle);
}
.pbj-premium-promo__actions {
  flex: 1 1 100%; display: flex; align-items: center; gap: 0.5rem;
}
@media (min-width: 641px) {
  .pbj-premium-promo__actions { flex: 0 0 auto; }
}
.pbj-premium-promo__btn {
  display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0;
  min-height: 2.2rem; padding: 0.45rem 0.9rem; border-radius: 7px;
  font-size: 0.82rem; font-weight: 600; white-space: nowrap; box-sizing: border-box;
  transition: background var(--pbj-transition, 180ms ease), border-color var(--pbj-transition, 180ms ease), color var(--pbj-transition, 180ms ease);
}
@media (min-width: 641px) {
  .pbj-premium-promo__btn { flex: 0 0 auto; }
}
.pbj-content-box a.pbj-premium-promo__btn--primary,
.pbj-premium-promo__btn--primary {
  background: var(--pbj-accent); color: #fff !important;
  border: 1px solid var(--pbj-accent); text-decoration: none !important;
}
.pbj-content-box a.pbj-premium-promo__btn--primary:hover,
.pbj-premium-promo__btn--primary:hover,
.pbj-premium-promo__btn--primary:focus-visible {
  background: var(--pbj-accent-hover); border-color: var(--pbj-accent-hover); color: #fff !important;
}
.pbj-content-box a.pbj-premium-promo__btn--secondary,
.pbj-premium-promo__btn--secondary {
  background: transparent; color: var(--pbj-text) !important;
  border: 1px solid var(--pbj-border-strong); text-decoration: none !important;
}
.pbj-content-box a.pbj-premium-promo__btn--secondary:hover,
.pbj-premium-promo__btn--secondary:hover,
.pbj-premium-promo__btn--secondary:focus-visible {
  background: var(--pbj-accent-soft); border-color: var(--pbj-accent); color: var(--pbj-text) !important;
}
.pbj-premium-promo__btn:focus-visible {
  outline: 2px solid var(--pbj-accent); outline-offset: 2px;
}
@media (max-width: 640px) {
  .pbj-premium-promo { padding: 0.75rem 0.85rem; }
}
.navbar { display: block; background: var(--pbj-page); padding: 0; padding-top: env(safe-area-inset-top, 0); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid var(--pbj-border); transition: box-shadow var(--pbj-transition), border-color var(--pbj-transition); }
.navbar.pbj-nav-scrolled { box-shadow: var(--pbj-shadow); }
.nav-container { max-width: 1200px; margin: 0 auto; padding: 0 clamp(12px, 4vw, 20px); display: flex; justify-content: space-between; align-items: center; height: 60px; min-width: 0; box-sizing: border-box; }
.nav-brand { display: flex; align-items: center; color: var(--pbj-nav-text); font-size: 1.2rem; font-weight: 700; min-width: 0; line-height: 1.2; }
.nav-brand a { color: inherit; text-decoration: none; display: flex; align-items: center; transition: opacity var(--pbj-transition); min-width: 0; }
.nav-brand a:hover { opacity: 0.92; }
.nav-menu { display: flex; gap: 30px; align-items: center; }
.nav-link { color: var(--pbj-nav-text); text-decoration: none; font-weight: 500; padding: 8px 0; line-height: 1.25; font-size: 16px; transition: color var(--pbj-transition); }
.nav-link:hover { color: var(--pbj-nav-accent); }
.nav-link.active { color: var(--pbj-nav-accent); font-weight: 600; }
.nav-link--ownership-beta { display: none !important; }
.nav-toggle { display: none; flex-direction: column; cursor: pointer; gap: 4px; }
.nav-toggle span { width: 25px; height: 3px; background: var(--pbj-nav-text); }
@media (min-width: 769px) {
  .nav-menu {
    position: static;
    flex-direction: row;
    height: auto;
    min-height: 0;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
  }
  .nav-link {
    display: inline-block;
    min-height: 0;
    border: 0;
    background: transparent;
  }
}
.footer-section-hr { border: 0; border-top: 1px solid rgba(255, 255, 255, 0.1); height: 0; margin: clamp(20px, 3vw, 32px) 0 0 0; width: 100%; }
.footer-section-hr + .footer { border-top: none; }
.footer { text-align: center; padding: 32px 20px 40px; color: #a8b4c4; font-size: 0.9rem; background: #0d121f; margin-top: 0; border-top: 1px solid rgba(148, 163, 184, 0.18); width: 100%; box-sizing: border-box; }
.footer a { color: #cbd5e1; text-decoration: none; transition: color var(--pbj-transition), opacity var(--pbj-transition); }
.footer a:hover { color: #f8fafc; opacity: 1; }
.footer a:hover img { opacity: 1; }
.footer-boilerplate-br-desktop { display: none; }
@media (min-width: 900px) {
  .footer-boilerplate {
    max-width: 56rem;
    line-height: 1.55;
    text-wrap: balance;
  }
  .footer-boilerplate-br-desktop {
    display: inline;
  }
}
@media (max-width: 768px) {
  .footer { padding: 22px 12px 28px; font-size: 0.85rem; }
}
.pbj-badge-mobile-only { display: none !important; }
.pbj-hprd-rank-mobile-only { display: none !important; }
.pbj-hprd-rank-desktop-only { display: inline-block !important; }
@media (max-width: 768px) {
  .pbj-metrics-row { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .pbj-content { padding: 20px 16px; }
  .section-header { font-size: 1.2em; }
  .pbj-state-staffing-table summary,
  .state-high-risk-details summary,
  .pbj-details-ownership summary,
  .pbj-details-methodology summary {
    padding: 0.6rem 0.75rem;
    font-size: 0.84rem;
    gap: 0.4rem;
  }
  .pbj-staffing-cmp-table thead { display: none; }
  .pbj-staffing-cmp-note {
    padding-top: 0.5rem;
    font-size: 0.72rem;
    line-height: 1.4;
  }
  .pbj-staffing-cmp-table,
  .pbj-staffing-cmp-table tbody,
  .pbj-staffing-cmp-table tr {
    display: block;
    width: 100%;
  }
  .pbj-staffing-cmp-table {
    table-layout: auto;
  }
  .pbj-staffing-cmp-wrap .pbj-staffing-cmp-table {
    /* Cards, not a table, at this width -- the shared .pbj-table-wrap
       table{min-width:400px} rule (for real tabular layouts) forces the
       stacked-card version wider than the viewport otherwise. */
    min-width: 0;
  }
  .pbj-staffing-cmp-table tr {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--pbj-border);
  }
  .pbj-staffing-cmp-table tr:last-child { border-bottom: none; }
  .pbj-staffing-cmp-table td {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: none;
    background: transparent !important;
    text-align: left;
    padding: 0.18rem 0;
  }
  .pbj-staffing-cmp-metric {
    width: 100%;
    font-size: 0.84rem;
    font-weight: 600;
    margin-bottom: 0.28rem;
    padding-bottom: 0.06rem;
    color: var(--pbj-text);
    white-space: normal;
  }
  .pbj-staffing-cmp-table td.pbj-staffing-cmp-val {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
    text-align: right;
  }
  .pbj-staffing-cmp-val::before {
    content: attr(data-label);
    text-align: left;
    font-size: 0.74rem;
    font-weight: 500;
    color: var(--pbj-text-subtle);
    line-height: 1.3;
  }
  .pbj-staffing-cmp-val--state::before {
    color: var(--pbj-accent);
    font-weight: 600;
  }
  .pbj-staffing-cmp-val--state {
    font-size: 0.92rem;
  }
  .pbj-staffing-cmp-val--cmp {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .pbj-staffing-cmp-val--cmp .pbj-staffing-cmp-primary {
    display: inline;
    grid-column: 2;
    text-align: right;
  }
  .pbj-staffing-cmp-val--cmp .pbj-staffing-cmp-delta {
    display: inline;
    grid-column: 2;
    margin-top: 0;
    margin-left: 0.35rem;
    font-size: 0.68rem;
    white-space: nowrap;
  }
  .pbj-staffing-cmp-val--state .pbj-staffing-cmp-primary,
  .pbj-staffing-cmp-val--rank {
    grid-column: 2;
  }
  .pbj-staffing-cmp-val--rank {
    white-space: normal;
  }
  .pbj-staffing-cmp-popover {
    right: auto;
    left: 0;
    max-width: min(280px, calc(100vw - 32px));
  }
  .pbj-entity-states-badge-wrap .entity-states-popover {
    min-width: 11.5rem;
    max-width: min(260px, calc(100vw - 32px));
  }
  .entity-states-popover .pbj-entity-states-list {
    max-height: min(240px, 40vh);
    padding: 0.5rem 0.85rem 0.5rem 0.75rem;
  }
  .entity-states-popover .pbj-entity-states-row a {
    padding: 0.55rem 0.1rem;
    min-height: 2.75rem;
    gap: 0.75rem;
  }
  .pbj-entity-states-count {
    min-width: 2ch;
    padding-left: 0.35rem;
    padding-right: 0.1rem;
  }
  .state-page-charts .pbj-chart-header-state-mobile.section-header {
    /* .section-header's own margin-top:1.5rem (for a stand-alone heading
       elsewhere on the page) was pushing this title ~24px below the chart
       card's own top padding -- past the provenance icon pinned to that
       padding's corner, so the icon read as sitting on a blank row above
       the title instead of level with it. */
    margin-top: 0;
    font-size: 0.84rem;
    margin-bottom: 0.15rem;
    padding-bottom: 0.2rem;
  }
  .pbj-infobox { float: none; width: 100%; margin: 1rem 0; }
  .infobox { float: none; width: 100%; margin: 1em 0; }
  .state-key-metrics-row { grid-template-columns: repeat(2, 1fr); }
  .pbj-metric-card .value { font-size: 1.1rem; }
  /* PBJ Takeaway: on desktop larger font for entity/provider/state */
  @media (min-width: 769px) {
    .pbj-takeaway-header { font-size: 1.35rem !important; }
  }
  /* PBJ Takeaway: on mobile show only "PBJ Takeaway", hide facility/state/entity name */
  .pbj-takeaway-title-name { display: none; }
  /* On mobile hide residents, direct (HPRD), contract badges, and overall rating */
  .pbj-badge-mobile-hide { display: none !important; }
  .pbj-hprd-rank-mobile-only { display: none !important; }
  .pbj-rural-meter-track { position: relative; }
  .pbj-rural-meter-nat { position: absolute; top: -1px; bottom: -1px; width: 2px; margin-left: -1px; background: rgba(248, 250, 252, 0.92); box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.55); z-index: 2; pointer-events: none; }
  .pbj-badge-mobile-only { display: none !important; }
  @media (max-width: 768px) {
    .pbj-overall-badge { display: none !important; }
    .pbj-badge-mobile-only { display: inline-block !important; }
    .pbj-hprd-rank-desktop-only { display: none !important; }
    .pbj-hprd-rank-mobile-only { display: inline-block !important; }
  }
  /* High-risk tooltip: less narrow on mobile; position clamped by JS so it never bleeds off left or right */
  .pbj-high-risk-tooltip { min-width: 280px; max-width: min(320px, calc(100vw - 24px)); width: max-content; padding: 12px 14px; font-size: 0.875rem; line-height: 1.45; }
  .pbj-subtitle { font-size: 0.85em; }
  /* State page subtitle on mobile: "590 providers • 97,999 residents • 3.57 HPRD (Q3 2025)" - allow wrap, smaller */
  .pbj-subtitle-state { font-size: 0.8em; line-height: 1.4; }
  /* Provider page: on mobile show subtitle in two rows (row1: location • residents; row2: For Profit • Entity) */
  .pbj-subtitle-desktop { display: none; }
  .pbj-subtitle-mobile { display: block; }
  .pbj-subtitle-mobile-row1, .pbj-subtitle-mobile-row2 { display: block; }
  .pbj-subtitle-mobile-row2 { margin-top: 0.2em; }
  /* State page H1: on mobile show short "New York PBJ Staffing" only */
  .pbj-state-title .pbj-state-title-full { display: none !important; }
  .pbj-state-title .pbj-state-title-mobile { display: inline !important; }
  .pbj-page-footer { margin-top: 1.5rem; padding-top: 0.4rem; }
  .pbj-page-footer-sources {
    /* flex-wrap:nowrap here used to force the whole "CMS PBJ / CMS Provider
       Info / Care Compare" line onto one row and shrink the font to fit --
       but a long provider-info vintage label ("CMS Provider Info (August
       2026)") still didn't fit even at the smallest clamp size, so the last
       item (Care Compare) bled past the edge instead of ever dropping to
       its own line. Wrapping normally at this smaller size fixes that. */
    flex-wrap: wrap;
    font-size: clamp(0.62rem, 2.65vw, 0.78rem);
    line-height: 1.35;
    gap: 0.15rem 0.2rem;
    letter-spacing: -0.012em;
  }
  .pbj-page-footer-sources .pbj-sources-sep { margin: 0 0.08rem; }
  .entity-chain-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.75rem !important; }
  .entity-chain-metrics:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .entity-chain-metrics:has(> :nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pbj-casemix-total-nums { font-size: 0.64rem; }
  .pbj-casemix-total-k { font-size: 0.6rem; }
  .pbj-casemix-sub-line { font-size: 0.6rem; }
  .pbj-casemix-interpret { font-size: 0.62rem; }
  .pbj-casemix-cmi-trigger { font-size: 0.6rem; padding: 0.2rem 0.36rem; }
  .pbj-casemix-cmi-lead { font-size: 0.6rem; }
  .pbj-casemix-cmi-strip--below-bar { gap: 0.2rem 0.24rem; }
  /* Entity page: hide " – Genesis Healthcare" (etc.) in subsection headers on mobile */
  .pbj-section-header-entity-name { display: none !important; }
}
/* Contact popup (entity/state/facility pages) */
.contact-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 10000; display: none; align-items: center; justify-content: center; padding: 1rem; box-sizing: border-box; }
.contact-overlay[aria-hidden="false"] { display: flex; }
.contact-popup { position: relative; background: var(--pbj-surface, #0f172a); color: var(--pbj-text, #e2e8f0); border: 1px solid var(--pbj-border, rgba(30, 41, 59, 0.6)); border-radius: 12px; width: 100%; max-width: 440px; max-height: calc(100dvh - 2rem); overflow: auto; overscroll-behavior: contain; box-shadow: var(--pbj-shadow, 0 0 28px -8px rgba(99, 102, 241, 0.12)); -webkit-overflow-scrolling: touch; }
.contact-popup h2 { margin: 0; padding: 1.25rem 2.75rem 0 1.25rem; font-size: 1.25rem; color: var(--pbj-accent, #818cf8); }
.contact-popup .contact-popup-close { position: absolute; top: 0.75rem; right: 0.75rem; width: 44px; height: 44px; padding: 0; border: none; background: transparent; cursor: pointer; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 1.75rem; line-height: 1; color: var(--pbj-text-subtle, rgba(148,163,184,0.9)); border-radius: 8px; }
.contact-popup .contact-popup-close:hover { color: var(--pbj-text, #e2e8f0); background: var(--pbj-accent-soft, rgba(99, 102, 241, 0.15)); }
.contact-popup .contact-popup-close:focus-visible { outline: 2px solid var(--pbj-accent, #818cf8); outline-offset: 2px; }
.contact-popup-form { padding: 1rem 1.25rem 1.5rem; }
.contact-popup-form .f-group { margin-bottom: 1rem; }
.contact-popup-form .f-group label { display: block; font-weight: 500; color: var(--pbj-text, #cbd5e1); margin-bottom: 0.3rem; font-size: 0.9rem; }
.contact-popup-form .f-group[hidden] { display: none; }
.contact-popup-form .f-optional { font-weight: 400; color: var(--pbj-text-subtle, rgba(148,163,184,0.9)); }
.contact-popup-form .f-group input[type="text"], .contact-popup-form .f-group input[type="email"], .contact-popup-form .f-group textarea { width: 100%; padding: 0.6rem 0.75rem; border: 1px solid var(--pbj-border-strong, rgba(51, 65, 85, 0.65)); border-radius: 8px; font: inherit; font-size: 1rem; min-height: 44px; box-sizing: border-box; background: var(--pbj-surface-inset, rgba(15,23,42,0.6)); color: var(--pbj-text, #e2e8f0); }
.contact-popup-form .f-group textarea { min-height: 100px; resize: vertical; }
.contact-popup-form .f-group input:focus, .contact-popup-form .f-group textarea:focus { outline: none; border-color: var(--pbj-accent, rgba(129, 140, 248, 0.55)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pbj-accent, #6366f1) 22%, transparent); }
.contact-popup-form .f-group input:-webkit-autofill, .contact-popup-form .f-group input:-webkit-autofill:hover, .contact-popup-form .f-group input:-webkit-autofill:focus, .contact-popup-form .f-group input:-webkit-autofill:active, .contact-popup-form .f-group textarea:-webkit-autofill, .contact-popup-form .f-group textarea:-webkit-autofill:hover, .contact-popup-form .f-group textarea:-webkit-autofill:focus, .contact-popup-form .f-group textarea:-webkit-autofill:active { -webkit-text-fill-color: var(--pbj-text, #e2e8f0); -webkit-box-shadow: 0 0 0 1000px var(--pbj-surface-inset, rgba(15,23,42,0.95)) inset; box-shadow: 0 0 0 1000px var(--pbj-surface-inset, rgba(15,23,42,0.95)) inset; transition: background-color 5000s ease-in-out 0s; }
.contact-popup-form .f-row-submit { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-top: 0.75rem; }
.contact-popup-form .cb-wrap { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.contact-popup-form .cb-wrap input { width: 1.25rem; height: 1.25rem; cursor: pointer; flex-shrink: 0; }
.contact-popup-form .cb-wrap span { color: var(--pbj-text, #cbd5e1); }
.contact-popup-form .cb-wrap input { accent-color: var(--pbj-accent, #818cf8); }
.contact-popup-form button[type="submit"] { background: var(--pbj-accent-soft, rgba(99, 102, 241, 0.2)); color: var(--pbj-accent, #a5b4fc); border: 1px solid color-mix(in srgb, var(--pbj-accent, #818cf8) 55%, transparent); padding: 0.7rem 1.25rem; border-radius: 8px; font: inherit; font-size: 1rem; font-weight: 500; cursor: pointer; min-height: 44px; }
.contact-popup-form button[type="submit"]:hover { background: color-mix(in srgb, var(--pbj-accent, #6366f1) 24%, transparent); color: var(--pbj-accent-hover, #c7d2fe); }
.contact-popup-form button[type="submit"]:focus-visible { outline: 2px solid var(--pbj-accent, #818cf8); outline-offset: 2px; }
.contact-popup-premium-about { margin: 0.85rem 0 0; padding-top: 0.85rem; border-top: 1px solid var(--pbj-border, rgba(51, 65, 85, 0.55)); text-align: center; }
.contact-popup-premium-about[hidden] { display: none; }
.contact-popup-premium-about__link {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem; width: 100%; min-height: 44px;
  padding: 0.55rem 0.85rem; border-radius: 8px; font-size: 0.875rem; font-weight: 600; color: #c7d2fe;
  text-decoration: none; background: rgba(30, 41, 59, 0.55); border: 1px solid rgba(100, 116, 139, 0.45);
  box-sizing: border-box; transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.contact-popup-premium-about__link:hover { background: rgba(51, 65, 85, 0.65); border-color: rgba(129, 140, 248, 0.45); color: #e0e7ff; }
.contact-popup-premium-about__link:focus-visible { outline: 2px solid #818cf8; outline-offset: 2px; }
.contact-toast { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); background: rgba(30, 41, 59, 0.95); color: #e2e8f0; padding: 0.875rem 1.5rem; border-radius: 12px; font-size: 0.9375rem; font-weight: 500; z-index: 10001; box-shadow: 0 8px 32px rgba(0,0,0,0.24); border: 1px solid rgba(148, 163, 184, 0.2); backdrop-filter: blur(8px); }
.contact-toast.error { background: rgba(30, 41, 59, 0.95); color: #fca5a5; border-color: rgba(248, 113, 113, 0.25); }
